@flexem/fc-gui 3.0.0-alpha.156 → 3.0.0-alpha.157
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 +147 -22
- package/bundles/@flexem/fc-gui.umd.js.map +1 -1
- package/bundles/@flexem/fc-gui.umd.min.js +4 -4
- package/bundles/@flexem/fc-gui.umd.min.js.map +1 -1
- package/elements/shared/text/text-element.d.ts +5 -0
- package/elements/shared/text/text-element.js +7 -0
- package/elements/shared/text/text-element.metadata.json +1 -1
- package/elements/shared/text/text-state-element.d.ts +10 -1
- package/elements/shared/text/text-state-element.js +29 -2
- package/elements/shared/text/text-state-element.metadata.json +1 -1
- package/elements/static-elements/hyperlink-element.d.ts +4 -0
- package/elements/static-elements/hyperlink-element.js +35 -7
- package/elements/static-elements/hyperlink-element.metadata.json +1 -1
- package/elements/static-elements/text-element.d.ts +4 -0
- package/elements/static-elements/text-element.js +44 -11
- package/elements/static-elements/text-element.metadata.json +1 -1
- package/elements/switch-indicator-light/switch-indicator-light-element.js +1 -1
- package/elements/view-operation/view-operation.element.d.ts +4 -0
- package/elements/view-operation/view-operation.element.js +31 -1
- package/elements/view-operation/view-operation.element.metadata.json +1 -1
- package/model/base/font-setting-model.d.ts +10 -0
- package/model/base/font-setting-model.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,11 @@ export declare class TextElementModal {
|
|
|
7
7
|
private isVariableText?;
|
|
8
8
|
get Element(): SVGElement;
|
|
9
9
|
constructor(content: string, font: Font, width: number, height: number, isVariableText?: boolean);
|
|
10
|
+
/**
|
|
11
|
+
* 更新字体样式
|
|
12
|
+
* @param font 新的字体样式
|
|
13
|
+
*/
|
|
14
|
+
updateFont(font: Font): void;
|
|
10
15
|
/**
|
|
11
16
|
* 更新文本内容
|
|
12
17
|
* @param content 新的文本内容
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TextElementModal":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../../model","name":"Font","line":15,"character":39},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"}]}],"updateText":[{"__symbolic":"method"}],"getforeignObjectElement":[{"__symbolic":"method"}],"createNewForeignObjectText":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TextElementModal":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../../model","name":"Font","line":15,"character":39},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"boolean"}]}],"updateFont":[{"__symbolic":"method"}],"updateText":[{"__symbolic":"method"}],"getforeignObjectElement":[{"__symbolic":"method"}],"createNewForeignObjectText":[{"__symbolic":"method"}]}}}}]
|
|
@@ -16,6 +16,7 @@ export declare class TextStateElement {
|
|
|
16
16
|
private readonly languageService?;
|
|
17
17
|
private readonly guiContext?;
|
|
18
18
|
private readonly allowEmpty;
|
|
19
|
+
private readonly fontStyleCultures?;
|
|
19
20
|
private textElement;
|
|
20
21
|
private _element;
|
|
21
22
|
get Element(): SVGElement;
|
|
@@ -23,7 +24,11 @@ export declare class TextStateElement {
|
|
|
23
24
|
private faultFlickerInterval;
|
|
24
25
|
private currentStateId;
|
|
25
26
|
private languageChangeSubscription?;
|
|
26
|
-
constructor(textStates: TextState[], width: number, height: number, logger: LoggerService, version?: number, faultFlickers?: IndicatorLightFaultFlicker[], textLibrarySetting?: TextLibrarySetting, textLibraryService?: TextLibraryService, languageService?: LanguageService, guiContext?: GuiContext, allowEmpty?: boolean
|
|
27
|
+
constructor(textStates: TextState[], width: number, height: number, logger: LoggerService, version?: number, faultFlickers?: IndicatorLightFaultFlicker[], textLibrarySetting?: TextLibrarySetting, textLibraryService?: TextLibraryService, languageService?: LanguageService, guiContext?: GuiContext, allowEmpty?: boolean, fontStyleCultures?: {
|
|
28
|
+
[stateId: string]: {
|
|
29
|
+
[languageCode: string]: any;
|
|
30
|
+
};
|
|
31
|
+
});
|
|
27
32
|
switchToState(stateId: number): void;
|
|
28
33
|
/**
|
|
29
34
|
* 订阅语种变化事件
|
|
@@ -38,6 +43,10 @@ export declare class TextStateElement {
|
|
|
38
43
|
private removeForeignObjectlement;
|
|
39
44
|
private doFaultFlicker;
|
|
40
45
|
private clearFlickerInterval;
|
|
46
|
+
/**
|
|
47
|
+
* 获取指定状态在当前语种下的字体样式
|
|
48
|
+
*/
|
|
49
|
+
private getFontForState;
|
|
41
50
|
/**
|
|
42
51
|
* 获取显示文本
|
|
43
52
|
* 支持三种格式:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Flicker } from '../../../model';
|
|
2
2
|
export class TextStateElement {
|
|
3
|
-
constructor(textStates, width, height, logger, version, faultFlickers, textLibrarySetting, textLibraryService, languageService, guiContext, allowEmpty = false) {
|
|
3
|
+
constructor(textStates, width, height, logger, version, faultFlickers, textLibrarySetting, textLibraryService, languageService, guiContext, allowEmpty = false, fontStyleCultures) {
|
|
4
4
|
this.textStates = textStates;
|
|
5
5
|
this.width = width;
|
|
6
6
|
this.height = height;
|
|
@@ -12,6 +12,7 @@ export class TextStateElement {
|
|
|
12
12
|
this.languageService = languageService;
|
|
13
13
|
this.guiContext = guiContext;
|
|
14
14
|
this.allowEmpty = allowEmpty;
|
|
15
|
+
this.fontStyleCultures = fontStyleCultures;
|
|
15
16
|
this.faultFlickerStatus = false;
|
|
16
17
|
this.faultFlickerInterval = undefined;
|
|
17
18
|
this._element = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
|
@@ -36,7 +37,7 @@ export class TextStateElement {
|
|
|
36
37
|
this.removeForeignObjectlement();
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
|
-
const font = textState.text.font;
|
|
40
|
+
const font = this.getFontForState(stateId, textState.text.font);
|
|
40
41
|
if (!font) {
|
|
41
42
|
this.removeForeignObjectlement();
|
|
42
43
|
this.logger.debug('The font is undefined.');
|
|
@@ -158,6 +159,32 @@ export class TextStateElement {
|
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* 获取指定状态在当前语种下的字体样式
|
|
164
|
+
*/
|
|
165
|
+
getFontForState(stateId, defaultFont) {
|
|
166
|
+
if (!this.fontStyleCultures) {
|
|
167
|
+
return defaultFont;
|
|
168
|
+
}
|
|
169
|
+
const stateKey = stateId.toString();
|
|
170
|
+
if (!this.fontStyleCultures[stateKey]) {
|
|
171
|
+
return defaultFont;
|
|
172
|
+
}
|
|
173
|
+
const getTargetLanguage = () => {
|
|
174
|
+
var _a, _b, _c, _d, _e, _f;
|
|
175
|
+
const currentLanguageId = (_c = (_b = (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.getCurrentLanguageId) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : null;
|
|
176
|
+
const defaultLanguage = ((_d = this.languageService) === null || _d === void 0 ? void 0 : _d.getDefaultLanguage()) || 'zh-CN';
|
|
177
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
178
|
+
return defaultLanguage;
|
|
179
|
+
}
|
|
180
|
+
return ((_f = (_e = this.guiContext) === null || _e === void 0 ? void 0 : _e.getLanguageCultureById) === null || _f === void 0 ? void 0 : _f.call(_e, currentLanguageId)) || defaultLanguage;
|
|
181
|
+
};
|
|
182
|
+
const targetLanguage = getTargetLanguage();
|
|
183
|
+
if (this.fontStyleCultures[stateKey][targetLanguage]) {
|
|
184
|
+
return this.fontStyleCultures[stateKey][targetLanguage];
|
|
185
|
+
}
|
|
186
|
+
return defaultFont;
|
|
187
|
+
}
|
|
161
188
|
/**
|
|
162
189
|
* 获取显示文本
|
|
163
190
|
* 支持三种格式:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TextStateElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./text-state.model","name":"TextState","line":23,"character":45}]},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"../../../logger","name":"LoggerService","line":26,"character":33},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"../../../model/switch-indicator-light/indicator-light-fault-flicker","name":"IndicatorLightFaultFlicker","line":28,"character":41}]},{"__symbolic":"reference","module":"../../../model/base/font-setting-model","name":"TextLibrarySetting","line":29,"character":46},{"__symbolic":"reference","module":"../../../service","name":"TextLibraryService","line":30,"character":46},{"__symbolic":"reference","module":"../../../service","name":"LanguageService","line":31,"character":43},{"__symbolic":"reference","module":"../../../gui/gui-context","name":"GuiContext","line":32,"character":38},{"__symbolic":"reference","name":"boolean"}]}],"switchToState":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"getforeignObjectElement":[{"__symbolic":"method"}],"removeForeignObjectlement":[{"__symbolic":"method"}],"doFaultFlicker":[{"__symbolic":"method"}],"clearFlickerInterval":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TextStateElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"./text-state.model","name":"TextState","line":23,"character":45}]},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","module":"../../../logger","name":"LoggerService","line":26,"character":33},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","module":"../../../model/switch-indicator-light/indicator-light-fault-flicker","name":"IndicatorLightFaultFlicker","line":28,"character":41}]},{"__symbolic":"reference","module":"../../../model/base/font-setting-model","name":"TextLibrarySetting","line":29,"character":46},{"__symbolic":"reference","module":"../../../service","name":"TextLibraryService","line":30,"character":46},{"__symbolic":"reference","module":"../../../service","name":"LanguageService","line":31,"character":43},{"__symbolic":"reference","module":"../../../gui/gui-context","name":"GuiContext","line":32,"character":38},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"error","message":"Expression form not supported","line":34,"character":45}]}],"switchToState":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"getforeignObjectElement":[{"__symbolic":"method"}],"removeForeignObjectlement":[{"__symbolic":"method"}],"doFaultFlicker":[{"__symbolic":"method"}],"clearFlickerInterval":[{"__symbolic":"method"}],"getFontForState":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}]}}}}]
|
|
@@ -56,9 +56,9 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
56
56
|
if (!this.textElementModal || !this.model.size) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
// 获取新的显示文本
|
|
60
59
|
const displayText = this.getDisplayText();
|
|
61
|
-
|
|
60
|
+
const font = this.getFontStyle();
|
|
61
|
+
this.textElementModal.updateFont(font);
|
|
62
62
|
this.textElementModal.updateText(displayText);
|
|
63
63
|
}
|
|
64
64
|
initGraphAndText() {
|
|
@@ -72,7 +72,39 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
72
72
|
graphStateElement.switchToState(0);
|
|
73
73
|
this.$element.prepend(graphStateElement.Element);
|
|
74
74
|
}
|
|
75
|
-
const font =
|
|
75
|
+
const font = this.getFontStyle();
|
|
76
|
+
// 获取显示文本(支持文本库)
|
|
77
|
+
const displayText = this.getDisplayText();
|
|
78
|
+
this.textElementModal = new TextElementModal(displayText, font, width, height);
|
|
79
|
+
this.$element.append(this.textElementModal.Element);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* 获取当前语种的字体样式
|
|
83
|
+
*/
|
|
84
|
+
getFontStyle() {
|
|
85
|
+
const getTargetLanguage = () => {
|
|
86
|
+
var _a, _b, _c, _d, _e, _f;
|
|
87
|
+
const currentLanguageId = (_c = (_b = (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.getCurrentLanguageId) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : null;
|
|
88
|
+
const defaultLanguage = ((_d = this.languageService) === null || _d === void 0 ? void 0 : _d.getDefaultLanguage()) || 'zh-CN';
|
|
89
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
90
|
+
return defaultLanguage;
|
|
91
|
+
}
|
|
92
|
+
return ((_f = (_e = this.guiContext) === null || _e === void 0 ? void 0 : _e.getLanguageCultureById) === null || _f === void 0 ? void 0 : _f.call(_e, currentLanguageId)) || defaultLanguage;
|
|
93
|
+
};
|
|
94
|
+
const targetLanguage = getTargetLanguage();
|
|
95
|
+
if (this.model.fontStyleCultures && this.model.fontStyleCultures[targetLanguage]) {
|
|
96
|
+
const style = this.model.fontStyleCultures[targetLanguage];
|
|
97
|
+
return {
|
|
98
|
+
isUnderline: style.isUnderline,
|
|
99
|
+
isBold: this.isBold(style.fontStyle),
|
|
100
|
+
isItalic: this.isItalic(style.fontStyle),
|
|
101
|
+
fontSize: style.fontSize,
|
|
102
|
+
fontFamily: this.fontFamily(style.fontStyle),
|
|
103
|
+
color: style.fontColor,
|
|
104
|
+
textAlign: style.textAlign
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
76
108
|
isUnderline: this.model.isUnderline,
|
|
77
109
|
isBold: this.isBold(this.model.font),
|
|
78
110
|
isItalic: this.isItalic(this.model.font),
|
|
@@ -81,10 +113,6 @@ export class HyperlinkElement extends ConditionalDynamicDisplayElement {
|
|
|
81
113
|
color: this.model.stroke,
|
|
82
114
|
textAlign: this.model.textAlign
|
|
83
115
|
};
|
|
84
|
-
// 获取显示文本(支持文本库)
|
|
85
|
-
const displayText = this.getDisplayText();
|
|
86
|
-
this.textElementModal = new TextElementModal(displayText, font, width, height);
|
|
87
|
-
this.$element.append(this.textElementModal.Element);
|
|
88
116
|
}
|
|
89
117
|
/**
|
|
90
118
|
* 获取显示文本
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"HyperlinkElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":14,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":21,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":22,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":22,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":22,"character":111},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":24,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":25,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":26,"character":38}]}],"dispose":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"reRenderText":[{"__symbolic":"method"}],"initGraphAndText":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"HyperlinkElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":14,"character":38},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":21,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":22,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":22,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":22,"character":111},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":24,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":25,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":26,"character":38}]}],"dispose":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"reRenderText":[{"__symbolic":"method"}],"initGraphAndText":[{"__symbolic":"method"}],"getFontStyle":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}]}}}}]
|
|
@@ -20,15 +20,7 @@ export class TextElement extends ConditionalDynamicDisplayElement {
|
|
|
20
20
|
graphStateElement.switchToState(0);
|
|
21
21
|
this.$element.prepend(graphStateElement.Element);
|
|
22
22
|
}
|
|
23
|
-
const font =
|
|
24
|
-
isUnderline: this.model.isUnderline,
|
|
25
|
-
isBold: this.isBold(this.model.font),
|
|
26
|
-
isItalic: this.isItalic(this.model.font),
|
|
27
|
-
fontSize: this.model.fontSize,
|
|
28
|
-
fontFamily: this.fontFamily(this.model.font),
|
|
29
|
-
color: this.model.stroke,
|
|
30
|
-
textAlign: this.model.textAlign
|
|
31
|
-
};
|
|
23
|
+
const font = this.getFontStyle();
|
|
32
24
|
// 获取显示文本(支持文本库)
|
|
33
25
|
const displayText = this.getDisplayText();
|
|
34
26
|
this.textElementModal = new TextElementModal(displayText, font, width, height);
|
|
@@ -72,11 +64,52 @@ export class TextElement extends ConditionalDynamicDisplayElement {
|
|
|
72
64
|
if (!this.textElementModal || !this.model.size) {
|
|
73
65
|
return;
|
|
74
66
|
}
|
|
75
|
-
//
|
|
67
|
+
// 获取新的显示文本和样式
|
|
76
68
|
const displayText = this.getDisplayText();
|
|
77
|
-
|
|
69
|
+
const font = this.getFontStyle();
|
|
70
|
+
// 更新样式和文本内容
|
|
71
|
+
this.textElementModal.updateFont(font);
|
|
78
72
|
this.textElementModal.updateText(displayText);
|
|
79
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* 获取当前语种的字体样式
|
|
76
|
+
*/
|
|
77
|
+
getFontStyle() {
|
|
78
|
+
// 获取目标语种
|
|
79
|
+
const getTargetLanguage = () => {
|
|
80
|
+
var _a, _b, _c, _d, _e, _f;
|
|
81
|
+
const currentLanguageId = (_c = (_b = (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.getCurrentLanguageId) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : null;
|
|
82
|
+
const defaultLanguage = ((_d = this.languageService) === null || _d === void 0 ? void 0 : _d.getDefaultLanguage()) || 'zh-CN';
|
|
83
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
84
|
+
return defaultLanguage;
|
|
85
|
+
}
|
|
86
|
+
return ((_f = (_e = this.guiContext) === null || _e === void 0 ? void 0 : _e.getLanguageCultureById) === null || _f === void 0 ? void 0 : _f.call(_e, currentLanguageId)) || defaultLanguage;
|
|
87
|
+
};
|
|
88
|
+
const targetLanguage = getTargetLanguage();
|
|
89
|
+
// 如果有多语种样式配置,优先使用
|
|
90
|
+
if (this.model.fontStyleCultures && this.model.fontStyleCultures[targetLanguage]) {
|
|
91
|
+
const style = this.model.fontStyleCultures[targetLanguage];
|
|
92
|
+
return {
|
|
93
|
+
isUnderline: style.isUnderline,
|
|
94
|
+
isBold: this.isBold(style.fontStyle),
|
|
95
|
+
isItalic: this.isItalic(style.fontStyle),
|
|
96
|
+
fontSize: style.fontSize,
|
|
97
|
+
fontFamily: this.fontFamily(style.fontStyle),
|
|
98
|
+
color: style.fontColor,
|
|
99
|
+
textAlign: style.textAlign
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// 回退到全局样式
|
|
103
|
+
return {
|
|
104
|
+
isUnderline: this.model.isUnderline,
|
|
105
|
+
isBold: this.isBold(this.model.font),
|
|
106
|
+
isItalic: this.isItalic(this.model.font),
|
|
107
|
+
fontSize: this.model.fontSize,
|
|
108
|
+
fontFamily: this.fontFamily(this.model.font),
|
|
109
|
+
color: this.model.stroke,
|
|
110
|
+
textAlign: this.model.textAlign
|
|
111
|
+
};
|
|
112
|
+
}
|
|
80
113
|
/**
|
|
81
114
|
* 获取显示文本
|
|
82
115
|
* 如果配置了文本库,则从文本库中获取对应语种的文本
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TextElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":12,"character":33},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":19,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":19,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":20,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":20,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":20,"character":111},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":22,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":23,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":24,"character":38}]}],"dispose":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"reRenderText":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}],"handleTextValue":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TextElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-dynamic-display-element","name":"ConditionalDynamicDisplayElement","line":12,"character":33},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":19,"character":48},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":19,"character":77},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":20,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":20,"character":67},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":20,"character":111},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":22,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":23,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":24,"character":38}]}],"dispose":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"reRenderText":[{"__symbolic":"method"}],"getFontStyle":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}],"handleTextValue":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}]}}}}]
|
|
@@ -246,7 +246,7 @@ export class SwitchIndicatorLightElement extends ConditionalEnableElement {
|
|
|
246
246
|
this.graphStateElement = new GraphStateElement(this.model.graphSetting, width, height, this.graphStore, this.logger, this.model.version, this.model.states);
|
|
247
247
|
this.$element.append(this.graphStateElement.Element);
|
|
248
248
|
}
|
|
249
|
-
this.textStateElement = new TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext, true);
|
|
249
|
+
this.textStateElement = new TextStateElement(this.model.states, width, height, this.logger, this.model.version, this.model.states, this.model.textLibrary, this.textLibraryService, this.languageService, this.guiContext, true, this.model.fontStyleCultures);
|
|
250
250
|
this.$element.append(this.textStateElement.Element);
|
|
251
251
|
}
|
|
252
252
|
/**
|
|
@@ -37,7 +37,7 @@ export class ViewOperationElement extends ConditionalEnableElement {
|
|
|
37
37
|
this.$element.find('text').remove();
|
|
38
38
|
this.initGraph(width, height);
|
|
39
39
|
this.rootElement.append('rect').attr('id', 'StateFrame').attr('width', width).attr('height', height).attr('fill', 'transparent');
|
|
40
|
-
const font =
|
|
40
|
+
const font = this.getFontStyle();
|
|
41
41
|
this.textElementModal = new TextElementModal(this.getDisplayText(), font, width, height);
|
|
42
42
|
this.$element.append(this.textElementModal.Element);
|
|
43
43
|
this.switchToState(0);
|
|
@@ -217,11 +217,41 @@ export class ViewOperationElement extends ConditionalEnableElement {
|
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* 获取当前语种的字体样式
|
|
222
|
+
*/
|
|
223
|
+
getFontStyle() {
|
|
224
|
+
const getTargetLanguage = () => {
|
|
225
|
+
var _a, _b, _c, _d, _e, _f;
|
|
226
|
+
const currentLanguageId = (_c = (_b = (_a = this.guiContext) === null || _a === void 0 ? void 0 : _a.getCurrentLanguageId) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : null;
|
|
227
|
+
const defaultLanguage = ((_d = this.languageService) === null || _d === void 0 ? void 0 : _d.getDefaultLanguage()) || 'zh-CN';
|
|
228
|
+
if (currentLanguageId === null || currentLanguageId === undefined) {
|
|
229
|
+
return defaultLanguage;
|
|
230
|
+
}
|
|
231
|
+
return ((_f = (_e = this.guiContext) === null || _e === void 0 ? void 0 : _e.getLanguageCultureById) === null || _f === void 0 ? void 0 : _f.call(_e, currentLanguageId)) || defaultLanguage;
|
|
232
|
+
};
|
|
233
|
+
const targetLanguage = getTargetLanguage();
|
|
234
|
+
if (this.model.fontStyleCultures && this.model.fontStyleCultures[targetLanguage]) {
|
|
235
|
+
const style = this.model.fontStyleCultures[targetLanguage];
|
|
236
|
+
return {
|
|
237
|
+
isUnderline: style.isUnderline,
|
|
238
|
+
isBold: style.isBold,
|
|
239
|
+
isItalic: style.isItalic,
|
|
240
|
+
fontSize: style.fontSize,
|
|
241
|
+
fontFamily: style.fontFamily || 'msyh',
|
|
242
|
+
color: style.color,
|
|
243
|
+
textAlign: style.textAlign
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
return Object.assign(Object.assign({}, this.model.label.font), { fontFamily: this.model.label.font.fontFamily || 'msyh' });
|
|
247
|
+
}
|
|
220
248
|
/**
|
|
221
249
|
* 更新文本内容(支持文本库和语种切换)
|
|
222
250
|
*/
|
|
223
251
|
updateTextContent() {
|
|
224
252
|
if (this.textElementModal) {
|
|
253
|
+
const font = this.getFontStyle();
|
|
254
|
+
this.textElementModal.updateFont(font);
|
|
225
255
|
this.textElementModal.updateText(this.getDisplayText());
|
|
226
256
|
}
|
|
227
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"ViewOperationElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":23,"character":42},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":36,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":36,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":37,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":38,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":39,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":40,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":41,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":42,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":43,"character":42},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":44,"character":22},{"__symbolic":"reference","module":"../../view/popup-view.service","name":"PopupViewService","line":45,"character":43},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":29},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":49,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":50,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":51,"character":38}]}],"initElement":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"executeViewOperation":[{"__symbolic":"method"}],"toggleView":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"recordViewOperation":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"updateTextContent":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"ViewOperationElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-enable-element","name":"ConditionalEnableElement","line":23,"character":42},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":36,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":36,"character":48},{"__symbolic":"reference","module":"ngx-bootstrap/modal","name":"BsModalService","line":37,"character":39},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":38,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":39,"character":23},{"__symbolic":"reference","module":"../../config","name":"GraphStore","line":40,"character":37},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":41,"character":27},{"__symbolic":"reference","module":"../../service","name":"OperationRecordService","line":42,"character":49},{"__symbolic":"reference","module":"../../security","name":"SecurityChecker","line":43,"character":42},{"__symbolic":"reference","module":"../../localization","name":"Localization","line":44,"character":22},{"__symbolic":"reference","module":"../../view/popup-view.service","name":"PopupViewService","line":45,"character":43},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":29},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"TextLibraryService","line":49,"character":46},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":50,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":51,"character":38}]}],"initElement":[{"__symbolic":"method"}],"switchToState":[{"__symbolic":"method"}],"initGraph":[{"__symbolic":"method"}],"checkElementPassword":[{"__symbolic":"method"}],"executeViewOperation":[{"__symbolic":"method"}],"toggleView":[{"__symbolic":"method"}],"popView":[{"__symbolic":"method"}],"closeView":[{"__symbolic":"method"}],"moveView":[{"__symbolic":"method"}],"recordViewOperation":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"getFontStyle":[{"__symbolic":"method"}],"updateTextContent":[{"__symbolic":"method"}],"getDisplayText":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}}}}]
|
|
@@ -8,6 +8,15 @@ export interface TextCultures {
|
|
|
8
8
|
[languageCode: string]: string;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
+
export interface FontStyleCultures {
|
|
12
|
+
readonly [languageCode: string]: {
|
|
13
|
+
readonly fontSize: string;
|
|
14
|
+
readonly fontStyle: string;
|
|
15
|
+
readonly fontColor: string;
|
|
16
|
+
readonly isUnderline: boolean;
|
|
17
|
+
readonly textAlign: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
11
20
|
export interface FontSettingModel {
|
|
12
21
|
readonly text: string | TextCultures;
|
|
13
22
|
readonly stroke: string;
|
|
@@ -16,4 +25,5 @@ export interface FontSettingModel {
|
|
|
16
25
|
readonly isUnderline: boolean;
|
|
17
26
|
readonly textAlign: string;
|
|
18
27
|
readonly textLibrary?: TextLibrarySetting;
|
|
28
|
+
readonly fontStyleCultures?: FontStyleCultures;
|
|
19
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"TextLibrarySetting":{"__symbolic":"interface"},"TextCultures":{"__symbolic":"interface"},"FontSettingModel":{"__symbolic":"interface"}}}]
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"TextLibrarySetting":{"__symbolic":"interface"},"TextCultures":{"__symbolic":"interface"},"FontStyleCultures":{"__symbolic":"interface"},"FontSettingModel":{"__symbolic":"interface"}}}]
|