@web-atoms/core 2.1.478 → 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 (298) 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.d.ts.map +1 -1
  205. package/dist/web/core/AtomUI.js +160 -172
  206. package/dist/web/core/AtomUI.js.map +1 -1
  207. package/dist/web/core/Encoder.js +152 -199
  208. package/dist/web/core/Encoder.js.map +1 -1
  209. package/dist/web/core/HtmlNode.js +165 -161
  210. package/dist/web/core/HtmlNode.js.map +1 -1
  211. package/dist/web/images/Busy.js +13 -14
  212. package/dist/web/images/Busy.js.map +1 -1
  213. package/dist/web/images/BusyDataUrl.js +14 -882
  214. package/dist/web/images/BusyDataUrl.js.map +1 -1
  215. package/dist/web/images/Button.js +13 -15
  216. package/dist/web/images/Button.js.map +1 -1
  217. package/dist/web/images/ButtonDataUrl.js +14 -43
  218. package/dist/web/images/ButtonDataUrl.js.map +1 -1
  219. package/dist/web/images/CloseButton.js +13 -14
  220. package/dist/web/images/CloseButton.js.map +1 -1
  221. package/dist/web/images/CloseButtonDataUrl.js +14 -43
  222. package/dist/web/images/CloseButtonDataUrl.js.map +1 -1
  223. package/dist/web/images/CloseButtonHover.js +13 -14
  224. package/dist/web/images/CloseButtonHover.js.map +1 -1
  225. package/dist/web/images/CloseButtonHoverDataUrl.js +14 -37
  226. package/dist/web/images/CloseButtonHoverDataUrl.js.map +1 -1
  227. package/dist/web/samples/MovieService.js +60 -49
  228. package/dist/web/samples/MovieService.js.map +1 -1
  229. package/dist/web/samples/demo/app.js +23 -23
  230. package/dist/web/samples/demo/app.js.map +1 -1
  231. package/dist/web/samples/demo/views/MovieList.js +64 -67
  232. package/dist/web/samples/demo/views/MovieList.js.map +1 -1
  233. package/dist/web/samples/demo/views/MovieListViewModel.js +102 -82
  234. package/dist/web/samples/demo/views/MovieListViewModel.js.map +1 -1
  235. package/dist/web/samples/tabs/app.js +57 -39
  236. package/dist/web/samples/tabs/app.js.map +1 -1
  237. package/dist/web/samples/tabs/views/List.js +13 -14
  238. package/dist/web/samples/tabs/views/List.js.map +1 -1
  239. package/dist/web/samples/tabs/views/ListDataUrl.js +14 -18
  240. package/dist/web/samples/tabs/views/ListDataUrl.js.map +1 -1
  241. package/dist/web/samples/tabs/views/Page1.js +94 -74
  242. package/dist/web/samples/tabs/views/Page1.js.map +1 -1
  243. package/dist/web/samples/tabs/views/TabHost.js +82 -63
  244. package/dist/web/samples/tabs/views/TabHost.js.map +1 -1
  245. package/dist/web/samples/window/WindowSample.js +27 -23
  246. package/dist/web/samples/window/WindowSample.js.map +1 -1
  247. package/dist/web/services/MarkdownService.js +35 -51
  248. package/dist/web/services/MarkdownService.js.map +1 -1
  249. package/dist/web/services/NotificationPopup.js +48 -44
  250. package/dist/web/services/NotificationPopup.js.map +1 -1
  251. package/dist/web/services/PopupService.js +770 -940
  252. package/dist/web/services/PopupService.js.map +1 -1
  253. package/dist/web/services/WebBusyIndicatorService.js +80 -86
  254. package/dist/web/services/WebBusyIndicatorService.js.map +1 -1
  255. package/dist/web/services/WindowService.js +332 -418
  256. package/dist/web/services/WindowService.js.map +1 -1
  257. package/dist/web/styles/AtomAlertWindowStyle.js +44 -34
  258. package/dist/web/styles/AtomAlertWindowStyle.js.map +1 -1
  259. package/dist/web/styles/AtomFrameStyle.js +27 -20
  260. package/dist/web/styles/AtomFrameStyle.js.map +1 -1
  261. package/dist/web/styles/AtomListBoxStyle.js +34 -32
  262. package/dist/web/styles/AtomListBoxStyle.js.map +1 -1
  263. package/dist/web/styles/AtomNotificationStyle.js +33 -33
  264. package/dist/web/styles/AtomNotificationStyle.js.map +1 -1
  265. package/dist/web/styles/AtomPageLinkStyle.js +21 -22
  266. package/dist/web/styles/AtomPageLinkStyle.js.map +1 -1
  267. package/dist/web/styles/AtomPopupStyle.js +21 -23
  268. package/dist/web/styles/AtomPopupStyle.js.map +1 -1
  269. package/dist/web/styles/AtomStyle.js +69 -73
  270. package/dist/web/styles/AtomStyle.js.map +1 -1
  271. package/dist/web/styles/AtomStyleSheet.js +54 -57
  272. package/dist/web/styles/AtomStyleSheet.js.map +1 -1
  273. package/dist/web/styles/AtomTabbedPageStyle.js +110 -105
  274. package/dist/web/styles/AtomTabbedPageStyle.js.map +1 -1
  275. package/dist/web/styles/AtomTheme.js +62 -65
  276. package/dist/web/styles/AtomTheme.js.map +1 -1
  277. package/dist/web/styles/AtomToggleButtonBarStyle.js +68 -49
  278. package/dist/web/styles/AtomToggleButtonBarStyle.js.map +1 -1
  279. package/dist/web/styles/AtomWindowStyle.js +108 -117
  280. package/dist/web/styles/AtomWindowStyle.js.map +1 -1
  281. package/dist/web/styles/CSS.js +71 -81
  282. package/dist/web/styles/CSS.js.map +1 -1
  283. package/dist/web/styles/CommonStyles.js +60 -66
  284. package/dist/web/styles/CommonStyles.js.map +1 -1
  285. package/dist/web/styles/IStyleDeclaration.js +9 -13
  286. package/dist/web/styles/IStyleDeclaration.js.map +1 -1
  287. package/dist/web/styles/StyleBuilder.js +74 -75
  288. package/dist/web/styles/StyleBuilder.js.map +1 -1
  289. package/dist/xf/XFApp.js +54 -50
  290. package/dist/xf/XFApp.js.map +1 -1
  291. package/dist/xf/controls/AtomXFControl.js +233 -229
  292. package/dist/xf/controls/AtomXFControl.js.map +1 -1
  293. package/dist/xf/services/XFBusyIndicatorService.js +34 -34
  294. package/dist/xf/services/XFBusyIndicatorService.js.map +1 -1
  295. package/dist/xf/services/XFNavigationService.js +150 -133
  296. package/dist/xf/services/XFNavigationService.js.map +1 -1
  297. package/package.json +2 -1
  298. package/src/web/core/AtomUI.ts +8 -6
@@ -1,277 +1,300 @@
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
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- (function (factory) {
23
- if (typeof module === "object" && typeof module.exports === "object") {
24
- var v = factory(require, exports);
25
- if (v !== undefined) module.exports = v;
26
- }
27
- else if (typeof define === "function" && define.amd) {
28
- define(["require", "exports", "../../App", "../../core/AtomBinder", "../../core/AtomList", "../../core/AtomLoader", "../../core/AtomOnce", "../../core/AtomUri", "../../core/Bind", "../../core/BindableProperty", "../../core/XNode", "../../di/Inject", "../../services/NavigationService", "../../view-model/AtomViewModel", "../../view-model/AtomWindowViewModel", "../../view-model/bindProperty", "../../view-model/bindUrlParameter", "../services/WindowService", "../styles/AtomTabbedPageStyle", "./AtomControl", "./AtomItemsControl", "./AtomPage"], factory);
29
- }
30
- })(function (require, exports) {
31
- "use strict";
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.AtomTabbedPage = void 0;
34
- const App_1 = require("../../App");
35
- const AtomBinder_1 = require("../../core/AtomBinder");
36
- const AtomList_1 = require("../../core/AtomList");
37
- const AtomLoader_1 = require("../../core/AtomLoader");
38
- const AtomOnce_1 = require("../../core/AtomOnce");
39
- const AtomUri_1 = require("../../core/AtomUri");
40
- const Bind_1 = require("../../core/Bind");
41
- const BindableProperty_1 = require("../../core/BindableProperty");
42
- const XNode_1 = require("../../core/XNode");
43
- const Inject_1 = require("../../di/Inject");
44
- const NavigationService_1 = require("../../services/NavigationService");
45
- const AtomViewModel_1 = require("../../view-model/AtomViewModel");
46
- const AtomWindowViewModel_1 = require("../../view-model/AtomWindowViewModel");
47
- const bindProperty_1 = require("../../view-model/bindProperty");
48
- const bindUrlParameter_1 = require("../../view-model/bindUrlParameter");
49
- const WindowService_1 = require("../services/WindowService");
50
- const AtomTabbedPageStyle_1 = require("../styles/AtomTabbedPageStyle");
51
- const AtomControl_1 = require("./AtomControl");
52
- const AtomItemsControl_1 = require("./AtomItemsControl");
53
- const AtomPage_1 = require("./AtomPage");
54
- const BindPage = Bind_1.default.forData();
55
- class AtomTabbedPage extends AtomControl_1.AtomControl {
1
+ System.register(["../../App", "../../core/AtomBinder", "../../core/AtomList", "../../core/AtomLoader", "../../core/AtomOnce", "../../core/AtomUri", "../../core/Bind", "../../core/BindableProperty", "../../core/XNode", "../../di/Inject", "../../services/NavigationService", "../../view-model/AtomViewModel", "../../view-model/AtomWindowViewModel", "../../view-model/bindProperty", "../../view-model/bindUrlParameter", "../services/WindowService", "../styles/AtomTabbedPageStyle", "./AtomControl", "./AtomItemsControl", "./AtomPage"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var App, AtomBinder, AtomList, AtomLoader, AtomOnce, AtomUri, Bind, BindableProperty, XNode, Inject, NavigationService, AtomViewModel, Watch, AtomWindowViewModel, bindProperty, bindUrlParameter, WindowService, AtomTabbedPageStyle, AtomControl, AtomItemsControl, AtomPage, AtomTabbedPage, __decorate, __metadata, __param, __awaiter, BindPage, AtomTabViewModel;
5
+ _export("AtomTabbedPage", void 0);
6
+ return {
7
+ setters: [function (_App) {
8
+ App = _App.App;
9
+ }, function (_coreAtomBinder) {
10
+ AtomBinder = _coreAtomBinder.AtomBinder;
11
+ }, function (_coreAtomList) {
12
+ AtomList = _coreAtomList.AtomList;
13
+ }, function (_coreAtomLoader) {
14
+ AtomLoader = _coreAtomLoader.AtomLoader;
15
+ }, function (_coreAtomOnce) {
16
+ AtomOnce = _coreAtomOnce.AtomOnce;
17
+ }, function (_coreAtomUri) {
18
+ AtomUri = _coreAtomUri.AtomUri;
19
+ }, function (_coreBind) {
20
+ Bind = _coreBind.default;
21
+ }, function (_coreBindableProperty) {
22
+ BindableProperty = _coreBindableProperty.BindableProperty;
23
+ }, function (_coreXNode) {
24
+ XNode = _coreXNode.default;
25
+ }, function (_diInject) {
26
+ Inject = _diInject.Inject;
27
+ }, function (_servicesNavigationService) {
28
+ NavigationService = _servicesNavigationService.NavigationService;
29
+ }, function (_viewModelAtomViewModel) {
30
+ AtomViewModel = _viewModelAtomViewModel.AtomViewModel;
31
+ Watch = _viewModelAtomViewModel.Watch;
32
+ }, function (_viewModelAtomWindowViewModel) {
33
+ AtomWindowViewModel = _viewModelAtomWindowViewModel.AtomWindowViewModel;
34
+ }, function (_viewModelBindProperty) {
35
+ bindProperty = _viewModelBindProperty.default;
36
+ }, function (_viewModelBindUrlParameter) {
37
+ bindUrlParameter = _viewModelBindUrlParameter.default;
38
+ }, function (_servicesWindowService) {
39
+ WindowService = _servicesWindowService.WindowService;
40
+ }, function (_stylesAtomTabbedPageStyle) {
41
+ AtomTabbedPageStyle = _stylesAtomTabbedPageStyle.AtomTabbedPageStyle;
42
+ }, function (_AtomControl) {
43
+ AtomControl = _AtomControl.AtomControl;
44
+ }, function (_AtomItemsControl) {
45
+ AtomItemsControl = _AtomItemsControl.AtomItemsControl;
46
+ }, function (_AtomPage) {
47
+ AtomPage = _AtomPage.AtomPage;
48
+ }],
49
+ execute: function () {
50
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
51
+ var c = arguments.length,
52
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
53
+ d;
54
+ 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;
55
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
56
+ };
57
+ __metadata = void 0 && (void 0).__metadata || function (k, v) {
58
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
59
+ };
60
+ __param = void 0 && (void 0).__param || function (paramIndex, decorator) {
61
+ return function (target, key) {
62
+ decorator(target, key, paramIndex);
63
+ };
64
+ };
65
+ __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
66
+ function adopt(value) {
67
+ return value instanceof P ? value : new P(function (resolve) {
68
+ resolve(value);
69
+ });
70
+ }
71
+ return new (P || (P = Promise))(function (resolve, reject) {
72
+ function fulfilled(value) {
73
+ try {
74
+ step(generator.next(value));
75
+ } catch (e) {
76
+ reject(e);
77
+ }
78
+ }
79
+ function rejected(value) {
80
+ try {
81
+ step(generator["throw"](value));
82
+ } catch (e) {
83
+ reject(e);
84
+ }
85
+ }
86
+ function step(result) {
87
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
88
+ }
89
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
90
+ });
91
+ };
92
+ BindPage = Bind.forData();
93
+ _export("AtomTabbedPage", AtomTabbedPage = class AtomTabbedPage extends AtomControl {
56
94
  get windowService() {
57
- return this.mWindowService || (this.mWindowService = this.resolve(WindowService_1.WindowService));
95
+ return this.mWindowService || (this.mWindowService = this.resolve(WindowService));
58
96
  }
59
97
  get selectedPage() {
60
- return this.mSelectedPage;
98
+ return this.mSelectedPage;
61
99
  }
62
100
  set selectedPage(value) {
63
- this.mSelectedPage = value;
64
- if (value && value.element) {
65
- const pe = value.element.parentElement;
66
- if (pe !== this.presenter) {
67
- // const p = document.createElement("div");
68
- // const s = p.style;
69
- // p.className = "page-host";
70
- // p.appendChild(value.element);
71
- this.presenter.appendChild(value.element);
72
- const ve = value;
73
- value.bind(value.element, "styleDisplay", [["this", "selectedPage"]], false, (v) => v === ve ? "" : "none", this);
74
- }
101
+ this.mSelectedPage = value;
102
+ if (value && value.element) {
103
+ const pe = value.element.parentElement;
104
+ if (pe !== this.presenter) {
105
+ this.presenter.appendChild(value.element);
106
+ const ve = value;
107
+ value.bind(value.element, "styleDisplay", [["this", "selectedPage"]], false, v => v === ve ? "" : "none", this);
75
108
  }
76
- this.invalidate();
77
- AtomBinder_1.AtomBinder.refreshValue(this, "selectedPage");
109
+ }
110
+ this.invalidate();
111
+ AtomBinder.refreshValue(this, "selectedPage");
78
112
  }
79
113
  constructor(app, e) {
80
- super(app, e !== null && e !== void 0 ? e : document.createElement("section"));
114
+ super(app, e !== null && e !== void 0 ? e : document.createElement("section"));
81
115
  }
82
116
  preCreate() {
83
- super.preCreate();
84
- this.defaultControlStyle = AtomTabbedPageStyle_1.AtomTabbedPageStyle;
85
- this.tabChannelName = "app";
86
- this.titleTemplate = null;
87
- this.mSelectedPage = null;
88
- this.runAfterInit(() => {
89
- this.setPrimitiveValue(this.element, "styleClass", `atom-tabbed-page ${this.controlStyle.name}`);
90
- });
91
- this.localViewModel = this.resolve(AtomTabViewModel, () => ({ owner: this }));
92
- this.render(XNode_1.default.create("section", { selectedPage: Bind_1.default.twoWays(() => this.localViewModel.selectedPage) },
93
- XNode_1.default.create(AtomTabbedPage.titleTemplate, null,
94
- XNode_1.default.create("div", { styleClass: BindPage.oneWay((x) => ({
95
- "tab-item": 1,
96
- "selected-tab-item": x.data === this.localViewModel.selectedPage
97
- })) },
98
- XNode_1.default.create("div", { eventClick: BindPage.event((x) => this.localViewModel.selectedPage = x.data), text: BindPage.oneWay((x) => x.data.title) }),
99
- XNode_1.default.create("img", { class: "close-button", eventClick: BindPage.event((x) => this.localViewModel.closePage(x.data)) }))),
100
- XNode_1.default.create(AtomItemsControl_1.AtomItemsControl, { class: "tabs", allowMultipleSelection: false, allowSelectFirst: true, items: Bind_1.default.oneWay(() => this.localViewModel.pages), selectedItem: Bind_1.default.twoWays(() => this.localViewModel.selectedPage), itemTemplate: Bind_1.default.oneWay(() => this.titleTemplate) }),
101
- XNode_1.default.create("div", { class: "presenter page-host atom-tabbed-page-host", presenter: Bind_1.default.presenter("presenter") })));
102
- this.registerDisposable(this.windowService.registerHostForWindow((e) => this.getParentHost(e)));
103
- // this.windowService.currentTarget = this.presenter;
117
+ super.preCreate();
118
+ this.defaultControlStyle = AtomTabbedPageStyle;
119
+ this.tabChannelName = "app";
120
+ this.titleTemplate = null;
121
+ this.mSelectedPage = null;
122
+ this.runAfterInit(() => {
123
+ this.setPrimitiveValue(this.element, "styleClass", `atom-tabbed-page ${this.controlStyle.name}`);
124
+ });
125
+ this.localViewModel = this.resolve(AtomTabViewModel, () => ({
126
+ owner: this
127
+ }));
128
+ this.render(XNode.create("section", {
129
+ selectedPage: Bind.twoWays(() => this.localViewModel.selectedPage)
130
+ }, XNode.create(AtomTabbedPage.titleTemplate, null, XNode.create("div", {
131
+ styleClass: BindPage.oneWay(x => ({
132
+ "tab-item": 1,
133
+ "selected-tab-item": x.data === this.localViewModel.selectedPage
134
+ }))
135
+ }, XNode.create("div", {
136
+ eventClick: BindPage.event(x => this.localViewModel.selectedPage = x.data),
137
+ text: BindPage.oneWay(x => x.data.title)
138
+ }), XNode.create("img", {
139
+ class: "close-button",
140
+ eventClick: BindPage.event(x => this.localViewModel.closePage(x.data))
141
+ }))), XNode.create(AtomItemsControl, {
142
+ class: "tabs",
143
+ allowMultipleSelection: false,
144
+ allowSelectFirst: true,
145
+ items: Bind.oneWay(() => this.localViewModel.pages),
146
+ selectedItem: Bind.twoWays(() => this.localViewModel.selectedPage),
147
+ itemTemplate: Bind.oneWay(() => this.titleTemplate)
148
+ }), XNode.create("div", {
149
+ class: "presenter page-host atom-tabbed-page-host",
150
+ presenter: Bind.presenter("presenter")
151
+ })));
152
+ this.registerDisposable(this.windowService.registerHostForWindow(e => this.getParentHost(e)));
104
153
  }
105
154
  getParentHost(e) {
106
- while (e) {
107
- const pe = e._logicalParent || e.parentElement;
108
- if (pe === this.presenter) {
109
- return e.parentElement;
110
- }
111
- if (!pe) {
112
- return null;
113
- }
114
- e = pe;
155
+ while (e) {
156
+ const pe = e._logicalParent || e.parentElement;
157
+ if (pe === this.presenter) {
158
+ return e.parentElement;
115
159
  }
160
+ if (!pe) {
161
+ return null;
162
+ }
163
+ e = pe;
164
+ }
116
165
  }
117
- }
118
- exports.AtomTabbedPage = AtomTabbedPage;
119
- AtomTabbedPage.titleTemplate = XNode_1.default.prepare("titleTemplate", true, true);
120
- let AtomTabViewModel = class AtomTabViewModel extends AtomViewModel_1.AtomViewModel {
166
+ });
167
+ AtomTabbedPage.titleTemplate = XNode.prepare("titleTemplate", true, true);
168
+ AtomTabViewModel = class AtomTabViewModel extends AtomViewModel {
121
169
  constructor(app, owner) {
122
- super(app);
123
- this.owner = owner;
124
- this.pageUpdater = new AtomOnce_1.AtomOnce();
125
- this.pages = new AtomList_1.AtomList();
126
- (0, bindProperty_1.default)(this, this, "selectedUrl", this, [["selectedPage"]], {
127
- fromSource: (v) => {
128
- return v.tag;
129
- },
130
- fromTarget: (v) => {
131
- if (!this.pages) {
132
- return null;
133
- }
134
- return this.pages.find((p) => p.tag === v);
135
- }
136
- });
137
- (0, bindUrlParameter_1.default)(this, "selectedUrl", "url");
170
+ super(app);
171
+ this.owner = owner;
172
+ this.pageUpdater = new AtomOnce();
173
+ this.pages = new AtomList();
174
+ bindProperty(this, this, "selectedUrl", this, [["selectedPage"]], {
175
+ fromSource: v => {
176
+ return v.tag;
177
+ },
178
+ fromTarget: v => {
179
+ if (!this.pages) {
180
+ return null;
181
+ }
182
+ return this.pages.find(p => p.tag === v);
183
+ }
184
+ });
185
+ bindUrlParameter(this, "selectedUrl", "url");
138
186
  }
139
187
  init() {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- const ch = this.owner.tabChannelName;
142
- this.storageKey = `${this.app.contextId}_${ch}`;
143
- const d = this.navigationService.registerNavigationHook((uri, { target }) => {
144
- if (target === this.owner.tabChannelName ||
145
- (uri.protocol === "tab:" && uri.host === this.owner.tabChannelName)) {
146
- return this.loadPageForReturn(uri);
147
- }
148
- });
149
- this.registerDisposable(d);
150
- const urls = sessionStorage.getItem(this.storageKey) || "null";
151
- const urlState = JSON.parse(urls) || {
152
- name,
153
- urls: [],
154
- selectedUrl: null
155
- };
156
- for (const iterator of urlState.urls) {
157
- const page = yield this.loadPage(new AtomUri_1.AtomUri(iterator), true);
158
- if (page.tag === urlState.selectedUrl) {
159
- this.pageUpdater.run(() => {
160
- this.selectedPage = page;
161
- });
162
- }
163
- }
164
- if (!this.selectedPage) {
165
- this.selectedPage = this.pages[0];
166
- }
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ const ch = this.owner.tabChannelName;
190
+ this.storageKey = `${this.app.contextId}_${ch}`;
191
+ const d = this.navigationService.registerNavigationHook((uri, {
192
+ target
193
+ }) => {
194
+ if (target === this.owner.tabChannelName || uri.protocol === "tab:" && uri.host === this.owner.tabChannelName) {
195
+ return this.loadPageForReturn(uri);
196
+ }
167
197
  });
198
+ this.registerDisposable(d);
199
+ const urls = sessionStorage.getItem(this.storageKey) || "null";
200
+ const urlState = JSON.parse(urls) || {
201
+ name,
202
+ urls: [],
203
+ selectedUrl: null
204
+ };
205
+ for (const iterator of urlState.urls) {
206
+ const page = yield this.loadPage(new AtomUri(iterator), true);
207
+ if (page.tag === urlState.selectedUrl) {
208
+ this.pageUpdater.run(() => {
209
+ this.selectedPage = page;
210
+ });
211
+ }
212
+ }
213
+ if (!this.selectedPage) {
214
+ this.selectedPage = this.pages[0];
215
+ }
216
+ });
168
217
  }
169
218
  watchSelectedPage() {
170
- this.saveState(this.selectedPage);
219
+ this.saveState(this.selectedPage);
171
220
  }
172
221
  closePage(page) {
173
- this.app.runAsync(() => this.navigationService.remove(page));
222
+ this.app.runAsync(() => this.navigationService.remove(page));
174
223
  }
175
224
  saveState(a) {
176
- const state = {
177
- urls: this.pages.map((p) => p.tag),
178
- selectedUrl: this.selectedUrl,
179
- };
180
- sessionStorage.setItem(this.storageKey, JSON.stringify(state));
225
+ const state = {
226
+ urls: this.pages.map(p => p.tag),
227
+ selectedUrl: this.selectedUrl
228
+ };
229
+ sessionStorage.setItem(this.storageKey, JSON.stringify(state));
181
230
  }
182
231
  loadPageForReturn(url) {
183
- return __awaiter(this, void 0, void 0, function* () {
184
- const p = yield this.loadPage(url, false);
185
- try {
186
- return yield p.returnPromise;
187
- }
188
- catch (ex) {
189
- // this will prevent warning in chrome for unhandled exception
190
- if ((ex.message ? ex.message : ex) === "cancelled") {
191
- // tslint:disable-next-line: no-console
192
- console.warn(ex);
193
- return;
194
- }
195
- throw ex;
196
- }
197
- });
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ const p = yield this.loadPage(url, false);
234
+ try {
235
+ return yield p.returnPromise;
236
+ } catch (ex) {
237
+ if ((ex.message ? ex.message : ex) === "cancelled") {
238
+ console.warn(ex);
239
+ return;
240
+ }
241
+ throw ex;
242
+ }
243
+ });
198
244
  }
199
245
  loadPage(url, doNotSetSelected) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- const uriString = url.toString();
202
- const ws = this.navigationService;
203
- const existing = this.pages.find((x) => x.tag === uriString);
204
- if (existing) {
205
- if (!doNotSetSelected) {
206
- if (this.selectedPage !== existing) {
207
- this.selectedPage = existing;
208
- // ws.currentTarget = existing.element;
209
- }
210
- }
211
- return existing;
212
- }
213
- // const popupType = await UMD.resolveViewClassAsync(url.path);
214
- // const page: AtomPage = (new (popupType)(this.app)) as AtomPage;
215
- const { view: page, disposables } = yield AtomLoader_1.AtomLoader.loadView(url, this.app, true, () => new AtomWindowViewModel_1.AtomWindowViewModel(this.app));
216
- page.title = "Title";
217
- page.tag = uriString;
218
- if (url.query && url.query.title) {
219
- page.title = url.query.title.toString();
246
+ return __awaiter(this, void 0, void 0, function* () {
247
+ const uriString = url.toString();
248
+ const ws = this.navigationService;
249
+ const existing = this.pages.find(x => x.tag === uriString);
250
+ if (existing) {
251
+ if (!doNotSetSelected) {
252
+ if (this.selectedPage !== existing) {
253
+ this.selectedPage = existing;
220
254
  }
221
- page.bind(page.element, "title", [["viewModel", "title"]]);
222
- page.bind(page.element, "styleDisplay", [["this", "selectedPage"]], false, (v) => v === page ? "" : "none", this);
223
- this.pages.add(page);
224
- if (!doNotSetSelected) {
225
- this.selectedPage = page;
226
- }
227
- const e = page.element;
228
- // ws.currentTarget = e;
229
- disposables.add(() => {
230
- const index = this.pages.indexOf(page);
231
- if (this.pages.length <= 1 && index <= 0) {
232
- return;
233
- }
234
- this.pages.remove(page);
235
- e.remove();
236
- // ws.currentTarget = null;
237
- if (this.selectedPage === page) {
238
- this.selectedPage = this.pages[index - 1];
239
- }
240
- });
241
- this.saveState();
242
- return page;
255
+ }
256
+ return existing;
257
+ }
258
+ const {
259
+ view: page,
260
+ disposables
261
+ } = yield AtomLoader.loadView(url, this.app, true, () => new AtomWindowViewModel(this.app));
262
+ page.title = "Title";
263
+ page.tag = uriString;
264
+ if (url.query && url.query.title) {
265
+ page.title = url.query.title.toString();
266
+ }
267
+ page.bind(page.element, "title", [["viewModel", "title"]]);
268
+ page.bind(page.element, "styleDisplay", [["this", "selectedPage"]], false, v => v === page ? "" : "none", this);
269
+ this.pages.add(page);
270
+ if (!doNotSetSelected) {
271
+ this.selectedPage = page;
272
+ }
273
+ const e = page.element;
274
+ disposables.add(() => {
275
+ const index = this.pages.indexOf(page);
276
+ if (this.pages.length <= 1 && index <= 0) {
277
+ return;
278
+ }
279
+ this.pages.remove(page);
280
+ e.remove();
281
+ if (this.selectedPage === page) {
282
+ this.selectedPage = this.pages[index - 1];
283
+ }
243
284
  });
285
+ this.saveState();
286
+ return page;
287
+ });
244
288
  }
245
- };
246
- __decorate([
247
- BindableProperty_1.BindableProperty,
248
- __metadata("design:type", AtomList_1.AtomList)
249
- ], AtomTabViewModel.prototype, "pages", void 0);
250
- __decorate([
251
- BindableProperty_1.BindableProperty,
252
- __metadata("design:type", AtomPage_1.AtomPage)
253
- ], AtomTabViewModel.prototype, "selectedPage", void 0);
254
- __decorate([
255
- BindableProperty_1.BindableProperty,
256
- __metadata("design:type", String)
257
- ], AtomTabViewModel.prototype, "selectedUrl", void 0);
258
- __decorate([
259
- BindableProperty_1.BindableProperty,
260
- __metadata("design:type", Object)
261
- ], AtomTabViewModel.prototype, "tabState", void 0);
262
- __decorate([
263
- Inject_1.Inject,
264
- __metadata("design:type", NavigationService_1.NavigationService)
265
- ], AtomTabViewModel.prototype, "navigationService", void 0);
266
- __decorate([
267
- AtomViewModel_1.Watch,
268
- __metadata("design:type", Function),
269
- __metadata("design:paramtypes", []),
270
- __metadata("design:returntype", void 0)
271
- ], AtomTabViewModel.prototype, "watchSelectedPage", null);
272
- AtomTabViewModel = __decorate([
273
- __param(0, Inject_1.Inject),
274
- __metadata("design:paramtypes", [App_1.App, AtomTabbedPage])
275
- ], AtomTabViewModel);
276
- });
277
- //# sourceMappingURL=AtomTabbedPage.js.map
289
+ };
290
+ __decorate([BindableProperty, __metadata("design:type", AtomList)], AtomTabViewModel.prototype, "pages", void 0);
291
+ __decorate([BindableProperty, __metadata("design:type", AtomPage)], AtomTabViewModel.prototype, "selectedPage", void 0);
292
+ __decorate([BindableProperty, __metadata("design:type", String)], AtomTabViewModel.prototype, "selectedUrl", void 0);
293
+ __decorate([BindableProperty, __metadata("design:type", Object)], AtomTabViewModel.prototype, "tabState", void 0);
294
+ __decorate([Inject, __metadata("design:type", NavigationService)], AtomTabViewModel.prototype, "navigationService", void 0);
295
+ __decorate([Watch, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], AtomTabViewModel.prototype, "watchSelectedPage", null);
296
+ AtomTabViewModel = __decorate([__param(0, Inject), __metadata("design:paramtypes", [App, AtomTabbedPage])], AtomTabViewModel);
297
+ }
298
+ };
299
+ });
300
+ //# sourceMappingURL=/home/runner/work/core/core/dist/web/controls/AtomTabbedPage.js.map