@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,181 @@
1
+ System.register(["../core/StringHelper", "../di/RegisterSingleton", "@web-atoms/date-time/dist/DateTime"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var StringHelper, RegisterSingleton, DateTime, __decorate, dateFormatISORegEx, dateFormatMSRegEx, timeZoneDiff, JsonService;
5
+
6
+ return {
7
+ setters: [function (_coreStringHelper) {
8
+ StringHelper = _coreStringHelper.StringHelper;
9
+ }, function (_diRegisterSingleton) {
10
+ RegisterSingleton = _diRegisterSingleton.RegisterSingleton;
11
+ }, function (_webAtomsDateTimeDistDateTime) {
12
+ DateTime = _webAtomsDateTimeDistDateTime.default;
13
+ }],
14
+ execute: function () {
15
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
16
+ var c = arguments.length,
17
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
18
+ d;
19
+ 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;
20
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
21
+ };
22
+
23
+ _export("dateFormatISORegEx", dateFormatISORegEx = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);
24
+
25
+ _export("dateFormatMSRegEx", dateFormatMSRegEx = /^\/Date\((d|-|.*)\)[\/|\\]$/);
26
+
27
+ timeZoneDiff = new Date().getTimezoneOffset();
28
+
29
+ _export("JsonService", JsonService = class JsonService {
30
+ constructor() {
31
+ this.options = {
32
+ indent: 2,
33
+ namingStrategy: "none",
34
+ dateConverter: [{
35
+ regex: dateFormatISORegEx,
36
+ valueConverter: {
37
+ fromSource(v) {
38
+ const d = new DateTime(v);
39
+ return d;
40
+ },
41
+
42
+ fromTarget(v) {
43
+ return v.toISOString();
44
+ }
45
+
46
+ }
47
+ }, {
48
+ regex: dateFormatMSRegEx,
49
+ valueConverter: {
50
+ fromSource(v) {
51
+ const a = dateFormatMSRegEx.exec(v);
52
+ const b = a[1].split(/[-+,.]/);
53
+ return new DateTime(b[0] ? +b[0] : 0 - +b[1]);
54
+ },
55
+
56
+ fromTarget(v) {
57
+ return v.toISOString();
58
+ }
59
+
60
+ }
61
+ }]
62
+ };
63
+ }
64
+
65
+ transformKeys(t, v) {
66
+ if (!v) {
67
+ return v;
68
+ }
69
+
70
+ if (typeof v !== "object") {
71
+ return v;
72
+ }
73
+
74
+ if (v instanceof Date) {
75
+ return v;
76
+ }
77
+
78
+ if (typeof v === "object" && v.length !== undefined && typeof v.length === "number") {
79
+ const a = v;
80
+
81
+ if (a.map) {
82
+ return a.map(x => this.transformKeys(t, x));
83
+ }
84
+
85
+ const ra = [];
86
+
87
+ for (let i = 0; i < a.length; i++) {
88
+ const iterator = a[i];
89
+ ra.push(this.transformKeys(t, iterator));
90
+ }
91
+
92
+ return ra;
93
+ }
94
+
95
+ const r = {};
96
+
97
+ for (const key in v) {
98
+ if (v.hasOwnProperty(key)) {
99
+ const element = v[key];
100
+ r[t(key)] = this.transformKeys(t, element);
101
+ }
102
+ }
103
+
104
+ return r;
105
+ }
106
+
107
+ parse(text, options) {
108
+ const {
109
+ dateConverter,
110
+ namingStrategy
111
+ } = Object.assign(Object.assign({}, this.options), options);
112
+ const result = JSON.parse(text, (key, value) => {
113
+ if (typeof value === "string") {
114
+ for (const iterator of dateConverter) {
115
+ const a = iterator.regex.test(value);
116
+
117
+ if (a) {
118
+ const dv = iterator.valueConverter.fromSource(value);
119
+ return dv;
120
+ }
121
+ }
122
+ }
123
+
124
+ return value;
125
+ });
126
+
127
+ switch (namingStrategy) {
128
+ case "hyphen":
129
+ return this.transformKeys(StringHelper.fromHyphenToCamel, result);
130
+
131
+ case "underscore":
132
+ return this.transformKeys(StringHelper.fromUnderscoreToCamel, result);
133
+
134
+ case "pascal":
135
+ return this.transformKeys(StringHelper.fromPascalToCamel, result);
136
+ }
137
+
138
+ return result;
139
+ }
140
+
141
+ stringify(v, options) {
142
+ const {
143
+ namingStrategy,
144
+ dateConverter,
145
+ indent
146
+ } = Object.assign(Object.assign({}, this.options), options);
147
+
148
+ switch (namingStrategy) {
149
+ case "hyphen":
150
+ v = this.transformKeys(StringHelper.fromCamelToHyphen, v);
151
+ break;
152
+
153
+ case "underscore":
154
+ v = this.transformKeys(StringHelper.fromCamelToUnderscore, v);
155
+ break;
156
+
157
+ case "pascal":
158
+ v = this.transformKeys(StringHelper.fromCamelToPascal, v);
159
+ break;
160
+ }
161
+
162
+ return JSON.stringify(v, (key, value) => {
163
+ if (key && /^\_\$\_/.test(key)) {
164
+ return undefined;
165
+ }
166
+
167
+ if (dateConverter && value instanceof Date) {
168
+ return dateConverter[0].valueConverter.fromTarget(value);
169
+ }
170
+
171
+ return value;
172
+ }, indent);
173
+ }
174
+
175
+ });
176
+
177
+ _export("JsonService", JsonService = __decorate([RegisterSingleton], JsonService));
178
+ }
179
+ };
180
+ });
181
+ //# sourceMappingURL=JsonService.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["StringHelper","RegisterSingleton","DateTime","dateFormatISORegEx","dateFormatMSRegEx","timeZoneDiff","Date","getTimezoneOffset","JsonService","constructor","indent","namingStrategy","dateConverter","regex","valueConverter","fromSource","v","d","fromTarget","toISOString","a","exec","b","split","transformKeys","t","length","undefined","map","x","ra","i","iterator","push","r","key","hasOwnProperty","element","parse","text","options","Object","result","JSON","value","test","dv","fromHyphenToCamel","fromUnderscoreToCamel","fromPascalToCamel","stringify","fromCamelToHyphen","fromCamelToUnderscore","fromCamelToPascal"],"sourceRoot":"","sources":["../../src/services/JsonService.ts"],"sourcesContent":[null]}
@@ -0,0 +1,236 @@
1
+ System.register(["../App", "../core/AtomUri", "../di/RegisterSingleton", "../view-model/AtomWindowViewModel", "./NavigationService"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var App, AtomUri, RegisterSingleton, AtomWindowViewModel, NavigationService, MockConfirmViewModel, __decorate, __metadata, __awaiter, MockNavigationService;
5
+
6
+ _export("MockConfirmViewModel", void 0);
7
+
8
+ return {
9
+ setters: [function (_App) {
10
+ App = _App.App;
11
+ }, function (_coreAtomUri) {
12
+ AtomUri = _coreAtomUri.AtomUri;
13
+ }, function (_diRegisterSingleton) {
14
+ RegisterSingleton = _diRegisterSingleton.RegisterSingleton;
15
+ }, function (_viewModelAtomWindowViewModel) {
16
+ AtomWindowViewModel = _viewModelAtomWindowViewModel.AtomWindowViewModel;
17
+ }, function (_NavigationService) {
18
+ NavigationService = _NavigationService.NavigationService;
19
+ }],
20
+ execute: function () {
21
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
22
+ var c = arguments.length,
23
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
24
+ d;
25
+ 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;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ };
28
+
29
+ __metadata = void 0 && (void 0).__metadata || function (k, v) {
30
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
31
+ };
32
+
33
+ __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
34
+ function adopt(value) {
35
+ return value instanceof P ? value : new P(function (resolve) {
36
+ resolve(value);
37
+ });
38
+ }
39
+
40
+ return new (P || (P = Promise))(function (resolve, reject) {
41
+ function fulfilled(value) {
42
+ try {
43
+ step(generator.next(value));
44
+ } catch (e) {
45
+ reject(e);
46
+ }
47
+ }
48
+
49
+ function rejected(value) {
50
+ try {
51
+ step(generator["throw"](value));
52
+ } catch (e) {
53
+ reject(e);
54
+ }
55
+ }
56
+
57
+ function step(result) {
58
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
59
+ }
60
+
61
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
62
+ });
63
+ };
64
+
65
+ _export("MockConfirmViewModel", MockConfirmViewModel = class MockConfirmViewModel extends AtomWindowViewModel {});
66
+
67
+ _export("MockNavigationService", MockNavigationService = class MockNavigationService extends NavigationService {
68
+ constructor(app) {
69
+ super(app);
70
+ this.windowStack = [];
71
+ this.history = [];
72
+ this.mLocation = new AtomUri("");
73
+ }
74
+
75
+ get location() {
76
+ return this.mLocation;
77
+ }
78
+
79
+ set location(v) {
80
+ if (JSON.stringify(this.location) === JSON.stringify(v)) {
81
+ return;
82
+ }
83
+
84
+ this.history.push(this.mLocation);
85
+ this.mLocation = v;
86
+ }
87
+
88
+ refresh() {}
89
+
90
+ navigate(url) {
91
+ this.location = new AtomUri(url);
92
+ }
93
+
94
+ back() {
95
+ if (this.history.length) {
96
+ const top = this.history.pop();
97
+ this.location = top;
98
+ this.history.pop();
99
+ }
100
+ }
101
+
102
+ alert(msg, title) {
103
+ return this.openTestWindow(`__AlertWindow_${msg}`, {
104
+ message: msg,
105
+ title
106
+ });
107
+ }
108
+
109
+ confirm(msg, title) {
110
+ return this.openTestWindow(`__ConfirmWindow_${msg}`, {
111
+ message: msg,
112
+ title
113
+ });
114
+ }
115
+
116
+ openPage(pageName, p) {
117
+ return this.openTestWindow(pageName, p);
118
+ }
119
+
120
+ notify(message, title) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const url = `__AlertNotification_${message}`;
123
+ const w = this.windowStack.find(x => x.windowType === message);
124
+
125
+ if (!w) {
126
+ throw new Error(`No notification registered for "${message}"`);
127
+ }
128
+
129
+ w.action({});
130
+ });
131
+ }
132
+
133
+ openTestWindow(c, p) {
134
+ const url = c instanceof AtomUri ? c : new AtomUri(c);
135
+
136
+ if (p) {
137
+ for (const key in p) {
138
+ if (p.hasOwnProperty(key)) {
139
+ const element = p[key];
140
+ url.query[key] = element;
141
+ }
142
+ }
143
+ }
144
+
145
+ return new Promise((resolve, reject) => {
146
+ const w = this.windowStack.find(x => x.windowType === url.path);
147
+
148
+ if (!w) {
149
+ const ex = new Error(`No window registered for "${c} with ${p ? JSON.stringify(p, undefined, 2) : ""}"`);
150
+ reject(ex);
151
+ return;
152
+ }
153
+
154
+ setTimeout(() => {
155
+ try {
156
+ const vm = new AtomWindowViewModel(this.app);
157
+
158
+ for (const key in url.query) {
159
+ if (url.query.hasOwnProperty(key)) {
160
+ const element = url.query[key];
161
+ vm[key] = element;
162
+ }
163
+ }
164
+
165
+ resolve(w.action(vm));
166
+ } catch (e) {
167
+ reject(e);
168
+ }
169
+ }, 5);
170
+ });
171
+ }
172
+
173
+ expectAlert(msg) {
174
+ return this.expectWindow(`__AlertWindow_${msg}`, vm => true);
175
+ }
176
+
177
+ expectNotification(msg) {
178
+ return this.expectWindow(`__AlertNotification_${msg}`, vm => true);
179
+ }
180
+
181
+ expectConfirm(msg, action) {
182
+ return this.expectWindow(`__ConfirmWindow_${msg}`, action);
183
+ }
184
+
185
+ expectPopup(popupType, windowAction) {
186
+ return this.expectWindow(popupType, windowAction);
187
+ }
188
+
189
+ expectWindow(windowType, windowAction) {
190
+ const registration = {
191
+ windowType,
192
+ action: windowAction
193
+ };
194
+
195
+ registration.action = vm => {
196
+ this.removeRegistration(registration);
197
+ return windowAction(vm);
198
+ };
199
+
200
+ this.windowStack.push(registration);
201
+ return {
202
+ dispose: () => {
203
+ this.removeRegistration(registration);
204
+ }
205
+ };
206
+ }
207
+
208
+ removeRegistration(r) {
209
+ this.windowStack = this.windowStack.filter(x => x !== r);
210
+ }
211
+
212
+ assert() {
213
+ if (!this.windowStack.length) {
214
+ return;
215
+ }
216
+
217
+ throw new Error(`Expected windows did not open ${this.windowStack.map(x => `"${x.windowType}"`).join(",")}`);
218
+ }
219
+
220
+ registerForPopup() {}
221
+
222
+ forceRemove(view) {
223
+ throw new Error("Method not implemented.");
224
+ }
225
+
226
+ openWindow(url) {
227
+ return this.openTestWindow(url);
228
+ }
229
+
230
+ });
231
+
232
+ _export("MockNavigationService", MockNavigationService = __decorate([RegisterSingleton, __metadata("design:paramtypes", [App])], MockNavigationService));
233
+ }
234
+ };
235
+ });
236
+ //# sourceMappingURL=MockNavigationService.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["MockConfirmViewModel","App","AtomUri","RegisterSingleton","AtomWindowViewModel","NavigationService","MockNavigationService","constructor","app","location","mLocation","v","JSON","stringify","history","push","refresh","navigate","url","back","length","top","pop","alert","msg","title","openTestWindow","message","confirm","openPage","pageName","p","notify","w","windowStack","find","x","windowType","Error","action","c","key","hasOwnProperty","element","query","Promise","resolve","reject","path","ex","undefined","setTimeout","vm","e","expectAlert","expectWindow","expectNotification","expectConfirm","expectPopup","popupType","windowAction","registration","removeRegistration","dispose","r","filter","assert","map","join","registerForPopup","forceRemove","view","openWindow"],"sourceRoot":"","sources":["../../src/services/MockNavigationService.ts"],"sourcesContent":[null]}
@@ -0,0 +1,175 @@
1
+ System.register(["../core/AtomComponent", "../core/AtomUri", "../core/FormattedString", "../core/types", "./ReferenceService"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var AtomComponent, AtomUri, FormattedString, ArrayHelper, ReferenceService, ObjectReference, NavigationService, __awaiter, NotifyType, nameSymbol;
5
+
6
+ function hasPageUrl(target) {
7
+ const url = target[nameSymbol];
8
+
9
+ if (!url) {
10
+ return false;
11
+ }
12
+
13
+ const baseClass = Object.getPrototypeOf(target);
14
+
15
+ if (!baseClass) {
16
+ return false;
17
+ }
18
+
19
+ return baseClass[nameSymbol] !== url;
20
+ }
21
+
22
+ _export({
23
+ NavigationService: void 0,
24
+ NotifyType: void 0
25
+ });
26
+
27
+ return {
28
+ setters: [function (_coreAtomComponent) {
29
+ AtomComponent = _coreAtomComponent.AtomComponent;
30
+ }, function (_coreAtomUri) {
31
+ AtomUri = _coreAtomUri.AtomUri;
32
+ }, function (_coreFormattedString) {
33
+ FormattedString = _coreFormattedString.default;
34
+ }, function (_coreTypes) {
35
+ ArrayHelper = _coreTypes.ArrayHelper;
36
+ }, function (_ReferenceService) {
37
+ ReferenceService = _ReferenceService.default;
38
+ ObjectReference = _ReferenceService.ObjectReference;
39
+ }],
40
+ execute: function () {
41
+ __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
42
+ function adopt(value) {
43
+ return value instanceof P ? value : new P(function (resolve) {
44
+ resolve(value);
45
+ });
46
+ }
47
+
48
+ return new (P || (P = Promise))(function (resolve, reject) {
49
+ function fulfilled(value) {
50
+ try {
51
+ step(generator.next(value));
52
+ } catch (e) {
53
+ reject(e);
54
+ }
55
+ }
56
+
57
+ function rejected(value) {
58
+ try {
59
+ step(generator["throw"](value));
60
+ } catch (e) {
61
+ reject(e);
62
+ }
63
+ }
64
+
65
+ function step(result) {
66
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
67
+ }
68
+
69
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
70
+ });
71
+ };
72
+
73
+ (function (NotifyType) {
74
+ NotifyType["Information"] = "info";
75
+ NotifyType["Warning"] = "warn";
76
+ NotifyType["Error"] = "error";
77
+ })(NotifyType || _export("NotifyType", NotifyType = {}));
78
+
79
+ nameSymbol = UMD.nameSymbol;
80
+
81
+ _export("NavigationService", NavigationService = class NavigationService {
82
+ constructor(app) {
83
+ this.app = app;
84
+ this.callbacks = [];
85
+ }
86
+
87
+ openPage(pageName, viewModelParameters, options) {
88
+ options = options || {};
89
+
90
+ if (typeof pageName !== "string") {
91
+ if (hasPageUrl(pageName)) {
92
+ pageName = pageName[nameSymbol];
93
+ } else {
94
+ const rs = this.app.resolve(ReferenceService);
95
+ const host = pageName instanceof AtomComponent ? "reference" : "class";
96
+ const r = rs.put(pageName);
97
+ pageName = `ref://${host}/${r.key}`;
98
+ }
99
+ }
100
+
101
+ const url = new AtomUri(pageName);
102
+
103
+ if (viewModelParameters) {
104
+ for (const key in viewModelParameters) {
105
+ if (viewModelParameters.hasOwnProperty(key)) {
106
+ const element = viewModelParameters[key];
107
+
108
+ if (element === undefined) {
109
+ continue;
110
+ }
111
+
112
+ if (element === null) {
113
+ url.query["json:" + key] = "null";
114
+ continue;
115
+ }
116
+
117
+ if (key.startsWith("ref:") || element instanceof FormattedString) {
118
+ const r = element instanceof ObjectReference ? element : this.app.resolve(ReferenceService).put(element);
119
+ url.query[key.startsWith("ref:") ? key : `ref:${key}`] = r.key;
120
+ continue;
121
+ }
122
+
123
+ if (typeof element !== "string" && (typeof element === "object" || Array.isArray(element))) {
124
+ url.query["json:" + key] = JSON.stringify(element);
125
+ } else {
126
+ url.query[key] = element;
127
+ }
128
+ }
129
+ }
130
+ }
131
+
132
+ for (const iterator of this.callbacks) {
133
+ const r = iterator(url, options);
134
+
135
+ if (r) {
136
+ return r;
137
+ }
138
+ }
139
+
140
+ return this.openWindow(url, options);
141
+ }
142
+
143
+ remove(view, force) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ if (force) {
146
+ this.app.broadcast(`atom-window-cancel:${view.id}`, "cancelled");
147
+ return true;
148
+ }
149
+
150
+ const vm = view.viewModel;
151
+
152
+ if (vm && vm.cancel) {
153
+ const a = yield vm.cancel();
154
+ return a;
155
+ }
156
+
157
+ this.app.broadcast(`atom-window-cancel:${view.id}`, "cancelled");
158
+ return true;
159
+ });
160
+ }
161
+
162
+ registerNavigationHook(callback) {
163
+ this.callbacks.push(callback);
164
+ return {
165
+ dispose: () => {
166
+ ArrayHelper.remove(this.callbacks, a => a === callback);
167
+ }
168
+ };
169
+ }
170
+
171
+ });
172
+ }
173
+ };
174
+ });
175
+ //# sourceMappingURL=NavigationService.sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["NavigationService","hasPageUrl","target","url","nameSymbol","baseClass","Object","getPrototypeOf","AtomComponent","AtomUri","FormattedString","ArrayHelper","ReferenceService","ObjectReference","NotifyType","UMD","constructor","app","openPage","pageName","viewModelParameters","options","rs","resolve","host","r","put","key","hasOwnProperty","element","undefined","query","startsWith","Array","isArray","JSON","stringify","iterator","callbacks","openWindow","remove","view","force","broadcast","id","vm","viewModel","cancel","a","registerNavigationHook","callback","push","dispose"],"sourceRoot":"","sources":["../../src/services/NavigationService.ts"],"sourcesContent":[null]}
@@ -0,0 +1,68 @@
1
+ System.register(["../di/DISingleton"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var DISingleton, ObjectReference, __decorate, ReferenceService;
5
+
6
+ _export("ObjectReference", void 0);
7
+
8
+ return {
9
+ setters: [function (_diDISingleton) {
10
+ DISingleton = _diDISingleton.default;
11
+ }],
12
+ execute: function () {
13
+ __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
14
+ var c = arguments.length,
15
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
16
+ d;
17
+ 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;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
+
21
+ _export("ObjectReference", ObjectReference = class ObjectReference {
22
+ constructor(key, value) {
23
+ this.key = key;
24
+ this.value = value;
25
+ }
26
+
27
+ });
28
+
29
+ ReferenceService = class ReferenceService {
30
+ constructor() {
31
+ this.cache = {};
32
+ this.id = 1;
33
+ }
34
+
35
+ get(key) {
36
+ return this.cache[key];
37
+ }
38
+
39
+ put(item, ttl = 60) {
40
+ const key = `k${this.id++}`;
41
+ const r = new ObjectReference(key, item);
42
+
43
+ r.consume = () => {
44
+ delete this.cache[key];
45
+
46
+ if (r.timeout) {
47
+ clearTimeout(r.timeout);
48
+ }
49
+
50
+ return r.value;
51
+ };
52
+
53
+ r.timeout = setTimeout(() => {
54
+ r.timeout = 0;
55
+ r.consume();
56
+ }, ttl * 1000);
57
+ this.cache[key] = r;
58
+ return r;
59
+ }
60
+
61
+ };
62
+ ReferenceService = __decorate([DISingleton()], ReferenceService);
63
+
64
+ _export("default", ReferenceService);
65
+ }
66
+ };
67
+ });
68
+ //# sourceMappingURL=ReferenceService.sys.js.map