@hmcts/ccd-case-ui-toolkit 5.0.33-angular11-upgrade → 5.0.36-prl-integration-merge-into-angular-11
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/bundles/hmcts-ccd-case-ui-toolkit.umd.js +1520 -287
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/app.config.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +23 -17
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +72 -0
- package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +134 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.js +52 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +38 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +353 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +159 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/index.js +6 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.js +2 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +100 -0
- package/esm2015/lib/shared/components/palette/case-file-view/components/shared/index.js +2 -0
- package/esm2015/lib/shared/components/palette/case-file-view/index.js +4 -0
- package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +9 -5
- package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +5 -7
- package/esm2015/lib/shared/components/palette/index.js +2 -1
- package/esm2015/lib/shared/components/palette/palette.module.js +71 -15
- package/esm2015/lib/shared/components/palette/palette.service.js +19 -1
- package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +2 -2
- package/esm2015/lib/shared/components/search-result/search-result.component.js +53 -46
- package/esm2015/lib/shared/domain/case-file-view/case-file-view-category.model.js +3 -0
- package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +3 -0
- package/esm2015/lib/shared/domain/case-file-view/categories-and-documents.model.js +7 -0
- package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.js +6 -0
- package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +93 -0
- package/esm2015/lib/shared/domain/case-file-view/index.js +6 -0
- package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
- package/esm2015/lib/shared/domain/definition/jurisdiction.model.js +1 -1
- package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
- package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +46 -0
- package/esm2015/lib/shared/services/case-file-view/index.js +2 -0
- package/esm2015/lib/shared/services/index.js +2 -1
- package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +4 -1
- package/esm2015/public-api.js +3 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +1351 -273
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/app.config.d.ts +5 -1
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +8 -0
- package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +33 -0
- package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +17 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +13 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +53 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts +28 -0
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/index.d.ts +6 -0
- package/lib/shared/components/palette/case-file-view/components/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts +6 -0
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +13 -0
- package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts +2 -0
- package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-file-view/index.d.ts +4 -0
- package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +5 -1
- package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +1 -2
- package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -1
- package/lib/shared/components/palette/index.d.ts +1 -0
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +41 -29
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.service.d.ts +2 -0
- package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts +9 -0
- package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +8 -0
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts +12 -0
- package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts +5 -0
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +14 -0
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/index.d.ts +6 -0
- package/lib/shared/domain/case-file-view/index.d.ts.map +1 -0
- package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
- package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/jurisdiction.model.d.ts.map +1 -1
- package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
- package/lib/shared/services/case-file-view/case-file-view.service.d.ts +21 -0
- package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -0
- package/lib/shared/services/case-file-view/index.d.ts +2 -0
- package/lib/shared/services/case-file-view/index.d.ts.map +1 -0
- package/lib/shared/services/index.d.ts +1 -0
- package/lib/shared/services/index.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts +2 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/public-api.d.ts.map +1 -1
- package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +0 -22
- package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +0 -12
- package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +0 -1
package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Component, ElementRef } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
import { map, switchMap, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { CaseFileViewService, DocumentManagementService, LoadingService } from '../../../services';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "../../../services";
|
|
9
|
+
function CaseFileViewFieldComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
11
|
+
i0.ɵɵelementStart(1, "h1", 3);
|
|
12
|
+
i0.ɵɵtext(2, "Sorry, there is a problem with the service");
|
|
13
|
+
i0.ɵɵelementEnd();
|
|
14
|
+
i0.ɵɵelementStart(3, "p", 4);
|
|
15
|
+
i0.ɵɵtext(4, "Try again later.");
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} }
|
|
19
|
+
function CaseFileViewFieldComponent_div_1_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementContainerStart(0);
|
|
21
|
+
i0.ɵɵelement(1, "mv-media-viewer", 11);
|
|
22
|
+
i0.ɵɵelementContainerEnd();
|
|
23
|
+
} if (rf & 2) {
|
|
24
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
25
|
+
i0.ɵɵadvance(1);
|
|
26
|
+
i0.ɵɵproperty("url", ctx_r2.currentDocument.document_binary_url)("downloadFileName", ctx_r2.currentDocument.document_filename)("showToolbar", true)("contentType", ctx_r2.currentDocument.content_type)("enableAnnotations", true)("enableRedactions", true);
|
|
27
|
+
} }
|
|
28
|
+
function CaseFileViewFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
30
|
+
i0.ɵɵelementStart(0, "div");
|
|
31
|
+
i0.ɵɵelementStart(1, "h2", 5);
|
|
32
|
+
i0.ɵɵtext(2, "Case file");
|
|
33
|
+
i0.ɵɵelementEnd();
|
|
34
|
+
i0.ɵɵelementStart(3, "div", 6);
|
|
35
|
+
i0.ɵɵelementStart(4, "div", 7);
|
|
36
|
+
i0.ɵɵelementStart(5, "ccd-case-file-view-folder", 8);
|
|
37
|
+
i0.ɵɵlistener("clickedDocument", function CaseFileViewFieldComponent_div_1_Template_ccd_case_file_view_folder_clickedDocument_5_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.setMediaViewerFile($event); })("moveDocument", function CaseFileViewFieldComponent_div_1_Template_ccd_case_file_view_folder_moveDocument_5_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.moveDocument($event); });
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelement(6, "div", 9);
|
|
41
|
+
i0.ɵɵelementStart(7, "div", 10);
|
|
42
|
+
i0.ɵɵtemplate(8, CaseFileViewFieldComponent_div_1_ng_container_8_Template, 2, 6, "ng-container", 1);
|
|
43
|
+
i0.ɵɵelementEnd();
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
i0.ɵɵelementEnd();
|
|
46
|
+
} if (rf & 2) {
|
|
47
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
48
|
+
i0.ɵɵadvance(5);
|
|
49
|
+
i0.ɵɵproperty("categoriesAndDocuments", ctx_r1.categoriesAndDocuments$)("allowMoving", ctx_r1.allowMoving);
|
|
50
|
+
i0.ɵɵadvance(3);
|
|
51
|
+
i0.ɵɵproperty("ngIf", ctx_r1.currentDocument);
|
|
52
|
+
} }
|
|
53
|
+
export class CaseFileViewFieldComponent {
|
|
54
|
+
constructor(elementRef, route, caseFileViewService, documentManagementService, loadingService) {
|
|
55
|
+
this.elementRef = elementRef;
|
|
56
|
+
this.route = route;
|
|
57
|
+
this.caseFileViewService = caseFileViewService;
|
|
58
|
+
this.documentManagementService = documentManagementService;
|
|
59
|
+
this.loadingService = loadingService;
|
|
60
|
+
this.allowMoving = true;
|
|
61
|
+
this.getCategoriesAndDocumentsError = false;
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
const cid = this.route.snapshot.paramMap.get(CaseFileViewFieldComponent.PARAM_CASE_ID);
|
|
65
|
+
this.categoriesAndDocuments$ = this.caseFileViewService.getCategoriesAndDocuments(cid);
|
|
66
|
+
this.categoriesAndDocumentsSubscription = this.categoriesAndDocuments$.subscribe({
|
|
67
|
+
next: data => {
|
|
68
|
+
this.caseVersion = data.case_version;
|
|
69
|
+
},
|
|
70
|
+
error: _ => this.getCategoriesAndDocumentsError = true
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
ngAfterViewInit() {
|
|
74
|
+
const slider = this.elementRef.nativeElement.querySelector('.slider');
|
|
75
|
+
const documentTreeContainer = this.elementRef.nativeElement.querySelector('.document-tree-container');
|
|
76
|
+
const mousedown$ = fromEvent(slider, 'mousedown');
|
|
77
|
+
const mousemove$ = fromEvent(document, 'mousemove');
|
|
78
|
+
const mouseup$ = fromEvent(document, 'mouseup');
|
|
79
|
+
const drag$ = mousedown$.pipe(switchMap((start) => {
|
|
80
|
+
const x = start.clientX;
|
|
81
|
+
const documentTreeContainerWidth = documentTreeContainer.getBoundingClientRect().width;
|
|
82
|
+
return mousemove$.pipe(map(move => {
|
|
83
|
+
move.preventDefault();
|
|
84
|
+
return {
|
|
85
|
+
dx: move.clientX - x,
|
|
86
|
+
documentTreeContainerWidth
|
|
87
|
+
};
|
|
88
|
+
}), takeUntil(mouseup$));
|
|
89
|
+
}));
|
|
90
|
+
drag$.subscribe(pos => {
|
|
91
|
+
const calculatedWidth = ((pos.documentTreeContainerWidth + pos.dx) * 100) / slider.parentElement.getBoundingClientRect().width;
|
|
92
|
+
documentTreeContainer.setAttribute('style', `width: ${calculatedWidth}%`);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
setMediaViewerFile(document) {
|
|
96
|
+
const mediaViewerInfo = this.documentManagementService.getMediaViewerInfo({
|
|
97
|
+
document_binary_url: document.document_binary_url,
|
|
98
|
+
document_filename: document.document_filename
|
|
99
|
+
});
|
|
100
|
+
this.currentDocument = JSON.parse(mediaViewerInfo);
|
|
101
|
+
}
|
|
102
|
+
moveDocument(data) {
|
|
103
|
+
const cid = this.route.snapshot.paramMap.get(CaseFileViewFieldComponent.PARAM_CASE_ID);
|
|
104
|
+
const loadingToken = this.loadingService.register();
|
|
105
|
+
this.caseFileViewService.updateDocumentCategory(cid, this.caseVersion, data.document.attribute_path, data.newCategory).subscribe(_ => {
|
|
106
|
+
location.reload();
|
|
107
|
+
this.loadingService.unregister(loadingToken);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
ngOnDestroy() {
|
|
111
|
+
if (this.categoriesAndDocumentsSubscription) {
|
|
112
|
+
this.categoriesAndDocumentsSubscription.unsubscribe();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
CaseFileViewFieldComponent.PARAM_CASE_ID = 'cid';
|
|
117
|
+
CaseFileViewFieldComponent.ɵfac = function CaseFileViewFieldComponent_Factory(t) { return new (t || CaseFileViewFieldComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.CaseFileViewService), i0.ɵɵdirectiveInject(i2.DocumentManagementService), i0.ɵɵdirectiveInject(i2.LoadingService)); };
|
|
118
|
+
CaseFileViewFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], decls: 2, vars: 2, consts: [["class", "govuk-grid-column-two-thirds", 4, "ngIf"], [4, "ngIf"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "categoriesAndDocuments", "allowMoving", "clickedDocument", "moveDocument"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
+
i0.ɵɵtemplate(0, CaseFileViewFieldComponent_div_0_Template, 5, 0, "div", 0);
|
|
120
|
+
i0.ɵɵtemplate(1, CaseFileViewFieldComponent_div_1_Template, 9, 3, "div", 1);
|
|
121
|
+
} if (rf & 2) {
|
|
122
|
+
i0.ɵɵproperty("ngIf", ctx.getCategoriesAndDocumentsError);
|
|
123
|
+
i0.ɵɵadvance(1);
|
|
124
|
+
i0.ɵɵproperty("ngIf", !ctx.getCategoriesAndDocumentsError);
|
|
125
|
+
} }, styles: ["#case-file-view[_ngcontent-%COMP%]{display:flex;border:2px solid #c9c9c9;height:100vh;position:relative}#case-file-view[_ngcontent-%COMP%] .document-tree-container[_ngcontent-%COMP%]{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{width:.2%;background-color:#6b6b6b}#case-file-view[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:focus, #case-file-view[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:hover{cursor:col-resize}#case-file-view[_ngcontent-%COMP%] .media-viewer-container[_ngcontent-%COMP%]{background-color:#dee0e2;flex:1 1 0;overflow:hidden}"] });
|
|
126
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFieldComponent, [{
|
|
127
|
+
type: Component,
|
|
128
|
+
args: [{
|
|
129
|
+
selector: 'ccd-case-file-view-field',
|
|
130
|
+
templateUrl: './case-file-view-field.component.html',
|
|
131
|
+
styleUrls: ['./case-file-view-field.component.scss'],
|
|
132
|
+
}]
|
|
133
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.ActivatedRoute }, { type: i2.CaseFileViewService }, { type: i2.DocumentManagementService }, { type: i2.LoadingService }]; }, null); })();
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztJQ0xuRyw4QkFBaUY7SUFDL0UsNkJBQTZCO0lBQUEsMERBQTBDO0lBQUEsaUJBQUs7SUFDNUUsNEJBQXNCO0lBQUEsZ0NBQWdCO0lBQUEsaUJBQUk7SUFDNUMsaUJBQU07OztJQWtCQSw2QkFBc0M7SUFDcEMsc0NBTWtCO0lBQ3BCLDBCQUFlOzs7SUFQSSxlQUEyQztJQUEzQyxnRUFBMkMsOERBQUEscUJBQUEsb0RBQUEsMkJBQUEsMEJBQUE7Ozs7SUFsQnBFLDJCQUE2QztJQUMzQyw2QkFBNEI7SUFBQSx5QkFBUztJQUFBLGlCQUFL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QyxXQUFXLEVBQUUsQ0FBQztTQUN2RDtJQUNILENBQUM7O0FBOUVzQix3Q0FBYSxHQUFHLEtBQUssQ0FBQztvR0FEbEMsMEJBQTBCOytEQUExQiwwQkFBMEI7UUNadkMsMkVBR007UUFDTiwyRUE0Qk07O1FBaENBLHlEQUFvQztRQUlwQyxlQUFxQztRQUFyQywwREFBcUM7O3VGRFE5QiwwQkFBMEI7Y0FMdEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFdBQVcsRUFBRSx1Q0FBdUM7Z0JBQ3BELFNBQVMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO2FBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYXRlZ29yaWVzQW5kRG9jdW1lbnRzLCBEb2N1bWVudFRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcbmltcG9ydCB7IENhc2VGaWxlVmlld1NlcnZpY2UsIERvY3VtZW50TWFuYWdlbWVudFNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1maWxlLXZpZXctZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLWZpbGUtdmlldy1maWVsZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX0lEID0gJ2NpZCc7XG4gIHB1YmxpYyBhbGxvd01vdmluZyA9IHRydWU7XG4gIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzJDogT2JzZXJ2YWJsZTxDYXRlZ29yaWVzQW5kRG9jdW1lbnRzPjtcbiAgcHVibGljIGNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudERvY3VtZW50OiB7IGRvY3VtZW50X2JpbmFyeV91cmw6IHN0cmluZywgZG9jdW1lbnRfZmlsZW5hbWU6IHN0cmluZywgY29udGVudF90eXBlOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBjYXNlVmVyc2lvbjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2FzZUZpbGVWaWV3U2VydmljZTogQ2FzZUZpbGVWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlOiBEb2N1bWVudE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBjaWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChDYXNlRmlsZVZpZXdGaWVsZENvbXBvbmVudC5QQVJBTV9DQVNFX0lEKTtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHMkID0gdGhpcy5jYXNlRmlsZVZpZXdTZXJ2aWNlLmdldENhdGVnb3JpZXNBbmREb2N1bWVudHMoY2lkKTtcbiAgICB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24gPSB0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBkYXRhID0+IHtcbiAgICAgICAgdGhpcy5jYXNlVmVyc2lvbiA9IGRhdGEuY2FzZV92ZXJzaW9uO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBfID0+IHRoaXMuZ2V0Q2F0ZWdvcmllc0FuZERvY3VtZW50c0Vycm9yID0gdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzbGlkZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2xpZGVyJyk7XG4gICAgY29uc3QgZG9jdW1lbnRUcmVlQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRvY3VtZW50LXRyZWUtY29udGFpbmVyJyk7XG5cbiAgICBjb25zdCBtb3VzZWRvd24kID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHNsaWRlciwgJ21vdXNlZG93bicpO1xuICAgIGNvbnN0IG1vdXNlbW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcbiAgICBjb25zdCBtb3VzZXVwJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNldXAnKTtcbiAgICBjb25zdCBkcmFnJCA9IG1vdXNlZG93biQucGlwZShcbiAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgKHN0YXJ0KSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9IHN0YXJ0LmNsaWVudFg7XG4gICAgICAgICAgY29uc3QgZG9jdW1lbnRUcmVlQ29udGFpbmVyV2lkdGggPSBkb2N1bWVudFRyZWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgcmV0dXJuIG1vdXNlbW92ZSQucGlwZShtYXAobW92ZSA9PiB7XG4gICAgICAgICAgICBtb3ZlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkeDogbW92ZS5jbGllbnRYIC0geCxcbiAgICAgICAgICAgICAgZG9jdW1lbnRUcmVlQ29udGFpbmVyV2lkdGhcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZVVudGlsKG1vdXNldXAkKSk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuXG4gICAgZHJhZyQuc3Vic2NyaWJlKHBvcyA9PiB7XG4gICAgICBjb25zdCBjYWxjdWxhdGVkV2lkdGggPSAoKHBvcy5kb2N1bWVudFRyZWVDb250YWluZXJXaWR0aCArIHBvcy5keCkgKiAxMDApIC8gc2xpZGVyLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICBkb2N1bWVudFRyZWVDb250YWluZXIuc2V0QXR0cmlidXRlKCdzdHlsZScsIGB3aWR0aDogJHtjYWxjdWxhdGVkV2lkdGh9JWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldE1lZGlhVmlld2VyRmlsZShkb2N1bWVudDogRG9jdW1lbnRUcmVlTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IG1lZGlhVmlld2VySW5mbyA9IHRoaXMuZG9jdW1lbnRNYW5hZ2VtZW50U2VydmljZS5nZXRNZWRpYVZpZXdlckluZm8oe1xuICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogZG9jdW1lbnQuZG9jdW1lbnRfYmluYXJ5X3VybCxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZVxuICAgIH0pO1xuICAgIHRoaXMuY3VycmVudERvY3VtZW50ID0gSlNPTi5wYXJzZShtZWRpYVZpZXdlckluZm8pO1xuICB9XG5cbiAgcHVibGljIG1vdmVEb2N1bWVudChkYXRhOmFueSkge1xuICAgIGNvbnN0IGNpZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KENhc2VGaWxlVmlld0ZpZWxkQ29tcG9uZW50LlBBUkFNX0NBU0VfSUQpO1xuICAgIGNvbnN0IGxvYWRpbmdUb2tlbiA9IHRoaXMubG9hZGluZ1NlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICB0aGlzLmNhc2VGaWxlVmlld1NlcnZpY2UudXBkYXRlRG9jdW1lbnRDYXRlZ29yeShjaWQsIHRoaXMuY2FzZVZlcnNpb24sIGRhdGEuZG9jdW1lbnQuYXR0cmlidXRlX3BhdGgsIGRhdGEubmV3Q2F0ZWdvcnkpLnN1YnNjcmliZShfID0+IHtcbiAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdUb2tlbik7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZ2V0Q2F0ZWdvcmllc0FuZERvY3VtZW50c0Vycm9yXCIgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10d28tdGhpcmRzXCI+XG4gIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5Tb3JyeSwgdGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIHNlcnZpY2U8L2gxPlxuICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj5UcnkgYWdhaW4gbGF0ZXIuPC9wPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWdldENhdGVnb3JpZXNBbmREb2N1bWVudHNFcnJvclwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5DYXNlIGZpbGU8L2gyPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIGlkPVwiY2FzZS1maWxlLXZpZXdcIj5cbiAgICA8IS0tIERvY3VtZW50IHRyZWUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyXCI+XG4gICAgICA8Y2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlclxuICAgICAgICBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyX190cmVlXCJcbiAgICAgICAgW2NhdGVnb3JpZXNBbmREb2N1bWVudHNdPVwiY2F0ZWdvcmllc0FuZERvY3VtZW50cyRcIlxuICAgICAgICAoY2xpY2tlZERvY3VtZW50KT1cInNldE1lZGlhVmlld2VyRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgKG1vdmVEb2N1bWVudCk9XCJtb3ZlRG9jdW1lbnQoJGV2ZW50KVwiXG4gICAgICAgIFthbGxvd01vdmluZ109XCJhbGxvd01vdmluZ1wiXG4gICAgICA+PC9jY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gU2xpZGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXJcIj48L2Rpdj5cbiAgICA8IS0tIE1lZGlhIHZpZXdlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibWVkaWEtdmlld2VyLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnREb2N1bWVudFwiPlxuICAgICAgICA8bXYtbWVkaWEtdmlld2VyIFt1cmxdPVwiY3VycmVudERvY3VtZW50LmRvY3VtZW50X2JpbmFyeV91cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImN1cnJlbnREb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUb29sYmFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50VHlwZV09XCJjdXJyZW50RG9jdW1lbnQuY29udGVudF90eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZVJlZGFjdGlvbnNdPVwidHJ1ZVwiPlxuICAgICAgICA8L212LW1lZGlhLXZpZXdlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component";
|
|
4
|
+
export class CaseFileViewFolderDocumentActionsComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.isOpen = false;
|
|
7
|
+
this.changeFolderAction = new EventEmitter();
|
|
8
|
+
this.openInANewTabAction = new EventEmitter();
|
|
9
|
+
this.downloadAction = new EventEmitter();
|
|
10
|
+
this.printAction = new EventEmitter();
|
|
11
|
+
this.overlayMenuItems = [
|
|
12
|
+
{ actionText: 'Open in a new tab', iconSrc: '/assets/img/case-file-view/document-menu/open_in_new.svg', actionFn: () => this.openInANewTabAction.emit() },
|
|
13
|
+
{ actionText: 'Download', iconSrc: '/assets/img/case-file-view/document-menu/download.svg', actionFn: () => this.downloadAction.emit() },
|
|
14
|
+
{ actionText: 'Print', iconSrc: '/assets/img/case-file-view/document-menu/print.svg', actionFn: () => this.printAction.emit() },
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (this.allowMoving) {
|
|
19
|
+
this.overlayMenuItems.unshift({ actionText: 'Change folder', iconSrc: '/assets/img/case-file-view/document-menu/open_with.svg', actionFn: () => this.changeFolderAction.emit() });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
CaseFileViewFolderDocumentActionsComponent.ɵfac = function CaseFileViewFolderDocumentActionsComponent_Factory(t) { return new (t || CaseFileViewFolderDocumentActionsComponent)(); };
|
|
24
|
+
CaseFileViewFolderDocumentActionsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderDocumentActionsComponent, selectors: [["ccd-case-file-view-folder-document-actions"]], inputs: { allowMoving: "allowMoving" }, outputs: { changeFolderAction: "changeFolderAction", openInANewTabAction: "openInANewTabAction", downloadAction: "downloadAction", printAction: "printAction" }, decls: 3, vars: 2, consts: [[3, "menuItems", "isOpen", "isOpenChange"], ["trigger", ""], ["src", "/assets/img/case-file-view/document-menu/more_vert.svg", "alt", "More document options", 1, "actions-trigger-icon"]], template: function CaseFileViewFolderDocumentActionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
i0.ɵɵelementStart(0, "ccd-case-file-view-overlay-menu", 0);
|
|
26
|
+
i0.ɵɵlistener("isOpenChange", function CaseFileViewFolderDocumentActionsComponent_Template_ccd_case_file_view_overlay_menu_isOpenChange_0_listener($event) { return ctx.isOpen = $event; });
|
|
27
|
+
i0.ɵɵelementContainerStart(1, 1);
|
|
28
|
+
i0.ɵɵelement(2, "img", 2);
|
|
29
|
+
i0.ɵɵelementContainerEnd();
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} if (rf & 2) {
|
|
32
|
+
i0.ɵɵproperty("menuItems", ctx.overlayMenuItems)("isOpen", ctx.isOpen);
|
|
33
|
+
} }, directives: [i1.CaseFileViewOverlayMenuComponent], styles: [".actions-trigger-icon[_ngcontent-%COMP%]{display:block;height:24px;margin-right:-4px}"] });
|
|
34
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderDocumentActionsComponent, [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{
|
|
37
|
+
selector: 'ccd-case-file-view-folder-document-actions',
|
|
38
|
+
templateUrl: './case-file-view-folder-document-actions.component.html',
|
|
39
|
+
styleUrls: ['./case-file-view-folder-document-actions.component.scss']
|
|
40
|
+
}]
|
|
41
|
+
}], function () { return []; }, { allowMoving: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], changeFolderAction: [{
|
|
44
|
+
type: Output
|
|
45
|
+
}], openInANewTabAction: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}], downloadAction: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}], printAction: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}] }); })();
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMvY2FzZS1maWxlLXZpZXctZm9sZGVyLWRvY3VtZW50LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUS9FLE1BQU0sT0FBTywwQ0FBMEM7SUFnQnJEO1FBZk8sV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlMLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMvQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWpELHFCQUFnQixHQUFrQztZQUN2RCxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsMERBQTBELEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN6SixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHVEQUF1RCxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUU7U0FDaEksQ0FBQztJQUVhLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSx3REFBd0QsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuTDtJQUNILENBQUM7O29JQXRCVSwwQ0FBMEM7K0VBQTFDLDBDQUEwQztRQ1J2RCwwREFHQztRQURDLDJMQUFtQjtRQUVuQixnQ0FBc0I7UUFDcEIseUJBQzhCO1FBQ2hDLDBCQUFlO1FBQ2pCLGlCQUFrQzs7UUFQaEMsZ0RBQThCLHNCQUFBOzt1RkRPbkIsMENBQTBDO2NBTHRELFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNENBQTRDO2dCQUN0RCxXQUFXLEVBQUUseURBQXlEO2dCQUN0RSxTQUFTLEVBQUUsQ0FBQyx5REFBeUQsQ0FBQzthQUN2RTtzQ0FJaUIsV0FBVztrQkFBMUIsS0FBSztZQUVXLGtCQUFrQjtrQkFBbEMsTUFBTTtZQUNVLG1CQUFtQjtrQkFBbkMsTUFBTTtZQUNVLGNBQWM7a0JBQTlCLE1BQU07WUFDVSxXQUFXO2tCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Nhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudS9jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUtaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZpbGUtdmlldy1mb2xkZXItZG9jdW1lbnQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1kb2N1bWVudC1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZpbGVWaWV3Rm9sZGVyRG9jdW1lbnRBY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd01vdmluZzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZUZvbGRlckFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvcGVuSW5BTmV3VGFiQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGRvd25sb2FkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHByaW50QWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBvdmVybGF5TWVudUl0ZW1zOiBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUl0ZW1bXSA9IFtcbiAgICB7IGFjdGlvblRleHQ6ICdPcGVuIGluIGEgbmV3IHRhYicsIGljb25TcmM6ICcvYXNzZXRzL2ltZy9jYXNlLWZpbGUtdmlldy9kb2N1bWVudC1tZW51L29wZW5faW5fbmV3LnN2ZycsIGFjdGlvbkZuOiAoKSA9PiB0aGlzLm9wZW5JbkFOZXdUYWJBY3Rpb24uZW1pdCgpIH0sXG4gICAgeyBhY3Rpb25UZXh0OiAnRG93bmxvYWQnLCBpY29uU3JjOiAnL2Fzc2V0cy9pbWcvY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtbWVudS9kb3dubG9hZC5zdmcnLCBhY3Rpb25GbjogKCkgPT4gdGhpcy5kb3dubG9hZEFjdGlvbi5lbWl0KCkgfSxcbiAgICB7IGFjdGlvblRleHQ6ICdQcmludCcsIGljb25TcmM6ICcvYXNzZXRzL2ltZy9jYXNlLWZpbGUtdmlldy9kb2N1bWVudC1tZW51L3ByaW50LnN2ZycsIGFjdGlvbkZuOiAoKSA9PiB0aGlzLnByaW50QWN0aW9uLmVtaXQoKSB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dNb3ZpbmcpIHtcbiAgICAgIHRoaXMub3ZlcmxheU1lbnVJdGVtcy51bnNoaWZ0KHsgYWN0aW9uVGV4dDogJ0NoYW5nZSBmb2xkZXInLCBpY29uU3JjOiAnL2Fzc2V0cy9pbWcvY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtbWVudS9vcGVuX3dpdGguc3ZnJywgYWN0aW9uRm46ICgpID0+IHRoaXMuY2hhbmdlRm9sZGVyQWN0aW9uLmVtaXQoKSB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjY2QtY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51XG4gIFttZW51SXRlbXNdPVwib3ZlcmxheU1lbnVJdGVtc1wiXG4gIFsoaXNPcGVuKV09XCJpc09wZW5cIlxuPlxuICA8bmctY29udGFpbmVyIHRyaWdnZXI+XG4gICAgPGltZyBjbGFzcz1cImFjdGlvbnMtdHJpZ2dlci1pY29uXCIgc3JjPVwiL2Fzc2V0cy9pbWcvY2FzZS1maWxlLXZpZXcvZG9jdW1lbnQtbWVudS9tb3JlX3ZlcnQuc3ZnXCJcbiAgICAgIGFsdD1cIk1vcmUgZG9jdW1lbnQgb3B0aW9uc1wiPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvY2NkLWNhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudT5cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component";
|
|
4
|
+
export class CaseFileViewFolderSortComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.isOpen = false;
|
|
7
|
+
this.sortAscending = new EventEmitter();
|
|
8
|
+
this.sortDescending = new EventEmitter();
|
|
9
|
+
this.overlayMenuItems = [
|
|
10
|
+
{ actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit() },
|
|
11
|
+
{ actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit() },
|
|
12
|
+
];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
CaseFileViewFolderSortComponent.ɵfac = function CaseFileViewFolderSortComponent_Factory(t) { return new (t || CaseFileViewFolderSortComponent)(); };
|
|
16
|
+
CaseFileViewFolderSortComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderSortComponent, selectors: [["ccd-case-file-view-folder-sort"]], outputs: { sortAscending: "sortAscending", sortDescending: "sortDescending" }, decls: 3, vars: 3, consts: [[3, "title", "menuItems", "isOpen", "isOpenChange"], ["trigger", ""], ["src", "/assets/img/sort/sort-arrows.svg", "alt", "Sort Arrows", 1, "sort-button-icon"]], template: function CaseFileViewFolderSortComponent_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵelementStart(0, "ccd-case-file-view-overlay-menu", 0);
|
|
18
|
+
i0.ɵɵlistener("isOpenChange", function CaseFileViewFolderSortComponent_Template_ccd_case_file_view_overlay_menu_isOpenChange_0_listener($event) { return ctx.isOpen = $event; });
|
|
19
|
+
i0.ɵɵelementContainerStart(1, 1);
|
|
20
|
+
i0.ɵɵelement(2, "img", 2);
|
|
21
|
+
i0.ɵɵelementContainerEnd();
|
|
22
|
+
i0.ɵɵelementEnd();
|
|
23
|
+
} if (rf & 2) {
|
|
24
|
+
i0.ɵɵproperty("title", "Sort documents by name")("menuItems", ctx.overlayMenuItems)("isOpen", ctx.isOpen);
|
|
25
|
+
} }, directives: [i1.CaseFileViewOverlayMenuComponent], styles: [".sort-button-icon[_ngcontent-%COMP%]{display:block;height:20px;margin-right:-2px}"] });
|
|
26
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderSortComponent, [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'ccd-case-file-view-folder-sort',
|
|
30
|
+
templateUrl: './case-file-view-folder-sort.component.html',
|
|
31
|
+
styleUrls: ['./case-file-view-folder-sort.component.scss']
|
|
32
|
+
}]
|
|
33
|
+
}], function () { return []; }, { sortAscending: [{
|
|
34
|
+
type: Output
|
|
35
|
+
}], sortDescending: [{
|
|
36
|
+
type: Output
|
|
37
|
+
}] }); })();
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9jYXNlLWZpbGUtdmlldy1mb2xkZXIvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQvY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEUsTUFBTSxPQUFPLCtCQUErQjtJQVUxQztRQVRPLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBELHFCQUFnQixHQUFrQztZQUN2RCxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUgsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFO1NBQy9ILENBQUM7SUFDYyxDQUFDOzs4R0FWTiwrQkFBK0I7b0VBQS9CLCtCQUErQjtRQ1I1QywwREFJQztRQURDLGdMQUFtQjtRQUVuQixnQ0FBc0I7UUFDcEIseUJBQXVGO1FBQ3pGLDBCQUFlO1FBQ2pCLGlCQUFrQzs7UUFQaEMsZ0RBQWtDLG1DQUFBLHNCQUFBOzt1RkRPdkIsK0JBQStCO2NBTDNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO2dCQUMxQyxXQUFXLEVBQUUsNkNBQTZDO2dCQUMxRCxTQUFTLEVBQUUsQ0FBQyw2Q0FBNkMsQ0FBQzthQUMzRDtzQ0FJa0IsYUFBYTtrQkFBN0IsTUFBTTtZQUNVLGNBQWM7a0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUl0ZW0gfSBmcm9tICcuLi8uLi9zaGFyZWQvY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51L2Nhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudS1pdGVtLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci1zb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLXNvcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJTb3J0Q29tcG9uZW50IHtcbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb3ZlcmxheU1lbnVJdGVtczogQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVJdGVtW10gPSBbXG4gICAgeyBhY3Rpb25UZXh0OiAnQSB0byBaIGFzY2VuZGluZycsIGljb25TcmM6ICcvYXNzZXRzL2ltZy9zb3J0L3NvcnQtZG93bi1hcnJvdy5zdmcnLCBhY3Rpb25GbjogKCkgPT4gdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoKSB9LFxuICAgIHsgYWN0aW9uVGV4dDogJ1ogdG8gQSBkZXNjZW5kaW5nJywgaWNvblNyYzogJy9hc3NldHMvaW1nL3NvcnQvc29ydC11cC1hcnJvdy5zdmcnLCBhY3Rpb25GbjogKCkgPT4gdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KCkgfSxcbiAgXTtcbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiIsIjxjY2QtY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51XG4gIFt0aXRsZV09XCInU29ydCBkb2N1bWVudHMgYnkgbmFtZSdcIlxuICBbbWVudUl0ZW1zXT1cIm92ZXJsYXlNZW51SXRlbXNcIlxuICBbKGlzT3BlbildPVwiaXNPcGVuXCJcbj5cbiAgPG5nLWNvbnRhaW5lciB0cmlnZ2VyPlxuICAgIDxpbWcgY2xhc3M9XCJzb3J0LWJ1dHRvbi1pY29uXCIgc3JjPVwiL2Fzc2V0cy9pbWcvc29ydC9zb3J0LWFycm93cy5zdmdcIiBhbHQ9XCJTb3J0IEFycm93c1wiPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvY2NkLWNhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudT5cbiJdfQ==
|