@web-atoms/core 2.1.479 → 2.2.0

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 +2 -1
@@ -1,102 +1,103 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- (function (factory) {
11
- if (typeof module === "object" && typeof module.exports === "object") {
12
- var v = factory(require, exports);
13
- if (v !== undefined) module.exports = v;
14
- }
15
- else if (typeof define === "function" && define.amd) {
16
- define(["require", "exports", "../../core/AtomBinder", "../../core/AtomBridge", "../../core/AtomComponent", "../../core/BindableProperty", "../../core/FormattedString", "../../core/WebImage", "../../core/XNode", "../../di/TypeKey", "../styles/AtomStyle", "../styles/AtomStyleSheet"], factory);
17
- }
18
- })(function (require, exports) {
19
- "use strict";
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.AtomControl = exports.ElementValueSetters = void 0;
22
- const AtomBinder_1 = require("../../core/AtomBinder");
23
- const AtomBridge_1 = require("../../core/AtomBridge");
24
- const AtomComponent_1 = require("../../core/AtomComponent");
25
- const BindableProperty_1 = require("../../core/BindableProperty");
26
- const FormattedString_1 = require("../../core/FormattedString");
27
- const WebImage_1 = require("../../core/WebImage");
28
- const XNode_1 = require("../../core/XNode");
29
- const TypeKey_1 = require("../../di/TypeKey");
30
- const AtomStyle_1 = require("../styles/AtomStyle");
31
- const AtomStyleSheet_1 = require("../styles/AtomStyleSheet");
32
- const isAtomControl = XNode_1.isControl;
33
- // export { default as WebApp } from "../WebApp";
34
- // if (!AtomBridge.platform) {
35
- // AtomBridge.platform = "web";
36
- // AtomBridge.instance = new AtomElementBridge();
37
- // } else {
38
- // console.log(`Platform is ${AtomBridge.platform}`);
39
- // }
40
- const fromHyphenToCamel = (input) => input.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
41
- if (typeof bridge !== "undefined" && bridge.platform) {
42
- throw new Error("AtomControl of Web should not be used with Xamarin Forms");
43
- }
44
- const bridgeInstance = AtomBridge_1.AtomBridge.instance;
45
- const defaultStyleSheets = {};
46
- function setAttribute(name) {
47
- return (ctrl, e, value) => {
48
- e.setAttribute(name, value);
49
- };
50
- }
51
- function setEvent(name) {
52
- return (ctrl, e, value) => {
53
- ctrl.bindEvent(e, name, value);
54
- };
55
- }
56
- function setStyle(name, applyUnit) {
57
- if (applyUnit) {
58
- return (ctrl, e, value) => {
59
- if (typeof value === "number") {
60
- e.style[name] = value + applyUnit;
61
- return;
62
- }
63
- e.style[name] = value;
64
- };
1
+ System.register(["../../core/AtomBinder", "../../core/AtomBridge", "../../core/AtomComponent", "../../core/BindableProperty", "../../core/FormattedString", "../../core/WebImage", "../../core/XNode", "../../di/TypeKey", "../styles/AtomStyle", "../styles/AtomStyleSheet"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var AtomBinder, AtomBridge, AtomComponent, BindableProperty, FormattedString, WebImage, XNode, isControl, TypeKey, AtomStyle, AtomStyleSheet, AtomControl, __decorate, __metadata, isAtomControl, fromHyphenToCamel, bridgeInstance, defaultStyleSheets, ElementValueSetters, propertyId;
5
+ function setAttribute(name) {
6
+ return (ctrl, e, value) => {
7
+ e.setAttribute(name, value);
8
+ };
9
+ }
10
+ function setEvent(name) {
11
+ return (ctrl, e, value) => {
12
+ ctrl.bindEvent(e, name, value);
13
+ };
14
+ }
15
+ function setStyle(name, applyUnit) {
16
+ if (applyUnit) {
17
+ return (ctrl, e, value) => {
18
+ if (typeof value === "number") {
19
+ e.style[name] = value + applyUnit;
20
+ return;
65
21
  }
66
- return (ctrl, e, value) => {
67
- e.style[name] = value;
68
- };
22
+ e.style[name] = value;
23
+ };
69
24
  }
70
- function disposeChildren(owner, e) {
71
- if (!e) {
72
- return;
73
- }
74
- let s = e.firstElementChild;
75
- while (s) {
76
- const c = s;
77
- s = s.nextElementSibling;
78
- const ac = c.atomControl;
79
- if (ac) {
80
- ac.dispose();
81
- c.remove();
82
- continue;
83
- }
84
- disposeChildren(owner, c);
85
- owner.unbind(c);
86
- owner.unbindEvent(c);
87
- c.remove();
88
- }
25
+ return (ctrl, e, value) => {
26
+ e.style[name] = value;
27
+ };
28
+ }
29
+ function disposeChildren(owner, e) {
30
+ if (!e) {
31
+ return;
32
+ }
33
+ let s = e.firstElementChild;
34
+ while (s) {
35
+ const c = s;
36
+ s = s.nextElementSibling;
37
+ const ac = c.atomControl;
38
+ if (ac) {
39
+ ac.dispose();
40
+ c.remove();
41
+ continue;
42
+ }
43
+ disposeChildren(owner, c);
44
+ owner.unbind(c);
45
+ owner.unbindEvent(c);
46
+ c.remove();
89
47
  }
90
- exports.ElementValueSetters = {
48
+ }
49
+ _export("AtomControl", void 0);
50
+ return {
51
+ setters: [function (_coreAtomBinder) {
52
+ AtomBinder = _coreAtomBinder.AtomBinder;
53
+ }, function (_coreAtomBridge) {
54
+ AtomBridge = _coreAtomBridge.AtomBridge;
55
+ }, function (_coreAtomComponent) {
56
+ AtomComponent = _coreAtomComponent.AtomComponent;
57
+ }, function (_coreBindableProperty) {
58
+ BindableProperty = _coreBindableProperty.BindableProperty;
59
+ }, function (_coreFormattedString) {
60
+ FormattedString = _coreFormattedString.default;
61
+ }, function (_coreWebImage) {
62
+ WebImage = _coreWebImage.default;
63
+ }, function (_coreXNode) {
64
+ XNode = _coreXNode.default;
65
+ isControl = _coreXNode.isControl;
66
+ }, function (_diTypeKey) {
67
+ TypeKey = _diTypeKey.TypeKey;
68
+ }, function (_stylesAtomStyle) {
69
+ AtomStyle = _stylesAtomStyle.AtomStyle;
70
+ }, function (_stylesAtomStyleSheet) {
71
+ AtomStyleSheet = _stylesAtomStyleSheet.AtomStyleSheet;
72
+ }],
73
+ execute: function () {
74
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
75
+ var c = arguments.length,
76
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
77
+ d;
78
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
79
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
80
+ };
81
+ __metadata = void 0 && (void 0).__metadata || function (k, v) {
82
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
83
+ };
84
+ isAtomControl = isControl;
85
+ fromHyphenToCamel = input => input.replace(/-([a-z])/g, g => g[1].toUpperCase());
86
+ if (typeof bridge !== "undefined" && bridge.platform) {
87
+ throw new Error("AtomControl of Web should not be used with Xamarin Forms");
88
+ }
89
+ bridgeInstance = AtomBridge.instance;
90
+ defaultStyleSheets = {};
91
+ _export("ElementValueSetters", ElementValueSetters = {
91
92
  text(ctrl, e, value) {
92
- e.textContent = value;
93
+ e.textContent = value;
93
94
  },
94
95
  ["class"](ctrl, e, value) {
95
- if (typeof value === "string") {
96
- e.className = value;
97
- return;
98
- }
99
- ctrl.setElementClass(e, value, true);
96
+ if (typeof value === "string") {
97
+ e.className = value;
98
+ return;
99
+ }
100
+ ctrl.setElementClass(e, value, true);
100
101
  },
101
102
  alt: setAttribute("alt"),
102
103
  title: setAttribute("title"),
@@ -130,460 +131,418 @@ var __metadata = (this && this.__metadata) || function (k, v) {
130
131
  eventMouseup: setEvent("mouseup"),
131
132
  eventMousemove: setEvent("mousemove"),
132
133
  src(ctrl, e, value) {
133
- if (value && /^http\:/i.test(value)) {
134
- e.src = value.substring(5);
135
- return;
136
- }
137
- e.src = value;
134
+ if (value && /^http\:/i.test(value)) {
135
+ e.src = value.substring(5);
136
+ return;
137
+ }
138
+ e.src = value;
138
139
  },
139
140
  styleClass(ctrl, e, value) {
140
- ctrl.setElementClass(e, value);
141
+ ctrl.setElementClass(e, value);
141
142
  },
142
143
  styleDisplay(ctrl, e, value) {
143
- if (typeof value === "boolean") {
144
- e.style.display = value ? "" : "none";
145
- return;
146
- }
147
- e.style.display = value;
144
+ if (typeof value === "boolean") {
145
+ e.style.display = value ? "" : "none";
146
+ return;
147
+ }
148
+ e.style.display = value;
148
149
  },
149
150
  formattedText(ctrl, e, value) {
150
- if (value instanceof FormattedString_1.default) {
151
- value.applyTo(ctrl.app, e);
152
- }
153
- else {
154
- e.textContent = (value || "").toString();
155
- }
151
+ if (value instanceof FormattedString) {
152
+ value.applyTo(ctrl.app, e);
153
+ } else {
154
+ e.textContent = (value || "").toString();
155
+ }
156
156
  },
157
157
  disabled(ctrl, e, value) {
158
- if (value) {
159
- e.setAttribute("disabled", "");
160
- return;
161
- }
162
- e.removeAttribute("disabled");
158
+ if (value) {
159
+ e.setAttribute("disabled", "");
160
+ return;
161
+ }
162
+ e.removeAttribute("disabled");
163
163
  },
164
164
  autofocus(ctrl, element, value) {
165
- ctrl.app.callLater(() => {
166
- const ie = element;
167
- if (ie) {
168
- ie.focus();
169
- }
170
- });
165
+ ctrl.app.callLater(() => {
166
+ const ie = element;
167
+ if (ie) {
168
+ ie.focus();
169
+ }
170
+ });
171
171
  },
172
172
  autocomplete(ctrl, element, value) {
173
- ctrl.app.callLater(() => {
174
- element.autocomplete = value;
175
- });
173
+ ctrl.app.callLater(() => {
174
+ element.autocomplete = value;
175
+ });
176
176
  },
177
177
  onCreate(ctrl, element, value) {
178
- value(ctrl, element);
178
+ value(ctrl, element);
179
179
  },
180
180
  watch(ctrl, element, value) {
181
- setTimeout((c1, e1, v1) => {
182
- e1.dispatchEvent(new CustomEvent("watch", {
183
- bubbles: true,
184
- cancelable: true,
185
- detail: {
186
- control: c1,
187
- value: v1
188
- }
189
- }));
190
- }, 1, ctrl, element, value);
181
+ setTimeout((c1, e1, v1) => {
182
+ e1.dispatchEvent(new CustomEvent("watch", {
183
+ bubbles: true,
184
+ cancelable: true,
185
+ detail: {
186
+ control: c1,
187
+ value: v1
188
+ }
189
+ }));
190
+ }, 1, ctrl, element, value);
191
191
  }
192
- };
193
- exports.ElementValueSetters["style-display"] = exports.ElementValueSetters.styleDisplay;
194
- exports.ElementValueSetters["style-left"] = exports.ElementValueSetters.styleLeft;
195
- exports.ElementValueSetters["style-top"] = exports.ElementValueSetters.styleTop;
196
- exports.ElementValueSetters["style-bottom"] = exports.ElementValueSetters.styleBottom;
197
- exports.ElementValueSetters["style-right"] = exports.ElementValueSetters.styleRight;
198
- exports.ElementValueSetters["style-width"] = exports.ElementValueSetters.styleWidth;
199
- exports.ElementValueSetters["style-height"] = exports.ElementValueSetters.styleHeight;
200
- exports.ElementValueSetters["style-position"] = exports.ElementValueSetters.stylePosition;
201
- exports.ElementValueSetters["style-font-size"] = exports.ElementValueSetters.styleFontSize;
202
- exports.ElementValueSetters["style-font-family"] = exports.ElementValueSetters.styleFontFamily;
203
- exports.ElementValueSetters["style-font-weight"] = exports.ElementValueSetters.styleFontWeight;
204
- exports.ElementValueSetters["style-border"] = exports.ElementValueSetters.styleBorder;
205
- exports.ElementValueSetters["style-border-width"] = exports.ElementValueSetters.styleBorderWidth;
206
- exports.ElementValueSetters["style-border-color"] = exports.ElementValueSetters.styleBorderColor;
207
- exports.ElementValueSetters["style-color"] = exports.ElementValueSetters.styleColor;
208
- exports.ElementValueSetters["style-background-color"] = exports.ElementValueSetters.styleBackgroundColor;
209
- exports.ElementValueSetters["on-create"] = exports.ElementValueSetters.onCreate;
210
- let propertyId = 1;
211
- /**
212
- * AtomControl class represents UI Component for a web browser.
213
- */
214
- class AtomControl extends AtomComponent_1.AtomComponent {
192
+ });
193
+ ElementValueSetters["style-display"] = ElementValueSetters.styleDisplay;
194
+ ElementValueSetters["style-left"] = ElementValueSetters.styleLeft;
195
+ ElementValueSetters["style-top"] = ElementValueSetters.styleTop;
196
+ ElementValueSetters["style-bottom"] = ElementValueSetters.styleBottom;
197
+ ElementValueSetters["style-right"] = ElementValueSetters.styleRight;
198
+ ElementValueSetters["style-width"] = ElementValueSetters.styleWidth;
199
+ ElementValueSetters["style-height"] = ElementValueSetters.styleHeight;
200
+ ElementValueSetters["style-position"] = ElementValueSetters.stylePosition;
201
+ ElementValueSetters["style-font-size"] = ElementValueSetters.styleFontSize;
202
+ ElementValueSetters["style-font-family"] = ElementValueSetters.styleFontFamily;
203
+ ElementValueSetters["style-font-weight"] = ElementValueSetters.styleFontWeight;
204
+ ElementValueSetters["style-border"] = ElementValueSetters.styleBorder;
205
+ ElementValueSetters["style-border-width"] = ElementValueSetters.styleBorderWidth;
206
+ ElementValueSetters["style-border-color"] = ElementValueSetters.styleBorderColor;
207
+ ElementValueSetters["style-color"] = ElementValueSetters.styleColor;
208
+ ElementValueSetters["style-background-color"] = ElementValueSetters.styleBackgroundColor;
209
+ ElementValueSetters["on-create"] = ElementValueSetters.onCreate;
210
+ propertyId = 1;
211
+ _export("AtomControl", AtomControl = class AtomControl extends AtomComponent {
215
212
  static from(e1) {
216
- var _a;
217
- let e = e1;
218
- while (e) {
219
- const { atomControl } = e;
220
- if (atomControl) {
221
- return atomControl;
222
- }
223
- e = (_a = e._logicalParent) !== null && _a !== void 0 ? _a : e.parentElement;
224
- }
213
+ var _a;
214
+ let e = e1;
215
+ while (e) {
216
+ const {
217
+ atomControl
218
+ } = e;
219
+ if (atomControl) {
220
+ return atomControl;
221
+ }
222
+ e = (_a = e._logicalParent) !== null && _a !== void 0 ? _a : e.parentElement;
223
+ }
225
224
  }
226
225
  static registerProperty(attributeName, attributeValue, setter) {
227
- const setterSymbol = `${attributeName}_${attributeValue}_${propertyId++}`;
228
- exports.ElementValueSetters[setterSymbol] = setter;
229
- function setterFx(v) {
230
- return {
231
- [setterSymbol]: v
232
- };
233
- }
234
- setterFx.toString = () => {
235
- return setterSymbol;
226
+ const setterSymbol = `${attributeName}_${attributeValue}_${propertyId++}`;
227
+ ElementValueSetters[setterSymbol] = setter;
228
+ function setterFx(v) {
229
+ return {
230
+ [setterSymbol]: v
236
231
  };
237
- return setterFx;
232
+ }
233
+ setterFx.toString = () => {
234
+ return setterSymbol;
235
+ };
236
+ return setterFx;
238
237
  }
239
238
  get controlStyle() {
240
- if (this.mControlStyle === undefined) {
241
- const key = TypeKey_1.TypeKey.get(this.defaultControlStyle || this.constructor);
242
- this.mControlStyle = defaultStyleSheets[key];
243
- if (this.mControlStyle) {
244
- return this.mControlStyle;
245
- }
246
- if (this.defaultControlStyle) {
247
- this.mControlStyle = defaultStyleSheets[key] ||
248
- (defaultStyleSheets[key] = this.theme.createNamedStyle(this.defaultControlStyle, key));
249
- }
250
- this.mControlStyle = this.mControlStyle || null;
251
- }
252
- return this.mControlStyle;
239
+ if (this.mControlStyle === undefined) {
240
+ const key = TypeKey.get(this.defaultControlStyle || this.constructor);
241
+ this.mControlStyle = defaultStyleSheets[key];
242
+ if (this.mControlStyle) {
243
+ return this.mControlStyle;
244
+ }
245
+ if (this.defaultControlStyle) {
246
+ this.mControlStyle = defaultStyleSheets[key] || (defaultStyleSheets[key] = this.theme.createNamedStyle(this.defaultControlStyle, key));
247
+ }
248
+ this.mControlStyle = this.mControlStyle || null;
249
+ }
250
+ return this.mControlStyle;
253
251
  }
254
252
  set controlStyle(v) {
255
- if (v instanceof AtomStyle_1.AtomStyle) {
256
- this.mControlStyle = v;
257
- }
258
- else {
259
- const key = TypeKey_1.TypeKey.get(v);
260
- this.mControlStyle = defaultStyleSheets[key] ||
261
- (defaultStyleSheets[key] = this.theme.createNamedStyle(v, key));
262
- }
263
- AtomBinder_1.AtomBinder.refreshValue(this, "controlStyle");
264
- this.invalidate();
253
+ if (v instanceof AtomStyle) {
254
+ this.mControlStyle = v;
255
+ } else {
256
+ const key = TypeKey.get(v);
257
+ this.mControlStyle = defaultStyleSheets[key] || (defaultStyleSheets[key] = this.theme.createNamedStyle(v, key));
258
+ }
259
+ AtomBinder.refreshValue(this, "controlStyle");
260
+ this.invalidate();
265
261
  }
266
- /**
267
- * Represents associated AtomStyleSheet with this visual hierarchy. AtomStyleSheet is
268
- * inherited by default.
269
- */
270
262
  get theme() {
271
- return this.mTheme ||
272
- this.mCachedTheme ||
273
- (this.mCachedTheme = (this.parent ? this.parent.theme : this.app.resolve(AtomStyleSheet_1.AtomStyleSheet, false, null)));
263
+ return this.mTheme || this.mCachedTheme || (this.mCachedTheme = this.parent ? this.parent.theme : this.app.resolve(AtomStyleSheet, false, null));
274
264
  }
275
265
  set theme(v) {
276
- this.mTheme = v;
277
- bridgeInstance.refreshInherited(this, "theme");
266
+ this.mTheme = v;
267
+ bridgeInstance.refreshInherited(this, "theme");
278
268
  }
279
- /**
280
- * Gets Parent AtomControl of this control.
281
- */
282
269
  get parent() {
283
- let e = this.element._logicalParent || this.element.parentElement;
284
- if (!e) {
285
- return null;
286
- }
287
- while (e) {
288
- const ac = e.atomControl;
289
- if (ac) {
290
- return ac;
291
- }
292
- e = e._logicalParent || e.parentElement;
270
+ let e = this.element._logicalParent || this.element.parentElement;
271
+ if (!e) {
272
+ return null;
273
+ }
274
+ while (e) {
275
+ const ac = e.atomControl;
276
+ if (ac) {
277
+ return ac;
293
278
  }
279
+ e = e._logicalParent || e.parentElement;
280
+ }
294
281
  }
295
282
  get factory() {
296
- return AtomControl;
283
+ return AtomControl;
297
284
  }
298
285
  constructor(app, e = document.createElement("div")) {
299
- super(app, e);
286
+ super(app, e);
300
287
  }
301
288
  onPropertyChanged(name) {
302
- super.onPropertyChanged(name);
303
- switch (name) {
304
- case "theme":
305
- this.mCachedTheme = null;
306
- AtomBinder_1.AtomBinder.refreshValue(this, "style");
307
- break;
308
- case "renderer":
309
- this.rendererChanged();
310
- break;
311
- }
289
+ super.onPropertyChanged(name);
290
+ switch (name) {
291
+ case "theme":
292
+ this.mCachedTheme = null;
293
+ AtomBinder.refreshValue(this, "style");
294
+ break;
295
+ case "renderer":
296
+ this.rendererChanged();
297
+ break;
298
+ }
312
299
  }
313
300
  atomParent(e) {
314
- var _a;
315
- while (e) {
316
- const ac = e.atomControl;
317
- if (ac) {
318
- return ac;
319
- }
320
- e = (_a = e._logicalParent) !== null && _a !== void 0 ? _a : e.parentElement;
301
+ var _a;
302
+ while (e) {
303
+ const ac = e.atomControl;
304
+ if (ac) {
305
+ return ac;
321
306
  }
307
+ e = (_a = e._logicalParent) !== null && _a !== void 0 ? _a : e.parentElement;
308
+ }
322
309
  }
323
310
  append(element) {
324
- if (element instanceof AtomControl) {
325
- this.element.appendChild(element.element);
326
- }
327
- else {
328
- this.element.appendChild(element);
329
- }
330
- return this;
311
+ if (element instanceof AtomControl) {
312
+ this.element.appendChild(element.element);
313
+ } else {
314
+ this.element.appendChild(element);
315
+ }
316
+ return this;
331
317
  }
332
318
  updateSize() {
333
- this.onUpdateSize();
334
- bridgeInstance.visitDescendents(this.element, (e, ac) => {
335
- if (ac) {
336
- ac.updateSize();
337
- return false;
338
- }
339
- return true;
340
- });
341
- }
342
- rendererChanged() {
343
- disposeChildren(this, this.element);
344
- this.element.innerHTML = "";
345
- const r = this.renderer;
346
- if (!r) {
347
- return;
319
+ this.onUpdateSize();
320
+ bridgeInstance.visitDescendents(this.element, (e, ac) => {
321
+ if (ac) {
322
+ ac.updateSize();
323
+ return false;
348
324
  }
349
- delete this.render;
350
- this.render(r);
325
+ return true;
326
+ });
351
327
  }
352
- preCreate() {
353
- // if (!this.element) {
354
- // this.element = document.createElement("div");
355
- // }
328
+ rendererChanged() {
329
+ disposeChildren(this, this.element);
330
+ this.element.innerHTML = "";
331
+ const r = this.renderer;
332
+ if (!r) {
333
+ return;
334
+ }
335
+ delete this.render;
336
+ this.render(r);
356
337
  }
338
+ preCreate() {}
357
339
  setElementValue(element, name, value) {
358
- if (value === undefined) {
359
- return;
360
- }
361
- const setter = exports.ElementValueSetters[name];
362
- if (setter !== void 0) {
363
- setter(this, element, value);
364
- return;
365
- }
366
- if (/^data\-/.test(name)) {
367
- name = fromHyphenToCamel(name.substring(5));
368
- if (typeof value === "object") {
369
- value = JSON.stringify(value);
370
- }
371
- element.dataset[name] = value;
372
- return;
373
- }
374
- if (/^style/.test(name)) {
375
- name = name.substring(5);
376
- if (name.startsWith("-")) {
377
- name = fromHyphenToCamel(name.substring(1));
378
- }
379
- else {
380
- name = name.charAt(0).toLowerCase() + name.substring(1);
381
- }
382
- if (value instanceof WebImage_1.default) {
383
- value = `url(${value})`;
384
- }
385
- element.style[name] = value;
386
- return;
387
- }
388
- if (/^event/.test(name)) {
389
- name = name.substring(5);
390
- if (name.startsWith("-")) {
391
- name = fromHyphenToCamel(name.substring(1));
392
- }
393
- else {
394
- name = name.charAt(0).toLowerCase() + name.substring(1);
395
- }
396
- this.bindEvent(element, name, value);
397
- return;
340
+ if (value === undefined) {
341
+ return;
342
+ }
343
+ const setter = ElementValueSetters[name];
344
+ if (setter !== void 0) {
345
+ setter(this, element, value);
346
+ return;
347
+ }
348
+ if (/^data\-/.test(name)) {
349
+ name = fromHyphenToCamel(name.substring(5));
350
+ if (typeof value === "object") {
351
+ value = JSON.stringify(value);
398
352
  }
399
- element[name] = value;
353
+ element.dataset[name] = value;
354
+ return;
355
+ }
356
+ if (/^style/.test(name)) {
357
+ name = name.substring(5);
358
+ if (name.startsWith("-")) {
359
+ name = fromHyphenToCamel(name.substring(1));
360
+ } else {
361
+ name = name.charAt(0).toLowerCase() + name.substring(1);
362
+ }
363
+ if (value instanceof WebImage) {
364
+ value = `url(${value})`;
365
+ }
366
+ element.style[name] = value;
367
+ return;
368
+ }
369
+ if (/^event/.test(name)) {
370
+ name = name.substring(5);
371
+ if (name.startsWith("-")) {
372
+ name = fromHyphenToCamel(name.substring(1));
373
+ } else {
374
+ name = name.charAt(0).toLowerCase() + name.substring(1);
375
+ }
376
+ this.bindEvent(element, name, value);
377
+ return;
378
+ }
379
+ element[name] = value;
400
380
  }
401
- // protected bindElementEvent(element: HTMLElement, name: string, value: any) {
402
- // this.bindEvent(element, name, value);
403
- // }
404
381
  setElementClass(element, value, clear) {
405
- const s = value;
406
- if (s && typeof s === "object") {
407
- if (!s.className) {
408
- if (clear) {
409
- let sr = "";
410
- for (const key in s) {
411
- if (s.hasOwnProperty(key)) {
412
- const sv = s[key];
413
- if (sv) {
414
- sr += (sr ? (" " + key) : key);
415
- }
416
- }
417
- }
418
- element.className = sr;
419
- return;
382
+ const s = value;
383
+ if (s && typeof s === "object") {
384
+ if (!s.className) {
385
+ if (clear) {
386
+ let sr = "";
387
+ for (const key in s) {
388
+ if (s.hasOwnProperty(key)) {
389
+ const sv = s[key];
390
+ if (sv) {
391
+ sr += sr ? " " + key : key;
420
392
  }
421
- for (const key in s) {
422
- if (s.hasOwnProperty(key)) {
423
- const sv = s[key];
424
- if (sv) {
425
- if (!element.classList.contains(key)) {
426
- element.classList.add(key);
427
- }
428
- }
429
- else {
430
- if (element.classList.contains(key)) {
431
- element.classList.remove(key);
432
- }
433
- }
434
- }
393
+ }
394
+ }
395
+ element.className = sr;
396
+ return;
397
+ }
398
+ for (const key in s) {
399
+ if (s.hasOwnProperty(key)) {
400
+ const sv = s[key];
401
+ if (sv) {
402
+ if (!element.classList.contains(key)) {
403
+ element.classList.add(key);
404
+ }
405
+ } else {
406
+ if (element.classList.contains(key)) {
407
+ element.classList.remove(key);
435
408
  }
436
- return;
409
+ }
437
410
  }
411
+ }
412
+ return;
438
413
  }
439
- const sv1 = s ? (s.className || s.toString()) : "";
440
- element.className = sv1;
441
- }
442
- onUpdateSize() {
443
- // pending !!
414
+ }
415
+ const sv1 = s ? s.className || s.toString() : "";
416
+ element.className = sv1;
444
417
  }
418
+ onUpdateSize() {}
445
419
  removeAllChildren(e) {
446
- let child = e.firstElementChild;
447
- while (child) {
448
- const c = child;
449
- child = child.nextElementSibling;
450
- const ac = c;
451
- if (ac && ac.atomControl) {
452
- ac.atomControl.dispose();
453
- }
454
- else {
455
- // remove all children events
456
- this.unbindEvent(child);
457
- // remove all bindings
458
- this.unbind(child);
459
- }
460
- c.remove();
420
+ let child = e.firstElementChild;
421
+ while (child) {
422
+ const c = child;
423
+ child = child.nextElementSibling;
424
+ const ac = c;
425
+ if (ac && ac.atomControl) {
426
+ ac.atomControl.dispose();
427
+ } else {
428
+ this.unbindEvent(child);
429
+ this.unbind(child);
461
430
  }
431
+ c.remove();
432
+ }
462
433
  }
463
434
  createNode(app, e, iterator, creator) {
464
- const name = iterator.name;
465
- const attributes = iterator.attributes;
466
- if (typeof name === "string") {
467
- const element = document.createElement(name);
468
- if (name === "input") {
469
- if (!attributes.autocomplete) {
470
- this.app.callLater(() => {
471
- element.autocomplete = "google-stop";
472
- });
473
- }
474
- }
475
- e === null || e === void 0 ? void 0 : e.appendChild(element);
476
- this.render(iterator, element, creator);
477
- return element;
478
- }
479
- if (name[isAtomControl]) {
480
- const forName = attributes === null || attributes === void 0 ? void 0 : attributes.for;
481
- const ctrl = new (name)(app, forName ? document.createElement(forName) : undefined);
482
- const element = ctrl.element;
483
- e === null || e === void 0 ? void 0 : e.appendChild(element);
484
- ctrl.render(iterator, element, creator);
485
- return element;
486
- }
487
- throw new Error(`not implemented create for ${iterator.name}`);
435
+ const name = iterator.name;
436
+ const attributes = iterator.attributes;
437
+ if (typeof name === "string") {
438
+ const element = document.createElement(name);
439
+ if (name === "input") {
440
+ if (!attributes.autocomplete) {
441
+ this.app.callLater(() => {
442
+ element.autocomplete = "google-stop";
443
+ });
444
+ }
445
+ }
446
+ e === null || e === void 0 ? void 0 : e.appendChild(element);
447
+ this.render(iterator, element, creator);
448
+ return element;
449
+ }
450
+ if (name[isAtomControl]) {
451
+ const forName = attributes === null || attributes === void 0 ? void 0 : attributes.for;
452
+ const ctrl = new name(app, forName ? document.createElement(forName) : undefined);
453
+ const element = ctrl.element;
454
+ e === null || e === void 0 ? void 0 : e.appendChild(element);
455
+ ctrl.render(iterator, element, creator);
456
+ return element;
457
+ }
458
+ throw new Error(`not implemented create for ${iterator.name}`);
488
459
  }
489
460
  toTemplate(app, iterator, creator) {
490
- var _a;
491
- if (iterator.isTemplate) {
492
- return this.toTemplate(app, iterator.children[0], creator);
493
- }
494
- const name = iterator.name;
495
- if (typeof name === "string") {
496
- return class Template extends AtomControl {
497
- constructor(a = app, e = document.createElement(name)) {
498
- super(a, e);
499
- }
500
- create() {
501
- super.create();
502
- this.render(iterator, undefined, creator);
503
- }
504
- };
505
- }
506
- if (name[isAtomControl]) {
507
- const forName = (_a = name.attributes) === null || _a === void 0 ? void 0 : _a.for;
508
- if (forName) {
509
- return class Template extends name {
510
- constructor(a = app, e = document.createElement(forName)) {
511
- super(a, e);
512
- }
513
- create() {
514
- super.create();
515
- this.render(iterator, undefined, creator);
516
- }
517
- };
461
+ var _a;
462
+ if (iterator.isTemplate) {
463
+ return this.toTemplate(app, iterator.children[0], creator);
464
+ }
465
+ const name = iterator.name;
466
+ if (typeof name === "string") {
467
+ return class Template extends AtomControl {
468
+ constructor(a = app, e = document.createElement(name)) {
469
+ super(a, e);
470
+ }
471
+ create() {
472
+ super.create();
473
+ this.render(iterator, undefined, creator);
474
+ }
475
+ };
476
+ }
477
+ if (name[isAtomControl]) {
478
+ const forName = (_a = name.attributes) === null || _a === void 0 ? void 0 : _a.for;
479
+ if (forName) {
480
+ return class Template extends name {
481
+ constructor(a = app, e = document.createElement(forName)) {
482
+ super(a, e);
518
483
  }
519
- return class Template extends name {
520
- constructor(a = app, e) {
521
- super(a, e);
522
- }
523
- create() {
524
- super.create();
525
- this.render(iterator, undefined, creator);
526
- }
527
- };
528
- }
529
- throw new Error(`Creating template from ${name} not supported`);
484
+ create() {
485
+ super.create();
486
+ this.render(iterator, undefined, creator);
487
+ }
488
+ };
489
+ }
490
+ return class Template extends name {
491
+ constructor(a = app, e) {
492
+ super(a, e);
493
+ }
494
+ create() {
495
+ super.create();
496
+ this.render(iterator, undefined, creator);
497
+ }
498
+ };
499
+ }
500
+ throw new Error(`Creating template from ${name} not supported`);
530
501
  }
531
502
  dispatchClickEvent(e, data) {
532
- let clickEvent = data.clickEvent;
533
- if (!clickEvent) {
534
- return;
535
- }
536
- clickEvent = clickEvent.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
537
- const ce = new CustomEvent(clickEvent, { detail: data, bubbles: true, cancelable: true });
538
- e.target.dispatchEvent(ce);
539
- if (ce.preventClickEvent) {
540
- // ce.preventDefault();
541
- e.preventDefault();
542
- }
543
- /** There is a problem with following method, in hierarchy of nodes,
544
- * it will not be possible to know which control should execute it
545
- */
546
- // if (!ce.defaultPrevented) {
547
- // if (clickEvent === "invokeMethod") {
548
- // const method = data.method;
549
- // const m = this[method] as Function;
550
- // if (m) {
551
- // this.app.runAsync(() => m.call(this, ce));
552
- // }
553
- // }
554
- // }
503
+ let clickEvent = data.clickEvent;
504
+ if (!clickEvent) {
505
+ return;
506
+ }
507
+ clickEvent = clickEvent.replace(/-([a-z])/g, g => g[1].toUpperCase());
508
+ const ce = new CustomEvent(clickEvent, {
509
+ detail: data,
510
+ bubbles: true,
511
+ cancelable: true
512
+ });
513
+ e.target.dispatchEvent(ce);
514
+ if (ce.preventClickEvent) {
515
+ e.preventDefault();
516
+ }
555
517
  }
556
- }
557
- __decorate([
558
- BindableProperty_1.BindableProperty,
559
- __metadata("design:type", XNode_1.default)
560
- ], AtomControl.prototype, "renderer", void 0);
561
- exports.AtomControl = AtomControl;
562
- document.body.addEventListener("click", (e) => {
518
+ });
519
+ __decorate([BindableProperty, __metadata("design:type", XNode)], AtomControl.prototype, "renderer", void 0);
520
+ document.body.addEventListener("click", e => {
563
521
  if (e.defaultPrevented) {
564
- return;
522
+ return;
565
523
  }
566
524
  const originalTarget = e.target;
567
525
  let control = AtomControl.from(originalTarget);
568
526
  if (control !== void 0) {
569
- const data = new Proxy(originalTarget, {
570
- get(target, p) {
571
- if (typeof p !== "string") {
572
- return;
573
- }
574
- while (target) {
575
- const value = target.dataset[p];
576
- if (value !== void 0) {
577
- return value;
578
- }
579
- target = target.parentElement;
580
- }
527
+ const data = new Proxy(originalTarget, {
528
+ get(target, p) {
529
+ if (typeof p !== "string") {
530
+ return;
531
+ }
532
+ while (target) {
533
+ const value = target.dataset[p];
534
+ if (value !== void 0) {
535
+ return value;
581
536
  }
582
- });
583
- // @ts-ignore
584
- control.dispatchClickEvent(e, data);
537
+ target = target.parentElement;
538
+ }
539
+ }
540
+ });
541
+ control.dispatchClickEvent(e, data);
585
542
  }
586
- });
587
- bridgeInstance.controlFactory = AtomControl;
588
- });
589
- //# sourceMappingURL=AtomControl.js.map
543
+ });
544
+ bridgeInstance.controlFactory = AtomControl;
545
+ }
546
+ };
547
+ });
548
+ //# sourceMappingURL=/home/runner/work/core/core/dist/web/controls/AtomControl.js.map