@web-atoms/core 2.2.7 → 2.2.9
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/dist/App.js +225 -1
- package/dist/App.js.map +1 -1
- package/dist/Atom.js +114 -1
- package/dist/Atom.js.map +1 -1
- package/dist/MockApp.js +37 -1
- package/dist/MockApp.js.map +1 -1
- package/dist/Pack.js +10 -1
- package/dist/Pack.js.map +1 -1
- package/dist/core/AtomBinder.js +214 -1
- package/dist/core/AtomBinder.js.map +1 -1
- package/dist/core/AtomBridge.js +307 -1
- package/dist/core/AtomBridge.js.map +1 -1
- package/dist/core/AtomComponent.js +557 -1
- package/dist/core/AtomComponent.js.map +1 -1
- package/dist/core/AtomDispatcher.js +63 -1
- package/dist/core/AtomDispatcher.js.map +1 -1
- package/dist/core/AtomDisposableList.js +38 -1
- package/dist/core/AtomDisposableList.js.map +1 -1
- package/dist/core/AtomEnumerator.js +27 -1
- package/dist/core/AtomEnumerator.js.map +1 -1
- package/dist/core/AtomList.js +210 -1
- package/dist/core/AtomList.js.map +1 -1
- package/dist/core/AtomLoader.js +266 -1
- package/dist/core/AtomLoader.js.map +1 -1
- package/dist/core/AtomMap.js +18 -1
- package/dist/core/AtomMap.js.map +1 -1
- package/dist/core/AtomOnce.js +35 -1
- package/dist/core/AtomOnce.js.map +1 -1
- package/dist/core/AtomSelectableList.js +257 -1
- package/dist/core/AtomSelectableList.js.map +1 -1
- package/dist/core/AtomUri.js +89 -1
- package/dist/core/AtomUri.js.map +1 -1
- package/dist/core/AtomWatcher.js +135 -1
- package/dist/core/AtomWatcher.js.map +1 -1
- package/dist/core/Bind.js +307 -1
- package/dist/core/Bind.js.map +1 -1
- package/dist/core/BindableProperty.js +40 -1
- package/dist/core/BindableProperty.js.map +1 -1
- package/dist/core/CancelTokenFactory.js +43 -1
- package/dist/core/CancelTokenFactory.js.map +1 -1
- package/dist/core/Color.js +8 -1
- package/dist/core/Colors.js +274 -1
- package/dist/core/Colors.js.map +1 -1
- package/dist/core/Defer.js +36 -1
- package/dist/core/Defer.js.map +1 -1
- package/dist/core/EventScope.js +60 -1
- package/dist/core/EventScope.js.map +1 -1
- package/dist/core/ExpressionParser.js +163 -1
- package/dist/core/ExpressionParser.js.map +1 -1
- package/dist/core/FormattedError.js +19 -1
- package/dist/core/FormattedError.js.map +1 -1
- package/dist/core/FormattedString.js +16 -1
- package/dist/core/FormattedString.js.map +1 -1
- package/dist/core/IFetchEvent.js +8 -1
- package/dist/core/IScreen.js +8 -1
- package/dist/core/IValueConverter.js +8 -1
- package/dist/core/InheritedProperty.js +89 -1
- package/dist/core/InheritedProperty.js.map +1 -1
- package/dist/core/InjectProperty.js +22 -1
- package/dist/core/InjectProperty.js.map +1 -1
- package/dist/core/KeyValuePairs.js +8 -1
- package/dist/core/Markdown.js +30 -1
- package/dist/core/Markdown.js.map +1 -1
- package/dist/core/MarkdownError.js +22 -1
- package/dist/core/MarkdownError.js.map +1 -1
- package/dist/core/PropertyBinding.js +10 -1
- package/dist/core/PropertyBinding.js.map +1 -1
- package/dist/core/PropertyMap.js +42 -1
- package/dist/core/PropertyMap.js.map +1 -1
- package/dist/core/SingleInvoker.js +53 -1
- package/dist/core/SingleInvoker.js.map +1 -1
- package/dist/core/StringHelper.js +58 -1
- package/dist/core/StringHelper.js.map +1 -1
- package/dist/core/TransientDisposable.js +28 -1
- package/dist/core/TransientDisposable.js.map +1 -1
- package/dist/core/WatchProperty.js +33 -1
- package/dist/core/WatchProperty.js.map +1 -1
- package/dist/core/WebImage.js +19 -1
- package/dist/core/WebImage.js.map +1 -1
- package/dist/core/XNode.js +158 -1
- package/dist/core/XNode.js.map +1 -1
- package/dist/core/sleep.js +33 -1
- package/dist/core/sleep.js.map +1 -1
- package/dist/core/types.js +101 -1
- package/dist/core/types.js.map +1 -1
- package/dist/di/DISingleton.js +22 -1
- package/dist/di/DISingleton.js.map +1 -1
- package/dist/di/DITransient.js +22 -1
- package/dist/di/DITransient.js.map +1 -1
- package/dist/di/IMockOrInject.js +8 -1
- package/dist/di/IServiceProvider.js +8 -1
- package/dist/di/Inject.js +88 -1
- package/dist/di/Inject.js.map +1 -1
- package/dist/di/Register.js +51 -1
- package/dist/di/Register.js.map +1 -1
- package/dist/di/RegisterScoped.js +19 -1
- package/dist/di/RegisterScoped.js.map +1 -1
- package/dist/di/RegisterSingleton.js +19 -1
- package/dist/di/RegisterSingleton.js.map +1 -1
- package/dist/di/ServiceCollection.js +61 -1
- package/dist/di/ServiceCollection.js.map +1 -1
- package/dist/di/ServiceProvider.js +136 -1
- package/dist/di/ServiceProvider.js.map +1 -1
- package/dist/di/TypeKey.js +22 -1
- package/dist/di/TypeKey.js.map +1 -1
- package/dist/services/BusyIndicatorService.js +22 -1
- package/dist/services/BusyIndicatorService.js.map +1 -1
- package/dist/services/CacheService.js +83 -1
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/JsonService.js +139 -1
- package/dist/services/JsonService.js.map +1 -1
- package/dist/services/MockNavigationService.js +158 -1
- package/dist/services/MockNavigationService.js.map +1 -1
- package/dist/services/NavigationService.js +138 -1
- package/dist/services/NavigationService.js.map +1 -1
- package/dist/services/ReferenceService.js +49 -1
- package/dist/services/ReferenceService.js.map +1 -1
- package/dist/services/http/AjaxOptions.js +12 -1
- package/dist/services/http/AjaxOptions.js.map +1 -1
- package/dist/services/http/JsonError.js +21 -1
- package/dist/services/http/JsonError.js.map +1 -1
- package/dist/services/http/RestService.js +384 -1
- package/dist/services/http/RestService.js.map +1 -1
- package/dist/style/StyleRule.js +2667 -1
- package/dist/style/StyleRule.js.map +1 -1
- package/dist/test.js +8 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/AtomTest.js +32 -1
- package/dist/unit/AtomTest.js.map +1 -1
- package/dist/unit/AtomWebTest.js +45 -1
- package/dist/unit/AtomWebTest.js.map +1 -1
- package/dist/view-model/Action.js +126 -1
- package/dist/view-model/Action.js.map +1 -1
- package/dist/view-model/AtomViewModel.js +320 -1
- package/dist/view-model/AtomViewModel.js.map +1 -1
- package/dist/view-model/AtomWindowViewModel.js +34 -1
- package/dist/view-model/AtomWindowViewModel.js.map +1 -1
- package/dist/view-model/BindableUrlParameter.js +24 -1
- package/dist/view-model/BindableUrlParameter.js.map +1 -1
- package/dist/view-model/Delay.js +34 -1
- package/dist/view-model/Delay.js.map +1 -1
- package/dist/view-model/Disposable.js +42 -1
- package/dist/view-model/Disposable.js.map +1 -1
- package/dist/view-model/Load.js +93 -1
- package/dist/view-model/Load.js.map +1 -1
- package/dist/view-model/Once.js +49 -1
- package/dist/view-model/Once.js.map +1 -1
- package/dist/view-model/baseTypes.js +14 -1
- package/dist/view-model/baseTypes.js.map +1 -1
- package/dist/view-model/bindPromise.js +41 -1
- package/dist/view-model/bindPromise.js.map +1 -1
- package/dist/view-model/bindProperty.js +16 -1
- package/dist/view-model/bindProperty.js.map +1 -1
- package/dist/view-model/bindUrlParameter.js +58 -1
- package/dist/view-model/bindUrlParameter.js.map +1 -1
- package/dist/web/WebApp.js +165 -1
- package/dist/web/WebApp.js.map +1 -1
- package/dist/web/controls/AtomAlertWindow.js +60 -1
- package/dist/web/controls/AtomAlertWindow.js.map +1 -1
- package/dist/web/controls/AtomComboBox.js +85 -1
- package/dist/web/controls/AtomComboBox.js.map +1 -1
- package/dist/web/controls/AtomContentControl.js +60 -1
- package/dist/web/controls/AtomContentControl.js.map +1 -1
- package/dist/web/controls/AtomControl.js +540 -1
- package/dist/web/controls/AtomControl.js.map +1 -1
- package/dist/web/controls/AtomFrame.js +231 -1
- package/dist/web/controls/AtomFrame.js.map +1 -1
- package/dist/web/controls/AtomGridSplitter.js +74 -1
- package/dist/web/controls/AtomGridSplitter.js.map +1 -1
- package/dist/web/controls/AtomGridView.js +250 -1
- package/dist/web/controls/AtomGridView.js.map +1 -1
- package/dist/web/controls/AtomItemsControl.js +709 -1
- package/dist/web/controls/AtomItemsControl.js.map +1 -1
- package/dist/web/controls/AtomListBox.js +62 -1
- package/dist/web/controls/AtomListBox.js.map +1 -1
- package/dist/web/controls/AtomNotification.js +61 -1
- package/dist/web/controls/AtomNotification.js.map +1 -1
- package/dist/web/controls/AtomPage.js +20 -1
- package/dist/web/controls/AtomPage.js.map +1 -1
- package/dist/web/controls/AtomPageLink.js +112 -1
- package/dist/web/controls/AtomPageLink.js.map +1 -1
- package/dist/web/controls/AtomTabbedPage.js +262 -1
- package/dist/web/controls/AtomTabbedPage.js.map +1 -1
- package/dist/web/controls/AtomTemplate.js +14 -1
- package/dist/web/controls/AtomTemplate.js.map +1 -1
- package/dist/web/controls/AtomTemplateControl.js +46 -1
- package/dist/web/controls/AtomTemplateControl.js.map +1 -1
- package/dist/web/controls/AtomToggleButtonBar.js +45 -1
- package/dist/web/controls/AtomToggleButtonBar.js.map +1 -1
- package/dist/web/controls/AtomViewPager.js +67 -1
- package/dist/web/controls/AtomViewPager.js.map +1 -1
- package/dist/web/controls/AtomViewStack.js +34 -1
- package/dist/web/controls/AtomViewStack.js.map +1 -1
- package/dist/web/controls/AtomWindow.js +247 -1
- package/dist/web/controls/AtomWindow.js.map +1 -1
- package/dist/web/core/AtomUI.js +203 -1
- package/dist/web/core/AtomUI.js.map +1 -1
- package/dist/web/core/Encoder.js +152 -1
- package/dist/web/core/Encoder.js.map +1 -1
- package/dist/web/core/HtmlNode.js +185 -3
- package/dist/web/core/HtmlNode.js.map +1 -1
- package/dist/web/images/Busy.js +13 -1
- package/dist/web/images/Busy.js.map +1 -1
- package/dist/web/images/BusyDataUrl.js +14 -1
- package/dist/web/images/BusyDataUrl.js.map +1 -1
- package/dist/web/images/Button.js +13 -1
- package/dist/web/images/Button.js.map +1 -1
- package/dist/web/images/ButtonDataUrl.js +14 -1
- package/dist/web/images/ButtonDataUrl.js.map +1 -1
- package/dist/web/images/CloseButton.js +13 -1
- package/dist/web/images/CloseButton.js.map +1 -1
- package/dist/web/images/CloseButtonDataUrl.js +14 -1
- package/dist/web/images/CloseButtonDataUrl.js.map +1 -1
- package/dist/web/images/CloseButtonHover.js +13 -1
- package/dist/web/images/CloseButtonHover.js.map +1 -1
- package/dist/web/images/CloseButtonHoverDataUrl.js +14 -1
- package/dist/web/images/CloseButtonHoverDataUrl.js.map +1 -1
- package/dist/web/samples/MovieService.js +28 -1
- package/dist/web/samples/MovieService.js.map +1 -1
- package/dist/web/samples/demo/app.js +25 -1
- package/dist/web/samples/demo/app.js.map +1 -1
- package/dist/web/samples/demo/views/MovieList.js +70 -1
- package/dist/web/samples/demo/views/MovieList.js.map +1 -1
- package/dist/web/samples/demo/views/MovieListViewModel.js +72 -1
- package/dist/web/samples/demo/views/MovieListViewModel.js.map +1 -1
- package/dist/web/samples/tabs/app.js +34 -1
- package/dist/web/samples/tabs/app.js.map +1 -1
- package/dist/web/samples/tabs/views/List.js +13 -1
- package/dist/web/samples/tabs/views/List.js.map +1 -1
- package/dist/web/samples/tabs/views/ListDataUrl.js +14 -1
- package/dist/web/samples/tabs/views/ListDataUrl.js.map +1 -1
- package/dist/web/samples/tabs/views/Page1.js +62 -1
- package/dist/web/samples/tabs/views/Page1.js.map +1 -1
- package/dist/web/samples/tabs/views/TabHost.js +51 -1
- package/dist/web/samples/tabs/views/TabHost.js.map +1 -1
- package/dist/web/samples/window/WindowSample.js +29 -1
- package/dist/web/samples/window/WindowSample.js.map +1 -1
- package/dist/web/services/MarkdownService.js +32 -1
- package/dist/web/services/MarkdownService.js.map +1 -1
- package/dist/web/services/NotificationPopup.js +49 -1
- package/dist/web/services/NotificationPopup.js.map +1 -1
- package/dist/web/services/PopupService.js +787 -1
- package/dist/web/services/PopupService.js.map +1 -1
- package/dist/web/services/WebBusyIndicatorService.js +77 -1
- package/dist/web/services/WebBusyIndicatorService.js.map +1 -1
- package/dist/web/services/WindowService.js +340 -1
- package/dist/web/services/WindowService.js.map +1 -1
- package/dist/web/styles/AtomAlertWindowStyle.js +52 -1
- package/dist/web/styles/AtomAlertWindowStyle.js.map +1 -1
- package/dist/web/styles/AtomFrameStyle.js +29 -1
- package/dist/web/styles/AtomFrameStyle.js.map +1 -1
- package/dist/web/styles/AtomListBoxStyle.js +42 -1
- package/dist/web/styles/AtomListBoxStyle.js.map +1 -1
- package/dist/web/styles/AtomNotificationStyle.js +35 -1
- package/dist/web/styles/AtomNotificationStyle.js.map +1 -1
- package/dist/web/styles/AtomPageLinkStyle.js +25 -1
- package/dist/web/styles/AtomPageLinkStyle.js.map +1 -1
- package/dist/web/styles/AtomPopupStyle.js +23 -1
- package/dist/web/styles/AtomPopupStyle.js.map +1 -1
- package/dist/web/styles/AtomStyle.js +81 -1
- package/dist/web/styles/AtomStyle.js.map +1 -1
- package/dist/web/styles/AtomStyleSheet.js +69 -1
- package/dist/web/styles/AtomStyleSheet.js.map +1 -1
- package/dist/web/styles/AtomTabbedPageStyle.js +127 -1
- package/dist/web/styles/AtomTabbedPageStyle.js.map +1 -1
- package/dist/web/styles/AtomTheme.js +52 -1
- package/dist/web/styles/AtomTheme.js.map +1 -1
- package/dist/web/styles/AtomToggleButtonBarStyle.js +76 -1
- package/dist/web/styles/AtomToggleButtonBarStyle.js.map +1 -1
- package/dist/web/styles/AtomWindowStyle.js +130 -1
- package/dist/web/styles/AtomWindowStyle.js.map +1 -1
- package/dist/web/styles/CSS.js +75 -1
- package/dist/web/styles/CSS.js.map +1 -1
- package/dist/web/styles/CommonStyles.js +68 -1
- package/dist/web/styles/CommonStyles.js.map +1 -1
- package/dist/web/styles/IStyleDeclaration.js +8 -1
- package/dist/web/styles/StyleBuilder.js +95 -1
- package/dist/web/styles/StyleBuilder.js.map +1 -1
- package/dist/xf/XFApp.js +64 -1
- package/dist/xf/XFApp.js.map +1 -1
- package/dist/xf/controls/AtomXFControl.js +245 -1
- package/dist/xf/controls/AtomXFControl.js.map +1 -1
- package/dist/xf/services/XFBusyIndicatorService.js +30 -1
- package/dist/xf/services/XFBusyIndicatorService.js.map +1 -1
- package/dist/xf/services/XFNavigationService.js +138 -1
- package/dist/xf/services/XFNavigationService.js.map +1 -1
- package/package.json +2 -2
- package/src/core/StringHelper.ts +2 -2
|
@@ -1,2 +1,232 @@
|
|
|
1
|
-
System.register(["tslib","../../core/AtomBinder","../../core/AtomLoader","../../core/AtomUri","../../services/NavigationService","../../view-model/AtomWindowViewModel","../core/AtomUI","../styles/AtomFrameStyle","./AtomControl"],function
|
|
1
|
+
System.register(["tslib", "../../core/AtomBinder", "../../core/AtomLoader", "../../core/AtomUri", "../../services/NavigationService", "../../view-model/AtomWindowViewModel", "../core/AtomUI", "../styles/AtomFrameStyle", "./AtomControl"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var __awaiter, AtomBinder, AtomLoader, AtomUri, NavigationService, AtomWindowViewModel, AtomUI, AtomFrameStyle, AtomControl, AtomFrame;
|
|
5
|
+
_export("AtomFrame", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_tslib) {
|
|
8
|
+
__awaiter = _tslib.__awaiter;
|
|
9
|
+
}, function (_coreAtomBinder) {
|
|
10
|
+
AtomBinder = _coreAtomBinder.AtomBinder;
|
|
11
|
+
}, function (_coreAtomLoader) {
|
|
12
|
+
AtomLoader = _coreAtomLoader.AtomLoader;
|
|
13
|
+
}, function (_coreAtomUri) {
|
|
14
|
+
AtomUri = _coreAtomUri.AtomUri;
|
|
15
|
+
}, function (_servicesNavigationService) {
|
|
16
|
+
NavigationService = _servicesNavigationService.NavigationService;
|
|
17
|
+
}, function (_viewModelAtomWindowViewModel) {
|
|
18
|
+
AtomWindowViewModel = _viewModelAtomWindowViewModel.AtomWindowViewModel;
|
|
19
|
+
}, function (_coreAtomUI) {
|
|
20
|
+
AtomUI = _coreAtomUI.AtomUI;
|
|
21
|
+
}, function (_stylesAtomFrameStyle) {
|
|
22
|
+
AtomFrameStyle = _stylesAtomFrameStyle.default;
|
|
23
|
+
}, function (_AtomControl) {
|
|
24
|
+
AtomControl = _AtomControl.AtomControl;
|
|
25
|
+
}],
|
|
26
|
+
execute: function () {
|
|
27
|
+
_export("AtomFrame", AtomFrame = class AtomFrame extends AtomControl {
|
|
28
|
+
get canGoBack() {
|
|
29
|
+
return this.stack.length ? true : false;
|
|
30
|
+
}
|
|
31
|
+
get url() {
|
|
32
|
+
return this.mUrl;
|
|
33
|
+
}
|
|
34
|
+
set url(value) {
|
|
35
|
+
if (this.mUrl === value) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (value === undefined) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.mUrl = value;
|
|
42
|
+
this.runAfterInit(() => {
|
|
43
|
+
this.app.runAsync(() => this.loadForReturn(value === null ? null : new AtomUri(value), true));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
constructor(app, e) {
|
|
47
|
+
super(app, e || document.createElement("section"));
|
|
48
|
+
}
|
|
49
|
+
onBackCommand() {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
if (!this.stack.length) {
|
|
52
|
+
console.warn(`FrameStack is empty !!`);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const ctrl = this.current;
|
|
56
|
+
if (ctrl) {
|
|
57
|
+
yield this.navigationService.remove(ctrl);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
popStack(windowClosed) {
|
|
62
|
+
if (!this.stack.length) {
|
|
63
|
+
console.warn(`FrameStack is empty !!`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const last = this.stack.pop();
|
|
67
|
+
AtomBinder.refreshItems(this.stack);
|
|
68
|
+
const old = this.current;
|
|
69
|
+
this.current = last.page;
|
|
70
|
+
this.current.element.style.display = "";
|
|
71
|
+
if (old) {
|
|
72
|
+
this.navigationService.remove(old).catch(e => console.log(e));
|
|
73
|
+
}
|
|
74
|
+
this.setUrl(last.url);
|
|
75
|
+
if (this.saveScrollPosition) {
|
|
76
|
+
setTimeout(() => {
|
|
77
|
+
window.scrollTo(0, last.scrollY);
|
|
78
|
+
}, 200);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
canChange() {
|
|
82
|
+
const c = this.current;
|
|
83
|
+
if (!c) {
|
|
84
|
+
return Promise.resolve(true);
|
|
85
|
+
}
|
|
86
|
+
return this.navigationService.remove(c);
|
|
87
|
+
}
|
|
88
|
+
push(ctrl) {
|
|
89
|
+
if (this.current) {
|
|
90
|
+
if (this.keepStack) {
|
|
91
|
+
this.current.element.style.display = "none";
|
|
92
|
+
this.stack.add({
|
|
93
|
+
url: this.current._$_url,
|
|
94
|
+
page: this.current,
|
|
95
|
+
scrollY: this.navigationService.screen.scrollTop
|
|
96
|
+
});
|
|
97
|
+
} else {
|
|
98
|
+
if (this.current === ctrl) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const c1 = this.current;
|
|
102
|
+
const e1 = c1.element;
|
|
103
|
+
if (e1) {
|
|
104
|
+
this.navigationService.remove(c1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const element = ctrl.element;
|
|
109
|
+
const e = this.pagePresenter || this.element;
|
|
110
|
+
e.appendChild(element);
|
|
111
|
+
this.current = ctrl;
|
|
112
|
+
if (this.saveScrollPosition) {
|
|
113
|
+
window.scrollTo(0, 0);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
load(url, clearHistory) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
if (clearHistory) {
|
|
119
|
+
if (!(yield this.canChange())) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const {
|
|
124
|
+
view,
|
|
125
|
+
disposables
|
|
126
|
+
} = yield AtomLoader.loadView(url, this.app, true, () => new AtomWindowViewModel(this.app));
|
|
127
|
+
const urlString = url.host ? url.toString() : url.pathAndQuery;
|
|
128
|
+
view._$_url = urlString;
|
|
129
|
+
this.push(view);
|
|
130
|
+
const e = view.element;
|
|
131
|
+
this.setUrl(urlString);
|
|
132
|
+
disposables.add({
|
|
133
|
+
dispose: () => {
|
|
134
|
+
const closed = this.current === view;
|
|
135
|
+
e.innerHTML = "";
|
|
136
|
+
e.remove();
|
|
137
|
+
this.popStack(closed);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
return view;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
toUpperCase(s) {
|
|
144
|
+
return s.split("-").filter(t => t).map(t => t.substr(0, 1).toUpperCase() + t.substr(1)).join("");
|
|
145
|
+
}
|
|
146
|
+
setUrl(urlString) {
|
|
147
|
+
this.mUrl = urlString;
|
|
148
|
+
AtomBinder.refreshValue(this, "url");
|
|
149
|
+
AtomBinder.refreshValue(this, "canGoBack");
|
|
150
|
+
}
|
|
151
|
+
loadForReturn(url, clearHistory) {
|
|
152
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
const hasHistory = this.keepStack;
|
|
154
|
+
this.keepStack = !clearHistory;
|
|
155
|
+
if (url === null) {
|
|
156
|
+
if (hasHistory && clearHistory) {
|
|
157
|
+
this.clearStack();
|
|
158
|
+
}
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const page = yield this.load(url, clearHistory);
|
|
162
|
+
if (hasHistory) {
|
|
163
|
+
if (clearHistory) {
|
|
164
|
+
this.clearStack();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
try {
|
|
168
|
+
return yield page.returnPromise;
|
|
169
|
+
} catch (ex) {
|
|
170
|
+
if ((ex.message ? ex.message : ex) === "cancelled") {
|
|
171
|
+
console.warn(ex);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
throw ex;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
clearStack() {
|
|
179
|
+
for (const iterator of this.stack) {
|
|
180
|
+
const e = iterator.page.element;
|
|
181
|
+
if (e) {
|
|
182
|
+
iterator.page.dispose();
|
|
183
|
+
e.innerHTML = "";
|
|
184
|
+
e.remove();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
this.stack.clear();
|
|
188
|
+
}
|
|
189
|
+
preCreate() {
|
|
190
|
+
this.name = null;
|
|
191
|
+
this.stack = [];
|
|
192
|
+
this.keepStack = false;
|
|
193
|
+
this.current = null;
|
|
194
|
+
this.currentDisposable = null;
|
|
195
|
+
this.saveScrollPosition = false;
|
|
196
|
+
this.navigationService = this.app.resolve(NavigationService);
|
|
197
|
+
this.defaultControlStyle = AtomFrameStyle;
|
|
198
|
+
this.pagePresenter = null;
|
|
199
|
+
this.mUrl = null;
|
|
200
|
+
AtomUI.assignID(this.element);
|
|
201
|
+
this.runAfterInit(() => {
|
|
202
|
+
this.setPrimitiveValue(this.element, "styleClass", this.controlStyle.name);
|
|
203
|
+
});
|
|
204
|
+
this.backCommand = () => this.app.runAsync(() => this.onBackCommand());
|
|
205
|
+
const d = this.navigationService.registerNavigationHook((url, {
|
|
206
|
+
target,
|
|
207
|
+
clearHistory,
|
|
208
|
+
cancelToken
|
|
209
|
+
}) => {
|
|
210
|
+
if (this.name) {
|
|
211
|
+
if (target !== this.name) {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
} else {
|
|
215
|
+
if (target !== "frame" && url.protocol !== "frame:") {
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (cancelToken) {
|
|
220
|
+
cancelToken.registerForCancel(() => {
|
|
221
|
+
this.backCommand();
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
return this.loadForReturn(url, clearHistory);
|
|
225
|
+
});
|
|
226
|
+
this.registerDisposable(d);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
});
|
|
2
232
|
//# sourceMappingURL=AtomFrame.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":"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","names":["AtomFrame","AtomBinder","AtomLoader","AtomUri","NavigationService","AtomWindowViewModel","AtomUI","AtomFrameStyle","AtomControl","canGoBack","stack","length","url","mUrl","value","undefined","runAfterInit","app","runAsync","loadForReturn","constructor","e","document","createElement","onBackCommand","console","warn","ctrl","current","navigationService","remove","popStack","windowClosed","last","pop","refreshItems","old","page","element","style","display","catch","log","setUrl","saveScrollPosition","setTimeout","window","scrollTo","scrollY","canChange","c","Promise","resolve","push","keepStack","add","_$_url","screen","scrollTop","c1","e1","pagePresenter","appendChild","load","clearHistory","view","disposables","loadView","urlString","host","toString","pathAndQuery","dispose","closed","innerHTML","toUpperCase","s","split","filter","t","map","substr","join","refreshValue","hasHistory","clearStack","returnPromise","ex","message","iterator","clear","preCreate","name","currentDisposable","defaultControlStyle","assignID","setPrimitiveValue","controlStyle","backCommand","d","registerNavigationHook","target","cancelToken","protocol","registerForCancel","registerDisposable"],"sourceRoot":"","sources":["../../../src/web/controls/AtomFrame.ts"],"sourcesContent":[null]}
|
|
@@ -1,2 +1,75 @@
|
|
|
1
|
-
System.register(["./AtomControl","./AtomGridView"],function
|
|
1
|
+
System.register(["./AtomControl", "./AtomGridView"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var AtomControl, AtomGridView, AtomGridSplitter;
|
|
5
|
+
_export("AtomGridSplitter", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_AtomControl) {
|
|
8
|
+
AtomControl = _AtomControl.AtomControl;
|
|
9
|
+
}, function (_AtomGridView) {
|
|
10
|
+
AtomGridView = _AtomGridView.AtomGridView;
|
|
11
|
+
}],
|
|
12
|
+
execute: function () {
|
|
13
|
+
_export("AtomGridSplitter", AtomGridSplitter = class AtomGridSplitter extends AtomControl {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.dragging = false;
|
|
17
|
+
}
|
|
18
|
+
preCreate() {
|
|
19
|
+
this.direction = "vertical";
|
|
20
|
+
this.dragging = false;
|
|
21
|
+
}
|
|
22
|
+
create() {
|
|
23
|
+
this.bind(this.element, "styleCursor", [["direction"]], false, v => v === "vertical" ? "ew-resize" : "ns-resize");
|
|
24
|
+
this.bind(this.element, "styleBackgroundColor", [["dragging"]], false, v => v ? "blue" : "lightgray");
|
|
25
|
+
const style = this.element.style;
|
|
26
|
+
style.position = "absolute";
|
|
27
|
+
style.left = style.top = style.bottom = style.right = "0";
|
|
28
|
+
this.bindEvent(this.element, "mousedown", e => {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
this.dragging = true;
|
|
31
|
+
const parent = this.parent;
|
|
32
|
+
const isVertical = this.direction === "vertical";
|
|
33
|
+
const disposables = [];
|
|
34
|
+
const rect = {
|
|
35
|
+
x: e.screenX,
|
|
36
|
+
y: e.screenY
|
|
37
|
+
};
|
|
38
|
+
const {
|
|
39
|
+
column,
|
|
40
|
+
row
|
|
41
|
+
} = AtomGridView.getCellInfo(this.element);
|
|
42
|
+
const ss = document.createElement("style");
|
|
43
|
+
ss.textContent = "iframe { pointer-events: none }";
|
|
44
|
+
document.head.appendChild(ss);
|
|
45
|
+
disposables.push({
|
|
46
|
+
dispose: () => ss.remove()
|
|
47
|
+
});
|
|
48
|
+
disposables.push(this.bindEvent(document.body, "mousemove", me => {
|
|
49
|
+
const {
|
|
50
|
+
screenX,
|
|
51
|
+
screenY
|
|
52
|
+
} = me;
|
|
53
|
+
const dx = screenX - rect.x;
|
|
54
|
+
const dy = screenY - rect.y;
|
|
55
|
+
if (isVertical) {
|
|
56
|
+
parent.resize("column", column, dx);
|
|
57
|
+
} else {
|
|
58
|
+
parent.resize("row", row, dy);
|
|
59
|
+
}
|
|
60
|
+
rect.x = screenX;
|
|
61
|
+
rect.y = screenY;
|
|
62
|
+
}));
|
|
63
|
+
disposables.push(this.bindEvent(document.body, "mouseup", mup => {
|
|
64
|
+
this.dragging = false;
|
|
65
|
+
for (const iterator of disposables) {
|
|
66
|
+
iterator.dispose();
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
});
|
|
2
75
|
//# sourceMappingURL=AtomGridSplitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":"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","names":["AtomGridSplitter","AtomControl","AtomGridView","constructor","preCreate","direction","dragging","create","bind","element","v","style","position","left","top","bottom","right","bindEvent","e","preventDefault","parent","isVertical","disposables","rect","x","screenX","y","screenY","column","row","getCellInfo","ss","document","createElement","textContent","head","appendChild","push","dispose","remove","body","me","dx","dy","resize","mup","iterator"],"sourceRoot":"","sources":["../../../src/web/controls/AtomGridSplitter.ts"],"sourcesContent":[null]}
|
|
@@ -1,2 +1,251 @@
|
|
|
1
|
-
System.register(["../../core/AtomBridge","./AtomControl"],function
|
|
1
|
+
System.register(["../../core/AtomBridge", "./AtomControl"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var AtomBridge, AtomControl, AtomGridView;
|
|
5
|
+
_export("AtomGridView", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_coreAtomBridge) {
|
|
8
|
+
AtomBridge = _coreAtomBridge.AtomBridge;
|
|
9
|
+
}, function (_AtomControl) {
|
|
10
|
+
AtomControl = _AtomControl.AtomControl;
|
|
11
|
+
}],
|
|
12
|
+
execute: function () {
|
|
13
|
+
_export("AtomGridView", AtomGridView = class AtomGridView extends AtomControl {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.attempt = 0;
|
|
17
|
+
this.availableRect = null;
|
|
18
|
+
this.childrenReady = false;
|
|
19
|
+
}
|
|
20
|
+
static getCellInfo(e) {
|
|
21
|
+
let row = 0;
|
|
22
|
+
let column = 0;
|
|
23
|
+
let rowSpan = 1;
|
|
24
|
+
let colSpan = 1;
|
|
25
|
+
const cell = e.cell;
|
|
26
|
+
if (cell) {
|
|
27
|
+
console.warn("Attribute `cell` is obsolete, please use row and column attributes separately");
|
|
28
|
+
const tokens = cell.split(",").map(s => s.trim().split(":").map(st => parseInt(st.trim(), 10)));
|
|
29
|
+
column = tokens[0][0];
|
|
30
|
+
row = tokens[1][0];
|
|
31
|
+
colSpan = tokens[0][1] || 1;
|
|
32
|
+
rowSpan = tokens[1][1] || 1;
|
|
33
|
+
} else {
|
|
34
|
+
let c = e.row || "0";
|
|
35
|
+
let tokens = c.split(":").map(st => parseInt(st.trim(), 10));
|
|
36
|
+
row = tokens[0];
|
|
37
|
+
rowSpan = tokens[1] || 1;
|
|
38
|
+
c = e.column || "0";
|
|
39
|
+
tokens = c.split(":").map(st => parseInt(st.trim(), 10));
|
|
40
|
+
column = tokens[0];
|
|
41
|
+
colSpan = tokens[1] || 1;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
row,
|
|
45
|
+
rowSpan,
|
|
46
|
+
column,
|
|
47
|
+
colSpan
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
append(e) {
|
|
51
|
+
const ee = e instanceof AtomControl ? e.element : e;
|
|
52
|
+
ee._logicalParent = this.element;
|
|
53
|
+
this.children = this.children || [];
|
|
54
|
+
this.children.push(e instanceof AtomControl ? e.element : e);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
onUpdateUI() {
|
|
58
|
+
var _a;
|
|
59
|
+
this.attempt++;
|
|
60
|
+
const c1 = (_a = this.children) !== null && _a !== void 0 ? _a : this.children = [];
|
|
61
|
+
c1.length = 0;
|
|
62
|
+
let child = this.element.firstElementChild;
|
|
63
|
+
while (child) {
|
|
64
|
+
const c = child;
|
|
65
|
+
c1.push(c);
|
|
66
|
+
child = child.nextElementSibling;
|
|
67
|
+
c.remove();
|
|
68
|
+
}
|
|
69
|
+
const width = this.element.offsetWidth || this.element.clientWidth || parseFloat(this.element.style.width) || 0;
|
|
70
|
+
const height = this.element.offsetHeight || this.element.clientHeight || parseFloat(this.element.style.height) || 0;
|
|
71
|
+
if (!(width && height)) {
|
|
72
|
+
if (this.childrenReady) {
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
this.invalidate();
|
|
75
|
+
}, 5000);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (this.attempt > 100) {
|
|
79
|
+
console.error(`AtomDockPanel (${width}, ${height}) must both have non zero width and height`);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
setTimeout(() => {
|
|
83
|
+
this.invalidate();
|
|
84
|
+
}, 100);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!this.children) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.attempt = 0;
|
|
91
|
+
this.availableRect = {
|
|
92
|
+
width,
|
|
93
|
+
height,
|
|
94
|
+
x: 0,
|
|
95
|
+
y: 0
|
|
96
|
+
};
|
|
97
|
+
this.columnSizes = (this.columns || "*").split(",").map(s => this.toSize(s.trim(), this.availableRect.width));
|
|
98
|
+
this.rowSizes = (this.rows || "*").split(",").map(s => this.toSize(s.trim(), this.availableRect.height));
|
|
99
|
+
this.assignOffsets(this.columnSizes, this.availableRect.width);
|
|
100
|
+
this.assignOffsets(this.rowSizes, this.availableRect.height);
|
|
101
|
+
for (const iterator of this.children) {
|
|
102
|
+
const host = document.createElement("section");
|
|
103
|
+
host.appendChild(iterator);
|
|
104
|
+
this.element.appendChild(host);
|
|
105
|
+
}
|
|
106
|
+
super.onUpdateUI();
|
|
107
|
+
this.updateSize();
|
|
108
|
+
this.childrenReady = true;
|
|
109
|
+
}
|
|
110
|
+
resize(item, index, delta) {
|
|
111
|
+
const a = item === "column" ? this.columnSizes : this.rowSizes;
|
|
112
|
+
const prev = a[index - 1];
|
|
113
|
+
const next = a[index + 1];
|
|
114
|
+
if (!prev || !next) {
|
|
115
|
+
throw new Error("Grid Splitter cannot be start or end element in GridView");
|
|
116
|
+
}
|
|
117
|
+
const current = a[index];
|
|
118
|
+
prev.size += delta;
|
|
119
|
+
current.offset += delta;
|
|
120
|
+
next.offset += delta;
|
|
121
|
+
next.size -= delta;
|
|
122
|
+
this.updateSize();
|
|
123
|
+
}
|
|
124
|
+
onPropertyChanged(name) {
|
|
125
|
+
switch (name) {
|
|
126
|
+
case "rows":
|
|
127
|
+
case "columns":
|
|
128
|
+
if (this.childrenReady) {
|
|
129
|
+
this.invalidate();
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
onUpdateSize() {
|
|
135
|
+
if (!this.children) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
for (const iterator of this.children) {
|
|
139
|
+
this.updateStyle(iterator);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
preCreate() {
|
|
143
|
+
this.columns = null;
|
|
144
|
+
this.rows = null;
|
|
145
|
+
const style = this.element.style;
|
|
146
|
+
style.position = "absolute";
|
|
147
|
+
style.left = style.right = style.top = style.bottom = "0";
|
|
148
|
+
style.overflow = "hidden";
|
|
149
|
+
this.bindEvent(window, "resize", () => {
|
|
150
|
+
this.updateSize();
|
|
151
|
+
});
|
|
152
|
+
this.bindEvent(document.body, "resize", () => {
|
|
153
|
+
this.updateSize();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
updateStyle(e) {
|
|
157
|
+
const {
|
|
158
|
+
colSpan,
|
|
159
|
+
column,
|
|
160
|
+
row,
|
|
161
|
+
rowSpan
|
|
162
|
+
} = AtomGridView.getCellInfo(e);
|
|
163
|
+
const host = e.parentElement;
|
|
164
|
+
if (!host) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
host.style.position = "absolute";
|
|
168
|
+
host.style.overflow = "hidden";
|
|
169
|
+
host.style.padding = "0";
|
|
170
|
+
host.style.margin = "0";
|
|
171
|
+
if (this.rowSizes.length <= row || this.columnSizes.length <= column) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const rowStart = this.rowSizes[row].offset;
|
|
175
|
+
let rowSize = 0;
|
|
176
|
+
for (let i = row; i < row + rowSpan; i++) {
|
|
177
|
+
rowSize += this.rowSizes[i].size;
|
|
178
|
+
}
|
|
179
|
+
host.style.top = `${rowStart}px`;
|
|
180
|
+
host.style.height = `${rowSize}px`;
|
|
181
|
+
const colStart = this.columnSizes[column].offset;
|
|
182
|
+
let colSize = 0;
|
|
183
|
+
for (let i = column; i < column + colSpan; i++) {
|
|
184
|
+
colSize += this.columnSizes[i].size;
|
|
185
|
+
}
|
|
186
|
+
host.style.left = `${colStart}px`;
|
|
187
|
+
host.style.width = `${colSize}px`;
|
|
188
|
+
AtomBridge.instance.visitDescendents(host, (el, ac) => {
|
|
189
|
+
if (ac) {
|
|
190
|
+
ac.invalidate();
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
return true;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
toSize(s, total) {
|
|
197
|
+
if (!s || s === "*") {
|
|
198
|
+
return {
|
|
199
|
+
offset: -1,
|
|
200
|
+
size: NaN
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
let n = 0;
|
|
204
|
+
if (s.endsWith("%")) {
|
|
205
|
+
s = s.substr(0, s.length - 1);
|
|
206
|
+
n = parseFloat(s);
|
|
207
|
+
return {
|
|
208
|
+
offset: -1,
|
|
209
|
+
size: total * n / 100
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
offset: -1,
|
|
214
|
+
size: parseFloat(s)
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
assignOffsets(a, end) {
|
|
218
|
+
let start = 0;
|
|
219
|
+
let fill = null;
|
|
220
|
+
for (const item of a) {
|
|
221
|
+
item.offset = start;
|
|
222
|
+
if (isNaN(item.size)) {
|
|
223
|
+
fill = item;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
start += item.size;
|
|
227
|
+
}
|
|
228
|
+
if (!fill) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const lastStart = start;
|
|
232
|
+
start = end;
|
|
233
|
+
const r = a.map(x => x).reverse();
|
|
234
|
+
for (const item of r) {
|
|
235
|
+
if (isNaN(item.size)) {
|
|
236
|
+
if (fill !== item) {
|
|
237
|
+
throw new Error("Multiple * cannot be defined");
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
start -= item.size;
|
|
242
|
+
item.offset = start;
|
|
243
|
+
}
|
|
244
|
+
fill.offset = lastStart;
|
|
245
|
+
fill.size = start - lastStart;
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
});
|
|
2
251
|
//# sourceMappingURL=AtomGridView.js.map
|