@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.
Files changed (167) hide show
  1. package/README.md +156 -0
  2. package/build.gradle +15 -0
  3. package/lib/controls/dashboard-refresh-controls.d.ts +17 -0
  4. package/lib/controls/dashboard-refresh-controls.js +17 -0
  5. package/lib/controls/dashboard-refresh-controls.js.map +1 -0
  6. package/lib/index.d.ts +71 -0
  7. package/lib/index.js +285 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/or-dashboard-boardsettings.d.ts +19 -0
  10. package/lib/or-dashboard-boardsettings.js +121 -0
  11. package/lib/or-dashboard-boardsettings.js.map +1 -0
  12. package/lib/or-dashboard-browser.d.ts +9 -0
  13. package/lib/or-dashboard-browser.js +35 -0
  14. package/lib/or-dashboard-browser.js.map +1 -0
  15. package/lib/or-dashboard-engine.d.ts +4 -0
  16. package/lib/or-dashboard-engine.js +1 -0
  17. package/lib/or-dashboard-engine.js.map +1 -0
  18. package/lib/or-dashboard-keyhandler.d.ts +6 -0
  19. package/lib/or-dashboard-keyhandler.js +1 -0
  20. package/lib/or-dashboard-keyhandler.js.map +1 -0
  21. package/lib/or-dashboard-preview.d.ts +70 -0
  22. package/lib/or-dashboard-preview.js +155 -0
  23. package/lib/or-dashboard-preview.js.map +1 -0
  24. package/lib/or-dashboard-settingspanel.d.ts +44 -0
  25. package/lib/or-dashboard-settingspanel.js +216 -0
  26. package/lib/or-dashboard-settingspanel.js.map +1 -0
  27. package/lib/or-dashboard-tree.d.ts +25 -0
  28. package/lib/or-dashboard-tree.js +62 -0
  29. package/lib/or-dashboard-tree.js.map +1 -0
  30. package/lib/or-dashboard-widget.d.ts +18 -0
  31. package/lib/or-dashboard-widget.js +15 -0
  32. package/lib/or-dashboard-widget.js.map +1 -0
  33. package/lib/or-dashboard-widgetcontainer.d.ts +23 -0
  34. package/lib/or-dashboard-widgetcontainer.js +20 -0
  35. package/lib/or-dashboard-widgetcontainer.js.map +1 -0
  36. package/lib/or-dashboard-widgetsettings.d.ts +15 -0
  37. package/lib/or-dashboard-widgetsettings.js +16 -0
  38. package/lib/or-dashboard-widgetsettings.js.map +1 -0
  39. package/lib/panels/assettypes-panel.d.ts +44 -0
  40. package/lib/panels/assettypes-panel.js +51 -0
  41. package/lib/panels/assettypes-panel.js.map +1 -0
  42. package/lib/panels/attributes-panel.d.ts +41 -0
  43. package/lib/panels/attributes-panel.js +126 -0
  44. package/lib/panels/attributes-panel.js.map +1 -0
  45. package/lib/panels/thresholds-panel.d.ts +39 -0
  46. package/lib/panels/thresholds-panel.js +129 -0
  47. package/lib/panels/thresholds-panel.js.map +1 -0
  48. package/lib/service/dashboard-service.d.ts +13 -0
  49. package/lib/service/dashboard-service.js +1 -0
  50. package/lib/service/dashboard-service.js.map +1 -0
  51. package/lib/service/widget-service.d.ts +8 -0
  52. package/lib/service/widget-service.js +1 -0
  53. package/lib/service/widget-service.js.map +1 -0
  54. package/lib/settings/attribute-input-settings.d.ts +13 -0
  55. package/lib/settings/attribute-input-settings.js +36 -0
  56. package/lib/settings/attribute-input-settings.js.map +1 -0
  57. package/lib/settings/chart-settings.d.ts +30 -0
  58. package/lib/settings/chart-settings.js +144 -0
  59. package/lib/settings/chart-settings.js.map +1 -0
  60. package/lib/settings/gauge-settings.d.ts +15 -0
  61. package/lib/settings/gauge-settings.js +37 -0
  62. package/lib/settings/gauge-settings.js.map +1 -0
  63. package/lib/settings/image-settings.d.ts +17 -0
  64. package/lib/settings/image-settings.js +52 -0
  65. package/lib/settings/image-settings.js.map +1 -0
  66. package/lib/settings/kpi-settings.d.ts +15 -0
  67. package/lib/settings/kpi-settings.js +47 -0
  68. package/lib/settings/kpi-settings.js.map +1 -0
  69. package/lib/settings/map-settings.d.ts +21 -0
  70. package/lib/settings/map-settings.js +72 -0
  71. package/lib/settings/map-settings.js.map +1 -0
  72. package/lib/settings/table-settings.d.ts +14 -0
  73. package/lib/settings/table-settings.js +33 -0
  74. package/lib/settings/table-settings.js.map +1 -0
  75. package/lib/style.d.ts +1 -0
  76. package/lib/style.js +99 -0
  77. package/lib/style.js.map +1 -0
  78. package/lib/util/or-asset-widget.d.ts +20 -0
  79. package/lib/util/or-asset-widget.js +1 -0
  80. package/lib/util/or-asset-widget.js.map +1 -0
  81. package/lib/util/or-widget.d.ts +31 -0
  82. package/lib/util/or-widget.js +1 -0
  83. package/lib/util/or-widget.js.map +1 -0
  84. package/lib/util/settings-panel.d.ts +9 -0
  85. package/lib/util/settings-panel.js +56 -0
  86. package/lib/util/settings-panel.js.map +1 -0
  87. package/lib/util/widget-config.d.ts +2 -0
  88. package/lib/util/widget-config.js +1 -0
  89. package/lib/util/widget-config.js.map +1 -0
  90. package/lib/util/widget-settings.d.ts +23 -0
  91. package/lib/util/widget-settings.js +1 -0
  92. package/lib/util/widget-settings.js.map +1 -0
  93. package/lib/widgets/attribute-input-widget.d.ts +24 -0
  94. package/lib/widgets/attribute-input-widget.js +31 -0
  95. package/lib/widgets/attribute-input-widget.js.map +1 -0
  96. package/lib/widgets/chart-widget.d.ts +25 -0
  97. package/lib/widgets/chart-widget.js +15 -0
  98. package/lib/widgets/chart-widget.js.map +1 -0
  99. package/lib/widgets/gauge-widget.d.ts +22 -0
  100. package/lib/widgets/gauge-widget.js +12 -0
  101. package/lib/widgets/gauge-widget.js.map +1 -0
  102. package/lib/widgets/image-widget.d.ts +25 -0
  103. package/lib/widgets/image-widget.js +54 -0
  104. package/lib/widgets/image-widget.js.map +1 -0
  105. package/lib/widgets/kpi-widget.d.ts +21 -0
  106. package/lib/widgets/kpi-widget.js +8 -0
  107. package/lib/widgets/kpi-widget.js.map +1 -0
  108. package/lib/widgets/map-widget.d.ts +39 -0
  109. package/lib/widgets/map-widget.js +9 -0
  110. package/lib/widgets/map-widget.js.map +1 -0
  111. package/lib/widgets/or-base-widget.d.ts +15 -0
  112. package/lib/widgets/or-base-widget.js +1 -0
  113. package/lib/widgets/or-base-widget.js.map +1 -0
  114. package/lib/widgets/or-chart-widget.d.ts +36 -0
  115. package/lib/widgets/or-chart-widget.js +112 -0
  116. package/lib/widgets/or-chart-widget.js.map +1 -0
  117. package/lib/widgets/or-gauge-widget.d.ts +46 -0
  118. package/lib/widgets/or-gauge-widget.js +60 -0
  119. package/lib/widgets/or-gauge-widget.js.map +1 -0
  120. package/lib/widgets/or-kpi-widget.d.ts +44 -0
  121. package/lib/widgets/or-kpi-widget.js +63 -0
  122. package/lib/widgets/or-kpi-widget.js.map +1 -0
  123. package/lib/widgets/or-map-widget.d.ts +49 -0
  124. package/lib/widgets/or-map-widget.js +75 -0
  125. package/lib/widgets/or-map-widget.js.map +1 -0
  126. package/lib/widgets/table-widget.d.ts +25 -0
  127. package/lib/widgets/table-widget.js +12 -0
  128. package/lib/widgets/table-widget.js.map +1 -0
  129. package/package.json +32 -0
  130. package/src/controls/dashboard-refresh-controls.ts +100 -0
  131. package/src/index.ts +731 -0
  132. package/src/or-dashboard-boardsettings.ts +249 -0
  133. package/src/or-dashboard-browser.ts +160 -0
  134. package/src/or-dashboard-engine.ts +17 -0
  135. package/src/or-dashboard-keyhandler.ts +25 -0
  136. package/src/or-dashboard-preview.ts +713 -0
  137. package/src/or-dashboard-tree.ts +304 -0
  138. package/src/or-dashboard-widgetcontainer.ts +155 -0
  139. package/src/or-dashboard-widgetsettings.ts +91 -0
  140. package/src/panels/assettypes-panel.ts +311 -0
  141. package/src/panels/attributes-panel.ts +304 -0
  142. package/src/panels/thresholds-panel.ts +285 -0
  143. package/src/service/dashboard-service.ts +89 -0
  144. package/src/service/widget-service.ts +48 -0
  145. package/src/settings/attribute-input-settings.ts +79 -0
  146. package/src/settings/chart-settings.ts +306 -0
  147. package/src/settings/gauge-settings.ts +93 -0
  148. package/src/settings/image-settings.ts +175 -0
  149. package/src/settings/kpi-settings.ts +106 -0
  150. package/src/settings/map-settings.ts +185 -0
  151. package/src/settings/table-settings.ts +92 -0
  152. package/src/style.ts +104 -0
  153. package/src/util/or-asset-widget.ts +110 -0
  154. package/src/util/or-widget.ts +60 -0
  155. package/src/util/settings-panel.ts +93 -0
  156. package/src/util/widget-config.ts +2 -0
  157. package/src/util/widget-settings.ts +58 -0
  158. package/src/widgets/attribute-input-widget.ts +143 -0
  159. package/src/widgets/chart-widget.ts +203 -0
  160. package/src/widgets/gauge-widget.ts +111 -0
  161. package/src/widgets/image-widget.ts +180 -0
  162. package/src/widgets/kpi-widget.ts +97 -0
  163. package/src/widgets/map-widget.ts +187 -0
  164. package/src/widgets/table-widget.ts +157 -0
  165. package/tsconfig.json +15 -0
  166. package/tsconfig.tsbuildinfo +1 -0
  167. package/webpack.config.js +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-widgetcontainer.js","sourceRoot":"","sources":["../src/or-dashboard-widgetcontainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { DashboardWidget } from "@openremote/model";
2
+ import { LitElement, TemplateResult } from "lit";
3
+ import { WidgetSettings, WidgetSettingsChangedEvent } from "./util/widget-settings";
4
+ import { WidgetManifest } from "./util/or-widget";
5
+ export declare class OrDashboardWidgetsettings extends LitElement {
6
+ static get styles(): import("lit").CSSResult[];
7
+ protected selectedWidget: DashboardWidget;
8
+ protected settingsElem?: WidgetSettings;
9
+ forceParentUpdate(changes: Map<string, any>, force?: boolean): void;
10
+ protected render(): TemplateResult<1>;
11
+ protected setDisplayName(name?: string): void;
12
+ protected generateContent(widgetTypeId: string): Promise<TemplateResult>;
13
+ protected initSettings(manifest: WidgetManifest): WidgetSettings;
14
+ protected onWidgetConfigChange(ev: WidgetSettingsChangedEvent): void;
15
+ }
@@ -0,0 +1,16 @@
1
+ var __decorate=this&&this.__decorate||function(t,e,i,s){var d,n=arguments.length,r=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,s);else for(var o=t.length-1;o>=0;o--)(d=t[o])&&(r=(n<3?d(r):n>3?d(e,i,r):d(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r},__awaiter=this&&this.__awaiter||function(t,e,i,s){return new(i||(i=Promise))((function(d,n){function r(t){try{a(s.next(t))}catch(t){n(t)}}function o(t){try{a(s.throw(t))}catch(t){n(t)}}function a(t){var e;t.done?d(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(r,o)}a((s=s.apply(t,e||[])).next())}))};import{html,LitElement,unsafeCSS}from"lit";import{customElement,property,state}from"lit/decorators.js";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{style}from"./style";import{i18next}from"@openremote/or-translate";import{until}from"lit/directives/until.js";import{WidgetService}from"./service/widget-service";import{WidgetSettingsChangedEvent}from"./util/widget-settings";import{guard}from"lit/directives/guard.js";const tableStyle=require("@material/data-table/dist/mdc.data-table.css");let OrDashboardWidgetsettings=class extends LitElement{static get styles(){return[unsafeCSS(tableStyle),style]}forceParentUpdate(t,e=!1){this.requestUpdate(),this.dispatchEvent(new CustomEvent("update",{detail:{changes:t,force:e}}))}render(){var t;return html`
2
+ <div style="padding: 12px;">
3
+ <div>
4
+ <or-mwc-input .type="${InputType.TEXT}" style="width: 100%;" .value="${null===(t=this.selectedWidget)||void 0===t?void 0:t.displayName}" label="${i18next.t("name")}"
5
+ @or-mwc-input-changed="${t=>this.setDisplayName(t.detail.value)}"
6
+ ></or-mwc-input>
7
+ </div>
8
+ </div>
9
+ <div>
10
+ ${guard([this.selectedWidget],(()=>html`
11
+ ${until(this.generateContent(this.selectedWidget.widgetTypeId),html`Loading...`)}
12
+ `))}
13
+ </div>
14
+ `}setDisplayName(t){this.selectedWidget.displayName=t,this.forceParentUpdate(new Map([["widget",this.selectedWidget]]))}generateContent(t){return __awaiter(this,void 0,void 0,(function*(){if(!this.settingsElem||this.settingsElem.id!==this.selectedWidget.id){const e=WidgetService.getManifest(t);this.settingsElem=this.initSettings(e)}return html`
15
+ ${this.settingsElem}
16
+ `}))}initSettings(t){const e=t.getSettingsHtml(this.selectedWidget.widgetConfig);return e.id=this.selectedWidget.id,e.getDisplayName=()=>this.selectedWidget.displayName,e.setDisplayName=t=>this.setDisplayName(t),e.getEditMode=()=>!0,e.getWidgetLocation=()=>{var t,e,i,s;return{x:null===(t=this.selectedWidget.gridItem)||void 0===t?void 0:t.x,y:null===(e=this.selectedWidget.gridItem)||void 0===e?void 0:e.y,w:null===(i=this.selectedWidget.gridItem)||void 0===i?void 0:i.w,h:null===(s=this.selectedWidget.gridItem)||void 0===s?void 0:s.h}},e.addEventListener(WidgetSettingsChangedEvent.NAME,(t=>this.onWidgetConfigChange(t))),e}onWidgetConfigChange(t){this.selectedWidget.widgetConfig=t.detail,this.forceParentUpdate(new Map([["widget",this.selectedWidget]]))}};__decorate([property({type:Object})],OrDashboardWidgetsettings.prototype,"selectedWidget",void 0),__decorate([state()],OrDashboardWidgetsettings.prototype,"settingsElem",void 0),OrDashboardWidgetsettings=__decorate([customElement("or-dashboard-widgetsettings")],OrDashboardWidgetsettings);export{OrDashboardWidgetsettings};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-widgetsettings.js","sourceRoot":"","sources":["../src/or-dashboard-widgetsettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { LitElement, PropertyValues, TemplateResult } from "lit";
2
+ import { Asset, AssetDescriptor } from "@openremote/model";
3
+ import { ListItem } from "@openremote/or-mwc-components/or-mwc-list";
4
+ export declare class AssetTypeSelectEvent extends CustomEvent<string> {
5
+ static readonly NAME = "assettype-select";
6
+ constructor(assetTypeName: string);
7
+ }
8
+ export declare class AssetIdsSelectEvent extends CustomEvent<string | string[]> {
9
+ static readonly NAME = "assetids-select";
10
+ constructor(assetIds: string | string[]);
11
+ }
12
+ export declare class AttributeNamesSelectEvent extends CustomEvent<string | string[]> {
13
+ static readonly NAME = "attributenames-select";
14
+ constructor(attributeNames: string | string[]);
15
+ }
16
+ export interface AssetTypesFilterConfig {
17
+ assets?: {
18
+ enabled?: boolean;
19
+ multi?: boolean;
20
+ };
21
+ attributes?: {
22
+ enabled?: boolean;
23
+ multi?: boolean;
24
+ valueTypes?: string[];
25
+ };
26
+ }
27
+ export declare class AssettypesPanel extends LitElement {
28
+ protected assetType?: string;
29
+ protected config: AssetTypesFilterConfig;
30
+ protected assetIds: undefined | string | string[];
31
+ protected attributeNames: undefined | string | string[];
32
+ protected _attributeSelectList: string[][];
33
+ protected _loadedAssetTypes: AssetDescriptor[];
34
+ static get styles(): import("lit").CSSResult[];
35
+ protected willUpdate(changedProps: PropertyValues): void;
36
+ protected render(): TemplateResult;
37
+ protected getAssetTypeTemplate(): TemplateResult;
38
+ protected getSelectHeader(): TemplateResult;
39
+ protected getSelectedHeader(descriptor: AssetDescriptor): TemplateResult;
40
+ protected mapDescriptors(descriptors: AssetDescriptor[], withNoneValue?: ListItem): ListItem[];
41
+ protected getAttributesByType(type: string): any[][] | undefined;
42
+ protected _openAssetSelector(assetType: string, assetIds?: string[], multi?: boolean): void;
43
+ protected assetTreeDataProvider: () => Promise<Asset[]>;
44
+ }
@@ -0,0 +1,51 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,s,i){var o,r=arguments.length,n=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(n=(r<3?o(n):r>3?o(t,s,n):o(t,s))||n);return r>3&&n&&Object.defineProperty(t,s,n),n},__awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(o,r){function n(e){try{l(i.next(e))}catch(e){r(e)}}function a(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,a)}l((i=i.apply(e,t||[])).next())}))};import{css,html,LitElement}from"lit";import{customElement,property,state}from"lit/decorators.js";import{AssetModelUtil}from"@openremote/model";import{getContentWithMenuTemplate}from"@openremote/or-mwc-components/or-mwc-menu";import{i18next}from"@openremote/or-translate";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import manager,{Util}from"@openremote/core";import{when}from"lit/directives/when.js";import{createRef,ref}from"lit/directives/ref.js";import{OrMwcDialog,showDialog}from"@openremote/or-mwc-components/or-mwc-dialog";export class AssetTypeSelectEvent extends CustomEvent{constructor(e){super(AssetTypeSelectEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}AssetTypeSelectEvent.NAME="assettype-select";export class AssetIdsSelectEvent extends CustomEvent{constructor(e){super(AssetIdsSelectEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}AssetIdsSelectEvent.NAME="assetids-select";export class AttributeNamesSelectEvent extends CustomEvent{constructor(e){super(AttributeNamesSelectEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}AttributeNamesSelectEvent.NAME="attributenames-select";const styling=css`
2
+ .switchMwcInputContainer {
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ }
7
+ `;let AssettypesPanel=class extends LitElement{constructor(){super(...arguments),this.config={attributes:{enabled:!0}},this._attributeSelectList=[],this._loadedAssetTypes=AssetModelUtil.getAssetDescriptors().filter((e=>"asset"===e.descriptorType)),this.assetTreeDataProvider=()=>__awaiter(this,void 0,void 0,(function*(){const e={realm:{name:manager.displayRealm},select:{attributes:[]}},t=(yield manager.rest.api.AssetResource.queryAssets(e)).data,s=t.filter((e=>e.type===this.assetType)).map((e=>e.path)),i=[...new Set([].concat(...s))];return t.filter((e=>i.includes(e.id)))}))}static get styles(){return[styling]}willUpdate(e){super.willUpdate(e),e.has("assetType")&&this.assetType&&(this._attributeSelectList=this.getAttributesByType(this.assetType),this.dispatchEvent(new AssetTypeSelectEvent(this.assetType))),e.has("assetIds")&&this.assetIds&&this.dispatchEvent(new AssetIdsSelectEvent(this.assetIds)),e.has("attributeNames")&&this.attributeNames&&this.dispatchEvent(new AttributeNamesSelectEvent(this.attributeNames))}render(){var e,t;return html`
8
+ <div style="display: flex; flex-direction: column; gap: 8px;">
9
+
10
+ <!-- Select asset type -->
11
+ <div>
12
+ ${this._loadedAssetTypes.length>0?getContentWithMenuTemplate(this.getAssetTypeTemplate(),this.mapDescriptors(this._loadedAssetTypes,{text:i18next.t("filter.assetTypeMenuNone"),value:"",icon:"selection-ellipse"}),void 0,(e=>{this.assetType=e}),void 0,!1,!0,!0,!0):html``}
13
+ </div>
14
+
15
+ <!-- Select one or more assets -->
16
+ ${when(null===(e=this.config.assets)||void 0===e?void 0:e.enabled,(()=>{var e;const t="string"==typeof this.assetIds?[this.assetIds]:this.assetIds;return html`
17
+ <div>
18
+ <or-mwc-input .type="${InputType.BUTTON}" .label="${((null===(e=this.assetIds)||void 0===e?void 0:e.length)||0)+" "+i18next.t("assets")}" .disabled="${!this.assetType}" fullWidth outlined comfortable style="width: 100%;"
19
+ @or-mwc-input-changed="${e=>{var s;return this._openAssetSelector(this.assetType,t,null===(s=this.config.assets)||void 0===s?void 0:s.multi)}}"
20
+ ></or-mwc-input>
21
+ </div>
22
+ `}))}
23
+
24
+ <!-- Select one or more attributes -->
25
+ ${when(null===(t=this.config.attributes)||void 0===t?void 0:t.enabled,(()=>{var e;const t=this._attributeSelectList.map((e=>[e[0],e[1]]));return html`
26
+ <div>
27
+ <or-mwc-input .type="${InputType.SELECT}" label="${i18next.t("filter.attributeLabel")}" .disabled="${!this.assetType}" style="width: 100%;"
28
+ .options="${t}" .searchProvider="${e=>__awaiter(this,void 0,void 0,(function*(){return e?t.filter((t=>t[1].toLowerCase().includes(e.toLowerCase()))):t}))}" .multiple="${null===(e=this.config.attributes)||void 0===e?void 0:e.multi}" .value="${this.attributeNames}"
29
+ @or-mwc-input-changed="${e=>{this.attributeNames=e.detail.value}}"
30
+ ></or-mwc-input>
31
+ </div>
32
+ `}))}
33
+ </div>
34
+ `}getAssetTypeTemplate(){if(this.assetType){const e=this._loadedAssetTypes.find((e=>e.name===this.assetType));return e?this.getSelectedHeader(e):this.getSelectHeader()}return this.getSelectHeader()}getSelectHeader(){return html`
35
+ <or-mwc-input style="width:100%;" type="${InputType.TEXT}" readonly .label="${i18next.t("filter.assetTypeLabel")}"
36
+ iconTrailing="menu-down" iconColor="rgba(0, 0, 0, 0.87)" icon="selection-ellipse"
37
+ value="${i18next.t("filter.assetTypeNone")}">
38
+ </or-mwc-input>
39
+ `}getSelectedHeader(e){return html`
40
+ <or-mwc-input style="width:100%;" type="${InputType.TEXT}" readonly .label="${i18next.t("filter.assetTypeLabel")}"
41
+ .iconColor="${e.colour}" iconTrailing="menu-down" icon="${e.icon}"
42
+ value="${Util.getAssetTypeLabel(e)}">
43
+ </or-mwc-input>
44
+ `}mapDescriptors(e,t){const s=e.map((e=>({styleMap:{"--or-icon-fill":e.colour?"#"+e.colour:"unset"},icon:e.icon,text:Util.getAssetTypeLabel(e),value:e.name,data:e}))).sort(Util.sortByString((e=>e.text)));return t&&s.splice(0,0,t),s}getAttributesByType(e){var t;const s=AssetModelUtil.getAssetDescriptor(e);if(s){const i=AssetModelUtil.getAssetTypeInfo(s);if(null==i?void 0:i.attributeDescriptors){const s=null===(t=this.config.attributes)||void 0===t?void 0:t.valueTypes;return(s?i.attributeDescriptors.filter((e=>s.indexOf(e.type)>-1)):i.attributeDescriptors).map((t=>{const s=Util.getAttributeLabel(t,void 0,e,!1);return[t.name,s]})).sort(Util.sortByString((e=>e[1])))}}}_openAssetSelector(e,t,s=!1){const i=createRef(),o={select:{types:[e],multiSelect:s}};showDialog((new OrMwcDialog).setHeading(i18next.t("linkedAssets")).setContent(html`
45
+ <div style="width: 400px;">
46
+ <or-asset-tree ${ref(i)} .dataProvider="${this.assetTreeDataProvider}" expandAllNodes
47
+ id="chart-asset-tree" readonly .config="${o}" .selectedIds="${t}"
48
+ .showSortBtn="${!1}" .showFilter="${!1}" .checkboxes="${s}"
49
+ ></or-asset-tree>
50
+ </div>
51
+ `).setActions([{default:!0,actionName:"cancel",content:"cancel"},{actionName:"ok",content:"ok",action:()=>{const e=i.value;(null==e?void 0:e.selectedIds)&&(this.assetIds=s?e.selectedIds:e.selectedIds[0])}}]).setDismissAction({actionName:"cancel"}))}};__decorate([property()],AssettypesPanel.prototype,"assetType",void 0),__decorate([property()],AssettypesPanel.prototype,"config",void 0),__decorate([property()],AssettypesPanel.prototype,"assetIds",void 0),__decorate([property()],AssettypesPanel.prototype,"attributeNames",void 0),__decorate([state()],AssettypesPanel.prototype,"_attributeSelectList",void 0),__decorate([state()],AssettypesPanel.prototype,"_loadedAssetTypes",void 0),AssettypesPanel=__decorate([customElement("assettypes-panel")],AssettypesPanel);export{AssettypesPanel};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assettypes-panel.js","sourceRoot":"","sources":["../../src/panels/assettypes-panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { CSSResult, LitElement, PropertyValues, TemplateResult } from "lit";
2
+ import { Asset, Attribute, AttributeRef } from "@openremote/model";
3
+ import "@openremote/or-translate";
4
+ export interface AttributeAction {
5
+ icon: string;
6
+ tooltip: string;
7
+ disabled: boolean;
8
+ }
9
+ export declare class AttributeActionEvent extends CustomEvent<{
10
+ asset: Asset;
11
+ attributeRef: AttributeRef;
12
+ action: AttributeAction;
13
+ }> {
14
+ static readonly NAME = "attribute-action";
15
+ constructor(asset: Asset, attributeRef: AttributeRef, action: AttributeAction);
16
+ }
17
+ export declare class AttributesSelectEvent extends CustomEvent<{
18
+ assets: Asset[];
19
+ attributeRefs: AttributeRef[];
20
+ }> {
21
+ static readonly NAME = "attribute-select";
22
+ constructor(assets: Asset[], attributeRefs: AttributeRef[]);
23
+ }
24
+ export declare class AttributesPanel extends LitElement {
25
+ protected attributeRefs: AttributeRef[];
26
+ protected multi: boolean;
27
+ protected onlyDataAttrs: boolean;
28
+ protected attributeFilter?: (attribute: Attribute<any>) => boolean;
29
+ protected attributeLabelCallback?: (asset: Asset, attribute: Attribute<any>, attributeLabel: string) => TemplateResult;
30
+ protected attributeActionCallback?: (attribute: AttributeRef) => AttributeAction[];
31
+ protected loadedAssets: Asset[];
32
+ static get styles(): CSSResult[];
33
+ protected willUpdate(changedProps: PropertyValues): void;
34
+ protected getLoadedAsset(attrRef: AttributeRef): Asset | undefined;
35
+ protected removeWidgetAttribute(attributeRef: AttributeRef): void;
36
+ protected loadAssets(): Promise<Asset[]>;
37
+ fetchAssets(attributeRefs?: AttributeRef[]): Promise<Asset[]>;
38
+ protected onAttributeActionClick(asset: Asset, attributeRef: AttributeRef, action: AttributeAction): void;
39
+ protected openAttributeSelector(attributeRefs: AttributeRef[], multi: boolean, onlyDataAttrs?: boolean, attributeFilter?: (attribute: Attribute<any>) => boolean): void;
40
+ protected render(): TemplateResult;
41
+ }
@@ -0,0 +1,126 @@
1
+ var __decorate=this&&this.__decorate||function(t,e,i,r){var o,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(s<3?o(a):s>3?o(e,i,a):o(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},__awaiter=this&&this.__awaiter||function(t,e,i,r){return new(i||(i=Promise))((function(o,s){function a(t){try{l(r.next(t))}catch(t){s(t)}}function n(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,n)}l((r=r.apply(t,e||[])).next())}))};import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property,state}from"lit/decorators.js";import{AssetModelUtil}from"@openremote/model";import{style}from"../style";import{when}from"lit/directives/when.js";import{map}from"lit/directives/map.js";import{guard}from"lit/directives/guard.js";import{i18next}from"@openremote/or-translate";import"@openremote/or-translate";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import manager,{DefaultColor5,Util}from"@openremote/core";import{getAssetDescriptorIconTemplate}from"@openremote/or-icon";import{OrAttributePicker,OrAttributePickerPickedEvent}from"@openremote/or-attribute-picker";import{showDialog}from"@openremote/or-mwc-components/or-mwc-dialog";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";export class AttributeActionEvent extends CustomEvent{constructor(t,e,i){super(AttributeActionEvent.NAME,{bubbles:!0,composed:!0,detail:{asset:t,attributeRef:e,action:i}})}}AttributeActionEvent.NAME="attribute-action";export class AttributesSelectEvent extends CustomEvent{constructor(t,e){super(AttributesSelectEvent.NAME,{bubbles:!0,composed:!0,detail:{assets:t,attributeRefs:e}})}}AttributesSelectEvent.NAME="attribute-select";const styling=css`
2
+ #attribute-list {
3
+ overflow: auto;
4
+ flex: 1 1 0;
5
+ width: 100%;
6
+ display: flex;
7
+ flex-direction: column;
8
+ }
9
+
10
+ .attribute-list-item {
11
+ position: relative;
12
+ cursor: pointer;
13
+ display: flex;
14
+ flex-direction: row;
15
+ align-items: stretch;
16
+ gap: 10px;
17
+ padding: 0;
18
+ min-height: 50px;
19
+ }
20
+
21
+ .attribute-list-item-icon {
22
+ display: flex;
23
+ align-items: center;
24
+ --or-icon-width: 20px;
25
+ }
26
+
27
+ .attribute-list-item-label {
28
+ display: flex;
29
+ justify-content: center;
30
+ flex: 1 1 0;
31
+ line-height: 16px;
32
+ flex-direction: column;
33
+ }
34
+
35
+ .attribute-list-item-actions {
36
+ flex: 1;
37
+ justify-content: end;
38
+ align-items: center;
39
+ display: flex;
40
+ gap: 8px;
41
+ }
42
+
43
+ .attribute-list-item-bullet {
44
+ width: 14px;
45
+ height: 14px;
46
+ border-radius: 7px;
47
+ margin-right: 10px;
48
+ }
49
+
50
+ .attribute-list-item .button.delete {
51
+ display: none;
52
+ }
53
+
54
+ .attribute-list-item:hover .button.delete {
55
+ display: block;
56
+ }
57
+
58
+ .button-action {
59
+ background: none;
60
+ visibility: hidden;
61
+ color: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
62
+ --or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
63
+ display: inline-block;
64
+ border: none;
65
+ padding: 0;
66
+ cursor: pointer;
67
+ }
68
+
69
+ .attribute-list-item:hover .attribute-list-item-actions {
70
+ background: white;
71
+ z-index: 1;
72
+ }
73
+
74
+ .attribute-list-item:hover .button-action {
75
+ visibility: visible;
76
+ }
77
+
78
+ .button-action:hover {
79
+ --or-icon-fill: var(--or-app-color4);
80
+ }
81
+ `;let AttributesPanel=class extends LitElement{constructor(){super(...arguments),this.attributeRefs=[],this.multi=!1,this.onlyDataAttrs=!1,this.loadedAssets=[]}static get styles(){return[styling,style]}willUpdate(t){super.willUpdate(t),this.attributeRefs||(this.attributeRefs=[]),t.has("attributeRefs")&&this.attributeRefs&&this.loadAssets().then((e=>{t.get("attributeRefs")&&this.dispatchEvent(new AttributesSelectEvent(e,this.attributeRefs))}))}getLoadedAsset(t){var e;return null===(e=this.loadedAssets)||void 0===e?void 0:e.find((e=>e.id===t.id))}removeWidgetAttribute(t){null!=this.attributeRefs&&(this.attributeRefs=this.attributeRefs.filter((e=>e!==t)))}loadAssets(){return __awaiter(this,void 0,void 0,(function*(){if(this.attributeRefs.filter((t=>!this.getLoadedAsset(t))).length>0){const t=yield this.fetchAssets(this.attributeRefs);return this.loadedAssets=t,t}return this.loadedAssets}))}fetchAssets(t=[]){return __awaiter(this,void 0,void 0,(function*(){let e=[];return yield manager.rest.api.AssetResource.queryAssets({ids:t.map((t=>t.id)),realm:{name:manager.displayRealm},select:{attributes:t.map((t=>t.name))}}).then((t=>{e=t.data})).catch((t=>{console.error(t),showSnackbar(void 0,"errorOccurred")})),e}))}onAttributeActionClick(t,e,i){this.dispatchEvent(new AttributeActionEvent(t,e,i))}openAttributeSelector(t,e,i=!0,r){let o;o=showDialog(null!=t?(new OrAttributePicker).setMultiSelect(e).setSelectedAttributes(t).setShowOnlyDatapointAttrs(i).setAttributeFilter(r):(new OrAttributePicker).setMultiSelect(e).setShowOnlyDatapointAttrs(i)),o.addEventListener(OrAttributePickerPickedEvent.NAME,(t=>{this.attributeRefs=t.detail}))}render(){return html`
82
+ <div>
83
+ ${when(this.attributeRefs.length>0,(()=>html`
84
+
85
+ <div id="attribute-list">
86
+ ${guard([this.attributeRefs,this.loadedAssets,this.attributeActionCallback,this.attributeLabelCallback],(()=>html`
87
+ ${map(this.attributeRefs,(t=>{const e=this.getLoadedAsset(t);if(e){const i=e.attributes[t.name],r=AssetModelUtil.getAttributeAndValueDescriptors(e.type,t.name,i),o=Util.getAttributeLabel(i,r[0],e.type,!0);return html`
88
+ <div class="attribute-list-item">
89
+ <div class="attribute-list-item-icon">
90
+ <span>${getAssetDescriptorIconTemplate(AssetModelUtil.getAssetDescriptor(e.type))}</span>
91
+ </div>
92
+ <div class="attribute-list-item-label">
93
+ ${when(!!this.attributeLabelCallback,(()=>this.attributeLabelCallback(e,i,o)),(()=>html`
94
+ <span>${e.name}</span>
95
+ <span style="font-size:14px; color:grey;">${o}</span>
96
+ `))}
97
+ </div>
98
+ <div class="attribute-list-item-actions">
99
+
100
+ <!-- Custom actions defined by callback -->
101
+ ${when(!!this.attributeActionCallback,(()=>this.attributeActionCallback(t).map((i=>html`
102
+ <button class="button-action" .disabled="${i.disabled}" title="${i.tooltip}" @click="${()=>this.onAttributeActionClick(e,t,i)}">
103
+ <or-icon icon="${i.icon}"></or-icon>
104
+ </button>
105
+ `))))}
106
+ <!-- Remove attribute button -->
107
+ <button class="button-action" title="${i18next.t("delete")}" @click="${()=>this.removeWidgetAttribute(t)}">
108
+ <or-icon icon="close-circle"></or-icon>
109
+ </button>
110
+ </div>
111
+ </div>
112
+ `}}))}
113
+ `))}
114
+ </div>
115
+
116
+ `),(()=>html`
117
+ <span style="padding: 14px 0; display: block;"><or-translate value="noAttributesConnected"></or-translate></span>
118
+ `))}
119
+
120
+ <!-- Button that opens attribute selection -->
121
+ <or-mwc-input .type="${InputType.BUTTON}" label="attribute" icon="${this.multi||0===this.attributeRefs.length?"plus":"swap-horizontal"}"
122
+ style="margin-top: 8px;"
123
+ @or-mwc-input-changed="${()=>this.openAttributeSelector(this.attributeRefs,this.multi,this.onlyDataAttrs,this.attributeFilter)}">
124
+ </or-mwc-input>
125
+ </div>
126
+ `}};__decorate([property()],AttributesPanel.prototype,"attributeRefs",void 0),__decorate([property()],AttributesPanel.prototype,"multi",void 0),__decorate([property()],AttributesPanel.prototype,"onlyDataAttrs",void 0),__decorate([property()],AttributesPanel.prototype,"attributeFilter",void 0),__decorate([property()],AttributesPanel.prototype,"attributeLabelCallback",void 0),__decorate([property()],AttributesPanel.prototype,"attributeActionCallback",void 0),__decorate([state()],AttributesPanel.prototype,"loadedAssets",void 0),AttributesPanel=__decorate([customElement("attributes-panel")],AttributesPanel);export{AttributesPanel};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes-panel.js","sourceRoot":"","sources":["../../src/panels/attributes-panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { CSSResult, LitElement, PropertyValues, TemplateResult } from "lit";
2
+ export declare class ThresholdChangeEvent extends CustomEvent<[number, string][]> {
3
+ static readonly NAME = "threshold-change";
4
+ constructor(thresholds: [number, string][]);
5
+ }
6
+ export declare class TextColorsChangeEvent extends CustomEvent<[string, string][]> {
7
+ static readonly NAME = "text-colors-change";
8
+ constructor(textColors: [string, string][]);
9
+ }
10
+ export declare class BoolColorsChangeEvent extends CustomEvent<{
11
+ type: string;
12
+ false: string;
13
+ true: string;
14
+ }> {
15
+ static readonly NAME = "bool-colors-change";
16
+ constructor(boolColors: {
17
+ type: string;
18
+ false: string;
19
+ true: string;
20
+ });
21
+ }
22
+ export declare class ThresholdsPanel extends LitElement {
23
+ protected thresholds: [number, string][];
24
+ protected textColors: [string, string][];
25
+ protected boolColors: {
26
+ type: string;
27
+ false: string;
28
+ true: string;
29
+ };
30
+ protected readonly min?: number;
31
+ protected readonly max?: number;
32
+ protected readonly valueType: string;
33
+ static get styles(): CSSResult[];
34
+ protected updated(changedProps: PropertyValues): void;
35
+ protected render(): TemplateResult;
36
+ protected removeThreshold(threshold: [any, string]): void;
37
+ protected addThreshold(threshold: [any, string]): void;
38
+ protected addNewThreshold(): void;
39
+ }
@@ -0,0 +1,129 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,o,s){var l,r=arguments.length,i=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,s);else for(var h=e.length-1;h>=0;h--)(l=e[h])&&(i=(r<3?l(i):r>3?l(t,o,i):l(t,o))||i);return r>3&&i&&Object.defineProperty(t,o,i),i};import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{DefaultColor5}from"@openremote/core";import{style}from"../style";export class ThresholdChangeEvent extends CustomEvent{constructor(e){super(ThresholdChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}ThresholdChangeEvent.NAME="threshold-change";export class TextColorsChangeEvent extends CustomEvent{constructor(e){super(TextColorsChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}TextColorsChangeEvent.NAME="text-colors-change";export class BoolColorsChangeEvent extends CustomEvent{constructor(e){super(BoolColorsChangeEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}BoolColorsChangeEvent.NAME="bool-colors-change";const styling=css`
2
+
3
+ #thresholds-list {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 12px;
7
+ }
8
+
9
+ .threshold-list-item {
10
+ display: flex;
11
+ flex-direction: row;
12
+ align-items: center;
13
+ }
14
+
15
+ .threshold-list-item-colour {
16
+ height: 100%;
17
+ padding: 0 4px 0 0;
18
+ }
19
+
20
+ .threshold-list-item:hover .button-clear {
21
+ visibility: visible;
22
+ }
23
+
24
+ .button-clear {
25
+ background: none;
26
+ visibility: hidden;
27
+ color: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
28
+ --or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
29
+ display: inline-block;
30
+ border: none;
31
+ padding: 0;
32
+ cursor: pointer;
33
+ }
34
+
35
+ .button-clear:hover {
36
+ --or-icon-fill: var(--or-app-color4);
37
+ }
38
+
39
+ `;let ThresholdsPanel=class extends LitElement{constructor(){super(...arguments),this.thresholds=[],this.textColors=[]}static get styles(){return[styling,style]}updated(e){e.has("thresholds")&&this.thresholds&&this.dispatchEvent(new ThresholdChangeEvent(this.thresholds)),e.has("textColors")&&this.textColors&&this.dispatchEvent(new TextColorsChangeEvent(this.textColors)),e.has("boolColors")&&this.boolColors&&this.dispatchEvent(new BoolColorsChangeEvent(this.boolColors))}render(){return html`
40
+ <div id="thresholds-list" class="expanded-panel">
41
+
42
+ <!-- Thresholds by number -->
43
+ ${"number"===this.valueType||"positiveInteger"===this.valueType||"positiveNumber"===this.valueType||"negativeInteger"===this.valueType||"negativeNumber"===this.valueType?html`
44
+ ${this.thresholds.sort(((e,t)=>e[0]<t[0]?-1:1)).map(((e,t)=>html`
45
+ <div class="threshold-list-item">
46
+ <div class="threshold-list-item-colour">
47
+ <or-mwc-input type="${InputType.COLOUR}" value="${e[1]}"
48
+ @or-mwc-input-changed="${e=>{this.thresholds[t][1]=e.detail.value,this.requestUpdate("thresholds")}}"
49
+ ></or-mwc-input>
50
+ </div>
51
+ <or-mwc-input type="${InputType.NUMBER}" comfortable .value="${e[0]}"
52
+ ?disabled="${0===t&&this.max}"
53
+ .min="${ifDefined(this.min)}" .max="${ifDefined(this.max)}"
54
+ @or-mwc-input-changed="${e=>{(!this.min||e.detail.value>=this.min)&&(!this.max||e.detail.value<=this.max)&&(this.thresholds[t][0]=e.detail.value,this.requestUpdate("thresholds"))}}"
55
+ ></or-mwc-input>
56
+ ${0===t?html`
57
+ <button class="button-clear"
58
+ style="margin-left: 8px;">
59
+ <or-icon icon="lock" style="--or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});"></or-icon>
60
+ </button>
61
+ `:html`
62
+ <button class="button-clear"
63
+ style="margin-left: 8px;"
64
+ @click="${()=>{this.removeThreshold(e)}}">
65
+ <or-icon icon="close-circle"></or-icon>
66
+ </button>
67
+ `}
68
+ </div>
69
+ `))}
70
+ <or-mwc-input .type="${InputType.BUTTON}" label="threshold" icon="plus"
71
+ @or-mwc-input-changed="${()=>this.addNewThreshold()}">
72
+ </or-mwc-input>
73
+ `:null}
74
+
75
+ <!-- Thresholds by boolean -->
76
+ ${"boolean"===this.valueType?html`
77
+ <div class="threshold-list-item">
78
+ <div class="threshold-list-item-colour">
79
+ <or-mwc-input type="${InputType.COLOUR}" value="${this.boolColors.true}"
80
+ @or-mwc-input-changed="${e=>{this.boolColors.true=e.detail.value,this.requestUpdate("boolColors")}}"
81
+ ></or-mwc-input>
82
+ </div>
83
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${"True"}" .readonly="${!0}"
84
+ ></or-mwc-input>
85
+ </div>
86
+ <div class="threshold-list-item">
87
+ <div class="threshold-list-item-colour">
88
+ <or-mwc-input type="${InputType.COLOUR}" value="${this.boolColors.false}"
89
+ @or-mwc-input-changed="${e=>{this.boolColors.false=e.detail.value,this.requestUpdate("boolColors")}}"
90
+ ></or-mwc-input>
91
+ </div>
92
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${"False"}" .readonly="${!0}"
93
+ ></or-mwc-input>
94
+ </div>
95
+ `:null}
96
+
97
+ <!-- Thresholds by string -->
98
+ ${"text"===this.valueType&&this.textColors?html`
99
+ ${this.textColors.map(((e,t)=>html`
100
+ <div class="threshold-list-item">
101
+ <div class="threshold-list-item-colour">
102
+ <or-mwc-input type="${InputType.COLOUR}" value="${e[1]}"
103
+ @or-mwc-input-changed="${e=>{this.textColors[t][1]=e.detail.value,this.requestUpdate("textColors")}}"
104
+ ></or-mwc-input>
105
+ </div>
106
+ <or-mwc-input type="${InputType.TEXT}" comfortable .value="${e[0]}"
107
+ @or-mwc-input-changed="${e=>{this.textColors[t][0]=e.detail.value,this.requestUpdate("textColors")}}"
108
+
109
+ ></or-mwc-input>
110
+ ${0===t?html`
111
+ <button class="button-clear"
112
+ style="margin-left: 8px;">
113
+ <or-icon icon="lock" style="--or-icon-fill: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});"></or-icon>
114
+ </button>
115
+ `:html`
116
+ <button class="button-clear"
117
+ style="margin-left: 8px;"
118
+ @click="${()=>{this.removeThreshold(e)}}">
119
+ <or-icon icon="close-circle"></or-icon>
120
+ </button>
121
+ `}
122
+ </div>
123
+ `))}
124
+ <or-mwc-input .type="${InputType.BUTTON}" label="threshold" icon="plus"
125
+ @or-mwc-input-changed="${()=>this.addNewThreshold()}">
126
+ </or-mwc-input>
127
+ `:null}
128
+ </div>
129
+ `}removeThreshold(e){"number"==typeof e[0]?this.thresholds=this.thresholds.filter((t=>t!==e)):this.textColors=this.textColors.filter((t=>t!==e))}addThreshold(e){"number"==typeof e[0]?(this.thresholds.push(e),this.requestUpdate("thresholds")):(this.textColors.push(e),this.requestUpdate("textColors"))}addNewThreshold(){if("text"===this.valueType)this.addThreshold(["new","#000000"]);else{const e=this.thresholds[this.thresholds.length-1][0]+10;this.addThreshold([!this.max||e<=this.max?e:this.max,"#000000"])}this.updateComplete.then((()=>{var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("thresholds-list");Array.from(t.children)[t.children.length-2].children[1].setAttribute("focused","true")}))}};__decorate([property()],ThresholdsPanel.prototype,"thresholds",void 0),__decorate([property()],ThresholdsPanel.prototype,"textColors",void 0),__decorate([property()],ThresholdsPanel.prototype,"boolColors",void 0),__decorate([property()],ThresholdsPanel.prototype,"min",void 0),__decorate([property()],ThresholdsPanel.prototype,"max",void 0),__decorate([property()],ThresholdsPanel.prototype,"valueType",void 0),ThresholdsPanel=__decorate([customElement("thresholds-panel")],ThresholdsPanel);export{ThresholdsPanel};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thresholds-panel.js","sourceRoot":"","sources":["../../src/panels/thresholds-panel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Dashboard } from "@openremote/model";
2
+ export declare enum DashboardSizeOption {
3
+ DESKTOP = 0,
4
+ MOBILE = 1
5
+ }
6
+ export declare class DashboardService {
7
+ static create(dashboard?: Dashboard, size?: DashboardSizeOption, realm?: string, post?: boolean): Promise<Dashboard>;
8
+ static delete(id: string, realm?: string): Promise<void>;
9
+ private static getDefaultColumns;
10
+ private static getDefaultDisplayName;
11
+ private static getDefaultScreenPresets;
12
+ private static getDefaultMaxScreenWidth;
13
+ }
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))((function(r,n){function s(e){try{d(i.next(e))}catch(e){n(e)}}function o(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(s,o)}d((i=i.apply(e,t||[])).next())}))};import manager from"@openremote/core";import{i18next}from"@openremote/or-translate";export var DashboardSizeOption;!function(e){e[e.DESKTOP=0]="DESKTOP",e[e.MOBILE=1]="MOBILE"}(DashboardSizeOption||(DashboardSizeOption={}));export class DashboardService{static create(e,t=DashboardSizeOption.DESKTOP,a=manager.displayRealm,i=!0){var r;return __awaiter(this,void 0,void 0,(function*(){const n=()=>(Math.random()+1).toString(36).substring(2);return e?(e.id=n(),e.template&&(e.template.id=n(),null===(r=e.template.widgets)||void 0===r||r.forEach((e=>e.id=n())))):e={realm:a,displayName:this.getDefaultDisplayName(t),template:{id:n(),columns:this.getDefaultColumns(t),maxScreenWidth:this.getDefaultMaxScreenWidth(t),refreshInterval:"OFF",screenPresets:this.getDefaultScreenPresets(t)}},i?(yield manager.rest.api.DashboardResource.create(e)).data:e}))}static delete(e,t=manager.displayRealm){return __awaiter(this,void 0,void 0,(function*(){return(yield manager.rest.api.DashboardResource.delete(t,e)).data}))}static getDefaultColumns(e){switch(e){case DashboardSizeOption.MOBILE:return 4;case DashboardSizeOption.DESKTOP:default:return 12}}static getDefaultDisplayName(e){switch(e){case DashboardSizeOption.DESKTOP:return i18next.t("dashboard.initialName");case DashboardSizeOption.MOBILE:return i18next.t("dashboard.initialName")+" ("+i18next.t("dashboard.size.mobile")+")"}}static getDefaultScreenPresets(e){return e===DashboardSizeOption.MOBILE?[{id:"mobile",displayName:"dashboard.size.mobile",breakpoint:640,scalingPreset:"KEEP_LAYOUT"}]:[{id:"mobile",displayName:"dashboard.size.mobile",breakpoint:640,scalingPreset:"WRAP_TO_SINGLE_COLUMN"}]}static getDefaultMaxScreenWidth(e){switch(e){case DashboardSizeOption.DESKTOP:return 4e3;case DashboardSizeOption.MOBILE:return 640}}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-service.js","sourceRoot":"","sources":["../../src/service/dashboard-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DashboardWidget } from "@openremote/model";
2
+ import { WidgetConfig } from "../util/widget-config";
3
+ import { WidgetManifest } from "../util/or-widget";
4
+ export declare class WidgetService {
5
+ static getManifest(widgetTypeId: string): WidgetManifest;
6
+ static placeNew(widgetTypeId: string, x: number, y: number): Promise<DashboardWidget>;
7
+ static correctToConfigSpec(manifest: WidgetManifest, widgetConfig: WidgetConfig): WidgetConfig;
8
+ }
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))((function(o,r){function a(t){try{d(n.next(t))}catch(t){r(t)}}function c(t){try{d(n.throw(t))}catch(t){r(t)}}function d(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,c)}d((n=n.apply(t,e||[])).next())}))};import{widgetTypes}from"../index";import{Util}from"@openremote/core";export class WidgetService{static getManifest(t){const e=widgetTypes.get(t);if(!e)throw new Error("Widget manifest could not be found during widget creation.");return e}static placeNew(t,e,i){return __awaiter(this,void 0,void 0,(function*(){const n=(Math.random()+1).toString(36).substring(2),o=this.getManifest(t);return{id:n,displayName:o.displayName,gridItem:{id:n,x:e,y:i,w:2,h:2,minW:o.minColumnWidth,minH:o.minColumnHeight,minPixelW:o.minPixelWidth,minPixelH:o.minPixelHeight,noResize:!1,noMove:!1,locked:!1},widgetConfig:o.getDefaultConfig(),widgetTypeId:t}}))}static correctToConfigSpec(t,e){return Util.mergeObjects(t.getDefaultConfig(),e,!1)}}