UNPKG

7.06 kBSource Map (JSON)View Raw
1{"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/axes/Grid.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAqD,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAyClF;;;;;GAKG;AAEH;;;;;;;GAOG;AACH;IAA0B,wBAAM;IA2B/B;;OAEG;IACH;QAAA,YACC,iBAAO,SAiBP;QAhBA,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAExB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,eAAe,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC9C,KAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7C,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,KAAI,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU;QAE/B,KAAI,CAAC,UAAU,EAAE,CAAC;;IACnB,CAAC;IAWD,sBAAW,0BAAQ;QAInB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAlBD;;;;;;;;WAQG;aACH,UAAoB,KAAuB;YAC1C,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAgBD,sBAAW,uBAAK;QAIhB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAhBD;;;;;;WAMG;aACH,UAAiB,KAAc;YAC9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;;;OAAA;IASD;;OAEG;IACO,0BAAW,GAArB,UAAsB,KAAc;QACnC,IAAI,OAAO,GAAG,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAChC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEF,WAAC;AAAD,CAAC,AAnGD,CAA0B,MAAM,GAmG/B;;AAED;;;;;GAKG;AACH,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAE1C;;GAEG;AAEH;;GAEG;AACH,YAAY,CAAC,IAAI,CAAC;IACjB,QAAQ,EAAE,qBAAqB,CAAC,OAAO;IACvC,KAAK,EAAE,UAAS,MAAM,EAAE,OAAO;QAC9B,IAAI,MAAM,YAAY,IAAI,EAAE;YAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,OAAO,KAAK,CAAC;SACb;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAC,CAAC","sourcesContent":["/**\r\n * A module defining functionality for axis grid elements.\r\n */\r\n\r\n/**\r\n * ============================================================================\r\n * IMPORTS\r\n * ============================================================================\r\n * @hidden\r\n */\r\nimport { Sprite, ISpriteProperties, ISpriteEvents, ISpriteAdapters } from \"../../core/Sprite\";\r\nimport { AxisItemLocation, AxisDataItem, Axis } from \"./Axis\";\r\nimport { registry } from \"../../core/Registry\";\r\nimport { color } from \"../../core/utils/Color\";\r\nimport { InterfaceColorSet } from \"../../core/utils/InterfaceColorSet\";\r\nimport { defaultRules, ResponsiveBreakpoints } from \"../../core/utils/Responsive\";\r\n\r\n\r\n/**\r\n * ============================================================================\r\n * REQUISITES\r\n * ============================================================================\r\n * @hidden\r\n */\r\n\r\n/**\r\n * Defines properties for [[Grid]].\r\n */\r\nexport interface IGridProperties extends ISpriteProperties {\r\n\r\n\t/**\r\n\t * Location of the grid item within cell. (0-1)\r\n\t */\r\n\tlocation?: AxisItemLocation;\r\n\r\n\t/**\r\n\t * Normally fill goes below series. Set this to `true` to go above.\r\n\t *\r\n\t * @default false\r\n\t */\r\n\tabove?: boolean;\r\n}\r\n\r\n/**\r\n * Defines events for [[Grid]].\r\n */\r\nexport interface IGridEvents extends ISpriteEvents { }\r\n\r\n/**\r\n * Defines adapters for [[Grid]].\r\n *\r\n * @see {@link Adapter}\r\n */\r\nexport interface IGridAdapters extends ISpriteAdapters, IGridProperties { }\r\n\r\n\r\n/**\r\n * ============================================================================\r\n * MAIN CLASS\r\n * ============================================================================\r\n * @hidden\r\n */\r\n\r\n/**\r\n * Displays an axis grid line.\r\n *\r\n * @see {@link IGridEvents} for a list of available events\r\n * @see {@link IGridAdapters} for a list of available Adapters\r\n * @todo Review: container is better, as we'll be able to attach something to the grid, also with 3d charts we might need some additional elements\r\n * @important\r\n */\r\nexport class Grid extends Sprite {\r\n\r\n\t/**\r\n\t * Defines available properties.\r\n\t */\r\n\tpublic _properties!: IGridProperties;\r\n\r\n\t/**\r\n\t * Defines available adapters.\r\n\t */\r\n\tpublic _adapter!: IGridAdapters;\r\n\r\n\t/**\r\n\t * Defines available events.\r\n\t */\r\n\tpublic _events!: IGridEvents;\r\n\r\n\t/**\r\n\t * An axis data item that corresponds to the this grid element.\r\n\t */\r\n\tpublic _dataItem: AxisDataItem;\r\n\r\n\t/**\r\n\t * A referecent to Axis element this fill is applied to.\r\n\t */\r\n\tpublic axis: Axis;\r\n\r\n\t/**\r\n\t * Constructor\r\n\t */\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.className = \"Grid\";\r\n\r\n\t\tthis.element = this.paper.add(\"path\");\r\n\r\n\t\tthis.location = 0.5;\r\n\t\tthis.isMeasured = false;\r\n\t\tthis.above = false;\r\n\r\n\t\tlet interfaceColors = new InterfaceColorSet();\r\n\t\tthis.stroke = interfaceColors.getFor(\"grid\");\r\n\r\n\t\tthis.pixelPerfect = true;\r\n\t\tthis.strokeOpacity = 0.15;\r\n\t\tthis.fill = color(); // \"none\";\r\n\r\n\t\tthis.applyTheme();\r\n\t}\r\n\r\n\t/**\r\n\t * Location within axis cell to place grid line on.\r\n\t *\r\n\t * * 0 - start\r\n\t * * 0.5 - middle\r\n\t * * 1 - end\r\n\t *\r\n\t * @param value Location (0-1)\r\n\t */\r\n\tpublic set location(value: AxisItemLocation) {\r\n\t\tthis.setPropertyValue(\"location\", value, true);\r\n\t}\r\n\r\n\t/**\r\n\t * @return Location (0-1)\r\n\t */\r\n\tpublic get location(): AxisItemLocation {\r\n\t\treturn this.getPropertyValue(\"location\");\r\n\t}\r\n\r\n\t/**\r\n\t * Normally fill goes below series. Set this to `true` to go above.\r\n\t *\r\n\t * @default false\r\n\t * @since 4.5.9\r\n\t * @param value Draw above series?\r\n\t */\r\n\tpublic set above(value: boolean) {\r\n\t\tthis.setPropertyValue(\"above\", value, true);\r\n\t}\r\n\r\n\t/**\r\n\t * @return Draw above series?\r\n\t */\r\n\tpublic get above(): boolean {\r\n\t\treturn this.getPropertyValue(\"above\");\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected setDisabled(value: boolean): boolean {\r\n\t\tlet changed = super.setDisabled(value);\r\n\t\tif (this.axis) {\r\n\t\t\tthis.axis.invalidateDataItems();\r\n\t\t}\r\n\t\treturn changed;\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * Register class in system, so that it can be instantiated using its name from\r\n * anywhere.\r\n *\r\n * @ignore\r\n */\r\nregistry.registeredClasses[\"Grid\"] = Grid;\r\n\r\n/**\r\n * Add default responsive rules\r\n */\r\n\r\n/**\r\n * Disable grid on smaller charts\r\n */\r\ndefaultRules.push({\r\n\trelevant: ResponsiveBreakpoints.maybeXS,\r\n\tstate: function(target, stateId) {\r\n\t\tif (target instanceof Grid) {\r\n\t\t\tlet state = target.states.create(stateId);\r\n\t\t\tstate.properties.disabled = true;\r\n\t\t\treturn state;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n});"]}
\No newline at end of file