@amcharts/amcharts5 5.1.11 → 5.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/hierarchy/Hierarchy.d.ts +12 -12
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/map/MapPolygon.d.ts.map +1 -1
- package/.internal/charts/map/MapPolygon.js +6 -8
- package/.internal/charts/map/MapPolygon.js.map +1 -1
- package/.internal/charts/map/MapSeries.d.ts +21 -0
- package/.internal/charts/map/MapSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapSeries.js +4 -4
- package/.internal/charts/map/MapSeries.js.map +1 -1
- package/.internal/charts/percent/PercentSeries.d.ts +6 -6
- package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/radar/AxisRendererCircular.d.ts +5 -5
- package/.internal/charts/radar/AxisRendererCircular.d.ts.map +1 -1
- package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
- package/.internal/charts/radar/AxisRendererRadial.d.ts +4 -4
- package/.internal/charts/radar/AxisRendererRadial.d.ts.map +1 -1
- package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
- package/.internal/charts/radar/RadarColumnSeries.d.ts +9 -9
- package/.internal/charts/radar/RadarColumnSeries.d.ts.map +1 -1
- package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
- package/.internal/charts/radar/RadarCursor.d.ts +6 -6
- package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
- package/.internal/charts/radar/RadarCursor.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts +8 -8
- package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +7 -7
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +1 -2
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +4 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +1 -0
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +23 -10
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +16 -8
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +4 -0
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +7 -8
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/Candlestick.d.ts +9 -9
- package/.internal/charts/xy/series/Candlestick.d.ts.map +1 -1
- package/.internal/charts/xy/series/Candlestick.js.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.d.ts +2 -2
- package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/OHLCSeries.d.ts +2 -2
- package/.internal/charts/xy/series/OHLCSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +17 -6
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +4 -7
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
- package/.internal/core/render/HorizontalLayout.js +5 -2
- package/.internal/core/render/HorizontalLayout.js.map +1 -1
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +9 -7
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +2 -2
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
- package/.internal/core/render/VerticalLayout.js +5 -2
- package/.internal/core/render/VerticalLayout.js.map +1 -1
- package/.internal/core/util/Time.d.ts.map +1 -1
- package/.internal/core/util/Time.js +4 -0
- package/.internal/core/util/Time.js.map +1 -1
- package/.internal/core/util/Timezone.d.ts.map +1 -1
- package/.internal/core/util/Timezone.js +4 -0
- package/.internal/core/util/Timezone.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.d.ts +1 -1
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js +4 -1
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/plugins/json/Json.d.ts.map +1 -1
- package/.internal/plugins/json/Json.js +41 -17
- package/.internal/plugins/json/Json.js.map +1 -1
- package/CHANGELOG.md +28 -0
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/json/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/json/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportingMenu.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Exporting, ExportingFormats, ExportingTypes } from \"./Exporting\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\nimport { IDisposer, Disposer } from \"../../core/util/Disposer\";\nimport exportingCSS from \"./ExportingCSS\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IExportingMenuItem {\n\n\t/**\n\t * Indicates type of the menu item:\n\t * * `\"format\"` - indicates export action\n\t * * `\"separator\"` - will show horizontal divider.\n\t * * `\"custom\"` - will invoke custom function when clicked.\n\t */\n\ttype: \"format\" | \"separator\" | \"custom\";\n\n\t/**\n\t * If `type` is set to `\"format\"`, clicking item will initiate export in\n\t * that format.\n\t */\n\tformat?: ExportingFormats;\n\n\t/**\n\t * Indicates export type: `\"image\"`, `\"data\"`, or `\"print\"`.\n\t */\n\texportType?: ExportingTypes;\n\n\t/**\n\t * Menu label.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Additional information.\n\t */\n\tsublabel?: string;\n\n\t/**\n\t * If `type` is set to `\"custom\"`, this needs to be set to a function.\n\t */\n\tcallback?: (menuItem?: any) => any;\n\n\t/**\n\t * A target for callback function.\n\t */\n\tcallbackTarget?: any;\n\n\t/**\n\t * A DOM element for the menu item.\n\t *\n\t * @readonly\n\t */\n\telement?: HTMLAnchorElement;\n\n}\n\nexport interface IExportingMenuSettings extends IEntitySettings {\n\n\t/**\n\t * Horizontal alignment of the menu.\n\t *\n\t * @default \"right\"\n\t */\n\talign?: \"left\" | \"right\";\n\n\t/**\n\t * Vertical alignment of the menu.\n\t *\n\t * @default \"top\"\n\t */\n\tvalign?: \"top\" | \"bottom\";\n\n\t/**\n\t * A reference to an element in the document to place export menu in.\n\t *\n\t * If not set, will use root element's container.\n\t */\n\tcontainer?: HTMLElement;\n\n\t/**\n\t * A list of menu items.\n\t */\n\titems?: IExportingMenuItem[];\n\n\t/**\n\t * A reference to related [[Exporting]] object.\n\t */\n\texporting?: Exporting;\n\n\t/**\n\t * If set to `false` the legend will not load default CSS.\n\t *\n\t * @default true\n\t */\n\tuseDefaultCSS?: boolean;\n\n\t/**\n\t * If set to `true` the menu will close automatically when export operation\n\t * is initiated.\n\t *\n\t * @default true\n\t */\n\tautoClose?: boolean;\n\n\t/**\n\t * Menu will disable all interactions for the underlying chart when browsing\n\t * the menu.\n\t *\n\t * @default true\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IExportingMenuPrivate extends IEntityPrivate {\n}\n\nexport interface IExportingMenuEvents extends IEntityEvents {\n\t\"menucreated\": {}\n\t\"menuopened\": {}\n\t\"menuclosed\": {}\n}\n\n/**\n * Displays a menu for [[Exporting]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/exporting/} for more info\n */\nexport class ExportingMenu extends Entity {\n\tpublic static className: string = \"ExportingMenu\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([ExportingMenu.className]);\n\n\tdeclare public _settings: IExportingMenuSettings;\n\tdeclare public _privateSettings: IExportingMenuPrivate;\n\tdeclare public _events: IExportingMenuEvents;\n\n\tprivate _menuElement?: HTMLDivElement;\n\tprivate _iconElement?: HTMLElement;\n\tprivate _listElement?: HTMLUListElement;\n\tprivate _itemElements?: HTMLLIElement[] = [];\n\tprivate _itemDisposers: Array<IDisposer> = [];\n\n\tprivate _cssDisposer?: IDisposer;\n\tprivate _activeItem?: IExportingMenuItem;\n\n\tpublic isOpen: boolean = false;\n\n\tprivate _isOver: boolean = false;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"container\", this._root._inner);\n\t\tthis._setRawDefault(\"align\", \"right\");\n\t\tthis._setRawDefault(\"valign\", \"top\");\n\t\tthis._setRawDefault(\"useDefaultCSS\", true);\n\t\tthis._setRawDefault(\"autoClose\", true);\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\t\tthis._setRawDefault(\"items\", [{\n\t\t\ttype: \"separator\",\n\t\t\tlabel: this._t(\"Export\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"png\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PNG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"jpg\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"JPG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdf\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"separator\",\n\t\t\texportType: \"data\",\n\t\t\t//label: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"json\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"JSON\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"csv\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"CSV\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"xlsx\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"XLSX\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdfdata\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"html\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"HTML\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"separator\"\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"print\",\n\t\t\texportType: \"print\",\n\t\t\tlabel: this._t(\"Print\")\n\t\t}]);\n\n\t\tconst menuElement = document.createElement(\"div\");\n\t\tthis._menuElement = menuElement;\n\n\t\tconst iconElement = document.createElement(\"a\");\n\t\tthis._iconElement = iconElement;\n\n\t\tthis._listElement = document.createElement(\"ul\");\n\t\tthis._listElement.setAttribute(\"role\", \"menu\");\n\t\tthis._applyClassNames();\n\n\t\ticonElement.innerHTML = '<svg fill=\"none\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"/></svg>';\n\t\ticonElement.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\ticonElement.setAttribute(\"aria-label\", this._t(\"Export\"));\n\t\ticonElement.setAttribute(\"aria-description\", this._t(\"Press ENTER to open\"));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (ev.keyCode == 27) {\n\t\t\t\t\t\t// ESC\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 13) {\n\t\t\t\t\t\t// ENTER\n\t\t\t\t\t\tif (this._activeItem) {\n\t\t\t\t\t\t\tthis._handleClick(this._activeItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 38 || ev.keyCode == 40) {\n\t\t\t\t\t\tconst items = this.get(\"items\", []);\n\t\t\t\t\t\tlet currentIndex = (<any>items).indexOf(this._activeItem);\n\t\t\t\t\t\tif (this.get(\"valign\") == \"top\" && currentIndex == -1) {\n\t\t\t\t\t\t\tcurrentIndex = items.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dir = ev.keyCode == 38 ? -1 : 1;\n\t\t\t\t\t\tlet newIndex = currentIndex + dir;\n\t\t\t\t\t\tlet newItem;\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (newIndex < 0) {\n\t\t\t\t\t\t\t\tnewIndex = items.length - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (newIndex > (items.length - 1)) {\n\t\t\t\t\t\t\t\tnewIndex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (items[newIndex].type == \"separator\") {\n\t\t\t\t\t\t\t\tnewIndex += dir;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnewItem = items[newIndex];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while(!newItem);\n\n\t\t\t\t\t\tif (newItem) {\n\t\t\t\t\t\t\tthis._handleItemFocus(newItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push($utils.addEventListener(iconElement, \"click\", (ev: MouseEvent) => {\n\t\t\tev.stopImmediatePropagation();\n\t\t\tthis.toggle();\n\t\t}));\n\n\t\tmenuElement.appendChild(this._iconElement);\n\t\tmenuElement.appendChild(this._listElement);\n\n\t\tconst container = this.get(\"container\", this._root._inner);\n\n\t\tcontainer.appendChild(this._menuElement);\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerover\"), (_ev) => {\n\t\t\tthis._isOver = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerout\"), (_ev) => {\n\t\t\tthis._isOver = false;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(new Disposer(() => {\n\t\t\tif (this._menuElement) {\n\t\t\t\tcontainer.removeChild(this._menuElement);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(document, \"click\", (_ev) => {\n\t\t\tif (this.isOpen && !this._isOver) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}));\n\n\t\tthis.loadDefaultCSS();\n\n\t\tthis._root.addDisposer(this);\n\n\t\tthis.events.dispatch(\"menucreated\", {\n\t\t\ttype: \"menucreated\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._itemElements!.length == 0) {\n\t\t\tthis.createItems();\n\t\t}\n\n\t\tif (this.isDirty(\"useDefaultCSS\")) {\n\t\t\tif (this.get(\"useDefaultCSS\")) {\n\t\t\t\tthis.loadDefaultCSS();\n\t\t\t}\n\t\t\telse if (this._cssDisposer) {\n\t\t\t\tthis._cssDisposer.dispose();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"exporting\")) {\n\t\t\tconst exporting = this.get(\"exporting\");\n\t\t\tif (exporting) {\n\t\t\t\tthis.createItems();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"align\") || this.isDirty(\"valign\")) {\n\t\t\tthis._applyClassNames();\n\t\t}\n\n\t\tif (this.isDirty(\"container\")) {\n\t\t\tconst container = this.get(\"container\");\n\t\t\tif (container) {\n\t\t\t\tcontainer.appendChild(this._menuElement!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(): void {\n\t\tsuper._dispose();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\t}\n\n\tprivate _applyClassNames(): void {\n\t\tconst align = this.get(\"align\", \"right\");\n\t\tconst valign = this.get(\"valign\", \"top\");\n\t\tconst status = this.isOpen ? \"am5exporting-menu-open\" : \"am5exporting-menu-closed\";\n\n\t\tthis._menuElement!.className = \"am5exporting am5exporting-menu am5exporting-align-\" + align + \" am5exporting-valign-\" + valign + \" \" + status;\n\t\tthis._iconElement!.className = \"am5exporting am5exporting-icon am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t\tthis._listElement!.className = \"am5exporting am5exporting-list am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createItems(): void {\n\t\tconst exporting = this.get(\"exporting\");\n\t\tif (!exporting) {\n\t\t\treturn;\n\t\t}\n\t\tthis._listElement!.innerHTML = \"\";\n\t\tthis._itemElements = [];\n\t\tconst items = this.get(\"items\", []);\n\t\tconst supportedFormats = exporting.supportedFormats();\n\t\tconst supportedExportTypes = exporting.supportedExportTypes();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\n\t\tthis._itemDisposers.length = 0;\n\n\t\t$array.each(items, (item) => {\n\n\t\t\tif (item.format && supportedFormats.indexOf(item.format) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (item.exportType && supportedExportTypes.indexOf(item.exportType) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst li = document.createElement(\"li\");\n\t\t\tli.setAttribute(\"role\", \"menuitem\");\n\n\t\t\tli.className = \"am5exporting am5exporting-item am5exporting-type-\" + item.type;\n\t\t\tif (item.format) {\n\t\t\t\tli.className += \" am5exporting-format-\" + item.format;\n\t\t\t}\n\n\t\t\tconst a = document.createElement(\"a\");\n\n\t\t\tlet ariaLabel = this._t(\"Export\");\n\t\t\tif (item.label) {\n\t\t\t\ta.innerHTML = item.label;\n\t\t\t\tariaLabel += \" \" + item.label;\n\t\t\t}\n\n\t\t\tif (item.sublabel) {\n\t\t\t\ta.innerHTML += \" <span class=\\\"am5exporting-label-alt\\\">\" + item.sublabel + \"</span>\";\n\t\t\t\tariaLabel += \" (\" + item.sublabel + \")\";\n\t\t\t}\n\n\t\t\tif (item.callback) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\titem.callback!.call(item.callbackTarget || this)\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t}\n\t\t\telse if (item.format && exporting) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\tthis._handleClick(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"focus\", (_ev) => {\n\t\t\t\t\tthis._handleItemFocus(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"blur\", (_ev) => {\n\t\t\t\t\tthis._handleItemBlur(item);\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t\ta.setAttribute(\"aria-label\", ariaLabel);\n\t\t\t}\n\n\t\t\titem.element = a;\n\t\t\tli.appendChild(a);\n\t\t\tthis._listElement!.appendChild(li);\n\t\t\tthis._itemElements!.push(li);\n\t\t});\n\t}\n\n\tprivate _handleClick(item: IExportingMenuItem): void {\n\t\tconst exporting = this.get(\"exporting\")!;\n\t\tif (this.get(\"autoClose\")) {\n\t\t\tthis.close();\n\t\t}\n\t\tif (item.format == \"print\") {\n\t\t\texporting.print();\n\t\t}\n\t\telse {\n\t\t\texporting.download(item.format!);\n\t\t}\n\t}\n\n\tprivate _handleItemFocus(item: IExportingMenuItem): void {\n\t\tif (item != this._activeItem) {\n\t\t\tif (this._activeItem) {\n\t\t\t\tthis._activeItem.element!.className = \"\";\n\t\t\t}\n\t\t\tthis._activeItem = item;\n\t\t\titem.element!.className = \"am5exporting-item-active\";\n\t\t\titem.element!.focus();\n\t\t}\n\t}\n\n\tprivate _handleItemBlur(item: IExportingMenuItem): void {\n\t\titem.element!.className = \"\";\n\t\tif (item == this._activeItem) {\n\t\t\tthis._activeItem = undefined\n\t\t}\n\t\tthis.setTimeout(() => {\n\t\t\tif (!document.activeElement || !$utils.contains(this.get(\"container\")!, document.activeElement!)) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}, 10);\n\n\t}\n\n\t/**\n\t * Loads the default CSS.\n\t *\n\t * @ignore Exclude from docs\n\t */\n\tpublic loadDefaultCSS(): void {\n\t\tconst disposer = exportingCSS($utils.getShadowRoot(this._root.dom), this._root);\n\t\tthis._disposers.push(disposer);\n\t\tthis._cssDisposer = disposer;\n\n\t\t// if (this._element) {\n\t\t// \tthis._element.style.display = \"\";\n\t\t// }\n\t}\n\n\t/**\n\t * Opens menu.\n\t */\n\tpublic open(): void {\n\t\tthis.isOpen = true;\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\ttype: \"menuopened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\t$utils.blur();\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuclosed\", {\n\t\t\ttype: \"menuclosed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Toggles menu open and close.\n\t */\n\tpublic toggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.close();\n\t\t}\n\t\telse {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ExportingMenu.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/exporting/ExportingMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Exporting, ExportingFormats, ExportingTypes } from \"./Exporting\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\nimport { IDisposer, Disposer } from \"../../core/util/Disposer\";\nimport exportingCSS from \"./ExportingCSS\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IExportingMenuItem {\n\n\t/**\n\t * Indicates type of the menu item:\n\t * * `\"format\"` - indicates export action\n\t * * `\"separator\"` - will show horizontal divider.\n\t * * `\"custom\"` - will invoke custom function when clicked.\n\t */\n\ttype: \"format\" | \"separator\" | \"custom\";\n\n\t/**\n\t * If `type` is set to `\"format\"`, clicking item will initiate export in\n\t * that format.\n\t */\n\tformat?: ExportingFormats;\n\n\t/**\n\t * Indicates export type: `\"image\"`, `\"data\"`, or `\"print\"`.\n\t */\n\texportType?: ExportingTypes;\n\n\t/**\n\t * Menu label.\n\t */\n\tlabel?: string;\n\n\t/**\n\t * Additional information.\n\t */\n\tsublabel?: string;\n\n\t/**\n\t * If `type` is set to `\"custom\"`, this needs to be set to a function.\n\t */\n\tcallback?: (menuItem?: any) => any;\n\n\t/**\n\t * A target for callback function.\n\t */\n\tcallbackTarget?: any;\n\n\t/**\n\t * A DOM element for the menu item.\n\t *\n\t * @readonly\n\t */\n\telement?: HTMLAnchorElement;\n\n}\n\nexport interface IExportingMenuSettings extends IEntitySettings {\n\n\t/**\n\t * Horizontal alignment of the menu.\n\t *\n\t * @default \"right\"\n\t */\n\talign?: \"left\" | \"right\";\n\n\t/**\n\t * Vertical alignment of the menu.\n\t *\n\t * @default \"top\"\n\t */\n\tvalign?: \"top\" | \"bottom\";\n\n\t/**\n\t * A reference to an element in the document to place export menu in.\n\t *\n\t * If not set, will use root element's container.\n\t */\n\tcontainer?: HTMLElement;\n\n\t/**\n\t * A list of menu items.\n\t */\n\titems?: IExportingMenuItem[];\n\n\t/**\n\t * A reference to related [[Exporting]] object.\n\t */\n\texporting?: Exporting;\n\n\t/**\n\t * If set to `false` the legend will not load default CSS.\n\t *\n\t * @default true\n\t */\n\tuseDefaultCSS?: boolean;\n\n\t/**\n\t * If set to `true` the menu will close automatically when export operation\n\t * is initiated.\n\t *\n\t * @default true\n\t */\n\tautoClose?: boolean;\n\n\t/**\n\t * Menu will disable all interactions for the underlying chart when browsing\n\t * the menu.\n\t *\n\t * @default true\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IExportingMenuPrivate extends IEntityPrivate {\n}\n\nexport interface IExportingMenuEvents extends IEntityEvents {\n\t\"menucreated\": {}\n\t\"menuopened\": {}\n\t\"menuclosed\": {}\n}\n\n/**\n * Displays a menu for [[Exporting]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/exporting/} for more info\n */\nexport class ExportingMenu extends Entity {\n\tpublic static className: string = \"ExportingMenu\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([ExportingMenu.className]);\n\n\tdeclare public _settings: IExportingMenuSettings;\n\tdeclare public _privateSettings: IExportingMenuPrivate;\n\tdeclare public _events: IExportingMenuEvents;\n\n\tprivate _menuElement?: HTMLDivElement;\n\tprivate _iconElement?: HTMLElement;\n\tprivate _listElement?: HTMLUListElement;\n\tprivate _itemElements?: HTMLLIElement[] = [];\n\tprivate _itemDisposers: Array<IDisposer> = [];\n\n\tprivate _cssDisposer?: IDisposer;\n\tprivate _activeItem?: IExportingMenuItem;\n\n\tpublic isOpen: boolean = false;\n\n\tprivate _isOver: boolean = false;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"container\", this._root._inner);\n\t\tthis._setRawDefault(\"align\", \"right\");\n\t\tthis._setRawDefault(\"valign\", \"top\");\n\t\tthis._setRawDefault(\"useDefaultCSS\", true);\n\t\tthis._setRawDefault(\"autoClose\", true);\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\t\tthis._setRawDefault(\"items\", [{\n\t\t\ttype: \"separator\",\n\t\t\tlabel: this._t(\"Export\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"png\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PNG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"jpg\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"JPG\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdf\",\n\t\t\texportType: \"image\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Image\")\n\t\t}, {\n\t\t\ttype: \"separator\",\n\t\t\texportType: \"data\",\n\t\t\t//label: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"json\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"JSON\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"csv\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"CSV\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"xlsx\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"XLSX\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"pdfdata\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"PDF\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"html\",\n\t\t\texportType: \"data\",\n\t\t\tlabel: this._t(\"HTML\"),\n\t\t\tsublabel: this._t(\"Data\")\n\t\t}, {\n\t\t\ttype: \"separator\"\n\t\t}, {\n\t\t\ttype: \"format\",\n\t\t\tformat: \"print\",\n\t\t\texportType: \"print\",\n\t\t\tlabel: this._t(\"Print\")\n\t\t}]);\n\n\t\tconst menuElement = document.createElement(\"div\");\n\t\tthis._menuElement = menuElement;\n\n\t\tconst iconElement = document.createElement(\"a\");\n\t\tthis._iconElement = iconElement;\n\n\t\tthis._listElement = document.createElement(\"ul\");\n\t\tthis._listElement.setAttribute(\"role\", \"menu\");\n\t\tthis._applyClassNames();\n\n\t\ticonElement.innerHTML = '<svg fill=\"none\" height=\"20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"/></svg>';\n\t\ticonElement.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\ticonElement.setAttribute(\"aria-label\", this._t(\"Export\"));\n\t\ticonElement.setAttribute(\"aria-description\", this._t(\"Press ENTER to open\"));\n\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (document.activeElement == this._iconElement || this.isOpen) {\n\t\t\t\t\tif (ev.keyCode == 27) {\n\t\t\t\t\t\t// ESC\n\t\t\t\t\t\tthis.close();\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 13) {\n\t\t\t\t\t\t// ENTER\n\t\t\t\t\t\tif (this._activeItem) {\n\t\t\t\t\t\t\tthis._handleClick(this._activeItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.toggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (ev.keyCode == 38 || ev.keyCode == 40) {\n\t\t\t\t\t\tconst items = this.get(\"items\", []);\n\t\t\t\t\t\tlet currentIndex = (<any>items).indexOf(this._activeItem);\n\t\t\t\t\t\tif (this.get(\"valign\") == \"top\" && currentIndex == -1) {\n\t\t\t\t\t\t\tcurrentIndex = items.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst dir = ev.keyCode == 38 ? -1 : 1;\n\t\t\t\t\t\tlet newIndex = currentIndex + dir;\n\t\t\t\t\t\tlet newItem;\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (newIndex < 0) {\n\t\t\t\t\t\t\t\tnewIndex = items.length - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (newIndex > (items.length - 1)) {\n\t\t\t\t\t\t\t\tnewIndex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (items[newIndex].type == \"separator\") {\n\t\t\t\t\t\t\t\tnewIndex += dir;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnewItem = items[newIndex];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while(!newItem);\n\n\t\t\t\t\t\tif (newItem) {\n\t\t\t\t\t\t\tthis._handleItemFocus(newItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._disposers.push($utils.addEventListener(iconElement, \"click\", (ev: MouseEvent) => {\n\t\t\tev.stopImmediatePropagation();\n\t\t\tthis.toggle();\n\t\t}));\n\n\t\tmenuElement.appendChild(this._iconElement);\n\t\tmenuElement.appendChild(this._listElement);\n\n\t\tconst container = this.get(\"container\", this._root._inner);\n\n\t\tcontainer.appendChild(this._menuElement);\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerover\"), (_ev) => {\n\t\t\tthis._isOver = true;\n\t\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(menuElement, $utils.getRendererEvent(\"pointerout\"), (_ev) => {\n\t\t\tthis._isOver = false;\n\t\t\tif (this.get(\"deactivateRoot\") && this.isOpen) {\n\t\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push(new Disposer(() => {\n\t\t\tif (this._menuElement) {\n\t\t\t\tcontainer.removeChild(this._menuElement);\n\t\t\t}\n\t\t}));\n\n\t\tthis._disposers.push($utils.addEventListener(document, \"click\", (_ev) => {\n\t\t\tif (this.isOpen && !this._isOver) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}));\n\n\t\tthis.loadDefaultCSS();\n\n\t\tthis._root.addDisposer(this);\n\n\t\tthis.events.dispatch(\"menucreated\", {\n\t\t\ttype: \"menucreated\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\n\t\tif (this._itemElements!.length == 0) {\n\t\t\tthis.createItems();\n\t\t}\n\n\t\tif (this.isDirty(\"useDefaultCSS\")) {\n\t\t\tif (this.get(\"useDefaultCSS\")) {\n\t\t\t\tthis.loadDefaultCSS();\n\t\t\t}\n\t\t\telse if (this._cssDisposer) {\n\t\t\t\tthis._cssDisposer.dispose();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"exporting\")) {\n\t\t\tconst exporting = this.get(\"exporting\");\n\t\t\tif (exporting) {\n\t\t\t\tthis.createItems();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"align\") || this.isDirty(\"valign\")) {\n\t\t\tthis._applyClassNames();\n\t\t}\n\n\t\tif (this.isDirty(\"container\")) {\n\t\t\tconst container = this.get(\"container\");\n\t\t\tif (container) {\n\t\t\t\tcontainer.appendChild(this._menuElement!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(): void {\n\t\tsuper._dispose();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\t}\n\n\tprivate _applyClassNames(): void {\n\t\tconst align = this.get(\"align\", \"right\");\n\t\tconst valign = this.get(\"valign\", \"top\");\n\t\tconst status = this.isOpen ? \"am5exporting-menu-open\" : \"am5exporting-menu-closed\";\n\n\t\tthis._menuElement!.className = \"am5exporting am5exporting-menu am5exporting-align-\" + align + \" am5exporting-valign-\" + valign + \" \" + status;\n\t\tthis._iconElement!.className = \"am5exporting am5exporting-icon am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t\tthis._listElement!.className = \"am5exporting am5exporting-list am5exporting-align-\" + align + \" am5exporting-valign-\" + valign;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createItems(): void {\n\t\tconst exporting = this.get(\"exporting\");\n\t\tif (!exporting) {\n\t\t\treturn;\n\t\t}\n\t\tthis._listElement!.innerHTML = \"\";\n\t\tthis._itemElements = [];\n\t\tconst items = this.get(\"items\", []);\n\t\tconst supportedFormats = exporting.supportedFormats();\n\t\tconst supportedExportTypes = exporting.supportedExportTypes();\n\n\t\t$array.each(this._itemDisposers, (x) => {\n\t\t\tx.dispose();\n\t\t});\n\n\t\tthis._itemDisposers.length = 0;\n\n\t\t$array.each(items, (item) => {\n\n\t\t\tif (item.format && supportedFormats.indexOf(item.format) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (item.exportType && supportedExportTypes.indexOf(item.exportType) == -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst li = document.createElement(\"li\");\n\t\t\tli.setAttribute(\"role\", \"menuitem\");\n\n\t\t\tli.className = \"am5exporting am5exporting-item am5exporting-type-\" + item.type;\n\t\t\tif (item.format) {\n\t\t\t\tli.className += \" am5exporting-format-\" + item.format;\n\t\t\t}\n\n\t\t\tconst a = document.createElement(\"a\");\n\n\t\t\tlet ariaLabel = this._t(\"Export\");\n\t\t\tif (item.label) {\n\t\t\t\ta.innerHTML = item.label;\n\t\t\t\tariaLabel += \" \" + item.label;\n\t\t\t}\n\n\t\t\tif (item.sublabel) {\n\t\t\t\ta.innerHTML += \" <span class=\\\"am5exporting-label-alt\\\">\" + item.sublabel + \"</span>\";\n\t\t\t\tariaLabel += \" (\" + item.sublabel + \")\";\n\t\t\t}\n\n\t\t\tif (item.callback) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\titem.callback!.call(item.callbackTarget || this)\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t}\n\t\t\telse if (item.format && exporting) {\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"click\", (_ev) => {\n\t\t\t\t\tthis._handleClick(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"focus\", (_ev) => {\n\t\t\t\t\tthis._handleItemFocus(item);\n\t\t\t\t}));\n\t\t\t\tthis._itemDisposers.push($utils.addEventListener(a, \"blur\", (_ev) => {\n\t\t\t\t\tthis._handleItemBlur(item);\n\t\t\t\t}));\n\t\t\t\ta.setAttribute(\"tabindex\", this._root.tabindex.toString());\n\t\t\t\ta.setAttribute(\"aria-label\", ariaLabel);\n\t\t\t}\n\n\t\t\titem.element = a;\n\t\t\tli.appendChild(a);\n\t\t\tthis._listElement!.appendChild(li);\n\t\t\tthis._itemElements!.push(li);\n\t\t});\n\t}\n\n\tprivate _handleClick(item: IExportingMenuItem): void {\n\t\tconst exporting = this.get(\"exporting\")!;\n\t\tif (this.get(\"autoClose\")) {\n\t\t\tthis.close();\n\t\t}\n\t\tif (item.format == \"print\") {\n\t\t\texporting.print();\n\t\t}\n\t\telse {\n\t\t\texporting.download(item.format!);\n\t\t}\n\t}\n\n\tprivate _handleItemFocus(item: IExportingMenuItem): void {\n\t\tif (item != this._activeItem) {\n\t\t\tif (this._activeItem) {\n\t\t\t\tthis._activeItem.element!.className = \"\";\n\t\t\t}\n\t\t\tthis._activeItem = item;\n\t\t\titem.element!.className = \"am5exporting-item-active\";\n\t\t\titem.element!.focus();\n\t\t}\n\t}\n\n\tprivate _handleItemBlur(item: IExportingMenuItem): void {\n\t\titem.element!.className = \"\";\n\t\tif (item == this._activeItem) {\n\t\t\tthis._activeItem = undefined\n\t\t}\n\t\tthis.setTimeout(() => {\n\t\t\tif (!document.activeElement || !$utils.contains(this.get(\"container\")!, document.activeElement!)) {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}, 10);\n\n\t}\n\n\t/**\n\t * Loads the default CSS.\n\t *\n\t * @ignore Exclude from docs\n\t */\n\tpublic loadDefaultCSS(): void {\n\t\tconst disposer = exportingCSS($utils.getShadowRoot(this._root.dom), this._root);\n\t\tthis._disposers.push(disposer);\n\t\tthis._cssDisposer = disposer;\n\n\t\t// if (this._element) {\n\t\t// \tthis._element.style.display = \"\";\n\t\t// }\n\t}\n\n\t/**\n\t * Opens menu.\n\t */\n\tpublic open(): void {\n\t\tthis.isOpen = true;\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuopened\", {\n\t\t\ttype: \"menuopened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes menu.\n\t */\n\tpublic close(): void {\n\t\tthis.isOpen = false;\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\n\t\t$utils.blur();\n\t\tthis._applyClassNames();\n\t\tthis.events.dispatch(\"menuclosed\", {\n\t\t\ttype: \"menuclosed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Toggles menu open and close.\n\t */\n\tpublic toggle(): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.close();\n\t\t}\n\t\telse {\n\t\t\tthis.open();\n\t\t}\n\t}\n\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAsQhD,qBAAa,UAAU;IACb,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhE,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9E"}
|
|
@@ -2,6 +2,7 @@ import { __awaiter, __generator, __read } from "tslib";
|
|
|
2
2
|
import { Entity } from "../../core/util/Entity";
|
|
3
3
|
import { Container } from "../../core/render/Container";
|
|
4
4
|
import { Color } from "../../core/util/Color";
|
|
5
|
+
import { Template } from "../../core/util/Template";
|
|
5
6
|
import * as $type from "../../core/util/Type";
|
|
6
7
|
import * as $array from "../../core/util/Array";
|
|
7
8
|
import * as $object from "../../core/util/Object";
|
|
@@ -143,40 +144,63 @@ function parseRefs(root, object, refs) {
|
|
|
143
144
|
}
|
|
144
145
|
function parseValue(root, value, refs) {
|
|
145
146
|
return __awaiter(this, void 0, void 0, function () {
|
|
146
|
-
var _a, _b, _c, construct, settings, properties, children, ref;
|
|
147
|
-
var
|
|
148
|
-
return __generator(this, function (
|
|
149
|
-
switch (
|
|
147
|
+
var _a, _b, settings, _c, _d, _e, _f, construct, settings, properties, children, ref;
|
|
148
|
+
var _g;
|
|
149
|
+
return __generator(this, function (_h) {
|
|
150
|
+
switch (_h.label) {
|
|
150
151
|
case 0:
|
|
151
152
|
if (!$type.isArray(value)) return [3 /*break*/, 2];
|
|
152
|
-
|
|
153
|
+
_g = {
|
|
153
154
|
isValue: true
|
|
154
155
|
};
|
|
155
156
|
return [4 /*yield*/, parseArray(root, value, refs)];
|
|
156
|
-
case 1: return [2 /*return*/, (
|
|
157
|
-
|
|
157
|
+
case 1: return [2 /*return*/, (_g.value = _h.sent(),
|
|
158
|
+
_g)];
|
|
158
159
|
case 2:
|
|
159
|
-
if (!isObject(value)) return [3 /*break*/,
|
|
160
|
+
if (!isObject(value)) return [3 /*break*/, 14];
|
|
160
161
|
if (!(value.type === "Color")) return [3 /*break*/, 3];
|
|
161
162
|
return [2 /*return*/, {
|
|
162
163
|
isValue: true,
|
|
163
164
|
value: Color.fromAny(value.value),
|
|
164
165
|
}];
|
|
165
166
|
case 3:
|
|
167
|
+
if (!(value.type === "Template")) return [3 /*break*/, 9];
|
|
166
168
|
if (!value.refs) return [3 /*break*/, 5];
|
|
167
169
|
_b = (_a = refs).concat;
|
|
168
170
|
return [4 /*yield*/, parseRefs(root, value.refs, refs)];
|
|
169
171
|
case 4:
|
|
170
|
-
refs = _b.apply(_a, [[
|
|
171
|
-
|
|
172
|
-
case 5:
|
|
172
|
+
refs = _b.apply(_a, [[_h.sent()]]);
|
|
173
|
+
_h.label = 5;
|
|
174
|
+
case 5:
|
|
175
|
+
if (!value.settings) return [3 /*break*/, 7];
|
|
176
|
+
return [4 /*yield*/, parseSettings(root, value.settings, refs)];
|
|
177
|
+
case 6:
|
|
178
|
+
_c = _h.sent();
|
|
179
|
+
return [3 /*break*/, 8];
|
|
180
|
+
case 7:
|
|
181
|
+
_c = {};
|
|
182
|
+
_h.label = 8;
|
|
183
|
+
case 8:
|
|
184
|
+
settings = (_c);
|
|
185
|
+
return [2 /*return*/, {
|
|
186
|
+
isValue: true,
|
|
187
|
+
value: Template.new(settings),
|
|
188
|
+
}];
|
|
189
|
+
case 9:
|
|
190
|
+
if (!value.refs) return [3 /*break*/, 11];
|
|
191
|
+
_e = (_d = refs).concat;
|
|
192
|
+
return [4 /*yield*/, parseRefs(root, value.refs, refs)];
|
|
193
|
+
case 10:
|
|
194
|
+
refs = _e.apply(_d, [[_h.sent()]]);
|
|
195
|
+
_h.label = 11;
|
|
196
|
+
case 11: return [4 /*yield*/, Promise.all([
|
|
173
197
|
(value.type ? getClass(value.type) : Promise.resolve(undefined)),
|
|
174
198
|
(value.settings ? parseSettings(root, value.settings, refs) : Promise.resolve(undefined)),
|
|
175
199
|
(value.properties ? parseProperties(root, value.properties, refs) : Promise.resolve(undefined)),
|
|
176
200
|
(value.children ? parseArray(root, value.children, refs) : Promise.resolve(undefined)),
|
|
177
201
|
])];
|
|
178
|
-
case
|
|
179
|
-
|
|
202
|
+
case 12:
|
|
203
|
+
_f = __read.apply(void 0, [_h.sent(), 4]), construct = _f[0], settings = _f[1], properties = _f[2], children = _f[3];
|
|
180
204
|
return [2 /*return*/, {
|
|
181
205
|
isValue: false,
|
|
182
206
|
type: value.type,
|
|
@@ -187,8 +211,8 @@ function parseValue(root, value, refs) {
|
|
|
187
211
|
properties: properties,
|
|
188
212
|
value: value,
|
|
189
213
|
}];
|
|
190
|
-
case
|
|
191
|
-
case
|
|
214
|
+
case 13: return [3 /*break*/, 15];
|
|
215
|
+
case 14:
|
|
192
216
|
if ($type.isString(value)) {
|
|
193
217
|
if (value[0] === "#") {
|
|
194
218
|
ref = value.slice(1);
|
|
@@ -218,8 +242,8 @@ function parseValue(root, value, refs) {
|
|
|
218
242
|
value: value,
|
|
219
243
|
}];
|
|
220
244
|
}
|
|
221
|
-
|
|
222
|
-
case
|
|
245
|
+
_h.label = 15;
|
|
246
|
+
case 15: return [2 /*return*/];
|
|
223
247
|
}
|
|
224
248
|
});
|
|
225
249
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport { Entity } from \"../../core/util/Entity\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n [key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n return $type.isObject(value);\n}\n\n\nasync function getClass(name: string): Promise<typeof Entity> {\n const promise = classes[name as keyof IClasses];\n return await promise() as typeof Entity;\n}\n\n\nfunction parseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Promise<any> {\n return Promise.all($array.map(value, (value) => parseType(root, value, refs)));\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n let i = refs.length;\n\n while (i--) {\n const sub = refs[i];\n\n if (name in sub) {\n return sub[name];\n }\n }\n\n throw new Error(\"Could not find ref #\" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n key: keyof E[\"_settings\"],\n callback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: Entity) => void>;\n\ninterface IParsedEntity<E extends Entity> {\n isValue: false,\n type: string | undefined,\n construct: typeof Entity | undefined,\n settings: object | undefined,\n adapters: Array<IAdapter<E>> | undefined,\n children: Array<Sprite> | undefined,\n properties: IParsedProperties | undefined,\n value: object,\n}\n\ntype IParsed<E extends Entity>\n = IParsedEntity<E>\n | { isValue: true, value: any };\n\n\nasync function parseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): Promise<E[\"_settings\"]> {\n const settings: { [key: string]: any } = {};\n\n await Promise.all($array.map($object.keys(object), async (key) => {\n settings[key] = await parseType(root, object[key], refs);\n }));\n\n return settings;\n}\n\n\nasync function parseProperties(root: Root, object: object, refs: Array<IRef>): Promise<IParsedProperties> {\n return await Promise.all($array.map($object.keys(object), async (key) => {\n const parsed = await parseValue(root, object[key], refs);\n\n return (entity: Entity) => {\n const old = entity[key] as unknown;\n\n if (old && old instanceof Entity) {\n // TODO merge it if the value is an Entity\n if (parsed.isValue) {\n throw new Error(\"Cannot merge value into Entity\");\n }\n\n if (parsed.settings) {\n old.setAll(parsed.settings);\n }\n\n mergeEntity(old, parsed);\n\n } else if (parsed.isValue) {\n // Merge Array into List\n if (old && $type.isArray(parsed.value)) {\n $array.each(parsed.value, (value) => {\n (old as any).push(value);\n });\n\n } else {\n // TODO merge it if the value is an Entity\n (entity as any)[key] = parsed.value;\n }\n\n } else {\n (entity as any)[key] = constructEntity(root, parsed);\n }\n };\n }));\n}\n\n\nasync function parseRefs(root: Root, object: { [key: string]: any }, refs: Array<IRef>): Promise<IRef> {\n const newRefs: IRef = {};\n\n await Promise.all($array.map($object.keys(object), async (key) => {\n newRefs[key] = await parseType(root, object[key], refs);\n }));\n\n return newRefs;\n}\n\n\nasync function parseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): Promise<IParsed<E>> {\n if ($type.isArray(value)) {\n return {\n isValue: true,\n value: await parseArray(root, value, refs),\n };\n\n } else if (isObject(value)) {\n if (value.type === \"Color\") {\n return {\n isValue: true,\n value: Color.fromAny(value.value),\n };\n\n } else {\n if (value.refs) {\n refs = refs.concat([await parseRefs(root, value.refs, refs)]);\n }\n\n const [construct, settings, properties, children] = await Promise.all([\n (value.type ? getClass(value.type) : Promise.resolve(undefined)),\n (value.settings ? parseSettings(root, value.settings, refs) : Promise.resolve(undefined)),\n (value.properties ? parseProperties(root, value.properties, refs) : Promise.resolve(undefined)),\n (value.children ? parseArray(root, value.children, refs) : Promise.resolve(undefined)),\n ]);\n\n return {\n isValue: false,\n type: value.type,\n construct,\n settings,\n adapters: value.adapters,\n children,\n properties,\n value,\n };\n }\n\n } else if ($type.isString(value)) {\n if (value[0] === \"#\") {\n const ref = value.slice(1);\n\n if (value[1] === \"#\") {\n return {\n isValue: true,\n value: ref,\n };\n\n } else {\n return {\n isValue: true,\n value: lookupRef(refs, ref),\n };\n }\n\n } else {\n return {\n isValue: true,\n value,\n };\n }\n\n } else {\n return {\n isValue: true,\n value,\n };\n }\n}\n\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n if (parsed.adapters) {\n $array.each(parsed.adapters, (adapter) => {\n entity.adapters.add(adapter.key, adapter.callback);\n });\n }\n\n if (parsed.properties) {\n $array.each(parsed.properties, (fn) => {\n fn(entity);\n });\n }\n\n if (entity instanceof Container) {\n if (parsed.children) {\n entity.children.setAll(parsed.children);\n }\n }\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n if (!parsed.construct) {\n return parsed.value;\n }\n\n const entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n mergeEntity(entity, parsed);\n\n return entity;\n}\n\n\nasync function parseType(root: Root, value: unknown, refs: Array<IRef>): Promise<any> {\n const parsed = await parseValue(root, value, refs);\n\n if (parsed.isValue) {\n return parsed.value;\n\n } else {\n return constructEntity(root, parsed);\n }\n}\n\n\nexport class JsonParser {\n async parse<E extends Entity>(root: Root, object: unknown): Promise<E> {\n return parseType(root, object, []);\n }\n\n async parseString<E extends Entity>(root: Root, string: string): Promise<E> {\n return await this.parse(root, JSON.parse(string));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { Sprite } from \"../../core/render/Sprite\";\nimport { Entity } from \"../../core/util/Entity\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Template } from \"../../core/util/Template\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n [key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n return $type.isObject(value);\n}\n\n\nasync function getClass(name: string): Promise<typeof Entity> {\n const promise = classes[name as keyof IClasses];\n return await promise() as typeof Entity;\n}\n\n\nfunction parseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Promise<any> {\n return Promise.all($array.map(value, (value) => parseType(root, value, refs)));\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n let i = refs.length;\n\n while (i--) {\n const sub = refs[i];\n\n if (name in sub) {\n return sub[name];\n }\n }\n\n throw new Error(\"Could not find ref #\" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n key: keyof E[\"_settings\"],\n callback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: Entity) => void>;\n\ninterface IParsedEntity<E extends Entity> {\n isValue: false,\n type: string | undefined,\n construct: typeof Entity | undefined,\n settings: object | undefined,\n adapters: Array<IAdapter<E>> | undefined,\n children: Array<Sprite> | undefined,\n properties: IParsedProperties | undefined,\n value: object,\n}\n\ntype IParsed<E extends Entity>\n = IParsedEntity<E>\n | { isValue: true, value: any };\n\n\nasync function parseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): Promise<E[\"_settings\"]> {\n const settings: { [key: string]: any } = {};\n\n await Promise.all($array.map($object.keys(object), async (key) => {\n settings[key] = await parseType(root, object[key], refs);\n }));\n\n return settings;\n}\n\n\nasync function parseProperties(root: Root, object: object, refs: Array<IRef>): Promise<IParsedProperties> {\n return await Promise.all($array.map($object.keys(object), async (key) => {\n const parsed = await parseValue(root, object[key], refs);\n\n return (entity: Entity) => {\n const old = entity[key] as unknown;\n\n if (old && old instanceof Entity) {\n // TODO merge it if the value is an Entity\n if (parsed.isValue) {\n throw new Error(\"Cannot merge value into Entity\");\n }\n\n if (parsed.settings) {\n old.setAll(parsed.settings);\n }\n\n mergeEntity(old, parsed);\n\n } else if (parsed.isValue) {\n // Merge Array into List\n if (old && $type.isArray(parsed.value)) {\n $array.each(parsed.value, (value) => {\n (old as any).push(value);\n });\n\n } else {\n // TODO merge it if the value is an Entity\n (entity as any)[key] = parsed.value;\n }\n\n } else {\n (entity as any)[key] = constructEntity(root, parsed);\n }\n };\n }));\n}\n\n\nasync function parseRefs(root: Root, object: { [key: string]: any }, refs: Array<IRef>): Promise<IRef> {\n const newRefs: IRef = {};\n\n await Promise.all($array.map($object.keys(object), async (key) => {\n newRefs[key] = await parseType(root, object[key], refs);\n }));\n\n return newRefs;\n}\n\n\nasync function parseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): Promise<IParsed<E>> {\n if ($type.isArray(value)) {\n return {\n isValue: true,\n value: await parseArray(root, value, refs),\n };\n\n } else if (isObject(value)) {\n if (value.type === \"Color\") {\n return {\n isValue: true,\n value: Color.fromAny(value.value),\n };\n\n } else if (value.type === \"Template\") {\n if (value.refs) {\n refs = refs.concat([await parseRefs(root, value.refs, refs)]);\n }\n\n const settings = (value.settings ? await parseSettings(root, value.settings, refs) : {});\n\n return {\n isValue: true,\n value: Template.new(settings),\n };\n\n } else {\n if (value.refs) {\n refs = refs.concat([await parseRefs(root, value.refs, refs)]);\n }\n\n const [construct, settings, properties, children] = await Promise.all([\n (value.type ? getClass(value.type) : Promise.resolve(undefined)),\n (value.settings ? parseSettings(root, value.settings, refs) : Promise.resolve(undefined)),\n (value.properties ? parseProperties(root, value.properties, refs) : Promise.resolve(undefined)),\n (value.children ? parseArray(root, value.children, refs) : Promise.resolve(undefined)),\n ]);\n\n return {\n isValue: false,\n type: value.type,\n construct,\n settings,\n adapters: value.adapters,\n children,\n properties,\n value,\n };\n }\n\n } else if ($type.isString(value)) {\n if (value[0] === \"#\") {\n const ref = value.slice(1);\n\n if (value[1] === \"#\") {\n return {\n isValue: true,\n value: ref,\n };\n\n } else {\n return {\n isValue: true,\n value: lookupRef(refs, ref),\n };\n }\n\n } else {\n return {\n isValue: true,\n value,\n };\n }\n\n } else {\n return {\n isValue: true,\n value,\n };\n }\n}\n\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n if (parsed.adapters) {\n $array.each(parsed.adapters, (adapter) => {\n entity.adapters.add(adapter.key, adapter.callback);\n });\n }\n\n if (parsed.properties) {\n $array.each(parsed.properties, (fn) => {\n fn(entity);\n });\n }\n\n if (entity instanceof Container) {\n if (parsed.children) {\n entity.children.setAll(parsed.children);\n }\n }\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n if (!parsed.construct) {\n return parsed.value;\n }\n\n const entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n mergeEntity(entity, parsed);\n\n return entity;\n}\n\n\nasync function parseType(root: Root, value: unknown, refs: Array<IRef>): Promise<any> {\n const parsed = await parseValue(root, value, refs);\n\n if (parsed.isValue) {\n return parsed.value;\n\n } else {\n return constructEntity(root, parsed);\n }\n}\n\n\nexport class JsonParser {\n async parse<E extends Entity>(root: Root, object: unknown): Promise<E> {\n return parseType(root, object, []);\n }\n\n async parseString<E extends Entity>(root: Root, string: string): Promise<E> {\n return await this.parse(root, JSON.parse(string));\n }\n}\n"]}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
|
|
5
5
|
Please note, that this project, while following numbering syntax, it DOES NOT
|
|
6
6
|
adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
|
|
7
7
|
|
|
8
|
+
## [5.1.14] - 2022-04-22
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- `ValueAxis` with a logarithmic scale was not showing some of the labels in some specific cases.
|
|
12
|
+
- Moved `zoomOutButton` of `XYChart` to `topPlotContainer` to solve unwanted zoom when cursor's `snapToSeries` was set.
|
|
13
|
+
- Initially-hidden series legend markers were not being dimmed out unless Animated theme was in use.
|
|
14
|
+
- When whole series was out of selected scope, its last or first value (depending on seleciton) was still included when calculating min and max, causing chart not to adjust min/max values to a visible series scope.
|
|
15
|
+
- `Annotator` was not disabling chart interactivite when activated in Firefox.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [5.1.13] - 2022-04-15
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- `useLastColorForLegendMarker` setting added to `BaseColumnSeries` (applicable to all column-based series like `ColumnSeries`, `CandlestickSeries`)
|
|
22
|
+
- `geodataNames` setting added to `MapSeries`. Allows setting translations to map features, e.g. countries. [More info](https://www.amcharts.com/docs/v5/charts/map-chart/map-translations/).
|
|
23
|
+
- Read-only private setting `gridInterval` added to `DateAxis`.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- If geoJSON contained multipolygons with just one polygon, hovering over polygon was resulting in a JS error.
|
|
27
|
+
- `DateAxis` displayed wrong time when time was switching to DST, when a timezone was set on a `Root` element.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [5.1.12] - 2022-04-07
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Rounding a Date during daylight saving hour could produce incorrect result in some specific cases.
|
|
34
|
+
|
|
35
|
+
|
|
8
36
|
## [5.1.11] - 2022-04-06
|
|
9
37
|
|
|
10
38
|
### Added
|