@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.
- package/bundles/@flexem/fc-gui.umd.js +109 -70
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +3 -3
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/config/variable/variable-store.d.ts +4 -0
- package/elements/character-display/character-display-element.d.ts +3 -2
- package/elements/character-display/character-display-element.js +15 -3
- package/elements/character-display/character-display-element.metadata.json +1 -1
- package/elements/main-element.js +1 -1
- package/elements/numerical-display/numerical-display-element.js +4 -1
- package/elements/switch-indicator-light/switch-indicator-light-element.js +5 -1
- package/elements/view-operation/view-operation.element.js +5 -1
- package/modal/verify-password/verify-password-modal.component.d.ts +6 -2
- package/modal/verify-password/verify-password-modal.component.html +2 -2
- package/modal/verify-password/verify-password-modal.component.js +11 -5
- package/modal/verify-password/verify-password-modal.component.less +9 -0
- package/modal/verify-password/verify-password-modal.component.metadata.json +1 -1
- package/modal/write-character/write-character-modal-args.d.ts +3 -1
- package/modal/write-character/write-character-modal-args.js +2 -1
- package/modal/write-character/write-character-modal-args.metadata.json +1 -1
- package/modal/write-character/write-character-modal.component.d.ts +1 -0
- package/modal/write-character/write-character-modal.component.js +5 -1
- package/modal/write-character/write-character-modal.component.metadata.json +1 -1
- package/modal/write-value/write-value-modal.component.d.ts +1 -0
- package/modal/write-value/write-value-modal.component.js +5 -1
- package/modal/write-value/write-value-modal.component.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -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, {
|
|
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
|
-
|
|
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"}]}}}}]
|
package/elements/main-element.js
CHANGED
|
@@ -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, {
|
|
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, {
|
|
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, {
|
|
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
|
-
|
|
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\">×</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\">×</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":
|
|
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\">×</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
|
-
|
|
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 =
|
|
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\">×</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":
|
|
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\">×</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"}]}}}}]
|
|
@@ -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.
|
|
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\">×</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":
|
|
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\">×</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"}]}}}}]
|