@cratis/arc.react.mvvm 18.0.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 (238) hide show
  1. package/Bindings.ts +18 -0
  2. package/IHandleParams.ts +14 -0
  3. package/IHandleProps.ts +14 -0
  4. package/IHandleQueryParams.ts +14 -0
  5. package/IViewModelDetached.ts +12 -0
  6. package/MVVMContext.tsx +27 -0
  7. package/MobxOptions.ts +20 -0
  8. package/README.md +65 -0
  9. package/WellKnownBindings.ts +11 -0
  10. package/browser/ILocalStorage.ts +11 -0
  11. package/browser/INavigation.ts +9 -0
  12. package/browser/Navigation.ts +29 -0
  13. package/browser/index.ts +6 -0
  14. package/dialogs/BusyIndicator.ts +24 -0
  15. package/dialogs/DialogMediator.tsx +51 -0
  16. package/dialogs/DialogMediatorHandler.ts +67 -0
  17. package/dialogs/DialogRegistration.ts +25 -0
  18. package/dialogs/Dialogs.ts +58 -0
  19. package/dialogs/IDialogMediatorHandler.ts +40 -0
  20. package/dialogs/IDialogs.ts +37 -0
  21. package/dialogs/index.ts +12 -0
  22. package/dialogs/useDialog.tsx +34 -0
  23. package/dist/cjs/Bindings.d.ts +4 -0
  24. package/dist/cjs/Bindings.d.ts.map +1 -0
  25. package/dist/cjs/Bindings.js +21 -0
  26. package/dist/cjs/Bindings.js.map +1 -0
  27. package/dist/cjs/IHandleParams.d.ts +4 -0
  28. package/dist/cjs/IHandleParams.d.ts.map +1 -0
  29. package/dist/cjs/IHandleProps.d.ts +4 -0
  30. package/dist/cjs/IHandleProps.d.ts.map +1 -0
  31. package/dist/cjs/IHandleQueryParams.d.ts +4 -0
  32. package/dist/cjs/IHandleQueryParams.d.ts.map +1 -0
  33. package/dist/cjs/IViewModelDetached.d.ts +4 -0
  34. package/dist/cjs/IViewModelDetached.d.ts.map +1 -0
  35. package/dist/cjs/MVVMContext.d.ts +9 -0
  36. package/dist/cjs/MVVMContext.d.ts.map +1 -0
  37. package/dist/cjs/MVVMContext.js +21 -0
  38. package/dist/cjs/MVVMContext.js.map +1 -0
  39. package/dist/cjs/MobxOptions.d.ts +12 -0
  40. package/dist/cjs/MobxOptions.d.ts.map +1 -0
  41. package/dist/cjs/WellKnownBindings.d.ts +6 -0
  42. package/dist/cjs/WellKnownBindings.d.ts.map +1 -0
  43. package/dist/cjs/WellKnownBindings.js +10 -0
  44. package/dist/cjs/WellKnownBindings.js.map +1 -0
  45. package/dist/cjs/browser/ILocalStorage.d.ts +9 -0
  46. package/dist/cjs/browser/ILocalStorage.d.ts.map +1 -0
  47. package/dist/cjs/browser/ILocalStorage.js +7 -0
  48. package/dist/cjs/browser/ILocalStorage.js.map +1 -0
  49. package/dist/cjs/browser/INavigation.d.ts +5 -0
  50. package/dist/cjs/browser/INavigation.d.ts.map +1 -0
  51. package/dist/cjs/browser/INavigation.js +7 -0
  52. package/dist/cjs/browser/INavigation.js.map +1 -0
  53. package/dist/cjs/browser/Navigation.d.ts +7 -0
  54. package/dist/cjs/browser/Navigation.d.ts.map +1 -0
  55. package/dist/cjs/browser/Navigation.js +25 -0
  56. package/dist/cjs/browser/Navigation.js.map +1 -0
  57. package/dist/cjs/browser/index.d.ts +4 -0
  58. package/dist/cjs/browser/index.d.ts.map +1 -0
  59. package/dist/cjs/browser/index.js +12 -0
  60. package/dist/cjs/browser/index.js.map +1 -0
  61. package/dist/cjs/dialogs/BusyIndicator.d.ts +7 -0
  62. package/dist/cjs/dialogs/BusyIndicator.d.ts.map +1 -0
  63. package/dist/cjs/dialogs/BusyIndicator.js +16 -0
  64. package/dist/cjs/dialogs/BusyIndicator.js.map +1 -0
  65. package/dist/cjs/dialogs/DialogMediator.d.ts +11 -0
  66. package/dist/cjs/dialogs/DialogMediator.d.ts.map +1 -0
  67. package/dist/cjs/dialogs/DialogMediator.js +17 -0
  68. package/dist/cjs/dialogs/DialogMediator.js.map +1 -0
  69. package/dist/cjs/dialogs/DialogMediatorHandler.d.ts +14 -0
  70. package/dist/cjs/dialogs/DialogMediatorHandler.d.ts.map +1 -0
  71. package/dist/cjs/dialogs/DialogMediatorHandler.js +46 -0
  72. package/dist/cjs/dialogs/DialogMediatorHandler.js.map +1 -0
  73. package/dist/cjs/dialogs/DialogRegistration.d.ts +8 -0
  74. package/dist/cjs/dialogs/DialogRegistration.d.ts.map +1 -0
  75. package/dist/cjs/dialogs/DialogRegistration.js +13 -0
  76. package/dist/cjs/dialogs/DialogRegistration.js.map +1 -0
  77. package/dist/cjs/dialogs/Dialogs.d.ts +13 -0
  78. package/dist/cjs/dialogs/Dialogs.d.ts.map +1 -0
  79. package/dist/cjs/dialogs/Dialogs.js +40 -0
  80. package/dist/cjs/dialogs/Dialogs.js.map +1 -0
  81. package/dist/cjs/dialogs/IDialogMediatorHandler.d.ts +10 -0
  82. package/dist/cjs/dialogs/IDialogMediatorHandler.d.ts.map +1 -0
  83. package/dist/cjs/dialogs/IDialogMediatorHandler.js +7 -0
  84. package/dist/cjs/dialogs/IDialogMediatorHandler.js.map +1 -0
  85. package/dist/cjs/dialogs/IDialogs.d.ts +9 -0
  86. package/dist/cjs/dialogs/IDialogs.d.ts.map +1 -0
  87. package/dist/cjs/dialogs/IDialogs.js +7 -0
  88. package/dist/cjs/dialogs/IDialogs.js.map +1 -0
  89. package/dist/cjs/dialogs/index.d.ts +10 -0
  90. package/dist/cjs/dialogs/index.d.ts.map +1 -0
  91. package/dist/cjs/dialogs/index.js +24 -0
  92. package/dist/cjs/dialogs/index.js.map +1 -0
  93. package/dist/cjs/dialogs/useDialog.d.ts +5 -0
  94. package/dist/cjs/dialogs/useDialog.d.ts.map +1 -0
  95. package/dist/cjs/dialogs/useDialog.js +23 -0
  96. package/dist/cjs/dialogs/useDialog.js.map +1 -0
  97. package/dist/cjs/index.d.ts +14 -0
  98. package/dist/cjs/index.d.ts.map +1 -0
  99. package/dist/cjs/index.js +22 -0
  100. package/dist/cjs/index.js.map +1 -0
  101. package/dist/cjs/messaging/IMessenger.d.ts +8 -0
  102. package/dist/cjs/messaging/IMessenger.d.ts.map +1 -0
  103. package/dist/cjs/messaging/IMessenger.js +7 -0
  104. package/dist/cjs/messaging/IMessenger.js.map +1 -0
  105. package/dist/cjs/messaging/Message.d.ts +7 -0
  106. package/dist/cjs/messaging/Message.d.ts.map +1 -0
  107. package/dist/cjs/messaging/Message.js +13 -0
  108. package/dist/cjs/messaging/Message.js.map +1 -0
  109. package/dist/cjs/messaging/Messenger.d.ts +9 -0
  110. package/dist/cjs/messaging/Messenger.d.ts.map +1 -0
  111. package/dist/cjs/messaging/Messenger.js +20 -0
  112. package/dist/cjs/messaging/Messenger.js.map +1 -0
  113. package/dist/cjs/messaging/index.d.ts +4 -0
  114. package/dist/cjs/messaging/index.d.ts.map +1 -0
  115. package/dist/cjs/messaging/index.js +12 -0
  116. package/dist/cjs/messaging/index.js.map +1 -0
  117. package/dist/cjs/withViewModel.d.ts +8 -0
  118. package/dist/cjs/withViewModel.d.ts.map +1 -0
  119. package/dist/cjs/withViewModel.js +125 -0
  120. package/dist/cjs/withViewModel.js.map +1 -0
  121. package/dist/esm/Bindings.d.ts +4 -0
  122. package/dist/esm/Bindings.d.ts.map +1 -0
  123. package/dist/esm/Bindings.js +19 -0
  124. package/dist/esm/Bindings.js.map +1 -0
  125. package/dist/esm/IHandleParams.d.ts +4 -0
  126. package/dist/esm/IHandleParams.d.ts.map +1 -0
  127. package/dist/esm/IHandleParams.js +2 -0
  128. package/dist/esm/IHandleParams.js.map +1 -0
  129. package/dist/esm/IHandleProps.d.ts +4 -0
  130. package/dist/esm/IHandleProps.d.ts.map +1 -0
  131. package/dist/esm/IHandleProps.js +2 -0
  132. package/dist/esm/IHandleProps.js.map +1 -0
  133. package/dist/esm/IHandleQueryParams.d.ts +4 -0
  134. package/dist/esm/IHandleQueryParams.d.ts.map +1 -0
  135. package/dist/esm/IHandleQueryParams.js +2 -0
  136. package/dist/esm/IHandleQueryParams.js.map +1 -0
  137. package/dist/esm/IViewModelDetached.d.ts +4 -0
  138. package/dist/esm/IViewModelDetached.d.ts.map +1 -0
  139. package/dist/esm/IViewModelDetached.js +2 -0
  140. package/dist/esm/IViewModelDetached.js.map +1 -0
  141. package/dist/esm/MVVMContext.d.ts +9 -0
  142. package/dist/esm/MVVMContext.d.ts.map +1 -0
  143. package/dist/esm/MVVMContext.js +18 -0
  144. package/dist/esm/MVVMContext.js.map +1 -0
  145. package/dist/esm/MobxOptions.d.ts +12 -0
  146. package/dist/esm/MobxOptions.d.ts.map +1 -0
  147. package/dist/esm/MobxOptions.js +2 -0
  148. package/dist/esm/MobxOptions.js.map +1 -0
  149. package/dist/esm/WellKnownBindings.d.ts +6 -0
  150. package/dist/esm/WellKnownBindings.d.ts.map +1 -0
  151. package/dist/esm/WellKnownBindings.js +8 -0
  152. package/dist/esm/WellKnownBindings.js.map +1 -0
  153. package/dist/esm/browser/ILocalStorage.d.ts +9 -0
  154. package/dist/esm/browser/ILocalStorage.d.ts.map +1 -0
  155. package/dist/esm/browser/ILocalStorage.js +5 -0
  156. package/dist/esm/browser/ILocalStorage.js.map +1 -0
  157. package/dist/esm/browser/INavigation.d.ts +5 -0
  158. package/dist/esm/browser/INavigation.d.ts.map +1 -0
  159. package/dist/esm/browser/INavigation.js +5 -0
  160. package/dist/esm/browser/INavigation.js.map +1 -0
  161. package/dist/esm/browser/Navigation.d.ts +7 -0
  162. package/dist/esm/browser/Navigation.d.ts.map +1 -0
  163. package/dist/esm/browser/Navigation.js +23 -0
  164. package/dist/esm/browser/Navigation.js.map +1 -0
  165. package/dist/esm/browser/index.d.ts +4 -0
  166. package/dist/esm/browser/index.d.ts.map +1 -0
  167. package/dist/esm/browser/index.js +4 -0
  168. package/dist/esm/browser/index.js.map +1 -0
  169. package/dist/esm/dialogs/BusyIndicator.d.ts +7 -0
  170. package/dist/esm/dialogs/BusyIndicator.d.ts.map +1 -0
  171. package/dist/esm/dialogs/BusyIndicator.js +14 -0
  172. package/dist/esm/dialogs/BusyIndicator.js.map +1 -0
  173. package/dist/esm/dialogs/DialogMediator.d.ts +11 -0
  174. package/dist/esm/dialogs/DialogMediator.d.ts.map +1 -0
  175. package/dist/esm/dialogs/DialogMediator.js +13 -0
  176. package/dist/esm/dialogs/DialogMediator.js.map +1 -0
  177. package/dist/esm/dialogs/DialogMediatorHandler.d.ts +14 -0
  178. package/dist/esm/dialogs/DialogMediatorHandler.d.ts.map +1 -0
  179. package/dist/esm/dialogs/DialogMediatorHandler.js +44 -0
  180. package/dist/esm/dialogs/DialogMediatorHandler.js.map +1 -0
  181. package/dist/esm/dialogs/DialogRegistration.d.ts +8 -0
  182. package/dist/esm/dialogs/DialogRegistration.d.ts.map +1 -0
  183. package/dist/esm/dialogs/DialogRegistration.js +11 -0
  184. package/dist/esm/dialogs/DialogRegistration.js.map +1 -0
  185. package/dist/esm/dialogs/Dialogs.d.ts +13 -0
  186. package/dist/esm/dialogs/Dialogs.d.ts.map +1 -0
  187. package/dist/esm/dialogs/Dialogs.js +38 -0
  188. package/dist/esm/dialogs/Dialogs.js.map +1 -0
  189. package/dist/esm/dialogs/IDialogMediatorHandler.d.ts +10 -0
  190. package/dist/esm/dialogs/IDialogMediatorHandler.d.ts.map +1 -0
  191. package/dist/esm/dialogs/IDialogMediatorHandler.js +5 -0
  192. package/dist/esm/dialogs/IDialogMediatorHandler.js.map +1 -0
  193. package/dist/esm/dialogs/IDialogs.d.ts +9 -0
  194. package/dist/esm/dialogs/IDialogs.d.ts.map +1 -0
  195. package/dist/esm/dialogs/IDialogs.js +5 -0
  196. package/dist/esm/dialogs/IDialogs.js.map +1 -0
  197. package/dist/esm/dialogs/index.d.ts +10 -0
  198. package/dist/esm/dialogs/index.d.ts.map +1 -0
  199. package/dist/esm/dialogs/index.js +9 -0
  200. package/dist/esm/dialogs/index.js.map +1 -0
  201. package/dist/esm/dialogs/useDialog.d.ts +5 -0
  202. package/dist/esm/dialogs/useDialog.d.ts.map +1 -0
  203. package/dist/esm/dialogs/useDialog.js +21 -0
  204. package/dist/esm/dialogs/useDialog.js.map +1 -0
  205. package/dist/esm/index.d.ts +14 -0
  206. package/dist/esm/index.d.ts.map +1 -0
  207. package/dist/esm/index.js +12 -0
  208. package/dist/esm/index.js.map +1 -0
  209. package/dist/esm/messaging/IMessenger.d.ts +8 -0
  210. package/dist/esm/messaging/IMessenger.d.ts.map +1 -0
  211. package/dist/esm/messaging/IMessenger.js +5 -0
  212. package/dist/esm/messaging/IMessenger.js.map +1 -0
  213. package/dist/esm/messaging/Message.d.ts +7 -0
  214. package/dist/esm/messaging/Message.d.ts.map +1 -0
  215. package/dist/esm/messaging/Message.js +11 -0
  216. package/dist/esm/messaging/Message.js.map +1 -0
  217. package/dist/esm/messaging/Messenger.d.ts +9 -0
  218. package/dist/esm/messaging/Messenger.d.ts.map +1 -0
  219. package/dist/esm/messaging/Messenger.js +18 -0
  220. package/dist/esm/messaging/Messenger.js.map +1 -0
  221. package/dist/esm/messaging/index.d.ts +4 -0
  222. package/dist/esm/messaging/index.d.ts.map +1 -0
  223. package/dist/esm/messaging/index.js +4 -0
  224. package/dist/esm/messaging/index.js.map +1 -0
  225. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  226. package/dist/esm/withViewModel.d.ts +8 -0
  227. package/dist/esm/withViewModel.d.ts.map +1 -0
  228. package/dist/esm/withViewModel.js +123 -0
  229. package/dist/esm/withViewModel.js.map +1 -0
  230. package/global.d.ts +11 -0
  231. package/index.ts +21 -0
  232. package/messaging/IMessenger.ts +28 -0
  233. package/messaging/Message.ts +18 -0
  234. package/messaging/Messenger.ts +26 -0
  235. package/messaging/for_Messenger/when_publishing_message_with_subscriber.ts +27 -0
  236. package/messaging/index.ts +6 -0
  237. package/package.json +71 -0
  238. package/withViewModel.tsx +181 -0
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var BusyIndicator = require('./BusyIndicator.js');
4
+ var DialogMediator = require('./DialogMediator.js');
5
+ var DialogMediatorHandler = require('./DialogMediatorHandler.js');
6
+ var DialogRegistration = require('./DialogRegistration.js');
7
+ var Dialogs = require('./Dialogs.js');
8
+ var IDialogMediatorHandler = require('./IDialogMediatorHandler.js');
9
+ var IDialogs = require('./IDialogs.js');
10
+ var useDialog = require('./useDialog.js');
11
+
12
+
13
+
14
+ exports.BusyIndicator = BusyIndicator.BusyIndicator;
15
+ exports.DialogMediator = DialogMediator.DialogMediator;
16
+ exports.DialogMediatorContext = DialogMediator.DialogMediatorContext;
17
+ exports.useDialogMediator = DialogMediator.useDialogMediator;
18
+ exports.DialogMediatorHandler = DialogMediatorHandler.DialogMediatorHandler;
19
+ exports.DialogRegistration = DialogRegistration.DialogRegistration;
20
+ exports.Dialogs = Dialogs.Dialogs;
21
+ exports.IDialogMediatorHandler = IDialogMediatorHandler.IDialogMediatorHandler;
22
+ exports.IDialogs = IDialogs.IDialogs;
23
+ exports.useDialog = useDialog.useDialog;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import { ComponentType, FC } from 'react';
2
+ import { Constructor } from '@cratis/fundamentals';
3
+ import { ShowDialog } from '@cratis/arc.react/dialogs';
4
+ export declare function useDialog<TProps extends object = object, TResponse = object>(requestType: Constructor<TProps>, DialogComponent: ComponentType<TProps>): [FC<TProps>, ShowDialog<TProps, TResponse>];
5
+ //# sourceMappingURL=useDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDialog.d.ts","sourceRoot":"","sources":["../../../dialogs/useDialog.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,aAAa,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAgB,UAAU,EAA8B,MAAM,2BAA2B,CAAC;AASjG,wBAAgB,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EACxE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,GACvC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAgB7C"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var dialogs = require('@cratis/arc.react/dialogs');
5
+ var DialogMediator = require('./DialogMediator.js');
6
+
7
+ function useDialog(requestType, DialogComponent) {
8
+ const mediator = DialogMediator.useDialogMediator();
9
+ const [DialogWrapper, showDialog, actualDialogContext] = dialogs.useDialog(DialogComponent);
10
+ const closeDialog = React.useCallback((result, value) => {
11
+ actualDialogContext.closeDialog(result, value);
12
+ }, []);
13
+ React.useEffect(() => {
14
+ mediator.subscribe(requestType, async (request, resolver) => {
15
+ const [result, response] = await showDialog(request);
16
+ resolver(result, response);
17
+ }, closeDialog);
18
+ }, []);
19
+ return [DialogWrapper, showDialog];
20
+ }
21
+
22
+ exports.useDialog = useDialog;
23
+ //# sourceMappingURL=useDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDialog.js","sources":["../../../dialogs/useDialog.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useEffect, ComponentType, FC, useCallback } from 'react';\nimport { Constructor } from '@cratis/fundamentals';\nimport { DialogResult, ShowDialog, useDialog as useDialogBase } from '@cratis/arc.react/dialogs';\nimport { useDialogMediator } from './DialogMediator';\n\n/**\n * Use a dialog request for showing a dialog, similar to useDialog.\n * @param requestType Type of request to use that represents a request that will be made by your view model.\n * @param DialogComponent The dialog component to render.\n * @returns A tuple with a component to use for rendering the dialog.\n */\nexport function useDialog<TProps extends object = object, TResponse = object>(\n requestType: Constructor<TProps>,\n DialogComponent: ComponentType<TProps>\n): [FC<TProps>, ShowDialog<TProps, TResponse>] {\n const mediator = useDialogMediator();\n const [DialogWrapper, showDialog, actualDialogContext] = useDialogBase<TResponse, TProps>(DialogComponent);\n\n const closeDialog = useCallback((result: DialogResult, value?: TResponse) => {\n actualDialogContext.closeDialog(result, value as TResponse);\n }, []);\n\n useEffect(() => {\n mediator.subscribe(requestType, async (request, resolver) => {\n const [result, response] = await showDialog(request as unknown as TProps);\n resolver(result, response);\n }, closeDialog);\n }, []);\n\n return [DialogWrapper, showDialog];\n}\n"],"names":["useDialogMediator","useDialogBase","useCallback","useEffect"],"mappings":";;;;;;AAcM,SAAU,SAAS,CACrB,WAAgC,EAChC,eAAsC,EAAA;AAEtC,IAAA,MAAM,QAAQ,GAAGA,gCAAiB,EAAE;AACpC,IAAA,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,mBAAmB,CAAC,GAAGC,iBAAa,CAAoB,eAAe,CAAC;IAE1G,MAAM,WAAW,GAAGC,iBAAW,CAAC,CAAC,MAAoB,EAAE,KAAiB,KAAI;AACxE,QAAA,mBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,KAAkB,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC;IAENC,eAAS,CAAC,MAAK;QACX,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAI;YACxD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,UAAU,CAAC,OAA4B,CAAC;AACzE,YAAA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9B,CAAC,EAAE,WAAW,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;AACtC;;;;"}
@@ -0,0 +1,14 @@
1
+ import 'reflect-metadata';
2
+ import * as browser from './browser';
3
+ import * as messaging from './messaging';
4
+ import * as dialogs from './dialogs';
5
+ export * from './Bindings';
6
+ export * from './MVVMContext';
7
+ export * from './withViewModel';
8
+ export * from './IViewModelDetached';
9
+ export * from './WellKnownBindings';
10
+ export * from './IHandleProps';
11
+ export * from './IHandleParams';
12
+ export * from './IHandleQueryParams';
13
+ export { browser, messaging, dialogs };
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACH,OAAO,EACP,SAAS,EACT,OAAO,EACV,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ require('reflect-metadata');
4
+ var index = require('./browser/index.js');
5
+ var index$1 = require('./messaging/index.js');
6
+ var index$2 = require('./dialogs/index.js');
7
+ var Bindings = require('./Bindings.js');
8
+ var MVVMContext = require('./MVVMContext.js');
9
+ var withViewModel = require('./withViewModel.js');
10
+ var WellKnownBindings = require('./WellKnownBindings.js');
11
+
12
+
13
+
14
+ exports.browser = index;
15
+ exports.messaging = index$1;
16
+ exports.dialogs = index$2;
17
+ exports.Bindings = Bindings.Bindings;
18
+ exports.MVVM = MVVMContext.MVVM;
19
+ exports.MVVMContext = MVVMContext.MVVMContext;
20
+ exports.withViewModel = withViewModel.withViewModel;
21
+ exports.WellKnownBindings = WellKnownBindings.WellKnownBindings;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Subscription } from 'rxjs';
2
+ import { Constructor } from '@cratis/fundamentals';
3
+ export type MessageHandler<T> = (message: T) => void;
4
+ export declare abstract class IMessenger {
5
+ abstract publish<TMessage extends object>(message: TMessage): void;
6
+ abstract subscribe<TMessage extends object>(type: Constructor<TMessage>, callback: MessageHandler<TMessage>): Subscription;
7
+ }
8
+ //# sourceMappingURL=IMessenger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessenger.d.ts","sourceRoot":"","sources":["../../../messaging/IMessenger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAKrD,8BAAsB,UAAU;IAM5B,QAAQ,CAAC,OAAO,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;IAMlE,QAAQ,CAAC,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,YAAY;CAC7H"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ class IMessenger {
4
+ }
5
+
6
+ exports.IMessenger = IMessenger;
7
+ //# sourceMappingURL=IMessenger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessenger.js","sources":["../../../messaging/IMessenger.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Subscription } from 'rxjs';\nimport { Constructor } from '@cratis/fundamentals';\n\n/**\n * Represents a message handler.\n */\nexport type MessageHandler<T> = (message: T) => void;\n\n/**\n * Defines a system for publishing and subscribing to messages.\n */\nexport abstract class IMessenger {\n\n /**\n * Publish a message.\n * @param {*} message Message to publish.\n */\n abstract publish<TMessage extends object>(message: TMessage): void;\n\n /**\n * Subscribe to a specific message type.\n * @param {MessageHandler} callback Callback that gets called when message arrives.\n */\n abstract subscribe<TMessage extends object>(type: Constructor<TMessage>, callback: MessageHandler<TMessage>): Subscription;\n}\n"],"names":[],"mappings":";;MAcsB,UAAU,CAAA;AAa/B;;;;"}
@@ -0,0 +1,7 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ export declare class Message {
3
+ readonly type: Constructor;
4
+ readonly content: object;
5
+ constructor(type: Constructor, content: object);
6
+ }
7
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../messaging/Message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,qBAAa,OAAO;IAOJ,QAAQ,CAAC,IAAI,EAAE,WAAW;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAA3C,IAAI,EAAE,WAAW,EAAW,OAAO,EAAE,MAAM;CAEnE"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ class Message {
4
+ type;
5
+ content;
6
+ constructor(type, content) {
7
+ this.type = type;
8
+ this.content = content;
9
+ }
10
+ }
11
+
12
+ exports.Message = Message;
13
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sources":["../../../messaging/Message.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Constructor } from '@cratis/fundamentals';\n\n/**\n * Represents a message published on the {@link Messenger}.\n */\nexport class Message {\n\n /**\n * Initializes a new instance of {@link Message}.\n * @param {Constructor} type Type of the content in the message.\n * @param {*} content The actual content.\n */\n constructor(readonly type: Constructor, readonly content: object) {\n }\n}\n"],"names":[],"mappings":";;MAQa,OAAO,CAAA;AAOK,IAAA,IAAA;AAA4B,IAAA,OAAA;IAAjD,WAAA,CAAqB,IAAiB,EAAW,OAAe,EAAA;QAA3C,IAAA,CAAA,IAAI,GAAJ,IAAI;QAAwB,IAAA,CAAA,OAAO,GAAP,OAAO;IACxD;AACH;;;;"}
@@ -0,0 +1,9 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { IMessenger } from './IMessenger';
3
+ import { Subscription } from 'rxjs';
4
+ export declare class Messenger extends IMessenger {
5
+ private _messages;
6
+ publish<TMessage extends object>(message: TMessage): void;
7
+ subscribe<TMessage extends object>(type: Constructor<TMessage>, callback: (message: TMessage) => void): Subscription;
8
+ }
9
+ //# sourceMappingURL=Messenger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messenger.d.ts","sourceRoot":"","sources":["../../../messaging/Messenger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAmB,YAAY,EAAE,MAAM,MAAM,CAAC;AAMrD,qBAAa,SAAU,SAAQ,UAAU;IACrC,OAAO,CAAC,SAAS,CAA4C;IAG7D,OAAO,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;IAKzD,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,YAAY;CAKvH"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var IMessenger = require('./IMessenger.js');
4
+ var rxjs = require('rxjs');
5
+ var Message = require('./Message.js');
6
+
7
+ class Messenger extends IMessenger.IMessenger {
8
+ _messages = new rxjs.Subject();
9
+ publish(message) {
10
+ this._messages.next(new Message.Message(message.constructor, message));
11
+ }
12
+ subscribe(type, callback) {
13
+ const observable = this._messages.pipe(rxjs.filter(m => m.type === type));
14
+ const subscription = observable.subscribe(m => callback(m.content));
15
+ return subscription;
16
+ }
17
+ }
18
+
19
+ exports.Messenger = Messenger;
20
+ //# sourceMappingURL=Messenger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messenger.js","sources":["../../../messaging/Messenger.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Constructor } from '@cratis/fundamentals';\nimport { IMessenger } from './IMessenger';\nimport { filter, Subject, Subscription } from 'rxjs';\nimport { Message } from './Message';\n\n/**\n * Represents an implementation of {@link IMessenger}.\n */\nexport class Messenger extends IMessenger {\n private _messages: Subject<Message> = new Subject<Message>();\n\n /** @inheritdoc */\n publish<TMessage extends object>(message: TMessage): void {\n this._messages.next(new Message(message.constructor as Constructor, message));\n }\n\n /** @inheritdoc */\n subscribe<TMessage extends object>(type: Constructor<TMessage>, callback: (message: TMessage) => void): Subscription {\n const observable = this._messages.pipe(filter(m => m.type === type));\n const subscription = observable.subscribe(m => callback(m.content as TMessage));\n return subscription;\n }\n}\n"],"names":["IMessenger","Subject","Message","filter"],"mappings":";;;;;;AAWM,MAAO,SAAU,SAAQA,qBAAU,CAAA;AAC7B,IAAA,SAAS,GAAqB,IAAIC,YAAO,EAAW;AAG5D,IAAA,OAAO,CAA0B,OAAiB,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAIC,eAAO,CAAC,OAAO,CAAC,WAA0B,EAAE,OAAO,CAAC,CAAC;IACjF;IAGA,SAAS,CAA0B,IAA2B,EAAE,QAAqC,EAAA;QACjG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAACC,WAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACpE,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAmB,CAAC,CAAC;AAC/E,QAAA,OAAO,YAAY;IACvB;AACH;;;;"}
@@ -0,0 +1,4 @@
1
+ export * from './Message';
2
+ export * from './IMessenger';
3
+ export * from './Messenger';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../messaging/index.ts"],"names":[],"mappings":"AAGA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var Message = require('./Message.js');
4
+ var IMessenger = require('./IMessenger.js');
5
+ var Messenger = require('./Messenger.js');
6
+
7
+
8
+
9
+ exports.Message = Message.Message;
10
+ exports.IMessenger = IMessenger.IMessenger;
11
+ exports.Messenger = Messenger.Messenger;
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { FunctionComponent } from 'react';
3
+ export interface IViewContext<T, TProps = object> {
4
+ viewModel: T;
5
+ props: TProps;
6
+ }
7
+ export declare function withViewModel<TViewModel extends object, TProps extends object = object>(viewModelType: Constructor<TViewModel>, targetComponent: FunctionComponent<IViewContext<TViewModel, TProps>>): (props: TProps) => import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=withViewModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withViewModel.d.ts","sourceRoot":"","sources":["../../withViewModel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAyD,MAAM,OAAO,CAAC;AAgEjG,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAC5C,SAAS,EAAE,CAAC,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,aAAa,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EACnF,aAAa,EAAE,WAAW,CAAC,UAAU,CAAC,EACtC,eAAe,EAAE,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,WAEpC,MAAM,oDAgGzC"}
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var tsyringe = require('tsyringe');
5
+ var React = require('react');
6
+ var mobxReact = require('mobx-react');
7
+ var mobx = require('mobx');
8
+ var reactRouterDom = require('react-router-dom');
9
+ var dialogs = require('@cratis/arc.react/dialogs');
10
+ var DialogMediator = require('./dialogs/DialogMediator.js');
11
+ var DialogMediatorHandler = require('./dialogs/DialogMediatorHandler.js');
12
+ var Dialogs = require('./dialogs/Dialogs.js');
13
+ var IDialogs = require('./dialogs/IDialogs.js');
14
+ var arc_react = require('@cratis/arc.react');
15
+ var WellKnownBindings = require('./WellKnownBindings.js');
16
+ var arc = require('@cratis/arc');
17
+ var queries = require('@cratis/arc/queries');
18
+ var commands = require('@cratis/arc/commands');
19
+
20
+ function disposeViewModel(viewModel) {
21
+ const vmWithDetach = viewModel;
22
+ if (typeof (vmWithDetach.detached) == 'function') {
23
+ vmWithDetach.detached();
24
+ }
25
+ if (viewModel.__childContainer) {
26
+ const container = viewModel.__childContainer;
27
+ container.dispose();
28
+ }
29
+ }
30
+ function handleProps(viewModel, params) {
31
+ const vmWithHandleParams = viewModel;
32
+ if (typeof (vmWithHandleParams.handleProps) == 'function') {
33
+ vmWithHandleParams.handleProps(params);
34
+ }
35
+ }
36
+ function handleParams(viewModel, params) {
37
+ const vmWithHandleParams = viewModel;
38
+ if (typeof (vmWithHandleParams.handleParams) == 'function') {
39
+ vmWithHandleParams.handleParams(params);
40
+ }
41
+ }
42
+ function handleQueryParams(viewModel, queryParams) {
43
+ const vmWithHandleParams = viewModel;
44
+ if (typeof (vmWithHandleParams.handleQueryParams) == 'function') {
45
+ vmWithHandleParams.handleQueryParams(queryParams);
46
+ }
47
+ }
48
+ function withViewModel(viewModelType, targetComponent) {
49
+ const renderComponent = (props) => {
50
+ const applicationContext = React.useContext(arc_react.ArcContext);
51
+ const dialogComponentsContext = React.useContext(dialogs.DialogComponentsContext);
52
+ const params = reactRouterDom.useParams();
53
+ const [currentProps, setCurrentProps] = React.useState(props);
54
+ const [previousParams, setPreviousParams] = React.useState(params);
55
+ const [queryParams] = reactRouterDom.useSearchParams();
56
+ const [previousQueryParams, setPreviousQueryParams] = React.useState(queryParams);
57
+ const queryParamsObject = Object.fromEntries(queryParams.entries());
58
+ const dialogMediatorContext = React.useRef(null);
59
+ const currentViewModel = React.useRef(null);
60
+ const [, setInitialRender] = React.useState(true);
61
+ const parentDialogMediator = DialogMediator.useDialogMediator();
62
+ const dialogContext = dialogs.useDialogContext();
63
+ React.useEffect(() => {
64
+ if (currentViewModel.current !== null) {
65
+ return () => {
66
+ disposeViewModel(currentViewModel.current);
67
+ };
68
+ }
69
+ dialogMediatorContext.current = new DialogMediatorHandler.DialogMediatorHandler(parentDialogMediator);
70
+ const child = tsyringe.container.createChildContainer();
71
+ child.registerInstance(WellKnownBindings.WellKnownBindings.props, props);
72
+ child.registerInstance(WellKnownBindings.WellKnownBindings.params, params);
73
+ child.registerInstance(WellKnownBindings.WellKnownBindings.queryParams, queryParamsObject);
74
+ child.registerInstance(dialogs.DialogContextContent, dialogContext);
75
+ const originalResolve = child.resolve;
76
+ child.resolve = function (type) {
77
+ const instance = originalResolve.apply(child, arguments);
78
+ if (type.prototype instanceof queries.ObservableQueryFor ||
79
+ type.prototype instanceof queries.QueryFor ||
80
+ type.prototype instanceof commands.Command) {
81
+ const query = instance;
82
+ query.setMicroservice(applicationContext.microservice);
83
+ query.setApiBasePath(applicationContext.apiBasePath ?? '');
84
+ query.setOrigin(applicationContext.origin ?? '');
85
+ }
86
+ return instance;
87
+ };
88
+ const dialogService = new Dialogs.Dialogs(dialogMediatorContext.current, dialogComponentsContext);
89
+ child.registerInstance(IDialogs.IDialogs, dialogService);
90
+ const viewModel = child.resolve(viewModelType);
91
+ mobx.makeAutoObservable(viewModel);
92
+ viewModel.__childContainer = child;
93
+ currentViewModel.current = viewModel;
94
+ setInitialRender(false);
95
+ handleProps(viewModel, props);
96
+ handleParams(viewModel, params);
97
+ handleQueryParams(viewModel, queryParamsObject);
98
+ return () => {
99
+ if (applicationContext.development === false) {
100
+ disposeViewModel(viewModel);
101
+ }
102
+ };
103
+ }, []);
104
+ if (currentViewModel.current === null)
105
+ return null;
106
+ if (!arc.deepEqual(currentProps, props)) {
107
+ setCurrentProps(props);
108
+ handleProps(currentViewModel.current, props);
109
+ }
110
+ if (!arc.deepEqual(params, previousParams)) {
111
+ setPreviousParams(params);
112
+ handleParams(currentViewModel.current, params);
113
+ }
114
+ if (!arc.deepEqual(queryParams, previousQueryParams)) {
115
+ setPreviousQueryParams(queryParams);
116
+ handleQueryParams(currentViewModel.current, queryParams);
117
+ }
118
+ const component = () => targetComponent({ viewModel: currentViewModel.current, props });
119
+ return (jsxRuntime.jsx(DialogMediator.DialogMediator, { handler: dialogMediatorContext.current, children: jsxRuntime.jsx(mobxReact.Observer, { children: component }) }));
120
+ };
121
+ return renderComponent;
122
+ }
123
+
124
+ exports.withViewModel = withViewModel;
125
+ //# sourceMappingURL=withViewModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withViewModel.js","sources":["../../withViewModel.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { container, DependencyContainer } from 'tsyringe';\nimport { Constructor } from '@cratis/fundamentals';\nimport { FunctionComponent, ReactElement, useContext, useEffect, useRef, useState } from 'react';\nimport { Observer } from 'mobx-react';\nimport { makeAutoObservable } from 'mobx';\nimport { useParams, useSearchParams } from 'react-router-dom';\nimport {\n DialogMediator,\n DialogMediatorHandler,\n Dialogs,\n IDialogMediatorHandler,\n IDialogs,\n useDialogMediator\n} from './dialogs';\nimport { IViewModelDetached } from './IViewModelDetached';\nimport { ArcContext } from '@cratis/arc.react';\nimport { WellKnownBindings } from \"./WellKnownBindings\";\nimport { deepEqual } from '@cratis/arc';\nimport { IHandleParams } from 'IHandleParams';\nimport { IHandleQueryParams } from 'IHandleQueryParams';\nimport { IHandleProps } from 'IHandleProps';\nimport { ObservableQueryFor, QueryFor } from '@cratis/arc/queries';\nimport { Command } from '@cratis/arc/commands';\nimport { ICanBeConfigured } from '@cratis/arc/ICanBeConfigured';\nimport { DialogComponentsContext, DialogContextContent, IDialogComponents, useDialogContext } from '@cratis/arc.react/dialogs';\n\ninterface IViewModel extends IViewModelDetached {\n __childContainer: DependencyContainer;\n}\n\nfunction disposeViewModel(viewModel: IViewModel) {\n const vmWithDetach = (viewModel as IViewModelDetached);\n if (typeof (vmWithDetach.detached) == 'function') {\n vmWithDetach.detached();\n }\n\n if (viewModel.__childContainer) {\n const container = viewModel.__childContainer as DependencyContainer;\n container.dispose();\n }\n}\n\nfunction handleProps(viewModel: IViewModel, params: object) {\n const vmWithHandleParams = (viewModel as unknown as IHandleProps);\n if (typeof (vmWithHandleParams.handleProps) == 'function') {\n vmWithHandleParams.handleProps(params);\n }\n}\n\nfunction handleParams(viewModel: IViewModel, params: object) {\n const vmWithHandleParams = (viewModel as unknown as IHandleParams);\n if (typeof (vmWithHandleParams.handleParams) == 'function') {\n vmWithHandleParams.handleParams(params);\n }\n}\n\nfunction handleQueryParams(viewModel: IViewModel, queryParams: object) {\n const vmWithHandleParams = (viewModel as unknown as IHandleQueryParams);\n if (typeof (vmWithHandleParams.handleQueryParams) == 'function') {\n vmWithHandleParams.handleQueryParams(queryParams);\n }\n}\n\n/**\n * Represents the view context that is passed to the view.\n */\nexport interface IViewContext<T, TProps = object> {\n viewModel: T,\n props: TProps,\n}\n\n/**\n * Use a view model with a component.\n * @param {Constructor} viewModelType View model type to use.\n * @param {FunctionComponent} targetComponent The target component to render.\n * @returns \n */\nexport function withViewModel<TViewModel extends object, TProps extends object = object>(\n viewModelType: Constructor<TViewModel>,\n targetComponent: FunctionComponent<IViewContext<TViewModel, TProps>>) {\n\n const renderComponent = (props: TProps) => {\n const applicationContext = useContext(ArcContext);\n const dialogComponentsContext = useContext<IDialogComponents>(DialogComponentsContext);\n const params = useParams();\n const [currentProps, setCurrentProps] = useState(props);\n const [previousParams, setPreviousParams] = useState(params);\n const [queryParams] = useSearchParams();\n const [previousQueryParams, setPreviousQueryParams] = useState(queryParams);\n const queryParamsObject = Object.fromEntries(queryParams.entries());\n const dialogMediatorContext = useRef<IDialogMediatorHandler | null>(null);\n const currentViewModel = useRef<TViewModel | null>(null);\n const [, setInitialRender] = useState(true);\n const parentDialogMediator = useDialogMediator();\n const dialogContext = useDialogContext();\n\n useEffect(() => {\n if (currentViewModel.current !== null) {\n return () => {\n disposeViewModel(currentViewModel.current as IViewModel);\n };\n }\n\n dialogMediatorContext.current = new DialogMediatorHandler(parentDialogMediator);\n\n const child = container.createChildContainer();\n child.registerInstance(WellKnownBindings.props, props);\n child.registerInstance(WellKnownBindings.params, params);\n child.registerInstance(WellKnownBindings.queryParams, queryParamsObject);\n child.registerInstance(DialogContextContent, dialogContext as unknown);\n\n const originalResolve = child.resolve;\n\n child.resolve = function <T>(type: Constructor<T>) {\n // eslint-disable-next-line prefer-rest-params\n const instance = originalResolve.apply(child, arguments as never);\n\n if (type.prototype instanceof ObservableQueryFor ||\n type.prototype instanceof QueryFor ||\n type.prototype instanceof Command) {\n const query = instance as ICanBeConfigured;\n query.setMicroservice(applicationContext.microservice);\n query.setApiBasePath(applicationContext.apiBasePath ?? '');\n query.setOrigin(applicationContext.origin ?? '');\n }\n\n return instance;\n } as never;\n\n const dialogService = new Dialogs(dialogMediatorContext.current!, dialogComponentsContext);\n child.registerInstance<IDialogs>(IDialogs as Constructor<IDialogs>, dialogService);\n const viewModel = child.resolve<TViewModel>(viewModelType) as IViewModel;\n makeAutoObservable(viewModel);\n viewModel.__childContainer = child;\n currentViewModel.current = viewModel as TViewModel;\n\n setInitialRender(false);\n handleProps(viewModel, props);\n handleParams(viewModel, params);\n handleQueryParams(viewModel, queryParamsObject);\n\n return () => {\n if (applicationContext.development === false) {\n disposeViewModel(viewModel);\n }\n };\n }, []);\n\n if (currentViewModel.current === null) return null;\n\n if (!deepEqual(currentProps, props)) {\n setCurrentProps(props);\n handleProps(currentViewModel.current as IViewModel, props);\n }\n\n if (!deepEqual(params, previousParams)) {\n setPreviousParams(params);\n handleParams(currentViewModel.current as IViewModel, params);\n }\n\n if (!deepEqual(queryParams, previousQueryParams)) {\n setPreviousQueryParams(queryParams);\n handleQueryParams(currentViewModel.current as IViewModel, queryParams);\n }\n\n const component = () => targetComponent({ viewModel: currentViewModel.current!, props }) as ReactElement<object, string>;\n\n return (\n <DialogMediator handler={dialogMediatorContext.current!}>\n <Observer>\n {component}\n </Observer>\n </DialogMediator>\n );\n };\n\n return renderComponent;\n}\n"],"names":["useContext","ArcContext","DialogComponentsContext","useParams","useState","useSearchParams","useRef","useDialogMediator","useDialogContext","useEffect","DialogMediatorHandler","container","WellKnownBindings","DialogContextContent","ObservableQueryFor","QueryFor","Command","Dialogs","IDialogs","makeAutoObservable","deepEqual","_jsx","DialogMediator","Observer"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class Bindings {
2
+ static initialize(): void;
3
+ }
4
+ //# sourceMappingURL=Bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bindings.d.ts","sourceRoot":"","sources":["../../Bindings.ts"],"names":[],"mappings":"AASA,qBAAa,QAAQ;IACjB,MAAM,CAAC,UAAU;CAMpB"}
@@ -0,0 +1,19 @@
1
+ import { container } from 'tsyringe';
2
+ import { IMessenger } from './messaging/IMessenger.js';
3
+ import { Messenger } from './messaging/Messenger.js';
4
+ import { INavigation } from './browser/INavigation.js';
5
+ import { Navigation } from './browser/Navigation.js';
6
+ import { ILocalStorage } from './browser/ILocalStorage.js';
7
+ import { IIdentityProvider, IdentityProvider } from '@cratis/arc/identity';
8
+
9
+ class Bindings {
10
+ static initialize() {
11
+ container.registerSingleton(IMessenger, Messenger);
12
+ container.registerSingleton(INavigation, Navigation);
13
+ container.registerSingleton(IIdentityProvider, IdentityProvider);
14
+ container.registerInstance(ILocalStorage, localStorage);
15
+ }
16
+ }
17
+
18
+ export { Bindings };
19
+ //# sourceMappingURL=Bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bindings.js","sources":["../../Bindings.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { container } from 'tsyringe';\nimport { IMessenger, Messenger } from './messaging';\nimport { Constructor } from '@cratis/fundamentals';\nimport { ILocalStorage, INavigation, Navigation } from './browser';\nimport { IdentityProvider, IIdentityProvider } from '@cratis/arc/identity';\n\nexport class Bindings {\n static initialize() {\n container.registerSingleton(IMessenger as Constructor<IMessenger>, Messenger);\n container.registerSingleton(INavigation as Constructor<INavigation>, Navigation);\n container.registerSingleton(IIdentityProvider as Constructor<IIdentityProvider>, IdentityProvider);\n container.registerInstance(ILocalStorage as Constructor<ILocalStorage>, localStorage);\n }\n}\n\n"],"names":[],"mappings":";;;;;;;;MASa,QAAQ,CAAA;AACjB,IAAA,OAAO,UAAU,GAAA;AACb,QAAA,SAAS,CAAC,iBAAiB,CAAC,UAAqC,EAAE,SAAS,CAAC;AAC7E,QAAA,SAAS,CAAC,iBAAiB,CAAC,WAAuC,EAAE,UAAU,CAAC;AAChF,QAAA,SAAS,CAAC,iBAAiB,CAAC,iBAAmD,EAAE,gBAAgB,CAAC;AAClG,QAAA,SAAS,CAAC,gBAAgB,CAAC,aAA2C,EAAE,YAAY,CAAC;IACzF;AACH;;;;"}
@@ -0,0 +1,4 @@
1
+ export interface IHandleParams<T = object> {
2
+ handleParams(params: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleParams.d.ts","sourceRoot":"","sources":["../../IHandleParams.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM;IAMrC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHandleParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleParams.js","sourceRoot":"","sources":["../../IHandleParams.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface IHandleProps<T = object> {
2
+ handleProps(props: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleProps.d.ts","sourceRoot":"","sources":["../../IHandleProps.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM;IAMpC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHandleProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleProps.js","sourceRoot":"","sources":["../../IHandleProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface IHandleQueryParams<T = object> {
2
+ handleQueryParams(queryParams: T): void;
3
+ }
4
+ //# sourceMappingURL=IHandleQueryParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleQueryParams.d.ts","sourceRoot":"","sources":["../../IHandleQueryParams.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,MAAM;IAM1C,iBAAiB,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHandleQueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHandleQueryParams.js","sourceRoot":"","sources":["../../IHandleQueryParams.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface IViewModelDetached {
2
+ detached(): void;
3
+ }
4
+ //# sourceMappingURL=IViewModelDetached.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IViewModelDetached.d.ts","sourceRoot":"","sources":["../../IViewModelDetached.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IAI/B,QAAQ,IAAI,IAAI,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IViewModelDetached.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IViewModelDetached.js","sourceRoot":"","sources":["../../IViewModelDetached.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { MobxOptions } from './MobxOptions';
3
+ export interface MVVMProps {
4
+ children?: JSX.Element | JSX.Element[];
5
+ mobx?: MobxOptions;
6
+ }
7
+ export declare const MVVMContext: React.Context<{}>;
8
+ export declare const MVVM: (props: MVVMProps) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=MVVMContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MVVMContext.d.ts","sourceRoot":"","sources":["../../MVVMContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,mBAA0B,CAAC;AAEnD,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,4CAWpC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+ import { Bindings } from './Bindings.js';
4
+ import { configure } from 'mobx';
5
+
6
+ const MVVMContext = React.createContext({});
7
+ const MVVM = (props) => {
8
+ const options = {
9
+ ...{ enforceActions: 'never' },
10
+ ...(props.mobx || {}),
11
+ };
12
+ configure(options);
13
+ Bindings.initialize();
14
+ return jsx(MVVMContext.Provider, { value: {}, children: props.children });
15
+ };
16
+
17
+ export { MVVM, MVVMContext };
18
+ //# sourceMappingURL=MVVMContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MVVMContext.js","sources":["../../MVVMContext.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport React from 'react';\nimport { Bindings } from './Bindings';\nimport { configure as configureMobx } from 'mobx';\nimport { MobxOptions } from './MobxOptions';\n\nexport interface MVVMProps {\n children?: JSX.Element | JSX.Element[];\n mobx?: MobxOptions;\n}\n\nexport const MVVMContext = React.createContext({});\n\nexport const MVVM = (props: MVVMProps) => {\n const options: MobxOptions = {\n ...{ enforceActions: 'never' },\n ...(props.mobx || {}),\n };\n\n configureMobx(options);\n\n Bindings.initialize();\n\n return <MVVMContext.Provider value={{}}>{props.children}</MVVMContext.Provider>;\n};\n"],"names":["configureMobx","_jsx"],"mappings":";;;;;AAaO,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE;AAE1C,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,OAAO,GAAgB;AACzB,QAAA,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE;AAC9B,QAAA,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;KACxB;IAEDA,SAAa,CAAC,OAAO,CAAC;IAEtB,QAAQ,CAAC,UAAU,EAAE;AAErB,IAAA,OAAOC,GAAA,CAAC,WAAW,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,EAAA,QAAA,EAAG,KAAK,CAAC,QAAQ,GAAwB;AACnF;;;;"}
@@ -0,0 +1,12 @@
1
+ export interface MobxOptions {
2
+ enforceActions?: "never" | "always" | "observed";
3
+ computedRequiresReaction?: boolean;
4
+ reactionRequiresObservable?: boolean;
5
+ observableRequiresReaction?: boolean;
6
+ isolateGlobalState?: boolean;
7
+ disableErrorBoundaries?: boolean;
8
+ safeDescriptors?: boolean;
9
+ reactionScheduler?: (f: () => void) => void;
10
+ useProxies?: "always" | "never" | "ifavailable";
11
+ }
12
+ //# sourceMappingURL=MobxOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobxOptions.d.ts","sourceRoot":"","sources":["../../MobxOptions.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IACxB,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAInC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAIrC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MobxOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobxOptions.js","sourceRoot":"","sources":["../../MobxOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const WellKnownBindings: {
2
+ queryParams: string;
3
+ params: string;
4
+ props: string;
5
+ };
6
+ //# sourceMappingURL=WellKnownBindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WellKnownBindings.d.ts","sourceRoot":"","sources":["../../WellKnownBindings.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAC"}
@@ -0,0 +1,8 @@
1
+ const WellKnownBindings = {
2
+ queryParams: 'queryParams',
3
+ params: 'params',
4
+ props: 'props'
5
+ };
6
+
7
+ export { WellKnownBindings };
8
+ //# sourceMappingURL=WellKnownBindings.js.map