@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
@@ -3,8 +3,8 @@ import { GraphStateElement } from '../shared/graph/graph-state-element';
3
3
  import { LOGGER_SERVICE_TOKEN } from '../../logger';
4
4
  import { TextElementModal } from '../shared/text/text-element';
5
5
  export class HyperlinkElement extends ConditionalDynamicDisplayElement {
6
- constructor(element, injector, permissionChecker, variableCommunicator, variableStore, graphStore) {
7
- super(element, permissionChecker, variableCommunicator, variableStore);
6
+ constructor(element, injector, permissionChecker, variableCommunicator, variableStore, graphStore, signalRAppId) {
7
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
8
8
  this.graphStore = graphStore;
9
9
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
10
10
  if (this.model.size) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"HyperlinkElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":12,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":17,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":17,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":17,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":18,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":18,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":18,"character":111}]}],"initGraphAndText":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"HyperlinkElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":12,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":17,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":17,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":17,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":18,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":18,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":18,"character":111},{"__symbolic":"reference","name":"string"}]}],"initGraphAndText":[{"__symbolic":"method"}]}}}}]
@@ -9,6 +9,6 @@ export declare class ImageElement extends ConditionalDynamicDisplayElement {
9
9
  private readonly graphStore;
10
10
  readonly model: Image;
11
11
  protected readonly logger: LoggerService;
12
- constructor(element: HTMLElement, injector: Injector, imageStore: ImageStore, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore);
12
+ constructor(element: HTMLElement, injector: Injector, imageStore: ImageStore, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore, signalRAppId: string);
13
13
  private initGraph;
14
14
  }
@@ -3,8 +3,8 @@ import { ImageFillType } from '../../model/image/image-fill-type';
3
3
  import { GraphStateElement } from '../shared/graph/graph-state-element';
4
4
  import { LOGGER_SERVICE_TOKEN } from '../../logger';
5
5
  export class ImageElement extends ConditionalDynamicDisplayElement {
6
- constructor(element, injector, imageStore, permissionChecker, variableCommunicator, variableStore, graphStore) {
7
- super(element, permissionChecker, variableCommunicator, variableStore);
6
+ constructor(element, injector, imageStore, permissionChecker, variableCommunicator, variableStore, graphStore, signalRAppId) {
7
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
8
8
  this.graphStore = graphStore;
9
9
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
10
10
  if (!this.model.version || this.model.version < 4 || this.model.fillType !== ImageFillType.Graph) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ImageElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":10,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":16,"character":18},{"__symbolic":"reference","module":"../../config","name":"ImageStore","line":17,"character":20},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":18,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":19,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":20,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":21,"character":37}]}],"initGraph":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ImageElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":10,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":16,"character":18},{"__symbolic":"reference","module":"../../config","name":"ImageStore","line":17,"character":20},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":18,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":19,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":20,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":21,"character":37},{"__symbolic":"reference","name":"string"}]}],"initGraph":[{"__symbolic":"method"}]}}}}]
@@ -9,7 +9,7 @@ export declare class TextElement extends ConditionalDynamicDisplayElement {
9
9
  private readonly graphStore;
10
10
  protected readonly model: TextModel;
11
11
  protected readonly logger: LoggerService;
12
- constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore);
12
+ constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, graphStore: GraphStore, signalRAppId: string);
13
13
  dispose(): void;
14
14
  private handleTextValue;
15
15
  private initGraph;
@@ -3,8 +3,8 @@ import { GraphStateElement } from '../shared/graph/graph-state-element';
3
3
  import { LOGGER_SERVICE_TOKEN } from '../../logger';
4
4
  import { TextElementModal } from '../shared/text/text-element';
5
5
  export class TextElement extends ConditionalDynamicDisplayElement {
6
- constructor(element, injector, permissionChecker, variableCommunicator, variableStore, graphStore) {
7
- super(element, permissionChecker, variableCommunicator, variableStore);
6
+ constructor(element, injector, permissionChecker, variableCommunicator, variableStore, graphStore, signalRAppId) {
7
+ super(element, permissionChecker, variableCommunicator, variableStore, signalRAppId);
8
8
  this.graphStore = graphStore;
9
9
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
10
10
  if (this.model.text && this.model.size) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"TextElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":10,"character":33},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":15,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":15,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":16,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":16,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":16,"character":111}]}],"dispose":[{"__symbolic":"method"}],"handleTextValue":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TextElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":10,"character":33},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":15,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":15,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":16,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":16,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":16,"character":111},{"__symbolic":"reference","name":"string"}]}],"dispose":[{"__symbolic":"method"}],"handleTextValue":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}]}}}}]
@@ -15,6 +15,6 @@ export declare class BitIndicatorLightOperator implements IndicatorLightOperator
15
15
  private onStateId?;
16
16
  get variableName(): string;
17
17
  constructor(settings: BitIndicatorLightSettings, states: SwitchIndicatorState[], variableCommunicator: VariableCommunicator, variableStore: VariableStore);
18
- requestData(): void;
18
+ requestData(appId: string): void;
19
19
  private requestCurrentSateIdValue;
20
20
  }
@@ -42,11 +42,11 @@ export class BitIndicatorLightOperator {
42
42
  const variableName = new VariableDefinition(this.settings.variableName, this.settings.variableGroupName, this.settings.dataSourceCode, this.settings.variableVersion);
43
43
  return VariableUtil.getConvertedVariableName(this.variableStore, variableName);
44
44
  }
45
- requestData() {
45
+ requestData(appId) {
46
46
  if (this.variableName) {
47
47
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableStete => {
48
48
  if (variableStete.state === VariableStateEnum.Normal) {
49
- this.requestCurrentSateIdValue(this.variableCommunicator);
49
+ this.requestCurrentSateIdValue(this.variableCommunicator, appId);
50
50
  }
51
51
  else {
52
52
  this.currentStateIdChanged.emit(new CurrentStateIdValue(new VariableState(this.variableName, variableStete.state)));
@@ -54,8 +54,8 @@ export class BitIndicatorLightOperator {
54
54
  });
55
55
  }
56
56
  }
57
- requestCurrentSateIdValue(variableCommunicator) {
58
- variableCommunicator.openVariable(this.variableName).subscribe(value => {
57
+ requestCurrentSateIdValue(variableCommunicator, appId = '') {
58
+ variableCommunicator.openVariable(this.variableName, appId).subscribe(value => {
59
59
  if (value.state === VariableStateEnum.DataNormal) {
60
60
  if (this.settings.isBitwiseIndex) {
61
61
  const maxBitIndex = 31;
@@ -7,11 +7,13 @@ export declare class BitSwitchOperator implements SwitchOperator {
7
7
  private readonly settings;
8
8
  private readonly variableCommunicator;
9
9
  private readonly variableStore;
10
+ private readonly signalRAppId;
10
11
  private currentValue;
11
12
  private canExecuteInternal;
12
13
  private binary;
13
14
  get variableName(): string;
14
- constructor(settings: BitSwitchSettings, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
15
+ constructor(settings: BitSwitchSettings, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
15
16
  canExecute(): boolean;
16
17
  execute(): Promise<VariableOptionModel>;
18
+ writeValue(value: any): Promise<VariableOptionModel>;
17
19
  }
@@ -4,10 +4,11 @@ import { Binary } from '../../model/shared/binary';
4
4
  import { VariableUtil } from '../../utils/variable-util';
5
5
  import { VariableDefinition } from '../../communication/variable/variable-definition';
6
6
  export class BitSwitchOperator {
7
- constructor(settings, variableCommunicator, variableStore) {
7
+ constructor(settings, variableCommunicator, variableStore, signalRAppId) {
8
8
  this.settings = settings;
9
9
  this.variableCommunicator = variableCommunicator;
10
10
  this.variableStore = variableStore;
11
+ this.signalRAppId = signalRAppId;
11
12
  if (!this.settings) {
12
13
  throw new Error('settings cannot be null');
13
14
  }
@@ -15,7 +16,7 @@ export class BitSwitchOperator {
15
16
  this.canExecuteInternal = true;
16
17
  }
17
18
  else {
18
- variableCommunicator.openVariable(this.variableName).subscribe(value => {
19
+ variableCommunicator.openVariable(this.variableName, this.signalRAppId).subscribe(value => {
19
20
  this.currentValue = value;
20
21
  this.canExecuteInternal = this.currentValue && this.currentValue.state === VariableStateEnum.DataNormal;
21
22
  });
@@ -71,6 +72,8 @@ export class BitSwitchOperator {
71
72
  }
72
73
  }
73
74
  break;
75
+ case BitSwitchOperation.Restoration:
76
+ break;
74
77
  default:
75
78
  throw new Error(`Unknown BitSwitchOperation:${settings.operation}`);
76
79
  }
@@ -84,4 +87,21 @@ export class BitSwitchOperator {
84
87
  newValue: newValue
85
88
  });
86
89
  }
90
+ writeValue(value) {
91
+ if (this.settings.isBitwiseIndex) {
92
+ this.variableCommunicator.writeWordByBit(this.variableName, this.settings.bitIndex, value).subscribe();
93
+ }
94
+ else {
95
+ this.variableCommunicator.write(this.variableName, value).subscribe();
96
+ }
97
+ let originValue;
98
+ if (this.currentValue && this.currentValue.value !== undefined) {
99
+ originValue = this.currentValue.value;
100
+ }
101
+ return Promise.resolve({
102
+ variableName: this.variableName,
103
+ originValue: originValue,
104
+ newValue: value
105
+ });
106
+ }
87
107
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"BitSwitchOperator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../model","name":"BitSwitchSettings","line":21,"character":43},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":21,"character":101},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":22,"character":40}]}],"canExecute":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"BitSwitchOperator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../model","name":"BitSwitchSettings","line":21,"character":43},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":21,"character":101},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":22,"character":40},{"__symbolic":"reference","name":"string"}]}],"canExecute":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}}}}]
@@ -4,5 +4,5 @@ export interface IndicatorLightOperator {
4
4
  readonly variableName: string;
5
5
  currentStateId?: number;
6
6
  currentStateIdChanged: EventEmitter<CurrentStateIdValue>;
7
- requestData: () => void;
7
+ requestData: (appId: string) => void;
8
8
  }
@@ -19,9 +19,17 @@ export declare class SwitchIndicatorLightElement extends ConditionalEnableElemen
19
19
  private graphStateElement?;
20
20
  private textStateElement;
21
21
  private isMobileMode;
22
- constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization);
22
+ private isBitRestoration;
23
+ private isVerifiedForRestoration;
24
+ private restorationTimer;
25
+ private isWriteRestorationDownValue;
26
+ private onDocMouseUp;
27
+ constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string);
28
+ handleMouseUp(): void;
29
+ private initOnDocMouseUpEvent;
23
30
  private checkElementPassword;
24
31
  private doSwitchOperator;
32
+ private writeValue;
25
33
  private initSwitchOperator;
26
34
  private initIndictorLightOperator;
27
35
  private currentStateIdChange;
@@ -1,7 +1,7 @@
1
1
  import { LOGGER_SERVICE_TOKEN } from '../../logger';
2
2
  import * as d3 from 'd3-selection';
3
3
  import { isUndefined } from 'lodash';
4
- import { IndicatorLightType, SwitchType, State } from '../../model';
4
+ import { IndicatorLightType, SwitchType, State, BitSwitchOperation } from '../../model';
5
5
  import { VariableState } from '../../communication';
6
6
  import { ConditionalEnableElement } from '../base/conditional-enable-element';
7
7
  import { GraphStateElement } from '../shared/graph/graph-state-element';
@@ -17,19 +17,22 @@ import { DisplayMode, GlobalSettings } from '../../settings';
17
17
  import { VariableUtil } from '../../utils/variable-util';
18
18
  import { VariableDefinition } from '../../communication/variable/variable-definition';
19
19
  export class SwitchIndicatorLightElement extends ConditionalEnableElement {
20
- constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization) {
21
- super(element, permissionChecker, variableCommunicator, variableStore, localization);
20
+ constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization, signalRAppId) {
21
+ super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
22
22
  this.modalService = modalService;
23
23
  this.graphStore = graphStore;
24
24
  this.operationRecordService = operationRecordService;
25
25
  this.securityChecker = securityChecker;
26
+ this.isBitRestoration = false; // 是否是 位设定且执行设置是复位
27
+ this.isVerifiedForRestoration = false; // 位设定且执行设置是复位情况下,是否已经完成了验证
28
+ this.isWriteRestorationDownValue = false;
26
29
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
27
30
  this.isMobileMode = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
28
31
  this.checkState();
29
32
  if (this.model.useSwitch) {
30
33
  this.initSwitchOperator();
31
34
  this.rootElement.style('cursor', 'hand');
32
- this.rootElement.on('mousedown', () => {
35
+ this.rootElement.on(this.isMobileMode ? 'touchstart' : 'mousedown', () => {
33
36
  if (!this.isInitialized) {
34
37
  return;
35
38
  }
@@ -43,31 +46,39 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
43
46
  return;
44
47
  }
45
48
  if (this.switchOperator.canExecute()) {
46
- if (this.model.useSecurity) {
47
- const modalRef = this.modalService.show(ConfirmOperationModalComponent, { backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
48
- const onClosedSub = modalRef.content.onClosed.subscribe(result => {
49
- modalRef.hide();
50
- onClosedSub.unsubscribe();
51
- if (result) {
52
- this.checkElementPassword();
49
+ if (!this.isBitRestoration || !this.isVerifiedForRestoration) {
50
+ if (this.model.useSecurity) {
51
+ const modalRef = this.modalService.show(ConfirmOperationModalComponent, { backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
52
+ const onClosedSub = modalRef.content.onClosed.subscribe(result => {
53
+ modalRef.hide();
54
+ onClosedSub.unsubscribe();
55
+ if (result) {
56
+ this.checkElementPassword(true);
57
+ }
58
+ });
59
+ }
60
+ else {
61
+ this.checkElementPassword(false);
62
+ if (!this.model.useIndicatorLight && !this.isMobileMode) {
63
+ this.switchToState(1);
53
64
  }
54
- });
65
+ }
55
66
  }
56
67
  else {
57
- this.checkElementPassword();
58
- if (!this.model.useIndicatorLight && !this.isMobileMode) {
59
- this.switchToState(1);
60
- }
68
+ document.addEventListener(this.isMobileMode ? 'touchend' : 'mouseup', this.onDocMouseUp);
69
+ this.restorationTimer = setTimeout(() => {
70
+ this.writeValue(1);
71
+ this.isWriteRestorationDownValue = true;
72
+ }, 1000);
61
73
  }
62
74
  d3.event.preventDefault();
63
75
  }
64
76
  });
65
- if (!this.model.useIndicatorLight && !this.isMobileMode) {
66
- this.rootElement.on('mouseup', () => {
67
- this.switchToState(0);
68
- d3.event.preventDefault();
69
- });
70
- }
77
+ this.rootElement.on(this.isMobileMode ? 'touchend' : 'mouseup', () => {
78
+ this.handleMouseUp();
79
+ d3.event.stopPropagation();
80
+ });
81
+ this.initOnDocMouseUpEvent();
71
82
  }
72
83
  this.initGraphAndText();
73
84
  if (this.model.useIndicatorLight) {
@@ -77,19 +88,62 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
77
88
  this.switchToState(0);
78
89
  }
79
90
  }
80
- checkElementPassword() {
91
+ handleMouseUp() {
92
+ if (this.restorationTimer) {
93
+ clearTimeout(this.restorationTimer);
94
+ this.restorationTimer = undefined;
95
+ }
96
+ if (this.isBitRestoration && this.isWriteRestorationDownValue) {
97
+ this.writeValue(0);
98
+ }
99
+ document.removeEventListener(this.isMobileMode ? 'touchend' : 'mouseup', this.onDocMouseUp);
100
+ this.isVerifiedForRestoration = false;
101
+ this.isWriteRestorationDownValue = false;
102
+ if (!this.model.useIndicatorLight && !this.isMobileMode) {
103
+ this.switchToState(0);
104
+ if (d3.event) {
105
+ d3.event.preventDefault();
106
+ }
107
+ }
108
+ }
109
+ initOnDocMouseUpEvent() {
110
+ this.onDocMouseUp = () => {
111
+ this.handleMouseUp();
112
+ };
113
+ }
114
+ checkElementPassword(afterConfirm) {
81
115
  if (this.model.enablePassword) {
82
116
  const modalRef = this.modalService.show(VerifyPasswordModalComponent, { initialState: { securityChecker: this.securityChecker }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
83
117
  const onClosedSub = modalRef.content.onClosed.subscribe(result => {
84
118
  modalRef.hide();
85
119
  onClosedSub.unsubscribe();
86
120
  if (result) {
87
- this.doSwitchOperator();
121
+ if (!this.isBitRestoration) {
122
+ this.doSwitchOperator();
123
+ }
124
+ else {
125
+ this.isVerifiedForRestoration = true;
126
+ }
88
127
  }
89
128
  });
90
129
  }
91
130
  else {
92
- this.doSwitchOperator();
131
+ if (!this.isBitRestoration) {
132
+ this.doSwitchOperator();
133
+ }
134
+ else {
135
+ if (afterConfirm) {
136
+ this.isVerifiedForRestoration = true;
137
+ }
138
+ else {
139
+ this.isVerifiedForRestoration = true;
140
+ document.addEventListener(this.isMobileMode ? 'touchend' : 'mouseup', this.onDocMouseUp);
141
+ this.restorationTimer = setTimeout(() => {
142
+ this.writeValue(1);
143
+ this.isWriteRestorationDownValue = true;
144
+ }, 1000);
145
+ }
146
+ }
93
147
  }
94
148
  }
95
149
  doSwitchOperator() {
@@ -106,16 +160,31 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
106
160
  throw new Error('Failure of the operation record:switchOperator');
107
161
  });
108
162
  }
163
+ writeValue(value) {
164
+ this.switchOperator.writeValue(value).then(args => {
165
+ if (this.model.isRecordOperation || this.model.isRecordOperation === undefined) {
166
+ if (args.newValue !== undefined || args.originValue !== undefined) {
167
+ this.operationRecordService.record({
168
+ variableOptionModel: args,
169
+ operationDescription: this.model.operationDescription
170
+ });
171
+ }
172
+ }
173
+ }).catch(() => {
174
+ throw new Error('Failure of the operation record:switchOperator');
175
+ });
176
+ }
109
177
  initSwitchOperator() {
110
178
  const settings = this.model.switchSettings;
111
179
  switch (settings.type) {
112
180
  case SwitchType.Bit:
113
181
  this.switchOperator =
114
- new BitSwitchOperator(settings.settings, this.variableCommunicator, this.variableStore);
182
+ new BitSwitchOperator(settings.settings, this.variableCommunicator, this.variableStore, this.signalRAppId);
183
+ this.isBitRestoration = settings.settings.operation === BitSwitchOperation.Restoration;
115
184
  break;
116
185
  case SwitchType.Word:
117
186
  this.switchOperator =
118
- new WordSwitchOperator(settings.settings, this.variableCommunicator, this.variableStore);
187
+ new WordSwitchOperator(settings.settings, this.variableCommunicator, this.variableStore, this.signalRAppId);
119
188
  break;
120
189
  default:
121
190
  throw new Error(`Unknown switchType:${settings.type}`);
@@ -141,7 +210,7 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
141
210
  this.indicatorLightOperator.currentStateIdChanged.subscribe(statusIdValue => {
142
211
  this.currentStateIdChange(statusIdValue);
143
212
  });
144
- this.indicatorLightOperator.requestData();
213
+ this.indicatorLightOperator.requestData(this.signalRAppId);
145
214
  }
146
215
  currentStateIdChange(statusIdValue) {
147
216
  if (!isUndefined(statusIdValue.value)) {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"SwitchIndicatorLightElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":32,"character":49},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":44,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":45,"character":18},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":46,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":47,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":48,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":49,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":50,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":51,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":52,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":53,"character":22}]}],"checkElementPassword":[{"__symbolic":"method"}],"doSwitchOperator":[{"__symbolic":"method"}],"initSwitchOperator":[{"__symbolic":"method"}],"initIndictorLightOperator":[{"__symbolic":"method"}],"currentStateIdChange":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraphAndText":[{"__symbolic":"method"}],"checkState":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"SwitchIndicatorLightElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":32,"character":49},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":50,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":51,"character":18},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":52,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":53,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":54,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":55,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":56,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":57,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":58,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":59,"character":22},{"__symbolic":"reference","name":"string"}]}],"handleMouseUp":[{"__symbolic":"method"}],"initOnDocMouseUpEvent":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"doSwitchOperator":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"initSwitchOperator":[{"__symbolic":"method"}],"initIndictorLightOperator":[{"__symbolic":"method"}],"currentStateIdChange":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraphAndText":[{"__symbolic":"method"}],"checkState":[{"__symbolic":"method"}]}}}}]
@@ -2,4 +2,5 @@ import { VariableOptionModel } from '../../service';
2
2
  export interface SwitchOperator {
3
3
  canExecute(): boolean;
4
4
  execute(): Promise<VariableOptionModel>;
5
+ writeValue(value: number): Promise<VariableOptionModel>;
5
6
  }
@@ -13,6 +13,6 @@ export declare class WordIndicatorLightOperator implements IndicatorLightOperato
13
13
  private sortedStates;
14
14
  get variableName(): string;
15
15
  constructor(settings: WordIndicatorLightSettings, states: SwitchIndicatorState[], variableCommunicator: VariableCommunicator, variableStore: VariableStore);
16
- requestData(): void;
16
+ requestData(appId: string): void;
17
17
  private requestCurrentSateIdValue;
18
18
  }
@@ -20,11 +20,11 @@ export class WordIndicatorLightOperator {
20
20
  const variable = new VariableDefinition(this.settings.variableName, this.settings.variableGroupName, this.settings.dataSourceCode, this.settings.variableVersion);
21
21
  return VariableUtil.getConvertedVariableName(this.variableStore, variable);
22
22
  }
23
- requestData() {
23
+ requestData(appId) {
24
24
  if (this.variableName) {
25
25
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
26
26
  if (variableValue.state === VariableStateEnum.Normal) {
27
- this.requestCurrentSateIdValue(this.variableCommunicator);
27
+ this.requestCurrentSateIdValue(this.variableCommunicator, appId);
28
28
  }
29
29
  else {
30
30
  this.currentStateIdChanged.emit(new CurrentStateIdValue(new VariableState(this.variableName, variableValue.state)));
@@ -32,12 +32,12 @@ export class WordIndicatorLightOperator {
32
32
  });
33
33
  }
34
34
  else {
35
- this.requestCurrentSateIdValue(this.variableCommunicator);
35
+ this.requestCurrentSateIdValue(this.variableCommunicator, appId);
36
36
  }
37
37
  }
38
- requestCurrentSateIdValue(variableCommunicator) {
38
+ requestCurrentSateIdValue(variableCommunicator, appId = '') {
39
39
  // TODO 检查状态id是从0-n连续编号的。
40
- variableCommunicator.openVariable(this.variableName).subscribe(value => {
40
+ variableCommunicator.openVariable(this.variableName, appId).subscribe(value => {
41
41
  if (value.state === VariableStateEnum.DataNormal) {
42
42
  let stateId = 0;
43
43
  for (let index = 0; index < this.sortedStates.length - 1; index++) {
@@ -7,10 +7,12 @@ export declare class WordSwitchOperator implements SwitchOperator {
7
7
  private readonly settings;
8
8
  private readonly variableCommunicator;
9
9
  private readonly variableStore;
10
+ private readonly signalRAppId;
10
11
  private currentValue;
11
12
  private canExecuteInternal;
12
13
  get variableName(): string;
13
- constructor(settings: WordSwitchSettings, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
14
+ constructor(settings: WordSwitchSettings, variableCommunicator: VariableCommunicator, variableStore: VariableStore, signalRAppId: string);
14
15
  canExecute(): boolean;
15
16
  execute(): Promise<VariableOptionModel>;
17
+ writeValue(value: any): Promise<VariableOptionModel>;
16
18
  }
@@ -4,10 +4,11 @@ import { VariableStateEnum } from '../../communication';
4
4
  import { VariableUtil } from '../../utils/variable-util';
5
5
  import { VariableDefinition } from '../../communication/variable/variable-definition';
6
6
  export class WordSwitchOperator {
7
- constructor(settings, variableCommunicator, variableStore) {
7
+ constructor(settings, variableCommunicator, variableStore, signalRAppId) {
8
8
  this.settings = settings;
9
9
  this.variableCommunicator = variableCommunicator;
10
10
  this.variableStore = variableStore;
11
+ this.signalRAppId = signalRAppId;
11
12
  if (!this.settings) {
12
13
  throw new Error('settings cannot be null');
13
14
  }
@@ -15,7 +16,7 @@ export class WordSwitchOperator {
15
16
  this.canExecuteInternal = true;
16
17
  }
17
18
  else {
18
- variableCommunicator.openVariable(this.variableName).subscribe(value => {
19
+ variableCommunicator.openVariable(this.variableName, this.signalRAppId).subscribe(value => {
19
20
  this.currentValue = value;
20
21
  this.canExecuteInternal = this.currentValue && this.currentValue.state === VariableStateEnum.DataNormal;
21
22
  });
@@ -65,4 +66,10 @@ export class WordSwitchOperator {
65
66
  newValue: newValue
66
67
  });
67
68
  }
69
+ // 此方法为 位设定添加的,字设定目前不会用到,为了解决接口error,添加一个空实现
70
+ writeValue(value) {
71
+ return Promise.resolve({
72
+ newValue: value
73
+ });
74
+ }
68
75
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WordSwitchOperator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../model","name":"WordSwitchSettings","line":20,"character":43},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":20,"character":102},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":21,"character":40}]}],"canExecute":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WordSwitchOperator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../model","name":"WordSwitchSettings","line":20,"character":43},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":20,"character":102},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":21,"character":40},{"__symbolic":"reference","name":"string"}]}],"canExecute":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}}}}]
@@ -5,5 +5,5 @@ import { TableModel } from '../../model/table/table-model';
5
5
  import { VariableStore } from '../../config';
6
6
  export declare class TableElement extends ConditionalDynamicDisplayElement {
7
7
  readonly model: TableModel;
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 TableElement 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":{"TableElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":34},"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":11,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":11,"character":67}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TableElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":34},"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":11,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":11,"character":67},{"__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 EllipseElement 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 EllipseElement 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":{"EllipseElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":36},"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":11,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":11,"character":67}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"EllipseElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":6,"character":36},"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":11,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":11,"character":67},{"__symbolic":"reference","name":"string"}]}]}}}}]
@@ -6,7 +6,7 @@ import { PolyLineModel } from '../../model/poly-line/poly-line-model';
6
6
  import { VariableStore } from '../../config';
7
7
  export declare class PolyLineElement extends ConditionalDynamicDisplayElement {
8
8
  readonly model: PolyLineModel;
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
  }