@c8y/ngx-components 1023.85.1 → 1023.88.2

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.
Files changed (84) hide show
  1. package/ai/agent-chat/index.d.ts.map +1 -1
  2. package/alarm-event-selector/index.d.ts +6 -0
  3. package/alarm-event-selector/index.d.ts.map +1 -1
  4. package/context-dashboard/index.d.ts +11 -1
  5. package/context-dashboard/index.d.ts.map +1 -1
  6. package/data-preparation/index.d.ts +10 -0
  7. package/data-preparation/index.d.ts.map +1 -0
  8. package/datapoint-selector/index.d.ts +2 -1
  9. package/datapoint-selector/index.d.ts.map +1 -1
  10. package/echart/index.d.ts +1 -0
  11. package/echart/index.d.ts.map +1 -1
  12. package/echart/models/index.d.ts +1 -0
  13. package/echart/models/index.d.ts.map +1 -1
  14. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +12 -2
  15. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -1
  16. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +90 -21
  17. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  18. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +10 -10
  19. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  20. package/fesm2022/c8y-ngx-components-data-preparation.mjs +63 -0
  21. package/fesm2022/c8y-ngx-components-data-preparation.mjs.map +1 -0
  22. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +14 -12
  23. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-echart.mjs +102 -44
  26. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-global-context.mjs +2 -2
  28. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-icon-selector.mjs +2 -2
  30. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +1 -1
  32. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +6 -6
  34. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs +3 -3
  36. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-list.mjs.map +1 -1
  37. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +1 -1
  38. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  39. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs +2 -2
  40. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs.map +1 -1
  41. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +1 -1
  42. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  43. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +30 -6
  44. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  45. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +4 -4
  46. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  47. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +3 -3
  48. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  49. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -2
  50. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-widgets-definitions-pie-chart.mjs +3 -3
  54. package/fesm2022/c8y-ngx-components-widgets-definitions-pie-chart.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +3 -3
  56. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +3 -3
  58. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -2
  60. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +2 -2
  62. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +2 -2
  64. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +3 -3
  66. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +2 -2
  68. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +2 -2
  70. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +2 -2
  72. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +10 -9
  74. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +2 -2
  76. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components.mjs +32 -10
  78. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  79. package/index.d.ts +1 -0
  80. package/index.d.ts.map +1 -1
  81. package/locales/locales.pot +39 -0
  82. package/package.json +1 -1
  83. package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
  84. package/widgets/implementations/pie-chart/index.d.ts.map +1 -1
@@ -60,9 +60,32 @@ const DEFAULT_FORM_CONFIG = {
60
60
  };
61
61
  const DATAPOINTS_GAUGE_CONTROL_NAME = 'datapointsGauge';
62
62
  const DATAPOINTS_LABELS_CONTROL_NAME = 'datapointsLabels';
63
+ const MISSING_RANGE_ERROR_KEY = 'gaugeDatapointMissingRange';
64
+ function gaugeDatapointHasRange(controlName) {
65
+ const validatorFn = (formGroup) => {
66
+ if (!(formGroup instanceof FormGroup))
67
+ return null;
68
+ const control = formGroup.get(controlName);
69
+ const datapoints = control?.value;
70
+ if (!Array.isArray(datapoints))
71
+ return null;
72
+ const activeGauge = datapoints.find(dp => dp?.__active);
73
+ if (!activeGauge)
74
+ return null;
75
+ const min = Number(activeGauge.min);
76
+ const max = Number(activeGauge.max);
77
+ const hasRange = Number.isFinite(min) && Number.isFinite(max) && min !== max;
78
+ return hasRange ? null : { [MISSING_RANGE_ERROR_KEY]: true };
79
+ };
80
+ validatorFn.controlNames = [controlName];
81
+ return validatorFn;
82
+ }
63
83
  const minActiveDataPointError = {
64
84
  [AT_LEAST_ONE_ACTIVE_ERROR_KEY]: gettext('At least 1 data point must be selected and active for the gauge or the labels.')
65
85
  };
86
+ const gaugeRangeError = {
87
+ [MISSING_RANGE_ERROR_KEY]: gettext('The gauge data point has no min/max range configured. The gauge bar will not display correctly.')
88
+ };
66
89
 
67
90
  const infoGaugeWidgetDefinition = {
68
91
  id: defaultWidgetIds.INFO_GAUGE,
@@ -83,8 +106,8 @@ const infoGaugeWidgetDefinition = {
83
106
  settings: {
84
107
  noNewWidgets: false,
85
108
  widgetDefaults: {
86
- _width: 4,
87
- _height: 2
109
+ _width: 6,
110
+ _height: 5
88
111
  },
89
112
  ng1: {
90
113
  options: {
@@ -108,10 +131,11 @@ const infoGaugeWidgetProviders = [
108
131
  },
109
132
  expanded: true,
110
133
  validators: [
111
- atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])
134
+ atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME]),
135
+ gaugeDatapointHasRange(DATAPOINTS_GAUGE_CONTROL_NAME)
112
136
  ],
113
- validationErrors: minActiveDataPointError,
114
- priority: 110
137
+ validationErrors: { ...minActiveDataPointError, ...gaugeRangeError },
138
+ priority: 80
115
139
  }),
116
140
  hookWidgetConfig({
117
141
  widgetId: defaultWidgetIds.INFO_GAUGE,
@@ -126,7 +150,7 @@ const infoGaugeWidgetProviders = [
126
150
  atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])
127
151
  ],
128
152
  validationErrors: minActiveDataPointError,
129
- priority: 100
153
+ priority: 80
130
154
  })
131
155
  ];
132
156
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-info-gauge.mjs","sources":["../../widgets/definitions/info-gauge/info-gauge.constants.ts","../../widgets/definitions/info-gauge/index.ts","../../widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\nimport { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst AT_LEAST_ONE_ACTIVE_ERROR_KEY = 'noActiveDataPoint';\n\nexport function atLeastOneDataPointActive(dataPointsControlNames: string[]): ValidatorFn {\n const validatorFn = (formGroup: AbstractControl) => {\n if (!(formGroup instanceof FormGroup)) return null;\n\n const errorKey = AT_LEAST_ONE_ACTIVE_ERROR_KEY;\n let anyActive = false;\n\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n const value = control?.value;\n if (Array.isArray(value) && value.some(item => item?.__active)) {\n anyActive = true;\n break;\n }\n }\n\n // If none are active\n if (!anyActive) {\n // Set error on all specified controls\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control) {\n const errors = { ...(control.errors || {}) };\n errors[errorKey] = true;\n control.setErrors(errors);\n }\n }\n // Set error on the group\n return { [errorKey]: true };\n } else {\n // Remove error from all specified controls if present\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control?.errors?.[errorKey]) {\n const errors = { ...control.errors };\n delete errors[errorKey];\n control.setErrors(Object.keys(errors).length ? errors : null);\n }\n }\n // Validation passes for the group\n return null;\n }\n };\n\n // Attach metadata to the validator function\n (validatorFn as any).controlNames = dataPointsControlNames;\n\n return validatorFn;\n}\n\nexport const DEFAULT_FORM_CONFIG: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n\nexport const DATAPOINTS_GAUGE_CONTROL_NAME = 'datapointsGauge';\nexport const DATAPOINTS_LABELS_CONTROL_NAME = 'datapointsLabels';\n\nexport const minActiveDataPointError = {\n [AT_LEAST_ONE_ACTIVE_ERROR_KEY]: gettext(\n 'At least 1 data point must be selected and active for the gauge or the labels.'\n )\n} as const;\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n hookWidget,\n DynamicComponentErrorStrategy\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport {\n DATAPOINTS_LABELS_CONTROL_NAME,\n DEFAULT_FORM_CONFIG,\n atLeastOneDataPointActive,\n DATAPOINTS_GAUGE_CONTROL_NAME,\n minActiveDataPointError\n} from './info-gauge.constants';\n\nexport const infoGaugeWidgetDefinition = {\n id: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Info gauge'),\n description: gettext('Radial gauge and multiple label and value pairs for data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/info-gauge-widget-pr.png',\n resolve: {\n datapointsLabels: DynamicDatapointsResolver,\n datapointsGauge: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const infoGaugeWidgetProviders = [\n hookWidget(infoGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Gauge`display`'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_GAUGE_CONTROL_NAME\n },\n expanded: true,\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 110\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Multiple label and value pairs'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_LABELS_CONTROL_NAME\n },\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAIA,MAAM,6BAA6B,GAAG,mBAAmB;AAEnD,SAAU,yBAAyB,CAAC,sBAAgC,EAAA;AACxE,IAAA,MAAM,WAAW,GAAG,CAAC,SAA0B,KAAI;AACjD,QAAA,IAAI,EAAE,SAAS,YAAY,SAAS,CAAC;AAAE,YAAA,OAAO,IAAI;QAElD,MAAM,QAAQ,GAAG,6BAA6B;QAC9C,IAAI,SAAS,GAAG,KAAK;AAErB,QAAA,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE;YAChD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAC1C,YAAA,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,CAAC,EAAE;gBAC9D,SAAS,GAAG,IAAI;gBAChB;YACF;QACF;;QAGA,IAAI,CAAC,SAAS,EAAE;;AAEd,YAAA,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE;gBAChD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC1C,IAAI,OAAO,EAAE;AACX,oBAAA,MAAM,MAAM,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE;AAC5C,oBAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;AACvB,oBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC3B;YACF;;AAEA,YAAA,OAAO,EAAE,CAAC,QAAQ,GAAG,IAAI,EAAE;QAC7B;aAAO;;AAEL,YAAA,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE;gBAChD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC1C,IAAI,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE;oBAC/B,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;AACpC,oBAAA,OAAO,MAAM,CAAC,QAAQ,CAAC;oBACvB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;gBAC/D;YACF;;AAEA,YAAA,OAAO,IAAI;QACb;AACF,IAAA,CAAC;;AAGA,IAAA,WAAmB,CAAC,YAAY,GAAG,sBAAsB;AAE1D,IAAA,OAAO,WAAW;AACpB;AAEO,MAAM,mBAAmB,GAA2C;AACzE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,0BAA0B,EAAE;CAC7B;AAEM,MAAM,6BAA6B,GAAG,iBAAiB;AACvD,MAAM,8BAA8B,GAAG,kBAAkB;AAEzD,MAAM,uBAAuB,GAAG;AACrC,IAAA,CAAC,6BAA6B,GAAG,OAAO,CACtC,gFAAgF;CAE1E;;ACjDH,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,gBAAgB,CAAC,UAAU;AAC/B,IAAA,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;AAC5B,IAAA,WAAW,EAAE,OAAO,CAAC,iEAAiE,CAAC;AACvF,IAAA,aAAa,EAAE,MACb,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACpC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,2CAA2C;AACzD,IAAA,OAAO,EAAE;AACP,QAAA,gBAAgB,EAAE,yBAAyB;AAC3C,QAAA,eAAe,EAAE;AAClB,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,iIAAiI,CAClI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,wBAAwB,GAAG;IACtC,UAAU,CAAC,yBAAyB,CAAC;AACrC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,UAAU;AACrC,QAAA,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC;AAChC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,mBAAmB;AACvC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,UAAU,EAAE;AACV,YAAA,yBAAyB,CAAC,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;AAC1F,SAAA;AACD,QAAA,gBAAgB,EAAE,uBAAuB;AACzC,QAAA,QAAQ,EAAE;KACX,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,UAAU;AACrC,QAAA,KAAK,EAAE,OAAO,CAAC,gCAAgC,CAAC;AAChD,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,mBAAmB;AACvC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,yBAAyB,CAAC,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;AAC1F,SAAA;AACD,QAAA,gBAAgB,EAAE,uBAAuB;AACzC,QAAA,QAAQ,EAAE;KACX;;;ACpGH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-info-gauge.mjs","sources":["../../widgets/definitions/info-gauge/info-gauge.constants.ts","../../widgets/definitions/info-gauge/index.ts","../../widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\nimport { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst AT_LEAST_ONE_ACTIVE_ERROR_KEY = 'noActiveDataPoint';\n\nexport function atLeastOneDataPointActive(dataPointsControlNames: string[]): ValidatorFn {\n const validatorFn = (formGroup: AbstractControl) => {\n if (!(formGroup instanceof FormGroup)) return null;\n\n const errorKey = AT_LEAST_ONE_ACTIVE_ERROR_KEY;\n let anyActive = false;\n\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n const value = control?.value;\n if (Array.isArray(value) && value.some(item => item?.__active)) {\n anyActive = true;\n break;\n }\n }\n\n // If none are active\n if (!anyActive) {\n // Set error on all specified controls\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control) {\n const errors = { ...(control.errors || {}) };\n errors[errorKey] = true;\n control.setErrors(errors);\n }\n }\n // Set error on the group\n return { [errorKey]: true };\n } else {\n // Remove error from all specified controls if present\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control?.errors?.[errorKey]) {\n const errors = { ...control.errors };\n delete errors[errorKey];\n control.setErrors(Object.keys(errors).length ? errors : null);\n }\n }\n // Validation passes for the group\n return null;\n }\n };\n\n // Attach metadata to the validator function\n (validatorFn as any).controlNames = dataPointsControlNames;\n\n return validatorFn;\n}\n\nexport const DEFAULT_FORM_CONFIG: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n\nexport const DATAPOINTS_GAUGE_CONTROL_NAME = 'datapointsGauge';\nexport const DATAPOINTS_LABELS_CONTROL_NAME = 'datapointsLabels';\n\nconst MISSING_RANGE_ERROR_KEY = 'gaugeDatapointMissingRange';\n\nexport function gaugeDatapointHasRange(controlName: string): ValidatorFn {\n const validatorFn = (formGroup: AbstractControl) => {\n if (!(formGroup instanceof FormGroup)) return null;\n\n const control = formGroup.get(controlName);\n const datapoints = control?.value;\n if (!Array.isArray(datapoints)) return null;\n\n const activeGauge = datapoints.find(dp => dp?.__active);\n if (!activeGauge) return null;\n\n const min = Number(activeGauge.min);\n const max = Number(activeGauge.max);\n const hasRange = Number.isFinite(min) && Number.isFinite(max) && min !== max;\n\n return hasRange ? null : { [MISSING_RANGE_ERROR_KEY]: true };\n };\n\n (validatorFn as any).controlNames = [controlName];\n\n return validatorFn;\n}\n\nexport const minActiveDataPointError = {\n [AT_LEAST_ONE_ACTIVE_ERROR_KEY]: gettext(\n 'At least 1 data point must be selected and active for the gauge or the labels.'\n )\n} as const;\n\nexport const gaugeRangeError = {\n [MISSING_RANGE_ERROR_KEY]: gettext(\n 'The gauge data point has no min/max range configured. The gauge bar will not display correctly.'\n )\n} as const;\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n hookWidget,\n DynamicComponentErrorStrategy\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport {\n DATAPOINTS_LABELS_CONTROL_NAME,\n DEFAULT_FORM_CONFIG,\n atLeastOneDataPointActive,\n gaugeDatapointHasRange,\n DATAPOINTS_GAUGE_CONTROL_NAME,\n minActiveDataPointError,\n gaugeRangeError\n} from './info-gauge.constants';\n\nexport const infoGaugeWidgetDefinition = {\n id: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Info gauge'),\n description: gettext('Radial gauge and multiple label and value pairs for data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/info-gauge-widget-pr.png',\n resolve: {\n datapointsLabels: DynamicDatapointsResolver,\n datapointsGauge: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 6,\n _height: 5\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const infoGaugeWidgetProviders = [\n hookWidget(infoGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Gauge`display`'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_GAUGE_CONTROL_NAME\n },\n expanded: true,\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME]),\n gaugeDatapointHasRange(DATAPOINTS_GAUGE_CONTROL_NAME)\n ],\n validationErrors: { ...minActiveDataPointError, ...gaugeRangeError },\n priority: 80\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Multiple label and value pairs'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_LABELS_CONTROL_NAME\n },\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -29,8 +29,8 @@ const kpiWidgetDefinition = {
29
29
  settings: {
30
30
  noNewWidgets: false,
31
31
  widgetDefaults: {
32
- _width: 4,
33
- _height: 2
32
+ _width: 5,
33
+ _height: 3
34
34
  },
35
35
  ng1: {
36
36
  options: {
@@ -45,7 +45,7 @@ const kpiWidgetProviders = [
45
45
  hookWidget(kpiWidgetDefinition),
46
46
  hookWidgetConfig({
47
47
  widgetId: defaultWidgetIds.KPI,
48
- priority: 10,
48
+ priority: 90,
49
49
  label: gettext('Time context'),
50
50
  initialState: {
51
51
  controls: PRESET_NAME.KPI_CONFIG
@@ -62,7 +62,7 @@ const kpiWidgetProviders = [
62
62
  defaultFormOptions: KPI_FORM_OPTIONS
63
63
  },
64
64
  expanded: true,
65
- priority: 100
65
+ priority: 80
66
66
  })
67
67
  ];
68
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-kpi.mjs","sources":["../../widgets/definitions/kpi/kpi.constants.ts","../../widgets/definitions/kpi/index.ts","../../widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const KPI_FORM_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n};\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n DynamicWidgetDefinition,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { KPI_FORM_OPTIONS } from './kpi.constants';\n\nexport const kpiWidgetDefinition = {\n id: defaultWidgetIds.KPI,\n label: gettext('KPI'),\n description: gettext('Displays the last measurement value of a device.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetViewComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetConfigComponent),\n previewImage: 'c8y-style-assets/kpi-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=KpiWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/kpi'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.KPI_CONFIG,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const kpiWidgetProviders = [\n hookWidget(kpiWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.KPI,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.KPI_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.KPI,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: KPI_FORM_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,gBAAgB,GAA2C;AACtE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;;ACcM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,gBAAgB,CAAC,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrB,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;AAC/F,IAAA,mBAAmB,EAAE,MACnB,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC;AACjG,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,oHAAoH,CACrH;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU;AAChC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC,mBAAmB,CAAC;AAC/B,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;YACZ,QAAQ,EAAE,WAAW,CAAC;AACvB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AClFH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-kpi.mjs","sources":["../../widgets/definitions/kpi/kpi.constants.ts","../../widgets/definitions/kpi/index.ts","../../widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const KPI_FORM_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n};\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n DynamicWidgetDefinition,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { KPI_FORM_OPTIONS } from './kpi.constants';\n\nexport const kpiWidgetDefinition = {\n id: defaultWidgetIds.KPI,\n label: gettext('KPI'),\n description: gettext('Displays the last measurement value of a device.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetViewComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetConfigComponent),\n previewImage: 'c8y-style-assets/kpi-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=KpiWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/kpi'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.KPI_CONFIG,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 5,\n _height: 3\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const kpiWidgetProviders = [\n hookWidget(kpiWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.KPI,\n priority: 90,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.KPI_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.KPI,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: KPI_FORM_OPTIONS\n },\n expanded: true,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,gBAAgB,GAA2C;AACtE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;;ACcM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,gBAAgB,CAAC,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrB,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;AAC/F,IAAA,mBAAmB,EAAE,MACnB,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC;AACjG,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,oHAAoH,CACrH;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU;AAChC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC,mBAAmB,CAAC;AAC/B,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;YACZ,QAAQ,EAAE,WAAW,CAAC;AACvB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AClFH;;AAEG;;;;"}
@@ -29,8 +29,8 @@ const linearGaugeWidgetDefinition = {
29
29
  settings: {
30
30
  noNewWidgets: false,
31
31
  widgetDefaults: {
32
- _width: 4,
33
- _height: 3
32
+ _width: 6,
33
+ _height: 4
34
34
  },
35
35
  ng1: {
36
36
  options: {
@@ -53,7 +53,7 @@ const linearGaugeWidgetProviders = [
53
53
  defaultFormOptions: LINEAR_GAUGE_OPTIONS
54
54
  },
55
55
  expanded: true,
56
- priority: 100
56
+ priority: 80
57
57
  })
58
58
  ];
59
59
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-linear-gauge.mjs","sources":["../../widgets/definitions/linear-gauge/linear-gauge.constants.ts","../../widgets/definitions/linear-gauge/index.ts","../../widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const LINEAR_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { LINEAR_GAUGE_OPTIONS } from './linear-gauge.constants';\n\nexport const linearGaugeWidgetDefinition = {\n id: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Linear Gauge'),\n description: gettext('A linear gauge graph displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/linear-gauge-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 3\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const linearGaugeWidgetProviders = [\n hookWidget(linearGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: LINEAR_GAUGE_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,IAAA,WAAW,EAAE,OAAO,CAAC,0EAA0E,CAAC;AAChG,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,6CAA6C;AAC3D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-linear-gauge.mjs","sources":["../../widgets/definitions/linear-gauge/linear-gauge.constants.ts","../../widgets/definitions/linear-gauge/index.ts","../../widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const LINEAR_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { LINEAR_GAUGE_OPTIONS } from './linear-gauge.constants';\n\nexport const linearGaugeWidgetDefinition = {\n id: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Linear Gauge'),\n description: gettext('A linear gauge graph displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/linear-gauge-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 6,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const linearGaugeWidgetProviders = [\n hookWidget(linearGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: LINEAR_GAUGE_OPTIONS\n },\n expanded: true,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,IAAA,WAAW,EAAE,OAAO,CAAC,0EAA0E,CAAC;AAChG,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,6CAA6C;AAC3D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}
@@ -144,7 +144,7 @@ const mapWidgetDefinition = {
144
144
  noNewWidgets: false,
145
145
  widgetDefaults: {
146
146
  _width: 8,
147
- _height: 4
147
+ _height: 6
148
148
  },
149
149
  ng1: {
150
150
  options: {
@@ -165,7 +165,7 @@ const mapWidgetProviders = [
165
165
  hookWidget(mapWidgetDefinition),
166
166
  hookWidgetConfig({
167
167
  widgetId: defaultWidgetIds.MAP,
168
- priority: 10,
168
+ priority: 90,
169
169
  label: gettext('Time context'),
170
170
  initialState: {
171
171
  widgetControls: mapWidgetControls
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-map.mjs","sources":["../../widgets/definitions/map/map-widget-controls-definitions.ts","../../widgets/definitions/map/index.ts","../../widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.ts"],"sourcesContent":["import {\n defineWidgetControls,\n GLOBAL_CONTEXT_DISPLAY_MODE,\n REFRESH_OPTION\n} from '@c8y/ngx-components/global-context';\n\nexport const mapWidgetControls = defineWidgetControls({\n name: 'map-widget',\n supports: ['liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n supportedModes: [REFRESH_OPTION.LIVE],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true\n }\n },\n history: {\n inline: {\n showRefresh: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: false,\n showRefresh: true,\n showRefreshInterval: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showTimeContext: true\n },\n configuration: {\n showTimeContext: true\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: false,\n showTimeContext: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showRefresh: true\n },\n configuration: {}\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n isAutoRefreshEnabled: true\n },\n history: {}\n },\n viewAndConfig: {}\n }\n },\n handlers: {\n startFollow: {\n handler: () => ({\n inlineControlSettings: { showAutoRefresh: false },\n dashboardControlSettings: { showAutoRefresh: false },\n links: {},\n options: undefined\n })\n },\n stopFollow: {\n handler: state => {\n const { config } = state;\n const displayMode = config.displayMode || GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n const refreshOption = config.refreshOption || REFRESH_OPTION.LIVE;\n const isDashboardMode = displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n\n if (isDashboardMode) {\n return {\n inlineControlSettings:\n refreshOption === REFRESH_OPTION.LIVE\n ? { showAutoRefresh: false }\n : { showAutoRefresh: true },\n dashboardControlSettings: { showAutoRefresh: false },\n links:\n refreshOption === REFRESH_OPTION.LIVE\n ? { isAutoRefreshEnabled: true }\n : { isAutoRefreshEnabled: false },\n options: undefined\n };\n }\n\n return {\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: undefined\n };\n }\n },\n disableCounter: {\n handler: () => ({\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: { noAutoRefreshCounter: true }\n })\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicManagedObjectResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { mapWidgetControls } from './map-widget-controls-definitions';\n\nexport const mapWidgetDefinition = {\n id: defaultWidgetIds.MAP,\n label: gettext('Map'),\n description: gettext('Shows the position of a device or all devices in a group.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetConfigComponent),\n /*providers: [\n\n ],*/\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/map-widget-pr.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MapWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/map'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n widgetControls: mapWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: false,\n groupsSelectable: true,\n deviceTargetNotRequired: true\n }\n }\n },\n displaySettings: {\n globalTimeContext: false,\n globalAutoRefreshContext: true,\n globalRealtimeContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const mapWidgetProviders = [\n hookWidget(mapWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.MAP,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: mapWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-map.mjs","sources":["../../widgets/definitions/map/map-widget-controls-definitions.ts","../../widgets/definitions/map/index.ts","../../widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.ts"],"sourcesContent":["import {\n defineWidgetControls,\n GLOBAL_CONTEXT_DISPLAY_MODE,\n REFRESH_OPTION\n} from '@c8y/ngx-components/global-context';\n\nexport const mapWidgetControls = defineWidgetControls({\n name: 'map-widget',\n supports: ['liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n supportedModes: [REFRESH_OPTION.LIVE],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true\n }\n },\n history: {\n inline: {\n showRefresh: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: false,\n showRefresh: true,\n showRefreshInterval: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showTimeContext: true\n },\n configuration: {\n showTimeContext: true\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: false,\n showTimeContext: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showRefresh: true\n },\n configuration: {}\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n isAutoRefreshEnabled: true\n },\n history: {}\n },\n viewAndConfig: {}\n }\n },\n handlers: {\n startFollow: {\n handler: () => ({\n inlineControlSettings: { showAutoRefresh: false },\n dashboardControlSettings: { showAutoRefresh: false },\n links: {},\n options: undefined\n })\n },\n stopFollow: {\n handler: state => {\n const { config } = state;\n const displayMode = config.displayMode || GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n const refreshOption = config.refreshOption || REFRESH_OPTION.LIVE;\n const isDashboardMode = displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n\n if (isDashboardMode) {\n return {\n inlineControlSettings:\n refreshOption === REFRESH_OPTION.LIVE\n ? { showAutoRefresh: false }\n : { showAutoRefresh: true },\n dashboardControlSettings: { showAutoRefresh: false },\n links:\n refreshOption === REFRESH_OPTION.LIVE\n ? { isAutoRefreshEnabled: true }\n : { isAutoRefreshEnabled: false },\n options: undefined\n };\n }\n\n return {\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: undefined\n };\n }\n },\n disableCounter: {\n handler: () => ({\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: { noAutoRefreshCounter: true }\n })\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicManagedObjectResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { mapWidgetControls } from './map-widget-controls-definitions';\n\nexport const mapWidgetDefinition = {\n id: defaultWidgetIds.MAP,\n label: gettext('Map'),\n description: gettext('Shows the position of a device or all devices in a group.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetConfigComponent),\n /*providers: [\n\n ],*/\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/map-widget-pr.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MapWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/map'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n widgetControls: mapWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 6\n },\n ng1: {\n options: {\n noDeviceTarget: false,\n groupsSelectable: true,\n deviceTargetNotRequired: true\n }\n }\n },\n displaySettings: {\n globalTimeContext: false,\n globalAutoRefreshContext: true,\n globalRealtimeContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const mapWidgetProviders = [\n hookWidget(mapWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.MAP,\n priority: 90,\n label: gettext('Time context'),\n initialState: {\n widgetControls: mapWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ const markdownWidgetDefinition = {
18
18
  noNewWidgets: false,
19
19
  widgetDefaults: {
20
20
  _width: 8,
21
- _height: 4
21
+ _height: 6
22
22
  },
23
23
  ng1: {
24
24
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-markdown.mjs","sources":["../../widgets/definitions/markdown/index.ts","../../widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.ts"],"sourcesContent":["import type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { inject, Injector } from '@angular/core';\nimport type { MarkdownWidgetConfig } from '@c8y/ngx-components/widgets/implementations/markdown';\nimport type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\n\nexport interface ExportedMarkdownWidgetConfig extends MarkdownWidgetConfig {\n markdownDetails?: { file: { name: string; type: string }; text: string };\n}\n\nexport const markdownWidgetDefinition = {\n id: defaultWidgetIds.MARKDOWN,\n label: gettext('Markdown widget'),\n description: gettext(\n 'Display content provided as Markdown. You can write Markdown text directly, upload a file, or provide a file path.'\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/markdown-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MarkdownWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/markdown'\n ),\n export: exportMarkdownWidgetConfig,\n import: importMarkdownWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const markdownWidgetProviders = [hookWidget(markdownWidgetDefinition)];\n\nasync function exportMarkdownWidgetConfig(\n config: MarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedMarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n const injector = inject(Injector);\n if (config.contentUrl && !config.markdownBinaryId) {\n return config;\n }\n const markdownWidgetService = injector.get(MarkdownWidgetService);\n const file = await markdownWidgetService.getFile(config.markdownBinaryId);\n const content = await file.text();\n\n return {\n ...config,\n markdownDetails: {\n text: content,\n file: {\n name: file.name,\n type: file.type\n }\n }\n };\n}\n\nasync function importMarkdownWidgetConfig(\n config: ExportedMarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<MarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n if (!config.markdownDetails) {\n return config;\n }\n const injector = inject(Injector);\n const markdownService = injector.get(MarkdownWidgetService);\n const fileToUpload = new File([config.markdownDetails.text], config.markdownDetails.file.name, {\n type: config.markdownDetails.file.type\n });\n const markdownBinaryId = await markdownService.uploadFile(fileToUpload);\n\n return {\n contentUrl: config.contentUrl,\n markdownBinaryId,\n markdownContent: null\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAeO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,QAAQ;AAC7B,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAClB,oHAAoH,CACrH;AACD,IAAA,aAAa,EAAE,MACb,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,YAAY,EAAE,sCAAsC;AAEpD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,8HAA8H,CAC/H;AACH,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,uBAAuB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC;AAE5E,eAAe,0BAA0B,CACvC,MAA4B,EAC5B,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AACjD,QAAA,OAAO,MAAM;IACf;IACA,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;IAEjC,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC;AACZ;AACF;KACF;AACH;AAEA,eAAe,0BAA0B,CACvC,MAAoC,EACpC,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC3B,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7F,QAAA,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnC,KAAA,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;IAEvE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB;AAChB,QAAA,eAAe,EAAE;KAClB;AACH;;AC3GA;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-markdown.mjs","sources":["../../widgets/definitions/markdown/index.ts","../../widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.ts"],"sourcesContent":["import type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { inject, Injector } from '@angular/core';\nimport type { MarkdownWidgetConfig } from '@c8y/ngx-components/widgets/implementations/markdown';\nimport type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\n\nexport interface ExportedMarkdownWidgetConfig extends MarkdownWidgetConfig {\n markdownDetails?: { file: { name: string; type: string }; text: string };\n}\n\nexport const markdownWidgetDefinition = {\n id: defaultWidgetIds.MARKDOWN,\n label: gettext('Markdown widget'),\n description: gettext(\n 'Display content provided as Markdown. You can write Markdown text directly, upload a file, or provide a file path.'\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/markdown-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MarkdownWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/markdown'\n ),\n export: exportMarkdownWidgetConfig,\n import: importMarkdownWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 6\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const markdownWidgetProviders = [hookWidget(markdownWidgetDefinition)];\n\nasync function exportMarkdownWidgetConfig(\n config: MarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedMarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n const injector = inject(Injector);\n if (config.contentUrl && !config.markdownBinaryId) {\n return config;\n }\n const markdownWidgetService = injector.get(MarkdownWidgetService);\n const file = await markdownWidgetService.getFile(config.markdownBinaryId);\n const content = await file.text();\n\n return {\n ...config,\n markdownDetails: {\n text: content,\n file: {\n name: file.name,\n type: file.type\n }\n }\n };\n}\n\nasync function importMarkdownWidgetConfig(\n config: ExportedMarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<MarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n if (!config.markdownDetails) {\n return config;\n }\n const injector = inject(Injector);\n const markdownService = injector.get(MarkdownWidgetService);\n const fileToUpload = new File([config.markdownDetails.text], config.markdownDetails.file.name, {\n type: config.markdownDetails.file.type\n });\n const markdownBinaryId = await markdownService.uploadFile(fileToUpload);\n\n return {\n contentUrl: config.contentUrl,\n markdownBinaryId,\n markdownContent: null\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAeO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,QAAQ;AAC7B,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAClB,oHAAoH,CACrH;AACD,IAAA,aAAa,EAAE,MACb,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,YAAY,EAAE,sCAAsC;AAEpD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,8HAA8H,CAC/H;AACH,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,uBAAuB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC;AAE5E,eAAe,0BAA0B,CACvC,MAA4B,EAC5B,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AACjD,QAAA,OAAO,MAAM;IACf;IACA,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;IAEjC,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC;AACZ;AACF;KACF;AACH;AAEA,eAAe,0BAA0B,CACvC,MAAoC,EACpC,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC3B,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7F,QAAA,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnC,KAAA,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;IAEvE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB;AAChB,QAAA,eAAe,EAAE;KAClB;AACH;;AC3GA;;AAEG;;;;"}
@@ -14,8 +14,8 @@ const pieChartWidgetDefinition = {
14
14
  settings: {
15
15
  noNewWidgets: false,
16
16
  widgetDefaults: {
17
- _width: 8,
18
- _height: 4
17
+ _width: 6,
18
+ _height: 6
19
19
  },
20
20
  noDeviceTarget: true
21
21
  }
@@ -32,7 +32,7 @@ const pieChartWidgetProviders = [
32
32
  showDifferentUnitsAlert: true
33
33
  },
34
34
  expanded: true,
35
- priority: 100
35
+ priority: 80
36
36
  })
37
37
  ];
38
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-pie-chart.mjs","sources":["../../widgets/definitions/pie-chart/index.ts","../../widgets/definitions/pie-chart/c8y-ngx-components-widgets-definitions-pie-chart.ts"],"sourcesContent":["import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\n\nexport const pieChartWidgetDefinition = {\n id: defaultWidgetIds.PIE_CHART,\n label: gettext('Pie chart'),\n description: gettext(`Displays data in a pie chart format.`),\n previewImage: 'c8y-style-assets/pie-chart-widget-pr.png',\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/pie-chart').then(\n m => m.PieChartWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/pie-chart').then(\n m => m.PieChartWidgetConfigComponent\n ),\n data: {\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n noDeviceTarget: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const pieChartWidgetProviders = [\n hookWidget(pieChartWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.PIE_CHART,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n showDifferentUnitsAlert: true\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,SAAS;AAC9B,IAAA,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC;AAC3B,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,oCAAA,CAAsC,CAAC;AAC5D,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,aAAa,EAAE,MACb,OAAO,uDAAuD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,uDAAuD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACjB;AACF;;AAGI,MAAM,uBAAuB,GAAG;IACrC,UAAU,CAAC,wBAAwB,CAAC;AACpC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,SAAS;AACpC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,uBAAuB,EAAE;AAC1B,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AC9CH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-pie-chart.mjs","sources":["../../widgets/definitions/pie-chart/index.ts","../../widgets/definitions/pie-chart/c8y-ngx-components-widgets-definitions-pie-chart.ts"],"sourcesContent":["import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\n\nexport const pieChartWidgetDefinition = {\n id: defaultWidgetIds.PIE_CHART,\n label: gettext('Pie chart'),\n description: gettext(`Displays data in a pie chart format.`),\n previewImage: 'c8y-style-assets/pie-chart-widget-pr.png',\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/pie-chart').then(\n m => m.PieChartWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/pie-chart').then(\n m => m.PieChartWidgetConfigComponent\n ),\n data: {\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 6,\n _height: 6\n },\n noDeviceTarget: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const pieChartWidgetProviders = [\n hookWidget(pieChartWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.PIE_CHART,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n showDifferentUnitsAlert: true\n },\n expanded: true,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,SAAS;AAC9B,IAAA,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC;AAC3B,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,oCAAA,CAAsC,CAAC;AAC5D,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,aAAa,EAAE,MACb,OAAO,uDAAuD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,uDAAuD,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACjB;AACF;;AAGI,MAAM,uBAAuB,GAAG;IACrC,UAAU,CAAC,wBAAwB,CAAC;AACpC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,SAAS;AACpC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,uBAAuB,EAAE;AAC1B,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AC9CH;;AAEG;;;;"}
@@ -30,8 +30,8 @@ const radialGaugeWidgetDefinition = {
30
30
  settings: {
31
31
  noNewWidgets: false,
32
32
  widgetDefaults: {
33
- _width: 8,
34
- _height: 4
33
+ _width: 6,
34
+ _height: 6
35
35
  },
36
36
  ng1: {
37
37
  options: {
@@ -55,7 +55,7 @@ const radialGaugeWidgetProviders = [
55
55
  controlName: 'datapointsGauge'
56
56
  },
57
57
  expanded: true,
58
- priority: 100
58
+ priority: 80
59
59
  })
60
60
  ];
61
61
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-radial-gauge.mjs","sources":["../../widgets/definitions/radial-gauge/radial-gauge.constants.ts","../../widgets/definitions/radial-gauge/index.ts","../../widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const RADIAL_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DynamicDatapointsResolver, hookWidget } from '@c8y/ngx-components';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { RADIAL_GAUGE_OPTIONS } from './radial-gauge.constants';\n\nexport const radialGaugeWidgetDefinition = {\n id: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Radial gauge'),\n // Info gauge config and view components are used for the radial gauge. Eventually both will be merged into one component.\n description: gettext('Shows the device measurements in a radial gauge.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n // Gauge type is determined in the component\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/radial-gauge-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const radialGaugeWidgetProviders = [\n hookWidget(radialGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: RADIAL_GAUGE_OPTIONS,\n controlName: 'datapointsGauge'\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,0BAA0B,EAAE;CAC7B;;ACIM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;;AAE9B,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACpC;;AAEH,IAAA,mBAAmB,EAAE,MACnB,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,sCAAsC;AACpD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,iIAAiI,CAClI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACrEH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-radial-gauge.mjs","sources":["../../widgets/definitions/radial-gauge/radial-gauge.constants.ts","../../widgets/definitions/radial-gauge/index.ts","../../widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const RADIAL_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DynamicDatapointsResolver, hookWidget } from '@c8y/ngx-components';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { RADIAL_GAUGE_OPTIONS } from './radial-gauge.constants';\n\nexport const radialGaugeWidgetDefinition = {\n id: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Radial gauge'),\n // Info gauge config and view components are used for the radial gauge. Eventually both will be merged into one component.\n description: gettext('Shows the device measurements in a radial gauge.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n // Gauge type is determined in the component\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/radial-gauge-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 6,\n _height: 6\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const radialGaugeWidgetProviders = [\n hookWidget(radialGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: RADIAL_GAUGE_OPTIONS,\n controlName: 'datapointsGauge'\n },\n expanded: true,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,0BAA0B,EAAE;CAC7B;;ACIM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;;AAE9B,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACpC;;AAEH,IAAA,mBAAmB,EAAE,MACnB,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,sCAAsC;AACpD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,iIAAiI,CAClI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACrEH;;AAEG;;;;"}
@@ -29,8 +29,8 @@ const siloWidgetDefinition = {
29
29
  settings: {
30
30
  noNewWidgets: false,
31
31
  widgetDefaults: {
32
- _width: 4,
33
- _height: 4
32
+ _width: 5,
33
+ _height: 6
34
34
  },
35
35
  ng1: {
36
36
  options: {
@@ -53,7 +53,7 @@ const siloWidgetProviders = [
53
53
  defaultFormOptions: SILO_OPTIONS
54
54
  },
55
55
  expanded: true,
56
- priority: 100
56
+ priority: 80
57
57
  })
58
58
  ];
59
59
 
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-silo.mjs","sources":["../../widgets/definitions/silo/silo.constants.ts","../../widgets/definitions/silo/index.ts","../../widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const SILO_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { SILO_OPTIONS } from './silo.constants';\n\nexport const siloWidgetDefinition = {\n id: defaultWidgetIds.SILO,\n label: gettext('Silo'),\n description: gettext('A silo displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/silo-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const siloWidgetProviders = [\n hookWidget(siloWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.SILO,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: SILO_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,YAAY,GAA2C;AAClE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,gBAAgB,CAAC,IAAI;AACzB,IAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;AACtB,IAAA,WAAW,EAAE,OAAO,CAAC,4DAA4D,CAAC;AAClF,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,qCAAqC;AACnD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,mBAAmB,GAAG;IACjC,UAAU,CAAC,oBAAoB,CAAC;AAChC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-silo.mjs","sources":["../../widgets/definitions/silo/silo.constants.ts","../../widgets/definitions/silo/index.ts","../../widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const SILO_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { SILO_OPTIONS } from './silo.constants';\n\nexport const siloWidgetDefinition = {\n id: defaultWidgetIds.SILO,\n label: gettext('Silo'),\n description: gettext('A silo displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/silo-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 5,\n _height: 6\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const siloWidgetProviders = [\n hookWidget(siloWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.SILO,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: SILO_OPTIONS\n },\n expanded: true,\n priority: 80\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,YAAY,GAA2C;AAClE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,gBAAgB,CAAC,IAAI;AACzB,IAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;AACtB,IAAA,WAAW,EAAE,OAAO,CAAC,4DAA4D,CAAC;AAClF,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,qCAAqC;AACnD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,mBAAmB,GAAG;IACjC,UAAU,CAAC,oBAAoB,CAAC;AAChC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}