@flexem/fc-gui 3.0.0-alpha.181 → 3.0.0-alpha.182

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 (27) hide show
  1. package/bundles/@flexem/fc-gui.umd.js +109 -70
  2. package/bundles/@flexem/fc-gui.umd.js.map +1 -1
  3. package/bundles/@flexem/fc-gui.umd.min.js +3 -3
  4. package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
  5. package/config/variable/variable-store.d.ts +4 -0
  6. package/elements/character-display/character-display-element.d.ts +3 -2
  7. package/elements/character-display/character-display-element.js +15 -3
  8. package/elements/character-display/character-display-element.metadata.json +1 -1
  9. package/elements/main-element.js +1 -1
  10. package/elements/numerical-display/numerical-display-element.js +4 -1
  11. package/elements/switch-indicator-light/switch-indicator-light-element.js +5 -1
  12. package/elements/view-operation/view-operation.element.js +5 -1
  13. package/modal/verify-password/verify-password-modal.component.d.ts +6 -2
  14. package/modal/verify-password/verify-password-modal.component.html +2 -2
  15. package/modal/verify-password/verify-password-modal.component.js +11 -5
  16. package/modal/verify-password/verify-password-modal.component.less +9 -0
  17. package/modal/verify-password/verify-password-modal.component.metadata.json +1 -1
  18. package/modal/write-character/write-character-modal-args.d.ts +3 -1
  19. package/modal/write-character/write-character-modal-args.js +2 -1
  20. package/modal/write-character/write-character-modal-args.metadata.json +1 -1
  21. package/modal/write-character/write-character-modal.component.d.ts +1 -0
  22. package/modal/write-character/write-character-modal.component.js +5 -1
  23. package/modal/write-character/write-character-modal.component.metadata.json +1 -1
  24. package/modal/write-value/write-value-modal.component.d.ts +1 -0
  25. package/modal/write-value/write-value-modal.component.js +5 -1
  26. package/modal/write-value/write-value-modal.component.metadata.json +1 -1
  27. package/package.json +1 -1
@@ -5,4 +5,8 @@ export interface VariableStore {
5
5
  */
6
6
  getVariableName(input: GetVariableNameArgs): string;
7
7
  getAllVariableNames?(): string[];
8
+ /**
9
+ * 根据变量名获取字符长度
10
+ */
11
+ getCharCountByVariableName?(variableName: string): number | undefined;
8
12
  }
@@ -4,7 +4,7 @@ import { VariableCommunicator } from '../../communication';
4
4
  import { GraphStore, VariableStore } from '../../config';
5
5
  import { Localization } from '../../localization';
6
6
  import { CharacterDisplay } from '../../model';
7
- import { OperationRecordService, PermissionChecker } from '../../service';
7
+ import { OperationRecordService, PermissionChecker, ReleasedVariableService } from '../../service';
8
8
  import { ReadableElement } from '../base/readable-element';
9
9
  import { SecurityChecker } from '../../security';
10
10
  export declare class CharacterDisplayElement extends ReadableElement {
@@ -12,12 +12,13 @@ export declare class CharacterDisplayElement extends ReadableElement {
12
12
  private readonly graphStore;
13
13
  private readonly operationRecordService;
14
14
  private readonly securityChecker;
15
+ private readonly releasedVariableService?;
15
16
  protected readonly model: CharacterDisplay;
16
17
  private readonly accessPermissionService;
17
18
  private displayValue;
18
19
  private graphs;
19
20
  private readonly logger;
20
- constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string);
21
+ constructor(element: HTMLElement, injector: Injector, modalService: BsModalService, variableCommunicator: VariableCommunicator, graphStore: GraphStore, permissionChecker: PermissionChecker, operationRecordService: OperationRecordService, securityChecker: SecurityChecker, variableStore: VariableStore, localization: Localization, signalRAppId: string, releasedVariableService?: ReleasedVariableService);
21
22
  get readVariableName(): string;
22
23
  get writeVariableName(): string;
23
24
  protected updateVariableValue(value: string): void;
@@ -12,12 +12,13 @@ import { VerifyPasswordModalComponent } from '../../modal/verify-password/verify
12
12
  import { VariableUtil } from '../../utils/variable-util';
13
13
  import { TextElementModal } from '../shared/text/text-element';
14
14
  export class CharacterDisplayElement extends ReadableElement {
15
- constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization, signalRAppId) {
15
+ constructor(element, injector, modalService, variableCommunicator, graphStore, permissionChecker, operationRecordService, securityChecker, variableStore, localization, signalRAppId, releasedVariableService) {
16
16
  super(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId);
17
17
  this.modalService = modalService;
18
18
  this.graphStore = graphStore;
19
19
  this.operationRecordService = operationRecordService;
20
20
  this.securityChecker = securityChecker;
21
+ this.releasedVariableService = releasedVariableService;
21
22
  this.displayValue = '';
22
23
  this.graphs = new Map();
23
24
  this.logger = injector.get(LOGGER_SERVICE_TOKEN);
@@ -247,7 +248,10 @@ export class CharacterDisplayElement extends ReadableElement {
247
248
  }
248
249
  checkElementPassword() {
249
250
  if (this.model.enablePassword) {
250
- const modalRef = this.modalService.show(VerifyPasswordModalComponent, { initialState: { securityChecker: this.securityChecker }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
251
+ const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
252
+ initialState: { securityChecker: this.securityChecker, releasedVariableService: this.releasedVariableService },
253
+ backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
254
+ });
251
255
  const onClosedSub = modalRef.content.onClosed.subscribe(result => {
252
256
  modalRef.hide();
253
257
  onClosedSub.unsubscribe();
@@ -264,7 +268,15 @@ export class CharacterDisplayElement extends ReadableElement {
264
268
  if (null == this.writeVariableName) {
265
269
  return;
266
270
  }
267
- const args = new WriteCharacterModalArgs(this.writeVariableName, this.model.isPassword, this.model.charCount, this.displayValue);
271
+ // 优先使用接口返回的实时字符长度,如果获取不到则使用页面配置中的长度
272
+ let charCount = this.model.charCount;
273
+ if (this.variableStore.getCharCountByVariableName) {
274
+ const runtimeCharCount = this.variableStore.getCharCountByVariableName(this.writeVariableName);
275
+ if (runtimeCharCount !== undefined) {
276
+ charCount = runtimeCharCount;
277
+ }
278
+ }
279
+ const args = new WriteCharacterModalArgs(this.writeVariableName, this.model.isPassword, charCount, this.displayValue, this.releasedVariableService);
268
280
  const modalRef = this.modalService.show(WriteCharacterModalComponent, {
269
281
  initialState: { args: args }, backdrop: 'static', class: 'gui-modal-dialog-position gui-modal-write', animated: false
270
282
  });
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"CharacterDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/readable-element","name":"ReadableElement","line":20,"character":45},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":29,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":30,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":31,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":32,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":33,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":34,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":35,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":36,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":37,"character":22},{"__symbolic":"reference","name":"string"}]}],"updateVariableValue":[{"__symbolic":"method"}],"changeStates":[{"__symbolic":"method"}],"updateDisplayValue":[{"__symbolic":"method"}],"getVariableValueText":[{"__symbolic":"method"}],"characterDisplayText":[{"__symbolic":"method"}],"initElement":[{"__symbolic":"method"}],"initVariableText":[{"__symbolic":"method"}],"initClickEvent":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"doWriteCharacterValue":[{"__symbolic":"method"}],"recordOperation":[{"__symbolic":"method"}],"changeGraph":[{"__symbolic":"method"}],"getElementSizeForIconScale":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"CharacterDisplayElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/readable-element","name":"ReadableElement","line":20,"character":45},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":29,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":30,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":31,"character":30},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":32,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":33,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":34,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":35,"character":42},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":36,"character":23},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":37,"character":22},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"ReleasedVariableService","line":39,"character":51}]}],"updateVariableValue":[{"__symbolic":"method"}],"changeStates":[{"__symbolic":"method"}],"updateDisplayValue":[{"__symbolic":"method"}],"getVariableValueText":[{"__symbolic":"method"}],"characterDisplayText":[{"__symbolic":"method"}],"initElement":[{"__symbolic":"method"}],"initVariableText":[{"__symbolic":"method"}],"initClickEvent":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"doWriteCharacterValue":[{"__symbolic":"method"}],"recordOperation":[{"__symbolic":"method"}],"changeGraph":[{"__symbolic":"method"}],"getElementSizeForIconScale":[{"__symbolic":"method"}]}}}}]
@@ -84,7 +84,7 @@ export class MainElement {
84
84
  this.elements.push(new ViewOperationElement(element, this.injector, this.bsModalService, this.variableCommunicator, this.context.configStore.variableStore, this.context.configStore.graphStore, this.context.permissionChecker, this.context.operationRecordService, this.context.securityChecker, this.injector.get(LOCALIZATION), this.popupViewService, guiOptions.hostContainerId, guiOptions.el, this.signalRAppId, this.context.textLibraryService, this.context.languageService, this.context));
85
85
  break;
86
86
  case GuiConsts.components.characterKey:
87
- this.elements.push(new CharacterDisplayElement(element, this.injector, this.bsModalService, this.variableCommunicator, this.context.configStore.graphStore, this.context.permissionChecker, this.context.operationRecordService, this.context.securityChecker, this.context.configStore.variableStore, this.injector.get(LOCALIZATION), this.signalRAppId));
87
+ this.elements.push(new CharacterDisplayElement(element, this.injector, this.bsModalService, this.variableCommunicator, this.context.configStore.graphStore, this.context.permissionChecker, this.context.operationRecordService, this.context.securityChecker, this.context.configStore.variableStore, this.injector.get(LOCALIZATION), this.signalRAppId, this.context.releasedVariableService));
88
88
  break;
89
89
  case GuiConsts.components.textKey:
90
90
  this.elements.push(new TextElement(element, this.injector, this.context.permissionChecker, this.variableCommunicator, this.context.configStore.variableStore, this.context.configStore.graphStore, this.signalRAppId, this.context.textLibraryService, this.context.languageService, this.context));
@@ -164,7 +164,10 @@ export class NumericalDisplayElement extends ReadableElement {
164
164
  }
165
165
  checkElementPassword() {
166
166
  if (this.model.enablePassword) {
167
- const modalRef = this.modalService.show(VerifyPasswordModalComponent, { initialState: { securityChecker: this.securityChecker }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
167
+ const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
168
+ initialState: { securityChecker: this.securityChecker, releasedVariableService: this.releasedVariableService },
169
+ backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
170
+ });
168
171
  const onClosedSub = modalRef.content.onClosed.subscribe(result => {
169
172
  modalRef.hide();
170
173
  onClosedSub.unsubscribe();
@@ -116,8 +116,12 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
116
116
  };
117
117
  }
118
118
  checkElementPassword(afterConfirm) {
119
+ var _a;
119
120
  if (this.model.enablePassword) {
120
- const modalRef = this.modalService.show(VerifyPasswordModalComponent, { initialState: { securityChecker: this.securityChecker }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
121
+ const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
122
+ initialState: { securityChecker: this.securityChecker, releasedVariableService: (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.releasedVariableService },
123
+ backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
124
+ });
121
125
  const onClosedSub = modalRef.content.onClosed.subscribe(result => {
122
126
  modalRef.hide();
123
127
  onClosedSub.unsubscribe();
@@ -132,8 +132,12 @@ export class ViewOperationElement extends ConditionalEnableElement {
132
132
  }
133
133
  }
134
134
  checkElementPassword() {
135
+ var _a;
135
136
  if (this.model.enablePassword) {
136
- const modalRef = this.modalService.show(VerifyPasswordModalComponent, { initialState: { securityChecker: this.securityChecker }, backdrop: 'static', class: 'gui-modal-dialog-position', animated: false });
137
+ const modalRef = this.modalService.show(VerifyPasswordModalComponent, {
138
+ initialState: { securityChecker: this.securityChecker, releasedVariableService: (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.releasedVariableService },
139
+ backdrop: 'static', class: 'gui-modal-dialog-position', animated: false
140
+ });
137
141
  const onClosedSub = modalRef.content.onClosed.subscribe(result => {
138
142
  modalRef.hide();
139
143
  onClosedSub.unsubscribe();
@@ -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}]}]}}}}]
@@ -9,6 +9,7 @@ export declare class WriteCharacterModalComponent implements OnInit {
9
9
  get onClosed(): Observable<WriteValueModelResult>;
10
10
  args: WriteCharacterModalArgs;
11
11
  isMobileMode: boolean;
12
+ private readonly isDisplayModeMobile;
12
13
  value: string;
13
14
  variableName: string;
14
15
  isPassword: boolean;
@@ -18,7 +18,8 @@ let WriteCharacterModalComponent = class WriteCharacterModalComponent {
18
18
  constructor(localization, injector) {
19
19
  this.localization = localization;
20
20
  this._onClosed = new Subject();
21
- this.isMobileMode = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
21
+ this.isMobileMode = false;
22
+ this.isDisplayModeMobile = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
22
23
  }
23
24
  get onClosed() {
24
25
  return this._onClosed;
@@ -27,6 +28,9 @@ let WriteCharacterModalComponent = class WriteCharacterModalComponent {
27
28
  return this.localization.loadFailed;
28
29
  }
29
30
  ngOnInit() {
31
+ // 画面模拟(SimulateRemoteGuiContext)下 releasedVariableService 恒为空,
32
+ // 借此和真实移动端区分开,避免在 PC 浏览器模拟移动端时套用移动端专属样式
33
+ this.isMobileMode = this.isDisplayModeMobile && !!this.args.releasedVariableService;
30
34
  this.variableName = this.args.variableName;
31
35
  this.isPassword = this.args.isPassword ? this.args.isPassword : false;
32
36
  this.charCount = this.args.charCount;
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WriteCharacterModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"writeCharacterModal","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\"> <input type=\"text\" name=\"characterInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" class=\"form-control write-character-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" *ngIf=\"!isPassword\" autocomplete=\"off\"> <input type=\"password\" name=\"passwordInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" class=\"form-control write-character-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" *ngIf=\"isPassword\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\" [class.modal-footer-write]=\"!isMobileMode\"> <button type=\"submit\" [class.btn-primary-write]=\"!isMobileMode\" 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; } .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: 10px 0px 0px 15px; } .btn-primary { background-color: #3B97FC; border-color: #3B97FC; padding: 5px 30px; width: 90%; margin: 0 5%; height: 32px; } .write-character-value { padding-left: 8px; height: 32px; margin-left: 16px; } .modal-footer-write { margin-right: 4px; padding: 10px 5px 20px 5px !important; } .btn-primary-write { width: 585px; margin: 0 15px 0 0; } .form-control-write { margin: 0 16px; width: 585px; } "]}]}],"members":{"invalidErrorText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":36,"character":9},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":36,"character":16}]}],null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":36,"character":51},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":37,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"showValidationErrorInfo":[{"__symbolic":"method"}],"hideValidationErrorInfo":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"WriteCharacterModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"writeCharacterModal","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\"> <input type=\"text\" name=\"characterInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" class=\"form-control write-character-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" *ngIf=\"!isPassword\" autocomplete=\"off\"> <input type=\"password\" name=\"passwordInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" class=\"form-control write-character-value\" [(ngModel)]=\"value\" (keyup)=\"validate()\" *ngIf=\"isPassword\" autocomplete=\"off\"> <span class=\"help-block text-danger\" [hidden]=\"!validationError\">{{validationErrorText}}</span> </div> <div class=\"modal-footer\" [class.modal-footer-write]=\"!isMobileMode\"> <button type=\"submit\" [class.btn-primary-write]=\"!isMobileMode\" 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; } .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: 10px 0px 0px 15px; } .btn-primary { background-color: #3B97FC; border-color: #3B97FC; padding: 5px 30px; width: 90%; margin: 0 5%; height: 32px; } .write-character-value { padding-left: 8px; height: 32px; margin-left: 16px; } .modal-footer-write { margin-right: 4px; padding: 10px 5px 20px 5px !important; } .btn-primary-write { width: 585px; margin: 0 15px 0 0; } .form-control-write { margin: 0 16px; width: 585px; } "]}]}],"members":{"invalidErrorText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":37,"character":9},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":37,"character":16}]}],null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":37,"character":51},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":38,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"showValidationErrorInfo":[{"__symbolic":"method"}],"hideValidationErrorInfo":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}}}}]
@@ -15,6 +15,7 @@ export declare class WriteValueModalComponent implements OnInit {
15
15
  onClosed: any;
16
16
  args: WriteValueModalArgs;
17
17
  isMobileMode: boolean;
18
+ private readonly isDisplayModeMobile;
18
19
  private dataType;
19
20
  private fBoxDataType;
20
21
  private pattern;
@@ -25,15 +25,19 @@ let WriteValueModalComponent = class WriteValueModalComponent {
25
25
  this.fractionDigitService = fractionDigitService;
26
26
  this.numericalOperationService = numericalOperationService;
27
27
  this.bsModalRef = bsModalRef;
28
+ this.isMobileMode = false;
28
29
  this.displayVariableName = '';
29
30
  this.writeValueRangeText = '';
30
31
  this.isSubmitting = false;
31
- this.isMobileMode = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
32
+ this.isDisplayModeMobile = DisplayMode.Mobile === injector.get(GlobalSettings).displayMode;
32
33
  }
33
34
  get invalidErrorText() {
34
35
  return this.localization.loadFailed;
35
36
  }
36
37
  ngOnInit() {
38
+ // 画面模拟(SimulateRemoteGuiContext)下 releasedVariableService 恒为空,
39
+ // 借此和真实移动端区分开,避免在 PC 浏览器模拟移动端时套用移动端专属样式
40
+ this.isMobileMode = this.isDisplayModeMobile && !!this.args.releasedVariableService;
37
41
  this.initData(this.args);
38
42
  this.validate();
39
43
  }
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"WriteValueModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"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>{{displayVariableName}}</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}}:</span> <span> {{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" 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\" [class.modal-footer-write]=\"!isMobileMode\"> <button type=\"submit\" [class.btn-primary-write]=\"!isMobileMode\" 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%; } .form-control-write { margin: 0 20px; width: 585px; } .modal-footer { padding: 10px 5px 20px 5px !important; text-align: right; border-color: transparent; } .modal-footer-write { margin-right: 4px; padding: 10px 5px 20px 5px !important; } .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; } .btn-primary-write { width: 585px; margin: 0 15px 0 0; } .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":48,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":54,"character":16}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":54,"character":51},{"__symbolic":"reference","module":"../../utils/data-type/data-type.service","name":"DataTypeService","line":55,"character":42},{"__symbolic":"reference","module":"../../utils/fraction-digit.service","name":"FractionDigitService","line":56,"character":47},{"__symbolic":"reference","module":"../../utils/numerical-operation.service","name":"NumericalOperationService","line":57,"character":52},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalRef","line":58,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":59,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"initData":[{"__symbolic":"method"}],"setValueRangeAccordToDataParsed":[{"__symbolic":"method"}],"getWriteValueRangeText":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"handleCurrentLanguageIdSave":[{"__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":12,"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>{{displayVariableName}}</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}}:</span> <span> {{writeValueRangeText}} <span *ngIf=\"valueType\">({{valueType}})</span> </span> <input type=\"text\" name=\"valueInput\" autoFocus [class.form-control-write]=\"!isMobileMode\" 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\" [class.modal-footer-write]=\"!isMobileMode\"> <button type=\"submit\" [class.btn-primary-write]=\"!isMobileMode\" 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%; } .form-control-write { margin: 0 20px; width: 585px; } .modal-footer { padding: 10px 5px 20px 5px !important; text-align: right; border-color: transparent; } .modal-footer-write { margin-right: 4px; padding: 10px 5px 20px 5px !important; } .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; } .btn-primary-write { width: 585px; margin: 0 15px 0 0; } .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":49,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"../../localization","name":"LOCALIZATION","line":55,"character":16}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","module":"../../localization","name":"Localization","line":55,"character":51},{"__symbolic":"reference","module":"../../utils/data-type/data-type.service","name":"DataTypeService","line":56,"character":42},{"__symbolic":"reference","module":"../../utils/fraction-digit.service","name":"FractionDigitService","line":57,"character":47},{"__symbolic":"reference","module":"../../utils/numerical-operation.service","name":"NumericalOperationService","line":58,"character":52},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalRef","line":59,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":60,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"initData":[{"__symbolic":"method"}],"setValueRangeAccordToDataParsed":[{"__symbolic":"method"}],"getWriteValueRangeText":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"handleCurrentLanguageIdSave":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"showValidationErrorInfo":[{"__symbolic":"method"}],"hideValidationErrorInfo":[{"__symbolic":"method"}],"getFractionDigits":[{"__symbolic":"method"}],"formatWriteValue":[{"__symbolic":"method"}]}}}}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "main": "bundles/fc-gui.umd.js",
3
- "version": "3.0.0-alpha.181",
3
+ "version": "3.0.0-alpha.182",
4
4
  "module": "public_api.js",
5
5
  "typings": "public_api.d.ts",
6
6
  "license": "UNLICENSED",