cat-documents-ng 0.1.16 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/cat-documents-ng.mjs +188 -85
- package/fesm2022/cat-documents-ng.mjs.map +1 -1
- package/lib/document/components/document-container/document-container.component.d.ts +10 -6
- package/lib/document/components/document-viewer/document-viewer.component.d.ts +9 -1
- package/lib/document/components/linked-document/linked-document.component.d.ts +38 -0
- package/lib/document/document.module.d.ts +19 -18
- package/lib/document/state/document.query.d.ts +8 -1
- package/lib/document/state/document.state.d.ts +1 -0
- package/lib/document/state/document.store.d.ts +3 -0
- package/package.json +1 -1
|
@@ -358,67 +358,6 @@ class ERRORS {
|
|
|
358
358
|
static ERROR_DOCUMENT_TYPES = "Error fetching document types:";
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
/**
|
|
362
|
-
* Class that holds the URLs used throughout the application.
|
|
363
|
-
* These URLs are typically used for making API requests and accessing various resources.
|
|
364
|
-
* @class URLS
|
|
365
|
-
* @typedef {URLS}
|
|
366
|
-
*/
|
|
367
|
-
class URLS {
|
|
368
|
-
/**
|
|
369
|
-
* The URL to fetch the application configuration file.
|
|
370
|
-
* This JSON file typically contains settings and options for the application.
|
|
371
|
-
* @static
|
|
372
|
-
* @type {string}
|
|
373
|
-
*/
|
|
374
|
-
static CONFIGFILEURL = "assets/config/api.config.json";
|
|
375
|
-
/**
|
|
376
|
-
* The URL endpoint for document uploads.
|
|
377
|
-
* Used to send documents to the server for storage or processing.
|
|
378
|
-
* @static
|
|
379
|
-
* @type {string}
|
|
380
|
-
*/
|
|
381
|
-
static DOCUMENT_UPLOAD = "Documents";
|
|
382
|
-
/**
|
|
383
|
-
* The query parameter to pass a context ID in API requests.
|
|
384
|
-
* Used to specify the context for certain API calls, such as filtering or scoping the request.
|
|
385
|
-
* @static
|
|
386
|
-
* @type {string}
|
|
387
|
-
*/
|
|
388
|
-
static CONTEXT = "?contextId=";
|
|
389
|
-
/**
|
|
390
|
-
* The query parameter to pass a document ID in API requests.
|
|
391
|
-
* @static
|
|
392
|
-
* @type {string}
|
|
393
|
-
*/
|
|
394
|
-
static DOCUMENT_TYPES = "documentTypes";
|
|
395
|
-
/**
|
|
396
|
-
* The query parameter to pass a context ID in API requests.
|
|
397
|
-
* @static
|
|
398
|
-
* @type {string}
|
|
399
|
-
*/
|
|
400
|
-
static FOLDERS = "/folders?contextId=";
|
|
401
|
-
/**
|
|
402
|
-
* The query parameter to pass a document ID in API requests.
|
|
403
|
-
* @static
|
|
404
|
-
* @type {string}
|
|
405
|
-
*/
|
|
406
|
-
static ALERT_BY_DOCUMENT_ID = "alerts?documentId=";
|
|
407
|
-
/**
|
|
408
|
-
* The query parameter to pass a document ID in API requests.
|
|
409
|
-
* @static
|
|
410
|
-
* @type {string}
|
|
411
|
-
*/
|
|
412
|
-
static PARENT_DOCUMENT_TYPE_ID = "parentDocumentType?parentDocumentTypeId=";
|
|
413
|
-
/**
|
|
414
|
-
* The query parameter to pass a context ID in API requests.
|
|
415
|
-
* Used to specify the context for certain API calls, such as filtering or scoping the request.
|
|
416
|
-
* @static
|
|
417
|
-
* @type {string}
|
|
418
|
-
*/
|
|
419
|
-
static CONTEXT_ID = "&contextId=";
|
|
420
|
-
}
|
|
421
|
-
|
|
422
361
|
/**
|
|
423
362
|
* Creates the initial state for the `DocumentState` store.
|
|
424
363
|
* This function provides default values for all properties in the `DocumentState` interface,
|
|
@@ -436,7 +375,9 @@ function createInitialState() {
|
|
|
436
375
|
parentDocumentTypeId: null,
|
|
437
376
|
documentAlert: { _id: '' },
|
|
438
377
|
folders: [],
|
|
439
|
-
messages: []
|
|
378
|
+
messages: [],
|
|
379
|
+
documentList: [],
|
|
380
|
+
selectedDocument: ''
|
|
440
381
|
};
|
|
441
382
|
}
|
|
442
383
|
|
|
@@ -472,6 +413,12 @@ let DocumentStore = class DocumentStore extends EntityStore {
|
|
|
472
413
|
setMessage(message) {
|
|
473
414
|
this.update({ messages: message });
|
|
474
415
|
}
|
|
416
|
+
setDocumentList(documents) {
|
|
417
|
+
this.update({ documents: documents });
|
|
418
|
+
}
|
|
419
|
+
setSelectedDocument(selectedDocument) {
|
|
420
|
+
this.update({ selectedDocument: selectedDocument });
|
|
421
|
+
}
|
|
475
422
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
476
423
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentStore, providedIn: 'root' });
|
|
477
424
|
};
|
|
@@ -483,6 +430,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
483
430
|
args: [{ providedIn: 'root' }]
|
|
484
431
|
}], ctorParameters: () => [] });
|
|
485
432
|
|
|
433
|
+
/**
|
|
434
|
+
* Class that holds the URLs used throughout the application.
|
|
435
|
+
* These URLs are typically used for making API requests and accessing various resources.
|
|
436
|
+
* @class URLS
|
|
437
|
+
* @typedef {URLS}
|
|
438
|
+
*/
|
|
439
|
+
class URLS {
|
|
440
|
+
/**
|
|
441
|
+
* The URL to fetch the application configuration file.
|
|
442
|
+
* This JSON file typically contains settings and options for the application.
|
|
443
|
+
* @static
|
|
444
|
+
* @type {string}
|
|
445
|
+
*/
|
|
446
|
+
static CONFIGFILEURL = "assets/config/api.config.json";
|
|
447
|
+
/**
|
|
448
|
+
* The URL endpoint for document uploads.
|
|
449
|
+
* Used to send documents to the server for storage or processing.
|
|
450
|
+
* @static
|
|
451
|
+
* @type {string}
|
|
452
|
+
*/
|
|
453
|
+
static DOCUMENT_UPLOAD = "Documents";
|
|
454
|
+
/**
|
|
455
|
+
* The query parameter to pass a context ID in API requests.
|
|
456
|
+
* Used to specify the context for certain API calls, such as filtering or scoping the request.
|
|
457
|
+
* @static
|
|
458
|
+
* @type {string}
|
|
459
|
+
*/
|
|
460
|
+
static CONTEXT = "?contextId=";
|
|
461
|
+
/**
|
|
462
|
+
* The query parameter to pass a document ID in API requests.
|
|
463
|
+
* @static
|
|
464
|
+
* @type {string}
|
|
465
|
+
*/
|
|
466
|
+
static DOCUMENT_TYPES = "documentTypes";
|
|
467
|
+
/**
|
|
468
|
+
* The query parameter to pass a context ID in API requests.
|
|
469
|
+
* @static
|
|
470
|
+
* @type {string}
|
|
471
|
+
*/
|
|
472
|
+
static FOLDERS = "/folders?contextId=";
|
|
473
|
+
/**
|
|
474
|
+
* The query parameter to pass a document ID in API requests.
|
|
475
|
+
* @static
|
|
476
|
+
* @type {string}
|
|
477
|
+
*/
|
|
478
|
+
static ALERT_BY_DOCUMENT_ID = "alerts?documentId=";
|
|
479
|
+
/**
|
|
480
|
+
* The query parameter to pass a document ID in API requests.
|
|
481
|
+
* @static
|
|
482
|
+
* @type {string}
|
|
483
|
+
*/
|
|
484
|
+
static PARENT_DOCUMENT_TYPE_ID = "parentDocumentType?parentDocumentTypeId=";
|
|
485
|
+
/**
|
|
486
|
+
* The query parameter to pass a context ID in API requests.
|
|
487
|
+
* Used to specify the context for certain API calls, such as filtering or scoping the request.
|
|
488
|
+
* @static
|
|
489
|
+
* @type {string}
|
|
490
|
+
*/
|
|
491
|
+
static CONTEXT_ID = "&contextId=";
|
|
492
|
+
}
|
|
493
|
+
|
|
486
494
|
/**
|
|
487
495
|
* Service that handles loading and providing configuration settings for the application.
|
|
488
496
|
* It fetches configuration data from a remote server and exposes various configuration options.
|
|
@@ -638,7 +646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
638
646
|
* This class extends Akita's `QueryEntity` to provide additional functionality for querying document data.
|
|
639
647
|
* @class DocumentQuery
|
|
640
648
|
* @typedef {DocumentQuery}
|
|
641
|
-
* @
|
|
649
|
+
* @augments {QueryEntity<DocumentState>}
|
|
642
650
|
*/
|
|
643
651
|
class DocumentQuery extends QueryEntity {
|
|
644
652
|
store;
|
|
@@ -667,6 +675,16 @@ class DocumentQuery extends QueryEntity {
|
|
|
667
675
|
selectMessages() {
|
|
668
676
|
return this.select((state) => state.messages);
|
|
669
677
|
}
|
|
678
|
+
/**
|
|
679
|
+
* Selects the set documents.
|
|
680
|
+
* @returns {Observable<DocumentModel[]>} Observable that emits the documets.
|
|
681
|
+
*/
|
|
682
|
+
selectDocumets() {
|
|
683
|
+
return this.select((state) => state.documentList);
|
|
684
|
+
}
|
|
685
|
+
getSelectedDocument() {
|
|
686
|
+
return this.select((state) => state['selectedDocument']);
|
|
687
|
+
}
|
|
670
688
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentQuery, deps: [{ token: DocumentStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
671
689
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentQuery, providedIn: 'root' });
|
|
672
690
|
}
|
|
@@ -1266,6 +1284,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
1266
1284
|
}]
|
|
1267
1285
|
}] });
|
|
1268
1286
|
|
|
1287
|
+
/**
|
|
1288
|
+
* Description placeholder
|
|
1289
|
+
* @class LinkedDocumentComponent
|
|
1290
|
+
* @typedef {LinkedDocumentComponent}
|
|
1291
|
+
* @implements {OnChanges}
|
|
1292
|
+
*/
|
|
1293
|
+
class LinkedDocumentComponent {
|
|
1294
|
+
/**
|
|
1295
|
+
* Selected document for view.
|
|
1296
|
+
* @type {?DocumentModel}
|
|
1297
|
+
*/
|
|
1298
|
+
selectedDocument;
|
|
1299
|
+
/**
|
|
1300
|
+
* Whole document list.
|
|
1301
|
+
* @type {?DocumentModel[]}
|
|
1302
|
+
*/
|
|
1303
|
+
documentList;
|
|
1304
|
+
/**
|
|
1305
|
+
* Changed selected document.
|
|
1306
|
+
* @type {*}
|
|
1307
|
+
*/
|
|
1308
|
+
selectedDocumentChange = new EventEmitter();
|
|
1309
|
+
/**
|
|
1310
|
+
* Filtered documents.
|
|
1311
|
+
* @type {DocumentModel[]}
|
|
1312
|
+
*/
|
|
1313
|
+
filteredDocuments = [];
|
|
1314
|
+
/**
|
|
1315
|
+
* Handle the click on the document.
|
|
1316
|
+
* @param {DocumentModel} document - Clicked document.
|
|
1317
|
+
*/
|
|
1318
|
+
handleDocumentClick(document) {
|
|
1319
|
+
this.selectedDocument = document;
|
|
1320
|
+
this.selectedDocumentChange.emit(this.selectedDocument);
|
|
1321
|
+
}
|
|
1322
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: LinkedDocumentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1323
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: LinkedDocumentComponent, isStandalone: false, selector: "app-linked-document", inputs: { selectedDocument: "selectedDocument", documentList: "documentList" }, outputs: { selectedDocumentChange: "selectedDocumentChange" }, ngImport: i0, template: "<div class=\"summary-card mb-4 pb-1\">\r\n <div class=\"card p-0 mb-0\"\r\n style=\"border-bottom: 1px solid;border-color: rgba(68, 72, 109, 0.2); border-bottom-right-radius: 0px;border-bottom-left-radius: 0px; background-color: #F9fafb;\">\r\n <div class=\"p-0\">\r\n <h4 class=\"m-0 pt-3 pl-3 mb-3\" style=\"font-size: 21px; font-weight: bold; \">Linked Documents</h4>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\" style=\"border-top-right-radius: 0px;border-top-left-radius: 0px;\">\r\n @for(document of documentList; track document){\r\n <div class=\"linkedDocument documentName m-2\">\r\n <div class=\"documentName\" [class.selected]=\"document._id === selectedDocument?._id\"\r\n (click)=\"handleDocumentClick(document)\">\r\n <span class=\"pi pi-link\"></span>\r\n {{document.fileName}}\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n \r\n \r\n </div>\r\n ", styles: [".documentName{font-family:inherit;text-decoration:underline;cursor:pointer;width:max-content}.selected{color:var(--primary-color)}\n"] });
|
|
1324
|
+
}
|
|
1325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: LinkedDocumentComponent, decorators: [{
|
|
1326
|
+
type: Component,
|
|
1327
|
+
args: [{ selector: 'app-linked-document', standalone: false, template: "<div class=\"summary-card mb-4 pb-1\">\r\n <div class=\"card p-0 mb-0\"\r\n style=\"border-bottom: 1px solid;border-color: rgba(68, 72, 109, 0.2); border-bottom-right-radius: 0px;border-bottom-left-radius: 0px; background-color: #F9fafb;\">\r\n <div class=\"p-0\">\r\n <h4 class=\"m-0 pt-3 pl-3 mb-3\" style=\"font-size: 21px; font-weight: bold; \">Linked Documents</h4>\r\n </div>\r\n </div>\r\n <div class=\"card mb-0\" style=\"border-top-right-radius: 0px;border-top-left-radius: 0px;\">\r\n @for(document of documentList; track document){\r\n <div class=\"linkedDocument documentName m-2\">\r\n <div class=\"documentName\" [class.selected]=\"document._id === selectedDocument?._id\"\r\n (click)=\"handleDocumentClick(document)\">\r\n <span class=\"pi pi-link\"></span>\r\n {{document.fileName}}\r\n </div>\r\n </div>\r\n }\r\n\r\n </div>\r\n \r\n \r\n </div>\r\n ", styles: [".documentName{font-family:inherit;text-decoration:underline;cursor:pointer;width:max-content}.selected{color:var(--primary-color)}\n"] }]
|
|
1328
|
+
}], propDecorators: { selectedDocument: [{
|
|
1329
|
+
type: Input
|
|
1330
|
+
}], documentList: [{
|
|
1331
|
+
type: Input
|
|
1332
|
+
}], selectedDocumentChange: [{
|
|
1333
|
+
type: Output
|
|
1334
|
+
}] } });
|
|
1335
|
+
|
|
1269
1336
|
/**
|
|
1270
1337
|
* Component for viewing and managing document details.
|
|
1271
1338
|
* @class DocumentViewerComponent
|
|
@@ -1279,6 +1346,11 @@ class DocumentViewerComponent {
|
|
|
1279
1346
|
* @type {*}
|
|
1280
1347
|
*/
|
|
1281
1348
|
selectedDocument; // <-- Made optional to prevent undefined issues
|
|
1349
|
+
/**
|
|
1350
|
+
* Get the selected document by user.
|
|
1351
|
+
* @type {*}
|
|
1352
|
+
*/
|
|
1353
|
+
documentList; // <-- Made optional to prevent undefined issues
|
|
1282
1354
|
/**
|
|
1283
1355
|
* Indicates whether a checkbox is selected.
|
|
1284
1356
|
* @type {boolean}
|
|
@@ -1307,6 +1379,8 @@ class DocumentViewerComponent {
|
|
|
1307
1379
|
subscription = new Subscription();
|
|
1308
1380
|
/**
|
|
1309
1381
|
* Initializes a new instance of the DocumentViewerComponent.
|
|
1382
|
+
* @param {DocumentHttpService} documentHttpService - Handle the http service.
|
|
1383
|
+
* @param {DocumentService} documentService - Handle the states.
|
|
1310
1384
|
*/
|
|
1311
1385
|
constructor(documentHttpService, documentService) {
|
|
1312
1386
|
this.documentHttpService = documentHttpService;
|
|
@@ -1322,6 +1396,10 @@ class DocumentViewerComponent {
|
|
|
1322
1396
|
this.alertData = DocumentAlertList.find((res) => res.status === this.selectedDocument?.status);
|
|
1323
1397
|
}
|
|
1324
1398
|
}
|
|
1399
|
+
handleSelectedDocument(document) {
|
|
1400
|
+
this.selectedDocument = document;
|
|
1401
|
+
this.documentService.set(this.selectedDocument);
|
|
1402
|
+
}
|
|
1325
1403
|
/**
|
|
1326
1404
|
* Determines if the given content type is an image.
|
|
1327
1405
|
* @param {string | undefined} contentType - The MIME type of the content.
|
|
@@ -1334,13 +1412,15 @@ class DocumentViewerComponent {
|
|
|
1334
1412
|
this.subscription.unsubscribe();
|
|
1335
1413
|
}
|
|
1336
1414
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentViewerComponent, deps: [{ token: DocumentHttpService }, { token: DocumentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1337
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { selectedDocument: "selectedDocument" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 md:flex justify-content-evenly\">\r\n @if(selectedDocument){\r\n <div id=\"outerContainer col-12 md:col-7\">\r\n <div\r\n *ngIf=\"isImage(selectedDocument?.contentType)\"\r\n class=\"img-container\"\r\n >\r\n <img\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n class=\"uploadedImages\"\r\n alt=\"Document Image\"\r\n />\r\n </div>\r\n @if(selectedDocument?.contentType && selectedDocument?.contentType === \"application/pdf\"){\r\n <div class=\"pdf-container\">\r\n <pdf-viewer\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n [rotation]=\"0\"\r\n [original-size]=\"false\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"false\"\r\n [zoom]=\"1\"\r\n [zoom-scale]=\"'page-width'\"\r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n style=\"width: 50vw; height: 75vh\"\r\n ></pdf-viewer>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"left-part col-12 md:col-3
|
|
1415
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentViewerComponent, isStandalone: false, selector: "document-viewer", inputs: { selectedDocument: "selectedDocument", documentList: "documentList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 md:flex justify-content-evenly\">\r\n @if(selectedDocument){\r\n <div id=\"outerContainer col-12 md:col-7\">\r\n <div\r\n *ngIf=\"isImage(selectedDocument?.contentType)\"\r\n class=\"img-container\"\r\n >\r\n <img\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n class=\"uploadedImages\"\r\n alt=\"Document Image\"\r\n />\r\n </div>\r\n @if(selectedDocument?.contentType && selectedDocument?.contentType === \"application/pdf\"){\r\n <div class=\"pdf-container\">\r\n <pdf-viewer\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n [rotation]=\"0\"\r\n [original-size]=\"false\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"false\"\r\n [zoom]=\"1\"\r\n [zoom-scale]=\"'page-width'\"\r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n style=\"width: 50vw; height: 75vh\"\r\n ></pdf-viewer>\r\n </div>\r\n }@else{\r\n <div class=\"incorrect-docType\">\r\n ContentType is incorrect.\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"left-part col-12 md:col-3 p-0\">\r\n <div class=\"alerts mb-4 pb-1\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"\r\n (alertData?.status !== 'Pending' && !!alertData?.status) ||\r\n alertData?.isAlert === false\r\n \"\r\n class=\"bg-green-500 border-none border-round-md flex align-items-center mb-3 p-2 px-3\"\r\n >\r\n <i\r\n class=\"pi pi-verified mr-2 cursor-pointer\"\r\n [ngStyle]=\"{\r\n color:\r\n alertData?.status === 'Pending' &&\r\n alertData?.isAlert !== false\r\n ? '#FFFFFF'\r\n : '#8A8EA6'\r\n }\"\r\n style=\"font-size: 20px\"\r\n ></i>\r\n <span class=\"font-semibold text-white\">Verified</span>\r\n </button>\r\n <div\r\n class=\"card mb-0\"\r\n [ngClass]=\"\r\n (alertData?.status === 'Pending' || !alertData?.status) &&\r\n alertData?.isAlert !== false\r\n ? 'alert-card'\r\n : 'success-alert'\r\n \"\r\n >\r\n <div class=\"flex align-items-center mb-2 pb-1\" *ngIf=\"alertData?.status !== 'Verified'\">\r\n <h4 class=\"mr-3 mt-0 mb-0 text-color font-bold\" style=\"font-size: 21px; font-weight: bold; border-color: rgba(68, 72, 109, 0.2) ;\" >Alerts</h4>\r\n <i\r\n class=\"pi pi-exclamation-triangle\"\r\n style=\"font-size: 20px\"\r\n [ngStyle]=\"{\r\n color:\r\n (alertData?.status === 'Pending' || !alertData?.status) &&\r\n alertData?.isAlert !== false\r\n ? '#FB392D'\r\n : '#8A8EA6'\r\n }\"\r\n ></i>\r\n </div>\r\n <p class=\"text-color mb-0\">{{ alertData?.alertMessage }}</p>\r\n </div>\r\n </div>\r\n <ng-content select=\"[action-launcher]\"></ng-content>\r\n <ng-content></ng-content>\r\n <app-linked-document (selectedDocumentChange)=\"handleSelectedDocument($event)\" [selectedDocument]=\"selectedDocument\" [documentList]=\"documentList\"></app-linked-document>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".alert-card{background-color:#fb392d1a}.success-alert{border-radius:10px;border:1px solid rgba(251,57,45,.1);background:linear-gradient(0deg,#dedede 0% 100%),#fff}.p-timeline-event-opposite{display:none}.decription{color:#676b89}.textAreaControl textarea{width:100%;resize:vertical;max-width:100%}.document-btn-wrapper .p-button-outlined{color:#f57c00}.document-viewer .p-dialog{width:100%;height:100%;max-height:100%!important;box-shadow:none!important}.document-viewer .p-dialog-header-close-icon{height:20px;width:20px}.document-viewer .p-dialog-header,.document-viewer .p-dialog-content{background-color:#fff;border-radius:0}.uploadedImages{width:95%;height:100%;object-fit:contain}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }, { kind: "component", type: LinkedDocumentComponent, selector: "app-linked-document", inputs: ["selectedDocument", "documentList"], outputs: ["selectedDocumentChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1338
1416
|
}
|
|
1339
1417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentViewerComponent, decorators: [{
|
|
1340
1418
|
type: Component,
|
|
1341
|
-
args: [{ selector: 'document-viewer', standalone: false, encapsulation: ViewEncapsulation.None, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 md:flex justify-content-evenly\">\r\n @if(selectedDocument){\r\n <div id=\"outerContainer col-12 md:col-7\">\r\n <div\r\n *ngIf=\"isImage(selectedDocument?.contentType)\"\r\n class=\"img-container\"\r\n >\r\n <img\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n class=\"uploadedImages\"\r\n alt=\"Document Image\"\r\n />\r\n </div>\r\n @if(selectedDocument?.contentType && selectedDocument?.contentType === \"application/pdf\"){\r\n <div class=\"pdf-container\">\r\n <pdf-viewer\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n [rotation]=\"0\"\r\n [original-size]=\"false\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"false\"\r\n [zoom]=\"1\"\r\n [zoom-scale]=\"'page-width'\"\r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n style=\"width: 50vw; height: 75vh\"\r\n ></pdf-viewer>\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"left-part col-12 md:col-3
|
|
1419
|
+
args: [{ selector: 'document-viewer', standalone: false, encapsulation: ViewEncapsulation.None, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid m-0\">\r\n <div class=\"col-12 md:col-12 md:flex justify-content-evenly\">\r\n @if(selectedDocument){\r\n <div id=\"outerContainer col-12 md:col-7\">\r\n <div\r\n *ngIf=\"isImage(selectedDocument?.contentType)\"\r\n class=\"img-container\"\r\n >\r\n <img\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n class=\"uploadedImages\"\r\n alt=\"Document Image\"\r\n />\r\n </div>\r\n @if(selectedDocument?.contentType && selectedDocument?.contentType === \"application/pdf\"){\r\n <div class=\"pdf-container\">\r\n <pdf-viewer\r\n [src]=\"selectedDocument?.documentUrl || ''\"\r\n [rotation]=\"0\"\r\n [original-size]=\"false\"\r\n [show-all]=\"true\"\r\n [fit-to-page]=\"false\"\r\n [zoom]=\"1\"\r\n [zoom-scale]=\"'page-width'\"\r\n [stick-to-page]=\"false\"\r\n [render-text]=\"true\"\r\n [external-link-target]=\"'blank'\"\r\n [autoresize]=\"true\"\r\n [show-borders]=\"false\"\r\n style=\"width: 50vw; height: 75vh\"\r\n ></pdf-viewer>\r\n </div>\r\n }@else{\r\n <div class=\"incorrect-docType\">\r\n ContentType is incorrect.\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"left-part col-12 md:col-3 p-0\">\r\n <div class=\"alerts mb-4 pb-1\">\r\n <button\r\n type=\"button\"\r\n *ngIf=\"\r\n (alertData?.status !== 'Pending' && !!alertData?.status) ||\r\n alertData?.isAlert === false\r\n \"\r\n class=\"bg-green-500 border-none border-round-md flex align-items-center mb-3 p-2 px-3\"\r\n >\r\n <i\r\n class=\"pi pi-verified mr-2 cursor-pointer\"\r\n [ngStyle]=\"{\r\n color:\r\n alertData?.status === 'Pending' &&\r\n alertData?.isAlert !== false\r\n ? '#FFFFFF'\r\n : '#8A8EA6'\r\n }\"\r\n style=\"font-size: 20px\"\r\n ></i>\r\n <span class=\"font-semibold text-white\">Verified</span>\r\n </button>\r\n <div\r\n class=\"card mb-0\"\r\n [ngClass]=\"\r\n (alertData?.status === 'Pending' || !alertData?.status) &&\r\n alertData?.isAlert !== false\r\n ? 'alert-card'\r\n : 'success-alert'\r\n \"\r\n >\r\n <div class=\"flex align-items-center mb-2 pb-1\" *ngIf=\"alertData?.status !== 'Verified'\">\r\n <h4 class=\"mr-3 mt-0 mb-0 text-color font-bold\" style=\"font-size: 21px; font-weight: bold; border-color: rgba(68, 72, 109, 0.2) ;\" >Alerts</h4>\r\n <i\r\n class=\"pi pi-exclamation-triangle\"\r\n style=\"font-size: 20px\"\r\n [ngStyle]=\"{\r\n color:\r\n (alertData?.status === 'Pending' || !alertData?.status) &&\r\n alertData?.isAlert !== false\r\n ? '#FB392D'\r\n : '#8A8EA6'\r\n }\"\r\n ></i>\r\n </div>\r\n <p class=\"text-color mb-0\">{{ alertData?.alertMessage }}</p>\r\n </div>\r\n </div>\r\n <ng-content select=\"[action-launcher]\"></ng-content>\r\n <ng-content></ng-content>\r\n <app-linked-document (selectedDocumentChange)=\"handleSelectedDocument($event)\" [selectedDocument]=\"selectedDocument\" [documentList]=\"documentList\"></app-linked-document>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".alert-card{background-color:#fb392d1a}.success-alert{border-radius:10px;border:1px solid rgba(251,57,45,.1);background:linear-gradient(0deg,#dedede 0% 100%),#fff}.p-timeline-event-opposite{display:none}.decription{color:#676b89}.textAreaControl textarea{width:100%;resize:vertical;max-width:100%}.document-btn-wrapper .p-button-outlined{color:#f57c00}.document-viewer .p-dialog{width:100%;height:100%;max-height:100%!important;box-shadow:none!important}.document-viewer .p-dialog-header-close-icon{height:20px;width:20px}.document-viewer .p-dialog-header,.document-viewer .p-dialog-content{background-color:#fff;border-radius:0}.uploadedImages{width:95%;height:100%;object-fit:contain}\n"] }]
|
|
1342
1420
|
}], ctorParameters: () => [{ type: DocumentHttpService }, { type: DocumentService }], propDecorators: { selectedDocument: [{
|
|
1343
1421
|
type: Input
|
|
1422
|
+
}], documentList: [{
|
|
1423
|
+
type: Input
|
|
1344
1424
|
}] } });
|
|
1345
1425
|
|
|
1346
1426
|
/**
|
|
@@ -1607,6 +1687,7 @@ class DocumentListComponent {
|
|
|
1607
1687
|
this.isdialogVisible = SHARED.TRUE;
|
|
1608
1688
|
this.selectedDocument = document;
|
|
1609
1689
|
this.fileName = document.fileName;
|
|
1690
|
+
this.documentStore.setSelectedDocument(document);
|
|
1610
1691
|
}
|
|
1611
1692
|
/**
|
|
1612
1693
|
* Handles the save click event to update the document's file name.
|
|
@@ -1628,6 +1709,7 @@ class DocumentListComponent {
|
|
|
1628
1709
|
*/
|
|
1629
1710
|
handleCloseModal() {
|
|
1630
1711
|
this.selectedDocument = { _id: SHARED.EMPTY };
|
|
1712
|
+
this.documentStore.setSelectedDocument(SHARED.EMPTY);
|
|
1631
1713
|
this.isdialogVisible = SHARED.FALSE;
|
|
1632
1714
|
this.onRefresh.emit();
|
|
1633
1715
|
}
|
|
@@ -1692,11 +1774,11 @@ class DocumentListComponent {
|
|
|
1692
1774
|
this.isSidebarVisible = isVisible;
|
|
1693
1775
|
}
|
|
1694
1776
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentListComponent, deps: [{ token: DocumentUploadService }, { token: DocumentHttpService }, { token: DocumentQuery }, { token: DocumentStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
1695
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentListComponent, isStandalone: false, selector: "lib-document-list", inputs: { contextId: "contextId", isUploadButtonVisible: "isUploadButtonVisible", documentList: "documentList" }, outputs: { onRefresh: "onRefresh" }, ngImport: i0, template: "\r\n<div class=\"document-viewer\">\r\n <p-dialog [(visible)]=\"isdialogVisible\" [modal]=\"true\" (onHide)=\"handleCloseModal()\"\r\n class=\"w-full h-full document-dailog-wrapper\"\r\n [draggable]=\"false\" [closable]=\"true\">\r\n\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"w-full flex align-items-center justify-content-between\">\r\n <input \r\n type=\"text\" \r\n class=\"w-full border-none bg-white h-3rem file-input-wrapper\"\r\n pInputText \r\n [(ngModel)]=\"fileName\" />\r\n <button \r\n pButton \r\n pRipple \r\n class=\"mx-3 w-6rem save-btn-wrapper\"\r\n label=\"Save\"\r\n (click)=\"handleSaveClick()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n
|
|
1777
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentListComponent, isStandalone: false, selector: "lib-document-list", inputs: { contextId: "contextId", isUploadButtonVisible: "isUploadButtonVisible", documentList: "documentList" }, outputs: { onRefresh: "onRefresh" }, ngImport: i0, template: "\r\n<div class=\"document-viewer\">\r\n <p-dialog [(visible)]=\"isdialogVisible\" [modal]=\"true\" (onHide)=\"handleCloseModal()\"\r\n class=\"w-full h-full document-dailog-wrapper\"\r\n [draggable]=\"false\" [closable]=\"true\">\r\n <document-viewer [selectedDocument]=\"selectedDocument\" [documentList]=\"documentList\">\r\n\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"w-full flex align-items-center justify-content-between\">\r\n <input \r\n type=\"text\" \r\n class=\"w-full border-none bg-white h-3rem file-input-wrapper\"\r\n pInputText \r\n [(ngModel)]=\"fileName\" />\r\n <button \r\n pButton \r\n pRipple \r\n class=\"mx-3 w-6rem save-btn-wrapper\"\r\n label=\"Save\"\r\n (click)=\"handleSaveClick()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n <ng-content></ng-content>\r\n </document-viewer>\r\n </p-dialog>\r\n</div>\r\n\r\n<div class=\"col-12 p-0\">\r\n <div class=\"card p-0 mb-0 document-list-wrapper\">\r\n <p-accordion>\r\n <p-accordionTab [selected]=\"true\" class=\"line-height-2 m-0\">\r\n <ng-template pTemplate=\"header\" let-active=\"active\">\r\n <div class=\"flex align-items-center justify-content-between w-full\">\r\n <span class=\"flex align-items-center gap-2 document-title-wrapper\">\r\n Documents\r\n </span>\r\n @if(isUploadButtonVisible){\r\n <button pButton pRipple class=\"p-button-raised col-3\" [permission]=\"PERMISSION.DOCUMENT_POST\" type=\"button\" label=\"Upload File\"\r\n style=\"border-radius: 10px;\" (click)=\"handleFileUploadClick($event)\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n @for(document of documentList; track document){\r\n <lib-document-list-item [document]=\"document\"\r\n (documentClick)=\"handleClickForDocument($event)\"></lib-document-list-item>\r\n }\r\n </p-accordionTab>\r\n </p-accordion>\r\n </div>\r\n</div>\r\n<div class=\"grid m-0\">\r\n <div class=\"col-12 p-0\">\r\n <p-sidebar [(visible)]=\"isSidebarVisible\" position=\"right\" [styleClass]=\"'right-sidebar'\" class=\"relative\">\r\n <ng-template pTemplate=\"header\">\r\n <p-messages [(value)]=\"messages\" [enableService]=\"false\" />\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"side-bar-con\">\r\n <lib-document-upload [contextId]=\"contextId\"></lib-document-upload>\r\n <div class=\"p-fluid\">\r\n <div class=\"field\">\r\n <label for=\"city\">Select Folder</label>\r\n <p-dropdown id=\"city\" optionLabel=\"label\" optionValue=\"value\" [options]=\"options\"\r\n placeholder=\"Select a Folder\" [(ngModel)]=\"selectedOption\"></p-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"footer\" class=\"bg-gray-100 p-0\">\r\n <div class=\"bg-gray-100 p-4\">\r\n <p-button label=\"Save\" class=\"p-button-rounded p-button-success save-btn\" (click)=\"handleUploadDocument()\"\r\n [disabled]=\"!selectedOption\">\r\n </p-button>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n </div>\r\n</div>", styles: [".document-list-wrapper .p-accordion-header-link{padding:.5rem}.document-list-wrapper .p-sidebar-right,.right-sidebar{width:35%}.document-title-wrapper{font-size:20px;font-weight:700;color:var(--text-color)}.document-input-field{display:flex;flex-direction:column}.document-input-field input{width:100%;height:46px;padding:10px 15px;gap:10px;border-radius:10px;outline:none;border:1px solid rgba(76,98,146,.1019607843);font-size:15px}label{color:#0f1729;font-weight:600}.document-list-dropDown .p-element{padding:10px 0 10px 15px}.document-list-dropDown .p-dropdown{border-radius:10px!important}.side-bar-con{display:flex;flex-direction:column}.save-btn-con{width:100%;border-top:1px solid rgba(76,98,146,.2);background:#4c629214;padding:13px 40px}.save-btn-wrapper{padding:10px 4px}.save-btn .p-button{height:45px!important;width:140px;border-radius:10px}.p-sidebar-footer{padding:0}.file-input-wrapper.p-inputtext:enabled:focus{box-shadow:0 0 0 .2rem #a6d5fa!important}\n"], dependencies: [{ kind: "component", type: i5$1.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i5$1.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i9.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i12.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i13.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: DocumentListItemComponent, selector: "lib-document-list-item", inputs: ["document"], outputs: ["documentClick"] }, { kind: "component", type: DocumentUploadComponent, selector: "lib-document-upload", inputs: ["contextId"] }, { kind: "component", type: DocumentViewerComponent, selector: "document-viewer", inputs: ["selectedDocument", "documentList"] }, { kind: "directive", type: HasPermissionDirective, selector: "[permission]", inputs: ["permission"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1696
1778
|
}
|
|
1697
1779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentListComponent, decorators: [{
|
|
1698
1780
|
type: Component,
|
|
1699
|
-
args: [{ selector: 'lib-document-list', standalone: false, encapsulation: ViewEncapsulation.None, template: "\r\n<div class=\"document-viewer\">\r\n <p-dialog [(visible)]=\"isdialogVisible\" [modal]=\"true\" (onHide)=\"handleCloseModal()\"\r\n class=\"w-full h-full document-dailog-wrapper\"\r\n [draggable]=\"false\" [closable]=\"true\">\r\n\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"w-full flex align-items-center justify-content-between\">\r\n <input \r\n type=\"text\" \r\n class=\"w-full border-none bg-white h-3rem file-input-wrapper\"\r\n pInputText \r\n [(ngModel)]=\"fileName\" />\r\n <button \r\n pButton \r\n pRipple \r\n class=\"mx-3 w-6rem save-btn-wrapper\"\r\n label=\"Save\"\r\n (click)=\"handleSaveClick()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n
|
|
1781
|
+
args: [{ selector: 'lib-document-list', standalone: false, encapsulation: ViewEncapsulation.None, template: "\r\n<div class=\"document-viewer\">\r\n <p-dialog [(visible)]=\"isdialogVisible\" [modal]=\"true\" (onHide)=\"handleCloseModal()\"\r\n class=\"w-full h-full document-dailog-wrapper\"\r\n [draggable]=\"false\" [closable]=\"true\">\r\n <document-viewer [selectedDocument]=\"selectedDocument\" [documentList]=\"documentList\">\r\n\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"w-full flex align-items-center justify-content-between\">\r\n <input \r\n type=\"text\" \r\n class=\"w-full border-none bg-white h-3rem file-input-wrapper\"\r\n pInputText \r\n [(ngModel)]=\"fileName\" />\r\n <button \r\n pButton \r\n pRipple \r\n class=\"mx-3 w-6rem save-btn-wrapper\"\r\n label=\"Save\"\r\n (click)=\"handleSaveClick()\">\r\n </button>\r\n </div>\r\n </ng-template>\r\n\r\n\r\n <ng-content></ng-content>\r\n </document-viewer>\r\n </p-dialog>\r\n</div>\r\n\r\n<div class=\"col-12 p-0\">\r\n <div class=\"card p-0 mb-0 document-list-wrapper\">\r\n <p-accordion>\r\n <p-accordionTab [selected]=\"true\" class=\"line-height-2 m-0\">\r\n <ng-template pTemplate=\"header\" let-active=\"active\">\r\n <div class=\"flex align-items-center justify-content-between w-full\">\r\n <span class=\"flex align-items-center gap-2 document-title-wrapper\">\r\n Documents\r\n </span>\r\n @if(isUploadButtonVisible){\r\n <button pButton pRipple class=\"p-button-raised col-3\" [permission]=\"PERMISSION.DOCUMENT_POST\" type=\"button\" label=\"Upload File\"\r\n style=\"border-radius: 10px;\" (click)=\"handleFileUploadClick($event)\"></button>\r\n }\r\n </div>\r\n </ng-template>\r\n @for(document of documentList; track document){\r\n <lib-document-list-item [document]=\"document\"\r\n (documentClick)=\"handleClickForDocument($event)\"></lib-document-list-item>\r\n }\r\n </p-accordionTab>\r\n </p-accordion>\r\n </div>\r\n</div>\r\n<div class=\"grid m-0\">\r\n <div class=\"col-12 p-0\">\r\n <p-sidebar [(visible)]=\"isSidebarVisible\" position=\"right\" [styleClass]=\"'right-sidebar'\" class=\"relative\">\r\n <ng-template pTemplate=\"header\">\r\n <p-messages [(value)]=\"messages\" [enableService]=\"false\" />\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"side-bar-con\">\r\n <lib-document-upload [contextId]=\"contextId\"></lib-document-upload>\r\n <div class=\"p-fluid\">\r\n <div class=\"field\">\r\n <label for=\"city\">Select Folder</label>\r\n <p-dropdown id=\"city\" optionLabel=\"label\" optionValue=\"value\" [options]=\"options\"\r\n placeholder=\"Select a Folder\" [(ngModel)]=\"selectedOption\"></p-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"footer\" class=\"bg-gray-100 p-0\">\r\n <div class=\"bg-gray-100 p-4\">\r\n <p-button label=\"Save\" class=\"p-button-rounded p-button-success save-btn\" (click)=\"handleUploadDocument()\"\r\n [disabled]=\"!selectedOption\">\r\n </p-button>\r\n </div>\r\n </ng-template>\r\n </p-sidebar>\r\n </div>\r\n</div>", styles: [".document-list-wrapper .p-accordion-header-link{padding:.5rem}.document-list-wrapper .p-sidebar-right,.right-sidebar{width:35%}.document-title-wrapper{font-size:20px;font-weight:700;color:var(--text-color)}.document-input-field{display:flex;flex-direction:column}.document-input-field input{width:100%;height:46px;padding:10px 15px;gap:10px;border-radius:10px;outline:none;border:1px solid rgba(76,98,146,.1019607843);font-size:15px}label{color:#0f1729;font-weight:600}.document-list-dropDown .p-element{padding:10px 0 10px 15px}.document-list-dropDown .p-dropdown{border-radius:10px!important}.side-bar-con{display:flex;flex-direction:column}.save-btn-con{width:100%;border-top:1px solid rgba(76,98,146,.2);background:#4c629214;padding:13px 40px}.save-btn-wrapper{padding:10px 4px}.save-btn .p-button{height:45px!important;width:140px;border-radius:10px}.p-sidebar-footer{padding:0}.file-input-wrapper.p-inputtext:enabled:focus{box-shadow:0 0 0 .2rem #a6d5fa!important}\n"] }]
|
|
1700
1782
|
}], ctorParameters: () => [{ type: DocumentUploadService }, { type: DocumentHttpService }, { type: DocumentQuery }, { type: DocumentStore }], propDecorators: { onRefresh: [{
|
|
1701
1783
|
type: Output
|
|
1702
1784
|
}], contextId: [{
|
|
@@ -1713,16 +1795,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
1713
1795
|
* @typedef {DocumentContainerComponent}
|
|
1714
1796
|
*/
|
|
1715
1797
|
class DocumentContainerComponent {
|
|
1798
|
+
documentStore;
|
|
1716
1799
|
documentService;
|
|
1717
1800
|
documentQuery;
|
|
1718
1801
|
documentHttpService;
|
|
1719
1802
|
/**
|
|
1720
1803
|
* Creates an instance of DocumentContainerComponent.
|
|
1804
|
+
* @param {DocumentStore} documentStore - Query Store service to manage store document-related state.
|
|
1721
1805
|
* @param {DocumentService} documentService - Service to manage document-related operations.
|
|
1722
1806
|
* @param {DocumentQuery} documentQuery - Query service to manage document-related state.
|
|
1723
1807
|
* @param {DocumentHttpService} documentHttpService - Service to make HTTP requests related to documents.
|
|
1724
1808
|
*/
|
|
1725
|
-
constructor(documentService, documentQuery, documentHttpService) {
|
|
1809
|
+
constructor(documentStore, documentService, documentQuery, documentHttpService) {
|
|
1810
|
+
this.documentStore = documentStore;
|
|
1726
1811
|
this.documentService = documentService;
|
|
1727
1812
|
this.documentQuery = documentQuery;
|
|
1728
1813
|
this.documentHttpService = documentHttpService;
|
|
@@ -1742,6 +1827,7 @@ class DocumentContainerComponent {
|
|
|
1742
1827
|
* @type {boolean}
|
|
1743
1828
|
*/
|
|
1744
1829
|
isUploadButtonVisible = SHARED.TRUE;
|
|
1830
|
+
selectedDocument = new EventEmitter();
|
|
1745
1831
|
/**
|
|
1746
1832
|
* The list of documents.
|
|
1747
1833
|
* @type {Array}
|
|
@@ -1777,15 +1863,21 @@ class DocumentContainerComponent {
|
|
|
1777
1863
|
}
|
|
1778
1864
|
});
|
|
1779
1865
|
this.subscription.add(folderSubscription);
|
|
1866
|
+
this.documentQuery.getSelectedDocument()
|
|
1867
|
+
.subscribe((res) => {
|
|
1868
|
+
if (res) {
|
|
1869
|
+
this.selectedDocument.emit(res);
|
|
1870
|
+
}
|
|
1871
|
+
});
|
|
1780
1872
|
}
|
|
1781
1873
|
/**
|
|
1782
1874
|
* Fetches the folder data from the API.
|
|
1783
1875
|
* @returns {void}
|
|
1784
1876
|
*/
|
|
1785
1877
|
/**
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1878
|
+
* Fetches the folder data from the API.
|
|
1879
|
+
* @returns {void}
|
|
1880
|
+
*/
|
|
1789
1881
|
fetchFolder() {
|
|
1790
1882
|
const folderSubscription = this.documentHttpService.getFoldersData(this.contextId).subscribe({
|
|
1791
1883
|
/**
|
|
@@ -1830,6 +1922,7 @@ class DocumentContainerComponent {
|
|
|
1830
1922
|
next: (documentList) => {
|
|
1831
1923
|
if (documentList) {
|
|
1832
1924
|
this.documentList = documentList;
|
|
1925
|
+
this.documentStore.setDocumentList(documentList);
|
|
1833
1926
|
}
|
|
1834
1927
|
else {
|
|
1835
1928
|
console.error(ERRORS.ERROR_FETCHING_DOCUMENTS);
|
|
@@ -1851,18 +1944,20 @@ class DocumentContainerComponent {
|
|
|
1851
1944
|
ngOnDestroy() {
|
|
1852
1945
|
this.subscription.unsubscribe();
|
|
1853
1946
|
}
|
|
1854
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentContainerComponent, deps: [{ token: DocumentService$1 }, { token: DocumentQuery }, { token: DocumentHttpService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1855
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentContainerComponent, isStandalone: false, selector: "lib-document-container", inputs: { contextId: "contextId", showFolderList: "showFolderList", isUploadButtonVisible: "isUploadButtonVisible" }, ngImport: i0, template: "<div class=\"grid m-0 h-full\">\r\n <div class=\"col-12 md:col-12 lg:col-12 p-0 h-full\" [ngClass]=\"showFolderList ? 'custom-scroll' : ''\">\r\n @if(showFolderList){\r\n <div>\r\n <lib-folder-container [documentList]=\"documentList\" [folderList]=\"folderList\" [contextId]=\"contextId\"></lib-folder-container>\r\n </div>\r\n }\r\n <div [ngClass]=\"showFolderList ? 'mt-3' : ''\">\r\n <lib-document-list [documentList]=\"documentList\" [contextId]=\"contextId\" [isUploadButtonVisible]=\"isUploadButtonVisible\" (onRefresh)=\"fetchFolder()\">\r\n <ng-content></ng-content>\r\n </lib-document-list>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FolderContainerComponent, selector: "lib-folder-container", inputs: ["documentList", "folderList", "contextId"] }, { kind: "component", type: DocumentListComponent, selector: "lib-document-list", inputs: ["contextId", "isUploadButtonVisible", "documentList"], outputs: ["onRefresh"] }] });
|
|
1947
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentContainerComponent, deps: [{ token: DocumentStore }, { token: DocumentService$1 }, { token: DocumentQuery }, { token: DocumentHttpService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1948
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: DocumentContainerComponent, isStandalone: false, selector: "lib-document-container", inputs: { contextId: "contextId", showFolderList: "showFolderList", isUploadButtonVisible: "isUploadButtonVisible" }, outputs: { selectedDocument: "selectedDocument" }, ngImport: i0, template: "<div class=\"grid m-0 h-full\">\r\n <div class=\"col-12 md:col-12 lg:col-12 p-0 h-full\" [ngClass]=\"showFolderList ? 'custom-scroll' : ''\">\r\n @if(showFolderList){\r\n <div>\r\n <lib-folder-container [documentList]=\"documentList\" [folderList]=\"folderList\" [contextId]=\"contextId\"></lib-folder-container>\r\n </div>\r\n }\r\n <div [ngClass]=\"showFolderList ? 'mt-3' : ''\">\r\n <lib-document-list [documentList]=\"documentList\" [contextId]=\"contextId\" [isUploadButtonVisible]=\"isUploadButtonVisible\" (onRefresh)=\"fetchFolder()\">\r\n <ng-content></ng-content>\r\n </lib-document-list>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FolderContainerComponent, selector: "lib-folder-container", inputs: ["documentList", "folderList", "contextId"] }, { kind: "component", type: DocumentListComponent, selector: "lib-document-list", inputs: ["contextId", "isUploadButtonVisible", "documentList"], outputs: ["onRefresh"] }] });
|
|
1856
1949
|
}
|
|
1857
1950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: DocumentContainerComponent, decorators: [{
|
|
1858
1951
|
type: Component,
|
|
1859
1952
|
args: [{ selector: 'lib-document-container', standalone: false, template: "<div class=\"grid m-0 h-full\">\r\n <div class=\"col-12 md:col-12 lg:col-12 p-0 h-full\" [ngClass]=\"showFolderList ? 'custom-scroll' : ''\">\r\n @if(showFolderList){\r\n <div>\r\n <lib-folder-container [documentList]=\"documentList\" [folderList]=\"folderList\" [contextId]=\"contextId\"></lib-folder-container>\r\n </div>\r\n }\r\n <div [ngClass]=\"showFolderList ? 'mt-3' : ''\">\r\n <lib-document-list [documentList]=\"documentList\" [contextId]=\"contextId\" [isUploadButtonVisible]=\"isUploadButtonVisible\" (onRefresh)=\"fetchFolder()\">\r\n <ng-content></ng-content>\r\n </lib-document-list>\r\n </div>\r\n </div>\r\n</div>", styles: [".custom-scroll{overflow-y:hidden;scrollbar-gutter:stable}.custom-scroll:hover{overflow-y:auto}\n"] }]
|
|
1860
|
-
}], ctorParameters: () => [{ type: DocumentService$1 }, { type: DocumentQuery }, { type: DocumentHttpService }], propDecorators: { contextId: [{
|
|
1953
|
+
}], ctorParameters: () => [{ type: DocumentStore }, { type: DocumentService$1 }, { type: DocumentQuery }, { type: DocumentHttpService }], propDecorators: { contextId: [{
|
|
1861
1954
|
type: Input
|
|
1862
1955
|
}], showFolderList: [{
|
|
1863
1956
|
type: Input
|
|
1864
1957
|
}], isUploadButtonVisible: [{
|
|
1865
1958
|
type: Input
|
|
1959
|
+
}], selectedDocument: [{
|
|
1960
|
+
type: Output
|
|
1866
1961
|
}] } });
|
|
1867
1962
|
|
|
1868
1963
|
/**
|
|
@@ -1981,9 +2076,13 @@ class DocumentModule {
|
|
|
1981
2076
|
*/
|
|
1982
2077
|
DocumentDirective,
|
|
1983
2078
|
/**
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
HasPermissionDirective
|
|
2079
|
+
* A directive to give permission.
|
|
2080
|
+
*/
|
|
2081
|
+
HasPermissionDirective,
|
|
2082
|
+
/**
|
|
2083
|
+
* A component which have linked documents.
|
|
2084
|
+
*/
|
|
2085
|
+
LinkedDocumentComponent], imports: [
|
|
1987
2086
|
/**
|
|
1988
2087
|
* Angular's CommonModule is imported to access common directives like `ngIf` and `ngFor`.
|
|
1989
2088
|
*/
|
|
@@ -2053,8 +2152,8 @@ class DocumentModule {
|
|
|
2053
2152
|
*/
|
|
2054
2153
|
InputTextModule], exports: [
|
|
2055
2154
|
/**
|
|
2056
|
-
|
|
2057
|
-
|
|
2155
|
+
* A directive to give permission.
|
|
2156
|
+
*/
|
|
2058
2157
|
HasPermissionDirective,
|
|
2059
2158
|
/**
|
|
2060
2159
|
* Exports the `DocumentContainerComponent` to be used in other modules.
|
|
@@ -2103,7 +2202,7 @@ class DocumentModule {
|
|
|
2103
2202
|
}),
|
|
2104
2203
|
deps: [AppConfigService],
|
|
2105
2204
|
multi: true,
|
|
2106
|
-
}
|
|
2205
|
+
},
|
|
2107
2206
|
], imports: [
|
|
2108
2207
|
/**
|
|
2109
2208
|
* Angular's CommonModule is imported to access common directives like `ngIf` and `ngFor`.
|
|
@@ -2216,9 +2315,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2216
2315
|
*/
|
|
2217
2316
|
DocumentDirective,
|
|
2218
2317
|
/**
|
|
2219
|
-
|
|
2220
|
-
|
|
2318
|
+
* A directive to give permission.
|
|
2319
|
+
*/
|
|
2221
2320
|
HasPermissionDirective,
|
|
2321
|
+
/**
|
|
2322
|
+
* A component which have linked documents.
|
|
2323
|
+
*/
|
|
2324
|
+
LinkedDocumentComponent,
|
|
2222
2325
|
],
|
|
2223
2326
|
imports: [
|
|
2224
2327
|
/**
|
|
@@ -2292,8 +2395,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2292
2395
|
],
|
|
2293
2396
|
exports: [
|
|
2294
2397
|
/**
|
|
2295
|
-
|
|
2296
|
-
|
|
2398
|
+
* A directive to give permission.
|
|
2399
|
+
*/
|
|
2297
2400
|
HasPermissionDirective,
|
|
2298
2401
|
/**
|
|
2299
2402
|
* Exports the `DocumentContainerComponent` to be used in other modules.
|
|
@@ -2343,7 +2446,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2343
2446
|
}),
|
|
2344
2447
|
deps: [AppConfigService],
|
|
2345
2448
|
multi: true,
|
|
2346
|
-
}
|
|
2449
|
+
},
|
|
2347
2450
|
]
|
|
2348
2451
|
}]
|
|
2349
2452
|
}] });
|