keevo-components 2.0.15 → 2.0.17
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/keevo-components.mjs +5 -0
- package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
- package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
- package/esm2022/lib/api/base-components/base-component-crud-form.mjs +302 -0
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
- package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
- package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
- package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
- package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
- package/esm2022/lib/api/base-components/base-component.mjs +51 -0
- package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
- package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
- package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
- package/esm2022/lib/api/components/table/action-item.mjs +2 -0
- package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
- package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.mjs +2 -0
- package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
- package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
- package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
- package/esm2022/lib/api/directives/directives.module.mjs +30 -0
- package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
- package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
- package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
- package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
- package/esm2022/lib/api/helpers/keevo-validators.mjs +131 -0
- package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
- package/esm2022/lib/api/modules/primeng.module.mjs +275 -0
- package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
- package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
- package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
- package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
- package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
- package/esm2022/lib/api/services/base.api.service.mjs +74 -0
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
- package/esm2022/lib/api/services/chat.service.mjs +37 -0
- package/esm2022/lib/api/services/component.service.mjs +37 -0
- package/esm2022/lib/api/services/docs.service.mjs +129 -0
- package/esm2022/lib/api/services/form.service.mjs +95 -0
- package/esm2022/lib/api/services/image.cutter.service.mjs +191 -0
- package/esm2022/lib/api/services/imagens.service.mjs +28 -0
- package/esm2022/lib/api/services/notification.service.mjs +69 -0
- package/esm2022/lib/api/services/object.service.mjs +39 -0
- package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
- package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
- package/esm2022/lib/components/keevo-components.module.mjs +207 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +133 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
- package/esm2022/lib/components/kv-button/kv-button.component.mjs +24 -0
- package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
- package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +35 -0
- package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
- package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +143 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +36 -0
- package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
- package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +162 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +18 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +135 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +150 -0
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +47 -0
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +131 -0
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +57 -0
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
- package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +36 -0
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
- package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
- package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
- package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
- package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +430 -0
- package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
- package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
- package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
- package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
- package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
- package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
- package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +217 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +144 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
- package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
- package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +323 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +331 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
- package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
- package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
- package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
- package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
- package/esm2022/public-api.mjs +256 -0
- package/fesm2022/keevo-components.mjs +6 -2
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-table/kv-table.component.d.ts +1 -1
- package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "primeng/api";
|
|
4
|
+
export class NotificationService {
|
|
5
|
+
constructor(confirmationService, messageService) {
|
|
6
|
+
this.confirmationService = confirmationService;
|
|
7
|
+
this.messageService = messageService;
|
|
8
|
+
}
|
|
9
|
+
question(config) {
|
|
10
|
+
this.confirmationService.confirm({
|
|
11
|
+
header: config.type === 'alert' ? 'Atenção' : 'Confirmação',
|
|
12
|
+
icon: `pi ${config.type === 'alert' ? 'pi-exclamation-triangle' : 'pi-question-circle'}`,
|
|
13
|
+
acceptLabel: 'Sim',
|
|
14
|
+
acceptButtonStyleClass: ' kv-button primary normal',
|
|
15
|
+
rejectLabel: 'Não',
|
|
16
|
+
rejectButtonStyleClass: ' kv-button tertiary normal',
|
|
17
|
+
...config,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
dialog(config) {
|
|
21
|
+
let dialogHeader;
|
|
22
|
+
let dialogIcon;
|
|
23
|
+
switch (config.type) {
|
|
24
|
+
case 'alert':
|
|
25
|
+
dialogHeader = 'Atenção';
|
|
26
|
+
dialogIcon = 'pi pi-exclamation-triangle';
|
|
27
|
+
break;
|
|
28
|
+
case 'info':
|
|
29
|
+
dialogHeader = 'Informação';
|
|
30
|
+
dialogIcon = 'pi pi-info-circle';
|
|
31
|
+
break;
|
|
32
|
+
case 'error':
|
|
33
|
+
dialogHeader = 'Erro';
|
|
34
|
+
dialogIcon = 'pi pi-times-circle';
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
this.confirmationService.confirm({
|
|
38
|
+
header: dialogHeader,
|
|
39
|
+
icon: dialogIcon,
|
|
40
|
+
acceptLabel: 'Ok',
|
|
41
|
+
acceptButtonStyleClass: ' kv-button primary normal',
|
|
42
|
+
rejectVisible: false,
|
|
43
|
+
closeOnEscape: false,
|
|
44
|
+
message: config.message,
|
|
45
|
+
accept: () => config.accept && config.accept()
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
toastSuccess(message, time = 4000) {
|
|
49
|
+
this.messageService.add({ severity: 'success', summary: 'Sucesso', detail: message, life: time });
|
|
50
|
+
}
|
|
51
|
+
toastInfo(message, time = 4000) {
|
|
52
|
+
this.messageService.add({ severity: 'info', summary: 'Info', detail: message, life: time });
|
|
53
|
+
}
|
|
54
|
+
toastWarn(message, time = 4000) {
|
|
55
|
+
this.messageService.add({ severity: 'warn', summary: 'Aviso', detail: message, life: time });
|
|
56
|
+
}
|
|
57
|
+
toastError(message, time = 4000) {
|
|
58
|
+
this.messageService.add({ severity: 'error', summary: 'Erro', detail: message, life: time });
|
|
59
|
+
}
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NotificationService, deps: [{ token: i1.ConfirmationService }, { token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: NotificationService, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{
|
|
66
|
+
providedIn: 'root',
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: () => [{ type: i1.ConfirmationService }, { type: i1.MessageService }] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF1QnpELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDbUIsbUJBQXdDLEVBQ3hDLGNBQThCO1FBRDlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQzdDLENBQUM7SUFFTCxRQUFRLENBQUMsTUFBc0I7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztZQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYTtZQUMzRCxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFO1lBQ3hGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLHNCQUFzQixFQUFFLDJCQUEyQjtZQUNuRCxXQUFXLEVBQUUsS0FBSztZQUNsQixzQkFBc0IsRUFBRSw0QkFBNEI7WUFDcEQsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFvQjtRQUN6QixJQUFJLFlBQW9CLENBQUM7UUFDekIsSUFBSSxVQUFrQixDQUFDO1FBRXZCLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssT0FBTztnQkFDVixZQUFZLEdBQUcsU0FBUyxDQUFDO2dCQUN6QixVQUFVLEdBQUcsNEJBQTRCLENBQUM7Z0JBQzFDLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFDNUIsVUFBVSxHQUFHLG1CQUFtQixDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLFlBQVksR0FBRyxNQUFNLENBQUM7Z0JBQ3RCLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQztnQkFDbEMsTUFBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLHNCQUFzQixFQUFFLDJCQUEyQjtZQUNuRCxhQUFhLEVBQUUsS0FBSztZQUNwQixhQUFhLEVBQUUsS0FBSztZQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWUsRUFBRSxPQUFlLElBQUk7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWUsRUFBRSxPQUFlLElBQUk7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWUsRUFBRSxPQUFlLElBQUk7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWUsRUFBRSxPQUFlLElBQUk7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDOzhHQS9EVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29uZmlybWF0aW9uU2VydmljZSxcclxuICBNZXNzYWdlU2VydmljZVxyXG59IGZyb20gXCJwcmltZW5nL2FwaVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbkNvbmZpZyB7XHJcbiAgdHlwZT86ICdxdWVzdGlvbicgfCAnYWxlcnQnO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBhY2NlcHQ/OiBGdW5jdGlvbjtcclxuICByZWplY3Q/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb25maWcge1xyXG4gIHR5cGU6ICdpbmZvJyB8ICdhbGVydCcgfCAnZXJyb3InO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBhY2NlcHQ/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgKSB7IH1cclxuXHJcbiAgcXVlc3Rpb24oY29uZmlnOiBRdWVzdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xyXG4gICAgICBoZWFkZXI6IGNvbmZpZy50eXBlID09PSAnYWxlcnQnID8gJ0F0ZW7Dp8OjbycgOiAnQ29uZmlybWHDp8OjbycsXHJcbiAgICAgIGljb246IGBwaSAke2NvbmZpZy50eXBlID09PSAnYWxlcnQnID8gJ3BpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJyA6ICdwaS1xdWVzdGlvbi1jaXJjbGUnfWAsXHJcbiAgICAgIGFjY2VwdExhYmVsOiAnU2ltJyxcclxuICAgICAgYWNjZXB0QnV0dG9uU3R5bGVDbGFzczogJyBrdi1idXR0b24gcHJpbWFyeSBub3JtYWwnLFxyXG4gICAgICByZWplY3RMYWJlbDogJ07Do28nLFxyXG4gICAgICByZWplY3RCdXR0b25TdHlsZUNsYXNzOiAnIGt2LWJ1dHRvbiB0ZXJ0aWFyeSBub3JtYWwnLFxyXG4gICAgICAuLi5jb25maWcsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpYWxvZyhjb25maWc6IERpYWxvZ0NvbmZpZykge1xyXG4gICAgbGV0IGRpYWxvZ0hlYWRlcjogc3RyaW5nO1xyXG4gICAgbGV0IGRpYWxvZ0ljb246IHN0cmluZztcclxuXHJcbiAgICBzd2l0Y2ggKGNvbmZpZy50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2FsZXJ0JzpcclxuICAgICAgICBkaWFsb2dIZWFkZXIgPSAnQXRlbsOnw6NvJztcclxuICAgICAgICBkaWFsb2dJY29uID0gJ3BpIHBpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnaW5mbyc6XHJcbiAgICAgICAgZGlhbG9nSGVhZGVyID0gJ0luZm9ybWHDp8Ojbyc7XHJcbiAgICAgICAgZGlhbG9nSWNvbiA9ICdwaSBwaS1pbmZvLWNpcmNsZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgICBkaWFsb2dIZWFkZXIgPSAnRXJybyc7XHJcbiAgICAgICAgZGlhbG9nSWNvbiA9ICdwaSBwaS10aW1lcy1jaXJjbGUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcclxuICAgICAgaGVhZGVyOiBkaWFsb2dIZWFkZXIsXHJcbiAgICAgIGljb246IGRpYWxvZ0ljb24sXHJcbiAgICAgIGFjY2VwdExhYmVsOiAnT2snLFxyXG4gICAgICBhY2NlcHRCdXR0b25TdHlsZUNsYXNzOiAnIGt2LWJ1dHRvbiBwcmltYXJ5IG5vcm1hbCcsXHJcbiAgICAgIHJlamVjdFZpc2libGU6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcclxuICAgICAgbWVzc2FnZTogY29uZmlnLm1lc3NhZ2UsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4gY29uZmlnLmFjY2VwdCAmJiBjb25maWcuYWNjZXB0KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9hc3RTdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdGltZTogbnVtYmVyID0gNDAwMCkge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnU3VjZXNzbycsIGRldGFpbDogbWVzc2FnZSwgbGlmZTogdGltZSB9KTtcclxuICB9XHJcblxyXG4gIHRvYXN0SW5mbyhtZXNzYWdlOiBzdHJpbmcsIHRpbWU6IG51bWJlciA9IDQwMDApIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdpbmZvJywgc3VtbWFyeTogJ0luZm8nLCBkZXRhaWw6IG1lc3NhZ2UsIGxpZmU6IHRpbWUgfSk7XHJcbiAgfVxyXG5cclxuICB0b2FzdFdhcm4obWVzc2FnZTogc3RyaW5nLCB0aW1lOiBudW1iZXIgPSA0MDAwKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnd2FybicsIHN1bW1hcnk6ICdBdmlzbycsIGRldGFpbDogbWVzc2FnZSwgbGlmZTogdGltZSB9KTtcclxuICB9XHJcblxyXG4gIHRvYXN0RXJyb3IobWVzc2FnZTogc3RyaW5nLCB0aW1lOiBudW1iZXIgPSA0MDAwKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnRXJybycsIGRldGFpbDogbWVzc2FnZSwgbGlmZTogdGltZSB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ObjectService {
|
|
4
|
+
static filterObject(array, propertyName, value) {
|
|
5
|
+
return array.filter((e) => {
|
|
6
|
+
return e[propertyName] === value;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
static findObject(array, propertyName, value) {
|
|
10
|
+
return array.find((e) => {
|
|
11
|
+
return e[propertyName] === value;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
static getProperty(obj, propertyName) {
|
|
15
|
+
return obj[propertyName];
|
|
16
|
+
}
|
|
17
|
+
static objCompare(obj1, obj2) {
|
|
18
|
+
const Obj1_keys = Object.keys(obj1);
|
|
19
|
+
const Obj2_keys = Object.keys(obj2);
|
|
20
|
+
if (Obj1_keys.length !== Obj2_keys.length) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
for (let k of Obj1_keys) {
|
|
24
|
+
if (obj1[k] !== obj2[k]) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ObjectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ObjectService, providedIn: 'root' }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ObjectService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBVSxFQUFFLFlBQW9CLEVBQUUsS0FBVTtRQUM5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUM3QixPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFVLEVBQUUsWUFBb0IsRUFBRSxLQUFVO1FBQzVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVyxDQUFJLEdBQU0sRUFBRSxZQUFvQjtRQUNoRCxPQUFPLEdBQUcsQ0FBRSxZQUFpQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLElBQUksU0FBUyxFQUFDLENBQUM7WUFDckIsSUFBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQTFCVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdFNlcnZpY2Uge1xyXG4gIHN0YXRpYyBmaWx0ZXJPYmplY3QoYXJyYXk6IGFueSwgcHJvcGVydHlOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBhcnJheS5maWx0ZXIoKGU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gZVtwcm9wZXJ0eU5hbWVdID09PSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzdGF0aWMgZmluZE9iamVjdChhcnJheTogYW55LCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIGFycmF5LmZpbmQoKGU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gZVtwcm9wZXJ0eU5hbWVdID09PSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0UHJvcGVydHk8VD4ob2JqOiBULCBwcm9wZXJ0eU5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG9ialsocHJvcGVydHlOYW1lIGFzIGtleW9mIHR5cGVvZiBvYmopXTtcclxuICB9XHJcbiAgc3RhdGljIG9iakNvbXBhcmUob2JqMTogYW55LCBvYmoyOiBhbnkpe1xyXG4gICAgY29uc3QgT2JqMV9rZXlzID0gT2JqZWN0LmtleXMob2JqMSk7XHJcbiAgICBjb25zdCBPYmoyX2tleXMgPSBPYmplY3Qua2V5cyhvYmoyKTtcclxuICAgIGlmIChPYmoxX2tleXMubGVuZ3RoICE9PSBPYmoyX2tleXMubGVuZ3RoKXtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBrIG9mIE9iajFfa2V5cyl7XHJcbiAgICAgICAgaWYob2JqMVtrXSAhPT0gb2JqMltrXSl7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OrgChartService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.nodeAddSubject = new Subject();
|
|
7
|
+
this.nodeAdd$ = this.nodeAddSubject.asObservable();
|
|
8
|
+
this.nodeRemoveSubject = new Subject();
|
|
9
|
+
this.nodeRemove$ = this.nodeRemoveSubject.asObservable();
|
|
10
|
+
this.nodeRemove = new EventEmitter();
|
|
11
|
+
this.nodeClick = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
adicionarNode(node) {
|
|
14
|
+
this.nodeAddSubject.next(node);
|
|
15
|
+
}
|
|
16
|
+
removerNode(id) {
|
|
17
|
+
this.nodeRemoveSubject.next(id);
|
|
18
|
+
}
|
|
19
|
+
setNodeExpanded(orgSource, nodeId, expanded) {
|
|
20
|
+
const nodeIndex = orgSource.findIndex((item) => item.id === nodeId);
|
|
21
|
+
if (nodeIndex !== -1) {
|
|
22
|
+
const updatedNode = {
|
|
23
|
+
...orgSource[nodeIndex],
|
|
24
|
+
_expanded: true,
|
|
25
|
+
expanded
|
|
26
|
+
};
|
|
27
|
+
return [
|
|
28
|
+
...orgSource.slice(0, nodeIndex),
|
|
29
|
+
updatedNode,
|
|
30
|
+
...orgSource.slice(nodeIndex + 1)
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return orgSource;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
modificarCampDataNode(orgSource, nodeId, field, value) {
|
|
38
|
+
const nodeIndex = orgSource.findIndex((item) => item.id === nodeId);
|
|
39
|
+
if (nodeIndex !== -1) {
|
|
40
|
+
const updatedNode = {
|
|
41
|
+
...orgSource[nodeIndex],
|
|
42
|
+
data: {
|
|
43
|
+
...orgSource[nodeIndex].data,
|
|
44
|
+
[field]: value
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return [
|
|
48
|
+
...orgSource.slice(0, nodeIndex),
|
|
49
|
+
updatedNode,
|
|
50
|
+
...orgSource.slice(nodeIndex + 1)
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
return orgSource;
|
|
54
|
+
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: OrgChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
56
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: OrgChartService, providedIn: 'root' }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: OrgChartService, decorators: [{
|
|
59
|
+
type: Injectable,
|
|
60
|
+
args: [{
|
|
61
|
+
providedIn: 'root'
|
|
62
|
+
}]
|
|
63
|
+
}] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvc2VydmljZXMvb3JnY2hhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsvQixNQUFNLE9BQU8sZUFBZTtJQUg1QjtRQUtVLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDckQsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQThDLENBQUM7S0E0RDVFO0lBMURDLGFBQWEsQ0FBQyxJQUFrQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXlCLEVBQUUsTUFBYyxFQUFFLFFBQWlCO1FBQzFFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7UUFFcEUsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLFdBQVcsR0FBRztnQkFDbEIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO2dCQUN2QixTQUFTLEVBQUUsSUFBSTtnQkFDZixRQUFRO2FBQ1QsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7Z0JBQ2hDLFdBQVc7Z0JBQ1gsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7YUFDbEMsQ0FBQztRQUNKLENBQUM7YUFBSyxDQUFDO1lBQ0wsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FDbkIsU0FBeUIsRUFDekIsTUFBYyxFQUNkLEtBQWlDLEVBQ2pDLEtBQVE7UUFHUixNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBRXBFLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckIsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDdkIsSUFBSSxFQUFFO29CQUNKLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUk7b0JBQzVCLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSztpQkFDZjthQUNGLENBQUM7WUFFRixPQUFPO2dCQUNMLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO2dCQUNoQyxXQUFXO2dCQUNYLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2FBQ2xDLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0FqRVUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IE9yZ0NoYXJ0Tm9kZSBmcm9tICcuLi9jb21wb25lbnRzL2NoYXJ0L29yY2hhcnRub2RlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT3JnQ2hhcnRTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBub2RlQWRkU3ViamVjdCA9IG5ldyBTdWJqZWN0PE9yZ0NoYXJ0Tm9kZT4oKTtcclxuICBub2RlQWRkJCA9IHRoaXMubm9kZUFkZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgbm9kZVJlbW92ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcbiAgbm9kZVJlbW92ZSQgPSB0aGlzLm5vZGVSZW1vdmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBub2RlUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgbm9kZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG5vZGU6IE9yZ0NoYXJ0Tm9kZSwgc2VsZXRvckNzczogc3RyaW5nIH0+KCk7XHJcblxyXG4gIGFkaWNpb25hck5vZGUobm9kZTogT3JnQ2hhcnROb2RlKSB7XHJcbiAgICB0aGlzLm5vZGVBZGRTdWJqZWN0Lm5leHQobm9kZSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVyTm9kZShpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm5vZGVSZW1vdmVTdWJqZWN0Lm5leHQoaWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Tm9kZUV4cGFuZGVkKG9yZ1NvdXJjZTogT3JnQ2hhcnROb2RlW10sIG5vZGVJZDogbnVtYmVyLCBleHBhbmRlZDogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgbm9kZUluZGV4ID0gb3JnU291cmNlLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gbm9kZUlkKTtcclxuXHJcbiAgICBpZiAobm9kZUluZGV4ICE9PSAtMSkge1xyXG4gICAgICBjb25zdCB1cGRhdGVkTm9kZSA9IHtcclxuICAgICAgICAuLi5vcmdTb3VyY2Vbbm9kZUluZGV4XSxcclxuICAgICAgICBfZXhwYW5kZWQ6IHRydWUsXHJcbiAgICAgICAgZXhwYW5kZWRcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAgLi4ub3JnU291cmNlLnNsaWNlKDAsIG5vZGVJbmRleCksXHJcbiAgICAgICAgdXBkYXRlZE5vZGUsXHJcbiAgICAgICAgLi4ub3JnU291cmNlLnNsaWNlKG5vZGVJbmRleCArIDEpXHJcbiAgICAgIF07XHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIHJldHVybiBvcmdTb3VyY2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb2RpZmljYXJDYW1wRGF0YU5vZGU8VD4oXHJcbiAgICBvcmdTb3VyY2U6IE9yZ0NoYXJ0Tm9kZVtdLFxyXG4gICAgbm9kZUlkOiBudW1iZXIsXHJcbiAgICBmaWVsZDoga2V5b2YgT3JnQ2hhcnROb2RlWydkYXRhJ10sXHJcbiAgICB2YWx1ZTogVFxyXG4gICk6IE9yZ0NoYXJ0Tm9kZVtdIHtcclxuXHJcbiAgICBjb25zdCBub2RlSW5kZXggPSBvcmdTb3VyY2UuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSBub2RlSWQpO1xyXG5cclxuICAgIGlmIChub2RlSW5kZXggIT09IC0xKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZWROb2RlID0ge1xyXG4gICAgICAgIC4uLm9yZ1NvdXJjZVtub2RlSW5kZXhdLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIC4uLm9yZ1NvdXJjZVtub2RlSW5kZXhdLmRhdGEsXHJcbiAgICAgICAgICBbZmllbGRdOiB2YWx1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAgLi4ub3JnU291cmNlLnNsaWNlKDAsIG5vZGVJbmRleCksXHJcbiAgICAgICAgdXBkYXRlZE5vZGUsXHJcbiAgICAgICAgLi4ub3JnU291cmNlLnNsaWNlKG5vZGVJbmRleCArIDEpXHJcbiAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9yZ1NvdXJjZTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvdHlwZXMvYnJlYWRjcnVtYi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCcmVhZENydW1iT3B0aW9uIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHJvdXRlckxpbms6IHN0cmluZztcclxuICBzaG93TWVudTogYm9vbGVhbjtcclxufSJdfQ==
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { KvAvatarModule } from './kv-avatar/kv-avatar.module';
|
|
3
|
+
import { KvButtonsModule } from './kv-buttons/kv-button.module';
|
|
4
|
+
import { KvCarouselModule } from './kv-carousel/kv-carousel.module';
|
|
5
|
+
import { KvChartModule } from './kv-chart/kv-chart.module';
|
|
6
|
+
import { KvInputsModule } from './kv-inputs/kv-inputs.module';
|
|
7
|
+
import { KvLoaderModule } from './kv-loader/kv-loader.module';
|
|
8
|
+
import { KvLoginModule } from './kv-login/kv-login.module';
|
|
9
|
+
import { KvLayoutModule } from './kv-layout/kv-layout.module';
|
|
10
|
+
import { KvModalModule } from './kv-modal/kv-modal.module';
|
|
11
|
+
import { KvOrgchartModule } from './kv-orgchart/kv-orgchart.module';
|
|
12
|
+
import { KvPageFormModule } from './kv-page-form/kv-page-form.module';
|
|
13
|
+
import { KvPickListModule } from './kv-pick-list/kv-pick-list.module';
|
|
14
|
+
import { KvProgressBarModule } from './kv-progress-bar/kv-progress-bar.module';
|
|
15
|
+
import { KvTableEditModule } from './kv-table-edit/kv-table-edit.module';
|
|
16
|
+
import { KvTableModule } from './kv-table/kv-table.module';
|
|
17
|
+
import { KvTreetableModule } from './kv-tree-table/kv-tree-table.module';
|
|
18
|
+
import { KvtreeViewModule } from './kv-tree-view/kv-tree-view.module';
|
|
19
|
+
import { KvWorkspaceModule } from './kv-workspace/kv-workspace.module';
|
|
20
|
+
import { KvStepperModule } from './kv-stepper/kv-stepper.module';
|
|
21
|
+
import { KvImageUploadModule } from './kv-image-upload/kv-image-upload.module';
|
|
22
|
+
import { KvTableExpandableModule } from './kv-table-expandable/kv-table-expandable.module';
|
|
23
|
+
import { KvFilterCardModule } from './kv-filter-card/kv-filter-card.module';
|
|
24
|
+
import { KvGIconModule } from './kv-g-icon/kv-g-icon.module';
|
|
25
|
+
import { KvFileViewerModule } from './kv-file-viewer/kv-file-viewer.module';
|
|
26
|
+
import { KvButtonModule } from './kv-button/kv-button.module';
|
|
27
|
+
import { KvFilterFieldsetModule } from './kv-filter-fieldset/kv-filter-fieldset.module';
|
|
28
|
+
import { KvFileViewerNovoModule } from './kv-file-viewer-novo/kv-file-viewer-novo.module';
|
|
29
|
+
import { KvCardSelectionModule } from './kv-card-selection/kv-card-selection.module';
|
|
30
|
+
import * as i0 from "@angular/core";
|
|
31
|
+
export class KeevoComponentsModule {
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvAvatarModule,
|
|
34
|
+
KvButtonsModule,
|
|
35
|
+
KvButtonModule,
|
|
36
|
+
KvCarouselModule,
|
|
37
|
+
KvChartModule,
|
|
38
|
+
KvInputsModule,
|
|
39
|
+
KvLoaderModule,
|
|
40
|
+
KvLoginModule,
|
|
41
|
+
KvLayoutModule,
|
|
42
|
+
KvModalModule,
|
|
43
|
+
KvOrgchartModule,
|
|
44
|
+
KvPageFormModule,
|
|
45
|
+
KvPickListModule,
|
|
46
|
+
KvProgressBarModule,
|
|
47
|
+
KvTableModule,
|
|
48
|
+
KvTreetableModule,
|
|
49
|
+
KvtreeViewModule,
|
|
50
|
+
KvWorkspaceModule,
|
|
51
|
+
KvStepperModule,
|
|
52
|
+
KvImageUploadModule,
|
|
53
|
+
KvTableExpandableModule,
|
|
54
|
+
KvGIconModule,
|
|
55
|
+
KvFilterCardModule,
|
|
56
|
+
KvFileViewerModule,
|
|
57
|
+
KvFileViewerNovoModule,
|
|
58
|
+
KvFilterFieldsetModule,
|
|
59
|
+
KvCardSelectionModule], exports: [KvAvatarModule,
|
|
60
|
+
KvButtonsModule,
|
|
61
|
+
KvButtonModule,
|
|
62
|
+
KvCarouselModule,
|
|
63
|
+
KvChartModule,
|
|
64
|
+
KvInputsModule,
|
|
65
|
+
KvLoaderModule,
|
|
66
|
+
KvLoginModule,
|
|
67
|
+
KvLayoutModule,
|
|
68
|
+
KvModalModule,
|
|
69
|
+
KvOrgchartModule,
|
|
70
|
+
KvPageFormModule,
|
|
71
|
+
KvPickListModule,
|
|
72
|
+
KvProgressBarModule,
|
|
73
|
+
KvTableEditModule,
|
|
74
|
+
KvTableModule,
|
|
75
|
+
KvTreetableModule,
|
|
76
|
+
KvtreeViewModule,
|
|
77
|
+
KvWorkspaceModule,
|
|
78
|
+
KvStepperModule,
|
|
79
|
+
KvImageUploadModule,
|
|
80
|
+
KvTableExpandableModule,
|
|
81
|
+
KvGIconModule,
|
|
82
|
+
KvFilterCardModule,
|
|
83
|
+
KvFileViewerModule,
|
|
84
|
+
KvFilterFieldsetModule,
|
|
85
|
+
KvFileViewerNovoModule,
|
|
86
|
+
KvCardSelectionModule] }); }
|
|
87
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, imports: [KvAvatarModule,
|
|
88
|
+
KvButtonsModule,
|
|
89
|
+
KvButtonModule,
|
|
90
|
+
KvCarouselModule,
|
|
91
|
+
KvChartModule,
|
|
92
|
+
KvInputsModule,
|
|
93
|
+
KvLoaderModule,
|
|
94
|
+
KvLoginModule,
|
|
95
|
+
KvLayoutModule,
|
|
96
|
+
KvModalModule,
|
|
97
|
+
KvOrgchartModule,
|
|
98
|
+
KvPageFormModule,
|
|
99
|
+
KvPickListModule,
|
|
100
|
+
KvProgressBarModule,
|
|
101
|
+
KvTableModule,
|
|
102
|
+
KvTreetableModule,
|
|
103
|
+
KvtreeViewModule,
|
|
104
|
+
KvWorkspaceModule,
|
|
105
|
+
KvStepperModule,
|
|
106
|
+
KvImageUploadModule,
|
|
107
|
+
KvTableExpandableModule,
|
|
108
|
+
KvGIconModule,
|
|
109
|
+
KvFilterCardModule,
|
|
110
|
+
KvFileViewerModule,
|
|
111
|
+
KvFileViewerNovoModule,
|
|
112
|
+
KvFilterFieldsetModule,
|
|
113
|
+
KvCardSelectionModule, KvAvatarModule,
|
|
114
|
+
KvButtonsModule,
|
|
115
|
+
KvButtonModule,
|
|
116
|
+
KvCarouselModule,
|
|
117
|
+
KvChartModule,
|
|
118
|
+
KvInputsModule,
|
|
119
|
+
KvLoaderModule,
|
|
120
|
+
KvLoginModule,
|
|
121
|
+
KvLayoutModule,
|
|
122
|
+
KvModalModule,
|
|
123
|
+
KvOrgchartModule,
|
|
124
|
+
KvPageFormModule,
|
|
125
|
+
KvPickListModule,
|
|
126
|
+
KvProgressBarModule,
|
|
127
|
+
KvTableEditModule,
|
|
128
|
+
KvTableModule,
|
|
129
|
+
KvTreetableModule,
|
|
130
|
+
KvtreeViewModule,
|
|
131
|
+
KvWorkspaceModule,
|
|
132
|
+
KvStepperModule,
|
|
133
|
+
KvImageUploadModule,
|
|
134
|
+
KvTableExpandableModule,
|
|
135
|
+
KvGIconModule,
|
|
136
|
+
KvFilterCardModule,
|
|
137
|
+
KvFileViewerModule,
|
|
138
|
+
KvFilterFieldsetModule,
|
|
139
|
+
KvFileViewerNovoModule,
|
|
140
|
+
KvCardSelectionModule] }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KeevoComponentsModule, decorators: [{
|
|
143
|
+
type: NgModule,
|
|
144
|
+
args: [{
|
|
145
|
+
declarations: [],
|
|
146
|
+
imports: [
|
|
147
|
+
KvAvatarModule,
|
|
148
|
+
KvButtonsModule,
|
|
149
|
+
KvButtonModule,
|
|
150
|
+
KvCarouselModule,
|
|
151
|
+
KvChartModule,
|
|
152
|
+
KvInputsModule,
|
|
153
|
+
KvLoaderModule,
|
|
154
|
+
KvLoginModule,
|
|
155
|
+
KvLayoutModule,
|
|
156
|
+
KvModalModule,
|
|
157
|
+
KvOrgchartModule,
|
|
158
|
+
KvPageFormModule,
|
|
159
|
+
KvPickListModule,
|
|
160
|
+
KvProgressBarModule,
|
|
161
|
+
KvTableModule,
|
|
162
|
+
KvTreetableModule,
|
|
163
|
+
KvtreeViewModule,
|
|
164
|
+
KvWorkspaceModule,
|
|
165
|
+
KvStepperModule,
|
|
166
|
+
KvImageUploadModule,
|
|
167
|
+
KvTableExpandableModule,
|
|
168
|
+
KvGIconModule,
|
|
169
|
+
KvFilterCardModule,
|
|
170
|
+
KvFileViewerModule,
|
|
171
|
+
KvFileViewerNovoModule,
|
|
172
|
+
KvFilterFieldsetModule,
|
|
173
|
+
KvCardSelectionModule,
|
|
174
|
+
],
|
|
175
|
+
exports: [
|
|
176
|
+
KvAvatarModule,
|
|
177
|
+
KvButtonsModule,
|
|
178
|
+
KvButtonModule,
|
|
179
|
+
KvCarouselModule,
|
|
180
|
+
KvChartModule,
|
|
181
|
+
KvInputsModule,
|
|
182
|
+
KvLoaderModule,
|
|
183
|
+
KvLoginModule,
|
|
184
|
+
KvLayoutModule,
|
|
185
|
+
KvModalModule,
|
|
186
|
+
KvOrgchartModule,
|
|
187
|
+
KvPageFormModule,
|
|
188
|
+
KvPickListModule,
|
|
189
|
+
KvProgressBarModule,
|
|
190
|
+
KvTableEditModule,
|
|
191
|
+
KvTableModule,
|
|
192
|
+
KvTreetableModule,
|
|
193
|
+
KvtreeViewModule,
|
|
194
|
+
KvWorkspaceModule,
|
|
195
|
+
KvStepperModule,
|
|
196
|
+
KvImageUploadModule,
|
|
197
|
+
KvTableExpandableModule,
|
|
198
|
+
KvGIconModule,
|
|
199
|
+
KvFilterCardModule,
|
|
200
|
+
KvFileViewerModule,
|
|
201
|
+
KvFilterFieldsetModule,
|
|
202
|
+
KvFileViewerNovoModule,
|
|
203
|
+
KvCardSelectionModule,
|
|
204
|
+
],
|
|
205
|
+
}]
|
|
206
|
+
}] });
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rZWV2by1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFB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QixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEt2QXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9rdi1hdmF0YXIva3YtYXZhdGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uc01vZHVsZSB9IGZyb20gJy4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZDYXJvdXNlbE1vZHVsZSB9IGZyb20gJy4va3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZDaGFydE1vZHVsZSB9IGZyb20gJy4va3YtY2hhcnQva3YtY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZMb2FkZXJNb2R1bGUgfSBmcm9tICcuL2t2LWxvYWRlci9rdi1sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZMb2dpbk1vZHVsZSB9IGZyb20gJy4va3YtbG9naW4va3YtbG9naW4ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZMYXlvdXRNb2R1bGUgfSBmcm9tICcuL2t2LWxheW91dC9rdi1sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZNb2RhbE1vZHVsZSB9IGZyb20gJy4va3YtbW9kYWwva3YtbW9kYWwubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZPcmdjaGFydE1vZHVsZSB9IGZyb20gJy4va3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZQYWdlRm9ybU1vZHVsZSB9IGZyb20gJy4va3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlBpY2tMaXN0TW9kdWxlIH0gZnJvbSAnLi9rdi1waWNrLWxpc3Qva3YtcGljay1saXN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICcuL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZUYWJsZUVkaXRNb2R1bGUgfSBmcm9tICcuL2t2LXRhYmxlLWVkaXQva3YtdGFibGUtZWRpdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlRhYmxlTW9kdWxlIH0gZnJvbSAnLi9rdi10YWJsZS9rdi10YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlRyZWV0YWJsZU1vZHVsZSB9IGZyb20gJy4va3YtdHJlZS10YWJsZS9rdi10cmVlLXRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2dHJlZVZpZXdNb2R1bGUgfSBmcm9tICcuL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZXb3Jrc3BhY2VNb2R1bGUgfSBmcm9tICcuL2t2LXdvcmtzcGFjZS9rdi13b3Jrc3BhY2UubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZTdGVwcGVyTW9kdWxlIH0gZnJvbSAnLi9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZJbWFnZVVwbG9hZE1vZHVsZSB9IGZyb20gJy4va3YtaW1hZ2UtdXBsb2FkL2t2LWltYWdlLXVwbG9hZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdlRhYmxlRXhwYW5kYWJsZU1vZHVsZSB9IGZyb20gJy4va3YtdGFibGUtZXhwYW5kYWJsZS9rdi10YWJsZS1leHBhbmRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2RmlsdGVyQ2FyZE1vZHVsZSB9IGZyb20gJy4va3YtZmlsdGVyLWNhcmQva3YtZmlsdGVyLWNhcmQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZHSWNvbk1vZHVsZSB9IGZyb20gJy4va3YtZy1pY29uL2t2LWctaWNvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkZpbGVWaWV3ZXJNb2R1bGUgfSBmcm9tICcuL2t2LWZpbGUtdmlld2VyL2t2LWZpbGUtdmlld2VyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2RmlsdGVyRmllbGRzZXRNb2R1bGUgfSBmcm9tICcuL2t2LWZpbHRlci1maWVsZHNldC9rdi1maWx0ZXItZmllbGRzZXQubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZGaWxlVmlld2VyTm92b01vZHVsZSB9IGZyb20gJy4va3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2Q2FyZFNlbGVjdGlvbk1vZHVsZSB9IGZyb20gJy4va3YtY2FyZC1zZWxlY3Rpb24va3YtY2FyZC1zZWxlY3Rpb24ubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBLdkF2YXRhck1vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgIEt2QnV0dG9uTW9kdWxlLFxyXG4gICAgS3ZDYXJvdXNlbE1vZHVsZSxcclxuICAgIEt2Q2hhcnRNb2R1bGUsXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEt2TG9hZGVyTW9kdWxlLFxyXG4gICAgS3ZMb2dpbk1vZHVsZSxcclxuICAgIEt2TGF5b3V0TW9kdWxlLFxyXG4gICAgS3ZNb2RhbE1vZHVsZSxcclxuICAgIEt2T3JnY2hhcnRNb2R1bGUsXHJcbiAgICBLdlBhZ2VGb3JtTW9kdWxlLFxyXG4gICAgS3ZQaWNrTGlzdE1vZHVsZSxcclxuICAgIEt2UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICBLdlRhYmxlTW9kdWxlLFxyXG4gICAgS3ZUcmVldGFibGVNb2R1bGUsXHJcbiAgICBLdnRyZWVWaWV3TW9kdWxlLFxyXG4gICAgS3ZXb3Jrc3BhY2VNb2R1bGUsXHJcbiAgICBLdlN0ZXBwZXJNb2R1bGUsXHJcbiAgICBLdkltYWdlVXBsb2FkTW9kdWxlLFxyXG4gICAgS3ZUYWJsZUV4cGFuZGFibGVNb2R1bGUsXHJcbiAgICBLdkdJY29uTW9kdWxlLFxyXG4gICAgS3ZGaWx0ZXJDYXJkTW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTm92b01vZHVsZSxcclxuICAgIEt2RmlsdGVyRmllbGRzZXRNb2R1bGUsXHJcbiAgICBLdkNhcmRTZWxlY3Rpb25Nb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBLdkF2YXRhck1vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgIEt2QnV0dG9uTW9kdWxlLFxyXG4gICAgS3ZDYXJvdXNlbE1vZHVsZSxcclxuICAgIEt2Q2hhcnRNb2R1bGUsXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEt2TG9hZGVyTW9kdWxlLFxyXG4gICAgS3ZMb2dpbk1vZHVsZSxcclxuICAgIEt2TGF5b3V0TW9kdWxlLFxyXG4gICAgS3ZNb2RhbE1vZHVsZSxcclxuICAgIEt2T3JnY2hhcnRNb2R1bGUsXHJcbiAgICBLdlBhZ2VGb3JtTW9kdWxlLFxyXG4gICAgS3ZQaWNrTGlzdE1vZHVsZSxcclxuICAgIEt2UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICBLdlRhYmxlRWRpdE1vZHVsZSxcclxuICAgIEt2VGFibGVNb2R1bGUsXHJcbiAgICBLdlRyZWV0YWJsZU1vZHVsZSxcclxuICAgIEt2dHJlZVZpZXdNb2R1bGUsXHJcbiAgICBLdldvcmtzcGFjZU1vZHVsZSxcclxuICAgIEt2U3RlcHBlck1vZHVsZSxcclxuICAgIEt2SW1hZ2VVcGxvYWRNb2R1bGUsXHJcbiAgICBLdlRhYmxlRXhwYW5kYWJsZU1vZHVsZSxcclxuICAgIEt2R0ljb25Nb2R1bGUsXHJcbiAgICBLdkZpbHRlckNhcmRNb2R1bGUsXHJcbiAgICBLdkZpbGVWaWV3ZXJNb2R1bGUsXHJcbiAgICBLdkZpbHRlckZpZWxkc2V0TW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTm92b01vZHVsZSxcclxuICAgIEt2Q2FyZFNlbGVjdGlvbk1vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS2Vldm9Db21wb25lbnRzTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { Component, EventEmitter, input, Input, Output, signal, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../api/services/imagens.service";
|
|
4
|
+
import * as i2 from "../../api/services/notification.service";
|
|
5
|
+
import * as i3 from "../../api/services/image.cutter.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "ngx-loading";
|
|
8
|
+
export class KvAvatarComponent {
|
|
9
|
+
constructor(imageService, notificationService, imageCutterService) {
|
|
10
|
+
this.imageService = imageService;
|
|
11
|
+
this.notificationService = notificationService;
|
|
12
|
+
this.imageCutterService = imageCutterService;
|
|
13
|
+
this.borderColor = '#002542';
|
|
14
|
+
this.btnsColor = '#002542';
|
|
15
|
+
this.width = 135;
|
|
16
|
+
this.height = 135;
|
|
17
|
+
this.btnAlterarFoto = false;
|
|
18
|
+
this.imageUrlChange = new EventEmitter();
|
|
19
|
+
this.removerFotoEvent = new EventEmitter();
|
|
20
|
+
this.file = null;
|
|
21
|
+
this.existeLogo = false;
|
|
22
|
+
this.selectedImage = '';
|
|
23
|
+
this.imageUrl = input(this.imageService.userDefaultImage());
|
|
24
|
+
this.imageSource = signal(this.imageService.userDefaultImage());
|
|
25
|
+
this.imageLoaded = signal(false);
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.imageSource.set(this.imageUrl());
|
|
29
|
+
this.carregaImagemInicial();
|
|
30
|
+
}
|
|
31
|
+
carregaImagemInicial() {
|
|
32
|
+
const imageUrl = this.imageUrl();
|
|
33
|
+
if (imageUrl && (imageUrl.startsWith('data:image') || imageUrl.startsWith('http') || imageUrl.startsWith('https'))) {
|
|
34
|
+
this.existeLogo = true;
|
|
35
|
+
}
|
|
36
|
+
else if (imageUrl && imageUrl.length > 0) {
|
|
37
|
+
this.existeLogo = true;
|
|
38
|
+
this.imageSource.set('data:image/jpg;base64,' + imageUrl);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.existeLogo = false;
|
|
42
|
+
this.imageSource.set(this.imageService.userDefaultImage());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
onImageLoad() {
|
|
46
|
+
this.imageLoaded.set(true);
|
|
47
|
+
}
|
|
48
|
+
openFile() {
|
|
49
|
+
const inputElement = document.getElementById('fotoEscolhida');
|
|
50
|
+
if (inputElement) {
|
|
51
|
+
inputElement.click();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
changeImage(event) {
|
|
55
|
+
const file = event.target.files[0];
|
|
56
|
+
if (file.type.startsWith('image/')) {
|
|
57
|
+
if (this.btnAlterarFoto == true) {
|
|
58
|
+
this.file = file;
|
|
59
|
+
const reader = new FileReader();
|
|
60
|
+
reader.onload = async () => {
|
|
61
|
+
try {
|
|
62
|
+
const result = await this.imageCutterService.cut(reader.result?.toString() ?? '', this.width, this.height, true, true);
|
|
63
|
+
this.existeLogo = true;
|
|
64
|
+
this.imageSource.set(result);
|
|
65
|
+
this.selectedImage = result;
|
|
66
|
+
this.imageUrlChange.emit(this.imageSource());
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
//this.removerFoto();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
reader.readAsDataURL(file);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// ?! Comportamneto padrão --> Preservar <-- !!!
|
|
76
|
+
this.file = file;
|
|
77
|
+
const reader = new FileReader();
|
|
78
|
+
reader.onload = (e) => {
|
|
79
|
+
this.imageSource.set(reader.result + '');
|
|
80
|
+
};
|
|
81
|
+
reader.readAsDataURL(file);
|
|
82
|
+
this.imageUrlChange.emit(this.imageSource());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.notificationService.toastError('Apenas arquivos de imagem são permitidos.');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
questionRemoverFoto() {
|
|
90
|
+
this.notificationService.question({
|
|
91
|
+
type: 'question',
|
|
92
|
+
message: 'Você tem certeza que deseja retirar a foto desse usuário?',
|
|
93
|
+
accept: () => {
|
|
94
|
+
this.removerFoto();
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
removerFoto() {
|
|
99
|
+
this.imageSource.set('');
|
|
100
|
+
this.removerFotoEvent.emit();
|
|
101
|
+
this.existeLogo = false;
|
|
102
|
+
this.imageUrlChange.emit(this.imageSource());
|
|
103
|
+
this.fileInput.nativeElement.value = '';
|
|
104
|
+
}
|
|
105
|
+
handleImageError(event) {
|
|
106
|
+
this.imageLoaded.set(true);
|
|
107
|
+
event.target.src = this.imageService.userDefaultImage();
|
|
108
|
+
}
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvAvatarComponent, deps: [{ token: i1.ImagensService }, { token: i2.NotificationService }, { token: i3.ImageCutterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvAvatarComponent, selector: "kv-avatar", inputs: { borderColor: { classPropertyName: "borderColor", publicName: "borderColor", isSignal: false, isRequired: false, transformFunction: null }, btnsColor: { classPropertyName: "btnsColor", publicName: "btnsColor", isSignal: false, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, btnAlterarFoto: { classPropertyName: "btnAlterarFoto", publicName: "btnAlterarFoto", isSignal: false, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { imageUrlChange: "imageUrlChange", removerFotoEvent: "removerFotoEvent" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"image-container\" [style.width.px]=\"width\" [style.height.px]=\"height\" >\r\n\r\n <img\r\n [src]=\"imageSource()\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"handleImageError($event)\"\r\n alt=\"Foto\"\r\n class=\"container-foto\"\r\n [style.border-color]=\"borderColor\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n >\r\n\r\n <div class=\"btn\">\r\n <input #fileInput *ngIf=\"btnAlterarFoto\" id=\"fotoEscolhida\" type=\"file\" accept=\"image/*\" style=\"display:none\" (change)=\"changeImage($any($event))\">\r\n\r\n <button *ngIf=\"btnAlterarFoto && !existeLogo\"\r\n class=\"botao-alterar-foto border-circle\"\r\n [style.background-color]=\"btnsColor\" (click)=\"openFile()\">\r\n <i class=\"material-symbols-outlined\">photo_camera</i>\r\n </button>\r\n\r\n <button *ngIf=\"btnAlterarFoto && existeLogo\" [style.background-color]=\"btnsColor\"\r\n class=\"botao-excluir-foto border-circle\r\n hover:shadow-3\r\n active:shadow-5\"\r\n (click)=\"questionRemoverFoto()\">\r\n <i class=\"material-symbols-outlined\">delete</i>\r\n </button>\r\n </div>\r\n\r\n <ngx-loading [show]=\"!imageLoaded()\" full class=\"container-foto\" [config]=\"{backdropBorderRadius: '100%', fullScreenBackdrop: false }\"></ngx-loading>\r\n\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal{display:block;position:absolute;z-index:9999;left:0;top:0;width:100vw;height:100vh;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:1% auto;padding:20px;border:1px solid #888;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvAvatarComponent, decorators: [{
|
|
113
|
+
type: Component,
|
|
114
|
+
args: [{ selector: 'kv-avatar', template: "<div class=\"image-container\" [style.width.px]=\"width\" [style.height.px]=\"height\" >\r\n\r\n <img\r\n [src]=\"imageSource()\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"handleImageError($event)\"\r\n alt=\"Foto\"\r\n class=\"container-foto\"\r\n [style.border-color]=\"borderColor\"\r\n [style.width.px]=\"width\"\r\n [style.height.px]=\"height\"\r\n >\r\n\r\n <div class=\"btn\">\r\n <input #fileInput *ngIf=\"btnAlterarFoto\" id=\"fotoEscolhida\" type=\"file\" accept=\"image/*\" style=\"display:none\" (change)=\"changeImage($any($event))\">\r\n\r\n <button *ngIf=\"btnAlterarFoto && !existeLogo\"\r\n class=\"botao-alterar-foto border-circle\"\r\n [style.background-color]=\"btnsColor\" (click)=\"openFile()\">\r\n <i class=\"material-symbols-outlined\">photo_camera</i>\r\n </button>\r\n\r\n <button *ngIf=\"btnAlterarFoto && existeLogo\" [style.background-color]=\"btnsColor\"\r\n class=\"botao-excluir-foto border-circle\r\n hover:shadow-3\r\n active:shadow-5\"\r\n (click)=\"questionRemoverFoto()\">\r\n <i class=\"material-symbols-outlined\">delete</i>\r\n </button>\r\n </div>\r\n\r\n <ngx-loading [show]=\"!imageLoaded()\" full class=\"container-foto\" [config]=\"{backdropBorderRadius: '100%', fullScreenBackdrop: false }\"></ngx-loading>\r\n\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0\";::ng-deep :root{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255;--kv-primary-color: 41, 185, 45;--kv-secondary-color: 0, 37, 66;--kv-tertiary-color: 165, 165, 165}::ng-deep .padrao{--kv-color-system: 10,58,120;--kv-color-system-cta: 76, 175, 80;--kv-color-text: 0, 0, 0;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-keevocenter{--kv-color-system: 88,25,153;--kv-color-system-cta: 0, 116, 217;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 248,250,253;--kv-background-card: 255,255,255}::ng-deep .theme-holos{--kv-color-system: 241,90,36;--kv-color-system-cta: 224, 168, 35;--kv-color-text: 0, 0, 0;--kv-color-text-inv: 255, 255, 165;--kv-background-system: 240,240,240;--kv-background-card: 2255,255,255}.system-color{color:rgb(var(--kv-color-system),1)}.bg-system-100{background:rgb(var(--kv-color-system),1)}.bg-system-75{background:rgb(var(--kv-color-system),.75)}.bg-system-50{background:rgb(var(--kv-color-system),.5)}.bg-system-25{background:rgb(var(--kv-color-system),.25)}.material-symbols-outlined{font-family:Material Symbols Outlined!important}*{font-family:Inter,Inter var,sans-serif!important}::ng-deep .p-accordion,::ng-deep .p-accordion-header,::ng-deep .p-accordion-content,::ng-deep .p-badge,::ng-deep .p-overlay-badge,::ng-deep .p-breadcrumb,::ng-deep .p-breadcrumb-item,::ng-deep .p-breadcrumb-link,::ng-deep .p-button,::ng-deep .p-calendar,::ng-deep .p-card,::ng-deep .p-card-title,::ng-deep .p-card-subtitle,::ng-deep .p-card-content,::ng-deep .p-checkbox,::ng-deep .p-chip,::ng-deep .p-confirm-dialog,::ng-deep .p-confirm-dialog-message,::ng-deep .p-contextmenu,::ng-deep .p-contextmenu-item,::ng-deep .p-dataview,::ng-deep .p-dataview-content,::ng-deep .p-dialog,::ng-deep .p-dialog-title,::ng-deep .p-dialog-content,::ng-deep .p-dropdown,::ng-deep .p-dropdown-label,::ng-deep .p-dropdown-item,::ng-deep .p-dynamic-dialog,::ng-deep .p-dynamic-dialog-title,::ng-deep .p-dynamic-dialog-content,::ng-deep .p-editor,::ng-deep .p-fieldset,::ng-deep .p-fieldset-legend,::ng-deep .p-fieldset-content,::ng-deep .p-fileupload,::ng-deep .p-inputmask,::ng-deep .p-inputnumber,::ng-deep .p-inputtextarea,::ng-deep .p-inputtext,::ng-deep .p-menu,::ng-deep .p-menuitem,::ng-deep .p-menuitem-text,::ng-deep .p-message,::ng-deep .p-messages,::ng-deep .p-multiselect,::ng-deep .p-multiselect-label,::ng-deep .p-multiselect-item,::ng-deep .p-panelmenu,::ng-deep .p-panelmenu-header,::ng-deep .p-panelmenu-content,::ng-deep .p-panel,::ng-deep .p-panel-header,::ng-deep .p-panel-content,::ng-deep .p-password,::ng-deep .p-picklist,::ng-deep .p-progressbar,::ng-deep .p-radiobutton,::ng-deep .p-rating,::ng-deep .p-sidebar,::ng-deep .p-splitbutton,::ng-deep .p-steps,::ng-deep .p-step,::ng-deep .p-table,::ng-deep .p-datatable,::ng-deep .p-tabview,::ng-deep .p-tabpanel,::ng-deep .p-tag,::ng-deep .p-toast,::ng-deep .p-toolbar,::ng-deep .p-tooltip,::ng-deep .p-tree,::ng-deep .p-treetable,::ng-deep .p-selectbutton,::ng-deep .p-stepper,::ng-deep .p-inputgroup,::ng-deep .p-inputgroup-addon,::ng-deep .p-text{font-family:Inter,Inter var,sans-serif!important}:host ::ng-deep .inputs{height:1.875rem}:host ::ng-deep .inputs,.p-inputtext,.p-inputtextarea{font-size:.875rem}::ng-deep .p-dialog .p-dialog-header{color:rgb(var(--kv-color-text))!important;background:linear-gradient(0deg,#00000005 .44%,#0000 49.5%),#fff!important;display:flex!important;flex-wrap:wrap;word-wrap:break-word;border-bottom:1px solid rgb(var(--kv-color-text),.15)}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}::ng-deep .p-dialog-content{overflow-x:hidden}::ng-deep .p-dialog-content::-webkit-scrollbar{width:8px}::ng-deep .p-dialog-content::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .p-dialog-content::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .p-dialog-content:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .p-dialog-content::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}::ng-deep .p-dialog-footer{display:flex;justify-content:flex-end;padding:10px;gap:10px}::ng-deep .p-dialog .p-dialog-header .p-dialog-header-icon{display:none}::ng-deep .p-tooltip{font-size:.825rem!important}img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal{display:block;position:absolute;z-index:9999;left:0;top:0;width:100vw;height:100vh;overflow:auto;background-color:#0006}.modal-content{background-color:#fefefe;margin:1% auto;padding:20px;border:1px solid #888;width:80%;max-width:fit-content;text-align:center;border-radius:12px}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid black;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px solid black;border-radius:50%;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px}\n"] }]
|
|
115
|
+
}], ctorParameters: () => [{ type: i1.ImagensService }, { type: i2.NotificationService }, { type: i3.ImageCutterService }], propDecorators: { borderColor: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], btnsColor: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], width: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], height: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], btnAlterarFoto: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], imageUrlChange: [{
|
|
126
|
+
type: Output
|
|
127
|
+
}], removerFotoEvent: [{
|
|
128
|
+
type: Output
|
|
129
|
+
}], fileInput: [{
|
|
130
|
+
type: ViewChild,
|
|
131
|
+
args: ['fileInput']
|
|
132
|
+
}] } });
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFFWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBWXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFBbUIsWUFBNEIsRUFDM0IsbUJBQXdDLEVBQ3hDLGtCQUFzQztRQUZ2QyxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFDM0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBSWpELGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBQ2hDLGNBQVMsR0FBVyxTQUFTLENBQUM7UUFDOUIsVUFBSyxHQUFXLEdBQUcsQ0FBQztRQUNwQixXQUFNLEdBQVcsR0FBRyxDQUFDO1FBQ3JCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRELFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFFM0IsYUFBUSxHQUFHLEtBQUssQ0FBUyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixF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N0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUQsQ0FBQzs4R0FoSVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb2hDQ3ZCOUIsdzJDQWtDQTs7MkZEWGEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLFdBQVc7c0pBYVosV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFXaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIGlucHV0LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgc2lnbmFsLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEltYWdlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEltYWdlQ3V0dGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9pbWFnZS5jdXR0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1hdmF0YXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LWF2YXRhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEt2QXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGltYWdlU2VydmljZTogSW1hZ2Vuc1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaW1hZ2VDdXR0ZXJTZXJ2aWNlOiBJbWFnZUN1dHRlclNlcnZpY2UpXHJcbiAge31cclxuXHJcblxyXG4gIEBJbnB1dCgpIGJvcmRlckNvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgYnRuc0NvbG9yOiBzdHJpbmcgPSAnIzAwMjU0Mic7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlciA9IDEzNTtcclxuICBASW5wdXQoKSBidG5BbHRlcmFyRm90bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBpbWFnZVVybENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVyRm90b0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgZXhpc3RlTG9nbyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSW1hZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBpbWFnZVVybCA9IGlucHV0PHN0cmluZz4odGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICBpbWFnZVNvdXJjZSA9IHNpZ25hbDxzdHJpbmc+KHRoaXMuaW1hZ2VTZXJ2aWNlLnVzZXJEZWZhdWx0SW1hZ2UoKSk7XHJcbiAgaW1hZ2VMb2FkZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjtcclxuXHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KHRoaXMuaW1hZ2VVcmwoKSk7XHJcbiAgICB0aGlzLmNhcnJlZ2FJbWFnZW1JbmljaWFsKCk7XHJcbiAgfVxyXG5cclxuICBjYXJyZWdhSW1hZ2VtSW5pY2lhbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGltYWdlVXJsID0gdGhpcy5pbWFnZVVybCgpO1xyXG5cclxuICAgIGlmIChpbWFnZVVybCAmJiAoaW1hZ2VVcmwuc3RhcnRzV2l0aCgnZGF0YTppbWFnZScpIHx8IGltYWdlVXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwcycpKSkge1xyXG4gICAgICAgIHRoaXMuZXhpc3RlTG9nbyA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKGltYWdlVXJsICYmIGltYWdlVXJsLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VTb3VyY2Uuc2V0KCdkYXRhOmltYWdlL2pwZztiYXNlNjQsJyArIGltYWdlVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5leGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQodGhpcy5pbWFnZVNlcnZpY2UudXNlckRlZmF1bHRJbWFnZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICB9XHJcblxyXG5cclxuICBvcGVuRmlsZSgpIHtcclxuICAgIGNvbnN0IGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm90b0VzY29saGlkYScpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBpZiAoaW5wdXRFbGVtZW50KSB7XHJcbiAgICAgIGlucHV0RWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlSW1hZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcclxuICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuXHJcbiAgICAgIGlmKHRoaXMuYnRuQWx0ZXJhckZvdG8gPT0gdHJ1ZSl7XHJcbiAgICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuXHJcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmltYWdlQ3V0dGVyU2VydmljZS5jdXQoXHJcbiAgICAgICAgICAgICAgICAgICAgcmVhZGVyLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmV4aXN0ZUxvZ28gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQocmVzdWx0KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VVcmxDaGFuZ2UuZW1pdCh0aGlzLmltYWdlU291cmNlKCkpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IFxyXG4gICAgICAgICAgICAgIC8vdGhpcy5yZW1vdmVyRm90bygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIC8vID8hIENvbXBvcnRhbW5ldG8gcGFkcsOjbyAtLT4gUHJlc2VydmFyIDwtLSAhISFcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmltYWdlU291cmNlLnNldChyZWFkZXIucmVzdWx0ISsnJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKCdBcGVuYXMgYXJxdWl2b3MgZGUgaW1hZ2VtIHPDo28gcGVybWl0aWRvcy4nKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBxdWVzdGlvblJlbW92ZXJGb3RvKCl7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBtZXNzYWdlOiAnVm9jw6ogdGVtIGNlcnRlemEgcXVlIGRlc2VqYSByZXRpcmFyIGEgZm90byBkZXNzZSB1c3XDoXJpbz8nLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbW92ZXJGb3RvKClcclxuICAgICAgfSxcclxuICAgIH0pOyBcclxuICB9XHJcblxyXG4gIHJlbW92ZXJGb3RvKCkge1xyXG4gICAgdGhpcy5pbWFnZVNvdXJjZS5zZXQoJycpXHJcbiAgICB0aGlzLnJlbW92ZXJGb3RvRXZlbnQuZW1pdCgpO1xyXG4gICAgdGhpcy5leGlzdGVMb2dvID0gZmFsc2U7XHJcbiAgICB0aGlzLmltYWdlVXJsQ2hhbmdlLmVtaXQodGhpcy5pbWFnZVNvdXJjZSgpKTtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIGhhbmRsZUltYWdlRXJyb3IoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZUxvYWRlZC5zZXQodHJ1ZSlcclxuICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmltYWdlU2VydmljZS51c2VyRGVmYXVsdEltYWdlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW1hZ2UtY29udGFpbmVyXCIgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIiA+XHJcblxyXG4gIDxpbWdcclxuICAgIFtzcmNdPVwiaW1hZ2VTb3VyY2UoKVwiXHJcbiAgICAobG9hZCk9XCJvbkltYWdlTG9hZCgpXCJcclxuICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudClcIlxyXG4gICAgYWx0PVwiRm90b1wiXHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci1mb3RvXCJcclxuICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiYm9yZGVyQ29sb3JcIlxyXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcclxuICAgID5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJ0blwiPlxyXG4gICAgPGlucHV0ICNmaWxlSW5wdXQgKm5nSWY9XCJidG5BbHRlcmFyRm90b1wiIGlkPVwiZm90b0VzY29saGlkYVwiIHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIHN0eWxlPVwiZGlzcGxheTpub25lXCIgKGNoYW5nZSk9XCJjaGFuZ2VJbWFnZSgkYW55KCRldmVudCkpXCI+XHJcblxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImJ0bkFsdGVyYXJGb3RvICYmICFleGlzdGVMb2dvXCJcclxuICAgICAgY2xhc3M9XCJib3Rhby1hbHRlcmFyLWZvdG8gYm9yZGVyLWNpcmNsZVwiXHJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJ0bnNDb2xvclwiIChjbGljayk9XCJvcGVuRmlsZSgpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnBob3RvX2NhbWVyYTwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gKm5nSWY9XCJidG5BbHRlcmFyRm90byAmJiBleGlzdGVMb2dvXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYnRuc0NvbG9yXCJcclxuICAgICAgICBjbGFzcz1cImJvdGFvLWV4Y2x1aXItZm90byBib3JkZXItY2lyY2xlXHJcbiAgICAgICAgICAgICAgICBob3ZlcjpzaGFkb3ctM1xyXG4gICAgICAgICAgICAgICAgYWN0aXZlOnNoYWRvdy01XCJcclxuICAgICAgICAoY2xpY2spPVwicXVlc3Rpb25SZW1vdmVyRm90bygpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmRlbGV0ZTwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmd4LWxvYWRpbmcgW3Nob3ddPVwiIWltYWdlTG9hZGVkKClcIiBmdWxsIGNsYXNzPVwiY29udGFpbmVyLWZvdG9cIiBbY29uZmlnXT1cIntiYWNrZHJvcEJvcmRlclJhZGl1czogJzEwMCUnLCBmdWxsU2NyZWVuQmFja2Ryb3A6IGZhbHNlIH1cIj48L25neC1sb2FkaW5nPlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|