@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":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Dashboard, DashboardScalingPreset, DashboardScreenPreset } from "@openremote/model";
2
+ import { LitElement } from "lit";
3
+ export declare class OrDashboardBoardsettings extends LitElement {
4
+ protected readonly dashboard: Dashboard;
5
+ protected readonly showPerms?: boolean;
6
+ static get styles(): import("lit").CSSResult[];
7
+ forceParentUpdate(force?: boolean): void;
8
+ private setViewAccess;
9
+ private setEditAccess;
10
+ private setBreakpoint;
11
+ private setRefreshInterval;
12
+ protected render(): import("lit-html").TemplateResult<1>;
13
+ setToMobilePreset(): void;
14
+ scalingPresetTemplate(screenPresets: DashboardScreenPreset[], scalingPresets: {
15
+ key: DashboardScalingPreset;
16
+ value: string;
17
+ }[]): import("lit-html").TemplateResult<1>;
18
+ screenPresetTemplate(screenPresets: DashboardScreenPreset[], customLabels?: string[]): import("lit-html").TemplateResult<1>;
19
+ }
@@ -0,0 +1,121 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,a,s){var r,i=arguments.length,n=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,a):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,a,s);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(i<3?r(n):i>3?r(t,a,n):r(t,a))||n);return i>3&&n&&Object.defineProperty(t,a,n),n};import{css,html,LitElement}from"lit";import{customElement,property}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{unsafeHTML}from"lit/directives/unsafe-html.js";import{when}from"lit/directives/when.js";import{dashboardAccessToString,scalingPresetToString,sortScreenPresets}from".";const boardSettingsStyling=css`
2
+ .label {
3
+ margin-bottom: 4px;
4
+ }
5
+ `;let OrDashboardBoardsettings=class extends LitElement{static get styles(){return[boardSettingsStyling,style]}forceParentUpdate(e=!1){this.dispatchEvent(new CustomEvent("update",{detail:{force:e}}))}setViewAccess(e){this.dashboard.viewAccess=e,"PRIVATE"===e&&(this.dashboard.editAccess="PRIVATE"),this.requestUpdate(),this.forceParentUpdate(!1)}setEditAccess(e){this.dashboard.editAccess=e,this.requestUpdate(),this.forceParentUpdate(!1)}setBreakpoint(e,t){this.dashboard.template.screenPresets[e].breakpoint=t,this.requestUpdate(),this.forceParentUpdate(!0)}setRefreshInterval(e){this.dashboard.template.refreshInterval=e,this.requestUpdate(),this.forceParentUpdate(!1)}render(){var e,t;if(null!=(null===(e=this.dashboard.template)||void 0===e?void 0:e.screenPresets)){const e=sortScreenPresets(this.dashboard.template.screenPresets,!0),a=["PRIVATE","SHARED","PUBLIC"].map((e=>({key:e,value:dashboardAccessToString(e)}))),s=["PRIVATE","SHARED"].map((e=>({key:e,value:dashboardAccessToString(e)}))),r=["OFF","ONE_MIN","FIVE_MIN","QUARTER","ONE_HOUR"].map((e=>({key:e,value:`dashboard.interval.${e.toLowerCase()}`}))),i=[];return["KEEP_LAYOUT","WRAP_TO_SINGLE_COLUMN","BLOCK_DEVICE"].forEach((e=>{i.push({key:e,value:scalingPresetToString(e)})})),html`
6
+
7
+ <!-- Permissions panel, to set who can view/edit the selected dashboard -->
8
+ ${when(this.showPerms,(()=>html`
9
+ <settings-panel displayName="permissions" expanded="${!0}">
10
+ <div>
11
+ <div style="margin-bottom: 24px;">
12
+ <div class="label">
13
+ ${html`<span>${unsafeHTML(i18next.t("dashboard.whoCanView").toString())}</span>`}
14
+ </div>
15
+ <or-mwc-input class="permissionInput" comfortable type="${InputType.SELECT}" style="width: 100%;"
16
+ .options="${a.map((e=>e.value))}"
17
+ .value="${dashboardAccessToString(this.dashboard.viewAccess)}"
18
+ @or-mwc-input-changed="${e=>{var t;this.setViewAccess(null===(t=a.find((t=>t.value==e.detail.value)))||void 0===t?void 0:t.key)}}"
19
+ ></or-mwc-input>
20
+ </div>
21
+ <div style="margin-bottom: 24px;">
22
+ <div class="label">
23
+ ${html`<span>${unsafeHTML(i18next.t("dashboard.whoCanEdit").toString())}</span>`}
24
+ </div>
25
+ <or-mwc-input class="permissionInput" comfortable type="${InputType.SELECT}" style="width: 100%;"
26
+ .disabled="${"PRIVATE"==this.dashboard.viewAccess}"
27
+ .options="${s.map((e=>e.value))}"
28
+ .value="${dashboardAccessToString(this.dashboard.editAccess)}"
29
+ @or-mwc-input-changed="${e=>{var t;this.setEditAccess(null===(t=s.find((t=>t.value==e.detail.value)))||void 0===t?void 0:t.key)}}"
30
+ ></or-mwc-input>
31
+ </div>
32
+ </div>
33
+ </settings-panel>
34
+ `))}
35
+
36
+ <!-- Layout panel, with options such as 'amount of columns' -->
37
+ <settings-panel displayName="layout" expanded="${!0}">
38
+ <div>
39
+
40
+ <!-- Number of Columns control -->
41
+ <div style="margin-bottom: 24px; display: flex; align-items: center;">
42
+ <span style="min-width: 180px;"><or-translate value="dashboard.numberOfColumns"></or-translate></span>
43
+ <or-mwc-input type="${InputType.NUMBER}" comfortable .value="${this.dashboard.template.columns}" min="1" max="24" @or-mwc-input-changed="${e=>{null!=this.dashboard.template&&e.detail.value<=24&&e.detail.value>=1&&(this.dashboard.template.columns=e.detail.value,this.forceParentUpdate(!0))}}"></or-mwc-input>
44
+ </div>
45
+
46
+ <!-- Scaling preset -->
47
+ ${1===e.length?html`
48
+ ${this.scalingPresetTemplate(e,i)}
49
+ `:void 0}
50
+
51
+ <!-- Screen preset -->
52
+ ${1===e.length?html`
53
+ ${this.screenPresetTemplate(e,["Mobile breakpoint"])}
54
+ `:void 0}
55
+
56
+ <!-- Max Screen Width control-->
57
+ <div style="margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between;">
58
+ <span style="min-width: 150px;"><or-translate value="dashboard.maxScreenWidth"></or-translate></span>
59
+ <div>
60
+ <or-mwc-input type="${InputType.NUMBER}" comfortable .value="${this.dashboard.template.maxScreenWidth}" style="width: 70px;"
61
+ @or-mwc-input-changed="${e=>{null!=this.dashboard.template&&(this.dashboard.template.maxScreenWidth=e.detail.value,this.forceParentUpdate(!0))}}">
62
+ </or-mwc-input>
63
+ <span style="margin-left: 2px;">px</span>
64
+ </div>
65
+ </div>
66
+
67
+ <!-- "Set to mobile" preset button, for ease of use -->
68
+ <div>
69
+ <or-mwc-input type="${InputType.BUTTON}" comfortable label="dashboard.setToMobilePreset"
70
+ @or-mwc-input-changed="${()=>{this.setToMobilePreset()}}">
71
+ </or-mwc-input>
72
+ </div>
73
+ </div>
74
+ </settings-panel>
75
+
76
+ <!-- Data management options -->
77
+ <settings-panel displayName="dashboard.dataManagement" expanded="${!0}">
78
+ <div>
79
+ <div class="label">
80
+ <span><or-translate value="dashboard.defaultRefreshInterval"></or-translate></span>
81
+ </div>
82
+ <or-mwc-input type="${InputType.SELECT}" comfortable .options="${r.map((e=>e.value))}" style="width: 100%;"
83
+ .value="${`dashboard.interval.${(null===(t=this.dashboard.template.refreshInterval)||void 0===t?void 0:t.toLowerCase())||"off"}`}"
84
+ @or-mwc-input-changed="${e=>{const t=r.find((t=>t.value===e.detail.value));t&&this.setRefreshInterval(t.key)}}">
85
+ </or-mwc-input>
86
+ </div>
87
+ </settings-panel>
88
+
89
+ `}return html`
90
+ <div style="padding: 24px;">
91
+ <span><or-translate value="errorOccurred"></or-translate></span><br/>
92
+ <span><or-translate value="noDashboardFound"></or-translate></span>
93
+ </div>
94
+ `}setToMobilePreset(){this.dashboard.template.columns=4,this.dashboard.template.screenPresets[0].scalingPreset="KEEP_LAYOUT",this.dashboard.template.maxScreenWidth=700,this.requestUpdate(),this.forceParentUpdate(!0)}scalingPresetTemplate(e,t){return html`
95
+ ${e.map((a=>{var s;return html`
96
+ <div style="margin-bottom: ${e.length>1?"24px":"16px"}">
97
+ <div class="label">
98
+ ${html`<span>${unsafeHTML(i18next.t("dashboard.onScreenMyBoardShould").replace("{{size}}","<b>"+i18next.t(a.displayName)+"</b>"))}</span>`}
99
+ </div>
100
+ <or-mwc-input class="displayInput" type="${InputType.SELECT}" comfortable style="width: 100%;"
101
+ .options="${t.map((e=>e.value))}"
102
+ .value="${null===(s=t.find((e=>e.key==a.scalingPreset)))||void 0===s?void 0:s.value}"
103
+ @or-mwc-input-changed="${e=>{var s;a.scalingPreset=null===(s=t.find((t=>t.value==e.detail.value)))||void 0===s?void 0:s.key,this.forceParentUpdate(!0),this.requestUpdate()}}"
104
+ ></or-mwc-input>
105
+ </div>
106
+ `}))}
107
+ `}screenPresetTemplate(e,t){return html`
108
+ ${e.map(((a,s)=>html`
109
+ <div style="margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between;">
110
+ <span style="min-width: 140px;">${t?t[s]:a.displayName+" "+i18next.t("screen")}</span>
111
+ <div>
112
+ <span style="margin-right: 4px;">${0==e.indexOf(a)?">":"<"}</span>
113
+ <or-mwc-input type="${InputType.NUMBER}" comfortable .disabled="${e.length>1&&0==e.indexOf(a)}" style="width: 70px;"
114
+ .value="${e.length>1&&0==e.indexOf(a)?e[1].breakpoint:a.breakpoint}"
115
+ @or-mwc-input-changed="${t=>{this.setBreakpoint(e.indexOf(a),t.detail.value)}}"
116
+ ></or-mwc-input>
117
+ <span style="margin-left: 2px;">px</span>
118
+ </div>
119
+ </div>
120
+ `))}
121
+ `}};__decorate([property()],OrDashboardBoardsettings.prototype,"dashboard",void 0),__decorate([property()],OrDashboardBoardsettings.prototype,"showPerms",void 0),OrDashboardBoardsettings=__decorate([customElement("or-dashboard-boardsettings")],OrDashboardBoardsettings);export{OrDashboardBoardsettings};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-boardsettings.js","sourceRoot":"","sources":["../src/or-dashboard-boardsettings.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,SAAS,EAAsB,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAC,MAAM,GAAG,CAAC;AAEpF,cAAc;AACd,MAAM,oBAAoB,GAAG,GAAG,CAAA;;;;CAI/B,CAAA;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU;IAQpD,+BAA+B;IAE/B,MAAM,KAAK,MAAM;QACb,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,iBAAiB,CAAC,QAAiB,KAAK;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,sCAAsC;IAE9B,aAAa,CAAC,MAAuB;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;QACnC,IAAI,MAAM,4CAA4B,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,UAAU,0CAA0B,CAAC,CAAC,qEAAqE;QAC9H,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,MAAuB;QACzC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,WAAmB,EAAE,KAAa;QACpD,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,aAAc,CAAC,WAAW,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;QACxE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,kBAAkB,CAAC,QAAkC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAES,MAAM;;QACZ,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,0CAAE,aAAa,KAAI,IAAI,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,iBAAiB,GAAG,uHAAyE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,CAAC;YAC7K,MAAM,iBAAiB,GAAG,gFAAiD,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,CAAC;YACrJ,MAAM,sBAAsB,GAAG,sPAAwK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC,CAAA;YACjS,MAAM,cAAc,GAAqD,EAAE,CAAC;YAC5E,qIAAmF,oCAAoC,0DAAqC,CAAC,OAAO,CAAC,CAAC,MAA8B,EAAE,EAAE;gBACpM,cAAc,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAA;;;kBAGL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA;0EACyB,IAAI;;;;sCAIxC,IAAI,CAAA,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS;;0FAE1B,SAAS,CAAC,MAAM;0DAChD,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;wDACjD,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAW,CAAC;uEACpC,CAAC,KAA0B,EAAE,EAAE;;gBACpD,IAAI,CAAC,aAAa,CAAC,MAAA,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,0CAAE,GAAI,CAAC,CAAC;YACrG,CAAC;;;;;sCAKT,IAAI,CAAA,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS;;0FAE1B,SAAS,CAAC,MAAM;2DAC/C,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,2CAA2B,CAAC;0DACvD,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;wDACjD,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAW,CAAC;uEACpC,CAAC,KAA0B,EAAE,EAAE;;gBACpD,IAAI,CAAC,aAAa,CAAC,MAAA,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,0CAAE,GAAI,CAAC,CAAC;YACrG,CAAC;;;;;iBAK9B,CAAC;;;iEAG+C,IAAI;;;;;;kDAMnB,SAAS,CAAC,MAAM,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,6CAA6C,CAAC,KAA0B,EAAE,EAAE;gBACtK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAe,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAe,IAAI,CAAC,EAAE,CAAC;oBAC7G,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAe,CAAC;oBAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;;;;0BAIH,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;8BAC7B,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC;yBAC9D,CAAC,CAAC,CAAC,SAAS;;;0BAGX,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;8BAC7B,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,mBAAmB,CAAC,CAAC;yBACpE,CAAC,CAAC,CAAC,SAAS;;;;;;sDAMiB,SAAS,CAAC,MAAM,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc;uEAC9D,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,KAAe,CAAC;oBACtE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;;;;;;;;kDAQG,SAAS,CAAC,MAAM;mEACC,GAAG,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,CAAC;;;;;;;mFAOwC,IAAI;;;;;8CAKzC,SAAS,CAAC,MAAM,2BAA2B,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gDACjF,sBAAsB,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,0CAAE,WAAW,EAAE,KAAI,KAAK,EAAE;+DACxE,CAAC,EAAuB,EAAE,EAAE;gBACjD,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpF,IAAG,aAAa,EAAE,CAAC;oBACf,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;gBAC9C,CAAC;YACL,CAAC;;;;;aAK1B,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAA;;;;;aAKV,CAAA;QACL,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,2JAA2J;IAC3J,iBAAiB;QACb,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,OAAO,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC,aAAa,yDAAqC,CAAC;QAC9F,IAAI,CAAC,SAAS,CAAC,QAAS,CAAC,cAAc,GAAG,GAAG,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAGD,8BAA8B;IAE9B,qBAAqB,CAAC,aAAsC,EAAE,cAAgE;QAC1H,OAAO,IAAI,CAAA;cACL,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC3B,OAAO,IAAI,CAAA;iDACsB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;8BAE7D,IAAI,CAAA,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS;;mEAEhH,SAAS,CAAC,MAAM;kDACjC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gDACpC,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,0CAAE,KAAK;+DACjD,CAAC,KAA0B,EAAE,EAAE;;gBACpD,MAAM,CAAC,aAAa,GAAG,MAAA,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,0CAAE,GAAG,CAAC;gBACtF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,CAAC;;;iBAGtB,CAAA;QACL,CAAC,CAAC;SACL,CAAA;IACL,CAAC;IAED,oBAAoB,CAAC,aAAsC,EAAE,YAAuB;QAChF,OAAO,IAAI,CAAA;cACL,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAClC,OAAO,IAAI,CAAA;;0DAE+B,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;;+DAEhF,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;kDAC7D,SAAS,CAAC,MAAM,4BAA4B,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oDAC1G,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;mEACnG,CAAC,KAA0B,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzE,CAAC;;;;;iBAK1B,CAAA;QACL,CAAC,CAAC;SACL,CAAA;IACL,CAAC;CACJ,CAAA;AAnOsB;IADlB,QAAQ,EAAE;2DAC8B;AAGtB;IADlB,QAAQ,EAAE;2DAC4B;AAN9B,wBAAwB;IADpC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,wBAAwB,CAsOpC"}
@@ -0,0 +1,9 @@
1
+ import { LitElement } from "lit";
2
+ export declare class OrDashboardBrowser extends LitElement {
3
+ private sidebarGrid?;
4
+ private backgroundGrid?;
5
+ static get styles(): import("lit").CSSResult[];
6
+ constructor();
7
+ protected renderGrid(): void;
8
+ protected render(): import("lit-html").TemplateResult<1>;
9
+ }
@@ -0,0 +1,35 @@
1
+ var __decorate=this&&this.__decorate||function(e,r,t,i){var d,s=arguments.length,o=s<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,r,t,i);else for(var a=e.length-1;a>=0;a--)(d=e[a])&&(o=(s<3?d(o):s>3?d(r,t,o):d(r,t))||o);return s>3&&o&&Object.defineProperty(r,t,o),o};import{GridStack}from"gridstack";import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,state}from"lit/decorators.js";import{style}from"./style";import{widgetTypes}from"./index";const gridcss=require("gridstack/dist/gridstack.min.css"),extracss=require("gridstack/dist/gridstack-extra.css"),browserStyling=css`
2
+ #sidebar {
3
+ display: grid;
4
+ padding: 16px;
5
+ }
6
+ #sidebarElement, #sidebarBgElement {
7
+ grid-column: 1;
8
+ grid-row: 1;
9
+ }
10
+ .grid-stack-item {
11
+ cursor: grab;
12
+ }
13
+ .sidebarItem {
14
+ height: 100%;
15
+ background: white;
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ overflow: hidden;
20
+ border: 1px solid #E0E0E0;
21
+ border-radius: 8px;
22
+ box-sizing: border-box;
23
+ flex-direction: column;
24
+ font-size: 14px;
25
+ --or-icon-width: 36px;
26
+ }
27
+ .itemText {
28
+ margin-top: 10px;
29
+ }
30
+ `;let OrDashboardBrowser=class extends LitElement{static get styles(){return[unsafeCSS(gridcss),unsafeCSS(extracss),browserStyling,style]}constructor(){super(),this.updateComplete.then((()=>{this.renderGrid()}))}renderGrid(){var e,r;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("sidebarElement"),i=new Array([0,0],[2,0],[0,2],[2,2],[0,4],[2,4],[0,6],[2,6],[0,8],[2,8]),d=Array.from(widgetTypes).sort(((e,r)=>e[1].displayName.localeCompare(r[1].displayName))).map(((e,r)=>({x:i[r][0],y:i[r][1],w:2,h:2,widgetTypeId:e[0],locked:!0,content:`<div class="sidebarItem"><or-icon icon="${e[1].displayIcon}"></or-icon><span class="itemText">${e[1].displayName}</span>`})));let s=0;d.forEach((e=>{e.y+e.h>s&&(s=e.y+e.h)}));let o=0;o=d.length%2!=0?d.length+1:d.length,void 0!==this.sidebarGrid?(this.sidebarGrid.removeAll(),this.sidebarGrid.load(d)):(this.sidebarGrid=GridStack.init({acceptWidgets:!1,column:4,cellHeight:67,disableOneColumnMode:!0,disableResize:!0,draggable:{appendTo:"parent"},margin:8,row:o},t),this.sidebarGrid.load(d),this.sidebarGrid.on("removed",((e,r)=>{var t;if(1===r.length){const e=d.filter((e=>e.content===r[0].content));null===(t=this.sidebarGrid)||void 0===t||t.load([e[0]])}})),this.sidebarGrid.on("change",((e,r)=>{this.renderGrid()})));const a=null===(r=this.shadowRoot)||void 0===r?void 0:r.getElementById("sidebarBgElement");null!=this.backgroundGrid?(this.backgroundGrid.removeAll(),this.backgroundGrid.load(d)):(this.backgroundGrid=GridStack.init({staticGrid:!0,column:4,cellHeight:67,disableOneColumnMode:!0,margin:8},a),this.backgroundGrid.load(d))}render(){return html`
31
+ <div id="sidebar">
32
+ <div id="sidebarElement" class="grid-stack" style="width: 100%; z-index: 3;"></div>
33
+ <div id="sidebarBgElement" class="grid-stack" style="width: 100%; z-index: 2"></div>
34
+ </div>
35
+ `}};__decorate([state()],OrDashboardBrowser.prototype,"sidebarGrid",void 0),__decorate([state()],OrDashboardBrowser.prototype,"backgroundGrid",void 0),OrDashboardBrowser=__decorate([customElement("or-dashboard-browser")],OrDashboardBrowser);export{OrDashboardBrowser};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-browser.js","sourceRoot":"","sources":["../src/or-dashboard-browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { GridStackEngine, GridStackNode, GridStackMoveOpts } from 'gridstack';
2
+ export declare class OrDashboardEngine extends GridStackEngine {
3
+ moveNode(node: GridStackNode, o: GridStackMoveOpts): boolean;
4
+ }
@@ -0,0 +1 @@
1
+ import{GridStackEngine}from"gridstack";export class OrDashboardEngine extends GridStackEngine{moveNode(i,e){return e.skip&&e.skip.id==i.id&&(e.x=e.skip.x,e.y=e.skip.y,e.w=e.skip.w,e.h=e.skip.h),super.moveNode(i,e)}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-engine.js","sourceRoot":"","sources":["../src/or-dashboard-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoC,MAAM,WAAW,CAAC;AAE9E,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAElD,yDAAyD;IACzD,4FAA4F;IAC5F,yDAAyD;IAClD,QAAQ,CAAC,IAAmB,EAAE,CAAoB;QACrD,IAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from "events";
3
+ export declare class DashboardKeyEmitter extends EventEmitter {
4
+ constructor();
5
+ private onkeydown;
6
+ }
@@ -0,0 +1 @@
1
+ import{EventEmitter}from"events";export class DashboardKeyEmitter extends EventEmitter{constructor(){super(),this.onkeydown=e=>{"Delete"==e.key?(e.preventDefault(),this.emit("delete",e)):"Escape"==e.key?(e.preventDefault(),this.emit("deselect",e)):"s"==e.key&&e.ctrlKey&&(e.preventDefault(),this.emit("save",e))},window.addEventListener("keydown",this.onkeydown)}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"or-dashboard-keyhandler.js","sourceRoot":"","sources":["../src/or-dashboard-keyhandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IAEjD;QACI,KAAK,EAAE,CAAC;QAIZ,2CAA2C;QAEnC,cAAS,GAAG,CAAC,CAAgB,EAAE,EAAE;YACrC,IAAG,CAAC,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAG,CAAC,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAClC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CAAA;QAhBG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;CAgBJ"}
@@ -0,0 +1,70 @@
1
+ import { LitElement, TemplateResult } from "lit";
2
+ import "./or-dashboard-widgetcontainer";
3
+ import { DashboardGridItem, DashboardScreenPreset, DashboardTemplate, DashboardWidget } from "@openremote/model";
4
+ import "@openremote/or-components/or-loading-indicator";
5
+ import { GridItemHTMLElement, GridStack, GridStackNode } from "gridstack";
6
+ export interface DashboardGridNode extends GridStackNode {
7
+ widgetTypeId: string;
8
+ }
9
+ export interface DashboardPreviewSize {
10
+ displayName: string;
11
+ width?: number;
12
+ height?: number;
13
+ }
14
+ export declare class OrDashboardPreview extends LitElement {
15
+ set template(newValue: DashboardTemplate);
16
+ private _template?;
17
+ get template(): DashboardTemplate;
18
+ protected readonly dashboardId?: string;
19
+ protected realm?: string;
20
+ protected selectedWidget: DashboardWidget | undefined;
21
+ protected editMode: boolean;
22
+ protected readonly: boolean;
23
+ protected previewWidth?: string;
24
+ protected previewHeight?: string;
25
+ protected previewZoom: number;
26
+ protected previewSize?: DashboardPreviewSize;
27
+ protected availablePreviewSizes?: DashboardPreviewSize[];
28
+ protected fullscreen: boolean;
29
+ protected latestChanges?: {
30
+ changedKeys: string[];
31
+ oldValue: DashboardTemplate;
32
+ newValue: DashboardTemplate;
33
+ };
34
+ protected activePreset?: DashboardScreenPreset;
35
+ private rerenderActive;
36
+ private isLoading;
37
+ protected grid?: GridStack;
38
+ protected latestDragWidgetStart?: Date;
39
+ constructor();
40
+ static get styles(): import("lit").CSSResult[];
41
+ shouldUpdate(changedProperties: Map<PropertyKey, unknown>): boolean;
42
+ updated(changedProperties: Map<string, any>): void;
43
+ setupGrid(recreate: boolean, force?: boolean): Promise<void>;
44
+ refreshPreview(): void;
45
+ refreshWidgets(): void;
46
+ protected selectGridItem(gridItem: GridItemHTMLElement): void;
47
+ protected deselectGridItem(gridItem: GridItemHTMLElement): void;
48
+ protected deselectGridItems(gridItems: GridItemHTMLElement[]): void;
49
+ protected onGridItemClick(gridItem: DashboardGridItem | undefined): void;
50
+ protected onFitToScreenClick(): void;
51
+ protected isPreviewVisible(): boolean;
52
+ protected render(): TemplateResult<1>;
53
+ protected getGridstackColumns(grid: GridStack | undefined): number | undefined;
54
+ protected isExtraLargeGrid(): boolean;
55
+ private cachedGridstackCSS;
56
+ protected applyCustomGridstackGridCSS(columns: number): TemplateResult;
57
+ protected resizeObserver?: ResizeObserver;
58
+ protected previousObserverEntry?: ResizeObserverEntry;
59
+ disconnectedCallback(): void;
60
+ protected setupResizeObserver(element: Element): ResizeObserver;
61
+ protected resizeObserverCallback: ResizeObserverCallback;
62
+ protected _onGridResize(): void;
63
+ protected processTemplateChanges(changes: {
64
+ changedKeys: string[];
65
+ oldValue: DashboardTemplate;
66
+ newValue: DashboardTemplate;
67
+ }): void;
68
+ protected waitUntil(conditionFunction: any): Promise<unknown>;
69
+ protected onWidgetDrop(_ev: Event, _prevWidget: any, newWidget: DashboardGridNode | undefined): void;
70
+ }
@@ -0,0 +1,155 @@
1
+ var __decorate=this&&this.__decorate||function(e,i,t,r){var s,d=arguments.length,o=d<3?i:null===r?r=Object.getOwnPropertyDescriptor(i,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,i,t,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(d<3?s(o):d>3?s(i,t,o):s(i,t))||o);return d>3&&o&&Object.defineProperty(i,t,o),o},__awaiter=this&&this.__awaiter||function(e,i,t,r){return new(t||(t=Promise))((function(s,d){function o(e){try{n(r.next(e))}catch(e){d(e)}}function a(e){try{n(r.throw(e))}catch(e){d(e)}}function n(e){var i;e.done?s(e.value):(i=e.value,i instanceof t?i:new t((function(e){e(i)}))).then(o,a)}n((r=r.apply(e,i||[])).next())}))};import manager,{DefaultColor4,DefaultColor5}from"@openremote/core";import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property,state}from"lit/decorators.js";import{style}from"./style";import"./or-dashboard-widgetcontainer";import{debounce}from"lodash";import{getActivePreset}from"./index";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import"@openremote/or-components/or-loading-indicator";import{repeat}from"lit/directives/repeat.js";import{GridStack}from"gridstack";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";import{i18next}from"@openremote/or-translate";import{when}from"lit/directives/when.js";import{cache}from"lit/directives/cache.js";import{guard}from"lit/directives/guard.js";import{OrDashboardEngine}from"./or-dashboard-engine";import{WidgetService}from"./service/widget-service";import{OrDashboardWidgetContainer}from"./or-dashboard-widgetcontainer";const gridcss=require("gridstack/dist/gridstack.min.css"),extracss=require("gridstack/dist/gridstack-extra.css"),editorStyling=css`
2
+
3
+ #loadingContainer {
4
+ position: absolute;
5
+ width: 100%;
6
+ height: 100%;
7
+ display: flex;
8
+ justify-content: center;
9
+ align-items: center;
10
+ }
11
+
12
+ #view-options {
13
+ padding: 24px;
14
+ display: flex;
15
+ justify-content: center;
16
+ align-items: center;
17
+ }
18
+ /* Margins on view options */
19
+ #fit-btn { margin-right: 10px; }
20
+ #view-preset-select { margin-left: 20px; }
21
+ #width-input { margin-left: 20px; }
22
+ #height-input { margin-left: 10px; }
23
+ #rotate-btn { margin-left: 10px; }
24
+
25
+ .maingridContainer {
26
+ position: absolute;
27
+ padding-bottom: 32px;
28
+ }
29
+ .maingridContainer__fullscreen {
30
+ width: 100%;
31
+ }
32
+
33
+ .maingrid {
34
+ border: 3px solid #909090;
35
+ background: #FFFFFF;
36
+ border-radius: 8px;
37
+ overflow-x: hidden;
38
+ overflow-y: scroll;
39
+ padding: 4px;
40
+ z-index: 0;
41
+ }
42
+ .maingrid__fullscreen {
43
+ border: none;
44
+ background: transparent;
45
+ border-radius: 0;
46
+ overflow-x: hidden;
47
+ overflow-y: scroll;
48
+ height: 100% !important; /* To override .maingrid */
49
+ width: 100% !important; /* To override .maingrid */
50
+ padding: 0;
51
+ /*pointer-events: none;*/
52
+ position: relative;
53
+ z-index: 0;
54
+ }
55
+ .maingrid__disabled {
56
+ pointer-events: none;
57
+ opacity: 40%;
58
+ }
59
+ .grid-stack-item-content {
60
+ background: white;
61
+ box-sizing: border-box;
62
+ border: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
63
+ border-radius: 4px;
64
+ }
65
+ .grid-stack > .grid-stack-item > .grid-stack-item-content {
66
+ overflow: visible;
67
+ }
68
+ .grid-stack-item-content__active {
69
+ border: 2px solid var(--or-app-color4, ${unsafeCSS(DefaultColor4)});
70
+ margin: -1px !important; /* to compromise with the extra pixel of border. */
71
+ }
72
+
73
+ /* Grid lines on the background of the grid */
74
+ .grid-element {
75
+ background-image:
76
+ linear-gradient(90deg, #E0E0E0, transparent 1px),
77
+ linear-gradient(90deg, transparent calc(100% - 1px), #E0E0E0),
78
+ linear-gradient(#E0E0E0, transparent 1px),
79
+ linear-gradient(transparent calc(100% - 1px), #E0E0E0 100%);
80
+ }
81
+ `;let OrDashboardPreview=class extends LitElement{set template(e){const i=this._template;if(null!=i){const t={changedKeys:Object.keys(e).filter((t=>JSON.stringify(e[t])!==JSON.stringify(i[t]))),oldValue:i,newValue:e};this._template=JSON.parse(JSON.stringify(e)),this.latestChanges=t,this.requestUpdate("template",i)}else null!=e&&(this._template=e,this.setupGrid(!1,!1))}get template(){return this._template}constructor(){super(),this.editMode=!1,this.readonly=!0,this.previewZoom=1,this.fullscreen=!0,this.rerenderActive=!1,this.isLoading=!1,this.cachedGridstackCSS=new Map,this.resizeObserverCallback=e=>{var i;(null===(i=this.previousObserverEntry)||void 0===i?void 0:i.contentRect.width)+"px"!=e[0].contentRect.width+"px"&&this._onGridResize(),this.previousObserverEntry=e[0]},this.realm||(this.realm=manager.displayRealm),this.availablePreviewSizes||(this.availablePreviewSizes=[{displayName:"4k Television",width:3840,height:2160},{displayName:"Desktop",width:1920,height:1080},{displayName:"Small desktop",width:1280,height:720},{displayName:"Phone",width:360,height:800},{displayName:"Custom"}]),this.previewSize||(this.previewSize=this.availablePreviewSizes[3]),GridStack.registerEngine(OrDashboardEngine)}static get styles(){return[unsafeCSS(gridcss),unsafeCSS(extracss),editorStyling,style]}shouldUpdate(e){var i,t,r;const s=e;return e.has("latestChanges")&&0==(null===(i=this.latestChanges)||void 0===i?void 0:i.changedKeys.length)&&JSON.stringify(null===(t=e.get("latestChanges"))||void 0===t?void 0:t.oldValue)==JSON.stringify(null===(r=e.get("latestChanges"))||void 0===r?void 0:r.newValue)&&s.delete("latestChanges"),this.fullscreen&&e.has("previewWidth")&&s.delete("previewWidth"),this.fullscreen&&e.has("previewHeight")&&s.delete("previewHeight"),0!==s.size&&super.shouldUpdate(e)}updated(e){var i,t,r,s,d,o;if(super.updated(e),null==this.realm&&(this.realm=manager.displayRealm),!this.template&&this.dashboardId?manager.rest.api.DashboardResource.get(this.realm,this.dashboardId).then((e=>{this.template=e.data.template})).catch((e=>{console.error(e),showSnackbar(void 0,"errorOccurred")})):null==this.template&&null==this.dashboardId&&console.warn("Neither the template nor dashboardId attributes have been specified!"),e.has("latestChanges")&&this.latestChanges&&(this.processTemplateChanges(this.latestChanges),this.latestChanges=void 0),e.has("selectedWidget"))if(this.selectedWidget){if(null!=e.get("selectedWidget")&&this.dispatchEvent(new CustomEvent("deselected",{detail:e.get("selectedWidget")})),null!=(null===(i=this.grid)||void 0===i?void 0:i.el)){const e=null===(t=this.grid)||void 0===t?void 0:t.getGridItems().find((e=>{var i,t,r;return(null===(i=e.gridstackNode)||void 0===i?void 0:i.id)==(null===(r=null===(t=this.selectedWidget)||void 0===t?void 0:t.gridItem)||void 0===r?void 0:r.id)}));null!=e&&this.selectGridItem(e),this.dispatchEvent(new CustomEvent("selected",{detail:this.selectedWidget}))}}else null!=(null===(r=this.grid)||void 0===r?void 0:r.el)&&null!=(null===(s=this.grid)||void 0===s?void 0:s.getGridItems())&&this.deselectGridItems(this.grid.getGridItems()),this.dispatchEvent(new CustomEvent("deselected",{detail:e.get("selectedWidget")}));e.has("editMode")&&null!=e.get("editMode")&&this.setupGrid(!0,!0),(e.has("previewWidth")||e.has("previewHeight"))&&(null===(d=this.template)||void 0===d?void 0:d.screenPresets)&&(this.previewSize=null===(o=this.availablePreviewSizes)||void 0===o?void 0:o.find((e=>e.width+"px"==this.previewWidth&&e.height+"px"==this.previewHeight))),e.has("previewSize")&&this.previewSize&&(this.previewWidth=this.previewSize.width+"px",this.previewHeight=this.previewSize.height+"px"),e.has("rerenderActive")&&this.rerenderActive&&(this.rerenderActive=!1)}setupGrid(e,i=!1){var t,r,s,d,o,a,n,l,h,c,p,v;return __awaiter(this,void 0,void 0,(function*(){this.isLoading=!0,yield this.updateComplete;let g=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("gridElement");if(null!=g){e&&null!=this.grid&&(this.grid.destroy(!1),i&&(this.rerenderActive=!0,yield this.updateComplete,yield this.waitUntil((e=>!this.rerenderActive)),g=null===(r=this.shadowRoot)||void 0===r?void 0:r.getElementById("gridElement"),this.grid=void 0));const t=this.fullscreen?this.clientWidth:+(null===(s=this.previewWidth)||void 0===s?void 0:s.replace(/\D/g,"")),m=getActivePreset(t,this.template.screenPresets);if((null==m?void 0:m.scalingPreset)!=(null===(d=this.activePreset)||void 0===d?void 0:d.scalingPreset)&&(e&&i||(e||null===(o=this.grid)||void 0===o||o.destroy(!1),this.rerenderActive=!0,yield this.updateComplete,yield this.waitUntil((e=>!this.rerenderActive)),g=null===(a=this.shadowRoot)||void 0===a?void 0:a.getElementById("gridElement"),this.grid=void 0)),this.activePreset=m,null==this.grid){const e=null===(n=this.shadowRoot)||void 0===n?void 0:n.querySelector(".maingrid");this.setupResizeObserver(e)}g.style.maxWidth=this.template.maxScreenWidth+"px",this.grid=GridStack.init({acceptWidgets:this.editMode,animate:!0,cellHeight:"WRAP_TO_SINGLE_COLUMN"===(null===(l=this.activePreset)||void 0===l?void 0:l.scalingPreset)?t/((null===(h=this.template)||void 0===h?void 0:h.columns)?this.template.columns/4:2):"initial",column:null===(c=this.template)||void 0===c?void 0:c.columns,disableOneColumnMode:"WRAP_TO_SINGLE_COLUMN"!==(null===(p=this.activePreset)||void 0===p?void 0:p.scalingPreset),oneColumnModeDomSort:!0,draggable:{appendTo:"parent"},float:!0,margin:5,resizable:{handles:"all"},staticGrid:"WRAP_TO_SINGLE_COLUMN"===(null===(v=this.activePreset)||void 0===v?void 0:v.scalingPreset)||!this.editMode,styleInHead:!1},g),g.style.backgroundSize=this.grid.cellWidth()+"px "+this.grid.getCellHeight()+"px",g.style.height="100%",g.style.minHeight="100%",this.grid.on("dropped",((e,i,t)=>this.onWidgetDrop(e,i,t))),this.grid.on("change",((e,i)=>{null!=this.template&&null!=this.template.widgets&&(i.forEach((e=>{var i,t;const r=null===(t=null===(i=this.template)||void 0===i?void 0:i.widgets)||void 0===t?void 0:t.find((i=>{var t;return(null===(t=i.gridItem)||void 0===t?void 0:t.id)==e.id}));r.gridItem.x=e.x,r.gridItem.y=e.y,r.gridItem.w=e.w,r.gridItem.h=e.h})),this.dispatchEvent(new CustomEvent("changed",{detail:{template:this.template}})))})),this.grid.on("resizestart",(e=>{this.latestDragWidgetStart=new Date})),this.grid.on("resizestop",(e=>{setTimeout((()=>{this.latestDragWidgetStart=void 0}),200)}))}this.isLoading=!1}))}refreshPreview(){this.setupGrid(!0,!0)}refreshWidgets(){var e;null===(e=this.grid)||void 0===e||e.getGridItems().forEach((e=>{const i=e.querySelector(OrDashboardWidgetContainer.tagName);i&&i.refreshContent(!1)}))}selectGridItem(e){null!=this.grid&&(this.deselectGridItems(this.grid.getGridItems()),e.querySelectorAll(".grid-stack-item-content").forEach((e=>{e.classList.add("grid-stack-item-content__active")})))}deselectGridItem(e){e.querySelectorAll(".grid-stack-item-content").forEach((e=>{e.classList.remove("grid-stack-item-content__active")}))}deselectGridItems(e){e.forEach((e=>{this.deselectGridItem(e)}))}onGridItemClick(e){var i,t,r,s,d;this.latestDragWidgetStart||(null===(i=this.grid)||void 0===i?void 0:i.opts.staticGrid)||(e?(null===(r=null===(t=this.selectedWidget)||void 0===t?void 0:t.gridItem)||void 0===r?void 0:r.id)!=e.id&&(this.selectedWidget=null===(d=null===(s=this.template)||void 0===s?void 0:s.widgets)||void 0===d?void 0:d.find((i=>{var t;return(null===(t=i.gridItem)||void 0===t?void 0:t.id)==e.id}))):this.selectedWidget=void 0)}onFitToScreenClick(){var e;const i=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#container");if(i){const e=+(.95*i.clientWidth/+this.previewWidth.replace("px","")).toFixed(2);this.previewZoom=e>1?1:e}}isPreviewVisible(){var e;return!this.isLoading&&"BLOCK_DEVICE"!=(null===(e=this.activePreset)||void 0===e?void 0:e.scalingPreset)}render(){var e,i,t,r,s,d,o,a;try{(null===(e=this.grid)||void 0===e?void 0:e.el)&&(null===(i=this.grid)||void 0===i?void 0:i.getGridItems())&&(null===(t=this.grid)||void 0===t||t.getGridItems().forEach((e=>{var i,t,r;null==(null===(t=null===(i=this.template)||void 0===i?void 0:i.widgets)||void 0===t?void 0:t.find((i=>i.id==e.id)))&&(null===(r=this.grid)||void 0===r||r.removeWidget(e))})))}catch(e){console.error(e)}const n="Custom";let l=null===(s=null===(r=this.template)||void 0===r?void 0:r.screenPresets)||void 0===s?void 0:s.map((e=>e.displayName));return null==l||l.push(n),html`
82
+ <div id="buildingArea" style="display: flex; flex-direction: column; height: 100%; position: relative;" @click="${e=>{"buildingArea"===e.composedPath()[1].id&&this.onGridItemClick(void 0)}}">
83
+ ${this.editMode&&!this.fullscreen?html`
84
+ <div id="view-options">
85
+ <or-mwc-input id="fit-btn" type="${InputType.BUTTON}" icon="fit-to-screen"
86
+ @or-mwc-input-changed="${()=>this.onFitToScreenClick()}">
87
+ </or-mwc-input>
88
+ <or-mwc-input id="zoom-input" type="${InputType.NUMBER}" outlined label="${i18next.t("dashboard.zoomPercent")}" min="25" .value="${100*this.previewZoom}" style="width: 90px"
89
+ @or-mwc-input-changed="${debounce((e=>{this.previewZoom=e.detail.value/100}),50)}"
90
+ ></or-mwc-input>
91
+ <or-mwc-input id="view-preset-select" type="${InputType.SELECT}" outlined label="${i18next.t("dashboard.presetSize")}" style="min-width: 220px;"
92
+ .value="${null==this.previewSize?n:this.previewSize.displayName}" .options="${null===(d=this.availablePreviewSizes)||void 0===d?void 0:d.map((e=>e.displayName))}"
93
+ @or-mwc-input-changed="${e=>{var i;this.previewSize=null===(i=this.availablePreviewSizes)||void 0===i?void 0:i.find((i=>i.displayName==e.detail.value))}}"
94
+ ></or-mwc-input>
95
+ <or-mwc-input id="width-input" type="${InputType.NUMBER}" outlined label="${i18next.t("width")}" min="100" .value="${null===(o=this.previewWidth)||void 0===o?void 0:o.replace("px","")}" style="width: 90px"
96
+ @or-mwc-input-changed="${debounce((e=>{this.previewWidth=e.detail.value+"px"}),550)}"
97
+ ></or-mwc-input>
98
+ <or-mwc-input id="height-input" type="${InputType.NUMBER}" outlined label="${i18next.t("height")}" min="100" .value="${null===(a=this.previewHeight)||void 0===a?void 0:a.replace("px","")}" style="width: 90px;"
99
+ @or-mwc-input-changed="${e=>{this.previewHeight=e.detail.value+"px"}}"
100
+ ></or-mwc-input>
101
+ <or-mwc-input id="rotate-btn" type="${InputType.BUTTON}" icon="screen-rotation"
102
+ @or-mwc-input-changed="${()=>{const e=this.previewHeight,i=this.previewWidth;this.previewWidth=e,this.previewHeight=i}}">
103
+ </or-mwc-input>
104
+ </div>
105
+ `:void 0}
106
+ ${this.rerenderActive?html`
107
+ <div id="container" style="justify-content: center; align-items: center;">
108
+ <span><or-translate value="dashboard.renderingGrid"></or-translate></span>
109
+ </div>
110
+ `:html`
111
+ <div id="container" style="justify-content: center; position: relative;">
112
+ ${when(this.isLoading,(()=>html`
113
+ <div style="position: absolute; z-index: 3; height: 100%; display: flex; align-items: center;">
114
+ <or-loading-indicator></or-loading-indicator>
115
+ </div>
116
+ `),(()=>{var e;return html`
117
+ ${"BLOCK_DEVICE"==(null===(e=this.activePreset)||void 0===e?void 0:e.scalingPreset)?html`
118
+ <div style="position: absolute; z-index: 3; height: 100%; display: flex; align-items: center;">
119
+ <span><or-translate value="dashboard.deviceNotSupported"></or-translate></span>
120
+ </div>
121
+ `:void 0}
122
+ `}))}
123
+ <!-- The grid itself. Will also show during isLoading, but will be invisible through CSS -->
124
+ <div class="${this.fullscreen?"maingridContainer__fullscreen":"maingridContainer"}" style="${this.isLoading?"visibility: hidden;":""}">
125
+ <div class="maingrid ${this.fullscreen?"maingrid__fullscreen":void 0}"
126
+ style="width: ${this.previewWidth}; height: ${this.previewHeight}; visibility: ${this.isPreviewVisible()?"visible":"hidden"}; zoom: ${this.editMode&&!this.fullscreen?this.previewZoom:"normal"}; ${this.editMode&&!this.fullscreen?"-moz-transform: scale("+this.previewZoom+")":void 0}; transform-origin: top;"
127
+ @click="${e=>{"gridElement"==e.composedPath()[0].id&&this.onGridItemClick(void 0)}}">
128
+ ${guard([this.editMode,this.template],(()=>{var e;return html`
129
+ <!-- Gridstack element on which the Grid will be rendered -->
130
+ <div id="gridElement" class="grid-stack ${this.editMode?"grid-element":void 0}" style="margin: auto;">
131
+ ${(null===(e=this.template)||void 0===e?void 0:e.widgets)?repeat(this.template.widgets,(e=>e.id),(e=>{var i,t,r,s,d,o,a;return html`
132
+ <div class="grid-stack-item" id="${e.id}" gs-id="${null===(i=e.gridItem)||void 0===i?void 0:i.id}" gs-x="${null===(t=e.gridItem)||void 0===t?void 0:t.x}" gs-y="${null===(r=e.gridItem)||void 0===r?void 0:r.y}"
133
+ gs-w="${null===(s=e.gridItem)||void 0===s?void 0:s.w}" gs-h="${null===(d=e.gridItem)||void 0===d?void 0:d.h}" gs-min-w="${null===(o=e.gridItem)||void 0===o?void 0:o.minW}" gs-min-h="${null===(a=e.gridItem)||void 0===a?void 0:a.minH}"
134
+ @click="${()=>{this.onGridItemClick(e.gridItem)}}">
135
+ <div class="grid-stack-item-content" style="display: flex;">
136
+ <or-dashboard-widget-container .widget="${e}" .editMode="${this.editMode}" style="width: 100%; height: auto; border-radius: 4px;"></or-dashboard-widget-container>
137
+ </div>
138
+ </div>
139
+ `})):void 0}
140
+ </div>
141
+ `}))}
142
+ </div>
143
+ </div>
144
+ </div>
145
+ `}
146
+ </div>
147
+ <style>
148
+ ${cache(when(this.isExtraLargeGrid(),(()=>this.applyCustomGridstackGridCSS(this.getGridstackColumns(this.grid)?this.getGridstackColumns(this.grid):this.template.columns))))}
149
+ </style>
150
+ `}getGridstackColumns(e){try{return null==e?void 0:e.getColumn()}catch(e){return}}isExtraLargeGrid(){var e;return!!this.grid&&(this.getGridstackColumns(this.grid)&&this.getGridstackColumns(this.grid)>12||!!((null===(e=this.template)||void 0===e?void 0:e.columns)&&this.template.columns>12))}applyCustomGridstackGridCSS(e){if(this.cachedGridstackCSS.has(e))return html`${this.cachedGridstackCSS.get(e).map((e=>e))}`;{const i=[];for(let t=0;t<e+1;t++)i.push(html`
151
+ <style>
152
+ .grid-stack > .grid-stack-item[gs-w="${t}"]:not(.ui-draggable-dragging):not(.ui-resizable-resizing) { width: ${100-100/e*(e-t)}% !important; }
153
+ .grid-stack > .grid-stack-item[gs-x="${t}"]:not(.ui-draggable-dragging):not(.ui-resizable-resizing) { left: ${100-100/e*(e-t)}% !important; }
154
+ </style>
155
+ `);return this.cachedGridstackCSS.set(e,i),html`${i.map((e=>e))}`}}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.resizeObserver)||void 0===e||e.disconnect()}setupResizeObserver(e){var i;return null===(i=this.resizeObserver)||void 0===i||i.disconnect(),this.fullscreen?this.resizeObserver=new ResizeObserver(debounce(this.resizeObserverCallback,200)):this.resizeObserver=new ResizeObserver(this.resizeObserverCallback),this.resizeObserver.observe(e),this.resizeObserver}_onGridResize(){this.setupGrid(!0,!1)}processTemplateChanges(e){var i,t,r;if(1==e.changedKeys.length&&e.changedKeys.includes("columns")&&this.grid){this.grid.column(e.newValue.columns);let r=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector(".maingrid"),s=null===(t=this.shadowRoot)||void 0===t?void 0:t.getElementById("gridElement");s.style.backgroundSize=this.grid.cellWidth()+"px "+this.grid.getCellHeight()+"px",s.style.height=r.scrollHeight+"px",this.setupGrid(!0,!1)}else e.changedKeys.length>1?this.setupGrid(!0,!0):e.changedKeys.includes("widgets")?null!=(null===(r=this.grid)||void 0===r?void 0:r.el)&&this.grid.getGridItems().forEach((e=>{var i;e.classList.contains("ui-draggable")||null===(i=this.grid)||void 0===i||i.makeWidget(e)})):e.changedKeys.includes("screenPresets")&&this.setupGrid(!0,!0)}waitUntil(e){const i=t=>{e()?t():setTimeout((e=>i(t)),400)};return new Promise(i)}onWidgetDrop(e,i,t){this.grid&&t&&(this.grid.removeWidget(t.el,!0,!1),WidgetService.placeNew(t.widgetTypeId,t.x,t.y).then((e=>{this.dispatchEvent(new CustomEvent("created",{detail:e}))})))}};__decorate([property({hasChanged:(e,i)=>JSON.stringify(e)!=JSON.stringify(i)})],OrDashboardPreview.prototype,"template",null),__decorate([property()],OrDashboardPreview.prototype,"dashboardId",void 0),__decorate([property()],OrDashboardPreview.prototype,"realm",void 0),__decorate([property({type:Object})],OrDashboardPreview.prototype,"selectedWidget",void 0),__decorate([property()],OrDashboardPreview.prototype,"editMode",void 0),__decorate([property()],OrDashboardPreview.prototype,"readonly",void 0),__decorate([property()],OrDashboardPreview.prototype,"previewWidth",void 0),__decorate([property()],OrDashboardPreview.prototype,"previewHeight",void 0),__decorate([property()],OrDashboardPreview.prototype,"previewZoom",void 0),__decorate([property()],OrDashboardPreview.prototype,"previewSize",void 0),__decorate([property()],OrDashboardPreview.prototype,"availablePreviewSizes",void 0),__decorate([property()],OrDashboardPreview.prototype,"fullscreen",void 0),__decorate([state()],OrDashboardPreview.prototype,"latestChanges",void 0),__decorate([state()],OrDashboardPreview.prototype,"activePreset",void 0),__decorate([state()],OrDashboardPreview.prototype,"rerenderActive",void 0),__decorate([state()],OrDashboardPreview.prototype,"isLoading",void 0),OrDashboardPreview=__decorate([customElement("or-dashboard-preview")],OrDashboardPreview);export{OrDashboardPreview};