http-request-manager 18.7.21 → 18.7.27

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 (198) hide show
  1. package/fesm2022/http-request-manager.mjs +7633 -0
  2. package/fesm2022/http-request-manager.mjs.map +1 -0
  3. package/http-request-manager-18.7.27.tgz +0 -0
  4. package/package.json +16 -5
  5. package/types/http-request-manager.d.ts +2277 -0
  6. package/ARCHITECTURE.md +0 -483
  7. package/DATABASE_README.md +0 -1176
  8. package/HTTP_MANAGER_README.md +0 -579
  9. package/HTTP_SINGNALS_MANAGER_README.md +0 -654
  10. package/HTTP_STATE_MANAGER_README.md +0 -948
  11. package/INTERCEPTOR_README.md +0 -549
  12. package/LOCAL_STORAGE_README.md +0 -1056
  13. package/STORE_STATE_MANAGER_README.md +0 -1322
  14. package/UTILS_README.md +0 -1186
  15. package/WS_MANAGER_README.md +0 -613
  16. package/ng-package.json +0 -8
  17. package/src/lib/http-request-manager.module.ts +0 -132
  18. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -65
  19. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  20. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -224
  21. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -114
  22. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  23. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -52
  24. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  25. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  26. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -206
  27. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
  28. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
  29. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -212
  30. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  31. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  32. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  33. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  34. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  35. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  36. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  37. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  38. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  39. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  40. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  41. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  42. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  43. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  44. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  45. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  46. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  47. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  48. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  49. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -392
  50. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -24
  51. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -461
  52. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -393
  53. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  54. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -421
  55. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -87
  56. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -120
  57. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
  58. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
  59. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
  60. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
  61. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
  62. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
  63. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
  64. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -72
  65. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
  66. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -205
  67. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -77
  68. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
  69. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -96
  70. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -31
  71. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -229
  72. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
  73. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
  74. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
  75. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
  76. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
  77. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
  78. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
  79. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
  80. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -41
  81. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
  82. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
  83. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
  84. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -158
  85. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  86. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  87. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  88. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
  89. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
  90. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  91. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  92. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  93. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  94. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  95. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  96. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
  97. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
  98. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
  99. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
  100. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
  101. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
  102. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
  103. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
  104. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
  105. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
  106. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
  107. package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
  108. package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -48
  109. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
  110. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
  111. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
  112. package/src/lib/index.ts +0 -3
  113. package/src/lib/interceptors/credentials.interceptor.ts +0 -16
  114. package/src/lib/interceptors/index.ts +0 -6
  115. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  116. package/src/lib/interceptors/models/index.ts +0 -2
  117. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  118. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  119. package/src/lib/interceptors/request-header.interceptor.ts +0 -53
  120. package/src/lib/models/config-http-options.model.ts +0 -42
  121. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  122. package/src/lib/models/config-options.model.ts +0 -27
  123. package/src/lib/models/config-token.model.ts +0 -9
  124. package/src/lib/models/data-type.enum.ts +0 -5
  125. package/src/lib/models/database-storage.model.ts +0 -24
  126. package/src/lib/models/index.ts +0 -12
  127. package/src/lib/models/retry-options.model.ts +0 -22
  128. package/src/lib/services/database-manager-service/database.manager.service.ts +0 -262
  129. package/src/lib/services/database-manager-service/db.storage.service.ts +0 -207
  130. package/src/lib/services/database-manager-service/index.ts +0 -4
  131. package/src/lib/services/database-manager-service/models/index.ts +0 -2
  132. package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
  133. package/src/lib/services/index.ts +0 -12
  134. package/src/lib/services/local-storage-manager-service/index.ts +0 -4
  135. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  136. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -426
  137. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
  138. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -345
  139. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  140. package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
  141. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
  142. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  143. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
  144. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  145. package/src/lib/services/request-manager-services/README.md +0 -268
  146. package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -246
  147. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -232
  148. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -274
  149. package/src/lib/services/request-manager-services/index.ts +0 -8
  150. package/src/lib/services/request-manager-services/request-signals.service.ts +0 -214
  151. package/src/lib/services/request-manager-services/request.service.ts +0 -309
  152. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  153. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  154. package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
  155. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
  156. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -436
  157. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -1321
  158. package/src/lib/services/request-manager-state-service/index.ts +0 -3
  159. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -61
  160. package/src/lib/services/request-manager-state-service/models/index.ts +0 -6
  161. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -22
  162. package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
  163. package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -39
  164. package/src/lib/services/store-state-manager-service/index.ts +0 -3
  165. package/src/lib/services/store-state-manager-service/models/index.ts +0 -2
  166. package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
  167. package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -88
  168. package/src/lib/services/utils/app.service.spec.ts +0 -25
  169. package/src/lib/services/utils/app.service.ts +0 -21
  170. package/src/lib/services/utils/encryption/README.md +0 -79
  171. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  172. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  173. package/src/lib/services/utils/encryption/index.ts +0 -5
  174. package/src/lib/services/utils/encryption/random.ts +0 -81
  175. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -93
  176. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  177. package/src/lib/services/utils/headers.service.ts +0 -18
  178. package/src/lib/services/utils/index.ts +0 -7
  179. package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
  180. package/src/lib/services/utils/object-merger.service.ts +0 -78
  181. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  182. package/src/lib/services/utils/path-query.service.ts +0 -69
  183. package/src/lib/services/utils/random-color.utils.ts +0 -83
  184. package/src/lib/services/utils/utils.service.spec.ts +0 -165
  185. package/src/lib/services/utils/utils.service.ts +0 -192
  186. package/src/lib/services/ws-manager-service/index.ts +0 -4
  187. package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -24
  188. package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
  189. package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -24
  190. package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
  191. package/src/lib/services/ws-manager-service/models/index.ts +0 -5
  192. package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
  193. package/src/lib/services/ws-manager-service/services/index.ts +0 -3
  194. package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -392
  195. package/src/public-api.ts +0 -14
  196. package/tsconfig.lib.json +0 -32
  197. package/tsconfig.lib.prod.json +0 -10
  198. package/tsconfig.spec.json +0 -14
@@ -1,158 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- import { DatabaseStorage, DataType, RetryOptions } from '../../../models';
4
- import { HTTPManagerStateService, ApiRequest } from '../../../services';
5
- import { OIDCClient } from '../models/oidc-client.model';
6
-
7
- /**
8
- * StateServiceDemo - Core state management and WebSocket connection service
9
- *
10
- * Handles:
11
- * - WebSocket connection setup
12
- * - Base HTTP state management
13
- * - Connection status and retry logic
14
- */
15
- @Injectable({
16
- providedIn: 'root'
17
- })
18
- export class StateServiceDemo extends HTTPManagerStateService<any> {
19
-
20
- attempts$ = this.wsRetryAttempts$;
21
- nextRetry$ = this.wsNextRetry$;
22
-
23
- constructor() {
24
- super(
25
- ApiRequest.adapt({
26
- server: '',
27
- retry: RetryOptions.adapt({
28
- times: 3,
29
- delay: 1,
30
- }),
31
- adapter: OIDCClient.adapt,
32
- }),
33
- DataType.ARRAY,
34
- DatabaseStorage.adapt({
35
- table: 'ws_demo_data',
36
- expiresIn: '5mn',
37
- })
38
- );
39
- }
40
-
41
- /**
42
- * Initialize WebSocket connection with server configuration
43
- */
44
- updateConnection(server: string, wsServer: string, jwtToken: string, user: any) {
45
- this.setApiRequestOptions({
46
- server,
47
- retry: RetryOptions.adapt({
48
- times: 3,
49
- delay: 1,
50
- }),
51
- adapter: OIDCClient.adapt,
52
- ws: {
53
- id: 'USERS123',
54
- wsServer,
55
- jwtToken,
56
- user,
57
- retry: RetryOptions.adapt({
58
- times: 10,
59
- delay: 5,
60
- }),
61
- }
62
- });
63
-
64
- this.userAction$.subscribe(user => {
65
- console.log('User Action:', user);
66
- });
67
- }
68
-
69
- /**
70
- * Get all available channels
71
- */
72
- override getAllChannels() {
73
- this.httpManagerService.getAllChannels();
74
- }
75
-
76
- /**
77
- * Subscribe to a channel
78
- */
79
- override subscribeToChannel(channel: string) {
80
- super.subscribeToChannel(channel);
81
- }
82
-
83
- /**
84
- * Unsubscribe from a channel
85
- */
86
- override unsubscribeFromChannel(channel: string) {
87
- super.unsubscribeFromChannel(channel);
88
- }
89
-
90
- // =====================
91
- // Notification Channel Methods (MES- prefix)
92
- // These override methods from HTTPManagerStateService
93
- // =====================
94
-
95
- /**
96
- * Create a notification channel (MES- prefix)
97
- */
98
- override createNotificationChannel(channel: string) {
99
- super.createNotificationChannel(channel);
100
- }
101
-
102
- /**
103
- * Get all notification channels list (in-memory)
104
- */
105
- override getNotificationChannels() {
106
- super.getNotificationChannels();
107
- }
108
-
109
- /**
110
- * Get today's notification channels from database
111
- * Returns unique channels that have notifications posted today
112
- */
113
- override getTodaysNotificationChannels() {
114
- super.getTodaysNotificationChannels();
115
- }
116
-
117
- /**
118
- * Define and load previous day's notification channels from database
119
- * Creates channels in memory and broadcasts updated list
120
- */
121
- definePreviousNotificationChannels() {
122
- const options = ApiRequest.adapt({
123
- path: ['notifications', 'channels', 'define-previous']
124
- });
125
-
126
- this.httpManagerService.postRequest({}, options).subscribe({
127
- next: (response: any) => {
128
- console.log('📋 Previous day channels loaded:', response);
129
- // The server will broadcast updated channel list to all WebSocket clients
130
- },
131
- error: (error) => {
132
- console.error('❌ Failed to load previous day channels:', error);
133
- }
134
- });
135
- }
136
-
137
- /**
138
- * Subscribe to notification channel with optional date filters
139
- */
140
- override subscribeToNotificationChannel(channel: string, options?: { startEpoch?: number; endEpoch?: number }, user?: any) {
141
- super.subscribeToNotificationChannel(channel, options, user);
142
- }
143
-
144
- /**
145
- * Unsubscribe from notification channel
146
- */
147
- override unsubscribeFromNotificationChannel(channel: string) {
148
- super.unsubscribeFromNotificationChannel(channel);
149
- }
150
-
151
- /**
152
- * Send a notification to a channel
153
- */
154
- override sendNotification(channel: string, content: any) {
155
- super.sendNotification(channel, content);
156
- }
157
-
158
- }
@@ -1,53 +0,0 @@
1
- @if (!isPending) {
2
- @if (hasError) {
3
- <div class="width center-txt" style="margin-bottom: 4px;">
4
- <mat-icon color="warn" class="warn-icon">warning</mat-icon>
5
- </div>
6
- } @else {
7
- @if (active) {
8
- <div class="container-obj">
9
- <div class="centered-obj-div">
10
- <mat-progress-spinner
11
- color="primary"
12
- mode="indeterminate"
13
- [diameter]="44"
14
- ></mat-progress-spinner>
15
- </div>
16
- </div>
17
- } @else {
18
- <button data-tracking="export-btn" mat-icon-button (click)="onAction()" class="icon-button" [disabled]="disabled">
19
- <mat-icon class="custom-icon">file_download</mat-icon>
20
- </button>
21
- }
22
- }
23
- } @else {
24
- @if ((progress > 0 && progress < 100)) {
25
- <div
26
- class="spinner-container"
27
- >
28
- <div class="spinner-background">
29
- {{progress}}%
30
- </div>
31
- <mat-progress-spinner
32
- color="primary"
33
- [mode]="mode"
34
- [value]="progress"
35
- [diameter]="44"
36
- ></mat-progress-spinner>
37
- </div>
38
- } @else {
39
- <div class="container-obj">
40
- <div class="centered-obj-div">
41
- <mat-progress-spinner
42
- color="primary"
43
- mode="indeterminate"
44
- [diameter]="44"
45
- ></mat-progress-spinner>
46
- </div>
47
- </div>
48
- }
49
- }
50
-
51
-
52
-
53
-
@@ -1,60 +0,0 @@
1
- :not(spinner-container).spinner-container {
2
- position: relative;
3
-
4
- .spinner-background {
5
- position: absolute;
6
- width: 44px;
7
- height: 44px;
8
- font-size: 12px;
9
- line-height: 32px;
10
- text-align: center;
11
- overflow: hidden;
12
- border-radius: 50%;
13
- border: solid 5px whitesmoke;
14
- }
15
-
16
- }
17
-
18
- .center-txt {
19
- align-content: center;
20
- text-align: -webkit-center;
21
- }
22
-
23
- .width {
24
- width: 48px;
25
- height: 48px;
26
- }
27
-
28
- .icon-button {
29
- display: flex;
30
- align-items: center;
31
- justify-content: center;
32
- width: 48px;
33
- height: 48px;
34
- padding: 0;
35
- }
36
-
37
- // .custom-icon {
38
- // font-size: 32px;
39
- // line-height: 1;
40
- // position: relative;
41
- // left: -4px;
42
- // }
43
-
44
- .container-obj {
45
- display: flex;
46
- justify-content: center;
47
- align-items: center;
48
- width: 48px;
49
- height: 48px;
50
- }
51
-
52
- .centered-obj-div {
53
- text-align: center
54
- }
55
-
56
- // .warn-icon {
57
- // position: relative;
58
- // top: 6px;
59
- // width: 48px;
60
- // }
@@ -1,72 +0,0 @@
1
- import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
2
- import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
3
- import { Subscription, timer } from 'rxjs';
4
-
5
- @Component({
6
- selector: 'app-download-file',
7
- templateUrl: './download-file.component.html',
8
- styleUrls: ['./download-file.component.scss'],
9
- encapsulation: ViewEncapsulation.None,
10
- standalone: false
11
- })
12
- export class DownloadFileComponent implements OnInit {
13
-
14
- private subscriptions = new Subscription();
15
-
16
- @Input() event?: Function;
17
- @Input() displayError = 3; // seconds
18
- @Input() diameter = 32;
19
- @Input() mode: ProgressSpinnerMode = 'determinate';
20
- @Input() isPending = false;
21
-
22
- @Input() active = false;
23
- @Input() disabled = false;
24
-
25
- @Output() error = new EventEmitter<void>();
26
-
27
- private _progress = 0;
28
- @Input() set progress(value: any) {
29
- this._progress = value ?? 0;
30
- }
31
-
32
- get progress() {
33
- return this._progress;
34
- }
35
-
36
- private _hasError = false;
37
- private errorTimerActive = false;
38
-
39
- @Input() set hasError(value: boolean | any) {
40
-
41
- this._hasError = !!value;
42
-
43
- if (this._hasError && !this.errorTimerActive) {
44
- this.errorTimerActive = true;
45
- this.active = false;
46
- this.error.emit()
47
- this.subscriptions.add(
48
- timer(this.displayError * 1000)
49
- .subscribe((err) => {
50
- this._hasError = false;
51
- this.errorTimerActive = false;
52
- })
53
- );
54
- }
55
-
56
- }
57
-
58
- get hasError() {
59
- return this._hasError;
60
- }
61
-
62
- ngOnInit() {}
63
-
64
- onAction() {
65
- this.isPending = false
66
- if (this.event) this.event()
67
- }
68
-
69
- ngOnDestroy() {
70
- this.subscriptions.unsubscribe()
71
- }
72
- }
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
-
4
- import { DownloadFileComponent } from './download-file/download-file.component';
5
- import { FileDownloaderComponent } from './file-downloader.component';
6
-
7
- import { SpinnerComponent } from './spinner/spinner.component';
8
- import { MatIconModule } from '@angular/material/icon';
9
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
10
- import { MatButtonModule } from '@angular/material/button';
11
-
12
- @NgModule({
13
- imports: [
14
- CommonModule,
15
- MatIconModule,
16
- MatProgressSpinnerModule,
17
- MatButtonModule,
18
- ],
19
- declarations: [
20
- SpinnerComponent,
21
- DownloadFileComponent,
22
- FileDownloaderComponent,
23
- ],
24
- exports: [
25
- FileDownloaderComponent
26
- ]
27
- })
28
- export class FileDownloaderModule { }
@@ -1,10 +0,0 @@
1
- <app-download-file
2
- [disabled]="disabled"
3
- [displayError]="3"
4
- [event]="onDownloadStreaming.bind(this)"
5
- [isPending]="(isPending$ | async) || false"
6
- [progress]="(progress$ | async)"
7
- [hasError]="(error$ | async)"
8
- (error)="onError(labels.error)"
9
- [active]="active"
10
- ></app-download-file>
@@ -1,29 +0,0 @@
1
-
2
- $snackBarTextColor: white;
3
- $snackBarBackgroundNormal: #F44336;
4
- $snackBarActionColor: white;
5
-
6
- .snackBarInfo {
7
- background-color: $snackBarBackgroundNormal;
8
- color: $snackBarTextColor;
9
- }
10
- .mat-simple-snackbar > span {
11
- font-weight: bold;
12
- }
13
- .mat-simple-snackbar-action {
14
- .mat-button {
15
- .mat-button-wrapper {
16
- color: $snackBarActionColor;
17
- }
18
- }
19
- }
20
-
21
- .cdk-overlay-pane > .mat-snack-bar-container {
22
- width: 100%;
23
- }
24
-
25
-
26
- .mat-snack-bar-container {
27
- max-width: 100% !important;
28
- width: 100%;
29
- }
@@ -1,100 +0,0 @@
1
- import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
2
- import { catchError, distinctUntilChanged, finalize } from 'rxjs/operators';
3
-
4
- import { ToastColors, ToastDisplay } from 'toast-message-display';
5
-
6
- import { DownloadLabels } from './models/download-labels-model';
7
- import { HTTPManagerService } from '../../../services/request-manager-services';
8
- import { ApiRequest } from '../../../services';
9
- import { Subscription, throwError } from 'rxjs';
10
-
11
- @Component({
12
- selector: 'app-file-downloader',
13
- templateUrl: './file-downloader.component.html',
14
- styleUrls: ['./file-downloader.component.scss'],
15
- encapsulation: ViewEncapsulation.None,
16
- standalone: false
17
- })
18
- export class FileDownloaderComponent extends HTTPManagerService<any> implements OnInit {
19
-
20
- @Input() delayError = 3
21
- @Input() apiRequest: ApiRequest = ApiRequest.adapt()
22
- @Input() displayErrorMessage = false
23
-
24
- @Input() saveFileAs?: string
25
-
26
- _labels = DownloadLabels.adapt()
27
- @Input() set labels(value: DownloadLabels) {
28
- this._labels = (value) ? DownloadLabels.adapt(value) : DownloadLabels.adapt()
29
- }
30
-
31
- active = false
32
-
33
- subscription = new Subscription()
34
-
35
- get labels() {
36
- return this._labels
37
- }
38
-
39
- @Output() completed = new EventEmitter<void>()
40
- @Output() failed = new EventEmitter<string>()
41
-
42
- @Input() disabled = false
43
-
44
- constructor() {
45
- super()
46
- }
47
-
48
- ngOnInit() {
49
-
50
- }
51
-
52
- onDownloadStreaming() {
53
-
54
- if (this.active) return;
55
- this.active = true;
56
-
57
- return this.downloadRequest(this.apiRequest, [])
58
- .pipe(
59
- distinctUntilChanged(),
60
- catchError((err) => {
61
-
62
- this.onError(err.message)
63
- this.active = false
64
- this.failed.emit(err)
65
-
66
- return throwError(() => err)
67
-
68
- }),
69
- finalize(() => {
70
- if (!this.active) return
71
- this.active = false
72
- this.completed.emit()
73
- })
74
- )
75
- .subscribe()
76
- }
77
-
78
-
79
- onError(message: string) {
80
-
81
- if(!message || !this.displayErrorMessage) return
82
-
83
- const display = ToastDisplay.adapt({
84
- message,
85
- action: 'Ok',
86
- color: ToastColors.ERROR,
87
- icon: 'error',
88
- });
89
-
90
- this.active = false
91
-
92
- this.toastMessage.toastMessage(display);
93
-
94
- }
95
-
96
- OnDestroy() {
97
- this.subscription.unsubscribe()
98
- }
99
-
100
- }
@@ -1,22 +0,0 @@
1
- export interface DownloadLabelsInterface {
2
- error: string;
3
- action: string;
4
- icon: string;
5
- }
6
-
7
- export class DownloadLabels implements DownloadLabelsInterface {
8
- constructor(
9
- public error = '',
10
- public action = '',
11
- public icon = 'error',
12
- ) {}
13
-
14
- static adapt(item?: any): DownloadLabelsInterface {
15
- return new DownloadLabels(
16
- item?.error,
17
- item?.action,
18
- item?.icon,
19
- )
20
-
21
- }
22
- }
@@ -1,8 +0,0 @@
1
- <div class="spinner-background">{{display}}</div>
2
- <mat-progress-spinner
3
- [color]="color"
4
- [diameter]="diameter"
5
- [mode]="mode || 'indeterminate'"
6
- [strokeWidth]="strokeWidth"
7
- [value]="value">
8
- </mat-progress-spinner>
@@ -1,19 +0,0 @@
1
- .example-h2 {
2
- margin: 24px 0;
3
- }
4
- :not(spinner-container).spinner-container {
5
- position: relative;
6
-
7
- .spinner-background {
8
- position: absolute;
9
- width: 80px;
10
- height: 80px;
11
- line-height: 80px;
12
- text-align: center;
13
- overflow: hidden;
14
- border-color: rgba(103, 58, 183, 0.12);
15
- border-radius: 50%;
16
- border-style: solid;
17
- border-width: 10px;
18
- }
19
- }
@@ -1,26 +0,0 @@
1
- import { Component, Input, OnInit } from '@angular/core';
2
- import { ThemePalette } from '@angular/material/core';
3
- import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
4
-
5
- @Component({
6
- selector: 'app-spinner',
7
- templateUrl: './spinner.component.html',
8
- styleUrls: ['./spinner.component.scss'],
9
- standalone: false
10
- })
11
- export class SpinnerComponent implements OnInit {
12
-
13
- @Input() color: ThemePalette;
14
-
15
- @Input() diameter?: number;
16
- @Input() display?: string | number;
17
- @Input() mode?: ProgressSpinnerMode;
18
- @Input() strokeWidth?: number;
19
- @Input() value = 0
20
-
21
- constructor() { }
22
-
23
- ngOnInit() {
24
- }
25
-
26
- }
@@ -1,30 +0,0 @@
1
- import { App } from "./app.model"
2
-
3
- export interface AppSessionInterface {
4
- cfid: string,
5
- sessionid: string,
6
- urltoken: string,
7
- cftoken: string,
8
- }
9
-
10
- export class AppSession implements AppSessionInterface {
11
-
12
- constructor(
13
- public cfid = '',
14
- public sessionid = '',
15
- public urltoken = '',
16
- public cftoken = '',
17
- ) {}
18
-
19
- static adapt(item?: any): AppSession {
20
-
21
- return new AppSession(
22
- item?.cfid,
23
- item?.sessionid,
24
- item?.urltoken,
25
- item?.cftoken,
26
- )
27
-
28
- }
29
-
30
- }
@@ -1,19 +0,0 @@
1
- export interface AppInterface {
2
- applicationName: string
3
- }
4
-
5
- export class App implements AppInterface {
6
-
7
- constructor(
8
- public applicationName = ''
9
- ) {}
10
-
11
- static adapt(item?: any): App {
12
-
13
- return new App(
14
- item?.applicationName,
15
- )
16
-
17
- }
18
-
19
- }
@@ -1,25 +0,0 @@
1
- import { App } from "./app.model"
2
- import { AppSession } from "./app-session.model"
3
-
4
- export interface GetSampleInterface {
5
- application: App,
6
- session: AppSession
7
- }
8
-
9
- export class GetSample implements GetSampleInterface {
10
-
11
- constructor(
12
- public application = App.adapt(),
13
- public session = AppSession.adapt(),
14
- ) {}
15
-
16
- static adapt(item?: any) {
17
-
18
- return new GetSample(
19
- (item?.application) ? App.adapt(item.application) : App.adapt(),
20
- (item?.session) ? AppSession.adapt(item.session) : AppSession.adapt(),
21
- )
22
-
23
- }
24
-
25
- }
@@ -1,19 +0,0 @@
1
- export interface AIPromptInterface {
2
- response: string
3
- }
4
-
5
- export class AIPrompt implements AIPromptInterface {
6
-
7
- constructor(
8
- public response = '',
9
- ) {}
10
-
11
- static adapt(item?: any): AIPrompt {
12
-
13
- return new AIPrompt(
14
- item?.response,
15
- )
16
-
17
- }
18
-
19
- }