@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.
- package/README.md +156 -0
- package/build.gradle +15 -0
- package/lib/controls/dashboard-refresh-controls.d.ts +17 -0
- package/lib/controls/dashboard-refresh-controls.js +17 -0
- package/lib/controls/dashboard-refresh-controls.js.map +1 -0
- package/lib/index.d.ts +71 -0
- package/lib/index.js +285 -0
- package/lib/index.js.map +1 -0
- package/lib/or-dashboard-boardsettings.d.ts +19 -0
- package/lib/or-dashboard-boardsettings.js +121 -0
- package/lib/or-dashboard-boardsettings.js.map +1 -0
- package/lib/or-dashboard-browser.d.ts +9 -0
- package/lib/or-dashboard-browser.js +35 -0
- package/lib/or-dashboard-browser.js.map +1 -0
- package/lib/or-dashboard-engine.d.ts +4 -0
- package/lib/or-dashboard-engine.js +1 -0
- package/lib/or-dashboard-engine.js.map +1 -0
- package/lib/or-dashboard-keyhandler.d.ts +6 -0
- package/lib/or-dashboard-keyhandler.js +1 -0
- package/lib/or-dashboard-keyhandler.js.map +1 -0
- package/lib/or-dashboard-preview.d.ts +70 -0
- package/lib/or-dashboard-preview.js +155 -0
- package/lib/or-dashboard-preview.js.map +1 -0
- package/lib/or-dashboard-tree.d.ts +25 -0
- package/lib/or-dashboard-tree.js +62 -0
- package/lib/or-dashboard-tree.js.map +1 -0
- package/lib/or-dashboard-widgetcontainer.d.ts +23 -0
- package/lib/or-dashboard-widgetcontainer.js +20 -0
- package/lib/or-dashboard-widgetcontainer.js.map +1 -0
- package/lib/or-dashboard-widgetsettings.d.ts +15 -0
- package/lib/or-dashboard-widgetsettings.js +16 -0
- package/lib/or-dashboard-widgetsettings.js.map +1 -0
- package/lib/panels/assettypes-panel.d.ts +44 -0
- package/lib/panels/assettypes-panel.js +51 -0
- package/lib/panels/assettypes-panel.js.map +1 -0
- package/lib/panels/attributes-panel.d.ts +41 -0
- package/lib/panels/attributes-panel.js +126 -0
- package/lib/panels/attributes-panel.js.map +1 -0
- package/lib/panels/thresholds-panel.d.ts +39 -0
- package/lib/panels/thresholds-panel.js +129 -0
- package/lib/panels/thresholds-panel.js.map +1 -0
- package/lib/service/dashboard-service.d.ts +13 -0
- package/lib/service/dashboard-service.js +1 -0
- package/lib/service/dashboard-service.js.map +1 -0
- package/lib/service/widget-service.d.ts +8 -0
- package/lib/service/widget-service.js +1 -0
- package/lib/service/widget-service.js.map +1 -0
- package/lib/settings/attribute-input-settings.d.ts +13 -0
- package/lib/settings/attribute-input-settings.js +36 -0
- package/lib/settings/attribute-input-settings.js.map +1 -0
- package/lib/settings/chart-settings.d.ts +30 -0
- package/lib/settings/chart-settings.js +144 -0
- package/lib/settings/chart-settings.js.map +1 -0
- package/lib/settings/gauge-settings.d.ts +15 -0
- package/lib/settings/gauge-settings.js +37 -0
- package/lib/settings/gauge-settings.js.map +1 -0
- package/lib/settings/image-settings.d.ts +17 -0
- package/lib/settings/image-settings.js +52 -0
- package/lib/settings/image-settings.js.map +1 -0
- package/lib/settings/kpi-settings.d.ts +15 -0
- package/lib/settings/kpi-settings.js +47 -0
- package/lib/settings/kpi-settings.js.map +1 -0
- package/lib/settings/map-settings.d.ts +21 -0
- package/lib/settings/map-settings.js +72 -0
- package/lib/settings/map-settings.js.map +1 -0
- package/lib/settings/table-settings.d.ts +14 -0
- package/lib/settings/table-settings.js +33 -0
- package/lib/settings/table-settings.js.map +1 -0
- package/lib/style.d.ts +1 -0
- package/lib/style.js +99 -0
- package/lib/style.js.map +1 -0
- package/lib/util/or-asset-widget.d.ts +20 -0
- package/lib/util/or-asset-widget.js +1 -0
- package/lib/util/or-asset-widget.js.map +1 -0
- package/lib/util/or-widget.d.ts +31 -0
- package/lib/util/or-widget.js +1 -0
- package/lib/util/or-widget.js.map +1 -0
- package/lib/util/settings-panel.d.ts +9 -0
- package/lib/util/settings-panel.js +56 -0
- package/lib/util/settings-panel.js.map +1 -0
- package/lib/util/widget-config.d.ts +2 -0
- package/lib/util/widget-config.js +1 -0
- package/lib/util/widget-config.js.map +1 -0
- package/lib/util/widget-settings.d.ts +23 -0
- package/lib/util/widget-settings.js +1 -0
- package/lib/util/widget-settings.js.map +1 -0
- package/lib/widgets/attribute-input-widget.d.ts +24 -0
- package/lib/widgets/attribute-input-widget.js +31 -0
- package/lib/widgets/attribute-input-widget.js.map +1 -0
- package/lib/widgets/chart-widget.d.ts +25 -0
- package/lib/widgets/chart-widget.js +15 -0
- package/lib/widgets/chart-widget.js.map +1 -0
- package/lib/widgets/gauge-widget.d.ts +22 -0
- package/lib/widgets/gauge-widget.js +12 -0
- package/lib/widgets/gauge-widget.js.map +1 -0
- package/lib/widgets/image-widget.d.ts +25 -0
- package/lib/widgets/image-widget.js +54 -0
- package/lib/widgets/image-widget.js.map +1 -0
- package/lib/widgets/kpi-widget.d.ts +21 -0
- package/lib/widgets/kpi-widget.js +8 -0
- package/lib/widgets/kpi-widget.js.map +1 -0
- package/lib/widgets/map-widget.d.ts +39 -0
- package/lib/widgets/map-widget.js +9 -0
- package/lib/widgets/map-widget.js.map +1 -0
- package/lib/widgets/table-widget.d.ts +25 -0
- package/lib/widgets/table-widget.js +12 -0
- package/lib/widgets/table-widget.js.map +1 -0
- package/package.json +32 -0
- package/src/controls/dashboard-refresh-controls.ts +100 -0
- package/src/index.ts +731 -0
- package/src/or-dashboard-boardsettings.ts +249 -0
- package/src/or-dashboard-browser.ts +160 -0
- package/src/or-dashboard-engine.ts +17 -0
- package/src/or-dashboard-keyhandler.ts +25 -0
- package/src/or-dashboard-preview.ts +713 -0
- package/src/or-dashboard-tree.ts +304 -0
- package/src/or-dashboard-widgetcontainer.ts +155 -0
- package/src/or-dashboard-widgetsettings.ts +91 -0
- package/src/panels/assettypes-panel.ts +311 -0
- package/src/panels/attributes-panel.ts +304 -0
- package/src/panels/thresholds-panel.ts +285 -0
- package/src/service/dashboard-service.ts +89 -0
- package/src/service/widget-service.ts +48 -0
- package/src/settings/attribute-input-settings.ts +79 -0
- package/src/settings/chart-settings.ts +306 -0
- package/src/settings/gauge-settings.ts +93 -0
- package/src/settings/image-settings.ts +175 -0
- package/src/settings/kpi-settings.ts +106 -0
- package/src/settings/map-settings.ts +185 -0
- package/src/settings/table-settings.ts +92 -0
- package/src/style.ts +104 -0
- package/src/util/or-asset-widget.ts +110 -0
- package/src/util/or-widget.ts +60 -0
- package/src/util/settings-panel.ts +93 -0
- package/src/util/widget-config.ts +2 -0
- package/src/util/widget-settings.ts +58 -0
- package/src/widgets/attribute-input-widget.ts +143 -0
- package/src/widgets/chart-widget.ts +203 -0
- package/src/widgets/gauge-widget.ts +111 -0
- package/src/widgets/image-widget.ts +180 -0
- package/src/widgets/kpi-widget.ts +97 -0
- package/src/widgets/map-widget.ts +187 -0
- package/src/widgets/table-widget.ts +157 -0
- package/tsconfig.json +15 -0
- package/tsconfig.tsbuildinfo +1 -0
- 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":";;;;;;AAAA,OAAO,EAAC,SAAS,EAAsB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,GAAG,EAAa,IAAI,EAAE,UAAU,EAAkC,SAAS,EAAC,MAAM,KAAK,CAAC;AAChG,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAE/B,MAAM,OAAO,oBAAqB,SAAQ,WAA+B;IAIrE,YAAY,UAA8B;QACtC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE;YAC7B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;;AARsB,yBAAI,GAAG,kBAAkB,CAAC;AAWrD,MAAM,OAAO,qBAAsB,SAAQ,WAA+B;IAItE,YAAY,UAA8B;QACtC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;;AARsB,0BAAI,GAAG,oBAAoB,CAAC;AAWvD,MAAM,OAAO,qBAAsB,SAAQ,WAA0D;IAIjG,YAAY,UAAyD;QACjE,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;;AARsB,0BAAI,GAAG,oBAAoB,CAAC;AAWvD,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;kCA0Be,SAAS,CAAC,aAAa,CAAC;2CACf,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;CAWlE,CAAC;AAGK,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAGO,eAAU,GAAuB,EAAE,CAAC;QAGpC,eAAU,GAAuB,EAAE,CAAC;IA+LlD,CAAC;IAjLG,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAES,OAAO,CAAC,YAA4B;QAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAA;;;;kBAID,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB;eAC3D,IAAI,CAAC,SAAS,KAAK,gBAAgB,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB;eAC3E,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;sBAC/C,IAAI,CAAC,UAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACtG,OAAO,IAAI,CAAA;;;0DAGuB,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,CAAC,CAAC;2EACvB,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;;;sDAGG,SAAS,CAAC,MAAM,yBAAyB,SAAS,CAAC,CAAC,CAAC;2DAChD,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG;sDAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;uEAChC,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;;kCAEb,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;;2GAGuD,SAAS,CAAC,aAAa,CAAC;;iCAElG,CAAC,CAAC,CAAC,IAAI,CAAA;;;sDAGc,GAAG,EAAE;gBACX,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;;;iCAGZ;;yBAER,CAAA;QACL,CAAC,CAAC;2CACqB,SAAS,CAAC,MAAM;2DACA,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;;iBAEtE,CAAC,CAAC,CAAC,IAAI;;;kBAGN,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;;kDAGL,SAAS,CAAC,MAAM,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI;mEAC/B,CAAC,KAA0B,EAAE,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;;;8CAGG,SAAS,CAAC,IAAI,yBAAyB,MAAM,gBAAgB,IAAI;;;;;kDAK7D,SAAS,CAAC,MAAM,YAAY,IAAI,CAAC,UAAU,CAAC,KAAK;mEAChC,CAAC,KAA0B,EAAE,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;;;8CAGG,SAAS,CAAC,IAAI,yBAAyB,OAAO,gBAAgB,IAAI;;;iBAG/F,CAAC,CAAC,CAAC,IAAI;;;kBAGN,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;sBAChD,IAAI,CAAC,UAAiC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAC/D,OAAO,IAAI,CAAA;;;0DAGuB,SAAS,CAAC,MAAM,YAAY,SAAS,CAAC,CAAC,CAAC;2EACvB,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;;;sDAGG,SAAS,CAAC,IAAI,yBAAyB,SAAS,CAAC,CAAC,CAAC;uEAClC,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;;;kCAGb,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;;2GAGuD,SAAS,CAAC,aAAa,CAAC;;iCAElG,CAAC,CAAC,CAAC,IAAI,CAAA;;;sDAGc,GAAG,EAAE;gBACX,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;;;iCAGZ;;yBAER,CAAA;QACL,CAAC,CAAC;2CACqB,SAAS,CAAC,MAAM;2DACA,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;;iBAEtE,CAAC,CAAC,CAAC,IAAI;;SAEf,CAAA;IACL,CAAC;IAES,eAAe,CAAC,SAAwB;QAC9C,QAAQ,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACT,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACzF,MAAM;YACV;gBACI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAiC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACzF,MAAM;QACd,CAAC;IACL,CAAC;IAES,YAAY,CAAC,SAAwB;QAC3C,QAAQ,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACR,IAAI,CAAC,UAAiC,CAAC,IAAI,CAAC,SAA6B,CAAC,CAAC;gBAC5E,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjC,MAAM;YACV;gBACK,IAAI,CAAC,UAAiC,CAAC,IAAI,CAAC,SAA6B,CAAC,CAAC;gBAC5E,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjC,MAAM;QACd,CAAC;IACL,CAAC;IAES,eAAe;QACrB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;;YAC1B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,cAAc,CAAC,iBAAiB,CAAgB,CAAC;YAC/E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAC;YACrF,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAA;IACN,CAAC;CACJ,CAAA;AAlMa;IADT,QAAQ,EAAE;mDACmC;AAGpC;IADT,QAAQ,EAAE;mDACmC;AAGpC;IADT,QAAQ,EAAE;mDAC0D;AAGlD;IADlB,QAAQ,EAAE;4CACqB;AAGb;IADlB,QAAQ,EAAE;4CACqB;AAGb;IADlB,QAAQ,EAAE;kDAC2B;AAlB7B,eAAe;IAD3B,aAAa,CAAC,kBAAkB,CAAC;GACrB,eAAe,CAqM3B"}
|
|
@@ -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
|
+
}
|