@churchillliving/se-ui-toolkit 6.54.0 → 6.54.3
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/esm2022/churchillliving-se-ui-toolkit.mjs +5 -0
- package/esm2022/lib/components/base/alert-pop-up/alert-pop-up.component.mjs +36 -0
- package/esm2022/lib/components/base/caption/caption.component.mjs +73 -0
- package/esm2022/lib/components/base/cards/card.component.mjs +175 -0
- package/esm2022/lib/components/base/file/file.component.mjs +125 -0
- package/esm2022/lib/components/base/file-upload/file-upload.component.mjs +71 -0
- package/esm2022/lib/components/base/filter/filter.component.mjs +57 -0
- package/esm2022/lib/components/base/form/form.component.mjs +1363 -0
- package/esm2022/lib/components/base/form-util/form-util.component.mjs +1152 -0
- package/esm2022/lib/components/base/grid/grid.component.mjs +3151 -0
- package/esm2022/lib/components/base/grid-row-actions/grid-row-actions.component.mjs +59 -0
- package/esm2022/lib/components/base/header/header.component.mjs +100 -0
- package/esm2022/lib/components/base/iframe/iframe.component.mjs +44 -0
- package/esm2022/lib/components/base/image-gallery/image-gallery.component.mjs +34 -0
- package/esm2022/lib/components/base/loader/loader.component.mjs +36 -0
- package/esm2022/lib/components/base/menu-bar/menu-bar.component.mjs +130 -0
- package/esm2022/lib/components/base/report/report-Filter/report-filter/report-filter.component.mjs +237 -0
- package/esm2022/lib/components/base/report/reportGenerateBtn/generate-report-btn/generate-report-btn.component.mjs +42 -0
- package/esm2022/lib/components/base/sidebar/sidebar.component.mjs +363 -0
- package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +37 -0
- package/esm2022/lib/components/shared/filter-menu/filter-menu.component.mjs +30 -0
- package/esm2022/lib/components/shared/global-filters/global-filters.component.mjs +570 -0
- package/esm2022/lib/components/shared/grid-update/grid-update.component.mjs +55 -0
- package/esm2022/lib/components/shared/notes/notes.component.mjs +32 -0
- package/esm2022/lib/directive/add-row.directive.mjs +39 -0
- package/{esm2015/lib/models/common.model.js → esm2022/lib/models/common.model.mjs} +1 -1
- package/esm2022/lib/models/form.model.mjs +106 -0
- package/esm2022/lib/models/grid.model.mjs +134 -0
- package/esm2022/lib/models/response.model.mjs +9 -0
- package/{esm2015/lib/models/sidebar.model.js → esm2022/lib/models/sidebar.model.mjs} +1 -1
- package/esm2022/lib/models/user-info.model.mjs +9 -0
- package/esm2022/lib/se-ui-toolkit.module.mjs +268 -0
- package/esm2022/lib/services/alert.service.mjs +77 -0
- package/{esm2015/lib/services/authentication.service.js → esm2022/lib/services/authentication.service.mjs} +9 -7
- package/esm2022/lib/services/card.service.mjs +110 -0
- package/esm2022/lib/services/dropdown.service.mjs +69 -0
- package/esm2022/lib/services/form.service.mjs +530 -0
- package/esm2022/lib/services/grid.service.mjs +1573 -0
- package/{esm2015/lib/services/header.service.js → esm2022/lib/services/header.service.mjs} +9 -9
- package/esm2022/lib/services/hyperlink.service.mjs +206 -0
- package/esm2022/lib/services/loader.service.mjs +36 -0
- package/esm2022/lib/services/page-logger.service.mjs +25 -0
- package/esm2022/lib/services/report.service.mjs +253 -0
- package/esm2022/lib/services/request.service.mjs +77 -0
- package/esm2022/lib/services/sidebar.service.mjs +57 -0
- package/esm2022/lib/services/system-config.service.mjs +18 -0
- package/esm2022/lib/services/toolkit-dialog.service.mjs +31 -0
- package/esm2022/lib/services/utilities.service.mjs +1053 -0
- package/esm2022/public-api.mjs +61 -0
- package/fesm2022/churchillliving-se-ui-toolkit.mjs +12488 -0
- package/fesm2022/churchillliving-se-ui-toolkit.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/base/alert-pop-up/alert-pop-up.component.d.ts +3 -0
- package/lib/components/base/caption/caption.component.d.ts +3 -0
- package/lib/components/base/cards/card.component.d.ts +7 -2
- package/lib/components/base/file/file.component.d.ts +3 -0
- package/lib/components/base/file-upload/file-upload.component.d.ts +3 -0
- package/lib/components/base/filter/filter.component.d.ts +3 -0
- package/lib/components/base/form/form.component.d.ts +54 -19
- package/lib/components/base/form-util/form-util.component.d.ts +173 -0
- package/lib/components/base/grid/grid.component.d.ts +102 -32
- package/lib/components/base/grid-row-actions/grid-row-actions.component.d.ts +5 -0
- package/lib/components/base/header/header.component.d.ts +3 -0
- package/lib/components/base/iframe/iframe.component.d.ts +3 -0
- package/lib/components/base/image-gallery/image-gallery.component.d.ts +3 -0
- package/lib/components/base/loader/loader.component.d.ts +3 -0
- package/lib/components/base/menu-bar/menu-bar.component.d.ts +11 -2
- package/lib/components/base/report/report-Filter/report-filter/report-filter.component.d.ts +22 -1
- package/lib/components/base/report/reportGenerateBtn/generate-report-btn/generate-report-btn.component.d.ts +15 -13
- package/lib/components/base/sidebar/sidebar.component.d.ts +26 -7
- package/lib/components/shared/dropdown/dropdown.component.d.ts +3 -0
- package/lib/components/shared/filter-menu/filter-menu.component.d.ts +3 -0
- package/lib/components/shared/global-filters/global-filters.component.d.ts +25 -12
- package/lib/components/shared/grid-update/grid-update.component.d.ts +16 -0
- package/lib/components/shared/notes/notes.component.d.ts +3 -0
- package/lib/directive/add-row.directive.d.ts +3 -0
- package/lib/models/common.model.d.ts +1 -0
- package/lib/models/form.model.d.ts +47 -13
- package/lib/models/grid.model.d.ts +155 -20
- package/lib/models/response.model.d.ts +8 -0
- package/lib/models/sidebar.model.d.ts +5 -2
- package/lib/models/user-info.model.d.ts +2 -1
- package/lib/se-ui-toolkit.module.d.ts +62 -0
- package/lib/services/alert.service.d.ts +8 -5
- package/lib/services/authentication.service.d.ts +3 -0
- package/lib/services/card.service.d.ts +8 -3
- package/lib/services/dropdown.service.d.ts +3 -0
- package/lib/services/form.service.d.ts +13 -3
- package/lib/services/grid.service.d.ts +60 -23
- package/lib/services/header.service.d.ts +3 -0
- package/lib/services/hyperlink.service.d.ts +12 -5
- package/lib/services/loader.service.d.ts +3 -0
- package/lib/services/page-logger.service.d.ts +3 -0
- package/lib/services/report.service.d.ts +36 -0
- package/lib/services/request.service.d.ts +10 -2
- package/lib/services/sidebar.service.d.ts +12 -1
- package/lib/services/system-config.service.d.ts +7 -0
- package/lib/services/toolkit-dialog.service.d.ts +9 -0
- package/lib/services/utilities.service.d.ts +17 -9
- package/package.json +21 -15
- package/public-api.d.ts +5 -1
- package/bundles/churchillliving-se-ui-toolkit.umd.js +0 -9296
- package/bundles/churchillliving-se-ui-toolkit.umd.js.map +0 -1
- package/churchillliving-se-ui-toolkit.d.ts +0 -9
- package/churchillliving-se-ui-toolkit.metadata.json +0 -1
- package/esm2015/churchillliving-se-ui-toolkit.js +0 -10
- package/esm2015/lib/components/base/alert-pop-up/alert-pop-up.component.js +0 -36
- package/esm2015/lib/components/base/caption/caption.component.js +0 -75
- package/esm2015/lib/components/base/cards/card.component.js +0 -157
- package/esm2015/lib/components/base/file/file.component.js +0 -114
- package/esm2015/lib/components/base/file-upload/file-upload.component.js +0 -75
- package/esm2015/lib/components/base/filter/filter.component.js +0 -54
- package/esm2015/lib/components/base/form/form.component.js +0 -942
- package/esm2015/lib/components/base/grid/grid.component.js +0 -2221
- package/esm2015/lib/components/base/grid-row-actions/grid-row-actions.component.js +0 -44
- package/esm2015/lib/components/base/header/header.component.js +0 -99
- package/esm2015/lib/components/base/iframe/iframe.component.js +0 -46
- package/esm2015/lib/components/base/image-gallery/image-gallery.component.js +0 -33
- package/esm2015/lib/components/base/loader/loader.component.js +0 -39
- package/esm2015/lib/components/base/menu-bar/menu-bar.component.js +0 -112
- package/esm2015/lib/components/base/report/report-Filter/report-filter/report-filter.component.js +0 -127
- package/esm2015/lib/components/base/report/reportGenerateBtn/generate-report-btn/generate-report-btn.component.js +0 -98
- package/esm2015/lib/components/base/sidebar/sidebar.component.js +0 -272
- package/esm2015/lib/components/shared/dropdown/dropdown.component.js +0 -36
- package/esm2015/lib/components/shared/filter-menu/filter-menu.component.js +0 -31
- package/esm2015/lib/components/shared/global-filters/global-filters.component.js +0 -447
- package/esm2015/lib/components/shared/notes/notes.component.js +0 -34
- package/esm2015/lib/directive/add-row.directive.js +0 -25
- package/esm2015/lib/models/form.model.js +0 -96
- package/esm2015/lib/models/grid.model.js +0 -113
- package/esm2015/lib/models/response.model.js +0 -2
- package/esm2015/lib/models/user-info.model.js +0 -8
- package/esm2015/lib/se-ui-toolkit.module.js +0 -152
- package/esm2015/lib/services/alert.service.js +0 -80
- package/esm2015/lib/services/card.service.js +0 -125
- package/esm2015/lib/services/dropdown.service.js +0 -72
- package/esm2015/lib/services/form.service.js +0 -398
- package/esm2015/lib/services/grid.service.js +0 -986
- package/esm2015/lib/services/hyperlink.service.js +0 -114
- package/esm2015/lib/services/loader.service.js +0 -36
- package/esm2015/lib/services/page-logger.service.js +0 -28
- package/esm2015/lib/services/request.service.js +0 -49
- package/esm2015/lib/services/sidebar.service.js +0 -37
- package/esm2015/lib/services/utilities.service.js +0 -1110
- package/esm2015/public-api.js +0 -57
- package/fesm2015/churchillliving-se-ui-toolkit.js +0 -8507
- package/fesm2015/churchillliving-se-ui-toolkit.js.map +0 -1
- /package/{esm2015/lib/components/base/grid/grid.constant.js → esm2022/lib/components/base/grid/grid.constant.mjs} +0 -0
- /package/{esm2015/lib/models/header.model.js → esm2022/lib/models/header.model.mjs} +0 -0
- /package/{esm2015/lib/models/menu.model.js → esm2022/lib/models/menu.model.mjs} +0 -0
- /package/{esm2015/lib/models/request.model.js → esm2022/lib/models/request.model.mjs} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1cmNoaWxsbGl2aW5nLXNlLXVpLXRvb2xraXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9jaHVyY2hpbGxsaXZpbmctc2UtdWktdG9vbGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component, Optional } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "primeng/button";
|
|
6
|
+
export class AlertPopUpComponent {
|
|
7
|
+
constructor(config, ref) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.ref = ref;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
if (this.config?.data) {
|
|
13
|
+
this.message = this.config.data?.alertPopInfo?.message;
|
|
14
|
+
this.buttons = this.config.data?.alertPopInfo?.buttons;
|
|
15
|
+
this.icon = this.config.data?.alertPopInfo?.icon;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
clickedBtn(button) {
|
|
19
|
+
const closeBtn = document.querySelectorAll(".alertPopUp button")[0];
|
|
20
|
+
if (closeBtn) {
|
|
21
|
+
closeBtn?.click();
|
|
22
|
+
this.ref.close(button);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AlertPopUpComponent, deps: [{ token: i1.DynamicDialogConfig, optional: true }, { token: i1.DynamicDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AlertPopUpComponent, selector: "lib-alert-pop-up", ngImport: i0, template: "<h4><i [class]=\"icon\"></i> {{message}}</h4>\n<br>\n<button *ngFor=\"let button of buttons\" pButton type=\"button\" [label]=\"button.buttonLabel\"\n [class]=\"button.buttonClass ? button.buttonClass+ ' mr-3' : 'mr-3 p-button-success'\"\n (click)=\"clickedBtn(button)\">\n</button>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AlertPopUpComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'lib-alert-pop-up', template: "<h4><i [class]=\"icon\"></i> {{message}}</h4>\n<br>\n<button *ngFor=\"let button of buttons\" pButton type=\"button\" [label]=\"button.buttonLabel\"\n [class]=\"button.buttonClass ? button.buttonClass+ ' mr-3' : 'mr-3 p-button-success'\"\n (click)=\"clickedBtn(button)\">\n</button>" }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig, decorators: [{
|
|
32
|
+
type: Optional
|
|
33
|
+
}] }, { type: i1.DynamicDialogRef, decorators: [{
|
|
34
|
+
type: Optional
|
|
35
|
+
}] }]; } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtcG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlLXVpLXRvb2xraXQvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYWxlcnQtcG9wLXVwL2FsZXJ0LXBvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2FsZXJ0LXBvcC11cC9hbGVydC1wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTVELE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBK0IsTUFBMkIsRUFDdkMsR0FBcUI7UUFEVCxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN2QyxRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUFLLENBQUM7SUFFOUMsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztZQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFzQixDQUFDO1FBQ3pGLElBQUcsUUFBUSxFQUFDO1lBQ1YsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztpSUF0QlUsbUJBQW1CO3FIQUFuQixtQkFBbUIsd0RDUmhDLGtTQUtTOzsyRkRHSSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFTZixRQUFROzswQkFDcEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbGVydC1wb3AtdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQtcG9wLXVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWxlcnQtcG9wLXVwLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydFBvcFVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYnV0dG9uczogYW55W11cbiAgbWVzc2FnZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgQE9wdGlvbmFsKCkgcHVibGljIHJlZjogRHluYW1pY0RpYWxvZ1JlZiwpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmKHRoaXMuY29uZmlnPy5kYXRhKXtcbiAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuY29uZmlnLmRhdGE/LmFsZXJ0UG9wSW5mbz8ubWVzc2FnZTtcbiAgICAgIHRoaXMuYnV0dG9ucyA9IHRoaXMuY29uZmlnLmRhdGE/LmFsZXJ0UG9wSW5mbz8uYnV0dG9ucztcbiAgICAgIHRoaXMuaWNvbiA9IHRoaXMuY29uZmlnLmRhdGE/LmFsZXJ0UG9wSW5mbz8uaWNvbjtcbiAgICB9XG4gIH1cblxuICBjbGlja2VkQnRuKGJ1dHRvbjogYW55KXtcbiAgICBjb25zdCBjbG9zZUJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuYWxlcnRQb3BVcCBidXR0b25cIilbMF0gYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgaWYoY2xvc2VCdG4pe1xuICAgICAgY2xvc2VCdG4/LmNsaWNrKCk7XG4gICAgICB0aGlzLnJlZi5jbG9zZShidXR0b24pO1xuICAgIH1cbiAgfVxufVxuIiwiPGg0PjxpIFtjbGFzc109XCJpY29uXCI+PC9pPiB7e21lc3NhZ2V9fTwvaDQ+XG48YnI+XG48YnV0dG9uICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYnV0dG9uc1wiIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIFtsYWJlbF09XCJidXR0b24uYnV0dG9uTGFiZWxcIlxuICAgIFtjbGFzc109XCJidXR0b24uYnV0dG9uQ2xhc3MgPyBidXR0b24uYnV0dG9uQ2xhc3MrICcgbXItMycgOiAnbXItMyBwLWJ1dHRvbi1zdWNjZXNzJ1wiXG4gICAgKGNsaWNrKT1cImNsaWNrZWRCdG4oYnV0dG9uKVwiPlxuPC9idXR0b24+Il19
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Component, Optional } from '@angular/core';
|
|
2
|
+
import { EValidator } from '../../../models/form.model';
|
|
3
|
+
import * as utilities from '../../../services/utilities.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../services/form.service";
|
|
6
|
+
import * as i2 from "../../../services/request.service";
|
|
7
|
+
import * as i3 from "../../../services/alert.service";
|
|
8
|
+
import * as i4 from "primeng/dynamicdialog";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "../form/form.component";
|
|
11
|
+
export class CaptionComponent {
|
|
12
|
+
constructor(formService, requestService, alertService, config, ref) {
|
|
13
|
+
this.formService = formService;
|
|
14
|
+
this.requestService = requestService;
|
|
15
|
+
this.alertService = alertService;
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.ref = ref;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
if (this.config.data) {
|
|
21
|
+
this.id = this.config.data.id;
|
|
22
|
+
this.caption = this.config.data.caption;
|
|
23
|
+
}
|
|
24
|
+
this.initilizeForm();
|
|
25
|
+
}
|
|
26
|
+
initilizeForm() {
|
|
27
|
+
this.dynamicForm = {
|
|
28
|
+
formSections: [
|
|
29
|
+
{
|
|
30
|
+
fields: [
|
|
31
|
+
this.formService.addTextbox({
|
|
32
|
+
field: 'fileCaption',
|
|
33
|
+
label: 'Caption',
|
|
34
|
+
value: this.caption,
|
|
35
|
+
column: 12,
|
|
36
|
+
validations: [{ type: EValidator.REQUIRED }]
|
|
37
|
+
}),
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
saveForm(formFiels) {
|
|
44
|
+
this.requestService
|
|
45
|
+
.get('/AzureUpload/UpdateCaption', {
|
|
46
|
+
Id: this.id,
|
|
47
|
+
fileCaption: utilities.getFormFieldValue(this.dynamicForm, 'fileCaption'),
|
|
48
|
+
})
|
|
49
|
+
.subscribe((response) => {
|
|
50
|
+
if (response) {
|
|
51
|
+
this.alertService.success('Caption added successfully.');
|
|
52
|
+
this.ref.close(response);
|
|
53
|
+
}
|
|
54
|
+
}, ({ error }) => {
|
|
55
|
+
this.ref.close();
|
|
56
|
+
this.alertService.apiError(error);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
cancelForm(event) {
|
|
60
|
+
//console.log('CancelForm: ', event);
|
|
61
|
+
}
|
|
62
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CaptionComponent, deps: [{ token: i1.FormService }, { token: i2.RequestService }, { token: i3.AlertService }, { token: i4.DynamicDialogConfig, optional: true }, { token: i4.DynamicDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CaptionComponent, selector: "se-caption", ngImport: i0, template: "<!-- add Caption on DisplayImage Component -->\n<div class=\"caption-form\">\n <se-form\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n (saveForm)=\"saveForm($event)\"\n (cancelForm)=\"cancelForm($event)\"\n >\n </se-form>\n</div>\n", styles: [":host ::ng-deep .caption-form span.error{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FormComponent, selector: "se-form", inputs: ["stickyActions", "form", "saveButtonLabel", "cancelButtonLabel", "hideSaveButton", "hideCancelButton", "formButtons", "loading", "activeTestMode"], outputs: ["saveForm", "cancelForm", "dropDownChangeEvent", "sectionClickedEvent"] }] }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CaptionComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'se-caption', template: "<!-- add Caption on DisplayImage Component -->\n<div class=\"caption-form\">\n <se-form\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n (saveForm)=\"saveForm($event)\"\n (cancelForm)=\"cancelForm($event)\"\n >\n </se-form>\n</div>\n", styles: [":host ::ng-deep .caption-form span.error{display:none}\n"] }]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.FormService }, { type: i2.RequestService }, { type: i3.AlertService }, { type: i4.DynamicDialogConfig, decorators: [{
|
|
69
|
+
type: Optional
|
|
70
|
+
}] }, { type: i4.DynamicDialogRef, decorators: [{
|
|
71
|
+
type: Optional
|
|
72
|
+
}] }]; } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcHRpb24vY2FwdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcHRpb24vY2FwdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF3QixRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSw0QkFBNEIsQ0FBQztBQUl0RSxPQUFPLEtBQUssU0FBUyxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQ1UsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsWUFBMEIsRUFDZixNQUEyQixFQUMzQixHQUFxQjtRQUpoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUN2QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLFlBQVksRUFBRTtnQkFDWjtvQkFDRSxNQUFNLEVBQUU7d0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7NEJBQzFCLEtBQUssRUFBRSxhQUFhOzRCQUNwQixLQUFLLEVBQUUsU0FBUzs0QkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPOzRCQUNuQixNQUFNLEVBQUUsRUFBRTs0QkFDVixXQUFXLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7eUJBQzdDLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWM7UUFDckIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsR0FBRyxDQUFhLDRCQUE0QixFQUFFO1lBQzdDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFdBQVcsRUFBRSxTQUFTLENBQUMsaUJBQWlCLENBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLGFBQWEsQ0FDZDtTQUNGLENBQUM7YUFDRCxTQUFTLENBQ1IsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNoQixJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMxQjtRQUNILENBQUMsRUFDRCxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIscUNBQXFDO0lBQ3ZDLENBQUM7aUlBL0RVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLGtEQ2I3Qiw0UEFVQTs7MkZER2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OzBCQWFuQixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFVmFsaWRhdG9yLCBJRHluYW1pY0Zvcm0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIHV0aWxpdGllcyBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLWNhcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FwdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FwdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGR5bmFtaWNGb3JtOiBJRHluYW1pY0Zvcm07XG4gIGlkOiBudW1iZXI7XG4gIGNhcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlcXVlc3RTZXJ2aWNlOiBSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHJlZjogRHluYW1pY0RpYWxvZ1JlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEpIHtcbiAgICAgIHRoaXMuaWQgPSB0aGlzLmNvbmZpZy5kYXRhLmlkO1xuICAgICAgdGhpcy5jYXB0aW9uID0gdGhpcy5jb25maWcuZGF0YS5jYXB0aW9uO1xuICAgIH1cbiAgICB0aGlzLmluaXRpbGl6ZUZvcm0oKTtcbiAgfVxuXG4gIGluaXRpbGl6ZUZvcm0oKSB7XG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHtcbiAgICAgIGZvcm1TZWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmFkZFRleHRib3goe1xuICAgICAgICAgICAgICBmaWVsZDogJ2ZpbGVDYXB0aW9uJyxcbiAgICAgICAgICAgICAgbGFiZWw6ICdDYXB0aW9uJyxcbiAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY2FwdGlvbixcbiAgICAgICAgICAgICAgY29sdW1uOiAxMixcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHR5cGU6IEVWYWxpZGF0b3IuUkVRVUlSRUQgfV1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzYXZlRm9ybShmb3JtRmllbHM6IGFueSkge1xuICAgIHRoaXMucmVxdWVzdFNlcnZpY2VcbiAgICAgIC5nZXQ8YW55W10sIGFueT4oJy9BenVyZVVwbG9hZC9VcGRhdGVDYXB0aW9uJywge1xuICAgICAgICBJZDogdGhpcy5pZCxcbiAgICAgICAgZmlsZUNhcHRpb246IHV0aWxpdGllcy5nZXRGb3JtRmllbGRWYWx1ZShcbiAgICAgICAgICB0aGlzLmR5bmFtaWNGb3JtLFxuICAgICAgICAgICdmaWxlQ2FwdGlvbidcbiAgICAgICAgKSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnQ2FwdGlvbiBhZGRlZCBzdWNjZXNzZnVsbHkuJyk7XG4gICAgICAgICAgICB0aGlzLnJlZi5jbG9zZShyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoeyBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hcGlFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbiAgY2FuY2VsRm9ybShldmVudDogYW55KSB7XG4gICAgLy9jb25zb2xlLmxvZygnQ2FuY2VsRm9ybTogJywgZXZlbnQpO1xuICB9XG59XG4iLCI8IS0tIGFkZCBDYXB0aW9uIG9uIERpc3BsYXlJbWFnZSBDb21wb25lbnQgLS0+XG48ZGl2IGNsYXNzPVwiY2FwdGlvbi1mb3JtXCI+XG4gIDxzZS1mb3JtXG4gICAgKm5nSWY9XCJkeW5hbWljRm9ybVwiXG4gICAgW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuICAgIChzYXZlRm9ybSk9XCJzYXZlRm9ybSgkZXZlbnQpXCJcbiAgICAoY2FuY2VsRm9ybSk9XCJjYW5jZWxGb3JtKCRldmVudClcIlxuICA+XG4gIDwvc2UtZm9ybT5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ESelectFileType } from '../../../models/form.model';
|
|
3
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
4
|
+
import * as utilities from '../../../services/utilities.service';
|
|
5
|
+
import { ESystemConfig } from '../../../models/response.model';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
8
|
+
import * as i2 from "../../../services/grid.service";
|
|
9
|
+
import * as i3 from "primeng/api";
|
|
10
|
+
import * as i4 from "../../../services/system-config.service";
|
|
11
|
+
import * as i5 from "@angular/common";
|
|
12
|
+
import * as i6 from "primeng/confirmdialog";
|
|
13
|
+
import * as i7 from "@angular/cdk/drag-drop";
|
|
14
|
+
import * as i8 from "../form-util/form-util.component";
|
|
15
|
+
import * as i9 from "../file/file.component";
|
|
16
|
+
export class CardComponent {
|
|
17
|
+
constructor(dialogService, gridService, confirmationService, systemConfigService) {
|
|
18
|
+
this.dialogService = dialogService;
|
|
19
|
+
this.gridService = gridService;
|
|
20
|
+
this.confirmationService = confirmationService;
|
|
21
|
+
this.systemConfigService = systemConfigService;
|
|
22
|
+
this.selectedCard = new EventEmitter();
|
|
23
|
+
// @Output() onDeleteCard: EventEmitter<any> = new EventEmitter();
|
|
24
|
+
this.data = [];
|
|
25
|
+
this.width = '';
|
|
26
|
+
this.height = '';
|
|
27
|
+
this.showFiles = false;
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() { }
|
|
30
|
+
ngOnChanges() {
|
|
31
|
+
if (this.card) {
|
|
32
|
+
const fileContainerName = this.card?.containerName;
|
|
33
|
+
const fileRootPath = this.systemConfigService.getSystemConfigValue(ESystemConfig.FILEROOTPATH);
|
|
34
|
+
let { data, formSections, cardInfo } = this.card;
|
|
35
|
+
const extensionValues = Object.values(ESelectFileType);
|
|
36
|
+
const hardcodeExtension = extensionValues?.some((ext) => ext?.includes(cardInfo?.extension?.toLowerCase()));
|
|
37
|
+
if (cardInfo && Object.keys(cardInfo).length) {
|
|
38
|
+
this.displayCardInfo = cardInfo;
|
|
39
|
+
data = this.gridService.setDataFields(data);
|
|
40
|
+
const newArr = [];
|
|
41
|
+
data?.forEach((record) => {
|
|
42
|
+
if (record.url && record.fileextension && !record.url.includes(record.fileextension)) {
|
|
43
|
+
if (record.fileextension.startsWith(".")) {
|
|
44
|
+
record.url = record.url + record.fileextension;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
record.url = record.url + '.' + record.fileextension;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (!Object.keys(record)?.includes('azurecontainerid')) {
|
|
51
|
+
const url = (fileRootPath + '/' + fileContainerName + '/')?.toLowerCase();
|
|
52
|
+
newArr.push({ ...record, blobfileurl: url + record[cardInfo?.url?.toLowerCase()], filecaption: record[cardInfo?.caption?.toLowerCase()], fileextension: hardcodeExtension ? cardInfo?.extension?.toLowerCase() : record[cardInfo?.extension?.toLowerCase()] });
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
newArr.push(record);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
this.data = newArr;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.data = this.gridService.setDataFields(data);
|
|
62
|
+
}
|
|
63
|
+
this.dynamicForm = { formSections };
|
|
64
|
+
// set the default value of allowDelete, allowEditableCaption and allowDownload
|
|
65
|
+
this.setCardPropValue('allowDownload');
|
|
66
|
+
this.setCardPropValue('allowDelete');
|
|
67
|
+
this.setCardPropValue('allowEditableCaption');
|
|
68
|
+
//files.allowEditableCaption = this.setCardPropValue(files.allowEditableCaption);
|
|
69
|
+
/** In case of when we are using this component for stand alone then if formSection is exist in
|
|
70
|
+
the this.card and then add in the data array.
|
|
71
|
+
*/
|
|
72
|
+
if (this.data) {
|
|
73
|
+
this.data.forEach((x) => {
|
|
74
|
+
if (!x.dynamicform) {
|
|
75
|
+
x.dynamicform = JSON.parse(JSON.stringify(this.dynamicForm));
|
|
76
|
+
}
|
|
77
|
+
utilities.setCardFieldsData(x);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// set the default value of allowDelete, allowEditableCaption and allowDownload
|
|
83
|
+
setCardPropValue(prop) {
|
|
84
|
+
if (!this.card[prop]?.toString()?.length) {
|
|
85
|
+
this.card[prop] = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
dragAndDrop(event) {
|
|
89
|
+
moveItemInArray(this.data, event.previousIndex, event.currentIndex);
|
|
90
|
+
event.item?.element?.nativeElement;
|
|
91
|
+
this.card.data = this.data;
|
|
92
|
+
this.card['change'] = true;
|
|
93
|
+
if (this.card && this.card.onSort) {
|
|
94
|
+
this.card.onSort(this.data);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
deleteImage(event) {
|
|
98
|
+
this.confirmationService.confirm({
|
|
99
|
+
message: 'Are you sure that you want to delete this Image?',
|
|
100
|
+
header: 'Delete Confirmation',
|
|
101
|
+
icon: 'pi pi-exclamation-triangle',
|
|
102
|
+
key: 'handlecolumnActions',
|
|
103
|
+
accept: () => {
|
|
104
|
+
if (this.data && event) {
|
|
105
|
+
let arr = [...this.data];
|
|
106
|
+
const index = arr.findIndex((i) => i.blobfileurl === event.blobfileurl);
|
|
107
|
+
let obj = arr[index];
|
|
108
|
+
arr.splice(index, 1);
|
|
109
|
+
this.data = [...arr];
|
|
110
|
+
if (this.card && this.card.onDelete) {
|
|
111
|
+
obj = this.replacePropName(obj);
|
|
112
|
+
this.card.onDelete(obj);
|
|
113
|
+
// this.onDeleteCard.emit();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
this.confirmationService.close();
|
|
117
|
+
},
|
|
118
|
+
reject: () => {
|
|
119
|
+
this.confirmationService.close();
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
replacePropName(cardInfo) {
|
|
124
|
+
if (this.displayCardInfo && Object.keys(this.displayCardInfo).length > 0) {
|
|
125
|
+
const cardProp = { ...this.displayCardInfo };
|
|
126
|
+
const extensionValues = Object.values(ESelectFileType);
|
|
127
|
+
const hardcodeExtension = extensionValues?.some((ext) => ext?.includes(cardInfo?.extension?.toLowerCase()));
|
|
128
|
+
const obj = { ...cardInfo, [cardProp.url]: cardInfo.blobfileurl, [cardProp.caption]: cardInfo.filecaption, [cardProp.extension]: hardcodeExtension ? cardInfo?.extension?.toLowerCase() : cardInfo?.fileextension };
|
|
129
|
+
return obj;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return cardInfo;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
saveCaption(event) {
|
|
136
|
+
if (this.data && event) {
|
|
137
|
+
let arr = [...this.data];
|
|
138
|
+
const index = arr.findIndex((i) => i.blobfileurl === event.blobfileurl);
|
|
139
|
+
let obj = arr[index];
|
|
140
|
+
if (index !== -1) {
|
|
141
|
+
obj.filecaption = event.caption;
|
|
142
|
+
arr.splice(index, 1, obj);
|
|
143
|
+
this.card.data = arr;
|
|
144
|
+
this.card['change'] = true;
|
|
145
|
+
}
|
|
146
|
+
if (this.card && this.card?.onCaptionSave) {
|
|
147
|
+
obj = this.replacePropName(obj);
|
|
148
|
+
this.card.onCaptionSave(obj);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
onClickEvent(data, index) {
|
|
153
|
+
data['index'] = index;
|
|
154
|
+
this.selectedCard.emit(data);
|
|
155
|
+
}
|
|
156
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CardComponent, deps: [{ token: i1.DialogService }, { token: i2.GridService }, { token: i3.ConfirmationService }, { token: i4.SystemConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CardComponent, selector: "se-card", inputs: { data: "data", width: "width", height: "height", card: "card", setCardData: "setCardData" }, outputs: { selectedCard: "selectedCard" }, usesOnChanges: true, ngImport: i0, template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n class=\"card-main-wrapper\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box flex flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'col-' + card.width\n : 'col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .card-main-wrapper{overflow:scroll}:host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i8.FormUtilComponent, selector: "se-form-util", inputs: ["stickyActions", "form", "hideSaveButton", "hideCancelButton", "formButtons", "loading", "activeTestMode"], outputs: ["saveForm", "cancelForm", "dropDownChangeEvent", "sectionClickedEvent"] }, { kind: "component", type: i9.fileComponent, selector: "se-file", inputs: ["url", "caption", "width", "height", "id", "name", "type", "allowDownloadFile", "allowEditableCaption", "allowDeleteFile"], outputs: ["onDeleteEvent", "onSaveEvent"] }] }); }
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CardComponent, decorators: [{
|
|
160
|
+
type: Component,
|
|
161
|
+
args: [{ selector: 'se-card', template: "<!-- Display Files Card -->\n<p-confirmDialog key=\"handlecolumnActions\"></p-confirmDialog>\n<div\n class=\"card-main-wrapper\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n class=\"example-list\"\n (cdkDropListDropped)=\"dragAndDrop($event)\"\n>\n <div \n class=\"flex cards-wrapper\" \n [ngStyle]=\"{ width: width, height: height }\" \n *ngIf=\"data\" \n [class]=\"card && card.class ? card.class : ''\">\n <div\n cdkDrag\n class=\"example-box flex flex-column cards-wrapper\"\n [class]=\"\n card && card.width && card.width.length > 0\n ? 'col-' + card.width\n : 'col-3'\n \"\n *ngFor=\"let file of data; let i = index\"\n (click)=\"onClickEvent(file,i)\"\n [ngClass]=\"file.selectedCard ? file.selectedCard : ''\"\n >\n <!-- start cards image functionality -->\n <se-file\n [url]=\"file.blobfileurl\"\n [type]=\"file.fileextension\"\n [caption]=\"file?.filecaption\"\n [height]=\"card?.height\"\n [allowDownloadFile]=\"card?.allowDownload\"\n [allowEditableCaption]=\"card?.allowEditableCaption\"\n [allowDeleteFile]=\"card?.allowDelete\"\n [name]=\"file.blobfileurl\"\n [id]=\"file.fileextension\"\n (onDeleteEvent)=\"deleteImage($event)\"\n (onSaveEvent)=\"saveCaption($event)\"\n ></se-file>\n <!-- End cards image functionality -->\n\n <!-- start form functionality in card -->\n <se-form-util\n class=\"form-content\"\n [form]=\"file.dynamicform\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n <!-- End form functionality in card -->\n </div>\n </div>\n\n <!-- in case of form and data is empty or null -->\n <div *ngIf=\"dynamicForm && (!data || data.length == 0)\">\n <se-form-util\n *ngIf=\"dynamicForm\"\n [form]=\"dynamicForm\"\n [hideSaveButton]=\"true\"\n [hideCancelButton]=\"true\"\n ></se-form-util>\n </div>\n</div>\n", styles: [":host ::ng-deep .card-main-wrapper{overflow:scroll}:host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:hover .header-icons{opacity:1}.card-active{transform:scale(1.1);transition:all .2s linear;z-index:999}\n"] }]
|
|
162
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.GridService }, { type: i3.ConfirmationService }, { type: i4.SystemConfigService }]; }, propDecorators: { selectedCard: [{
|
|
163
|
+
type: Output
|
|
164
|
+
}], data: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], width: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], height: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], card: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], setCardData: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}] } });
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2NhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9jYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBNkMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsT0FBTyxLQUFLLFNBQVMsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7O0FBUS9ELE1BQU0sT0FBTyxhQUFhO0lBWXhCLFlBQ1MsYUFBNEIsRUFDM0IsV0FBd0IsRUFDeEIsbUJBQXdDLEVBQ3hDLG1CQUF3QztRQUh6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFmeEMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxrRUFBa0U7UUFDekQsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUNmLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUk3QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBUXhCLENBQUM7SUFFSixRQUFRLEtB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QUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBFU2VsZWN0RmlsZVR5cGUsIElEeW5hbWljQ2FyZCwgSUR5bmFtaWNGb3JtLCBJVmlld0NhcmRQcm9wIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XG5pbXBvcnQgKiBhcyB1dGlsaXRpZXMgZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEVTeXN0ZW1Db25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVzcG9uc2UubW9kZWwnO1xuaW1wb3J0IHsgU3lzdGVtQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N5c3RlbS1jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZENhcmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBAT3V0cHV0KCkgb25EZWxldGVDYXJkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgZGF0YTogYW55ID0gW107XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2FyZDogYW55O1xuICBASW5wdXQoKSBzZXRDYXJkRGF0YTogYm9vbGVhbjtcbiAgZHluYW1pY0Zvcm06IElEeW5hbWljRm9ybTtcbiAgc2hvd0ZpbGVzOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc3BsYXlDYXJkSW5mbzogSVZpZXdDYXJkUHJvcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1Db25maWdTZXJ2aWNlOiBTeXN0ZW1Db25maWdTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmNhcmQpIHtcbiAgICAgIGNvbnN0IGZpbGVDb250YWluZXJOYW1lID0gdGhpcy5jYXJkPy5jb250YWluZXJOYW1lO1xuICAgICAgY29uc3QgZmlsZVJvb3RQYXRoID0gdGhpcy5zeXN0ZW1Db25maWdTZXJ2aWNlLmdldFN5c3RlbUNvbmZpZ1ZhbHVlKEVTeXN0ZW1Db25maWcuRklMRVJPT1RQQVRIKTtcbiAgICAgIGxldCB7IGRhdGEsIGZvcm1TZWN0aW9ucywgY2FyZEluZm8gfTogYW55ID0gdGhpcy5jYXJkO1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVmFsdWVzID0gT2JqZWN0LnZhbHVlcyhFU2VsZWN0RmlsZVR5cGUpO1xuICAgICAgY29uc3QgaGFyZGNvZGVFeHRlbnNpb24gPSBleHRlbnNpb25WYWx1ZXM/LnNvbWUoKGV4dCkgPT4gZXh0Py5pbmNsdWRlcyhjYXJkSW5mbz8uZXh0ZW5zaW9uPy50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICBpZiAoY2FyZEluZm8gJiYgT2JqZWN0LmtleXMoY2FyZEluZm8pLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmRpc3BsYXlDYXJkSW5mbyA9IGNhcmRJbmZvO1xuICAgICAgICBkYXRhID0gdGhpcy5ncmlkU2VydmljZS5zZXREYXRhRmllbGRzKGRhdGEpO1xuICAgICAgICBjb25zdCBuZXdBcnIgPSBbXTtcbiAgICAgICAgZGF0YT8uZm9yRWFjaCgocmVjb3JkKSA9PiB7XG4gICAgICAgICAgaWYgKHJlY29yZC51cmwgJiYgcmVjb3JkLmZpbGVleHRlbnNpb24gJiYgIXJlY29yZC51cmwuaW5jbHVkZXMocmVjb3JkLmZpbGVleHRlbnNpb24pKSB7XG4gICAgICAgICAgICBpZiAocmVjb3JkLmZpbGVleHRlbnNpb24uc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgcmVjb3JkLnVybCA9IHJlY29yZC51cmwgKyByZWNvcmQuZmlsZWV4dGVuc2lvbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlY29yZC51cmwgPSByZWNvcmQudXJsICsgJy4nICsgcmVjb3JkLmZpbGVleHRlbnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghT2JqZWN0LmtleXMocmVjb3JkKT8uaW5jbHVkZXMoJ2F6dXJlY29udGFpbmVyaWQnKSkge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gKGZpbGVSb290UGF0aCArICcvJyArIGZpbGVDb250YWluZXJOYW1lICsgJy8nKT8udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIG5ld0Fyci5wdXNoKHsgLi4ucmVjb3JkLCBibG9iZmlsZXVybDogdXJsICsgcmVjb3JkW2NhcmRJbmZvPy51cmw/LnRvTG93ZXJDYXNlKCldLCBmaWxlY2FwdGlvbjogcmVjb3JkW2NhcmRJbmZvPy5jYXB0aW9uPy50b0xvd2VyQ2FzZSgpXSwgZmlsZWV4dGVuc2lvbjogaGFyZGNvZGVFeHRlbnNpb24gPyBjYXJkSW5mbz8uZXh0ZW5zaW9uPy50b0xvd2VyQ2FzZSgpIDogcmVjb3JkW2NhcmRJbmZvPy5leHRlbnNpb24/LnRvTG93ZXJDYXNlKCldIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdBcnIucHVzaChyZWNvcmQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGF0YSA9IG5ld0FycjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZ3JpZFNlcnZpY2Uuc2V0RGF0YUZpZWxkcyhkYXRhKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZHluYW1pY0Zvcm0gPSB7IGZvcm1TZWN0aW9ucyB9O1xuICAgICAgLy8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGFsbG93RGVsZXRlLCBhbGxvd0VkaXRhYmxlQ2FwdGlvbiBhbmQgYWxsb3dEb3dubG9hZFxuICAgICAgdGhpcy5zZXRDYXJkUHJvcFZhbHVlKCdhbGxvd0Rvd25sb2FkJyk7XG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RGVsZXRlJyk7XG4gICAgICB0aGlzLnNldENhcmRQcm9wVmFsdWUoJ2FsbG93RWRpdGFibGVDYXB0aW9uJyk7XG4gICAgICAvL2ZpbGVzLmFsbG93RWRpdGFibGVDYXB0aW9uID0gdGhpcy5zZXRDYXJkUHJvcFZhbHVlKGZpbGVzLmFsbG93RWRpdGFibGVDYXB0aW9uKTtcbiAgICAgIC8qKiBJbiBjYXNlIG9mIHdoZW4gd2UgYXJlIHVzaW5nIHRoaXMgY29tcG9uZW50IGZvciBzdGFuZCBhbG9uZSB0aGVuIGlmIGZvcm1TZWN0aW9uIGlzIGV4aXN0IGluXG4gICAgICAgICAgdGhlIHRoaXMuY2FyZCBhbmQgdGhlbiBhZGQgaW4gdGhlIGRhdGEgYXJyYXkuXG4gICAgICAqL1xuICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICB0aGlzLmRhdGEuZm9yRWFjaCgoeDogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKCF4LmR5bmFtaWNmb3JtKSB7XG4gICAgICAgICAgICB4LmR5bmFtaWNmb3JtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmR5bmFtaWNGb3JtKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHV0aWxpdGllcy5zZXRDYXJkRmllbGRzRGF0YSh4KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGFsbG93RGVsZXRlLCBhbGxvd0VkaXRhYmxlQ2FwdGlvbiBhbmQgYWxsb3dEb3dubG9hZFxuICBzZXRDYXJkUHJvcFZhbHVlKHByb3A6c3RyaW5nKXtcbiAgIGlmKCF0aGlzLmNhcmRbcHJvcF0/LnRvU3RyaW5nKCk/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jYXJkW3Byb3BdPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRyYWdBbmREcm9wKGV2ZW50OiBhbnkpIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIGV2ZW50Lml0ZW0/LmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5jYXJkLmRhdGEgPSB0aGlzLmRhdGE7XG4gICAgdGhpcy5jYXJkWydjaGFuZ2UnXSA9IHRydWU7XG4gICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQub25Tb3J0KSB7XG4gICAgICB0aGlzLmNhcmQub25Tb3J0KHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlSW1hZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBJbWFnZT8nLFxuICAgICAgaGVhZGVyOiAnRGVsZXRlIENvbmZpcm1hdGlvbicsXG4gICAgICBpY29uOiAncGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGUnLFxuICAgICAga2V5OiAnaGFuZGxlY29sdW1uQWN0aW9ucycsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgICAgIGxldCBhcnIgPSBbLi4udGhpcy5kYXRhXTtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGFyci5maW5kSW5kZXgoXG4gICAgICAgICAgICAoaSkgPT4gaS5ibG9iZmlsZXVybCA9PT0gZXZlbnQuYmxvYmZpbGV1cmxcbiAgICAgICAgICApO1xuICAgICAgICAgIGxldCBvYmogPSBhcnJbaW5kZXhdO1xuICAgICAgICAgIGFyci5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgIHRoaXMuZGF0YSA9IFsuLi5hcnJdO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQub25EZWxldGUpIHtcbiAgICAgICAgICAgIG9iaiA9IHRoaXMucmVwbGFjZVByb3BOYW1lKG9iaik7XG4gICAgICAgICAgICB0aGlzLmNhcmQub25EZWxldGUob2JqKTtcbiAgICAgICAgICAgIC8vIHRoaXMub25EZWxldGVDYXJkLmVtaXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgICB9LFxuICAgICAgcmVqZWN0OiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jbG9zZSgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlcGxhY2VQcm9wTmFtZShjYXJkSW5mbzphbnkpe1xuICAgIGlmKHRoaXMuZGlzcGxheUNhcmRJbmZvICYmIE9iamVjdC5rZXlzKHRoaXMuZGlzcGxheUNhcmRJbmZvKS5sZW5ndGggPiAwKXtcbiAgICAgIGNvbnN0IGNhcmRQcm9wID0gey4uLnRoaXMuZGlzcGxheUNhcmRJbmZvfTtcbiAgICAgIGNvbnN0IGV4dGVuc2lvblZhbHVlcyA9IE9iamVjdC52YWx1ZXMoRVNlbGVjdEZpbGVUeXBlKTtcbiAgICAgIGNvbnN0IGhhcmRjb2RlRXh0ZW5zaW9uID0gZXh0ZW5zaW9uVmFsdWVzPy5zb21lKChleHQpPT4gZXh0Py5pbmNsdWRlcyhjYXJkSW5mbz8uZXh0ZW5zaW9uPy50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICBjb25zdCBvYmogPSB7Li4uY2FyZEluZm8sW2NhcmRQcm9wLnVybF06IGNhcmRJbmZvLmJsb2JmaWxldXJsLFtjYXJkUHJvcC5jYXB0aW9uXTogY2FyZEluZm8uZmlsZWNhcHRpb24sW2NhcmRQcm9wLmV4dGVuc2lvbl06IGhhcmRjb2RlRXh0ZW5zaW9uID8gY2FyZEluZm8/LmV4dGVuc2lvbj8udG9Mb3dlckNhc2UoKSA6IGNhcmRJbmZvPy5maWxlZXh0ZW5zaW9ufTtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjYXJkSW5mbztcbiAgICB9XG4gIH1cblxuICBzYXZlQ2FwdGlvbihldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiBldmVudCkge1xuICAgICAgbGV0IGFyciA9IFsuLi50aGlzLmRhdGFdO1xuICAgICAgY29uc3QgaW5kZXggPSBhcnIuZmluZEluZGV4KChpKSA9PiBpLmJsb2JmaWxldXJsID09PSBldmVudC5ibG9iZmlsZXVybCk7XG4gICAgICBsZXQgb2JqID0gYXJyW2luZGV4XTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgb2JqLmZpbGVjYXB0aW9uID0gZXZlbnQuY2FwdGlvbjtcbiAgICAgICAgYXJyLnNwbGljZShpbmRleCwgMSwgb2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLmRhdGEgPSBhcnI7XG4gICAgICAgIHRoaXMuY2FyZFsnY2hhbmdlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2FyZCAmJiB0aGlzLmNhcmQ/Lm9uQ2FwdGlvblNhdmUpIHtcbiAgICAgICAgb2JqID0gdGhpcy5yZXBsYWNlUHJvcE5hbWUob2JqKTtcbiAgICAgICAgdGhpcy5jYXJkLm9uQ2FwdGlvblNhdmUob2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNsaWNrRXZlbnQoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKXtcbiAgICBkYXRhWydpbmRleCddID0gaW5kZXg7XG4gICAgdGhpcy5zZWxlY3RlZENhcmQuZW1pdChkYXRhKTtcbiAgfVxuXG59XG4iLCI8IS0tIERpc3BsYXkgRmlsZXMgQ2FyZCAtLT5cbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiaGFuZGxlY29sdW1uQWN0aW9uc1wiPjwvcC1jb25maXJtRGlhbG9nPlxuPGRpdlxuICBjbGFzcz1cImNhcmQtbWFpbi13cmFwcGVyXCJcbiAgY2RrRHJvcExpc3RcbiAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICBjbGFzcz1cImV4YW1wbGUtbGlzdFwiXG4gIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJhZ0FuZERyb3AoJGV2ZW50KVwiXG4+XG4gIDxkaXYgXG4gIGNsYXNzPVwiZmxleCBjYXJkcy13cmFwcGVyXCIgXG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9XCIgXG4gICpuZ0lmPVwiZGF0YVwiIFxuICBbY2xhc3NdPVwiY2FyZCAmJiBjYXJkLmNsYXNzID8gY2FyZC5jbGFzcyA6ICcnXCI+XG4gICAgPGRpdlxuICAgICAgY2RrRHJhZ1xuICAgICAgY2xhc3M9XCJleGFtcGxlLWJveCBmbGV4IGZsZXgtY29sdW1uIGNhcmRzLXdyYXBwZXJcIlxuICAgICAgW2NsYXNzXT1cIlxuICAgICAgICBjYXJkICYmIGNhcmQud2lkdGggJiYgY2FyZC53aWR0aC5sZW5ndGggPiAwXG4gICAgICAgICAgPyAnY29sLScgKyBjYXJkLndpZHRoXG4gICAgICAgICAgOiAnY29sLTMnXG4gICAgICBcIlxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgZGF0YTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAoY2xpY2spPVwib25DbGlja0V2ZW50KGZpbGUsaSlcIlxuICAgICAgW25nQ2xhc3NdPVwiZmlsZS5zZWxlY3RlZENhcmQgPyBmaWxlLnNlbGVjdGVkQ2FyZCA6ICcnXCJcbiAgICA+XG4gICAgICA8IS0tIHN0YXJ0IGNhcmRzIGltYWdlIGZ1bmN0aW9uYWxpdHkgLS0+XG4gICAgICA8c2UtZmlsZVxuICAgICAgICBbdXJsXT1cImZpbGUuYmxvYmZpbGV1cmxcIlxuICAgICAgICBbdHlwZV09XCJmaWxlLmZpbGVleHRlbnNpb25cIlxuICAgICAgICBbY2FwdGlvbl09XCJmaWxlPy5maWxlY2FwdGlvblwiXG4gICAgICAgIFtoZWlnaHRdPVwiY2FyZD8uaGVpZ2h0XCJcbiAgICAgICAgW2FsbG93RG93bmxvYWRGaWxlXT1cImNhcmQ/LmFsbG93RG93bmxvYWRcIlxuICAgICAgICBbYWxsb3dFZGl0YWJsZUNhcHRpb25dPVwiY2FyZD8uYWxsb3dFZGl0YWJsZUNhcHRpb25cIlxuICAgICAgICBbYWxsb3dEZWxldGVGaWxlXT1cImNhcmQ/LmFsbG93RGVsZXRlXCJcbiAgICAgICAgW25hbWVdPVwiZmlsZS5ibG9iZmlsZXVybFwiXG4gICAgICAgIFtpZF09XCJmaWxlLmZpbGVleHRlbnNpb25cIlxuICAgICAgICAob25EZWxldGVFdmVudCk9XCJkZWxldGVJbWFnZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2F2ZUV2ZW50KT1cInNhdmVDYXB0aW9uKCRldmVudClcIlxuICAgICAgPjwvc2UtZmlsZT5cbiAgICAgIDwhLS0gRW5kIGNhcmRzIGltYWdlIGZ1bmN0aW9uYWxpdHkgLS0+XG5cbiAgICAgIDwhLS0gc3RhcnQgZm9ybSBmdW5jdGlvbmFsaXR5IGluIGNhcmQgLS0+XG4gICAgICA8c2UtZm9ybS11dGlsXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250ZW50XCJcbiAgICAgICAgW2Zvcm1dPVwiZmlsZS5keW5hbWljZm9ybVwiXG4gICAgICAgIFtoaWRlU2F2ZUJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4gICAgICA+PC9zZS1mb3JtLXV0aWw+XG4gICAgICA8IS0tIEVuZCBmb3JtIGZ1bmN0aW9uYWxpdHkgaW4gY2FyZCAtLT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBpbiBjYXNlIG9mIGZvcm0gYW5kIGRhdGEgaXMgZW1wdHkgb3IgbnVsbCAtLT5cbiAgPGRpdiAqbmdJZj1cImR5bmFtaWNGb3JtICYmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA9PSAwKVwiPlxuICAgIDxzZS1mb3JtLXV0aWxcbiAgICAgICpuZ0lmPVwiZHluYW1pY0Zvcm1cIlxuICAgICAgW2Zvcm1dPVwiZHluYW1pY0Zvcm1cIlxuICAgICAgW2hpZGVTYXZlQnV0dG9uXT1cInRydWVcIlxuICAgICAgW2hpZGVDYW5jZWxCdXR0b25dPVwidHJ1ZVwiXG4gICAgPjwvc2UtZm9ybS11dGlsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ESelectFileType } from '../../../models/form.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "primeng/api";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "primeng/button";
|
|
8
|
+
import * as i5 from "primeng/inputtext";
|
|
9
|
+
import * as i6 from "primeng/card";
|
|
10
|
+
export class fileComponent {
|
|
11
|
+
constructor(confirmationService) {
|
|
12
|
+
this.confirmationService = confirmationService;
|
|
13
|
+
this.url = '';
|
|
14
|
+
this.caption = '';
|
|
15
|
+
this.width = '';
|
|
16
|
+
this.height = '200px';
|
|
17
|
+
this.onDeleteEvent = new EventEmitter();
|
|
18
|
+
this.onSaveEvent = new EventEmitter();
|
|
19
|
+
this.name = '';
|
|
20
|
+
this.allowDownloadFile = true;
|
|
21
|
+
this.allowEditableCaption = true;
|
|
22
|
+
this.allowDeleteFile = true;
|
|
23
|
+
this.editableCaption = false;
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.checkFileExtension();
|
|
27
|
+
}
|
|
28
|
+
checkFileExtension() {
|
|
29
|
+
switch (this.type) {
|
|
30
|
+
case 'png':
|
|
31
|
+
case 'jpeg':
|
|
32
|
+
case 'jfif':
|
|
33
|
+
case 'jpg': {
|
|
34
|
+
this.type = '.image';
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
case 'xlsx':
|
|
38
|
+
case 'xls':
|
|
39
|
+
case 'xlsm':
|
|
40
|
+
case 'txt': {
|
|
41
|
+
this.type = ESelectFileType.EXCEL;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case 'pdf':
|
|
45
|
+
case 'html': {
|
|
46
|
+
this.type = ESelectFileType.PDF;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case 'doc':
|
|
50
|
+
case 'docx': {
|
|
51
|
+
this.type = ESelectFileType.DOCUMENT;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
downloadFile(url) {
|
|
57
|
+
const link = document.createElement('a');
|
|
58
|
+
link.href = url;
|
|
59
|
+
link.target = '_blank';
|
|
60
|
+
link.click();
|
|
61
|
+
}
|
|
62
|
+
captionClickEvent() {
|
|
63
|
+
if (this.allowEditableCaption) {
|
|
64
|
+
this.editableCaption = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
captionSave(id, name, url, type, caption) {
|
|
68
|
+
let obj = {
|
|
69
|
+
id: id,
|
|
70
|
+
name: name,
|
|
71
|
+
blobfileurl: url,
|
|
72
|
+
type: type,
|
|
73
|
+
caption: caption,
|
|
74
|
+
};
|
|
75
|
+
if (caption !== null) {
|
|
76
|
+
this.caption = caption;
|
|
77
|
+
this.editableCaption = false;
|
|
78
|
+
this.onSaveEvent.emit(obj);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
onDeleteFile(id, name, url, type, caption) {
|
|
82
|
+
let obj = {
|
|
83
|
+
id: id,
|
|
84
|
+
name: name,
|
|
85
|
+
blobfileurl: url,
|
|
86
|
+
type: type,
|
|
87
|
+
caption: caption,
|
|
88
|
+
};
|
|
89
|
+
this.onDeleteEvent.emit(obj);
|
|
90
|
+
}
|
|
91
|
+
cancel() {
|
|
92
|
+
this.editableCaption = false;
|
|
93
|
+
}
|
|
94
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: fileComponent, deps: [{ token: i1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: fileComponent, selector: "se-file", inputs: { url: "url", caption: "caption", width: "width", height: "height", id: "id", name: "name", type: "type", allowDownloadFile: "allowDownloadFile", allowEditableCaption: "allowEditableCaption", allowDeleteFile: "allowDeleteFile" }, outputs: { onDeleteEvent: "onDeleteEvent", onSaveEvent: "onSaveEvent" }, ngImport: i0, template: "<div class=\"flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'col-' + width : 'col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"flex flex-column align-items-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i5.InputText, selector: "[pInputText]" }, { kind: "component", type: i6.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }] }); }
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: fileComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'se-file', template: "<div class=\"flex cards-wrapper\">\n <div\n class=\"example-box\"\n [class]=\"width && width.length > 0 ? 'col-' + width : 'col-12'\"\n >\n <p-card class=\"custom-card\">\n <div class=\"image-wrapper\">\n <!-- Start image file type cases -->\n <div [ngSwitch]=\"type\">\n <img\n alt=\"ImageCard\"\n [src]=\"url\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.image'\"\n [ngStyle]=\"{ height: height }\"\n />\n\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/pdf-file.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.pdf'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/xls.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.excel'\"\n [ngStyle]=\"{ height: height }\"\n />\n <img\n alt=\"ImageCard\"\n src=\"../../../../assets/images/doc.png\"\n [name]=\"name\"\n [id]=\"id\"\n *ngSwitchCase=\"'.document'\"\n [ngStyle]=\"{ height: height }\"\n />\n </div>\n <!-- End image file type cases -->\n\n <!-- start caption functionality-->\n <div class=\"edit-caption\">\n <h4\n class=\"example-box\"\n (click)=\"captionClickEvent()\"\n [title]=\"caption\"\n *ngIf=\"!editableCaption\"\n >\n {{ caption }}\n </h4>\n <div\n class=\"flex flex-column align-items-end\" \n *ngIf=\"editableCaption && allowEditableCaption\"\n >\n <input\n type=\"text\"\n name=\"caption\"\n [(ngModel)]=\"caption\"\n pInputText\n (blur)=\"captionSave(id, name, url, type, caption)\"\n />\n <div class=\"icons\">\n <i\n class=\"pi pi-check\"\n (click)=\"captionSave(id, name, url, type, caption)\"\n ></i>\n <i class=\"pi pi-times\" (click)=\"cancel()\"></i>\n </div>\n </div>\n <!-- End caption functionality-->\n\n <!-- start header action button functionality -->\n <div class=\"action-buttons\">\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-arrow-circle-down\"\n (click)=\"downloadFile(url)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDownloadFile\"\n ></button>\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n (click)=\"onDeleteFile(id, name, url, type, caption)\"\n class=\"p-button-rounded p-button-text\"\n *ngIf=\"allowDeleteFile\"\n ></button>\n </div>\n <!-- End header action button functionality -->\n </div>\n </div>\n </p-card>\n </div>\n</div>\n", styles: [":host ::ng-deep .custom-card .action-buttons{visibility:hidden}:host ::ng-deep .custom-card .image-wrapper:hover .action-buttons{visibility:visible}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.ConfirmationService }]; }, propDecorators: { url: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], caption: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], width: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], height: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], onDeleteEvent: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}], onSaveEvent: [{
|
|
111
|
+
type: Output
|
|
112
|
+
}], id: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], name: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], type: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], allowDownloadFile: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], allowEditableCaption: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], allowDeleteFile: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}] } });
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFPN0QsTUFBTSxPQUFPLGFBQWE7SUFleEIsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFkbkQsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUN4QixrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ3pDLG9CQUFlLEdBQVksS0FBSyxDQUFDO0lBRThCLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pC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QWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRVNlbGVjdEZpbGVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIGZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB1cmw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG4gIEBPdXRwdXQoKSBvbkRlbGV0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU2F2ZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgaWQ6IG51bWJlcjtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHR5cGU6IGFueTtcbiAgQElucHV0KCkgYWxsb3dEb3dubG9hZEZpbGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd0VkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93RGVsZXRlRmlsZTogYm9vbGVhbiA9IHRydWU7XG4gIGVkaXRhYmxlQ2FwdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrRmlsZUV4dGVuc2lvbigpO1xuICB9XG5cbiAgY2hlY2tGaWxlRXh0ZW5zaW9uKCkge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICBjYXNlICdqZmlmJzpcbiAgICAgIGNhc2UgJ2pwZyc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gJy5pbWFnZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAneGxzeCc6XG4gICAgICBjYXNlICd4bHMnOlxuICAgICAgY2FzZSAneGxzbSc6XG4gICAgICBjYXNlICd0eHQnOiB7XG4gICAgICAgIHRoaXMudHlwZSA9IEVTZWxlY3RGaWxlVHlwZS5FWENFTDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwZGYnOlxuICAgICAgY2FzZSAnaHRtbCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLlBERjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdkb2MnOlxuICAgICAgY2FzZSAnZG9jeCc6IHtcbiAgICAgICAgdGhpcy50eXBlID0gRVNlbGVjdEZpbGVUeXBlLkRPQ1VNRU5UO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgbGluay5jbGljaygpO1xuICB9XG5cbiAgY2FwdGlvbkNsaWNrRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dFZGl0YWJsZUNhcHRpb24pIHtcbiAgICAgIHRoaXMuZWRpdGFibGVDYXB0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBjYXB0aW9uU2F2ZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgaWYoY2FwdGlvbiAhPT0gbnVsbCl7XG4gICAgICB0aGlzLmNhcHRpb24gPSBjYXB0aW9uO1xuICAgICAgdGhpcy5lZGl0YWJsZUNhcHRpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMub25TYXZlRXZlbnQuZW1pdChvYmopO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVsZXRlRmlsZShcbiAgICBpZDogbnVtYmVyLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB0eXBlOiBhbnksXG4gICAgY2FwdGlvbjogc3RyaW5nXG4gICkge1xuICAgIGxldCBvYmogPSB7XG4gICAgICBpZDogaWQsXG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgYmxvYmZpbGV1cmw6IHVybCxcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICBjYXB0aW9uOiBjYXB0aW9uLFxuICAgIH07XG4gICAgdGhpcy5vbkRlbGV0ZUV2ZW50LmVtaXQob2JqKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmVkaXRhYmxlQ2FwdGlvbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBjYXJkcy13cmFwcGVyXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImV4YW1wbGUtYm94XCJcbiAgICBbY2xhc3NdPVwid2lkdGggJiYgd2lkdGgubGVuZ3RoID4gMCA/ICdjb2wtJyArIHdpZHRoIDogJ2NvbC0xMidcIlxuICA+XG4gICAgPHAtY2FyZCBjbGFzcz1cImN1c3RvbS1jYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utd3JhcHBlclwiPlxuICAgICAgICA8IS0tIFN0YXJ0IGltYWdlIGZpbGUgdHlwZSBjYXNlcyAtLT5cbiAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGFsdD1cIkltYWdlQ2FyZFwiXG4gICAgICAgICAgICBbc3JjXT1cInVybFwiXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJy5pbWFnZSdcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiSW1hZ2VDYXJkXCJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvcGRmLWZpbGUucG5nXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInLnBkZidcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGFsdD1cIkltYWdlQ2FyZFwiXG4gICAgICAgICAgICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3hscy5wbmdcIlxuICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIicuZXhjZWwnXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBhbHQ9XCJJbWFnZUNhcmRcIlxuICAgICAgICAgICAgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9kb2MucG5nXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInLmRvY3VtZW50J1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0IH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEVuZCBpbWFnZSBmaWxlIHR5cGUgY2FzZXMgLS0+XG5cbiAgICAgICAgPCEtLSBzdGFydCBjYXB0aW9uIGZ1bmN0aW9uYWxpdHktLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVkaXQtY2FwdGlvblwiPlxuICAgICAgICAgIDxoNFxuICAgICAgICAgICAgY2xhc3M9XCJleGFtcGxlLWJveFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2FwdGlvbkNsaWNrRXZlbnQoKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiY2FwdGlvblwiXG4gICAgICAgICAgICAqbmdJZj1cIiFlZGl0YWJsZUNhcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGNhcHRpb24gfX1cbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtZW5kXCIgXG4gICAgICAgICAgKm5nSWY9XCJlZGl0YWJsZUNhcHRpb24gJiYgYWxsb3dFZGl0YWJsZUNhcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjYXB0aW9uXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYXB0aW9uXCJcbiAgICAgICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgICAgICAoYmx1cik9XCJjYXB0aW9uU2F2ZShpZCwgbmFtZSwgdXJsLCB0eXBlLCBjYXB0aW9uKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25zXCI+XG4gICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwaSBwaS1jaGVja1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhcHRpb25TYXZlKGlkLCBuYW1lLCB1cmwsIHR5cGUsIGNhcHRpb24pXCJcbiAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIChjbGljayk9XCJjYW5jZWwoKVwiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gRW5kIGNhcHRpb24gZnVuY3Rpb25hbGl0eS0tPlxuXG4gICAgICAgICAgPCEtLSBzdGFydCBoZWFkZXIgYWN0aW9uIGJ1dHRvbiBmdW5jdGlvbmFsaXR5IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktYXJyb3ctY2lyY2xlLWRvd25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRGaWxlKHVybClcIlxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dEb3dubG9hZEZpbGVcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktdHJhc2hcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGVGaWxlKGlkLCBuYW1lLCB1cmwsIHR5cGUsIGNhcHRpb24pXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHRcIlxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93RGVsZXRlRmlsZVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBFbmQgaGVhZGVyIGFjdGlvbiBidXR0b24gZnVuY3Rpb25hbGl0eSAtLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3AtY2FyZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../services/request.service";
|
|
4
|
+
import * as i2 from "../../../services/alert.service";
|
|
5
|
+
import * as i3 from "primeng/inputtext";
|
|
6
|
+
export class FileUploadComponent {
|
|
7
|
+
constructor(requestService, alertService) {
|
|
8
|
+
this.requestService = requestService;
|
|
9
|
+
this.alertService = alertService;
|
|
10
|
+
this.allowMultiple = false;
|
|
11
|
+
this.fileUrl = new EventEmitter();
|
|
12
|
+
this.uploadFileOnReturn = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() { }
|
|
15
|
+
uploadFile(files) {
|
|
16
|
+
let fileData = new FormData();
|
|
17
|
+
let chooseFile = false;
|
|
18
|
+
for (let i = 0; i < files.length; i++) {
|
|
19
|
+
if (files[i]) {
|
|
20
|
+
chooseFile = true;
|
|
21
|
+
fileData.append(files[i].name, files[i]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (fileData && chooseFile) {
|
|
25
|
+
if (this.fields && this.fields.uniqueKey?.length > 0) {
|
|
26
|
+
fileData.append('uniqueKey', this.fields?.uniqueKey);
|
|
27
|
+
}
|
|
28
|
+
else if (this.fields && this.fields.pathSystemConfig?.length > 0) {
|
|
29
|
+
fileData.append('azureContainer', this.fields.pathSystemConfig);
|
|
30
|
+
}
|
|
31
|
+
this.requestService.get('/Upload', fileData).subscribe((data) => {
|
|
32
|
+
if (data) {
|
|
33
|
+
this.alertService.success('File Upload Successfully.');
|
|
34
|
+
if (this.fields?.onReturn) {
|
|
35
|
+
this.fields.onReturn(data.results);
|
|
36
|
+
this.uploadFileOnReturn.emit();
|
|
37
|
+
}
|
|
38
|
+
this.fileUrl.emit(data.results);
|
|
39
|
+
}
|
|
40
|
+
}, ({ error }) => {
|
|
41
|
+
this.alertService.apiError(error);
|
|
42
|
+
if (this.fields.onReturn) {
|
|
43
|
+
this.fields.onReturn(error);
|
|
44
|
+
this.uploadFileOnReturn.emit();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
onClickEvent() {
|
|
50
|
+
if (this.fields && this.fields.onClick) {
|
|
51
|
+
this.fields.onClick();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.RequestService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: FileUploadComponent, selector: "se-file-upload", inputs: { acceptFileTypes: "acceptFileTypes", allowMultiple: "allowMultiple", fields: "fields" }, outputs: { fileUrl: "fileUrl", uploadFileOnReturn: "uploadFileOnReturn" }, ngImport: i0, template: "<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.InputText, selector: "[pInputText]" }] }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: 'se-file-upload', template: "<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n" }]
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i1.RequestService }, { type: i2.AlertService }]; }, propDecorators: { acceptFileTypes: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], allowMultiple: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], fields: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], fileUrl: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}], uploadFileOnReturn: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUy9FLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsWUFDVSxjQUE4QixFQUM5QixZQUEwQjtRQUQxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFQM0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFOUIsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS2xFLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUVuQixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLFFBQVEsR0FBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksVUFBVSxHQUFXLEtBQUssQ0FBQztRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWixVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUM7U0FDRjtRQUVELElBQUksUUFBUSxJQUFJLFVBQVUsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDcEQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQzthQUN0RDtpQkFBSyxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFDO2dCQUMvRCxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFhLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2hFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTt3QkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ2hDO29CQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2hDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO2lJQXZEVSxtQkFBbUI7cUhBQW5CLG1CQUFtQixtT0NUaEMsbVBBV0E7OzJGREZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7Z0lBS2pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFU2VsZWN0RmlsZVR5cGUsIElGb3JtRmllbGQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFjY2VwdEZpbGVUeXBlczogYW55O1xuICBASW5wdXQoKSBhbGxvd011bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZpZWxkczogYW55O1xuICBAT3V0cHV0KCkgZmlsZVVybDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB1cGxvYWRGaWxlT25SZXR1cm46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVxdWVzdFNlcnZpY2U6IFJlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICB1cGxvYWRGaWxlKGZpbGVzOiBhbnkpIHtcbiAgICBsZXQgZmlsZURhdGEgPSAgbmV3IEZvcm1EYXRhKCk7IFxuICAgIGxldCBjaG9vc2VGaWxlOmJvb2xlYW4gPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoZmlsZXNbaV0pIHtcbiAgICAgICAgY2hvb3NlRmlsZSA9IHRydWU7XG4gICAgICAgIGZpbGVEYXRhLmFwcGVuZChmaWxlc1tpXS5uYW1lLCBmaWxlc1tpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZpbGVEYXRhICYmIGNob29zZUZpbGUpIHtcbiAgICAgIGlmICh0aGlzLmZpZWxkcyAmJiB0aGlzLmZpZWxkcy51bmlxdWVLZXk/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZmlsZURhdGEuYXBwZW5kKCd1bmlxdWVLZXknLCB0aGlzLmZpZWxkcz8udW5pcXVlS2V5KTtcbiAgICAgIH1lbHNlIGlmKHRoaXMuZmllbGRzICYmIHRoaXMuZmllbGRzLnBhdGhTeXN0ZW1Db25maWc/Lmxlbmd0aCA+IDApe1xuICAgICAgICBmaWxlRGF0YS5hcHBlbmQoJ2F6dXJlQ29udGFpbmVyJywgdGhpcy5maWVsZHMucGF0aFN5c3RlbUNvbmZpZyk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlcXVlc3RTZXJ2aWNlLmdldDxhbnlbXSwgYW55PignL1VwbG9hZCcsIGZpbGVEYXRhKS5zdWJzY3JpYmUoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcygnRmlsZSBVcGxvYWQgU3VjY2Vzc2Z1bGx5LicpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGRzPy5vblJldHVybikge1xuICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5vblJldHVybihkYXRhLnJlc3VsdHMpO1xuICAgICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVPblJldHVybi5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpbGVVcmwuZW1pdChkYXRhLnJlc3VsdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKHsgZXJyb3IgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFwaUVycm9yKGVycm9yKTtcbiAgICAgICAgICBpZiAodGhpcy5maWVsZHMub25SZXR1cm4pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRzLm9uUmV0dXJuKGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZU9uUmV0dXJuLmVtaXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIG9uQ2xpY2tFdmVudCgpIHtcbiAgICBpZiAodGhpcy5maWVsZHMgJiYgdGhpcy5maWVsZHMub25DbGljaykge1xuICAgICAgdGhpcy5maWVsZHMub25DbGljaygpO1xuICAgIH1cbiAgfSAgXG59XG4iLCI8IS0tIGZpbGUgVXBsb2FkIENvbXBvbmVudC0tPlxuPGlucHV0XG4gIHBJbnB1dFRleHRcbiAgI2ZpbGVJbnB1dFxuICB0eXBlPVwiZmlsZVwiXG4gIGlkPVwiZmlsZVwiXG4gIFthY2NlcHRdPVwiYWNjZXB0RmlsZVR5cGVzXCJcbiAgW211bHRpcGxlXT1cImFsbG93TXVsdGlwbGVcIlxuICAoY2hhbmdlKT1cInVwbG9hZEZpbGUoZmlsZUlucHV0LmZpbGVzKVwiXG4gIChjbGljayk9XCJvbkNsaWNrRXZlbnQoKVwiXG4vPlxuIl19
|