@flexem/fc-gui 3.0.0-alpha.6 → 3.0.0-alpha.61

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 (201) hide show
  1. package/CHANGELOG.md +238 -1
  2. package/bundles/@flexem/fc-gui.umd.js +2732 -1614
  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 +2 -2
  7. package/elements/air-quality/air-quality-element.d.ts +31 -0
  8. package/elements/air-quality/air-quality-element.js +195 -0
  9. package/elements/air-quality/air-quality-element.metadata.json +1 -0
  10. package/elements/bar-graph-element.d.ts +8 -2
  11. package/elements/bar-graph-element.js +72 -6
  12. package/elements/bar-graph-element.metadata.json +1 -1
  13. package/elements/base/base-element.d.ts +2 -1
  14. package/elements/base/base-element.js +2 -1
  15. package/elements/base/base-element.metadata.json +1 -1
  16. package/elements/base/conditional-control-element.d.ts +1 -1
  17. package/elements/base/conditional-control-element.js +3 -3
  18. package/elements/base/conditional-control-element.metadata.json +1 -1
  19. package/elements/base/conditional-display-element.d.ts +1 -1
  20. package/elements/base/conditional-display-element.js +4 -4
  21. package/elements/base/conditional-display-element.metadata.json +1 -1
  22. package/elements/base/conditional-dynamic-display-element.d.ts +1 -1
  23. package/elements/base/conditional-dynamic-display-element.js +3 -3
  24. package/elements/base/conditional-dynamic-display-element.metadata.json +1 -1
  25. package/elements/base/conditional-enable-element.d.ts +1 -1
  26. package/elements/base/conditional-enable-element.js +4 -4
  27. package/elements/base/conditional-enable-element.metadata.json +1 -1
  28. package/elements/base/readable-element.d.ts +7 -2
  29. package/elements/base/readable-element.js +33 -4
  30. package/elements/base/readable-element.metadata.json +1 -1
  31. package/elements/base/state-control-element.d.ts +1 -1
  32. package/elements/base/state-control-element.js +2 -2
  33. package/elements/base/state-control-element.metadata.json +1 -1
  34. package/elements/character-display/character-display-element.d.ts +1 -1
  35. package/elements/character-display/character-display-element.js +2 -2
  36. package/elements/character-display/character-display-element.metadata.json +1 -1
  37. package/elements/datetime-display/datetime-display-element.d.ts +1 -1
  38. package/elements/datetime-display/datetime-display-element.js +2 -2
  39. package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
  40. package/elements/historical-curve/historical-curve.element.d.ts +1 -1
  41. package/elements/historical-curve/historical-curve.element.js +104 -15
  42. package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
  43. package/elements/main-element.d.ts +2 -1
  44. package/elements/main-element.js +44 -26
  45. package/elements/main-element.metadata.json +1 -1
  46. package/elements/meter-element.d.ts +8 -2
  47. package/elements/meter-element.js +78 -9
  48. package/elements/meter-element.metadata.json +1 -1
  49. package/elements/numerical-display/numerical-display-element.d.ts +8 -2
  50. package/elements/numerical-display/numerical-display-element.js +48 -12
  51. package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
  52. package/elements/per-view-variable-communicator.d.ts +2 -2
  53. package/elements/per-view-variable-communicator.js +4 -4
  54. package/elements/pipe/pipe-element.d.ts +1 -1
  55. package/elements/pipe/pipe-element.js +2 -2
  56. package/elements/pipe/pipe-element.metadata.json +1 -1
  57. package/elements/ring-graph/ring-graph-element.d.ts +11 -2
  58. package/elements/ring-graph/ring-graph-element.js +108 -5
  59. package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
  60. package/elements/shared/graph/graph-state-element.js +0 -3
  61. package/elements/shared/text/text-element.js +13 -2
  62. package/elements/shared/text/text-state-element.js +1 -1
  63. package/elements/static-elements/hyperlink-element.d.ts +1 -1
  64. package/elements/static-elements/hyperlink-element.js +2 -2
  65. package/elements/static-elements/hyperlink-element.metadata.json +1 -1
  66. package/elements/static-elements/image-element.d.ts +1 -1
  67. package/elements/static-elements/image-element.js +2 -2
  68. package/elements/static-elements/image-element.metadata.json +1 -1
  69. package/elements/static-elements/text-element.d.ts +1 -1
  70. package/elements/static-elements/text-element.js +2 -2
  71. package/elements/static-elements/text-element.metadata.json +1 -1
  72. package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -1
  73. package/elements/switch-indicator-light/bit-indicator-light-operator.js +4 -4
  74. package/elements/switch-indicator-light/bit-switch-operator.d.ts +3 -1
  75. package/elements/switch-indicator-light/bit-switch-operator.js +22 -2
  76. package/elements/switch-indicator-light/bit-switch-operator.metadata.json +1 -1
  77. package/elements/switch-indicator-light/indicator-light-operator.d.ts +1 -1
  78. package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +9 -1
  79. package/elements/switch-indicator-light/switch-indicator-light-element.js +97 -28
  80. package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
  81. package/elements/switch-indicator-light/switch-operator.d.ts +1 -0
  82. package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -1
  83. package/elements/switch-indicator-light/word-indicator-light-operator.js +5 -5
  84. package/elements/switch-indicator-light/word-switch-operator.d.ts +3 -1
  85. package/elements/switch-indicator-light/word-switch-operator.js +9 -2
  86. package/elements/switch-indicator-light/word-switch-operator.metadata.json +1 -1
  87. package/elements/table/table-element.d.ts +1 -1
  88. package/elements/table/table-element.js +2 -2
  89. package/elements/table/table-element.metadata.json +1 -1
  90. package/elements/vector-graphics/ellipse-element.d.ts +1 -1
  91. package/elements/vector-graphics/ellipse-element.js +2 -2
  92. package/elements/vector-graphics/ellipse-element.metadata.json +1 -1
  93. package/elements/vector-graphics/poly-line-element.d.ts +1 -1
  94. package/elements/vector-graphics/poly-line-element.js +2 -2
  95. package/elements/vector-graphics/poly-line-element.metadata.json +1 -1
  96. package/elements/vector-graphics/polygon-element.d.ts +1 -1
  97. package/elements/vector-graphics/polygon-element.js +2 -2
  98. package/elements/vector-graphics/polygon-element.metadata.json +1 -1
  99. package/elements/vector-graphics/rectangle-element.d.ts +1 -1
  100. package/elements/vector-graphics/rectangle-element.js +2 -2
  101. package/elements/vector-graphics/rectangle-element.metadata.json +1 -1
  102. package/elements/vector-graphics/sector-element.d.ts +1 -1
  103. package/elements/vector-graphics/sector-element.js +2 -2
  104. package/elements/vector-graphics/sector-element.metadata.json +1 -1
  105. package/elements/vector-graphics/straight-line-element.d.ts +1 -1
  106. package/elements/vector-graphics/straight-line-element.js +2 -2
  107. package/elements/vector-graphics/straight-line-element.metadata.json +1 -1
  108. package/elements/video/video-element.d.ts +1 -2
  109. package/elements/video/video-element.js +53 -54
  110. package/elements/video/video-element.metadata.json +1 -1
  111. package/elements/view-operation/view-operation.element.d.ts +1 -1
  112. package/elements/view-operation/view-operation.element.js +2 -2
  113. package/elements/view-operation/view-operation.element.metadata.json +1 -1
  114. package/elements/weather/weater-element.d.ts +1 -1
  115. package/elements/weather/weater-element.js +2 -2
  116. package/elements/weather/weater-element.metadata.json +1 -1
  117. package/gui/gui-context.d.ts +2 -1
  118. package/gui/gui-host.d.ts +1 -1
  119. package/gui/gui-view.d.ts +1 -0
  120. package/gui/gui-view.js +3 -2
  121. package/gui/gui-view.metadata.json +1 -1
  122. package/gui/gui.component.d.ts +3 -0
  123. package/gui/gui.component.js +15 -2
  124. package/gui/gui.component.metadata.json +1 -1
  125. package/localization/localization.service.d.ts +7 -0
  126. package/localization/localization.service.js +8 -1
  127. package/localization/localization.service.metadata.json +1 -1
  128. package/localization/localization.service.zh_CN.js +8 -1
  129. package/localization/localization.service.zh_CN.metadata.json +1 -1
  130. package/modal/write-value/write-value-modal-args.d.ts +4 -1
  131. package/modal/write-value/write-value-modal-args.js +3 -1
  132. package/modal/write-value/write-value-modal-args.metadata.json +1 -1
  133. package/modal/write-value/write-value-modal.component.d.ts +9 -7
  134. package/modal/write-value/write-value-modal.component.html +5 -2
  135. package/modal/write-value/write-value-modal.component.js +39 -22
  136. package/modal/write-value/write-value-modal.component.metadata.json +1 -1
  137. package/model/air-quality/air-quality-info.d.ts +23 -0
  138. package/model/air-quality/air-quality-info.js +4 -0
  139. package/model/air-quality/air-quality-info.metadata.json +1 -0
  140. package/model/air-quality/air-quality.model.d.ts +7 -0
  141. package/model/air-quality/air-quality.model.js +0 -0
  142. package/model/air-quality/air-quality.model.metadata.json +1 -0
  143. package/model/bar-graph/bar-graph.d.ts +4 -0
  144. package/model/base/readable-model.d.ts +4 -0
  145. package/model/historical-curve/historical-curve-axis-settings.d.ts +7 -0
  146. package/model/historical-curve/historical-curve-axis-settings.js +5 -0
  147. package/model/historical-curve/historical-curve-axis-settings.metadata.json +1 -1
  148. package/model/meter/meter.d.ts +4 -0
  149. package/model/numerical-display/numerical-display.d.ts +1 -0
  150. package/model/ring-graph/ring-graph.model.d.ts +8 -0
  151. package/model/shared/condition/bit-condition-item-observer.d.ts +1 -1
  152. package/model/shared/condition/bit-condition-item-observer.js +4 -4
  153. package/model/shared/condition/condition-items-result-observer.d.ts +1 -1
  154. package/model/shared/condition/condition-items-result-observer.js +22 -12
  155. package/model/shared/condition/condition-items-result-observer.metadata.json +1 -1
  156. package/model/shared/condition/convert-condition-model.d.ts +5 -0
  157. package/model/shared/condition/convert-condition-model.js +0 -0
  158. package/model/shared/condition/convert-condition-model.metadata.json +1 -0
  159. package/model/shared/condition/relation-condition-result.d.ts +2 -1
  160. package/model/shared/condition/relation-condition-result.js +2 -1
  161. package/model/shared/condition/relation-condition-result.metadata.json +1 -1
  162. package/model/shared/condition/word-condition-item-observer.d.ts +1 -1
  163. package/model/shared/condition/word-condition-item-observer.js +11 -11
  164. package/model/shared/dynamic-display/dynamic-display.d.ts +1 -1
  165. package/model/shared/dynamic-display/dynamic-display.js +4 -4
  166. package/model/shared/dynamic-display/dynamic-display.metadata.json +1 -1
  167. package/model/shared/rotation/rotation-behavior.d.ts +1 -1
  168. package/model/shared/rotation/rotation-behavior.js +2 -2
  169. package/model/shared/rotation/rotation-behavior.metadata.json +1 -1
  170. package/model/shared/rotation/rotation-observer.d.ts +2 -1
  171. package/model/shared/rotation/rotation-observer.js +3 -2
  172. package/model/shared/rotation/rotation-observer.metadata.json +1 -1
  173. package/model/shared/translation/translation-behavior.d.ts +1 -1
  174. package/model/shared/translation/translation-behavior.js +3 -3
  175. package/model/shared/translation/translation-behavior.metadata.json +1 -1
  176. package/model/shared/translation/translation-observer.d.ts +1 -1
  177. package/model/shared/translation/translation-observer.js +2 -2
  178. package/model/shared/translation/translation-observer.metadata.json +1 -1
  179. package/model/switch-indicator-light/bit-switch-operation.d.ts +2 -1
  180. package/model/switch-indicator-light/bit-switch-operation.js +1 -0
  181. package/model/switch-indicator-light/bit-switch-operation.metadata.json +1 -1
  182. package/package.json +1 -1
  183. package/remote/communication/variable/remote-variable-communicator.d.ts +3 -2
  184. package/remote/communication/variable/remote-variable-communicator.js +16 -9
  185. package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
  186. package/remote/communication/variable/remote-variable-protocol.d.ts +2 -2
  187. package/service/index.d.ts +1 -0
  188. package/service/index.metadata.json +1 -1
  189. package/service/released-variable/index.d.ts +1 -0
  190. package/service/released-variable/index.js +0 -0
  191. package/service/released-variable/index.metadata.json +1 -0
  192. package/service/released-variable/released-variable.service.d.ts +4 -0
  193. package/service/released-variable/released-variable.service.js +0 -0
  194. package/service/released-variable/released-variable.service.metadata.json +1 -0
  195. package/service/weather.service.d.ts +1 -0
  196. package/shared/gui-consts.d.ts +1 -0
  197. package/shared/gui-consts.js +1 -0
  198. package/shared/gui-consts.metadata.json +1 -1
  199. package/utils/data-type/data-type.service.d.ts +4 -7
  200. package/utils/data-type/data-type.service.js +29 -17
  201. package/utils/numerical-operation.service.js +2 -2
@@ -1,8 +1,8 @@
1
1
  import { Size } from '../../model';
2
2
  import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-display-element';
3
3
  export class PolyLineElement extends ConditionalDynamicDisplayElement {
4
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
5
- super(element, permissionChecker, variableCommunicator, variableStore);
4
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
5
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
6
6
  }
7
7
  getActualSize() {
8
8
  const arcPath = Snap(this.$element.find('path')[0]);
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"PolyLineElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":37},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"PolyLineElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":37},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67},{"__symbolic":"reference","name":"string"}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
@@ -6,7 +6,7 @@ import { PolygonModel } from '../../model/polygon/polygon-model';
6
6
  import { VariableStore } from '../../config';
7
7
  export declare class PolygonElement extends ConditionalDynamicDisplayElement {
8
8
  readonly model: PolygonModel;
9
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
9
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
10
10
  getActualSize(): Size;
11
11
  getActualLocation(): Point;
12
12
  }
@@ -1,8 +1,8 @@
1
1
  import { Size } from '../../model';
2
2
  import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-display-element';
3
3
  export class PolygonElement extends ConditionalDynamicDisplayElement {
4
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
5
- super(element, permissionChecker, variableCommunicator, variableStore);
4
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
5
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
6
6
  }
7
7
  getActualSize() {
8
8
  const arcPath = Snap(this.$element.find('path')[0]);
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"PolygonElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"PolygonElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67},{"__symbolic":"reference","name":"string"}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
@@ -5,5 +5,5 @@ import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-di
5
5
  import { VariableStore } from '../../config';
6
6
  export declare class RectangleElement extends ConditionalDynamicDisplayElement {
7
7
  readonly model: ConditionalDynamicDisplayModel;
8
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
8
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-display-element';
2
2
  export class RectangleElement extends ConditionalDynamicDisplayElement {
3
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
4
- super(element, permissionChecker, variableCommunicator, variableStore);
3
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
4
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
5
5
  }
6
6
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"RectangleElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":10,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":10,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":10,"character":135}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"RectangleElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":10,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":10,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":10,"character":135},{"__symbolic":"reference","name":"string"}]}]}}}}]
@@ -5,5 +5,5 @@ import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-di
5
5
  import { VariableStore } from '../../config';
6
6
  export declare class SectorElement extends ConditionalDynamicDisplayElement {
7
7
  readonly model: ConditionalDynamicDisplayModel;
8
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
8
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-display-element';
2
2
  export class SectorElement extends ConditionalDynamicDisplayElement {
3
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
4
- super(element, permissionChecker, variableCommunicator, variableStore);
3
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
4
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
5
5
  }
6
6
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"SectorElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":35},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":10,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":10,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":10,"character":135}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"SectorElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":35},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":10,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":10,"character":98},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":10,"character":135},{"__symbolic":"reference","name":"string"}]}]}}}}]
@@ -6,7 +6,7 @@ import { StraightLineModel } from '../../model/straight-line/straight-line-model
6
6
  import { VariableStore } from '../../config';
7
7
  export declare class StraightLineElement extends ConditionalDynamicDisplayElement {
8
8
  readonly model: StraightLineModel;
9
- constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
9
+ constructor(element: HTMLElement, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
10
10
  getActualSize(): Size;
11
11
  getActualLocation(): Point;
12
12
  }
@@ -1,8 +1,8 @@
1
1
  import { Size } from '../../model';
2
2
  import { ConditionalDynamicDisplayElement } from '../base/conditional-dynamic-display-element';
3
3
  export class StraightLineElement extends ConditionalDynamicDisplayElement {
4
- constructor(element, permissionChecker, variableCommunicator, variableStore) {
5
- super(element, permissionChecker, variableCommunicator, variableStore);
4
+ constructor(element, permissionChecker, variableCommunicator, variableStore, signalRAppId) {
5
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
6
6
  }
7
7
  getActualSize() {
8
8
  const arcPath = Snap(this.$element.find('path')[0]);
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"StraightLineElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":41},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"StraightLineElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":7,"character":41},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":11,"character":57},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":12,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":12,"character":67},{"__symbolic":"reference","name":"string"}]}],"getActualSize":[{"__symbolic":"method"}],"getActualLocation":[{"__symbolic":"method"}]}}}}]
@@ -16,12 +16,11 @@ export declare class VideoElement extends ConditionalDisplayElement {
16
16
  private videoId;
17
17
  private isShow;
18
18
  private videoPlayer;
19
- constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, videoService: VideoService, guiSize: Size, svgRootClass: string);
19
+ constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, videoService: VideoService, guiSize: Size, svgRootClass: string, signalRAppId: string);
20
20
  dispose(): void;
21
21
  hide(): void;
22
22
  show(): void;
23
23
  private init;
24
- private initVideo;
25
24
  private addVideoAddressToolTip;
26
25
  private setAndroidVideo;
27
26
  }
@@ -5,8 +5,8 @@ import { TextElementModal } from '../shared/text/text-element';
5
5
  import { LOCALIZATION } from '../../localization';
6
6
  import { isNil } from 'lodash';
7
7
  export class VideoElement extends ConditionalDisplayElement {
8
- constructor(element, injector, permissionChecker, variableCommunicator, variableStore, videoService, guiSize, svgRootClass) {
9
- super(element, permissionChecker, variableCommunicator, variableStore);
8
+ constructor(element, injector, permissionChecker, variableCommunicator, variableStore, videoService, guiSize, svgRootClass, signalRAppId) {
9
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
10
10
  this.videoService = videoService;
11
11
  this.guiSize = guiSize;
12
12
  this.svgRootClass = svgRootClass;
@@ -46,64 +46,63 @@ export class VideoElement extends ConditionalDisplayElement {
46
46
  return;
47
47
  }
48
48
  this.videoId = Guid.newGuid().toString('n');
49
- this.rootElement.append('rect').attr('id', 'rect' + this.videoId).attr('fill', 'transparent')
50
- .attr('width', this.model.size.width)
51
- .attr('height', this.model.size.height);
52
49
  this.videoService.getVideoUrl(this.model.videoTag).then(result => {
53
- this.initVideo(result.url, result.isMobileType, this.videoId);
54
- }).catch(() => {
55
- throw new Error('Failure of the videoService');
56
- });
57
- }
58
- initVideo(videoUrl, isMobileType, videoId) {
59
- const patt = /https:.+.m3u8/;
60
- if (videoUrl.indexOf('http:') !== -1) {
61
- videoUrl = videoUrl.replace('http:', 'https:');
62
- }
63
- if (!patt.test(videoUrl)) {
64
- let videoToolTip = this.localization.invalidVideoAddress;
65
- if (isNil(videoUrl) || videoUrl === '') {
66
- videoToolTip = this.localization.unconfiguredVideoAddress;
50
+ const isAndroid = !!navigator.userAgent.match(/(Android)/i);
51
+ let videoUrl = result.url;
52
+ const patt = /https:.+.m3u8/;
53
+ if (videoUrl.indexOf('http:') !== -1) {
54
+ videoUrl = videoUrl.replace('http:', 'https:');
67
55
  }
68
- this.addVideoAddressToolTip(videoToolTip);
69
- return;
70
- }
71
- const currentRect = this.$element.find('rect#rect' + videoId).first();
72
- if (!currentRect.length) {
73
- return;
74
- }
75
- const clientRect = currentRect[0].getBoundingClientRect();
76
- const chartWidth = clientRect.width;
77
- const chartHeight = clientRect.height;
78
- const left = this.model.location.x / this.guiSize.width * $('.' + this.svgRootClass).find('.svg-content').width();
79
- const top = this.model.location.y / this.guiSize.height * $('.' + this.svgRootClass).find('.svg-content').height();
80
- let videoHtml = `<video scareX="${this.model.location.x / this.guiSize.width}"
81
- scareY="${this.model.location.y / this.guiSize.height}" id="${videoId}" src="${videoUrl}" style="
82
- position: absolute;top:${top}px;left:${left}px;width:${chartWidth}px;height:${chartHeight}px;object-fit:fill;z-index:0"
83
- playsInline webkit-playsinline `;
84
- const isAndroid = !!navigator.userAgent.match(/(Android)/i);
85
- if (this.isMobileMode) {
86
- if (isAndroid) {
87
- if (isMobileType) {
88
- videoHtml += ' controls ';
56
+ if (!patt.test(videoUrl)) {
57
+ let videoToolTip = this.localization.invalidVideoAddress;
58
+ if (isNil(videoUrl) || videoUrl === '') {
59
+ videoToolTip = this.localization.unconfiguredVideoAddress;
60
+ }
61
+ this.addVideoAddressToolTip(videoToolTip);
62
+ return;
63
+ }
64
+ const video = this.rootElement.append('foreignObject')
65
+ .attr('x', 0)
66
+ .attr('y', 0)
67
+ .attr('width', this.model.size.width)
68
+ .attr('height', this.model.size.height)
69
+ .append('xhtml:video')
70
+ .attr('id', this.videoId)
71
+ .attr('scareX', this.model.location.x / this.guiSize.width)
72
+ .attr('scareY', this.model.location.y / this.guiSize.height)
73
+ .attr('src', videoUrl)
74
+ .style('width', '100%')
75
+ .style('height', '100%')
76
+ .attr('playsInline', true)
77
+ .attr('webkit-playsinline', true);
78
+ if (this.isMobileMode) {
79
+ if (isAndroid) {
80
+ if (result.isMobileType) {
81
+ video.attr('controls', true);
82
+ }
83
+ video.attr('autoplay', true);
84
+ video.attr('muted', true);
85
+ }
86
+ else {
87
+ video.attr('controls', true);
88
+ video.attr('muted', true);
89
89
  }
90
- videoHtml += ' autoplay muted></video>';
91
90
  }
92
91
  else {
93
- videoHtml += ' controls muted></video>';
92
+ video.attr('controls', true);
93
+ video.attr('autoplay', true);
94
+ video.attr('muted', true);
94
95
  }
95
- }
96
- else {
97
- videoHtml += ' controls autoplay muted></video>';
98
- }
99
- $('.' + this.svgRootClass).find('.svg-content').append(videoHtml);
100
- if (this.isShow === false) {
101
- $('#' + this.videoId).hide();
102
- }
103
- this.videoPlayer = new EZUIPlayer(videoId);
104
- if (isAndroid && !isMobileType) {
105
- this.setAndroidVideo(videoId);
106
- }
96
+ if (this.isShow === false) {
97
+ $('#' + this.videoId).hide();
98
+ }
99
+ this.videoPlayer = new EZUIPlayer(this.videoId);
100
+ if (isAndroid && !result.isMobileType) {
101
+ this.setAndroidVideo(this.videoId);
102
+ }
103
+ }).catch(() => {
104
+ throw new Error('Failure of the videoService');
105
+ });
107
106
  }
108
107
  addVideoAddressToolTip(videoToolTip) {
109
108
  const size = this.model.size;
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"VideoElement":{"__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":23,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":24,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":25,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":26,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":27,"character":23},{"__symbolic":"reference","module":"../../service","name":"VideoService","line":28,"character":39},{"__symbolic":"reference","module":"../../model","name":"Size","line":29,"character":34},{"__symbolic":"reference","name":"string"}]}],"dispose":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"initVideo":[{"__symbolic":"method"}],"addVideoAddressToolTip":[{"__symbolic":"method"}],"setAndroidVideo":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"VideoElement":{"__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":23,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":24,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":25,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":26,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":27,"character":23},{"__symbolic":"reference","module":"../../service","name":"VideoService","line":28,"character":39},{"__symbolic":"reference","module":"../../model","name":"Size","line":29,"character":34},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}],"dispose":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"addVideoAddressToolTip":[{"__symbolic":"method"}],"setAndroidVideo":[{"__symbolic":"method"}]}}}}]
@@ -22,7 +22,7 @@ export declare class ViewOperationElement extends ConditionalEnableElement {
22
22
  private graphStateElement?;
23
23
  private touchedScreenX;
24
24
  private touchedScreenY;
25
- constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, localization: Localization, popupViewService: PopupViewService, hostContainerId: string, el: ElementRef);
25
+ constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, localization: Localization, popupViewService: PopupViewService, hostContainerId: string, el: ElementRef, signalRAppId: string);
26
26
  private initElement;
27
27
  private switchToState;
28
28
  private initGraph;
@@ -9,8 +9,8 @@ import { ConfirmOperationModalComponent } from '../../modal/confirm-operation/co
9
9
  import { VerifyPasswordModalComponent } from '../../modal/verify-password/verify-password-modal.component';
10
10
  import { ViewService } from '../../view/view.service';
11
11
  export class ViewOperationElement extends ConditionalEnableElement {
12
- constructor(element, injector, modalService, variableCommunicator, variableStore, graphStore, permissionChecker, operationRecordService, securityChecker, localization, popupViewService, hostContainerId, el) {
13
- super(element, permissionChecker, variableCommunicator, variableStore, localization);
12
+ constructor(element, injector, modalService, variableCommunicator, variableStore, graphStore, permissionChecker, operationRecordService, securityChecker, localization, popupViewService, hostContainerId, el, signalRAppId) {
13
+ super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
14
14
  this.modalService = modalService;
15
15
  this.graphStore = graphStore;
16
16
  this.operationRecordService = operationRecordService;
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ViewOperationElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":20,"character":42},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":31,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":31,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":32,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":33,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":34,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":35,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":36,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":37,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":38,"character":42},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":39,"character":22},{"__symbolic":"reference","module":"../../view/popup-view.service","name":"PopupViewService","line":40,"character":43},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":42,"character":29}]}],"initElement":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"executeViewOperation":[{"__symbolic":"method"}],"toggleView":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"recordViewOperation":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ViewOperationElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":20,"character":42},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":31,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":31,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":32,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":33,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":34,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":35,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":36,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":37,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":38,"character":42},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":39,"character":22},{"__symbolic":"reference","module":"../../view/popup-view.service","name":"PopupViewService","line":40,"character":43},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":42,"character":29},{"__symbolic":"reference","name":"string"}]}],"initElement":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"executeViewOperation":[{"__symbolic":"method"}],"toggleView":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"recordViewOperation":[{"__symbolic":"method"}]}}}}]
@@ -13,7 +13,7 @@ export declare class WeatherElement extends ConditionalDisplayElement {
13
13
  private readonly localization;
14
14
  protected readonly logger: LoggerService;
15
15
  timer: any;
16
- constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, weatherService: WeatherService);
16
+ constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, weatherService: WeatherService, signalRAppId: string);
17
17
  dispose(): void;
18
18
  private initWeatherInfo;
19
19
  private clear;
@@ -3,8 +3,8 @@ import { LOGGER_SERVICE_TOKEN } from '../../logger';
3
3
  import * as d3 from 'd3-selection';
4
4
  import { LOCALIZATION } from '../../localization';
5
5
  export class WeatherElement extends ConditionalDisplayElement {
6
- constructor(element, injector, permissionChecker, variableCommunicator, variableStore, weatherService) {
7
- super(element, permissionChecker, variableCommunicator, variableStore);
6
+ constructor(element, injector, permissionChecker, variableCommunicator, variableStore, weatherService, signalRAppId) {
7
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
8
8
  this.weatherService = weatherService;
9
9
  this.localization = injector.get(LOCALIZATION);
10
10
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WeatherElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":12,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":20,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":22,"character":27},{"__symbolic":"reference","module":"../../communication/variable","name":"VariableCommunicator","line":23,"character":30},{"__symbolic":"reference","module":"../../config/variable","name":"VariableStore","line":24,"character":23},{"__symbolic":"reference","module":"../../service","name":"WeatherService","line":25,"character":41}]}],"dispose":[{"__symbolic":"method"}],"initWeatherInfo":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"handleNotSupported":[{"__symbolic":"method"}],"handleGettingAddress":[{"__symbolic":"method"}],"handleNoAddress":[{"__symbolic":"method"}],"handleUnusualCommon":[{"__symbolic":"method"}],"handleNormal":[{"__symbolic":"method"}],"getRainPath":[{"__symbolic":"method"}],"getLocPath":[{"__symbolic":"method"}],"getWindPath":[{"__symbolic":"method"}],"getUnusualIconPath":[{"__symbolic":"method"}],"buildBackgroudRect":[{"__symbolic":"method"}],"buildTemperatureGroup":[{"__symbolic":"method"}],"buildWeather":[{"__symbolic":"method"}],"buildLocGroup":[{"__symbolic":"method"}],"buildWindGroup":[{"__symbolic":"method"}],"buildWeatherText":[{"__symbolic":"method"}],"buildUnusualTipIcon":[{"__symbolic":"method"}],"buildUnusualTipText":[{"__symbolic":"method"}],"appendWeatherSvg":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WeatherElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":12,"character":36},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":20,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":22,"character":27},{"__symbolic":"reference","module":"../../communication/variable","name":"VariableCommunicator","line":23,"character":30},{"__symbolic":"reference","module":"../../config/variable","name":"VariableStore","line":24,"character":23},{"__symbolic":"reference","module":"../../service","name":"WeatherService","line":25,"character":41},{"__symbolic":"reference","name":"string"}]}],"dispose":[{"__symbolic":"method"}],"initWeatherInfo":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"handleNotSupported":[{"__symbolic":"method"}],"handleGettingAddress":[{"__symbolic":"method"}],"handleNoAddress":[{"__symbolic":"method"}],"handleUnusualCommon":[{"__symbolic":"method"}],"handleNormal":[{"__symbolic":"method"}],"getRainPath":[{"__symbolic":"method"}],"getLocPath":[{"__symbolic":"method"}],"getWindPath":[{"__symbolic":"method"}],"getUnusualIconPath":[{"__symbolic":"method"}],"buildBackgroudRect":[{"__symbolic":"method"}],"buildTemperatureGroup":[{"__symbolic":"method"}],"buildWeather":[{"__symbolic":"method"}],"buildLocGroup":[{"__symbolic":"method"}],"buildWindGroup":[{"__symbolic":"method"}],"buildWeatherText":[{"__symbolic":"method"}],"buildUnusualTipIcon":[{"__symbolic":"method"}],"buildUnusualTipText":[{"__symbolic":"method"}],"appendWeatherSvg":[{"__symbolic":"method"}]}}}}]
@@ -1,12 +1,13 @@
1
1
  import { ConfigStore } from '../config';
2
2
  import { VariableCommunicator } from '../communication';
3
3
  import { SecurityChecker } from '../security';
4
- import { VideoService, WeatherService, PermissionChecker, OperationRecordService } from '../service';
4
+ import { VideoService, WeatherService, PermissionChecker, OperationRecordService, ReleasedVariableService } from '../service';
5
5
  export interface GuiContext {
6
6
  readonly configStore: ConfigStore;
7
7
  readonly variableCommunicator: VariableCommunicator;
8
8
  readonly permissionChecker: PermissionChecker;
9
9
  readonly operationRecordService: OperationRecordService;
10
+ readonly releasedVariableService: ReleasedVariableService;
10
11
  readonly securityChecker: SecurityChecker;
11
12
  readonly videoService: VideoService;
12
13
  readonly weatherService: WeatherService;
package/gui/gui-host.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare class GuiHost implements Disposable {
13
13
  readonly el: ElementRef;
14
14
  private isLoaded;
15
15
  private currentView;
16
- private currentViewIndex;
16
+ currentViewIndex: number;
17
17
  private containerEl;
18
18
  private currentViewSize;
19
19
  private currentViewReiszeMode;
package/gui/gui-view.d.ts CHANGED
@@ -26,6 +26,7 @@ export declare class GuiView implements PopupViewService {
26
26
  private perViewVariableCommunicator;
27
27
  private svgRootClass;
28
28
  private isMobileMode;
29
+ private signalRAppId;
29
30
  constructor(injector: Injector, bsModalService: BsModalService, context: GuiContext, parentView?: GuiView);
30
31
  resize(size: Size, resizeMode: ViewResizeMode, svgRootClass: string): void;
31
32
  load(config: ViewModel, guiOptions: GuiOptions): void;
package/gui/gui-view.js CHANGED
@@ -22,6 +22,7 @@ export class GuiView {
22
22
  parentView.childViews.push(this);
23
23
  }
24
24
  this.isMobileMode = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
25
+ this.signalRAppId = Guid.newGuid().toString('n');
25
26
  }
26
27
  get element() {
27
28
  return this.mainElement.rootElement;
@@ -52,7 +53,7 @@ export class GuiView {
52
53
  const { context } = this;
53
54
  this.svgRootClass = guiOptions.svgRootClass;
54
55
  this.perViewVariableCommunicator = new PerViewVariableCommunicator(context.variableCommunicator);
55
- this.mainElement = new MainElement(this.injector, this.bsModalService, context, this.perViewVariableCommunicator, this);
56
+ this.mainElement = new MainElement(this.injector, this.bsModalService, context, this.perViewVariableCommunicator, this, this.signalRAppId);
56
57
  this.mainElement.load(config.config, !!this.parentView, guiOptions);
57
58
  setTimeout(() => {
58
59
  this.loadElementState();
@@ -196,7 +197,7 @@ export class GuiView {
196
197
  }
197
198
  normalOpenedVariableNames(normalVariableNames) {
198
199
  if (normalVariableNames.length > 0) {
199
- this.openVariablesSubscription = this.perViewVariableCommunicator.openVariables(normalVariableNames)
200
+ this.openVariablesSubscription = this.perViewVariableCommunicator.openVariables(normalVariableNames, this.signalRAppId)
200
201
  .subscribe(variableValues => this.mainElement.reportVariableValues(variableValues));
201
202
  }
202
203
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"GuiView":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":46,"character":43},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":47,"character":41},{"__symbolic":"reference","module":"./gui-context","name":"GuiContext","line":48,"character":34},{"__symbolic":"reference","name":"GuiView"}]}],"resize":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"loadElementState":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"showMusk":[{"__symbolic":"method"}],"showShadow":[{"__symbolic":"method"}],"hideMusk":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"normalOpenedVariableNames":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"GuiView":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":47,"character":43},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":48,"character":41},{"__symbolic":"reference","module":"./gui-context","name":"GuiContext","line":49,"character":34},{"__symbolic":"reference","name":"GuiView"}]}],"resize":[{"__symbolic":"method"}],"load":[{"__symbolic":"method"}],"loadElementState":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"showMusk":[{"__symbolic":"method"}],"showShadow":[{"__symbolic":"method"}],"hideMusk":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"normalOpenedVariableNames":[{"__symbolic":"method"}]}}}}]
@@ -24,10 +24,12 @@ export declare class GuiComponent implements OnChanges, OnDestroy {
24
24
  initHeight: number;
25
25
  lastScale: number;
26
26
  isMobileMode: boolean;
27
+ hostContainerId: string;
27
28
  private $svg;
28
29
  private host;
29
30
  private get viewResizeMode();
30
31
  private readonly globalSettings;
32
+ private readonly viewService;
31
33
  constructor(el: ElementRef, localization: Localization, injector: Injector, bsModalService: BsModalService);
32
34
  ngOnChanges(changes: {
33
35
  [propKey: string]: SimpleChange;
@@ -39,4 +41,5 @@ export declare class GuiComponent implements OnChanges, OnDestroy {
39
41
  private onSizeChanged;
40
42
  private onResizeModeChanged;
41
43
  private onDisplayModeChanged;
44
+ refreshCurrentPage(): boolean;
42
45
  }
@@ -18,6 +18,7 @@ import { Size } from '../model';
18
18
  import { DisplayMode, GlobalSettings, ViewResizeMode } from '../settings';
19
19
  import { GuiHost } from './gui-host';
20
20
  import { Guid } from '../utils/guid';
21
+ import { ViewService } from '../view/view.service';
21
22
  let GuiComponent = class GuiComponent {
22
23
  constructor(el, localization, injector, bsModalService) {
23
24
  this.el = el;
@@ -29,6 +30,7 @@ let GuiComponent = class GuiComponent {
29
30
  this.lastScale = 1;
30
31
  this.isMobileMode = false;
31
32
  this.globalSettings = this.injector.get(GlobalSettings);
33
+ this.viewService = injector.get(ViewService);
32
34
  }
33
35
  get viewResizeMode() {
34
36
  switch (this.resizeMode) {
@@ -131,11 +133,11 @@ let GuiComponent = class GuiComponent {
131
133
  this.$svg = $(this.el.nativeElement).find('div.svgView').first();
132
134
  this.$svg.empty();
133
135
  const svgRootClass = 'S' + Guid.newGuid().toString('n');
134
- const hostContainerId = 'H' + Guid.newGuid().toString('n');
136
+ this.hostContainerId = 'H' + Guid.newGuid().toString('n');
135
137
  this.$svg.addClass(svgRootClass);
136
138
  const guiOptions = {
137
139
  svgRootClass: svgRootClass,
138
- hostContainerId: hostContainerId,
140
+ hostContainerId: this.hostContainerId,
139
141
  el: this.el
140
142
  };
141
143
  const host = new GuiHost(this.injector, this.bsModalService, newValue, guiOptions, this.el);
@@ -190,6 +192,17 @@ let GuiComponent = class GuiComponent {
190
192
  this.isMobileMode = this.displayMode === 'Mobile';
191
193
  this.globalSettings.displayMode = this.isMobileMode ? DisplayMode.Mobile : DisplayMode.Web;
192
194
  }
195
+ refreshCurrentPage() {
196
+ if (this.host.currentViewIndex === undefined) {
197
+ return false;
198
+ }
199
+ const toggleView = this.viewService.toggleViews.get(this.el);
200
+ if (!toggleView) {
201
+ return false;
202
+ }
203
+ toggleView(this.host.currentViewIndex, this.hostContainerId, this.el).subscribe();
204
+ return true;
205
+ }
193
206
  };
194
207
  __decorate([
195
208
  Input(),
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"GuiComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"fc-gui","template":"<div> <div class='svgView' style=\"position: relative;display: flex;justify-content: center;align-items: center;\"></div> </div> "}]}],"members":{"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"resizeMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"displayMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5}}]}],"loaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","module":"../localization","name":"LOCALIZATION","line":46,"character":16}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":45,"character":37},{"__symbolic":"reference","module":"../localization","name":"Localization","line":46,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":47,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":48,"character":41}]}],"ngOnChanges":[{"__symbolic":"method"}],"doubleFingerZooming":[{"__symbolic":"method"}],"getDistance":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onProviderChanged":[{"__symbolic":"method"}],"onSizeChanged":[{"__symbolic":"method"}],"onResizeModeChanged":[{"__symbolic":"method"}],"onDisplayModeChanged":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"GuiComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"fc-gui","template":"<div> <div class='svgView' style=\"position: relative;display: flex;justify-content: center;align-items: center;\"></div> </div> "}]}],"members":{"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"resizeMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"displayMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"loaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"../localization","name":"LOCALIZATION","line":50,"character":16}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":37},{"__symbolic":"reference","module":"../localization","name":"Localization","line":50,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":51,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":52,"character":41}]}],"ngOnChanges":[{"__symbolic":"method"}],"doubleFingerZooming":[{"__symbolic":"method"}],"getDistance":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onProviderChanged":[{"__symbolic":"method"}],"onSizeChanged":[{"__symbolic":"method"}],"onResizeModeChanged":[{"__symbolic":"method"}],"onDisplayModeChanged":[{"__symbolic":"method"}],"refreshCurrentPage":[{"__symbolic":"method"}]}}}}]
@@ -4,8 +4,10 @@ export interface Localization {
4
4
  loadFailed: any;
5
5
  setting: any;
6
6
  submit: any;
7
+ submitting: any;
7
8
  numericalValueRequired: any;
8
9
  invalidNumericalValue: any;
10
+ writeValueTimeout: any;
9
11
  binaryType: any;
10
12
  decimalType: any;
11
13
  hexadecimalType: any;
@@ -30,7 +32,9 @@ export interface Localization {
30
32
  permissiontip: any;
31
33
  conditionIsNotMetTip: any;
32
34
  chartNoData: any;
35
+ lastThirtyMinutes: any;
33
36
  lastOneHour: any;
37
+ lastEightHour: any;
34
38
  lastTwentyFourHours: any;
35
39
  lastSevenDays: any;
36
40
  lastThirtyDays: any;
@@ -47,5 +51,8 @@ export interface Localization {
47
51
  weatherNotSupport: any;
48
52
  weatherNotAddress: any;
49
53
  weatherNotAvailable: any;
54
+ airQualityNotSupport: any;
55
+ airQualityNotAddress: any;
56
+ airQualityNotAvailable: any;
50
57
  }
51
58
  export declare const DefaultLocalization: Localization;