cat-documents-ng 1.0.6 → 1.0.7

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 (211) hide show
  1. package/README.md +322 -322
  2. package/Shared/components/confirmation-dialog/confirmation-dialog.component.d.ts +44 -0
  3. package/Shared/components/table-primary/table-primary.component.d.ts +31 -0
  4. package/Shared/components/table-primary/table-primary.model.d.ts +19 -0
  5. package/Shared/constant/ERROR.d.ts +52 -0
  6. package/Shared/constant/SHARED.d.ts +546 -0
  7. package/{src/Shared/constant/URLS.ts → Shared/constant/URLS.d.ts} +25 -31
  8. package/Shared/services/app-config.service.d.ts +51 -0
  9. package/{src/Shared/services/global-error.handler.ts → Shared/services/global-error.handler.d.ts} +9 -11
  10. package/Shared/services/session.service.d.ts +46 -0
  11. package/Shared/shared.module.d.ts +14 -0
  12. package/fesm2022/cat-documents-ng.mjs +11405 -0
  13. package/fesm2022/cat-documents-ng.mjs.map +1 -0
  14. package/index.d.ts +5 -0
  15. package/lib/document/components/document-actions/document-actions.component.d.ts +78 -0
  16. package/lib/document/components/document-container/document-container.component.d.ts +162 -0
  17. package/lib/document/components/document-content-viewer/document-content-viewer.component.d.ts +291 -0
  18. package/lib/document/components/document-history/document-history.component.d.ts +160 -0
  19. package/lib/document/components/document-list/document-list.component.d.ts +299 -0
  20. package/lib/document/components/document-list-item/document-list-item.component.d.ts +28 -0
  21. package/lib/document/components/document-search/document-search.component.d.ts +77 -0
  22. package/lib/document/components/document-status/document-status.component.d.ts +24 -0
  23. package/lib/document/components/document-upload/document-upload.component.d.ts +321 -0
  24. package/lib/document/components/document-viewer/document-viewer.component.d.ts +137 -0
  25. package/lib/document/components/document-zoom-controls/document-zoom-controls.component.d.ts +33 -0
  26. package/lib/document/components/documents-menu/documents-menu.component.d.ts +110 -0
  27. package/{src/lib/document/components/folder-block/folder-block.component.ts → lib/document/components/folder-block/folder-block.component.d.ts} +12 -28
  28. package/lib/document/components/folder-container/folder-container.component.d.ts +162 -0
  29. package/lib/document/components/linked-document/linked-document.component.d.ts +39 -0
  30. package/lib/document/components/request-document/request-document.component.d.ts +69 -0
  31. package/lib/document/components/sidebar/sidebar.component.d.ts +109 -0
  32. package/lib/document/components/user-list/user-list.component.d.ts +34 -0
  33. package/lib/document/constant/DOCUMENT_HISTORY.d.ts +41 -0
  34. package/lib/document/directives/document.directive.d.ts +20 -0
  35. package/lib/document/directives/permission.directive.d.ts +38 -0
  36. package/lib/document/document.module.d.ts +60 -0
  37. package/{src/lib/document/models/document-alert.model.ts → lib/document/models/document-alert.model.d.ts} +4 -11
  38. package/lib/document/models/document-category.model.d.ts +24 -0
  39. package/lib/document/models/document-history.model.d.ts +94 -0
  40. package/lib/document/models/document-list-response.model.d.ts +33 -0
  41. package/lib/document/models/document-type.model.d.ts +37 -0
  42. package/lib/document/models/document.model.d.ts +44 -0
  43. package/{src/lib/document/models/folder.model.ts → lib/document/models/folder.model.d.ts} +4 -10
  44. package/lib/document/models/status-data.model.d.ts +27 -0
  45. package/lib/document/models/uploaded-file-response.model.d.ts +7 -0
  46. package/lib/document/models/user-list.model.d.ts +8 -0
  47. package/lib/document/services/csv-parser.service.d.ts +88 -0
  48. package/lib/document/services/document-actions.service.d.ts +48 -0
  49. package/lib/document/services/document-content-type.service.d.ts +85 -0
  50. package/lib/document/services/document-history-style.service.d.ts +34 -0
  51. package/lib/document/services/document-history.service.d.ts +42 -0
  52. package/lib/document/services/document-http.service.d.ts +179 -0
  53. package/lib/document/services/document-list.service.d.ts +74 -0
  54. package/lib/document/services/document-menu.service.d.ts +122 -0
  55. package/lib/document/services/document-scroll.service.d.ts +55 -0
  56. package/lib/document/services/document-table-builder.service.d.ts +38 -0
  57. package/lib/document/services/document-upload-business.service.d.ts +107 -0
  58. package/lib/document/services/document-upload-data.service.d.ts +40 -0
  59. package/lib/document/services/document-upload-form.service.d.ts +41 -0
  60. package/lib/document/services/document-upload.service.d.ts +99 -0
  61. package/lib/document/services/document-viewer.service.d.ts +97 -0
  62. package/lib/document/services/document-zoom.service.d.ts +81 -0
  63. package/lib/document/services/document.service.d.ts +161 -0
  64. package/lib/document/services/eml-parser.service.d.ts +116 -0
  65. package/lib/document/services/excel-parser.service.d.ts +169 -0
  66. package/lib/document/services/file-format.service.d.ts +34 -0
  67. package/lib/document/services/status-calculator.service.d.ts +20 -0
  68. package/lib/document/services/user-list.service.d.ts +29 -0
  69. package/lib/document/state/document.query.d.ts +243 -0
  70. package/{src/lib/document/state/document.service.ts → lib/document/state/document.service.d.ts} +15 -46
  71. package/lib/document/state/document.state.d.ts +61 -0
  72. package/lib/document/state/document.store.d.ts +56 -0
  73. package/package.json +11 -5
  74. package/{src/public-api.ts → public-api.d.ts} +0 -4
  75. package/ng-package.json +0 -10
  76. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.html +0 -3
  77. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.scss +0 -13
  78. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.spec.ts +0 -70
  79. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.ts +0 -133
  80. package/src/Shared/components/table-primary/table-primary.component.html +0 -66
  81. package/src/Shared/components/table-primary/table-primary.component.scss +0 -227
  82. package/src/Shared/components/table-primary/table-primary.component.spec.ts +0 -23
  83. package/src/Shared/components/table-primary/table-primary.component.ts +0 -143
  84. package/src/Shared/components/table-primary/table-primary.model.ts +0 -21
  85. package/src/Shared/constant/ERROR.ts +0 -55
  86. package/src/Shared/constant/PERMISSIONS.ts +0 -17
  87. package/src/Shared/constant/SHARED.ts +0 -936
  88. package/src/Shared/services/app-config.service.spec.ts +0 -19
  89. package/src/Shared/services/app-config.service.ts +0 -73
  90. package/src/Shared/services/session.service.spec.ts +0 -16
  91. package/src/Shared/services/session.service.ts +0 -76
  92. package/src/Shared/shared.module.ts +0 -25
  93. package/src/lib/document/components/csv-viewer/csv-viewer.component.ts +0 -1
  94. package/src/lib/document/components/document-actions/document-actions.component.html +0 -59
  95. package/src/lib/document/components/document-actions/document-actions.component.scss +0 -362
  96. package/src/lib/document/components/document-actions/document-actions.component.spec.ts +0 -297
  97. package/src/lib/document/components/document-actions/document-actions.component.ts +0 -163
  98. package/src/lib/document/components/document-container/document-container.component.html +0 -36
  99. package/src/lib/document/components/document-container/document-container.component.scss +0 -144
  100. package/src/lib/document/components/document-container/document-container.component.spec.ts +0 -110
  101. package/src/lib/document/components/document-container/document-container.component.ts +0 -363
  102. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.html +0 -332
  103. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.scss +0 -1877
  104. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.spec.ts +0 -258
  105. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.ts +0 -664
  106. package/src/lib/document/components/document-history/document-history.component.html +0 -96
  107. package/src/lib/document/components/document-history/document-history.component.scss +0 -392
  108. package/src/lib/document/components/document-history/document-history.component.spec.ts +0 -93
  109. package/src/lib/document/components/document-history/document-history.component.ts +0 -373
  110. package/src/lib/document/components/document-list/document-list.component.html +0 -46
  111. package/src/lib/document/components/document-list/document-list.component.scss +0 -513
  112. package/src/lib/document/components/document-list/document-list.component.spec.ts +0 -486
  113. package/src/lib/document/components/document-list/document-list.component.ts +0 -682
  114. package/src/lib/document/components/document-list-item/document-list-item.component.html +0 -36
  115. package/src/lib/document/components/document-list-item/document-list-item.component.scss +0 -34
  116. package/src/lib/document/components/document-list-item/document-list-item.component.spec.ts +0 -75
  117. package/src/lib/document/components/document-list-item/document-list-item.component.ts +0 -40
  118. package/src/lib/document/components/document-search/document-search.component.html +0 -64
  119. package/src/lib/document/components/document-search/document-search.component.scss +0 -206
  120. package/src/lib/document/components/document-search/document-search.component.spec.ts +0 -82
  121. package/src/lib/document/components/document-search/document-search.component.ts +0 -163
  122. package/src/lib/document/components/document-status/document-status.component.html +0 -31
  123. package/src/lib/document/components/document-status/document-status.component.scss +0 -192
  124. package/src/lib/document/components/document-status/document-status.component.spec.ts +0 -23
  125. package/src/lib/document/components/document-status/document-status.component.ts +0 -87
  126. package/src/lib/document/components/document-upload/document-upload.component.html +0 -160
  127. package/src/lib/document/components/document-upload/document-upload.component.scss +0 -235
  128. package/src/lib/document/components/document-upload/document-upload.component.spec.ts +0 -95
  129. package/src/lib/document/components/document-upload/document-upload.component.ts +0 -668
  130. package/src/lib/document/components/document-viewer/document-viewer.component.html +0 -50
  131. package/src/lib/document/components/document-viewer/document-viewer.component.scss +0 -187
  132. package/src/lib/document/components/document-viewer/document-viewer.component.spec.ts +0 -79
  133. package/src/lib/document/components/document-viewer/document-viewer.component.ts +0 -261
  134. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.html +0 -48
  135. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.scss +0 -320
  136. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.spec.ts +0 -59
  137. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.ts +0 -150
  138. package/src/lib/document/components/documents-menu/documents-menu.component.html +0 -44
  139. package/src/lib/document/components/documents-menu/documents-menu.component.scss +0 -363
  140. package/src/lib/document/components/documents-menu/documents-menu.component.spec.ts +0 -23
  141. package/src/lib/document/components/documents-menu/documents-menu.component.ts +0 -316
  142. package/src/lib/document/components/folder-block/folder-block.component.html +0 -46
  143. package/src/lib/document/components/folder-block/folder-block.component.scss +0 -9
  144. package/src/lib/document/components/folder-block/folder-block.component.spec.ts +0 -70
  145. package/src/lib/document/components/folder-container/folder-container.component.html +0 -56
  146. package/src/lib/document/components/folder-container/folder-container.component.scss +0 -20
  147. package/src/lib/document/components/folder-container/folder-container.component.spec.ts +0 -27
  148. package/src/lib/document/components/folder-container/folder-container.component.ts +0 -328
  149. package/src/lib/document/components/linked-document/linked-document.component.html +0 -23
  150. package/src/lib/document/components/linked-document/linked-document.component.scss +0 -10
  151. package/src/lib/document/components/linked-document/linked-document.component.spec.ts +0 -61
  152. package/src/lib/document/components/linked-document/linked-document.component.ts +0 -49
  153. package/src/lib/document/components/request-document/request-document.component.html +0 -86
  154. package/src/lib/document/components/request-document/request-document.component.scss +0 -16
  155. package/src/lib/document/components/request-document/request-document.component.ts +0 -278
  156. package/src/lib/document/components/sidebar/sidebar.component.html +0 -75
  157. package/src/lib/document/components/sidebar/sidebar.component.scss +0 -157
  158. package/src/lib/document/components/sidebar/sidebar.component.spec.ts +0 -114
  159. package/src/lib/document/components/sidebar/sidebar.component.ts +0 -223
  160. package/src/lib/document/components/user-list/user-list.component.html +0 -33
  161. package/src/lib/document/components/user-list/user-list.component.scss +0 -118
  162. package/src/lib/document/components/user-list/user-list.component.spec.ts +0 -23
  163. package/src/lib/document/components/user-list/user-list.component.ts +0 -181
  164. package/src/lib/document/constant/DOCUMENT_HISTORY.ts +0 -52
  165. package/src/lib/document/directives/document.directive.ts +0 -32
  166. package/src/lib/document/directives/permission.directive.spec.ts +0 -0
  167. package/src/lib/document/directives/permission.directive.ts +0 -72
  168. package/src/lib/document/document.module.ts +0 -351
  169. package/src/lib/document/models/document-category.model.ts +0 -30
  170. package/src/lib/document/models/document-history.model.ts +0 -109
  171. package/src/lib/document/models/document-list-response.model.ts +0 -37
  172. package/src/lib/document/models/document-type.model.ts +0 -44
  173. package/src/lib/document/models/document.model.ts +0 -53
  174. package/src/lib/document/models/status-data.model.ts +0 -31
  175. package/src/lib/document/models/uploaded-file-response.model.ts +0 -7
  176. package/src/lib/document/models/user-list.model.ts +0 -10
  177. package/src/lib/document/services/csv-parser.service.spec.ts +0 -97
  178. package/src/lib/document/services/csv-parser.service.ts +0 -303
  179. package/src/lib/document/services/document-actions.service.ts +0 -125
  180. package/src/lib/document/services/document-content-type.service.ts +0 -193
  181. package/src/lib/document/services/document-history-style.service.ts +0 -138
  182. package/src/lib/document/services/document-history.service.ts +0 -129
  183. package/src/lib/document/services/document-http.service.spec.ts +0 -119
  184. package/src/lib/document/services/document-http.service.ts +0 -497
  185. package/src/lib/document/services/document-list.service.ts +0 -195
  186. package/src/lib/document/services/document-menu.service.ts +0 -277
  187. package/src/lib/document/services/document-scroll.service.ts +0 -138
  188. package/src/lib/document/services/document-severity.service.ts +0 -98
  189. package/src/lib/document/services/document-table-builder.service.ts +0 -82
  190. package/src/lib/document/services/document-upload-business.service.ts +0 -326
  191. package/src/lib/document/services/document-upload-data.service.ts +0 -82
  192. package/src/lib/document/services/document-upload-form.service.ts +0 -149
  193. package/src/lib/document/services/document-upload.service.spec.ts +0 -99
  194. package/src/lib/document/services/document-upload.service.ts +0 -209
  195. package/src/lib/document/services/document-viewer.service.ts +0 -279
  196. package/src/lib/document/services/document-zoom.service.spec.ts +0 -56
  197. package/src/lib/document/services/document-zoom.service.ts +0 -164
  198. package/src/lib/document/services/document.service.ts +0 -356
  199. package/src/lib/document/services/eml-parser.service.ts +0 -444
  200. package/src/lib/document/services/excel-parser.service.spec.ts +0 -66
  201. package/src/lib/document/services/excel-parser.service.ts +0 -483
  202. package/src/lib/document/services/file-format.service.spec.ts +0 -16
  203. package/src/lib/document/services/file-format.service.ts +0 -63
  204. package/src/lib/document/services/status-calculator.service.ts +0 -44
  205. package/src/lib/document/services/user-list.service.ts +0 -77
  206. package/src/lib/document/state/document.query.ts +0 -378
  207. package/src/lib/document/state/document.state.ts +0 -100
  208. package/src/lib/document/state/document.store.ts +0 -200
  209. package/tsconfig.lib.json +0 -15
  210. package/tsconfig.lib.prod.json +0 -11
  211. package/tsconfig.spec.json +0 -15
@@ -1,356 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { Observable, combineLatest, Subscription } from "rxjs";
3
- import { DocumentModel } from "../models/document.model";
4
- import { DocumentStore } from "../state/document.store";
5
- import { DocumentQuery } from "../state/document.query";
6
- import { DocumentHttpService } from "./document-http.service";
7
- import { DocumentMenuService } from "./document-menu.service";
8
- import { switchMap, debounceTime, distinctUntilChanged } from "rxjs/operators";
9
- import { ERRORS } from "../../../Shared/constant/ERROR";
10
-
11
- /**
12
- * Service to manage the document data and selection state
13
- */
14
- @Injectable({
15
- providedIn: 'root',
16
- })
17
- export class DocumentHelperService {
18
-
19
- private selectionWatcherSubscription: Subscription | null = null;
20
-
21
- constructor(
22
- private documentStore: DocumentStore,
23
- private documentQuery: DocumentQuery,
24
- private documentHttpService: DocumentHttpService,
25
- private documentMenuService: DocumentMenuService
26
- ) {
27
- // Note: initializeSelectionWatcher now requires contextId
28
- // This should be called from the component that has access to contextId
29
- }
30
-
31
- /**
32
- * Initialize watcher for selection state changes
33
- * @param contextId - The context ID to use for API calls
34
- */
35
- initializeSelectionWatcher(contextId: string): void {
36
- // Clean up any existing subscription
37
- this.cleanupSelectionWatcher();
38
-
39
- this.selectionWatcherSubscription = combineLatest([
40
- this.documentQuery.selectSelectedUserId(),
41
- this.documentQuery.selectSelectedStatus(),
42
- this.documentQuery.selectSearchKey()
43
- ]).pipe(
44
- debounceTime(300),
45
- distinctUntilChanged((prev, curr) => {
46
- const isSame = prev[0] === curr[0] && prev[1] === curr[1] && prev[2] === curr[2];
47
- return isSame;
48
- }),
49
- switchMap(([userId, status, searchKey]) => {
50
- return this.documentHttpService.getDocumentsBySelection(contextId, null, userId, status, searchKey);
51
- })
52
- ).subscribe({
53
- next: (response) => {
54
- const currentState = this.documentQuery.getSelectionState();
55
- this.documentStore.setDocumentListResponse(response);
56
- },
57
- error: (error) => {
58
- console.error(ERRORS.ERROR_CALLING_API_WITH_SELECTION, error);
59
- }
60
- });
61
- }
62
-
63
- /**
64
- * Initialize watcher for selection state changes with initial load
65
- * @param contextId - The context ID to use for API calls
66
- */
67
- initializeSelectionWatcherWithInitialLoad(contextId: string): void {
68
- // Clean up any existing subscription
69
- this.cleanupSelectionWatcher();
70
-
71
- // Make initial API call to load documents
72
- this.documentHttpService.getDocumentsBySelection(contextId, null, null, null, null).subscribe({
73
- next: (response) => {
74
- this.documentStore.setDocumentListResponse(response);
75
- },
76
- error: (error) => {
77
- console.error(ERRORS.ERROR_CALLING_API_WITH_SELECTION, error);
78
- }
79
- });
80
-
81
- // Initialize the selection watcher for future updates
82
- this.initializeSelectionWatcher(contextId);
83
- }
84
-
85
- /**
86
- * Clean up the selection watcher subscription
87
- */
88
- cleanupSelectionWatcher(): void {
89
- if (this.selectionWatcherSubscription) {
90
- this.selectionWatcherSubscription.unsubscribe();
91
- this.selectionWatcherSubscription = null;
92
- }
93
- }
94
-
95
- /**
96
- * Set the document data
97
- * @param document the document data
98
- */
99
- set(document: DocumentModel | null) {
100
- this.documentStore.setCurrentDocument(document);
101
- }
102
-
103
- /**
104
- * Get the document data
105
- * @returns the document data
106
- */
107
- get(): Observable<DocumentModel | null> {
108
- return this.documentQuery.selectCurrentDocument();
109
- }
110
-
111
- /**
112
- * Get the current document value synchronously
113
- * @returns the current document value
114
- */
115
- getValue(): DocumentModel | null {
116
- return this.documentQuery.getCurrentDocument();
117
- }
118
-
119
- /**
120
- * Set the selected menu item
121
- * @param menuItem the selected menu item _id (not the label)
122
- */
123
- setSelectedMenuItem(menuItem: string | null): void {
124
- this.documentStore.setSelectedMenuItem(menuItem);
125
- }
126
-
127
- /**
128
- * Set the selected user ID
129
- * @param userId the selected user ID
130
- */
131
- setSelectedUserId(userId: string | null): void {
132
- this.documentStore.setSelectedUserId(userId);
133
- }
134
-
135
- /**
136
- * Set the selected status
137
- * @param status the selected status
138
- */
139
- setSelectedStatus(status: string | null): void {
140
- this.documentStore.setSelectedStatus(status);
141
- }
142
-
143
- /**
144
- * Set the search key
145
- * @param searchKey the search term
146
- */
147
- setSearchKey(searchKey: string | null): void {
148
- this.documentStore.setSearchKey(searchKey);
149
- }
150
-
151
- /**
152
- * Set all selection state at once
153
- * @param menuItem the selected menu item _id (not the label)
154
- * @param userId the selected user ID
155
- * @param status the selected status
156
- * @param searchKey the search term
157
- */
158
- setSelectionState(menuItem: string | null, userId: string | null, status: string | null, searchKey: string | null = null): void {
159
- this.documentStore.setSelectionState(menuItem, userId, status, searchKey);
160
- }
161
-
162
- /**
163
- * Clear all selection state
164
- */
165
- clearSelectionState(): void {
166
- this.documentStore.clearSelectionState();
167
- }
168
-
169
- /**
170
- * Set user list visibility
171
- * @param show whether to show the user list
172
- */
173
- setShowUserList(show: boolean): void {
174
- this.documentStore.setShowUserList(show);
175
- }
176
-
177
- /**
178
- * Get the current selection state
179
- * @returns observable of the current selection state
180
- */
181
- getSelectionState(): Observable<{menuItem: string | null, userId: string | null, status: string | null}> {
182
- return this.documentQuery.selectSelectionState();
183
- }
184
-
185
- /**
186
- * Get the current selection state value synchronously
187
- * @returns the current selection state value
188
- */
189
- getSelectionStateValue(): {menuItem: string | null, userId: string | null, status: string | null} {
190
- return this.documentQuery.getSelectionState();
191
- }
192
-
193
- /**
194
- * Set status data in the store
195
- * @param statusData the status data to set
196
- */
197
- setStatusData(statusData: any[]): void {
198
- this.documentStore.setStatusData(statusData);
199
- }
200
-
201
- /**
202
- * Set user list in the store
203
- * @param userList the user list to set
204
- */
205
- setUserList(userList: any[]): void {
206
- this.documentStore.setUserList(userList);
207
- }
208
-
209
- /**
210
- * Get observable for filtered documents
211
- * @returns Observable that emits filtered document responses
212
- */
213
- getFilteredDocuments(): Observable<any> {
214
- return this.documentQuery.selectDocumentListResponse();
215
- }
216
-
217
- /**
218
- * Manually trigger API call with current selection state
219
- * @param contextId - The context ID to use for the API call
220
- */
221
- refreshDocumentsWithCurrentSelection(contextId: string): void {
222
- const currentState = this.documentQuery.getSelectionState();
223
- this.documentHttpService.getDocumentsBySelection(
224
- contextId,
225
- null, // No menu item filtering
226
- currentState.userId,
227
- currentState.status,
228
- currentState.searchKey
229
- ).subscribe({
230
- next: (response) => {
231
- // Set the correct response structure - check if response has documents property
232
- const documentListResponse = response.documents || response;
233
- this.documentStore.setDocumentListResponse(documentListResponse);
234
- // Check if the selected menu item's section is still visible after filtering
235
- this.checkAndDeselectMenuItemIfSectionNotVisible(contextId);
236
- },
237
- error: (error) => {
238
- throw new Error(error)
239
- }
240
- });
241
- }
242
-
243
- /**
244
- * Force refresh documents with no filters
245
- * @param contextId - The context ID to use for the API call
246
- */
247
- refreshDocumentsWithoutFilters(contextId: string): void {
248
- this.documentHttpService.getDocumentsBySelection(
249
- contextId,
250
- null,
251
- null,
252
- null
253
- ).subscribe({
254
- next: (response) => {
255
- this.documentStore.setDocumentListResponse(response);
256
- },
257
- error: (error) => {
258
- console.error('Error in force refresh:', error);
259
- }
260
- });
261
- }
262
-
263
- /**
264
- * Refresh status data for a specific context
265
- * @param contextId - The context ID to use for the API call
266
- * @param statusContextId - The status context ID (usually userId)
267
- * @param categoryId - The category ID (usually menuItem)
268
- */
269
- refreshStatusData(contextId: string, statusContextId: string | null, categoryId: string | null): void {
270
- this.documentHttpService.getStatusDocumentCount(contextId, statusContextId, categoryId).subscribe({
271
- next: (statusData) => {
272
- this.documentStore.setStatusData(statusData);
273
- },
274
- error: (error) => {
275
- console.error('Error refreshing status data:', error);
276
- }
277
- });
278
- }
279
-
280
- /**
281
- * Refresh all data with current filters after accept/reject/delete operations
282
- * This includes document categories, status data, user list, and document list
283
- *
284
- * This method ensures that after a document action (accept/reject/delete):
285
- * 1. Document categories are refreshed
286
- * 2. Status counts are refreshed with current user filters
287
- * 3. User list is refreshed with current filters (if applicable)
288
- * 4. Document list is refreshed with current filters (user, status, search)
289
- *
290
- * Filter application:
291
- * - Document categories: Uses base contextId
292
- * - Status data: Uses userId as contextId (no category filtering)
293
- * - User list: Uses base contextId (can be enhanced with additional filters if API supports)
294
- * - Document list: Uses current filters (userId, status, searchKey)
295
- *
296
- * @param contextId - The context ID to use for the API calls
297
- */
298
- refreshAllDataWithCurrentFilters(contextId: string): void {
299
- const currentState = this.documentQuery.getSelectionState();
300
- const statusContextId = currentState.userId || null;
301
-
302
- // Refresh document categories
303
- this.documentHttpService.getDocumentCatagories(contextId).subscribe({
304
- next: (response) => {
305
- this.documentStore.setDocumentCategories(response);
306
- },
307
- error: (error) => {
308
- console.error('Error refreshing document categories after action:', error);
309
- }
310
- });
311
-
312
- // Refresh status data (no category filtering)
313
- this.documentHttpService.getStatusDocumentCount(contextId, statusContextId, null).subscribe({
314
- next: (statusData) => {
315
- this.documentStore.setStatusData(statusData);
316
- },
317
- error: (error) => {
318
- console.error('Error refreshing status data after action:', error);
319
- }
320
- });
321
-
322
- // Refresh user list
323
- this.documentHttpService.getUserListByContextId(contextId).subscribe({
324
- next: (userList) => {
325
- this.documentStore.setUserList(userList);
326
- },
327
- error: (error) => {
328
- console.error('Error refreshing user list after action:', error);
329
- }
330
- });
331
- this.refreshDocumentsWithCurrentSelection(contextId);
332
- }
333
-
334
- /**
335
- * Checks if the currently selected menu item's section is visible in the filtered document list
336
- * and deselects it if not visible
337
- * @param contextId - The context ID to use for API calls
338
- */
339
- checkAndDeselectMenuItemIfSectionNotVisible(contextId: string): void {
340
- const currentState = this.documentQuery.getSelectionState();
341
- const selectedMenuItem = currentState.menuItem;
342
-
343
- if (selectedMenuItem) {
344
- // Get the current document list response
345
- const documentListResponse = this.documentQuery.getDocumentListResponse();
346
-
347
- // Check if the menu item's section is visible and deselect if not
348
- const wasDeselected = this.documentMenuService.deselectMenuItemIfSectionNotVisible(
349
- selectedMenuItem,
350
- documentListResponse
351
- );
352
-
353
- // Menu item was deselected if its section is not visible
354
- }
355
- }
356
- }