@web-atoms/core 2.2.4 → 2.2.7
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 +1 -232
- package/dist/App.js.map +1 -1
- package/dist/Atom.js +1 -139
- package/dist/Atom.js.map +1 -1
- package/dist/MockApp.js +1 -37
- package/dist/MockApp.js.map +1 -1
- package/dist/Pack.js +1 -10
- package/dist/Pack.js.map +1 -1
- package/dist/core/AtomBinder.js +1 -214
- package/dist/core/AtomBinder.js.map +1 -1
- package/dist/core/AtomBridge.js +1 -307
- package/dist/core/AtomBridge.js.map +1 -1
- package/dist/core/AtomComponent.js +1 -568
- package/dist/core/AtomComponent.js.map +1 -1
- package/dist/core/AtomDispatcher.js +1 -63
- package/dist/core/AtomDispatcher.js.map +1 -1
- package/dist/core/AtomDisposableList.js +1 -38
- package/dist/core/AtomDisposableList.js.map +1 -1
- package/dist/core/AtomEnumerator.js +1 -27
- package/dist/core/AtomEnumerator.js.map +1 -1
- package/dist/core/AtomList.js +1 -210
- package/dist/core/AtomList.js.map +1 -1
- package/dist/core/AtomLoader.js +1 -298
- package/dist/core/AtomLoader.js.map +1 -1
- package/dist/core/AtomMap.js +1 -18
- package/dist/core/AtomMap.js.map +1 -1
- package/dist/core/AtomOnce.js +1 -35
- package/dist/core/AtomOnce.js.map +1 -1
- package/dist/core/AtomSelectableList.js +1 -257
- package/dist/core/AtomSelectableList.js.map +1 -1
- package/dist/core/AtomUri.js +1 -89
- package/dist/core/AtomUri.js.map +1 -1
- package/dist/core/AtomWatcher.js +1 -135
- package/dist/core/AtomWatcher.js.map +1 -1
- package/dist/core/Bind.js +1 -332
- package/dist/core/Bind.js.map +1 -1
- package/dist/core/BindableProperty.js +1 -40
- package/dist/core/BindableProperty.js.map +1 -1
- package/dist/core/CancelTokenFactory.js +1 -48
- package/dist/core/CancelTokenFactory.js.map +1 -1
- package/dist/core/Color.js +1 -8
- package/dist/core/Colors.js +1 -274
- package/dist/core/Colors.js.map +1 -1
- package/dist/core/Defer.js +1 -36
- package/dist/core/Defer.js.map +1 -1
- package/dist/core/EventScope.js +1 -60
- package/dist/core/EventScope.js.map +1 -1
- package/dist/core/ExpressionParser.js +1 -163
- package/dist/core/ExpressionParser.js.map +1 -1
- package/dist/core/FormattedError.js +1 -19
- package/dist/core/FormattedError.js.map +1 -1
- package/dist/core/FormattedString.js +1 -16
- package/dist/core/FormattedString.js.map +1 -1
- package/dist/core/IFetchEvent.js +1 -8
- package/dist/core/IScreen.js +1 -8
- package/dist/core/IValueConverter.js +1 -8
- package/dist/core/InheritedProperty.js +1 -89
- package/dist/core/InheritedProperty.js.map +1 -1
- package/dist/core/InjectProperty.js +1 -22
- package/dist/core/InjectProperty.js.map +1 -1
- package/dist/core/KeyValuePairs.js +1 -8
- package/dist/core/Markdown.js +1 -30
- package/dist/core/Markdown.js.map +1 -1
- package/dist/core/MarkdownError.js +1 -22
- package/dist/core/MarkdownError.js.map +1 -1
- package/dist/core/PropertyBinding.js +1 -10
- package/dist/core/PropertyBinding.js.map +1 -1
- package/dist/core/PropertyMap.js +1 -42
- package/dist/core/PropertyMap.js.map +1 -1
- package/dist/core/SingleInvoker.js +1 -58
- package/dist/core/SingleInvoker.js.map +1 -1
- package/dist/core/StringHelper.js +1 -58
- package/dist/core/StringHelper.js.map +1 -1
- package/dist/core/TransientDisposable.js +1 -28
- package/dist/core/TransientDisposable.js.map +1 -1
- package/dist/core/WatchProperty.js +1 -33
- package/dist/core/WatchProperty.js.map +1 -1
- package/dist/core/WebImage.js +1 -19
- package/dist/core/WebImage.js.map +1 -1
- package/dist/core/XNode.js +1 -158
- package/dist/core/XNode.js.map +1 -1
- package/dist/core/sleep.js +1 -33
- package/dist/core/sleep.js.map +1 -1
- package/dist/core/types.js +1 -101
- package/dist/core/types.js.map +1 -1
- package/dist/di/DISingleton.js +1 -22
- package/dist/di/DISingleton.js.map +1 -1
- package/dist/di/DITransient.js +1 -22
- package/dist/di/DITransient.js.map +1 -1
- package/dist/di/IMockOrInject.js +1 -8
- package/dist/di/IServiceProvider.js +1 -8
- package/dist/di/Inject.js +1 -88
- package/dist/di/Inject.js.map +1 -1
- package/dist/di/Register.js +1 -51
- package/dist/di/Register.js.map +1 -1
- package/dist/di/RegisterScoped.js +1 -19
- package/dist/di/RegisterScoped.js.map +1 -1
- package/dist/di/RegisterSingleton.js +1 -19
- package/dist/di/RegisterSingleton.js.map +1 -1
- package/dist/di/ServiceCollection.js +1 -61
- package/dist/di/ServiceCollection.js.map +1 -1
- package/dist/di/ServiceProvider.js +1 -136
- package/dist/di/ServiceProvider.js.map +1 -1
- package/dist/di/TypeKey.js +1 -22
- package/dist/di/TypeKey.js.map +1 -1
- package/dist/services/BusyIndicatorService.js +1 -27
- package/dist/services/BusyIndicatorService.js.map +1 -1
- package/dist/services/CacheService.js +1 -120
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/JsonService.js +1 -144
- package/dist/services/JsonService.js.map +1 -1
- package/dist/services/MockNavigationService.js +1 -191
- package/dist/services/MockNavigationService.js.map +1 -1
- package/dist/services/NavigationService.js +1 -163
- package/dist/services/NavigationService.js.map +1 -1
- package/dist/services/ReferenceService.js +1 -54
- package/dist/services/ReferenceService.js.map +1 -1
- package/dist/services/http/AjaxOptions.js +1 -12
- package/dist/services/http/AjaxOptions.js.map +1 -1
- package/dist/services/http/JsonError.js +1 -21
- package/dist/services/http/JsonError.js.map +1 -1
- package/dist/services/http/RestService.js +1 -421
- package/dist/services/http/RestService.js.map +1 -1
- package/dist/style/StyleRule.js +1 -2667
- package/dist/style/StyleRule.js.map +1 -1
- package/dist/test.js +1 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/unit/AtomTest.js +1 -57
- package/dist/unit/AtomTest.js.map +1 -1
- package/dist/unit/AtomWebTest.js +1 -70
- package/dist/unit/AtomWebTest.js.map +1 -1
- package/dist/view-model/Action.js +1 -152
- package/dist/view-model/Action.js.map +1 -1
- package/dist/view-model/AtomViewModel.js +1 -357
- package/dist/view-model/AtomViewModel.js.map +1 -1
- package/dist/view-model/AtomWindowViewModel.js +1 -59
- package/dist/view-model/AtomWindowViewModel.js.map +1 -1
- package/dist/view-model/BindableUrlParameter.js +1 -24
- package/dist/view-model/BindableUrlParameter.js.map +1 -1
- package/dist/view-model/Delay.js +1 -34
- package/dist/view-model/Delay.js.map +1 -1
- package/dist/view-model/Disposable.js +1 -42
- package/dist/view-model/Disposable.js.map +1 -1
- package/dist/view-model/Load.js +1 -119
- package/dist/view-model/Load.js.map +1 -1
- package/dist/view-model/Once.js +1 -49
- package/dist/view-model/Once.js.map +1 -1
- package/dist/view-model/baseTypes.js +1 -14
- package/dist/view-model/baseTypes.js.map +1 -1
- package/dist/view-model/bindPromise.js +1 -41
- package/dist/view-model/bindPromise.js.map +1 -1
- package/dist/view-model/bindProperty.js +1 -16
- package/dist/view-model/bindProperty.js.map +1 -1
- package/dist/view-model/bindUrlParameter.js +1 -58
- package/dist/view-model/bindUrlParameter.js.map +1 -1
- package/dist/web/WebApp.js +1 -165
- package/dist/web/WebApp.js.map +1 -1
- package/dist/web/controls/AtomAlertWindow.js +1 -67
- package/dist/web/controls/AtomAlertWindow.js.map +1 -1
- package/dist/web/controls/AtomComboBox.js +1 -96
- package/dist/web/controls/AtomComboBox.js.map +1 -1
- package/dist/web/controls/AtomContentControl.js +1 -60
- package/dist/web/controls/AtomContentControl.js.map +1 -1
- package/dist/web/controls/AtomControl.js +1 -547
- package/dist/web/controls/AtomControl.js.map +1 -1
- package/dist/web/controls/AtomFrame.js +1 -256
- package/dist/web/controls/AtomFrame.js.map +1 -1
- package/dist/web/controls/AtomGridSplitter.js +1 -74
- package/dist/web/controls/AtomGridSplitter.js.map +1 -1
- package/dist/web/controls/AtomGridView.js +1 -250
- package/dist/web/controls/AtomGridView.js.map +1 -1
- package/dist/web/controls/AtomItemsControl.js +1 -709
- package/dist/web/controls/AtomItemsControl.js.map +1 -1
- package/dist/web/controls/AtomListBox.js +1 -62
- package/dist/web/controls/AtomListBox.js.map +1 -1
- package/dist/web/controls/AtomNotification.js +1 -68
- package/dist/web/controls/AtomNotification.js.map +1 -1
- package/dist/web/controls/AtomPage.js +1 -20
- package/dist/web/controls/AtomPage.js.map +1 -1
- package/dist/web/controls/AtomPageLink.js +1 -137
- package/dist/web/controls/AtomPageLink.js.map +1 -1
- package/dist/web/controls/AtomTabbedPage.js +1 -299
- package/dist/web/controls/AtomTabbedPage.js.map +1 -1
- package/dist/web/controls/AtomTemplate.js +1 -14
- package/dist/web/controls/AtomTemplate.js.map +1 -1
- package/dist/web/controls/AtomTemplateControl.js +1 -46
- package/dist/web/controls/AtomTemplateControl.js.map +1 -1
- package/dist/web/controls/AtomToggleButtonBar.js +1 -45
- package/dist/web/controls/AtomToggleButtonBar.js.map +1 -1
- package/dist/web/controls/AtomViewPager.js +1 -92
- package/dist/web/controls/AtomViewPager.js.map +1 -1
- package/dist/web/controls/AtomViewStack.js +1 -34
- package/dist/web/controls/AtomViewStack.js.map +1 -1
- package/dist/web/controls/AtomWindow.js +1 -247
- package/dist/web/controls/AtomWindow.js.map +1 -1
- package/dist/web/core/AtomUI.js +1 -203
- package/dist/web/core/AtomUI.js.map +1 -1
- package/dist/web/core/Encoder.js +1 -152
- package/dist/web/core/Encoder.js.map +1 -1
- package/dist/web/core/HtmlNode.js +3 -185
- package/dist/web/core/HtmlNode.js.map +1 -1
- package/dist/web/images/Busy.js +1 -13
- package/dist/web/images/Busy.js.map +1 -1
- package/dist/web/images/BusyDataUrl.js +1 -14
- package/dist/web/images/BusyDataUrl.js.map +1 -1
- package/dist/web/images/Button.js +1 -13
- package/dist/web/images/Button.js.map +1 -1
- package/dist/web/images/ButtonDataUrl.js +1 -14
- package/dist/web/images/ButtonDataUrl.js.map +1 -1
- package/dist/web/images/CloseButton.js +1 -13
- package/dist/web/images/CloseButton.js.map +1 -1
- package/dist/web/images/CloseButtonDataUrl.js +1 -14
- package/dist/web/images/CloseButtonDataUrl.js.map +1 -1
- package/dist/web/images/CloseButtonHover.js +1 -13
- package/dist/web/images/CloseButtonHover.js.map +1 -1
- package/dist/web/images/CloseButtonHoverDataUrl.js +1 -14
- package/dist/web/images/CloseButtonHoverDataUrl.js.map +1 -1
- package/dist/web/samples/MovieService.js +1 -61
- package/dist/web/samples/MovieService.js.map +1 -1
- package/dist/web/samples/demo/app.js +1 -25
- package/dist/web/samples/demo/app.js.map +1 -1
- package/dist/web/samples/demo/views/MovieList.js +1 -70
- package/dist/web/samples/demo/views/MovieList.js.map +1 -1
- package/dist/web/samples/demo/views/MovieListViewModel.js +1 -109
- package/dist/web/samples/demo/views/MovieListViewModel.js.map +1 -1
- package/dist/web/samples/tabs/app.js +1 -59
- package/dist/web/samples/tabs/app.js.map +1 -1
- package/dist/web/samples/tabs/views/List.js +1 -13
- package/dist/web/samples/tabs/views/List.js.map +1 -1
- package/dist/web/samples/tabs/views/ListDataUrl.js +1 -14
- package/dist/web/samples/tabs/views/ListDataUrl.js.map +1 -1
- package/dist/web/samples/tabs/views/Page1.js +1 -99
- package/dist/web/samples/tabs/views/Page1.js.map +1 -1
- package/dist/web/samples/tabs/views/TabHost.js +1 -88
- package/dist/web/samples/tabs/views/TabHost.js.map +1 -1
- package/dist/web/samples/window/WindowSample.js +1 -29
- package/dist/web/samples/window/WindowSample.js.map +1 -1
- package/dist/web/services/MarkdownService.js +1 -37
- package/dist/web/services/MarkdownService.js.map +1 -1
- package/dist/web/services/NotificationPopup.js +1 -49
- package/dist/web/services/NotificationPopup.js.map +1 -1
- package/dist/web/services/PopupService.js +1 -827
- package/dist/web/services/PopupService.js.map +1 -1
- package/dist/web/services/WebBusyIndicatorService.js +1 -84
- package/dist/web/services/WebBusyIndicatorService.js.map +1 -1
- package/dist/web/services/WindowService.js +1 -377
- package/dist/web/services/WindowService.js.map +1 -1
- package/dist/web/styles/AtomAlertWindowStyle.js +1 -52
- package/dist/web/styles/AtomAlertWindowStyle.js.map +1 -1
- package/dist/web/styles/AtomFrameStyle.js +1 -29
- package/dist/web/styles/AtomFrameStyle.js.map +1 -1
- package/dist/web/styles/AtomListBoxStyle.js +1 -42
- package/dist/web/styles/AtomListBoxStyle.js.map +1 -1
- package/dist/web/styles/AtomNotificationStyle.js +1 -35
- package/dist/web/styles/AtomNotificationStyle.js.map +1 -1
- package/dist/web/styles/AtomPageLinkStyle.js +1 -25
- package/dist/web/styles/AtomPageLinkStyle.js.map +1 -1
- package/dist/web/styles/AtomPopupStyle.js +1 -23
- package/dist/web/styles/AtomPopupStyle.js.map +1 -1
- package/dist/web/styles/AtomStyle.js +1 -81
- package/dist/web/styles/AtomStyle.js.map +1 -1
- package/dist/web/styles/AtomStyleSheet.js +1 -69
- package/dist/web/styles/AtomStyleSheet.js.map +1 -1
- package/dist/web/styles/AtomTabbedPageStyle.js +1 -127
- package/dist/web/styles/AtomTabbedPageStyle.js.map +1 -1
- package/dist/web/styles/AtomTheme.js +1 -63
- package/dist/web/styles/AtomTheme.js.map +1 -1
- package/dist/web/styles/AtomToggleButtonBarStyle.js +1 -76
- package/dist/web/styles/AtomToggleButtonBarStyle.js.map +1 -1
- package/dist/web/styles/AtomWindowStyle.js +1 -130
- package/dist/web/styles/AtomWindowStyle.js.map +1 -1
- package/dist/web/styles/CSS.js +1 -75
- package/dist/web/styles/CSS.js.map +1 -1
- package/dist/web/styles/CommonStyles.js +1 -68
- package/dist/web/styles/CommonStyles.js.map +1 -1
- package/dist/web/styles/IStyleDeclaration.js +1 -8
- package/dist/web/styles/StyleBuilder.js +1 -95
- package/dist/web/styles/StyleBuilder.js.map +1 -1
- package/dist/xf/XFApp.js +1 -64
- package/dist/xf/XFApp.js.map +1 -1
- package/dist/xf/controls/AtomXFControl.js +1 -270
- package/dist/xf/controls/AtomXFControl.js.map +1 -1
- package/dist/xf/services/XFBusyIndicatorService.js +1 -35
- package/dist/xf/services/XFBusyIndicatorService.js.map +1 -1
- package/dist/xf/services/XFNavigationService.js +1 -175
- package/dist/xf/services/XFNavigationService.js.map +1 -1
- package/package.json +4 -3
- package/tsconfig.json +1 -0
|
@@ -1,258 +1,2 @@
|
|
|
1
|
-
System.register(["./AtomBinder"],
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var AtomBinder, AtomSelectableList, isSelectableItem;
|
|
5
|
-
_export("default", void 0);
|
|
6
|
-
return {
|
|
7
|
-
setters: [function (_AtomBinder) {
|
|
8
|
-
AtomBinder = _AtomBinder.AtomBinder;
|
|
9
|
-
}],
|
|
10
|
-
execute: function () {
|
|
11
|
-
isSelectableItem = {};
|
|
12
|
-
_export("default", AtomSelectableList = class AtomSelectableList {
|
|
13
|
-
get selectedIndex() {
|
|
14
|
-
if (this.selectedItems.length) {
|
|
15
|
-
return this.items.indexOf(this.selectedItems[0]);
|
|
16
|
-
}
|
|
17
|
-
return -1;
|
|
18
|
-
}
|
|
19
|
-
set selectedIndex(n) {
|
|
20
|
-
this.selectedItems.clear();
|
|
21
|
-
if (n === -1) {
|
|
22
|
-
this.updateBindings(true);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
this.selectedItems.add(this.items[n]);
|
|
26
|
-
}
|
|
27
|
-
get selectedItem() {
|
|
28
|
-
if (!this.selectedItems.length) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const s = this.selectedItems[0];
|
|
32
|
-
return s ? s.item : null;
|
|
33
|
-
}
|
|
34
|
-
set selectedItem(item) {
|
|
35
|
-
this.selectedItems.clear();
|
|
36
|
-
if (!item) {
|
|
37
|
-
this.updateBindings(true);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const si = this.items.find(s => s.item === item);
|
|
41
|
-
si.select();
|
|
42
|
-
}
|
|
43
|
-
get label() {
|
|
44
|
-
const labels = this.selectedItems.map(x => this.labelPath(x.item));
|
|
45
|
-
if (this.allowMultipleSelection) {
|
|
46
|
-
return labels;
|
|
47
|
-
}
|
|
48
|
-
return labels[0] || null;
|
|
49
|
-
}
|
|
50
|
-
get selectAll() {
|
|
51
|
-
if (this.items.length) {
|
|
52
|
-
return this.items.length === this.selectedItems.length;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
set selectAll(v) {
|
|
57
|
-
if (v) {
|
|
58
|
-
this.selectedItems.splice(0, this.selectedItems.length, ...this.items);
|
|
59
|
-
} else {
|
|
60
|
-
this.selectedItems.clear();
|
|
61
|
-
}
|
|
62
|
-
AtomBinder.refreshItems(this.selectedItems);
|
|
63
|
-
for (const iterator of this.items) {
|
|
64
|
-
AtomBinder.refreshValue(iterator, "selected");
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
get value() {
|
|
68
|
-
if (this.allowMultipleSelection && this.items.length) {
|
|
69
|
-
return this.selectedItems.map(x => this.valuePath(x.item));
|
|
70
|
-
}
|
|
71
|
-
if (this.selectedItems.length) {
|
|
72
|
-
return this.valuePath(this.selectedItems[0].item);
|
|
73
|
-
}
|
|
74
|
-
return this.mValue;
|
|
75
|
-
}
|
|
76
|
-
set value(v) {
|
|
77
|
-
this.mValue = v;
|
|
78
|
-
if (!this.allowMultipleSelection) {
|
|
79
|
-
v = [v];
|
|
80
|
-
}
|
|
81
|
-
const va = v;
|
|
82
|
-
this.replaceSelectedInternal(va, false);
|
|
83
|
-
}
|
|
84
|
-
constructor(allowMultipleSelection = false, valuePath, labelPath) {
|
|
85
|
-
this.allowMultipleSelection = allowMultipleSelection;
|
|
86
|
-
this.valuePath = valuePath;
|
|
87
|
-
this.labelPath = labelPath;
|
|
88
|
-
this.selectedItems = [];
|
|
89
|
-
this.mValue = undefined;
|
|
90
|
-
if (!this.valuePath) {
|
|
91
|
-
this.valuePath = x => x;
|
|
92
|
-
}
|
|
93
|
-
if (!this.labelPath) {
|
|
94
|
-
this.labelPath = x => x.label || x;
|
|
95
|
-
}
|
|
96
|
-
this.items = [];
|
|
97
|
-
}
|
|
98
|
-
clear(clearValue = false) {
|
|
99
|
-
if (clearValue) {
|
|
100
|
-
this.replaceSelectedInternal([], false);
|
|
101
|
-
}
|
|
102
|
-
this.items.clear();
|
|
103
|
-
}
|
|
104
|
-
append(source, total) {
|
|
105
|
-
let values = this.value;
|
|
106
|
-
if (!this.allowMultipleSelection) {
|
|
107
|
-
values = [values];
|
|
108
|
-
}
|
|
109
|
-
const map = source.map(x => {
|
|
110
|
-
const item = this.newItem(x);
|
|
111
|
-
if (values && values.length) {
|
|
112
|
-
const v = this.valuePath(x);
|
|
113
|
-
if (values.find(v1 => v1 === v)) {
|
|
114
|
-
item.selected = true;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return item;
|
|
118
|
-
});
|
|
119
|
-
this.total = total;
|
|
120
|
-
this.items.addAll(map);
|
|
121
|
-
this.mValue = undefined;
|
|
122
|
-
this.updateBindings(true);
|
|
123
|
-
}
|
|
124
|
-
replace(source, start, size) {
|
|
125
|
-
let values = this.value;
|
|
126
|
-
if (!this.allowMultipleSelection) {
|
|
127
|
-
values = [values];
|
|
128
|
-
}
|
|
129
|
-
this.selectedItems.clear();
|
|
130
|
-
const map = source.map(x => {
|
|
131
|
-
const item = this.newItem(x);
|
|
132
|
-
if (values && values.length) {
|
|
133
|
-
const v = this.valuePath(x);
|
|
134
|
-
if (values.find(v1 => v1 === v)) {
|
|
135
|
-
item.selected = true;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return item;
|
|
139
|
-
});
|
|
140
|
-
const a = source;
|
|
141
|
-
if (a.total) {
|
|
142
|
-
map.total = a.total;
|
|
143
|
-
}
|
|
144
|
-
this.items.replace(map, start, size);
|
|
145
|
-
this.mValue = undefined;
|
|
146
|
-
this.updateBindings(true);
|
|
147
|
-
}
|
|
148
|
-
find(item) {
|
|
149
|
-
let itemF = i => item(i);
|
|
150
|
-
if (typeof item !== "function") {
|
|
151
|
-
const e = item;
|
|
152
|
-
itemF = i => i === e;
|
|
153
|
-
}
|
|
154
|
-
return this.items.find(i => itemF(i.item));
|
|
155
|
-
}
|
|
156
|
-
select(item) {
|
|
157
|
-
const i = item;
|
|
158
|
-
if (i.itemType === isSelectableItem) {
|
|
159
|
-
i.select();
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
const si = this.items.find(x => x.item === item);
|
|
163
|
-
si.select();
|
|
164
|
-
}
|
|
165
|
-
deselect(item) {
|
|
166
|
-
const i = item;
|
|
167
|
-
if (i.itemType === isSelectableItem) {
|
|
168
|
-
i.deselect();
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
const si = this.items.find(x => x.item === item);
|
|
172
|
-
si.deselect();
|
|
173
|
-
}
|
|
174
|
-
toggle(item) {
|
|
175
|
-
const i = item;
|
|
176
|
-
if (i.itemType === isSelectableItem) {
|
|
177
|
-
i.toggle();
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
const si = this.items.find(x => x.item === item);
|
|
181
|
-
si.toggle();
|
|
182
|
-
}
|
|
183
|
-
replaceSelected(va) {
|
|
184
|
-
this.replaceSelectedInternal(va, true);
|
|
185
|
-
}
|
|
186
|
-
replaceSelectedInternal(va = [], refreshValue = true) {
|
|
187
|
-
const newItems = !va ? [] : this.items.filter(x => {
|
|
188
|
-
const vp = this.valuePath(x.item);
|
|
189
|
-
const existing = va.find(y => y === vp);
|
|
190
|
-
return existing ? true : false;
|
|
191
|
-
});
|
|
192
|
-
const s = this.selectedItems.slice();
|
|
193
|
-
this.selectedItems.clear();
|
|
194
|
-
for (const iterator of s) {
|
|
195
|
-
AtomBinder.refreshValue(iterator, "selected");
|
|
196
|
-
}
|
|
197
|
-
if (newItems.length) {
|
|
198
|
-
this.selectedItems.replace(newItems);
|
|
199
|
-
}
|
|
200
|
-
this.updateBindings(refreshValue);
|
|
201
|
-
}
|
|
202
|
-
updateBindings(refreshValue = true) {
|
|
203
|
-
if (refreshValue) {
|
|
204
|
-
AtomBinder.refreshValue(this, "value");
|
|
205
|
-
}
|
|
206
|
-
AtomBinder.refreshValue(this, "label");
|
|
207
|
-
AtomBinder.refreshValue(this, "selectAll");
|
|
208
|
-
AtomBinder.refreshValue(this, "selectedItem");
|
|
209
|
-
AtomBinder.refreshValue(this, "selectedIndex");
|
|
210
|
-
}
|
|
211
|
-
newItem(item) {
|
|
212
|
-
const self = this;
|
|
213
|
-
const newItem = {
|
|
214
|
-
item,
|
|
215
|
-
itemType: isSelectableItem,
|
|
216
|
-
select: null,
|
|
217
|
-
deselect: null,
|
|
218
|
-
toggle: null,
|
|
219
|
-
get selected() {
|
|
220
|
-
return self.selectedItems.find(x => x === this) ? true : false;
|
|
221
|
-
},
|
|
222
|
-
set selected(v) {
|
|
223
|
-
if (v) {
|
|
224
|
-
if (this.selected) {
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
self.clearSelected();
|
|
228
|
-
self.selectedItems.add(this);
|
|
229
|
-
} else {
|
|
230
|
-
self.selectedItems.remove(this);
|
|
231
|
-
}
|
|
232
|
-
AtomBinder.refreshValue(this, "selected");
|
|
233
|
-
self.updateBindings(true);
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
newItem.select = () => {
|
|
237
|
-
newItem.selected = true;
|
|
238
|
-
};
|
|
239
|
-
newItem.deselect = () => {
|
|
240
|
-
newItem.selected = false;
|
|
241
|
-
};
|
|
242
|
-
newItem.toggle = () => {
|
|
243
|
-
newItem.selected = !newItem.selected;
|
|
244
|
-
};
|
|
245
|
-
return newItem;
|
|
246
|
-
}
|
|
247
|
-
clearSelected() {
|
|
248
|
-
if (!this.allowMultipleSelection) {
|
|
249
|
-
const si = this.selectedItem;
|
|
250
|
-
this.selectedItems.clear();
|
|
251
|
-
AtomBinder.refreshValue(si, "selected");
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
});
|
|
1
|
+
System.register(["./AtomBinder"],function(_export,_context){"use strict";var AtomBinder,AtomSelectableList,isSelectableItem;_export("default",void 0);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder;}],execute:function(){isSelectableItem={};_export("default",AtomSelectableList=class AtomSelectableList{get selectedIndex(){if(this.selectedItems.length){return this.items.indexOf(this.selectedItems[0]);}return-1;}set selectedIndex(n){this.selectedItems.clear();if(n===-1){this.updateBindings(true);return;}this.selectedItems.add(this.items[n]);}get selectedItem(){if(!this.selectedItems.length){return null;}const s=this.selectedItems[0];return s?s.item:null;}set selectedItem(item){this.selectedItems.clear();if(!item){this.updateBindings(true);return;}const si=this.items.find(s=>s.item===item);si.select();}get label(){const labels=this.selectedItems.map(x=>this.labelPath(x.item));if(this.allowMultipleSelection){return labels;}return labels[0]||null;}get selectAll(){if(this.items.length){return this.items.length===this.selectedItems.length;}return false;}set selectAll(v){if(v){this.selectedItems.splice(0,this.selectedItems.length,...this.items);}else{this.selectedItems.clear();}AtomBinder.refreshItems(this.selectedItems);for(const iterator of this.items){AtomBinder.refreshValue(iterator,"selected");}}get value(){if(this.allowMultipleSelection&&this.items.length){return this.selectedItems.map(x=>this.valuePath(x.item));}if(this.selectedItems.length){return this.valuePath(this.selectedItems[0].item);}return this.mValue;}set value(v){this.mValue=v;if(!this.allowMultipleSelection){v=[v];}const va=v;this.replaceSelectedInternal(va,false);}constructor(allowMultipleSelection=false,valuePath,labelPath){this.allowMultipleSelection=allowMultipleSelection;this.valuePath=valuePath;this.labelPath=labelPath;this.selectedItems=[];this.mValue=undefined;if(!this.valuePath){this.valuePath=x=>x;}if(!this.labelPath){this.labelPath=x=>x.label||x;}this.items=[];}clear(clearValue=false){if(clearValue){this.replaceSelectedInternal([],false);}this.items.clear();}append(source,total){let values=this.value;if(!this.allowMultipleSelection){values=[values];}const map=source.map(x=>{const item=this.newItem(x);if(values&&values.length){const v=this.valuePath(x);if(values.find(v1=>v1===v)){item.selected=true;}}return item;});this.total=total;this.items.addAll(map);this.mValue=undefined;this.updateBindings(true);}replace(source,start,size){let values=this.value;if(!this.allowMultipleSelection){values=[values];}this.selectedItems.clear();const map=source.map(x=>{const item=this.newItem(x);if(values&&values.length){const v=this.valuePath(x);if(values.find(v1=>v1===v)){item.selected=true;}}return item;});const a=source;if(a.total){map.total=a.total;}this.items.replace(map,start,size);this.mValue=undefined;this.updateBindings(true);}find(item){let itemF=i=>item(i);if(typeof item!=="function"){const e=item;itemF=i=>i===e;}return this.items.find(i=>itemF(i.item));}select(item){const i=item;if(i.itemType===isSelectableItem){i.select();return;}const si=this.items.find(x=>x.item===item);si.select();}deselect(item){const i=item;if(i.itemType===isSelectableItem){i.deselect();return;}const si=this.items.find(x=>x.item===item);si.deselect();}toggle(item){const i=item;if(i.itemType===isSelectableItem){i.toggle();return;}const si=this.items.find(x=>x.item===item);si.toggle();}replaceSelected(va){this.replaceSelectedInternal(va,true);}replaceSelectedInternal(va=[],refreshValue=true){const newItems=!va?[]:this.items.filter(x=>{const vp=this.valuePath(x.item);const existing=va.find(y=>y===vp);return existing?true:false;});const s=this.selectedItems.slice();this.selectedItems.clear();for(const iterator of s){AtomBinder.refreshValue(iterator,"selected");}if(newItems.length){this.selectedItems.replace(newItems);}this.updateBindings(refreshValue);}updateBindings(refreshValue=true){if(refreshValue){AtomBinder.refreshValue(this,"value");}AtomBinder.refreshValue(this,"label");AtomBinder.refreshValue(this,"selectAll");AtomBinder.refreshValue(this,"selectedItem");AtomBinder.refreshValue(this,"selectedIndex");}newItem(item){const self=this;const newItem={item,itemType:isSelectableItem,select:null,deselect:null,toggle:null,get selected(){return self.selectedItems.find(x=>x===this)?true:false;},set selected(v){if(v){if(this.selected){return;}self.clearSelected();self.selectedItems.add(this);}else{self.selectedItems.remove(this);}AtomBinder.refreshValue(this,"selected");self.updateBindings(true);}};newItem.select=()=>{newItem.selected=true;};newItem.deselect=()=>{newItem.selected=false;};newItem.toggle=()=>{newItem.selected=!newItem.selected;};return newItem;}clearSelected(){if(!this.allowMultipleSelection){const si=this.selectedItem;this.selectedItems.clear();AtomBinder.refreshValue(si,"selected");}}});}};});
|
|
258
2
|
//# sourceMappingURL=AtomSelectableList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":"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","names":["AtomSelectableList","AtomBinder","isSelectableItem","selectedIndex","selectedItems","length","items","indexOf","n","clear","updateBindings","add","selectedItem","s","item","si","find","select","label","labels","map","x","labelPath","allowMultipleSelection","selectAll","v","splice","refreshItems","iterator","refreshValue","value","valuePath","mValue","va","replaceSelectedInternal","constructor","undefined","clearValue","append","source","total","values","newItem","v1","selected","addAll","replace","start","size","a","itemF","i","e","itemType","deselect","toggle","replaceSelected","newItems","filter","vp","existing","y","slice","self","clearSelected","remove"],"sourceRoot":"","sources":["../../src/core/AtomSelectableList.ts"],"sourcesContent":[null]}
|
package/dist/core/AtomUri.js
CHANGED
|
@@ -1,90 +1,2 @@
|
|
|
1
|
-
System.register(["../web/core/AtomUI"],
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var AtomUI, AtomUri;
|
|
5
|
-
_export("AtomUri", void 0);
|
|
6
|
-
return {
|
|
7
|
-
setters: [function (_webCoreAtomUI) {
|
|
8
|
-
AtomUI = _webCoreAtomUI.AtomUI;
|
|
9
|
-
}],
|
|
10
|
-
execute: function () {
|
|
11
|
-
_export("AtomUri", AtomUri = class AtomUri {
|
|
12
|
-
get pathAndQuery() {
|
|
13
|
-
const q = [];
|
|
14
|
-
const h = [];
|
|
15
|
-
for (const key in this.query) {
|
|
16
|
-
if (this.query.hasOwnProperty(key)) {
|
|
17
|
-
const element = this.query[key];
|
|
18
|
-
if (element === undefined || element === null) {
|
|
19
|
-
continue;
|
|
20
|
-
}
|
|
21
|
-
q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
for (const key in this.hash) {
|
|
25
|
-
if (this.hash.hasOwnProperty(key)) {
|
|
26
|
-
const element = this.hash[key];
|
|
27
|
-
if (element === undefined || element === null) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const query = q.length ? "?" + q.join("&") : "";
|
|
34
|
-
const hash = h.length ? "#" + h.join("&") : "";
|
|
35
|
-
let path = this.path || "/";
|
|
36
|
-
if (path.startsWith("/")) {
|
|
37
|
-
path = path.substr(1);
|
|
38
|
-
}
|
|
39
|
-
return `${path}${query}${hash}`;
|
|
40
|
-
}
|
|
41
|
-
constructor(url) {
|
|
42
|
-
let path;
|
|
43
|
-
let query = "";
|
|
44
|
-
let hash = "";
|
|
45
|
-
let t = url.split("?");
|
|
46
|
-
path = t[0];
|
|
47
|
-
if (t.length === 2) {
|
|
48
|
-
query = t[1] || "";
|
|
49
|
-
t = query.split("#");
|
|
50
|
-
query = t[0];
|
|
51
|
-
hash = t[1] || "";
|
|
52
|
-
} else {
|
|
53
|
-
t = path.split("#");
|
|
54
|
-
path = t[0];
|
|
55
|
-
hash = t[1] || "";
|
|
56
|
-
}
|
|
57
|
-
let scheme = "";
|
|
58
|
-
let host = "";
|
|
59
|
-
let port = "";
|
|
60
|
-
let i = path.indexOf("//");
|
|
61
|
-
if (i !== -1) {
|
|
62
|
-
scheme = path.substr(0, i);
|
|
63
|
-
path = path.substr(i + 2);
|
|
64
|
-
i = path.indexOf("/");
|
|
65
|
-
if (i !== -1) {
|
|
66
|
-
host = path.substr(0, i);
|
|
67
|
-
path = path.substr(i + 1);
|
|
68
|
-
t = host.split(":");
|
|
69
|
-
if (t.length > 1) {
|
|
70
|
-
host = t[0];
|
|
71
|
-
port = t[1];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
this.host = host;
|
|
76
|
-
this.protocol = scheme;
|
|
77
|
-
this.port = port;
|
|
78
|
-
this.path = path;
|
|
79
|
-
this.query = AtomUI.parseUrl(query);
|
|
80
|
-
this.hash = AtomUI.parseUrl(hash);
|
|
81
|
-
}
|
|
82
|
-
toString() {
|
|
83
|
-
const port = this.port ? ":" + this.port : "";
|
|
84
|
-
return `${this.protocol}//${this.host}${port}/${this.pathAndQuery}`;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
});
|
|
1
|
+
System.register(["../web/core/AtomUI"],function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI;}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue;}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`);}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue;}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`);}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1);}return`${path}${query}${hash}`;}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||"";}else{t=path.split("#");path=t[0];hash=t[1]||"";}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1];}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash);}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`;}});}};});
|
|
90
2
|
//# sourceMappingURL=AtomUri.js.map
|
package/dist/core/AtomUri.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":"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","names":["AtomUri","AtomUI","pathAndQuery","q","h","key","query","hasOwnProperty","element","undefined","push","encodeURIComponent","toString","hash","length","join","path","startsWith","substr","constructor","url","t","split","scheme","host","port","i","indexOf","protocol","parseUrl"],"sourceRoot":"","sources":["../../src/core/AtomUri.ts"],"sourcesContent":[null]}
|
package/dist/core/AtomWatcher.js
CHANGED
|
@@ -1,136 +1,2 @@
|
|
|
1
|
-
System.register(["./AtomBinder",
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var AtomBinder, parsePath, ObjectProperty, AtomWatcher;
|
|
5
|
-
_export({
|
|
6
|
-
ObjectProperty: void 0,
|
|
7
|
-
AtomWatcher: void 0
|
|
8
|
-
});
|
|
9
|
-
return {
|
|
10
|
-
setters: [function (_AtomBinder) {
|
|
11
|
-
AtomBinder = _AtomBinder.AtomBinder;
|
|
12
|
-
}, function (_ExpressionParser) {
|
|
13
|
-
parsePath = _ExpressionParser.parsePath;
|
|
14
|
-
}],
|
|
15
|
-
execute: function () {
|
|
16
|
-
_export("ObjectProperty", ObjectProperty = class ObjectProperty {
|
|
17
|
-
constructor(name) {
|
|
18
|
-
this.name = name;
|
|
19
|
-
}
|
|
20
|
-
toString() {
|
|
21
|
-
return this.name;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
_export("AtomWatcher", AtomWatcher = class AtomWatcher {
|
|
25
|
-
constructor(target, path, onChanged, source) {
|
|
26
|
-
this.source = source;
|
|
27
|
-
this.isExecuting = false;
|
|
28
|
-
this.target = target;
|
|
29
|
-
this.forValidation = true;
|
|
30
|
-
if (path instanceof Function) {
|
|
31
|
-
const f = path;
|
|
32
|
-
path = parsePath(path);
|
|
33
|
-
this.func = onChanged || f;
|
|
34
|
-
this.funcText = f.toString();
|
|
35
|
-
} else {
|
|
36
|
-
this.func = onChanged;
|
|
37
|
-
}
|
|
38
|
-
this.runEvaluate = () => {
|
|
39
|
-
this.evaluate();
|
|
40
|
-
};
|
|
41
|
-
this.runEvaluate.watcher = this;
|
|
42
|
-
this.path = path.map(x => x.map(y => new ObjectProperty(y)));
|
|
43
|
-
if (!this.path.length) {
|
|
44
|
-
debugger;
|
|
45
|
-
console.warn("There is nothing to watch, do not use one way binding without any binding expression");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
toString() {
|
|
49
|
-
return this.func.toString();
|
|
50
|
-
}
|
|
51
|
-
dispose() {
|
|
52
|
-
if (!this.path) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
for (const p of this.path) {
|
|
56
|
-
for (const op of p) {
|
|
57
|
-
if (op.watcher) {
|
|
58
|
-
op.watcher.dispose();
|
|
59
|
-
op.watcher = null;
|
|
60
|
-
op.target = null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this.func = null;
|
|
65
|
-
this.path = null;
|
|
66
|
-
this.source = null;
|
|
67
|
-
}
|
|
68
|
-
init(evaluate) {
|
|
69
|
-
if (evaluate) {
|
|
70
|
-
this.evaluate(true);
|
|
71
|
-
} else {
|
|
72
|
-
for (const iterator of this.path) {
|
|
73
|
-
this.evaluatePath(this.target, iterator);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
evaluatePath(target, path) {
|
|
78
|
-
let newTarget = null;
|
|
79
|
-
for (const p of path) {
|
|
80
|
-
if (this.source && p.name === "this") {
|
|
81
|
-
target = this.source;
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
newTarget = target[p.name];
|
|
85
|
-
if (!p.target) {
|
|
86
|
-
if (p.watcher) {
|
|
87
|
-
p.watcher.dispose();
|
|
88
|
-
}
|
|
89
|
-
p.watcher = AtomBinder.watch(target, p.name, this.runEvaluate);
|
|
90
|
-
} else if (p.target !== target) {
|
|
91
|
-
if (p.watcher) {
|
|
92
|
-
p.watcher.dispose();
|
|
93
|
-
}
|
|
94
|
-
p.watcher = AtomBinder.watch(target, p.name, this.runEvaluate);
|
|
95
|
-
}
|
|
96
|
-
p.target = target;
|
|
97
|
-
target = newTarget;
|
|
98
|
-
if (newTarget === undefined || newTarget === null) {
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return newTarget;
|
|
103
|
-
}
|
|
104
|
-
evaluate(force) {
|
|
105
|
-
if (!this.path) {
|
|
106
|
-
console.warn(`Watcher is not disposed properly, please watch for any memory leak`);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (this.isExecuting) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const disposeWatchers = [];
|
|
113
|
-
this.isExecuting = true;
|
|
114
|
-
try {
|
|
115
|
-
const values = [];
|
|
116
|
-
const logs = [];
|
|
117
|
-
for (const p of this.path) {
|
|
118
|
-
values.push(this.evaluatePath(this.target, p));
|
|
119
|
-
}
|
|
120
|
-
try {
|
|
121
|
-
this.func.apply(this.target, values);
|
|
122
|
-
} catch (e) {
|
|
123
|
-
console.warn(e);
|
|
124
|
-
}
|
|
125
|
-
} finally {
|
|
126
|
-
this.isExecuting = false;
|
|
127
|
-
for (const d of disposeWatchers) {
|
|
128
|
-
d.dispose();
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
});
|
|
1
|
+
System.register(["./AtomBinder","./ExpressionParser"],function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder;},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name;}toString(){return this.name;}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString();}else{this.func=onChanged;}this.runEvaluate=()=>{this.evaluate();};this.runEvaluate.watcher=this;this.path=path.map(x=>x.map(y=>new ObjectProperty(y)));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression");}}toString(){return this.func.toString();}dispose(){if(!this.path){return;}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null;}}}this.func=null;this.path=null;this.source=null;}init(evaluate){if(evaluate){this.evaluate(true);}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator);}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue;}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose();}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate);}else if(p.target!==target){if(p.watcher){p.watcher.dispose();}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate);}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break;}}return newTarget;}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return;}if(this.isExecuting){return;}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p));}try{this.func.apply(this.target,values);}catch(e){console.warn(e);}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose();}}}});}};});
|
|
136
2
|
//# sourceMappingURL=AtomWatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"
|
|
1
|
+
{"version":3,"mappings":"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","names":["ObjectProperty","AtomWatcher","AtomBinder","parsePath","constructor","name","toString","target","path","onChanged","source","forValidation","Function","f","func","funcText","runEvaluate","evaluate","watcher","map","x","y","length","console","warn","dispose","p","op","init","iterator","evaluatePath","newTarget","watch","undefined","force","isExecuting","disposeWatchers","values","logs","push","apply","e","d"],"sourceRoot":"","sources":["../../src/core/AtomWatcher.ts"],"sourcesContent":[null]}
|