@rws-framework/client 2.13.2 → 2.13.3

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 (288) hide show
  1. package/.bin/add-v.sh +9 -9
  2. package/.bin/emerge.sh +15 -15
  3. package/.emerge-fast.yaml +46 -46
  4. package/.emerge-typescript-template.yaml +23 -23
  5. package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +693 -693
  6. package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +705 -705
  7. package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +440 -440
  8. package/.emerge-vis-output/fast-element/html/emerge.html +500 -500
  9. package/.emerge-vis-output/fast-element/html/jsconfig.json +8 -8
  10. package/.emerge-vis-output/fast-element/html/resources/css/custom.css +211 -211
  11. package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +44 -44
  12. package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +13 -13
  13. package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +1413 -1413
  14. package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +539 -539
  15. package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +219 -219
  16. package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +179 -179
  17. package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +1002 -1002
  18. package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +71 -71
  19. package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +199 -199
  20. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  21. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  22. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  23. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  24. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  25. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  26. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  27. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  28. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  29. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  30. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  31. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  32. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  33. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  34. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  35. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  36. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  37. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  38. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  39. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  40. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  41. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  42. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  43. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +2 -2
  44. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  45. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  46. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +6 -6
  47. package/.emerge-vis-output/fast-element/html/vendors/hull/hull.js +373 -373
  48. package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  49. package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +6 -6
  50. package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +141 -141
  51. package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +4043 -4043
  52. package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +4538 -4538
  53. package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +2510 -2510
  54. package/.emerge-vis-output/fast-foundation/html/emerge.html +500 -500
  55. package/.emerge-vis-output/fast-foundation/html/jsconfig.json +8 -8
  56. package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +211 -211
  57. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +44 -44
  58. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +13 -13
  59. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +1413 -1413
  60. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +539 -539
  61. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +219 -219
  62. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +179 -179
  63. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +1002 -1002
  64. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +71 -71
  65. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +199 -199
  66. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  67. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  68. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  69. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  70. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  71. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  72. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  73. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  74. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  75. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  76. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  77. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  78. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  79. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  80. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  81. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  82. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  83. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  84. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  85. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  86. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  87. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  88. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  89. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +2 -2
  90. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  91. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  92. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +6 -6
  93. package/.emerge-vis-output/fast-foundation/html/vendors/hull/hull.js +373 -373
  94. package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  95. package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +6 -6
  96. package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +141 -141
  97. package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +1143 -1143
  98. package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +1003 -1003
  99. package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +655 -655
  100. package/.emerge-vis-output/rws-client/html/emerge.html +500 -500
  101. package/.emerge-vis-output/rws-client/html/jsconfig.json +8 -8
  102. package/.emerge-vis-output/rws-client/html/resources/css/custom.css +211 -211
  103. package/.emerge-vis-output/rws-client/html/resources/js/emerge_common.js +44 -44
  104. package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +13 -13
  105. package/.emerge-vis-output/rws-client/html/resources/js/emerge_git.js +1413 -1413
  106. package/.emerge-vis-output/rws-client/html/resources/js/emerge_graph.js +539 -539
  107. package/.emerge-vis-output/rws-client/html/resources/js/emerge_heatmap.js +219 -219
  108. package/.emerge-vis-output/rws-client/html/resources/js/emerge_hull.js +179 -179
  109. package/.emerge-vis-output/rws-client/html/resources/js/emerge_main.js +1002 -1002
  110. package/.emerge-vis-output/rws-client/html/resources/js/emerge_search.js +71 -71
  111. package/.emerge-vis-output/rws-client/html/resources/js/emerge_ui.js +199 -199
  112. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  113. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  114. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  115. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  116. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  117. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  118. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  119. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  120. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  121. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  122. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  123. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  124. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  125. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  126. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  127. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  128. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  129. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  130. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  131. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  132. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  133. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  134. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  135. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.min.js +2 -2
  136. package/.emerge-vis-output/rws-client/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  137. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  138. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/moment.min.js +6 -6
  139. package/.emerge-vis-output/rws-client/html/vendors/hull/hull.js +373 -373
  140. package/.emerge-vis-output/rws-client/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  141. package/.emerge-vis-output/rws-client/html/vendors/popper/popper.min.js +6 -6
  142. package/.emerge-vis-output/rws-client/html/vendors/simpleheat/simpleheat.js +141 -141
  143. package/.eslintrc.json +51 -51
  144. package/.gitmodules +2 -2
  145. package/.setup/.eslintrc.json +11 -11
  146. package/.setup/_base.eslintrc.json +48 -48
  147. package/.setup/tsconfig.json +28 -28
  148. package/PLUGINS.MD +188 -188
  149. package/README.md +1023 -1023
  150. package/_tools.js +396 -396
  151. package/builder/vite/index.ts +4 -4
  152. package/{cfg/build_steps → builder}/vite/loaders/html.ts +11 -11
  153. package/{cfg/build_steps → builder}/vite/loaders/index.ts +8 -8
  154. package/{cfg/build_steps → builder}/vite/loaders/loader.type.ts +27 -27
  155. package/{cfg/build_steps → builder}/vite/loaders/scss.ts +32 -32
  156. package/{cfg/build_steps → builder}/vite/loaders/ts.ts +309 -309
  157. package/builder/vite/rws.vite.config.ts +56 -49
  158. package/{cfg/build_steps → builder}/vite/rws_scss_plugin.ts +61 -60
  159. package/{cfg/build_steps → builder}/vite/scss/_compiler.ts +95 -94
  160. package/{cfg/build_steps → builder}/vite/scss/_fonts.ts +80 -80
  161. package/{cfg/build_steps → builder}/vite/scss/_fs.ts +83 -81
  162. package/{cfg/build_steps → builder}/vite/scss/_import.ts +191 -184
  163. package/builder/webpack/after/copy.js +78 -78
  164. package/builder/webpack/after/sw.js +13 -13
  165. package/builder/webpack/index.js +10 -10
  166. package/builder/webpack/loaders/rws_fast_html_loader.js +17 -17
  167. package/builder/webpack/loaders/rws_fast_scss_loader.js +43 -43
  168. package/builder/webpack/loaders/rws_fast_ts_loader.js +96 -96
  169. package/builder/webpack/loaders/ts/html_error.js +19 -19
  170. package/builder/webpack/rws.webpack.config.js +169 -169
  171. package/builder/webpack/rws_scss_plugin.js +62 -62
  172. package/builder/webpack/rws_webpack_plugin.js +137 -137
  173. package/builder/webpack/scss/_compiler.js +97 -97
  174. package/builder/webpack/scss/_fonts.js +80 -80
  175. package/builder/webpack/scss/_fs.js +84 -84
  176. package/builder/webpack/scss/_import.js +186 -186
  177. package/cfg/_default.cfg.js +26 -26
  178. package/cfg/_storage.d.ts +22 -22
  179. package/cfg/_storage.js +42 -42
  180. package/cfg/build_steps/vite/_build_config.ts +105 -105
  181. package/cfg/build_steps/vite/_env_defines.ts +17 -17
  182. package/cfg/build_steps/vite/_loaders.ts +187 -186
  183. package/cfg/build_steps/vite/index.ts +2 -2
  184. package/cfg/build_steps/vite/types.ts +7 -7
  185. package/cfg/build_steps/webpack/_actions.js +85 -85
  186. package/cfg/build_steps/webpack/_aliases.js +9 -9
  187. package/cfg/build_steps/webpack/_build_config.js +76 -76
  188. package/cfg/build_steps/webpack/_cache.js +98 -98
  189. package/cfg/build_steps/webpack/_component_handling.js +60 -60
  190. package/cfg/build_steps/webpack/_dev_servers.js +14 -14
  191. package/cfg/build_steps/webpack/_env_defines.js +18 -18
  192. package/cfg/build_steps/webpack/_info.js +18 -18
  193. package/cfg/build_steps/webpack/_loaders.js +223 -223
  194. package/cfg/build_steps/webpack/_plugins.js +102 -102
  195. package/cfg/build_steps/webpack/_production.js +37 -37
  196. package/cfg/build_steps/webpack/_rws_externals.js +68 -68
  197. package/cfg/build_steps/webpack/_timing.js +52 -52
  198. package/cfg/build_steps/webpack/_webpack_config.js +58 -58
  199. package/cfg/tsconfigSetup.js +150 -150
  200. package/console.js +86 -86
  201. package/docs/assets/26e93147f10415a0ed4a.svg +6 -6
  202. package/docs/assets/75c9471662e97ee24f29.svg +7 -7
  203. package/docs/assets/db90e4df2373980c497d.svg +9 -9
  204. package/docs/assets/highlight.css +127 -127
  205. package/docs/assets/main.js +59 -59
  206. package/docs/assets/style.css +1414 -1414
  207. package/docs/classes/ApiServiceInstance.html +25 -25
  208. package/docs/classes/ConfigServiceInstance.html +21 -21
  209. package/docs/classes/DOMServiceInstance.html +17 -17
  210. package/docs/classes/NotifyServiceInstance.html +15 -15
  211. package/docs/classes/RWSClientInstance.html +45 -45
  212. package/docs/classes/RWSPlugin.html +13 -13
  213. package/docs/classes/RWSService.html +10 -10
  214. package/docs/classes/RWSViewComponent.html +1022 -1022
  215. package/docs/classes/ServiceWorkerServiceInstance.html +13 -13
  216. package/docs/classes/UtilsServiceInstance.html +13 -13
  217. package/docs/functions/attr.html +5 -5
  218. package/docs/functions/observable.html +3 -3
  219. package/docs/index.html +179 -179
  220. package/docs/interfaces/HTMLTag.html +3 -3
  221. package/docs/interfaces/IRWSConfig.html +20 -20
  222. package/docs/interfaces/IRWSDecoratorOptions.html +5 -5
  223. package/docs/interfaces/IRWSHttpRoute.html +2 -2
  224. package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
  225. package/docs/interfaces/IRWSUser.html +5 -5
  226. package/docs/modules.html +45 -45
  227. package/foundation/index.js +1 -1
  228. package/foundation/rws-foundation.d.ts +7 -7
  229. package/foundation/rws-foundation.js +7 -7
  230. package/package.json +108 -108
  231. package/service_worker/src/_service_worker.ts +83 -83
  232. package/service_worker/tsconfig.json +20 -20
  233. package/service_worker/webpack.config.js +66 -66
  234. package/src/client/components.ts +67 -67
  235. package/src/client/config.ts +165 -165
  236. package/src/client/services.ts +27 -27
  237. package/src/client.ts +212 -212
  238. package/src/components/_attrs/_default_observable_accessor.ts +8 -8
  239. package/src/components/_attrs/_extended_accessor.ts +40 -40
  240. package/src/components/_attrs/_external_handler.ts +7 -7
  241. package/src/components/_attrs/_external_observable_accessor.ts +8 -8
  242. package/src/components/_attrs/angular-attr.ts +34 -34
  243. package/src/components/_attrs/external-attr.ts +59 -59
  244. package/src/components/_attrs/external-observable.ts +52 -52
  245. package/src/components/_attrs/sanitize-html.ts +80 -80
  246. package/src/components/_component.ts +245 -245
  247. package/src/components/_container.ts +15 -15
  248. package/src/components/_decorator.ts +122 -122
  249. package/src/components/_decorators/RWSFillBuild.ts +54 -54
  250. package/src/components/_decorators/RWSInject.ts +49 -49
  251. package/src/components/_decorators/RWSService.ts +11 -11
  252. package/src/components/_decorators/_di.ts +15 -15
  253. package/src/components/_definitions.ts +64 -64
  254. package/src/components/_event_handling.ts +40 -40
  255. package/src/components/index.ts +14 -14
  256. package/src/components/loader/component.ts +12 -12
  257. package/src/components/loader/styles/layout.scss +13 -13
  258. package/src/components/progress/component.ts +54 -54
  259. package/src/components/progress/styles/layout.scss +90 -90
  260. package/src/components/progress/template.html +24 -24
  261. package/src/components/uploader/component.ts +83 -83
  262. package/src/components/uploader/styles/layout.scss +130 -130
  263. package/src/components/uploader/template.html +16 -16
  264. package/src/index.ts +93 -93
  265. package/src/plugins/_builder.js +31 -31
  266. package/src/plugins/_plugin.ts +63 -63
  267. package/src/services/ApiService.ts +242 -242
  268. package/src/services/ConfigService.ts +134 -134
  269. package/src/services/DOMService.ts +100 -100
  270. package/src/services/NotifyService.ts +47 -47
  271. package/src/services/ServiceWorkerService.ts +60 -60
  272. package/src/services/UtilsService.ts +60 -60
  273. package/src/services/_service.ts +64 -64
  274. package/src/styles/_darkreader.scss +30 -30
  275. package/src/styles/_grid.scss +75 -75
  276. package/src/styles/_misc.scss +8 -8
  277. package/src/styles/_scrollbars.scss +40 -40
  278. package/src/styles/includes.scss +4 -4
  279. package/src/types/IRWSConfig.ts +30 -30
  280. package/src/types/IRWSPlugin.ts +18 -18
  281. package/src/types/IRWSUser.ts +6 -6
  282. package/src/types/IRWSViewComponent.ts +36 -36
  283. package/src/types/RWSNotify.ts +6 -6
  284. package/src/types/RWSWindow.ts +41 -41
  285. package/tsconfig.json +30 -30
  286. package/typedoc.json +13 -13
  287. package/types/declarations.d.ts +8 -8
  288. package/types/docs-typings.d.ts +15 -15
@@ -1,64 +1,64 @@
1
- import RWSContainer from "../components/_container";
2
- import { Container } from "../components/_container";
3
- import RWSWindow, {loadRWSRichWindow } from '../types/RWSWindow';
4
- import IRWSUser from "../types/IRWSUser";
5
- import { RWSInfoType } from "../client/components";
6
- import { IRWSPlugin } from "../types/IRWSPlugin";
7
-
8
- type DefaultRWSPluginOptionsType = { enabled: boolean };
9
- type PluginInfoType = { name: string }
10
- type PluginConstructor<T extends DefaultRWSPluginOptionsType> = new (options: T) => RWSPlugin<T>;
11
- abstract class RWSPlugin<PluginOptions extends DefaultRWSPluginOptionsType> implements IRWSPlugin{
12
- protected isLoaded: boolean = false;
13
- protected options: PluginOptions;
14
- protected container: Container;
15
- protected window: RWSWindow;
16
-
17
- static container: Container;
18
- static window: RWSWindow;
19
-
20
- constructor(options: PluginOptions = { enabled: false } as PluginOptions){
21
- this.isLoaded = true;
22
- this.container = RWSPlugin.container;
23
- this.window = RWSPlugin.window;
24
- this.options = options;
25
- }
26
-
27
- async onClientStart(): Promise<void>
28
- {
29
-
30
- }
31
-
32
- async onPartedComponentsLoad(componentParts: RWSInfoType): Promise<void>
33
- {
34
-
35
- }
36
-
37
- async onComponentsDeclare(): Promise<void>
38
- {
39
-
40
- }
41
-
42
- async onSetUser(user: IRWSUser): Promise<void>{
43
-
44
- }
45
-
46
-
47
-
48
- static getPlugin<Plugin extends RWSPlugin<T>, T extends DefaultRWSPluginOptionsType = DefaultRWSPluginOptionsType>(pluginClass: PluginConstructor<T>): Plugin | null
49
- {
50
- const plugin = this.window.RWS.plugins[pluginClass.name];
51
- return plugin ? plugin as Plugin : null;
52
- }
53
-
54
-
55
- static getAllPlugins(): RWSPlugin<DefaultRWSPluginOptionsType>[]
56
- {
57
- return Object.keys(this.window.RWS.plugins).map((key) => this.window.RWS.plugins[key]);
58
- }
59
- }
60
-
61
- RWSPlugin.window = loadRWSRichWindow();
62
- RWSPlugin.container = RWSContainer();
63
-
1
+ import RWSContainer from "../components/_container";
2
+ import { Container } from "../components/_container";
3
+ import RWSWindow, {loadRWSRichWindow } from '../types/RWSWindow';
4
+ import IRWSUser from "../types/IRWSUser";
5
+ import { RWSInfoType } from "../client/components";
6
+ import { IRWSPlugin } from "../types/IRWSPlugin";
7
+
8
+ type DefaultRWSPluginOptionsType = { enabled: boolean };
9
+ type PluginInfoType = { name: string }
10
+ type PluginConstructor<T extends DefaultRWSPluginOptionsType> = new (options: T) => RWSPlugin<T>;
11
+ abstract class RWSPlugin<PluginOptions extends DefaultRWSPluginOptionsType> implements IRWSPlugin{
12
+ protected isLoaded: boolean = false;
13
+ protected options: PluginOptions;
14
+ protected container: Container;
15
+ protected window: RWSWindow;
16
+
17
+ static container: Container;
18
+ static window: RWSWindow;
19
+
20
+ constructor(options: PluginOptions = { enabled: false } as PluginOptions){
21
+ this.isLoaded = true;
22
+ this.container = RWSPlugin.container;
23
+ this.window = RWSPlugin.window;
24
+ this.options = options;
25
+ }
26
+
27
+ async onClientStart(): Promise<void>
28
+ {
29
+
30
+ }
31
+
32
+ async onPartedComponentsLoad(componentParts: RWSInfoType): Promise<void>
33
+ {
34
+
35
+ }
36
+
37
+ async onComponentsDeclare(): Promise<void>
38
+ {
39
+
40
+ }
41
+
42
+ async onSetUser(user: IRWSUser): Promise<void>{
43
+
44
+ }
45
+
46
+
47
+
48
+ static getPlugin<Plugin extends RWSPlugin<T>, T extends DefaultRWSPluginOptionsType = DefaultRWSPluginOptionsType>(pluginClass: PluginConstructor<T>): Plugin | null
49
+ {
50
+ const plugin = this.window.RWS.plugins[pluginClass.name];
51
+ return plugin ? plugin as Plugin : null;
52
+ }
53
+
54
+
55
+ static getAllPlugins(): RWSPlugin<DefaultRWSPluginOptionsType>[]
56
+ {
57
+ return Object.keys(this.window.RWS.plugins).map((key) => this.window.RWS.plugins[key]);
58
+ }
59
+ }
60
+
61
+ RWSPlugin.window = loadRWSRichWindow();
62
+ RWSPlugin.container = RWSContainer();
63
+
64
64
  export { RWSPlugin, DefaultRWSPluginOptionsType }
@@ -1,243 +1,243 @@
1
- import TheService from './_service';
2
-
3
- //@4DI
4
- import ConfigService, { ConfigServiceInstance } from './ConfigService';
5
-
6
- import { upload, UploadResponse } from 'upload';
7
-
8
-
9
- interface RequestOptions {
10
- method?: string;
11
- headers: HeadersInit;
12
- body?: string;
13
- }
14
-
15
- interface IAPIOptions {
16
- headers?: Headers,
17
- routeParams?: {
18
- [key: string]: string
19
- },
20
- }
21
-
22
- interface IHTTProute {
23
- name: string;
24
- path: string;
25
- }
26
-
27
-
28
- interface IPrefixedHTTProutes {
29
- prefix: string;
30
- routes: IHTTProute[];
31
- }
32
-
33
- type IBackendRoute = IHTTProute | IPrefixedHTTProutes;
34
-
35
-
36
- const _DEFAULT_CONTENT_TYPE = 'application/json';
37
-
38
- class ApiService extends TheService {
39
- static _DEFAULT: boolean = true;
40
- private token?: string;
41
-
42
- constructor(@ConfigService private config: ConfigServiceInstance) {
43
- super();
44
- }
45
-
46
- private addHeader(headers: Headers | [string, string][] | {[key: string]: string}, key: string, val: string)
47
- {
48
- if (headers instanceof Headers) {
49
- headers.append(key, val);
50
- } else if (Array.isArray(headers)) {
51
- headers.push([key, val]);
52
- } else {
53
- headers[key] = val;
54
- }
55
- }
56
-
57
- // Function to get headers
58
- private getHeaders(optHeaders: HeadersInit = {}): HeadersInit {
59
- const headers: HeadersInit = { ...optHeaders };
60
-
61
- if (!('Content-Type' in headers)) {
62
- this.addHeader(headers, 'Content-Type', _DEFAULT_CONTENT_TYPE);
63
- }
64
-
65
- if (this.token) {
66
- this.addHeader(headers, 'Authorization', `Bearer ${this.token}`);
67
- }
68
-
69
- if((headers as any)['Content-Type']){
70
- this.addHeader(headers, 'Accept', '*/*');
71
- }else{
72
- this.addHeader(headers, 'Accept', (headers as any)['Content-Type']);
73
- }
74
-
75
- return headers;
76
- }
77
-
78
- public setToken(token: string)
79
- {
80
- this.token = token;
81
- }
82
-
83
- public async pureGet(url: string, options: IAPIOptions = {}): Promise<string> {
84
- try {
85
- const response = await fetch(url, {
86
- headers: this.getHeaders(options.headers),
87
- });
88
- return await response.text();
89
- } catch (error) {
90
- console.error('GET request failed:', error);
91
- throw error;
92
- }
93
- }
94
-
95
- public async isGetTargetReachable(url: string, options: IAPIOptions = {}): Promise<boolean> {
96
- try {
97
- return !!(await this.pureGet(url, options));
98
- } catch (error) {
99
- return false;
100
- }
101
- }
102
-
103
- public async get<T>(url: string, options: IAPIOptions = {}): Promise<T> {
104
- try {
105
- const response = await fetch(url, {
106
- headers: this.getHeaders(options.headers),
107
- });
108
- return await response.json();
109
- } catch (error) {
110
- console.error('GET request failed:', error);
111
- throw error;
112
- }
113
- }
114
-
115
- public async post<T, P extends object = object>(url: string, payload?: P, options: IAPIOptions = {}): Promise<T> {
116
- try {
117
- const response = await fetch(url, {
118
- method: 'POST',
119
- headers: this.getHeaders(options.headers),
120
- body: payload ? JSON.stringify(payload) : null,
121
- });
122
- return await response.json();
123
- } catch (error) {
124
- console.error('POST request failed:', error);
125
- throw error;
126
- }
127
- }
128
-
129
- public async put<T, P extends object = object>(url: string, payload?: P, options: IAPIOptions = {}): Promise<T> {
130
- try {
131
- const response = await fetch(url, {
132
- method: 'PUT',
133
- headers: this.getHeaders(options.headers),
134
- body: payload ? JSON.stringify(payload) : null,
135
- });
136
- return await response.json();
137
- } catch (error) {
138
- console.error('PUT request failed:', error);
139
- throw error;
140
- }
141
- }
142
-
143
- public async delete<T>(url: string, options: IAPIOptions = {}): Promise<T> {
144
- try {
145
- const response = await fetch(url, {
146
- method: 'DELETE',
147
- headers: this.getHeaders(options.headers),
148
- });
149
- return await response.json();
150
- } catch (error) {
151
- console.error('DELETE request failed:', error);
152
- throw error;
153
- }
154
- }
155
-
156
- private getBackendUrl(routeName: string, params: {[key: string]: string} = {})
157
- {
158
-
159
-
160
- const routesPackage = this.config.get('backendRoutes');
161
-
162
- let routes: IHTTProute[] = [];
163
-
164
- routesPackage.forEach((item: IBackendRoute) => {
165
- // Check if item is an instance of IPrefixedHTTProutes
166
- if ('prefix' in item && 'routes' in item && Array.isArray(item.routes)) {
167
- // Handle the case where item is of type IPrefixedHTTProutes
168
- routes = [...routes, ...item.routes.map((subRouteItem: IHTTProute): IHTTProute => {
169
- const subRoute: IHTTProute = {
170
- path: item.prefix + subRouteItem.path,
171
- name: subRouteItem.name
172
- };
173
-
174
- return subRoute;
175
- })];
176
- } else {
177
- // Handle the case where item is of type IHTTProute
178
- routes.push(item as IHTTProute);
179
- }
180
- });
181
-
182
- const route = routes.find((item: IHTTProute) => item.name === routeName);
183
-
184
- if(!route){
185
- throw new Error(`Backend route '${routeName}' does not exist.`);
186
- }
187
-
188
- let apiPath = route.path;
189
-
190
- Object.keys(params).forEach((paramKey: string) => {
191
- const paramValue = params[paramKey];
192
-
193
- apiPath = apiPath.replace(`:${paramKey}`, paramValue);
194
- });
195
-
196
- return `${this.config.get('backendUrl')}${this.config.get('apiPrefix') || ''}${apiPath}`;
197
- }
198
-
199
- async uploadFile(url: string, file: File, onProgress: (progress: number) => void, payload: any = {}): Promise<UploadResponse>
200
- {
201
- return upload(
202
-
203
- url,
204
- {
205
- file,
206
- ...payload
207
- },
208
- {
209
- onProgress,
210
- headers: this.token ? { Authorization: `Bearer ${this.token}` } : null,
211
- }
212
- );
213
- }
214
-
215
- public back = {
216
- get: <T>(routeName: string, options?: IAPIOptions): Promise<T> => this.get(this.getBackendUrl(routeName, options?.routeParams), options),
217
- post: <T, P extends object = object>(routeName: string, payload?: P, options?: IAPIOptions): Promise<T> => this.post(this.getBackendUrl(routeName, options?.routeParams), payload, options),
218
- put: <T, P extends object = object>(routeName: string, payload: P, options?: IAPIOptions): Promise<T> => this.put(this.getBackendUrl(routeName, options?.routeParams), payload, options),
219
- delete: <T>(routeName: string, options?: IAPIOptions): Promise<T> => this.delete(this.getBackendUrl(routeName, options?.routeParams), options),
220
- uploadFile: (routeName: string, file: File, onProgress: (progress: number) => void, options: IAPIOptions = {}, payload: any = {}): Promise<UploadResponse> => this.uploadFile(this.getBackendUrl(routeName, options?.routeParams), file, onProgress, payload),
221
- };
222
-
223
- connectToAmplify()
224
- {
225
- // "use client"
226
- // const client = generateClient<Schema>() // use this Data client for CRUDL requests
227
-
228
-
229
- // /*== STEP 3 ===============================================================
230
- // Fetch records from the database and use them in your frontend component.
231
- // (THIS SNIPPET WILL ONLY WORK IN THE FRONTEND CODE FILE.)
232
- // =========================================================================*/
233
-
234
- // /* For example, in a React component, you can use this snippet in your
235
- // function's RETURN statement */
236
- // // const { data: todos } = client.models.Todo.list()
237
-
238
- // // return <ul>{todos.map(todo => <li key={todo.id}>{todo.content}</li>)}</ul>
239
- }
240
- }
241
-
242
- export default ApiService.getSingleton();
1
+ import TheService from './_service';
2
+
3
+ //@4DI
4
+ import ConfigService, { ConfigServiceInstance } from './ConfigService';
5
+
6
+ import { upload, UploadResponse } from 'upload';
7
+
8
+
9
+ interface RequestOptions {
10
+ method?: string;
11
+ headers: HeadersInit;
12
+ body?: string;
13
+ }
14
+
15
+ interface IAPIOptions {
16
+ headers?: Headers,
17
+ routeParams?: {
18
+ [key: string]: string
19
+ },
20
+ }
21
+
22
+ interface IHTTProute {
23
+ name: string;
24
+ path: string;
25
+ }
26
+
27
+
28
+ interface IPrefixedHTTProutes {
29
+ prefix: string;
30
+ routes: IHTTProute[];
31
+ }
32
+
33
+ type IBackendRoute = IHTTProute | IPrefixedHTTProutes;
34
+
35
+
36
+ const _DEFAULT_CONTENT_TYPE = 'application/json';
37
+
38
+ class ApiService extends TheService {
39
+ static _DEFAULT: boolean = true;
40
+ private token?: string;
41
+
42
+ constructor(@ConfigService private config: ConfigServiceInstance) {
43
+ super();
44
+ }
45
+
46
+ private addHeader(headers: Headers | [string, string][] | {[key: string]: string}, key: string, val: string)
47
+ {
48
+ if (headers instanceof Headers) {
49
+ headers.append(key, val);
50
+ } else if (Array.isArray(headers)) {
51
+ headers.push([key, val]);
52
+ } else {
53
+ headers[key] = val;
54
+ }
55
+ }
56
+
57
+ // Function to get headers
58
+ private getHeaders(optHeaders: HeadersInit = {}): HeadersInit {
59
+ const headers: HeadersInit = { ...optHeaders };
60
+
61
+ if (!('Content-Type' in headers)) {
62
+ this.addHeader(headers, 'Content-Type', _DEFAULT_CONTENT_TYPE);
63
+ }
64
+
65
+ if (this.token) {
66
+ this.addHeader(headers, 'Authorization', `Bearer ${this.token}`);
67
+ }
68
+
69
+ if((headers as any)['Content-Type']){
70
+ this.addHeader(headers, 'Accept', '*/*');
71
+ }else{
72
+ this.addHeader(headers, 'Accept', (headers as any)['Content-Type']);
73
+ }
74
+
75
+ return headers;
76
+ }
77
+
78
+ public setToken(token: string)
79
+ {
80
+ this.token = token;
81
+ }
82
+
83
+ public async pureGet(url: string, options: IAPIOptions = {}): Promise<string> {
84
+ try {
85
+ const response = await fetch(url, {
86
+ headers: this.getHeaders(options.headers),
87
+ });
88
+ return await response.text();
89
+ } catch (error) {
90
+ console.error('GET request failed:', error);
91
+ throw error;
92
+ }
93
+ }
94
+
95
+ public async isGetTargetReachable(url: string, options: IAPIOptions = {}): Promise<boolean> {
96
+ try {
97
+ return !!(await this.pureGet(url, options));
98
+ } catch (error) {
99
+ return false;
100
+ }
101
+ }
102
+
103
+ public async get<T>(url: string, options: IAPIOptions = {}): Promise<T> {
104
+ try {
105
+ const response = await fetch(url, {
106
+ headers: this.getHeaders(options.headers),
107
+ });
108
+ return await response.json();
109
+ } catch (error) {
110
+ console.error('GET request failed:', error);
111
+ throw error;
112
+ }
113
+ }
114
+
115
+ public async post<T, P extends object = object>(url: string, payload?: P, options: IAPIOptions = {}): Promise<T> {
116
+ try {
117
+ const response = await fetch(url, {
118
+ method: 'POST',
119
+ headers: this.getHeaders(options.headers),
120
+ body: payload ? JSON.stringify(payload) : null,
121
+ });
122
+ return await response.json();
123
+ } catch (error) {
124
+ console.error('POST request failed:', error);
125
+ throw error;
126
+ }
127
+ }
128
+
129
+ public async put<T, P extends object = object>(url: string, payload?: P, options: IAPIOptions = {}): Promise<T> {
130
+ try {
131
+ const response = await fetch(url, {
132
+ method: 'PUT',
133
+ headers: this.getHeaders(options.headers),
134
+ body: payload ? JSON.stringify(payload) : null,
135
+ });
136
+ return await response.json();
137
+ } catch (error) {
138
+ console.error('PUT request failed:', error);
139
+ throw error;
140
+ }
141
+ }
142
+
143
+ public async delete<T>(url: string, options: IAPIOptions = {}): Promise<T> {
144
+ try {
145
+ const response = await fetch(url, {
146
+ method: 'DELETE',
147
+ headers: this.getHeaders(options.headers),
148
+ });
149
+ return await response.json();
150
+ } catch (error) {
151
+ console.error('DELETE request failed:', error);
152
+ throw error;
153
+ }
154
+ }
155
+
156
+ private getBackendUrl(routeName: string, params: {[key: string]: string} = {})
157
+ {
158
+
159
+
160
+ const routesPackage = this.config.get('backendRoutes');
161
+
162
+ let routes: IHTTProute[] = [];
163
+
164
+ routesPackage.forEach((item: IBackendRoute) => {
165
+ // Check if item is an instance of IPrefixedHTTProutes
166
+ if ('prefix' in item && 'routes' in item && Array.isArray(item.routes)) {
167
+ // Handle the case where item is of type IPrefixedHTTProutes
168
+ routes = [...routes, ...item.routes.map((subRouteItem: IHTTProute): IHTTProute => {
169
+ const subRoute: IHTTProute = {
170
+ path: item.prefix + subRouteItem.path,
171
+ name: subRouteItem.name
172
+ };
173
+
174
+ return subRoute;
175
+ })];
176
+ } else {
177
+ // Handle the case where item is of type IHTTProute
178
+ routes.push(item as IHTTProute);
179
+ }
180
+ });
181
+
182
+ const route = routes.find((item: IHTTProute) => item.name === routeName);
183
+
184
+ if(!route){
185
+ throw new Error(`Backend route '${routeName}' does not exist.`);
186
+ }
187
+
188
+ let apiPath = route.path;
189
+
190
+ Object.keys(params).forEach((paramKey: string) => {
191
+ const paramValue = params[paramKey];
192
+
193
+ apiPath = apiPath.replace(`:${paramKey}`, paramValue);
194
+ });
195
+
196
+ return `${this.config.get('backendUrl')}${this.config.get('apiPrefix') || ''}${apiPath}`;
197
+ }
198
+
199
+ async uploadFile(url: string, file: File, onProgress: (progress: number) => void, payload: any = {}): Promise<UploadResponse>
200
+ {
201
+ return upload(
202
+
203
+ url,
204
+ {
205
+ file,
206
+ ...payload
207
+ },
208
+ {
209
+ onProgress,
210
+ headers: this.token ? { Authorization: `Bearer ${this.token}` } : null,
211
+ }
212
+ );
213
+ }
214
+
215
+ public back = {
216
+ get: <T>(routeName: string, options?: IAPIOptions): Promise<T> => this.get(this.getBackendUrl(routeName, options?.routeParams), options),
217
+ post: <T, P extends object = object>(routeName: string, payload?: P, options?: IAPIOptions): Promise<T> => this.post(this.getBackendUrl(routeName, options?.routeParams), payload, options),
218
+ put: <T, P extends object = object>(routeName: string, payload: P, options?: IAPIOptions): Promise<T> => this.put(this.getBackendUrl(routeName, options?.routeParams), payload, options),
219
+ delete: <T>(routeName: string, options?: IAPIOptions): Promise<T> => this.delete(this.getBackendUrl(routeName, options?.routeParams), options),
220
+ uploadFile: (routeName: string, file: File, onProgress: (progress: number) => void, options: IAPIOptions = {}, payload: any = {}): Promise<UploadResponse> => this.uploadFile(this.getBackendUrl(routeName, options?.routeParams), file, onProgress, payload),
221
+ };
222
+
223
+ connectToAmplify()
224
+ {
225
+ // "use client"
226
+ // const client = generateClient<Schema>() // use this Data client for CRUDL requests
227
+
228
+
229
+ // /*== STEP 3 ===============================================================
230
+ // Fetch records from the database and use them in your frontend component.
231
+ // (THIS SNIPPET WILL ONLY WORK IN THE FRONTEND CODE FILE.)
232
+ // =========================================================================*/
233
+
234
+ // /* For example, in a React component, you can use this snippet in your
235
+ // function's RETURN statement */
236
+ // // const { data: todos } = client.models.Todo.list()
237
+
238
+ // // return <ul>{todos.map(todo => <li key={todo.id}>{todo.content}</li>)}</ul>
239
+ }
240
+ }
241
+
242
+ export default ApiService.getSingleton();
243
243
  export { IBackendRoute, RequestOptions, ApiService as ApiServiceInstance, IHTTProute, IPrefixedHTTProutes };