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,169 @@
1
+ import * as XLSX from 'xlsx';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Interface for Excel cell styling information
5
+ */
6
+ export interface ExcelCellStyle {
7
+ backgroundColor?: string;
8
+ fontColor?: string;
9
+ bold?: boolean;
10
+ italic?: boolean;
11
+ border?: {
12
+ top?: string;
13
+ bottom?: string;
14
+ left?: string;
15
+ right?: string;
16
+ };
17
+ }
18
+ /**
19
+ * Interface for Excel cell data with styling
20
+ */
21
+ export interface ExcelCellData {
22
+ value: any;
23
+ style?: ExcelCellStyle;
24
+ }
25
+ /**
26
+ * Interface for Excel row data
27
+ */
28
+ export interface ExcelRowData {
29
+ cells: ExcelCellData[];
30
+ }
31
+ /**
32
+ * Interface for parsed Excel data
33
+ */
34
+ export interface ParsedExcelData {
35
+ sheets: string[];
36
+ currentSheet: string;
37
+ styledData: ExcelRowData[];
38
+ tableData: any[][];
39
+ hasStyling: boolean;
40
+ workbook: XLSX.WorkBook;
41
+ }
42
+ /**
43
+ * Service for parsing Excel files and extracting styling information
44
+ */
45
+ export declare class ExcelParserService {
46
+ private workbookColors;
47
+ /**
48
+ * Parses Excel data from ArrayBuffer
49
+ */
50
+ parseExcelData(data: ArrayBuffer): ParsedExcelData | null;
51
+ /**
52
+ * Creates workbook from ArrayBuffer
53
+ */
54
+ private createWorkbook;
55
+ /**
56
+ * Gets sheet names from workbook
57
+ */
58
+ private getSheetNames;
59
+ /**
60
+ * Gets the first sheet name
61
+ */
62
+ private getFirstSheet;
63
+ /**
64
+ * Parses sheet data with styling
65
+ */
66
+ parseSheetData(workbook: XLSX.WorkBook, sheetName: string): ExcelRowData[];
67
+ /**
68
+ * Gets worksheet from workbook
69
+ */
70
+ private getWorksheet;
71
+ /**
72
+ * Gets worksheet range
73
+ */
74
+ private getWorksheetRange;
75
+ /**
76
+ * Processes worksheet rows
77
+ */
78
+ private processWorksheetRows;
79
+ /**
80
+ * Processes a single row
81
+ */
82
+ private processRow;
83
+ /**
84
+ * Gets cell from worksheet
85
+ */
86
+ private getCell;
87
+ /**
88
+ * Creates cell data with styling
89
+ */
90
+ private createCellData;
91
+ /**
92
+ * Checks if row has content
93
+ */
94
+ private hasRowContent;
95
+ /**
96
+ * Creates no data row
97
+ */
98
+ private createNoDataRow;
99
+ /**
100
+ * Creates error row
101
+ */
102
+ private createErrorRow;
103
+ /**
104
+ * Extracts styling from cell
105
+ */
106
+ extractCellStyle(cell: XLSX.CellObject): ExcelCellStyle | undefined;
107
+ /**
108
+ * Extracts background color
109
+ */
110
+ private extractBackgroundColor;
111
+ /**
112
+ * Extracts font color
113
+ */
114
+ private extractFontColor;
115
+ /**
116
+ * Extracts font formatting
117
+ */
118
+ private extractFontFormatting;
119
+ /**
120
+ * Extracts borders
121
+ */
122
+ private extractBorders;
123
+ /**
124
+ * Gets color value from color object
125
+ */
126
+ private getColorValue;
127
+ /**
128
+ * Converts RGB to hex
129
+ */
130
+ private rgbToHex;
131
+ /**
132
+ * Extracts theme color dynamically from Excel
133
+ */
134
+ private extractThemeColor;
135
+ /**
136
+ * Generates a theme color based on index (fallback)
137
+ */
138
+ private generateThemeColor;
139
+ /**
140
+ * Extracts indexed color dynamically from Excel
141
+ */
142
+ private extractIndexedColor;
143
+ /**
144
+ * Generates an indexed color based on index (fallback)
145
+ */
146
+ private generateIndexedColor;
147
+ /**
148
+ * Extracts color palette from Excel workbook
149
+ */
150
+ private extractWorkbookColors;
151
+ /**
152
+ * Checks if workbook has styling
153
+ */
154
+ hasWorkbookStyling(workbook: XLSX.WorkBook): boolean;
155
+ /**
156
+ * Checks if worksheet has styling
157
+ */
158
+ private hasWorksheetStyling;
159
+ /**
160
+ * Converts styled data to legacy format
161
+ */
162
+ convertToLegacyFormat(styledData: ExcelRowData[]): any[][];
163
+ /**
164
+ * Ensures data consistency
165
+ */
166
+ ensureDataConsistency(styledData: ExcelRowData[]): ExcelRowData[];
167
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExcelParserService, never>;
168
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExcelParserService>;
169
+ }
@@ -0,0 +1,34 @@
1
+ import { PrimeNGConfig } from 'primeng/api';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Description placeholder
5
+ * @class FileFormatService
6
+ * @typedef {FileFormatService}
7
+ */
8
+ export declare class FileFormatService {
9
+ /**
10
+ * Creates an instance of FileFormatService.
11
+ * @constructor
12
+ */
13
+ constructor();
14
+ /**
15
+ * Description placeholder
16
+ * @param {number} bytes
17
+ * @param {PrimeNGConfig} config
18
+ * @returns {string}
19
+ */
20
+ formatFileSize(bytes: number, config: PrimeNGConfig): string;
21
+ /**
22
+ * Validates if a file has an allowed extension
23
+ * @param fileName - The name of the file to validate
24
+ * @returns True if the file extension is allowed, false otherwise
25
+ */
26
+ isAllowedFileType(fileName: string): boolean;
27
+ /**
28
+ * Gets the list of allowed file extensions
29
+ * @returns Array of allowed file extensions
30
+ */
31
+ getAllowedFileExtensions(): string[];
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileFormatService, never>;
33
+ static ɵprov: i0.ɵɵInjectableDeclaration<FileFormatService>;
34
+ }
@@ -0,0 +1,20 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface StatusData {
3
+ status: string;
4
+ count: number;
5
+ color?: string;
6
+ icon?: string;
7
+ _id?: string;
8
+ }
9
+ export interface CalculatedStatusData extends StatusData {
10
+ percentage: number;
11
+ isSelected: boolean;
12
+ statusClass: string;
13
+ iconClass: string;
14
+ }
15
+ export declare class StatusCalculatorService {
16
+ calculateTotalCount(statusData: StatusData[]): number;
17
+ calculateStatusDataWithPercentages(statusData: StatusData[], selectedStatus: string | null): CalculatedStatusData[];
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<StatusCalculatorService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<StatusCalculatorService>;
20
+ }
@@ -0,0 +1,29 @@
1
+ import { UserListModel } from '../models/user-list.model';
2
+ import { DocumentStore } from '../state/document.store';
3
+ import { DocumentQuery } from '../state/document.query';
4
+ import { DocumentCategory } from '../models/document-category.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class UserListService {
7
+ private documentStore;
8
+ private documentQuery;
9
+ constructor(documentStore: DocumentStore, documentQuery: DocumentQuery);
10
+ getInitials(name: string): string;
11
+ getColorByIndex(index: number): string;
12
+ getColorValue(colorName: string): string;
13
+ processUserData(userList: UserListModel[]): UserListModel[];
14
+ /**
15
+ * Filters user list based on selected menu item category
16
+ * @param userList - The complete user list
17
+ * @param categories - The document categories
18
+ * @returns Filtered user list
19
+ */
20
+ filterUsersByCategory(userList: UserListModel[], categories: DocumentCategory[]): UserListModel[];
21
+ selectUser(userId: string, userData: UserListModel[]): {
22
+ selectedUser: string | undefined;
23
+ name: string | undefined;
24
+ };
25
+ unselectUser(): void;
26
+ isUserSelected(userId: string, userData: UserListModel[], selectedUser: string | undefined): boolean;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserListService, never>;
28
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserListService>;
29
+ }
@@ -0,0 +1,243 @@
1
+ import { QueryEntity } from '@datorama/akita';
2
+ import { DocumentStore } from './document.store';
3
+ import { DocumentState } from './document.state';
4
+ import { Observable } from 'rxjs';
5
+ import { Message } from 'primeng/api';
6
+ import { DocumentModel } from '../models/document.model';
7
+ import { DocumentCategory } from '../models/document-category.model';
8
+ import { UserListModel } from '../models/user-list.model';
9
+ import { StatusDataModel } from '../models/status-data.model';
10
+ import { DocumentListResponse } from '../models/document-list-response.model';
11
+ import { DocumentListItem } from '../models/document-list-response.model';
12
+ import { DocumentHistorySection } from '../models/document-history.model';
13
+ import * as i0 from "@angular/core";
14
+ /**
15
+ * Query service for managing document state.
16
+ * This class extends Akita's `QueryEntity` to provide additional functionality for querying document data.
17
+ * @class DocumentQuery
18
+ * @typedef {DocumentQuery}
19
+ * @augments {QueryEntity<DocumentState>}
20
+ */
21
+ export declare class DocumentQuery extends QueryEntity<DocumentState> {
22
+ protected store: DocumentStore;
23
+ constructor(store: DocumentStore);
24
+ /**
25
+ * Selects the currently selected folder ID from the document state.
26
+ * @returns {Observable<string | null>} Observable that emits the currently selected folder ID.
27
+ */
28
+ getParentDocumentTypeId(): string | null;
29
+ /**
30
+ * Selects the currently selected folder ID from the document state.
31
+ * @returns {Observable<string | null>} Observable that emits the currently selected folder ID.
32
+ */
33
+ selectParentDocumentTypeId(): Observable<string | null>;
34
+ /**
35
+ * Selects the set messages.
36
+ * @returns {Observable<Message>} Observable that emits the current Message.
37
+ */
38
+ selectMessages(): Observable<Message[]>;
39
+ /**
40
+ * Selects the set documents.
41
+ * @returns {Observable<DocumentModel[]>} Observable that emits the documets.
42
+ */
43
+ selectDocumets(): Observable<DocumentModel[]>;
44
+ /**
45
+ * Selects the document categories.
46
+ * @returns {Observable<DocumentCategory[]>} Observable that emits the document categories.
47
+ */
48
+ selectDocumentCategories(): Observable<DocumentCategory[]>;
49
+ /**
50
+ * Selects the currently selected menu item.
51
+ * @returns {Observable<string | null>} Observable that emits the currently selected menu item _id (not the label).
52
+ */
53
+ selectSelectedMenuItem(): Observable<string | null>;
54
+ /**
55
+ * Selects the currently selected user ID.
56
+ * @returns {Observable<string | null>} Observable that emits the currently selected user ID.
57
+ */
58
+ selectSelectedUserId(): Observable<string | null>;
59
+ /**
60
+ * Selects the currently selected status.
61
+ * @returns {Observable<string | null>} Observable that emits the currently selected status.
62
+ */
63
+ selectSelectedStatus(): Observable<string | null>;
64
+ /**
65
+ * Selects the current search key.
66
+ * @returns {Observable<string | null>} Observable that emits the current search key.
67
+ */
68
+ selectSearchKey(): Observable<string | null>;
69
+ /**
70
+ * Selects all selection state properties (menu item, user ID, status, search key).
71
+ * @returns {Observable<{menuItem: string | null, userId: string | null, status: string | null, searchKey: string | null}>} Observable that emits the current selection state.
72
+ * Note: menuItem is the _id of the selected menu item, not the label.
73
+ */
74
+ selectSelectionState(): Observable<{
75
+ menuItem: string | null;
76
+ userId: string | null;
77
+ status: string | null;
78
+ searchKey: string | null;
79
+ }>;
80
+ /**
81
+ * Gets the current selection state values (synchronous).
82
+ * @returns {Object} The current selection state values.
83
+ * Note: menuItem is the _id of the selected menu item, not the label.
84
+ */
85
+ getSelectionState(): {
86
+ menuItem: string | null;
87
+ userId: string | null;
88
+ status: string | null;
89
+ searchKey: string | null;
90
+ };
91
+ /**
92
+ * Selects the user list visibility state.
93
+ * @returns {Observable<boolean>} Observable that emits the current user list visibility.
94
+ */
95
+ selectShowUserList(): Observable<boolean>;
96
+ /**
97
+ * Gets the current user list visibility value (synchronous).
98
+ * @returns {boolean} The current user list visibility.
99
+ */
100
+ getShowUserList(): boolean;
101
+ /**
102
+ * Selects the current document.
103
+ * @returns {Observable<DocumentModel | null>} Observable that emits the current document.
104
+ */
105
+ selectCurrentDocument(): Observable<DocumentModel | null>;
106
+ /**
107
+ * Gets the current document value (synchronous).
108
+ * @returns {DocumentModel | null} The current document.
109
+ */
110
+ getCurrentDocument(): DocumentModel | null;
111
+ /**
112
+ * Selects the user list.
113
+ * @returns {Observable<UserListModel[]>} Observable that emits the user list.
114
+ */
115
+ selectUserList(): Observable<UserListModel[]>;
116
+ /**
117
+ * Gets the current user list value (synchronous).
118
+ * @returns {UserListModel[]} The current user list.
119
+ */
120
+ getUserList(): UserListModel[];
121
+ /**
122
+ * Selects the status data.
123
+ * @returns {Observable<StatusDataModel[]>} Observable that emits the status data.
124
+ */
125
+ selectStatusData(): Observable<StatusDataModel[]>;
126
+ /**
127
+ * Gets the current status data value (synchronous).
128
+ * @returns {StatusDataModel[]} The current status data.
129
+ */
130
+ getStatusData(): StatusDataModel[];
131
+ /**
132
+ * Selects the document list response.
133
+ * @returns {Observable<DocumentListResponse[] | null>} Observable that emits the document list response.
134
+ */
135
+ selectDocumentListResponse(): Observable<DocumentListResponse[] | null>;
136
+ /**
137
+ * Gets the current document list response value (synchronous).
138
+ * @returns {DocumentListResponse[] | null} The current document list response.
139
+ */
140
+ getDocumentListResponse(): DocumentListResponse[] | null;
141
+ /**
142
+ * Selects the selected document for viewing.
143
+ * @returns {Observable<DocumentListItem | undefined>} Observable that emits the selected document.
144
+ */
145
+ selectSelectedDocument(): Observable<DocumentListItem | undefined>;
146
+ /**
147
+ * Gets the current selected document value (synchronous).
148
+ * @returns {DocumentListItem | undefined} The current selected document.
149
+ */
150
+ getSelectedDocument(): DocumentListItem | undefined;
151
+ /**
152
+ * Selects the document history.
153
+ * @returns {Observable<DocumentHistorySection[]>} Observable that emits the document history.
154
+ */
155
+ selectDocumentHistory(): Observable<DocumentHistorySection[]>;
156
+ /**
157
+ * Gets the current document history value (synchronous).
158
+ * @returns {DocumentHistorySection[]} The current document history.
159
+ */
160
+ getDocumentHistory(): DocumentHistorySection[];
161
+ /**
162
+ * Selects the document history visibility state.
163
+ * @returns {Observable<boolean>} Observable that emits the current document history visibility.
164
+ */
165
+ selectShowDocumentHistory(): Observable<boolean>;
166
+ /**
167
+ * Gets the current document history visibility value (synchronous).
168
+ * @returns {boolean} The current document history visibility.
169
+ */
170
+ getShowDocumentHistory(): boolean;
171
+ /**
172
+ * Selects the action loading state.
173
+ * @returns {Observable<boolean>} Observable that emits the current action loading state.
174
+ */
175
+ selectIsActionLoading(): Observable<boolean>;
176
+ /**
177
+ * Gets the current action loading value (synchronous).
178
+ * @returns {boolean} The current action loading state.
179
+ */
180
+ getIsActionLoading(): boolean;
181
+ /**
182
+ * Selects the document status.
183
+ * @returns {Observable<'pending' | 'accepted' | 'rejected'>} Observable that emits the current document status.
184
+ */
185
+ selectDocumentStatus(): Observable<'pending' | 'accepted' | 'rejected'>;
186
+ /**
187
+ * Gets the current document status value (synchronous).
188
+ * @returns {'pending' | 'accepted' | 'rejected'} The current document status.
189
+ */
190
+ getDocumentStatus(): 'pending' | 'accepted' | 'rejected';
191
+ /**
192
+ * Selects the document uploaded state.
193
+ * @returns {Observable<boolean>} Observable that emits the current document uploaded state.
194
+ */
195
+ selectDocumentIsUploaded(): Observable<boolean>;
196
+ /**
197
+ * Gets the current document uploaded value (synchronous).
198
+ * @returns {boolean} The current document uploaded state.
199
+ */
200
+ getDocumentIsUploaded(): boolean;
201
+ /**
202
+ * Selects the alert data.
203
+ * @returns {Observable<any>} Observable that emits the current alert data.
204
+ */
205
+ selectAlertData(): Observable<any>;
206
+ /**
207
+ * Gets the current alert data value (synchronous).
208
+ * @returns {any} The current alert data.
209
+ */
210
+ getAlertData(): any;
211
+ /**
212
+ * Selects all document viewer state properties.
213
+ * @returns {Observable<{selectedDocument?: DocumentListItem, documentHistory: DocumentHistorySection[], showDocumentHistory: boolean, isActionLoading: boolean, documentStatus: 'pending' | 'accepted' | 'rejected', documentIsUploaded: boolean, alertData: any, deleteError: any, deleteSuccess: boolean}>} Observable that emits the current document viewer state.
214
+ */
215
+ selectDocumentViewerState(): Observable<{
216
+ selectedDocument?: DocumentListItem;
217
+ documentHistory: DocumentHistorySection[];
218
+ showDocumentHistory: boolean;
219
+ isActionLoading: boolean;
220
+ documentStatus: 'pending' | 'accepted' | 'rejected';
221
+ documentIsUploaded: boolean;
222
+ alertData: any;
223
+ deleteError: any;
224
+ deleteSuccess: boolean;
225
+ }>;
226
+ /**
227
+ * Gets the current document viewer state values (synchronous).
228
+ * @returns {Object} The current document viewer state values.
229
+ */
230
+ getDocumentViewerState(): {
231
+ selectedDocument?: DocumentListItem;
232
+ documentHistory: DocumentHistorySection[];
233
+ showDocumentHistory: boolean;
234
+ isActionLoading: boolean;
235
+ documentStatus: 'pending' | 'accepted' | 'rejected';
236
+ documentIsUploaded: boolean;
237
+ alertData: any;
238
+ deleteError: any;
239
+ deleteSuccess: boolean;
240
+ };
241
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentQuery, never>;
242
+ static ɵprov: i0.ɵɵInjectableDeclaration<DocumentQuery>;
243
+ }
@@ -1,11 +1,9 @@
1
- import { Injectable } from '@angular/core';
2
1
  import { HttpClient } from '@angular/common/http';
3
2
  import { DocumentStore } from './document.store';
4
- import { Observable, tap } from 'rxjs';
3
+ import { Observable } from 'rxjs';
5
4
  import { AppConfigService } from '../../../Shared/services/app-config.service';
6
- import { URLS } from '../../../Shared/constant/URLS';
7
5
  import { DocumentModel } from '../models/document.model';
8
-
6
+ import * as i0 from "@angular/core";
9
7
  /**
10
8
  * Service for managing document-related operations.
11
9
  * The `DocumentService` acts as a bridge between the application and the backend API for handling document-related data.
@@ -14,82 +12,53 @@ import { DocumentModel } from '../models/document.model';
14
12
  * @param {DocumentStore} documentStore - The store that manages the state of documents.
15
13
  * @param {HttpClient} http - The Angular HTTP client for making API requests.
16
14
  */
17
- @Injectable({ providedIn: 'root' })
18
- export class DocumentService {
19
-
15
+ export declare class DocumentService {
16
+ documentStore: DocumentStore;
17
+ private http;
18
+ appConfigService: AppConfigService;
20
19
  /**
21
20
  * Creates an instance of DocumentService.
22
21
  * @param {DocumentStore} documentStore - Store managing the state of documents.
23
22
  * @param {HttpClient} http - Angular HTTP client for making API requests.
24
23
  * @param {AppConfigService} appConfigService - Service for retrieving application configuration, such as API base URL.
25
24
  */
26
- constructor(
27
- public documentStore: DocumentStore,
28
- private http: HttpClient,
29
- public appConfigService: AppConfigService
30
- ) { }
31
-
25
+ constructor(documentStore: DocumentStore, http: HttpClient, appConfigService: AppConfigService);
32
26
  /**
33
27
  * Get api url from appConfigService.
34
28
  * @readonly
35
29
  * @type {string}
36
30
  */
37
- get apiUrl(): string {
38
- return this.appConfigService.apiBaseUrl;
39
- }
40
-
31
+ get apiUrl(): string;
41
32
  /**
42
33
  * Sends a request to create a new document.
43
34
  * @param {*} entity - The data of the document to be created.
44
35
  * @returns {Observable<any>} Observable that emits the newly created document.
45
36
  */
46
- create(entity: any): Observable<any> {
47
- return this.http.post<any>(`${this.apiUrl}${URLS.DOCUMENT_UPLOAD}`, entity).pipe(
48
- tap((newEntity: any) => this.documentStore.add(newEntity))
49
- );
50
- }
51
-
37
+ create(entity: any): Observable<any>;
52
38
  /**
53
39
  * Fetches all documents from the backend.
54
40
  * @returns {Observable<DocumentModel[]>} Observable that emits an array of documents.
55
41
  */
56
- getAll(): Observable<DocumentModel[]> {
57
- return this.http.get<DocumentModel[]>(`${this.apiUrl}${URLS.DOCUMENT_UPLOAD}`).pipe(
58
- tap((entities: DocumentModel[]) => this.documentStore.set(entities))
59
- );
60
- }
61
-
42
+ getAll(): Observable<DocumentModel[]>;
62
43
  /**
63
44
  * Fetches a document by its ID.
64
45
  * @param {string} id - The unique identifier of the document.
65
46
  * @returns {Observable<any>} Observable that emits the retrieved document.
66
47
  */
67
- getById(id: string): Observable<any> {
68
- return this.http.get<any>(`${this.apiUrl}${URLS.DOCUMENT_UPLOAD}/${id}`).pipe(
69
- tap((entity: any) => this.documentStore.upsert(id, entity))
70
- );
71
- }
72
-
48
+ getById(id: string): Observable<any>;
73
49
  /**
74
50
  * Updates an existing document by its ID.
75
51
  * @param {string} id - The unique identifier of the document.
76
52
  * @param {DocumentModel} entity - The updated data of the document.
77
53
  * @returns {Observable<DocumentModel>} Observable that emits the updated document.
78
54
  */
79
- update(id: string, entity: DocumentModel): Observable<DocumentModel> {
80
- return this.http.put<DocumentModel>(`${this.apiUrl}${URLS.DOCUMENT_UPLOAD}/${id}`, entity).pipe(
81
- tap((updatedEntity: DocumentModel) => this.documentStore.update(id, updatedEntity))
82
- );
83
- }
84
-
55
+ update(id: string, entity: DocumentModel): Observable<DocumentModel>;
85
56
  /**
86
57
  * Deletes a document by its ID.
87
58
  * @param {string} id - The unique identifier of the document to be deleted.
88
59
  * @returns {Observable<void>} Observable that completes when the document is deleted.
89
60
  */
90
- delete(id: string): Observable<void> {
91
- return this.http.delete<void>(`${this.apiUrl}${URLS.DOCUMENT_UPLOAD}/${id}`).pipe(
92
- tap(() => this.documentStore.remove(id))
93
- );
94
- }
61
+ delete(id: string): Observable<void>;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<DocumentService, never>;
63
+ static ɵprov: i0.ɵɵInjectableDeclaration<DocumentService>;
95
64
  }
@@ -0,0 +1,61 @@
1
+ import { EntityState } from '@datorama/akita';
2
+ import { DocumentModel } from '../models/document.model';
3
+ import { DocumentTypeModel } from '../models/document-type.model';
4
+ import { DocumentAlertModel } from '../models/document-alert.model';
5
+ import { FolderBlockModel } from '../models/folder.model';
6
+ import { DocumentCategory } from '../models/document-category.model';
7
+ import { Message } from 'primeng/api';
8
+ import { UserListModel } from '../models/user-list.model';
9
+ import { StatusDataModel } from '../models/status-data.model';
10
+ import { DocumentListResponse } from '../models/document-list-response.model';
11
+ import { DocumentListItem } from '../models/document-list-response.model';
12
+ import { DocumentHistorySection } from '../models/document-history.model';
13
+ /**
14
+ * Represents the state of the documents in the application.
15
+ * This interface extends Akita's `EntityState` to include additional properties
16
+ * for managing document-specific data, such as `records`, `filteredRecords` and `folderId`.
17
+ * @interface DocumentState
18
+ * @property {any[]} records - A collection of records related to documents.
19
+ * @property {any[]} filteredRecords - A collection of filteredRecords related to documents.
20
+ * @property {string | null} folderId - The ID of the currently selected folder, or `null` if no folder is selected.
21
+ * @property {boolean} isDialogOpen - A flag indicating whether a dialog is open.
22
+ */
23
+ export interface DocumentState extends EntityState<DocumentModel, string> {
24
+ records: DocumentModel[];
25
+ folderId: string | null;
26
+ isDialogOpen: boolean;
27
+ filteredRecords: DocumentModel[];
28
+ dropdownOptions: DocumentTypeModel[];
29
+ uploadedDocumentFiles: DocumentModel[];
30
+ parentDocumentTypeId: string | null;
31
+ documentAlert: DocumentAlertModel;
32
+ folders: FolderBlockModel[];
33
+ messages: Message[];
34
+ documentList: DocumentModel[];
35
+ documentCategories: DocumentCategory[];
36
+ selectedMenuItem: string | null;
37
+ selectedUserId: string | null;
38
+ selectedStatus: string | null;
39
+ searchKey: string | null;
40
+ showUserList: boolean;
41
+ currentDocument: DocumentModel | null;
42
+ userList: UserListModel[];
43
+ statusData: StatusDataModel[];
44
+ documentListResponse: DocumentListResponse[] | null;
45
+ selectedDocument?: DocumentListItem;
46
+ documentHistory: DocumentHistorySection[];
47
+ showDocumentHistory: boolean;
48
+ isActionLoading: boolean;
49
+ documentStatus: 'pending' | 'accepted' | 'rejected';
50
+ documentIsUploaded: boolean;
51
+ alertData: any;
52
+ deleteError: any;
53
+ deleteSuccess: boolean;
54
+ }
55
+ /**
56
+ * Creates the initial state for the `DocumentState` store.
57
+ * This function provides default values for all properties in the `DocumentState` interface,
58
+ * ensuring the store starts with a consistent initial structure.
59
+ * @returns {DocumentState} The initial state of the document store.
60
+ */
61
+ export declare function createInitialState(): DocumentState;