@flexem/fc-gui 3.0.0-alpha.173 → 3.0.0-alpha.174
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 +31 -2
- 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/historical-curve/historical-curve.element.d.ts +3 -0
- package/elements/historical-curve/historical-curve.element.js +31 -2
- package/elements/historical-curve/historical-curve.element.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -47,6 +47,9 @@ export declare class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
47
47
|
private needResize;
|
|
48
48
|
private dropdownListEl;
|
|
49
49
|
private dropdownTriggerEl;
|
|
50
|
+
private _outsideClickHandler;
|
|
51
|
+
private _fullscreenChangeHandler;
|
|
52
|
+
private _resizeHideHandler;
|
|
50
53
|
constructor(element: HTMLElement, injector: Injector, permissionChecker: PermissionChecker, variableCommunicator: VariableCommunicator, variableStore: VariableStore, historyDataStore: HistoryDataStore, signalRAppId: string, systemTextLibraryService?: SystemTextLibraryService, languageService?: LanguageService, guiContext?: GuiContext, releasedVariableService?: ReleasedVariableService);
|
|
51
54
|
dispose(): void;
|
|
52
55
|
private initKeyboardListener;
|
|
@@ -40,6 +40,9 @@ export class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
40
40
|
this.needResize = true;
|
|
41
41
|
this.dropdownListEl = null;
|
|
42
42
|
this.dropdownTriggerEl = null;
|
|
43
|
+
this._outsideClickHandler = null;
|
|
44
|
+
this._fullscreenChangeHandler = null;
|
|
45
|
+
this._resizeHideHandler = null;
|
|
43
46
|
this.setNeedResize = () => {
|
|
44
47
|
this.needResize = false;
|
|
45
48
|
setTimeout(() => this.needResize = true, 500);
|
|
@@ -81,6 +84,24 @@ export class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
81
84
|
window.removeEventListener('native.keyboardshow', this.setNeedResize);
|
|
82
85
|
window.removeEventListener('native.keyboardhide', this.setNeedResize);
|
|
83
86
|
}
|
|
87
|
+
// 清理下拉相关事件监听及 DOM
|
|
88
|
+
if (this._outsideClickHandler) {
|
|
89
|
+
document.removeEventListener('click', this._outsideClickHandler);
|
|
90
|
+
this._outsideClickHandler = null;
|
|
91
|
+
}
|
|
92
|
+
if (this._fullscreenChangeHandler) {
|
|
93
|
+
document.removeEventListener('fullscreenchange', this._fullscreenChangeHandler);
|
|
94
|
+
document.removeEventListener('webkitfullscreenchange', this._fullscreenChangeHandler);
|
|
95
|
+
this._fullscreenChangeHandler = null;
|
|
96
|
+
}
|
|
97
|
+
if (this._resizeHideHandler) {
|
|
98
|
+
window.removeEventListener('resize', this._resizeHideHandler);
|
|
99
|
+
this._resizeHideHandler = null;
|
|
100
|
+
}
|
|
101
|
+
if (this.dropdownListEl && this.dropdownListEl.parentNode) {
|
|
102
|
+
this.dropdownListEl.parentNode.removeChild(this.dropdownListEl);
|
|
103
|
+
this.dropdownListEl = null;
|
|
104
|
+
}
|
|
84
105
|
// 取消语种变化订阅
|
|
85
106
|
if (this.languageChangeSubscription) {
|
|
86
107
|
this.languageChangeSubscription.unsubscribe();
|
|
@@ -730,12 +751,20 @@ export class HistoricalCurveElement extends ConditionalDisplayElement {
|
|
|
730
751
|
}
|
|
731
752
|
});
|
|
732
753
|
// 点击外部收起
|
|
733
|
-
|
|
754
|
+
this._outsideClickHandler = (event) => {
|
|
734
755
|
const triggerNode = dropdownTrigger.node();
|
|
735
756
|
if (!dropdownListEl.contains(event.target) && !triggerNode.contains(event.target)) {
|
|
736
757
|
hideDropdown();
|
|
737
758
|
}
|
|
738
|
-
}
|
|
759
|
+
};
|
|
760
|
+
document.addEventListener('click', this._outsideClickHandler);
|
|
761
|
+
// 全屏切换(含点击全屏按钮和 F11)时收起
|
|
762
|
+
this._fullscreenChangeHandler = () => { hideDropdown(); };
|
|
763
|
+
document.addEventListener('fullscreenchange', this._fullscreenChangeHandler);
|
|
764
|
+
document.addEventListener('webkitfullscreenchange', this._fullscreenChangeHandler);
|
|
765
|
+
// F11 退出全屏时 keydown 被浏览器拦截,用 resize 兜底
|
|
766
|
+
this._resizeHideHandler = () => { hideDropdown(); };
|
|
767
|
+
window.addEventListener('resize', this._resizeHideHandler);
|
|
739
768
|
// 滚动时收起
|
|
740
769
|
document.addEventListener('scroll', hideDropdown, true);
|
|
741
770
|
const buttonWidth = this.displayOption.operationButtonWidth + 'px', buttonHeight = this.displayOption.operationButtonHeight + 'px';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"HistoricalCurveElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":23,"character":44},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"HistoricalCurveElement":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../base/conditional-display-element","name":"ConditionalDisplayElement","line":23,"character":44},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":77,"character":25,"context":{"typeName":"HTMLElement"}},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":78,"character":18},{"__symbolic":"reference","module":"../../service","name":"PermissionChecker","line":79,"character":27},{"__symbolic":"reference","module":"../../communication","name":"VariableCommunicator","line":80,"character":30},{"__symbolic":"reference","module":"../../config","name":"VariableStore","line":81,"character":23},{"__symbolic":"reference","module":"../../config","name":"HistoryDataStore","line":82,"character":43},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"../../service","name":"SystemTextLibraryService","line":84,"character":52},{"__symbolic":"reference","module":"../../service","name":"LanguageService","line":85,"character":43},{"__symbolic":"reference","module":"../../gui/gui-context","name":"GuiContext","line":86,"character":38},{"__symbolic":"reference","module":"../../service","name":"ReleasedVariableService","line":87,"character":51}]}],"dispose":[{"__symbolic":"method"}],"initKeyboardListener":[{"__symbolic":"method"}],"subscribeLanguageChange":[{"__symbolic":"method"}],"updateLanguageTexts":[{"__symbolic":"method"}],"getCurrentCulture":[{"__symbolic":"method"}],"getValidTimePeriods":[{"__symbolic":"method"}],"getTimePeriodText":[{"__symbolic":"method"}],"updateTimeRange":[{"__symbolic":"method"}],"updateQueryTimeRange":[{"__symbolic":"method"}],"reRenderElement":[{"__symbolic":"method"}],"renderElement":[{"__symbolic":"method"}],"setupTooltipAutoHide":[{"__symbolic":"method"}],"renderChart":[{"__symbolic":"method"}],"initPoint":[{"__symbolic":"method"}],"getLineChart":[{"__symbolic":"method"}],"getMultiBarWithFocusChart":[{"__symbolic":"method"}],"renderCommonProperty":[{"__symbolic":"method"}],"renderOperationArea":[{"__symbolic":"method"}],"timeFormat":[{"__symbolic":"method"}],"fmtDatetimeLocal":[{"__symbolic":"method"}],"showCustomTimeRangeModal":[{"__symbolic":"method"}],"showCustomTimeRangeModalFallback":[{"__symbolic":"method"}],"loadFirstPage":[{"__symbolic":"method"}],"loadNextPage":[{"__symbolic":"method"}],"loadPreviousPage":[{"__symbolic":"method"}],"loadLastPage":[{"__symbolic":"method"}],"initElementStatus":[{"__symbolic":"method"}],"updateElementStatus":[{"__symbolic":"method"}],"setStatusAsUnbound":[{"__symbolic":"method"}],"setStatusAsLoading":[{"__symbolic":"method"}],"setStatusAsLoadFailed":[{"__symbolic":"method"}],"renderStatus":[{"__symbolic":"method"}],"clearStatus":[{"__symbolic":"method"}]}}}}]
|