@openremote/or-dashboard-builder 1.2.0-snapshot.20240512154942

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 (146) hide show
  1. package/README.md +156 -0
  2. package/build.gradle +15 -0
  3. package/lib/controls/dashboard-refresh-controls.d.ts +17 -0
  4. package/lib/controls/dashboard-refresh-controls.js +17 -0
  5. package/lib/controls/dashboard-refresh-controls.js.map +1 -0
  6. package/lib/index.d.ts +71 -0
  7. package/lib/index.js +285 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/or-dashboard-boardsettings.d.ts +19 -0
  10. package/lib/or-dashboard-boardsettings.js +121 -0
  11. package/lib/or-dashboard-boardsettings.js.map +1 -0
  12. package/lib/or-dashboard-browser.d.ts +9 -0
  13. package/lib/or-dashboard-browser.js +35 -0
  14. package/lib/or-dashboard-browser.js.map +1 -0
  15. package/lib/or-dashboard-engine.d.ts +4 -0
  16. package/lib/or-dashboard-engine.js +1 -0
  17. package/lib/or-dashboard-engine.js.map +1 -0
  18. package/lib/or-dashboard-keyhandler.d.ts +6 -0
  19. package/lib/or-dashboard-keyhandler.js +1 -0
  20. package/lib/or-dashboard-keyhandler.js.map +1 -0
  21. package/lib/or-dashboard-preview.d.ts +70 -0
  22. package/lib/or-dashboard-preview.js +155 -0
  23. package/lib/or-dashboard-preview.js.map +1 -0
  24. package/lib/or-dashboard-tree.d.ts +25 -0
  25. package/lib/or-dashboard-tree.js +62 -0
  26. package/lib/or-dashboard-tree.js.map +1 -0
  27. package/lib/or-dashboard-widgetcontainer.d.ts +23 -0
  28. package/lib/or-dashboard-widgetcontainer.js +20 -0
  29. package/lib/or-dashboard-widgetcontainer.js.map +1 -0
  30. package/lib/or-dashboard-widgetsettings.d.ts +15 -0
  31. package/lib/or-dashboard-widgetsettings.js +16 -0
  32. package/lib/or-dashboard-widgetsettings.js.map +1 -0
  33. package/lib/panels/assettypes-panel.d.ts +44 -0
  34. package/lib/panels/assettypes-panel.js +51 -0
  35. package/lib/panels/assettypes-panel.js.map +1 -0
  36. package/lib/panels/attributes-panel.d.ts +41 -0
  37. package/lib/panels/attributes-panel.js +126 -0
  38. package/lib/panels/attributes-panel.js.map +1 -0
  39. package/lib/panels/thresholds-panel.d.ts +39 -0
  40. package/lib/panels/thresholds-panel.js +129 -0
  41. package/lib/panels/thresholds-panel.js.map +1 -0
  42. package/lib/service/dashboard-service.d.ts +13 -0
  43. package/lib/service/dashboard-service.js +1 -0
  44. package/lib/service/dashboard-service.js.map +1 -0
  45. package/lib/service/widget-service.d.ts +8 -0
  46. package/lib/service/widget-service.js +1 -0
  47. package/lib/service/widget-service.js.map +1 -0
  48. package/lib/settings/attribute-input-settings.d.ts +13 -0
  49. package/lib/settings/attribute-input-settings.js +36 -0
  50. package/lib/settings/attribute-input-settings.js.map +1 -0
  51. package/lib/settings/chart-settings.d.ts +30 -0
  52. package/lib/settings/chart-settings.js +144 -0
  53. package/lib/settings/chart-settings.js.map +1 -0
  54. package/lib/settings/gauge-settings.d.ts +15 -0
  55. package/lib/settings/gauge-settings.js +37 -0
  56. package/lib/settings/gauge-settings.js.map +1 -0
  57. package/lib/settings/image-settings.d.ts +17 -0
  58. package/lib/settings/image-settings.js +52 -0
  59. package/lib/settings/image-settings.js.map +1 -0
  60. package/lib/settings/kpi-settings.d.ts +15 -0
  61. package/lib/settings/kpi-settings.js +47 -0
  62. package/lib/settings/kpi-settings.js.map +1 -0
  63. package/lib/settings/map-settings.d.ts +21 -0
  64. package/lib/settings/map-settings.js +72 -0
  65. package/lib/settings/map-settings.js.map +1 -0
  66. package/lib/settings/table-settings.d.ts +14 -0
  67. package/lib/settings/table-settings.js +33 -0
  68. package/lib/settings/table-settings.js.map +1 -0
  69. package/lib/style.d.ts +1 -0
  70. package/lib/style.js +99 -0
  71. package/lib/style.js.map +1 -0
  72. package/lib/util/or-asset-widget.d.ts +20 -0
  73. package/lib/util/or-asset-widget.js +1 -0
  74. package/lib/util/or-asset-widget.js.map +1 -0
  75. package/lib/util/or-widget.d.ts +31 -0
  76. package/lib/util/or-widget.js +1 -0
  77. package/lib/util/or-widget.js.map +1 -0
  78. package/lib/util/settings-panel.d.ts +9 -0
  79. package/lib/util/settings-panel.js +56 -0
  80. package/lib/util/settings-panel.js.map +1 -0
  81. package/lib/util/widget-config.d.ts +2 -0
  82. package/lib/util/widget-config.js +1 -0
  83. package/lib/util/widget-config.js.map +1 -0
  84. package/lib/util/widget-settings.d.ts +23 -0
  85. package/lib/util/widget-settings.js +1 -0
  86. package/lib/util/widget-settings.js.map +1 -0
  87. package/lib/widgets/attribute-input-widget.d.ts +24 -0
  88. package/lib/widgets/attribute-input-widget.js +31 -0
  89. package/lib/widgets/attribute-input-widget.js.map +1 -0
  90. package/lib/widgets/chart-widget.d.ts +25 -0
  91. package/lib/widgets/chart-widget.js +15 -0
  92. package/lib/widgets/chart-widget.js.map +1 -0
  93. package/lib/widgets/gauge-widget.d.ts +22 -0
  94. package/lib/widgets/gauge-widget.js +12 -0
  95. package/lib/widgets/gauge-widget.js.map +1 -0
  96. package/lib/widgets/image-widget.d.ts +25 -0
  97. package/lib/widgets/image-widget.js +54 -0
  98. package/lib/widgets/image-widget.js.map +1 -0
  99. package/lib/widgets/kpi-widget.d.ts +21 -0
  100. package/lib/widgets/kpi-widget.js +8 -0
  101. package/lib/widgets/kpi-widget.js.map +1 -0
  102. package/lib/widgets/map-widget.d.ts +39 -0
  103. package/lib/widgets/map-widget.js +9 -0
  104. package/lib/widgets/map-widget.js.map +1 -0
  105. package/lib/widgets/table-widget.d.ts +25 -0
  106. package/lib/widgets/table-widget.js +12 -0
  107. package/lib/widgets/table-widget.js.map +1 -0
  108. package/package.json +32 -0
  109. package/src/controls/dashboard-refresh-controls.ts +100 -0
  110. package/src/index.ts +731 -0
  111. package/src/or-dashboard-boardsettings.ts +249 -0
  112. package/src/or-dashboard-browser.ts +160 -0
  113. package/src/or-dashboard-engine.ts +17 -0
  114. package/src/or-dashboard-keyhandler.ts +25 -0
  115. package/src/or-dashboard-preview.ts +713 -0
  116. package/src/or-dashboard-tree.ts +304 -0
  117. package/src/or-dashboard-widgetcontainer.ts +155 -0
  118. package/src/or-dashboard-widgetsettings.ts +91 -0
  119. package/src/panels/assettypes-panel.ts +311 -0
  120. package/src/panels/attributes-panel.ts +304 -0
  121. package/src/panels/thresholds-panel.ts +285 -0
  122. package/src/service/dashboard-service.ts +89 -0
  123. package/src/service/widget-service.ts +48 -0
  124. package/src/settings/attribute-input-settings.ts +79 -0
  125. package/src/settings/chart-settings.ts +306 -0
  126. package/src/settings/gauge-settings.ts +93 -0
  127. package/src/settings/image-settings.ts +175 -0
  128. package/src/settings/kpi-settings.ts +106 -0
  129. package/src/settings/map-settings.ts +185 -0
  130. package/src/settings/table-settings.ts +92 -0
  131. package/src/style.ts +104 -0
  132. package/src/util/or-asset-widget.ts +110 -0
  133. package/src/util/or-widget.ts +60 -0
  134. package/src/util/settings-panel.ts +93 -0
  135. package/src/util/widget-config.ts +2 -0
  136. package/src/util/widget-settings.ts +58 -0
  137. package/src/widgets/attribute-input-widget.ts +143 -0
  138. package/src/widgets/chart-widget.ts +203 -0
  139. package/src/widgets/gauge-widget.ts +111 -0
  140. package/src/widgets/image-widget.ts +180 -0
  141. package/src/widgets/kpi-widget.ts +97 -0
  142. package/src/widgets/map-widget.ts +187 -0
  143. package/src/widgets/table-widget.ts +157 -0
  144. package/tsconfig.json +15 -0
  145. package/tsconfig.tsbuildinfo +1 -0
  146. package/webpack.config.js +10 -0
@@ -0,0 +1,39 @@
1
+ import { CSSResult, LitElement, PropertyValues, TemplateResult } from "lit";
2
+ export declare class ThresholdChangeEvent extends CustomEvent<[number, string][]> {
3
+ static readonly NAME = "threshold-change";
4
+ constructor(thresholds: [number, string][]);
5
+ }
6
+ export declare class TextColorsChangeEvent extends CustomEvent<[string, string][]> {
7
+ static readonly NAME = "text-colors-change";
8
+ constructor(textColors: [string, string][]);
9
+ }
10
+ export declare class BoolColorsChangeEvent extends CustomEvent<{
11
+ type: string;
12
+ false: string;
13
+ true: string;
14
+ }> {
15
+ static readonly NAME = "bool-colors-change";
16
+ constructor(boolColors: {
17
+ type: string;
18
+ false: string;
19
+ true: string;
20
+ });
21
+ }
22
+ export declare class ThresholdsPanel extends LitElement {
23
+ protected thresholds: [number, string][];
24
+ protected textColors: [string, string][];
25
+ protected boolColors: {
26
+ type: string;
27
+ false: string;
28
+ true: string;
29
+ };
30
+ protected readonly min?: number;
31
+ protected readonly max?: number;
32
+ protected readonly valueType: string;
33
+ static get styles(): CSSResult[];
34
+ protected updated(changedProps: PropertyValues): void;
35
+ protected render(): TemplateResult;
36
+ protected removeThreshold(threshold: [any, string]): void;
37
+ protected addThreshold(threshold: [any, string]): void;
38
+ protected addNewThreshold(): void;
39
+ }
@@ -0,0 +1,129 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,o,s){var l,r=arguments.length,i=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,s);else for(var h=e.length-1;h>=0;h--)(l=e[h])&&(i=(r<3?l(i):r>3?l(t,o,i):l(t,o))||i);return r>3&&i&&Object.defineProperty(t,o,i),i};import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{DefaultColor5}from"@openremote/core";import{style}from"../style";export class ThresholdChangeEvent extends CustomEvent{constructor(e){super(ThresholdChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}ThresholdChangeEvent.NAME="threshold-change";export class TextColorsChangeEvent extends CustomEvent{constructor(e){super(TextColorsChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}TextColorsChangeEvent.NAME="text-colors-change";export class BoolColorsChangeEvent extends CustomEvent{constructor(e){super(BoolColorsChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}BoolColorsChangeEvent.NAME="bool-colors-change";const styling=css`
2
+
3
+ #thresholds-list {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 12px;
7
+ }
8
+
9
+ .threshold-list-item {
10
+ display: flex;
11
+ flex-direction: row;
12
+ align-items: center;
13
+ }
14
+
15
+ .threshold-list-item-colour {
16
+ height: 100%;
17
+ padding: 0 4px 0 0;
18
+ }
19
+
20
+ .threshold-list-item:hover .button-clear {
21
+ visibility: visible;
22
+ }
23
+
24
+ .button-clear {
25
+ background: none;
26
+ visibility: hidden;
27
+ color: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
28
+ --or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
29
+ display: inline-block;
30
+ border: none;
31
+ padding: 0;
32
+ cursor: pointer;
33
+ }
34
+
35
+ .button-clear:hover {
36
+ --or-icon-fill: var(--or-app-color4);
37
+ }
38
+
39
+ `;let ThresholdsPanel=class extends LitElement{constructor(){super(...arguments),this.thresholds=[],this.textColors=[]}static get styles(){return[styling,style]}updated(e){e.has("thresholds")&&this.thresholds&&this.dispatchEvent(new ThresholdChangeEvent(this.thresholds)),e.has("textColors")&&this.textColors&&this.dispatchEvent(new TextColorsChangeEvent(this.textColors)),e.has("boolColors")&&this.boolColors&&this.dispatchEvent(new BoolColorsChangeEvent(this.boolColors))}render(){return html`
40
+ <div id="thresholds-list" class="expanded-panel">
41
+
42
+ <!-- Thresholds by number -->
43
+ ${"number"===this.valueType||"positiveInteger"===this.valueType||"positiveNumber"===this.valueType||"negativeInteger"===this.valueType||"negativeNumber"===this.valueType?html`
44
+ ${this.thresholds.sort(((e,t)=>e[0]<t[0]?-1:1)).map(((e,t)=>html`
45
+ <div class="threshold-list-item">
46
+ <div class="threshold-list-item-colour">
47
+ <or-mwc-input type="${InputType.COLOUR}" value="${e[1]}"
48
+ @or-mwc-input-changed="${e=>{this.thresholds[t][1]=e.detail.value,this.requestUpdate("thresholds")}}"
49
+ ></or-mwc-input>
50
+ </div>
51
+ <or-mwc-input type="${InputType.NUMBER}" comfortable .value="${e[0]}"
52
+ ?disabled="${0===t&&this.max}"
53
+ .min="${ifDefined(this.min)}" .max="${ifDefined(this.max)}"
54
+ @or-mwc-input-changed="${e=>{(!this.min||e.detail.value>=this.min)&&(!this.max||e.detail.value<=this.max)&&(this.thresholds[t][0]=e.detail.value,this.requestUpdate("thresholds"))}}"
55
+ ></or-mwc-input>
56
+ ${0===t?html`
57
+ <button class="button-clear"
58
+ style="margin-left: 8px;">
59
+ <or-icon icon="lock" style="--or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});"></or-icon>
60
+ </button>
61
+ `:html`
62
+ <button class="button-clear"
63
+ style="margin-left: 8px;"
64
+ @click="${()=>{this.removeThreshold(e)}}">
65
+ <or-icon icon="close-circle"></or-icon>
66
+ </button>
67
+ `}
68
+ </div>
69
+ `))}
70
+ <or-mwc-input .type="${InputType.BUTTON}" label="threshold" icon="plus"
71
+ @or-mwc-input-changed="${()=>this.addNewThreshold()}">
72
+ </or-mwc-input>
73
+ `:null}
74
+
75
+ <!-- Thresholds by boolean -->
76
+ ${"boolean"===this.valueType?html`
77
+ <div class="threshold-list-item">
78
+ <div class="threshold-list-item-colour">
79
+ <or-mwc-input type="${InputType.COLOUR}" value="${this.boolColors.true}"
80
+ @or-mwc-input-changed="${e=>{this.boolColors.true=e.detail.value,this.requestUpdate("boolColors")}}"
81
+ ></or-mwc-input>
82
+ </div>
83
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${"True"}" .readonly="${!0}"
84
+ ></or-mwc-input>
85
+ </div>
86
+ <div class="threshold-list-item">
87
+ <div class="threshold-list-item-colour">
88
+ <or-mwc-input type="${InputType.COLOUR}" value="${this.boolColors.false}"
89
+ @or-mwc-input-changed="${e=>{this.boolColors.false=e.detail.value,this.requestUpdate("boolColors")}}"
90
+ ></or-mwc-input>
91
+ </div>
92
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${"False"}" .readonly="${!0}"
93
+ ></or-mwc-input>
94
+ </div>
95
+ `:null}
96
+
97
+ <!-- Thresholds by string -->
98
+ ${"text"===this.valueType&&this.textColors?html`
99
+ ${this.textColors.map(((e,t)=>html`
100
+ <div class="threshold-list-item">
101
+ <div class="threshold-list-item-colour">
102
+ <or-mwc-input type="${InputType.COLOUR}" value="${e[1]}"
103
+ @or-mwc-input-changed="${e=>{this.textColors[t][1]=e.detail.value,this.requestUpdate("textColors")}}"
104
+ ></or-mwc-input>
105
+ </div>
106
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${e[0]}"
107
+ @or-mwc-input-changed="${e=>{this.textColors[t][0]=e.detail.value,this.requestUpdate("textColors")}}"
108
+
109
+ ></or-mwc-input>
110
+ ${0===t?html`
111
+ <button class="button-clear"
112
+ style="margin-left: 8px;">
113
+ <or-icon icon="lock" style="--or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});"></or-icon>
114
+ </button>
115
+ `:html`
116
+ <button class="button-clear"
117
+ style="margin-left: 8px;"
118
+ @click="${()=>{this.removeThreshold(e)}}">
119
+ <or-icon icon="close-circle"></or-icon>
120
+ </button>
121
+ `}
122
+ </div>
123
+ `))}
124
+ <or-mwc-input .type="${InputType.BUTTON}" label="threshold" icon="plus"
125
+ @or-mwc-input-changed="${()=>this.addNewThreshold()}">
126
+ </or-mwc-input>
127
+ `:null}
128
+ </div>
129
+ `}removeThreshold(e){"number"==typeof e[0]?this.thresholds=this.thresholds.filter((t=>t!==e)):this.textColors=this.textColors.filter((t=>t!==e))}addThreshold(e){"number"==typeof e[0]?(this.thresholds.push(e),this.requestUpdate("thresholds")):(this.textColors.push(e),this.requestUpdate("textColors"))}addNewThreshold(){if("text"===this.valueType)this.addThreshold(["new","#000000"]);else{const e=this.thresholds[this.thresholds.length-1][0]+10;this.addThreshold([!this.max||e<=this.max?e:this.max,"#000000"])}this.updateComplete.then((()=>{var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("thresholds-list");Array.from(t.children)[t.children.length-2].children[1].setAttribute("focused","true")}))}};__decorate([property()],ThresholdsPanel.prototype,"thresholds",void 0),__decorate([property()],ThresholdsPanel.prototype,"textColors",void 0),__decorate([property()],ThresholdsPanel.prototype,"boolColors",void 0),__decorate([property()],ThresholdsPanel.prototype,"min",void 0),__decorate([property()],ThresholdsPanel.prototype,"max",void 0),__decorate([property()],ThresholdsPanel.prototype,"valueType",void 0),ThresholdsPanel=__decorate([customElement("thresholds-panel")],ThresholdsPanel);export{ThresholdsPanel};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thresholds-panel.js","sourceRoot":"","sources":["../../src/panels/thresholds-panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Dashboard } from "@openremote/model";
2
+ export declare enum DashboardSizeOption {
3
+ DESKTOP = 0,
4
+ MOBILE = 1
5
+ }
6
+ export declare class DashboardService {
7
+ static create(dashboard?: Dashboard, size?: DashboardSizeOption, realm?: string, post?: boolean): Promise<Dashboard>;
8
+ static delete(id: string, realm?: string): Promise<void>;
9
+ private static getDefaultColumns;
10
+ private static getDefaultDisplayName;
11
+ private static getDefaultScreenPresets;
12
+ private static getDefaultMaxScreenWidth;
13
+ }
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))((function(r,n){function s(e){try{d(i.next(e))}catch(e){n(e)}}function o(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(s,o)}d((i=i.apply(e,t||[])).next())}))};import manager from"@openremote/core";import{i18next}from"@openremote/or-translate";export var DashboardSizeOption;!function(e){e[e.DESKTOP=0]="DESKTOP",e[e.MOBILE=1]="MOBILE"}(DashboardSizeOption||(DashboardSizeOption={}));export class DashboardService{static create(e,t=DashboardSizeOption.DESKTOP,a=manager.displayRealm,i=!0){var r;return __awaiter(this,void 0,void 0,(function*(){const n=()=>(Math.random()+1).toString(36).substring(2);return e?(e.id=n(),e.template&&(e.template.id=n(),null===(r=e.template.widgets)||void 0===r||r.forEach((e=>e.id=n())))):e={realm:a,displayName:this.getDefaultDisplayName(t),template:{id:n(),columns:this.getDefaultColumns(t),maxScreenWidth:this.getDefaultMaxScreenWidth(t),refreshInterval:"OFF",screenPresets:this.getDefaultScreenPresets(t)}},i?(yield manager.rest.api.DashboardResource.create(e)).data:e}))}static delete(e,t=manager.displayRealm){return __awaiter(this,void 0,void 0,(function*(){return(yield manager.rest.api.DashboardResource.delete(t,e)).data}))}static getDefaultColumns(e){switch(e){case DashboardSizeOption.MOBILE:return 4;case DashboardSizeOption.DESKTOP:default:return 12}}static getDefaultDisplayName(e){switch(e){case DashboardSizeOption.DESKTOP:return i18next.t("dashboard.initialName");case DashboardSizeOption.MOBILE:return i18next.t("dashboard.initialName")+" ("+i18next.t("dashboard.size.mobile")+")"}}static getDefaultScreenPresets(e){return e===DashboardSizeOption.MOBILE?[{id:"mobile",displayName:"dashboard.size.mobile",breakpoint:640,scalingPreset:"KEEP_LAYOUT"}]:[{id:"mobile",displayName:"dashboard.size.mobile",breakpoint:640,scalingPreset:"WRAP_TO_SINGLE_COLUMN"}]}static getDefaultMaxScreenWidth(e){switch(e){case DashboardSizeOption.DESKTOP:return 4e3;case DashboardSizeOption.MOBILE:return 640}}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-service.js","sourceRoot":"","sources":["../../src/service/dashboard-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DashboardWidget } from "@openremote/model";
2
+ import { WidgetConfig } from "../util/widget-config";
3
+ import { WidgetManifest } from "../util/or-widget";
4
+ export declare class WidgetService {
5
+ static getManifest(widgetTypeId: string): WidgetManifest;
6
+ static placeNew(widgetTypeId: string, x: number, y: number): Promise<DashboardWidget>;
7
+ static correctToConfigSpec(manifest: WidgetManifest, widgetConfig: WidgetConfig): WidgetConfig;
8
+ }
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(o,r){function a(t){try{d(n.next(t))}catch(t){r(t)}}function c(t){try{d(n.throw(t))}catch(t){r(t)}}function d(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,c)}d((n=n.apply(t,e||[])).next())}))};import{widgetTypes}from"../index";import{Util}from"@openremote/core";export class WidgetService{static getManifest(t){const e=widgetTypes.get(t);if(!e)throw new Error("Widget manifest could not be found during widget creation.");return e}static placeNew(t,e,i){return __awaiter(this,void 0,void 0,(function*(){const n=(Math.random()+1).toString(36).substring(2),o=this.getManifest(t);return{id:n,displayName:o.displayName,gridItem:{id:n,x:e,y:i,w:2,h:2,minW:o.minColumnWidth,minH:o.minColumnHeight,minPixelW:o.minPixelWidth,minPixelH:o.minPixelHeight,noResize:!1,noMove:!1,locked:!1},widgetConfig:o.getDefaultConfig(),widgetTypeId:t}}))}static correctToConfigSpec(t,e){return Util.mergeObjects(t.getDefaultConfig(),e,!1)}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget-service.js","sourceRoot":"","sources":["../../src/service/widget-service.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAErC,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAGtC,MAAM,OAAO,aAAa;IAEf,MAAM,CAAC,WAAW,CAAC,YAAoB;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAG,CAAC,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,MAAM,CAAO,QAAQ,CAAC,YAAoB,EAAE,CAAS,EAAE,CAAS;;YACnE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG;gBACX,EAAE,EAAE,QAAQ;gBACZ,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,QAAQ,EAAE;oBACN,EAAE,EAAE,QAAQ;oBACZ,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,IAAI,EAAE,QAAQ,CAAC,cAAc;oBAC7B,IAAI,EAAE,QAAQ,CAAC,eAAe;oBAC9B,SAAS,EAAE,QAAQ,CAAC,aAAa;oBACjC,SAAS,EAAE,QAAQ,CAAC,cAAc;oBAClC,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;iBAChB,EAAE,2DAA2D;gBAC9D,YAAY,EAAE,QAAQ,CAAC,gBAAgB,EAAE;gBACzC,YAAY,EAAE,YAAY;aACV,CAAC;YACrB,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAED,0DAA0D;IAC1D,4HAA4H;IACrH,MAAM,CAAC,mBAAmB,CAAC,QAAwB,EAAE,YAA0B;QAClF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,KAAK,CAAiB,CAAC;IAC/F,CAAC;CACJ"}
@@ -0,0 +1,13 @@
1
+ import { TemplateResult } from "lit";
2
+ import { AttributeInputWidgetConfig } from "../widgets/attribute-input-widget";
3
+ import { AttributesSelectEvent } from "../panels/attributes-panel";
4
+ import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
5
+ import { AssetWidgetSettings } from "../util/or-asset-widget";
6
+ export declare class AttributeInputSettings extends AssetWidgetSettings {
7
+ protected readonly widgetConfig: AttributeInputWidgetConfig;
8
+ static get styles(): import("lit").CSSResult[];
9
+ protected render(): TemplateResult;
10
+ protected onAttributesSelect(ev: AttributesSelectEvent): void;
11
+ protected onReadonlyToggle(ev: OrInputChangedEvent): void;
12
+ protected onHelperTextToggle(ev: OrInputChangedEvent): void;
13
+ }
@@ -0,0 +1,36 @@
1
+ var __decorate=this&&this.__decorate||function(t,e,i,s){var n,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var o=t.length-1;o>=0;o--)(n=t[o])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};import{css,html}from"lit";import{customElement}from"lit/decorators.js";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{AssetWidgetSettings}from"../util/or-asset-widget";const styling=css`
2
+ .switch-container {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ }
7
+ `;let AttributeInputSettings=class extends AssetWidgetSettings{static get styles(){return[...super.styles,styling]}render(){return html`
8
+ <div>
9
+ <!-- Attribute selection -->
10
+ <settings-panel displayName="attributes" expanded="${!0}">
11
+ <attributes-panel .attributeRefs="${this.widgetConfig.attributeRefs}" style="padding-bottom: 12px;"
12
+ @attribute-select="${t=>this.onAttributesSelect(t)}"
13
+ ></attributes-panel>
14
+ </settings-panel>
15
+
16
+ <!-- Other settings -->
17
+ <settings-panel displayName="settings" expanded="${!0}">
18
+ <div>
19
+ <!-- Toggle readonly -->
20
+ <div class="switch-container">
21
+ <span><or-translate value="dashboard.userCanEdit"></or-translate></span>
22
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px;" .value="${!this.widgetConfig.readonly}"
23
+ @or-mwc-input-changed="${t=>this.onReadonlyToggle(t)}"
24
+ ></or-mwc-input>
25
+ </div>
26
+ <!-- Toggle helper text -->
27
+ <div class="switch-container">
28
+ <span><or-translate value="dashboard.showHelperText"></or-translate></span>
29
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px;" .value="${this.widgetConfig.showHelperText}"
30
+ @or-mwc-input-changed="${t=>this.onHelperTextToggle(t)}"
31
+ ></or-mwc-input>
32
+ </div>
33
+ </div>
34
+ </settings-panel>
35
+ </div>
36
+ `}onAttributesSelect(t){if(this.widgetConfig.attributeRefs=t.detail.attributeRefs,1===t.detail.attributeRefs.length){const e=t.detail.assets.find((e=>e.id===t.detail.attributeRefs[0].id));e&&this.setDisplayName(e.name)}this.notifyConfigUpdate()}onReadonlyToggle(t){this.widgetConfig.readonly=!t.detail.value,this.notifyConfigUpdate()}onHelperTextToggle(t){this.widgetConfig.showHelperText=t.detail.value,this.notifyConfigUpdate()}};AttributeInputSettings=__decorate([customElement("attribute-input-settings")],AttributeInputSettings);export{AttributeInputSettings};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-input-settings.js","sourceRoot":"","sources":["../../src/settings/attribute-input-settings.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAuB,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;CAMlB,CAAC;AAGK,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,mBAAmB;IAI3D,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAA;;;qEAGkD,IAAI;wDACjB,IAAI,CAAC,YAAY,CAAC,aAAa;2DAC5B,CAAC,EAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;;;;mEAKlD,IAAI;;;;;mDAKpB,SAAS,CAAC,MAAM,sCAAsC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ;mEACjE,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;;;mDAMtE,SAAS,CAAC,MAAM,sCAAsC,IAAI,CAAC,YAAY,CAAC,cAAc;mEACtE,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;;;;;SAMlH,CAAC;IACN,CAAC;IAES,kBAAkB,CAAC,EAAyB;QAClD,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;QAC1D,IAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3F,IAAG,KAAK,EAAE,CAAC;gBACP,IAAI,CAAC,cAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB,CAAC,EAAuB;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,kBAAkB,CAAC,EAAuB;QAChD,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CAEJ,CAAA;AA9DY,sBAAsB;IADlC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,sBAAsB,CA8DlC"}
@@ -0,0 +1,30 @@
1
+ import { TemplateResult } from "lit";
2
+ import { WidgetSettings } from "../util/widget-settings";
3
+ import "../panels/attributes-panel";
4
+ import "../util/settings-panel";
5
+ import { AttributeActionEvent, AttributesSelectEvent } from "../panels/attributes-panel";
6
+ import { AttributeRef } from "@openremote/model";
7
+ import { ChartWidgetConfig } from "../widgets/chart-widget";
8
+ import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
9
+ import { TimePresetCallback } from "@openremote/or-chart";
10
+ export declare class ChartSettings extends WidgetSettings {
11
+ protected readonly widgetConfig: ChartWidgetConfig;
12
+ protected timePresetOptions: Map<string, TimePresetCallback>;
13
+ protected samplingOptions: Map<string, string>;
14
+ setTimePresetOptions(options: Map<string, TimePresetCallback>): void;
15
+ setSamplingOptions(options: Map<string, string>): void;
16
+ static get styles(): import("lit").CSSResult[];
17
+ protected render(): TemplateResult;
18
+ protected getSamplingOptionsTemplate(type: any): TemplateResult;
19
+ protected onAttributeAction(ev: AttributeActionEvent): void;
20
+ protected onAttributesSelect(ev: AttributesSelectEvent): void;
21
+ protected addToRightAxis(attributeRef: AttributeRef, notify?: boolean): void;
22
+ protected removeFromRightAxis(attributeRef: AttributeRef, notify?: boolean): void;
23
+ protected onTimePresetSelect(ev: OrInputChangedEvent): void;
24
+ protected onTimestampControlsToggle(ev: OrInputChangedEvent): void;
25
+ protected onShowLegendToggle(ev: OrInputChangedEvent): void;
26
+ protected setAxisMinMaxValue(axis: 'left' | 'right', type: 'min' | 'max', value?: number): void;
27
+ protected onMinMaxValueChange(axis: 'left' | 'right', type: 'min' | 'max', ev: OrInputChangedEvent): void;
28
+ protected onMinMaxValueToggle(axis: 'left' | 'right', type: 'min' | 'max', ev: OrInputChangedEvent): void;
29
+ protected onSamplingQueryChange(ev: OrInputChangedEvent): void;
30
+ }
@@ -0,0 +1,144 @@
1
+ var __decorate=this&&this.__decorate||function(t,i,e,n){var o,s=arguments.length,a=s<3?i:null===n?n=Object.getOwnPropertyDescriptor(i,e):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,i,e,n);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(a=(s<3?o(a):s>3?o(i,e,a):o(i,e))||a);return s>3&&a&&Object.defineProperty(i,e,a),a};import{css,html}from"lit";import{customElement}from"lit/decorators.js";import{WidgetSettings}from"../util/widget-settings";import"../panels/attributes-panel";import"../util/settings-panel";import{i18next}from"@openremote/or-translate";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{when}from"lit/directives/when.js";const styling=css`
2
+ .switch-container {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ }
7
+ `;let ChartSettings=class extends WidgetSettings{constructor(){super(...arguments),this.timePresetOptions=new Map,this.samplingOptions=new Map}setTimePresetOptions(t){this.timePresetOptions=t}setSamplingOptions(t){this.samplingOptions=t}static get styles(){return[...super.styles,styling]}render(){var t,i,e,n,o,s;const a=null===(e=null===(i=null===(t=this.widgetConfig.chartOptions.options)||void 0===t?void 0:t.scales)||void 0===i?void 0:i.y)||void 0===e?void 0:e.min,l=null===(s=null===(o=null===(n=this.widgetConfig.chartOptions.options)||void 0===n?void 0:n.scales)||void 0===o?void 0:o.y)||void 0===s?void 0:s.max,r=this.widgetConfig.rightAxisAttributes.length>0,p=Array.from(this.samplingOptions.entries()).find((t=>t[1]===this.widgetConfig.datapointQuery.type))[0];return html`
8
+ <div>
9
+ <!-- Attribute selection -->
10
+ <settings-panel displayName="attributes" expanded="${!0}">
11
+ <attributes-panel .attributeRefs="${this.widgetConfig.attributeRefs}" multi="${!0}" onlyDataAttrs="${!0}" .attributeFilter="${t=>["boolean","positiveInteger","positiveNumber","number","long","integer","bigInteger","negativeInteger","negativeNumber","bigNumber","integerByte","direction"].includes(t.type)}" style="padding-bottom: 12px;"
12
+ .attributeLabelCallback="${(t,i,e)=>{const n=r&&void 0!==this.widgetConfig.rightAxisAttributes.find((e=>e.id===t.id&&e.name===i.name));return html`
13
+ <span>${t.name}</span>
14
+ <span style="font-size:14px; color:grey;">${e}</span>
15
+ ${when(n,(()=>html`
16
+ <span style="position: absolute; right: 0; margin-bottom: 16px; font-size:14px; color:grey;"><or-translate value="right"></or-translate></span>
17
+ `))}
18
+ `}}" .attributeActionCallback="${t=>[{icon:this.widgetConfig.rightAxisAttributes.includes(t)?"arrow-right-bold":"arrow-left-bold",tooltip:i18next.t("dashboard.toggleAxis"),disabled:!1}]}"
19
+ @attribute-action="${t=>this.onAttributeAction(t)}"
20
+ @attribute-select="${t=>this.onAttributesSelect(t)}"
21
+ ></attributes-panel>
22
+ </settings-panel>
23
+
24
+ <!-- Display options -->
25
+ <settings-panel displayName="display" expanded="${!0}">
26
+ <div style="padding-bottom: 12px; display: flex; flex-direction: column; gap: 6px;">
27
+ <!-- Timeframe -->
28
+ <div>
29
+ <or-mwc-input .type="${InputType.SELECT}" label="${i18next.t("timeframeDefault")}" style="width: 100%;"
30
+ .options="${Array.from(this.timePresetOptions.keys())}" value="${this.widgetConfig.defaultTimePresetKey}"
31
+ @or-mwc-input-changed="${t=>this.onTimePresetSelect(t)}"
32
+ ></or-mwc-input>
33
+ </div>
34
+ <!-- Y Min/max options -->
35
+ <div>
36
+ <div class="switch-container">
37
+ <span><or-translate value="dashboard.allowTimerangeSelect"></or-translate></span>
38
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px;" .value="${!this.widgetConfig.showTimestampControls}"
39
+ @or-mwc-input-changed="${t=>this.onTimestampControlsToggle(t)}"
40
+ ></or-mwc-input>
41
+ </div>
42
+ <div class="switch-container">
43
+ <span><or-translate value="dashboard.showLegend"></or-translate></span>
44
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px;" .value="${this.widgetConfig.showLegend}"
45
+ @or-mwc-input-changed="${t=>this.onShowLegendToggle(t)}"
46
+ ></or-mwc-input>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </settings-panel>
51
+
52
+ <!-- Axis configuration -->
53
+ <settings-panel displayName="dashboard.axisConfig" expanded="${!0}">
54
+ <div style="padding-bottom: 12px; display: flex; flex-direction: column; gap: 16px;">
55
+
56
+ <!-- Left axis configuration -->
57
+ <div>
58
+ ${when(r,(()=>html`
59
+ <div style="margin-bottom: 8px;">
60
+ <span><or-translate value="dashboard.leftAxis"></or-translate></span>
61
+ </div>
62
+ `))}
63
+ <div style="display: flex;">
64
+ ${void 0!==l?html`
65
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("yAxis")+" "+i18next.t("max")}" .value="${l}" style="width: 100%;"
66
+ @or-mwc-input-changed="${t=>this.onMinMaxValueChange("left","max",t)}"
67
+ ></or-mwc-input>
68
+ `:html`
69
+ <or-mwc-input .type="${InputType.TEXT}" label="${i18next.t("yAxis")+" "+i18next.t("max")}" disabled="true" value="auto" style="width: 100%;"></or-mwc-input>
70
+ `}
71
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px 0 0;" .value="${void 0!==l}"
72
+ @or-mwc-input-changed="${t=>this.onMinMaxValueToggle("left","max",t)}"
73
+ ></or-mwc-input>
74
+ </div>
75
+ <div style="display: flex; margin-top: 12px;">
76
+ ${void 0!==a?html`
77
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("yAxis")+" "+i18next.t("min")}" .value="${a}" style="width: 100%;"
78
+ @or-mwc-input-changed="${t=>this.onMinMaxValueChange("left","min",t)}"
79
+ ></or-mwc-input>
80
+ `:html`
81
+ <or-mwc-input .type="${InputType.TEXT}" label="${i18next.t("yAxis")+" "+i18next.t("min")}" disabled="true" value="auto" style="width: 100%;"></or-mwc-input>
82
+ `}
83
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px 0 0;" .value="${void 0!==a}"
84
+ @or-mwc-input-changed="${t=>this.onMinMaxValueToggle("left","min",t)}"
85
+ ></or-mwc-input>
86
+ </div>
87
+ </div>
88
+
89
+ <!-- Right axis configuration -->
90
+ ${when(r,(()=>{var t,i,e,n,o,s;const a=null===(e=null===(i=null===(t=this.widgetConfig.chartOptions.options)||void 0===t?void 0:t.scales)||void 0===i?void 0:i.y1)||void 0===e?void 0:e.min,l=null===(s=null===(o=null===(n=this.widgetConfig.chartOptions.options)||void 0===n?void 0:n.scales)||void 0===o?void 0:o.y1)||void 0===s?void 0:s.max;return html`
91
+ <div>
92
+ <div style="margin-bottom: 8px;">
93
+ <span><or-translate value="dashboard.rightAxis"></or-translate></span>
94
+ </div>
95
+ <div style="display: flex;">
96
+ ${void 0!==l?html`
97
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("yAxis")+" "+i18next.t("max")}" .value="${l}" style="width: 100%;"
98
+ @or-mwc-input-changed="${t=>this.onMinMaxValueChange("right","max",t)}"
99
+ ></or-mwc-input>
100
+ `:html`
101
+ <or-mwc-input .type="${InputType.TEXT}" label="${i18next.t("yAxis")+" "+i18next.t("max")}" disabled="true" value="auto"
102
+ style="width: 100%;"></or-mwc-input>
103
+ `}
104
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px 0 0;" .value="${void 0!==l}"
105
+ @or-mwc-input-changed="${t=>this.onMinMaxValueToggle("right","max",t)}"
106
+ ></or-mwc-input>
107
+ </div>
108
+ <div style="display: flex; margin-top: 12px;">
109
+ ${void 0!==a?html`
110
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("yAxis")+" "+i18next.t("min")}" .value="${a}" style="width: 100%;"
111
+ @or-mwc-input-changed="${t=>this.onMinMaxValueChange("right","min",t)}"
112
+ ></or-mwc-input>
113
+ `:html`
114
+ <or-mwc-input .type="${InputType.TEXT}" label="${i18next.t("yAxis")+" "+i18next.t("min")}" disabled="true" value="auto"
115
+ style="width: 100%;"></or-mwc-input>
116
+ `}
117
+ <or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px 0 0;" .value="${void 0!==a}"
118
+ @or-mwc-input-changed="${t=>this.onMinMaxValueToggle("right","min",t)}"
119
+ ></or-mwc-input>
120
+ </div>
121
+ </div>
122
+ `}))}
123
+ </div>
124
+ </settings-panel>
125
+
126
+ <!-- Data sampling options -->
127
+ <settings-panel displayName="dataSampling" expanded="${!0}">
128
+ <div style="padding-bottom: 12px; display: flex; flex-direction: column; gap: 12px;">
129
+ <div>
130
+ <or-mwc-input .type="${InputType.SELECT}" style="width: 100%" .options="${Array.from(this.samplingOptions.keys())}" .value="${p}"
131
+ label="${i18next.t("algorithm")}" @or-mwc-input-changed="${t=>this.onSamplingQueryChange(t)}"
132
+ ></or-mwc-input>
133
+ </div>
134
+ <div>
135
+ ${this.getSamplingOptionsTemplate(this.widgetConfig.datapointQuery.type)}
136
+ </div>
137
+ </div>
138
+ </settings-panel>
139
+ </div>
140
+ `}getSamplingOptionsTemplate(t){if("interval"===t){const t=this.widgetConfig.datapointQuery,i=["AVG","MIN","MAX"];return html`
141
+ <or-mwc-input .type="${InputType.SELECT}" style="width: 100%;" .options="${i}"
142
+ .value="${t.formula}" label="${i18next.t("algorithmMethod")}" @or-mwc-input-changed="${i=>{t.formula=i.detail.value,this.notifyConfigUpdate()}}"
143
+ ></or-mwc-input>
144
+ `}return html``}onAttributeAction(t){this.widgetConfig.attributeRefs.indexOf(t.detail.attributeRef)>=0&&(this.widgetConfig.rightAxisAttributes.includes(t.detail.attributeRef)?this.removeFromRightAxis(t.detail.attributeRef):this.addToRightAxis(t.detail.attributeRef),this.notifyConfigUpdate())}onAttributesSelect(t){this.widgetConfig.attributeRefs.filter((i=>!t.detail.attributeRefs.includes(i))).forEach((t=>this.removeFromRightAxis(t))),this.widgetConfig.attributeRefs=t.detail.attributeRefs,this.notifyConfigUpdate()}addToRightAxis(t,i=!1){this.widgetConfig.rightAxisAttributes.includes(t)||(this.widgetConfig.rightAxisAttributes.push(t),i&&this.notifyConfigUpdate())}removeFromRightAxis(t,i=!1){this.widgetConfig.rightAxisAttributes.includes(t)&&(this.widgetConfig.rightAxisAttributes.splice(this.widgetConfig.rightAxisAttributes.indexOf(t),1),i&&this.notifyConfigUpdate())}onTimePresetSelect(t){this.widgetConfig.defaultTimePresetKey=t.detail.value.toString(),this.notifyConfigUpdate()}onTimestampControlsToggle(t){this.widgetConfig.showTimestampControls=!t.detail.value,this.notifyConfigUpdate()}onShowLegendToggle(t){this.widgetConfig.showLegend=t.detail.value,this.notifyConfigUpdate()}setAxisMinMaxValue(t,i,e){"left"===t?"min"===i?this.widgetConfig.chartOptions.options.scales.y.min=e:this.widgetConfig.chartOptions.options.scales.y.max=e:"min"===i?this.widgetConfig.chartOptions.options.scales.y1.min=e:this.widgetConfig.chartOptions.options.scales.y1.max=e,this.notifyConfigUpdate()}onMinMaxValueChange(t,i,e){this.setAxisMinMaxValue(t,i,e.detail.value)}onMinMaxValueToggle(t,i,e){this.setAxisMinMaxValue(t,i,e.detail.value?"min"===i?0:100:void 0)}onSamplingQueryChange(t){this.widgetConfig.datapointQuery.type=this.samplingOptions.get(t.detail.value),this.notifyConfigUpdate()}};ChartSettings=__decorate([customElement("chart-settings")],ChartSettings);export{ChartSettings};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-settings.js","sourceRoot":"","sources":["../../src/settings/chart-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { TemplateResult } from "lit";
2
+ import { WidgetSettings } from "../util/widget-settings";
3
+ import { GaugeWidgetConfig } from "../widgets/gauge-widget";
4
+ import { AttributesSelectEvent } from "../panels/attributes-panel";
5
+ import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
6
+ import { ThresholdChangeEvent } from "../panels/thresholds-panel";
7
+ import "../panels/thresholds-panel";
8
+ export declare class GaugeSettings extends WidgetSettings {
9
+ protected widgetConfig: GaugeWidgetConfig;
10
+ protected render(): TemplateResult;
11
+ protected onAttributesSelect(ev: AttributesSelectEvent): void;
12
+ protected onMinMaxValueChange(type: 'min' | 'max', ev: OrInputChangedEvent): void;
13
+ protected onDecimalsChange(ev: OrInputChangedEvent): void;
14
+ protected onThresholdChange(ev: ThresholdChangeEvent): void;
15
+ }
@@ -0,0 +1,37 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,i,n){var a,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(o=(s<3?a(o):s>3?a(t,i,o):a(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o};import{html}from"lit";import{customElement}from"lit/decorators.js";import{WidgetSettings}from"../util/widget-settings";import{i18next}from"@openremote/or-translate";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import"../panels/thresholds-panel";let GaugeSettings=class extends WidgetSettings{render(){return html`
2
+ <div>
3
+ <!-- Attribute selection -->
4
+ <settings-panel displayName="attributes" expanded="${!0}">
5
+ <attributes-panel .attributeRefs="${this.widgetConfig.attributeRefs}" .attributeFilter="${e=>["positiveInteger","positiveNumber","number","long","integer","bigInteger","negativeInteger","negativeNumber","bigNumber","integerByte","direction"].includes(e.type)}" style="padding-bottom: 12px;"
6
+ @attribute-select="${e=>this.onAttributesSelect(e)}"
7
+ ></attributes-panel>
8
+ </settings-panel>
9
+
10
+ <!-- Min/max and decimals options-->
11
+ <settings-panel displayName="values" expanded="${!0}">
12
+ <div style="padding-bottom: 12px; display: flex; flex-direction: column; gap: 12px;">
13
+ <div style="display: flex; gap: 8px;">
14
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("min")}" .max="${this.widgetConfig.max}" .value="${this.widgetConfig.min}"
15
+ @or-mwc-input-changed="${e=>this.onMinMaxValueChange("min",e)}"
16
+ ></or-mwc-input>
17
+ <or-mwc-input .type="${InputType.NUMBER}" label="${i18next.t("max")}" .min="${this.widgetConfig.min}" .value="${this.widgetConfig.max}"
18
+ @or-mwc-input-changed="${e=>this.onMinMaxValueChange("max",e)}"
19
+ ></or-mwc-input>
20
+ </div>
21
+ <div>
22
+ <or-mwc-input .type="${InputType.NUMBER}" style="width: 100%;" .value="${this.widgetConfig.decimals}" label="${i18next.t("decimals")}" .min="${0}"
23
+ @or-mwc-input-changed="${e=>this.onDecimalsChange(e)}"
24
+ ></or-mwc-input>
25
+ </div>
26
+ </div>
27
+ </settings-panel>
28
+
29
+ <!-- Thresholds panel -->
30
+ <settings-panel displayName="thresholds" expanded="${!0}">
31
+ <thresholds-panel .thresholds="${this.widgetConfig.thresholds}" .valueType="${"number"}" style="padding-bottom: 12px;"
32
+ .min="${this.widgetConfig.min}" .max="${this.widgetConfig.max}"
33
+ @threshold-change="${e=>this.onThresholdChange(e)}">
34
+ </thresholds-panel>
35
+ </settings-panel>
36
+ </div>
37
+ `}onAttributesSelect(e){if(this.widgetConfig.attributeRefs=e.detail.attributeRefs,1===e.detail.attributeRefs.length){const t=e.detail.attributeRefs[0],i=e.detail.assets.find((e=>e.id===t.id));this.setDisplayName(i?`${i.name} - ${t.name}`:`${t.name}`)}this.notifyConfigUpdate()}onMinMaxValueChange(e,t){switch(e){case"max":this.widgetConfig.max=t.detail.value;break;case"min":this.widgetConfig.min=t.detail.value}this.notifyConfigUpdate()}onDecimalsChange(e){this.widgetConfig.decimals=e.detail.value,this.notifyConfigUpdate()}onThresholdChange(e){this.widgetConfig.thresholds=e.detail,this.notifyConfigUpdate()}};GaugeSettings=__decorate([customElement("gauge-settings")],GaugeSettings);export{GaugeSettings};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gauge-settings.js","sourceRoot":"","sources":["../../src/settings/gauge-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { PropertyValues, TemplateResult } from "lit";
2
+ import { ImageWidgetConfig } from "../widgets/image-widget";
3
+ import { AttributesSelectEvent } from "../panels/attributes-panel";
4
+ import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
5
+ import { AssetWidgetSettings } from "../util/or-asset-widget";
6
+ export declare class ImageSettings extends AssetWidgetSettings {
7
+ protected readonly widgetConfig: ImageWidgetConfig;
8
+ static get styles(): import("lit").CSSResult[];
9
+ protected willUpdate(changedProps: PropertyValues): void;
10
+ protected loadAssets(): void;
11
+ protected render(): TemplateResult;
12
+ protected onAttributesSelect(ev: AttributesSelectEvent): void;
13
+ protected onImageUrlUpdate(ev: OrInputChangedEvent): void;
14
+ updateCoordinateMap(config: ImageWidgetConfig): void;
15
+ private draftCoordinateEntries;
16
+ protected onCoordinateUpdate(index: number, coordinate: 'x' | 'y', value: number): void;
17
+ }