UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 4 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _lib=require("../../lib");var _helper=require("./helper");var _componentInterface=require("../../component-interface");var _dependencyManager=require("../../../src/dependency-manager");(0,_dependencyManager.addDep)({name:"manuItemAnimation",type:"animationRule",extension:{"*.menuItem.menuItem":null}});var MenuItem=function(_SmartRenderer){function MenuItem(){return _SmartRenderer.apply(this,arguments)||this}(0,_inheritsLoose2.default)(MenuItem,_SmartRenderer);var _proto=MenuItem.prototype;_proto.configureAttributes=function configureAttributes(options){if(options===void 0){options={}}var item=this,itemConfig=item.config,hamBurgerConfig=item.getLinkedParent().getLinkedParent().config;itemConfig.name=options.name;itemConfig.action=options.action&&options.action.toLowerCase()||_helper.CLICK;itemConfig.eventMap={};itemConfig.style={padding:"3px 8px",fontFamily:hamBurgerConfig.baseFontFamily,fontSize:hamBurgerConfig.baseFontSize+_lib.PXSTRING,color:"#000000",position:"static",display:"inline",float:"left",background:"#FFFFFF"};itemConfig.pointerStyle={padding:"0px 4px 3px",fontFamily:hamBurgerConfig.baseFontFamily,fontSize:hamBurgerConfig.baseFontSize+3+_lib.PXSTRING,color:"#000000",position:"static",float:"left"};itemConfig.itemType=options.menu instanceof Array&&options.menu.length?"subMenu":"item";if(itemConfig.itemType==="item"){itemConfig.handler=options.handler||_lib.stubFN}else{itemConfig.handler=_lib.stubFN}itemConfig.hoverOverStyle=options.hoverOverStyle||{};itemConfig.hoverOutStyle=options.hoverOutStyle||{}};_proto.applyStyle=function applyStyle(mode){if(mode===void 0){mode="mouseover"}var item=this,menuContainerConfig=item.getLinkedParent().config,itemGraphics=item.getGraphicalElement("menuItem","menuItem"),itemContainer=item.getGraphicalElement("container","container"),itemPointerGraphics=item.getGraphicalElement("menuPointer","menuPointer");switch(mode){case"mouseover":itemGraphics.css(menuContainerConfig.hoverOverStyle);itemContainer.css(menuContainerConfig.hoverOverStyle);itemPointerGraphics&&itemPointerGraphics.css(menuContainerConfig.hoverOverStyle);break;case"mouseout":itemGraphics.css(menuContainerConfig.hoverOutStyle);itemContainer.css(menuContainerConfig.hoverOutStyle);itemPointerGraphics&&itemPointerGraphics.css(menuContainerConfig.hoverOutStyle)}};_proto.draw=function draw(){var item=this,itemConfig=item.config,menuContainer=item.getLinkedParent();item.addGraphicalElement({el:"html",attr:{type:"div"},css:{display:"block",position:"static",overflow:"hidden",height:"100%",width:"100%",background:"#FFFFFF"},container:{id:"menu",label:"menu",isParent:true},component:item,label:"container",id:"container"});if(menuContainer.config.hasSubMenu){item.addGraphicalElement({el:"html",attr:{type:"div",text:"◂"},css:itemConfig.pointerStyle,container:{id:"container",label:"container"},component:item,label:"menuPointer",id:"menuPointer"},true)}item.addGraphicalElement({el:"html",attr:{type:"span",text:itemConfig.name},css:itemConfig.style,container:{id:"container",label:"container"},component:item,label:"menuItem",id:"menuItem"},true);item._mouseOverEvent||(item._mouseOverEvent=function(){item.applyStyle("mouseover")});item._mouseOutEvent||(item._mouseOutEvent=function(){item.applyStyle("mouseout")});item._clickEvent||(item._clickEvent=function(){if(item.config.itemType==="item"){menuContainer.hide({instant:true});itemConfig.handler()}});item.addEventListener("fc-mouseover",item._mouseOverEvent);item.addEventListener("fc-mouseout",item._mouseOutEvent);item.addEventListener("fc-click",item._clickEvent)};_proto.getName=function getName(){return"menuItem"};_proto.getType=function getType(){return"menuItem"};return MenuItem}(_componentInterface.SmartRenderer);var _default=exports.default=MenuItem;