import Ext_chart_AbstractChart from '../../Ext/chart/AbstractChart.js';

export default class Ext_chart_SpaceFillingChart extends Ext_chart_AbstractChart {
  static PROPERTIES() { return [
    'actions',
    'activeChildTabIndex',
    'activeCounter',
    'activeItem',
    'alignOnScroll',
    'alignTarget',
    'allowFocusingDisabledChildren',
    'alwaysOnTop',
    'anchor',
    'anchorSize',
    'animateShadow',
    'animation',
    'animCollapse',
    'ariaAttributes',
    'ariaDescribedBy',
    'ariaLabel',
    'ariaLabelledBy',
    'autoDestroy',
    'autoEl',
    'autoRender',
    'autoShow',
    'axes',
    'background',
    'baseCls',
    'bbar',
    'bind',
    'bodyBorder',
    'bodyCls',
    'bodyPadding',
    'bodyStyle',
    'border',
    'bubbleEvents',
    'buttonAlign',
    'buttons',
    'captions',
    'childEls',
    'closable',
    'closeAction',
    'closeToolText',
    'cls',
    'collapsed',
    'collapsedCls',
    'collapseDirection',
    'collapseFirst',
    'collapseMode',
    'collapseToolText',
    'collapsible',
    'colors',
    'columnWidth',
    'componentCls',
    'componentLayout',
    'constrain',
    'constrainHeader',
    'constraintInsets',
    'constrainTo',
    'contentEl',
    'controller',
    'data',
    'defaultAlign',
    'defaultButton',
    'defaultButtonTarget',
    'defaultDockWeights',
    'defaultFocus',
    'defaultListenerScope',
    'defaults',
    'defaultType',
    'detachOnRemove',
    'disabled',
    'disabledCls',
    'dock',
    'dockedItems',
    'downloadServerUrl',
    'draggable',
    'engine',
    'expandToolText',
    'fbar',
    'fixed',
    'flex',
    'floatable',
    'floating',
    'focusableContainer',
    'focusCls',
    'focusOnToFront',
    'formBind',
    'frame',
    'frameHeader',
    'glyph',
    'gradients',
    'header',
    'headerOverCls',
    'headerPosition',
    'height',
    'hidden',
    'hideCollapseTool',
    'hideMode',
    'highlightItem',
    'html',
    'icon',
    'iconAlign',
    'iconCls',
    'id',
    'inactiveChildTabIndex',
    'insetPadding',
    'interactions',
    'itemId',
    'items',
    'keyMap',
    'keyMapEnabled',
    'keyMapTarget',
    'layout',
    'lbar',
    'legend',
    'liquidLayout',
    'listeners',
    'liveDrag',
    'loader',
    'mainRect',
    'maintainTitlePosition',
    'manageHeight',
    'margin',
    'maskDefaults',
    'maskElement',
    'maxHeight',
    'maxWidth',
    'minButtonWidth',
    'minHeight',
    'minWidth',
    'modal',
    'modelValidation',
    'nameable',
    'nameHolder',
    'overCls',
    'overlapHeader',
    'padding',
    'placeholder',
    'placeholderCollapseHideMode',
    'plugins',
    'previewAltText',
    'previewTitleText',
    'publishes',
    'rbar',
    'reference',
    'referenceHolder',
    'region',
    'renderConfig',
    'renderData',
    'renderTo',
    'renderTpl',
    'resetFocusPosition',
    'resizable',
    'resizeHandler',
    'resizeHandles',
    'saveDelay',
    'scrollable',
    'series',
    'session',
    'shadow',
    'shadowOffset',
    'shareableName',
    'shim',
    'shrinkWrap',
    'shrinkWrapDock',
    'simpleDrag',
    'sprites',
    'stateEvents',
    'stateful',
    'stateId',
    'store',
    'style',
    'surfaceZIndexes',
    'suspendLayout',
    'tabGuard',
    'tabIndex',
    'tbar',
    'theme',
    'title',
    'titleAlign',
    'titleCollapse',
    'titlePosition',
    'titleRotation',
    'toFrontOnShow',
    'tools',
    'touchAction',
    'tpl',
    'tplWriteMode',
    'twoWayBindable',
    'ui',
    'uiCls',
    'userCls',
    'viewModel',
    'weight',
    'width',
    'xtype',
  ]};
  static EVENTS() { return [
    {name:'activate', parameters:'sender'},
    {name:'add', parameters:'sender,component,index'},
    {name:'added', parameters:'sender,container,pos'},
    {name:'afterlayout', parameters:'sender,layout'},
    {name:'afterlayoutanimation', parameters:'sender'},
    {name:'afterrender', parameters:'sender'},
    {name:'beforeactivate', parameters:'sender'},
    {name:'beforeadd', parameters:'sender,component,index'},
    {name:'beforeclose', parameters:'panel'},
    {name:'beforecollapse', parameters:'p,direction,animate'},
    {name:'beforedeactivate', parameters:'sender'},
    {name:'beforedestroy', parameters:'sender'},
    {name:'beforeexpand', parameters:'p,animate'},
    {name:'beforehide', parameters:'sender'},
    {name:'beforerefresh', parameters:'sender'},
    {name:'beforeremove', parameters:'sender,component'},
    {name:'beforerender', parameters:'sender'},
    {name:'beforeshow', parameters:'sender'},
    {name:'beforestaterestore', parameters:'sender,state'},
    {name:'beforestatesave', parameters:'sender,state'},
    {name:'blur', parameters:'sender,event'},
    {name:'bodyresize', parameters:'size'},
    {name:'boxready', parameters:'sender,width,height'},
    {name:'childmove', parameters:'sender,component,prevIndex,newIndex'},
    {name:'close', parameters:'panel'},
    {name:'collapse', parameters:'p'},
    {name:'deactivate', parameters:'sender'},
    {name:'destroy', parameters:'sender'},
    {name:'disable', parameters:'sender'},
    {name:'dockedadd', parameters:'sender,component,index'},
    {name:'dockedremove', parameters:'sender,component'},
    {name:'enable', parameters:'sender'},
    {name:'expand', parameters:'p'},
    {name:'float', parameters:''},
    {name:'focus', parameters:'sender,event'},
    {name:'focusenter', parameters:'sender,event'},
    {name:'focusleave', parameters:'sender,event'},
    {name:'glyphchange', parameters:'sender,newGlyph,oldGlyph'},
    {name:'hide', parameters:'sender'},
    {name:'iconalignchange', parameters:'sender,newIconAlign,oldIconAlign'},
    {name:'iconchange', parameters:'sender,newIcon,oldIcon'},
    {name:'iconclschange', parameters:'sender,newIconCls,oldIconCls'},
    {name:'itemclick', parameters:'chart,item,event'},
    {name:'itemdblclick', parameters:'chart,item,event'},
    {name:'itemhighlight', parameters:'sender,newItem,oldItem'},
    {name:'itemhighlightchange', parameters:'sender,newItem,oldItem'},
    {name:'itemmousedown', parameters:'chart,item,event'},
    {name:'itemmousemove', parameters:'chart,item,event'},
    {name:'itemmouseout', parameters:'chart,item,event'},
    {name:'itemmouseover', parameters:'chart,item,event'},
    {name:'itemmouseup', parameters:'chart,item,event'},
    {name:'itemtap', parameters:'chart,item,event'},
    {name:'layout', parameters:'sender'},
    {name:'move', parameters:'sender,x,y'},
    {name:'redraw', parameters:'sender'},
    {name:'refresh', parameters:'sender'},
    {name:'remove', parameters:'sender,component'},
    {name:'removed', parameters:'sender,ownerCt'},
    {name:'render', parameters:'sender'},
    {name:'resize', parameters:'sender,width,height,oldWidth,oldHeight'},
    {name:'show', parameters:'sender'},
    {name:'spriteclick', parameters:'sprite,event'},
    {name:'spritedblclick', parameters:'sprite,event'},
    {name:'spritemousedown', parameters:'sprite,event'},
    {name:'spritemousemove', parameters:'sprite,event'},
    {name:'spritemouseout', parameters:'sprite,event'},
    {name:'spritemouseover', parameters:'sprite,event'},
    {name:'spritemouseup', parameters:'sprite,event'},
    {name:'spritetap', parameters:'sprite,event'},
    {name:'staterestore', parameters:'sender,state'},
    {name:'statesave', parameters:'sender,state'},
    {name:'storechange', parameters:'chart,newStore,oldStore'},
    {name:'titlealignchange', parameters:'sender,newTitleAlign,oldTitleAlign'},
    {name:'titlechange', parameters:'sender,newTitle,oldTitle'},
    {name:'titlepositionchange', parameters:'sender,newTitlePosition,oldTitlePosition'},
    {name:'titlerotationchange', parameters:'sender,newTitleRotation,oldTitleRotation'},
    {name:'unfloat', parameters:''},
    {name:'ready', parameters:'cmp,cmpObj'},
    {name:'created', parameters:'cmp'}
  ]};
  static getProperties(properties) {
    properties = properties.concat(Ext_chart_SpaceFillingChart.PROPERTIES());
    return Ext_chart_AbstractChart.getProperties(properties);
  }
  static getEvents(events) {
    events = events.concat(Ext_chart_SpaceFillingChart.EVENTS());
    return Ext_chart_AbstractChart.getEvents(events);
  }

  static get observedAttributes() {
    var attrs = super.observedAttributes
    Ext_chart_SpaceFillingChart.PROPERTIES().forEach(function (property, index, array) {
        attrs.push(property)
    })
    Ext_chart_SpaceFillingChart.EVENTS().forEach(function (eventparameter, index, array) {
        attrs.push('on' + eventparameter.name)
    })
    return attrs
  }

  constructor(properties, events) {
    super (
      properties.concat(Ext_chart_SpaceFillingChart.PROPERTIES()),
      events.concat(Ext_chart_SpaceFillingChart.EVENTS())
    )
  }

  connectedCallback() {
    super.connectedCallback()
  }

  attributeChangedCallback(attrName, oldVal, newVal) {
    super.attributeChangedCallback(attrName, oldVal, newVal)
  }

}
