@fusioncharts/core
Version:
JavaScript Data Visualisation Library
1 lines • 3.92 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _componentInterface=require("../../component-interface");var _lib=require("../../lib/");var _menuItem=_interopRequireDefault(require("./menu-item"));var _helper=require("./helper");var _dependencyManager=require("../../../src/dependency-manager");var AUTO="auto",BLOCK="block",GUTTER=5,NONE="none";function createMenuItem(menuContainer,item){if(item===void 0){item={}}var menu,menuItem,i,len;menuItem=menuContainer.attachChild(_menuItem.default,"item",item.id);menuItem.configure(item);if(item.menu instanceof Array&&(len=item.menu.length)){menu=menuItem.attachChild(MenuItemContainer,"subContainer","subContainer");menuContainer.config.hasSubMenu=true;menu.configure();for(i=0;i<len;i++){menu.addItem(item.menu[i])}}}(0,_dependencyManager.addDep)({name:"manuItemContainerAnimation",type:"animationRule",extension:{"*.menuItemContainer.menuItemContainer":null}});var MenuItemContainer=function(_SmartRenderer){function MenuItemContainer(){return _SmartRenderer.apply(this,arguments)||this}(0,_inheritsLoose2.default)(MenuItemContainer,_SmartRenderer);var _proto=MenuItemContainer.prototype;_proto.configureAttributes=function configureAttributes(){var container=this,containerConfig=container.config;container.setStyle();containerConfig.counter=0;containerConfig.hasSubMenu=false;containerConfig._defaultStyle={position:"absolute","z-index":50,top:0+_lib.PXSTRING,right:AUTO,left:AUTO,overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",padding:"5px 3px",display:"none"}};_proto.setStyle=function setStyle(options){if(options===void 0){options={}}var containerConfig=this.config;containerConfig.hoverOverStyle=options.hoverOverStyle||{background:"#333333",color:"#FFFFFF",cursor:_lib.POINTER};containerConfig.hoverOutStyle=options.hoverOutStyle||{background:"#FFFFFF",color:"#000000"}};_proto.show=function show(){var container=this,hamBurgerConfig=container.getLinkedParent().config,scale=(0,_lib.pluckNumber)(hamBurgerConfig.scale,1.5),bbox={x:hamBurgerConfig.x,y:hamBurgerConfig.y,width:hamBurgerConfig.width*scale,height:hamBurgerConfig.height*scale},chartWidth=+container.getFromEnv("chart").getFromEnv("chartWidth"),divContainer=container.getGraphicalElement("menu","menu").element,divContainerStyle=divContainer.style;clearTimeout(container.config.hideTimer);divContainerStyle.display=BLOCK;if(divContainer.offsetWidth+bbox.x>chartWidth){divContainerStyle.left=AUTO;divContainerStyle.right=chartWidth-bbox.x-bbox.width+_lib.PXSTRING}else{divContainerStyle.left=bbox.x+_lib.PXSTRING;divContainerStyle.right=AUTO}divContainerStyle.top=bbox.y+bbox.height+GUTTER+_lib.PXSTRING;divContainerStyle.bottom=AUTO;divContainerStyle.display=BLOCK};_proto.hide=function hide(config){if(config===void 0){config={}}var container=this,timeout,divContainer=container.getGraphicalElement("menu","menu").element;if(config.instant){divContainer.style.display=NONE}else{timeout=(0,_lib.pluckNumber)(config.timeout,_helper.DEFAULT_TIMEOUT);container.config.hideTimer=setTimeout((function(){divContainer.style.display=NONE}),timeout)}};_proto.addItem=function addItem(item){if(item===void 0){item={}}createMenuItem(this,item)};_proto.draw=function draw(){var container=this;container.addGraphicalElement({el:"html",attr:{type:"div"},css:container.config._defaultStyle,component:container,label:"menu",id:"menu"});container.addEventListener("fc-mouseover",this.show);container.addEventListener("fc-mouseout",this.hide)};_proto.getName=function getName(){return"menuItemContainer"};_proto.getType=function getType(){return"menuItemContainer"};return MenuItemContainer}(_componentInterface.SmartRenderer);var _default=exports.default=MenuItemContainer;