@flexem/fc-gui 3.0.0-alpha.19 → 3.0.0-alpha.190

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 (212) hide show
  1. package/CHANGELOG.md +413 -0
  2. package/assets/img/black_first_page.png +0 -0
  3. package/assets/img/black_last_page.png +0 -0
  4. package/assets/img/black_next_page.png +0 -0
  5. package/assets/img/black_previous_page.png +0 -0
  6. package/assets/img/exclamation-outline-circle.png +0 -0
  7. package/bundles/@flexem/fc-gui.umd.js +37817 -32408
  8. package/bundles/@flexem/fc-gui.umd.js.map +1 -1
  9. package/bundles/@flexem/fc-gui.umd.min.js +5 -5
  10. package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
  11. package/communication/variable/variable-communicator.d.ts +5 -0
  12. package/communication/variable/variable-state-enum.d.ts +1 -0
  13. package/communication/variable/variable-state-enum.js +1 -0
  14. package/communication/variable/variable-state-enum.metadata.json +1 -1
  15. package/communication/variable/variable-value.d.ts +4 -1
  16. package/communication/variable/variable-value.js +4 -1
  17. package/communication/variable/variable-value.metadata.json +1 -1
  18. package/config/alarm/alarm.store.d.ts +6 -0
  19. package/config/alarm/alarm.store.js +0 -0
  20. package/config/alarm/alarm.store.metadata.json +1 -0
  21. package/config/alarm/get-alarms-args.d.ts +12 -0
  22. package/config/alarm/get-alarms-args.js +13 -0
  23. package/config/alarm/get-alarms-args.metadata.json +1 -0
  24. package/config/alarm/index.d.ts +2 -0
  25. package/config/alarm/index.js +1 -0
  26. package/config/alarm/index.metadata.json +1 -0
  27. package/config/config-store.d.ts +2 -0
  28. package/config/gui-feature-config.d.ts +3 -0
  29. package/config/gui-feature-config.js +3 -0
  30. package/config/gui-feature-config.metadata.json +1 -0
  31. package/config/index.d.ts +2 -0
  32. package/config/index.js +2 -0
  33. package/config/index.metadata.json +1 -1
  34. package/config/variable/variable-store.d.ts +5 -0
  35. package/elements/air-quality/air-quality-element.js +3 -4
  36. package/elements/alarm/alarm-element.d.ts +106 -0
  37. package/elements/alarm/alarm-element.js +836 -0
  38. package/elements/alarm/alarm-element.metadata.json +1 -0
  39. package/elements/alarm/alarm-table-scrollbar.d.ts +35 -0
  40. package/elements/alarm/alarm-table-scrollbar.js +170 -0
  41. package/elements/alarm/alarm-table-scrollbar.metadata.json +1 -0
  42. package/elements/bar-graph-element.d.ts +10 -2
  43. package/elements/bar-graph-element.js +135 -5
  44. package/elements/bar-graph-element.metadata.json +1 -1
  45. package/elements/base/readable-element.d.ts +6 -1
  46. package/elements/base/readable-element.js +69 -2
  47. package/elements/base/readable-element.metadata.json +1 -1
  48. package/elements/base/state-control-element.d.ts +13 -1
  49. package/elements/base/state-control-element.js +42 -8
  50. package/elements/base/state-control-element.metadata.json +1 -1
  51. package/elements/character-display/character-display-element.d.ts +12 -2
  52. package/elements/character-display/character-display-element.js +35 -7
  53. package/elements/character-display/character-display-element.metadata.json +1 -1
  54. package/elements/datetime-display/datetime-display-element.d.ts +1 -0
  55. package/elements/datetime-display/datetime-display-element.js +10 -2
  56. package/elements/datetime-display/datetime-display-element.metadata.json +1 -1
  57. package/elements/datetime-display/time-zone-select-json.d.ts +8 -0
  58. package/elements/datetime-display/time-zone-select-json.js +558 -0
  59. package/elements/historical-curve/historical-curve.element.d.ts +45 -3
  60. package/elements/historical-curve/historical-curve.element.js +707 -45
  61. package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
  62. package/elements/main-element.d.ts +1 -0
  63. package/elements/main-element.js +72 -10
  64. package/elements/main-element.metadata.json +1 -1
  65. package/elements/meter-element.d.ts +7 -1
  66. package/elements/meter-element.js +76 -7
  67. package/elements/meter-element.metadata.json +1 -1
  68. package/elements/numerical-display/numerical-display-element.d.ts +31 -3
  69. package/elements/numerical-display/numerical-display-element.js +166 -15
  70. package/elements/numerical-display/numerical-display-element.metadata.json +1 -1
  71. package/elements/per-view-variable-communicator.d.ts +4 -0
  72. package/elements/per-view-variable-communicator.js +21 -1
  73. package/elements/per-view-variable-communicator.metadata.json +1 -1
  74. package/elements/ring-graph/ring-graph-element.d.ts +13 -1
  75. package/elements/ring-graph/ring-graph-element.js +164 -3
  76. package/elements/ring-graph/ring-graph-element.metadata.json +1 -1
  77. package/elements/scroll-alarm/scroll-alarm-element.d.ts +79 -0
  78. package/elements/scroll-alarm/scroll-alarm-element.js +845 -0
  79. package/elements/scroll-alarm/scroll-alarm-element.metadata.json +1 -0
  80. package/elements/shared/graph/graph-state-element.d.ts +1 -0
  81. package/elements/shared/graph/graph-state-element.js +30 -1
  82. package/elements/shared/graph/graph-state-element.metadata.json +1 -1
  83. package/elements/shared/text/text-element.d.ts +14 -0
  84. package/elements/shared/text/text-element.js +38 -6
  85. package/elements/shared/text/text-element.metadata.json +1 -1
  86. package/elements/shared/text/text-state-element.d.ts +39 -2
  87. package/elements/shared/text/text-state-element.js +242 -67
  88. package/elements/shared/text/text-state-element.metadata.json +1 -1
  89. package/elements/static-elements/hyperlink-element.d.ts +28 -2
  90. package/elements/static-elements/hyperlink-element.js +153 -4
  91. package/elements/static-elements/hyperlink-element.metadata.json +1 -1
  92. package/elements/static-elements/text-element.d.ts +28 -2
  93. package/elements/static-elements/text-element.js +162 -12
  94. package/elements/static-elements/text-element.metadata.json +1 -1
  95. package/elements/switch-indicator-light/bit-indicator-light-operator.d.ts +1 -0
  96. package/elements/switch-indicator-light/bit-indicator-light-operator.js +10 -3
  97. package/elements/switch-indicator-light/bit-indicator-light-operator.metadata.json +1 -1
  98. package/elements/switch-indicator-light/switch-indicator-light-element.d.ts +20 -2
  99. package/elements/switch-indicator-light/switch-indicator-light-element.js +92 -15
  100. package/elements/switch-indicator-light/switch-indicator-light-element.metadata.json +1 -1
  101. package/elements/switch-indicator-light/word-indicator-light-operator.d.ts +1 -0
  102. package/elements/switch-indicator-light/word-indicator-light-operator.js +10 -3
  103. package/elements/switch-indicator-light/word-indicator-light-operator.metadata.json +1 -1
  104. package/elements/video/video-element.d.ts +10 -0
  105. package/elements/video/video-element.js +139 -21
  106. package/elements/video/video-element.metadata.json +1 -1
  107. package/elements/view-operation/view-operation.element.d.ts +28 -2
  108. package/elements/view-operation/view-operation.element.js +172 -8
  109. package/elements/view-operation/view-operation.element.metadata.json +1 -1
  110. package/elements/weather/weater-element.js +0 -1
  111. package/gui/gui-context.d.ts +25 -2
  112. package/gui/gui-host.d.ts +1 -1
  113. package/gui/gui-view.d.ts +19 -2
  114. package/gui/gui-view.js +147 -12
  115. package/gui/gui-view.metadata.json +1 -1
  116. package/gui/gui.component.d.ts +3 -0
  117. package/gui/gui.component.js +15 -2
  118. package/gui/gui.component.metadata.json +1 -1
  119. package/localization/localization.service.d.ts +11 -0
  120. package/localization/localization.service.js +16 -5
  121. package/localization/localization.service.metadata.json +1 -1
  122. package/localization/localization.service.zh_CN.js +12 -1
  123. package/localization/localization.service.zh_CN.metadata.json +1 -1
  124. package/modal/alert/alert-modal.component.js +1 -1
  125. package/modal/alert/alert-modal.component.less +13 -5
  126. package/modal/alert/alert-modal.component.metadata.json +1 -1
  127. package/modal/confirm-operation/confirm-operation-modal.component.html +2 -2
  128. package/modal/confirm-operation/confirm-operation-modal.component.js +2 -2
  129. package/modal/confirm-operation/confirm-operation-modal.component.less +10 -7
  130. package/modal/confirm-operation/confirm-operation-modal.component.metadata.json +1 -1
  131. package/modal/verify-password/verify-password-modal.component.d.ts +6 -2
  132. package/modal/verify-password/verify-password-modal.component.html +2 -2
  133. package/modal/verify-password/verify-password-modal.component.js +11 -5
  134. package/modal/verify-password/verify-password-modal.component.less +9 -0
  135. package/modal/verify-password/verify-password-modal.component.metadata.json +1 -1
  136. package/modal/write-character/write-character-modal-args.d.ts +3 -1
  137. package/modal/write-character/write-character-modal-args.js +2 -1
  138. package/modal/write-character/write-character-modal-args.metadata.json +1 -1
  139. package/modal/write-character/write-character-modal.component.d.ts +4 -2
  140. package/modal/write-character/write-character-modal.component.html +4 -4
  141. package/modal/write-character/write-character-modal.component.js +11 -5
  142. package/modal/write-character/write-character-modal.component.less +15 -0
  143. package/modal/write-character/write-character-modal.component.metadata.json +1 -1
  144. package/modal/write-value/write-value-modal-args.d.ts +5 -1
  145. package/modal/write-value/write-value-modal-args.js +3 -1
  146. package/modal/write-value/write-value-modal-args.metadata.json +1 -1
  147. package/modal/write-value/write-value-modal.component.d.ts +16 -8
  148. package/modal/write-value/write-value-modal.component.html +10 -5
  149. package/modal/write-value/write-value-modal.component.js +103 -21
  150. package/modal/write-value/write-value-modal.component.less +16 -1
  151. package/modal/write-value/write-value-modal.component.metadata.json +1 -1
  152. package/model/alarm/alarm.model.d.ts +14 -0
  153. package/model/alarm/alarm.model.js +0 -0
  154. package/model/alarm/alarm.model.metadata.json +1 -0
  155. package/model/bar-graph/bar-graph.d.ts +4 -0
  156. package/model/base/font-setting-model.d.ts +22 -1
  157. package/model/base/font-setting-model.metadata.json +1 -1
  158. package/model/base/readable-model.d.ts +4 -0
  159. package/model/character-display/character-display.d.ts +1 -0
  160. package/model/datetime-display/datetime-display.d.ts +1 -0
  161. package/model/historical-curve/historical-curve-axis-settings.d.ts +11 -0
  162. package/model/historical-curve/historical-curve-axis-settings.js +5 -0
  163. package/model/historical-curve/historical-curve-axis-settings.metadata.json +1 -1
  164. package/model/historical-curve/historical-curve-chanel.model.d.ts +8 -0
  165. package/model/historical-curve/historical-curve.display-settings.d.ts +1 -0
  166. package/model/meter/meter.d.ts +4 -0
  167. package/model/numerical-display/numerical-display.d.ts +1 -0
  168. package/model/numerical-display/numerical-operation.d.ts +10 -2
  169. package/model/ring-graph/ring-graph.model.d.ts +8 -0
  170. package/model/scroll-alarm/scroll-alarm.model.d.ts +21 -0
  171. package/model/scroll-alarm/scroll-alarm.model.js +0 -0
  172. package/model/scroll-alarm/scroll-alarm.model.metadata.json +1 -0
  173. package/model/settings/popup/view-popup-location-type.d.ts +2 -1
  174. package/model/settings/popup/view-popup-location-type.js +1 -0
  175. package/model/settings/popup/view-popup-location-type.metadata.json +1 -1
  176. package/model/shared/state/state.d.ts +1 -0
  177. package/model/shared/state/state.js +1 -0
  178. package/model/shared/state/state.metadata.json +1 -1
  179. package/model/shared/text/font.d.ts +1 -1
  180. package/model/shared/text/text.d.ts +3 -0
  181. package/model/switch-indicator-light/switch-indicator-light.d.ts +3 -0
  182. package/model/view-operation/view-operation-element.model.d.ts +7 -1
  183. package/package.json +1 -1
  184. package/public_api.js +1 -0
  185. package/remote/communication/variable/remote-variable-communicator.d.ts +30 -0
  186. package/remote/communication/variable/remote-variable-communicator.js +193 -3
  187. package/remote/communication/variable/remote-variable-communicator.metadata.json +1 -1
  188. package/remote/communication/variable/remote-variable-protocol.d.ts +8 -0
  189. package/service/index.d.ts +4 -0
  190. package/service/index.js +1 -0
  191. package/service/index.metadata.json +1 -1
  192. package/service/language.service.d.ts +37 -0
  193. package/service/language.service.js +0 -0
  194. package/service/language.service.metadata.json +1 -0
  195. package/service/released-variable/index.d.ts +1 -0
  196. package/service/released-variable/index.js +0 -0
  197. package/service/released-variable/index.metadata.json +1 -0
  198. package/service/released-variable/released-variable.service.d.ts +4 -0
  199. package/service/released-variable/released-variable.service.js +0 -0
  200. package/service/released-variable/released-variable.service.metadata.json +1 -0
  201. package/service/system-text-library.service.d.ts +77 -0
  202. package/service/system-text-library.service.js +29 -0
  203. package/service/system-text-library.service.metadata.json +1 -0
  204. package/service/text-library.service.d.ts +49 -0
  205. package/service/text-library.service.js +0 -0
  206. package/service/text-library.service.metadata.json +1 -0
  207. package/shared/gui-consts.d.ts +2 -0
  208. package/shared/gui-consts.js +3 -1
  209. package/shared/gui-consts.metadata.json +1 -1
  210. package/utils/data-type/fbox-data-type.service.js +40 -0
  211. package/utils/numerical-operation.service.js +28 -4
  212. package/view/popup-view.service.d.ts +1 -1
@@ -18,6 +18,7 @@ import { Size } from '../model';
18
18
  import { DisplayMode, GlobalSettings, ViewResizeMode } from '../settings';
19
19
  import { GuiHost } from './gui-host';
20
20
  import { Guid } from '../utils/guid';
21
+ import { ViewService } from '../view/view.service';
21
22
  let GuiComponent = class GuiComponent {
22
23
  constructor(el, localization, injector, bsModalService) {
23
24
  this.el = el;
@@ -29,6 +30,7 @@ let GuiComponent = class GuiComponent {
29
30
  this.lastScale = 1;
30
31
  this.isMobileMode = false;
31
32
  this.globalSettings = this.injector.get(GlobalSettings);
33
+ this.viewService = injector.get(ViewService);
32
34
  }
33
35
  get viewResizeMode() {
34
36
  switch (this.resizeMode) {
@@ -131,11 +133,11 @@ let GuiComponent = class GuiComponent {
131
133
  this.$svg = $(this.el.nativeElement).find('div.svgView').first();
132
134
  this.$svg.empty();
133
135
  const svgRootClass = 'S' + Guid.newGuid().toString('n');
134
- const hostContainerId = 'H' + Guid.newGuid().toString('n');
136
+ this.hostContainerId = 'H' + Guid.newGuid().toString('n');
135
137
  this.$svg.addClass(svgRootClass);
136
138
  const guiOptions = {
137
139
  svgRootClass: svgRootClass,
138
- hostContainerId: hostContainerId,
140
+ hostContainerId: this.hostContainerId,
139
141
  el: this.el
140
142
  };
141
143
  const host = new GuiHost(this.injector, this.bsModalService, newValue, guiOptions, this.el);
@@ -190,6 +192,17 @@ let GuiComponent = class GuiComponent {
190
192
  this.isMobileMode = this.displayMode === 'Mobile';
191
193
  this.globalSettings.displayMode = this.isMobileMode ? DisplayMode.Mobile : DisplayMode.Web;
192
194
  }
195
+ refreshCurrentPage() {
196
+ if (this.host.currentViewIndex === undefined) {
197
+ return false;
198
+ }
199
+ const toggleView = this.viewService.toggleViews.get(this.el);
200
+ if (!toggleView) {
201
+ return false;
202
+ }
203
+ toggleView(this.host.currentViewIndex, this.hostContainerId, this.el).subscribe();
204
+ return true;
205
+ }
193
206
  };
194
207
  __decorate([
195
208
  Input(),
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"GuiComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"fc-gui","template":"<div> <div class='svgView' style=\"position: relative;display: flex;justify-content: center;align-items: center;\"></div> </div> "}]}],"members":{"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"resizeMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"displayMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":5}}]}],"loaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","module":"../localization","name":"LOCALIZATION","line":46,"character":16}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":45,"character":37},{"__symbolic":"reference","module":"../localization","name":"Localization","line":46,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":47,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":48,"character":41}]}],"ngOnChanges":[{"__symbolic":"method"}],"doubleFingerZooming":[{"__symbolic":"method"}],"getDistance":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onProviderChanged":[{"__symbolic":"method"}],"onSizeChanged":[{"__symbolic":"method"}],"onResizeModeChanged":[{"__symbolic":"method"}],"onDisplayModeChanged":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"GuiComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"fc-gui","template":"<div> <div class='svgView' style=\"position: relative;display: flex;justify-content: center;align-items: center;\"></div> </div> "}]}],"members":{"context":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"resizeMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}}]}],"displayMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":5}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":5}}]}],"loaded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"../localization","name":"LOCALIZATION","line":50,"character":16}]}],null,null],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":37},{"__symbolic":"reference","module":"../localization","name":"Localization","line":50,"character":61},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":51,"character":35},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":52,"character":41}]}],"ngOnChanges":[{"__symbolic":"method"}],"doubleFingerZooming":[{"__symbolic":"method"}],"getDistance":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onProviderChanged":[{"__symbolic":"method"}],"onSizeChanged":[{"__symbolic":"method"}],"onResizeModeChanged":[{"__symbolic":"method"}],"onDisplayModeChanged":[{"__symbolic":"method"}],"refreshCurrentPage":[{"__symbolic":"method"}]}}}}]
@@ -3,9 +3,12 @@ export declare const LOCALIZATION: InjectionToken<Localization>;
3
3
  export interface Localization {
4
4
  loadFailed: any;
5
5
  setting: any;
6
+ save: any;
6
7
  submit: any;
8
+ submitting: any;
7
9
  numericalValueRequired: any;
8
10
  invalidNumericalValue: any;
11
+ writeValueTimeout: any;
9
12
  binaryType: any;
10
13
  decimalType: any;
11
14
  hexadecimalType: any;
@@ -27,14 +30,22 @@ export interface Localization {
27
30
  offline: any;
28
31
  abnormal: any;
29
32
  disable: any;
33
+ invalidMonitor: any;
34
+ variableChanged: any;
30
35
  permissiontip: any;
31
36
  conditionIsNotMetTip: any;
32
37
  chartNoData: any;
38
+ lastThirtyMinutes: any;
33
39
  lastOneHour: any;
40
+ lastEightHour: any;
34
41
  lastTwentyFourHours: any;
35
42
  lastSevenDays: any;
36
43
  lastThirtyDays: any;
37
44
  lastOneYear: any;
45
+ customTimeRange: any;
46
+ timeRange: any;
47
+ startTime: any;
48
+ endTime: any;
38
49
  grouped: any;
39
50
  stacked: any;
40
51
  passwordVerify: any;
@@ -2,10 +2,13 @@ import { InjectionToken } from '@angular/core';
2
2
  export const LOCALIZATION = new InjectionToken('fc.gui.loc');
3
3
  export const DefaultLocalization = {
4
4
  loadFailed: 'Load failed.',
5
- setting: 'Setting',
5
+ setting: 'Setting ',
6
+ save: 'Save',
6
7
  submit: 'Submit',
8
+ submitting: 'Submitting···',
7
9
  numericalValueRequired: 'Numerical value can\'t be emtpy',
8
10
  invalidNumericalValue: 'Numerical value is not valid',
11
+ writeValueTimeout: 'Write value error: Timeout',
9
12
  binaryType: 'Binary',
10
13
  decimalType: 'Decimal',
11
14
  hexadecimalType: 'Hexadecimal',
@@ -15,7 +18,7 @@ export const DefaultLocalization = {
15
18
  canNotBeNegative: 'Can not be negative',
16
19
  valueOutOfRange: 'Numerical value is out of range',
17
20
  timeout: 'timeout',
18
- confirmOperationPrompt: 'Sure to do this operation?',
21
+ confirmOperationPrompt: 'Confirm action?',
19
22
  confirm: 'Yes',
20
23
  cancel: 'Cancel',
21
24
  characterInputRequired: 'Character input can\'t be empty',
@@ -27,17 +30,25 @@ export const DefaultLocalization = {
27
30
  offline: 'Offline',
28
31
  abnormal: 'Data abnormal',
29
32
  disable: 'Disable',
33
+ invalidMonitor: 'Element binding monitor point is invalid',
34
+ variableChanged: 'Variable changed, please re-import the device template',
30
35
  permissiontip: 'You have no permission to operate.',
31
- conditionIsNotMetTip: 'Unsatisfied operating conditions or variable abnorma.',
36
+ conditionIsNotMetTip: 'Operation conditions not met or variable anomalies.',
32
37
  chartNoData: 'No Data Available',
38
+ lastThirtyMinutes: 'Last thirty minutes',
33
39
  lastOneHour: 'Last one hour',
40
+ lastEightHour: 'Last eight hours',
34
41
  lastTwentyFourHours: 'Last 24 hours',
35
42
  lastSevenDays: 'Last 7 days',
36
43
  lastThirtyDays: 'Last 30 days',
37
- lastOneYear: 'Last 1 year',
44
+ lastOneYear: 'Last 6 months',
45
+ customTimeRange: 'Custom',
46
+ timeRange: 'Time Range',
47
+ startTime: 'Start Time',
48
+ endTime: 'End Time',
38
49
  grouped: 'Grouped',
39
50
  stacked: 'Stacked',
40
- passwordVerify: 'Password verifiers',
51
+ passwordVerify: 'Password Verification',
41
52
  passwordError: 'Password error',
42
53
  password: 'Password',
43
54
  passwordToolTip: 'Password error, please re-enter',
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting","submit":"Submit","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Sure to do this operation?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Unsatisfied operating conditions or variable abnorma.","chartNoData":"No Data Available","lastOneHour":"Last one hour","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 1 year","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password verifiers","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available","airQualityNotSupport":"Location not supported","airQualityNotAddress":"Address not configured","airQualityNotAvailable":"Address not yet available"}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting ","save":"Save","submit":"Submit","submitting":"Submitting···","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","writeValueTimeout":"Write value error: Timeout","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Confirm action?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","invalidMonitor":"Element binding monitor point is invalid","variableChanged":"Variable changed, please re-import the device template","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Operation conditions not met or variable anomalies.","chartNoData":"No Data Available","lastThirtyMinutes":"Last thirty minutes","lastOneHour":"Last one hour","lastEightHour":"Last eight hours","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 6 months","customTimeRange":"Custom","timeRange":"Time Range","startTime":"Start Time","endTime":"End Time","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password Verification","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available","airQualityNotSupport":"Location not supported","airQualityNotAddress":"Address not configured","airQualityNotAvailable":"Address not yet available"}}}]
@@ -2,8 +2,11 @@ export const Localization_zh_CN = {
2
2
  loadFailed: '加载失败.',
3
3
  setting: '设置',
4
4
  submit: '提交',
5
+ save: '保存',
6
+ submitting: '提交中···',
5
7
  numericalValueRequired: '数值不能为空',
6
8
  invalidNumericalValue: '数值格式不正确',
9
+ writeValueTimeout: '写值错误:超时',
7
10
  binaryType: '二进制',
8
11
  decimalType: '十进制',
9
12
  hexadecimalType: '十六进制',
@@ -25,14 +28,22 @@ export const Localization_zh_CN = {
25
28
  offline: '离线',
26
29
  abnormal: '数据异常',
27
30
  disable: '禁用',
31
+ invalidMonitor: '元件绑定的监控点无效',
32
+ variableChanged: '变量已变更,请重新导入设备模板',
28
33
  permissiontip: '您无权限执行此操作',
29
34
  conditionIsNotMetTip: '操作条件不满足或逻辑控制变量异常',
30
35
  chartNoData: '无数据',
36
+ lastThirtyMinutes: '最近30分钟',
31
37
  lastOneHour: '最近1小时',
38
+ lastEightHour: '最近8小时',
32
39
  lastTwentyFourHours: '最近24小时',
33
40
  lastSevenDays: '最近7天',
34
41
  lastThirtyDays: '最近30天',
35
- lastOneYear: '最近1年',
42
+ lastOneYear: '最近半年',
43
+ customTimeRange: '自定义',
44
+ timeRange: '时间范围',
45
+ startTime: '开始时间',
46
+ endTime: '结束时间',
36
47
  grouped: '分组',
37
48
  stacked: '叠加',
38
49
  passwordVerify: '密码校验',
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastOneHour":"最近1小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近1年","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址","airQualityNotSupport":"当前位置暂不支持","airQualityNotAddress":"当前设备未设置地址","airQualityNotAvailable":"暂未获取设备地址"}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","save":"保存","submitting":"提交中···","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","writeValueTimeout":"写值错误:超时","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","invalidMonitor":"元件绑定的监控点无效","variableChanged":"变量已变更,请重新导入设备模板","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastThirtyMinutes":"最近30分钟","lastOneHour":"最近1小时","lastEightHour":"最近8小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近半年","customTimeRange":"自定义","timeRange":"时间范围","startTime":"开始时间","endTime":"结束时间","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址","airQualityNotSupport":"当前位置暂不支持","airQualityNotAddress":"当前设备未设置地址","airQualityNotAvailable":"暂未获取设备地址"}}}]
@@ -30,7 +30,7 @@ AlertModalComponent = __decorate([
30
30
  Component({
31
31
  selector: 'alertModal',
32
32
  template: "<div class=\"modal-body\"> <div style=\"text-align:center\"> <div class=\"alertIcon\"></div> <h3 class=\"alert-h3\">{{alermMessage}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.confirm}} </button> </div> ",
33
- styles: [".modal-header { padding: 17px; border-color: transparent; } .modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .alert-modal { max-width: 478px; } .alert-modal>.modal-content { padding: 17px; } h3.alert-h3 { font-size: 20px; font-weight: bold; } .alert-btn { padding: 0; margin-bottom: 0; } .alert-btn button { display: inline-block; } .alertIcon { background: url(assets/img/alert.svg); width: 88px; height: 88px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 32px; margin: 26px 5px 0; cursor: point; background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } "]
33
+ styles: [".modal-header { padding: 17px; border-color: transparent; } .modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .alert-modal { max-width: 478px; } .alert-modal>.modal-content { padding: 17px; } h3.alert-h3 { font-size: 20px; font-weight: bold; margin-top: 10px; } .alert-btn { padding: 0; margin-bottom: 0; } .alert-btn button { display: inline-block; } .alertIcon { background: url(assets/img/alert.svg); width: 44px; height: 44px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 0; width: 100px; margin: 0 5px 0; cursor: pointer; background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .form-group { padding: 0 !important; justify-content: center; margin-bottom: 28px; } "]
34
34
  }),
35
35
  __param(0, Inject(LOCALIZATION)),
36
36
  __metadata("design:paramtypes", [Object])
@@ -26,6 +26,7 @@
26
26
  h3.alert-h3 {
27
27
  font-size: 20px;
28
28
  font-weight: bold;
29
+ margin-top: 10px;
29
30
  }
30
31
 
31
32
  .alert-btn {
@@ -39,8 +40,8 @@ h3.alert-h3 {
39
40
 
40
41
  .alertIcon {
41
42
  background: url(assets/img/alert.svg);
42
- width: 88px;
43
- height: 88px;
43
+ width: 44px;
44
+ height: 44px;
44
45
  display: inline-block;
45
46
  }
46
47
 
@@ -51,9 +52,16 @@ h3.alert-h3 {
51
52
  font-size: 17px;
52
53
  font-weight: 500;
53
54
  border-radius: 5px;
54
- padding: 10px 32px;
55
- margin: 26px 5px 0;
56
- cursor: point;
55
+ padding: 10px 0;
56
+ width: 100px;
57
+ margin: 0 5px 0;
58
+ cursor: pointer;
57
59
  background-color: rgb(221, 107, 85);
58
60
  box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
59
61
  }
62
+
63
+ .form-group {
64
+ padding: 0 !important;
65
+ justify-content: center;
66
+ margin-bottom: 28px;
67
+ }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"AlertModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"alertModal","template":"<div class=\"modal-body\"> <div style=\"text-align:center\"> <div class=\"alertIcon\"></div> <h3 class=\"alert-h3\">{{alermMessage}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.confirm}} </button> </div> ","styles":[".modal-header { padding: 17px; border-color: transparent; } .modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .alert-modal { max-width: 478px; } .alert-modal>.modal-content { padding: 17px; } h3.alert-h3 { font-size: 20px; font-weight: bold; } .alert-btn { padding: 0; margin-bottom: 0; } .alert-btn button { display: inline-block; } .alertIcon { background: url(assets/img/alert.svg); width: 88px; height: 88px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 32px; margin: 26px 5px 0; cursor: point; background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"LOCALIZATION","line":18,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"Localization","line":18,"character":59}]}],"close":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"AlertModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"alertModal","template":"<div class=\"modal-body\"> <div style=\"text-align:center\"> <div class=\"alertIcon\"></div> <h3 class=\"alert-h3\">{{alermMessage}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.confirm}} </button> </div> ","styles":[".modal-header { padding: 17px; border-color: transparent; } .modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .alert-modal { max-width: 478px; } .alert-modal>.modal-content { padding: 17px; } h3.alert-h3 { font-size: 20px; font-weight: bold; margin-top: 10px; } .alert-btn { padding: 0; margin-bottom: 0; } .alert-btn button { display: inline-block; } .alertIcon { background: url(assets/img/alert.svg); width: 44px; height: 44px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 0; width: 100px; margin: 0 5px 0; cursor: pointer; background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .form-group { padding: 0 !important; justify-content: center; margin-bottom: 28px; } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"LOCALIZATION","line":18,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"Localization","line":18,"character":59}]}],"close":[{"__symbolic":"method"}]}}}}]
@@ -1,6 +1,6 @@
1
- <form novalidate (ngSubmit)="confirm()" bs-modal-drag>
1
+ <form novalidate (ngSubmit)="confirm()" bs-modal-drag class="confirm-modal">
2
2
  <div class="modal-body">
3
- <div style="text-align:center;margin-top:20px;">
3
+ <div style="text-align:center;">
4
4
  <div class="alertIcon"></div>
5
5
  <h3 class="confirm-h3">{{localization.confirmOperationPrompt}}</h3>
6
6
  </div>
@@ -32,8 +32,8 @@ let ConfirmOperationModalComponent = class ConfirmOperationModalComponent {
32
32
  ConfirmOperationModalComponent = __decorate([
33
33
  Component({
34
34
  selector: 'confirmOperationModal',
35
- template: "<form novalidate (ngSubmit)=\"confirm()\" bs-modal-drag> <div class=\"modal-body\"> <div style=\"text-align:center;margin-top:20px;\"> <div class=\"alertIcon\"></div> <h3 class=\"confirm-h3\">{{localization.confirmOperationPrompt}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn-group\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.cancel}} </button> <button type=\"submit\" class=\"sweet-alert-btn\"> {{localization.confirm}} </button> </div> </form> ",
36
- styles: [".modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .confirm-modal { max-width: 478px; } .confirm-modal>.modal-content { padding: 17px; } h3.confirm-h3 { font-size: 20px; font-weight: bold; } .confirm-btn-group { padding: 0; margin-bottom: 28px; margin-right: 50px; } .confirm-btn-group button { display: inline-block; } .confirm-btn-group button:last-child { background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .alertIcon { background: url(assets/img/alert.svg); width: 88px; height: 88px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 32px; margin: 26px 5px 0; cursor: pointer } "]
35
+ template: "<form novalidate (ngSubmit)=\"confirm()\" bs-modal-drag class=\"confirm-modal\"> <div class=\"modal-body\"> <div style=\"text-align:center;\"> <div class=\"alertIcon\"></div> <h3 class=\"confirm-h3\">{{localization.confirmOperationPrompt}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn-group\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.cancel}} </button> <button type=\"submit\" class=\"sweet-alert-btn\"> {{localization.confirm}} </button> </div> </form> ",
36
+ styles: [".modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .confirm-modal { max-width: 478px; } .confirm-modal>.modal-content { padding: 17px; } h3.confirm-h3 { font-size: 20px; font-weight: bold; margin-top: 10px; } .confirm-modal .confirm-btn-group { padding: 0 !important; margin-bottom: 28px; justify-content: center; margin-right: 0; } .confirm-btn-group button { display: inline-block; } .confirm-btn-group button:last-child { background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .alertIcon { background: url(assets/img/alert.svg); width: 44px; height: 44px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 0; width: 100px; margin: 0 5px 0; cursor: pointer } "]
37
37
  }),
38
38
  __param(0, Inject(LOCALIZATION)),
39
39
  __metadata("design:paramtypes", [Object])
@@ -21,12 +21,14 @@
21
21
  h3.confirm-h3 {
22
22
  font-size: 20px;
23
23
  font-weight: bold;
24
+ margin-top: 10px;
24
25
  }
25
26
 
26
- .confirm-btn-group {
27
- padding: 0;
27
+ .confirm-modal .confirm-btn-group {
28
+ padding: 0 !important;
28
29
  margin-bottom: 28px;
29
- margin-right: 50px;
30
+ justify-content: center;
31
+ margin-right: 0;
30
32
  }
31
33
 
32
34
  .confirm-btn-group button {
@@ -40,8 +42,8 @@ h3.confirm-h3 {
40
42
 
41
43
  .alertIcon {
42
44
  background: url(assets/img/alert.svg);
43
- width: 88px;
44
- height: 88px;
45
+ width: 44px;
46
+ height: 44px;
45
47
  display: inline-block;
46
48
  }
47
49
 
@@ -52,7 +54,8 @@ h3.confirm-h3 {
52
54
  font-size: 17px;
53
55
  font-weight: 500;
54
56
  border-radius: 5px;
55
- padding: 10px 32px;
56
- margin: 26px 5px 0;
57
+ padding: 10px 0;
58
+ width: 100px;
59
+ margin: 0 5px 0;
57
60
  cursor: pointer
58
61
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConfirmOperationModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"confirmOperationModal","template":"<form novalidate (ngSubmit)=\"confirm()\" bs-modal-drag> <div class=\"modal-body\"> <div style=\"text-align:center;margin-top:20px;\"> <div class=\"alertIcon\"></div> <h3 class=\"confirm-h3\">{{localization.confirmOperationPrompt}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn-group\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.cancel}} </button> <button type=\"submit\" class=\"sweet-alert-btn\"> {{localization.confirm}} </button> </div> </form> ","styles":[".modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .confirm-modal { max-width: 478px; } .confirm-modal>.modal-content { padding: 17px; } h3.confirm-h3 { font-size: 20px; font-weight: bold; } .confirm-btn-group { padding: 0; margin-bottom: 28px; margin-right: 50px; } .confirm-btn-group button { display: inline-block; } .confirm-btn-group button:last-child { background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .alertIcon { background: url(assets/img/alert.svg); width: 88px; height: 88px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 32px; margin: 26px 5px 0; cursor: pointer } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"LOCALIZATION","line":16,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"Localization","line":16,"character":59}]}],"close":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConfirmOperationModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"confirmOperationModal","template":"<form novalidate (ngSubmit)=\"confirm()\" bs-modal-drag class=\"confirm-modal\"> <div class=\"modal-body\"> <div style=\"text-align:center;\"> <div class=\"alertIcon\"></div> <h3 class=\"confirm-h3\">{{localization.confirmOperationPrompt}}</h3> </div> </div> <div class=\"modal-footer form-group confirm-btn-group\"> <button type=\"button\" class=\"sweet-alert-btn\" (click)=\"close()\"> {{localization.cancel}} </button> <button type=\"submit\" class=\"sweet-alert-btn\"> {{localization.confirm}} </button> </div> </form> ","styles":[".modal-body { padding: 17px; position: relative; text-align: center; } .modal-footer { padding: 10px 5px; text-align: center; border-color: transparent; } .confirm-modal { max-width: 478px; } .confirm-modal>.modal-content { padding: 17px; } h3.confirm-h3 { font-size: 20px; font-weight: bold; margin-top: 10px; } .confirm-modal .confirm-btn-group { padding: 0 !important; margin-bottom: 28px; justify-content: center; margin-right: 0; } .confirm-btn-group button { display: inline-block; } .confirm-btn-group button:last-child { background-color: rgb(221, 107, 85); box-shadow: rgba(221, 107, 85, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px; } .alertIcon { background: url(assets/img/alert.svg); width: 44px; height: 44px; display: inline-block; } .sweet-alert-btn { color: #fff; border: none; background: #ddd; font-size: 17px; font-weight: 500; border-radius: 5px; padding: 10px 0; width: 100px; margin: 0 5px 0; cursor: pointer } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"LOCALIZATION","line":16,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"../../localization/localization.service","name":"Localization","line":16,"character":59}]}],"close":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}]}}}}]
@@ -1,7 +1,8 @@
1
- import { OnInit } from '@angular/core';
1
+ import { Injector, OnInit } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { Localization } from '../../localization';
4
4
  import { SecurityChecker } from '../../security';
5
+ import { ReleasedVariableService } from '../../service';
5
6
  export declare class VerifyPasswordModalComponent implements OnInit {
6
7
  localization: Localization;
7
8
  private _onClosed;
@@ -9,8 +10,11 @@ export declare class VerifyPasswordModalComponent implements OnInit {
9
10
  passwordError: boolean;
10
11
  password: string;
11
12
  securityChecker: SecurityChecker;
13
+ releasedVariableService?: ReleasedVariableService;
12
14
  validationErrorText: string;
13
- constructor(localization: Localization);
15
+ isMobileMode: boolean;
16
+ private readonly isDisplayModeMobile;
17
+ constructor(localization: Localization, injector: Injector);
14
18
  ngOnInit(): void;
15
19
  validate(): void;
16
20
  checkSecurity(): void;
@@ -10,11 +10,11 @@
10
10
  <div class="modal-body">
11
11
  <span class="password-span">{{localization.password}}:
12
12
  </span>
13
- <input type="password" name="password" autoFocus class="form-control element-password" [(ngModel)]="password" (keyup)="validate()"
13
+ <input type="password" name="password" autoFocus [class.verify-password-input]="!isMobileMode" class="form-control element-password" [(ngModel)]="password" (keyup)="validate()"
14
14
  autocomplete="off">
15
15
  <span class="help-block text-danger" [hidden]="!passwordError">{{validationErrorText}}</span>
16
16
  </div>
17
- <div class="modal-footer">
17
+ <div class="modal-footer" [class.verify-password-footer]="!isMobileMode">
18
18
  <button type="button" class="btn md-skip btn-cancel" (click)="close()">{{localization.cancel}}
19
19
  </button>
20
20
  <button type="submit" class="btn md-skip btn-primary" [disabled]="passwordError">{{localization.submit}}</button>
@@ -10,20 +10,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Component, Inject } from '@angular/core';
13
+ import { Component, Inject, Injector } from '@angular/core';
14
14
  import { Subject } from 'rxjs';
15
15
  import { isNil } from 'lodash';
16
16
  import { LOCALIZATION } from '../../localization';
17
+ import { DisplayMode, GlobalSettings } from '../../settings';
17
18
  let VerifyPasswordModalComponent = class VerifyPasswordModalComponent {
18
- constructor(localization) {
19
+ constructor(localization, injector) {
19
20
  this.localization = localization;
20
21
  this._onClosed = new Subject();
21
22
  this.passwordError = false;
23
+ this.isMobileMode = false;
24
+ this.isDisplayModeMobile = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
22
25
  }
23
26
  get onClosed() {
24
27
  return this._onClosed;
25
28
  }
26
29
  ngOnInit() {
30
+ // 画面模拟(SimulateRemoteGuiContext)下 releasedVariableService 恒为空,
31
+ // 借此和真实移动端区分开,避免在 PC 浏览器模拟移动端时套用移动端专属样式
32
+ this.isMobileMode = this.isDisplayModeMobile && !!this.releasedVariableService;
27
33
  this.validate();
28
34
  }
29
35
  validate() {
@@ -57,10 +63,10 @@ let VerifyPasswordModalComponent = class VerifyPasswordModalComponent {
57
63
  VerifyPasswordModalComponent = __decorate([
58
64
  Component({
59
65
  selector: 'verify-password',
60
- template: "<form #verifyPasswordForm=\"ngForm\" novalidate (ngSubmit)=\"checkSecurity()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.passwordVerify}}</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=\"password-span\">{{localization.password}}: </span> <input type=\"password\" name=\"password\" autoFocus class=\"form-control element-password\" [(ngModel)]=\"password\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!passwordError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"button\" class=\"btn md-skip btn-cancel\" (click)=\"close()\">{{localization.cancel}} </button> <button type=\"submit\" class=\"btn md-skip btn-primary\" [disabled]=\"passwordError\">{{localization.submit}}</button> </div> </form> ",
61
- 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; color: #fff; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { color: #fff; height: 32px; margin-right: 10px; line-height: 0px } .password-span { color: #7f939e; font-size: 14px; margin-left: 15px; } .btn-cancel { color: #fff; height: 32px; min-width: 71px; margin-right: 6px; background-color: #dddddd; line-height: 0px } .element-password { padding-left: 8px; height: 32px; min-width: 71px; margin-left: 16px; } "]
66
+ template: "<form #verifyPasswordForm=\"ngForm\" novalidate (ngSubmit)=\"checkSecurity()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.passwordVerify}}</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=\"password-span\">{{localization.password}}: </span> <input type=\"password\" name=\"password\" autoFocus [class.verify-password-input]=\"!isMobileMode\" class=\"form-control element-password\" [(ngModel)]=\"password\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!passwordError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\" [class.verify-password-footer]=\"!isMobileMode\"> <button type=\"button\" class=\"btn md-skip btn-cancel\" (click)=\"close()\">{{localization.cancel}} </button> <button type=\"submit\" class=\"btn md-skip btn-primary\" [disabled]=\"passwordError\">{{localization.submit}}</button> </div> </form> ",
67
+ 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; color: #fff; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { color: #fff; height: 32px; min-width: 71px; margin-right: 10px; line-height: 0px } .password-span { color: #7f939e; font-size: 14px; margin-left: 15px; } .btn-cancel { color: #fff; height: 32px; min-width: 71px; margin-right: 6px; background-color: #dddddd; line-height: 0px } .element-password { padding-left: 8px; height: 32px; min-width: 71px; margin-left: 16px; } .verify-password-input { width: 600px; } .verify-password-footer { padding-right: 18px !important; } "]
62
68
  }),
63
69
  __param(0, Inject(LOCALIZATION)),
64
- __metadata("design:paramtypes", [Object])
70
+ __metadata("design:paramtypes", [Object, Injector])
65
71
  ], VerifyPasswordModalComponent);
66
72
  export { VerifyPasswordModalComponent };
@@ -38,6 +38,7 @@
38
38
  .btn-primary {
39
39
  color: #fff;
40
40
  height: 32px;
41
+ min-width: 71px;
41
42
  margin-right: 10px;
42
43
  line-height: 0px
43
44
  }
@@ -63,3 +64,11 @@
63
64
  min-width: 71px;
64
65
  margin-left: 16px;
65
66
  }
67
+
68
+ .verify-password-input {
69
+ width: 600px;
70
+ }
71
+
72
+ .verify-password-footer {
73
+ padding-right: 18px !important;
74
+ }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"VerifyPasswordModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"verify-password","template":"<form #verifyPasswordForm=\"ngForm\" novalidate (ngSubmit)=\"checkSecurity()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.passwordVerify}}</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=\"password-span\">{{localization.password}}: </span> <input type=\"password\" name=\"password\" autoFocus class=\"form-control element-password\" [(ngModel)]=\"password\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!passwordError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\"> <button type=\"button\" class=\"btn md-skip btn-cancel\" (click)=\"close()\">{{localization.cancel}} </button> <button type=\"submit\" class=\"btn md-skip btn-primary\" [disabled]=\"passwordError\">{{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; color: #fff; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { color: #fff; height: 32px; margin-right: 10px; line-height: 0px } .password-span { color: #7f939e; font-size: 14px; margin-left: 15px; } .btn-cancel { color: #fff; height: 32px; min-width: 71px; margin-right: 6px; background-color: #dddddd; line-height: 0px } .element-password { padding-left: 8px; height: 32px; min-width: 71px; margin-left: 16px; } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":24,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":24,"character":59}]}],"ngOnInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"checkSecurity":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"VerifyPasswordModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"verify-password","template":"<form #verifyPasswordForm=\"ngForm\" novalidate (ngSubmit)=\"checkSecurity()\" bs-modal-drag> <div class=\"modal-header\"> <h4 class=\"modal-title\"> <span>{{localization.passwordVerify}}</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=\"password-span\">{{localization.password}}: </span> <input type=\"password\" name=\"password\" autoFocus [class.verify-password-input]=\"!isMobileMode\" class=\"form-control element-password\" [(ngModel)]=\"password\" (keyup)=\"validate()\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!passwordError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\" [class.verify-password-footer]=\"!isMobileMode\"> <button type=\"button\" class=\"btn md-skip btn-cancel\" (click)=\"close()\">{{localization.cancel}} </button> <button type=\"submit\" class=\"btn md-skip btn-primary\" [disabled]=\"passwordError\">{{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; color: #fff; } .text-danger { display: block; color: #ed6b75; font-size: 14px; margin: 5px 0px 0px 15px; } .btn-primary { color: #fff; height: 32px; min-width: 71px; margin-right: 10px; line-height: 0px } .password-span { color: #7f939e; font-size: 14px; margin-left: 15px; } .btn-cancel { color: #fff; height: 32px; min-width: 71px; margin-right: 6px; background-color: #dddddd; line-height: 0px } .element-password { padding-left: 8px; height: 32px; min-width: 71px; margin-left: 16px; } .verify-password-input { width: 600px; } .verify-password-footer { padding-right: 18px !important; } "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":29,"character":17},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":29,"character":24}]}],null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":29,"character":59},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":29,"character":83}]}],"ngOnInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"checkSecurity":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}}}}]
@@ -1,7 +1,9 @@
1
+ import { ReleasedVariableService } from '../../service';
1
2
  export declare class WriteCharacterModalArgs {
2
3
  variableName: string;
3
4
  isPassword: boolean;
4
5
  charCount: number;
5
6
  originValue: any;
6
- constructor(variableName: string, isPassword: boolean, charCount: number, originValue: any);
7
+ releasedVariableService?: ReleasedVariableService;
8
+ constructor(variableName: string, isPassword: boolean, charCount: number, originValue: any, releasedVariableService?: ReleasedVariableService);
7
9
  }
@@ -1,8 +1,9 @@
1
1
  export class WriteCharacterModalArgs {
2
- constructor(variableName, isPassword, charCount, originValue) {
2
+ constructor(variableName, isPassword, charCount, originValue, releasedVariableService) {
3
3
  this.variableName = variableName;
4
4
  this.isPassword = isPassword;
5
5
  this.charCount = charCount;
6
6
  this.originValue = originValue;
7
+ this.releasedVariableService = releasedVariableService;
7
8
  }
8
9
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WriteCharacterModalArgs":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"any"}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WriteCharacterModalArgs":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"../../service","name":"ReleasedVariableService","line":8,"character":41}]}]}}}}]
@@ -1,4 +1,4 @@
1
- import { OnInit } from '@angular/core';
1
+ import { Injector, OnInit } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { Localization } from '../../localization';
4
4
  import { WriteValueModelResult } from '../write-value/write-value-model-result';
@@ -8,6 +8,8 @@ export declare class WriteCharacterModalComponent implements OnInit {
8
8
  private _onClosed;
9
9
  get onClosed(): Observable<WriteValueModelResult>;
10
10
  args: WriteCharacterModalArgs;
11
+ isMobileMode: boolean;
12
+ private readonly isDisplayModeMobile;
11
13
  value: string;
12
14
  variableName: string;
13
15
  isPassword: boolean;
@@ -15,7 +17,7 @@ export declare class WriteCharacterModalComponent implements OnInit {
15
17
  validationError: boolean;
16
18
  validationErrorText: string;
17
19
  get invalidErrorText(): string;
18
- constructor(localization: Localization);
20
+ constructor(localization: Localization, injector: Injector);
19
21
  ngOnInit(): void;
20
22
  validate(): void;
21
23
  private showValidationErrorInfo;
@@ -9,13 +9,13 @@
9
9
  </button>
10
10
  </div>
11
11
  <div class="modal-body">
12
- <input type="text" name="characterInput" autoFocus class="form-control write-character-value" [(ngModel)]="value" (keyup)="validate()" *ngIf="!isPassword"
12
+ <input type="text" name="characterInput" autoFocus [class.form-control-write]="!isMobileMode" class="form-control write-character-value" [(ngModel)]="value" (keyup)="validate()" *ngIf="!isPassword"
13
13
  autocomplete="off">
14
- <input type="password" name="passwordInput" autoFocus class="form-control write-character-value" [(ngModel)]="value" (keyup)="validate()"
14
+ <input type="password" name="passwordInput" autoFocus [class.form-control-write]="!isMobileMode" class="form-control write-character-value" [(ngModel)]="value" (keyup)="validate()"
15
15
  *ngIf="isPassword" autocomplete="off">
16
16
  <span class="help-block text-danger" [hidden]="!validationError">{{validationErrorText}}</span>
17
17
  </div>
18
- <div class="modal-footer">
19
- <button type="submit" class="btn md-skip btn-primary btn-block" [disabled]="validationError">{{localization.submit}}</button>
18
+ <div class="modal-footer" [class.modal-footer-write]="!isMobileMode">
19
+ <button type="submit" [class.btn-primary-write]="!isMobileMode" class="btn md-skip btn-primary btn-block" [disabled]="validationError">{{localization.submit}}</button>
20
20
  </div>
21
21
  </form>