cat-documents-ng 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +322 -322
  2. package/Shared/components/confirmation-dialog/confirmation-dialog.component.d.ts +44 -0
  3. package/Shared/components/table-primary/table-primary.component.d.ts +31 -0
  4. package/Shared/components/table-primary/table-primary.model.d.ts +19 -0
  5. package/Shared/constant/ERROR.d.ts +52 -0
  6. package/Shared/constant/SHARED.d.ts +546 -0
  7. package/{src/Shared/constant/URLS.ts → Shared/constant/URLS.d.ts} +25 -31
  8. package/Shared/services/app-config.service.d.ts +51 -0
  9. package/{src/Shared/services/global-error.handler.ts → Shared/services/global-error.handler.d.ts} +9 -11
  10. package/Shared/services/session.service.d.ts +46 -0
  11. package/Shared/shared.module.d.ts +14 -0
  12. package/fesm2022/cat-documents-ng.mjs +11405 -0
  13. package/fesm2022/cat-documents-ng.mjs.map +1 -0
  14. package/index.d.ts +5 -0
  15. package/lib/document/components/document-actions/document-actions.component.d.ts +78 -0
  16. package/lib/document/components/document-container/document-container.component.d.ts +162 -0
  17. package/lib/document/components/document-content-viewer/document-content-viewer.component.d.ts +291 -0
  18. package/lib/document/components/document-history/document-history.component.d.ts +160 -0
  19. package/lib/document/components/document-list/document-list.component.d.ts +299 -0
  20. package/lib/document/components/document-list-item/document-list-item.component.d.ts +28 -0
  21. package/lib/document/components/document-search/document-search.component.d.ts +77 -0
  22. package/lib/document/components/document-status/document-status.component.d.ts +24 -0
  23. package/lib/document/components/document-upload/document-upload.component.d.ts +321 -0
  24. package/lib/document/components/document-viewer/document-viewer.component.d.ts +137 -0
  25. package/lib/document/components/document-zoom-controls/document-zoom-controls.component.d.ts +33 -0
  26. package/lib/document/components/documents-menu/documents-menu.component.d.ts +110 -0
  27. package/{src/lib/document/components/folder-block/folder-block.component.ts → lib/document/components/folder-block/folder-block.component.d.ts} +12 -28
  28. package/lib/document/components/folder-container/folder-container.component.d.ts +162 -0
  29. package/lib/document/components/linked-document/linked-document.component.d.ts +39 -0
  30. package/lib/document/components/request-document/request-document.component.d.ts +69 -0
  31. package/lib/document/components/sidebar/sidebar.component.d.ts +109 -0
  32. package/lib/document/components/user-list/user-list.component.d.ts +34 -0
  33. package/lib/document/constant/DOCUMENT_HISTORY.d.ts +41 -0
  34. package/lib/document/directives/document.directive.d.ts +20 -0
  35. package/lib/document/directives/permission.directive.d.ts +38 -0
  36. package/lib/document/document.module.d.ts +60 -0
  37. package/{src/lib/document/models/document-alert.model.ts → lib/document/models/document-alert.model.d.ts} +4 -11
  38. package/lib/document/models/document-category.model.d.ts +24 -0
  39. package/lib/document/models/document-history.model.d.ts +94 -0
  40. package/lib/document/models/document-list-response.model.d.ts +33 -0
  41. package/lib/document/models/document-type.model.d.ts +37 -0
  42. package/lib/document/models/document.model.d.ts +44 -0
  43. package/{src/lib/document/models/folder.model.ts → lib/document/models/folder.model.d.ts} +4 -10
  44. package/lib/document/models/status-data.model.d.ts +27 -0
  45. package/lib/document/models/uploaded-file-response.model.d.ts +7 -0
  46. package/lib/document/models/user-list.model.d.ts +8 -0
  47. package/lib/document/services/csv-parser.service.d.ts +88 -0
  48. package/lib/document/services/document-actions.service.d.ts +48 -0
  49. package/lib/document/services/document-content-type.service.d.ts +85 -0
  50. package/lib/document/services/document-history-style.service.d.ts +34 -0
  51. package/lib/document/services/document-history.service.d.ts +42 -0
  52. package/lib/document/services/document-http.service.d.ts +179 -0
  53. package/lib/document/services/document-list.service.d.ts +74 -0
  54. package/lib/document/services/document-menu.service.d.ts +122 -0
  55. package/lib/document/services/document-scroll.service.d.ts +55 -0
  56. package/lib/document/services/document-table-builder.service.d.ts +38 -0
  57. package/lib/document/services/document-upload-business.service.d.ts +107 -0
  58. package/lib/document/services/document-upload-data.service.d.ts +40 -0
  59. package/lib/document/services/document-upload-form.service.d.ts +41 -0
  60. package/lib/document/services/document-upload.service.d.ts +99 -0
  61. package/lib/document/services/document-viewer.service.d.ts +97 -0
  62. package/lib/document/services/document-zoom.service.d.ts +81 -0
  63. package/lib/document/services/document.service.d.ts +161 -0
  64. package/lib/document/services/eml-parser.service.d.ts +116 -0
  65. package/lib/document/services/excel-parser.service.d.ts +169 -0
  66. package/lib/document/services/file-format.service.d.ts +34 -0
  67. package/lib/document/services/status-calculator.service.d.ts +20 -0
  68. package/lib/document/services/user-list.service.d.ts +29 -0
  69. package/lib/document/state/document.query.d.ts +243 -0
  70. package/{src/lib/document/state/document.service.ts → lib/document/state/document.service.d.ts} +15 -46
  71. package/lib/document/state/document.state.d.ts +61 -0
  72. package/lib/document/state/document.store.d.ts +56 -0
  73. package/package.json +11 -5
  74. package/{src/public-api.ts → public-api.d.ts} +0 -4
  75. package/ng-package.json +0 -10
  76. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.html +0 -3
  77. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.scss +0 -13
  78. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.spec.ts +0 -70
  79. package/src/Shared/components/confirmation-dialog/confirmation-dialog.component.ts +0 -133
  80. package/src/Shared/components/table-primary/table-primary.component.html +0 -66
  81. package/src/Shared/components/table-primary/table-primary.component.scss +0 -227
  82. package/src/Shared/components/table-primary/table-primary.component.spec.ts +0 -23
  83. package/src/Shared/components/table-primary/table-primary.component.ts +0 -143
  84. package/src/Shared/components/table-primary/table-primary.model.ts +0 -21
  85. package/src/Shared/constant/ERROR.ts +0 -55
  86. package/src/Shared/constant/PERMISSIONS.ts +0 -17
  87. package/src/Shared/constant/SHARED.ts +0 -936
  88. package/src/Shared/services/app-config.service.spec.ts +0 -19
  89. package/src/Shared/services/app-config.service.ts +0 -73
  90. package/src/Shared/services/session.service.spec.ts +0 -16
  91. package/src/Shared/services/session.service.ts +0 -76
  92. package/src/Shared/shared.module.ts +0 -25
  93. package/src/lib/document/components/csv-viewer/csv-viewer.component.ts +0 -1
  94. package/src/lib/document/components/document-actions/document-actions.component.html +0 -59
  95. package/src/lib/document/components/document-actions/document-actions.component.scss +0 -362
  96. package/src/lib/document/components/document-actions/document-actions.component.spec.ts +0 -297
  97. package/src/lib/document/components/document-actions/document-actions.component.ts +0 -163
  98. package/src/lib/document/components/document-container/document-container.component.html +0 -36
  99. package/src/lib/document/components/document-container/document-container.component.scss +0 -144
  100. package/src/lib/document/components/document-container/document-container.component.spec.ts +0 -110
  101. package/src/lib/document/components/document-container/document-container.component.ts +0 -363
  102. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.html +0 -332
  103. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.scss +0 -1877
  104. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.spec.ts +0 -258
  105. package/src/lib/document/components/document-content-viewer/document-content-viewer.component.ts +0 -664
  106. package/src/lib/document/components/document-history/document-history.component.html +0 -96
  107. package/src/lib/document/components/document-history/document-history.component.scss +0 -392
  108. package/src/lib/document/components/document-history/document-history.component.spec.ts +0 -93
  109. package/src/lib/document/components/document-history/document-history.component.ts +0 -373
  110. package/src/lib/document/components/document-list/document-list.component.html +0 -46
  111. package/src/lib/document/components/document-list/document-list.component.scss +0 -513
  112. package/src/lib/document/components/document-list/document-list.component.spec.ts +0 -486
  113. package/src/lib/document/components/document-list/document-list.component.ts +0 -682
  114. package/src/lib/document/components/document-list-item/document-list-item.component.html +0 -36
  115. package/src/lib/document/components/document-list-item/document-list-item.component.scss +0 -34
  116. package/src/lib/document/components/document-list-item/document-list-item.component.spec.ts +0 -75
  117. package/src/lib/document/components/document-list-item/document-list-item.component.ts +0 -40
  118. package/src/lib/document/components/document-search/document-search.component.html +0 -64
  119. package/src/lib/document/components/document-search/document-search.component.scss +0 -206
  120. package/src/lib/document/components/document-search/document-search.component.spec.ts +0 -82
  121. package/src/lib/document/components/document-search/document-search.component.ts +0 -163
  122. package/src/lib/document/components/document-status/document-status.component.html +0 -31
  123. package/src/lib/document/components/document-status/document-status.component.scss +0 -192
  124. package/src/lib/document/components/document-status/document-status.component.spec.ts +0 -23
  125. package/src/lib/document/components/document-status/document-status.component.ts +0 -87
  126. package/src/lib/document/components/document-upload/document-upload.component.html +0 -160
  127. package/src/lib/document/components/document-upload/document-upload.component.scss +0 -235
  128. package/src/lib/document/components/document-upload/document-upload.component.spec.ts +0 -95
  129. package/src/lib/document/components/document-upload/document-upload.component.ts +0 -668
  130. package/src/lib/document/components/document-viewer/document-viewer.component.html +0 -50
  131. package/src/lib/document/components/document-viewer/document-viewer.component.scss +0 -187
  132. package/src/lib/document/components/document-viewer/document-viewer.component.spec.ts +0 -79
  133. package/src/lib/document/components/document-viewer/document-viewer.component.ts +0 -261
  134. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.html +0 -48
  135. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.scss +0 -320
  136. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.spec.ts +0 -59
  137. package/src/lib/document/components/document-zoom-controls/document-zoom-controls.component.ts +0 -150
  138. package/src/lib/document/components/documents-menu/documents-menu.component.html +0 -44
  139. package/src/lib/document/components/documents-menu/documents-menu.component.scss +0 -363
  140. package/src/lib/document/components/documents-menu/documents-menu.component.spec.ts +0 -23
  141. package/src/lib/document/components/documents-menu/documents-menu.component.ts +0 -316
  142. package/src/lib/document/components/folder-block/folder-block.component.html +0 -46
  143. package/src/lib/document/components/folder-block/folder-block.component.scss +0 -9
  144. package/src/lib/document/components/folder-block/folder-block.component.spec.ts +0 -70
  145. package/src/lib/document/components/folder-container/folder-container.component.html +0 -56
  146. package/src/lib/document/components/folder-container/folder-container.component.scss +0 -20
  147. package/src/lib/document/components/folder-container/folder-container.component.spec.ts +0 -27
  148. package/src/lib/document/components/folder-container/folder-container.component.ts +0 -328
  149. package/src/lib/document/components/linked-document/linked-document.component.html +0 -23
  150. package/src/lib/document/components/linked-document/linked-document.component.scss +0 -10
  151. package/src/lib/document/components/linked-document/linked-document.component.spec.ts +0 -61
  152. package/src/lib/document/components/linked-document/linked-document.component.ts +0 -49
  153. package/src/lib/document/components/request-document/request-document.component.html +0 -86
  154. package/src/lib/document/components/request-document/request-document.component.scss +0 -16
  155. package/src/lib/document/components/request-document/request-document.component.ts +0 -278
  156. package/src/lib/document/components/sidebar/sidebar.component.html +0 -75
  157. package/src/lib/document/components/sidebar/sidebar.component.scss +0 -157
  158. package/src/lib/document/components/sidebar/sidebar.component.spec.ts +0 -114
  159. package/src/lib/document/components/sidebar/sidebar.component.ts +0 -223
  160. package/src/lib/document/components/user-list/user-list.component.html +0 -33
  161. package/src/lib/document/components/user-list/user-list.component.scss +0 -118
  162. package/src/lib/document/components/user-list/user-list.component.spec.ts +0 -23
  163. package/src/lib/document/components/user-list/user-list.component.ts +0 -181
  164. package/src/lib/document/constant/DOCUMENT_HISTORY.ts +0 -52
  165. package/src/lib/document/directives/document.directive.ts +0 -32
  166. package/src/lib/document/directives/permission.directive.spec.ts +0 -0
  167. package/src/lib/document/directives/permission.directive.ts +0 -72
  168. package/src/lib/document/document.module.ts +0 -351
  169. package/src/lib/document/models/document-category.model.ts +0 -30
  170. package/src/lib/document/models/document-history.model.ts +0 -109
  171. package/src/lib/document/models/document-list-response.model.ts +0 -37
  172. package/src/lib/document/models/document-type.model.ts +0 -44
  173. package/src/lib/document/models/document.model.ts +0 -53
  174. package/src/lib/document/models/status-data.model.ts +0 -31
  175. package/src/lib/document/models/uploaded-file-response.model.ts +0 -7
  176. package/src/lib/document/models/user-list.model.ts +0 -10
  177. package/src/lib/document/services/csv-parser.service.spec.ts +0 -97
  178. package/src/lib/document/services/csv-parser.service.ts +0 -303
  179. package/src/lib/document/services/document-actions.service.ts +0 -125
  180. package/src/lib/document/services/document-content-type.service.ts +0 -193
  181. package/src/lib/document/services/document-history-style.service.ts +0 -138
  182. package/src/lib/document/services/document-history.service.ts +0 -129
  183. package/src/lib/document/services/document-http.service.spec.ts +0 -119
  184. package/src/lib/document/services/document-http.service.ts +0 -497
  185. package/src/lib/document/services/document-list.service.ts +0 -195
  186. package/src/lib/document/services/document-menu.service.ts +0 -277
  187. package/src/lib/document/services/document-scroll.service.ts +0 -138
  188. package/src/lib/document/services/document-severity.service.ts +0 -98
  189. package/src/lib/document/services/document-table-builder.service.ts +0 -82
  190. package/src/lib/document/services/document-upload-business.service.ts +0 -326
  191. package/src/lib/document/services/document-upload-data.service.ts +0 -82
  192. package/src/lib/document/services/document-upload-form.service.ts +0 -149
  193. package/src/lib/document/services/document-upload.service.spec.ts +0 -99
  194. package/src/lib/document/services/document-upload.service.ts +0 -209
  195. package/src/lib/document/services/document-viewer.service.ts +0 -279
  196. package/src/lib/document/services/document-zoom.service.spec.ts +0 -56
  197. package/src/lib/document/services/document-zoom.service.ts +0 -164
  198. package/src/lib/document/services/document.service.ts +0 -356
  199. package/src/lib/document/services/eml-parser.service.ts +0 -444
  200. package/src/lib/document/services/excel-parser.service.spec.ts +0 -66
  201. package/src/lib/document/services/excel-parser.service.ts +0 -483
  202. package/src/lib/document/services/file-format.service.spec.ts +0 -16
  203. package/src/lib/document/services/file-format.service.ts +0 -63
  204. package/src/lib/document/services/status-calculator.service.ts +0 -44
  205. package/src/lib/document/services/user-list.service.ts +0 -77
  206. package/src/lib/document/state/document.query.ts +0 -378
  207. package/src/lib/document/state/document.state.ts +0 -100
  208. package/src/lib/document/state/document.store.ts +0 -200
  209. package/tsconfig.lib.json +0 -15
  210. package/tsconfig.lib.prod.json +0 -11
  211. package/tsconfig.spec.json +0 -15
@@ -1,96 +0,0 @@
1
- <div class="document-review-container" *ngIf="showHistory && historyData.length > 0">
2
- <!-- Header Section -->
3
- <div class="review-header">
4
- <h2 class="review-title">Document Review</h2>
5
- <!-- <div class="actions-menu" *ngIf="selectedDocument?.isUploaded || selectedDocument?.status == 'Approved'"> -->
6
- <!-- <div class="actions-menu" *ngIf="(selectedDocument?.isUploaded || selectedDocument?.status == 'Approved') && !selectedDocument?.isSystemDocument"> -->
7
- <div class="actions-menu" *ngIf="(selectedDocument?.status !== 'Approved') && (!selectedDocument?.isSystemDocument)">
8
- <button class="actions-btn" (click)="toggleActionsMenu()" [class.active]="showActionsMenu">
9
- Actions
10
- <i class="pi pi-chevron-down" [class.rotated]="showActionsMenu"></i>
11
- </button>
12
-
13
- <!-- Actions Dropdown Menu -->
14
- <div class="actions-dropdown" *ngIf="showActionsMenu" (click)="$event.stopPropagation()">
15
- <div class="dropdown-item" *ngIf="selectedDocument?.status == 'Approved' || selectedDocument?.isUploaded || selectedDocument?.status == 'Uploaded'">
16
- <ng-content [select]="'action-launcher'"></ng-content>
17
- </div>
18
- <div *ngIf="selectedDocument?.isUploaded || selectedDocument?.status === 'Rejected' || selectedDocument?.status === 'Reviewing'" [permission]="'documents-deleteDocumentByDocumentId'" class="dropdown-item" (click)="onDeleteTask()">
19
- <span>Delete task</span>
20
- </div>
21
- </div>
22
-
23
- </div>
24
- </div>
25
-
26
- <!-- Document Actions Component - Below Header -->
27
- <div class="document-actions-section">
28
- <ng-content select="[actions-component]"></ng-content>
29
- </div>
30
-
31
-
32
- <!-- Alerts Section -->
33
- <!-- <div class="alerts-section">
34
- <div class="alert-card">
35
- <div class="alert-header">
36
- <i class="pi pi-exclamation-triangle alert-icon"></i>
37
- <span class="alert-text">Alerts</span>
38
- <div class="alert-badge">
39
- <span class="alert-count">{{ getAlertCount() }}</span>
40
- <i class="pi pi-chevron-right"></i>
41
- </div>
42
- </div>
43
- </div>
44
- </div> -->
45
-
46
- <!-- Timeline Section -->
47
- <div class="timeline-section">
48
- <h3 class="timeline-title">Timeline</h3>
49
- <div class="timeline-container">
50
- <div class="timeline-item" *ngFor="let section of processedHistoryData">
51
- <ng-container *ngFor="let item of section.list; let i = index">
52
- <div class="timeline-event mb-2" *ngIf="!item.shouldHide">
53
- <div class="event-card" [ngClass]="item.eventCardClass">
54
- <!-- Event Header -->
55
- <div class="event-header">
56
- <div class="event-info">
57
- <i [class]="item.eventIcon"></i>
58
- <span class="event-label">{{ item.label }}</span>
59
- </div>
60
- <div class="event-timestamp">{{ item.dateTime }}</div>
61
- </div>
62
- <!-- User Information -->
63
- <div class="event-user mb-2">
64
- <span class="user-name">{{ item.userName }}</span>
65
- <span class="user-role">({{ item.userRole }})</span>
66
- </div>
67
- <!-- Event Description -->
68
- <div class="event-description" *ngIf="item.requestDescription">
69
- <ul class="event-description-list" *ngIf="item.label.toLowerCase().includes('requested')">
70
- <li class="event-description-item">{{ item.requestDescription }}</li>
71
- </ul>
72
- <p *ngIf="!item.label.toLowerCase().includes('requested')">{{ item.requestDescription }}</p>
73
- </div>
74
-
75
- <!-- Document Upload Cards -->
76
- <div class="document-uploads" *ngIf="item.documentList && item.documentList.length > 0">
77
- <div class="uploaded-documents">
78
- <div class="document-card" *ngFor="let doc of item.documentList" (click)="onDocumentClick(doc)">
79
- <div class="document-icon">
80
- <i class="pi pi-file"></i>
81
- </div>
82
- <span class="document-name">{{ doc.docName }}</span>
83
- </div>
84
- </div>
85
- </div>
86
-
87
-
88
- </div>
89
- </div>
90
- </ng-container>
91
- </div>
92
- </div>
93
- </div>
94
-
95
- <!-- <ng-content [select]="'actions-component'"></ng-content> -->
96
- </div>
@@ -1,392 +0,0 @@
1
- .document-review-container {
2
- border-radius: 8px;
3
- max-height: 100%;
4
- overflow-y: auto;
5
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
6
-
7
- // Header Section
8
- .review-header {
9
- display: flex;
10
- justify-content: space-between;
11
- align-items: center;
12
- padding-bottom: 1rem;
13
- border-bottom: 1px solid #e5e7eb;
14
-
15
- .review-title {
16
- font-size: 1.5rem;
17
- font-weight: 600;
18
- color: #1f2937;
19
- margin: 0;
20
- }
21
-
22
- .actions-menu {
23
- position: relative;
24
-
25
- .actions-btn {
26
- background: #ffffff;
27
- border: 1px solid #d1d5db;
28
- border-radius: 6px;
29
- padding: 0.5rem 1rem;
30
- color: #374151;
31
- font-size: 0.875rem;
32
- cursor: pointer;
33
- display: flex;
34
- align-items: center;
35
- gap: 0.5rem;
36
- transition: all 0.2s;
37
-
38
- &:hover {
39
- background: #f9fafb;
40
- }
41
-
42
- &.active {
43
- background: #f3f4f6;
44
- border-color: #9ca3af;
45
- }
46
-
47
- i {
48
- font-size: 0.75rem;
49
- transition: transform 0.2s;
50
-
51
- &.rotated {
52
- transform: rotate(180deg);
53
- }
54
- }
55
- }
56
-
57
- .actions-dropdown {
58
- position: absolute;
59
- top: 100%;
60
- right: 0;
61
- background: #ffffff;
62
- border: 1px solid #d1d5db;
63
- border-radius: 8px;
64
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
65
- z-index: 1000;
66
- min-width: 180px;
67
- margin-top: 0.25rem;
68
-
69
- .dropdown-item {
70
- padding: 0.75rem 1rem;
71
- cursor: pointer;
72
- color: #374151;
73
- font-size: 0.875rem;
74
- border-bottom: 1px solid #f3f4f6;
75
- transition: background-color 0.2s;
76
-
77
- &:last-child {
78
- border-bottom: none;
79
- border-radius: 0 0 8px 8px;
80
- }
81
-
82
- &:first-child {
83
- border-radius: 8px 8px 0 0;
84
- }
85
-
86
- &:hover {
87
- background: #f9fafb;
88
- }
89
-
90
- span {
91
- display: block;
92
- }
93
- }
94
- }
95
- }
96
- }
97
-
98
- // Document Actions Section (Accept/Reject buttons)
99
- ::ng-deep document-actions {
100
- margin-bottom: 1.5rem;
101
-
102
- .actions-card {
103
- margin: 0;
104
- width: 100%;
105
- }
106
- }
107
-
108
- // Document Actions Section
109
- .document-actions-section {
110
- padding: 1rem 0;
111
- }
112
-
113
- // Alerts Section
114
- .alerts-section {
115
- margin-bottom: 2rem;
116
-
117
- .alert-card {
118
- background: #ffffff;
119
- border: 1px solid #e5e7eb;
120
- border-radius: 8px;
121
- padding: 1rem;
122
-
123
- .alert-header {
124
- display: flex;
125
- align-items: center;
126
- gap: 0.75rem;
127
-
128
- .alert-icon {
129
- color: #ef4444;
130
- font-size: 1.25rem;
131
- }
132
-
133
- .alert-text {
134
- font-weight: 500;
135
- color: #1f2937;
136
- font-size: 1rem;
137
- }
138
-
139
- .alert-badge {
140
- margin-left: auto;
141
- display: flex;
142
- align-items: center;
143
- gap: 0.5rem;
144
- background: #ef4444;
145
- color: #ffffff;
146
- border-radius: 50%;
147
- width: 24px;
148
- height: 24px;
149
- justify-content: center;
150
- position: relative;
151
-
152
- .alert-count {
153
- font-size: 0.75rem;
154
- font-weight: 600;
155
- }
156
-
157
- i {
158
- position: absolute;
159
- right: -8px;
160
- font-size: 0.75rem;
161
- color: #ef4444;
162
- background: #ffffff;
163
- border-radius: 50%;
164
- width: 16px;
165
- height: 16px;
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- }
170
- }
171
- }
172
- }
173
- }
174
-
175
- // Timeline Section
176
- .timeline-section {
177
- .timeline-title {
178
- font-size: 1.25rem;
179
- font-weight: 600;
180
- color: #1f2937;
181
- margin: 0 0 1.5rem 0;
182
- }
183
-
184
- .timeline-container {
185
- .timeline-item {
186
- margin-bottom: 1.5rem;
187
-
188
- .timeline-event {
189
- .event-card {
190
- background: #ffffff;
191
- border: 1px solid #e5e7eb;
192
- border-radius: 8px;
193
- padding: 1.25rem;
194
- position: relative;
195
-
196
- // Event Header
197
- .event-header {
198
- display: flex;
199
- justify-content: space-between;
200
- align-items: center;
201
- margin-bottom: 1rem;
202
-
203
- .event-info {
204
- display: flex;
205
- align-items: center;
206
- gap: 0.75rem;
207
-
208
- .event-icon {
209
- width: 25px;
210
- height: 25px;
211
- border-radius: 50%;
212
- display: flex;
213
- align-items: center;
214
- justify-content: center;
215
- color: #ffffff;
216
-
217
- i {
218
- font-size: 1rem;
219
- }
220
-
221
- &.icon-requested {
222
- background: #3b82f6;
223
- }
224
-
225
- &.icon-accepted {
226
- background: #10b981;
227
- }
228
-
229
- &.icon-rejected {
230
- background: #ef4444;
231
- }
232
-
233
- &.icon-default {
234
- background: #6b7280;
235
- }
236
- }
237
-
238
- .event-label {
239
- font-weight: 600;
240
- color: #1f2937;
241
- font-size: 1rem;
242
- }
243
- }
244
-
245
- .event-timestamp {
246
- color: #6b7280;
247
- font-size: 0.875rem;
248
- font-weight: 500;
249
- }
250
- }
251
-
252
- // Event Description
253
- .event-description {
254
- margin-bottom: 1rem;
255
-
256
- p {
257
- color: #374151;
258
- line-height: 1.5;
259
- margin: 0;
260
- font-size: 0.875rem;
261
- }
262
- }
263
-
264
- // Document Upload Cards
265
- .document-uploads {
266
- margin-bottom: 1rem;
267
-
268
- .uploaded-documents {
269
- display: flex;
270
- flex-direction: column;
271
- gap: 0.75rem;
272
-
273
- .document-card {
274
- background: #f8fafc;
275
- border: 1px solid #e2e8f0;
276
- border-radius: 8px;
277
- padding: 0.5rem;
278
- display: flex;
279
- align-items: center;
280
- gap: 0.75rem;
281
- cursor: pointer;
282
- transition: all 0.2s ease;
283
-
284
- &:hover {
285
- background: #e2e8f0;
286
- border-color: #3b82f6;
287
- transform: translateY(-1px);
288
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
289
- }
290
-
291
- &:active {
292
- transform: translateY(0);
293
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
294
- }
295
-
296
- .document-icon {
297
- color: #3b82f6;
298
- font-size: 1.25rem;
299
- }
300
-
301
- .document-name {
302
- color: #1f2937;
303
- font-size: 0.875rem;
304
- }
305
- }
306
- }
307
- }
308
-
309
- // User Information
310
- .event-user {
311
- font-size: 0.875rem;
312
- .user-name {
313
- color: rgb(75 85 99 / var(--tw-text-opacity, 1));
314
- font-weight: 500;
315
- }
316
-
317
- .user-role {
318
- color: #6b7280;
319
- margin-left: 0.25rem;
320
- }
321
- }
322
-
323
- // Event-specific styling
324
- &.event-requested {
325
- background: #DBEAFE;
326
- border-radius: 16px;
327
- font-size: 0.875rem;
328
- line-height: 1.25rem;
329
- }
330
-
331
- &.event-accepted {
332
- background: #DCFCE7;
333
- border-radius: 16px;
334
- font-size: 0.875rem;
335
- line-height: 1.25rem;
336
- }
337
-
338
- &.event-rejected {
339
- background: #FEE2E2;
340
- border-radius: 16px;
341
- font-size: 0.875rem;
342
- line-height: 1.25rem;
343
- }
344
-
345
- &.event-default {
346
- border-left: 4px solid #6b7280;
347
- }
348
- }
349
- }
350
- }
351
- }
352
- }
353
- }
354
-
355
- // Responsive design
356
- @media (max-width: 768px) {
357
- .document-review-container {
358
- padding: 1rem;
359
-
360
- .review-header {
361
- flex-direction: column;
362
- gap: 1rem;
363
- align-items: flex-start;
364
-
365
- .actions-menu {
366
- align-self: flex-end;
367
- }
368
- }
369
-
370
-
371
-
372
- .timeline-section {
373
- .timeline-container {
374
- .timeline-item {
375
- .timeline-event {
376
- .event-card {
377
- .event-header {
378
- flex-direction: column;
379
- align-items: flex-start;
380
- gap: 0.5rem;
381
-
382
- .event-timestamp {
383
- align-self: flex-end;
384
- }
385
- }
386
- }
387
- }
388
- }
389
- }
390
- }
391
- }
392
- }
@@ -1,93 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { DocumentHistoryComponent } from './document-history.component';
3
- import { DocumentHistoryItem, DocumentHistorySection } from '../../models/document-history.model';
4
-
5
- describe('DocumentHistoryComponent', () => {
6
- let component: DocumentHistoryComponent;
7
- let fixture: ComponentFixture<DocumentHistoryComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- declarations: [ DocumentHistoryComponent ]
12
- })
13
- .compileComponents();
14
- });
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(DocumentHistoryComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should create', () => {
23
- expect(component).toBeTruthy();
24
- });
25
-
26
- it('should not show history when showHistory is false', () => {
27
- component.showHistory = false;
28
- component.historyData = [];
29
- fixture.detectChanges();
30
-
31
- const container = fixture.nativeElement.querySelector('.document-history-container');
32
- expect(container).toBeNull();
33
- });
34
-
35
- it('should show history when showHistory is true and data exists', () => {
36
- const mockData: DocumentHistorySection[] = [
37
- {
38
- header: 'Document History',
39
- list: [
40
- {
41
- label: 'Document Uploaded',
42
- dateTime: '29 Jul 2025, 17:59:03',
43
- requestDescription: 'Test upload',
44
- userName: 'Test User',
45
- userRole: 'Broker'
46
- }
47
- ]
48
- }
49
- ];
50
-
51
- component.showHistory = true;
52
- component.historyData = mockData;
53
- fixture.detectChanges();
54
-
55
- const container = fixture.nativeElement.querySelector('.document-history-container');
56
- expect(container).toBeTruthy();
57
- });
58
-
59
- it('should return correct icon for document uploaded', () => {
60
- const icon = component.getActionIcon('Document Uploaded');
61
- expect(icon).toBe('pi pi-upload');
62
- });
63
-
64
- it('should return correct icon for document rejected', () => {
65
- const icon = component.getActionIcon('Document Rejected');
66
- expect(icon).toBe('pi pi-times');
67
- });
68
-
69
- it('should return correct icon for document accepted', () => {
70
- const icon = component.getActionIcon('Document Accepted');
71
- expect(icon).toBe('pi pi-check');
72
- });
73
-
74
- it('should return correct color for document uploaded', () => {
75
- const color = component.getActionColor('Document Uploaded');
76
- expect(color).toBe('text-green-600');
77
- });
78
-
79
- it('should return correct color for document rejected', () => {
80
- const color = component.getActionColor('Document Rejected');
81
- expect(color).toBe('text-red-600');
82
- });
83
-
84
- it('should return correct background color for document uploaded', () => {
85
- const bgColor = component.getActionBgColor('Document Uploaded');
86
- expect(bgColor).toBe('bg-green-50');
87
- });
88
-
89
- it('should return correct background color for document rejected', () => {
90
- const bgColor = component.getActionBgColor('Document Rejected');
91
- expect(bgColor).toBe('bg-red-50');
92
- });
93
- });