@web-atoms/core 2.1.479 → 2.2.1

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.
Files changed (296) hide show
  1. package/dist/App.js +189 -242
  2. package/dist/App.js.map +1 -1
  3. package/dist/Atom.js +123 -138
  4. package/dist/Atom.js.map +1 -1
  5. package/dist/MockApp.js +32 -32
  6. package/dist/MockApp.js.map +1 -1
  7. package/dist/Pack.js +11 -17
  8. package/dist/Pack.js.map +1 -1
  9. package/dist/core/AtomBinder.js +187 -199
  10. package/dist/core/AtomBinder.js.map +1 -1
  11. package/dist/core/AtomBridge.js +251 -274
  12. package/dist/core/AtomBridge.js.map +1 -1
  13. package/dist/core/AtomComponent.js +509 -592
  14. package/dist/core/AtomComponent.js.map +1 -1
  15. package/dist/core/AtomDispatcher.js +50 -54
  16. package/dist/core/AtomDispatcher.js.map +1 -1
  17. package/dist/core/AtomDisposableList.js +31 -36
  18. package/dist/core/AtomDisposableList.js.map +1 -1
  19. package/dist/core/AtomEnumerator.js +19 -21
  20. package/dist/core/AtomEnumerator.js.map +1 -1
  21. package/dist/core/AtomList.js +168 -232
  22. package/dist/core/AtomList.js.map +1 -1
  23. package/dist/core/AtomLoader.js +274 -257
  24. package/dist/core/AtomLoader.js.map +1 -1
  25. package/dist/core/AtomMap.js +15 -20
  26. package/dist/core/AtomMap.js.map +1 -1
  27. package/dist/core/AtomOnce.js +31 -71
  28. package/dist/core/AtomOnce.js.map +1 -1
  29. package/dist/core/AtomSelectableList.js +210 -223
  30. package/dist/core/AtomSelectableList.js.map +1 -1
  31. package/dist/core/AtomUri.js +78 -85
  32. package/dist/core/AtomUri.js.map +1 -1
  33. package/dist/core/AtomWatcher.js +112 -186
  34. package/dist/core/AtomWatcher.js.map +1 -1
  35. package/dist/core/Bind.js +288 -380
  36. package/dist/core/Bind.js.map +1 -1
  37. package/dist/core/BindableProperty.js +40 -59
  38. package/dist/core/BindableProperty.js.map +1 -1
  39. package/dist/core/CancelTokenFactory.js +42 -49
  40. package/dist/core/CancelTokenFactory.js.map +1 -1
  41. package/dist/core/Color.js +9 -13
  42. package/dist/core/Color.js.map +1 -1
  43. package/dist/core/Colors.js +254 -254
  44. package/dist/core/Colors.js.map +1 -1
  45. package/dist/core/Defer.js +37 -47
  46. package/dist/core/Defer.js.map +1 -1
  47. package/dist/core/EventScope.js +52 -49
  48. package/dist/core/EventScope.js.map +1 -1
  49. package/dist/core/ExpressionParser.js +152 -216
  50. package/dist/core/ExpressionParser.js.map +1 -1
  51. package/dist/core/FormattedError.js +17 -19
  52. package/dist/core/FormattedError.js.map +1 -1
  53. package/dist/core/FormattedString.js +14 -16
  54. package/dist/core/FormattedString.js.map +1 -1
  55. package/dist/core/IFetchEvent.js +9 -13
  56. package/dist/core/IFetchEvent.js.map +1 -1
  57. package/dist/core/IScreen.js +9 -13
  58. package/dist/core/IScreen.js.map +1 -1
  59. package/dist/core/IValueConverter.js +9 -13
  60. package/dist/core/IValueConverter.js.map +1 -1
  61. package/dist/core/InheritedProperty.js +83 -99
  62. package/dist/core/InheritedProperty.js.map +1 -1
  63. package/dist/core/InjectProperty.js +22 -29
  64. package/dist/core/InjectProperty.js.map +1 -1
  65. package/dist/core/KeyValuePairs.js +9 -13
  66. package/dist/core/KeyValuePairs.js.map +1 -1
  67. package/dist/core/Markdown.js +22 -24
  68. package/dist/core/Markdown.js.map +1 -1
  69. package/dist/core/MarkdownError.js +20 -20
  70. package/dist/core/MarkdownError.js.map +1 -1
  71. package/dist/core/PropertyBinding.js +11 -16
  72. package/dist/core/PropertyBinding.js.map +1 -1
  73. package/dist/core/PropertyMap.js +37 -44
  74. package/dist/core/PropertyMap.js.map +1 -1
  75. package/dist/core/SingleInvoker.js +51 -54
  76. package/dist/core/SingleInvoker.js.map +1 -1
  77. package/dist/core/StringHelper.js +36 -39
  78. package/dist/core/StringHelper.js.map +1 -1
  79. package/dist/core/TransientDisposable.js +23 -26
  80. package/dist/core/TransientDisposable.js.map +1 -1
  81. package/dist/core/WatchProperty.js +34 -34
  82. package/dist/core/WatchProperty.js.map +1 -1
  83. package/dist/core/WebImage.js +15 -17
  84. package/dist/core/WebImage.js.map +1 -1
  85. package/dist/core/XNode.js +129 -157
  86. package/dist/core/XNode.js.map +1 -1
  87. package/dist/core/sleep.js +34 -40
  88. package/dist/core/sleep.js.map +1 -1
  89. package/dist/core/types.js +80 -88
  90. package/dist/core/types.js.map +1 -1
  91. package/dist/di/DISingleton.js +23 -21
  92. package/dist/di/DISingleton.js.map +1 -1
  93. package/dist/di/DITransient.js +23 -21
  94. package/dist/di/DITransient.js.map +1 -1
  95. package/dist/di/IMockOrInject.js +9 -13
  96. package/dist/di/IMockOrInject.js.map +1 -1
  97. package/dist/di/IServiceProvider.js +9 -13
  98. package/dist/di/IServiceProvider.js.map +1 -1
  99. package/dist/di/Inject.js +79 -88
  100. package/dist/di/Inject.js.map +1 -1
  101. package/dist/di/Register.js +49 -51
  102. package/dist/di/Register.js.map +1 -1
  103. package/dist/di/RegisterScoped.js +20 -20
  104. package/dist/di/RegisterScoped.js.map +1 -1
  105. package/dist/di/RegisterSingleton.js +20 -20
  106. package/dist/di/RegisterSingleton.js.map +1 -1
  107. package/dist/di/ServiceCollection.js +46 -45
  108. package/dist/di/ServiceCollection.js.map +1 -1
  109. package/dist/di/ServiceProvider.js +111 -109
  110. package/dist/di/ServiceProvider.js.map +1 -1
  111. package/dist/di/TypeKey.js +20 -43
  112. package/dist/di/TypeKey.js.map +1 -1
  113. package/dist/services/BusyIndicatorService.js +26 -32
  114. package/dist/services/BusyIndicatorService.js.map +1 -1
  115. package/dist/services/CacheService.js +112 -98
  116. package/dist/services/CacheService.js.map +1 -1
  117. package/dist/services/JsonService.js +131 -133
  118. package/dist/services/JsonService.js.map +1 -1
  119. package/dist/services/MockNavigationService.js +152 -221
  120. package/dist/services/MockNavigationService.js.map +1 -1
  121. package/dist/services/NavigationService.js +140 -154
  122. package/dist/services/NavigationService.js.map +1 -1
  123. package/dist/services/ReferenceService.js +47 -50
  124. package/dist/services/ReferenceService.js.map +1 -1
  125. package/dist/services/http/AjaxOptions.js +12 -16
  126. package/dist/services/http/AjaxOptions.js.map +1 -1
  127. package/dist/services/http/JsonError.js +17 -19
  128. package/dist/services/http/JsonError.js.map +1 -1
  129. package/dist/services/http/RestService.js +395 -583
  130. package/dist/services/http/RestService.js.map +1 -1
  131. package/dist/style/StyleRule.js +1830 -1844
  132. package/dist/style/StyleRule.js.map +1 -1
  133. package/dist/test.js +9 -66
  134. package/dist/test.js.map +1 -1
  135. package/dist/tsconfig.tsbuildinfo +1 -1
  136. package/dist/unit/AtomTest.js +54 -36
  137. package/dist/unit/AtomTest.js.map +1 -1
  138. package/dist/unit/AtomWebTest.js +64 -43
  139. package/dist/unit/AtomWebTest.js.map +1 -1
  140. package/dist/view-model/Action.js +152 -134
  141. package/dist/view-model/Action.js.map +1 -1
  142. package/dist/view-model/AtomViewModel.js +318 -416
  143. package/dist/view-model/AtomViewModel.js.map +1 -1
  144. package/dist/view-model/AtomWindowViewModel.js +55 -90
  145. package/dist/view-model/AtomWindowViewModel.js.map +1 -1
  146. package/dist/view-model/BindableUrlParameter.js +25 -25
  147. package/dist/view-model/BindableUrlParameter.js.map +1 -1
  148. package/dist/view-model/Delay.js +34 -46
  149. package/dist/view-model/Delay.js.map +1 -1
  150. package/dist/view-model/Disposable.js +31 -39
  151. package/dist/view-model/Disposable.js.map +1 -1
  152. package/dist/view-model/Load.js +119 -123
  153. package/dist/view-model/Load.js.map +1 -1
  154. package/dist/view-model/Once.js +48 -53
  155. package/dist/view-model/Once.js.map +1 -1
  156. package/dist/view-model/baseTypes.js +15 -20
  157. package/dist/view-model/baseTypes.js.map +1 -1
  158. package/dist/view-model/bindPromise.js +42 -48
  159. package/dist/view-model/bindPromise.js.map +1 -1
  160. package/dist/view-model/bindProperty.js +17 -27
  161. package/dist/view-model/bindProperty.js.map +1 -1
  162. package/dist/view-model/bindUrlParameter.js +55 -66
  163. package/dist/view-model/bindUrlParameter.js.map +1 -1
  164. package/dist/web/WebApp.js +136 -135
  165. package/dist/web/WebApp.js.map +1 -1
  166. package/dist/web/controls/AtomAlertWindow.js +61 -90
  167. package/dist/web/controls/AtomAlertWindow.js.map +1 -1
  168. package/dist/web/controls/AtomComboBox.js +82 -86
  169. package/dist/web/controls/AtomComboBox.js.map +1 -1
  170. package/dist/web/controls/AtomContentControl.js +52 -50
  171. package/dist/web/controls/AtomContentControl.js.map +1 -1
  172. package/dist/web/controls/AtomControl.js +435 -476
  173. package/dist/web/controls/AtomControl.js.map +1 -1
  174. package/dist/web/controls/AtomFrame.js +224 -226
  175. package/dist/web/controls/AtomFrame.js.map +1 -1
  176. package/dist/web/controls/AtomGridSplitter.js +67 -65
  177. package/dist/web/controls/AtomGridSplitter.js.map +1 -1
  178. package/dist/web/controls/AtomGridView.js +228 -254
  179. package/dist/web/controls/AtomGridView.js.map +1 -1
  180. package/dist/web/controls/AtomItemsControl.js +622 -761
  181. package/dist/web/controls/AtomItemsControl.js.map +1 -1
  182. package/dist/web/controls/AtomListBox.js +56 -64
  183. package/dist/web/controls/AtomListBox.js.map +1 -1
  184. package/dist/web/controls/AtomNotification.js +59 -54
  185. package/dist/web/controls/AtomNotification.js.map +1 -1
  186. package/dist/web/controls/AtomPage.js +18 -20
  187. package/dist/web/controls/AtomPage.js.map +1 -1
  188. package/dist/web/controls/AtomPageLink.js +131 -107
  189. package/dist/web/controls/AtomPageLink.js.map +1 -1
  190. package/dist/web/controls/AtomTabbedPage.js +269 -246
  191. package/dist/web/controls/AtomTabbedPage.js.map +1 -1
  192. package/dist/web/controls/AtomTemplate.js +14 -17
  193. package/dist/web/controls/AtomTemplate.js.map +1 -1
  194. package/dist/web/controls/AtomTemplateControl.js +38 -40
  195. package/dist/web/controls/AtomTemplateControl.js.map +1 -1
  196. package/dist/web/controls/AtomToggleButtonBar.js +37 -37
  197. package/dist/web/controls/AtomToggleButtonBar.js.map +1 -1
  198. package/dist/web/controls/AtomViewPager.js +87 -67
  199. package/dist/web/controls/AtomViewPager.js.map +1 -1
  200. package/dist/web/controls/AtomViewStack.js +30 -32
  201. package/dist/web/controls/AtomViewStack.js.map +1 -1
  202. package/dist/web/controls/AtomWindow.js +218 -233
  203. package/dist/web/controls/AtomWindow.js.map +1 -1
  204. package/dist/web/core/AtomUI.js +160 -172
  205. package/dist/web/core/AtomUI.js.map +1 -1
  206. package/dist/web/core/Encoder.js +152 -199
  207. package/dist/web/core/Encoder.js.map +1 -1
  208. package/dist/web/core/HtmlNode.js +165 -161
  209. package/dist/web/core/HtmlNode.js.map +1 -1
  210. package/dist/web/images/Busy.js +13 -14
  211. package/dist/web/images/Busy.js.map +1 -1
  212. package/dist/web/images/BusyDataUrl.js +14 -882
  213. package/dist/web/images/BusyDataUrl.js.map +1 -1
  214. package/dist/web/images/Button.js +13 -15
  215. package/dist/web/images/Button.js.map +1 -1
  216. package/dist/web/images/ButtonDataUrl.js +14 -43
  217. package/dist/web/images/ButtonDataUrl.js.map +1 -1
  218. package/dist/web/images/CloseButton.js +13 -14
  219. package/dist/web/images/CloseButton.js.map +1 -1
  220. package/dist/web/images/CloseButtonDataUrl.js +14 -43
  221. package/dist/web/images/CloseButtonDataUrl.js.map +1 -1
  222. package/dist/web/images/CloseButtonHover.js +13 -14
  223. package/dist/web/images/CloseButtonHover.js.map +1 -1
  224. package/dist/web/images/CloseButtonHoverDataUrl.js +14 -37
  225. package/dist/web/images/CloseButtonHoverDataUrl.js.map +1 -1
  226. package/dist/web/samples/MovieService.js +60 -49
  227. package/dist/web/samples/MovieService.js.map +1 -1
  228. package/dist/web/samples/demo/app.js +23 -23
  229. package/dist/web/samples/demo/app.js.map +1 -1
  230. package/dist/web/samples/demo/views/MovieList.js +64 -67
  231. package/dist/web/samples/demo/views/MovieList.js.map +1 -1
  232. package/dist/web/samples/demo/views/MovieListViewModel.js +102 -82
  233. package/dist/web/samples/demo/views/MovieListViewModel.js.map +1 -1
  234. package/dist/web/samples/tabs/app.js +57 -39
  235. package/dist/web/samples/tabs/app.js.map +1 -1
  236. package/dist/web/samples/tabs/views/List.js +13 -14
  237. package/dist/web/samples/tabs/views/List.js.map +1 -1
  238. package/dist/web/samples/tabs/views/ListDataUrl.js +14 -18
  239. package/dist/web/samples/tabs/views/ListDataUrl.js.map +1 -1
  240. package/dist/web/samples/tabs/views/Page1.js +94 -74
  241. package/dist/web/samples/tabs/views/Page1.js.map +1 -1
  242. package/dist/web/samples/tabs/views/TabHost.js +82 -63
  243. package/dist/web/samples/tabs/views/TabHost.js.map +1 -1
  244. package/dist/web/samples/window/WindowSample.js +27 -23
  245. package/dist/web/samples/window/WindowSample.js.map +1 -1
  246. package/dist/web/services/MarkdownService.js +35 -51
  247. package/dist/web/services/MarkdownService.js.map +1 -1
  248. package/dist/web/services/NotificationPopup.js +48 -44
  249. package/dist/web/services/NotificationPopup.js.map +1 -1
  250. package/dist/web/services/PopupService.js +770 -940
  251. package/dist/web/services/PopupService.js.map +1 -1
  252. package/dist/web/services/WebBusyIndicatorService.js +80 -86
  253. package/dist/web/services/WebBusyIndicatorService.js.map +1 -1
  254. package/dist/web/services/WindowService.js +332 -418
  255. package/dist/web/services/WindowService.js.map +1 -1
  256. package/dist/web/styles/AtomAlertWindowStyle.js +44 -34
  257. package/dist/web/styles/AtomAlertWindowStyle.js.map +1 -1
  258. package/dist/web/styles/AtomFrameStyle.js +27 -20
  259. package/dist/web/styles/AtomFrameStyle.js.map +1 -1
  260. package/dist/web/styles/AtomListBoxStyle.js +34 -32
  261. package/dist/web/styles/AtomListBoxStyle.js.map +1 -1
  262. package/dist/web/styles/AtomNotificationStyle.js +33 -33
  263. package/dist/web/styles/AtomNotificationStyle.js.map +1 -1
  264. package/dist/web/styles/AtomPageLinkStyle.js +21 -22
  265. package/dist/web/styles/AtomPageLinkStyle.js.map +1 -1
  266. package/dist/web/styles/AtomPopupStyle.js +21 -23
  267. package/dist/web/styles/AtomPopupStyle.js.map +1 -1
  268. package/dist/web/styles/AtomStyle.js +69 -73
  269. package/dist/web/styles/AtomStyle.js.map +1 -1
  270. package/dist/web/styles/AtomStyleSheet.js +54 -57
  271. package/dist/web/styles/AtomStyleSheet.js.map +1 -1
  272. package/dist/web/styles/AtomTabbedPageStyle.js +110 -105
  273. package/dist/web/styles/AtomTabbedPageStyle.js.map +1 -1
  274. package/dist/web/styles/AtomTheme.js +62 -65
  275. package/dist/web/styles/AtomTheme.js.map +1 -1
  276. package/dist/web/styles/AtomToggleButtonBarStyle.js +68 -49
  277. package/dist/web/styles/AtomToggleButtonBarStyle.js.map +1 -1
  278. package/dist/web/styles/AtomWindowStyle.js +108 -117
  279. package/dist/web/styles/AtomWindowStyle.js.map +1 -1
  280. package/dist/web/styles/CSS.js +71 -81
  281. package/dist/web/styles/CSS.js.map +1 -1
  282. package/dist/web/styles/CommonStyles.js +60 -66
  283. package/dist/web/styles/CommonStyles.js.map +1 -1
  284. package/dist/web/styles/IStyleDeclaration.js +9 -13
  285. package/dist/web/styles/IStyleDeclaration.js.map +1 -1
  286. package/dist/web/styles/StyleBuilder.js +74 -75
  287. package/dist/web/styles/StyleBuilder.js.map +1 -1
  288. package/dist/xf/XFApp.js +54 -50
  289. package/dist/xf/XFApp.js.map +1 -1
  290. package/dist/xf/controls/AtomXFControl.js +233 -229
  291. package/dist/xf/controls/AtomXFControl.js.map +1 -1
  292. package/dist/xf/services/XFBusyIndicatorService.js +34 -34
  293. package/dist/xf/services/XFBusyIndicatorService.js.map +1 -1
  294. package/dist/xf/services/XFNavigationService.js +150 -133
  295. package/dist/xf/services/XFNavigationService.js.map +1 -1
  296. package/package.json +3 -2
@@ -1,849 +1,710 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "../../core/AtomBinder", "../../core/AtomEnumerator", "../../core/AtomList", "../../core/XNode", "../../web/core/AtomUI", "./AtomControl"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AtomItemsControl = void 0;
13
- const AtomBinder_1 = require("../../core/AtomBinder");
14
- const AtomEnumerator_1 = require("../../core/AtomEnumerator");
15
- require("../../core/AtomList");
16
- const XNode_1 = require("../../core/XNode");
17
- const AtomUI_1 = require("../../web/core/AtomUI");
18
- const AtomControl_1 = require("./AtomControl");
19
- class AtomItemsControl extends AtomControl_1.AtomControl {
1
+ System.register(["../../core/AtomBinder", "../../core/AtomEnumerator", "../../core/AtomList", "../../core/XNode", "../../web/core/AtomUI", "./AtomControl"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var AtomBinder, AtomEnumerator, XNode, AtomUI, ChildEnumerator, AtomControl, AtomItemsControl, AtomItemsControlItemTemplate;
5
+ _export("AtomItemsControl", void 0);
6
+ return {
7
+ setters: [function (_coreAtomBinder) {
8
+ AtomBinder = _coreAtomBinder.AtomBinder;
9
+ }, function (_coreAtomEnumerator) {
10
+ AtomEnumerator = _coreAtomEnumerator.default;
11
+ }, function (_coreAtomList) {}, function (_coreXNode) {
12
+ XNode = _coreXNode.default;
13
+ }, function (_webCoreAtomUI) {
14
+ AtomUI = _webCoreAtomUI.AtomUI;
15
+ ChildEnumerator = _webCoreAtomUI.ChildEnumerator;
16
+ }, function (_AtomControl) {
17
+ AtomControl = _AtomControl.AtomControl;
18
+ }],
19
+ execute: function () {
20
+ _export("AtomItemsControl", AtomItemsControl = class AtomItemsControl extends AtomControl {
20
21
  constructor() {
21
- super(...arguments);
22
- this.mValue = undefined;
23
- // private mFilteredItems: any[] = [];
24
- // private mSelectedItem: any = undefined;
25
- this.mFilter = undefined;
26
- this.mFirstChild = null;
27
- this.mLastChild = null;
28
- this.mScrollerSetup = false;
29
- this.mScopes = null;
30
- this.mItemsDisposable = null;
31
- this.isUpdating = false;
22
+ super(...arguments);
23
+ this.mValue = undefined;
24
+ this.mFilter = undefined;
25
+ this.mFirstChild = null;
26
+ this.mLastChild = null;
27
+ this.mScrollerSetup = false;
28
+ this.mScopes = null;
29
+ this.mItemsDisposable = null;
30
+ this.isUpdating = false;
32
31
  }
33
32
  get itemsPresenter() {
34
- return this.mItemsPresenter || (this.mItemsPresenter = this.element);
33
+ return this.mItemsPresenter || (this.mItemsPresenter = this.element);
35
34
  }
36
35
  set itemsPresenter(v) {
37
- this.mItemsPresenter = v;
38
- AtomBinder_1.AtomBinder.refreshValue(this, "itemsPresenter");
36
+ this.mItemsPresenter = v;
37
+ AtomBinder.refreshValue(this, "itemsPresenter");
39
38
  }
40
39
  get value() {
41
- if (this.allowMultipleSelection) {
42
- let items = this.mSelectedItems;
43
- if (items.length === 0) {
44
- if (this.mValue !== undefined) {
45
- return this.mValue;
46
- }
47
- return null;
48
- }
49
- items = items.map((m) => m[this.valuePath]);
50
- if (this.valueSeparator) {
51
- items = items.join(this.valueSeparator);
52
- }
53
- return items;
54
- }
55
- let s = this.selectedItem;
56
- if (!s) {
57
- if (this.mValue !== undefined) {
58
- return this.mValue;
59
- }
60
- return null;
61
- }
62
- if (this.valuePath) {
63
- s = s[this.valuePath];
40
+ if (this.allowMultipleSelection) {
41
+ let items = this.mSelectedItems;
42
+ if (items.length === 0) {
43
+ if (this.mValue !== undefined) {
44
+ return this.mValue;
45
+ }
46
+ return null;
47
+ }
48
+ items = items.map(m => m[this.valuePath]);
49
+ if (this.valueSeparator) {
50
+ items = items.join(this.valueSeparator);
51
+ }
52
+ return items;
53
+ }
54
+ let s = this.selectedItem;
55
+ if (!s) {
56
+ if (this.mValue !== undefined) {
57
+ return this.mValue;
64
58
  }
65
- return s;
59
+ return null;
60
+ }
61
+ if (this.valuePath) {
62
+ s = s[this.valuePath];
63
+ }
64
+ return s;
66
65
  }
67
66
  set value(v) {
68
- this.mValue = v;
69
- const dataItems = this.items;
70
- if (!dataItems) {
71
- return;
72
- }
73
- const sItems = this.selectedItems;
74
- if (v === undefined || v === null) {
75
- // reset...
76
- AtomBinder_1.AtomBinder.clear(sItems);
77
- return;
78
- }
79
- if (this.allowMultipleSelection && this.valueSeparator) {
80
- if (typeof v !== "string") {
81
- v = "" + v;
82
- }
83
- v = v.split(this.valueSeparator);
84
- }
85
- else {
86
- v = [v];
87
- }
88
- // const items = AtomArray.intersect(dataItems, this._valuePath, v);
89
- sItems.length = 0;
90
- const vp = this.valuePath;
91
- for (const item of v) {
92
- // tslint:disable-next-line:triple-equals
93
- const dataItem = dataItems.find((i) => i[vp] == v);
94
- if (dataItem) {
95
- sItems.push(dataItem);
96
- }
97
- }
98
- // this.updateSelectionBindings();
99
- AtomBinder_1.AtomBinder.refreshItems(sItems);
67
+ this.mValue = v;
68
+ const dataItems = this.items;
69
+ if (!dataItems) {
70
+ return;
71
+ }
72
+ const sItems = this.selectedItems;
73
+ if (v === undefined || v === null) {
74
+ AtomBinder.clear(sItems);
75
+ return;
76
+ }
77
+ if (this.allowMultipleSelection && this.valueSeparator) {
78
+ if (typeof v !== "string") {
79
+ v = "" + v;
80
+ }
81
+ v = v.split(this.valueSeparator);
82
+ } else {
83
+ v = [v];
84
+ }
85
+ sItems.length = 0;
86
+ const vp = this.valuePath;
87
+ for (const item of v) {
88
+ const dataItem = dataItems.find(i => i[vp] == v);
89
+ if (dataItem) {
90
+ sItems.push(dataItem);
91
+ }
92
+ }
93
+ AtomBinder.refreshItems(sItems);
100
94
  }
101
95
  get items() {
102
- return this.mItems;
96
+ return this.mItems;
103
97
  }
104
98
  set items(v) {
105
- if (this.mItemsDisposable) {
106
- this.mItemsDisposable.dispose();
107
- this.mItemsDisposable = null;
108
- }
109
- this.mItems = v;
110
- // this.mFilteredItems = null;
111
- if (v != null) {
112
- this.mItemsDisposable = this.registerDisposable(AtomBinder_1.AtomBinder.add_CollectionChanged(v, (target, key, index, item) => {
113
- this.onCollectionChangedInternal(key, index, item);
114
- }));
115
- // this.onCollectionChangedInternal("refresh", -1, null);
116
- }
117
- AtomBinder_1.AtomBinder.refreshValue(this, "items");
99
+ if (this.mItemsDisposable) {
100
+ this.mItemsDisposable.dispose();
101
+ this.mItemsDisposable = null;
102
+ }
103
+ this.mItems = v;
104
+ if (v != null) {
105
+ this.mItemsDisposable = this.registerDisposable(AtomBinder.add_CollectionChanged(v, (target, key, index, item) => {
106
+ this.onCollectionChangedInternal(key, index, item);
107
+ }));
108
+ }
109
+ AtomBinder.refreshValue(this, "items");
118
110
  }
119
111
  get selectedItem() {
120
- if (this.selectedItems.length > 0) {
121
- return this.selectedItems[0];
122
- }
123
- return null;
112
+ if (this.selectedItems.length > 0) {
113
+ return this.selectedItems[0];
114
+ }
115
+ return null;
124
116
  }
125
117
  set selectedItem(value) {
126
- if (value !== undefined && value !== null) {
127
- this.mSelectedItems.length = 1;
128
- this.mSelectedItems[0] = value;
129
- }
130
- else {
131
- this.mSelectedItems.length = 0;
132
- }
133
- AtomBinder_1.AtomBinder.refreshItems(this.mSelectedItems);
118
+ if (value !== undefined && value !== null) {
119
+ this.mSelectedItems.length = 1;
120
+ this.mSelectedItems[0] = value;
121
+ } else {
122
+ this.mSelectedItems.length = 0;
123
+ }
124
+ AtomBinder.refreshItems(this.mSelectedItems);
134
125
  }
135
126
  get selectedItems() {
136
- return this.mSelectedItems || (this.selectedItems = []);
127
+ return this.mSelectedItems || (this.selectedItems = []);
137
128
  }
138
129
  set selectedItems(v) {
139
- if (this.mSelectedItemsWatcher) {
140
- this.mSelectedItemsWatcher.dispose();
141
- this.mSelectedItemsWatcher = null;
142
- }
143
- this.mSelectedItems = v;
144
- if (v) {
145
- this.mSelectedItemsWatcher = this.registerDisposable(AtomBinder_1.AtomBinder.add_CollectionChanged(v, (t, k, i, item) => {
146
- this.onSelectedItemsChanged(k, i, item);
147
- }));
148
- }
130
+ if (this.mSelectedItemsWatcher) {
131
+ this.mSelectedItemsWatcher.dispose();
132
+ this.mSelectedItemsWatcher = null;
133
+ }
134
+ this.mSelectedItems = v;
135
+ if (v) {
136
+ this.mSelectedItemsWatcher = this.registerDisposable(AtomBinder.add_CollectionChanged(v, (t, k, i, item) => {
137
+ this.onSelectedItemsChanged(k, i, item);
138
+ }));
139
+ }
149
140
  }
150
141
  get selectedIndex() {
151
- if (!this.mItems) {
152
- return -1;
153
- }
154
- const item = this.selectedItem;
155
- return this.mItems.indexOf(item);
142
+ if (!this.mItems) {
143
+ return -1;
144
+ }
145
+ const item = this.selectedItem;
146
+ return this.mItems.indexOf(item);
156
147
  }
157
148
  set selectedIndex(n) {
158
- if (!this.mItems) {
159
- return;
160
- }
161
- if (n <= -1 || n >= this.mItems.length) {
162
- this.selectedItem = null;
163
- return;
164
- }
165
- this.selectedItem = this.mItems[n];
149
+ if (!this.mItems) {
150
+ return;
151
+ }
152
+ if (n <= -1 || n >= this.mItems.length) {
153
+ this.selectedItem = null;
154
+ return;
155
+ }
156
+ this.selectedItem = this.mItems[n];
166
157
  }
167
158
  hasProperty(name) {
168
- // tslint:disable-next-line: max-line-length
169
- if (/^(items|itemsPresenter|value|valuePath|valueSeparator|label|labelPath|selectedItems|selectedItem|selectedIndex|uiVirtualize|viewModel|localViewModel|data)$/.test(name)) {
170
- return true;
171
- }
172
- return super.hasProperty(name);
159
+ if (/^(items|itemsPresenter|value|valuePath|valueSeparator|label|labelPath|selectedItems|selectedItem|selectedIndex|uiVirtualize|viewModel|localViewModel|data)$/.test(name)) {
160
+ return true;
161
+ }
162
+ return super.hasProperty(name);
173
163
  }
174
164
  dispose(e) {
175
- this.items = null;
176
- this.selectedItems = null;
177
- // this.mFilteredItems = null;
178
- super.dispose(e);
165
+ this.items = null;
166
+ this.selectedItems = null;
167
+ super.dispose(e);
179
168
  }
180
169
  onPropertyChanged(name) {
181
- switch (name) {
182
- case "itemsPresenter":
183
- case "itemTemplate":
184
- case "labelPath":
185
- case "valuePath":
186
- case "items":
187
- case "filter":
188
- case "sort":
189
- if (this.mItems) {
190
- this.invalidateItems();
191
- }
192
- // this.runAfterInit(() => {
193
- // if (this.mItems) {
194
- // this.onCollectionChangedInternal("refresh", -1, null);
195
- // }
196
- // });
197
- break;
198
- }
170
+ switch (name) {
171
+ case "itemsPresenter":
172
+ case "itemTemplate":
173
+ case "labelPath":
174
+ case "valuePath":
175
+ case "items":
176
+ case "filter":
177
+ case "sort":
178
+ if (this.mItems) {
179
+ this.invalidateItems();
180
+ }
181
+ break;
182
+ }
199
183
  }
200
184
  set selectAll(v) {
201
- if (v === undefined || v === null) {
202
- return;
203
- }
204
- this.mSelectedItems.length = 0;
205
- const items = this.mItems;
206
- if (v && items) {
207
- for (const itm of items) {
208
- this.mSelectedItems.push(itm);
209
- }
210
- }
211
- this.mSelectAll = true;
212
- AtomBinder_1.AtomBinder.refreshItems(this.mSelectedItems);
185
+ if (v === undefined || v === null) {
186
+ return;
187
+ }
188
+ this.mSelectedItems.length = 0;
189
+ const items = this.mItems;
190
+ if (v && items) {
191
+ for (const itm of items) {
192
+ this.mSelectedItems.push(itm);
193
+ }
194
+ }
195
+ this.mSelectAll = true;
196
+ AtomBinder.refreshItems(this.mSelectedItems);
213
197
  }
214
198
  resetVirtualContainer() {
215
- const ip = this.itemsPresenter;
216
- if (ip) {
217
- this.disposeChildren(ip);
218
- }
219
- this.mFirstChild = null;
220
- this.mLastChild = null;
221
- this.mScrollerSetup = false;
222
- this.mScopes = null;
223
- this.unbindEvent(this.mVirtualContainer, "scroll");
199
+ const ip = this.itemsPresenter;
200
+ if (ip) {
201
+ this.disposeChildren(ip);
202
+ }
203
+ this.mFirstChild = null;
204
+ this.mLastChild = null;
205
+ this.mScrollerSetup = false;
206
+ this.mScopes = null;
207
+ this.unbindEvent(this.mVirtualContainer, "scroll");
224
208
  }
225
209
  postVirtualCollectionChanged() {
226
- this.app.callLater(() => {
227
- this.onVirtualCollectionChanged();
228
- });
210
+ this.app.callLater(() => {
211
+ this.onVirtualCollectionChanged();
212
+ });
229
213
  }
230
214
  onVirtualCollectionChanged() {
231
- const ip = this.itemsPresenter;
232
- const items = this.items;
233
- if (!items.length) {
234
- this.resetVirtualContainer();
235
- return;
236
- }
237
- this.validateScroller();
238
- const fc = this.mFirstChild;
239
- const lc = this.mLastChild;
240
- const vc = this.mVirtualContainer;
241
- const vcHeight = AtomUI_1.AtomUI.innerHeight(vc);
242
- const vcScrollHeight = vc.scrollHeight;
243
- if (isNaN(vcHeight) || vcHeight <= 0 || vcScrollHeight <= 0) {
244
- setTimeout(() => {
245
- this.onVirtualCollectionChanged();
246
- }, 1000);
247
- return;
248
- }
249
- const vcWidth = AtomUI_1.AtomUI.innerWidth(vc);
250
- let avgHeight = this.mAvgHeight;
251
- let avgWidth = this.mAvgWidth;
252
- const itemsHeight = vc.scrollHeight - AtomUI_1.AtomUI.outerHeight(fc) - AtomUI_1.AtomUI.outerHeight(lc);
253
- const itemsWidth = AtomUI_1.AtomUI.innerWidth(ip);
254
- const element = this.element;
255
- let ce;
256
- let ae = new AtomEnumerator_1.default(items);
257
- if (this.mTraining) {
258
- if (vcHeight >= itemsHeight) {
259
- // lets add item...
260
- ce = lc.previousElementSibling;
261
- if (ce !== fc) {
262
- const data = ce.atomControl.data;
263
- while (ae.next()) {
264
- if (ae.current === data) {
265
- break;
266
- }
267
- }
268
- }
269
- if (ae.next()) {
270
- const data = ae.current;
271
- const elementChild = this.createChild(null, data);
272
- ip.insertBefore(elementChild.element, lc);
273
- this.postVirtualCollectionChanged();
274
- }
275
- }
276
- else {
277
- // calculate avg height
278
- let totalVisibleItems = 0;
279
- ce = fc.nextElementSibling;
280
- let allHeight = 0;
281
- let allWidth = 0;
282
- while (ce !== lc) {
283
- totalVisibleItems++;
284
- allHeight += AtomUI_1.AtomUI.outerHeight(ce);
285
- allWidth += AtomUI_1.AtomUI.outerWidth(ce);
286
- ce = ce.nextElementSibling;
287
- }
288
- avgHeight = allHeight / totalVisibleItems;
289
- avgWidth = allWidth / totalVisibleItems;
290
- totalVisibleItems--;
291
- this.mAvgHeight = avgHeight;
292
- this.mAvgWidth = avgWidth;
293
- const columns = Math.floor(vcWidth / avgWidth);
294
- const allRows = Math.ceil(items.length / columns);
295
- const visibleRows = Math.ceil(totalVisibleItems / columns);
296
- // tslint:disable-next-line:no-console
297
- console.log({
298
- avgWidth,
299
- avgHeight,
300
- totalVisibleItems,
301
- allRows,
302
- columns
303
- });
304
- this.mAllRows = allRows;
305
- this.mColumns = columns;
306
- this.mVisibleRows = visibleRows;
307
- this.mVisibleHeight = visibleRows * avgHeight;
308
- // set height of last child... to increase padding
309
- lc.style.height = ((allRows - visibleRows + 1) * avgHeight) + "px";
310
- this.mTraining = false;
311
- this.mReady = true;
312
- this.postVirtualCollectionChanged();
313
- }
314
- return;
315
- }
316
- const self = this;
317
- this.lastScrollTop = vc.scrollTop;
318
- if (this.mIsChanging) {
319
- // setTimeout(function () {
320
- // self.onVirtualCollectionChanged();
321
- // }, 100);
322
- return;
323
- }
324
- this.mIsChanging = true;
325
- const block = Math.floor(this.mVisibleHeight / avgHeight);
326
- const itemsInBlock = this.mVisibleRows * this.mColumns;
327
- // lets simply recreate the view... if we are out of the scroll bounds...
328
- const index = Math.floor(vc.scrollTop / this.mVisibleHeight);
329
- const itemIndex = index * itemsInBlock;
330
- // console.log("First block index is " + index + " item index is " + index * itemsInBlock);
331
- if (itemIndex >= items.length) {
332
- this.mIsChanging = false;
333
- return;
334
- }
335
- const lastIndex = Math.min((Math.max(index, 0) + 3) * itemsInBlock - 1, items.length - 1);
336
- const firstIndex = Math.max(0, (index) * itemsInBlock);
337
- ce = fc.nextElementSibling;
338
- const firstItem = fc.nextElementSibling;
339
- const lastItem = lc.previousElementSibling;
340
- if (firstItem !== lastItem) {
341
- const firstVisibleIndex = items.indexOf(firstItem.atomControl.data);
342
- const lastVisibleIndex = items.indexOf(lastItem.atomControl.data);
343
- // tslint:disable-next-line:no-console
344
- console.log({
345
- firstVisibleIndex,
346
- firstIndex,
347
- lastVisibleIndex,
348
- lastIndex
349
- });
350
- if (firstIndex >= firstVisibleIndex && lastIndex <= lastVisibleIndex) {
351
- // tslint:disable-next-line:no-console
352
- console.log("All items are visible...");
353
- this.mIsChanging = false;
354
- return;
355
- }
356
- }
357
- const remove = [];
358
- const cache = {};
359
- while (ce !== lc) {
360
- const c = ce;
361
- ce = ce.nextElementSibling;
362
- const s = items.indexOf(c.atomControl.data);
363
- cache[s] = c;
364
- remove.push(c);
365
- }
366
- this.app.dispatcher.pause();
367
- ae = new AtomEnumerator_1.default(items);
368
- for (let i = 0; i < firstIndex; i++) {
369
- ae.next();
370
- }
371
- let after = fc;
372
- let last = null;
373
- const add = [];
374
- for (let i = firstIndex; i <= lastIndex; i++) {
375
- if (!ae.next()) {
215
+ const ip = this.itemsPresenter;
216
+ const items = this.items;
217
+ if (!items.length) {
218
+ this.resetVirtualContainer();
219
+ return;
220
+ }
221
+ this.validateScroller();
222
+ const fc = this.mFirstChild;
223
+ const lc = this.mLastChild;
224
+ const vc = this.mVirtualContainer;
225
+ const vcHeight = AtomUI.innerHeight(vc);
226
+ const vcScrollHeight = vc.scrollHeight;
227
+ if (isNaN(vcHeight) || vcHeight <= 0 || vcScrollHeight <= 0) {
228
+ setTimeout(() => {
229
+ this.onVirtualCollectionChanged();
230
+ }, 1000);
231
+ return;
232
+ }
233
+ const vcWidth = AtomUI.innerWidth(vc);
234
+ let avgHeight = this.mAvgHeight;
235
+ let avgWidth = this.mAvgWidth;
236
+ const itemsHeight = vc.scrollHeight - AtomUI.outerHeight(fc) - AtomUI.outerHeight(lc);
237
+ const itemsWidth = AtomUI.innerWidth(ip);
238
+ const element = this.element;
239
+ let ce;
240
+ let ae = new AtomEnumerator(items);
241
+ if (this.mTraining) {
242
+ if (vcHeight >= itemsHeight) {
243
+ ce = lc.previousElementSibling;
244
+ if (ce !== fc) {
245
+ const data = ce.atomControl.data;
246
+ while (ae.next()) {
247
+ if (ae.current === data) {
376
248
  break;
249
+ }
377
250
  }
378
- const index2 = ae.currentIndex;
251
+ }
252
+ if (ae.next()) {
379
253
  const data = ae.current;
380
- let elementChild = cache[index2];
381
- if (elementChild && element.atomControl.data === data) {
382
- cache[index2] = null;
383
- }
384
- else {
385
- elementChild = this.createChild(null, data).element;
386
- }
387
- elementChild.before = after;
388
- add.push(elementChild);
389
- after = elementChild;
390
- last = index2;
391
- }
392
- const h = (this.mAllRows - block * 3) * avgHeight - index * this.mVisibleHeight;
393
- // tslint:disable-next-line:no-console
394
- console.log("last child height = " + h);
395
- this.app.callLater(() => {
396
- const oldHeight = AtomUI_1.AtomUI.outerHeight(fc);
397
- const newHeight = index * this.mVisibleHeight;
398
- const diff = newHeight - oldHeight;
399
- const oldScrollTop = vc.scrollTop;
400
- const a = new AtomEnumerator_1.default(add);
401
- while (a.next()) {
402
- const ec = a.current;
403
- ip.insertBefore(ec, ec.before.nextElementSibling);
404
- ec.before = null;
405
- }
406
- fc.style.height = newHeight + "px";
407
- for (const iterator of remove) {
408
- if (!iterator.before) {
409
- iterator.atomControl.dispose();
410
- }
411
- iterator.remove();
412
- }
413
- // const a = new AtomEnumerator(remove);
414
- // while (a.next()) {
415
- // const ec = a.current();
416
- // if (!ec.before) {
417
- // ec.atomControl.dispose();
418
- // }
419
- // ec.remove();
420
- // }
421
- // vc.scrollTop = oldScrollTop - diff;
422
- lc.style.height = h + "px";
423
- // tslint:disable-next-line:no-console
424
- console.log(`Old: ${oldScrollTop} Diff: ${diff} Old Height: ${oldHeight} Height: ${newHeight}`);
425
- this.mIsChanging = false;
254
+ const elementChild = this.createChild(null, data);
255
+ ip.insertBefore(elementChild.element, lc);
256
+ this.postVirtualCollectionChanged();
257
+ }
258
+ } else {
259
+ let totalVisibleItems = 0;
260
+ ce = fc.nextElementSibling;
261
+ let allHeight = 0;
262
+ let allWidth = 0;
263
+ while (ce !== lc) {
264
+ totalVisibleItems++;
265
+ allHeight += AtomUI.outerHeight(ce);
266
+ allWidth += AtomUI.outerWidth(ce);
267
+ ce = ce.nextElementSibling;
268
+ }
269
+ avgHeight = allHeight / totalVisibleItems;
270
+ avgWidth = allWidth / totalVisibleItems;
271
+ totalVisibleItems--;
272
+ this.mAvgHeight = avgHeight;
273
+ this.mAvgWidth = avgWidth;
274
+ const columns = Math.floor(vcWidth / avgWidth);
275
+ const allRows = Math.ceil(items.length / columns);
276
+ const visibleRows = Math.ceil(totalVisibleItems / columns);
277
+ console.log({
278
+ avgWidth,
279
+ avgHeight,
280
+ totalVisibleItems,
281
+ allRows,
282
+ columns
283
+ });
284
+ this.mAllRows = allRows;
285
+ this.mColumns = columns;
286
+ this.mVisibleRows = visibleRows;
287
+ this.mVisibleHeight = visibleRows * avgHeight;
288
+ lc.style.height = (allRows - visibleRows + 1) * avgHeight + "px";
289
+ this.mTraining = false;
290
+ this.mReady = true;
291
+ this.postVirtualCollectionChanged();
292
+ }
293
+ return;
294
+ }
295
+ const self = this;
296
+ this.lastScrollTop = vc.scrollTop;
297
+ if (this.mIsChanging) {
298
+ return;
299
+ }
300
+ this.mIsChanging = true;
301
+ const block = Math.floor(this.mVisibleHeight / avgHeight);
302
+ const itemsInBlock = this.mVisibleRows * this.mColumns;
303
+ const index = Math.floor(vc.scrollTop / this.mVisibleHeight);
304
+ const itemIndex = index * itemsInBlock;
305
+ if (itemIndex >= items.length) {
306
+ this.mIsChanging = false;
307
+ return;
308
+ }
309
+ const lastIndex = Math.min((Math.max(index, 0) + 3) * itemsInBlock - 1, items.length - 1);
310
+ const firstIndex = Math.max(0, index * itemsInBlock);
311
+ ce = fc.nextElementSibling;
312
+ const firstItem = fc.nextElementSibling;
313
+ const lastItem = lc.previousElementSibling;
314
+ if (firstItem !== lastItem) {
315
+ const firstVisibleIndex = items.indexOf(firstItem.atomControl.data);
316
+ const lastVisibleIndex = items.indexOf(lastItem.atomControl.data);
317
+ console.log({
318
+ firstVisibleIndex,
319
+ firstIndex,
320
+ lastVisibleIndex,
321
+ lastIndex
426
322
  });
427
- this.app.dispatcher.start();
428
- AtomBinder_1.AtomBinder.refreshValue(this, "childAtomControls");
323
+ if (firstIndex >= firstVisibleIndex && lastIndex <= lastVisibleIndex) {
324
+ console.log("All items are visible...");
325
+ this.mIsChanging = false;
326
+ return;
327
+ }
328
+ }
329
+ const remove = [];
330
+ const cache = {};
331
+ while (ce !== lc) {
332
+ const c = ce;
333
+ ce = ce.nextElementSibling;
334
+ const s = items.indexOf(c.atomControl.data);
335
+ cache[s] = c;
336
+ remove.push(c);
337
+ }
338
+ this.app.dispatcher.pause();
339
+ ae = new AtomEnumerator(items);
340
+ for (let i = 0; i < firstIndex; i++) {
341
+ ae.next();
342
+ }
343
+ let after = fc;
344
+ let last = null;
345
+ const add = [];
346
+ for (let i = firstIndex; i <= lastIndex; i++) {
347
+ if (!ae.next()) {
348
+ break;
349
+ }
350
+ const index2 = ae.currentIndex;
351
+ const data = ae.current;
352
+ let elementChild = cache[index2];
353
+ if (elementChild && element.atomControl.data === data) {
354
+ cache[index2] = null;
355
+ } else {
356
+ elementChild = this.createChild(null, data).element;
357
+ }
358
+ elementChild.before = after;
359
+ add.push(elementChild);
360
+ after = elementChild;
361
+ last = index2;
362
+ }
363
+ const h = (this.mAllRows - block * 3) * avgHeight - index * this.mVisibleHeight;
364
+ console.log("last child height = " + h);
365
+ this.app.callLater(() => {
366
+ const oldHeight = AtomUI.outerHeight(fc);
367
+ const newHeight = index * this.mVisibleHeight;
368
+ const diff = newHeight - oldHeight;
369
+ const oldScrollTop = vc.scrollTop;
370
+ const a = new AtomEnumerator(add);
371
+ while (a.next()) {
372
+ const ec = a.current;
373
+ ip.insertBefore(ec, ec.before.nextElementSibling);
374
+ ec.before = null;
375
+ }
376
+ fc.style.height = newHeight + "px";
377
+ for (const iterator of remove) {
378
+ if (!iterator.before) {
379
+ iterator.atomControl.dispose();
380
+ }
381
+ iterator.remove();
382
+ }
383
+ lc.style.height = h + "px";
384
+ console.log(`Old: ${oldScrollTop} Diff: ${diff} Old Height: ${oldHeight} Height: ${newHeight}`);
385
+ this.mIsChanging = false;
386
+ });
387
+ this.app.dispatcher.start();
388
+ AtomBinder.refreshValue(this, "childAtomControls");
429
389
  }
430
390
  isSelected(item) {
431
- let selectedItem = null;
432
- for (const iterator of this.mSelectedItems) {
433
- selectedItem = iterator;
434
- if (selectedItem === item) {
435
- return true;
436
- }
391
+ let selectedItem = null;
392
+ for (const iterator of this.mSelectedItems) {
393
+ selectedItem = iterator;
394
+ if (selectedItem === item) {
395
+ return true;
437
396
  }
438
- return false;
397
+ }
398
+ return false;
439
399
  }
440
400
  bringIntoView(data) {
441
- this.app.callLater(() => {
442
- for (let item of AtomUI_1.ChildEnumerator.enumerate(this.itemsPresenter || this.element)) {
443
- const dataItem = item.atomControl ? item.atomControl.data : item;
444
- if (dataItem === data) {
445
- item.scrollIntoView();
446
- return;
447
- }
448
- }
449
- });
450
- }
451
- bringSelectionIntoView() {
452
- // do not scroll for first auto select
453
- // if (this.mAllowSelectFirst && this.get_selectedIndex() === 0) {
454
- // return;
455
- // }
456
- if (this.uiVirtualize) {
457
- const index = this.selectedIndex;
458
- if (!this.mReady) {
459
- setTimeout(() => {
460
- this.bringSelectionIntoView();
461
- }, 1000);
462
- return;
463
- }
464
- const avgHeight = this.mAvgHeight;
465
- const vcHeight = AtomUI_1.AtomUI.innerHeight(this.mVirtualContainer);
466
- const block = Math.ceil(vcHeight / avgHeight);
467
- const itemsInBlock = block * this.mColumns;
468
- const scrollTop = Math.floor(index / itemsInBlock);
469
- AtomUI_1.AtomUI.scrollTop(this.mVirtualContainer, scrollTop * vcHeight);
401
+ this.app.callLater(() => {
402
+ for (let item of ChildEnumerator.enumerate(this.itemsPresenter || this.element)) {
403
+ const dataItem = item.atomControl ? item.atomControl.data : item;
404
+ if (dataItem === data) {
405
+ item.scrollIntoView();
470
406
  return;
407
+ }
471
408
  }
472
- // const en = new ChildEnumerator(this.itemsPresenter || this.element);
473
- for (let item of AtomUI_1.ChildEnumerator.enumerate(this.itemsPresenter || this.element)) {
474
- // const item = en.current;
475
- const dataItem = item.atomControl ? item.atomControl.data : item;
476
- if (this.isSelected(dataItem)) {
477
- setTimeout(() => {
478
- item.scrollIntoView();
479
- }, 1000);
480
- return;
481
- }
482
- }
409
+ });
410
+ }
411
+ bringSelectionIntoView() {
412
+ if (this.uiVirtualize) {
413
+ const index = this.selectedIndex;
414
+ if (!this.mReady) {
415
+ setTimeout(() => {
416
+ this.bringSelectionIntoView();
417
+ }, 1000);
418
+ return;
419
+ }
420
+ const avgHeight = this.mAvgHeight;
421
+ const vcHeight = AtomUI.innerHeight(this.mVirtualContainer);
422
+ const block = Math.ceil(vcHeight / avgHeight);
423
+ const itemsInBlock = block * this.mColumns;
424
+ const scrollTop = Math.floor(index / itemsInBlock);
425
+ AtomUI.scrollTop(this.mVirtualContainer, scrollTop * vcHeight);
426
+ return;
427
+ }
428
+ for (let item of ChildEnumerator.enumerate(this.itemsPresenter || this.element)) {
429
+ const dataItem = item.atomControl ? item.atomControl.data : item;
430
+ if (this.isSelected(dataItem)) {
431
+ setTimeout(() => {
432
+ item.scrollIntoView();
433
+ }, 1000);
434
+ return;
435
+ }
436
+ }
483
437
  }
484
438
  updateSelectionBindings() {
485
- this.version = this.version + 1;
486
- if (this.mSelectedItems && this.mSelectedItems.length) {
487
- this.mValue = undefined;
488
- }
489
- AtomBinder_1.AtomBinder.refreshValue(this, "value");
490
- AtomBinder_1.AtomBinder.refreshValue(this, "selectedItem");
491
- AtomBinder_1.AtomBinder.refreshValue(this, "selectedItems");
492
- AtomBinder_1.AtomBinder.refreshValue(this, "selectedIndex");
493
- if (!this.mSelectedItems.length) {
494
- if (this.mSelectAll === true) {
495
- this.mSelectAll = false;
496
- AtomBinder_1.AtomBinder.refreshValue(this, "selectAll");
497
- }
498
- }
439
+ this.version = this.version + 1;
440
+ if (this.mSelectedItems && this.mSelectedItems.length) {
441
+ this.mValue = undefined;
442
+ }
443
+ AtomBinder.refreshValue(this, "value");
444
+ AtomBinder.refreshValue(this, "selectedItem");
445
+ AtomBinder.refreshValue(this, "selectedItems");
446
+ AtomBinder.refreshValue(this, "selectedIndex");
447
+ if (!this.mSelectedItems.length) {
448
+ if (this.mSelectAll === true) {
449
+ this.mSelectAll = false;
450
+ AtomBinder.refreshValue(this, "selectAll");
451
+ }
452
+ }
499
453
  }
500
454
  onSelectedItemsChanged(type, index, item) {
501
- if (!this.mOnUIChanged) {
502
- // this.updateChildSelections(type, index, item);
503
- if (this.autoScrollToSelection) {
504
- this.bringSelectionIntoView();
505
- }
455
+ if (!this.mOnUIChanged) {
456
+ if (this.autoScrollToSelection) {
457
+ this.bringSelectionIntoView();
506
458
  }
507
- this.updateSelectionBindings();
508
- // AtomControl.updateUI();
509
- // this.invokePost();
459
+ }
460
+ this.updateSelectionBindings();
510
461
  }
511
462
  hasItems() {
512
- return this.mItems !== undefined && this.mItems !== null;
463
+ return this.mItems !== undefined && this.mItems !== null;
513
464
  }
514
465
  invalidateItems() {
515
- if (this.pendingInits || this.isUpdating) {
516
- setTimeout(() => {
517
- this.invalidateItems();
518
- }, 5);
519
- return;
520
- }
521
- if (this.itemsInvalidated) {
522
- clearTimeout(this.itemsInvalidated);
523
- this.itemsInvalidated = 0;
524
- }
525
- this.itemsInvalidated = setTimeout(() => {
526
- this.itemsInvalidated = 0;
527
- this.onCollectionChangedInternal("refresh", -1, null);
466
+ if (this.pendingInits || this.isUpdating) {
467
+ setTimeout(() => {
468
+ this.invalidateItems();
528
469
  }, 5);
529
- // this.registerDisposable({
530
- // dispose: () => {
531
- // if (this.itemsInvalidated) {
532
- // clearTimeout(this.itemsInvalidated);
533
- // }
534
- // }
535
- // });
470
+ return;
471
+ }
472
+ if (this.itemsInvalidated) {
473
+ clearTimeout(this.itemsInvalidated);
474
+ this.itemsInvalidated = 0;
475
+ }
476
+ this.itemsInvalidated = setTimeout(() => {
477
+ this.itemsInvalidated = 0;
478
+ this.onCollectionChangedInternal("refresh", -1, null);
479
+ }, 5);
536
480
  }
537
481
  onCollectionChanged(key, index, item) {
538
- if (!this.mItems) {
539
- return;
540
- }
541
- if (!this.itemTemplate) {
542
- return;
543
- }
544
- if (!this.itemsPresenter) {
545
- this.itemsPresenter = this.element;
546
- }
547
- this.version = this.version + 1;
548
- if (/reset|refresh/i.test(key)) {
549
- this.resetVirtualContainer();
550
- }
551
- if (/remove/gi.test(key)) {
552
- // tslint:disable-next-line:no-shadowed-variable
553
- const ip = this.itemsPresenter || this.element;
554
- // const en = new ChildEnumerator(ip);
555
- for (let ce of AtomUI_1.ChildEnumerator.enumerate(ip)) {
556
- // const ce = en.current;
557
- // tslint:disable-next-line:no-shadowed-variable
558
- const c = ce;
559
- if (c.atomControl && c.atomControl.data === item) {
560
- c.atomControl.dispose();
561
- ce.remove();
562
- break;
563
- }
564
- }
565
- // AtomControl.updateUI();
566
- return;
567
- }
568
- if (this.uiVirtualize) {
569
- this.onVirtualCollectionChanged();
570
- return;
571
- }
572
- // AtomUIComponent
573
- const parentScope = undefined;
574
- // const parentScope = this.get_scope();
575
- // const et = this.getTemplate("itemTemplate");
576
- // if (et) {
577
- // et = AtomUI.getAtomType(et);
578
- // if (et) {
579
- // this._childItemType = et;
580
- // }
581
- // }
582
- let items = this.mFilter ? this.mItems.filter(this.mFilter) : this.mItems;
583
- let s = this.sort;
584
- if (s) {
585
- if (typeof s === "string") {
586
- const sp = s;
587
- s = (l, r) => {
588
- const lv = (l[sp] || "").toString();
589
- const rv = (r[sp] || "").toString();
590
- return lv.toLowerCase().localeCompare(rv.toLowerCase());
591
- };
592
- }
593
- items = items.sort(s);
594
- }
595
- if (/add/gi.test(key)) {
596
- // WebAtoms.dispatcher.pause();
597
- // for (const aeItem of this.mItems) {
598
- // for (const ceItem of AtomUI.childEnumerator(this.itemsPresenter)) {
599
- // const d: any = ceItem;
600
- // if (aeItem.currentIndex() === index) {
601
- // const ctl: any = this.createChildElement(parentScope, this.itemsPresenter, item, aeItem, d);
602
- // this.applyItemStyle(ctl, item, aeItem.isFirst(), aeItem.isLast());
603
- // break;
604
- // }
605
- // if (aeItem.isLast()) {
606
- // tslint:disable-next-line:max-line-length
607
- // const ctl: any = this.createChildElement(parentScope, this.itemsPresenter, item, aeItem, null);
608
- // this.applyItemStyle(ctl, item, aeItem.isFirst(), aeItem.isLast());
609
- // break;
610
- // }
611
- // }
612
- // }
613
- // WebAtoms.dispatcher.start();
614
- // AtomControl.updateUI();
615
- const lastItem = items[index];
616
- let last = this.itemsPresenter.children.item(index);
617
- const df2 = document.createDocumentFragment();
618
- this.createChild(df2, lastItem);
619
- if (last) {
620
- this.itemsPresenter.insertBefore(df2, last);
621
- }
622
- else {
623
- this.itemsPresenter.appendChild(df2);
624
- }
625
- return;
626
- }
627
- const element = this.itemsPresenter;
628
- // const dataItems = this.get_dataItems();
629
- // AtomControl.disposeChildren(element);
630
- this.disposeChildren(this.itemsPresenter);
631
- // WebAtoms.dispatcher.pause();
632
- // const items = this.get_dataItems(true);
633
- const added = [];
634
- // this.getTemplate("itemTemplate");
635
- // tslint:disable-next-line:no-console
636
- // console.log("Started");
637
- // const df = document.createDocumentFragment();
482
+ if (!this.mItems) {
483
+ return;
484
+ }
485
+ if (!this.itemTemplate) {
486
+ return;
487
+ }
488
+ if (!this.itemsPresenter) {
489
+ this.itemsPresenter = this.element;
490
+ }
491
+ this.version = this.version + 1;
492
+ if (/reset|refresh/i.test(key)) {
493
+ this.resetVirtualContainer();
494
+ }
495
+ if (/remove/gi.test(key)) {
638
496
  const ip = this.itemsPresenter || this.element;
639
- for (const mItem of items) {
640
- const data = mItem;
641
- // const elementChild = this.createChildElement(parentScope, element, data, mItem, null);
642
- // added.push(elementChild);
643
- // this.applyItemStyle(elementChild, data, mItem.isFirst(), mItem.isLast());
644
- const ac = this.createChild(null, data);
645
- ip.appendChild(ac.element);
646
- }
647
- // (this.element as HTMLElement).appendChild(df);
648
- // tslint:disable-next-line:no-console
649
- // console.log("Ended");
650
- // const self = this;
651
- // WebAtoms.dispatcher.callLater(() => {
652
- // const dirty = [];
653
- // for (const elementItem of AtomUI.childEnumerator(element)) {
654
- // const ct = elementItem;
655
- // const func = added.filter((fx) => ct === fx);
656
- // if (func.pop() !== ct) {
657
- // dirty.push(ct);
658
- // }
659
- // }
660
- // for (const dirtyItem of dirty) {
661
- // const drt = dirtyItem;
662
- // if (drt.atomControl) {
663
- // drt.atomControl.dispose();
664
- // }
665
- // AtomUI.remove(item);
666
- // }
667
- // });
668
- // WebAtoms.dispatcher.start();
669
- // AtomBinder.refreshValue(this, "childAtomControls");
497
+ for (let ce of ChildEnumerator.enumerate(ip)) {
498
+ const c = ce;
499
+ if (c.atomControl && c.atomControl.data === item) {
500
+ c.atomControl.dispose();
501
+ ce.remove();
502
+ break;
503
+ }
504
+ }
505
+ return;
506
+ }
507
+ if (this.uiVirtualize) {
508
+ this.onVirtualCollectionChanged();
509
+ return;
510
+ }
511
+ const parentScope = undefined;
512
+ let items = this.mFilter ? this.mItems.filter(this.mFilter) : this.mItems;
513
+ let s = this.sort;
514
+ if (s) {
515
+ if (typeof s === "string") {
516
+ const sp = s;
517
+ s = (l, r) => {
518
+ const lv = (l[sp] || "").toString();
519
+ const rv = (r[sp] || "").toString();
520
+ return lv.toLowerCase().localeCompare(rv.toLowerCase());
521
+ };
522
+ }
523
+ items = items.sort(s);
524
+ }
525
+ if (/add/gi.test(key)) {
526
+ const lastItem = items[index];
527
+ let last = this.itemsPresenter.children.item(index);
528
+ const df2 = document.createDocumentFragment();
529
+ this.createChild(df2, lastItem);
530
+ if (last) {
531
+ this.itemsPresenter.insertBefore(df2, last);
532
+ } else {
533
+ this.itemsPresenter.appendChild(df2);
534
+ }
535
+ return;
536
+ }
537
+ const element = this.itemsPresenter;
538
+ this.disposeChildren(this.itemsPresenter);
539
+ const added = [];
540
+ const ip = this.itemsPresenter || this.element;
541
+ for (const mItem of items) {
542
+ const data = mItem;
543
+ const ac = this.createChild(null, data);
544
+ ip.appendChild(ac.element);
545
+ }
670
546
  }
671
547
  preCreate() {
672
- this.mAllowSelectFirst = false;
673
- this.allowMultipleSelection = false;
674
- this.valuePath = "value";
675
- this.labelPath = "label";
676
- this.version = 1;
677
- this.autoScrollToSelection = false;
678
- this.sort = null;
679
- this.valueSeparator = ", ";
680
- this.uiVirtualize = false;
681
- this.mSelectAll = false;
682
- this.mItems = null;
683
- this.selectedItems = [];
684
- this.itemTemplate = AtomItemsControlItemTemplate;
685
- super.preCreate();
548
+ this.mAllowSelectFirst = false;
549
+ this.allowMultipleSelection = false;
550
+ this.valuePath = "value";
551
+ this.labelPath = "label";
552
+ this.version = 1;
553
+ this.autoScrollToSelection = false;
554
+ this.sort = null;
555
+ this.valueSeparator = ", ";
556
+ this.uiVirtualize = false;
557
+ this.mSelectAll = false;
558
+ this.mItems = null;
559
+ this.selectedItems = [];
560
+ this.itemTemplate = AtomItemsControlItemTemplate;
561
+ super.preCreate();
686
562
  }
687
563
  onCollectionChangedInternal(key, index, item) {
688
- // Atom.refresh(this, "allValues");
689
- // AtomBinder.refreshValue(this, "allValues");
690
- const value = this.value;
691
- try {
692
- this.isUpdating = true;
693
- this.onCollectionChanged(key, index, item);
694
- if (value) {
695
- if (!(value || this.mAllowSelectFirst)) {
696
- AtomBinder_1.AtomBinder.clear(this.mSelectedItems);
697
- }
698
- }
699
- if (value != null) {
700
- this.value = value;
701
- if (this.selectedIndex !== -1) {
702
- return;
703
- }
704
- else {
705
- this.mValue = undefined;
706
- }
707
- }
708
- }
709
- finally {
710
- this.app.callLater(() => {
711
- this.isUpdating = false;
712
- });
564
+ const value = this.value;
565
+ try {
566
+ this.isUpdating = true;
567
+ this.onCollectionChanged(key, index, item);
568
+ if (value) {
569
+ if (!(value || this.mAllowSelectFirst)) {
570
+ AtomBinder.clear(this.mSelectedItems);
571
+ }
572
+ }
573
+ if (value != null) {
574
+ this.value = value;
575
+ if (this.selectedIndex !== -1) {
576
+ return;
577
+ } else {
578
+ this.mValue = undefined;
579
+ }
713
580
  }
714
- // this.selectDefault();
581
+ } finally {
582
+ this.app.callLater(() => {
583
+ this.isUpdating = false;
584
+ });
585
+ }
715
586
  }
716
587
  set allowSelectFirst(b) {
717
- b = b ? b !== "false" : b;
718
- this.mAllowSelectFirst = b;
588
+ b = b ? b !== "false" : b;
589
+ this.mAllowSelectFirst = b;
719
590
  }
720
591
  set filter(f) {
721
- if (f === this.mFilter) {
722
- return;
723
- }
724
- this.mFilter = f;
725
- // this.mFilteredItems = null;
726
- AtomBinder_1.AtomBinder.refreshValue(this, "filter");
592
+ if (f === this.mFilter) {
593
+ return;
594
+ }
595
+ this.mFilter = f;
596
+ AtomBinder.refreshValue(this, "filter");
727
597
  }
728
598
  onScroll() {
729
- if (this.scrollTimeout) {
730
- clearTimeout(this.scrollTimeout);
731
- }
732
- this.scrollTimeout = setTimeout(() => {
733
- this.scrollTimeout = 0;
734
- this.onVirtualCollectionChanged();
735
- }, 10);
599
+ if (this.scrollTimeout) {
600
+ clearTimeout(this.scrollTimeout);
601
+ }
602
+ this.scrollTimeout = setTimeout(() => {
603
+ this.scrollTimeout = 0;
604
+ this.onVirtualCollectionChanged();
605
+ }, 10);
736
606
  }
737
607
  toggleSelection(data) {
738
- this.mOnUIChanged = true;
739
- this.mValue = undefined;
740
- if (this.allowMultipleSelection) {
741
- if (this.mSelectedItems.indexOf(data) !== -1) {
742
- AtomBinder_1.AtomBinder.removeItem(this.mSelectedItems, data);
743
- }
744
- else {
745
- AtomBinder_1.AtomBinder.addItem(this.mSelectedItems, data);
746
- }
747
- }
748
- else {
749
- this.mSelectedItems.length = 1;
750
- this.mSelectedItems[0] = data;
751
- AtomBinder_1.AtomBinder.refreshItems(this.mSelectedItems);
752
- }
753
- this.mOnUIChanged = false;
608
+ this.mOnUIChanged = true;
609
+ this.mValue = undefined;
610
+ if (this.allowMultipleSelection) {
611
+ if (this.mSelectedItems.indexOf(data) !== -1) {
612
+ AtomBinder.removeItem(this.mSelectedItems, data);
613
+ } else {
614
+ AtomBinder.addItem(this.mSelectedItems, data);
615
+ }
616
+ } else {
617
+ this.mSelectedItems.length = 1;
618
+ this.mSelectedItems[0] = data;
619
+ AtomBinder.refreshItems(this.mSelectedItems);
620
+ }
621
+ this.mOnUIChanged = false;
754
622
  }
755
623
  validateScroller() {
756
- if (this.mScrollerSetup) {
757
- return;
758
- }
759
- const ip = this.itemsPresenter;
760
- const e = this.element;
761
- let vc = this.mVirtualContainer;
762
- if (!vc) {
763
- if (ip === e && !/table/i.test(e.nodeName)) {
764
- throw new Error("virtualContainer presenter not found,"
765
- + "you must put itemsPresenter inside a virtualContainer in order for Virtualization to work");
766
- }
767
- else {
768
- vc = this.mVirtualContainer = this.element;
769
- }
770
- }
771
- vc.style.overflow = "auto";
772
- this.bindEvent(vc, "scroll", () => {
773
- this.onScroll();
774
- });
775
- ip.style.overflow = "hidden";
776
- // this.validateScroller = null;
777
- const isTable = /tbody/i.test(ip.nodeName);
778
- let fc;
779
- let lc;
780
- if (isTable) {
781
- fc = document.createElement("TR");
782
- lc = document.createElement("TR");
783
- }
784
- else {
785
- fc = document.createElement("DIV");
786
- lc = document.createElement("DIV");
787
- }
788
- fc.classList.add("sticky");
789
- fc.classList.add("first-child");
790
- lc.classList.add("sticky");
791
- lc.classList.add("last-child");
792
- fc.style.position = "relative";
793
- fc.style.height = "0";
794
- fc.style.width = "100%";
795
- fc.style.clear = "both";
796
- lc.style.position = "relative";
797
- lc.style.height = "0";
798
- lc.style.width = "100%";
799
- lc.style.clear = "both";
800
- this.mFirstChild = fc;
801
- this.mLastChild = lc;
802
- ip.appendChild(fc);
803
- ip.appendChild(lc);
804
- // let us train ourselves to find average height/width
805
- this.mTraining = true;
806
- this.mScrollerSetup = true;
624
+ if (this.mScrollerSetup) {
625
+ return;
626
+ }
627
+ const ip = this.itemsPresenter;
628
+ const e = this.element;
629
+ let vc = this.mVirtualContainer;
630
+ if (!vc) {
631
+ if (ip === e && !/table/i.test(e.nodeName)) {
632
+ throw new Error("virtualContainer presenter not found," + "you must put itemsPresenter inside a virtualContainer in order for Virtualization to work");
633
+ } else {
634
+ vc = this.mVirtualContainer = this.element;
635
+ }
636
+ }
637
+ vc.style.overflow = "auto";
638
+ this.bindEvent(vc, "scroll", () => {
639
+ this.onScroll();
640
+ });
641
+ ip.style.overflow = "hidden";
642
+ const isTable = /tbody/i.test(ip.nodeName);
643
+ let fc;
644
+ let lc;
645
+ if (isTable) {
646
+ fc = document.createElement("TR");
647
+ lc = document.createElement("TR");
648
+ } else {
649
+ fc = document.createElement("DIV");
650
+ lc = document.createElement("DIV");
651
+ }
652
+ fc.classList.add("sticky");
653
+ fc.classList.add("first-child");
654
+ lc.classList.add("sticky");
655
+ lc.classList.add("last-child");
656
+ fc.style.position = "relative";
657
+ fc.style.height = "0";
658
+ fc.style.width = "100%";
659
+ fc.style.clear = "both";
660
+ lc.style.position = "relative";
661
+ lc.style.height = "0";
662
+ lc.style.width = "100%";
663
+ lc.style.clear = "both";
664
+ this.mFirstChild = fc;
665
+ this.mLastChild = lc;
666
+ ip.appendChild(fc);
667
+ ip.appendChild(lc);
668
+ this.mTraining = true;
669
+ this.mScrollerSetup = true;
807
670
  }
808
671
  createChild(df, data) {
809
- const t = this.itemTemplate;
810
- const ac = this.app.resolve(t, true);
811
- const e = ac.element;
812
- e._logicalParent = this.element;
813
- e._templateParent = this;
814
- if (df) {
815
- df.appendChild(ac.element);
816
- }
817
- ac.data = data;
818
- this.element.dispatchEvent(new CustomEvent("item-created", {
819
- bubbles: false,
820
- cancelable: false,
821
- detail: data
822
- }));
823
- return ac;
672
+ const t = this.itemTemplate;
673
+ const ac = this.app.resolve(t, true);
674
+ const e = ac.element;
675
+ e._logicalParent = this.element;
676
+ e._templateParent = this;
677
+ if (df) {
678
+ df.appendChild(ac.element);
679
+ }
680
+ ac.data = data;
681
+ this.element.dispatchEvent(new CustomEvent("item-created", {
682
+ bubbles: false,
683
+ cancelable: false,
684
+ detail: data
685
+ }));
686
+ return ac;
824
687
  }
825
688
  disposeChildren(e) {
826
- // const en = new ChildEnumerator(e);
827
- for (let iterator of AtomUI_1.ChildEnumerator.enumerate(e)) {
828
- // const iterator = en.current;
829
- const ac = iterator.atomControl;
830
- if (ac) {
831
- ac.dispose();
832
- }
689
+ for (let iterator of ChildEnumerator.enumerate(e)) {
690
+ const ac = iterator.atomControl;
691
+ if (ac) {
692
+ ac.dispose();
833
693
  }
834
- e.innerHTML = "";
694
+ }
695
+ e.innerHTML = "";
835
696
  }
836
- }
837
- exports.AtomItemsControl = AtomItemsControl;
838
- /** Item Template for displaying individual items */
839
- AtomItemsControl.itemTemplate = XNode_1.default.prepare("itemTemplate", true, true);
840
- class AtomItemsControlItemTemplate extends AtomControl_1.AtomControl {
697
+ });
698
+ AtomItemsControl.itemTemplate = XNode.prepare("itemTemplate", true, true);
699
+ AtomItemsControlItemTemplate = class AtomItemsControlItemTemplate extends AtomControl {
841
700
  create() {
842
- this.runAfterInit(() => {
843
- const tp = this.element._templateParent;
844
- this.element.textContent = this.data[tp.valuePath];
845
- });
701
+ this.runAfterInit(() => {
702
+ const tp = this.element._templateParent;
703
+ this.element.textContent = this.data[tp.valuePath];
704
+ });
846
705
  }
706
+ };
847
707
  }
848
- });
849
- //# sourceMappingURL=AtomItemsControl.js.map
708
+ };
709
+ });
710
+ //# sourceMappingURL=/home/runner/work/core/core/dist/web/controls/AtomItemsControl.js.map