@web-atoms/core 2.1.353 → 2.1.369

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 (303) hide show
  1. package/dist/App.sys.js +220 -0
  2. package/dist/App.sys.js.map +1 -0
  3. package/dist/Atom.js.map +1 -1
  4. package/dist/Atom.sys.js +177 -0
  5. package/dist/Atom.sys.js.map +1 -0
  6. package/dist/MockApp.sys.js +45 -0
  7. package/dist/MockApp.sys.js.map +1 -0
  8. package/dist/Pack.sys.js +13 -0
  9. package/dist/Pack.sys.js.map +1 -0
  10. package/dist/core/AtomBinder.sys.js +274 -0
  11. package/dist/core/AtomBinder.sys.js.map +1 -0
  12. package/dist/core/AtomBridge.sys.js +390 -0
  13. package/dist/core/AtomBridge.sys.js.map +1 -0
  14. package/dist/core/AtomComponent.sys.js +703 -0
  15. package/dist/core/AtomComponent.sys.js.map +1 -0
  16. package/dist/core/AtomDispatcher.sys.js +77 -0
  17. package/dist/core/AtomDispatcher.sys.js.map +1 -0
  18. package/dist/core/AtomDisposableList.sys.js +46 -0
  19. package/dist/core/AtomDisposableList.sys.js.map +1 -0
  20. package/dist/core/AtomEnumerator.sys.js +34 -0
  21. package/dist/core/AtomEnumerator.sys.js.map +1 -0
  22. package/dist/core/AtomList.sys.js +238 -0
  23. package/dist/core/AtomList.sys.js.map +1 -0
  24. package/dist/core/AtomLoader.sys.js +178 -0
  25. package/dist/core/AtomLoader.sys.js.map +1 -0
  26. package/dist/core/AtomMap.sys.js +83 -0
  27. package/dist/core/AtomMap.sys.js.map +1 -0
  28. package/dist/core/AtomOnce.sys.js +42 -0
  29. package/dist/core/AtomOnce.sys.js.map +1 -0
  30. package/dist/core/AtomSelectableList.sys.js +336 -0
  31. package/dist/core/AtomSelectableList.sys.js.map +1 -0
  32. package/dist/core/AtomUri.sys.js +110 -0
  33. package/dist/core/AtomUri.sys.js.map +1 -0
  34. package/dist/core/AtomWatcher.sys.js +167 -0
  35. package/dist/core/AtomWatcher.sys.js.map +1 -0
  36. package/dist/core/Bind.sys.js +394 -0
  37. package/dist/core/Bind.sys.js.map +1 -0
  38. package/dist/core/BindableProperty.sys.js +51 -0
  39. package/dist/core/BindableProperty.sys.js.map +1 -0
  40. package/dist/core/CancelTokenFactory.sys.js +57 -0
  41. package/dist/core/CancelTokenFactory.sys.js.map +1 -0
  42. package/dist/core/Color.sys.js +9 -0
  43. package/dist/core/Color.sys.js.map +1 -0
  44. package/dist/core/Colors.sys.js +305 -0
  45. package/dist/core/Colors.sys.js.map +1 -0
  46. package/dist/core/Defer.sys.js +45 -0
  47. package/dist/core/Defer.sys.js.map +1 -0
  48. package/dist/core/ExpressionParser.sys.js +201 -0
  49. package/dist/core/ExpressionParser.sys.js.map +1 -0
  50. package/dist/core/FormattedError.sys.js +23 -0
  51. package/dist/core/FormattedError.sys.js.map +1 -0
  52. package/dist/core/FormattedString.sys.js +20 -0
  53. package/dist/core/FormattedString.sys.js.map +1 -0
  54. package/dist/core/IFetchEvent.sys.js +9 -0
  55. package/dist/core/IFetchEvent.sys.js.map +1 -0
  56. package/dist/core/IScreen.sys.js +9 -0
  57. package/dist/core/IScreen.sys.js.map +1 -0
  58. package/dist/core/IValueConverter.sys.js +9 -0
  59. package/dist/core/IValueConverter.sys.js.map +1 -0
  60. package/dist/core/InheritedProperty.sys.js +61 -0
  61. package/dist/core/InheritedProperty.sys.js.map +1 -0
  62. package/dist/core/InjectProperty.sys.js +25 -0
  63. package/dist/core/InjectProperty.sys.js.map +1 -0
  64. package/dist/core/KeyValuePairs.sys.js +9 -0
  65. package/dist/core/KeyValuePairs.sys.js.map +1 -0
  66. package/dist/core/Markdown.sys.js +37 -0
  67. package/dist/core/Markdown.sys.js.map +1 -0
  68. package/dist/core/MarkdownError.sys.js +26 -0
  69. package/dist/core/MarkdownError.sys.js.map +1 -0
  70. package/dist/core/PropertyBinding.sys.js +11 -0
  71. package/dist/core/PropertyBinding.sys.js.map +1 -0
  72. package/dist/core/PropertyMap.sys.js +53 -0
  73. package/dist/core/PropertyMap.sys.js.map +1 -0
  74. package/dist/core/SingleInvoker.sys.js +71 -0
  75. package/dist/core/SingleInvoker.sys.js.map +1 -0
  76. package/dist/core/StringHelper.sys.js +76 -0
  77. package/dist/core/StringHelper.sys.js.map +1 -0
  78. package/dist/core/TransientDisposable.sys.js +34 -0
  79. package/dist/core/TransientDisposable.sys.js.map +1 -0
  80. package/dist/core/WatchProperty.sys.js +37 -0
  81. package/dist/core/WatchProperty.sys.js.map +1 -0
  82. package/dist/core/WebImage.sys.js +24 -0
  83. package/dist/core/WebImage.sys.js.map +1 -0
  84. package/dist/core/XNode.sys.js +205 -0
  85. package/dist/core/XNode.sys.js.map +1 -0
  86. package/dist/core/sleep.sys.js +30 -0
  87. package/dist/core/sleep.sys.js.map +1 -0
  88. package/dist/core/types.sys.js +130 -0
  89. package/dist/core/types.sys.js.map +1 -0
  90. package/dist/di/DISingleton.sys.js +26 -0
  91. package/dist/di/DISingleton.sys.js.map +1 -0
  92. package/dist/di/DITransient.sys.js +26 -0
  93. package/dist/di/DITransient.sys.js.map +1 -0
  94. package/dist/di/IMockOrInject.sys.js +9 -0
  95. package/dist/di/IMockOrInject.sys.js.map +1 -0
  96. package/dist/di/IServiceProvider.sys.js +9 -0
  97. package/dist/di/IServiceProvider.sys.js.map +1 -0
  98. package/dist/di/Inject.sys.js +111 -0
  99. package/dist/di/Inject.sys.js.map +1 -0
  100. package/dist/di/Register.sys.js +64 -0
  101. package/dist/di/Register.sys.js.map +1 -0
  102. package/dist/di/RegisterScoped.sys.js +23 -0
  103. package/dist/di/RegisterScoped.sys.js.map +1 -0
  104. package/dist/di/RegisterSingleton.sys.js +23 -0
  105. package/dist/di/RegisterSingleton.sys.js.map +1 -0
  106. package/dist/di/ServiceCollection.sys.js +76 -0
  107. package/dist/di/ServiceCollection.sys.js.map +1 -0
  108. package/dist/di/ServiceProvider.sys.js +173 -0
  109. package/dist/di/ServiceProvider.sys.js.map +1 -0
  110. package/dist/di/TypeKey.sys.js +27 -0
  111. package/dist/di/TypeKey.sys.js.map +1 -0
  112. package/dist/services/BusyIndicatorService.sys.js +33 -0
  113. package/dist/services/BusyIndicatorService.sys.js.map +1 -0
  114. package/dist/services/CacheService.sys.js +145 -0
  115. package/dist/services/CacheService.sys.js.map +1 -0
  116. package/dist/services/JsonService.sys.js +181 -0
  117. package/dist/services/JsonService.sys.js.map +1 -0
  118. package/dist/services/MockNavigationService.sys.js +236 -0
  119. package/dist/services/MockNavigationService.sys.js.map +1 -0
  120. package/dist/services/NavigationService.sys.js +175 -0
  121. package/dist/services/NavigationService.sys.js.map +1 -0
  122. package/dist/services/ReferenceService.sys.js +68 -0
  123. package/dist/services/ReferenceService.sys.js.map +1 -0
  124. package/dist/services/http/AjaxOptions.sys.js +15 -0
  125. package/dist/services/http/AjaxOptions.sys.js.map +1 -0
  126. package/dist/services/http/JsonError.sys.js +27 -0
  127. package/dist/services/http/JsonError.sys.js.map +1 -0
  128. package/dist/services/http/RestService.sys.js +524 -0
  129. package/dist/services/http/RestService.sys.js.map +1 -0
  130. package/dist/style/StyleRule.sys.js +3550 -0
  131. package/dist/style/StyleRule.sys.js.map +1 -0
  132. package/dist/test.sys.js +9 -0
  133. package/dist/test.sys.js.map +1 -0
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/dist/unit/AtomTest.sys.js +67 -0
  136. package/dist/unit/AtomTest.sys.js.map +1 -0
  137. package/dist/unit/AtomWebTest.sys.js +83 -0
  138. package/dist/unit/AtomWebTest.sys.js.map +1 -0
  139. package/dist/view-model/Action.sys.js +147 -0
  140. package/dist/view-model/Action.sys.js.map +1 -0
  141. package/dist/view-model/AtomViewModel.sys.js +435 -0
  142. package/dist/view-model/AtomViewModel.sys.js.map +1 -0
  143. package/dist/view-model/AtomWindowViewModel.sys.js +71 -0
  144. package/dist/view-model/AtomWindowViewModel.sys.js.map +1 -0
  145. package/dist/view-model/BindableUrlParameter.sys.js +28 -0
  146. package/dist/view-model/BindableUrlParameter.sys.js.map +1 -0
  147. package/dist/view-model/Delay.sys.js +41 -0
  148. package/dist/view-model/Delay.sys.js.map +1 -0
  149. package/dist/view-model/Disposable.sys.js +52 -0
  150. package/dist/view-model/Disposable.sys.js.map +1 -0
  151. package/dist/view-model/Load.sys.js +142 -0
  152. package/dist/view-model/Load.sys.js.map +1 -0
  153. package/dist/view-model/Once.sys.js +59 -0
  154. package/dist/view-model/Once.sys.js.map +1 -0
  155. package/dist/view-model/baseTypes.sys.js +17 -0
  156. package/dist/view-model/baseTypes.sys.js.map +1 -0
  157. package/dist/view-model/bindPromise.sys.js +45 -0
  158. package/dist/view-model/bindPromise.sys.js.map +1 -0
  159. package/dist/view-model/bindProperty.sys.js +20 -0
  160. package/dist/view-model/bindProperty.sys.js.map +1 -0
  161. package/dist/view-model/bindUrlParameter.sys.js +70 -0
  162. package/dist/view-model/bindUrlParameter.sys.js.map +1 -0
  163. package/dist/web/WebApp.sys.js +269 -0
  164. package/dist/web/WebApp.sys.js.map +1 -0
  165. package/dist/web/controls/AtomAlertWindow.sys.js +80 -0
  166. package/dist/web/controls/AtomAlertWindow.sys.js.map +1 -0
  167. package/dist/web/controls/AtomComboBox.sys.js +115 -0
  168. package/dist/web/controls/AtomComboBox.sys.js.map +1 -0
  169. package/dist/web/controls/AtomContentControl.sys.js +72 -0
  170. package/dist/web/controls/AtomContentControl.sys.js.map +1 -0
  171. package/dist/web/controls/AtomControl.d.ts +3 -0
  172. package/dist/web/controls/AtomControl.d.ts.map +1 -1
  173. package/dist/web/controls/AtomControl.js +47 -1
  174. package/dist/web/controls/AtomControl.js.map +1 -1
  175. package/dist/web/controls/AtomControl.sys.js +667 -0
  176. package/dist/web/controls/AtomControl.sys.js.map +1 -0
  177. package/dist/web/controls/AtomFrame.sys.js +305 -0
  178. package/dist/web/controls/AtomFrame.sys.js.map +1 -0
  179. package/dist/web/controls/AtomGridSplitter.sys.js +83 -0
  180. package/dist/web/controls/AtomGridSplitter.sys.js.map +1 -0
  181. package/dist/web/controls/AtomGridView.sys.js +301 -0
  182. package/dist/web/controls/AtomGridView.sys.js.map +1 -0
  183. package/dist/web/controls/AtomItemsControl.sys.js +869 -0
  184. package/dist/web/controls/AtomItemsControl.sys.js.map +1 -0
  185. package/dist/web/controls/AtomListBox.sys.js +72 -0
  186. package/dist/web/controls/AtomListBox.sys.js.map +1 -0
  187. package/dist/web/controls/AtomNotification.sys.js +79 -0
  188. package/dist/web/controls/AtomNotification.sys.js.map +1 -0
  189. package/dist/web/controls/AtomPage.sys.js +24 -0
  190. package/dist/web/controls/AtomPage.sys.js.map +1 -0
  191. package/dist/web/controls/AtomPageLink.sys.js +158 -0
  192. package/dist/web/controls/AtomPageLink.sys.js.map +1 -0
  193. package/dist/web/controls/AtomTabbedPage.sys.js +354 -0
  194. package/dist/web/controls/AtomTabbedPage.sys.js.map +1 -0
  195. package/dist/web/controls/AtomTemplate.sys.js +17 -0
  196. package/dist/web/controls/AtomTemplate.sys.js.map +1 -0
  197. package/dist/web/controls/AtomTemplateControl.sys.js +59 -0
  198. package/dist/web/controls/AtomTemplateControl.sys.js.map +1 -0
  199. package/dist/web/controls/AtomToggleButtonBar.sys.js +53 -0
  200. package/dist/web/controls/AtomToggleButtonBar.sys.js.map +1 -0
  201. package/dist/web/controls/AtomViewPager.sys.js +107 -0
  202. package/dist/web/controls/AtomViewPager.sys.js.map +1 -0
  203. package/dist/web/controls/AtomViewStack.sys.js +41 -0
  204. package/dist/web/controls/AtomViewStack.sys.js.map +1 -0
  205. package/dist/web/controls/AtomWindow.sys.js +285 -0
  206. package/dist/web/controls/AtomWindow.sys.js.map +1 -0
  207. package/dist/web/core/AtomUI.sys.js +189 -0
  208. package/dist/web/core/AtomUI.sys.js.map +1 -0
  209. package/dist/web/core/Encoder.sys.js +178 -0
  210. package/dist/web/core/Encoder.sys.js.map +1 -0
  211. package/dist/web/core/HtmlNode.sys.js +206 -0
  212. package/dist/web/core/HtmlNode.sys.js.map +1 -0
  213. package/dist/web/images/Busy.sys.js +14 -0
  214. package/dist/web/images/Busy.sys.js.map +1 -0
  215. package/dist/web/images/BusyDataUrl.sys.js +16 -0
  216. package/dist/web/images/BusyDataUrl.sys.js.map +1 -0
  217. package/dist/web/images/Button.sys.js +14 -0
  218. package/dist/web/images/Button.sys.js.map +1 -0
  219. package/dist/web/images/ButtonDataUrl.sys.js +16 -0
  220. package/dist/web/images/ButtonDataUrl.sys.js.map +1 -0
  221. package/dist/web/images/CloseButton.sys.js +14 -0
  222. package/dist/web/images/CloseButton.sys.js.map +1 -0
  223. package/dist/web/images/CloseButtonDataUrl.sys.js +16 -0
  224. package/dist/web/images/CloseButtonDataUrl.sys.js.map +1 -0
  225. package/dist/web/images/CloseButtonHover.sys.js +14 -0
  226. package/dist/web/images/CloseButtonHover.sys.js.map +1 -0
  227. package/dist/web/images/CloseButtonHoverDataUrl.sys.js +16 -0
  228. package/dist/web/images/CloseButtonHoverDataUrl.sys.js.map +1 -0
  229. package/dist/web/samples/MovieService.sys.js +73 -0
  230. package/dist/web/samples/MovieService.sys.js.map +1 -0
  231. package/dist/web/samples/demo/app.sys.js +30 -0
  232. package/dist/web/samples/demo/app.sys.js.map +1 -0
  233. package/dist/web/samples/demo/views/MovieList.sys.js +77 -0
  234. package/dist/web/samples/demo/views/MovieList.sys.js.map +1 -0
  235. package/dist/web/samples/demo/views/MovieListViewModel.sys.js +128 -0
  236. package/dist/web/samples/demo/views/MovieListViewModel.sys.js.map +1 -0
  237. package/dist/web/samples/tabs/app.sys.js +68 -0
  238. package/dist/web/samples/tabs/app.sys.js.map +1 -0
  239. package/dist/web/samples/tabs/views/List.sys.js +14 -0
  240. package/dist/web/samples/tabs/views/List.sys.js.map +1 -0
  241. package/dist/web/samples/tabs/views/ListDataUrl.sys.js +16 -0
  242. package/dist/web/samples/tabs/views/ListDataUrl.sys.js.map +1 -0
  243. package/dist/web/samples/tabs/views/Page1.sys.js +117 -0
  244. package/dist/web/samples/tabs/views/Page1.sys.js.map +1 -0
  245. package/dist/web/samples/tabs/views/TabHost.sys.js +103 -0
  246. package/dist/web/samples/tabs/views/TabHost.sys.js.map +1 -0
  247. package/dist/web/samples/window/WindowSample.sys.js +33 -0
  248. package/dist/web/samples/window/WindowSample.sys.js.map +1 -0
  249. package/dist/web/services/MarkdownService.sys.js +45 -0
  250. package/dist/web/services/MarkdownService.sys.js.map +1 -0
  251. package/dist/web/services/NotificationPopup.sys.js +44 -0
  252. package/dist/web/services/NotificationPopup.sys.js.map +1 -0
  253. package/dist/web/services/PopupService.sys.js +876 -0
  254. package/dist/web/services/PopupService.sys.js.map +1 -0
  255. package/dist/web/services/WebBusyIndicatorService.sys.js +95 -0
  256. package/dist/web/services/WebBusyIndicatorService.sys.js.map +1 -0
  257. package/dist/web/services/WindowService.sys.js +445 -0
  258. package/dist/web/services/WindowService.sys.js.map +1 -0
  259. package/dist/web/styles/AtomAlertWindowStyle.sys.js +59 -0
  260. package/dist/web/styles/AtomAlertWindowStyle.sys.js.map +1 -0
  261. package/dist/web/styles/AtomFrameStyle.sys.js +33 -0
  262. package/dist/web/styles/AtomFrameStyle.sys.js.map +1 -0
  263. package/dist/web/styles/AtomListBoxStyle.sys.js +49 -0
  264. package/dist/web/styles/AtomListBoxStyle.sys.js.map +1 -0
  265. package/dist/web/styles/AtomNotificationStyle.sys.js +39 -0
  266. package/dist/web/styles/AtomNotificationStyle.sys.js.map +1 -0
  267. package/dist/web/styles/AtomPageLinkStyle.sys.js +30 -0
  268. package/dist/web/styles/AtomPageLinkStyle.sys.js.map +1 -0
  269. package/dist/web/styles/AtomPopupStyle.sys.js +27 -0
  270. package/dist/web/styles/AtomPopupStyle.sys.js.map +1 -0
  271. package/dist/web/styles/AtomStyle.js.map +1 -1
  272. package/dist/web/styles/AtomStyle.sys.js +105 -0
  273. package/dist/web/styles/AtomStyle.sys.js.map +1 -0
  274. package/dist/web/styles/AtomStyleSheet.sys.js +84 -0
  275. package/dist/web/styles/AtomStyleSheet.sys.js.map +1 -0
  276. package/dist/web/styles/AtomTabbedPageStyle.sys.js +135 -0
  277. package/dist/web/styles/AtomTabbedPageStyle.sys.js.map +1 -0
  278. package/dist/web/styles/AtomTheme.sys.js +70 -0
  279. package/dist/web/styles/AtomTheme.sys.js.map +1 -0
  280. package/dist/web/styles/AtomToggleButtonBarStyle.sys.js +83 -0
  281. package/dist/web/styles/AtomToggleButtonBarStyle.sys.js.map +1 -0
  282. package/dist/web/styles/AtomWindowStyle.sys.js +144 -0
  283. package/dist/web/styles/AtomWindowStyle.sys.js.map +1 -0
  284. package/dist/web/styles/CSS.sys.js +96 -0
  285. package/dist/web/styles/CSS.sys.js.map +1 -0
  286. package/dist/web/styles/CommonStyles.sys.js +79 -0
  287. package/dist/web/styles/CommonStyles.sys.js.map +1 -0
  288. package/dist/web/styles/IStyleDeclaration.sys.js +9 -0
  289. package/dist/web/styles/IStyleDeclaration.sys.js.map +1 -0
  290. package/dist/web/styles/StyleBuilder.sys.js +112 -0
  291. package/dist/web/styles/StyleBuilder.sys.js.map +1 -0
  292. package/dist/xf/XFApp.sys.js +75 -0
  293. package/dist/xf/XFApp.sys.js.map +1 -0
  294. package/dist/xf/controls/AtomXFControl.sys.js +334 -0
  295. package/dist/xf/controls/AtomXFControl.sys.js.map +1 -0
  296. package/dist/xf/services/XFBusyIndicatorService.sys.js +40 -0
  297. package/dist/xf/services/XFBusyIndicatorService.sys.js.map +1 -0
  298. package/dist/xf/services/XFNavigationService.sys.js +204 -0
  299. package/dist/xf/services/XFNavigationService.sys.js.map +1 -0
  300. package/package.json +3 -2
  301. package/src/Atom.ts +1 -1
  302. package/src/web/controls/AtomControl.ts +39 -1
  303. package/src/web/styles/AtomStyle.ts +1 -1
@@ -0,0 +1,274 @@
1
+ System.register(["./types"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var ArrayHelper, AtomBinder, symbolHandlers, symbolBindable;
5
+
6
+ _export("AtomBinder", void 0);
7
+
8
+ return {
9
+ setters: [function (_types) {
10
+ ArrayHelper = _types.ArrayHelper;
11
+ }],
12
+ execute: function () {
13
+ _export("symbolHandlers", symbolHandlers = Symbol.for("handlers"));
14
+
15
+ _export("symbolBindable", symbolBindable = Symbol.for("bindable"));
16
+
17
+ _export("AtomBinder", AtomBinder = class AtomBinder {
18
+ static refreshValue(target, key) {
19
+ const handlers = AtomBinder.get_WatchHandler(target, key);
20
+
21
+ if (handlers === undefined || handlers == null) {
22
+ return;
23
+ }
24
+
25
+ for (const item of handlers) {
26
+ item(target, key);
27
+ }
28
+
29
+ if (target.onPropertyChanged) {
30
+ target.onPropertyChanged(key);
31
+ }
32
+ }
33
+
34
+ static add_WatchHandler(target, key, handler) {
35
+ if (target == null) {
36
+ return;
37
+ }
38
+
39
+ const handlers = AtomBinder.get_WatchHandler(target, key);
40
+ handlers.push(handler);
41
+
42
+ if (Array.isArray(target)) {
43
+ return;
44
+ }
45
+
46
+ const pv = AtomBinder.getPropertyDescriptor(target, key);
47
+
48
+ if (pv && pv.get) {
49
+ return;
50
+ }
51
+
52
+ const tw = target;
53
+ let bindables = tw[symbolBindable];
54
+
55
+ if (bindables === undefined) {
56
+ bindables = {};
57
+ Object.defineProperty(tw, symbolBindable, {
58
+ value: bindables,
59
+ enumerable: false,
60
+ writable: true,
61
+ configurable: true
62
+ });
63
+ }
64
+
65
+ if (!bindables[key]) {
66
+ bindables[key] = 1;
67
+ const o = target[key];
68
+ const nk = Symbol.for(key);
69
+ target[nk] = o;
70
+
71
+ const set = function (v) {
72
+ const ov = this[nk];
73
+
74
+ if (ov === undefined ? ov === v : ov == v) {
75
+ return;
76
+ }
77
+
78
+ this[nk] = v;
79
+ AtomBinder.refreshValue(this, key);
80
+ };
81
+
82
+ const get = function () {
83
+ return this[nk];
84
+ };
85
+
86
+ if (pv) {
87
+ delete target[key];
88
+ Object.defineProperty(target, key, {
89
+ get,
90
+ set,
91
+ configurable: true,
92
+ enumerable: true
93
+ });
94
+ } else {
95
+ Object.defineProperty(target, key, {
96
+ get,
97
+ set,
98
+ enumerable: true,
99
+ configurable: true
100
+ });
101
+ }
102
+ }
103
+ }
104
+
105
+ static getPropertyDescriptor(target, key) {
106
+ const pv = Object.getOwnPropertyDescriptor(target, key);
107
+
108
+ if (!pv) {
109
+ const pt = Object.getPrototypeOf(target);
110
+
111
+ if (pt) {
112
+ return AtomBinder.getPropertyDescriptor(pt, key);
113
+ }
114
+ }
115
+
116
+ return pv;
117
+ }
118
+
119
+ static get_WatchHandler(target, key) {
120
+ if (target == null) {
121
+ return null;
122
+ }
123
+
124
+ let handlers = target[symbolHandlers];
125
+
126
+ if (handlers === undefined) {
127
+ handlers = {};
128
+ Object.defineProperty(target, symbolHandlers, {
129
+ value: handlers,
130
+ enumerable: false,
131
+ writable: true,
132
+ configurable: true
133
+ });
134
+ }
135
+
136
+ let handlersForKey = handlers[key];
137
+
138
+ if (handlersForKey === undefined || handlersForKey == null) {
139
+ handlersForKey = [];
140
+ handlers[key] = handlersForKey;
141
+ }
142
+
143
+ return handlersForKey;
144
+ }
145
+
146
+ static remove_WatchHandler(target, key, handler) {
147
+ if (target == null) {
148
+ return;
149
+ }
150
+
151
+ const handlers = target[symbolHandlers];
152
+
153
+ if (typeof handlers === "undefined") {
154
+ return;
155
+ }
156
+
157
+ const handlersForKey = target[symbolHandlers][key];
158
+
159
+ if (handlersForKey === undefined || handlersForKey == null) {
160
+ return;
161
+ }
162
+
163
+ ArrayHelper.remove(handlersForKey, f => f === handler);
164
+
165
+ if (!handlersForKey.length) {
166
+ handlers[key] = null;
167
+ delete handlers[key];
168
+ }
169
+ }
170
+
171
+ static invokeItemsEvent(target, mode, index, item, oldItem) {
172
+ const key = "_items";
173
+ const handlers = AtomBinder.get_WatchHandler(target, key);
174
+
175
+ if (!handlers) {
176
+ return;
177
+ }
178
+
179
+ for (const obj of handlers) {
180
+ obj(target, mode, index, item, oldItem);
181
+ }
182
+
183
+ AtomBinder.refreshValue(target, "length");
184
+ }
185
+
186
+ static refreshItems(ary) {
187
+ AtomBinder.invokeItemsEvent(ary, "refresh", -1, null);
188
+ }
189
+
190
+ static add_CollectionChanged(target, handler) {
191
+ if (target == null) {
192
+ throw new Error("Target Array to watch cannot be null");
193
+ }
194
+
195
+ if (handler == null) {
196
+ throw new Error("Target handle to watch an Array cannot be null");
197
+ }
198
+
199
+ const handlers = AtomBinder.get_WatchHandler(target, "_items");
200
+ handlers.push(handler);
201
+ return {
202
+ dispose: () => {
203
+ AtomBinder.remove_CollectionChanged(target, handler);
204
+ }
205
+ };
206
+ }
207
+
208
+ static remove_CollectionChanged(t, handler) {
209
+ if (t == null) {
210
+ return;
211
+ }
212
+
213
+ const target = t;
214
+ const handlers = target[symbolHandlers];
215
+
216
+ if (typeof handlers === "undefined") {
217
+ return;
218
+ }
219
+
220
+ const key = "_items";
221
+ const handlersForKey = handlers[key];
222
+
223
+ if (handlersForKey === undefined || handlersForKey == null) {
224
+ return;
225
+ }
226
+
227
+ ArrayHelper.remove(handlersForKey, f => f === handler);
228
+
229
+ if (!handlersForKey.length) {
230
+ handlers[key] = null;
231
+ delete handlers[key];
232
+ }
233
+ }
234
+
235
+ static watch(item, property, f) {
236
+ AtomBinder.add_WatchHandler(item, property, f);
237
+ return {
238
+ dispose: () => {
239
+ AtomBinder.remove_WatchHandler(item, property, f);
240
+ }
241
+ };
242
+ }
243
+
244
+ static clear(a) {
245
+ a.length = 0;
246
+ this.invokeItemsEvent(a, "refresh", -1, null);
247
+ AtomBinder.refreshValue(a, "length");
248
+ }
249
+
250
+ static addItem(a, item) {
251
+ const index = a.length;
252
+ a.push(item);
253
+ this.invokeItemsEvent(a, "add", index, item);
254
+ AtomBinder.refreshValue(a, "length");
255
+ }
256
+
257
+ static removeItem(a, item) {
258
+ const i = a.findIndex(x => x === item);
259
+
260
+ if (i === -1) {
261
+ return false;
262
+ }
263
+
264
+ a.splice(i, 1);
265
+ AtomBinder.invokeItemsEvent(a, "remove", i, item);
266
+ AtomBinder.refreshValue(a, "length");
267
+ return true;
268
+ }
269
+
270
+ });
271
+ }
272
+ };
273
+ });
274
+ //# sourceMappingURL=AtomBinder.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["AtomBinder","ArrayHelper","symbolHandlers","Symbol","for","symbolBindable","refreshValue","target","key","handlers","get_WatchHandler","undefined","item","onPropertyChanged","add_WatchHandler","handler","push","Array","isArray","pv","getPropertyDescriptor","get","tw","bindables","Object","defineProperty","value","enumerable","writable","configurable","o","nk","set","v","ov","getOwnPropertyDescriptor","pt","getPrototypeOf","handlersForKey","remove_WatchHandler","remove","f","length","invokeItemsEvent","mode","index","oldItem","obj","refreshItems","ary","add_CollectionChanged","Error","dispose","remove_CollectionChanged","t","watch","property","clear","a","addItem","removeItem","i","findIndex","x","splice"],"sourceRoot":"","sources":["../../src/core/AtomBinder.ts"],"sourcesContent":[null]}
@@ -0,0 +1,390 @@
1
+ System.register(["../web/core/AtomUI", "./AtomBinder"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var ChildEnumerator, AtomBinder, BaseElementBridge, AtomElementBridge, AtomBridge, globalNS;
5
+
6
+ _export({
7
+ BaseElementBridge: void 0,
8
+ AtomElementBridge: void 0,
9
+ AtomBridge: void 0
10
+ });
11
+
12
+ return {
13
+ setters: [function (_webCoreAtomUI) {
14
+ ChildEnumerator = _webCoreAtomUI.ChildEnumerator;
15
+ }, function (_AtomBinder) {
16
+ AtomBinder = _AtomBinder.AtomBinder;
17
+ }],
18
+ execute: function () {
19
+ _export("BaseElementBridge", BaseElementBridge = class BaseElementBridge {
20
+ refreshInherited(target, name, fieldName) {
21
+ AtomBinder.refreshValue(target, name);
22
+
23
+ if (!fieldName) {
24
+ fieldName = "m" + name[0].toUpperCase() + name.substr(1);
25
+ }
26
+
27
+ if (!target.element) {
28
+ return;
29
+ }
30
+
31
+ this.visitDescendents(target.element, (e, ac) => {
32
+ if (ac) {
33
+ if (ac[fieldName] === undefined) {
34
+ this.refreshInherited(ac, name, fieldName);
35
+ }
36
+
37
+ return false;
38
+ }
39
+
40
+ return true;
41
+ });
42
+ }
43
+
44
+ createNode(target, node, binder, xNodeClass, creator) {
45
+ throw new Error("Method not implemented.");
46
+ }
47
+
48
+ });
49
+
50
+ _export("AtomElementBridge", AtomElementBridge = class AtomElementBridge extends BaseElementBridge {
51
+ addEventHandler(element, name, handler, capture) {
52
+ element.addEventListener(name, handler, capture);
53
+ return {
54
+ dispose: () => {
55
+ element.removeEventListener(name, handler, capture);
56
+ }
57
+ };
58
+ }
59
+
60
+ atomParent(element, climbUp = true) {
61
+ const eAny = element;
62
+
63
+ if (eAny.atomControl) {
64
+ return eAny.atomControl;
65
+ }
66
+
67
+ if (!climbUp) {
68
+ return null;
69
+ }
70
+
71
+ if (!element.parentNode) {
72
+ return null;
73
+ }
74
+
75
+ return this.atomParent(this.elementParent(element));
76
+ }
77
+
78
+ elementParent(element) {
79
+ const eAny = element;
80
+ const lp = eAny._logicalParent;
81
+
82
+ if (lp) {
83
+ return lp;
84
+ }
85
+
86
+ return element.parentElement;
87
+ }
88
+
89
+ templateParent(element) {
90
+ if (!element) {
91
+ return null;
92
+ }
93
+
94
+ const eAny = element;
95
+
96
+ if (eAny._templateParent) {
97
+ return this.atomParent(element);
98
+ }
99
+
100
+ const parent = this.elementParent(element);
101
+
102
+ if (!parent) {
103
+ return null;
104
+ }
105
+
106
+ return this.templateParent(parent);
107
+ }
108
+
109
+ visitDescendents(element, action) {
110
+ for (const iterator of ChildEnumerator.enumerate(element)) {
111
+ const eAny = iterator;
112
+ const ac = eAny ? eAny.atomControl : undefined;
113
+
114
+ if (!action(iterator, ac)) {
115
+ continue;
116
+ }
117
+
118
+ this.visitDescendents(iterator, action);
119
+ }
120
+ }
121
+
122
+ dispose(element) {
123
+ const eAny = element;
124
+ eAny.atomControl = undefined;
125
+ eAny.innerHTML = "";
126
+ delete eAny.atomControl;
127
+ }
128
+
129
+ appendChild(parent, child) {
130
+ parent.appendChild(child);
131
+ }
132
+
133
+ setValue(element, name, value) {
134
+ element[name] = value;
135
+ }
136
+
137
+ getValue(element, name) {
138
+ return element[name];
139
+ }
140
+
141
+ watchProperty(element, name, events, f) {
142
+ if (events.indexOf("change") === -1) {
143
+ events.push("change");
144
+ }
145
+
146
+ const l = e => {
147
+ const e1 = element;
148
+ const v = e1.type === "checkbox" ? e1.checked : e1.value;
149
+ f(v);
150
+ };
151
+
152
+ for (const iterator of events) {
153
+ element.addEventListener(iterator, l, false);
154
+ }
155
+
156
+ return {
157
+ dispose: () => {
158
+ for (const iterator of events) {
159
+ element.removeEventListener(iterator, l, false);
160
+ }
161
+ }
162
+ };
163
+ }
164
+
165
+ attachControl(element, control) {
166
+ element.atomControl = control;
167
+ }
168
+
169
+ create(type) {
170
+ return document.createElement(type);
171
+ }
172
+
173
+ loadContent(element, text) {
174
+ throw new Error("Not supported");
175
+ }
176
+
177
+ findChild(element, name) {
178
+ throw new Error("Not supported");
179
+ }
180
+
181
+ close(element, success, error) {
182
+ throw new Error("Not supported");
183
+ }
184
+
185
+ toTemplate(element, creator) {
186
+ const templateNode = element;
187
+ const name = templateNode.name;
188
+
189
+ if (typeof name === "string") {
190
+ element = ((bx, n) => class extends bx {
191
+ create() {
192
+ this.render(n);
193
+ }
194
+
195
+ })(creator, templateNode.children[0]);
196
+ } else {
197
+ element = ((base, n) => class extends base {
198
+ create() {
199
+ this.render(n);
200
+ }
201
+
202
+ })(name, templateNode.children[0]);
203
+ }
204
+
205
+ return element;
206
+ }
207
+
208
+ createNode(target, node, binder, xNodeClass, creator) {
209
+ let parent = null;
210
+ const app = target.app;
211
+ let e = null;
212
+ const nn = node.attributes ? node.attributes.for : undefined;
213
+
214
+ if (typeof node.name === "string") {
215
+ e = document.createElement(node.name);
216
+ parent = e;
217
+
218
+ if (nn) {
219
+ delete node.attributes.for;
220
+ }
221
+ } else {
222
+ if (nn) {
223
+ target = new node.name(app, document.createElement(nn));
224
+ delete node.attributes.for;
225
+ }
226
+
227
+ target = new node.name(app);
228
+ e = target.element;
229
+ parent = target;
230
+ }
231
+
232
+ const a = node.attributes;
233
+
234
+ if (a) {
235
+ for (const key in a) {
236
+ if (a.hasOwnProperty(key)) {
237
+ let element = a[key];
238
+
239
+ if (element instanceof binder) {
240
+ if (/^event/.test(key)) {
241
+ let ev = key.substr(5);
242
+
243
+ if (ev.startsWith("-")) {
244
+ ev = ev.split("-").map(s => s[0].toLowerCase() + s.substr(1)).join("");
245
+ } else {
246
+ ev = ev[0].toLowerCase() + ev.substr(1);
247
+ }
248
+
249
+ element.setupFunction(ev, element, target, e);
250
+ } else {
251
+ element.setupFunction(key, element, target, e);
252
+ }
253
+ } else {
254
+ if (element instanceof xNodeClass) {
255
+ element = this.toTemplate(element, creator);
256
+ }
257
+
258
+ target.setLocalValue(e, key, element);
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ const children = node.children;
265
+
266
+ if (children) {
267
+ for (const iterator of children) {
268
+ if (typeof iterator === "string") {
269
+ e.appendChild(document.createTextNode(iterator));
270
+ continue;
271
+ }
272
+
273
+ const t = iterator.attributes ? iterator.attributes.template : null;
274
+
275
+ if (t) {
276
+ const tx = this.toTemplate(iterator, creator);
277
+ target[t] = tx;
278
+ continue;
279
+ }
280
+
281
+ if (typeof iterator.name === "string") {
282
+ e.appendChild(this.createNode(target, iterator, binder, xNodeClass, creator));
283
+ continue;
284
+ }
285
+
286
+ const child = this.createNode(target, iterator, binder, xNodeClass, creator);
287
+
288
+ if (parent.element && parent.element.atomControl === parent) {
289
+ parent.append(child.atomControl || child);
290
+ } else {
291
+ parent.appendChild(child);
292
+ }
293
+ }
294
+ }
295
+
296
+ return e;
297
+ }
298
+
299
+ });
300
+
301
+ _export("AtomBridge", AtomBridge = class AtomBridge {
302
+ static createNode(iterator, app) {
303
+ if (typeof iterator.name === "string" || iterator.name.factory) {
304
+ return {
305
+ element: AtomBridge.instance.create(iterator.name, iterator, app)
306
+ };
307
+ }
308
+
309
+ const fx = iterator.attributes ? iterator.attributes.for : undefined;
310
+ const c = new iterator.name(app, fx ? AtomBridge.instance.create(fx, iterator, app) : undefined);
311
+ return {
312
+ element: c.element,
313
+ control: c
314
+ };
315
+ }
316
+
317
+ static toTemplate(app, n, creator) {
318
+ if (n.isTemplate) {
319
+ const t = AtomBridge.toTemplate(app, n.children[0], creator);
320
+ return AtomBridge.instance.create(n.name.toString(), t, app);
321
+ }
322
+
323
+ const bridge = AtomBridge.instance;
324
+ let fx;
325
+ let en;
326
+
327
+ if (typeof n.name === "function") {
328
+ fx = n.name;
329
+ en = n.attributes && n.attributes.for ? n.attributes.for : undefined;
330
+ } else {
331
+ fx = bridge.controlFactory;
332
+ en = n.name;
333
+ }
334
+
335
+ return class Template extends fx {
336
+ constructor(a, e1) {
337
+ super(a || app, e1 || (en ? bridge.create(en, null, app) : undefined));
338
+ this._creator = fx;
339
+ }
340
+
341
+ create() {
342
+ super.create();
343
+ this.render(n, null, creator);
344
+ }
345
+
346
+ };
347
+ }
348
+
349
+ static refreshInherited(target, name, fieldName) {
350
+ if (AtomBridge.instance.refreshInherited) {
351
+ AtomBridge.instance.refreshInherited(target, name, fieldName);
352
+ return;
353
+ }
354
+
355
+ AtomBinder.refreshValue(target, name);
356
+
357
+ if (!fieldName) {
358
+ fieldName = "m" + name[0].toUpperCase() + name.substr(1);
359
+ }
360
+
361
+ if (!target.element) {
362
+ return;
363
+ }
364
+
365
+ AtomBridge.instance.visitDescendents(target.element, (e, ac) => {
366
+ if (ac) {
367
+ if (ac[fieldName] === undefined) {
368
+ AtomBridge.refreshInherited(ac, name, fieldName);
369
+ }
370
+
371
+ return false;
372
+ }
373
+
374
+ return true;
375
+ });
376
+ }
377
+
378
+ });
379
+
380
+ globalNS = typeof window !== "undefined" ? window : global;
381
+ globalNS.AtomBridge = AtomBridge;
382
+
383
+ if (typeof window !== "undefined") {
384
+ AtomBridge.instance = new AtomElementBridge();
385
+ AtomBridge.platform = "web";
386
+ }
387
+ }
388
+ };
389
+ });
390
+ //# sourceMappingURL=AtomBridge.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["BaseElementBridge","AtomElementBridge","AtomBridge","ChildEnumerator","AtomBinder","refreshInherited","target","name","fieldName","refreshValue","toUpperCase","substr","element","visitDescendents","e","ac","undefined","createNode","node","binder","xNodeClass","creator","Error","addEventHandler","handler","capture","addEventListener","dispose","removeEventListener","atomParent","climbUp","eAny","atomControl","parentNode","elementParent","lp","_logicalParent","parentElement","templateParent","_templateParent","parent","action","iterator","enumerate","innerHTML","appendChild","child","setValue","value","getValue","watchProperty","events","f","indexOf","push","l","e1","v","type","checked","attachControl","control","create","document","createElement","loadContent","text","findChild","close","success","error","toTemplate","templateNode","bx","n","render","children","base","app","nn","attributes","for","a","key","hasOwnProperty","test","ev","startsWith","split","map","s","toLowerCase","join","setupFunction","setLocalValue","createTextNode","t","template","tx","append","factory","instance","fx","c","isTemplate","toString","bridge","en","controlFactory","Template","constructor","globalNS","window","global","platform"],"sourceRoot":"","sources":["../../src/core/AtomBridge.ts"],"sourcesContent":[null]}