@luzmo/dashboard-contents-types 1.0.42 → 1.0.43
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/CHANGELOG.md +6 -0
- package/area-chart/area-chart-options.config.cjs +1 -1
- package/area-chart/area-chart-options.config.cjs.map +1 -1
- package/area-chart/area-chart-options.config.js +12 -7
- package/area-chart/area-chart-options.config.js.map +1 -1
- package/bar-chart/bar-chart-options.config.cjs +1 -1
- package/bar-chart/bar-chart-options.config.cjs.map +1 -1
- package/bar-chart/bar-chart-options.config.js +12 -10
- package/bar-chart/bar-chart-options.config.js.map +1 -1
- package/box-plot/box-plot-options.config.cjs +1 -1
- package/box-plot/box-plot-options.config.cjs.map +1 -1
- package/box-plot/box-plot-options.config.js +24 -19
- package/box-plot/box-plot-options.config.js.map +1 -1
- package/bubble-chart/bubble-chart-options.config.cjs +1 -1
- package/bubble-chart/bubble-chart-options.config.cjs.map +1 -1
- package/bubble-chart/bubble-chart-options.config.js +9 -7
- package/bubble-chart/bubble-chart-options.config.js.map +1 -1
- package/choropleth-map/choropleth-map-options.config.cjs +1 -1
- package/choropleth-map/choropleth-map-options.config.cjs.map +1 -1
- package/choropleth-map/choropleth-map-options.config.js +32 -30
- package/choropleth-map/choropleth-map-options.config.js.map +1 -1
- package/circle-pack-chart/circle-pack-chart-options.config.cjs +1 -1
- package/circle-pack-chart/circle-pack-chart-options.config.cjs.map +1 -1
- package/circle-pack-chart/circle-pack-chart-options.config.js +36 -31
- package/circle-pack-chart/circle-pack-chart-options.config.js.map +1 -1
- package/column-chart/column-chart-options.config.cjs +1 -1
- package/column-chart/column-chart-options.config.cjs.map +1 -1
- package/column-chart/column-chart-options.config.js +12 -10
- package/column-chart/column-chart-options.config.js.map +1 -1
- package/combination-chart/combination-chart-options.config.cjs +1 -1
- package/combination-chart/combination-chart-options.config.cjs.map +1 -1
- package/combination-chart/combination-chart-options.config.js +8 -3
- package/combination-chart/combination-chart-options.config.js.map +1 -1
- package/donut-chart/donut-chart-options.config.cjs +1 -1
- package/donut-chart/donut-chart-options.config.cjs.map +1 -1
- package/donut-chart/donut-chart-options.config.js +8 -4
- package/donut-chart/donut-chart-options.config.js.map +1 -1
- package/funnel-chart/funnel-chart-options.config.cjs +1 -1
- package/funnel-chart/funnel-chart-options.config.cjs.map +1 -1
- package/funnel-chart/funnel-chart-options.config.js +5 -3
- package/funnel-chart/funnel-chart-options.config.js.map +1 -1
- package/heat-table/heat-table-options.config.cjs +1 -1
- package/heat-table/heat-table-options.config.cjs.map +1 -1
- package/heat-table/heat-table-options.config.js +21 -19
- package/heat-table/heat-table-options.config.js.map +1 -1
- package/index.cjs +1 -1
- package/index.js +192 -191
- package/line-chart/line-chart-options.config.cjs +1 -1
- package/line-chart/line-chart-options.config.cjs.map +1 -1
- package/line-chart/line-chart-options.config.js +10 -5
- package/line-chart/line-chart-options.config.js.map +1 -1
- package/ohlc-chart/ohlc-chart-options.config.cjs +1 -1
- package/ohlc-chart/ohlc-chart-options.config.cjs.map +1 -1
- package/ohlc-chart/ohlc-chart-options.config.js +8 -3
- package/ohlc-chart/ohlc-chart-options.config.js.map +1 -1
- package/package.json +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.cjs +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.cjs.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.js +2 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.js.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.cjs +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.cjs.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.js +2 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.js.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.cjs +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.cjs.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.js +2 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.js.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.cjs +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.cjs.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.js +2 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.js.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.cjs +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.cjs.map +1 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.js +2 -1
- package/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.js.map +1 -1
- package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.cjs +1 -1
- package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.cjs.map +1 -1
- package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.js +25 -20
- package/parallel-coordinates-plot/parallel-coordinates-plot-options.config.js.map +1 -1
- package/pivot-table/pivot-table-options.config.cjs +1 -1
- package/pivot-table/pivot-table-options.config.cjs.map +1 -1
- package/pivot-table/pivot-table-options.config.js +5 -3
- package/pivot-table/pivot-table-options.config.js.map +1 -1
- package/pyramid-chart/pyramid-chart-options.config.cjs +1 -1
- package/pyramid-chart/pyramid-chart-options.config.cjs.map +1 -1
- package/pyramid-chart/pyramid-chart-options.config.js +5 -3
- package/pyramid-chart/pyramid-chart-options.config.js.map +1 -1
- package/sankey-diagram/sankey-diagram-options.config.cjs +1 -1
- package/sankey-diagram/sankey-diagram-options.config.cjs.map +1 -1
- package/sankey-diagram/sankey-diagram-options.config.js +5 -3
- package/sankey-diagram/sankey-diagram-options.config.js.map +1 -1
- package/scatter-plot/scatter-plot-options.config.cjs +1 -1
- package/scatter-plot/scatter-plot-options.config.cjs.map +1 -1
- package/scatter-plot/scatter-plot-options.config.js +10 -5
- package/scatter-plot/scatter-plot-options.config.js.map +1 -1
- package/shared/utils/interactivity-options.config.cjs +2 -0
- package/shared/utils/interactivity-options.config.cjs.map +1 -0
- package/shared/utils/interactivity-options.config.js +56 -0
- package/shared/utils/interactivity-options.config.js.map +1 -0
- package/shared/utils/interactivity-options.i18n.cjs +2 -0
- package/shared/utils/interactivity-options.i18n.cjs.map +1 -0
- package/shared/utils/interactivity-options.i18n.js +42 -0
- package/shared/utils/interactivity-options.i18n.js.map +1 -0
- package/shared/utils/options-loader.cjs +1 -1
- package/shared/utils/options-loader.cjs.map +1 -1
- package/shared/utils/options-loader.js +11 -11
- package/shared/utils/options-loader.js.map +1 -1
- package/src/lib/area-chart/area-chart-options.config.d.ts.map +1 -1
- package/src/lib/bar-chart/bar-chart-options.config.d.ts.map +1 -1
- package/src/lib/box-plot/box-plot-options.config.d.ts.map +1 -1
- package/src/lib/bubble-chart/bubble-chart-options.config.d.ts.map +1 -1
- package/src/lib/choropleth-map/choropleth-map-options.config.d.ts.map +1 -1
- package/src/lib/circle-pack-chart/circle-pack-chart-options.config.d.ts.map +1 -1
- package/src/lib/column-chart/column-chart-options.config.d.ts.map +1 -1
- package/src/lib/combination-chart/combination-chart-options.config.d.ts.map +1 -1
- package/src/lib/donut-chart/donut-chart-options.config.d.ts.map +1 -1
- package/src/lib/funnel-chart/funnel-chart-options.config.d.ts.map +1 -1
- package/src/lib/heat-table/heat-table-options.config.d.ts.map +1 -1
- package/src/lib/line-chart/line-chart-options.config.d.ts.map +1 -1
- package/src/lib/ohlc-chart/ohlc-chart-options.config.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.d.ts +3 -0
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.de.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.d.ts +3 -0
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.en.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.d.ts +3 -0
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.es.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.d.ts +3 -0
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.fr.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.d.ts +3 -0
- package/src/lib/parallel-coordinates-plot/i18n/parallel-coordinates-plot-options.nl.d.ts.map +1 -1
- package/src/lib/parallel-coordinates-plot/parallel-coordinates-plot-options.config.d.ts.map +1 -1
- package/src/lib/pivot-table/pivot-table-options.config.d.ts.map +1 -1
- package/src/lib/pyramid-chart/pyramid-chart-options.config.d.ts.map +1 -1
- package/src/lib/sankey-diagram/sankey-diagram-options.config.d.ts.map +1 -1
- package/src/lib/scatter-plot/scatter-plot-options.config.d.ts.map +1 -1
- package/src/lib/shared/utils/index.d.ts +1 -0
- package/src/lib/shared/utils/index.d.ts.map +1 -1
- package/src/lib/shared/utils/interactivity-options.config.d.ts +15 -0
- package/src/lib/shared/utils/interactivity-options.config.d.ts.map +1 -0
- package/src/lib/shared/utils/interactivity-options.i18n.d.ts +3 -0
- package/src/lib/shared/utils/interactivity-options.i18n.d.ts.map +1 -0
- package/src/lib/sunburst-chart/sunburst-chart-options.config.d.ts.map +1 -1
- package/src/lib/treemap-chart/treemap-chart-options.config.d.ts.map +1 -1
- package/src/lib/wordcloud-chart/wordcloud-chart-options.config.d.ts.map +1 -1
- package/sunburst-chart/sunburst-chart-options.config.cjs +1 -1
- package/sunburst-chart/sunburst-chart-options.config.cjs.map +1 -1
- package/sunburst-chart/sunburst-chart-options.config.js +5 -3
- package/sunburst-chart/sunburst-chart-options.config.js.map +1 -1
- package/treemap-chart/treemap-chart-options.config.cjs +1 -1
- package/treemap-chart/treemap-chart-options.config.cjs.map +1 -1
- package/treemap-chart/treemap-chart-options.config.js +10 -8
- package/treemap-chart/treemap-chart-options.config.js.map +1 -1
- package/wordcloud-chart/wordcloud-chart-options.config.cjs +1 -1
- package/wordcloud-chart/wordcloud-chart-options.config.cjs.map +1 -1
- package/wordcloud-chart/wordcloud-chart-options.config.js +5 -3
- package/wordcloud-chart/wordcloud-chart-options.config.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pyramid-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/pyramid-chart/pyramid-chart-options.config.ts"],"sourcesContent":["import { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { PyramidChartViewOptions } from './pyramid-chart-options';\n\ntype PyramidChartConfigContext = OptionsConfigContext<PyramidChartViewOptions>;\n\nconst pyramidChartOptionsConfig: OptionsConfig<PyramidChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n }\n },\n // TODO adapt so we can use arrays OR with virtual controls with side effects\n /* {\n key: 'bars.colors[0]',\n control: {\n type: 'color-picker',\n label: 'Left bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[0]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[0]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[0]'\n )\n }\n },\n {\n key: 'bars.colors[1]',\n control: {\n type: 'color-picker',\n label: 'Right bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[1]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[1]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[1]'\n )\n }\n }, */\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'internalPadding',\n control: {\n type: 'slider',\n label: 'Internal padding',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.padding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number') {\n return null;\n }\n\n if (typeof options?.internalPadding !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number' || typeof options?.internalPadding !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.internalPadding;\n\n return { value: null, options: newOptions };\n }\n }\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Ordering',\n default: 'category',\n enum: ['category', 'column', 'leftbar', 'rightbar', 'measure']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<PyramidChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, color: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.legend?.customOrder === true\n }\n ]\n },\n createInfoTooltipOptionsGroup<PyramidChartConfigContext>()\n];\n\nexport default pyramidChartOptionsConfig;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pyramid-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/pyramid-chart/pyramid-chart-options.config.ts"],"sourcesContent":["import { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { PyramidChartViewOptions } from './pyramid-chart-options';\n\ntype PyramidChartConfigContext = OptionsConfigContext<PyramidChartViewOptions>;\n\nconst pyramidChartOptionsConfig: OptionsConfig<PyramidChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n }\n },\n // TODO adapt so we can use arrays OR with virtual controls with side effects\n /* {\n key: 'bars.colors[0]',\n control: {\n type: 'color-picker',\n label: 'Left bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[0]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[0]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[0]'\n )\n }\n },\n {\n key: 'bars.colors[1]',\n control: {\n type: 'color-picker',\n label: 'Right bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[1]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[1]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[1]'\n )\n }\n }, */\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'internalPadding',\n control: {\n type: 'slider',\n label: 'Internal padding',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.padding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number') {\n return null;\n }\n\n if (typeof options?.internalPadding !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number' || typeof options?.internalPadding !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.internalPadding;\n\n return { value: null, options: newOptions };\n }\n }\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Ordering',\n default: 'category',\n enum: ['category', 'column', 'leftbar', 'rightbar', 'measure']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<PyramidChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, color: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.legend?.customOrder === true\n }\n ]\n },\n createInfoTooltipOptionsGroup<PyramidChartConfigContext>(),\n createInteractivityOptionsGroup<PyramidChartConfigContext>({ select: { default: true } })\n];\n\nexport default pyramidChartOptionsConfig;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { createAxesOptionsGroup as e } from "../shared/utils/axis-options.config.js";
|
|
2
2
|
import { createInfoTooltipOptionsGroup as t } from "../shared/utils/info-tooltip-options.config.js";
|
|
3
|
+
import { createInteractivityOptionsGroup as n } from "../shared/utils/interactivity-options.config.js";
|
|
3
4
|
//#region src/lib/pyramid-chart/pyramid-chart-options.config.ts
|
|
4
|
-
var
|
|
5
|
+
var r = [
|
|
5
6
|
{
|
|
6
7
|
key: "general",
|
|
7
8
|
type: "group",
|
|
@@ -192,9 +193,10 @@ var n = [
|
|
|
192
193
|
}
|
|
193
194
|
]
|
|
194
195
|
},
|
|
195
|
-
t()
|
|
196
|
+
t(),
|
|
197
|
+
n({ select: { default: !0 } })
|
|
196
198
|
];
|
|
197
199
|
//#endregion
|
|
198
|
-
export {
|
|
200
|
+
export { r as default };
|
|
199
201
|
|
|
200
202
|
//# sourceMappingURL=pyramid-chart-options.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pyramid-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/pyramid-chart/pyramid-chart-options.config.ts"],"sourcesContent":["import { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { PyramidChartViewOptions } from './pyramid-chart-options';\n\ntype PyramidChartConfigContext = OptionsConfigContext<PyramidChartViewOptions>;\n\nconst pyramidChartOptionsConfig: OptionsConfig<PyramidChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n }\n },\n // TODO adapt so we can use arrays OR with virtual controls with side effects\n /* {\n key: 'bars.colors[0]',\n control: {\n type: 'color-picker',\n label: 'Left bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[0]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[0]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[0]'\n )\n }\n },\n {\n key: 'bars.colors[1]',\n control: {\n type: 'color-picker',\n label: 'Right bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[1]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[1]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[1]'\n )\n }\n }, */\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'internalPadding',\n control: {\n type: 'slider',\n label: 'Internal padding',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.padding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number') {\n return null;\n }\n\n if (typeof options?.internalPadding !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number' || typeof options?.internalPadding !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.internalPadding;\n\n return { value: null, options: newOptions };\n }\n }\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Ordering',\n default: 'category',\n enum: ['category', 'column', 'leftbar', 'rightbar', 'measure']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<PyramidChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, color: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.legend?.customOrder === true\n }\n ]\n },\n createInfoTooltipOptionsGroup<PyramidChartConfigContext>()\n];\n\nexport default pyramidChartOptionsConfig;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pyramid-chart-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/pyramid-chart/pyramid-chart-options.config.ts"],"sourcesContent":["import { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { PyramidChartViewOptions } from './pyramid-chart-options';\n\ntype PyramidChartConfigContext = OptionsConfigContext<PyramidChartViewOptions>;\n\nconst pyramidChartOptionsConfig: OptionsConfig<PyramidChartConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n }\n },\n // TODO adapt so we can use arrays OR with virtual controls with side effects\n /* {\n key: 'bars.colors[0]',\n control: {\n type: 'color-picker',\n label: 'Left bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[0]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[0]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[0]'\n )\n }\n },\n {\n key: 'bars.colors[1]',\n control: {\n type: 'color-picker',\n label: 'Right bar color',\n default: ({ theme }: PyramidChartConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'bars.colors[1]'),\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(\n options,\n theme,\n 'bars.colors[1]'\n ),\n extraLabelClickAction: ({ options, theme }: PyramidChartConfigContext) =>\n getThemeMainColorExtraLabelClickAction(\n options,\n theme,\n 'bars.colors[1]'\n )\n }\n }, */\n {\n key: 'roundedCorners',\n control: {\n type: 'slider',\n label: 'Rounded corners',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.rounding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number') {\n return null;\n }\n\n if (typeof options?.roundedCorners !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.rounding !== 'number' || typeof options?.roundedCorners !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.roundedCorners;\n\n return { value: null, options: newOptions };\n }\n }\n },\n {\n key: 'internalPadding',\n control: {\n type: 'slider',\n label: 'Internal padding',\n default: ({ theme }: PyramidChartConfigContext) => theme?.itemSpecific?.padding,\n min: 0,\n max: 20,\n step: 1,\n extraLabel: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number') {\n return null;\n }\n\n if (typeof options?.internalPadding !== 'number') {\n return 'auto';\n }\n\n return 'reset';\n },\n extraLabelHasClickAction: ({ options, theme }: PyramidChartConfigContext) => {\n if (typeof theme?.itemSpecific?.padding !== 'number' || typeof options?.internalPadding !== 'number') {\n return false;\n }\n\n return true;\n },\n extraLabelClickAction: ({ options }: PyramidChartConfigContext) => {\n const newOptions = { ...options };\n\n delete newOptions.internalPadding;\n\n return { value: null, options: newOptions };\n }\n }\n }\n ]\n },\n {\n key: 'order',\n type: 'group',\n label: 'Order & Limit',\n open: true,\n children: [\n {\n key: 'ranking.active',\n control: {\n type: 'switch',\n label: 'Limit to',\n default: false\n }\n },\n {\n key: 'ranking.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'top',\n enum: ['top', 'bottom']\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'ranking.number',\n control: {\n type: 'number-field',\n label: 'Number',\n default: 10,\n min: 1,\n max: 999999\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.ranking?.active === true\n },\n {\n key: 'sort.by',\n control: {\n type: 'picker',\n label: 'Ordering',\n default: 'category',\n enum: ['category', 'column', 'leftbar', 'rightbar', 'measure']\n }\n },\n {\n key: 'sort.direction',\n control: {\n type: 'picker',\n label: 'Direction',\n default: 'desc',\n enum: ['asc', 'desc']\n }\n },\n {\n key: 'limit.number',\n control: {\n type: 'number-field',\n label: 'Limit',\n default: 100000,\n min: 1,\n max: 100000\n }\n }\n ]\n },\n createAxesOptionsGroup<PyramidChartConfigContext>([\n { axis: 'x', role: 'measure', scale: true, color: true, tickDensity: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'category', color: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: PyramidChartConfigContext) => options?.legend?.customOrder === true\n }\n ]\n },\n createInfoTooltipOptionsGroup<PyramidChartConfigContext>(),\n createInteractivityOptionsGroup<PyramidChartConfigContext>({ select: { default: true } })\n];\n\nexport default pyramidChartOptionsConfig;\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../helpers.cjs");var
|
|
1
|
+
const e=require("../helpers.cjs"),t=require("../shared/utils/info-tooltip-options.config.cjs"),n=require("../shared/utils/interactivity-options.config.cjs");var r=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!0}},{key:`alignment`,control:{type:`picker`,label:`Node alignment`,default:`justify`,enum:[`justify`,`left`,`right`,`center`]}}]},{key:`nodes`,type:`group`,open:!0,children:[{key:`nodeSorting`,control:{type:`picker`,label:`Sorting`,default:`default`,enum:[`default`,`asc`,`desc`]}},{key:`labels.display`,control:{type:`switch`,label:`Show node label`,default:!0}},{key:`labels.value`,control:{type:`switch`,label:`Show node value`,default:!1}},{key:`colors.byCategory`,control:{type:`switch`,label:`Use node category color`,default:!0}},{key:`colors.nodeColor`,control:{type:`color-picker`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`colors.nodeColor`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`colors.nodeColor`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`colors.nodeColor`)},visibleIf:({options:e})=>e?.colors?.byCategory===!1}]},{key:`links`,type:`group`,open:!0,children:[{key:`colors.linkColor`,control:{type:`picker`,label:`Color`,default:`gradient`,enum:[`gradient`,`source`,`target`,`none`]}}]},t.createInfoTooltipOptionsGroup(),n.createInteractivityOptionsGroup({select:{default:!0}})];exports.default=r;
|
|
2
2
|
//# sourceMappingURL=sankey-diagram-options.config.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sankey-diagram-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/sankey-diagram/sankey-diagram-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SankeyDiagramViewOptions } from './sankey-diagram-options';\n\ntype SankeyDiagramConfigContext = OptionsConfigContext<SankeyDiagramViewOptions>;\n\nconst sankeyDiagramOptionsConfig: OptionsConfig<SankeyDiagramConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'alignment',\n control: {\n type: 'picker',\n label: 'Node alignment',\n default: 'justify',\n enum: ['justify', 'left', 'right', 'center']\n }\n }\n ]\n },\n {\n key: 'nodes',\n type: 'group',\n open: true,\n children: [\n {\n key: 'nodeSorting',\n control: {\n type: 'picker',\n label: 'Sorting',\n default: 'default',\n enum: ['default', 'asc', 'desc']\n }\n },\n {\n key: 'labels.display',\n control: {\n type: 'switch',\n label: 'Show node label',\n default: true\n }\n },\n {\n key: 'labels.value',\n control: {\n type: 'switch',\n label: 'Show node value',\n default: false\n }\n },\n {\n key: 'colors.byCategory',\n control: {\n type: 'switch',\n label: 'Use node category color',\n default: true\n }\n },\n {\n key: 'colors.nodeColor',\n control: {\n type: 'color-picker',\n default: ({ theme }: SankeyDiagramConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'colors.nodeColor'),\n extraLabelHasClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'colors.nodeColor'),\n extraLabelClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'colors.nodeColor')\n },\n visibleIf: ({ options }: SankeyDiagramConfigContext) => options?.colors?.byCategory === false\n }\n ]\n },\n {\n key: 'links',\n type: 'group',\n open: true,\n children: [\n {\n key: 'colors.linkColor',\n control: {\n type: 'picker',\n label: 'Color',\n default: 'gradient',\n // TODO: make dependent of use node category color\n enum: ['gradient', 'source', 'target', 'none']\n }\n }\n ]\n },\n createInfoTooltipOptionsGroup<SankeyDiagramConfigContext>()\n];\n\nexport default sankeyDiagramOptionsConfig;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sankey-diagram-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/sankey-diagram/sankey-diagram-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SankeyDiagramViewOptions } from './sankey-diagram-options';\n\ntype SankeyDiagramConfigContext = OptionsConfigContext<SankeyDiagramViewOptions>;\n\nconst sankeyDiagramOptionsConfig: OptionsConfig<SankeyDiagramConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'alignment',\n control: {\n type: 'picker',\n label: 'Node alignment',\n default: 'justify',\n enum: ['justify', 'left', 'right', 'center']\n }\n }\n ]\n },\n {\n key: 'nodes',\n type: 'group',\n open: true,\n children: [\n {\n key: 'nodeSorting',\n control: {\n type: 'picker',\n label: 'Sorting',\n default: 'default',\n enum: ['default', 'asc', 'desc']\n }\n },\n {\n key: 'labels.display',\n control: {\n type: 'switch',\n label: 'Show node label',\n default: true\n }\n },\n {\n key: 'labels.value',\n control: {\n type: 'switch',\n label: 'Show node value',\n default: false\n }\n },\n {\n key: 'colors.byCategory',\n control: {\n type: 'switch',\n label: 'Use node category color',\n default: true\n }\n },\n {\n key: 'colors.nodeColor',\n control: {\n type: 'color-picker',\n default: ({ theme }: SankeyDiagramConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'colors.nodeColor'),\n extraLabelHasClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'colors.nodeColor'),\n extraLabelClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'colors.nodeColor')\n },\n visibleIf: ({ options }: SankeyDiagramConfigContext) => options?.colors?.byCategory === false\n }\n ]\n },\n {\n key: 'links',\n type: 'group',\n open: true,\n children: [\n {\n key: 'colors.linkColor',\n control: {\n type: 'picker',\n label: 'Color',\n default: 'gradient',\n // TODO: make dependent of use node category color\n enum: ['gradient', 'source', 'target', 'none']\n }\n }\n ]\n },\n createInfoTooltipOptionsGroup<SankeyDiagramConfigContext>(),\n createInteractivityOptionsGroup<SankeyDiagramConfigContext>({ select: { default: true } })\n];\n\nexport default sankeyDiagramOptionsConfig;\n"],"mappings":"6JAaA,IAAM,EAAwE,CAC5E,CACE,IAAK,UACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,gBACL,QAAS,CACP,KAAM,SACN,MAAO,QACP,QAAS,EACX,CACF,EACA,CACE,IAAK,YACL,QAAS,CACP,KAAM,SACN,MAAO,iBACP,QAAS,UACT,KAAM,CAAC,UAAW,OAAQ,QAAS,QAAQ,CAC7C,CACF,CACF,CACF,EACA,CACE,IAAK,QACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,cACL,QAAS,CACP,KAAM,SACN,MAAO,UACP,QAAS,UACT,KAAM,CAAC,UAAW,MAAO,MAAM,CACjC,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,kBACP,QAAS,EACX,CACF,EACA,CACE,IAAK,eACL,QAAS,CACP,KAAM,SACN,MAAO,kBACP,QAAS,EACX,CACF,EACA,CACE,IAAK,oBACL,QAAS,CACP,KAAM,SACN,MAAO,0BACP,QAAS,EACX,CACF,EACA,CACE,IAAK,mBACL,QAAS,CACP,KAAM,eACN,SAAU,CAAE,WAAwC,EAAA,kBAAkB,CAAK,EAC3E,YAAa,CAAE,UAAS,WACtB,EAAA,4BAA4B,EAAS,EAAO,kBAAkB,EAChE,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,kBAAkB,EAC9E,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,kBAAkB,CAC7E,EACA,WAAY,CAAE,aAA0C,GAAS,QAAQ,aAAe,EAC1F,CACF,CACF,EACA,CACE,IAAK,QACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,mBACL,QAAS,CACP,KAAM,SACN,MAAO,QACP,QAAS,WAET,KAAM,CAAC,WAAY,SAAU,SAAU,MAAM,CAC/C,CACF,CACF,CACF,EACA,EAAA,8BAA0D,EAC1D,EAAA,gCAA4D,CAAE,OAAQ,CAAE,QAAS,EAAK,CAAE,CAAC,CAC3F"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getThemeMainColor as e, getThemeMainColorExtraLabelClickAction as t, getThemeMainColorExtraLabelHasClickAction as n, getThemeMainColorResetLabel as r } from "../helpers.js";
|
|
2
2
|
import { createInfoTooltipOptionsGroup as i } from "../shared/utils/info-tooltip-options.config.js";
|
|
3
|
+
import { createInteractivityOptionsGroup as a } from "../shared/utils/interactivity-options.config.js";
|
|
3
4
|
//#region src/lib/sankey-diagram/sankey-diagram-options.config.ts
|
|
4
|
-
var
|
|
5
|
+
var o = [
|
|
5
6
|
{
|
|
6
7
|
key: "general",
|
|
7
8
|
type: "group",
|
|
@@ -102,9 +103,10 @@ var a = [
|
|
|
102
103
|
}
|
|
103
104
|
}]
|
|
104
105
|
},
|
|
105
|
-
i()
|
|
106
|
+
i(),
|
|
107
|
+
a({ select: { default: !0 } })
|
|
106
108
|
];
|
|
107
109
|
//#endregion
|
|
108
|
-
export {
|
|
110
|
+
export { o as default };
|
|
109
111
|
|
|
110
112
|
//# sourceMappingURL=sankey-diagram-options.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sankey-diagram-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/sankey-diagram/sankey-diagram-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SankeyDiagramViewOptions } from './sankey-diagram-options';\n\ntype SankeyDiagramConfigContext = OptionsConfigContext<SankeyDiagramViewOptions>;\n\nconst sankeyDiagramOptionsConfig: OptionsConfig<SankeyDiagramConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'alignment',\n control: {\n type: 'picker',\n label: 'Node alignment',\n default: 'justify',\n enum: ['justify', 'left', 'right', 'center']\n }\n }\n ]\n },\n {\n key: 'nodes',\n type: 'group',\n open: true,\n children: [\n {\n key: 'nodeSorting',\n control: {\n type: 'picker',\n label: 'Sorting',\n default: 'default',\n enum: ['default', 'asc', 'desc']\n }\n },\n {\n key: 'labels.display',\n control: {\n type: 'switch',\n label: 'Show node label',\n default: true\n }\n },\n {\n key: 'labels.value',\n control: {\n type: 'switch',\n label: 'Show node value',\n default: false\n }\n },\n {\n key: 'colors.byCategory',\n control: {\n type: 'switch',\n label: 'Use node category color',\n default: true\n }\n },\n {\n key: 'colors.nodeColor',\n control: {\n type: 'color-picker',\n default: ({ theme }: SankeyDiagramConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'colors.nodeColor'),\n extraLabelHasClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'colors.nodeColor'),\n extraLabelClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'colors.nodeColor')\n },\n visibleIf: ({ options }: SankeyDiagramConfigContext) => options?.colors?.byCategory === false\n }\n ]\n },\n {\n key: 'links',\n type: 'group',\n open: true,\n children: [\n {\n key: 'colors.linkColor',\n control: {\n type: 'picker',\n label: 'Color',\n default: 'gradient',\n // TODO: make dependent of use node category color\n enum: ['gradient', 'source', 'target', 'none']\n }\n }\n ]\n },\n createInfoTooltipOptionsGroup<SankeyDiagramConfigContext>()\n];\n\nexport default sankeyDiagramOptionsConfig;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sankey-diagram-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/sankey-diagram/sankey-diagram-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SankeyDiagramViewOptions } from './sankey-diagram-options';\n\ntype SankeyDiagramConfigContext = OptionsConfigContext<SankeyDiagramViewOptions>;\n\nconst sankeyDiagramOptionsConfig: OptionsConfig<SankeyDiagramConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'alignment',\n control: {\n type: 'picker',\n label: 'Node alignment',\n default: 'justify',\n enum: ['justify', 'left', 'right', 'center']\n }\n }\n ]\n },\n {\n key: 'nodes',\n type: 'group',\n open: true,\n children: [\n {\n key: 'nodeSorting',\n control: {\n type: 'picker',\n label: 'Sorting',\n default: 'default',\n enum: ['default', 'asc', 'desc']\n }\n },\n {\n key: 'labels.display',\n control: {\n type: 'switch',\n label: 'Show node label',\n default: true\n }\n },\n {\n key: 'labels.value',\n control: {\n type: 'switch',\n label: 'Show node value',\n default: false\n }\n },\n {\n key: 'colors.byCategory',\n control: {\n type: 'switch',\n label: 'Use node category color',\n default: true\n }\n },\n {\n key: 'colors.nodeColor',\n control: {\n type: 'color-picker',\n default: ({ theme }: SankeyDiagramConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorResetLabel(options, theme, 'colors.nodeColor'),\n extraLabelHasClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'colors.nodeColor'),\n extraLabelClickAction: ({ options, theme }: SankeyDiagramConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'colors.nodeColor')\n },\n visibleIf: ({ options }: SankeyDiagramConfigContext) => options?.colors?.byCategory === false\n }\n ]\n },\n {\n key: 'links',\n type: 'group',\n open: true,\n children: [\n {\n key: 'colors.linkColor',\n control: {\n type: 'picker',\n label: 'Color',\n default: 'gradient',\n // TODO: make dependent of use node category color\n enum: ['gradient', 'source', 'target', 'none']\n }\n }\n ]\n },\n createInfoTooltipOptionsGroup<SankeyDiagramConfigContext>(),\n createInteractivityOptionsGroup<SankeyDiagramConfigContext>({ select: { default: true } })\n];\n\nexport default sankeyDiagramOptionsConfig;\n"],"mappings":";;;;AAaA,IAAM,IAAwE;CAC5E;EACE,KAAK;EACL,MAAM;EACN,MAAM;EACN,UAAU,CACR;GACE,KAAK;GACL,SAAS;IACP,MAAM;IACN,OAAO;IACP,SAAS;GACX;EACF,GACA;GACE,KAAK;GACL,SAAS;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;KAAC;KAAW;KAAQ;KAAS;IAAQ;GAC7C;EACF,CACF;CACF;CACA;EACE,KAAK;EACL,MAAM;EACN,MAAM;EACN,UAAU;GACR;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;KACT,MAAM;MAAC;MAAW;MAAO;KAAM;IACjC;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;IACX;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;IACX;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;IACX;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,UAAU,EAAE,eAAwC,EAAkB,CAAK;KAC3E,aAAa,EAAE,YAAS,eACtB,EAA4B,GAAS,GAAO,kBAAkB;KAChE,2BAA2B,EAAE,YAAS,eACpC,EAA0C,GAAS,GAAO,kBAAkB;KAC9E,wBAAwB,EAAE,YAAS,eACjC,EAAuC,GAAS,GAAO,kBAAkB;IAC7E;IACA,YAAY,EAAE,iBAA0C,GAAS,QAAQ,eAAe;GAC1F;EACF;CACF;CACA;EACE,KAAK;EACL,MAAM;EACN,MAAM;EACN,UAAU,CACR;GACE,KAAK;GACL,SAAS;IACP,MAAM;IACN,OAAO;IACP,SAAS;IAET,MAAM;KAAC;KAAY;KAAU;KAAU;IAAM;GAC/C;EACF,CACF;CACF;CACA,EAA0D;CAC1D,EAA4D,EAAE,QAAQ,EAAE,SAAS,GAAK,EAAE,CAAC;AAC3F"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs");var
|
|
1
|
+
const e=require("../helpers.cjs"),t=require("../shared/utils/axis-options.config.cjs"),n=require("../shared/utils/guidelines-options.config.cjs"),r=require("../shared/utils/info-tooltip-options.config.cjs"),i=require("../shared/utils/interactivity-options.config.cjs");var a=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`color`)?.content?.length??0)>0:!1,o=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!0}},{key:`display.legend`,control:{type:`switch`,label:`Legend`,default:!0},visibleIf:a},{key:`color`,control:{type:`color-picker`,label:`Color`,default:({theme:t})=>e.getThemeMainColor(t),extraLabel:({options:t,theme:n})=>e.getThemeMainColorResetLabel(t,n,`color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelHasClickAction(t,n,`color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeMainColorExtraLabelClickAction(t,n,`color`)},visibleIf:({slots:e})=>Array.isArray(e)&&e?.length>0?e?.find(e=>e?.name===`color`)?.content?.length===0:!0}]},t.createAxesOptionsGroup([{axis:`x`,role:`numeric`,manualRange:{key:`manualAxesRange.x`},color:!0,label:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`numeric`,manualRange:{key:`manualAxesRange.y`},color:!0,label:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:a},n.createScatterGuidelinesOptionsGroup(),r.createInfoTooltipOptionsGroup(),i.createInteractivityOptionsGroup({brush:{default:!0,excludesClickActions:!0}})];exports.default=o;
|
|
2
2
|
//# sourceMappingURL=scatter-plot-options.config.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatter-plot-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/scatter-plot/scatter-plot-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createScatterGuidelinesOptionsGroup } from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { ScatterPlotViewOptions } from './scatter-plot-options';\nimport type { ScatterPlotSlots } from './scatter-plot-slots';\n\ntype ScatterPlotConfigContext = OptionsConfigContext<ScatterPlotViewOptions, ScatterPlotSlots>;\n\nconst hasColor = ({ slots }: Pick<ScatterPlotConfigContext, 'slots'>) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (slots?.find((slot) => slot?.name === 'color')?.content?.length ?? 0) > 0;\n }\n\n return false;\n};\n\nconst hasNoColor = ({ slots }: ScatterPlotConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return slots?.find((slot) => slot?.name === 'color')?.content?.length === 0;\n }\n\n return true;\n};\n\nconst scatterPlotOptionsConfig: OptionsConfig<ScatterPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n },\n visibleIf: hasColor\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: ScatterPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: ScatterPlotConfigContext) => getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoColor\n }\n ]\n },\n createAxesOptionsGroup<ScatterPlotConfigContext>([\n { axis: 'x', role: 'numeric', manualRange: { key: 'manualAxesRange.x' }, color: true, label: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'numeric', manualRange: { key: 'manualAxesRange.y' }, color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: ScatterPlotConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasColor\n },\n createScatterGuidelinesOptionsGroup(),\n createInfoTooltipOptionsGroup<ScatterPlotConfigContext>()\n];\n\nexport default scatterPlotOptionsConfig;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"scatter-plot-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/scatter-plot/scatter-plot-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createScatterGuidelinesOptionsGroup } from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { ScatterPlotViewOptions } from './scatter-plot-options';\nimport type { ScatterPlotSlots } from './scatter-plot-slots';\n\ntype ScatterPlotConfigContext = OptionsConfigContext<ScatterPlotViewOptions, ScatterPlotSlots>;\n\nconst hasColor = ({ slots }: Pick<ScatterPlotConfigContext, 'slots'>) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (slots?.find((slot) => slot?.name === 'color')?.content?.length ?? 0) > 0;\n }\n\n return false;\n};\n\nconst hasNoColor = ({ slots }: ScatterPlotConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return slots?.find((slot) => slot?.name === 'color')?.content?.length === 0;\n }\n\n return true;\n};\n\nconst scatterPlotOptionsConfig: OptionsConfig<ScatterPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n },\n visibleIf: hasColor\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: ScatterPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: ScatterPlotConfigContext) => getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoColor\n }\n ]\n },\n createAxesOptionsGroup<ScatterPlotConfigContext>([\n { axis: 'x', role: 'numeric', manualRange: { key: 'manualAxesRange.x' }, color: true, label: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'numeric', manualRange: { key: 'manualAxesRange.y' }, color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: ScatterPlotConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasColor\n },\n createScatterGuidelinesOptionsGroup(),\n createInfoTooltipOptionsGroup<ScatterPlotConfigContext>(),\n createInteractivityOptionsGroup<ScatterPlotConfigContext>({ brush: { default: true, excludesClickActions: true } })\n];\n\nexport default scatterPlotOptionsConfig;\n"],"mappings":"6QAgBA,IAAM,GAAY,CAAE,WACd,MAAM,QAAQ,CAAK,GAAK,GAAO,OAAS,GAClC,GAAO,KAAM,GAAS,GAAM,OAAS,OAAO,CAAC,EAAE,SAAS,QAAU,GAAK,EAG1E,GAWH,EAAoE,CACxE,CACE,IAAK,UACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,gBACL,QAAS,CACP,KAAM,SACN,MAAO,QACP,QAAS,EACX,CACF,EACA,CACE,IAAK,iBACL,QAAS,CACP,KAAM,SACN,MAAO,SACP,QAAS,EACX,EACA,UAAW,CACb,EACA,CACE,IAAK,QACL,QAAS,CACP,KAAM,eACN,MAAO,QACP,SAAU,CAAE,WAAsC,EAAA,kBAAkB,CAAK,EACzE,YAAa,CAAE,UAAS,WAAsC,EAAA,4BAA4B,EAAS,EAAO,OAAO,EACjH,0BAA2B,CAAE,UAAS,WACpC,EAAA,0CAA0C,EAAS,EAAO,OAAO,EACnE,uBAAwB,CAAE,UAAS,WACjC,EAAA,uCAAuC,EAAS,EAAO,OAAO,CAClE,EACA,WA3CY,CAAE,WAChB,MAAM,QAAQ,CAAK,GAAK,GAAO,OAAS,EACnC,GAAO,KAAM,GAAS,GAAM,OAAS,OAAO,CAAC,EAAE,SAAS,SAAW,EAGrE,EAuCH,CACF,CACF,EACA,EAAA,uBAAiD,CAC/C,CAAE,KAAM,IAAK,KAAM,UAAW,YAAa,CAAE,IAAK,mBAAoB,EAAG,MAAO,GAAM,MAAO,GAAM,SAAU,GAAM,UAAW,EAAK,EACnI,CAAE,KAAM,IAAK,KAAM,UAAW,YAAa,CAAE,IAAK,mBAAoB,EAAG,MAAO,GAAM,MAAO,GAAM,SAAU,GAAM,UAAW,EAAK,CACrI,CAAC,EACD,CACE,IAAK,SACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,kBACL,QAAS,CACP,MAAO,WACP,KAAM,kBACN,QAAS,WACT,KAAM,CAAC,UAAW,MAAO,WAAY,QAAS,cAAe,SAAU,aAAc,MAAM,CAC7F,CACF,EACA,CACE,IAAK,qBACL,QAAS,CACP,MAAO,eACP,YAAa,mDACb,KAAM,SACN,QAAS,EACX,CACF,EACA,CACE,IAAK,8BACL,QAAS,CACP,MAAO,2BACP,KAAM,SACN,QAAS,EACX,EACA,WAAY,CAAE,aAAwC,GAAS,QAAQ,cAAgB,EACzF,CACF,EACA,UAAW,CACb,EACA,EAAA,oCAAoC,EACpC,EAAA,8BAAwD,EACxD,EAAA,gCAA0D,CAAE,MAAO,CAAE,QAAS,GAAM,qBAAsB,EAAK,CAAE,CAAC,CACpH"}
|
|
@@ -2,8 +2,9 @@ import { getThemeMainColor as e, getThemeMainColorExtraLabelClickAction as t, ge
|
|
|
2
2
|
import { createAxesOptionsGroup as i } from "../shared/utils/axis-options.config.js";
|
|
3
3
|
import { createScatterGuidelinesOptionsGroup as a } from "../shared/utils/guidelines-options.config.js";
|
|
4
4
|
import { createInfoTooltipOptionsGroup as o } from "../shared/utils/info-tooltip-options.config.js";
|
|
5
|
+
import { createInteractivityOptionsGroup as s } from "../shared/utils/interactivity-options.config.js";
|
|
5
6
|
//#region src/lib/scatter-plot/scatter-plot-options.config.ts
|
|
6
|
-
var
|
|
7
|
+
var c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "color")?.content?.length ?? 0) > 0 : !1, l = [
|
|
7
8
|
{
|
|
8
9
|
key: "general",
|
|
9
10
|
type: "group",
|
|
@@ -24,7 +25,7 @@ var s = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
|
|
|
24
25
|
label: "Legend",
|
|
25
26
|
default: !0
|
|
26
27
|
},
|
|
27
|
-
visibleIf:
|
|
28
|
+
visibleIf: c
|
|
28
29
|
},
|
|
29
30
|
{
|
|
30
31
|
key: "color",
|
|
@@ -99,12 +100,16 @@ var s = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?
|
|
|
99
100
|
visibleIf: ({ options: e }) => e?.legend?.customOrder === !0
|
|
100
101
|
}
|
|
101
102
|
],
|
|
102
|
-
visibleIf:
|
|
103
|
+
visibleIf: c
|
|
103
104
|
},
|
|
104
105
|
a(),
|
|
105
|
-
o()
|
|
106
|
+
o(),
|
|
107
|
+
s({ brush: {
|
|
108
|
+
default: !0,
|
|
109
|
+
excludesClickActions: !0
|
|
110
|
+
} })
|
|
106
111
|
];
|
|
107
112
|
//#endregion
|
|
108
|
-
export {
|
|
113
|
+
export { l as default };
|
|
109
114
|
|
|
110
115
|
//# sourceMappingURL=scatter-plot-options.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatter-plot-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/scatter-plot/scatter-plot-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createScatterGuidelinesOptionsGroup } from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { ScatterPlotViewOptions } from './scatter-plot-options';\nimport type { ScatterPlotSlots } from './scatter-plot-slots';\n\ntype ScatterPlotConfigContext = OptionsConfigContext<ScatterPlotViewOptions, ScatterPlotSlots>;\n\nconst hasColor = ({ slots }: Pick<ScatterPlotConfigContext, 'slots'>) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (slots?.find((slot) => slot?.name === 'color')?.content?.length ?? 0) > 0;\n }\n\n return false;\n};\n\nconst hasNoColor = ({ slots }: ScatterPlotConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return slots?.find((slot) => slot?.name === 'color')?.content?.length === 0;\n }\n\n return true;\n};\n\nconst scatterPlotOptionsConfig: OptionsConfig<ScatterPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n },\n visibleIf: hasColor\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: ScatterPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: ScatterPlotConfigContext) => getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoColor\n }\n ]\n },\n createAxesOptionsGroup<ScatterPlotConfigContext>([\n { axis: 'x', role: 'numeric', manualRange: { key: 'manualAxesRange.x' }, color: true, label: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'numeric', manualRange: { key: 'manualAxesRange.y' }, color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: ScatterPlotConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasColor\n },\n createScatterGuidelinesOptionsGroup(),\n createInfoTooltipOptionsGroup<ScatterPlotConfigContext>()\n];\n\nexport default scatterPlotOptionsConfig;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"scatter-plot-options.config.js","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/scatter-plot/scatter-plot-options.config.ts"],"sourcesContent":["import {\n getThemeMainColor,\n getThemeMainColorExtraLabelClickAction,\n getThemeMainColorExtraLabelHasClickAction,\n getThemeMainColorResetLabel\n} from '../helpers';\nimport { createAxesOptionsGroup } from '../shared/utils/axis-options.config';\nimport { createScatterGuidelinesOptionsGroup } from '../shared/utils/guidelines-options.config';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport { createInteractivityOptionsGroup } from '../shared/utils/interactivity-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { ScatterPlotViewOptions } from './scatter-plot-options';\nimport type { ScatterPlotSlots } from './scatter-plot-slots';\n\ntype ScatterPlotConfigContext = OptionsConfigContext<ScatterPlotViewOptions, ScatterPlotSlots>;\n\nconst hasColor = ({ slots }: Pick<ScatterPlotConfigContext, 'slots'>) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return (slots?.find((slot) => slot?.name === 'color')?.content?.length ?? 0) > 0;\n }\n\n return false;\n};\n\nconst hasNoColor = ({ slots }: ScatterPlotConfigContext) => {\n if (Array.isArray(slots) && slots?.length > 0) {\n return slots?.find((slot) => slot?.name === 'color')?.content?.length === 0;\n }\n\n return true;\n};\n\nconst scatterPlotOptionsConfig: OptionsConfig<ScatterPlotConfigContext> = [\n {\n key: 'general',\n type: 'group',\n open: true,\n children: [\n {\n key: 'display.title',\n control: {\n type: 'switch',\n label: 'Title',\n default: true\n }\n },\n {\n key: 'display.legend',\n control: {\n type: 'switch',\n label: 'Legend',\n default: true\n },\n visibleIf: hasColor\n },\n {\n key: 'color',\n control: {\n type: 'color-picker',\n label: 'Color',\n default: ({ theme }: ScatterPlotConfigContext) => getThemeMainColor(theme),\n extraLabel: ({ options, theme }: ScatterPlotConfigContext) => getThemeMainColorResetLabel(options, theme, 'color'),\n extraLabelHasClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelHasClickAction(options, theme, 'color'),\n extraLabelClickAction: ({ options, theme }: ScatterPlotConfigContext) =>\n getThemeMainColorExtraLabelClickAction(options, theme, 'color')\n },\n visibleIf: hasNoColor\n }\n ]\n },\n createAxesOptionsGroup<ScatterPlotConfigContext>([\n { axis: 'x', role: 'numeric', manualRange: { key: 'manualAxesRange.x' }, color: true, label: true, tickMode: true, gridlines: true },\n { axis: 'y', role: 'numeric', manualRange: { key: 'manualAxesRange.y' }, color: true, label: true, tickMode: true, gridlines: true }\n ]),\n {\n key: 'legend',\n type: 'group',\n open: false,\n children: [\n {\n key: 'legend.position',\n control: {\n label: 'Position',\n type: 'position-picker',\n default: 'topRight',\n enum: ['topLeft', 'top', 'topRight', 'right', 'bottomRight', 'bottom', 'bottomLeft', 'left']\n }\n },\n {\n key: 'legend.customOrder',\n control: {\n label: 'Custom order',\n description: 'Drag items in the chart legend to set the order.',\n type: 'switch',\n default: false\n }\n },\n {\n key: 'interactivity.legendReorder',\n control: {\n label: 'Allow viewers to reorder',\n type: 'switch',\n default: false\n },\n visibleIf: ({ options }: ScatterPlotConfigContext) => options?.legend?.customOrder === true\n }\n ],\n visibleIf: hasColor\n },\n createScatterGuidelinesOptionsGroup(),\n createInfoTooltipOptionsGroup<ScatterPlotConfigContext>(),\n createInteractivityOptionsGroup<ScatterPlotConfigContext>({ brush: { default: true, excludesClickActions: true } })\n];\n\nexport default scatterPlotOptionsConfig;\n"],"mappings":";;;;;;AAgBA,IAAM,KAAY,EAAE,eACd,MAAM,QAAQ,CAAK,KAAK,GAAO,SAAS,KAClC,GAAO,MAAM,MAAS,GAAM,SAAS,OAAO,CAAC,EAAE,SAAS,UAAU,KAAK,IAG1E,IAWH,IAAoE;CACxE;EACE,KAAK;EACL,MAAM;EACN,MAAM;EACN,UAAU;GACR;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;IACX;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,SAAS;IACX;IACA,WAAW;GACb;GACA;IACE,KAAK;IACL,SAAS;KACP,MAAM;KACN,OAAO;KACP,UAAU,EAAE,eAAsC,EAAkB,CAAK;KACzE,aAAa,EAAE,YAAS,eAAsC,EAA4B,GAAS,GAAO,OAAO;KACjH,2BAA2B,EAAE,YAAS,eACpC,EAA0C,GAAS,GAAO,OAAO;KACnE,wBAAwB,EAAE,YAAS,eACjC,EAAuC,GAAS,GAAO,OAAO;IAClE;IACA,YA3CY,EAAE,eAChB,MAAM,QAAQ,CAAK,KAAK,GAAO,SAAS,IACnC,GAAO,MAAM,MAAS,GAAM,SAAS,OAAO,CAAC,EAAE,SAAS,WAAW,IAGrE;GAuCH;EACF;CACF;CACA,EAAiD,CAC/C;EAAE,MAAM;EAAK,MAAM;EAAW,aAAa,EAAE,KAAK,oBAAoB;EAAG,OAAO;EAAM,OAAO;EAAM,UAAU;EAAM,WAAW;CAAK,GACnI;EAAE,MAAM;EAAK,MAAM;EAAW,aAAa,EAAE,KAAK,oBAAoB;EAAG,OAAO;EAAM,OAAO;EAAM,UAAU;EAAM,WAAW;CAAK,CACrI,CAAC;CACD;EACE,KAAK;EACL,MAAM;EACN,MAAM;EACN,UAAU;GACR;IACE,KAAK;IACL,SAAS;KACP,OAAO;KACP,MAAM;KACN,SAAS;KACT,MAAM;MAAC;MAAW;MAAO;MAAY;MAAS;MAAe;MAAU;MAAc;KAAM;IAC7F;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,OAAO;KACP,aAAa;KACb,MAAM;KACN,SAAS;IACX;GACF;GACA;IACE,KAAK;IACL,SAAS;KACP,OAAO;KACP,MAAM;KACN,SAAS;IACX;IACA,YAAY,EAAE,iBAAwC,GAAS,QAAQ,gBAAgB;GACzF;EACF;EACA,WAAW;CACb;CACA,EAAoC;CACpC,EAAwD;CACxD,EAA0D,EAAE,OAAO;EAAE,SAAS;EAAM,sBAAsB;CAAK,EAAE,CAAC;AACpH"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=e=>typeof e==`object`&&!!e&&!Array.isArray(e),t=t=>{let n=t.urlConfig;return e(n)&&e(n.url)&&Object.keys(n.url).length>0},n=t=>{let n=t.customEvents;return e(n)&&Array.isArray(n.events)&&n.events.length>0},r=(r,i,a)=>{let o=e(r)?r:{},s=o.interactivity,c={...e(s)?s:{},brush:i};return a&&i===!0&&(t(c)&&(c.urlConfig={...c.urlConfig,url:{}}),n(c)&&delete c.customEvents),{...o,interactivity:c}},i=`When true, selecting (clicking) a data point in this chart filters the other items on the dashboard.`,a=`When true, dragging over a range in this chart (brushing) filters the other items on the dashboard.`,o=`${a} Enabling it turns off Go to URL and custom events on this chart, because they share the same pointer interaction.`,s=({select:e,brush:t})=>{let n=[];if(e&&n.push({key:`interactivity.select`,control:{type:`switch`,label:`Filter on select`,default:e.default,description:i},...e.visibleIf?{visibleIf:e.visibleIf}:{}}),t){let e=t.excludesClickActions??!1;n.push({key:`interactivity.brush`,control:{type:`switch`,label:`Enable brush filter`,default:t.default,description:e?o:a,...e?{toOptions:({options:e,value:t})=>r(e,t,!0)}:{}}})}let s=n.every(e=>e.visibleIf)?e=>n.some(t=>t.visibleIf?.(e)):void 0;return{key:`interactivity`,type:`group`,open:!1,children:n,...s?{visibleIf:s}:{}}};exports.createInteractivityOptionsGroup=s;
|
|
2
|
+
//# sourceMappingURL=interactivity-options.config.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactivity-options.config.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/interactivity-options.config.ts"],"sourcesContent":["import type { OptionConfig, OptionsConfigContext } from './options-config.types';\n\ntype Options = Record<string, unknown>;\n\nexport interface FilterOnSelectCapability<TContext> {\n default: boolean;\n visibleIf?: (context: TContext) => boolean;\n}\n\nexport interface BrushCapability {\n default: boolean;\n excludesClickActions?: boolean;\n}\n\nexport interface InteractivityCapabilities<TContext> {\n select?: FilterOnSelectCapability<TContext>;\n brush?: BrushCapability;\n}\n\nconst isRecord = (value: unknown): value is Options =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst hasGoToUrl = (interactivity: Options): boolean => {\n const urlConfig = interactivity['urlConfig'];\n\n return isRecord(urlConfig) && isRecord(urlConfig['url']) && Object.keys(urlConfig['url']).length > 0;\n};\n\nconst hasCustomEvents = (interactivity: Options): boolean => {\n const customEvents = interactivity['customEvents'];\n\n return isRecord(customEvents) && Array.isArray(customEvents['events']) && customEvents['events'].length > 0;\n};\n\nconst setBrush = (options: unknown, value: unknown, excludesClickActions: boolean): Options => {\n const current = isRecord(options) ? options : {};\n const currentInteractivity = current['interactivity'];\n const interactivity: Options = { ...(isRecord(currentInteractivity) ? currentInteractivity : {}), brush: value };\n\n if (excludesClickActions && value === true) {\n if (hasGoToUrl(interactivity)) {\n interactivity['urlConfig'] = { ...(interactivity['urlConfig'] as Options), url: {} };\n }\n\n if (hasCustomEvents(interactivity)) {\n delete interactivity['customEvents'];\n }\n }\n\n return { ...current, interactivity };\n};\n\nconst filterOnSelectDescription\n = 'When true, selecting (clicking) a data point in this chart filters the other items on the dashboard.';\n\nconst brushDescription\n = 'When true, dragging over a range in this chart (brushing) filters the other items on the dashboard.';\n\nconst brushExcludesClickActionsDescription\n = `${brushDescription} Enabling it turns off Go to URL and custom events on this chart, because they share the same pointer interaction.`;\n\nexport const createInteractivityOptionsGroup = <TContext extends OptionsConfigContext>({\n select,\n brush\n}: InteractivityCapabilities<TContext>): OptionConfig<TContext> => {\n const children: OptionConfig<TContext>[] = [];\n\n if (select) {\n children.push({\n key: 'interactivity.select',\n control: {\n type: 'switch',\n label: 'Filter on select',\n default: select.default,\n description: filterOnSelectDescription\n },\n ...(select.visibleIf ? { visibleIf: select.visibleIf } : {})\n });\n }\n\n if (brush) {\n const excludesClickActions = brush.excludesClickActions ?? false;\n\n children.push({\n key: 'interactivity.brush',\n control: {\n type: 'switch',\n label: 'Enable brush filter',\n default: brush.default,\n description: excludesClickActions ? brushExcludesClickActionsDescription : brushDescription,\n ...(excludesClickActions\n ? {\n toOptions: ({ options, value }: TContext & { value: unknown }) => setBrush(options, value, true)\n }\n : {})\n }\n });\n }\n\n const groupVisibleIf = children.every((child) => child.visibleIf)\n ? (context: TContext) => children.some((child) => child.visibleIf?.(context))\n : undefined;\n\n return {\n key: 'interactivity',\n type: 'group',\n open: false,\n children,\n ...(groupVisibleIf ? { visibleIf: groupVisibleIf } : {})\n };\n};\n"],"mappings":"AAmBA,IAAM,EAAY,GAChB,OAAO,GAAU,YAAY,GAAkB,CAAC,MAAM,QAAQ,CAAK,EAE/D,EAAc,GAAoC,CACtD,IAAM,EAAY,EAAc,UAEhC,OAAO,EAAS,CAAS,GAAK,EAAS,EAAU,GAAM,GAAK,OAAO,KAAK,EAAU,GAAM,CAAC,CAAC,OAAS,CACrG,EAEM,EAAmB,GAAoC,CAC3D,IAAM,EAAe,EAAc,aAEnC,OAAO,EAAS,CAAY,GAAK,MAAM,QAAQ,EAAa,MAAS,GAAK,EAAa,OAAU,OAAS,CAC5G,EAEM,GAAY,EAAkB,EAAgB,IAA2C,CAC7F,IAAM,EAAU,EAAS,CAAO,EAAI,EAAU,CAAC,EACzC,EAAuB,EAAQ,cAC/B,EAAyB,CAAE,GAAI,EAAS,CAAoB,EAAI,EAAuB,CAAC,EAAI,MAAO,CAAM,EAY/G,OAVI,GAAwB,IAAU,KAChC,EAAW,CAAa,IAC1B,EAAc,UAAe,CAAE,GAAI,EAAc,UAA0B,IAAK,CAAC,CAAE,GAGjF,EAAgB,CAAa,GAC/B,OAAO,EAAc,cAIlB,CAAE,GAAG,EAAS,eAAc,CACrC,EAEM,EACF,uGAEE,EACF,sGAEE,EACF,GAAG,EAAiB,oHAEX,GAA0E,CACrF,SACA,WACiE,CACjE,IAAM,EAAqC,CAAC,EAe5C,GAbI,GACF,EAAS,KAAK,CACZ,IAAK,uBACL,QAAS,CACP,KAAM,SACN,MAAO,mBACP,QAAS,EAAO,QAChB,YAAa,CACf,EACA,GAAI,EAAO,UAAY,CAAE,UAAW,EAAO,SAAU,EAAI,CAAC,CAC5D,CAAC,EAGC,EAAO,CACT,IAAM,EAAuB,EAAM,sBAAwB,GAE3D,EAAS,KAAK,CACZ,IAAK,sBACL,QAAS,CACP,KAAM,SACN,MAAO,sBACP,QAAS,EAAM,QACf,YAAa,EAAuB,EAAuC,EAC3E,GAAI,EACA,CACA,WAAY,CAAE,UAAS,WAA2C,EAAS,EAAS,EAAO,EAAI,CACjG,EACE,CAAC,CACP,CACF,CAAC,CACH,CAEA,IAAM,EAAiB,EAAS,MAAO,GAAU,EAAM,SAAS,EAC3D,GAAsB,EAAS,KAAM,GAAU,EAAM,YAAY,CAAO,CAAC,EAC1E,IAAA,GAEJ,MAAO,CACL,IAAK,gBACL,KAAM,QACN,KAAM,GACN,WACA,GAAI,EAAiB,CAAE,UAAW,CAAe,EAAI,CAAC,CACxD,CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//#region src/lib/shared/utils/interactivity-options.config.ts
|
|
2
|
+
var e = (e) => typeof e == "object" && !!e && !Array.isArray(e), t = (t) => {
|
|
3
|
+
let n = t.urlConfig;
|
|
4
|
+
return e(n) && e(n.url) && Object.keys(n.url).length > 0;
|
|
5
|
+
}, n = (t) => {
|
|
6
|
+
let n = t.customEvents;
|
|
7
|
+
return e(n) && Array.isArray(n.events) && n.events.length > 0;
|
|
8
|
+
}, r = (r, i, a) => {
|
|
9
|
+
let o = e(r) ? r : {}, s = o.interactivity, c = {
|
|
10
|
+
...e(s) ? s : {},
|
|
11
|
+
brush: i
|
|
12
|
+
};
|
|
13
|
+
return a && i === !0 && (t(c) && (c.urlConfig = {
|
|
14
|
+
...c.urlConfig,
|
|
15
|
+
url: {}
|
|
16
|
+
}), n(c) && delete c.customEvents), {
|
|
17
|
+
...o,
|
|
18
|
+
interactivity: c
|
|
19
|
+
};
|
|
20
|
+
}, i = "When true, selecting (clicking) a data point in this chart filters the other items on the dashboard.", a = "When true, dragging over a range in this chart (brushing) filters the other items on the dashboard.", o = `${a} Enabling it turns off Go to URL and custom events on this chart, because they share the same pointer interaction.`, s = ({ select: e, brush: t }) => {
|
|
21
|
+
let n = [];
|
|
22
|
+
if (e && n.push({
|
|
23
|
+
key: "interactivity.select",
|
|
24
|
+
control: {
|
|
25
|
+
type: "switch",
|
|
26
|
+
label: "Filter on select",
|
|
27
|
+
default: e.default,
|
|
28
|
+
description: i
|
|
29
|
+
},
|
|
30
|
+
...e.visibleIf ? { visibleIf: e.visibleIf } : {}
|
|
31
|
+
}), t) {
|
|
32
|
+
let e = t.excludesClickActions ?? !1;
|
|
33
|
+
n.push({
|
|
34
|
+
key: "interactivity.brush",
|
|
35
|
+
control: {
|
|
36
|
+
type: "switch",
|
|
37
|
+
label: "Enable brush filter",
|
|
38
|
+
default: t.default,
|
|
39
|
+
description: e ? o : a,
|
|
40
|
+
...e ? { toOptions: ({ options: e, value: t }) => r(e, t, !0) } : {}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
let s = n.every((e) => e.visibleIf) ? (e) => n.some((t) => t.visibleIf?.(e)) : void 0;
|
|
45
|
+
return {
|
|
46
|
+
key: "interactivity",
|
|
47
|
+
type: "group",
|
|
48
|
+
open: !1,
|
|
49
|
+
children: n,
|
|
50
|
+
...s ? { visibleIf: s } : {}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
export { s as createInteractivityOptionsGroup };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=interactivity-options.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactivity-options.config.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/interactivity-options.config.ts"],"sourcesContent":["import type { OptionConfig, OptionsConfigContext } from './options-config.types';\n\ntype Options = Record<string, unknown>;\n\nexport interface FilterOnSelectCapability<TContext> {\n default: boolean;\n visibleIf?: (context: TContext) => boolean;\n}\n\nexport interface BrushCapability {\n default: boolean;\n excludesClickActions?: boolean;\n}\n\nexport interface InteractivityCapabilities<TContext> {\n select?: FilterOnSelectCapability<TContext>;\n brush?: BrushCapability;\n}\n\nconst isRecord = (value: unknown): value is Options =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst hasGoToUrl = (interactivity: Options): boolean => {\n const urlConfig = interactivity['urlConfig'];\n\n return isRecord(urlConfig) && isRecord(urlConfig['url']) && Object.keys(urlConfig['url']).length > 0;\n};\n\nconst hasCustomEvents = (interactivity: Options): boolean => {\n const customEvents = interactivity['customEvents'];\n\n return isRecord(customEvents) && Array.isArray(customEvents['events']) && customEvents['events'].length > 0;\n};\n\nconst setBrush = (options: unknown, value: unknown, excludesClickActions: boolean): Options => {\n const current = isRecord(options) ? options : {};\n const currentInteractivity = current['interactivity'];\n const interactivity: Options = { ...(isRecord(currentInteractivity) ? currentInteractivity : {}), brush: value };\n\n if (excludesClickActions && value === true) {\n if (hasGoToUrl(interactivity)) {\n interactivity['urlConfig'] = { ...(interactivity['urlConfig'] as Options), url: {} };\n }\n\n if (hasCustomEvents(interactivity)) {\n delete interactivity['customEvents'];\n }\n }\n\n return { ...current, interactivity };\n};\n\nconst filterOnSelectDescription\n = 'When true, selecting (clicking) a data point in this chart filters the other items on the dashboard.';\n\nconst brushDescription\n = 'When true, dragging over a range in this chart (brushing) filters the other items on the dashboard.';\n\nconst brushExcludesClickActionsDescription\n = `${brushDescription} Enabling it turns off Go to URL and custom events on this chart, because they share the same pointer interaction.`;\n\nexport const createInteractivityOptionsGroup = <TContext extends OptionsConfigContext>({\n select,\n brush\n}: InteractivityCapabilities<TContext>): OptionConfig<TContext> => {\n const children: OptionConfig<TContext>[] = [];\n\n if (select) {\n children.push({\n key: 'interactivity.select',\n control: {\n type: 'switch',\n label: 'Filter on select',\n default: select.default,\n description: filterOnSelectDescription\n },\n ...(select.visibleIf ? { visibleIf: select.visibleIf } : {})\n });\n }\n\n if (brush) {\n const excludesClickActions = brush.excludesClickActions ?? false;\n\n children.push({\n key: 'interactivity.brush',\n control: {\n type: 'switch',\n label: 'Enable brush filter',\n default: brush.default,\n description: excludesClickActions ? brushExcludesClickActionsDescription : brushDescription,\n ...(excludesClickActions\n ? {\n toOptions: ({ options, value }: TContext & { value: unknown }) => setBrush(options, value, true)\n }\n : {})\n }\n });\n }\n\n const groupVisibleIf = children.every((child) => child.visibleIf)\n ? (context: TContext) => children.some((child) => child.visibleIf?.(context))\n : undefined;\n\n return {\n key: 'interactivity',\n type: 'group',\n open: false,\n children,\n ...(groupVisibleIf ? { visibleIf: groupVisibleIf } : {})\n };\n};\n"],"mappings":";AAmBA,IAAM,KAAY,MAChB,OAAO,KAAU,cAAY,KAAkB,CAAC,MAAM,QAAQ,CAAK,GAE/D,KAAc,MAAoC;CACtD,IAAM,IAAY,EAAc;CAEhC,OAAO,EAAS,CAAS,KAAK,EAAS,EAAU,GAAM,KAAK,OAAO,KAAK,EAAU,GAAM,CAAC,CAAC,SAAS;AACrG,GAEM,KAAmB,MAAoC;CAC3D,IAAM,IAAe,EAAc;CAEnC,OAAO,EAAS,CAAY,KAAK,MAAM,QAAQ,EAAa,MAAS,KAAK,EAAa,OAAU,SAAS;AAC5G,GAEM,KAAY,GAAkB,GAAgB,MAA2C;CAC7F,IAAM,IAAU,EAAS,CAAO,IAAI,IAAU,CAAC,GACzC,IAAuB,EAAQ,eAC/B,IAAyB;EAAE,GAAI,EAAS,CAAoB,IAAI,IAAuB,CAAC;EAAI,OAAO;CAAM;CAY/G,OAVI,KAAwB,MAAU,OAChC,EAAW,CAAa,MAC1B,EAAc,YAAe;EAAE,GAAI,EAAc;EAA0B,KAAK,CAAC;CAAE,IAGjF,EAAgB,CAAa,KAC/B,OAAO,EAAc,eAIlB;EAAE,GAAG;EAAS;CAAc;AACrC,GAEM,IACF,wGAEE,IACF,uGAEE,IACF,GAAG,EAAiB,qHAEX,KAA0E,EACrF,WACA,eACiE;CACjE,IAAM,IAAqC,CAAC;CAe5C,IAbI,KACF,EAAS,KAAK;EACZ,KAAK;EACL,SAAS;GACP,MAAM;GACN,OAAO;GACP,SAAS,EAAO;GAChB,aAAa;EACf;EACA,GAAI,EAAO,YAAY,EAAE,WAAW,EAAO,UAAU,IAAI,CAAC;CAC5D,CAAC,GAGC,GAAO;EACT,IAAM,IAAuB,EAAM,wBAAwB;EAE3D,EAAS,KAAK;GACZ,KAAK;GACL,SAAS;IACP,MAAM;IACN,OAAO;IACP,SAAS,EAAM;IACf,aAAa,IAAuB,IAAuC;IAC3E,GAAI,IACA,EACA,YAAY,EAAE,YAAS,eAA2C,EAAS,GAAS,GAAO,EAAI,EACjG,IACE,CAAC;GACP;EACF,CAAC;CACH;CAEA,IAAM,IAAiB,EAAS,OAAO,MAAU,EAAM,SAAS,KAC3D,MAAsB,EAAS,MAAM,MAAU,EAAM,YAAY,CAAO,CAAC,IAC1E,KAAA;CAEJ,OAAO;EACL,KAAK;EACL,MAAM;EACN,MAAM;EACN;EACA,GAAI,IAAiB,EAAE,WAAW,EAAe,IAAI,CAAC;CACxD;AACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={de:{groups:{interactivity:{label:`Interaktivität`}},options:{"interactivity.select":{label:`Filtern nach Auswahl`},"interactivity.brush":{label:`Pinselfilter aktivieren`}}},en:{groups:{interactivity:{label:`Interactivity`}},options:{"interactivity.select":{label:`Filter on select`},"interactivity.brush":{label:`Enable brush filter`}}},es:{groups:{interactivity:{label:`Interactividad`}},options:{"interactivity.select":{label:`Filtrar al seleccionar`},"interactivity.brush":{label:`Habilitar filtro de pincel`}}},fr:{groups:{interactivity:{label:`Interactivité`}},options:{"interactivity.select":{label:`Filtrer sur sélection`},"interactivity.brush":{label:`Activer le filtre de brosse`}}},nl:{groups:{interactivity:{label:`Interactiviteit`}},options:{"interactivity.select":{label:`Filteren bij selectie`},"interactivity.brush":{label:`Borstelfilter inschakelen`}}}},t=t=>e[t]??e.en;exports.getInteractivityTranslations=t;
|
|
2
|
+
//# sourceMappingURL=interactivity-options.i18n.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactivity-options.i18n.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/interactivity-options.i18n.ts"],"sourcesContent":["import type { TranslationsFile } from './options-config.types';\n\nconst translationsByLanguage: Record<string, TranslationsFile> = {\n de: {\n groups: { interactivity: { label: 'Interaktivität' } },\n options: {\n 'interactivity.select': { label: 'Filtern nach Auswahl' },\n 'interactivity.brush': { label: 'Pinselfilter aktivieren' }\n }\n },\n en: {\n groups: { interactivity: { label: 'Interactivity' } },\n options: {\n 'interactivity.select': { label: 'Filter on select' },\n 'interactivity.brush': { label: 'Enable brush filter' }\n }\n },\n es: {\n groups: { interactivity: { label: 'Interactividad' } },\n options: {\n 'interactivity.select': { label: 'Filtrar al seleccionar' },\n 'interactivity.brush': { label: 'Habilitar filtro de pincel' }\n }\n },\n fr: {\n groups: { interactivity: { label: 'Interactivité' } },\n options: {\n 'interactivity.select': { label: 'Filtrer sur sélection' },\n 'interactivity.brush': { label: 'Activer le filtre de brosse' }\n }\n },\n nl: {\n groups: { interactivity: { label: 'Interactiviteit' } },\n options: {\n 'interactivity.select': { label: 'Filteren bij selectie' },\n 'interactivity.brush': { label: 'Borstelfilter inschakelen' }\n }\n }\n};\n\nexport const getInteractivityTranslations = (language: string): TranslationsFile =>\n translationsByLanguage[language] ?? translationsByLanguage['en'];\n"],"mappings":"AAEA,IAAM,EAA2D,CAC/D,GAAI,CACF,OAAQ,CAAE,cAAe,CAAE,MAAO,gBAAiB,CAAE,EACrD,QAAS,CACP,uBAAwB,CAAE,MAAO,sBAAuB,EACxD,sBAAuB,CAAE,MAAO,yBAA0B,CAC5D,CACF,EACA,GAAI,CACF,OAAQ,CAAE,cAAe,CAAE,MAAO,eAAgB,CAAE,EACpD,QAAS,CACP,uBAAwB,CAAE,MAAO,kBAAmB,EACpD,sBAAuB,CAAE,MAAO,qBAAsB,CACxD,CACF,EACA,GAAI,CACF,OAAQ,CAAE,cAAe,CAAE,MAAO,gBAAiB,CAAE,EACrD,QAAS,CACP,uBAAwB,CAAE,MAAO,wBAAyB,EAC1D,sBAAuB,CAAE,MAAO,4BAA6B,CAC/D,CACF,EACA,GAAI,CACF,OAAQ,CAAE,cAAe,CAAE,MAAO,eAAgB,CAAE,EACpD,QAAS,CACP,uBAAwB,CAAE,MAAO,uBAAwB,EACzD,sBAAuB,CAAE,MAAO,6BAA8B,CAChE,CACF,EACA,GAAI,CACF,OAAQ,CAAE,cAAe,CAAE,MAAO,iBAAkB,CAAE,EACtD,QAAS,CACP,uBAAwB,CAAE,MAAO,uBAAwB,EACzD,sBAAuB,CAAE,MAAO,2BAA4B,CAC9D,CACF,CACF,EAEa,EAAgC,GAC3C,EAAuB,IAAa,EAAuB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/lib/shared/utils/interactivity-options.i18n.ts
|
|
2
|
+
var e = {
|
|
3
|
+
de: {
|
|
4
|
+
groups: { interactivity: { label: "Interaktivität" } },
|
|
5
|
+
options: {
|
|
6
|
+
"interactivity.select": { label: "Filtern nach Auswahl" },
|
|
7
|
+
"interactivity.brush": { label: "Pinselfilter aktivieren" }
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
en: {
|
|
11
|
+
groups: { interactivity: { label: "Interactivity" } },
|
|
12
|
+
options: {
|
|
13
|
+
"interactivity.select": { label: "Filter on select" },
|
|
14
|
+
"interactivity.brush": { label: "Enable brush filter" }
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
es: {
|
|
18
|
+
groups: { interactivity: { label: "Interactividad" } },
|
|
19
|
+
options: {
|
|
20
|
+
"interactivity.select": { label: "Filtrar al seleccionar" },
|
|
21
|
+
"interactivity.brush": { label: "Habilitar filtro de pincel" }
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
fr: {
|
|
25
|
+
groups: { interactivity: { label: "Interactivité" } },
|
|
26
|
+
options: {
|
|
27
|
+
"interactivity.select": { label: "Filtrer sur sélection" },
|
|
28
|
+
"interactivity.brush": { label: "Activer le filtre de brosse" }
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
nl: {
|
|
32
|
+
groups: { interactivity: { label: "Interactiviteit" } },
|
|
33
|
+
options: {
|
|
34
|
+
"interactivity.select": { label: "Filteren bij selectie" },
|
|
35
|
+
"interactivity.brush": { label: "Borstelfilter inschakelen" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, t = (t) => e[t] ?? e.en;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { t as getInteractivityTranslations };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=interactivity-options.i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactivity-options.i18n.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/interactivity-options.i18n.ts"],"sourcesContent":["import type { TranslationsFile } from './options-config.types';\n\nconst translationsByLanguage: Record<string, TranslationsFile> = {\n de: {\n groups: { interactivity: { label: 'Interaktivität' } },\n options: {\n 'interactivity.select': { label: 'Filtern nach Auswahl' },\n 'interactivity.brush': { label: 'Pinselfilter aktivieren' }\n }\n },\n en: {\n groups: { interactivity: { label: 'Interactivity' } },\n options: {\n 'interactivity.select': { label: 'Filter on select' },\n 'interactivity.brush': { label: 'Enable brush filter' }\n }\n },\n es: {\n groups: { interactivity: { label: 'Interactividad' } },\n options: {\n 'interactivity.select': { label: 'Filtrar al seleccionar' },\n 'interactivity.brush': { label: 'Habilitar filtro de pincel' }\n }\n },\n fr: {\n groups: { interactivity: { label: 'Interactivité' } },\n options: {\n 'interactivity.select': { label: 'Filtrer sur sélection' },\n 'interactivity.brush': { label: 'Activer le filtre de brosse' }\n }\n },\n nl: {\n groups: { interactivity: { label: 'Interactiviteit' } },\n options: {\n 'interactivity.select': { label: 'Filteren bij selectie' },\n 'interactivity.brush': { label: 'Borstelfilter inschakelen' }\n }\n }\n};\n\nexport const getInteractivityTranslations = (language: string): TranslationsFile =>\n translationsByLanguage[language] ?? translationsByLanguage['en'];\n"],"mappings":";AAEA,IAAM,IAA2D;CAC/D,IAAI;EACF,QAAQ,EAAE,eAAe,EAAE,OAAO,iBAAiB,EAAE;EACrD,SAAS;GACP,wBAAwB,EAAE,OAAO,uBAAuB;GACxD,uBAAuB,EAAE,OAAO,0BAA0B;EAC5D;CACF;CACA,IAAI;EACF,QAAQ,EAAE,eAAe,EAAE,OAAO,gBAAgB,EAAE;EACpD,SAAS;GACP,wBAAwB,EAAE,OAAO,mBAAmB;GACpD,uBAAuB,EAAE,OAAO,sBAAsB;EACxD;CACF;CACA,IAAI;EACF,QAAQ,EAAE,eAAe,EAAE,OAAO,iBAAiB,EAAE;EACrD,SAAS;GACP,wBAAwB,EAAE,OAAO,yBAAyB;GAC1D,uBAAuB,EAAE,OAAO,6BAA6B;EAC/D;CACF;CACA,IAAI;EACF,QAAQ,EAAE,eAAe,EAAE,OAAO,gBAAgB,EAAE;EACpD,SAAS;GACP,wBAAwB,EAAE,OAAO,wBAAwB;GACzD,uBAAuB,EAAE,OAAO,8BAA8B;EAChE;CACF;CACA,IAAI;EACF,QAAQ,EAAE,eAAe,EAAE,OAAO,kBAAkB,EAAE;EACtD,SAAS;GACP,wBAAwB,EAAE,OAAO,wBAAwB;GACzD,uBAAuB,EAAE,OAAO,4BAA4B;EAC9D;CACF;AACF,GAEa,KAAgC,MAC3C,EAAuB,MAAa,EAAuB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./options-registry.generated.cjs"),t=require("./translations-registry.generated.cjs");var n=async t=>{try{let n=e.optionsConfigRegistry[t];return n?(await n())?.default??null:null}catch{return null}},r=async(e,n)=>{try{let r=`${e}:${n}`,i=t.translationsRegistry[r];if(!i)return null;let a=await i();if(!a?.default)return null;let[{getAxisTranslations:o},{getInfoTooltipTranslations:s}]=await Promise.all([Promise.resolve().then(()=>require("./axis-options.i18n.cjs")),Promise.resolve().then(()=>require("./info-tooltip-options.i18n.cjs"))]),
|
|
1
|
+
const e=require("./options-registry.generated.cjs"),t=require("./translations-registry.generated.cjs");var n=async t=>{try{let n=e.optionsConfigRegistry[t];return n?(await n())?.default??null:null}catch{return null}},r=async(e,n)=>{try{let r=`${e}:${n}`,i=t.translationsRegistry[r];if(!i)return null;let a=await i();if(!a?.default)return null;let[{getAxisTranslations:o},{getInfoTooltipTranslations:s},{getInteractivityTranslations:c}]=await Promise.all([Promise.resolve().then(()=>require("./axis-options.i18n.cjs")),Promise.resolve().then(()=>require("./info-tooltip-options.i18n.cjs")),Promise.resolve().then(()=>require("./interactivity-options.i18n.cjs"))]),l=[o(n),s(n),c(n)];return{...a.default,groups:Object.assign({},...l.map(e=>e.groups),a.default.groups),options:Object.assign({},...l.map(e=>e.options),a.default.options)}}catch{return null}};exports.loadConfigModule=n,exports.loadTranslationsModule=r;
|
|
2
2
|
//# sourceMappingURL=options-loader.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options-loader.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/options-loader.ts"],"sourcesContent":["import type { VizItemType } from '../types';\nimport type { OptionsConfig, TranslationsFile } from './options-config.types';\nimport { optionsConfigRegistry } from './options-registry.generated';\nimport { translationsRegistry } from './translations-registry.generated';\n\ntype OptionsConfigModule = { default: OptionsConfig };\ntype TranslationsModule = { default: TranslationsFile };\n\nexport const loadConfigModule = async (itemType: VizItemType): Promise<OptionsConfig | null> => {\n try {\n const moduleLoader = optionsConfigRegistry[itemType];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as OptionsConfigModule;\n\n return module?.default ?? null;\n }\n catch {\n return null;\n }\n};\n\nexport const loadTranslationsModule = async (itemType: VizItemType, language: string): Promise<TranslationsFile | null> => {\n try {\n const key = `${itemType}:${language}`;\n const moduleLoader = translationsRegistry[key];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as TranslationsModule;\n\n if (!module?.default) {\n return null;\n }\n\n const [{ getAxisTranslations }, { getInfoTooltipTranslations }] = await Promise.all([\n import('./axis-options.i18n'),\n import('./info-tooltip-options.i18n')\n ]);\n const
|
|
1
|
+
{"version":3,"file":"options-loader.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/options-loader.ts"],"sourcesContent":["import type { VizItemType } from '../types';\nimport type { OptionsConfig, TranslationsFile } from './options-config.types';\nimport { optionsConfigRegistry } from './options-registry.generated';\nimport { translationsRegistry } from './translations-registry.generated';\n\ntype OptionsConfigModule = { default: OptionsConfig };\ntype TranslationsModule = { default: TranslationsFile };\n\nexport const loadConfigModule = async (itemType: VizItemType): Promise<OptionsConfig | null> => {\n try {\n const moduleLoader = optionsConfigRegistry[itemType];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as OptionsConfigModule;\n\n return module?.default ?? null;\n }\n catch {\n return null;\n }\n};\n\nexport const loadTranslationsModule = async (itemType: VizItemType, language: string): Promise<TranslationsFile | null> => {\n try {\n const key = `${itemType}:${language}`;\n const moduleLoader = translationsRegistry[key];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as TranslationsModule;\n\n if (!module?.default) {\n return null;\n }\n\n const [{ getAxisTranslations }, { getInfoTooltipTranslations }, { getInteractivityTranslations }] = await Promise.all([\n import('./axis-options.i18n'),\n import('./info-tooltip-options.i18n'),\n import('./interactivity-options.i18n')\n ]);\n const shared = [getAxisTranslations(language), getInfoTooltipTranslations(language), getInteractivityTranslations(language)];\n\n return {\n ...module.default,\n groups: Object.assign({}, ...shared.map((translations) => translations.groups), module.default.groups),\n options: Object.assign({}, ...shared.map((translations) => translations.options), module.default.options)\n };\n }\n catch {\n return null;\n }\n};\n"],"mappings":"uGAQA,IAAa,EAAmB,KAAO,IAAyD,CAC9F,GAAI,CACF,IAAM,EAAe,EAAA,sBAAsB,GAQ3C,OANK,GAME,MAFc,EAAa,EAAA,EAEnB,SAAW,KALjB,IAMX,MACM,CACJ,OAAO,IACT,CACF,EAEa,EAAyB,MAAO,EAAuB,IAAuD,CACzH,GAAI,CACF,IAAM,EAAM,GAAG,EAAS,GAAG,IACrB,EAAe,EAAA,qBAAqB,GAE1C,GAAI,CAAC,EACH,OAAO,KAGT,IAAM,EAAS,MAAM,EAAa,EAElC,GAAI,CAAC,GAAQ,QACX,OAAO,KAGT,GAAM,CAAC,CAAE,uBAAuB,CAAE,8BAA8B,CAAE,iCAAkC,MAAM,QAAQ,IAAI,CACpH,QAAA,QAAA,CAAA,CAAA,SAAA,QAAA,yBAAA,CAAA,EACA,QAAA,QAAA,CAAA,CAAA,SAAA,QAAA,iCAAA,CAAA,EACA,QAAA,QAAA,CAAA,CAAA,SAAA,QAAA,kCAAA,CAAA,CACF,CAAC,EACK,EAAS,CAAC,EAAoB,CAAQ,EAAG,EAA2B,CAAQ,EAAG,EAA6B,CAAQ,CAAC,EAE3H,MAAO,CACL,GAAG,EAAO,QACV,OAAQ,OAAO,OAAO,CAAC,EAAG,GAAG,EAAO,IAAK,GAAiB,EAAa,MAAM,EAAG,EAAO,QAAQ,MAAM,EACrG,QAAS,OAAO,OAAO,CAAC,EAAG,GAAG,EAAO,IAAK,GAAiB,EAAa,OAAO,EAAG,EAAO,QAAQ,OAAO,CAC1G,CACF,MACM,CACJ,OAAO,IACT,CACF"}
|
|
@@ -14,19 +14,19 @@ var n = async (t) => {
|
|
|
14
14
|
if (!i) return null;
|
|
15
15
|
let a = await i();
|
|
16
16
|
if (!a?.default) return null;
|
|
17
|
-
let [{ getAxisTranslations: o }, { getInfoTooltipTranslations: s }] = await Promise.all([
|
|
17
|
+
let [{ getAxisTranslations: o }, { getInfoTooltipTranslations: s }, { getInteractivityTranslations: c }] = await Promise.all([
|
|
18
|
+
import("./axis-options.i18n.js"),
|
|
19
|
+
import("./info-tooltip-options.i18n.js"),
|
|
20
|
+
import("./interactivity-options.i18n.js")
|
|
21
|
+
]), l = [
|
|
22
|
+
o(n),
|
|
23
|
+
s(n),
|
|
24
|
+
c(n)
|
|
25
|
+
];
|
|
18
26
|
return {
|
|
19
27
|
...a.default,
|
|
20
|
-
groups: {
|
|
21
|
-
|
|
22
|
-
...l.groups,
|
|
23
|
-
...a.default.groups
|
|
24
|
-
},
|
|
25
|
-
options: {
|
|
26
|
-
...c.options,
|
|
27
|
-
...l.options,
|
|
28
|
-
...a.default.options
|
|
29
|
-
}
|
|
28
|
+
groups: Object.assign({}, ...l.map((e) => e.groups), a.default.groups),
|
|
29
|
+
options: Object.assign({}, ...l.map((e) => e.options), a.default.options)
|
|
30
30
|
};
|
|
31
31
|
} catch {
|
|
32
32
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options-loader.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/options-loader.ts"],"sourcesContent":["import type { VizItemType } from '../types';\nimport type { OptionsConfig, TranslationsFile } from './options-config.types';\nimport { optionsConfigRegistry } from './options-registry.generated';\nimport { translationsRegistry } from './translations-registry.generated';\n\ntype OptionsConfigModule = { default: OptionsConfig };\ntype TranslationsModule = { default: TranslationsFile };\n\nexport const loadConfigModule = async (itemType: VizItemType): Promise<OptionsConfig | null> => {\n try {\n const moduleLoader = optionsConfigRegistry[itemType];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as OptionsConfigModule;\n\n return module?.default ?? null;\n }\n catch {\n return null;\n }\n};\n\nexport const loadTranslationsModule = async (itemType: VizItemType, language: string): Promise<TranslationsFile | null> => {\n try {\n const key = `${itemType}:${language}`;\n const moduleLoader = translationsRegistry[key];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as TranslationsModule;\n\n if (!module?.default) {\n return null;\n }\n\n const [{ getAxisTranslations }, { getInfoTooltipTranslations }] = await Promise.all([\n import('./axis-options.i18n'),\n import('./info-tooltip-options.i18n')\n ]);\n const
|
|
1
|
+
{"version":3,"file":"options-loader.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/options-loader.ts"],"sourcesContent":["import type { VizItemType } from '../types';\nimport type { OptionsConfig, TranslationsFile } from './options-config.types';\nimport { optionsConfigRegistry } from './options-registry.generated';\nimport { translationsRegistry } from './translations-registry.generated';\n\ntype OptionsConfigModule = { default: OptionsConfig };\ntype TranslationsModule = { default: TranslationsFile };\n\nexport const loadConfigModule = async (itemType: VizItemType): Promise<OptionsConfig | null> => {\n try {\n const moduleLoader = optionsConfigRegistry[itemType];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as OptionsConfigModule;\n\n return module?.default ?? null;\n }\n catch {\n return null;\n }\n};\n\nexport const loadTranslationsModule = async (itemType: VizItemType, language: string): Promise<TranslationsFile | null> => {\n try {\n const key = `${itemType}:${language}`;\n const moduleLoader = translationsRegistry[key];\n\n if (!moduleLoader) {\n return null;\n }\n\n const module = await moduleLoader() as TranslationsModule;\n\n if (!module?.default) {\n return null;\n }\n\n const [{ getAxisTranslations }, { getInfoTooltipTranslations }, { getInteractivityTranslations }] = await Promise.all([\n import('./axis-options.i18n'),\n import('./info-tooltip-options.i18n'),\n import('./interactivity-options.i18n')\n ]);\n const shared = [getAxisTranslations(language), getInfoTooltipTranslations(language), getInteractivityTranslations(language)];\n\n return {\n ...module.default,\n groups: Object.assign({}, ...shared.map((translations) => translations.groups), module.default.groups),\n options: Object.assign({}, ...shared.map((translations) => translations.options), module.default.options)\n };\n }\n catch {\n return null;\n }\n};\n"],"mappings":";;;AAQA,IAAa,IAAmB,OAAO,MAAyD;CAC9F,IAAI;EACF,IAAM,IAAe,EAAsB;EAQ3C,OANK,KAME,MAFc,EAAa,EAAA,EAEnB,WAAW,OALjB;CAMX,QACM;EACJ,OAAO;CACT;AACF,GAEa,IAAyB,OAAO,GAAuB,MAAuD;CACzH,IAAI;EACF,IAAM,IAAM,GAAG,EAAS,GAAG,KACrB,IAAe,EAAqB;EAE1C,IAAI,CAAC,GACH,OAAO;EAGT,IAAM,IAAS,MAAM,EAAa;EAElC,IAAI,CAAC,GAAQ,SACX,OAAO;EAGT,IAAM,CAAC,EAAE,0BAAuB,EAAE,iCAA8B,EAAE,qCAAkC,MAAM,QAAQ,IAAI;GACpH,OAAO;GACP,OAAO;GACP,OAAO;EACT,CAAC,GACK,IAAS;GAAC,EAAoB,CAAQ;GAAG,EAA2B,CAAQ;GAAG,EAA6B,CAAQ;EAAC;EAE3H,OAAO;GACL,GAAG,EAAO;GACV,QAAQ,OAAO,OAAO,CAAC,GAAG,GAAG,EAAO,KAAK,MAAiB,EAAa,MAAM,GAAG,EAAO,QAAQ,MAAM;GACrG,SAAS,OAAO,OAAO,CAAC,GAAG,GAAG,EAAO,KAAK,MAAiB,EAAa,OAAO,GAAG,EAAO,QAAQ,OAAO;EAC1G;CACF,QACM;EACJ,OAAO;CACT;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area-chart-options.config.d.ts","sourceRoot":"","sources":["../../../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"area-chart-options.config.d.ts","sourceRoot":"","sources":["../../../../../../libs/dashboard-contents-types/src/lib/area-chart/area-chart-options.config.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,KAAK,sBAAsB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAgCzE,QAAA,MAAM,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,CAqIjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-chart-options.config.d.ts","sourceRoot":"","sources":["../../../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bar-chart-options.config.d.ts","sourceRoot":"","sources":["../../../../../../libs/dashboard-contents-types/src/lib/bar-chart/bar-chart-options.config.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,KAAK,qBAAqB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AAwBvE,QAAA,MAAM,qBAAqB,EAAE,aAAa,CAAC,qBAAqB,CA6N/D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|