@luzmo/dashboard-contents-types 1.0.41 → 1.0.42
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 +9 -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 +21 -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 +112 -107
- package/bubble-chart/bubble-chart-options.config.js.map +1 -1
- package/bullet-chart/bullet-chart-options.config.cjs +1 -1
- package/bullet-chart/bullet-chart-options.config.cjs.map +1 -1
- package/bullet-chart/bullet-chart-options.config.js +4 -3
- package/bullet-chart/bullet-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 +39 -37
- 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 +4 -3
- package/circle-pack-chart/circle-pack-chart-options.config.js.map +1 -1
- package/circular-gauge/circular-gauge-options.config.cjs +1 -1
- package/circular-gauge/circular-gauge-options.config.cjs.map +1 -1
- package/circular-gauge/circular-gauge-options.config.js +148 -143
- package/circular-gauge/circular-gauge-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 +5 -3
- package/combination-chart/combination-chart-options.config.js.map +1 -1
- package/conditional-number/conditional-number-options.config.cjs +1 -1
- package/conditional-number/conditional-number-options.config.cjs.map +1 -1
- package/conditional-number/conditional-number-options.config.js +156 -151
- package/conditional-number/conditional-number-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 +184 -179
- package/donut-chart/donut-chart-options.config.js.map +1 -1
- package/evolution-number/evolution-number-options.config.cjs +1 -1
- package/evolution-number/evolution-number-options.config.cjs.map +1 -1
- package/evolution-number/evolution-number-options.config.js +5 -3
- package/evolution-number/evolution-number-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-map/heat-map-options.config.cjs +1 -1
- package/heat-map/heat-map-options.config.cjs.map +1 -1
- package/heat-map/heat-map-options.config.js +32 -30
- package/heat-map/heat-map-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 +28 -26
- package/heat-table/heat-table-options.config.js.map +1 -1
- package/hexbin-map/hexbin-map-options.config.cjs +1 -1
- package/hexbin-map/hexbin-map-options.config.cjs.map +1 -1
- package/hexbin-map/hexbin-map-options.config.js +20 -18
- package/hexbin-map/hexbin-map-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 +7 -5
- package/line-chart/line-chart-options.config.js.map +1 -1
- package/marker-map/marker-map-options.config.cjs +1 -1
- package/marker-map/marker-map-options.config.cjs.map +1 -1
- package/marker-map/marker-map-options.config.js +97 -92
- package/marker-map/marker-map-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 +5 -3
- package/ohlc-chart/ohlc-chart-options.config.js.map +1 -1
- package/package.json +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 +4 -3
- 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/radar-chart/radar-chart-options.config.cjs +1 -1
- package/radar-chart/radar-chart-options.config.cjs.map +1 -1
- package/radar-chart/radar-chart-options.config.js +7 -5
- package/radar-chart/radar-chart-options.config.js.map +1 -1
- package/regular-table/regular-table-options.config.cjs +1 -1
- package/regular-table/regular-table-options.config.cjs.map +1 -1
- package/regular-table/regular-table-options.config.js +126 -121
- package/regular-table/regular-table-options.config.js.map +1 -1
- package/route-map/route-map-options.config.cjs +1 -1
- package/route-map/route-map-options.config.cjs.map +1 -1
- package/route-map/route-map-options.config.js +38 -36
- package/route-map/route-map-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 +7 -5
- package/scatter-plot/scatter-plot-options.config.js.map +1 -1
- package/shared/utils/info-tooltip-options.config.cjs +2 -0
- package/shared/utils/info-tooltip-options.config.cjs.map +1 -0
- package/shared/utils/info-tooltip-options.config.js +42 -0
- package/shared/utils/info-tooltip-options.config.js.map +1 -0
- package/shared/utils/info-tooltip-options.i18n.cjs +2 -0
- package/shared/utils/info-tooltip-options.i18n.cjs.map +1 -0
- package/shared/utils/info-tooltip-options.i18n.js +57 -0
- package/shared/utils/info-tooltip-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 +5 -3
- package/shared/utils/options-loader.js.map +1 -1
- package/speedometer-chart/speedometer-chart-options.config.cjs +1 -1
- package/speedometer-chart/speedometer-chart-options.config.cjs.map +1 -1
- package/speedometer-chart/speedometer-chart-options.config.js +201 -196
- package/speedometer-chart/speedometer-chart-options.config.js.map +1 -1
- package/spike-map/spike-map-options.config.cjs +1 -1
- package/spike-map/spike-map-options.config.cjs.map +1 -1
- package/spike-map/spike-map-options.config.js +41 -39
- package/spike-map/spike-map-options.config.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/bullet-chart/bullet-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/circular-gauge/circular-gauge-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/conditional-number/conditional-number-options.config.d.ts.map +1 -1
- package/src/lib/donut-chart/donut-chart-options.config.d.ts.map +1 -1
- package/src/lib/evolution-number/evolution-number-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-map/heat-map-options.config.d.ts.map +1 -1
- package/src/lib/heat-table/heat-table-options.config.d.ts.map +1 -1
- package/src/lib/hexbin-map/hexbin-map-options.config.d.ts.map +1 -1
- package/src/lib/line-chart/line-chart-options.config.d.ts.map +1 -1
- package/src/lib/marker-map/marker-map-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/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/radar-chart/radar-chart-options.config.d.ts.map +1 -1
- package/src/lib/regular-table/regular-table-options.config.d.ts.map +1 -1
- package/src/lib/route-map/route-map-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/schemas/dashboard-state.schema.d.ts +2 -2
- package/src/lib/shared/schemas/screen-mode.schema.d.ts +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/info-tooltip-options.config.d.ts +6 -0
- package/src/lib/shared/utils/info-tooltip-options.config.d.ts.map +1 -0
- package/src/lib/shared/utils/info-tooltip-options.i18n.d.ts +3 -0
- package/src/lib/shared/utils/info-tooltip-options.i18n.d.ts.map +1 -0
- package/src/lib/shared/utils/options-loader.d.ts.map +1 -1
- package/src/lib/speedometer-chart/speedometer-chart-options.config.d.ts.map +1 -1
- package/src/lib/spike-map/spike-map-options.config.d.ts.map +1 -1
- package/src/lib/strip-plot/strip-plot-options.config.d.ts.map +1 -1
- package/src/lib/sunburst-chart/sunburst-chart-options.config.d.ts.map +1 -1
- package/src/lib/symbol-map/symbol-map-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/strip-plot/strip-plot-options.config.cjs +1 -1
- package/strip-plot/strip-plot-options.config.cjs.map +1 -1
- package/strip-plot/strip-plot-options.config.js +4 -3
- package/strip-plot/strip-plot-options.config.js.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/symbol-map/symbol-map-options.config.cjs +1 -1
- package/symbol-map/symbol-map-options.config.cjs.map +1 -1
- package/symbol-map/symbol-map-options.config.js +7 -5
- package/symbol-map/symbol-map-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 +180 -175
- 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 +67 -62
- package/wordcloud-chart/wordcloud-chart-options.config.js.map +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=e=>!e||typeof e!=`object`||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`string`&&e[1].trim().length>0)),t=(t,n)=>{let r=e(n),i=t.annotate&&typeof t.annotate==`object`?t.annotate:{},a=i.infoTooltip&&typeof i.infoTooltip==`object`?i.infoTooltip:{};if(Object.keys(r).length>0)return{...t,annotate:{...i,infoTooltip:{...a,content:r}}};let{infoTooltip:o,...s}=i,c={...t};return delete c.annotate,Object.keys(s).length>0?{...c,annotate:s}:c},n=({options:e})=>Object.values(e?.annotate?.infoTooltip?.content??{}).some(e=>typeof e==`string`&&e.trim().length>0),r=()=>({key:`informationTooltip`,type:`group`,open:!1,children:[{key:`annotate.infoTooltip.content`,control:{type:`multi-language-field`,toOptions:({options:e,value:n})=>t(e,n)}},{key:`annotate.infoTooltip.position`,control:{type:`position-picker`,default:`left`,enum:[`left`,`right`]},visibleIf:n}]});exports.createInfoTooltipOptionsGroup=r;
|
|
2
|
+
//# sourceMappingURL=info-tooltip-options.config.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-tooltip-options.config.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/info-tooltip-options.config.ts"],"sourcesContent":["import type { InfoTooltipViewOptions } from '../types/info-tooltip-options';\nimport type { OptionConfig, OptionsConfigContext } from './options-config.types';\n\ntype InfoTooltipConfigContext = OptionsConfigContext<InfoTooltipViewOptions>;\n\nconst nonEmptyContent = (value: unknown): Record<string, string> => {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return {};\n }\n\n return Object.fromEntries(\n Object.entries(value).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string' && entry[1].trim().length > 0\n )\n );\n};\n\nconst updateInfoTooltipContent = (\n options: InfoTooltipViewOptions & Record<string, unknown>,\n value: unknown\n): InfoTooltipViewOptions & Record<string, unknown> => {\n const content = nonEmptyContent(value);\n const annotate = options.annotate && typeof options.annotate === 'object' ? options.annotate : {};\n const infoTooltip = annotate.infoTooltip && typeof annotate.infoTooltip === 'object' ? annotate.infoTooltip : {};\n\n if (Object.keys(content).length > 0) {\n return {\n ...options,\n annotate: {\n ...annotate,\n infoTooltip: {\n ...infoTooltip,\n content\n }\n }\n };\n }\n\n const { infoTooltip: ignoredInfoTooltip, ...remainingAnnotate } = annotate;\n const nextOptions = { ...options };\n\n delete nextOptions.annotate;\n\n return Object.keys(remainingAnnotate).length > 0 ? { ...nextOptions, annotate: remainingAnnotate } : nextOptions;\n};\n\nconst hasInfoTooltipContent = ({ options }: InfoTooltipConfigContext): boolean =>\n Object.values(options?.annotate?.infoTooltip?.content ?? {}).some(\n (content) => typeof content === 'string' && content.trim().length > 0\n );\n\nexport const createInfoTooltipOptionsGroup = <TContext extends InfoTooltipConfigContext>(): OptionConfig<TContext> => ({\n key: 'informationTooltip',\n type: 'group',\n open: false,\n children: [\n {\n key: 'annotate.infoTooltip.content',\n control: {\n type: 'multi-language-field',\n toOptions: ({\n options,\n value\n }: {\n options: InfoTooltipViewOptions & Record<string, unknown>;\n value: unknown;\n }) => updateInfoTooltipContent(options, value)\n }\n },\n {\n key: 'annotate.infoTooltip.position',\n control: {\n type: 'position-picker',\n default: 'left',\n enum: ['left', 'right']\n },\n visibleIf: hasInfoTooltipContent\n }\n ]\n});\n"],"mappings":"AAKA,IAAM,EAAmB,GACnB,CAAC,GAAS,OAAO,GAAU,UAAY,MAAM,QAAQ,CAAK,EACrD,CAAC,EAGH,OAAO,YACZ,OAAO,QAAQ,CAAK,CAAC,CAAC,OACnB,GAAqC,OAAO,EAAM,IAAO,UAAY,EAAM,EAAE,CAAC,KAAK,CAAC,CAAC,OAAS,CACjG,CACF,EAGI,GACJ,EACA,IACqD,CACrD,IAAM,EAAU,EAAgB,CAAK,EAC/B,EAAW,EAAQ,UAAY,OAAO,EAAQ,UAAa,SAAW,EAAQ,SAAW,CAAC,EAC1F,EAAc,EAAS,aAAe,OAAO,EAAS,aAAgB,SAAW,EAAS,YAAc,CAAC,EAE/G,GAAI,OAAO,KAAK,CAAO,CAAC,CAAC,OAAS,EAChC,MAAO,CACL,GAAG,EACH,SAAU,CACR,GAAG,EACH,YAAa,CACX,GAAG,EACH,SACF,CACF,CACF,EAGF,GAAM,CAAE,YAAa,EAAoB,GAAG,GAAsB,EAC5D,EAAc,CAAE,GAAG,CAAQ,EAIjC,OAFA,OAAO,EAAY,SAEZ,OAAO,KAAK,CAAiB,CAAC,CAAC,OAAS,EAAI,CAAE,GAAG,EAAa,SAAU,CAAkB,EAAI,CACvG,EAEM,GAAyB,CAAE,aAC/B,OAAO,OAAO,GAAS,UAAU,aAAa,SAAW,CAAC,CAAC,CAAC,CAAC,KAC1D,GAAY,OAAO,GAAY,UAAY,EAAQ,KAAK,CAAC,CAAC,OAAS,CACtE,EAEW,OAA0G,CACrH,IAAK,qBACL,KAAM,QACN,KAAM,GACN,SAAU,CACR,CACE,IAAK,+BACL,QAAS,CACP,KAAM,uBACN,WAAY,CACV,UACA,WAII,EAAyB,EAAS,CAAK,CAC/C,CACF,EACA,CACE,IAAK,gCACL,QAAS,CACP,KAAM,kBACN,QAAS,OACT,KAAM,CAAC,OAAQ,OAAO,CACxB,EACA,UAAW,CACb,CACF,CACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/lib/shared/utils/info-tooltip-options.config.ts
|
|
2
|
+
var e = (e) => !e || typeof e != "object" || Array.isArray(e) ? {} : Object.fromEntries(Object.entries(e).filter((e) => typeof e[1] == "string" && e[1].trim().length > 0)), t = (t, n) => {
|
|
3
|
+
let r = e(n), i = t.annotate && typeof t.annotate == "object" ? t.annotate : {}, a = i.infoTooltip && typeof i.infoTooltip == "object" ? i.infoTooltip : {};
|
|
4
|
+
if (Object.keys(r).length > 0) return {
|
|
5
|
+
...t,
|
|
6
|
+
annotate: {
|
|
7
|
+
...i,
|
|
8
|
+
infoTooltip: {
|
|
9
|
+
...a,
|
|
10
|
+
content: r
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
let { infoTooltip: o, ...s } = i, c = { ...t };
|
|
15
|
+
return delete c.annotate, Object.keys(s).length > 0 ? {
|
|
16
|
+
...c,
|
|
17
|
+
annotate: s
|
|
18
|
+
} : c;
|
|
19
|
+
}, n = ({ options: e }) => Object.values(e?.annotate?.infoTooltip?.content ?? {}).some((e) => typeof e == "string" && e.trim().length > 0), r = () => ({
|
|
20
|
+
key: "informationTooltip",
|
|
21
|
+
type: "group",
|
|
22
|
+
open: !1,
|
|
23
|
+
children: [{
|
|
24
|
+
key: "annotate.infoTooltip.content",
|
|
25
|
+
control: {
|
|
26
|
+
type: "multi-language-field",
|
|
27
|
+
toOptions: ({ options: e, value: n }) => t(e, n)
|
|
28
|
+
}
|
|
29
|
+
}, {
|
|
30
|
+
key: "annotate.infoTooltip.position",
|
|
31
|
+
control: {
|
|
32
|
+
type: "position-picker",
|
|
33
|
+
default: "left",
|
|
34
|
+
enum: ["left", "right"]
|
|
35
|
+
},
|
|
36
|
+
visibleIf: n
|
|
37
|
+
}]
|
|
38
|
+
});
|
|
39
|
+
//#endregion
|
|
40
|
+
export { r as createInfoTooltipOptionsGroup };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=info-tooltip-options.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-tooltip-options.config.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/info-tooltip-options.config.ts"],"sourcesContent":["import type { InfoTooltipViewOptions } from '../types/info-tooltip-options';\nimport type { OptionConfig, OptionsConfigContext } from './options-config.types';\n\ntype InfoTooltipConfigContext = OptionsConfigContext<InfoTooltipViewOptions>;\n\nconst nonEmptyContent = (value: unknown): Record<string, string> => {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return {};\n }\n\n return Object.fromEntries(\n Object.entries(value).filter(\n (entry): entry is [string, string] => typeof entry[1] === 'string' && entry[1].trim().length > 0\n )\n );\n};\n\nconst updateInfoTooltipContent = (\n options: InfoTooltipViewOptions & Record<string, unknown>,\n value: unknown\n): InfoTooltipViewOptions & Record<string, unknown> => {\n const content = nonEmptyContent(value);\n const annotate = options.annotate && typeof options.annotate === 'object' ? options.annotate : {};\n const infoTooltip = annotate.infoTooltip && typeof annotate.infoTooltip === 'object' ? annotate.infoTooltip : {};\n\n if (Object.keys(content).length > 0) {\n return {\n ...options,\n annotate: {\n ...annotate,\n infoTooltip: {\n ...infoTooltip,\n content\n }\n }\n };\n }\n\n const { infoTooltip: ignoredInfoTooltip, ...remainingAnnotate } = annotate;\n const nextOptions = { ...options };\n\n delete nextOptions.annotate;\n\n return Object.keys(remainingAnnotate).length > 0 ? { ...nextOptions, annotate: remainingAnnotate } : nextOptions;\n};\n\nconst hasInfoTooltipContent = ({ options }: InfoTooltipConfigContext): boolean =>\n Object.values(options?.annotate?.infoTooltip?.content ?? {}).some(\n (content) => typeof content === 'string' && content.trim().length > 0\n );\n\nexport const createInfoTooltipOptionsGroup = <TContext extends InfoTooltipConfigContext>(): OptionConfig<TContext> => ({\n key: 'informationTooltip',\n type: 'group',\n open: false,\n children: [\n {\n key: 'annotate.infoTooltip.content',\n control: {\n type: 'multi-language-field',\n toOptions: ({\n options,\n value\n }: {\n options: InfoTooltipViewOptions & Record<string, unknown>;\n value: unknown;\n }) => updateInfoTooltipContent(options, value)\n }\n },\n {\n key: 'annotate.infoTooltip.position',\n control: {\n type: 'position-picker',\n default: 'left',\n enum: ['left', 'right']\n },\n visibleIf: hasInfoTooltipContent\n }\n ]\n});\n"],"mappings":";AAKA,IAAM,KAAmB,MACnB,CAAC,KAAS,OAAO,KAAU,YAAY,MAAM,QAAQ,CAAK,IACrD,CAAC,IAGH,OAAO,YACZ,OAAO,QAAQ,CAAK,CAAC,CAAC,QACnB,MAAqC,OAAO,EAAM,MAAO,YAAY,EAAM,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CACjG,CACF,GAGI,KACJ,GACA,MACqD;CACrD,IAAM,IAAU,EAAgB,CAAK,GAC/B,IAAW,EAAQ,YAAY,OAAO,EAAQ,YAAa,WAAW,EAAQ,WAAW,CAAC,GAC1F,IAAc,EAAS,eAAe,OAAO,EAAS,eAAgB,WAAW,EAAS,cAAc,CAAC;CAE/G,IAAI,OAAO,KAAK,CAAO,CAAC,CAAC,SAAS,GAChC,OAAO;EACL,GAAG;EACH,UAAU;GACR,GAAG;GACH,aAAa;IACX,GAAG;IACH;GACF;EACF;CACF;CAGF,IAAM,EAAE,aAAa,GAAoB,GAAG,MAAsB,GAC5D,IAAc,EAAE,GAAG,EAAQ;CAIjC,OAFA,OAAO,EAAY,UAEZ,OAAO,KAAK,CAAiB,CAAC,CAAC,SAAS,IAAI;EAAE,GAAG;EAAa,UAAU;CAAkB,IAAI;AACvG,GAEM,KAAyB,EAAE,iBAC/B,OAAO,OAAO,GAAS,UAAU,aAAa,WAAW,CAAC,CAAC,CAAC,CAAC,MAC1D,MAAY,OAAO,KAAY,YAAY,EAAQ,KAAK,CAAC,CAAC,SAAS,CACtE,GAEW,WAA0G;CACrH,KAAK;CACL,MAAM;CACN,MAAM;CACN,UAAU,CACR;EACE,KAAK;EACL,SAAS;GACP,MAAM;GACN,YAAY,EACV,YACA,eAII,EAAyB,GAAS,CAAK;EAC/C;CACF,GACA;EACE,KAAK;EACL,SAAS;GACP,MAAM;GACN,SAAS;GACT,MAAM,CAAC,QAAQ,OAAO;EACxB;EACA,WAAW;CACb,CACF;AACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={de:{groups:{informationTooltip:{label:`Informations-Tooltip`}},options:{"annotate.infoTooltip.content":{label:`Inhalt`,placeholder:`Tooltip-Inhalt eingeben`},"annotate.infoTooltip.position":{label:`Position`}}},en:{groups:{informationTooltip:{label:`Information tooltip`}},options:{"annotate.infoTooltip.content":{label:`Content`,placeholder:`Enter tooltip content`},"annotate.infoTooltip.position":{label:`Position`}}},es:{groups:{informationTooltip:{label:`Tooltip de información`}},options:{"annotate.infoTooltip.content":{label:`Contenido`,placeholder:`Introduce el contenido del tooltip`},"annotate.infoTooltip.position":{label:`Posición`}}},fr:{groups:{informationTooltip:{label:`Infobulle d’information`}},options:{"annotate.infoTooltip.content":{label:`Contenu`,placeholder:`Saisissez le contenu de l’infobulle`},"annotate.infoTooltip.position":{label:`Position`}}},nl:{groups:{informationTooltip:{label:`Informatietooltip`}},options:{"annotate.infoTooltip.content":{label:`Inhoud`,placeholder:`Voer tooltipinhoud in`},"annotate.infoTooltip.position":{label:`Positie`}}}},t=t=>e[t]??e.en;exports.getInfoTooltipTranslations=t;
|
|
2
|
+
//# sourceMappingURL=info-tooltip-options.i18n.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-tooltip-options.i18n.cjs","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/info-tooltip-options.i18n.ts"],"sourcesContent":["import type { TranslationsFile } from './options-config.types';\n\nconst translationsByLanguage: Record<string, TranslationsFile> = {\n de: {\n groups: { informationTooltip: { label: 'Informations-Tooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Inhalt', placeholder: 'Tooltip-Inhalt eingeben' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n en: {\n groups: { informationTooltip: { label: 'Information tooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Content', placeholder: 'Enter tooltip content' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n es: {\n groups: { informationTooltip: { label: 'Tooltip de información' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Contenido', placeholder: 'Introduce el contenido del tooltip' },\n 'annotate.infoTooltip.position': { label: 'Posición' }\n }\n },\n fr: {\n groups: { informationTooltip: { label: 'Infobulle d’information' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Contenu', placeholder: 'Saisissez le contenu de l’infobulle' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n nl: {\n groups: { informationTooltip: { label: 'Informatietooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Inhoud', placeholder: 'Voer tooltipinhoud in' },\n 'annotate.infoTooltip.position': { label: 'Positie' }\n }\n }\n};\n\nexport const getInfoTooltipTranslations = (language: string): TranslationsFile =>\n translationsByLanguage[language] ?? translationsByLanguage['en'];\n"],"mappings":"AAEA,IAAM,EAA2D,CAC/D,GAAI,CACF,OAAQ,CAAE,mBAAoB,CAAE,MAAO,sBAAuB,CAAE,EAChE,QAAS,CACP,+BAAgC,CAAE,MAAO,SAAU,YAAa,yBAA0B,EAC1F,gCAAiC,CAAE,MAAO,UAAW,CACvD,CACF,EACA,GAAI,CACF,OAAQ,CAAE,mBAAoB,CAAE,MAAO,qBAAsB,CAAE,EAC/D,QAAS,CACP,+BAAgC,CAAE,MAAO,UAAW,YAAa,uBAAwB,EACzF,gCAAiC,CAAE,MAAO,UAAW,CACvD,CACF,EACA,GAAI,CACF,OAAQ,CAAE,mBAAoB,CAAE,MAAO,wBAAyB,CAAE,EAClE,QAAS,CACP,+BAAgC,CAAE,MAAO,YAAa,YAAa,oCAAqC,EACxG,gCAAiC,CAAE,MAAO,UAAW,CACvD,CACF,EACA,GAAI,CACF,OAAQ,CAAE,mBAAoB,CAAE,MAAO,yBAA0B,CAAE,EACnE,QAAS,CACP,+BAAgC,CAAE,MAAO,UAAW,YAAa,qCAAsC,EACvG,gCAAiC,CAAE,MAAO,UAAW,CACvD,CACF,EACA,GAAI,CACF,OAAQ,CAAE,mBAAoB,CAAE,MAAO,mBAAoB,CAAE,EAC7D,QAAS,CACP,+BAAgC,CAAE,MAAO,SAAU,YAAa,uBAAwB,EACxF,gCAAiC,CAAE,MAAO,SAAU,CACtD,CACF,CACF,EAEa,EAA8B,GACzC,EAAuB,IAAa,EAAuB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
//#region src/lib/shared/utils/info-tooltip-options.i18n.ts
|
|
2
|
+
var e = {
|
|
3
|
+
de: {
|
|
4
|
+
groups: { informationTooltip: { label: "Informations-Tooltip" } },
|
|
5
|
+
options: {
|
|
6
|
+
"annotate.infoTooltip.content": {
|
|
7
|
+
label: "Inhalt",
|
|
8
|
+
placeholder: "Tooltip-Inhalt eingeben"
|
|
9
|
+
},
|
|
10
|
+
"annotate.infoTooltip.position": { label: "Position" }
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
en: {
|
|
14
|
+
groups: { informationTooltip: { label: "Information tooltip" } },
|
|
15
|
+
options: {
|
|
16
|
+
"annotate.infoTooltip.content": {
|
|
17
|
+
label: "Content",
|
|
18
|
+
placeholder: "Enter tooltip content"
|
|
19
|
+
},
|
|
20
|
+
"annotate.infoTooltip.position": { label: "Position" }
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
es: {
|
|
24
|
+
groups: { informationTooltip: { label: "Tooltip de información" } },
|
|
25
|
+
options: {
|
|
26
|
+
"annotate.infoTooltip.content": {
|
|
27
|
+
label: "Contenido",
|
|
28
|
+
placeholder: "Introduce el contenido del tooltip"
|
|
29
|
+
},
|
|
30
|
+
"annotate.infoTooltip.position": { label: "Posición" }
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
fr: {
|
|
34
|
+
groups: { informationTooltip: { label: "Infobulle d’information" } },
|
|
35
|
+
options: {
|
|
36
|
+
"annotate.infoTooltip.content": {
|
|
37
|
+
label: "Contenu",
|
|
38
|
+
placeholder: "Saisissez le contenu de l’infobulle"
|
|
39
|
+
},
|
|
40
|
+
"annotate.infoTooltip.position": { label: "Position" }
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
nl: {
|
|
44
|
+
groups: { informationTooltip: { label: "Informatietooltip" } },
|
|
45
|
+
options: {
|
|
46
|
+
"annotate.infoTooltip.content": {
|
|
47
|
+
label: "Inhoud",
|
|
48
|
+
placeholder: "Voer tooltipinhoud in"
|
|
49
|
+
},
|
|
50
|
+
"annotate.infoTooltip.position": { label: "Positie" }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, t = (t) => e[t] ?? e.en;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { t as getInfoTooltipTranslations };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=info-tooltip-options.i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-tooltip-options.i18n.js","names":[],"sources":["../../../../../libs/dashboard-contents-types/src/lib/shared/utils/info-tooltip-options.i18n.ts"],"sourcesContent":["import type { TranslationsFile } from './options-config.types';\n\nconst translationsByLanguage: Record<string, TranslationsFile> = {\n de: {\n groups: { informationTooltip: { label: 'Informations-Tooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Inhalt', placeholder: 'Tooltip-Inhalt eingeben' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n en: {\n groups: { informationTooltip: { label: 'Information tooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Content', placeholder: 'Enter tooltip content' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n es: {\n groups: { informationTooltip: { label: 'Tooltip de información' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Contenido', placeholder: 'Introduce el contenido del tooltip' },\n 'annotate.infoTooltip.position': { label: 'Posición' }\n }\n },\n fr: {\n groups: { informationTooltip: { label: 'Infobulle d’information' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Contenu', placeholder: 'Saisissez le contenu de l’infobulle' },\n 'annotate.infoTooltip.position': { label: 'Position' }\n }\n },\n nl: {\n groups: { informationTooltip: { label: 'Informatietooltip' } },\n options: {\n 'annotate.infoTooltip.content': { label: 'Inhoud', placeholder: 'Voer tooltipinhoud in' },\n 'annotate.infoTooltip.position': { label: 'Positie' }\n }\n }\n};\n\nexport const getInfoTooltipTranslations = (language: string): TranslationsFile =>\n translationsByLanguage[language] ?? translationsByLanguage['en'];\n"],"mappings":";AAEA,IAAM,IAA2D;CAC/D,IAAI;EACF,QAAQ,EAAE,oBAAoB,EAAE,OAAO,uBAAuB,EAAE;EAChE,SAAS;GACP,gCAAgC;IAAE,OAAO;IAAU,aAAa;GAA0B;GAC1F,iCAAiC,EAAE,OAAO,WAAW;EACvD;CACF;CACA,IAAI;EACF,QAAQ,EAAE,oBAAoB,EAAE,OAAO,sBAAsB,EAAE;EAC/D,SAAS;GACP,gCAAgC;IAAE,OAAO;IAAW,aAAa;GAAwB;GACzF,iCAAiC,EAAE,OAAO,WAAW;EACvD;CACF;CACA,IAAI;EACF,QAAQ,EAAE,oBAAoB,EAAE,OAAO,yBAAyB,EAAE;EAClE,SAAS;GACP,gCAAgC;IAAE,OAAO;IAAa,aAAa;GAAqC;GACxG,iCAAiC,EAAE,OAAO,WAAW;EACvD;CACF;CACA,IAAI;EACF,QAAQ,EAAE,oBAAoB,EAAE,OAAO,0BAA0B,EAAE;EACnE,SAAS;GACP,gCAAgC;IAAE,OAAO;IAAW,aAAa;GAAsC;GACvG,iCAAiC,EAAE,OAAO,WAAW;EACvD;CACF;CACA,IAAI;EACF,QAAQ,EAAE,oBAAoB,EAAE,OAAO,oBAAoB,EAAE;EAC7D,SAAS;GACP,gCAAgC;IAAE,OAAO;IAAU,aAAa;GAAwB;GACxF,iCAAiC,EAAE,OAAO,UAAU;EACtD;CACF;AACF,GAEa,KAA8B,MACzC,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}=await Promise.resolve().then(()=>require("./axis-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}]=await Promise.all([Promise.resolve().then(()=>require("./axis-options.i18n.cjs")),Promise.resolve().then(()=>require("./info-tooltip-options.i18n.cjs"))]),c=o(n),l=s(n);return{...a.default,groups:{...c.groups,...l.groups,...a.default.groups},options:{...c.options,...l.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
|
|
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 axisTranslations = getAxisTranslations(language);\n const infoTooltipTranslations = getInfoTooltipTranslations(language);\n\n return {\n ...module.default,\n groups: { ...axisTranslations.groups, ...infoTooltipTranslations.groups, ...module.default.groups },\n options: { ...axisTranslations.options, ...infoTooltipTranslations.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,+BAAgC,MAAM,QAAQ,IAAI,CAAA,QAAA,QAAA,CAAA,CAAA,SAAA,QAClF,yBAAA,CAAA,EAAA,QAAA,QAAA,CAAA,CAAA,SAAA,QACA,iCAAA,CAAA,CACF,CAAC,EACK,EAAmB,EAAoB,CAAQ,EAC/C,EAA0B,EAA2B,CAAQ,EAEnE,MAAO,CACL,GAAG,EAAO,QACV,OAAQ,CAAE,GAAG,EAAiB,OAAQ,GAAG,EAAwB,OAAQ,GAAG,EAAO,QAAQ,MAAO,EAClG,QAAS,CAAE,GAAG,EAAiB,QAAS,GAAG,EAAwB,QAAS,GAAG,EAAO,QAAQ,OAAQ,CACxG,CACF,MACM,CACJ,OAAO,IACT,CACF"}
|
|
@@ -14,15 +14,17 @@ 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 } = await import("./axis-options.i18n.js"),
|
|
17
|
+
let [{ getAxisTranslations: o }, { getInfoTooltipTranslations: s }] = await Promise.all([import("./axis-options.i18n.js"), import("./info-tooltip-options.i18n.js")]), c = o(n), l = s(n);
|
|
18
18
|
return {
|
|
19
19
|
...a.default,
|
|
20
20
|
groups: {
|
|
21
|
-
...
|
|
21
|
+
...c.groups,
|
|
22
|
+
...l.groups,
|
|
22
23
|
...a.default.groups
|
|
23
24
|
},
|
|
24
25
|
options: {
|
|
25
|
-
...
|
|
26
|
+
...c.options,
|
|
27
|
+
...l.options,
|
|
26
28
|
...a.default.options
|
|
27
29
|
}
|
|
28
30
|
};
|
|
@@ -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
|
|
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 axisTranslations = getAxisTranslations(language);\n const infoTooltipTranslations = getInfoTooltipTranslations(language);\n\n return {\n ...module.default,\n groups: { ...axisTranslations.groups, ...infoTooltipTranslations.groups, ...module.default.groups },\n options: { ...axisTranslations.options, ...infoTooltipTranslations.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,mCAAgC,MAAM,QAAQ,IAAI,CAClF,OAAO,2BACP,OAAO,iCACT,CAAC,GACK,IAAmB,EAAoB,CAAQ,GAC/C,IAA0B,EAA2B,CAAQ;EAEnE,OAAO;GACL,GAAG,EAAO;GACV,QAAQ;IAAE,GAAG,EAAiB;IAAQ,GAAG,EAAwB;IAAQ,GAAG,EAAO,QAAQ;GAAO;GAClG,SAAS;IAAE,GAAG,EAAiB;IAAS,GAAG,EAAwB;IAAS,GAAG,EAAO,QAAQ;GAAQ;EACxG;CACF,QACM;EACJ,OAAO;CACT;AACF"}
|
|
@@ -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");var n=e=>e?.find(e=>e?.name===`target`)?.content?.length===0&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)>0,r=[{color:`#ff0000`,value:0},{color:`#ffa500`,value:25},{color:`#ffff00`,value:50},{color:`#008000`,value:75},{color:`#006400`,value:100}],i=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!1}},{key:`display.meterValue`,control:{type:`switch`,label:`Value`,default:!0}},{key:`display.meterLabel`,control:{type:`switch`,label:`Label`,default:!0}},{key:`display.ticks`,control:{type:`switch`,label:`Ticks`,default:!0}},{key:`degrees`,control:{type:`slider`,label:`Arc size`,default:230,min:180,max:360,step:1}},{key:`arcWidth`,control:{type:`slider`,label:`Gauge width`,default:.08,min:.02,max:.7,step:.01}},{type:`divider`},{key:`manualValues.display`,control:{type:`picker`,label:`Ticks display`,default:`absolute`,enum:[`absolute`,`percentage`]}},{key:`manualValues.mode`,control:{type:`picker`,label:`Range type`,default:`relative`,enum:[`relative`,`absolute`],toOptions:({options:e,value:t})=>{let n=e?.manualValues?.mode??`relative`,r={...e,manualValues:{...e.manualValues,mode:t}};if(t===`absolute`&&n===`relative`&&r.manualValues?.ranges&&r.manualValues?.target){let e=r.manualValues.target;r.manualValues.ranges=r.manualValues.ranges.map(t=>({...t,val:typeof t.val==`number`?t.val*e/100:t.val}))}else t===`relative`&&n===`absolute`&&r.manualValues?.ranges?.length&&(r.manualValues.target=r.manualValues.ranges.at(-1)?.val,r.manualValues.ranges=r.manualValues.ranges.map(e=>({...e,value:typeof e.val==`number`&&r.manualValues?.target?e.val*100/r.manualValues.target:e.val})));return r}}},{key:`manualValues.target`,control:{type:`number-field`,label:`Manual target`,placeholder:`Target value`,minWidthInputField:`150px`},visibleIf:({options:e,slots:t})=>e?.manualValues?.mode!==`absolute`&&n(t)},{key:`manualValues.ranges`,control:{type:`color-range`,editRangeSize:!0,minimumRangeSize:2,percentage:({options:e})=>e?.manualValues?.mode!==`absolute`,noAlphaChannel:!0,hideLabel:!0,label:`Color ranges`,default:()=>structuredClone(r),parseValue:e=>e?.map(e=>({color:e?.color,value:e?.value??e?.val})),toValue:e=>e?.map(e=>({color:e?.color,val:e?.value}))}}]},{key:`marker`,type:`group`,open:!1,children:[{key:`marker.type`,control:{type:`picker`,label:`Marker type`,default:`innerBand`,enum:[`needle`,`line`,`inside`,`outside`,`centerBand`,`innerBand`]}},{key:`marker.color`,control:{type:`color-picker`,label:`Marker color`,default:({theme:t})=>e.getThemeAxisColor(t),extraLabel:({options:t,theme:n})=>e.getThemeAxisColorResetLabel(t,n,`marker.color`),extraLabelHasClickAction:({options:t,theme:n})=>e.getThemeAxisColorExtraLabelHasClickAction(t,n,`marker.color`),extraLabelClickAction:({options:t,theme:n})=>e.getThemeAxisColorExtraLabelClickAction(t,n,`marker.color`)},visibleIf:({options:e})=>e?.marker?.type&&e?.marker?.type!==`innerBand`},{key:`marker.centerBandWidth`,control:{type:`slider`,label:`Marker width`,default:.34,min:.1,max:1,step:.01},visibleIf:({options:e})=>e?.marker?.type&&e?.marker?.type===`centerBand`},{key:`marker.lineWidth`,control:{type:`slider`,label:`Line width`,default:2,min:1,max:10,step:1},visibleIf:({options:e})=>e?.marker?.type&&e?.marker?.type===`line`},{key:`marker.arrowSize`,control:{type:`slider`,label:`Arrow size`,default:.05,min:.05,max:.2,step:.01},visibleIf:({options:e})=>e?.marker?.type&&[`inside`,`outside`].includes(e?.marker?.type)}]},t.createInfoTooltipOptionsGroup()];exports.default=i;
|
|
2
2
|
//# sourceMappingURL=speedometer-chart-options.config.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speedometer-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/speedometer-chart/speedometer-chart-options.config.ts"],"sourcesContent":["import {\n getThemeAxisColor,\n getThemeAxisColorExtraLabelClickAction,\n getThemeAxisColorExtraLabelHasClickAction,\n getThemeAxisColorResetLabel\n} from '../helpers';\nimport type { ManualValuesRange } from '../shared/types/ranges';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SpeedometerChartViewOptions } from './speedometer-chart-options';\nimport type { SpeedometerChartSlots } from './speedometer-chart-slots';\n\ntype SpeedometerChartConfigContext = OptionsConfigContext<SpeedometerChartViewOptions, SpeedometerChartSlots>;\ntype SpeedometerChartConfigValue<T> = SpeedometerChartConfigContext & { value: T };\ntype SpeedometerRange = ManualValuesRange & { value?: number };\n\nconst hasMeasureButNoTarget = (slots: SpeedometerChartConfigContext['slots']) => (\n slots?.find((slot) => slot?.name === 'target')?.content?.length === 0\n && (slots?.find((slot) => slot?.name === 'measure')?.content?.length ?? 0) > 0\n);\n\nconst defaultRangeValues = [\n { color: '#ff0000', value: 0 },\n { color: '#ffa500', value: 25 },\n { color: '#ffff00', value: 50 },\n { color: '#008000', value: 75 },\n { color: '#006400', value: 100 }\n];\n\nconst speedometerChartOptionsConfig: OptionsConfig<SpeedometerChartConfigContext> = [\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: false\n }\n },\n {\n key: 'display.meterValue',\n control: {\n type: 'switch',\n label: 'Value',\n default: true\n }\n },\n {\n key: 'display.meterLabel',\n control: {\n type: 'switch',\n label: 'Label',\n default: true\n }\n },\n {\n key: 'display.ticks',\n control: {\n type: 'switch',\n label: 'Ticks',\n default: true\n }\n },\n {\n key: 'degrees',\n control: {\n type: 'slider',\n label: 'Arc size',\n default: 230,\n min: 180,\n max: 360,\n step: 1\n }\n },\n {\n key: 'arcWidth',\n control: {\n type: 'slider',\n label: 'Gauge width',\n default: 0.08,\n min: 0.02,\n max: 0.7,\n step: 0.01\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'manualValues.display',\n control: {\n type: 'picker',\n label: 'Ticks display',\n default: 'absolute',\n enum: ['absolute', 'percentage']\n }\n },\n {\n key: 'manualValues.mode',\n control: {\n type: 'picker',\n label: 'Range type',\n default: 'relative',\n enum: ['relative', 'absolute'],\n toOptions: ({ options, value }: SpeedometerChartConfigValue<'relative' | 'absolute'>) => {\n const previousValue = options?.manualValues?.mode ?? 'relative';\n const opts: SpeedometerChartViewOptions = {\n ...options,\n manualValues: {\n ...options.manualValues,\n mode: value\n }\n };\n\n if (value === 'absolute' && previousValue === 'relative' && opts.manualValues?.ranges && opts.manualValues?.target) {\n const target = opts.manualValues.target;\n\n opts.manualValues.ranges = opts.manualValues.ranges.map((range: ManualValuesRange) => ({\n ...range,\n val: typeof range.val === 'number' ? (range.val * target) / 100 : range.val\n }));\n }\n else if (value === 'relative' && previousValue === 'absolute' && opts.manualValues?.ranges?.length) {\n opts.manualValues.target = opts.manualValues.ranges.at(-1)?.val;\n opts.manualValues.ranges = opts.manualValues.ranges.map((range: ManualValuesRange) => ({\n ...range,\n value: typeof range.val === 'number' && opts.manualValues?.target\n ? (range.val * 100) / opts.manualValues.target\n : range.val\n }));\n }\n\n return opts;\n }\n }\n },\n {\n key: 'manualValues.target',\n control: {\n type: 'number-field',\n label: 'Manual target',\n placeholder: 'Target value',\n minWidthInputField: '150px'\n },\n visibleIf: ({ options, slots }: SpeedometerChartConfigContext) =>\n options?.manualValues?.mode !== 'absolute' && hasMeasureButNoTarget(slots)\n },\n {\n key: 'manualValues.ranges',\n control: {\n type: 'color-range',\n editRangeSize: true,\n minimumRangeSize: 2,\n percentage: ({ options }: SpeedometerChartConfigContext) => options?.manualValues?.mode !== 'absolute',\n noAlphaChannel: true,\n hideLabel: true,\n label: 'Color ranges',\n default: () => structuredClone(defaultRangeValues),\n parseValue: (value: SpeedometerRange[] | null | undefined) => value?.map((v) => ({\n color: v?.color,\n value: v?.value ?? v?.val\n })),\n toValue: (value: SpeedometerRange[] | null | undefined) => value?.map((v) => ({\n color: v?.color,\n val: v?.value\n }))\n }\n }\n ]\n },\n {\n key: 'marker',\n type: 'group',\n open: false,\n children: [\n {\n key: 'marker.type',\n control: {\n type: 'picker',\n label: 'Marker type',\n default: 'innerBand',\n enum: ['needle', 'line', 'inside', 'outside', 'centerBand', 'innerBand']\n }\n },\n {\n key: 'marker.color',\n control: {\n type: 'color-picker',\n label: 'Marker color',\n default: ({ theme }: SpeedometerChartConfigContext) => getThemeAxisColor(theme),\n extraLabel: ({ options, theme }: SpeedometerChartConfigContext) => getThemeAxisColorResetLabel(options, theme, 'marker.color'),\n extraLabelHasClickAction: ({ options, theme }: SpeedometerChartConfigContext) =>\n getThemeAxisColorExtraLabelHasClickAction(options, theme, 'marker.color'),\n extraLabelClickAction: ({ options, theme }: SpeedometerChartConfigContext) =>\n getThemeAxisColorExtraLabelClickAction(options, theme, 'marker.color')\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type !== 'innerBand'\n },\n {\n key: 'marker.centerBandWidth',\n control: {\n type: 'slider',\n label: 'Marker width',\n default: 0.34,\n min: 0.1,\n max: 1,\n step: 0.01\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type === 'centerBand'\n },\n {\n key: 'marker.lineWidth',\n control: {\n type: 'slider',\n label: 'Line width',\n default: 2,\n min: 1,\n max: 10,\n step: 1\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type === 'line'\n },\n {\n key: 'marker.arrowSize',\n control: {\n type: 'slider',\n label: 'Arrow size',\n default: 0.05,\n min: 0.05,\n max: 0.2,\n step: 0.01\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) =>\n options?.marker?.type && ['inside', 'outside'].includes(options?.marker?.type)\n }\n ]\n }\n];\n\nexport default speedometerChartOptionsConfig;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"speedometer-chart-options.config.cjs","names":[],"sources":["../../../../libs/dashboard-contents-types/src/lib/speedometer-chart/speedometer-chart-options.config.ts"],"sourcesContent":["import {\n getThemeAxisColor,\n getThemeAxisColorExtraLabelClickAction,\n getThemeAxisColorExtraLabelHasClickAction,\n getThemeAxisColorResetLabel\n} from '../helpers';\nimport type { ManualValuesRange } from '../shared/types/ranges';\nimport { createInfoTooltipOptionsGroup } from '../shared/utils/info-tooltip-options.config';\nimport type { OptionsConfig, OptionsConfigContext } from '../shared/utils/options-config.types';\nimport type { SpeedometerChartViewOptions } from './speedometer-chart-options';\nimport type { SpeedometerChartSlots } from './speedometer-chart-slots';\n\ntype SpeedometerChartConfigContext = OptionsConfigContext<SpeedometerChartViewOptions, SpeedometerChartSlots>;\ntype SpeedometerChartConfigValue<T> = SpeedometerChartConfigContext & { value: T };\ntype SpeedometerRange = ManualValuesRange & { value?: number };\n\nconst hasMeasureButNoTarget = (slots: SpeedometerChartConfigContext['slots']) => (\n slots?.find((slot) => slot?.name === 'target')?.content?.length === 0\n && (slots?.find((slot) => slot?.name === 'measure')?.content?.length ?? 0) > 0\n);\n\nconst defaultRangeValues = [\n { color: '#ff0000', value: 0 },\n { color: '#ffa500', value: 25 },\n { color: '#ffff00', value: 50 },\n { color: '#008000', value: 75 },\n { color: '#006400', value: 100 }\n];\n\nconst speedometerChartOptionsConfig: OptionsConfig<SpeedometerChartConfigContext> = [\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: false\n }\n },\n {\n key: 'display.meterValue',\n control: {\n type: 'switch',\n label: 'Value',\n default: true\n }\n },\n {\n key: 'display.meterLabel',\n control: {\n type: 'switch',\n label: 'Label',\n default: true\n }\n },\n {\n key: 'display.ticks',\n control: {\n type: 'switch',\n label: 'Ticks',\n default: true\n }\n },\n {\n key: 'degrees',\n control: {\n type: 'slider',\n label: 'Arc size',\n default: 230,\n min: 180,\n max: 360,\n step: 1\n }\n },\n {\n key: 'arcWidth',\n control: {\n type: 'slider',\n label: 'Gauge width',\n default: 0.08,\n min: 0.02,\n max: 0.7,\n step: 0.01\n }\n },\n {\n type: 'divider'\n },\n {\n key: 'manualValues.display',\n control: {\n type: 'picker',\n label: 'Ticks display',\n default: 'absolute',\n enum: ['absolute', 'percentage']\n }\n },\n {\n key: 'manualValues.mode',\n control: {\n type: 'picker',\n label: 'Range type',\n default: 'relative',\n enum: ['relative', 'absolute'],\n toOptions: ({ options, value }: SpeedometerChartConfigValue<'relative' | 'absolute'>) => {\n const previousValue = options?.manualValues?.mode ?? 'relative';\n const opts: SpeedometerChartViewOptions = {\n ...options,\n manualValues: {\n ...options.manualValues,\n mode: value\n }\n };\n\n if (value === 'absolute' && previousValue === 'relative' && opts.manualValues?.ranges && opts.manualValues?.target) {\n const target = opts.manualValues.target;\n\n opts.manualValues.ranges = opts.manualValues.ranges.map((range: ManualValuesRange) => ({\n ...range,\n val: typeof range.val === 'number' ? (range.val * target) / 100 : range.val\n }));\n }\n else if (value === 'relative' && previousValue === 'absolute' && opts.manualValues?.ranges?.length) {\n opts.manualValues.target = opts.manualValues.ranges.at(-1)?.val;\n opts.manualValues.ranges = opts.manualValues.ranges.map((range: ManualValuesRange) => ({\n ...range,\n value: typeof range.val === 'number' && opts.manualValues?.target\n ? (range.val * 100) / opts.manualValues.target\n : range.val\n }));\n }\n\n return opts;\n }\n }\n },\n {\n key: 'manualValues.target',\n control: {\n type: 'number-field',\n label: 'Manual target',\n placeholder: 'Target value',\n minWidthInputField: '150px'\n },\n visibleIf: ({ options, slots }: SpeedometerChartConfigContext) =>\n options?.manualValues?.mode !== 'absolute' && hasMeasureButNoTarget(slots)\n },\n {\n key: 'manualValues.ranges',\n control: {\n type: 'color-range',\n editRangeSize: true,\n minimumRangeSize: 2,\n percentage: ({ options }: SpeedometerChartConfigContext) => options?.manualValues?.mode !== 'absolute',\n noAlphaChannel: true,\n hideLabel: true,\n label: 'Color ranges',\n default: () => structuredClone(defaultRangeValues),\n parseValue: (value: SpeedometerRange[] | null | undefined) => value?.map((v) => ({\n color: v?.color,\n value: v?.value ?? v?.val\n })),\n toValue: (value: SpeedometerRange[] | null | undefined) => value?.map((v) => ({\n color: v?.color,\n val: v?.value\n }))\n }\n }\n ]\n },\n {\n key: 'marker',\n type: 'group',\n open: false,\n children: [\n {\n key: 'marker.type',\n control: {\n type: 'picker',\n label: 'Marker type',\n default: 'innerBand',\n enum: ['needle', 'line', 'inside', 'outside', 'centerBand', 'innerBand']\n }\n },\n {\n key: 'marker.color',\n control: {\n type: 'color-picker',\n label: 'Marker color',\n default: ({ theme }: SpeedometerChartConfigContext) => getThemeAxisColor(theme),\n extraLabel: ({ options, theme }: SpeedometerChartConfigContext) => getThemeAxisColorResetLabel(options, theme, 'marker.color'),\n extraLabelHasClickAction: ({ options, theme }: SpeedometerChartConfigContext) =>\n getThemeAxisColorExtraLabelHasClickAction(options, theme, 'marker.color'),\n extraLabelClickAction: ({ options, theme }: SpeedometerChartConfigContext) =>\n getThemeAxisColorExtraLabelClickAction(options, theme, 'marker.color')\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type !== 'innerBand'\n },\n {\n key: 'marker.centerBandWidth',\n control: {\n type: 'slider',\n label: 'Marker width',\n default: 0.34,\n min: 0.1,\n max: 1,\n step: 0.01\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type === 'centerBand'\n },\n {\n key: 'marker.lineWidth',\n control: {\n type: 'slider',\n label: 'Line width',\n default: 2,\n min: 1,\n max: 10,\n step: 1\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) => options?.marker?.type && options?.marker?.type === 'line'\n },\n {\n key: 'marker.arrowSize',\n control: {\n type: 'slider',\n label: 'Arrow size',\n default: 0.05,\n min: 0.05,\n max: 0.2,\n step: 0.01\n },\n visibleIf: ({ options }: SpeedometerChartConfigContext) =>\n options?.marker?.type && ['inside', 'outside'].includes(options?.marker?.type)\n }\n ]\n },\n createInfoTooltipOptionsGroup<SpeedometerChartConfigContext>()\n];\n\nexport default speedometerChartOptionsConfig;\n"],"mappings":"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"}
|