@openremote/or-dashboard-builder 1.2.0-snapshot.20240512160221
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-settingspanel.d.ts +44 -0
- package/lib/or-dashboard-settingspanel.js +216 -0
- package/lib/or-dashboard-settingspanel.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-widget.d.ts +18 -0
- package/lib/or-dashboard-widget.js +15 -0
- package/lib/or-dashboard-widget.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/or-base-widget.d.ts +15 -0
- package/lib/widgets/or-base-widget.js +1 -0
- package/lib/widgets/or-base-widget.js.map +1 -0
- package/lib/widgets/or-chart-widget.d.ts +36 -0
- package/lib/widgets/or-chart-widget.js +112 -0
- package/lib/widgets/or-chart-widget.js.map +1 -0
- package/lib/widgets/or-gauge-widget.d.ts +46 -0
- package/lib/widgets/or-gauge-widget.js +60 -0
- package/lib/widgets/or-gauge-widget.js.map +1 -0
- package/lib/widgets/or-kpi-widget.d.ts +44 -0
- package/lib/widgets/or-kpi-widget.js +63 -0
- package/lib/widgets/or-kpi-widget.js.map +1 -0
- package/lib/widgets/or-map-widget.d.ts +49 -0
- package/lib/widgets/or-map-widget.js +75 -0
- package/lib/widgets/or-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 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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{i18next}from"@openremote/or-translate";import{AssetModelUtil}from"@openremote/model";import{map}from"lit/directives/map.js";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{Util}from"@openremote/core";import{when}from"lit/directives/when.js";import{AssetWidgetSettings}from"../util/or-asset-widget";const styling=css`
|
|
2
|
+
#marker-container {
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: flex-end;
|
|
5
|
+
align-items: center;
|
|
6
|
+
}
|
|
7
|
+
`;let ImageSettings=class extends AssetWidgetSettings{static get styles(){return[...super.styles,styling]}willUpdate(t){super.willUpdate(t),t.has("widgetConfig")&&this.widgetConfig&&(this.updateCoordinateMap(this.widgetConfig),this.loadAssets())}loadAssets(){this.widgetConfig.attributeRefs.filter((t=>!this.isAttributeRefLoaded(t))).length>0&&this.fetchAssets(this.widgetConfig.attributeRefs).then((t=>{this.loadedAssets=void 0===t?[]:t}))}render(){return html`
|
|
8
|
+
<div>
|
|
9
|
+
<!-- Attributes selector -->
|
|
10
|
+
<settings-panel displayName="'attributes" expanded="${!0}">
|
|
11
|
+
<attributes-panel .attributeRefs="${this.widgetConfig.attributeRefs}" onlyDataAttrs="${!1}" multi="${!0}"
|
|
12
|
+
@attribute-select="${t=>this.onAttributesSelect(t)}"
|
|
13
|
+
></attributes-panel>
|
|
14
|
+
</settings-panel>
|
|
15
|
+
|
|
16
|
+
<!-- Marker coordinates -->
|
|
17
|
+
<settings-panel displayName="dashboard.markerCoordinates" expanded="${!0}">
|
|
18
|
+
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
19
|
+
${map(this.draftCoordinateEntries(this.widgetConfig),(t=>t))}
|
|
20
|
+
</div>
|
|
21
|
+
</settings-panel>
|
|
22
|
+
|
|
23
|
+
<!-- Image settings -->
|
|
24
|
+
<settings-panel displayName="dashboard.imageSettings" expanded="${!0}">
|
|
25
|
+
<div>
|
|
26
|
+
<or-mwc-input style="width: 100%;" type="${InputType.TEXT}" label="${i18next.t("dashboard.imageUrl")}" .value="${this.widgetConfig.imagePath}"
|
|
27
|
+
@or-mwc-input-changed="${t=>this.onImageUrlUpdate(t)}"
|
|
28
|
+
></or-mwc-input>
|
|
29
|
+
</div>
|
|
30
|
+
</settings-panel>
|
|
31
|
+
</div>
|
|
32
|
+
`}onAttributesSelect(t){this.widgetConfig.attributeRefs=t.detail.attributeRefs,this.notifyConfigUpdate()}onImageUrlUpdate(t){this.widgetConfig.imagePath=t.detail.value,this.notifyConfigUpdate()}updateCoordinateMap(t){for(let e=0;e<t.attributeRefs.length;e++){const i=t.attributeRefs[e];if(void 0===i)return void console.error("attributeRef is undefined");-1===t.markers.findIndex((t=>t.attributeRef.id===i.id&&t.attributeRef.name===i.name))&&t.markers.push({attributeRef:i,coordinates:[50,50]})}}draftCoordinateEntries(t){return t.markers.length>0?t.attributeRefs.map((e=>{var i,s,n;const r=t.markers.find((t=>t.attributeRef.id===e.id&&t.attributeRef.name===e.name));if(void 0===r)return console.error("A marker could not be found during drafting coordinate entries."),html``;const a=t.markers.indexOf(r),o=r.coordinates,d=null===(i=this.loadedAssets)||void 0===i?void 0:i.find((t=>t.id===e.id));let l;if(d){const t=d.attributes[e.name],i=AssetModelUtil.getAttributeAndValueDescriptors(d.type,e.name,t);l=Util.getAttributeLabel(t,i[0],d.type,!1)}return html`
|
|
33
|
+
<div id="marker-container">
|
|
34
|
+
<div style="flex: 1; display: flex; flex-direction: column;">
|
|
35
|
+
<span>${null===(n=null===(s=this.loadedAssets)||void 0===s?void 0:s.find((t=>t.id===e.id)))||void 0===n?void 0:n.name}</span>
|
|
36
|
+
${when(l,(()=>html`
|
|
37
|
+
<span style="color: gray;">${l}</span>
|
|
38
|
+
`))}
|
|
39
|
+
</div>
|
|
40
|
+
<div style="display: flex; gap: 8px;">
|
|
41
|
+
<or-mwc-input .disableSliderNumberInput="${!0}" compact style="max-width: 64px;"
|
|
42
|
+
.type="${InputType.NUMBER}" .min="${0}" .max="${100}" .value="${o[0]}"
|
|
43
|
+
@or-mwc-input-changed="${t=>this.onCoordinateUpdate(a,"x",t.detail.value)}"
|
|
44
|
+
></or-mwc-input>
|
|
45
|
+
|
|
46
|
+
<or-mwc-input .disableSliderNumberInput="${!0}" compact style="max-width: 64px;"
|
|
47
|
+
.type="${InputType.NUMBER}" .min="${0}" .max="${100}" .value="${o[1]}"
|
|
48
|
+
@or-mwc-input-changed="${t=>this.onCoordinateUpdate(a,"y",t.detail.value)}"
|
|
49
|
+
></or-mwc-input>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
`})):[html`<span><or-translate value="noAttributeConnected"></or-translate></span>`]}onCoordinateUpdate(t,e,i){let s=this.widgetConfig.markers[t].coordinates;s||(s=[0,0]),"x"===e?s[0]=i:"y"===e&&(s[1]=i),this.widgetConfig.markers[t].coordinates=s,this.notifyConfigUpdate()}};ImageSettings=__decorate([customElement("image-settings")],ImageSettings);export{ImageSettings};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-settings.js","sourceRoot":"","sources":["../../src/settings/image-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TemplateResult } from "lit";
|
|
2
|
+
import { AssetWidgetSettings } from "../util/or-asset-widget";
|
|
3
|
+
import { KpiWidgetConfig } from "../widgets/kpi-widget";
|
|
4
|
+
import { AttributesSelectEvent } from "../panels/attributes-panel";
|
|
5
|
+
import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
|
|
6
|
+
export declare class KpiSettings extends AssetWidgetSettings {
|
|
7
|
+
protected widgetConfig: KpiWidgetConfig;
|
|
8
|
+
static get styles(): import("lit").CSSResult[];
|
|
9
|
+
protected render(): TemplateResult;
|
|
10
|
+
protected onAttributesSelect(ev: AttributesSelectEvent): void;
|
|
11
|
+
protected onTimeframeSelect(ev: OrInputChangedEvent): void;
|
|
12
|
+
protected onTimeframeToggle(ev: OrInputChangedEvent): void;
|
|
13
|
+
protected onDeltaFormatSelect(ev: OrInputChangedEvent): void;
|
|
14
|
+
protected onDecimalsChange(ev: OrInputChangedEvent): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,i,n){var s,a=arguments.length,o=a<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var l=t.length-1;l>=0;l--)(s=t[l])&&(o=(a<3?s(o):a>3?s(e,i,o):s(e,i))||o);return a>3&&o&&Object.defineProperty(e,i,o),o};import{css,html}from"lit";import{customElement}from"lit/decorators.js";import{AssetWidgetSettings}from"../util/or-asset-widget";import{i18next}from"@openremote/or-translate";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";const styling=css`
|
|
2
|
+
.switchMwcInputContainer {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
}
|
|
7
|
+
`;let KpiSettings=class extends AssetWidgetSettings{static get styles(){return[...super.styles,styling]}render(){return html`
|
|
8
|
+
<div>
|
|
9
|
+
<!-- Attribute selector -->
|
|
10
|
+
<settings-panel displayName="attributes" expanded="${!0}">
|
|
11
|
+
<attributes-panel .attributeRefs="${this.widgetConfig.attributeRefs}" onlyDataAttrs="${!1}" .attributeFilter="${t=>["positiveInteger","positiveNumber","number","long","integer","bigInteger","negativeInteger","negativeNumber","bigNumber","integerByte","direction"].includes(t.type)}" style="padding-bottom: 12px;"
|
|
12
|
+
@attribute-select="${t=>this.onAttributesSelect(t)}"
|
|
13
|
+
></attributes-panel>
|
|
14
|
+
</settings-panel>
|
|
15
|
+
|
|
16
|
+
<!-- Display settings -->
|
|
17
|
+
<settings-panel displayName="display" expanded="${!0}">
|
|
18
|
+
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
19
|
+
<or-mwc-input .type="${InputType.SELECT}" style="width: 100%;"
|
|
20
|
+
.options="${["year","month","week","day","hour"]}"
|
|
21
|
+
.value="${this.widgetConfig.period}" label="${i18next.t("timeframe")}"
|
|
22
|
+
@or-mwc-input-changed="${t=>this.onTimeframeSelect(t)}"
|
|
23
|
+
></or-mwc-input>
|
|
24
|
+
<div class="switchMwcInputContainer">
|
|
25
|
+
<span><or-translate value="dashboard.allowTimerangeSelect"></or-translate></span>
|
|
26
|
+
<or-mwc-input .type="${InputType.SWITCH}" style="margin: 0 -10px;" .value="${this.widgetConfig.showTimestampControls}"
|
|
27
|
+
@or-mwc-input-changed="${t=>this.onTimeframeToggle(t)}"
|
|
28
|
+
></or-mwc-input>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</settings-panel>
|
|
32
|
+
|
|
33
|
+
<settings-panel displayName="values" expanded="${!0}">
|
|
34
|
+
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
35
|
+
<or-mwc-input .type="${InputType.SELECT}" style="width: 100%;" .options="${["absolute","percentage"]}" .value="${this.widgetConfig.deltaFormat}"
|
|
36
|
+
label="${i18next.t("dashboard.showValueAs")}"
|
|
37
|
+
@or-mwc-input-changed="${t=>this.onDeltaFormatSelect(t)}"
|
|
38
|
+
></or-mwc-input>
|
|
39
|
+
<or-mwc-input .type="${InputType.NUMBER}" style="width: 100%;" .value="${this.widgetConfig.decimals}" label="${i18next.t("decimals")}"
|
|
40
|
+
@or-mwc-input-changed="${t=>this.onDecimalsChange(t)}"
|
|
41
|
+
></or-mwc-input>
|
|
42
|
+
</div>
|
|
43
|
+
</settings-panel>
|
|
44
|
+
|
|
45
|
+
<!-- -->
|
|
46
|
+
</div>
|
|
47
|
+
`}onAttributesSelect(t){if(this.widgetConfig.attributeRefs=t.detail.attributeRefs,1===t.detail.attributeRefs.length){const e=t.detail.attributeRefs[0],i=t.detail.assets.find((t=>t.id===e.id));this.setDisplayName(i?`${i.name} - ${e.name}`:`${e.name}`)}this.notifyConfigUpdate()}onTimeframeSelect(t){this.widgetConfig.period=t.detail.value,this.notifyConfigUpdate()}onTimeframeToggle(t){this.widgetConfig.showTimestampControls=t.detail.value,this.notifyConfigUpdate()}onDeltaFormatSelect(t){this.widgetConfig.deltaFormat=t.detail.value,this.notifyConfigUpdate()}onDecimalsChange(t){this.widgetConfig.decimals=t.detail.value,this.notifyConfigUpdate()}};KpiSettings=__decorate([customElement("kpi-settings")],KpiSettings);export{KpiSettings};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kpi-settings.js","sourceRoot":"","sources":["../../src/settings/kpi-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TemplateResult } from "lit";
|
|
2
|
+
import { AssetWidgetSettings } from "../util/or-asset-widget";
|
|
3
|
+
import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
|
|
4
|
+
import { MapWidgetConfig } from "../widgets/map-widget";
|
|
5
|
+
import "../panels/assettypes-panel";
|
|
6
|
+
import "../panels/thresholds-panel";
|
|
7
|
+
import { AssetTypeSelectEvent, AttributeNamesSelectEvent } from "../panels/assettypes-panel";
|
|
8
|
+
import { ThresholdChangeEvent } from "../panels/thresholds-panel";
|
|
9
|
+
export declare class MapSettings extends AssetWidgetSettings {
|
|
10
|
+
protected widgetConfig: MapWidgetConfig;
|
|
11
|
+
static get styles(): import("lit").CSSResult[];
|
|
12
|
+
protected render(): TemplateResult;
|
|
13
|
+
protected onZoomUpdate(ev: OrInputChangedEvent): void;
|
|
14
|
+
protected onCenterUpdate(ev: OrInputChangedEvent): void;
|
|
15
|
+
protected onGeoJsonToggle(ev: OrInputChangedEvent): void;
|
|
16
|
+
protected onAssetTypeSelect(ev: AssetTypeSelectEvent): void;
|
|
17
|
+
protected onAttributeNameSelect(ev: AttributeNamesSelectEvent): Promise<void>;
|
|
18
|
+
protected onShowLabelsToggle(ev: OrInputChangedEvent): void;
|
|
19
|
+
protected onShowUnitsToggle(ev: OrInputChangedEvent): void;
|
|
20
|
+
protected onThresholdsChange(ev: ThresholdChangeEvent): void;
|
|
21
|
+
}
|