cat-documents-ng 1.0.2 → 1.0.4

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 (142) hide show
  1. package/README.md +298 -35
  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/Shared/constant/URLS.d.ts +123 -0
  8. package/Shared/services/app-config.service.d.ts +51 -0
  9. package/{projects/cat-document-lib/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 +11392 -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/{projects/cat-document-lib/src/lib/document/components/folder-block/folder-block.component.ts → lib/document/components/folder-block/folder-block.component.d.ts} +12 -26
  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/lib/document/models/document-alert.model.d.ts +38 -0
  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/{projects/cat-document-lib/src/lib/document/models/folder.model.ts → lib/document/models/folder.model.d.ts} +7 -13
  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/{projects/cat-document-lib/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 +19 -57
  74. package/public-api.d.ts +27 -0
  75. package/src/assets/images/Document interface.png +0 -0
  76. package/src/assets/images/Document upload.png +0 -0
  77. package/src/assets/images/Pdf viewer dialog.png +0 -0
  78. package/.github/PULL_REQUEST_TEMPLATE.md +0 -32
  79. package/.husky/pre-commit +0 -4
  80. package/angular.json +0 -119
  81. package/eslint.config.cjs +0 -148
  82. package/projects/cat-document-lib/README.md +0 -63
  83. package/projects/cat-document-lib/ng-package.json +0 -11
  84. package/projects/cat-document-lib/package.json +0 -16
  85. package/projects/cat-document-lib/setup-jest.ts +0 -1
  86. package/projects/cat-document-lib/src/lib/document/components/document-container/document-container.component.html +0 -6
  87. package/projects/cat-document-lib/src/lib/document/components/document-container/document-container.component.scss +0 -0
  88. package/projects/cat-document-lib/src/lib/document/components/document-container/document-container.component.spec.ts +0 -0
  89. package/projects/cat-document-lib/src/lib/document/components/document-container/document-container.component.ts +0 -82
  90. package/projects/cat-document-lib/src/lib/document/components/document-list/document-list.component.html +0 -35
  91. package/projects/cat-document-lib/src/lib/document/components/document-list/document-list.component.scss +0 -12
  92. package/projects/cat-document-lib/src/lib/document/components/document-list/document-list.component.spec.ts +0 -0
  93. package/projects/cat-document-lib/src/lib/document/components/document-list/document-list.component.ts +0 -73
  94. package/projects/cat-document-lib/src/lib/document/components/document-list-item/document-list-item.component.html +0 -33
  95. package/projects/cat-document-lib/src/lib/document/components/document-list-item/document-list-item.component.scss +0 -22
  96. package/projects/cat-document-lib/src/lib/document/components/document-list-item/document-list-item.component.spec.ts +0 -23
  97. package/projects/cat-document-lib/src/lib/document/components/document-list-item/document-list-item.component.ts +0 -40
  98. package/projects/cat-document-lib/src/lib/document/components/document-upload/document-upload.component.html +0 -56
  99. package/projects/cat-document-lib/src/lib/document/components/document-upload/document-upload.component.scss +0 -26
  100. package/projects/cat-document-lib/src/lib/document/components/document-upload/document-upload.component.spec.ts +0 -24
  101. package/projects/cat-document-lib/src/lib/document/components/document-upload/document-upload.component.ts +0 -184
  102. package/projects/cat-document-lib/src/lib/document/components/document-viewer/document-viewer.component.html +0 -244
  103. package/projects/cat-document-lib/src/lib/document/components/document-viewer/document-viewer.component.scss +0 -36
  104. package/projects/cat-document-lib/src/lib/document/components/document-viewer/document-viewer.component.spec.ts +0 -21
  105. package/projects/cat-document-lib/src/lib/document/components/document-viewer/document-viewer.component.ts +0 -125
  106. package/projects/cat-document-lib/src/lib/document/components/folder-block/folder-block.component.html +0 -46
  107. package/projects/cat-document-lib/src/lib/document/components/folder-block/folder-block.component.scss +0 -0
  108. package/projects/cat-document-lib/src/lib/document/components/folder-block/folder-block.component.spec.ts +0 -0
  109. package/projects/cat-document-lib/src/lib/document/components/folder-container/folder-container.component.html +0 -2
  110. package/projects/cat-document-lib/src/lib/document/components/folder-container/folder-container.component.scss +0 -0
  111. package/projects/cat-document-lib/src/lib/document/components/folder-container/folder-container.component.spec.ts +0 -0
  112. package/projects/cat-document-lib/src/lib/document/components/folder-container/folder-container.component.ts +0 -29
  113. package/projects/cat-document-lib/src/lib/document/document.module.ts +0 -187
  114. package/projects/cat-document-lib/src/lib/document/models/document.model.ts +0 -39
  115. package/projects/cat-document-lib/src/lib/document/services/file-format.service.spec.ts +0 -16
  116. package/projects/cat-document-lib/src/lib/document/services/file-format.service.ts +0 -41
  117. package/projects/cat-document-lib/src/lib/document/state/document.query.ts +0 -23
  118. package/projects/cat-document-lib/src/lib/document/state/document.state.ts +0 -39
  119. package/projects/cat-document-lib/src/lib/document/state/document.store.ts +0 -23
  120. package/projects/cat-document-lib/src/public-api.ts +0 -8
  121. package/projects/cat-document-lib/src/shared/constant/SHARED.ts +0 -232
  122. package/projects/cat-document-lib/src/shared/constant/URLS.ts +0 -31
  123. package/projects/cat-document-lib/src/shared/services/app-config.service.spec.ts +0 -16
  124. package/projects/cat-document-lib/src/shared/services/app-config.service.ts +0 -73
  125. package/projects/cat-document-lib/tsconfig.lib.json +0 -15
  126. package/projects/cat-document-lib/tsconfig.lib.prod.json +0 -11
  127. package/projects/cat-document-lib/tsconfig.spec.json +0 -15
  128. package/public/favicon.ico +0 -0
  129. package/src/app/app.component.html +0 -1
  130. package/src/app/app.component.scss +0 -0
  131. package/src/app/app.component.spec.ts +0 -29
  132. package/src/app/app.component.ts +0 -15
  133. package/src/app/app.module.ts +0 -60
  134. package/src/app/app.routing.module.ts +0 -19
  135. package/src/index.html +0 -13
  136. package/src/main.ts +0 -5
  137. package/src/styles.scss +0 -39
  138. package/tsconfig.app.json +0 -15
  139. package/tsconfig.json +0 -32
  140. /package/{projects/cat-document-lib/src → src}/assets/images/FolderImg.png +0 -0
  141. /package/{projects/cat-document-lib/src → src}/assets/images/Frame.png +0 -0
  142. /package/{projects/cat-document-lib/src → src}/assets/images/document.png +0 -0
@@ -0,0 +1,321 @@
1
+ import { ChangeDetectorRef, OnDestroy, EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { FileUpload } from 'primeng/fileupload';
3
+ import { MessageService } from 'primeng/api';
4
+ import { PrimeNGConfig } from 'primeng/api';
5
+ import { FileFormatService } from '../../services/file-format.service';
6
+ import { DocumentService } from '../../state/document.service';
7
+ import { DocumentUploadService } from '../../services/document-upload.service';
8
+ import { DocumentUploadBusinessService, UploadedFile } from '../../services/document-upload-business.service';
9
+ import { DocumentUploadFormService } from '../../services/document-upload-form.service';
10
+ import { DocumentUploadDataService } from '../../services/document-upload-data.service';
11
+ import { UserListModel } from '../../models/user-list.model';
12
+ import { DocumentCategory } from '../../models/document-category.model';
13
+ import { DocumentTypeModel } from '../../models/document-type.model';
14
+ import * as i0 from "@angular/core";
15
+ /**
16
+ * Component responsible for handling document uploads with templated metadata.
17
+ * Provides a comprehensive interface for uploading documents with assignment types,
18
+ * categories, document types, and applicant selection.
19
+ */
20
+ export declare class DocumentUploadComponent implements OnInit, OnChanges, OnDestroy {
21
+ documentUpload: DocumentUploadService;
22
+ uploadService: DocumentService;
23
+ private config;
24
+ fileFormatService: FileFormatService;
25
+ messageService: MessageService;
26
+ cdr: ChangeDetectorRef;
27
+ private businessService;
28
+ private formService;
29
+ private dataService;
30
+ /** The context ID for the document upload operation */
31
+ contextId: string;
32
+ /** Indicates if the document save button has been clicked */
33
+ isDocumentSaveBtnClicked: boolean;
34
+ /** Indicates if the document sidebar is closed */
35
+ isDocumentSidebarClosed: boolean;
36
+ /** Whether there are unsaved changes in the form */
37
+ hasUnsavedChanges: boolean;
38
+ /** Whether to hide the form and show only upload functionality */
39
+ isFormHide: boolean;
40
+ /** Whether to hide the multi-attachment button */
41
+ isMultiAttachmentHidden: boolean;
42
+ /** Reference to the file upload component */
43
+ fileUploader: FileUpload;
44
+ /** Event emitted when form validation state changes */
45
+ onFormValidationChange: EventEmitter<void>;
46
+ /** Event emitted when upload is successful */
47
+ onUploadSuccess: EventEmitter<void>;
48
+ /** Event emitted when files are uploaded (for form-hidden mode) */
49
+ onFilesUploaded: EventEmitter<UploadedFile[]>;
50
+ hasUnsavedChangesChange: EventEmitter<boolean>;
51
+ /** Event emitted when a file is removed (for form-hidden mode) */
52
+ onFileRemoved: EventEmitter<{
53
+ file: File;
54
+ index: number;
55
+ }>;
56
+ /** Currently selected assignment type (Applicant or Application) */
57
+ selectedAssignmentType: 'Applicant' | 'Application' | null;
58
+ /** Currently selected applicant ID */
59
+ selectedApplicant: string;
60
+ /** Currently selected document category */
61
+ selectedCategory: string;
62
+ /** Currently selected document type */
63
+ selectedDocumentType: string;
64
+ /** List of available applicants */
65
+ applicantList: UserListModel[];
66
+ /** Filtered list of applicants based on current selection */
67
+ filteredApplicantList: UserListModel[];
68
+ /** Available document categories for the selected assignment type */
69
+ categoryOptions: DocumentCategory[];
70
+ /** Available document types for the selected category */
71
+ documentTypeOptions: DocumentTypeModel[];
72
+ /** Array of files that have been uploaded */
73
+ uploadedFiles: UploadedFile[];
74
+ /** Map tracking upload progress for each file */
75
+ fileProgress: Map<File, number>;
76
+ /** Loading state for applicants data */
77
+ isLoadingApplicants: boolean;
78
+ /** Loading state for categories data */
79
+ isLoadingCategories: boolean;
80
+ /** Loading state for document types data */
81
+ isLoadingDocumentTypes: boolean;
82
+ /** Loading state for save operation */
83
+ isSaving: boolean;
84
+ /** Current form validation state */
85
+ isFormValid: boolean;
86
+ /** File size property for testing */
87
+ fileSize: string;
88
+ /** Subject for managing component lifecycle and unsubscribing from observables */
89
+ private destroy$;
90
+ /**
91
+ * Creates an instance of DocumentUploadComponent.
92
+ * @param documentUpload - Service for handling document upload operations
93
+ * @param uploadService - Service for document-related operations
94
+ * @param config - PrimeNG configuration service
95
+ * @param fileFormatService - Service for file format validation
96
+ * @param messageService - Service for displaying messages
97
+ * @param cdr - Change detector reference for manual change detection
98
+ * @param businessService - Service for business logic operations
99
+ * @param formService - Service for form validation and handling
100
+ * @param dataService - Service for data loading operations
101
+ */
102
+ constructor(documentUpload: DocumentUploadService, uploadService: DocumentService, config: PrimeNGConfig, fileFormatService: FileFormatService, messageService: MessageService, cdr: ChangeDetectorRef, businessService: DocumentUploadBusinessService, formService: DocumentUploadFormService, dataService: DocumentUploadDataService);
103
+ /**
104
+ * Lifecycle hook called after inputs are initialized.
105
+ * Ensures no stale uploads are shown when navigating back.
106
+ */
107
+ ngOnInit(): void;
108
+ ngOnChanges(changes: SimpleChanges): void;
109
+ /**
110
+ * Handles changes in assignment type selection.
111
+ * Resets form selections, loads categories, and handles applicant loading.
112
+ */
113
+ onAssignmentTypeChange(): void;
114
+ private checkForUnsavedChanges;
115
+ /**
116
+ * Handles changes in category selection.
117
+ * Resets document type and loads available document types if category is selected.
118
+ */
119
+ onCategoryChange(): void;
120
+ /**
121
+ * Handles changes in document type selection.
122
+ * Validates form and emits validation change event.
123
+ */
124
+ onDocumentTypeChange(): void;
125
+ /**
126
+ * Handles changes in applicant selection.
127
+ * Validates form and emits validation change event.
128
+ */
129
+ onApplicantSelectionChange(): void;
130
+ /**
131
+ * Handles file selection from the file upload component.
132
+ * Processes each selected file for templated upload sequentially.
133
+ * @param event - Event containing the selected files
134
+ */
135
+ onSelectedFiles(event: {
136
+ currentFiles: File[];
137
+ }): Promise<void>;
138
+ /**
139
+ * Processes files sequentially for upload
140
+ * @param files - Array of files to process
141
+ */
142
+ private processFilesSequentially;
143
+ /**
144
+ * Loads the list of applicants for the current context.
145
+ * Sets loading state and handles success/error responses.
146
+ */
147
+ loadApplicants(): void;
148
+ /**
149
+ * Loads document categories based on the selected assignment type.
150
+ * Sets loading state and handles success/error responses.
151
+ */
152
+ loadCategories(): void;
153
+ /**
154
+ * Loads document types based on the selected category.
155
+ * Sets loading state and handles success/error responses.
156
+ */
157
+ loadDocumentTypes(): void;
158
+ /**
159
+ * Saves the document upload with all metadata.
160
+ * Validates payload and required fields before proceeding with upload.
161
+ */
162
+ saveDocumentUpload(): void;
163
+ /**
164
+ * Removes a document from the uploaded files list.
165
+ * Updates progress tracking and validates form.
166
+ * @param file - The file to be removed
167
+ * @param index - The index of the file in the uploaded files array
168
+ */
169
+ handleDocumentRemove(file: File, index: number): void;
170
+ /**
171
+ * Utility method for file upload component integration.
172
+ * @param event - The file upload event
173
+ * @param callback - Callback function to execute
174
+ */
175
+ choose(event: any, callback: () => void): void;
176
+ /**
177
+ * Triggers the file upload dialog.
178
+ */
179
+ triggerFileUpload(): void;
180
+ /**
181
+ * Determines if the save button should be disabled.
182
+ * @returns True if the save button should be disabled, false otherwise
183
+ */
184
+ getSaveButtonDisabled(): boolean;
185
+ /**
186
+ * Gets the upload progress for a specific file.
187
+ * @param file - The file to get progress for
188
+ * @returns The upload progress percentage (0-100)
189
+ */
190
+ getProgress(file: File): number;
191
+ /**
192
+ * Checks if a file is currently uploading.
193
+ * @param file - The file to check
194
+ * @returns True if the file is uploading, false otherwise
195
+ */
196
+ isFileUploading(file: File): boolean;
197
+ /**
198
+ * Checks if a file has been successfully uploaded.
199
+ * @param file - The file to check
200
+ * @returns True if the file is uploaded, false otherwise
201
+ */
202
+ isFileUploaded(file: File): boolean;
203
+ /**
204
+ * Checks if a file upload encountered an error.
205
+ * @param file - The file to check
206
+ * @returns True if the file has an error, false otherwise
207
+ */
208
+ isFileError(file: File): boolean;
209
+ /**
210
+ * Resets the form to its initial state.
211
+ * Clears all selections, uploaded files, and progress tracking.
212
+ */
213
+ resetForm(): void;
214
+ /**
215
+ * Resets form selections (applicant, category, document type).
216
+ * Clears document type options.
217
+ */
218
+ resetSelections(): void;
219
+ /**
220
+ * Resets document type selection and clears document type options.
221
+ */
222
+ resetDocumentType(): void;
223
+ /**
224
+ * Handles applicant loading based on assignment type.
225
+ * Loads applicants if type is 'Applicant', otherwise filters existing list.
226
+ */
227
+ handleApplicantLoading(): void;
228
+ /**
229
+ * Handles successful loading of applicants data.
230
+ * Updates applicant list, filters applicants, and validates form.
231
+ * @param applicants - Array of loaded applicants
232
+ */
233
+ handleApplicantsLoaded(applicants: UserListModel[]): void;
234
+ /**
235
+ * Handles successful loading of categories data.
236
+ * Updates category options and validates form.
237
+ * @param categories - Array of loaded categories
238
+ */
239
+ handleCategoriesLoaded(categories: DocumentCategory[]): void;
240
+ /**
241
+ * Handles successful loading of document types data.
242
+ * Updates document type options and validates form.
243
+ * @param documentTypes - Array of loaded document types
244
+ */
245
+ handleDocumentTypesLoaded(documentTypes: DocumentTypeModel[]): void;
246
+ /**
247
+ * Handles successful upload completion.
248
+ * Resets form and emits upload success event.
249
+ * @param response - The upload response from the server
250
+ */
251
+ handleUploadSuccess(response: any): void;
252
+ /**
253
+ * Handles upload error.
254
+ * Resets saving state.
255
+ * @param error - The error that occurred during upload
256
+ */
257
+ handleUploadError(error: any): void;
258
+ /**
259
+ * Filters applicants based on the selected assignment type.
260
+ * Updates the filtered applicant list.
261
+ */
262
+ filterApplicants(): void;
263
+ /**
264
+ * Validates the current form state.
265
+ * Checks payload validation and emits form validation change if state changed.
266
+ */
267
+ validateForm(): void;
268
+ /**
269
+ * Saves document metadata to the server.
270
+ * Prepares upload payload and calls business service to save.
271
+ */
272
+ saveDocumentMetadata(): void;
273
+ /**
274
+ * Sets up a listener for file upload completion.
275
+ * Updates progress tracking and emits validation change when upload completes.
276
+ * @param file - The file to monitor for upload completion
277
+ */
278
+ setupFileUploadListener(file: File): void;
279
+ /**
280
+ * Handles errors during data loading operations.
281
+ * Resets loading state and can be extended for error logging.
282
+ * @param title - Error title for display
283
+ * @param error - The error object
284
+ * @param resetLoading - Callback to reset loading state
285
+ */
286
+ handleError(title: string, error: any, resetLoading: () => void): void;
287
+ /**
288
+ * Validates form and emits validation change event.
289
+ */
290
+ validateAndEmit(): void;
291
+ /**
292
+ * Emits form validation change event.
293
+ */
294
+ emitFormValidationChange(): void;
295
+ /**
296
+ * Formats file size for testing purposes.
297
+ * @param size - The file size in bytes
298
+ */
299
+ formatSize(size: number): void;
300
+ /**
301
+ * Gets the accept string for the file upload component
302
+ * @returns String with file extensions for the accept attribute
303
+ */
304
+ getFileUploadAcceptString(): string;
305
+ /**
306
+ * Gets the uploaded files data for external use (useful when form is hidden)
307
+ * @returns Array of uploaded files with their metadata
308
+ */
309
+ getUploadedFiles(): UploadedFile[];
310
+ /**
311
+ * Resets the upload component to its initial state (useful when form is hidden)
312
+ */
313
+ resetUpload(): void;
314
+ /**
315
+ * Lifecycle hook that is called when component is destroyed.
316
+ * Cleans up subscriptions and destroys services.
317
+ */
318
+ ngOnDestroy(): void;
319
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentUploadComponent, never>;
320
+ static ɵcmp: i0.ɵɵComponentDeclaration<DocumentUploadComponent, "lib-document-upload", never, { "contextId": { "alias": "contextId"; "required": false; }; "isDocumentSaveBtnClicked": { "alias": "isDocumentSaveBtnClicked"; "required": false; }; "isDocumentSidebarClosed": { "alias": "isDocumentSidebarClosed"; "required": false; }; "isFormHide": { "alias": "isFormHide"; "required": false; }; "isMultiAttachmentHidden": { "alias": "isMultiAttachmentHidden"; "required": false; }; }, { "onFormValidationChange": "onFormValidationChange"; "onUploadSuccess": "onUploadSuccess"; "onFilesUploaded": "onFilesUploaded"; "hasUnsavedChangesChange": "hasUnsavedChangesChange"; "onFileRemoved": "onFileRemoved"; }, never, never, false, never>;
321
+ }
@@ -0,0 +1,137 @@
1
+ import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import { DynamicDialogRef } from 'primeng/dynamicdialog';
3
+ import { DocumentHttpService } from '../../services/document-http.service';
4
+ import { DocumentHelperService } from '../../services/document.service';
5
+ import { DocumentListItem } from '../../models/document-list-response.model';
6
+ import { DocumentAction } from '../../services/document-actions.service';
7
+ import { MessageService } from 'primeng/api';
8
+ import { DocumentViewerService, DocumentViewerState } from '../../services/document-viewer.service';
9
+ import { DocumentStore } from '../../state/document.store';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Component for viewing and managing document details.
13
+ * @class DocumentViewerComponent
14
+ * @typedef {DocumentViewerComponent}
15
+ */
16
+ export declare class DocumentViewerComponent implements OnChanges, OnDestroy {
17
+ documentHttpService: DocumentHttpService;
18
+ private documentService;
19
+ private messageService;
20
+ private documentViewerService;
21
+ documentStore: DocumentStore;
22
+ /**
23
+ * Get the selected document by user.
24
+ * @type {*}
25
+ */
26
+ selectedDocument?: DocumentListItem;
27
+ /**
28
+ * Get the selected document by user.
29
+ * @type {*}
30
+ */
31
+ documentList?: DocumentListItem[];
32
+ /**
33
+ * The context ID for API calls
34
+ * @type {string}
35
+ */
36
+ contextId?: string;
37
+ /**
38
+ * Flag to hide form elements
39
+ * @type {boolean}
40
+ */
41
+ isFormHide: boolean;
42
+ /**
43
+ * Event emitted when document status is updated to refresh the document list
44
+ * @type {EventEmitter<void>}
45
+ */
46
+ documentStatusUpdated: EventEmitter<{
47
+ actionType?: string;
48
+ }>;
49
+ /**
50
+ * Event emitted when a delete error occurs
51
+ * @type {EventEmitter<any>}
52
+ */
53
+ deleteError: EventEmitter<any>;
54
+ /**
55
+ * Event emitted when a delete operation succeeds
56
+ * @type {EventEmitter<void>}
57
+ */
58
+ deleteSuccess: EventEmitter<void>;
59
+ /**
60
+ * Event emitted when the document viewer is destroyed to trigger refresh
61
+ * @type {EventEmitter<void>}
62
+ */
63
+ viewerDestroyed: EventEmitter<void>;
64
+ /**
65
+ * Indicates whether a checkbox is selected.
66
+ * @type {boolean}
67
+ */
68
+ checked: boolean;
69
+ /**
70
+ * Reference to the dynamic dialog used for displaying additional details.
71
+ * @type {(DynamicDialogRef | undefined)}
72
+ */
73
+ ref: DynamicDialogRef | undefined;
74
+ /**
75
+ * Indicates whether the document has been verified.
76
+ * @type {boolean}
77
+ */
78
+ isVerified: boolean;
79
+ /**
80
+ * Messages for user feedback
81
+ * @type {any[]}
82
+ */
83
+ messages: any[];
84
+ /**
85
+ * Current state from the service
86
+ * @type {DocumentViewerState}
87
+ */
88
+ currentState: DocumentViewerState;
89
+ /**
90
+ * Holds the subscription to manage observable cleanup.
91
+ * @private
92
+ * @type {Subscription}
93
+ */
94
+ private subscription;
95
+ /**
96
+ * Initializes a new instance of the DocumentViewerComponent.
97
+ * @param {DocumentHttpService} documentHttpService - Handle the http service.
98
+ * @param {DocumentService} documentService - Handle the states.
99
+ * @param {DocumentViewerService} documentViewerService - Handle the viewer business logic.
100
+ */
101
+ constructor(documentHttpService: DocumentHttpService, documentService: DocumentHelperService, messageService: MessageService, documentViewerService: DocumentViewerService, documentStore: DocumentStore);
102
+ /**
103
+ * Fetches the alerts for the selected document.
104
+ * @returns {void}
105
+ */
106
+ ngOnChanges(changes: SimpleChanges): void;
107
+ /**
108
+ * Handles document selection from template
109
+ * @param document The selected document
110
+ */
111
+ handleSelectedDocument(document: DocumentListItem): void;
112
+ /**
113
+ * Handles document actions from the actions component
114
+ * @param {DocumentAction} action - The action performed
115
+ */
116
+ handleDocumentAction(action: DocumentAction): void;
117
+ ngOnDestroy(): void;
118
+ /**
119
+ * Handles document name update event from content viewer
120
+ */
121
+ onDocumentNameUpdated(): void;
122
+ /**
123
+ * Handles delete task request from history component
124
+ */
125
+ onDeleteTaskRequested(): void;
126
+ /**
127
+ * Handles document selection from history component
128
+ * @param document - The selected document from history
129
+ */
130
+ onDocumentSelected(document: any): void;
131
+ /**
132
+ * Refreshes document data when the viewer is closed
133
+ */
134
+ private refreshDocumentData;
135
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentViewerComponent, never>;
136
+ static ɵcmp: i0.ɵɵComponentDeclaration<DocumentViewerComponent, "document-viewer", never, { "selectedDocument": { "alias": "selectedDocument"; "required": false; }; "documentList": { "alias": "documentList"; "required": false; }; "contextId": { "alias": "contextId"; "required": false; }; "isFormHide": { "alias": "isFormHide"; "required": false; }; }, { "documentStatusUpdated": "documentStatusUpdated"; "deleteError": "deleteError"; "deleteSuccess": "deleteSuccess"; "viewerDestroyed": "viewerDestroyed"; }, never, ["*"], false, never>;
137
+ }
@@ -0,0 +1,33 @@
1
+ import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
2
+ import { DocumentZoomService } from '../../services/document-zoom.service';
3
+ import { DocumentHttpService } from '../../services/document-http.service';
4
+ import { DocumentListItem } from '../../models/document-list-response.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DocumentZoomControlsComponent implements OnInit, OnDestroy {
7
+ private zoomService;
8
+ private documentHttpService;
9
+ selectedDocument?: DocumentListItem;
10
+ contextId?: string;
11
+ isFormHide: boolean;
12
+ documentNameUpdated: EventEmitter<void>;
13
+ currentZoom: number;
14
+ private subscription;
15
+ isEditingDocumentName: boolean;
16
+ documentName: string;
17
+ fileNameError: string;
18
+ disallowedCharsRegex: RegExp;
19
+ constructor(zoomService: DocumentZoomService, documentHttpService: DocumentHttpService);
20
+ ngOnInit(): void;
21
+ ngOnDestroy(): void;
22
+ get isZoomOutDisabled(): boolean;
23
+ get isZoomInDisabled(): boolean;
24
+ zoomIn(): void;
25
+ zoomOut(): void;
26
+ resetZoom(): void;
27
+ onDocumentNameClick(): void;
28
+ cancelDocumentNameEdit(): void;
29
+ onDocumentNameChange(event: Event): void;
30
+ handleSaveClick(): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentZoomControlsComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<DocumentZoomControlsComponent, "document-zoom-controls", never, { "selectedDocument": { "alias": "selectedDocument"; "required": false; }; "contextId": { "alias": "contextId"; "required": false; }; "isFormHide": { "alias": "isFormHide"; "required": false; }; }, { "documentNameUpdated": "documentNameUpdated"; }, never, never, false, never>;
33
+ }
@@ -0,0 +1,110 @@
1
+ import { OnInit, OnChanges, SimpleChanges, EventEmitter, OnDestroy } from '@angular/core';
2
+ import { DocumentStore } from '../../state/document.store';
3
+ import { DocumentQuery } from '../../state/document.query';
4
+ import { DocumentCategory, DocumentCategoryItem } from '../../models/document-category.model';
5
+ import { DocumentMenuService } from '../../services/document-menu.service';
6
+ import { DocumentHelperService } from '../../services/document.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DocumentsMenuComponent implements OnInit, OnChanges, OnDestroy {
9
+ private documentStore;
10
+ private documentQuery;
11
+ private documentMenuService;
12
+ private documentHelperService;
13
+ catagories: DocumentCategory[];
14
+ applicationNumber: string;
15
+ contextId: string;
16
+ menuItemSelected: EventEmitter<{
17
+ item: DocumentCategoryItem;
18
+ category: DocumentCategory;
19
+ navigationInfo?: {
20
+ menuItemId: string;
21
+ menuItemLabel: string;
22
+ categoryLabel: string;
23
+ categoryIndex: number;
24
+ };
25
+ }>;
26
+ selectedMenuItem: string | null;
27
+ selectedMenuItemId: string | null;
28
+ private storeCategories;
29
+ private _cachedCategories;
30
+ private selectedMenuItemSubscription;
31
+ private documentCategoriesSubscription;
32
+ private documentListResponseSubscription;
33
+ constructor(documentStore: DocumentStore, documentQuery: DocumentQuery, documentMenuService: DocumentMenuService, documentHelperService: DocumentHelperService);
34
+ /**
35
+ * Initialize the component
36
+ * @returns {void}
37
+ * @memberof DocumentsMenuComponent
38
+ */
39
+ ngOnInit(): void;
40
+ /**
41
+ * Handle changes to input properties
42
+ * @param {SimpleChanges} changes - The changes to the input properties
43
+ * @returns {void}
44
+ * @memberof DocumentsMenuComponent
45
+ */
46
+ ngOnChanges(changes: SimpleChanges): void;
47
+ /**
48
+ * Gets the categories to use for the menu
49
+ * Priority: Store categories > Input categories
50
+ * Categories maintain their original order as provided by the API
51
+ */
52
+ get categories(): DocumentCategory[];
53
+ /**
54
+ * Updates the cached categories when data changes
55
+ * Maintains the original order as provided by the API
56
+ */
57
+ private updateCachedCategories;
58
+ /**
59
+ * Finds the label of a menu item by its _id
60
+ * @param id The _id to search for
61
+ * @returns The label of the menu item or null if not found
62
+ */
63
+ private findMenuItemLabelById;
64
+ /**
65
+ * Finds the category for a menu item by its _id
66
+ * @param id The _id to search for
67
+ * @returns The category or null if not found
68
+ */
69
+ private findMenuItemCategoryById;
70
+ /**
71
+ * Update menu use catagories
72
+ */
73
+ private updateMenuItemsData;
74
+ /**
75
+ * Sets up subscription to document list response to update menu item selectability
76
+ */
77
+ private setupDocumentListResponseSubscription;
78
+ /**
79
+ * Updates menu items with selectability status based on filtered document list
80
+ * @param documentListResponse - The filtered document list response
81
+ */
82
+ private updateMenuItemsSelectability;
83
+ /**
84
+ * Handle the menu item click for navigation
85
+ * @param {*} event - Event
86
+ * @param {DocumentCategoryItem} item - catagory item
87
+ */
88
+ onMenuItemClick(event: any, item: DocumentCategoryItem): void;
89
+ /**
90
+ * Get the selected menu item
91
+ * @returns {string | null} - The selected menu item
92
+ */
93
+ getSelectedMenuItem(): string | null;
94
+ /**
95
+ * Handles contextId changes by clearing current selection
96
+ */
97
+ private handleContextIdChange;
98
+ /**
99
+ * Get the selected menu item id
100
+ * @returns {string | null} - The selected menu item id
101
+ */
102
+ getSelectedMenuItemId(): string | null;
103
+ /**
104
+ * Clean up subscriptions when component is destroyed
105
+ * Prevents memory leaks and ensures proper cleanup
106
+ */
107
+ ngOnDestroy(): void;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentsMenuComponent, never>;
109
+ static ɵcmp: i0.ɵɵComponentDeclaration<DocumentsMenuComponent, "lib-documents-menu", never, { "catagories": { "alias": "catagories"; "required": false; }; "applicationNumber": { "alias": "applicationNumber"; "required": false; }; "contextId": { "alias": "contextId"; "required": false; }; }, { "menuItemSelected": "menuItemSelected"; }, never, never, false, never>;
110
+ }
@@ -1,51 +1,37 @@
1
- import { Component, Input } from '@angular/core';
2
1
  import { DocumentStore } from '../../state/document.store';
3
2
  import { FolderBlockModel } from '../../models/folder.model';
4
- import { SHARED } from '../../../../Shared/constant/SHARED';
5
-
3
+ import * as i0 from "@angular/core";
6
4
  /**
7
5
  * The `FolderBlockComponent` is responsible for displaying a block of folders and
8
6
  * providing filtering functionality based on folder IDs.
9
7
  *
10
- * It uses data from the `DocumentStore` and constants from the `SHARED` configuration
8
+ * It uses data from the `DocumentStore` and constants from the `SHARED` configuration
11
9
  * to display missing and pending file counts.
12
10
  */
13
- @Component({
14
- selector: 'lib-folder-block',
15
- standalone: false,
16
- templateUrl: './folder-block.component.html',
17
- styleUrl: './folder-block.component.scss'
18
- })
19
- export class FolderBlockComponent {
11
+ export declare class FolderBlockComponent {
12
+ documentStore: DocumentStore;
20
13
  /**
21
14
  * Array of folder blocks data to display.
22
15
  * Each folder is represented as a `FolderBlockModel`.
23
16
  */
24
- @Input() folderBlocks: FolderBlockModel[] = [];
25
-
17
+ folderList: FolderBlockModel[];
26
18
  /** Number of missing files, sourced from the `SHARED` constants. */
27
- missingFileCount = SHARED.MISSINGCOUNT;
28
-
19
+ missingFileCount: number;
29
20
  /** Number of pending files, sourced from the `SHARED` constants. */
30
- pendingFileCount = SHARED.PENDINGCOUNT;
31
-
21
+ pendingFileCount: number;
32
22
  /**
33
23
  * Injects the `DocumentStore` service to manage and access document-related state.
34
24
  * @param {DocumentStore} documentStore - The state management store for documents.
35
25
  */
36
- constructor(public documentStore: DocumentStore) {}
37
-
26
+ constructor(documentStore: DocumentStore);
38
27
  /**
39
28
  * Handles the click event for filtering based on the provided folder ID.
40
- * This method validates the folder ID and returns it for further processing.
29
+ * This method validates the folder ID and returns it for further processing.
41
30
  * If the folder ID is not provided, an empty string is returned.
42
31
  * @param {string} folderBlockId - The unique identifier of the folder to filter by.
43
32
  * @returns {string} The validated folder ID, or an empty string if the input is invalid.
44
33
  */
45
- handleClickForFilter(folderBlockId: string): string {
46
- if (!folderBlockId) {
47
- return SHARED.EMPTY;
48
- }
49
- return folderBlockId;
50
- }
34
+ handleClickForFilter(folderBlockId: string): string;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<FolderBlockComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<FolderBlockComponent, "lib-folder-block", never, { "folderList": { "alias": "folderList"; "required": false; }; }, {}, never, never, false, never>;
51
37
  }