@flexem/fc-gui 3.0.0-alpha.27 → 3.0.0-alpha.30
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/CHANGELOG.md +17 -1
- package/bundles/@flexem/fc-gui.umd.js +73 -60
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +2 -2
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/elements/bar-graph-element.js +20 -21
- package/elements/bar-graph-element.metadata.json +1 -1
- package/elements/base/readable-element.js +3 -1
- package/elements/historical-curve/historical-curve.element.js +8 -0
- package/elements/meter-element.js +19 -19
- package/elements/numerical-display/numerical-display-element.js +1 -1
- package/elements/ring-graph/ring-graph-element.js +19 -19
- package/localization/localization.service.d.ts +2 -0
- package/localization/localization.service.js +2 -0
- package/localization/localization.service.metadata.json +1 -1
- package/localization/localization.service.zh_CN.js +2 -0
- package/localization/localization.service.zh_CN.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import { BarGraphDirection } from '../model';
|
|
|
2
2
|
import { ReadableElement } from './base/readable-element';
|
|
3
3
|
import { calculatePercent } from './shared/math-utils';
|
|
4
4
|
import { VariableUtil } from '../utils/variable-util';
|
|
5
|
-
import { isNumber } from 'lodash';
|
|
6
5
|
import { VariableValueType } from '../model/shared/condition/variable-value-type';
|
|
7
6
|
export class BarGraphElement extends ReadableElement {
|
|
8
7
|
constructor(element, permissionChecker, variableCommunicator, variableStore, localization, signalRAppId) {
|
|
@@ -53,21 +52,17 @@ export class BarGraphElement extends ReadableElement {
|
|
|
53
52
|
}
|
|
54
53
|
updateValueObj(value, variableName) {
|
|
55
54
|
var _a, _b, _c;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
this.valueObj.max = value;
|
|
68
|
-
break;
|
|
69
|
-
default:
|
|
70
|
-
break;
|
|
55
|
+
if (((_a = this.model.readVariable) === null || _a === void 0 ? void 0 : _a.name) === variableName) {
|
|
56
|
+
this.isNeedUpdateScale = false;
|
|
57
|
+
this.valueObj.value = value;
|
|
58
|
+
}
|
|
59
|
+
if (((_b = this.model.minVariable) === null || _b === void 0 ? void 0 : _b.name) === variableName) {
|
|
60
|
+
this.isNeedUpdateScale = true;
|
|
61
|
+
this.valueObj.min = value;
|
|
62
|
+
}
|
|
63
|
+
if (((_c = this.model.maxVariable) === null || _c === void 0 ? void 0 : _c.name) === variableName) {
|
|
64
|
+
this.isNeedUpdateScale = true;
|
|
65
|
+
this.valueObj.max = value;
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
68
|
updateScale() {
|
|
@@ -77,11 +72,13 @@ export class BarGraphElement extends ReadableElement {
|
|
|
77
72
|
const textElements = this.$element.find('g:first > text');
|
|
78
73
|
let min = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
79
74
|
let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
80
|
-
|
|
75
|
+
min = Number(min);
|
|
76
|
+
max = Number(max);
|
|
77
|
+
if (isNaN(min) || isNaN(max)) {
|
|
81
78
|
min = BarGraphElement.DEFAULT_MIN_VALUE;
|
|
82
79
|
max = BarGraphElement.DEFAULT_MAX_VALUE;
|
|
83
80
|
}
|
|
84
|
-
const avgSacle = ((
|
|
81
|
+
const avgSacle = ((max - min) / this.model.masterDivisionNumber).toFixed(5);
|
|
85
82
|
for (let i = 0; i < textElements.length; i++) {
|
|
86
83
|
const text = textElements[i];
|
|
87
84
|
if (!text.innerHTML) {
|
|
@@ -100,14 +97,16 @@ export class BarGraphElement extends ReadableElement {
|
|
|
100
97
|
updateVariableValue(value, variableName) {
|
|
101
98
|
this.updateValueObj(value, variableName);
|
|
102
99
|
this.updateScale();
|
|
103
|
-
const variableValue = this.valueObj.value;
|
|
100
|
+
const variableValue = Number(this.valueObj.value);
|
|
104
101
|
let maxValue = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
105
102
|
let minValue = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
106
|
-
|
|
103
|
+
minValue = Number(minValue);
|
|
104
|
+
maxValue = Number(maxValue);
|
|
105
|
+
if (isNaN(minValue) || isNaN(maxValue)) {
|
|
107
106
|
minValue = BarGraphElement.DEFAULT_MIN_VALUE;
|
|
108
107
|
maxValue = BarGraphElement.DEFAULT_MAX_VALUE;
|
|
109
108
|
}
|
|
110
|
-
if (
|
|
109
|
+
if (isNaN(variableValue)) {
|
|
111
110
|
return;
|
|
112
111
|
}
|
|
113
112
|
const useAlarmLimit = this.model.useAlarmLimit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"BarGraphElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base/readable-element","name":"ReadableElement","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"BarGraphElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./base/readable-element","name":"ReadableElement","line":10,"character":37},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":38,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"../service","name":"PermissionChecker","line":38,"character":57},{"__symbolic":"reference","module":"../communication","name":"VariableCommunicator","line":39,"character":30},{"__symbolic":"reference","module":"../config","name":"VariableStore","line":40,"character":23},{"__symbolic":"reference","module":"../localization","name":"Localization","line":41,"character":22},{"__symbolic":"reference","name":"string"}]}],"initFrameNode":[{"__symbolic":"method"}],"updateValueObj":[{"__symbolic":"method"}],"updateScale":[{"__symbolic":"method"}],"updateVariableValue":[{"__symbolic":"method"}]},"statics":{"DEFAULT_MIN_VALUE":0,"DEFAULT_MAX_VALUE":100}}}}]
|
|
@@ -78,7 +78,9 @@ export class ReadableElement extends ConditionalEnableElement {
|
|
|
78
78
|
this.changeStates();
|
|
79
79
|
}
|
|
80
80
|
});
|
|
81
|
-
if (this.state === State.Normal || this.state === State.Disable
|
|
81
|
+
if (this.state === State.Normal || this.state === State.Disable
|
|
82
|
+
|| value.variableName === this.minVariableName
|
|
83
|
+
|| value.variableName === this.maxVariableName) {
|
|
82
84
|
this.updateVariableValue(value.value, value.variableName);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
@@ -58,7 +58,9 @@ export class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
58
58
|
}
|
|
59
59
|
getValidTimePeriods() {
|
|
60
60
|
const timePeriods = new Array();
|
|
61
|
+
timePeriods.push({ key: 6, name: this.localization.lastThirtyMinutes });
|
|
61
62
|
timePeriods.push({ key: 1, name: this.localization.lastOneHour });
|
|
63
|
+
timePeriods.push({ key: 7, name: this.localization.lastEightHour });
|
|
62
64
|
timePeriods.push({ key: 2, name: this.localization.lastTwentyFourHours });
|
|
63
65
|
timePeriods.push({ key: 3, name: this.localization.lastSevenDays });
|
|
64
66
|
timePeriods.push({ key: 4, name: this.localization.lastThirtyDays });
|
|
@@ -84,6 +86,12 @@ export class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
84
86
|
case 5:
|
|
85
87
|
this.startTime = moment().subtract(1, 'years');
|
|
86
88
|
break;
|
|
89
|
+
case 6:
|
|
90
|
+
this.startTime = moment().subtract(30, 'minutes');
|
|
91
|
+
break;
|
|
92
|
+
case 7:
|
|
93
|
+
this.startTime = moment().subtract(8, 'hours');
|
|
94
|
+
break;
|
|
87
95
|
default:
|
|
88
96
|
this.startTime = moment().subtract(1, 'days');
|
|
89
97
|
}
|
|
@@ -43,21 +43,17 @@ export class MeterElement extends ReadableElement {
|
|
|
43
43
|
}
|
|
44
44
|
updateValueObj(value, variableName) {
|
|
45
45
|
var _a, _b, _c;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.valueObj.max = value;
|
|
58
|
-
break;
|
|
59
|
-
default:
|
|
60
|
-
break;
|
|
46
|
+
if (((_a = this.model.readVariable) === null || _a === void 0 ? void 0 : _a.name) === variableName) {
|
|
47
|
+
this.isNeedUpdateScale = false;
|
|
48
|
+
this.valueObj.value = value;
|
|
49
|
+
}
|
|
50
|
+
if (((_b = this.model.minVariable) === null || _b === void 0 ? void 0 : _b.name) === variableName) {
|
|
51
|
+
this.isNeedUpdateScale = true;
|
|
52
|
+
this.valueObj.min = value;
|
|
53
|
+
}
|
|
54
|
+
if (((_c = this.model.maxVariable) === null || _c === void 0 ? void 0 : _c.name) === variableName) {
|
|
55
|
+
this.isNeedUpdateScale = true;
|
|
56
|
+
this.valueObj.max = value;
|
|
61
57
|
}
|
|
62
58
|
}
|
|
63
59
|
updateVariableValue(value, variableName) {
|
|
@@ -78,11 +74,13 @@ export class MeterElement extends ReadableElement {
|
|
|
78
74
|
}
|
|
79
75
|
let min = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
80
76
|
let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
81
|
-
|
|
77
|
+
min = Number(min);
|
|
78
|
+
max = Number(max);
|
|
79
|
+
if (isNaN(min) || isNaN(max)) {
|
|
82
80
|
min = MeterElement.DEFAULT_MIN_VALUE;
|
|
83
81
|
max = MeterElement.DEFAULT_MAX_VALUE;
|
|
84
82
|
}
|
|
85
|
-
const avgSacle = ((
|
|
83
|
+
const avgSacle = ((max - min) / this.model.masterDivisionNumber).toFixed(5);
|
|
86
84
|
const textElements = this.$element.find('g:first > text');
|
|
87
85
|
for (let i = 0; i < textElements.length; i++) {
|
|
88
86
|
const text = textElements[i];
|
|
@@ -102,11 +100,13 @@ export class MeterElement extends ReadableElement {
|
|
|
102
100
|
getAngle() {
|
|
103
101
|
let min = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
104
102
|
let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
105
|
-
|
|
103
|
+
min = Number(min);
|
|
104
|
+
max = Number(max);
|
|
105
|
+
if (isNaN(min) || isNaN(max)) {
|
|
106
106
|
min = MeterElement.DEFAULT_MIN_VALUE;
|
|
107
107
|
max = MeterElement.DEFAULT_MAX_VALUE;
|
|
108
108
|
}
|
|
109
|
-
if (!this.valueObj.value &&
|
|
109
|
+
if (!this.valueObj.value && isNaN(Number(this.valueObj.value))) {
|
|
110
110
|
return undefined;
|
|
111
111
|
}
|
|
112
112
|
const value = Math.min(Math.max(this.valueObj.value || 0, min), max);
|
|
@@ -354,7 +354,7 @@ export class NumericalDisplayElement extends ReadableElement {
|
|
|
354
354
|
}
|
|
355
355
|
formatDisplayTextUnit(displayText) {
|
|
356
356
|
if (this.model.showUnit !== false && this.model.unit) {
|
|
357
|
-
return `${displayText} ${this.model.unit}`;
|
|
357
|
+
return `${displayText || 0} ${this.model.unit}`;
|
|
358
358
|
}
|
|
359
359
|
return displayText;
|
|
360
360
|
}
|
|
@@ -4,7 +4,7 @@ import { RotationDirectionType } from '../../model/shared/rotation/rotation-dire
|
|
|
4
4
|
import { calculatePercent, degreesToRadians } from '../shared/math-utils';
|
|
5
5
|
import { VariableUtil } from '../../utils/variable-util';
|
|
6
6
|
import { VariableDefinition } from '../../communication/variable/variable-definition';
|
|
7
|
-
import { forEach
|
|
7
|
+
import { forEach } from 'lodash';
|
|
8
8
|
import { VariableState } from '../../communication';
|
|
9
9
|
import { VariableValueType } from '../../model/shared/condition/variable-value-type';
|
|
10
10
|
export class RingGraphElement extends ReadableElement {
|
|
@@ -67,21 +67,17 @@ export class RingGraphElement extends ReadableElement {
|
|
|
67
67
|
}
|
|
68
68
|
updateValueObj(value, variableName) {
|
|
69
69
|
var _a, _b, _c;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this.valueObj.max = value;
|
|
82
|
-
break;
|
|
83
|
-
default:
|
|
84
|
-
break;
|
|
70
|
+
if (((_a = this.model.variableId) === null || _a === void 0 ? void 0 : _a.variableName.name) === variableName) {
|
|
71
|
+
this.isNeedUpdateScale = false;
|
|
72
|
+
this.valueObj.value = value;
|
|
73
|
+
}
|
|
74
|
+
if (((_b = this.model.minVariable) === null || _b === void 0 ? void 0 : _b.variableName.name) === variableName) {
|
|
75
|
+
this.isNeedUpdateScale = true;
|
|
76
|
+
this.valueObj.min = value;
|
|
77
|
+
}
|
|
78
|
+
if (((_c = this.model.maxVariable) === null || _c === void 0 ? void 0 : _c.variableName.name) === variableName) {
|
|
79
|
+
this.isNeedUpdateScale = true;
|
|
80
|
+
this.valueObj.max = value;
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
83
|
updateScale() {
|
|
@@ -91,11 +87,13 @@ export class RingGraphElement extends ReadableElement {
|
|
|
91
87
|
const textElements = this.$element.find('g:first > text');
|
|
92
88
|
let min = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
93
89
|
let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
94
|
-
|
|
90
|
+
min = Number(min);
|
|
91
|
+
max = Number(max);
|
|
92
|
+
if (isNaN(min) || isNaN(max)) {
|
|
95
93
|
min = RingGraphElement.DEFAULT_MIN_VALUE;
|
|
96
94
|
max = RingGraphElement.DEFAULT_MAX_VALUE;
|
|
97
95
|
}
|
|
98
|
-
const avgSacle = ((
|
|
96
|
+
const avgSacle = ((max - min) / this.model.masterDivisionNumber).toFixed(5);
|
|
99
97
|
for (let i = 0; i < textElements.length; i++) {
|
|
100
98
|
const text = textElements[i];
|
|
101
99
|
if (!text.innerHTML) {
|
|
@@ -116,7 +114,9 @@ export class RingGraphElement extends ReadableElement {
|
|
|
116
114
|
this.updateScale();
|
|
117
115
|
let min = this.model.minValueType ? this.valueObj.min : this.model.min;
|
|
118
116
|
let max = this.model.maxValueType ? this.valueObj.max : this.model.max;
|
|
119
|
-
|
|
117
|
+
min = Number(min);
|
|
118
|
+
max = Number(max);
|
|
119
|
+
if (isNaN(min) || isNaN(max)) {
|
|
120
120
|
min = RingGraphElement.DEFAULT_MIN_VALUE;
|
|
121
121
|
max = RingGraphElement.DEFAULT_MAX_VALUE;
|
|
122
122
|
}
|
|
@@ -30,7 +30,9 @@ export const DefaultLocalization = {
|
|
|
30
30
|
permissiontip: 'You have no permission to operate.',
|
|
31
31
|
conditionIsNotMetTip: 'Unsatisfied operating conditions or variable abnorma.',
|
|
32
32
|
chartNoData: 'No Data Available',
|
|
33
|
+
lastThirtyMinutes: 'Last thirty minutes',
|
|
33
34
|
lastOneHour: 'Last one hour',
|
|
35
|
+
lastEightHour: 'Last eight hours',
|
|
34
36
|
lastTwentyFourHours: 'Last 24 hours',
|
|
35
37
|
lastSevenDays: 'Last 7 days',
|
|
36
38
|
lastThirtyDays: 'Last 30 days',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting","submit":"Submit","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Sure to do this operation?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Unsatisfied operating conditions or variable abnorma.","chartNoData":"No Data Available","lastOneHour":"Last one hour","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 1 year","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password verifiers","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available","airQualityNotSupport":"Location not supported","airQualityNotAddress":"Address not configured","airQualityNotAvailable":"Address not yet available"}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"LOCALIZATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":32},"arguments":["fc.gui.loc"]},"Localization":{"__symbolic":"interface"},"DefaultLocalization":{"loadFailed":"Load failed.","setting":"Setting","submit":"Submit","numericalValueRequired":"Numerical value can't be emtpy","invalidNumericalValue":"Numerical value is not valid","binaryType":"Binary","decimalType":"Decimal","hexadecimalType":"Hexadecimal","stringType":"String","numericalValueTooLong":"Numerical value too long","fractionDigitsMustLessThan":"Fraction digits must be less than ","canNotBeNegative":"Can not be negative","valueOutOfRange":"Numerical value is out of range","timeout":"timeout","confirmOperationPrompt":"Sure to do this operation?","confirm":"Yes","cancel":"Cancel","characterInputRequired":"Character input can't be empty","character":"(Character)","characterOutofRange":"Character length is out of range","writeValueRange":"Write value range","loading":"Loading","unbind":"Unbind","offline":"Offline","abnormal":"Data abnormal","disable":"Disable","permissiontip":"You have no permission to operate.","conditionIsNotMetTip":"Unsatisfied operating conditions or variable abnorma.","chartNoData":"No Data Available","lastThirtyMinutes":"Last thirty minutes","lastOneHour":"Last one hour","lastEightHour":"Last eight hours","lastTwentyFourHours":"Last 24 hours","lastSevenDays":"Last 7 days","lastThirtyDays":"Last 30 days","lastOneYear":"Last 1 year","grouped":"Grouped","stacked":"Stacked","passwordVerify":"Password verifiers","passwordError":"Password error","password":"Password","passwordToolTip":"Password error, please re-enter","passwordRequired":"Password can't be empty","invalidVideoAddress":"Invalid video address","unconfiguredVideoAddress":"Unconfigured Video Address","weatherNotSupport":"Location not supported","weatherNotAddress":"Address not configured","weatherNotAvailable":"Address not yet available","airQualityNotSupport":"Location not supported","airQualityNotAddress":"Address not configured","airQualityNotAvailable":"Address not yet available"}}}]
|
|
@@ -28,7 +28,9 @@ export const Localization_zh_CN = {
|
|
|
28
28
|
permissiontip: '您无权限执行此操作',
|
|
29
29
|
conditionIsNotMetTip: '操作条件不满足或逻辑控制变量异常',
|
|
30
30
|
chartNoData: '无数据',
|
|
31
|
+
lastThirtyMinutes: '最近30分钟',
|
|
31
32
|
lastOneHour: '最近1小时',
|
|
33
|
+
lastEightHour: '最近8小时',
|
|
32
34
|
lastTwentyFourHours: '最近24小时',
|
|
33
35
|
lastSevenDays: '最近7天',
|
|
34
36
|
lastThirtyDays: '最近30天',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastOneHour":"最近1小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近1年","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址","airQualityNotSupport":"当前位置暂不支持","airQualityNotAddress":"当前设备未设置地址","airQualityNotAvailable":"暂未获取设备地址"}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"Localization_zh_CN":{"loadFailed":"加载失败.","setting":"设置","submit":"提交","numericalValueRequired":"数值不能为空","invalidNumericalValue":"数值格式不正确","binaryType":"二进制","decimalType":"十进制","hexadecimalType":"十六进制","stringType":"字符串","numericalValueTooLong":"数值超长","fractionDigitsMustLessThan":"小数位不能超过","canNotBeNegative":"不能为负数","valueOutOfRange":"数值超出范围","timeout":"超时","confirmOperationPrompt":"是否确认要执行此操作?","confirm":"确定","cancel":"取消","characterInputRequired":"请输入至少一个字符","character":"(字符串)","characterOutofRange":"字符长度超限","writeValueRange":"写值范围","loading":"加载中","unbind":"未绑定","offline":"离线","abnormal":"数据异常","disable":"禁用","permissiontip":"您无权限执行此操作","conditionIsNotMetTip":"操作条件不满足或逻辑控制变量异常","chartNoData":"无数据","lastThirtyMinutes":"最近30分钟","lastOneHour":"最近1小时","lastEightHour":"最近8小时","lastTwentyFourHours":"最近24小时","lastSevenDays":"最近7天","lastThirtyDays":"最近30天","lastOneYear":"最近1年","grouped":"分组","stacked":"叠加","passwordVerify":"密码校验","passwordError":"密码错误","password":"密码","passwordToolTip":"密码错误,请重新输入","passwordRequired":"密码不能为空","invalidVideoAddress":"无效的视频地址","unconfiguredVideoAddress":"未配置视频地址","weatherNotSupport":"当前位置暂不支持","weatherNotAddress":"当前设备未设置地址","weatherNotAvailable":"暂未获取设备地址","airQualityNotSupport":"当前位置暂不支持","airQualityNotAddress":"当前设备未设置地址","airQualityNotAvailable":"暂未获取设备地址"}}}]
|