@flexem/fc-gui 3.0.0-alpha.5 → 3.0.0-alpha.50

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 +203 -5
  2. package/bundles/@flexem/fc-gui.umd.js +2666 -1563
  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 +103 -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 -1
  109. package/elements/video/video-element.js +2 -2
  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 +12 -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 +2 -1
  131. package/modal/write-value/write-value-modal-args.js +2 -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 +8 -7
  134. package/modal/write-value/write-value-modal.component.html +5 -2
  135. package/modal/write-value/write-value-modal.component.js +29 -23
  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,7 +16,7 @@ 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;
@@ -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;
@@ -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"}],"initVideo":[{"__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(): void;
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,14 @@ 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
+ const viewIndex = this.host.currentViewIndex || 0;
197
+ const toggleView = this.viewService.toggleViews.get(this.el);
198
+ if (!toggleView) {
199
+ return;
200
+ }
201
+ toggleView(viewIndex, this.hostContainerId, this.el).subscribe();
202
+ }
193
203
  };
194
204
  __decorate([
195
205
  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;
@@ -4,8 +4,10 @@ export const DefaultLocalization = {
4
4
  loadFailed: 'Load failed.',
5
5
  setting: 'Setting',
6
6
  submit: 'Submit',
7
+ submitting: 'Submitting···',
7
8
  numericalValueRequired: 'Numerical value can\'t be emtpy',
8
9
  invalidNumericalValue: 'Numerical value is not valid',
10
+ writeValueTimeout: 'write value error: timeout',
9
11
  binaryType: 'Binary',
10
12
  decimalType: 'Decimal',
11
13
  hexadecimalType: 'Hexadecimal',
@@ -30,7 +32,9 @@ export const DefaultLocalization = {
30
32
  permissiontip: 'You have no permission to operate.',
31
33
  conditionIsNotMetTip: 'Unsatisfied operating conditions or variable abnorma.',
32
34
  chartNoData: 'No Data Available',
35
+ lastThirtyMinutes: 'Last thirty minutes',
33
36
  lastOneHour: 'Last one hour',
37
+ lastEightHour: 'Last eight hours',
34
38
  lastTwentyFourHours: 'Last 24 hours',
35
39
  lastSevenDays: 'Last 7 days',
36
40
  lastThirtyDays: 'Last 30 days',
@@ -46,5 +50,8 @@ export const DefaultLocalization = {
46
50
  unconfiguredVideoAddress: 'Unconfigured Video Address',
47
51
  weatherNotSupport: 'Location not supported',
48
52
  weatherNotAddress: 'Address not configured',
49
- weatherNotAvailable: 'Address not yet available'
53
+ weatherNotAvailable: 'Address not yet available',
54
+ airQualityNotSupport: 'Location not supported',
55
+ airQualityNotAddress: 'Address not configured',
56
+ airQualityNotAvailable: 'Address not yet available'
50
57
  };
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting","submit":"Submit","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Sure to do this operation?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Unsatisfied operating conditions or variable abnorma.","chartNoData":"No Data Available","lastOneHour":"Last one hour","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 1 year","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password verifiers","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available"}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting","submit":"Submit","submitting":"Submitting···","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","writeValueTimeout":"write value error: timeout","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Sure to do this operation?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Unsatisfied operating conditions or variable abnorma.","chartNoData":"No Data Available","lastThirtyMinutes":"Last thirty minutes","lastOneHour":"Last one hour","lastEightHour":"Last eight hours","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 1 year","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password verifiers","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available","airQualityNotSupport":"Location not supported","airQualityNotAddress":"Address not configured","airQualityNotAvailable":"Address not yet available"}}}]
@@ -2,8 +2,10 @@ export const Localization_zh_CN = {
2
2
  loadFailed: '加载失败.',
3
3
  setting: '设置',
4
4
  submit: '提交',
5
+ submitting: '提交中···',
5
6
  numericalValueRequired: '数值不能为空',
6
7
  invalidNumericalValue: '数值格式不正确',
8
+ writeValueTimeout: '写值错误:超时',
7
9
  binaryType: '二进制',
8
10
  decimalType: '十进制',
9
11
  hexadecimalType: '十六进制',
@@ -28,7 +30,9 @@ export const Localization_zh_CN = {
28
30
  permissiontip: '您无权限执行此操作',
29
31
  conditionIsNotMetTip: '操作条件不满足或逻辑控制变量异常',
30
32
  chartNoData: '无数据',
33
+ lastThirtyMinutes: '最近30分钟',
31
34
  lastOneHour: '最近1小时',
35
+ lastEightHour: '最近8小时',
32
36
  lastTwentyFourHours: '最近24小时',
33
37
  lastSevenDays: '最近7天',
34
38
  lastThirtyDays: '最近30天',
@@ -44,5 +48,8 @@ export const Localization_zh_CN = {
44
48
  unconfiguredVideoAddress: '未配置视频地址',
45
49
  weatherNotSupport: '当前位置暂不支持',
46
50
  weatherNotAddress: '当前设备未设置地址',
47
- weatherNotAvailable: '暂未获取设备地址'
51
+ weatherNotAvailable: '暂未获取设备地址',
52
+ airQualityNotSupport: '当前位置暂不支持',
53
+ airQualityNotAddress: '当前设备未设置地址',
54
+ airQualityNotAvailable: '暂未获取设备地址'
48
55
  };
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastOneHour":"最近1小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近1年","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址"}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","submitting":"提交中···","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","writeValueTimeout":"写值错误:超时","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastThirtyMinutes":"最近30分钟","lastOneHour":"最近1小时","lastEightHour":"最近8小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近1年","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址","airQualityNotSupport":"当前位置暂不支持","airQualityNotAddress":"当前设备未设置地址","airQualityNotAvailable":"暂未获取设备地址"}}}]
@@ -2,10 +2,11 @@ import { NumericalOperation } from '../../model';
2
2
  export declare class WriteValueModalArgs {
3
3
  variableName: string;
4
4
  dataType: number;
5
+ fBoxDataType: number;
5
6
  integerDigits: number;
6
7
  fractionDigits: number;
7
8
  numericalOperation: NumericalOperation;
8
9
  version: number;
9
10
  enableDataParsed: boolean;
10
- constructor(variableName: string, dataType: number, integerDigits: number, fractionDigits: number, numericalOperation: NumericalOperation, version: number, enableDataParsed: boolean);
11
+ constructor(variableName: string, dataType: number, fBoxDataType: number, integerDigits: number, fractionDigits: number, numericalOperation: NumericalOperation, version: number, enableDataParsed: boolean);
11
12
  }
@@ -1,7 +1,8 @@
1
1
  export class WriteValueModalArgs {
2
- constructor(variableName, dataType, integerDigits, fractionDigits, numericalOperation, version, enableDataParsed) {
2
+ constructor(variableName, dataType, fBoxDataType, integerDigits, fractionDigits, numericalOperation, version, enableDataParsed) {
3
3
  this.variableName = variableName;
4
4
  this.dataType = dataType;
5
+ this.fBoxDataType = fBoxDataType;
5
6
  this.integerDigits = integerDigits;
6
7
  this.fractionDigits = fractionDigits;
7
8
  this.numericalOperation = numericalOperation;
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WriteValueModalArgs":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"../../model","name":"NumericalOperation","line":8,"character":35},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WriteValueModalArgs":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"../../model","name":"NumericalOperation","line":9,"character":35},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"}]}]}}}}]