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.
- package/README.md +322 -322
- package/Shared/components/confirmation-dialog/confirmation-dialog.component.d.ts +44 -0
- package/Shared/components/table-primary/table-primary.component.d.ts +31 -0
- package/Shared/components/table-primary/table-primary.model.d.ts +19 -0
- package/Shared/constant/ERROR.d.ts +52 -0
- package/Shared/constant/SHARED.d.ts +546 -0
- package/{src/Shared/constant/URLS.ts → Shared/constant/URLS.d.ts} +25 -31
- package/Shared/services/app-config.service.d.ts +51 -0
- package/{src/Shared/services/global-error.handler.ts → Shared/services/global-error.handler.d.ts} +9 -11
- package/Shared/services/session.service.d.ts +46 -0
- package/Shared/shared.module.d.ts +14 -0
- package/fesm2022/cat-documents-ng.mjs +11405 -0
- package/fesm2022/cat-documents-ng.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/document/components/document-actions/document-actions.component.d.ts +78 -0
- package/lib/document/components/document-container/document-container.component.d.ts +162 -0
- package/lib/document/components/document-content-viewer/document-content-viewer.component.d.ts +291 -0
- package/lib/document/components/document-history/document-history.component.d.ts +160 -0
- package/lib/document/components/document-list/document-list.component.d.ts +299 -0
- package/lib/document/components/document-list-item/document-list-item.component.d.ts +28 -0
- package/lib/document/components/document-search/document-search.component.d.ts +77 -0
- package/lib/document/components/document-status/document-status.component.d.ts +24 -0
- package/lib/document/components/document-upload/document-upload.component.d.ts +321 -0
- package/lib/document/components/document-viewer/document-viewer.component.d.ts +137 -0
- package/lib/document/components/document-zoom-controls/document-zoom-controls.component.d.ts +33 -0
- package/lib/document/components/documents-menu/documents-menu.component.d.ts +110 -0
- package/{src/lib/document/components/folder-block/folder-block.component.ts → lib/document/components/folder-block/folder-block.component.d.ts} +12 -28
- package/lib/document/components/folder-container/folder-container.component.d.ts +162 -0
- package/lib/document/components/linked-document/linked-document.component.d.ts +39 -0
- package/lib/document/components/request-document/request-document.component.d.ts +69 -0
- package/lib/document/components/sidebar/sidebar.component.d.ts +109 -0
- package/lib/document/components/user-list/user-list.component.d.ts +34 -0
- package/lib/document/constant/DOCUMENT_HISTORY.d.ts +41 -0
- package/lib/document/directives/document.directive.d.ts +20 -0
- package/lib/document/directives/permission.directive.d.ts +38 -0
- package/lib/document/document.module.d.ts +60 -0
- package/{src/lib/document/models/document-alert.model.ts → lib/document/models/document-alert.model.d.ts} +4 -11
- package/lib/document/models/document-category.model.d.ts +24 -0
- package/lib/document/models/document-history.model.d.ts +94 -0
- package/lib/document/models/document-list-response.model.d.ts +33 -0
- package/lib/document/models/document-type.model.d.ts +37 -0
- package/lib/document/models/document.model.d.ts +44 -0
- package/{src/lib/document/models/folder.model.ts → lib/document/models/folder.model.d.ts} +4 -10
- package/lib/document/models/status-data.model.d.ts +27 -0
- package/lib/document/models/uploaded-file-response.model.d.ts +7 -0
- package/lib/document/models/user-list.model.d.ts +8 -0
- package/lib/document/services/csv-parser.service.d.ts +88 -0
- package/lib/document/services/document-actions.service.d.ts +48 -0
- package/lib/document/services/document-content-type.service.d.ts +85 -0
- package/lib/document/services/document-history-style.service.d.ts +34 -0
- package/lib/document/services/document-history.service.d.ts +42 -0
- package/lib/document/services/document-http.service.d.ts +179 -0
- package/lib/document/services/document-list.service.d.ts +74 -0
- package/lib/document/services/document-menu.service.d.ts +122 -0
- package/lib/document/services/document-scroll.service.d.ts +55 -0
- package/lib/document/services/document-table-builder.service.d.ts +38 -0
- package/lib/document/services/document-upload-business.service.d.ts +107 -0
- package/lib/document/services/document-upload-data.service.d.ts +40 -0
- package/lib/document/services/document-upload-form.service.d.ts +41 -0
- package/lib/document/services/document-upload.service.d.ts +99 -0
- package/lib/document/services/document-viewer.service.d.ts +97 -0
- package/lib/document/services/document-zoom.service.d.ts +81 -0
- package/lib/document/services/document.service.d.ts +161 -0
- package/lib/document/services/eml-parser.service.d.ts +116 -0
- package/lib/document/services/excel-parser.service.d.ts +169 -0
- package/lib/document/services/file-format.service.d.ts +34 -0
- package/lib/document/services/status-calculator.service.d.ts +20 -0
- package/lib/document/services/user-list.service.d.ts +29 -0
- package/lib/document/state/document.query.d.ts +243 -0
- package/{src/lib/document/state/document.service.ts → lib/document/state/document.service.d.ts} +15 -46
- package/lib/document/state/document.state.d.ts +61 -0
- package/lib/document/state/document.store.d.ts +56 -0
- package/package.json +11 -5
- package/{src/public-api.ts → public-api.d.ts} +0 -4
- package/ng-package.json +0 -10
- package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.html +0 -3
- package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.scss +0 -13
- package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.spec.ts +0 -70
- package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.ts +0 -133
- package/src/Shared/components/table-primary/table-primary.component.html +0 -66
- package/src/Shared/components/table-primary/table-primary.component.scss +0 -227
- package/src/Shared/components/table-primary/table-primary.component.spec.ts +0 -23
- package/src/Shared/components/table-primary/table-primary.component.ts +0 -143
- package/src/Shared/components/table-primary/table-primary.model.ts +0 -21
- package/src/Shared/constant/ERROR.ts +0 -55
- package/src/Shared/constant/PERMISSIONS.ts +0 -17
- package/src/Shared/constant/SHARED.ts +0 -936
- package/src/Shared/services/app-config.service.spec.ts +0 -19
- package/src/Shared/services/app-config.service.ts +0 -73
- package/src/Shared/services/session.service.spec.ts +0 -16
- package/src/Shared/services/session.service.ts +0 -76
- package/src/Shared/shared.module.ts +0 -25
- package/src/lib/document/components/csv-viewer/csv-viewer.component.ts +0 -1
- package/src/lib/document/components/document-actions/document-actions.component.html +0 -59
- package/src/lib/document/components/document-actions/document-actions.component.scss +0 -362
- package/src/lib/document/components/document-actions/document-actions.component.spec.ts +0 -297
- package/src/lib/document/components/document-actions/document-actions.component.ts +0 -163
- package/src/lib/document/components/document-container/document-container.component.html +0 -36
- package/src/lib/document/components/document-container/document-container.component.scss +0 -144
- package/src/lib/document/components/document-container/document-container.component.spec.ts +0 -110
- package/src/lib/document/components/document-container/document-container.component.ts +0 -363
- package/src/lib/document/components/document-content-viewer/document-content-viewer.component.html +0 -332
- package/src/lib/document/components/document-content-viewer/document-content-viewer.component.scss +0 -1877
- package/src/lib/document/components/document-content-viewer/document-content-viewer.component.spec.ts +0 -258
- package/src/lib/document/components/document-content-viewer/document-content-viewer.component.ts +0 -664
- package/src/lib/document/components/document-history/document-history.component.html +0 -96
- package/src/lib/document/components/document-history/document-history.component.scss +0 -392
- package/src/lib/document/components/document-history/document-history.component.spec.ts +0 -93
- package/src/lib/document/components/document-history/document-history.component.ts +0 -373
- package/src/lib/document/components/document-list/document-list.component.html +0 -46
- package/src/lib/document/components/document-list/document-list.component.scss +0 -513
- package/src/lib/document/components/document-list/document-list.component.spec.ts +0 -486
- package/src/lib/document/components/document-list/document-list.component.ts +0 -682
- package/src/lib/document/components/document-list-item/document-list-item.component.html +0 -36
- package/src/lib/document/components/document-list-item/document-list-item.component.scss +0 -34
- package/src/lib/document/components/document-list-item/document-list-item.component.spec.ts +0 -75
- package/src/lib/document/components/document-list-item/document-list-item.component.ts +0 -40
- package/src/lib/document/components/document-search/document-search.component.html +0 -64
- package/src/lib/document/components/document-search/document-search.component.scss +0 -206
- package/src/lib/document/components/document-search/document-search.component.spec.ts +0 -82
- package/src/lib/document/components/document-search/document-search.component.ts +0 -163
- package/src/lib/document/components/document-status/document-status.component.html +0 -31
- package/src/lib/document/components/document-status/document-status.component.scss +0 -192
- package/src/lib/document/components/document-status/document-status.component.spec.ts +0 -23
- package/src/lib/document/components/document-status/document-status.component.ts +0 -87
- package/src/lib/document/components/document-upload/document-upload.component.html +0 -160
- package/src/lib/document/components/document-upload/document-upload.component.scss +0 -235
- package/src/lib/document/components/document-upload/document-upload.component.spec.ts +0 -95
- package/src/lib/document/components/document-upload/document-upload.component.ts +0 -668
- package/src/lib/document/components/document-viewer/document-viewer.component.html +0 -50
- package/src/lib/document/components/document-viewer/document-viewer.component.scss +0 -187
- package/src/lib/document/components/document-viewer/document-viewer.component.spec.ts +0 -79
- package/src/lib/document/components/document-viewer/document-viewer.component.ts +0 -261
- package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.html +0 -48
- package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.scss +0 -320
- package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.spec.ts +0 -59
- package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.ts +0 -150
- package/src/lib/document/components/documents-menu/documents-menu.component.html +0 -44
- package/src/lib/document/components/documents-menu/documents-menu.component.scss +0 -363
- package/src/lib/document/components/documents-menu/documents-menu.component.spec.ts +0 -23
- package/src/lib/document/components/documents-menu/documents-menu.component.ts +0 -316
- package/src/lib/document/components/folder-block/folder-block.component.html +0 -46
- package/src/lib/document/components/folder-block/folder-block.component.scss +0 -9
- package/src/lib/document/components/folder-block/folder-block.component.spec.ts +0 -70
- package/src/lib/document/components/folder-container/folder-container.component.html +0 -56
- package/src/lib/document/components/folder-container/folder-container.component.scss +0 -20
- package/src/lib/document/components/folder-container/folder-container.component.spec.ts +0 -27
- package/src/lib/document/components/folder-container/folder-container.component.ts +0 -328
- package/src/lib/document/components/linked-document/linked-document.component.html +0 -23
- package/src/lib/document/components/linked-document/linked-document.component.scss +0 -10
- package/src/lib/document/components/linked-document/linked-document.component.spec.ts +0 -61
- package/src/lib/document/components/linked-document/linked-document.component.ts +0 -49
- package/src/lib/document/components/request-document/request-document.component.html +0 -86
- package/src/lib/document/components/request-document/request-document.component.scss +0 -16
- package/src/lib/document/components/request-document/request-document.component.ts +0 -278
- package/src/lib/document/components/sidebar/sidebar.component.html +0 -75
- package/src/lib/document/components/sidebar/sidebar.component.scss +0 -157
- package/src/lib/document/components/sidebar/sidebar.component.spec.ts +0 -114
- package/src/lib/document/components/sidebar/sidebar.component.ts +0 -223
- package/src/lib/document/components/user-list/user-list.component.html +0 -33
- package/src/lib/document/components/user-list/user-list.component.scss +0 -118
- package/src/lib/document/components/user-list/user-list.component.spec.ts +0 -23
- package/src/lib/document/components/user-list/user-list.component.ts +0 -181
- package/src/lib/document/constant/DOCUMENT_HISTORY.ts +0 -52
- package/src/lib/document/directives/document.directive.ts +0 -32
- package/src/lib/document/directives/permission.directive.spec.ts +0 -0
- package/src/lib/document/directives/permission.directive.ts +0 -72
- package/src/lib/document/document.module.ts +0 -351
- package/src/lib/document/models/document-category.model.ts +0 -30
- package/src/lib/document/models/document-history.model.ts +0 -109
- package/src/lib/document/models/document-list-response.model.ts +0 -37
- package/src/lib/document/models/document-type.model.ts +0 -44
- package/src/lib/document/models/document.model.ts +0 -53
- package/src/lib/document/models/status-data.model.ts +0 -31
- package/src/lib/document/models/uploaded-file-response.model.ts +0 -7
- package/src/lib/document/models/user-list.model.ts +0 -10
- package/src/lib/document/services/csv-parser.service.spec.ts +0 -97
- package/src/lib/document/services/csv-parser.service.ts +0 -303
- package/src/lib/document/services/document-actions.service.ts +0 -125
- package/src/lib/document/services/document-content-type.service.ts +0 -193
- package/src/lib/document/services/document-history-style.service.ts +0 -138
- package/src/lib/document/services/document-history.service.ts +0 -129
- package/src/lib/document/services/document-http.service.spec.ts +0 -119
- package/src/lib/document/services/document-http.service.ts +0 -497
- package/src/lib/document/services/document-list.service.ts +0 -195
- package/src/lib/document/services/document-menu.service.ts +0 -277
- package/src/lib/document/services/document-scroll.service.ts +0 -138
- package/src/lib/document/services/document-severity.service.ts +0 -98
- package/src/lib/document/services/document-table-builder.service.ts +0 -82
- package/src/lib/document/services/document-upload-business.service.ts +0 -326
- package/src/lib/document/services/document-upload-data.service.ts +0 -82
- package/src/lib/document/services/document-upload-form.service.ts +0 -149
- package/src/lib/document/services/document-upload.service.spec.ts +0 -99
- package/src/lib/document/services/document-upload.service.ts +0 -209
- package/src/lib/document/services/document-viewer.service.ts +0 -279
- package/src/lib/document/services/document-zoom.service.spec.ts +0 -56
- package/src/lib/document/services/document-zoom.service.ts +0 -164
- package/src/lib/document/services/document.service.ts +0 -356
- package/src/lib/document/services/eml-parser.service.ts +0 -444
- package/src/lib/document/services/excel-parser.service.spec.ts +0 -66
- package/src/lib/document/services/excel-parser.service.ts +0 -483
- package/src/lib/document/services/file-format.service.spec.ts +0 -16
- package/src/lib/document/services/file-format.service.ts +0 -63
- package/src/lib/document/services/status-calculator.service.ts +0 -44
- package/src/lib/document/services/user-list.service.ts +0 -77
- package/src/lib/document/state/document.query.ts +0 -378
- package/src/lib/document/state/document.state.ts +0 -100
- package/src/lib/document/state/document.store.ts +0 -200
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -11
- 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
|
-
}
|