http-request-manager 18.15.34 → 18.16.1

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 (300) hide show
  1. package/fesm2022/http-request-manager.mjs +13688 -0
  2. package/fesm2022/http-request-manager.mjs.map +1 -0
  3. package/http-request-manager-18.16.0.tgz +0 -0
  4. package/package.json +15 -6
  5. package/types/http-request-manager.d.ts +3968 -0
  6. package/TEST_COVERAGE_SUMMARY.md +0 -458
  7. package/ng-package.json +0 -8
  8. package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
  9. package/src/docs/ARCHITECTURE.md +0 -633
  10. package/src/docs/BATCH_REQUEST_README.md +0 -467
  11. package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
  12. package/src/docs/DATABASE_README.md +0 -1195
  13. package/src/docs/ENCRYPTION_README.md +0 -403
  14. package/src/docs/HTTP_MANAGER_README.md +0 -628
  15. package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
  16. package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
  17. package/src/docs/INTERCEPTOR_README.md +0 -549
  18. package/src/docs/LOCAL_STORAGE_README.md +0 -1056
  19. package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
  20. package/src/docs/LOGGER_README.md +0 -310
  21. package/src/docs/MESSAGE_TRACKER_README.md +0 -518
  22. package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
  23. package/src/docs/MODELS_README.md +0 -1264
  24. package/src/docs/SIGNAL_SERVICES_README.md +0 -238
  25. package/src/docs/SQL_DIXIE_README.md +0 -574
  26. package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
  27. package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
  28. package/src/docs/UPLOAD_REQUEST_README.md +0 -324
  29. package/src/docs/UTILS_README.md +0 -1604
  30. package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
  31. package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
  32. package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
  33. package/src/docs/WS_MANAGER_README.md +0 -613
  34. package/src/lib/http-request-manager.module.ts +0 -147
  35. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
  36. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  37. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
  38. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
  39. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  40. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
  41. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  42. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  43. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
  44. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
  45. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
  46. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
  47. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
  48. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
  49. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
  50. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
  51. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
  52. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
  53. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
  54. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
  55. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
  56. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
  57. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
  58. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
  59. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
  60. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
  61. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
  62. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
  63. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
  64. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
  65. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
  66. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
  67. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
  68. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
  69. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  70. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  71. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  72. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  73. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  74. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  75. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  76. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  77. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  78. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  79. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  80. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  81. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  82. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  83. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  84. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  85. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  86. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  87. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  88. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
  89. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
  90. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
  91. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
  92. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  93. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
  94. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
  95. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
  96. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
  97. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
  98. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
  99. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
  100. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
  101. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
  102. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
  103. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
  104. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
  105. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
  106. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
  107. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
  108. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
  109. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
  110. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
  111. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
  112. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
  113. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
  114. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
  115. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
  116. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
  117. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
  118. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
  119. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
  120. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
  121. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
  122. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
  123. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
  124. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
  125. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  126. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  127. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  128. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
  129. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
  130. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  131. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  132. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  133. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  134. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  135. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  136. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
  137. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
  138. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
  139. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
  140. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
  141. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
  142. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
  143. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
  144. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
  145. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
  146. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
  147. package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
  148. package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
  149. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
  150. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
  151. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
  152. package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
  153. package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
  154. package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
  155. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
  156. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
  157. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
  158. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
  159. package/src/lib/index.ts +0 -3
  160. package/src/lib/interceptors/credentials.interceptor.ts +0 -16
  161. package/src/lib/interceptors/index.ts +0 -6
  162. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  163. package/src/lib/interceptors/models/index.ts +0 -2
  164. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  165. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  166. package/src/lib/interceptors/request-header.interceptor.ts +0 -56
  167. package/src/lib/message-display/README.md +0 -509
  168. package/src/lib/message-display/index.ts +0 -4
  169. package/src/lib/message-display/models/action.model.ts +0 -27
  170. package/src/lib/message-display/models/communication-message.model.ts +0 -77
  171. package/src/lib/message-display/models/display-config.model.ts +0 -35
  172. package/src/lib/message-display/models/display-rule.interface.ts +0 -28
  173. package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
  174. package/src/lib/message-display/models/index.ts +0 -6
  175. package/src/lib/message-display/models/slide.model.ts +0 -24
  176. package/src/lib/message-display/rules/default-display-rules.ts +0 -35
  177. package/src/lib/message-display/services/message-display-router.service.ts +0 -63
  178. package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
  179. package/src/lib/models/batch-options.model.ts +0 -33
  180. package/src/lib/models/batch-progress.model.ts +0 -19
  181. package/src/lib/models/batch-request-state.model.ts +0 -40
  182. package/src/lib/models/batch-result.model.ts +0 -30
  183. package/src/lib/models/config-http-options.model.ts +0 -45
  184. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  185. package/src/lib/models/config-options.model.ts +0 -27
  186. package/src/lib/models/config-token.model.ts +0 -9
  187. package/src/lib/models/data-type.enum.ts +0 -5
  188. package/src/lib/models/database-storage.model.ts +0 -24
  189. package/src/lib/models/index.ts +0 -16
  190. package/src/lib/models/retry-options.model.ts +0 -22
  191. package/src/lib/models/upload-validation-error.model.ts +0 -46
  192. package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
  193. package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
  194. package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
  195. package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
  196. package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
  197. package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
  198. package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
  199. package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
  200. package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
  201. package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
  202. package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
  203. package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
  204. package/src/lib/services/database-manager-service/index.ts +0 -4
  205. package/src/lib/services/database-manager-service/models/index.ts +0 -2
  206. package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
  207. package/src/lib/services/index.ts +0 -20
  208. package/src/lib/services/local-storage-manager-service/index.ts +0 -4
  209. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  210. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
  211. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
  212. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
  213. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  214. package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
  215. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
  216. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  217. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
  218. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  219. package/src/lib/services/request-manager-services/README.md +0 -282
  220. package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
  221. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
  222. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
  223. package/src/lib/services/request-manager-services/index.ts +0 -8
  224. package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
  225. package/src/lib/services/request-manager-services/request.service.ts +0 -435
  226. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  227. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  228. package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
  229. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
  230. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
  231. package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
  232. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
  233. package/src/lib/services/request-manager-state-service/index.ts +0 -3
  234. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
  235. package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
  236. package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
  237. package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
  238. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
  239. package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
  240. package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
  241. package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
  242. package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
  243. package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
  244. package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
  245. package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
  246. package/src/lib/services/store-state-manager-service/index.ts +0 -4
  247. package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
  248. package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
  249. package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
  250. package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
  251. package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
  252. package/src/lib/services/utils/app.service.spec.ts +0 -25
  253. package/src/lib/services/utils/app.service.ts +0 -21
  254. package/src/lib/services/utils/encryption/README.md +0 -79
  255. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  256. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  257. package/src/lib/services/utils/encryption/index.ts +0 -5
  258. package/src/lib/services/utils/encryption/random.ts +0 -81
  259. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
  260. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  261. package/src/lib/services/utils/headers.service.ts +0 -18
  262. package/src/lib/services/utils/index.ts +0 -9
  263. package/src/lib/services/utils/logger.service.ts +0 -90
  264. package/src/lib/services/utils/models/index.ts +0 -4
  265. package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
  266. package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
  267. package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
  268. package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
  269. package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
  270. package/src/lib/services/utils/object-merger.service.ts +0 -78
  271. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  272. package/src/lib/services/utils/path-query.service.ts +0 -69
  273. package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
  274. package/src/lib/services/utils/random-color.utils.ts +0 -83
  275. package/src/lib/services/utils/utils.service.spec.ts +0 -165
  276. package/src/lib/services/utils/utils.service.ts +0 -192
  277. package/src/lib/services/ws-manager-service/index.ts +0 -13
  278. package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
  279. package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
  280. package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
  281. package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
  282. package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
  283. package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
  284. package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
  285. package/src/lib/services/ws-manager-service/models/index.ts +0 -10
  286. package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
  287. package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
  288. package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
  289. package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
  290. package/src/lib/services/ws-manager-service/services/index.ts +0 -4
  291. package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
  292. package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
  293. package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
  294. package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
  295. package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
  296. package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
  297. package/src/public-api.ts +0 -19
  298. package/tsconfig.lib.json +0 -34
  299. package/tsconfig.lib.prod.json +0 -10
  300. package/tsconfig.spec.json +0 -14
@@ -1,53 +0,0 @@
1
- import { Component, Inject, Input, OnInit } from '@angular/core';
2
-
3
- import { CONFIG_SETTINGS_TOKEN } from '../models/config-token.model';
4
- import { ConfigOptions } from '../models/config-options.model';
5
- import { UserData } from './request-manager-ws-demo/models/user-data.model';
6
-
7
- @Component({
8
- selector: 'app-http-request-services-demo',
9
- templateUrl: './http-request-services-demo.component.html',
10
- styleUrls: ['./http-request-services-demo.component.scss'],
11
- standalone: false
12
- })
13
- export class HttpRequestServicesDemoComponent implements OnInit {
14
-
15
- @Input() wsServer = 'ws:'
16
- @Input() jwtToken = ''
17
- @Input() server = 'http:'
18
- @Input() user?: UserData
19
- @Input() path: string[] = ['ai','tests'];
20
-
21
- @Input() adapter?: Function
22
- @Input() mapper?: Function
23
-
24
- requestTypes = [
25
- { name: "Http Service", value: 'http_service' },
26
- // { name: "Http Signals Service", value: 'http_signals_service', new: true },
27
- { name: "Http State Service", value: 'http_state_service' },
28
- { name: "Http State Service - Websockets", value: 'http_state_service_ws', new: false },
29
- { name: "File Upload Demo", value: 'file_upload_demo', new: true, divider: true },
30
- { name: "Database Service", value: 'database_service', divider: true, disabled: false },
31
- { name: "Local Storage Service", value: 'local_storage_service' },
32
- // { name: "Local Signals Storage Service", value: 'local_storage_signals_service', new: true },
33
- { name: "Store State Manager Service", value: 'store_state_manager', new: true },
34
- { name: "Basic Http Service", value: 'basic_http_service', divider: true },
35
- ]
36
-
37
- selectedService = this.requestTypes[1].value //menu selection default
38
-
39
- injectionOptions?: ConfigOptions
40
-
41
- constructor(
42
- @Inject(CONFIG_SETTINGS_TOKEN) private configOptions?: ConfigOptions
43
- ) { }
44
-
45
- ngOnInit() {
46
- if(this.configOptions) this.injectionOptions = this.configOptions
47
- }
48
-
49
- onSelected(type: number) {
50
- this.selectedService = this.requestTypes[type].value
51
- }
52
-
53
- }
@@ -1,195 +0,0 @@
1
- <div style="margin: 2rem;">
2
-
3
- <div style="display: flex; gap: 1rem">
4
- <h2 style="padding-top: .5rem; display: flex;">
5
- <div style="padding-top: .5rem;">Local Storage Manager</div>
6
- <div>
7
- <button mat-icon-button [matMenuTriggerFor]="menu">
8
- <mat-icon>info</mat-icon>
9
- </button>
10
- </div>
11
- </h2>
12
- <span style="flex:1"></span>
13
- <div style="padding-top: .25rem;">
14
- <mat-button-toggle-group name="storage" [formControl]="typeControl" (change)="onCancel()">
15
- <mat-button-toggle value="0">Local Storage</mat-button-toggle>
16
- <mat-button-toggle value="1">Session Storage</mat-button-toggle>
17
- </mat-button-toggle-group>
18
- </div>
19
- <div style="margin-top: .25rem;">
20
- <button mat-icon-button (click)="onCreate()">
21
- <mat-icon>add</mat-icon>
22
- </button>
23
- </div>
24
- </div>
25
-
26
- <ng-container *ngIf="storeProps?.storageName || storeProps?.storageSettingsName">
27
- <div style="display: flex; gap: .5rem; flex-direction: column; border: gray solid thin; background-color: whitesmoke; padding: 1rem;"
28
- >
29
- <div style="display: flex;">
30
- <div *ngIf="storeProps?.storageSettingsName" style="flex:1">
31
- Database: <b>{{ storeProps?.storageSettingsName }}</b>
32
- </div>
33
- <div *ngIf="storeProps?.storageName" style="flex:1">
34
- Data: <b>{{ storeProps?.storageName }}</b>
35
- </div>
36
- </div>
37
- </div>
38
- </ng-container>
39
-
40
- <div style="margin-top: 2rem;" [formGroup]="newStoreForm" *ngIf="create; else LIST">
41
-
42
- <h2>Create Store</h2>
43
-
44
- <div style="display: flex; gap: 1rem;">
45
- <div style="flex:1">
46
- <mat-form-field appearance="outline">
47
- <mat-label>Store Name</mat-label>
48
- <input matInput placeholder="sample" formControlName="name">
49
- </mat-form-field>
50
- </div>
51
- <div>
52
- <mat-form-field appearance="outline">
53
- <mat-label>Expires In...</mat-label>
54
- <mat-select formControlName="expiresIn">
55
- <mat-option value="0">None</mat-option>
56
- <mat-option value="30s">30 Seconds</mat-option>
57
- <mat-option value="1mn">1 Minute</mat-option>
58
- <mat-option value="1hr">1 Hour</mat-option>
59
- <mat-option value="1d">1 Day</mat-option>
60
- </mat-select>
61
- </mat-form-field>
62
- </div>
63
- <div style="margin-top: 1rem;">
64
- <mat-slide-toggle formControlName="encrypted">Encrypted</mat-slide-toggle>
65
- </div>
66
- </div>
67
-
68
- <div style="display: flex;">
69
- <mat-form-field appearance="outline" style="flex: 1;">
70
- <mat-label>Data (Must be an Object or Array of any)</mat-label>
71
- <textarea matInput placeholder="[]" formControlName="data" #json></textarea>
72
- </mat-form-field>
73
- </div>
74
- <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
75
-
76
- <div style="display: flex;">
77
- <span style="flex:1"></span>
78
- <button mat-stroked-button (click)="onCreateStore()" [disabled]="!(isValid && isValidJSON(json.value))">
79
- Save Store
80
- </button>
81
- </div>
82
-
83
- </div>
84
-
85
- <ng-template #LIST>
86
-
87
- <div style="margin-top: 1rem;">
88
- <mat-divider></mat-divider>
89
- </div>
90
- {{ settings$ | async | json }}
91
- <div *ngIf="filterData(settings$ | async) as data">
92
- <ng-container *ngIf="data.length > 0; else NO_DATA">
93
- <table mat-table [dataSource]="data">
94
- <ng-container matColumnDef="name">
95
- <th mat-header-cell *matHeaderCellDef> Store </th>
96
- <td mat-cell *matCellDef="let element" style="font-weight: bold; text-transform: uppercase;"> {{element.name}} </td>
97
- </ng-container>
98
-
99
- <ng-container matColumnDef="id">
100
- <th mat-header-cell *matHeaderCellDef> ID </th>
101
- <td mat-cell *matCellDef="let element"> {{element.id}} </td>
102
- </ng-container>
103
-
104
- <ng-container matColumnDef="encrypted">
105
- <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Encrypted </th>
106
- <td mat-cell *matCellDef="let element" style="text-align: center;">
107
- <ng-container *ngIf="element.options.encrypted; else NO">YES</ng-container>
108
- <ng-template #NO><span style="color:gray">NO</span></ng-template>
109
- </td>
110
- </ng-container>
111
-
112
- <ng-container matColumnDef="expires">
113
- <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Expires </th>
114
- <td mat-cell *matCellDef="let element" style="text-align: center;">
115
- <ng-container *ngIf="element.options.expires !== 0; else NO_DATA">
116
- {{expiresIn(element.options.expires)}}
117
- </ng-container>
118
- <ng-template #NO_DATA>
119
-
120
- </ng-template>
121
- </td>
122
- </ng-container>
123
-
124
- <ng-container matColumnDef="option">
125
- <th mat-header-cell *matHeaderCellDef></th>
126
- <td mat-cell *matCellDef="let element" style="padding-right: 0;">
127
- <div style="display: flex;justify-content: flex-end;">
128
- <button mat-icon-button color="warn" (click)="onDelete(element); $event.stopPropagation()">
129
- <mat-icon>close</mat-icon>
130
- </button>
131
- </div>
132
- </td>
133
- </ng-container>
134
-
135
- <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
136
- <tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="onSelectedRow(row)"></tr>
137
- </table>
138
- </ng-container>
139
-
140
- <ng-template #NO_DATA>
141
- <h3 style="margin-top: 1rem;">No Data</h3>
142
- </ng-template>
143
-
144
- <div *ngIf="(data$ | async) as data" style="margin-top: 2rem;">
145
- <div style="margin-bottom: 1rem;">
146
- <mat-divider></mat-divider>
147
- </div>
148
-
149
- <h3>STORE: <span style="font-weight: bold;">{{ store.name | uppercase }}</span></h3>
150
- <h3>SETTINGS: {{ setting$(store.name) | async | json }}</h3>
151
- <div style="display: flex;">
152
- <mat-form-field appearance="outline" style="flex: 1;">
153
- <mat-label>Data (Must be an Object or Array of any)</mat-label>
154
- <textarea matInput placeholder="[]" #json [value]="data"></textarea>
155
- </mat-form-field>
156
- </div>
157
- <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
158
-
159
- <div style="display: flex; gap: .5rem;">
160
- <span style="flex:1"></span>
161
- <button mat-stroked-button (click)="onCancel()">Cancel</button>
162
- <button mat-stroked-button (click)="onUpdate(store, json.value)" [disabled]="!(isValidJSON(json.value))">Update</button>
163
- </div>
164
- </div>
165
- </div>
166
-
167
- </ng-template>
168
-
169
- <div style="margin-top: 1rem;">
170
- <mat-divider></mat-divider>
171
- </div>
172
-
173
- <div style="margin-top: 1rem;">
174
- <button mat-stroked-button (click)="onReset()">Delete All Stores</button>
175
- </div>
176
-
177
- </div>
178
-
179
-
180
- <mat-menu #menu="matMenu">
181
- <div style="padding: 1rem;">
182
- <p>Please note that the LocalStorage (encryption) and management of data is dependant on initializing the APP_ID</p>
183
- <p>Must provide a value for <b>APP_ID</b> in AppModule->Providers</p>
184
- <mat-divider></mat-divider>
185
- <div style="font-size: smaller; margin-top: .5rem;">
186
- <p>Example: UUID (self.crypto.randomUUID() to generate)</p>
187
- <div style="background-color: whitesmoke; padding: 1rem;">
188
- &#123;<br>
189
- provide: APP_ID,<br>
190
- useValue: "056991ac-3537-43ab-b5b9-83edf6554eff",<br>
191
- &#125;
192
- </div>
193
- </div>
194
- </div>
195
- </mat-menu>
@@ -1,17 +0,0 @@
1
- .mat-mdc-row .mat-mdc-cell {
2
- border-bottom: 1px solid transparent;
3
- border-top: 1px solid transparent;
4
- cursor: pointer;
5
- }
6
-
7
- .mat-mdc-row:hover .mat-mdc-cell {
8
- border-color: currentColor;
9
- }
10
-
11
- .demo-row-is-clicked {
12
- font-weight: bold;
13
- }
14
-
15
- .mat-mdc-menu-panel.mat-mdc-menu-panel {
16
- max-width: 280px !important;
17
- }
@@ -1,208 +0,0 @@
1
- import { Component, Inject, inject, OnInit, ViewEncapsulation } from '@angular/core';
2
- import { LocalStorageManagerService, SettingOptions, StorageOption, StorageType } from '../../services/local-storage-manager-service';
3
- import { FormBuilder, Validators } from '@angular/forms';
4
- import { BehaviorSubject, EMPTY, Observable, of } from 'rxjs';
5
- import { ConfigOptions } from '../../models/config-options.model';
6
- import { LocalStorageOptions } from '../../models/config-local-storage-options.model';
7
- import { UtilsService } from '../../services/utils/utils.service';
8
- import { switchMap, tap, map } from 'rxjs/operators';
9
- import { CONFIG_SETTINGS_TOKEN } from '../../models/config-token.model';
10
-
11
- @Component({
12
- selector: 'app-local-storage-demo',
13
- templateUrl: './local-storage-demo.component.html',
14
- styleUrls: ['./local-storage-demo.component.scss'],
15
- encapsulation: ViewEncapsulation.None,
16
- standalone: false
17
- })
18
- export class LocalStorageDemoComponent implements OnInit {
19
-
20
- fb = inject(FormBuilder)
21
- utils = inject(UtilsService)
22
-
23
- type$ = new BehaviorSubject(StorageType.GLOBAL)
24
- get type() {
25
- return (this.typeControl.value) ? +this.typeControl.value : 0
26
- }
27
-
28
- typeControl = this.fb.control(StorageType.GLOBAL.toString())
29
-
30
- localStorageManagerService = inject(LocalStorageManagerService)
31
-
32
- settings$: Observable<any> = this.localStorageManagerService.settings$
33
-
34
- setting$ = (store: string) => this.localStorageManagerService.setting$(store)
35
-
36
- storageForm = this.fb.group({
37
- store: this.fb.control<string|null>(null),
38
- type: 'local',
39
- settingType: 'local',
40
- encrypted: false,
41
- data: this.fb.control<string>('', Validators.required),
42
- })
43
-
44
- newStoreForm = this.fb.group({
45
- name: this.fb.control<string|null>(null, Validators.required),
46
- storage: 'local',
47
- encrypted: false,
48
- data: this.fb.control<string>('', Validators.required),
49
- expiresIn: this.fb.control('0')
50
- })
51
-
52
- store$?: Observable<any>
53
-
54
- storeData$ = this.storageForm.get('store')?.valueChanges
55
- .pipe(
56
- switchMap((data: any) => {
57
- return data
58
- ? this.localStorageManagerService.store$(data.name)
59
- : of('')
60
- }),
61
- tap(data => {
62
- this.storageForm.get('data')?.patchValue(data, { emitEvent: false })
63
- })
64
- )
65
-
66
- expiresIn = (epoch: number) => this.utils.expiresIn(epoch)
67
-
68
- get isValid() {
69
- return this.newStoreForm.valid
70
- }
71
-
72
- get isValidData() {
73
- return this.storageForm.valid
74
- }
75
-
76
- isValidJSON = (str: string) => {
77
- try {
78
- JSON.parse(str)
79
- return true
80
- } catch (e) {
81
- return false
82
- }
83
- }
84
-
85
- displayedColumns: string[] = ['name', 'id', 'encrypted', 'expires', "option"];
86
-
87
- filterData = (values: SettingOptions[]) => {
88
- if(!values) return []
89
- return values.filter((item: any) => item.options.storage === +this.type)
90
- }
91
-
92
- data$?: Observable<any>
93
-
94
- store: any
95
-
96
- create = false
97
-
98
- storeProps?: LocalStorageOptions
99
- options?: SettingOptions
100
-
101
- constructor(@Inject(CONFIG_SETTINGS_TOKEN) private configOptions?: ConfigOptions) { }
102
-
103
- ngOnInit() {
104
-
105
- this.storeProps = this.configOptions?.LocalStorageOptions
106
- this.options = this.storeProps?.options
107
-
108
- if(this.options?.storage) {
109
- this.typeControl.patchValue(this.options.storage.toString())
110
- this.typeControl.disable()
111
- } else {
112
- this.typeControl.enable()
113
- }
114
-
115
- if(this.options?.expiresIn) {
116
- this.newStoreForm.get('expiresIn')?.patchValue(this.options.expiresIn)
117
- this.newStoreForm.get('expiresIn')?.disable()
118
- } else {
119
- this.newStoreForm.get('expiresIn')?.enable()
120
- }
121
-
122
- if(this.options?.encrypted) {
123
- this.newStoreForm.get('encrypted')?.patchValue(this.options.encrypted)
124
- this.newStoreForm.get('encrypted')?.disable()
125
- } else {
126
- this.newStoreForm.get('encrypted')?.enable()
127
- }
128
-
129
- }
130
-
131
- onCreateStore() {
132
-
133
- if(!this.isValid) return
134
-
135
- const store = this.newStoreForm.value
136
- if(!store.name || store.name === '') return
137
-
138
- const options = { storage: this.type, encrypted: store.encrypted, expiresIn: store.expiresIn }
139
-
140
- this.localStorageManagerService.createStore({
141
- name: store.name,
142
- data: store.data,
143
- options: SettingOptions.adapt(options)
144
- })
145
-
146
- this.newStoreForm.reset()
147
- this.create = false
148
- }
149
-
150
- onUpdateStore(store: any) {
151
-
152
- if(!this.storageForm.valid) return
153
-
154
- const storeData = this.storageForm.value
155
-
156
- const data = JSON.parse(storeData.data || '')
157
-
158
- const type = (storeData.type === 'local') ? StorageType.GLOBAL : StorageType.SESSION
159
-
160
- this.localStorageManagerService.updateStore({
161
- name: store.name,
162
- data
163
- })
164
-
165
- }
166
-
167
- onSelectedRow(store: any) {
168
- this.store = store
169
- this.data$ = this.localStorageManagerService.store$(store.name).pipe(map(item => JSON.stringify(item)))
170
- this.create = false
171
- }
172
-
173
- onCreate() {
174
- this.onCancel()
175
- this.create = true
176
- }
177
-
178
- onDelete(store: StorageOption) {
179
-
180
- this.localStorageManagerService.deleteStore({
181
- name: store.name,
182
- })
183
-
184
- this.onCancel()
185
- }
186
-
187
- onCancel() {
188
- this.data$ = EMPTY
189
- this.store = null
190
- this.create = false
191
- }
192
-
193
- onUpdate(store: StorageOption, data: any) {
194
-
195
- this.localStorageManagerService.updateStore({
196
- name: store.name,
197
- data: JSON.parse(data)
198
- })
199
-
200
- this.onCancel()
201
-
202
- }
203
-
204
- onReset() {
205
- this.localStorageManagerService.resetStore()
206
- }
207
-
208
- }
@@ -1,200 +0,0 @@
1
- <div style="margin: 2rem;">
2
-
3
- <div style="display: flex; gap: 1rem">
4
- <h2 style="padding-top: .5rem; display: flex;">
5
- <div style="padding-top: .5rem;">
6
- <span>Local Storage Manager</span>
7
- <span style="margin-left: .5rem;">
8
- <mat-icon color="accent">fiber_new</mat-icon>
9
- </span>
10
- </div>
11
- <div>
12
- <button mat-icon-button [matMenuTriggerFor]="menu">
13
- <mat-icon>info</mat-icon>
14
- </button>
15
- </div>
16
- </h2>
17
- <span style="flex:1"></span>
18
- <div style="padding-top: .25rem;">
19
- <mat-button-toggle-group name="storage" [formControl]="typeControl" (change)="onCancel()">
20
- <mat-button-toggle value="0">Local Storage</mat-button-toggle>
21
- <mat-button-toggle value="1">Session Storage</mat-button-toggle>
22
- </mat-button-toggle-group>
23
- </div>
24
- <div style="margin-top: .25rem;">
25
- <button mat-icon-button (click)="onCreate()">
26
- <mat-icon>add</mat-icon>
27
- </button>
28
- </div>
29
- </div>
30
-
31
- <ng-container *ngIf="storeProps?.storageName || storeProps?.storageSettingsName">
32
- <div style="display: flex; gap: .5rem; flex-direction: column; border: gray solid thin; background-color: whitesmoke; padding: 1rem;"
33
- >
34
- <div style="display: flex;">
35
- <div *ngIf="storeProps?.storageSettingsName" style="flex:1">
36
- Database: <b>{{ storeProps?.storageSettingsName }}</b>
37
- </div>
38
- <div *ngIf="storeProps?.storageName" style="flex:1">
39
- Data: <b>{{ storeProps?.storageName }}</b>
40
- </div>
41
- </div>
42
- </div>
43
- </ng-container>
44
-
45
- <div style="margin-top: 2rem;" [formGroup]="newStoreForm" *ngIf="create; else LIST">
46
-
47
- <h2>Create Store</h2>
48
-
49
- <div style="display: flex; gap: 1rem;">
50
- <div style="flex:1">
51
- <mat-form-field appearance="outline">
52
- <mat-label>Store Name</mat-label>
53
- <input matInput placeholder="sample" formControlName="name">
54
- </mat-form-field>
55
- </div>
56
- <div>
57
- <mat-form-field appearance="outline">
58
- <mat-label>Expires In...</mat-label>
59
- <mat-select formControlName="expiresIn">
60
- <mat-option value="0">None</mat-option>
61
- <mat-option value="30s">30 Seconds</mat-option>
62
- <mat-option value="1mn">1 Minute</mat-option>
63
- <mat-option value="1hr">1 Hour</mat-option>
64
- <mat-option value="1d">1 Day</mat-option>
65
- </mat-select>
66
- </mat-form-field>
67
- </div>
68
- <div style="margin-top: 1rem;">
69
- <mat-slide-toggle formControlName="encrypted">Encrypted</mat-slide-toggle>
70
- </div>
71
- </div>
72
-
73
- <div style="display: flex;">
74
- <mat-form-field appearance="outline" style="flex: 1;">
75
- <mat-label>Data (Must be an Object or Array of any)</mat-label>
76
- <textarea matInput placeholder="[]" formControlName="data" #json></textarea>
77
- </mat-form-field>
78
- </div>
79
- <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
80
-
81
- <div style="display: flex;">
82
- <span style="flex:1"></span>
83
- <button mat-stroked-button (click)="onCreateStore()" [disabled]="!(isValid && isValidJSON(json.value))">
84
- Save Store
85
- </button>
86
- </div>
87
-
88
- </div>
89
-
90
- <ng-template #LIST>
91
-
92
- <div style="margin-top: 1rem;">
93
- <mat-divider></mat-divider>
94
- </div>
95
- {{ settings() | json }}
96
- <div *ngIf="filterData(settings()) as data">
97
- <ng-container *ngIf="data.length > 0; else NO_DATA">
98
- <table mat-table [dataSource]="data">
99
- <ng-container matColumnDef="name">
100
- <th mat-header-cell *matHeaderCellDef> Store </th>
101
- <td mat-cell *matCellDef="let element" style="font-weight: bold; text-transform: uppercase;"> {{element.name}} </td>
102
- </ng-container>
103
-
104
- <ng-container matColumnDef="id">
105
- <th mat-header-cell *matHeaderCellDef> ID </th>
106
- <td mat-cell *matCellDef="let element"> {{element.id}} </td>
107
- </ng-container>
108
-
109
- <ng-container matColumnDef="encrypted">
110
- <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Encrypted </th>
111
- <td mat-cell *matCellDef="let element" style="text-align: center;">
112
- <ng-container *ngIf="element.options.encrypted; else NO">YES</ng-container>
113
- <ng-template #NO><span style="color:gray">NO</span></ng-template>
114
- </td>
115
- </ng-container>
116
-
117
- <ng-container matColumnDef="expires">
118
- <th mat-header-cell *matHeaderCellDef style="text-align: center;"> Expires </th>
119
- <td mat-cell *matCellDef="let element" style="text-align: center;">
120
- <ng-container *ngIf="element.options.expires !== 0; else NO_DATA">
121
- {{expiresIn(element.options.expires)}}
122
- </ng-container>
123
- <ng-template #NO_DATA>
124
-
125
- </ng-template>
126
- </td>
127
- </ng-container>
128
-
129
- <ng-container matColumnDef="option">
130
- <th mat-header-cell *matHeaderCellDef></th>
131
- <td mat-cell *matCellDef="let element" style="padding-right: 0;">
132
- <div style="display: flex;justify-content: flex-end;">
133
- <button mat-icon-button color="warn" (click)="onDelete(element); $event.stopPropagation()">
134
- <mat-icon>close</mat-icon>
135
- </button>
136
- </div>
137
- </td>
138
- </ng-container>
139
-
140
- <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
141
- <tr mat-row *matRowDef="let row; columns: displayedColumns;" (click)="onSelectedRow(row)"></tr>
142
- </table>
143
- </ng-container>
144
-
145
- <ng-template #NO_DATA>
146
- <h3 style="margin-top: 1rem;">No Data</h3>
147
- </ng-template>
148
-
149
- <div *ngIf="storeSelected() as selectedStore" style="margin-top: 2rem;">
150
- <div style="margin-bottom: 1rem;">
151
- <mat-divider></mat-divider>
152
- </div>
153
-
154
- <h3>STORE: <span style="font-weight: bold;">{{ selectedStore.name | uppercase }}</span></h3>
155
- <h3>SETTINGS: {{ localStorageManagerService.setting(selectedStore.name) ? (localStorageManagerService.setting(selectedStore.name)() | json) : '{}' }}</h3>
156
- <div style="display: flex;">
157
- <mat-form-field appearance="outline" style="flex: 1;">
158
- <mat-label>Data (Must be an Object or Array of any)</mat-label>
159
- <textarea matInput placeholder="[]" #json [value]="selectedStoreData()"></textarea>
160
- </mat-form-field>
161
- </div>
162
- <mat-error *ngIf="!isValidJSON(json.value)">Not Valid Data</mat-error>
163
-
164
- <div style="display: flex; gap: .5rem;">
165
- <span style="flex:1"></span>
166
- <button mat-stroked-button (click)="onCancel()">Cancel</button>
167
- <button mat-stroked-button (click)="onUpdate(selectedStore, json.value)" [disabled]="!(isValidJSON(json.value))">Update</button>
168
- </div>
169
- </div>
170
- </div>
171
-
172
- </ng-template>
173
-
174
- <div style="margin-top: 1rem;">
175
- <mat-divider></mat-divider>
176
- </div>
177
-
178
- <div style="margin-top: 1rem;">
179
- <button mat-stroked-button (click)="onReset()">Delete All Stores</button>
180
- </div>
181
-
182
- </div>
183
-
184
-
185
- <mat-menu #menu="matMenu">
186
- <div style="padding: 1rem;">
187
- <p>Please note that the LocalStorage (encryption) and management of data is dependant on initializing the APP_ID</p>
188
- <p>Must provide a value for <b>APP_ID</b> in AppModule->Providers</p>
189
- <mat-divider></mat-divider>
190
- <div style="font-size: smaller; margin-top: .5rem;">
191
- <p>Example: UUID (self.crypto.randomUUID() to generate)</p>
192
- <div style="background-color: whitesmoke; padding: 1rem;">
193
- &#123;<br>
194
- provide: APP_ID,<br>
195
- useValue: "056991ac-3537-43ab-b5b9-83edf6554eff",<br>
196
- &#125;
197
- </div>
198
- </div>
199
- </div>
200
- </mat-menu>