@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,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":";;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAS,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAQ,cAAc,EAAe,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAuB,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;CAMlB,CAAC;AAGK,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mBAAmB;IAKlD,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAES,UAAU,CAAC,YAA4B;QAC7C,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IAES,UAAU;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;QACrG,IAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9D,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC/B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAA;;;sEAGmD,IAAI;wDAClB,IAAI,CAAC,YAAY,CAAC,aAAa,oBAAoB,KAAK,YAAY,IAAI;2DACrE,CAAC,EAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;;;;sFAK/B,IAAI;;0BAEhE,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;;;;;kFAKjB,IAAI;;mEAEnB,SAAS,CAAC,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,SAAS;+DACrG,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;;SAK5G,CAAC;IACN,CAAC;IAES,kBAAkB,CAAC,EAAyB;QAClD,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;QAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB,CAAC,EAAuB;QAC9C,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAGD,4CAA4C;IAE5C,sEAAsE;IACtE,mBAAmB,CAAC,MAAyB;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;YAChI,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAChB,YAAY,EAAE,YAAY;oBAC1B,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,MAAyB;QACpD,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,GAAG,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;;gBAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5H,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBACjF,OAAO,IAAI,CAAA,EAAE,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,KAAyB,CAAC;gBAC9B,IAAG,KAAK,EAAE,CAAC;oBACP,MAAM,SAAS,GAAG,KAAK,CAAC,UAAW,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;oBACxD,MAAM,WAAW,GAAG,cAAc,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC7G,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,IAAI,CAAA;;;oCAGS,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,0CAAE,IAAI;8BAClE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA;6DACS,KAAK;6BACrC,CAAC;;;uEAGyC,IAAI;mDACxB,SAAS,CAAC,MAAM,WAAW,GAAG,WAAW,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC;mEACvD,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;;;uEAG7E,IAAI;mDACxB,SAAS,CAAC,MAAM,WAAW,GAAG,WAAW,GAAG,aAAa,WAAW,CAAC,CAAC,CAAC;mEACvD,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;;;;iBAInI,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,IAAI,CAAA,yEAAyE;aAChF,CAAC;QACN,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,KAAa,EAAE,UAAqB,EAAE,KAAa;QAC5E,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QAC1D,IAAG,CAAC,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAG,UAAU,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAG,UAAU,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC;QACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CAEJ,CAAA;AAzJY,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAyJzB"}
|
|
@@ -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":";;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAIjD,OAAO,EAAE,SAAS,EAAuB,MAAM,4CAA4C,CAAC;AAE5F,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;CAMlB,CAAC;AAGK,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,mBAAmB;IAIhD,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAES,MAAM;QACZ,MAAM,eAAe,GAAsC,CAAC,IAAI,EAAW,EAAE;YACzE,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAK,CAAC,CAAA;QAC9L,CAAC,CAAC;QACF,OAAO,IAAI,CAAA;;;qEAGkD,IAAI;wDACjB,IAAI,CAAC,YAAY,CAAC,aAAa,oBAAoB,KAAK,uBAAuB,eAAe;2DAC3F,CAAC,EAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;;;;kEAKnD,IAAI;;+CAEvB,SAAS,CAAC,MAAM;kDACb,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;gDAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;+DAC3C,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;;;;mDAInE,SAAS,CAAC,MAAM,sCAAsC,IAAI,CAAC,YAAY,CAAC,qBAAqB;mEAC7E,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;;;;;;iEAMzD,IAAI;;+CAEtB,SAAS,CAAC,MAAM,oCAAoC,CAAC,UAAU,EAAE,YAAY,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,WAAW;+CACxH,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;+DAClB,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;;+CAEzE,SAAS,CAAC,MAAM,kCAAkC,IAAI,CAAC,YAAY,CAAC,QAAQ,YAAY,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;+DAC7F,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;;;;SAO5G,CAAC;IACN,CAAC;IAED,mCAAmC;IACnC,8DAA8D;IACpD,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,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAe,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,iBAAiB,CAAC,EAAuB;QAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,iBAAiB,CAAC,EAAuB;QAC/C,IAAI,CAAC,YAAY,CAAC,qBAAqB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,mBAAmB,CAAC,EAAuB;QACjD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB,CAAC,EAAuB;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CAEJ,CAAA;AAvFY,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAuFvB"}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,i,s){var n,o=arguments.length,a=o<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 r=t.length-1;r>=0;r--)(n=t[r])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},__awaiter=this&&this.__awaiter||function(t,e,i,s){return new(i||(i=Promise))((function(n,o){function a(t){try{l(s.next(t))}catch(t){o(t)}}function r(t){try{l(s.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,r)}l((s=s.apply(t,e||[])).next())}))};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";import"../panels/assettypes-panel";import"../panels/thresholds-panel";import{LngLat}from"maplibre-gl";import{when}from"lit/directives/when.js";import manager from"@openremote/core";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";const styling=css`
|
|
2
|
+
.switchMwcInputContainer {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
}
|
|
7
|
+
`;let MapSettings=class extends AssetWidgetSettings{static get styles(){return[...super.styles,styling]}render(){return html`
|
|
8
|
+
<div>
|
|
9
|
+
|
|
10
|
+
<!-- Map settings -->
|
|
11
|
+
<settings-panel displayName="configuration.mapSettings" expanded="${!0}">
|
|
12
|
+
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
13
|
+
<div>
|
|
14
|
+
<or-mwc-input .type="${InputType.NUMBER}" style="width: 100%;"
|
|
15
|
+
.value="${this.widgetConfig.zoom}" label="${i18next.t("dashboard.zoom")}"
|
|
16
|
+
@or-mwc-input-changed="${t=>this.onZoomUpdate(t)}"
|
|
17
|
+
></or-mwc-input>
|
|
18
|
+
</div>
|
|
19
|
+
<div style="display: flex; gap: 8px;">
|
|
20
|
+
<or-mwc-input .type="${InputType.TEXT}" style="width: 100%;"
|
|
21
|
+
.value="${this.widgetConfig.center?Object.values(this.widgetConfig.center)[0]+", "+Object.values(this.widgetConfig.center)[1]:void 0}"
|
|
22
|
+
label="${i18next.t("dashboard.center")}"
|
|
23
|
+
@or-mwc-input-changed="${t=>this.onCenterUpdate(t)}"
|
|
24
|
+
></or-mwc-input>
|
|
25
|
+
</div>
|
|
26
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
27
|
+
<span><or-translate value="dashboard.showGeoJson"></or-translate></span>
|
|
28
|
+
<or-mwc-input .type="${InputType.SWITCH}" style="width: 70px;"
|
|
29
|
+
.value="${this.widgetConfig.showGeoJson}"
|
|
30
|
+
@or-mwc-input-changed="${t=>this.onGeoJsonToggle(t)}"
|
|
31
|
+
></or-mwc-input>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</settings-panel>
|
|
35
|
+
|
|
36
|
+
<!-- Panel where Asset type and the selected attribute can be customized -->
|
|
37
|
+
<settings-panel displayName="attributes" expanded="${!0}">
|
|
38
|
+
<assettypes-panel .assetType="${this.widgetConfig.assetType}" .attributeNames="${this.widgetConfig.attributeName}" .config="${{attributes:{enabled:!0,valueTypes:["boolean","number","positiveInteger","positiveNumber","negativeInteger","negativeNumber","text"]}}}"
|
|
39
|
+
@assettype-select="${t=>this.onAssetTypeSelect(t)}"
|
|
40
|
+
@attributenames-select="${t=>this.onAttributeNameSelect(t)}"
|
|
41
|
+
></assettypes-panel>
|
|
42
|
+
|
|
43
|
+
<!-- Other settings like labels and units-->
|
|
44
|
+
<div>
|
|
45
|
+
<div class="switchMwcInputContainer">
|
|
46
|
+
<span><or-translate value="dashboard.showLabels"></or-translate></span>
|
|
47
|
+
<or-mwc-input .type="${InputType.SWITCH}" style="width: 70px;"
|
|
48
|
+
.value="${this.widgetConfig.showLabels}" .disabled="${!this.widgetConfig.assetType}"
|
|
49
|
+
@or-mwc-input-changed="${t=>this.onShowLabelsToggle(t)}"
|
|
50
|
+
></or-mwc-input>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="switchMwcInputContainer">
|
|
53
|
+
<span><or-translate value="dashboard.showUnits"></or-translate></span>
|
|
54
|
+
<or-mwc-input .type="${InputType.SWITCH}" style="width: 70px;"
|
|
55
|
+
.value="${this.widgetConfig.showUnits}" .disabled="${!this.widgetConfig.showLabels||!this.widgetConfig.assetType}"
|
|
56
|
+
@or-mwc-input-changed="${t=>this.onShowUnitsToggle(t)}"
|
|
57
|
+
></or-mwc-input>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</settings-panel>
|
|
61
|
+
|
|
62
|
+
<!-- List of customizable thresholds -->
|
|
63
|
+
${when(this.widgetConfig.assetIds.length>0,(()=>html`
|
|
64
|
+
<settings-panel displayName="thresholds" expanded="${!0}">
|
|
65
|
+
<thresholds-panel .thresholds="${this.widgetConfig.thresholds}" .valueType="${this.widgetConfig.valueType}" style="padding-bottom: 12px;"
|
|
66
|
+
.min="${this.widgetConfig.min}" .max="${this.widgetConfig.max}"
|
|
67
|
+
@threshold-change="${t=>this.onThresholdsChange(t)}">
|
|
68
|
+
</thresholds-panel>
|
|
69
|
+
</settings-panel>
|
|
70
|
+
`))}
|
|
71
|
+
</div>
|
|
72
|
+
`}onZoomUpdate(t){this.widgetConfig.zoom=t.detail.value,this.notifyConfigUpdate()}onCenterUpdate(t){if(t.detail.value){const e=t.detail.value.split(/[, ]/).filter((t=>!!t));if(2===e.length){const t=new LngLat(Number.parseFloat(e[0]),Number.parseFloat(e[1]));this.widgetConfig.center=t,this.notifyConfigUpdate()}}}onGeoJsonToggle(t){this.widgetConfig.showGeoJson=t.detail.value,this.notifyConfigUpdate()}onAssetTypeSelect(t){this.widgetConfig.assetType!==t.detail&&(this.widgetConfig.attributeName=void 0,this.widgetConfig.assetIds=[],this.widgetConfig.showLabels=!1,this.widgetConfig.showUnits=!1,this.widgetConfig.boolColors={type:"boolean",false:"#ef5350",true:"#4caf50"},this.widgetConfig.textColors=[["example","#4caf50"],["example2","#ff9800"]],this.widgetConfig.thresholds=[[0,"#4caf50"],[75,"#ff9800"],[90,"#ef5350"]],this.widgetConfig.assetType=t.detail,this.notifyConfigUpdate())}onAttributeNameSelect(t){return __awaiter(this,void 0,void 0,(function*(){const e=t.detail;this.widgetConfig.attributeName=e,yield manager.rest.api.AssetResource.queryAssets({realm:{name:manager.displayRealm},select:{attributes:[e,"location"]},types:[this.widgetConfig.assetType]}).then((t=>{this.widgetConfig.assetIds=t.data.map((t=>t.id)),this.widgetConfig.valueType=t.data.length>0?t.data[0].attributes[e].type:"text"})).catch((t=>{console.error(t),showSnackbar(void 0,"errorOccurred")})),this.notifyConfigUpdate()}))}onShowLabelsToggle(t){this.widgetConfig.showLabels=t.detail.value,this.notifyConfigUpdate()}onShowUnitsToggle(t){this.widgetConfig.showUnits=t.detail.value,this.notifyConfigUpdate()}onThresholdsChange(t){this.widgetConfig.thresholds=t.detail,this.notifyConfigUpdate()}};MapSettings=__decorate([customElement("map-settings")],MapSettings);export{MapSettings};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-settings.js","sourceRoot":"","sources":["../../src/settings/map-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TemplateResult } from "lit";
|
|
2
|
+
import { AssetWidgetSettings } from "../util/or-asset-widget";
|
|
3
|
+
import { TableWidgetConfig } from "../widgets/table-widget";
|
|
4
|
+
import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
|
|
5
|
+
import { AssetIdsSelectEvent, AssetTypeSelectEvent, AttributeNamesSelectEvent } from "../panels/assettypes-panel";
|
|
6
|
+
export declare class TableSettings extends AssetWidgetSettings {
|
|
7
|
+
protected widgetConfig: TableWidgetConfig;
|
|
8
|
+
static get styles(): import("lit").CSSResult[];
|
|
9
|
+
protected render(): TemplateResult;
|
|
10
|
+
protected onAssetTypeSelect(ev: AssetTypeSelectEvent): void;
|
|
11
|
+
protected onAssetIdsSelect(ev: AssetIdsSelectEvent): void;
|
|
12
|
+
protected onAttributesSelect(ev: AttributeNamesSelectEvent): void;
|
|
13
|
+
protected onTableSizeSelect(ev: OrInputChangedEvent): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,s,i){var n,a=arguments.length,o=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,s,i);else for(var l=t.length-1;l>=0;l--)(n=t[l])&&(o=(a<3?n(o):a>3?n(e,s,o):n(e,s))||o);return a>3&&o&&Object.defineProperty(e,s,o),o};import{css,html}from"lit";import{customElement}from"lit/decorators.js";import{AssetWidgetSettings}from"../util/or-asset-widget";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";const styling=css`
|
|
2
|
+
.customMwcInputContainer {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
}
|
|
7
|
+
`;let TableSettings=class extends AssetWidgetSettings{static get styles(){return[...super.styles,styling]}render(){return html`
|
|
8
|
+
<div>
|
|
9
|
+
<!-- Asset type, assets, and attribute picker -->
|
|
10
|
+
<settings-panel displayName="attributes" expanded="${!0}">
|
|
11
|
+
<div style="padding-bottom: 12px;">
|
|
12
|
+
<assettypes-panel .assetType="${this.widgetConfig.assetType}" .config="${{assets:{enabled:!0,multi:!0},attributes:{enabled:!0,multi:!0}}}"
|
|
13
|
+
.assetIds="${this.widgetConfig.assetIds}" .attributeNames="${this.widgetConfig.attributeNames}"
|
|
14
|
+
@assettype-select="${t=>this.onAssetTypeSelect(t)}"
|
|
15
|
+
@assetids-select="${t=>this.onAssetIdsSelect(t)}"
|
|
16
|
+
@attributenames-select="${t=>this.onAttributesSelect(t)}"
|
|
17
|
+
></assettypes-panel>
|
|
18
|
+
</div>
|
|
19
|
+
</settings-panel>
|
|
20
|
+
|
|
21
|
+
<!-- Table settings like amount of rows -->
|
|
22
|
+
<settings-panel displayName="dashboard.tableSettings" expanded="${!0}">
|
|
23
|
+
<div style="padding-bottom: 12px;">
|
|
24
|
+
<div class="customMwcInputContainer">
|
|
25
|
+
<span style="min-width: 180px"><or-translate value="dashboard.numberOfRows"></or-translate></span>
|
|
26
|
+
<or-mwc-input type="${InputType.SELECT}" .options="${[10,25,100]}" .value="${this.widgetConfig.tableSize}"
|
|
27
|
+
@or-mwc-input-changed="${t=>this.onTableSizeSelect(t)}"
|
|
28
|
+
></or-mwc-input>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</settings-panel>
|
|
32
|
+
</div>
|
|
33
|
+
`}onAssetTypeSelect(t){this.widgetConfig.assetType=t.detail,this.widgetConfig.assetIds=[],this.widgetConfig.attributeNames=[],this.notifyConfigUpdate()}onAssetIdsSelect(t){this.widgetConfig.assetIds=t.detail,this.notifyConfigUpdate()}onAttributesSelect(t){this.widgetConfig.attributeNames=t.detail,this.notifyConfigUpdate()}onTableSizeSelect(t){const e=t.detail.value||10;this.widgetConfig.tableSize=e,this.widgetConfig.tableOptions=10!==e?[e]:[10,25,100],this.notifyConfigUpdate()}};TableSettings=__decorate([customElement("table-settings")],TableSettings);export{TableSettings};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-settings.js","sourceRoot":"","sources":["../../src/settings/table-settings.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAuB,MAAM,4CAA4C,CAAC;AAG5F,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;CAMlB,CAAC;AAGK,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mBAAmB;IAIlD,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAES,MAAM;QACZ,MAAM,MAAM,GAAG;YACX,MAAM,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd;YACD,UAAU,EAAE;gBACR,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACd;SACsB,CAAA;QAC3B,OAAO,IAAI,CAAA;;;qEAGkD,IAAI;;wDAEjB,IAAI,CAAC,YAAY,CAAC,SAAS,cAAc,MAAM;uDAChD,IAAI,CAAC,YAAY,CAAC,QAAQ,sBAAsB,IAAI,CAAC,YAAY,CAAC,cAAc;+DACxE,CAAC,EAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;8DACzD,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oEAChD,CAAC,EAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;;;;;;kFAMhD,IAAI;;;;kDAIpC,SAAS,CAAC,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,SAAS;mEACnE,CAAC,EAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;;;;;;SAMjH,CAAA;IACL,CAAC;IAES,iBAAiB,CAAC,EAAwB;QAChD,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB,CAAC,EAAuB;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC,MAAkB,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,kBAAkB,CAAC,EAA6B;QACtD,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,EAAE,CAAC,MAAkB,CAAC;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,iBAAiB,CAAC,EAAuB;QAC/C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;QACpC,IAAG,KAAK,KAAK,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;CACJ,CAAA;AA3EY,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CA2EzB"}
|
package/lib/style.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const style: import("lit").CSSResult;
|
package/lib/style.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import{css,unsafeCSS}from"lit";import{DefaultColor1,DefaultColor2,DefaultColor4,DefaultColor5}from"@openremote/core";export const style=css`
|
|
2
|
+
|
|
3
|
+
:host {
|
|
4
|
+
--internal-or-asset-tree-header-color: var(--or-asset-tree-header-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
5
|
+
--internal-or-asset-tree-header-text-color: var(--or-asset-tree-header-text-color, var(--or-app-color7, ${unsafeCSS(DefaultColor1)}));
|
|
6
|
+
--internal-or-asset-tree-header-menu-background-color: var(--or-asset-tree-header-menu-background-color, var(--internal-or-asset-tree-header-text-color));
|
|
7
|
+
--internal-or-asset-tree-header-menu-text-color: var(--or-asset-tree-header-menu-text-color, inherit);
|
|
8
|
+
--internal-or-asset-tree-header-height: var(--or-asset-tree-header-height, 48px);
|
|
9
|
+
--internal-or-asset-tree-background-color: var(--or-asset-tree-background-color, var(--or-app-color1, ${unsafeCSS(DefaultColor1)}));
|
|
10
|
+
--internal-or-asset-tree-text-color: var(--or-asset-tree-text-color, inherit);
|
|
11
|
+
--internal-or-asset-tree-item-height: var(--or-asset-tree-item-height, 24px);
|
|
12
|
+
--internal-or-asset-tree-item-padding: var(--or-asset-tree-item-padding, 10px);
|
|
13
|
+
--internal-or-asset-tree-selected-background-color: var(--or-asset-tree-selected-background-color, var(--or-app-color2, ${unsafeCSS(DefaultColor2)}));
|
|
14
|
+
--internal-or-asset-tree-selected-color: var(--or-asset-tree-selected-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
15
|
+
--internal-or-asset-tree-button-color: var(--or-asset-tree-button-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
16
|
+
--internal-or-asset-tree-line-color: var(--or-asset-tree-line-color, var(--or-app-color5, ${unsafeCSS(DefaultColor5)}));
|
|
17
|
+
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
height: 100%;
|
|
21
|
+
width: 100%;
|
|
22
|
+
background-color: var(--internal-or-asset-tree-background-color);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media only screen and (max-width: 640px){
|
|
26
|
+
.hideMobile {
|
|
27
|
+
display: none !important;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
@media only screen and (min-width: 641px){
|
|
31
|
+
.showMobile {
|
|
32
|
+
display: none !important;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
#container {
|
|
37
|
+
display: flex;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: 100%;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#menu-header {
|
|
43
|
+
background-color: var(--internal-or-asset-tree-header-color);
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: var(--internal-or-asset-tree-header-height);
|
|
48
|
+
border-bottom: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
|
|
49
|
+
z-index: 3;
|
|
50
|
+
line-height: var(--internal-or-asset-tree-header-height);
|
|
51
|
+
color: var(--internal-or-asset-tree-header-text-color);
|
|
52
|
+
--or-icon-fill: var(--internal-or-asset-tree-header-text-color);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#title-container {
|
|
56
|
+
flex: 1;
|
|
57
|
+
flex-direction: row;
|
|
58
|
+
text-transform: capitalize;
|
|
59
|
+
padding-left: 14px;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
text-overflow: ellipsis;
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#title {
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
font-size: 16px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.expandableHeader {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
padding: 12px;
|
|
74
|
+
background: none;
|
|
75
|
+
border-top: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
|
|
76
|
+
border-right: none;
|
|
77
|
+
border-bottom: none;
|
|
78
|
+
border-left: none;
|
|
79
|
+
border-radius: 0;
|
|
80
|
+
width: 100%;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
font-weight: 700;
|
|
83
|
+
line-height: 1em;
|
|
84
|
+
color: var(--internal-or-asset-viewer-title-text-color);
|
|
85
|
+
flex: 0 0 auto;
|
|
86
|
+
}
|
|
87
|
+
.expandableHeader > or-icon {
|
|
88
|
+
--or-icon-height: 20px;
|
|
89
|
+
--or-icon-width: 20px;
|
|
90
|
+
}
|
|
91
|
+
.panel-title {
|
|
92
|
+
text-transform: uppercase;
|
|
93
|
+
font-weight: bolder;
|
|
94
|
+
line-height: 1em;
|
|
95
|
+
color: var(--internal-or-asset-viewer-title-text-color);
|
|
96
|
+
/*margin-bottom: 20px;*/
|
|
97
|
+
flex: 0 0 auto;
|
|
98
|
+
}
|
|
99
|
+
`;
|
package/lib/style.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAG5F,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;wGAGgF,SAAS,CAAC,aAAa,CAAC;kHACd,SAAS,CAAC,aAAa,CAAC;;;;gHAI1B,SAAS,CAAC,aAAa,CAAC;;;;kIAIN,SAAS,CAAC,aAAa,CAAC;4GAC9C,SAAS,CAAC,aAAa,CAAC;wGAC5B,SAAS,CAAC,aAAa,CAAC;oGAC5B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAgCpE,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qDA2B3B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwB5E,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OrWidget } from "./or-widget";
|
|
2
|
+
import { Asset, AssetQuery, Attribute, AttributeRef } from "@openremote/model";
|
|
3
|
+
import { WidgetSettings } from "./widget-settings";
|
|
4
|
+
import { CSSResult } from "lit";
|
|
5
|
+
export declare abstract class OrAssetWidget extends OrWidget {
|
|
6
|
+
protected loadedAssets: Asset[];
|
|
7
|
+
protected assetAttributes: [number, Attribute<any>][];
|
|
8
|
+
static get styles(): CSSResult[];
|
|
9
|
+
protected fetchAssets(attributeRefs?: AttributeRef[]): Promise<Asset[]>;
|
|
10
|
+
protected queryAssets(assetQuery: AssetQuery): Promise<Asset[]>;
|
|
11
|
+
protected isAssetLoaded(assetId: string): boolean;
|
|
12
|
+
protected isAttributeRefLoaded(attributeRef: AttributeRef): boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class AssetWidgetSettings extends WidgetSettings {
|
|
15
|
+
protected loadedAssets: Asset[];
|
|
16
|
+
protected fetchAssets(attributeRefs?: AttributeRef[]): Promise<Asset[]>;
|
|
17
|
+
protected queryAssets(assetQuery: AssetQuery): Promise<Asset[]>;
|
|
18
|
+
protected isAssetLoaded(assetId: string): boolean;
|
|
19
|
+
protected isAttributeRefLoaded(attributeRef: AttributeRef): boolean;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,s,r){var i,o=arguments.length,n=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,r);else for(var d=t.length-1;d>=0;d--)(i=t[d])&&(n=(o<3?i(n):o>3?i(e,s,n):i(e,s))||n);return o>3&&n&&Object.defineProperty(e,s,n),n},__awaiter=this&&this.__awaiter||function(t,e,s,r){return new(s||(s=Promise))((function(i,o){function n(t){try{a(r.next(t))}catch(t){o(t)}}function d(t){try{a(r.throw(t))}catch(t){o(t)}}function a(t){var e;t.done?i(t.value):(e=t.value,e instanceof s?e:new s((function(t){t(e)}))).then(n,d)}a((r=r.apply(t,e||[])).next())}))};import{OrWidget}from"./or-widget";import{state}from"lit/decorators.js";import manager from"@openremote/core";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";import{WidgetSettings}from"./widget-settings";export class OrAssetWidget extends OrWidget{constructor(){super(...arguments),this.loadedAssets=[],this.assetAttributes=[]}static get styles(){return[...super.styles]}fetchAssets(t=[]){return __awaiter(this,void 0,void 0,(function*(){return fetchAssetsByAttributeRef(t)}))}queryAssets(t){return __awaiter(this,void 0,void 0,(function*(){return fetchAssets(t)}))}isAssetLoaded(t){return isAssetIdLoaded(this.loadedAssets,t)}isAttributeRefLoaded(t){return isAssetIdLoaded(this.loadedAssets,t.id)}}__decorate([state()],OrAssetWidget.prototype,"loadedAssets",void 0),__decorate([state()],OrAssetWidget.prototype,"assetAttributes",void 0);export class AssetWidgetSettings extends WidgetSettings{constructor(){super(...arguments),this.loadedAssets=[]}fetchAssets(t=[]){return __awaiter(this,void 0,void 0,(function*(){return fetchAssetsByAttributeRef(t)}))}queryAssets(t){return __awaiter(this,void 0,void 0,(function*(){return fetchAssets(t)}))}isAssetLoaded(t){return isAssetIdLoaded(this.loadedAssets,t)}isAttributeRefLoaded(t){return isAssetIdLoaded(this.loadedAssets,t.id)}}function fetchAssetsByAttributeRef(t=[]){return __awaiter(this,void 0,void 0,(function*(){return t.map((t=>t.id)),t.map((t=>t.name)),fetchAssets({ids:null==t?void 0:t.map((t=>t.id)),select:{attributes:null==t?void 0:t.map((t=>t.name))}})}))}function fetchAssets(t){return __awaiter(this,void 0,void 0,(function*(){let e=[];return t.realm={name:manager.displayRealm},yield manager.rest.api.AssetResource.queryAssets(t).then((t=>{e=t.data})).catch((t=>{console.error(t),showSnackbar(void 0,"errorOccurred")})),e}))}function isAssetIdLoaded(t,e){return void 0!==(null==t?void 0:t.find((t=>t.id===e)))}__decorate([state()],AssetWidgetSettings.prototype,"loadedAssets",void 0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or-asset-widget.js","sourceRoot":"","sources":["../../src/util/or-asset-widget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CSSResult, LitElement, TemplateResult } from "lit";
|
|
2
|
+
import { WidgetConfig } from "./widget-config";
|
|
3
|
+
import { WidgetSettings } from "./widget-settings";
|
|
4
|
+
export interface WidgetManifest {
|
|
5
|
+
displayName: string;
|
|
6
|
+
displayIcon: string;
|
|
7
|
+
minColumnWidth?: number;
|
|
8
|
+
minColumnHeight?: number;
|
|
9
|
+
minPixelWidth?: number;
|
|
10
|
+
minPixelHeight?: number;
|
|
11
|
+
getContentHtml(config: WidgetConfig): OrWidget;
|
|
12
|
+
getSettingsHtml(config: WidgetConfig): WidgetSettings;
|
|
13
|
+
getDefaultConfig(): WidgetConfig;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class OrWidget extends LitElement {
|
|
16
|
+
protected static manifest: WidgetManifest;
|
|
17
|
+
protected readonly widgetConfig: WidgetConfig;
|
|
18
|
+
constructor(config: WidgetConfig);
|
|
19
|
+
static get styles(): CSSResult[];
|
|
20
|
+
static getManifest(): WidgetManifest;
|
|
21
|
+
abstract refreshContent(force: boolean): void;
|
|
22
|
+
protected abstract render(): TemplateResult;
|
|
23
|
+
getDisplayName?: () => string | undefined;
|
|
24
|
+
getEditMode?: () => boolean;
|
|
25
|
+
getWidgetLocation?: () => {
|
|
26
|
+
x?: number;
|
|
27
|
+
y?: number;
|
|
28
|
+
h?: number;
|
|
29
|
+
w?: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,r,o){var i,n=arguments.length,s=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,o);else for(var c=t.length-1;c>=0;c--)(i=t[c])&&(s=(n<3?i(s):n>3?i(e,r,s):i(e,r))||s);return n>3&&s&&Object.defineProperty(e,r,s),s};import{LitElement}from"lit";import{property}from"lit/decorators.js";export class OrWidget extends LitElement{constructor(t){super(),this.widgetConfig=t}static get styles(){return[]}static getManifest(){if(!this.manifest)throw new Error(`No manifest present on ${this.name}`);return this.manifest}}__decorate([property({type:Object})],OrWidget.prototype,"widgetConfig",void 0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or-widget.js","sourceRoot":"","sources":["../../src/util/or-widget.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAY,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAgB7C,uEAAuE;AACvE,4FAA4F;AAC5F,MAAM,OAAgB,QAAS,SAAQ,UAAU;IAO7C,YAAY,MAAoB;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,MAAM;QACb,OAAO,EAAE,CAAC;IACd,CAAC;IAED,iCAAiC;IAEjC,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CAiBJ;AAnCsB;IADlB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CACsB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from "lit";
|
|
2
|
+
export declare class SettingsPanel extends LitElement {
|
|
3
|
+
protected expanded: boolean;
|
|
4
|
+
protected displayName?: string;
|
|
5
|
+
static get styles(): import("lit").CSSResult[];
|
|
6
|
+
protected render(): TemplateResult;
|
|
7
|
+
toggle(state?: boolean): void;
|
|
8
|
+
protected generateHeader(expanded: boolean, title?: string): Promise<TemplateResult>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,i,n){var r,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,i,a):r(t,i))||a);return o>3&&a&&Object.defineProperty(t,i,a),a},__awaiter=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(r,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};import{css,html,LitElement}from"lit";import{customElement,property}from"lit/decorators.js";import{until}from"lit/directives/until.js";import{when}from"lit/directives/when.js";import{classMap}from"lit/directives/class-map.js";import{style}from"../style";const styling=css`
|
|
2
|
+
:host {
|
|
3
|
+
height: auto !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
#panel-wrapper {
|
|
7
|
+
border-top: 1px solid #E0E0E0;
|
|
8
|
+
border-bottom: 1px solid #E0E0E0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
#panel-header {
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
padding: 12px;
|
|
16
|
+
gap: 8px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#panel-title {
|
|
20
|
+
line-height: 100%;
|
|
21
|
+
font-weight: 700;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.panel-content {
|
|
25
|
+
padding: 0 16px;
|
|
26
|
+
max-height: 0;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
transition: max-height 0.2s cubic-bezier(0.4, 0.0, 0.2, 1) 0s, visibility 0s 0.2s; /* expanded -> collapsed */
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.panel-content--expanded {
|
|
32
|
+
max-height: 100vh;
|
|
33
|
+
overflow: visible;
|
|
34
|
+
transition: max-height 0.25s cubic-bezier(0.4, 0.0, 0.2, 1) 0s; /* collapsed -> expanded */
|
|
35
|
+
}
|
|
36
|
+
`;let SettingsPanel=class extends LitElement{constructor(){super(...arguments),this.expanded=!1}static get styles(){return[styling,style]}render(){const e={"panel-content":!0,"panel-content--expanded":this.expanded};return html`
|
|
37
|
+
<div id="panel-wrapper">
|
|
38
|
+
${until(this.generateHeader(this.expanded,this.displayName),html``)}
|
|
39
|
+
<div class="${classMap(e)}">
|
|
40
|
+
<div style="padding-bottom: 16px;">
|
|
41
|
+
<slot></slot>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
`}toggle(e){this.expanded=e||!this.expanded}generateHeader(e,t){return __awaiter(this,void 0,void 0,(function*(){return html`
|
|
46
|
+
<div id="panel-header" @click="${()=>this.toggle()}">
|
|
47
|
+
<div id="panel-chevron">
|
|
48
|
+
<or-icon icon="${e?"chevron-down":"chevron-right"}"></or-icon>
|
|
49
|
+
</div>
|
|
50
|
+
${when(t,(()=>html`
|
|
51
|
+
<div id="panel-title">
|
|
52
|
+
<span><or-translate value="${this.displayName}"></or-translate></span>
|
|
53
|
+
</div>
|
|
54
|
+
`))}
|
|
55
|
+
</div>
|
|
56
|
+
`}))}};__decorate([property()],SettingsPanel.prototype,"expanded",void 0),__decorate([property()],SettingsPanel.prototype,"displayName",void 0),SettingsPanel=__decorate([customElement("settings-panel")],SettingsPanel);export{SettingsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-panel.js","sourceRoot":"","sources":["../../src/util/settings-panel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,UAAU,CAAC;AAE/B,MAAM,OAAO,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmClB,CAAC;AAGK,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAGO,aAAQ,GAAY,KAAK,CAAC;IA4CxC,CAAC;IAvCG,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;IAES,MAAM;QACZ,MAAM,cAAc,GAAG;YACnB,eAAe,EAAE,IAAI;YACrB,yBAAyB,EAAE,IAAI,CAAC,QAAQ;SAC3C,CAAA;QACD,OAAO,IAAI,CAAA;;kBAED,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA,EAAE,CAAC;8BACvD,QAAQ,CAAC,cAAc,CAAC;;;;;;SAM7C,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAe;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC3C,CAAC;IAEe,cAAc,CAAC,QAAiB,EAAE,KAAc;;YAC5D,OAAO,IAAI,CAAA;6CAC0B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;;qCAE3B,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;;kBAE9D,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA;;qDAEa,IAAI,CAAC,WAAW;;iBAEpD,CAAC;;SAET,CAAA;QACL,CAAC;KAAA;CACJ,CAAA;AA5Ca;IADT,QAAQ,EAAE;+CACyB;AAG1B;IADT,QAAQ,EAAE;kDACoB;AANtB,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CA+CzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-config.js","sourceRoot":"","sources":["../../src/util/widget-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
|
+
import { WidgetConfig } from "./widget-config";
|
|
3
|
+
export declare class WidgetSettingsChangedEvent extends CustomEvent<WidgetConfig> {
|
|
4
|
+
static readonly NAME = "settings-changed";
|
|
5
|
+
constructor(widgetConfig: WidgetConfig);
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class WidgetSettings extends LitElement {
|
|
8
|
+
protected readonly widgetConfig: WidgetConfig;
|
|
9
|
+
static get styles(): import("lit").CSSResult[];
|
|
10
|
+
protected abstract render(): TemplateResult;
|
|
11
|
+
constructor(config: WidgetConfig);
|
|
12
|
+
protected willUpdate(changedProps: PropertyValues): void;
|
|
13
|
+
protected notifyConfigUpdate(): void;
|
|
14
|
+
getDisplayName?: () => string | undefined;
|
|
15
|
+
setDisplayName?: (name?: string) => void;
|
|
16
|
+
getEditMode?: () => boolean;
|
|
17
|
+
getWidgetLocation?: () => {
|
|
18
|
+
x?: number;
|
|
19
|
+
y?: number;
|
|
20
|
+
h?: number;
|
|
21
|
+
w?: number;
|
|
22
|
+
};
|
|
23
|
+
}
|