@flexem/fc-gui 3.0.0-alpha.7 → 3.0.0-alpha.71

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 (227) hide show
  1. package/CHANGELOG.md +301 -0
  2. package/bundles/@flexem/fc-gui.umd.js +18503 -17019
  3. package/bundles/@flexem/fc-gui.umd.js.map +1 -1
  4. package/bundles/@flexem/fc-gui.umd.min.js +5 -5
  5. package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
  6. package/communication/variable/variable-communicator.d.ts +3 -2
  7. package/config/alarm/alarm.store.d.ts +6 -0
  8. package/config/alarm/alarm.store.js +0 -0
  9. package/config/alarm/alarm.store.metadata.json +1 -0
  10. package/config/alarm/get-alarms-args.d.ts +9 -0
  11. package/config/alarm/get-alarms-args.js +9 -0
  12. package/config/alarm/get-alarms-args.metadata.json +1 -0
  13. package/config/alarm/index.d.ts +2 -0
  14. package/config/alarm/index.js +1 -0
  15. package/config/alarm/index.metadata.json +1 -0
  16. package/config/config-store.d.ts +2 -0
  17. package/config/index.d.ts +1 -0
  18. package/config/index.js +1 -0
  19. package/config/index.metadata.json +1 -1
  20. package/elements/air-quality/air-quality-element.d.ts +31 -0
  21. package/elements/air-quality/air-quality-element.js +194 -0
  22. package/elements/air-quality/air-quality-element.metadata.json +1 -0
  23. package/elements/alarm/alarm-element.d.ts +39 -0
  24. package/elements/alarm/alarm-element.js +300 -0
  25. package/elements/alarm/alarm-element.metadata.json +1 -0
  26. package/elements/alarm/alarm-state-enum.d.ts +4 -0
  27. package/elements/alarm/alarm-state-enum.js +5 -0
  28. package/elements/alarm/alarm-state-enum.metadata.json +1 -0
  29. package/elements/bar-graph-element.d.ts +8 -2
  30. package/elements/bar-graph-element.js +72 -6
  31. package/elements/bar-graph-element.metadata.json +1 -1
  32. package/elements/base/base-element.d.ts +2 -1
  33. package/elements/base/base-element.js +2 -1
  34. package/elements/base/base-element.metadata.json +1 -1
  35. package/elements/base/conditional-control-element.d.ts +1 -1
  36. package/elements/base/conditional-control-element.js +3 -3
  37. package/elements/base/conditional-control-element.metadata.json +1 -1
  38. package/elements/base/conditional-display-element.d.ts +1 -1
  39. package/elements/base/conditional-display-element.js +4 -4
  40. package/elements/base/conditional-display-element.metadata.json +1 -1
  41. package/elements/base/conditional-dynamic-display-element.d.ts +1 -1
  42. package/elements/base/conditional-dynamic-display-element.js +3 -3
  43. package/elements/base/conditional-dynamic-display-element.metadata.json +1 -1
  44. package/elements/base/conditional-enable-element.d.ts +1 -1
  45. package/elements/base/conditional-enable-element.js +4 -4
  46. package/elements/base/conditional-enable-element.metadata.json +1 -1
  47. package/elements/base/readable-element.d.ts +7 -2
  48. package/elements/base/readable-element.js +33 -4
  49. package/elements/base/readable-element.metadata.json +1 -1
  50. package/elements/base/state-control-element.d.ts +1 -1
  51. package/elements/base/state-control-element.js +2 -2
  52. package/elements/base/state-control-element.metadata.json +1 -1
  53. package/elements/character-display/character-display-element.d.ts +1 -1
  54. package/elements/character-display/character-display-element.js +2 -2
  55. package/elements/character-display/character-display-element.metadata.json +1 -1
  56. package/elements/datetime-display/datetime-display-element.d.ts +1 -1
  57. package/elements/datetime-display/datetime-display-element.js +2 -2
  58. package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
  59. package/elements/historical-curve/historical-curve.element.d.ts +1 -1
  60. package/elements/historical-curve/historical-curve.element.js +104 -15
  61. package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
  62. package/elements/main-element.d.ts +2 -1
  63. package/elements/main-element.js +48 -26
  64. package/elements/main-element.metadata.json +1 -1
  65. package/elements/meter-element.d.ts +8 -2
  66. package/elements/meter-element.js +78 -9
  67. package/elements/meter-element.metadata.json +1 -1
  68. package/elements/numerical-display/numerical-display-element.d.ts +8 -2
  69. package/elements/numerical-display/numerical-display-element.js +47 -11
  70. package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
  71. package/elements/per-view-variable-communicator.d.ts +4 -2
  72. package/elements/per-view-variable-communicator.js +12 -4
  73. package/elements/per-view-variable-communicator.metadata.json +1 -1
  74. package/elements/pipe/pipe-element.d.ts +1 -1
  75. package/elements/pipe/pipe-element.js +2 -2
  76. package/elements/pipe/pipe-element.metadata.json +1 -1
  77. package/elements/ring-graph/ring-graph-element.d.ts +11 -2
  78. package/elements/ring-graph/ring-graph-element.js +108 -5
  79. package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
  80. package/elements/shared/graph/graph-state-element.js +0 -3
  81. package/elements/shared/text/text-element.js +13 -2
  82. package/elements/shared/text/text-state-element.js +1 -1
  83. package/elements/static-elements/hyperlink-element.d.ts +1 -1
  84. package/elements/static-elements/hyperlink-element.js +2 -2
  85. package/elements/static-elements/hyperlink-element.metadata.json +1 -1
  86. package/elements/static-elements/image-element.d.ts +1 -1
  87. package/elements/static-elements/image-element.js +2 -2
  88. package/elements/static-elements/image-element.metadata.json +1 -1
  89. package/elements/static-elements/text-element.d.ts +1 -1
  90. package/elements/static-elements/text-element.js +2 -2
  91. package/elements/static-elements/text-element.metadata.json +1 -1
  92. package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -1
  93. package/elements/switch-indicator-light/bit-indicator-light-operator.js +4 -4
  94. package/elements/switch-indicator-light/bit-switch-operator.d.ts +3 -1
  95. package/elements/switch-indicator-light/bit-switch-operator.js +22 -2
  96. package/elements/switch-indicator-light/bit-switch-operator.metadata.json +1 -1
  97. package/elements/switch-indicator-light/indicator-light-operator.d.ts +1 -1
  98. package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +9 -1
  99. package/elements/switch-indicator-light/switch-indicator-light-element.js +97 -28
  100. package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
  101. package/elements/switch-indicator-light/switch-operator.d.ts +1 -0
  102. package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -1
  103. package/elements/switch-indicator-light/word-indicator-light-operator.js +5 -5
  104. package/elements/switch-indicator-light/word-switch-operator.d.ts +3 -1
  105. package/elements/switch-indicator-light/word-switch-operator.js +9 -2
  106. package/elements/switch-indicator-light/word-switch-operator.metadata.json +1 -1
  107. package/elements/table/table-element.d.ts +1 -1
  108. package/elements/table/table-element.js +2 -2
  109. package/elements/table/table-element.metadata.json +1 -1
  110. package/elements/vector-graphics/ellipse-element.d.ts +1 -1
  111. package/elements/vector-graphics/ellipse-element.js +2 -2
  112. package/elements/vector-graphics/ellipse-element.metadata.json +1 -1
  113. package/elements/vector-graphics/poly-line-element.d.ts +1 -1
  114. package/elements/vector-graphics/poly-line-element.js +2 -2
  115. package/elements/vector-graphics/poly-line-element.metadata.json +1 -1
  116. package/elements/vector-graphics/polygon-element.d.ts +1 -1
  117. package/elements/vector-graphics/polygon-element.js +2 -2
  118. package/elements/vector-graphics/polygon-element.metadata.json +1 -1
  119. package/elements/vector-graphics/rectangle-element.d.ts +1 -1
  120. package/elements/vector-graphics/rectangle-element.js +2 -2
  121. package/elements/vector-graphics/rectangle-element.metadata.json +1 -1
  122. package/elements/vector-graphics/sector-element.d.ts +1 -1
  123. package/elements/vector-graphics/sector-element.js +2 -2
  124. package/elements/vector-graphics/sector-element.metadata.json +1 -1
  125. package/elements/vector-graphics/straight-line-element.d.ts +1 -1
  126. package/elements/vector-graphics/straight-line-element.js +2 -2
  127. package/elements/vector-graphics/straight-line-element.metadata.json +1 -1
  128. package/elements/video/video-element.d.ts +1 -2
  129. package/elements/video/video-element.js +53 -54
  130. package/elements/video/video-element.metadata.json +1 -1
  131. package/elements/view-operation/view-operation.element.d.ts +1 -1
  132. package/elements/view-operation/view-operation.element.js +2 -2
  133. package/elements/view-operation/view-operation.element.metadata.json +1 -1
  134. package/elements/weather/weater-element.d.ts +1 -1
  135. package/elements/weather/weater-element.js +2 -3
  136. package/elements/weather/weater-element.metadata.json +1 -1
  137. package/gui/gui-context.d.ts +2 -1
  138. package/gui/gui-host.d.ts +1 -1
  139. package/gui/gui-view.d.ts +1 -0
  140. package/gui/gui-view.js +3 -2
  141. package/gui/gui-view.metadata.json +1 -1
  142. package/gui/gui.component.d.ts +3 -0
  143. package/gui/gui.component.js +15 -2
  144. package/gui/gui.component.metadata.json +1 -1
  145. package/localization/localization.service.d.ts +7 -0
  146. package/localization/localization.service.js +8 -1
  147. package/localization/localization.service.metadata.json +1 -1
  148. package/localization/localization.service.zh_CN.js +8 -1
  149. package/localization/localization.service.zh_CN.metadata.json +1 -1
  150. package/modal/write-value/write-value-modal-args.d.ts +4 -1
  151. package/modal/write-value/write-value-modal-args.js +3 -1
  152. package/modal/write-value/write-value-modal-args.metadata.json +1 -1
  153. package/modal/write-value/write-value-modal.component.d.ts +9 -7
  154. package/modal/write-value/write-value-modal.component.html +5 -2
  155. package/modal/write-value/write-value-modal.component.js +39 -22
  156. package/modal/write-value/write-value-modal.component.metadata.json +1 -1
  157. package/model/air-quality/air-quality-info.d.ts +23 -0
  158. package/model/air-quality/air-quality-info.js +4 -0
  159. package/model/air-quality/air-quality-info.metadata.json +1 -0
  160. package/model/air-quality/air-quality.model.d.ts +7 -0
  161. package/model/air-quality/air-quality.model.js +0 -0
  162. package/model/air-quality/air-quality.model.metadata.json +1 -0
  163. package/model/alarm/alarm.model.d.ts +13 -0
  164. package/model/alarm/alarm.model.js +0 -0
  165. package/model/alarm/alarm.model.metadata.json +1 -0
  166. package/model/bar-graph/bar-graph.d.ts +4 -0
  167. package/model/base/readable-model.d.ts +4 -0
  168. package/model/historical-curve/historical-curve-axis-settings.d.ts +7 -0
  169. package/model/historical-curve/historical-curve-axis-settings.js +5 -0
  170. package/model/historical-curve/historical-curve-axis-settings.metadata.json +1 -1
  171. package/model/meter/meter.d.ts +4 -0
  172. package/model/numerical-display/numerical-display.d.ts +1 -0
  173. package/model/ring-graph/ring-graph.model.d.ts +8 -0
  174. package/model/shared/condition/bit-condition-item-observer.d.ts +1 -1
  175. package/model/shared/condition/bit-condition-item-observer.js +4 -4
  176. package/model/shared/condition/condition-items-result-observer.d.ts +1 -1
  177. package/model/shared/condition/condition-items-result-observer.js +22 -12
  178. package/model/shared/condition/condition-items-result-observer.metadata.json +1 -1
  179. package/model/shared/condition/convert-condition-model.d.ts +5 -0
  180. package/model/shared/condition/convert-condition-model.js +0 -0
  181. package/model/shared/condition/convert-condition-model.metadata.json +1 -0
  182. package/model/shared/condition/relation-condition-result.d.ts +2 -1
  183. package/model/shared/condition/relation-condition-result.js +2 -1
  184. package/model/shared/condition/relation-condition-result.metadata.json +1 -1
  185. package/model/shared/condition/word-condition-item-observer.d.ts +1 -1
  186. package/model/shared/condition/word-condition-item-observer.js +11 -11
  187. package/model/shared/dynamic-display/dynamic-display.d.ts +1 -1
  188. package/model/shared/dynamic-display/dynamic-display.js +4 -4
  189. package/model/shared/dynamic-display/dynamic-display.metadata.json +1 -1
  190. package/model/shared/rotation/rotation-behavior.d.ts +1 -1
  191. package/model/shared/rotation/rotation-behavior.js +2 -2
  192. package/model/shared/rotation/rotation-behavior.metadata.json +1 -1
  193. package/model/shared/rotation/rotation-observer.d.ts +2 -1
  194. package/model/shared/rotation/rotation-observer.js +3 -2
  195. package/model/shared/rotation/rotation-observer.metadata.json +1 -1
  196. package/model/shared/translation/translation-behavior.d.ts +1 -1
  197. package/model/shared/translation/translation-behavior.js +3 -3
  198. package/model/shared/translation/translation-behavior.metadata.json +1 -1
  199. package/model/shared/translation/translation-observer.d.ts +1 -1
  200. package/model/shared/translation/translation-observer.js +2 -2
  201. package/model/shared/translation/translation-observer.metadata.json +1 -1
  202. package/model/switch-indicator-light/bit-switch-operation.d.ts +2 -1
  203. package/model/switch-indicator-light/bit-switch-operation.js +1 -0
  204. package/model/switch-indicator-light/bit-switch-operation.metadata.json +1 -1
  205. package/package.json +1 -1
  206. package/remote/communication/variable/remote-variable-communicator.d.ts +7 -2
  207. package/remote/communication/variable/remote-variable-communicator.js +38 -9
  208. package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
  209. package/remote/communication/variable/remote-variable-protocol.d.ts +5 -2
  210. package/service/index.d.ts +1 -0
  211. package/service/index.metadata.json +1 -1
  212. package/service/released-variable/index.d.ts +1 -0
  213. package/service/released-variable/index.js +0 -0
  214. package/service/released-variable/index.metadata.json +1 -0
  215. package/service/released-variable/released-variable.service.d.ts +4 -0
  216. package/service/released-variable/released-variable.service.js +0 -0
  217. package/service/released-variable/released-variable.service.metadata.json +1 -0
  218. package/service/weather.service.d.ts +1 -0
  219. package/shared/gui-consts.d.ts +2 -0
  220. package/shared/gui-consts.js +2 -0
  221. package/shared/gui-consts.metadata.json +1 -1
  222. package/utils/data-type/data-type.service.d.ts +4 -7
  223. package/utils/data-type/data-type.service.js +29 -17
  224. package/utils/numerical-operation.service.js +2 -2
  225. package/gui/scripts/config.js +0 -6
  226. package/gui/scripts/require.js +0 -2145
  227. package/libs/nvd3/build/nv.d3.min.js +0 -13
@@ -12,10 +12,13 @@
12
12
  <span class="write-value-range">{{localization.writeValueRange}}:&nbsp;{{writeValueRangeText}}
13
13
  <span *ngIf="valueType">({{valueType}})</span>
14
14
  </span>
15
- <input type="text" name="valueInput" autoFocus class="form-control write-value" [(ngModel)]="value" (keyup)="validate()" autocomplete="off">
15
+ <input type="text" name="valueInput" autoFocus class="form-control write-value" [(ngModel)]="value" (keyup)="validate($event)" autocomplete="off">
16
16
  <span class="help-block text-danger" [hidden]="!validationError">{{validationErrorText}}</span>
17
17
  </div>
18
18
  <div class="modal-footer">
19
- <button type="submit" class="btn md-skip btn-primary btn-block" [disabled]="validationError">{{localization.submit}}</button>
19
+ <button type="submit" class="btn md-skip btn-primary btn-block" [disabled]="validationError || isSubmitting">
20
+ <ng-container *ngIf="!isSubmitting">{{localization.submit}}</ng-container>
21
+ <ng-container *ngIf="isSubmitting">{{localization.submitting}}</ng-container>
22
+ </button>
20
23
  </div>
21
24
  </form>
@@ -11,23 +11,21 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { Component, Inject, Output } from '@angular/core';
14
- import { Subject } from 'rxjs';
15
14
  import { LOCALIZATION } from '../../localization';
16
15
  import { DataTypeService } from '../../utils/data-type/data-type.service';
17
16
  import { FractionDigitService } from '../../utils/fraction-digit.service';
18
17
  import { NumericalOperationService } from '../../utils/numerical-operation.service';
19
18
  import { isNil } from 'lodash';
19
+ import { BsModalRef } from 'ngx-bootstrap/modal';
20
20
  let WriteValueModalComponent = class WriteValueModalComponent {
21
- constructor(localization, dataTypeService, fractionDigitService, numericalOperationService) {
21
+ constructor(localization, dataTypeService, fractionDigitService, numericalOperationService, bsModalRef) {
22
22
  this.localization = localization;
23
23
  this.dataTypeService = dataTypeService;
24
24
  this.fractionDigitService = fractionDigitService;
25
25
  this.numericalOperationService = numericalOperationService;
26
- this._onClosed = new Subject();
26
+ this.bsModalRef = bsModalRef;
27
27
  this.writeValueRangeText = '';
28
- }
29
- get onClosed() {
30
- return this._onClosed;
28
+ this.isSubmitting = false;
31
29
  }
32
30
  get invalidErrorText() {
33
31
  return this.localization.loadFailed;
@@ -39,6 +37,7 @@ let WriteValueModalComponent = class WriteValueModalComponent {
39
37
  initData(option) {
40
38
  this.variableName = option.variableName;
41
39
  this.dataType = option.dataType;
40
+ this.fBoxDataType = option.fBoxDataType;
42
41
  this.integerDigits = option.integerDigits ? option.integerDigits : 0;
43
42
  this.fractionDigits = option.fractionDigits ? option.fractionDigits : 0;
44
43
  this.valueType = this.dataTypeService.getValueType(option.version, option.dataType);
@@ -51,21 +50,21 @@ let WriteValueModalComponent = class WriteValueModalComponent {
51
50
  this.setValueRangeAccordToDataParsed(option);
52
51
  }
53
52
  else {
54
- this.writeMaxValue = this.dataTypeService.getMaxValue(option.version, this.dataType);
55
- this.writeMinValue = this.dataTypeService.getMinValue(option.version, this.dataType);
53
+ this.writeMaxValue = this.dataTypeService.getMaxValue(option.version, this.dataType, this.fBoxDataType);
54
+ this.writeMinValue = this.dataTypeService.getMinValue(option.version, this.dataType, this.fBoxDataType);
56
55
  }
57
56
  this.writeValueRangeText = this.getWriteValueRangeText();
58
57
  }
59
58
  setValueRangeAccordToDataParsed(option) {
60
59
  if (this.dataTypeService.isFloat(option.version, this.dataType) || this.enableNumericalOperation) {
61
- this.maxValueLimit = this.dataTypeService.getMaxValue(option.version, this.dataType);
62
- this.minValueLimit = this.dataTypeService.getMinValue(option.version, this.dataType);
60
+ this.maxValueLimit = this.dataTypeService.getMaxValue(option.version, this.dataType, this.fBoxDataType);
61
+ this.minValueLimit = this.dataTypeService.getMinValue(option.version, this.dataType, this.fBoxDataType);
63
62
  this.numericalLowerLimit = this.numericalOperation.numericalLowerLimit;
64
63
  this.numericalUpperLimit = this.numericalOperation.numericalUpperLimit;
65
64
  }
66
65
  else {
67
- this.maxValueLimit = +this.fractionDigitService.movePoint(this.dataTypeService.getMaxValue(option.version, this.dataType), -this.fractionDigits);
68
- this.minValueLimit = +this.fractionDigitService.movePoint(this.dataTypeService.getMinValue(option.version, this.dataType), -this.fractionDigits);
66
+ this.maxValueLimit = +this.fractionDigitService.movePoint(this.dataTypeService.getMaxValue(option.version, this.dataType, this.fBoxDataType), -this.fractionDigits);
67
+ this.minValueLimit = +this.fractionDigitService.movePoint(this.dataTypeService.getMinValue(option.version, this.dataType, this.fBoxDataType), -this.fractionDigits);
69
68
  this.numericalLowerLimit = +this.fractionDigitService.movePoint(this.numericalOperation.numericalLowerLimit, -this.fractionDigits);
70
69
  this.numericalUpperLimit = +this.fractionDigitService.movePoint(this.numericalOperation.numericalUpperLimit, -this.fractionDigits);
71
70
  }
@@ -100,21 +99,38 @@ let WriteValueModalComponent = class WriteValueModalComponent {
100
99
  return minValue + '~' + maxValue;
101
100
  }
102
101
  save() {
102
+ this.isSubmitting = true;
103
+ let value = this.value;
104
+ const showValue = this.value;
103
105
  if (this.args.enableDataParsed) {
104
106
  if (this.enableNumericalOperation) {
105
- this.value = this.numericalOperationService.getWriteValue(this.args.version, this.value, this.numericalOperation, this.dataType, this.fractionDigits);
107
+ value = this.numericalOperationService.getWriteValue(this.args.version, this.value, this.numericalOperation, this.dataType, this.fractionDigits);
106
108
  }
107
109
  else {
108
- this.value = this.formatWriteValue();
110
+ value = this.formatWriteValue();
109
111
  }
110
112
  }
111
- this.close({ value: this.value });
113
+ this.args.releasedVariableService.getVariableWithValueTransform(this.variableName).subscribe(result => {
114
+ const valueTransform = JSON.parse(result.valueTransform);
115
+ if (valueTransform.Type !== 0) {
116
+ this.isNumericalOperation = true;
117
+ }
118
+ this.onClosed({
119
+ value, showValue,
120
+ enableNumericalOperation: this.enableNumericalOperation,
121
+ isNumericalOperation: this.isNumericalOperation,
122
+ variableRwType: result.variableRwType
123
+ });
124
+ });
112
125
  }
113
- close(modalResult) {
114
- this._onClosed.next(modalResult);
115
- this._onClosed.complete();
126
+ close() {
127
+ this.bsModalRef.hide();
116
128
  }
117
- validate() {
129
+ validate(event = null) {
130
+ if (event && event.keyCode === 13 && !this.validationError) {
131
+ this.save();
132
+ return;
133
+ }
118
134
  // 校验数值必填
119
135
  if (null == this.value || '' === this.value.trim()) {
120
136
  return this.showValidationErrorInfo(this.localization.numericalValueRequired);
@@ -136,7 +152,7 @@ let WriteValueModalComponent = class WriteValueModalComponent {
136
152
  }
137
153
  if (this.dataTypeService.isBinaryType(this.args.version, this.dataType) || this.dataTypeService.isHexType(this.args.version, this.dataType)) {
138
154
  // 校验数值最大长度
139
- const valueMaxLength = this.dataTypeService.getValueMaxLength(this.args.version, this.dataType);
155
+ const valueMaxLength = this.dataTypeService.getValueMaxLength(this.args.version, this.dataType, this.fBoxDataType);
140
156
  const maxLength = this.integerDigits ? Math.min(this.integerDigits, valueMaxLength) : valueMaxLength;
141
157
  if (this.value.length > maxLength) {
142
158
  return this.showValidationErrorInfo(this.localization.numericalValueTooLong);
@@ -192,12 +208,13 @@ __decorate([
192
208
  WriteValueModalComponent = __decorate([
193
209
  Component({
194
210
  selector: 'writeValueModal',
195
- template: "<form #writeValueForm=\"ngForm\" novalidate (ngSubmit)=\"save()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.setting}}</span> <span>{{variableName}}</span> </h4> <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\"> <span aria-hidden=\"true\">&times;</span> </button> </div> <div class=\"modal-body\"> <span class=\"write-value-range\">{{localization.writeValueRange}}:&nbsp;{{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus class=\"form-control write-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"submit\" class=\"btn md-skip btn-primary btn-block\" [disabled]=\"validationError\">{{localization.submit}}</button> </div> </form> ",
211
+ template: "<form #writeValueForm=\"ngForm\" novalidate (ngSubmit)=\"save()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.setting}}</span> <span>{{variableName}}</span> </h4> <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\"> <span aria-hidden=\"true\">&times;</span> </button> </div> <div class=\"modal-body\"> <span class=\"write-value-range\">{{localization.writeValueRange}}:&nbsp;{{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus class=\"form-control write-value\" [(ngModel)]=\"value\" (keyup)=\"validate($event)\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"submit\" class=\"btn md-skip btn-primary btn-block\" [disabled]=\"validationError || isSubmitting\"> <ng-container *ngIf=\"!isSubmitting\">{{localization.submit}}</ng-container> <ng-container *ngIf=\"isSubmitting\">{{localization.submitting}}</ng-container> </button> </div> </form> ",
196
212
  styles: [".modal-header { padding: 10px; border-color: transparent; } .modal-body { position: relative; padding: 0px 5px !important; padding-top: 10px !important; } .modal-title { display: unset; margin-left: -6px; font-size: 16px !important; } .form-control { margin: 0 5%; float: none; width: 90%; } .modal-footer { padding: 10px 4px 20px 5px !important; text-align: right; border-color: transparent; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { background-color: #3B97FC; border-color: #3B97FC; padding: 5px 30px; width: 90%; margin: 0 5%; height: 32px; } .write-value-range { color: #7f939e; font-size: 14px; margin-left: 15px; } .write-value { padding-left: 8px; margin-left: 16px; height: 32px; } "]
197
213
  }),
198
214
  __param(0, Inject(LOCALIZATION)),
199
215
  __metadata("design:paramtypes", [Object, DataTypeService,
200
216
  FractionDigitService,
201
- NumericalOperationService])
217
+ NumericalOperationService,
218
+ BsModalRef])
202
219
  ], WriteValueModalComponent);
203
220
  export { WriteValueModalComponent };
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WriteValueModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"writeValueModal","template":"<form #writeValueForm=\"ngForm\" novalidate (ngSubmit)=\"save()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.setting}}</span> <span>{{variableName}}</span> </h4> <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\"> <span aria-hidden=\"true\">&times;</span> </button> </div> <div class=\"modal-body\"> <span class=\"write-value-range\">{{localization.writeValueRange}}:&nbsp;{{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus class=\"form-control write-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"submit\" class=\"btn md-skip btn-primary btn-block\" [disabled]=\"validationError\">{{localization.submit}}</button> </div> </form> ","styles":[".modal-header { padding: 10px; border-color: transparent; } .modal-body { position: relative; padding: 0px 5px !important; padding-top: 10px !important; } .modal-title { display: unset; margin-left: -6px; font-size: 16px !important; } .form-control { margin: 0 5%; float: none; width: 90%; } .modal-footer { padding: 10px 4px 20px 5px !important; text-align: right; border-color: transparent; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { background-color: #3B97FC; border-color: #3B97FC; padding: 5px 30px; width: 90%; margin: 0 5%; height: 32px; } .write-value-range { color: #7f939e; font-size: 14px; margin-left: 15px; } .write-value { padding-left: 8px; margin-left: 16px; height: 32px; } "]}]}],"members":{"invalidErrorText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":51,"character":16}]}],null,null,null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":51,"character":51},{"__symbolic":"reference","module":"../../utils/data-type/data-type.service","name":"DataTypeService","line":52,"character":42},{"__symbolic":"reference","module":"../../utils/fraction-digit.service","name":"FractionDigitService","line":53,"character":47},{"__symbolic":"reference","module":"../../utils/numerical-operation.service","name":"NumericalOperationService","line":54,"character":52}]}],"ngOnInit":[{"__symbolic":"method"}],"initData":[{"__symbolic":"method"}],"setValueRangeAccordToDataParsed":[{"__symbolic":"method"}],"getWriteValueRangeText":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"showValidationErrorInfo":[{"__symbolic":"method"}],"hideValidationErrorInfo":[{"__symbolic":"method"}],"getFractionDigits":[{"__symbolic":"method"}],"formatWriteValue":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WriteValueModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"writeValueModal","template":"<form #writeValueForm=\"ngForm\" novalidate (ngSubmit)=\"save()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.setting}}</span> <span>{{variableName}}</span> </h4> <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\"> <span aria-hidden=\"true\">&times;</span> </button> </div> <div class=\"modal-body\"> <span class=\"write-value-range\">{{localization.writeValueRange}}:&nbsp;{{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus class=\"form-control write-value\" [(ngModel)]=\"value\" (keyup)=\"validate($event)\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"submit\" class=\"btn md-skip btn-primary btn-block\" [disabled]=\"validationError || isSubmitting\"> <ng-container *ngIf=\"!isSubmitting\">{{localization.submit}}</ng-container> <ng-container *ngIf=\"isSubmitting\">{{localization.submitting}}</ng-container> </button> </div> </form> ","styles":[".modal-header { padding: 10px; border-color: transparent; } .modal-body { position: relative; padding: 0px 5px !important; padding-top: 10px !important; } .modal-title { display: unset; margin-left: -6px; font-size: 16px !important; } .form-control { margin: 0 5%; float: none; width: 90%; } .modal-footer { padding: 10px 4px 20px 5px !important; text-align: right; border-color: transparent; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { background-color: #3B97FC; border-color: #3B97FC; padding: 5px 30px; width: 90%; margin: 0 5%; height: 32px; } .write-value-range { color: #7f939e; font-size: 14px; margin-left: 15px; } .write-value { padding-left: 8px; margin-left: 16px; height: 32px; } "]}]}],"members":{"invalidErrorText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__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,null,null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":50,"character":51},{"__symbolic":"reference","module":"../../utils/data-type/data-type.service","name":"DataTypeService","line":51,"character":42},{"__symbolic":"reference","module":"../../utils/fraction-digit.service","name":"FractionDigitService","line":52,"character":47},{"__symbolic":"reference","module":"../../utils/numerical-operation.service","name":"NumericalOperationService","line":53,"character":52},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalRef","line":54,"character":37}]}],"ngOnInit":[{"__symbolic":"method"}],"initData":[{"__symbolic":"method"}],"setValueRangeAccordToDataParsed":[{"__symbolic":"method"}],"getWriteValueRangeText":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"showValidationErrorInfo":[{"__symbolic":"method"}],"hideValidationErrorInfo":[{"__symbolic":"method"}],"getFractionDigits":[{"__symbolic":"method"}],"formatWriteValue":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,23 @@
1
+ import * as moment from 'moment';
2
+ export declare class AirQualityInfo {
3
+ /** 有无地址 */
4
+ hasAddress: boolean | undefined;
5
+ /** 是否获取地址中 */
6
+ gettingAddress: boolean | undefined;
7
+ /** 是否支持 */
8
+ supported: boolean | undefined;
9
+ airQuality: AirQuality | undefined;
10
+ }
11
+ export declare class AirQuality {
12
+ city: string | undefined;
13
+ aqi: string | undefined;
14
+ level: number | undefined;
15
+ category: string | undefined;
16
+ pm10: string | undefined;
17
+ pm25: string | undefined;
18
+ no2: string | undefined;
19
+ so2: string | undefined;
20
+ co: string | undefined;
21
+ o3: string | undefined;
22
+ reportTime: moment.Moment | undefined;
23
+ }
@@ -0,0 +1,4 @@
1
+ export class AirQualityInfo {
2
+ }
3
+ export class AirQuality {
4
+ }
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AirQualityInfo":{"__symbolic":"class"},"AirQuality":{"__symbolic":"class"}}}]
@@ -0,0 +1,7 @@
1
+ import { Size } from '../shared';
2
+ import { ConditionalDisplayModel } from '../base';
3
+ export interface AirQualityModel extends ConditionalDisplayModel {
4
+ size: Size;
5
+ stroke: string;
6
+ fill: string;
7
+ }
File without changes
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AirQualityModel":{"__symbolic":"interface"}}}]
@@ -0,0 +1,13 @@
1
+ import { ConditionalDisplayModel } from '../base/conditional-display-model';
2
+ import { Point, Size } from '../shared';
3
+ export interface AlarmModel extends ConditionalDisplayModel {
4
+ readonly version: number;
5
+ readonly size: Size;
6
+ readonly location: Point;
7
+ readonly generalSetting?: any;
8
+ readonly filterSetting?: any;
9
+ readonly widths: number[];
10
+ readonly heights: number[];
11
+ readonly columLabels: string[];
12
+ readonly levelText: string[];
13
+ }
File without changes
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AlarmModel":{"__symbolic":"interface"}}}]
@@ -19,4 +19,8 @@ export interface BarGraph extends ReadableModel {
19
19
  readonly upperLimitColor?: string;
20
20
  readonly lowerLimitColor?: string;
21
21
  readonly percentageFont?: FontStyleData;
22
+ readonly masterDivisionNumber: number;
23
+ readonly subDivisionNumber: number;
24
+ readonly integerDigits: number;
25
+ readonly fractionDigits: number;
22
26
  }
@@ -7,4 +7,8 @@ export interface ReadableModel extends ConditionalEnableModel {
7
7
  readonly version?: number;
8
8
  readonly variableName?: string;
9
9
  readonly readVariable?: VariableDefinition;
10
+ readonly minVariable?: any;
11
+ readonly maxVariable?: any;
12
+ readonly minValueType?: any;
13
+ readonly maxValueType?: any;
10
14
  }
@@ -1,6 +1,13 @@
1
1
  import { Font } from '../shared/text/font';
2
2
  export interface HistoricalCurveAxisSettings {
3
+ readonly yAxisRangeType: AxisRangeType;
4
+ readonly yAxisMax?: number;
5
+ readonly yAxisMin?: number;
3
6
  readonly axisColor: string;
4
7
  readonly showAxisLabel: boolean;
5
8
  readonly axisLabelFont: Font;
6
9
  }
10
+ export declare enum AxisRangeType {
11
+ Auto = 0,
12
+ Custom = 1
13
+ }
@@ -0,0 +1,5 @@
1
+ export var AxisRangeType;
2
+ (function (AxisRangeType) {
3
+ AxisRangeType[AxisRangeType["Auto"] = 0] = "Auto";
4
+ AxisRangeType[AxisRangeType["Custom"] = 1] = "Custom"; // 自定义范围
5
+ })(AxisRangeType || (AxisRangeType = {}));
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"HistoricalCurveAxisSettings":{"__symbolic":"interface"}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"HistoricalCurveAxisSettings":{"__symbolic":"interface"},"AxisRangeType":{"Auto":0,"Custom":1}}}]
@@ -10,4 +10,8 @@ export interface Meter extends ReadableModel {
10
10
  readonly radius: number;
11
11
  readonly min: number;
12
12
  readonly max: number;
13
+ readonly masterDivisionNumber: number;
14
+ readonly subDivisionNumber: number;
15
+ readonly integerDigits: number;
16
+ readonly fractionDigits: number;
13
17
  }
@@ -12,6 +12,7 @@ export interface NumericalDisplay extends ReadableModel, SecurityModel {
12
12
  readonly textAlign: string;
13
13
  readonly accessPermission: any;
14
14
  dataType: number;
15
+ fBoxDataType: number;
15
16
  readonly integerDigits: number;
16
17
  readonly fractionDigits: number;
17
18
  readonly enableNumericalOperation: boolean;
@@ -22,4 +22,12 @@ export interface RingGraphModel extends ConditionalDisplayModel {
22
22
  readonly alarmRange?: AlarmRangeModel;
23
23
  readonly showPercentage: boolean;
24
24
  readonly percentageFont?: Font;
25
+ readonly minVariable?: any;
26
+ readonly maxVariable?: any;
27
+ readonly minValueType?: any;
28
+ readonly maxValueType?: any;
29
+ readonly masterDivisionNumber: number;
30
+ readonly subDivisionNumber: number;
31
+ readonly integerDigits: number;
32
+ readonly fractionDigits: number;
25
33
  }
@@ -8,7 +8,7 @@ export declare class BitConditionItemObserver extends ConditionItemObserver {
8
8
  private currentValue;
9
9
  private binary;
10
10
  constructor(bitConditon: BitConditionModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
11
- requestData(): void;
11
+ requestData(appId: string): void;
12
12
  private requestconditionEffectiveValue;
13
13
  getIsConditionEffective(): boolean;
14
14
  }
@@ -9,14 +9,14 @@ export class BitConditionItemObserver extends ConditionItemObserver {
9
9
  this.bitConditon = bitConditon;
10
10
  this.variableCommunicator = variableCommunicator;
11
11
  }
12
- requestData() {
12
+ requestData(appId) {
13
13
  if (!this.bitConditon) {
14
14
  throw new Error('BitConditionModel cannot be null.');
15
15
  }
16
16
  if (this.variableName) {
17
17
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
18
18
  if (variableValue.state === VariableStateEnum.Normal) {
19
- this.requestconditionEffectiveValue(this.variableCommunicator);
19
+ this.requestconditionEffectiveValue(this.variableCommunicator, appId);
20
20
  }
21
21
  else {
22
22
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), false));
@@ -24,8 +24,8 @@ export class BitConditionItemObserver extends ConditionItemObserver {
24
24
  });
25
25
  }
26
26
  }
27
- requestconditionEffectiveValue(variableCommunicator) {
28
- variableCommunicator.openVariable(this.variableName).subscribe(value => {
27
+ requestconditionEffectiveValue(variableCommunicator, appId = '') {
28
+ variableCommunicator.openVariable(this.variableName, appId).subscribe(value => {
29
29
  if (this.bitConditon.isBitwiseIndex) {
30
30
  const maxBitIndex = 31;
31
31
  this.binary = new Binary(value.value, maxBitIndex + 1);
@@ -11,6 +11,6 @@ export declare class ConditionItemsResultObserver implements ConditionItemsObser
11
11
  readonly conditionResultChanged: EventEmitter<ConditionControlResultValue>;
12
12
  private conditionResults;
13
13
  constructor(sourceConditionItems: ConditionItemModel[], variableCommunicator: VariableCommunicator, variableStore: VariableStore);
14
- requestData(): void;
14
+ requestData(appId: string): void;
15
15
  private emitConditionResult;
16
16
  }
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import { sortBy } from 'lodash';
2
3
  import { ConditionType } from './condition-type';
3
4
  import { BitConditionItemObserver } from './bit-condition-item-observer';
4
5
  import { RelationConditionResult } from './relation-condition-result';
@@ -12,7 +13,7 @@ export class ConditionItemsResultObserver {
12
13
  this.conditionResultChanged = new EventEmitter();
13
14
  this.conditionResults = new Map();
14
15
  }
15
- requestData() {
16
+ requestData(appId) {
16
17
  if (null == this.sourceConditionItems || !this.sourceConditionItems.length) {
17
18
  return;
18
19
  }
@@ -25,10 +26,10 @@ export class ConditionItemsResultObserver {
25
26
  if (this.conditionResults.has(conditionItems.indexOf(item))) {
26
27
  this.conditionResults.delete(conditionItems.indexOf(item));
27
28
  }
28
- this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(item.relationType, itemResult));
29
+ this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(conditionItems.indexOf(item), item.relationType, itemResult));
29
30
  this.emitConditionResult();
30
31
  });
31
- bitItem.requestData();
32
+ bitItem.requestData(appId);
32
33
  break;
33
34
  case ConditionType.Word:
34
35
  const wordItem = new WordConditionItemObserver(item.condition, this.variableCommunicator, this.variableStore);
@@ -36,10 +37,10 @@ export class ConditionItemsResultObserver {
36
37
  if (this.conditionResults.has(conditionItems.indexOf(item))) {
37
38
  this.conditionResults.delete(conditionItems.indexOf(item));
38
39
  }
39
- this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(item.relationType, itemResult));
40
+ this.conditionResults.set(conditionItems.indexOf(item), new RelationConditionResult(conditionItems.indexOf(item), item.relationType, itemResult));
40
41
  this.emitConditionResult();
41
42
  });
42
- wordItem.requestData();
43
+ wordItem.requestData(appId);
43
44
  break;
44
45
  default:
45
46
  throw new Error(`Unknown ConditionType :${item.conditionType}`);
@@ -49,23 +50,32 @@ export class ConditionItemsResultObserver {
49
50
  emitConditionResult() {
50
51
  let isControl = true;
51
52
  const elementStates = [];
53
+ const formatConditionResults = [];
52
54
  this.conditionResults.forEach(t => {
55
+ formatConditionResults.push({
56
+ key: t.key,
57
+ result: t
58
+ });
53
59
  // eslint-disable-next-line eqeqeq
54
60
  if (t.relationType == RelationType.None) {
55
61
  isControl = t.result.value;
56
62
  elementStates.push(t.result.state);
57
63
  }
58
64
  });
59
- this.conditionResults.forEach(item => {
65
+ const formatResults = sortBy(formatConditionResults, data => {
66
+ return data.key;
67
+ });
68
+ formatResults.forEach(item => {
69
+ const relationCondition = item.result;
60
70
  // eslint-disable-next-line eqeqeq
61
- if (item.relationType == RelationType.Or) {
62
- isControl = isControl || item.result.value;
63
- elementStates.push(item.result.state);
71
+ if (relationCondition.relationType == RelationType.Or) {
72
+ isControl = isControl || relationCondition.result.value;
73
+ elementStates.push(relationCondition.result.state);
64
74
  // eslint-disable-next-line eqeqeq
65
75
  }
66
- else if (item.relationType == RelationType.And) {
67
- isControl = isControl && item.result.value;
68
- elementStates.push(item.result.state);
76
+ else if (relationCondition.relationType == RelationType.And) {
77
+ isControl = isControl && relationCondition.result.value;
78
+ elementStates.push(relationCondition.result.state);
69
79
  }
70
80
  });
71
81
  const conditionControlResult = {
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConditionItemsResultObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./condition-item-model","name":"ConditionItemModel","line":19,"character":55}]},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":20,"character":47},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":21,"character":40}]}],"requestData":[{"__symbolic":"method"}],"emitConditionResult":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConditionItemsResultObserver":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./condition-item-model","name":"ConditionItemModel","line":20,"character":55}]},{"__symbolic":"reference","module":"../../../communication","name":"VariableCommunicator","line":21,"character":47},{"__symbolic":"reference","module":"../../../config","name":"VariableStore","line":22,"character":40}]}],"requestData":[{"__symbolic":"method"}],"emitConditionResult":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,5 @@
1
+ import { RelationConditionResult } from './relation-condition-result';
2
+ export interface ConvertConditionModel {
3
+ readonly key: number;
4
+ readonly result: RelationConditionResult;
5
+ }
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConvertConditionModel":{"__symbolic":"interface"}}}]
@@ -1,7 +1,8 @@
1
1
  import { RelationType } from './relation-type';
2
2
  import { RelationConditionResultState } from './relation-condition-result-state';
3
3
  export declare class RelationConditionResult {
4
+ readonly key: number;
4
5
  readonly relationType: RelationType;
5
6
  readonly result: RelationConditionResultState;
6
- constructor(relationType: RelationType, result: RelationConditionResultState);
7
+ constructor(key: number, relationType: RelationType, result: RelationConditionResultState);
7
8
  }
@@ -1,5 +1,6 @@
1
1
  export class RelationConditionResult {
2
- constructor(relationType, result) {
2
+ constructor(key, relationType, result) {
3
+ this.key = key;
3
4
  this.relationType = relationType;
4
5
  this.result = result;
5
6
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"RelationConditionResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./relation-type","name":"RelationType","line":4,"character":46},{"__symbolic":"reference","module":"./relation-condition-result-state","name":"RelationConditionResultState","line":4,"character":84}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"RelationConditionResult":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"./relation-type","name":"RelationType","line":4,"character":75},{"__symbolic":"reference","module":"./relation-condition-result-state","name":"RelationConditionResultState","line":4,"character":113}]}]}}}}]
@@ -12,7 +12,7 @@ export declare class WordConditionItemObserver extends ConditionItemObserver {
12
12
  get baseVariable(): string;
13
13
  get realtionVariable(): string;
14
14
  constructor(wordCondition: WordConditionModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore);
15
- requestData(): void;
15
+ requestData(appId: string): void;
16
16
  private requestconditionEffectiveValue;
17
17
  private requestconditionEffectiveBaseValue;
18
18
  private requestconditionEffectiveRealtionValue;
@@ -28,7 +28,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
28
28
  const variable = new VariableDefinition(variableValue.variableName, variableValue.variableGroupName, variableValue.dataSourceCode, variableValue.variableVersion);
29
29
  return VariableUtil.getConvertedVariableName(this.variableStore, variable);
30
30
  }
31
- requestData() {
31
+ requestData(appId) {
32
32
  if (!this.wordCondition) {
33
33
  throw new Error('WordConditionModel cannot be null.');
34
34
  }
@@ -43,7 +43,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
43
43
  if (this.variableName) {
44
44
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
45
45
  if (variableValue.state === VariableStateEnum.Normal) {
46
- this.requestconditionEffectiveBaseValue(this.variableCommunicator);
46
+ this.requestconditionEffectiveBaseValue(this.variableCommunicator, appId);
47
47
  }
48
48
  else {
49
49
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), false));
@@ -63,7 +63,7 @@ export class WordConditionItemObserver extends ConditionItemObserver {
63
63
  if (this.variableName) {
64
64
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableState => {
65
65
  if (variableState.state === VariableStateEnum.Normal) {
66
- this.requestconditionEffectiveRealtionValue(this.variableCommunicator);
66
+ this.requestconditionEffectiveRealtionValue(this.variableCommunicator, appId);
67
67
  }
68
68
  else {
69
69
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableState.state), false));
@@ -71,14 +71,14 @@ export class WordConditionItemObserver extends ConditionItemObserver {
71
71
  });
72
72
  }
73
73
  else {
74
- this.requestconditionEffectiveRealtionValue(this.variableCommunicator);
74
+ this.requestconditionEffectiveRealtionValue(this.variableCommunicator, appId);
75
75
  }
76
76
  }
77
77
  }
78
78
  if (this.variableName) {
79
79
  this.variableCommunicator.subscribeVariableState(this.variableName).subscribe(variableValue => {
80
80
  if (variableValue.state === VariableStateEnum.Normal) {
81
- this.requestconditionEffectiveValue(this.variableCommunicator);
81
+ this.requestconditionEffectiveValue(this.variableCommunicator, appId);
82
82
  }
83
83
  else {
84
84
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), false));
@@ -86,22 +86,22 @@ export class WordConditionItemObserver extends ConditionItemObserver {
86
86
  });
87
87
  }
88
88
  }
89
- requestconditionEffectiveValue(variableCommunicator) {
90
- variableCommunicator.openVariable(this.variableName).subscribe(variableValue => {
89
+ requestconditionEffectiveValue(variableCommunicator, appId = '') {
90
+ variableCommunicator.openVariable(this.variableName, appId).subscribe(variableValue => {
91
91
  this.currentValue = variableValue;
92
92
  this.isConditionEffective = this.getIsConditionEffective();
93
93
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
94
94
  });
95
95
  }
96
- requestconditionEffectiveBaseValue(variableCommunicator) {
97
- variableCommunicator.openVariable(this.baseVariable).subscribe(variableValue => {
96
+ requestconditionEffectiveBaseValue(variableCommunicator, appId = '') {
97
+ variableCommunicator.openVariable(this.baseVariable, appId).subscribe(variableValue => {
98
98
  this.baseVariableValue = variableValue;
99
99
  this.isConditionEffective = this.getIsConditionEffective();
100
100
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
101
101
  });
102
102
  }
103
- requestconditionEffectiveRealtionValue(variableCommunicator) {
104
- variableCommunicator.openVariable(this.realtionVariable).subscribe(variableValue => {
103
+ requestconditionEffectiveRealtionValue(variableCommunicator, appId = '') {
104
+ variableCommunicator.openVariable(this.realtionVariable, appId).subscribe(variableValue => {
105
105
  this.realtionVariableValue = variableValue;
106
106
  this.isConditionEffective = this.getIsConditionEffective();
107
107
  this.conditionEffectiveChanged.emit(new RelationConditionResultState(new VariableState(this.variableName, variableValue.state), this.isConditionEffective));
@@ -7,5 +7,5 @@ import { Point } from '../point.model';
7
7
  import { VariableStore } from '../../../config';
8
8
  export declare class DynamicDisplay implements DynamicDisplayBehaviorModel {
9
9
  readonly doBehavior: EventEmitter<DynamicDisplayResultModel>;
10
- constructor(dynamicDisplay: DynamicDisplayModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, location: Point);
10
+ constructor(dynamicDisplay: DynamicDisplayModel, variableCommunicator: VariableCommunicator, variableStore: VariableStore, location: Point, signalRAppId: string);
11
11
  }