@flexem/fc-gui 3.0.0-alpha.8 → 3.0.0-alpha.80

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 (217) hide show
  1. package/CHANGELOG.md +337 -0
  2. package/bundles/@flexem/fc-gui.umd.js +18549 -17044
  3. package/bundles/@flexem/fc-gui.umd.js.map +1 -1
  4. package/bundles/@flexem/fc-gui.umd.min.js +5 -5
  5. package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
  6. package/communication/variable/variable-communicator.d.ts +3 -2
  7. package/config/alarm/alarm.store.d.ts +6 -0
  8. package/config/alarm/alarm.store.js +0 -0
  9. package/config/alarm/alarm.store.metadata.json +1 -0
  10. package/config/alarm/get-alarms-args.d.ts +9 -0
  11. package/config/alarm/get-alarms-args.js +9 -0
  12. package/config/alarm/get-alarms-args.metadata.json +1 -0
  13. package/config/alarm/index.d.ts +2 -0
  14. package/config/alarm/index.js +1 -0
  15. package/config/alarm/index.metadata.json +1 -0
  16. package/config/config-store.d.ts +2 -0
  17. package/config/index.d.ts +1 -0
  18. package/config/index.js +1 -0
  19. package/config/index.metadata.json +1 -1
  20. package/elements/air-quality/air-quality-element.d.ts +31 -0
  21. package/elements/air-quality/air-quality-element.js +194 -0
  22. package/elements/air-quality/air-quality-element.metadata.json +1 -0
  23. package/elements/alarm/alarm-element.d.ts +39 -0
  24. package/elements/alarm/alarm-element.js +320 -0
  25. package/elements/alarm/alarm-element.metadata.json +1 -0
  26. package/elements/bar-graph-element.d.ts +8 -2
  27. package/elements/bar-graph-element.js +72 -6
  28. package/elements/bar-graph-element.metadata.json +1 -1
  29. package/elements/base/base-element.d.ts +2 -1
  30. package/elements/base/base-element.js +2 -1
  31. package/elements/base/base-element.metadata.json +1 -1
  32. package/elements/base/conditional-control-element.d.ts +1 -1
  33. package/elements/base/conditional-control-element.js +3 -3
  34. package/elements/base/conditional-control-element.metadata.json +1 -1
  35. package/elements/base/conditional-display-element.d.ts +1 -1
  36. package/elements/base/conditional-display-element.js +4 -4
  37. package/elements/base/conditional-display-element.metadata.json +1 -1
  38. package/elements/base/conditional-dynamic-display-element.d.ts +1 -1
  39. package/elements/base/conditional-dynamic-display-element.js +3 -3
  40. package/elements/base/conditional-dynamic-display-element.metadata.json +1 -1
  41. package/elements/base/conditional-enable-element.d.ts +1 -1
  42. package/elements/base/conditional-enable-element.js +4 -4
  43. package/elements/base/conditional-enable-element.metadata.json +1 -1
  44. package/elements/base/readable-element.d.ts +7 -2
  45. package/elements/base/readable-element.js +33 -4
  46. package/elements/base/readable-element.metadata.json +1 -1
  47. package/elements/base/state-control-element.d.ts +1 -1
  48. package/elements/base/state-control-element.js +2 -2
  49. package/elements/base/state-control-element.metadata.json +1 -1
  50. package/elements/character-display/character-display-element.d.ts +1 -1
  51. package/elements/character-display/character-display-element.js +2 -2
  52. package/elements/character-display/character-display-element.metadata.json +1 -1
  53. package/elements/datetime-display/datetime-display-element.d.ts +1 -1
  54. package/elements/datetime-display/datetime-display-element.js +2 -2
  55. package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
  56. package/elements/historical-curve/historical-curve.element.d.ts +1 -1
  57. package/elements/historical-curve/historical-curve.element.js +104 -15
  58. package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
  59. package/elements/main-element.d.ts +2 -1
  60. package/elements/main-element.js +48 -26
  61. package/elements/main-element.metadata.json +1 -1
  62. package/elements/meter-element.d.ts +8 -2
  63. package/elements/meter-element.js +78 -9
  64. package/elements/meter-element.metadata.json +1 -1
  65. package/elements/numerical-display/numerical-display-element.d.ts +8 -2
  66. package/elements/numerical-display/numerical-display-element.js +50 -12
  67. package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
  68. package/elements/per-view-variable-communicator.d.ts +4 -2
  69. package/elements/per-view-variable-communicator.js +12 -4
  70. package/elements/per-view-variable-communicator.metadata.json +1 -1
  71. package/elements/pipe/pipe-element.d.ts +1 -1
  72. package/elements/pipe/pipe-element.js +2 -2
  73. package/elements/pipe/pipe-element.metadata.json +1 -1
  74. package/elements/ring-graph/ring-graph-element.d.ts +11 -2
  75. package/elements/ring-graph/ring-graph-element.js +108 -5
  76. package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
  77. package/elements/shared/graph/graph-state-element.js +0 -3
  78. package/elements/shared/text/text-element.js +13 -2
  79. package/elements/shared/text/text-state-element.js +1 -1
  80. package/elements/static-elements/hyperlink-element.d.ts +1 -1
  81. package/elements/static-elements/hyperlink-element.js +2 -2
  82. package/elements/static-elements/hyperlink-element.metadata.json +1 -1
  83. package/elements/static-elements/image-element.d.ts +1 -1
  84. package/elements/static-elements/image-element.js +2 -2
  85. package/elements/static-elements/image-element.metadata.json +1 -1
  86. package/elements/static-elements/text-element.d.ts +1 -1
  87. package/elements/static-elements/text-element.js +2 -2
  88. package/elements/static-elements/text-element.metadata.json +1 -1
  89. package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -1
  90. package/elements/switch-indicator-light/bit-indicator-light-operator.js +4 -4
  91. package/elements/switch-indicator-light/bit-switch-operator.d.ts +3 -1
  92. package/elements/switch-indicator-light/bit-switch-operator.js +22 -2
  93. package/elements/switch-indicator-light/bit-switch-operator.metadata.json +1 -1
  94. package/elements/switch-indicator-light/indicator-light-operator.d.ts +1 -1
  95. package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +9 -1
  96. package/elements/switch-indicator-light/switch-indicator-light-element.js +98 -28
  97. package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
  98. package/elements/switch-indicator-light/switch-operator.d.ts +1 -0
  99. package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -1
  100. package/elements/switch-indicator-light/word-indicator-light-operator.js +5 -5
  101. package/elements/switch-indicator-light/word-switch-operator.d.ts +3 -1
  102. package/elements/switch-indicator-light/word-switch-operator.js +9 -2
  103. package/elements/switch-indicator-light/word-switch-operator.metadata.json +1 -1
  104. package/elements/table/table-element.d.ts +1 -1
  105. package/elements/table/table-element.js +2 -2
  106. package/elements/table/table-element.metadata.json +1 -1
  107. package/elements/vector-graphics/ellipse-element.d.ts +1 -1
  108. package/elements/vector-graphics/ellipse-element.js +2 -2
  109. package/elements/vector-graphics/ellipse-element.metadata.json +1 -1
  110. package/elements/vector-graphics/poly-line-element.d.ts +1 -1
  111. package/elements/vector-graphics/poly-line-element.js +2 -2
  112. package/elements/vector-graphics/poly-line-element.metadata.json +1 -1
  113. package/elements/vector-graphics/polygon-element.d.ts +1 -1
  114. package/elements/vector-graphics/polygon-element.js +2 -2
  115. package/elements/vector-graphics/polygon-element.metadata.json +1 -1
  116. package/elements/vector-graphics/rectangle-element.d.ts +1 -1
  117. package/elements/vector-graphics/rectangle-element.js +2 -2
  118. package/elements/vector-graphics/rectangle-element.metadata.json +1 -1
  119. package/elements/vector-graphics/sector-element.d.ts +1 -1
  120. package/elements/vector-graphics/sector-element.js +2 -2
  121. package/elements/vector-graphics/sector-element.metadata.json +1 -1
  122. package/elements/vector-graphics/straight-line-element.d.ts +1 -1
  123. package/elements/vector-graphics/straight-line-element.js +2 -2
  124. package/elements/vector-graphics/straight-line-element.metadata.json +1 -1
  125. package/elements/video/video-element.d.ts +5 -2
  126. package/elements/video/video-element.js +92 -81
  127. package/elements/video/video-element.metadata.json +1 -1
  128. package/elements/view-operation/view-operation.element.d.ts +1 -1
  129. package/elements/view-operation/view-operation.element.js +2 -2
  130. package/elements/view-operation/view-operation.element.metadata.json +1 -1
  131. package/elements/weather/weater-element.d.ts +1 -1
  132. package/elements/weather/weater-element.js +2 -3
  133. package/elements/weather/weater-element.metadata.json +1 -1
  134. package/gui/gui-context.d.ts +2 -1
  135. package/gui/gui-host.d.ts +1 -1
  136. package/gui/gui-view.d.ts +1 -0
  137. package/gui/gui-view.js +3 -2
  138. package/gui/gui-view.metadata.json +1 -1
  139. package/gui/gui.component.d.ts +3 -0
  140. package/gui/gui.component.js +15 -2
  141. package/gui/gui.component.metadata.json +1 -1
  142. package/localization/localization.service.d.ts +7 -0
  143. package/localization/localization.service.js +8 -1
  144. package/localization/localization.service.metadata.json +1 -1
  145. package/localization/localization.service.zh_CN.js +8 -1
  146. package/localization/localization.service.zh_CN.metadata.json +1 -1
  147. package/modal/write-value/write-value-modal-args.d.ts +4 -1
  148. package/modal/write-value/write-value-modal-args.js +3 -1
  149. package/modal/write-value/write-value-modal-args.metadata.json +1 -1
  150. package/modal/write-value/write-value-modal.component.d.ts +9 -7
  151. package/modal/write-value/write-value-modal.component.html +5 -2
  152. package/modal/write-value/write-value-modal.component.js +39 -22
  153. package/modal/write-value/write-value-modal.component.metadata.json +1 -1
  154. package/model/air-quality/air-quality-info.d.ts +23 -0
  155. package/model/air-quality/air-quality-info.js +4 -0
  156. package/model/air-quality/air-quality-info.metadata.json +1 -0
  157. package/model/air-quality/air-quality.model.d.ts +7 -0
  158. package/model/air-quality/air-quality.model.js +0 -0
  159. package/model/air-quality/air-quality.model.metadata.json +1 -0
  160. package/model/alarm/alarm.model.d.ts +13 -0
  161. package/model/alarm/alarm.model.js +0 -0
  162. package/model/alarm/alarm.model.metadata.json +1 -0
  163. package/model/bar-graph/bar-graph.d.ts +4 -0
  164. package/model/base/readable-model.d.ts +4 -0
  165. package/model/historical-curve/historical-curve-axis-settings.d.ts +7 -0
  166. package/model/historical-curve/historical-curve-axis-settings.js +5 -0
  167. package/model/historical-curve/historical-curve-axis-settings.metadata.json +1 -1
  168. package/model/meter/meter.d.ts +4 -0
  169. package/model/numerical-display/numerical-display.d.ts +1 -0
  170. package/model/ring-graph/ring-graph.model.d.ts +8 -0
  171. package/model/shared/condition/bit-condition-item-observer.d.ts +1 -1
  172. package/model/shared/condition/bit-condition-item-observer.js +4 -4
  173. package/model/shared/condition/condition-items-result-observer.d.ts +1 -1
  174. package/model/shared/condition/condition-items-result-observer.js +3 -3
  175. package/model/shared/condition/word-condition-item-observer.d.ts +1 -1
  176. package/model/shared/condition/word-condition-item-observer.js +11 -11
  177. package/model/shared/dynamic-display/dynamic-display.d.ts +1 -1
  178. package/model/shared/dynamic-display/dynamic-display.js +4 -4
  179. package/model/shared/dynamic-display/dynamic-display.metadata.json +1 -1
  180. package/model/shared/rotation/rotation-behavior.d.ts +1 -1
  181. package/model/shared/rotation/rotation-behavior.js +2 -2
  182. package/model/shared/rotation/rotation-behavior.metadata.json +1 -1
  183. package/model/shared/rotation/rotation-observer.d.ts +2 -1
  184. package/model/shared/rotation/rotation-observer.js +3 -2
  185. package/model/shared/rotation/rotation-observer.metadata.json +1 -1
  186. package/model/shared/translation/translation-behavior.d.ts +1 -1
  187. package/model/shared/translation/translation-behavior.js +3 -3
  188. package/model/shared/translation/translation-behavior.metadata.json +1 -1
  189. package/model/shared/translation/translation-observer.d.ts +1 -1
  190. package/model/shared/translation/translation-observer.js +2 -2
  191. package/model/shared/translation/translation-observer.metadata.json +1 -1
  192. package/model/switch-indicator-light/bit-switch-operation.d.ts +2 -1
  193. package/model/switch-indicator-light/bit-switch-operation.js +1 -0
  194. package/model/switch-indicator-light/bit-switch-operation.metadata.json +1 -1
  195. package/package.json +1 -1
  196. package/remote/communication/variable/remote-variable-communicator.d.ts +7 -2
  197. package/remote/communication/variable/remote-variable-communicator.js +38 -9
  198. package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
  199. package/remote/communication/variable/remote-variable-protocol.d.ts +5 -2
  200. package/service/index.d.ts +1 -0
  201. package/service/index.metadata.json +1 -1
  202. package/service/released-variable/index.d.ts +1 -0
  203. package/service/released-variable/index.js +0 -0
  204. package/service/released-variable/index.metadata.json +1 -0
  205. package/service/released-variable/released-variable.service.d.ts +4 -0
  206. package/service/released-variable/released-variable.service.js +0 -0
  207. package/service/released-variable/released-variable.service.metadata.json +1 -0
  208. package/service/weather.service.d.ts +1 -0
  209. package/shared/gui-consts.d.ts +2 -0
  210. package/shared/gui-consts.js +2 -0
  211. package/shared/gui-consts.metadata.json +1 -1
  212. package/utils/data-type/data-type.service.d.ts +4 -7
  213. package/utils/data-type/data-type.service.js +29 -17
  214. package/utils/numerical-operation.service.js +2 -2
  215. package/gui/scripts/config.js +0 -6
  216. package/gui/scripts/require.js +0 -2145
  217. package/libs/nvd3/build/nv.d3.min.js +0 -13
@@ -0,0 +1,320 @@
1
+ import * as d3 from 'd3';
2
+ import { ConditionalDisplayElement } from '../base/conditional-display-element';
3
+ import { GetAlarmsArgs } from '../../config';
4
+ import * as moment from 'moment';
5
+ import { LOGGER_SERVICE_TOKEN } from '../../logger';
6
+ import { LOCALIZATION } from '../../localization';
7
+ export class AlarmElement extends ConditionalDisplayElement {
8
+ constructor(element, injector, permissionChecker, variableCommunicator, variableStore, alarmsStore, signalRAppId) {
9
+ var _a;
10
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
11
+ this.alarmsStore = alarmsStore;
12
+ this.displayOption = {
13
+ dataLimit: 500,
14
+ dataZoomHeight: 32,
15
+ marginLeft: 1,
16
+ marginRight: 20,
17
+ mobileMinWidth: 450,
18
+ operationAreaHeight: 32,
19
+ operationAreaMarginTop: 10,
20
+ operationSelectFontSize: '16px',
21
+ operationButtonWidth: 24,
22
+ operationButtonHeight: 24,
23
+ operationButtonMargin: 4
24
+ };
25
+ this.alarmNames = [];
26
+ this.alarmList = [];
27
+ this.currentAlarmList = [];
28
+ this.page = 0;
29
+ this.totalCount = 0;
30
+ this.pageSize = 5;
31
+ this.rootElement.selectAll('*').remove();
32
+ this.logger = injector.get(LOGGER_SERVICE_TOKEN);
33
+ this.localization = injector.get(LOCALIZATION);
34
+ this.variableCommunicator = variableCommunicator;
35
+ this.timePeriods = this.getValidTimePeriods();
36
+ this.pageSize = this.model.generalSetting.pageSize;
37
+ localStorage.setItem('simulate-time', moment().valueOf() + '');
38
+ if (this.model.filterSetting) {
39
+ this.alarmNames = this.model.filterSetting.detailsData.map(item => item.name);
40
+ this.currentTimePeriod = (_a = this.model.filterSetting) === null || _a === void 0 ? void 0 : _a.displayPeriod;
41
+ this.updateQueryTimeRange();
42
+ if (this.model.filterSetting.alarmType) {
43
+ this.refreshIntervalId = setInterval(() => {
44
+ this.loadFirstPage();
45
+ this.logger.debug(`[GUI]Refresh Alarm Table:${d3.time.format('%x %X')(new Date())}`);
46
+ }, this.model.filterSetting.refreshCycle * 60 * 1000);
47
+ }
48
+ else {
49
+ variableCommunicator.subscribeUserDeviceAlarms(signalRAppId).subscribe(alarms => {
50
+ alarms.forEach(alarm => {
51
+ if (this.alarmNames.indexOf(alarm.name) !== -1) {
52
+ this.init();
53
+ return;
54
+ }
55
+ });
56
+ });
57
+ }
58
+ this.init();
59
+ }
60
+ else {
61
+ this.totalCount = 0;
62
+ this.alarmList = [];
63
+ this.renderElement();
64
+ }
65
+ }
66
+ dispose() {
67
+ clearInterval(this.refreshIntervalId);
68
+ if (this.element) {
69
+ this.element.tooltip.hidden(true);
70
+ }
71
+ this.logger.debug(`[GUI]Dispose Alarm Table Refresh Interval:${d3.time.format('%x %X')(new Date())}`);
72
+ }
73
+ getValidTimePeriods() {
74
+ const timePeriods = new Array();
75
+ timePeriods.push({ key: 6, name: this.localization.lastThirtyMinutes });
76
+ timePeriods.push({ key: 1, name: this.localization.lastOneHour });
77
+ timePeriods.push({ key: 7, name: this.localization.lastEightHour });
78
+ timePeriods.push({ key: 2, name: this.localization.lastTwentyFourHours });
79
+ timePeriods.push({ key: 3, name: this.localization.lastSevenDays });
80
+ timePeriods.push({ key: 4, name: this.localization.lastThirtyDays });
81
+ timePeriods.push({ key: 5, name: this.localization.lastOneYear });
82
+ return timePeriods;
83
+ }
84
+ init() {
85
+ clearTimeout(this.getAlarmDataId);
86
+ this.getAlarmDataId = setTimeout(() => {
87
+ if (this.model.filterSetting.alarmType) {
88
+ this.updateQueryTimeRange();
89
+ const input = new GetAlarmsArgs(this.alarmNames, this.startTime, this.endTime, this.pageSize, this.page * this.pageSize);
90
+ this.alarmsStore.getHistoryAlarms(input).subscribe(result => {
91
+ if (!result.error) {
92
+ this.totalCount = result.totalCount;
93
+ this.alarmList = result.items.map(item => [
94
+ item.name,
95
+ item.message,
96
+ item.alarmLevel,
97
+ item.triggeredTime.format('YYYY-MM-DD HH:mm:ss')
98
+ ]);
99
+ this.renderElement();
100
+ }
101
+ });
102
+ }
103
+ else {
104
+ const input = new GetAlarmsArgs(this.alarmNames, undefined, undefined, this.pageSize, this.page * this.pageSize);
105
+ this.alarmsStore.getCurrentAlarms(input).subscribe(result => {
106
+ if (!result.error) {
107
+ this.totalCount = result.totalCount;
108
+ this.currentAlarmList = result.items;
109
+ if (!result.items.length && result.totalCount) {
110
+ this.page = 0;
111
+ this.init();
112
+ return;
113
+ }
114
+ this.alarmList = this.currentAlarmList.map(item => [
115
+ item.name,
116
+ item.message,
117
+ item.alarmLevel,
118
+ item.triggeredTime.format('YYYY-MM-DD HH:mm:ss')
119
+ ]);
120
+ this.renderElement();
121
+ }
122
+ });
123
+ }
124
+ }, 500);
125
+ }
126
+ renderElement() {
127
+ this.rootElement.selectAll('*').remove();
128
+ const elementHeight = this.model.size.height;
129
+ this.element = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject');
130
+ this.element.setAttribute('width', this.model.size.width.toString());
131
+ this.element.setAttribute('height', elementHeight.toString());
132
+ this.$element.append(this.element);
133
+ const table = document.createElement('table');
134
+ table.style.cssText = `border: 2px solid ${this.model.generalSetting.stroke};
135
+ height: ${elementHeight - 39}`;
136
+ let tr = document.createElement('tr');
137
+ let fontString = '';
138
+ if (this.model.generalSetting.headerFont.isItalic) {
139
+ fontString += 'italic ';
140
+ }
141
+ if (this.model.generalSetting.headerFont.isBold) {
142
+ fontString += 'bold ';
143
+ }
144
+ fontString += this.model.generalSetting.headerFont.fontSize + ' ' + this.model.generalSetting.headerFont.fontFamily;
145
+ tr.style.cssText = `height: ${this.model.heights[0]}px;
146
+ background: ${this.model.generalSetting.headerFillColor};
147
+ color: ${this.model.generalSetting.headerFont.color};
148
+ font: ${fontString};
149
+ text-align: ${this.model.generalSetting.headerFont.textAlign};
150
+ ${this.model.generalSetting.headerFont.isUnderline ? 'text-decoration: underline' : ''};
151
+ vertical-align: middle;`;
152
+ for (let row = 0; row < 4; row++) {
153
+ const th = document.createElement('th');
154
+ th.innerHTML = this.model.columLabels[row];
155
+ th.style.cssText = `width: ${this.model.widths[row] / this.model.size.width * 100}%;
156
+ border-style: solid;
157
+ border-color: ${this.model.generalSetting.splitLine};
158
+ border-left-width: ${!row || this.model.generalSetting.isHiddenColumnSplitLine ? 0 : 1}px;`;
159
+ tr.appendChild(th);
160
+ }
161
+ table.appendChild(tr);
162
+ const levelColors = ['#3695FF', '#FFE900', '#FFA800', '#E84F4F'];
163
+ for (let row = 0; row < this.pageSize; row++) {
164
+ tr = document.createElement('tr');
165
+ tr.style.cssText = `height: ${this.model.heights[row + 1]}px;
166
+ background: ${this.model.generalSetting.tableFillColor};
167
+ font: ${this.model.generalSetting.fontStyle};
168
+ color: ${this.model.generalSetting.fontColor};
169
+ text-align: ${this.model.generalSetting.textAlign};
170
+ vertical-align: middle;`;
171
+ for (let col = 0; col < 4; col++) {
172
+ const td = document.createElement('td');
173
+ td.style.cssText = `border-style: solid;
174
+ border-color: ${this.model.generalSetting.splitLine};
175
+ border-top-width: ${this.model.generalSetting.isHiddenColumnSplitLine ? 0 : 1}px;
176
+ border-left-width: ${!col || this.model.generalSetting.isHiddenColumnSplitLine ? 0 : 1}px;`;
177
+ if (this.alarmList[row]) {
178
+ if (col !== 2) {
179
+ td.innerHTML = this.alarmList[row][col];
180
+ td.style.cssText += `${this.model.generalSetting.isUnderline ? 'text-decoration: underline' : ''};`;
181
+ }
182
+ else {
183
+ const alarmLevel = document.createElement('div');
184
+ let alarmHeight = parseInt(this.model.generalSetting.fontSize) + 15;
185
+ if (alarmHeight > this.model.heights[row + 1])
186
+ alarmHeight = this.model.heights[row + 1];
187
+ let margin = '0 15px';
188
+ if (this.model.generalSetting.textAlign === 'left') {
189
+ margin = '0 30px 0 0';
190
+ }
191
+ else if (this.model.generalSetting.textAlign === 'right') {
192
+ margin = '0 0 0 30px';
193
+ }
194
+ alarmLevel.style.cssText = `margin: ${margin};
195
+ border-radius: 5px;
196
+ background: ${levelColors[this.alarmList[row][col]]};
197
+ color: #ffffff;
198
+ width: ${this.model.widths[col] - 30}px;
199
+ height: ${alarmHeight}px;
200
+ max-height: ${this.model.heights[row + 1]}px;
201
+ display: flex;
202
+ justify-content: center;
203
+ align-items: center;
204
+ ${this.model.generalSetting.isUnderline ? 'text-decoration: underline' : ''};`;
205
+ alarmLevel.innerHTML = this.model.levelText[this.alarmList[row][col]];
206
+ td.appendChild(alarmLevel);
207
+ }
208
+ }
209
+ else if (col === 2) {
210
+ const alarmLevel = document.createElement('div');
211
+ let margin = '0 15px';
212
+ if (this.model.generalSetting.textAlign === 'left') {
213
+ margin = '0 30px 0 0';
214
+ }
215
+ else if (this.model.generalSetting.textAlign === 'right') {
216
+ margin = '0 0 0 30px';
217
+ }
218
+ alarmLevel.style.cssText = `margin: ${margin};
219
+ width: ${this.model.widths[col] - 30}px;`;
220
+ td.appendChild(alarmLevel);
221
+ }
222
+ tr.appendChild(td);
223
+ }
224
+ table.appendChild(tr);
225
+ }
226
+ this.element.appendChild(table);
227
+ this.renderOperationArea(this.model.size.width, elementHeight - 39);
228
+ }
229
+ renderOperationArea(chartWidth, chartHeight) {
230
+ var _a;
231
+ const operationArea = this.rootElement.append('g').attr('transform', `translate(0,${chartHeight + this.displayOption.operationAreaMarginTop})`)
232
+ .append('foreignObject').attr('width', chartWidth).attr('height', this.displayOption.operationAreaHeight).attr('fill', 'none')
233
+ .append('xhtml:div').style('height', (this.displayOption.operationAreaHeight - 4) + 'px').style('overflow', 'hidden').style('margin-top', '4px');
234
+ if ((_a = this.model.filterSetting) === null || _a === void 0 ? void 0 : _a.alarmType) {
235
+ const selectElement = operationArea.append('select').style('margin-left', this.displayOption.marginLeft + 'px')
236
+ .style('font-size', this.displayOption.operationSelectFontSize).on('change', () => {
237
+ const displayTimePeriod = this.rootElement.select('select').property('value');
238
+ this.updateTimeRange(displayTimePeriod);
239
+ this.init();
240
+ });
241
+ const options = selectElement.selectAll('option').data(this.timePeriods).enter().append('option');
242
+ options.text(d => d.name).attr('value', d => d.key).property('selected', d => d.key === Number(this.currentTimePeriod));
243
+ }
244
+ const buttonWidth = this.displayOption.operationButtonWidth + 'px', buttonHeight = this.displayOption.operationButtonHeight + 'px';
245
+ operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
246
+ .style('float', 'right').style('background', 'white').style('background-image', 'url(assets/img/last_page.svg)')
247
+ .on('click', () => { this.loadLastPage(); });
248
+ operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
249
+ .style('float', 'right').style('background', 'white').style('background-image', 'url(assets/img/next_page.svg)')
250
+ .style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
251
+ .on('click', () => { this.loadNextPage(); });
252
+ operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
253
+ .style('float', 'right').style('background', 'white').style('background-image', 'url(assets/img/previous_page.svg)')
254
+ .style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
255
+ .on('click', () => { this.loadPreviousPage(); });
256
+ operationArea.append('button').style('width', buttonWidth).style('height', buttonHeight).style('border', 'none')
257
+ .style('float', 'right').style('background', 'white').style('background-image', 'url(assets/img/first_page.svg)')
258
+ .style('margin', `0 ${this.displayOption.operationButtonMargin}px 0 0`)
259
+ .on('click', () => { this.loadFirstPage(); });
260
+ }
261
+ updateTimeRange(timePeriodType) {
262
+ this.currentTimePeriod = +timePeriodType;
263
+ this.updateQueryTimeRange();
264
+ }
265
+ updateQueryTimeRange() {
266
+ this.endTime = moment();
267
+ switch (this.currentTimePeriod) {
268
+ case 1:
269
+ this.startTime = moment().subtract(1, 'hours');
270
+ break;
271
+ case 3:
272
+ this.startTime = moment().subtract(7, 'days');
273
+ break;
274
+ case 4:
275
+ this.startTime = moment().subtract(30, 'days');
276
+ break;
277
+ case 5:
278
+ this.startTime = moment().subtract(1, 'years');
279
+ break;
280
+ case 6:
281
+ this.startTime = moment().subtract(30, 'minutes');
282
+ break;
283
+ case 7:
284
+ this.startTime = moment().subtract(8, 'hours');
285
+ break;
286
+ default:
287
+ this.startTime = moment().subtract(1, 'days');
288
+ }
289
+ }
290
+ loadFirstPage() {
291
+ if (this.page > 0) {
292
+ this.page = 0;
293
+ this.init();
294
+ }
295
+ }
296
+ loadNextPage() {
297
+ let last_page = Math.ceil(this.totalCount / this.pageSize);
298
+ if (last_page)
299
+ last_page--;
300
+ if (this.page < last_page) {
301
+ this.page++;
302
+ this.init();
303
+ }
304
+ }
305
+ loadPreviousPage() {
306
+ if (this.page > 0) {
307
+ this.page--;
308
+ this.init();
309
+ }
310
+ }
311
+ loadLastPage() {
312
+ let last_page = Math.ceil(this.totalCount / this.pageSize);
313
+ if (last_page)
314
+ last_page--;
315
+ if (this.page !== last_page) {
316
+ this.page = last_page;
317
+ this.init();
318
+ }
319
+ }
320
+ }
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AlarmElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":15,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":48,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":49,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":50,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":51,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":52,"character":23},{"__symbolic":"reference","module":"../../config","name":"AlarmsStore","line":53,"character":38},{"__symbolic":"reference","name":"string"}]}],"dispose":[{"__symbolic":"method"}],"getValidTimePeriods":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"renderElement":[{"__symbolic":"method"}],"renderOperationArea":[{"__symbolic":"method"}],"updateTimeRange":[{"__symbolic":"method"}],"updateQueryTimeRange":[{"__symbolic":"method"}],"loadFirstPage":[{"__symbolic":"method"}],"loadNextPage":[{"__symbolic":"method"}],"loadPreviousPage":[{"__symbolic":"method"}],"loadLastPage":[{"__symbolic":"method"}]}}}}]
@@ -5,6 +5,8 @@ import { ReadableElement } from './base/readable-element';
5
5
  import { VariableStore } from '../config';
6
6
  import { PermissionChecker } from '../service';
7
7
  export declare class BarGraphElement extends ReadableElement {
8
+ private static DEFAULT_MIN_VALUE;
9
+ private static DEFAULT_MAX_VALUE;
8
10
  readonly model: BarGraph;
9
11
  private readonly $barRect;
10
12
  private readonly barElement;
@@ -14,8 +16,12 @@ export declare class BarGraphElement extends ReadableElement {
14
16
  private defaultUpperLimitColor;
15
17
  private defaultLowerLimitColor;
16
18
  private barText;
19
+ private valueObj;
20
+ private isNeedUpdateScale;
17
21
  get readVariableName(): string;
18
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization);
22
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
19
23
  private initFrameNode;
20
- updateVariableValue(value: number): void;
24
+ private updateValueObj;
25
+ private updateScale;
26
+ updateVariableValue(value: number, variableName: any): void;
21
27
  }
@@ -2,13 +2,22 @@ import { BarGraphDirection } from '../model';
2
2
  import { ReadableElement } from './base/readable-element';
3
3
  import { calculatePercent } from './shared/math-utils';
4
4
  import { VariableUtil } from '../utils/variable-util';
5
+ import { VariableValueType } from '../model/shared/condition/variable-value-type';
5
6
  export class BarGraphElement extends ReadableElement {
6
- constructor(element, permissionChecker, variableCommunicator, variableStore, localization) {
7
- super(element, permissionChecker, variableCommunicator, variableStore, localization);
7
+ constructor(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId) {
8
+ super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
8
9
  this.defaultBarColor = '#6fd149';
9
10
  this.defaultUpperLimitColor = '#ff4448';
10
11
  this.defaultLowerLimitColor = '#0f60e8';
11
12
  this.barText = '';
13
+ this.valueObj = {};
14
+ this.isNeedUpdateScale = false;
15
+ if ((this.model.minValueType === VariableValueType.Constant && this.model.maxValueType === VariableValueType.Variable)
16
+ || this.model.maxValueType === VariableValueType.Constant && this.model.minValueType === VariableValueType.Variable) {
17
+ this.isNeedUpdateScale = true;
18
+ this.updateScale();
19
+ this.isNeedUpdateScale = false;
20
+ }
12
21
  this.$barRect = this.$element.find('rect');
13
22
  this.$barText = this.$element.find('text[id="text"]').last();
14
23
  if (this.model.version && this.model.version >= 1) {
@@ -41,10 +50,65 @@ export class BarGraphElement extends ReadableElement {
41
50
  const b = arcPath.getBBox(true);
42
51
  this.rootElement.append('rect').attr('id', 'StateFrame').attr('width', b.width).attr('height', b.height).attr('fill', 'transparent');
43
52
  }
44
- updateVariableValue(value) {
45
- const variableValue = Number(value).valueOf();
46
- const maxValue = Number(this.model.max).valueOf();
47
- const minValue = Number(this.model.min).valueOf();
53
+ updateValueObj(value, variableName) {
54
+ var _a, _b, _c;
55
+ if (((_a = this.model.readVariable) === null || _a === void 0 ? void 0 : _a.name) === variableName) {
56
+ this.isNeedUpdateScale = false;
57
+ this.valueObj.value = value;
58
+ }
59
+ if (((_b = this.model.minVariable) === null || _b === void 0 ? void 0 : _b.name) === variableName) {
60
+ this.isNeedUpdateScale = true;
61
+ this.valueObj.min = value;
62
+ }
63
+ if (((_c = this.model.maxVariable) === null || _c === void 0 ? void 0 : _c.name) === variableName) {
64
+ this.isNeedUpdateScale = true;
65
+ this.valueObj.max = value;
66
+ }
67
+ }
68
+ updateScale() {
69
+ if (!this.isNeedUpdateScale) {
70
+ return;
71
+ }
72
+ const textElements = this.$element.find('g:first > text');
73
+ let min = this.model.minValueType ? this.valueObj.min : this.model.min;
74
+ let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
75
+ min = Number(min);
76
+ max = Number(max);
77
+ if (isNaN(min) || isNaN(max)) {
78
+ min = BarGraphElement.DEFAULT_MIN_VALUE;
79
+ max = BarGraphElement.DEFAULT_MAX_VALUE;
80
+ }
81
+ const avgSacle = ((max - min) / this.model.masterDivisionNumber).toFixed(5);
82
+ for (let i = 0; i < textElements.length; i++) {
83
+ const text = textElements[i];
84
+ if (!text.innerHTML) {
85
+ continue;
86
+ }
87
+ let sacleValue = ((Number(avgSacle) * i) + min).toFixed(0);
88
+ // 整数位和小数位格式化;
89
+ if (this.model.fractionDigits > 0) {
90
+ sacleValue = (sacleValue / Math.pow(10, this.model.fractionDigits)).toFixed(this.model.fractionDigits);
91
+ }
92
+ if (!isNaN(sacleValue)) {
93
+ text.innerHTML = sacleValue;
94
+ }
95
+ }
96
+ }
97
+ updateVariableValue(value, variableName) {
98
+ this.updateValueObj(value, variableName);
99
+ this.updateScale();
100
+ const variableValue = Number(this.valueObj.value);
101
+ let maxValue = this.model.maxValueType ? this.valueObj.max : this.model.max;
102
+ let minValue = this.model.minValueType ? this.valueObj.min : this.model.min;
103
+ minValue = Number(minValue);
104
+ maxValue = Number(maxValue);
105
+ if (isNaN(minValue) || isNaN(maxValue)) {
106
+ minValue = BarGraphElement.DEFAULT_MIN_VALUE;
107
+ maxValue = BarGraphElement.DEFAULT_MAX_VALUE;
108
+ }
109
+ if (isNaN(variableValue)) {
110
+ return;
111
+ }
48
112
  const useAlarmLimit = this.model.useAlarmLimit;
49
113
  const useAlarmUpperLimit = null != this.model.upperLimit;
50
114
  const useAlarmLowerLimit = null != this.model.lowerLimit;
@@ -112,3 +176,5 @@ export class BarGraphElement extends ReadableElement {
112
176
  }
113
177
  }
114
178
  }
179
+ BarGraphElement.DEFAULT_MIN_VALUE = 0;
180
+ BarGraphElement.DEFAULT_MAX_VALUE = 100;
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"BarGraphElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base/readable-element","name":"ReadableElement","line":9,"character":37},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":33,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../service","name":"PermissionChecker","line":33,"character":57},{"__symbolic":"reference","module":"../communication","name":"VariableCommunicator","line":34,"character":30},{"__symbolic":"reference","module":"../config","name":"VariableStore","line":35,"character":23},{"__symbolic":"reference","module":"../localization","name":"Localization","line":36,"character":22}]}],"initFrameNode":[{"__symbolic":"method"}],"updateVariableValue":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"BarGraphElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base/readable-element","name":"ReadableElement","line":10,"character":37},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":38,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../service","name":"PermissionChecker","line":38,"character":57},{"__symbolic":"reference","module":"../communication","name":"VariableCommunicator","line":39,"character":30},{"__symbolic":"reference","module":"../config","name":"VariableStore","line":40,"character":23},{"__symbolic":"reference","module":"../localization","name":"Localization","line":41,"character":22},{"__symbolic":"reference","name":"string"}]}],"initFrameNode":[{"__symbolic":"method"}],"updateValueObj":[{"__symbolic":"method"}],"updateScale":[{"__symbolic":"method"}],"updateVariableValue":[{"__symbolic":"method"}]},"statics":{"DEFAULT_MIN_VALUE":0,"DEFAULT_MAX_VALUE":100}}}}]
@@ -3,8 +3,9 @@
3
3
  import * as d3 from 'd3-selection';
4
4
  import { BaseElementModel } from '../../model';
5
5
  export declare abstract class BaseElement {
6
+ protected readonly signalRAppId: string;
6
7
  protected readonly $element: JQuery;
7
8
  protected readonly rootElement: d3.Selection<any, {}, null, undefined>;
8
9
  protected model: BaseElementModel;
9
- constructor(element: HTMLElement);
10
+ constructor(element: HTMLElement, signalRAppId?: string);
10
11
  }
@@ -1,6 +1,7 @@
1
1
  import * as d3 from 'd3-selection';
2
2
  export class BaseElement {
3
- constructor(element) {
3
+ constructor(element, signalRAppId = '') {
4
+ this.signalRAppId = signalRAppId;
4
5
  this.$element = $(element);
5
6
  this.rootElement = d3.select(element);
6
7
  this.model = JSON.parse(this.rootElement.attr('data-model'));
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"BaseElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":9,"character":25,"context":{"typeName":"HTMLElement"}}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"BaseElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":9,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","name":"string"}]}]}}}}]
@@ -9,7 +9,7 @@ export declare abstract class ConditionalControlElement extends StateControlElem
9
9
  protected readonly variableCommunicator: VariableCommunicator;
10
10
  protected readonly variableStore: VariableStore;
11
11
  protected abstract readonly model: ConditionalControlModel;
12
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization);
12
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
13
13
  protected abstract updateElement(value: ConditionControlResultValue): void;
14
14
  private initConditionalControl;
15
15
  private recoverData;
@@ -7,8 +7,8 @@ import { StateControlElement } from './state-control-element';
7
7
  import { VariableUtil } from '../../utils/variable-util';
8
8
  import { VariableDefinition } from '../../communication/variable/variable-definition';
9
9
  export class ConditionalControlElement extends StateControlElement {
10
- constructor(element, permissionChecker, variableCommunicator, variableStore, localization) {
11
- super(element, permissionChecker, variableCommunicator, variableStore, localization);
10
+ constructor(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId) {
11
+ super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
12
12
  this.variableCommunicator = variableCommunicator;
13
13
  this.variableStore = variableStore;
14
14
  this.recoverData();
@@ -27,7 +27,7 @@ export class ConditionalControlElement extends StateControlElement {
27
27
  controlConditionResult.conditionResultChanged.subscribe(result => {
28
28
  this.updateElement(result);
29
29
  });
30
- controlConditionResult.requestData();
30
+ controlConditionResult.requestData(this.signalRAppId);
31
31
  }
32
32
  recoverData() {
33
33
  if (!this.model) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConditionalControlElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./state-control-element","name":"StateControlElement","line":15,"character":56},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":20,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":21,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":21,"character":105},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":21,"character":134}]}],"updateElement":[{"__symbolic":"method"}],"initConditionalControl":[{"__symbolic":"method"}],"recoverData":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConditionalControlElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./state-control-element","name":"StateControlElement","line":15,"character":56},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":20,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":21,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":21,"character":105},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":21,"character":134},{"__symbolic":"reference","name":"string"}]}],"updateElement":[{"__symbolic":"method"}],"initConditionalControl":[{"__symbolic":"method"}],"recoverData":[{"__symbolic":"method"}]}}}}]
@@ -8,7 +8,7 @@ export declare abstract class ConditionalDisplayElement extends BaseElement {
8
8
  protected readonly variableCommunicator: VariableCommunicator;
9
9
  protected readonly variableStore: VariableStore;
10
10
  protected abstract readonly model: ConditionalDisplayModel;
11
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
11
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
12
12
  private initDisplay;
13
13
  private checkDisplayConditionAndPermission;
14
14
  private updateVisibilityByCondition;
@@ -1,8 +1,8 @@
1
1
  import { ConditionItemsResultObserver } from '../../model';
2
2
  import { BaseElement } from './base-element';
3
3
  export class ConditionalDisplayElement extends BaseElement {
4
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
5
- super(element);
4
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
5
+ super(element, signalRAppId);
6
6
  this.permissionChecker = permissionChecker;
7
7
  this.variableCommunicator = variableCommunicator;
8
8
  this.variableStore = variableStore;
@@ -43,7 +43,7 @@ export class ConditionalDisplayElement extends BaseElement {
43
43
  this.hide();
44
44
  }
45
45
  });
46
- conditionResult.requestData();
46
+ conditionResult.requestData(this.signalRAppId);
47
47
  }
48
48
  updateVisibilityByCondition() {
49
49
  if (null == this.model.conditionItems || !this.model.conditionItems.length) {
@@ -58,7 +58,7 @@ export class ConditionalDisplayElement extends BaseElement {
58
58
  this.hide();
59
59
  }
60
60
  });
61
- conditionResult.requestData();
61
+ conditionResult.requestData(this.signalRAppId);
62
62
  }
63
63
  updateVisibilityByPermission() {
64
64
  if (!this.model.displayPermissionCodes || !this.model.displayPermissionCodes.length) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConditionalDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base-element","name":"BaseElement","line":6,"character":56},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service/permission-checker","name":"PermissionChecker","line":11,"character":46},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":13,"character":42}]}],"initDisplay":[{"__symbolic":"method"}],"checkDisplayConditionAndPermission":[{"__symbolic":"method"}],"updateVisibilityByCondition":[{"__symbolic":"method"}],"updateVisibilityByPermission":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConditionalDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base-element","name":"BaseElement","line":6,"character":56},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service/permission-checker","name":"PermissionChecker","line":11,"character":46},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":13,"character":42},{"__symbolic":"reference","name":"string"}]}],"initDisplay":[{"__symbolic":"method"}],"checkDisplayConditionAndPermission":[{"__symbolic":"method"}],"updateVisibilityByCondition":[{"__symbolic":"method"}],"updateVisibilityByPermission":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}]}}}}]
@@ -16,7 +16,7 @@ export declare abstract class ConditionalDynamicDisplayElement extends Condition
16
16
  protected rotatedHor: number;
17
17
  protected rotatedVer: number;
18
18
  protected transform: string;
19
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
19
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
20
20
  protected initDynamicBehavior(): void;
21
21
  protected getActualSize(): Size;
22
22
  protected getActualLocation(): Point;
@@ -3,8 +3,8 @@ import { DynamicDisplay } from '../../model/shared/dynamic-display/dynamic-displ
3
3
  import { ConditionalDisplayElement } from './conditional-display-element';
4
4
  import { GuiConsts } from '../../shared';
5
5
  export class ConditionalDynamicDisplayElement extends ConditionalDisplayElement {
6
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
7
- super(element, permissionChecker, variableCommunicator, variableStore);
6
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
7
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
8
8
  this.variableCommunicator = variableCommunicator;
9
9
  this.variableStore = variableStore;
10
10
  this.initDynamicBehavior();
@@ -16,7 +16,7 @@ export class ConditionalDynamicDisplayElement extends ConditionalDisplayElement
16
16
  const strokeWidth = this.model.strokeWidth ? this.model.strokeWidth : 0;
17
17
  this.hor = location.x - Number(strokeWidth) / 2;
18
18
  this.ver = location.y - Number(strokeWidth) / 2;
19
- const behavior = new DynamicDisplay(this.model.dynamicSetting, this.variableCommunicator, this.variableStore, location);
19
+ const behavior = new DynamicDisplay(this.model.dynamicSetting, this.variableCommunicator, this.variableStore, location, this.signalRAppId);
20
20
  behavior.doBehavior.subscribe(result => {
21
21
  if (this.model.angle) {
22
22
  this.ang = Number(this.model.angle);
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConditionalDynamicDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./conditional-display-element","name":"ConditionalDisplayElement","line":10,"character":63},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":23,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service/permission-checker","name":"PermissionChecker","line":23,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":24,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":25,"character":42}]}],"initDynamicBehavior":[{"__symbolic":"method"}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}],"isBold":[{"__symbolic":"method"}],"isItalic":[{"__symbolic":"method"}],"fontFamily":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConditionalDynamicDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./conditional-display-element","name":"ConditionalDisplayElement","line":10,"character":63},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":23,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service/permission-checker","name":"PermissionChecker","line":23,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":24,"character":49},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":25,"character":42},{"__symbolic":"reference","name":"string"}]}],"initDynamicBehavior":[{"__symbolic":"method"}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}],"isBold":[{"__symbolic":"method"}],"isItalic":[{"__symbolic":"method"}],"fontFamily":[{"__symbolic":"method"}]}}}}]
@@ -12,7 +12,7 @@ export declare abstract class ConditionalEnableElement extends StateControlEleme
12
12
  protected abstract readonly model: ConditionalEnableModel;
13
13
  isGrantedPermission: boolean;
14
14
  isInitialized: boolean;
15
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization);
15
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, localization: Localization, signalRAppId: string);
16
16
  private initialize;
17
17
  private updateEnableStateByConditionAndPermission;
18
18
  private updateEnableStateByCondition;