keevo-components 2.0.16 → 2.0.18
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 +146 -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 +183 -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 +60 -14
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-button/kv-button.component.d.ts +1 -1
- package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +2 -1
- package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +2 -0
- package/lib/components/kv-stepper/kv-stepper.component.d.ts +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,166 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "primeng/button";
|
|
5
|
+
import * as i3 from "primeng/chart";
|
|
6
|
+
import * as i4 from "primeng/dropdown";
|
|
7
|
+
import * as i5 from "primeng/menu";
|
|
8
|
+
import * as i6 from "primeng/ripple";
|
|
9
|
+
import * as i7 from "@angular/forms";
|
|
10
|
+
export const PeriodosChart = {
|
|
11
|
+
Ultimos180Dias: -180,
|
|
12
|
+
Ultimos120Dias: -120,
|
|
13
|
+
Ultimos90Dias: -90,
|
|
14
|
+
Ultimos60Dias: -60,
|
|
15
|
+
Ultimos45Dias: -45,
|
|
16
|
+
Ultimos30Dias: -30,
|
|
17
|
+
Ultimos15Dias: -15,
|
|
18
|
+
Ultimos7Dias: -7,
|
|
19
|
+
DataAtual: 0,
|
|
20
|
+
Proximos7Dias: 7,
|
|
21
|
+
Proximos15Dias: 15,
|
|
22
|
+
Proximos30Dias: 30,
|
|
23
|
+
Proximos45Dias: 45,
|
|
24
|
+
Proximos60Dias: 60,
|
|
25
|
+
Proximos90Dias: 90,
|
|
26
|
+
Proximos120Dias: 120,
|
|
27
|
+
Proximos180Dias: 180
|
|
28
|
+
};
|
|
29
|
+
export class KvChartComponent {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.chartConfig = {
|
|
32
|
+
labels: [],
|
|
33
|
+
datasets: [],
|
|
34
|
+
};
|
|
35
|
+
this.periodosDisponiveis = [
|
|
36
|
+
{ label: 'Últimos 180 dias', value: -180 },
|
|
37
|
+
{ label: 'Últimos 120 dias', value: -120 },
|
|
38
|
+
{ label: 'Últimos 90 dias', value: -90 },
|
|
39
|
+
{ label: 'Últimos 60 dias', value: -60 },
|
|
40
|
+
{ label: 'Últimos 45 dias', value: -45 },
|
|
41
|
+
{ label: 'Últimos 30 dias', value: -30 },
|
|
42
|
+
{ label: 'Últimos 15 dias', value: -15 },
|
|
43
|
+
{ label: 'Últimos 7 dias', value: -7 },
|
|
44
|
+
{ label: 'Data atual', value: 0 },
|
|
45
|
+
{ label: 'Próximos 7 dias', value: 7 },
|
|
46
|
+
{ label: 'Próximos 15 dias', value: 15 },
|
|
47
|
+
{ label: 'Próximos 30 dias', value: 30 },
|
|
48
|
+
{ label: 'Próximos 45 dias', value: 45 },
|
|
49
|
+
{ label: 'Próximos 60 dias', value: 60 },
|
|
50
|
+
{ label: 'Próximos 90 dias', value: 90 },
|
|
51
|
+
{ label: 'Próximos 120 dias', value: 120 },
|
|
52
|
+
{ label: 'Próximos 180 dias', value: 180 }
|
|
53
|
+
];
|
|
54
|
+
this.heightChart = '300px';
|
|
55
|
+
this.showDatas = true;
|
|
56
|
+
this.showMenu = false;
|
|
57
|
+
this.enablePeriodos = [];
|
|
58
|
+
this.periodos = [];
|
|
59
|
+
this.menuItems = [];
|
|
60
|
+
this.onPrintReport = new EventEmitter();
|
|
61
|
+
this.onSelectionValue = new EventEmitter();
|
|
62
|
+
}
|
|
63
|
+
configureGraphic() {
|
|
64
|
+
this.data = this.chartConfig;
|
|
65
|
+
this.configOptions();
|
|
66
|
+
this.chart?.reinit();
|
|
67
|
+
}
|
|
68
|
+
configOptions() {
|
|
69
|
+
this.options = {
|
|
70
|
+
indexAxis: this.indexAxis || 'x',
|
|
71
|
+
maintainAspectRatio: true,
|
|
72
|
+
aspectRatio: 2,
|
|
73
|
+
responsive: true,
|
|
74
|
+
animation: {
|
|
75
|
+
duration: 0
|
|
76
|
+
},
|
|
77
|
+
scales: {
|
|
78
|
+
x: {
|
|
79
|
+
ticks: {
|
|
80
|
+
color: 'black',
|
|
81
|
+
display: 768,
|
|
82
|
+
},
|
|
83
|
+
grid: {
|
|
84
|
+
color: 'white',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
y: {
|
|
88
|
+
beginAtZero: true,
|
|
89
|
+
grid: {
|
|
90
|
+
color: 'white',
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
plugins: {
|
|
95
|
+
legend: {
|
|
96
|
+
display: this.displayLegend || false,
|
|
97
|
+
labels: {
|
|
98
|
+
color: '#1e293b',
|
|
99
|
+
usePointStyle: true,
|
|
100
|
+
font: {
|
|
101
|
+
weight: 700,
|
|
102
|
+
},
|
|
103
|
+
padding: 28
|
|
104
|
+
},
|
|
105
|
+
position: 'bottom'
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
this.menuItems = [
|
|
110
|
+
{ label: 'Imprimir relatório', command: () => this.printReport() }
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
initDatas() {
|
|
114
|
+
this.periodosDisponiveis.map((el) => {
|
|
115
|
+
if (this.enablePeriodos.includes(el.value)) {
|
|
116
|
+
this.periodos.push(el);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
ngOnInit() {
|
|
121
|
+
this.initDatas();
|
|
122
|
+
this.configureGraphic();
|
|
123
|
+
}
|
|
124
|
+
printReport() {
|
|
125
|
+
this.onPrintReport.emit();
|
|
126
|
+
}
|
|
127
|
+
reInit(config) {
|
|
128
|
+
this.chartConfig = config;
|
|
129
|
+
this.configureGraphic();
|
|
130
|
+
}
|
|
131
|
+
selectionValue(event) {
|
|
132
|
+
this.onSelectionValue.emit(event);
|
|
133
|
+
}
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvChartComponent, selector: "kv-chart", inputs: { title: "title", type: "type", indexAxis: "indexAxis", displayLegend: "displayLegend", heightChart: "heightChart", showDatas: "showDatas", showMenu: "showMenu", selectedData: "selectedData", enablePeriodos: "enablePeriodos" }, outputs: { onPrintReport: "onPrintReport", onSelectionValue: "onSelectionValue" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chart"], descendants: true }], ngImport: i0, template: "<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [height]=\"heightChart\">\r\n </p-chart>\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}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i3.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
136
|
+
}
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvChartComponent, decorators: [{
|
|
138
|
+
type: Component,
|
|
139
|
+
args: [{ selector: 'kv-chart', template: "<div class=\"card h-full\">\r\n <div class=\"flex align-items-start justify-content-between mb-6\">\r\n <label class=\"text-900 text-xl font-semibold\">{{ title }}</label>\r\n <div>\r\n <p-dropdown\r\n *ngIf=\"showDatas\"\r\n [options]=\"periodos\"\r\n [(ngModel)]=\"selectedData\"\r\n optionLabel=\"label\"\r\n optionValue=\"value\"\r\n styleClass=\"w-15rem\"\r\n (onChange)=\"selectionValue($event)\">\r\n </p-dropdown>\r\n <button\r\n *ngIf=\"showMenu\"\r\n pButton\r\n pRipple\r\n icon=\"pi pi-ellipsis-h\"\r\n class=\"p-button-rounded p-button-secondary\"\r\n style=\"margin-left: 10px;\"\r\n (click)=\"menu.toggle($event)\">\r\n </button>\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n appendTo=\"body\"\r\n [model]=\"menuItems\">\r\n </p-menu>\r\n </div>\r\n </div>\r\n <p-chart\r\n #chart\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [height]=\"heightChart\">\r\n </p-chart>\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}\n"] }]
|
|
140
|
+
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], type: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], indexAxis: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], displayLegend: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], heightChart: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], showDatas: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], showMenu: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], selectedData: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], enablePeriodos: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], onPrintReport: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}], onSelectionValue: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}], chart: [{
|
|
163
|
+
type: ViewChild,
|
|
164
|
+
args: ['chart']
|
|
165
|
+
}] } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQU92QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsY0FBYyxFQUFFLENBQUMsR0FBRztJQUNwQixjQUFjLEVBQUUsQ0FBQyxHQUFHO0lBQ3BCLGFBQWEsRUFBRSxDQUFDLEVBQUU7SUFDbEIsYUFBYSxFQUFFLENBQUMsRUFBRTtJQUNsQixhQUFhLEVBQUUsQ0FBQyxFQUFFO0lBQ2xCLGFBQWEsRUFBRSxDQUFDLEVBQUU7SUFDbEIsYUFBYSxFQUFFLENBQUMsRUFBRTtJQUNsQixZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ2hCLFNBQVMsRUFBRSxDQUFDO0lBQ1osYUFBYSxFQUFFLENBQUM7SUFDaEIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsZUFBZSxFQUFFLEdBQUc7Q0FDckIsQ0FBQTtBQVVELE1BQU0sT0FBTyxnQkFBZ0I7SUFrRDNCO1FBaERBLGdCQUFXLEdBQWdCO1lBQ3pCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVB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QyxDQUFDO0lBQ3BDLENBQUM7OEdBbElVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLCtjQzFDN0IsbWxDQXNDQTs7MkZESWEsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLFVBQVU7d0RBa0NYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFVSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDYSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBVSUNoYXJ0IH0gZnJvbSAncHJpbWVuZy9jaGFydCc7XHJcblxyXG5pbXBvcnQgeyBDaGFydENvbmZpZyB9IGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbmZpZyc7XHJcblxyXG5leHBvcnQgY29uc3QgUGVyaW9kb3NDaGFydCA9IHtcclxuICBVbHRpbW9zMTgwRGlhczogLTE4MCxcclxuICBVbHRpbW9zMTIwRGlhczogLTEyMCxcclxuICBVbHRpbW9zOTBEaWFzOiAtOTAsXHJcbiAgVWx0aW1vczYwRGlhczogLTYwLFxyXG4gIFVsdGltb3M0NURpYXM6IC00NSxcclxuICBVbHRpbW9zMzBEaWFzOiAtMzAsXHJcbiAgVWx0aW1vczE1RGlhczogLTE1LFxyXG4gIFVsdGltb3M3RGlhczogLTcsXHJcbiAgRGF0YUF0dWFsOiAwLFxyXG4gIFByb3hpbW9zN0RpYXM6IDcsXHJcbiAgUHJveGltb3MxNURpYXM6IDE1LFxyXG4gIFByb3hpbW9zMzBEaWFzOiAzMCxcclxuICBQcm94aW1vczQ1RGlhczogNDUsXHJcbiAgUHJveGltb3M2MERpYXM6IDYwLFxyXG4gIFByb3hpbW9zOTBEaWFzOiA5MCxcclxuICBQcm94aW1vczEyMERpYXM6IDEyMCxcclxuICBQcm94aW1vczE4MERpYXM6IDE4MFxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4va3YtY2hhcnQuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uL2tlZXZvLWNvbXBvbmVudHMtc3R5bGVzLnNjc3MnXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNoYXJ0Q29uZmlnOiBDaGFydENvbmZpZyA9IHtcclxuICAgIGxhYmVsczogW10sXHJcbiAgICBkYXRhc2V0czogW10sXHJcbiAgfVxyXG5cclxuICBwZXJpb2Rvc0Rpc3Bvbml2ZWlzID0gW1xyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDE4MCBkaWFzJywgdmFsdWU6IC0xODAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyAxMjAgZGlhcycsIHZhbHVlOiAtMTIwIH0sXHJcbiAgICB7IGxhYmVsOiAnw5psdGltb3MgOTAgZGlhcycsIHZhbHVlOiAtOTAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyA2MCBkaWFzJywgdmFsdWU6IC02MCB9LFxyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDQ1IGRpYXMnLCB2YWx1ZTogLTQ1IH0sXHJcbiAgICB7IGxhYmVsOiAnw5psdGltb3MgMzAgZGlhcycsIHZhbHVlOiAtMzAgfSxcclxuICAgIHsgbGFiZWw6ICfDmmx0aW1vcyAxNSBkaWFzJywgdmFsdWU6IC0xNSB9LFxyXG4gICAgeyBsYWJlbDogJ8OabHRpbW9zIDcgZGlhcycsIHZhbHVlOiAtNyB9LFxyXG4gICAgeyBsYWJlbDogJ0RhdGEgYXR1YWwnLCB2YWx1ZTogMCB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyA3IGRpYXMnLCB2YWx1ZTogNyB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyAxNSBkaWFzJywgdmFsdWU6IDE1IH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDMwIGRpYXMnLCB2YWx1ZTogMzAgfSxcclxuICAgIHsgbGFiZWw6ICdQcsOzeGltb3MgNDUgZGlhcycsIHZhbHVlOiA0NSB9LFxyXG4gICAgeyBsYWJlbDogJ1Byw7N4aW1vcyA2MCBkaWFzJywgdmFsdWU6IDYwIH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDkwIGRpYXMnLCB2YWx1ZTogOTAgfSxcclxuICAgIHsgbGFiZWw6ICdQcsOzeGltb3MgMTIwIGRpYXMnLCB2YWx1ZTogMTIwIH0sXHJcbiAgICB7IGxhYmVsOiAnUHLDs3hpbW9zIDE4MCBkaWFzJywgdmFsdWU6IDE4MCB9XHJcbiAgXTtcclxuXHJcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZSE6ICdkb3VnaG51dCcgfCAncGllJyB8ICdiYXInIHwgJ2xpbmUnO1xyXG4gIEBJbnB1dCgpIGluZGV4QXhpcyE6ICd5JyB8ICd4JztcclxuICBASW5wdXQoKSBkaXNwbGF5TGVnZW5kITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoZWlnaHRDaGFydDogc3RyaW5nID0gJzMwMHB4JztcclxuXHJcbiAgQElucHV0KCkgc2hvd0RhdGFzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93TWVudTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0YSE6IG51bWJlcjtcclxuICBASW5wdXQoKSBlbmFibGVQZXJpb2RvczogbnVtYmVyW10gPSBbXTtcclxuIFxyXG5cclxuICBkYXRhOiBhbnk7XHJcbiAgb3B0aW9uczogYW55O1xyXG5cclxuICBwZXJpb2RvczogYW55W10gPSBbXTtcclxuXHJcbiAgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKSBvblByaW50UmVwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25WYWx1ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgnY2hhcnQnKSBjaGFydD86IFVJQ2hhcnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGNvbmZpZ3VyZUdyYXBoaWMoKSB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmNoYXJ0Q29uZmlnO1xyXG4gICAgdGhpcy5jb25maWdPcHRpb25zKCk7XHJcbiAgICB0aGlzLmNoYXJ0Py5yZWluaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uZmlnT3B0aW9ucygpOiB2b2lkIHtcclxuICAgIFxyXG4gICAgICB0aGlzLm9wdGlvbnMgPSB7XHJcbiAgICAgICAgaW5kZXhBeGlzOiB0aGlzLmluZGV4QXhpcyB8fCAneCcsXHJcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcclxuICAgICAgICBhc3BlY3RSYXRpbzogMixcclxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLCAgICAgICAgXHJcbiAgICAgICAgYW5pbWF0aW9uOiB7XHJcbiAgICAgICAgICBkdXJhdGlvbjogMFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgICB4OiB7XHJcbiAgICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgZGlzcGxheTogNzY4LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBncmlkOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgeToge1xyXG4gICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgICAgZ3JpZDoge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0aGlzLmRpc3BsYXlMZWdlbmQgfHwgZmFsc2UsXHJcbiAgICAgICAgICAgIGxhYmVsczoge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAnIzFlMjkzYicsXHJcbiAgICAgICAgICAgICAgdXNlUG9pbnRTdHlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBmb250OiB7XHJcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDcwMCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDI4XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gICAgIFxyXG4gICAgICB9O1xyXG4gICAgXHJcbiAgICB0aGlzLm1lbnVJdGVtcyA9IFtcclxuICAgICAgeyBsYWJlbDogJ0ltcHJpbWlyIHJlbGF0w7NyaW8nLCBjb21tYW5kOiAoKSA9PiB0aGlzLnByaW50UmVwb3J0KCkgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RGF0YXMoKSB7XHJcbiAgICB0aGlzLnBlcmlvZG9zRGlzcG9uaXZlaXMubWFwKChlbCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5lbmFibGVQZXJpb2Rvcy5pbmNsdWRlcyhlbC52YWx1ZSkpIHtcclxuICAgICAgICB0aGlzLnBlcmlvZG9zLnB1c2goZWwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0RGF0YXMoKTtcclxuICAgIHRoaXMuY29uZmlndXJlR3JhcGhpYygpO1xyXG4gIH1cclxuXHJcbiAgcHJpbnRSZXBvcnQoKSB7XHJcbiAgICB0aGlzLm9uUHJpbnRSZXBvcnQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlSW5pdChjb25maWc6IGFueSkge1xyXG4gICAgdGhpcy5jaGFydENvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuY29uZmlndXJlR3JhcGhpYygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNlbGVjdGlvblZhbHVlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25TZWxlY3Rpb25WYWx1ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY2FyZCBoLWZ1bGxcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi02XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJ0ZXh0LTkwMCB0ZXh0LXhsIGZvbnQtc2VtaWJvbGRcIj57eyB0aXRsZSB9fTwvbGFiZWw+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8cC1kcm9wZG93blxyXG4gICAgICAgICpuZ0lmPVwic2hvd0RhdGFzXCJcclxuICAgICAgICBbb3B0aW9uc109XCJwZXJpb2Rvc1wiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGFcIlxyXG4gICAgICAgIG9wdGlvbkxhYmVsPVwibGFiZWxcIlxyXG4gICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJ3LTE1cmVtXCJcclxuICAgICAgICAob25DaGFuZ2UpPVwic2VsZWN0aW9uVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICA8L3AtZHJvcGRvd24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cInNob3dNZW51XCJcclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgIGljb249XCJwaSBwaS1lbGxpcHNpcy1oXCJcclxuICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc2Vjb25kYXJ5XCJcclxuICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxwLW1lbnVcclxuICAgICAgICAjbWVudVxyXG4gICAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgIFttb2RlbF09XCJtZW51SXRlbXNcIj5cclxuICAgICAgPC9wLW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8cC1jaGFydFxyXG4gICAgI2NoYXJ0XHJcbiAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXHJcbiAgICBbaGVpZ2h0XT1cImhlaWdodENoYXJ0XCI+XHJcbiAgPC9wLWNoYXJ0PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { NgModule } from "@angular/core";
|
|
4
|
+
import { KvChartComponent } from './kv-chart.component';
|
|
5
|
+
import { PrimeNgModule } from '../../api/modules/primeng.module';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class KvChartModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvChartModule, declarations: [KvChartComponent], imports: [CommonModule,
|
|
10
|
+
PrimeNgModule,
|
|
11
|
+
FormsModule], exports: [KvChartComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvChartModule, imports: [CommonModule,
|
|
13
|
+
PrimeNgModule,
|
|
14
|
+
FormsModule] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvChartModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [
|
|
20
|
+
KvChartComponent
|
|
21
|
+
],
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
PrimeNgModule,
|
|
25
|
+
FormsModule,
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
KvChartComponent
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBZWpFLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkFYdEIsZ0JBQWdCLGFBR2hCLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVyxhQUdYLGdCQUFnQjsrR0FHUCxhQUFhLFlBUnRCLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVzs7MkZBTUYsYUFBYTtrQkFiekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgS3ZDaGFydENvbXBvbmVudCB9IGZyb20gJy4va3YtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gJy4uLy4uL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBLdkNoYXJ0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBLdkNoYXJ0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDaGFydE1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Component, computed, EventEmitter, input, Input, Output, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "primeng/skeleton";
|
|
5
|
+
import * as i3 from "../kv-file-viewer-novo/kv-file-viewer-novo.component";
|
|
6
|
+
import * as i4 from "ngx-loading";
|
|
7
|
+
export class KvContentViewerComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
// #region Signals
|
|
10
|
+
this.dataSource = input([]);
|
|
11
|
+
this.paginaInicial = signal(1);
|
|
12
|
+
this.arquivo = input(undefined);
|
|
13
|
+
this.arquivoPreview = signal(undefined);
|
|
14
|
+
this.nomeArquivo = signal('');
|
|
15
|
+
this.type = input(undefined);
|
|
16
|
+
this.blob = input('');
|
|
17
|
+
this.idarquivo = signal(undefined);
|
|
18
|
+
this.ekpContent = input(undefined);
|
|
19
|
+
this.totalItensCarregado = computed(() => this.dataSource()?.length || 0);
|
|
20
|
+
this.previewOn = false;
|
|
21
|
+
this.selectedItem = {};
|
|
22
|
+
this.totalRecords = 0;
|
|
23
|
+
this.isLoading = false;
|
|
24
|
+
this.displaySidebar = false;
|
|
25
|
+
this.isSelected = false;
|
|
26
|
+
this.visualizadorDocumentos = false;
|
|
27
|
+
this.indvisualizado = false;
|
|
28
|
+
this.btnTelaCheia = false;
|
|
29
|
+
this.isLoadingSkeleton = false;
|
|
30
|
+
this.borderCardNaoVisualizado = true;
|
|
31
|
+
this.keyVisualizado = 'indvisualizado';
|
|
32
|
+
// #endregion
|
|
33
|
+
// #region Outputs
|
|
34
|
+
this.onScrollHandler = new EventEmitter();
|
|
35
|
+
this.onSelectFile = new EventEmitter();
|
|
36
|
+
}
|
|
37
|
+
todayDate() {
|
|
38
|
+
const today = new Date();
|
|
39
|
+
return today.toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' });
|
|
40
|
+
}
|
|
41
|
+
// #endregion
|
|
42
|
+
trackByFn(index, item) {
|
|
43
|
+
return item.idarquivo;
|
|
44
|
+
}
|
|
45
|
+
isVisualizado(option) {
|
|
46
|
+
return option[this.keyVisualizado] || false;
|
|
47
|
+
}
|
|
48
|
+
visualizarPreview(arquivo) {
|
|
49
|
+
arquivo[this.keyVisualizado] = true;
|
|
50
|
+
this.arquivoPreview.set(arquivo);
|
|
51
|
+
this.onSelectFile.emit(arquivo);
|
|
52
|
+
}
|
|
53
|
+
alternarTelaCheia() {
|
|
54
|
+
const element = document.getElementById('fullscreenDiv');
|
|
55
|
+
const button = document.getElementById('fullscreenBtn');
|
|
56
|
+
// Verifica se os elementos existem
|
|
57
|
+
if (element && button) {
|
|
58
|
+
if (!document.fullscreenElement) {
|
|
59
|
+
// Expandir para tela cheia
|
|
60
|
+
if (element.requestFullscreen) {
|
|
61
|
+
element.requestFullscreen();
|
|
62
|
+
}
|
|
63
|
+
else if (element.mozRequestFullScreen) { // Para Firefox
|
|
64
|
+
element.mozRequestFullScreen();
|
|
65
|
+
}
|
|
66
|
+
else if (element.webkitRequestFullscreen) { // Para Chrome, Safari e Opera
|
|
67
|
+
element.webkitRequestFullscreen();
|
|
68
|
+
}
|
|
69
|
+
else if (element.msRequestFullscreen) { // Para IE/Edge
|
|
70
|
+
element.msRequestFullscreen();
|
|
71
|
+
}
|
|
72
|
+
button.textContent = 'close_fullscreen';
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Sair da tela cheia
|
|
76
|
+
if (document.exitFullscreen) {
|
|
77
|
+
document.exitFullscreen();
|
|
78
|
+
}
|
|
79
|
+
else if (document.mozCancelFullScreen) { // Para Firefox
|
|
80
|
+
document.mozCancelFullScreen();
|
|
81
|
+
}
|
|
82
|
+
else if (document.webkitExitFullscreen) { // Para Chrome, Safari e Opera
|
|
83
|
+
document.webkitExitFullscreen();
|
|
84
|
+
}
|
|
85
|
+
else if (document.msExitFullscreen) { // Para IE/Edge
|
|
86
|
+
document.msExitFullscreen();
|
|
87
|
+
}
|
|
88
|
+
button.textContent = 'open_in_full';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
ngOnInit() {
|
|
93
|
+
document.addEventListener('fullscreenchange', () => {
|
|
94
|
+
const button = document.getElementById('fullscreenBtn');
|
|
95
|
+
if (button) {
|
|
96
|
+
if (!document.fullscreenElement) {
|
|
97
|
+
button.textContent = 'open_in_full';
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
button.textContent = 'close_fullscreen';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
scrollHandler($event) {
|
|
106
|
+
const element = $event.target;
|
|
107
|
+
//se o escroll chegar até o final
|
|
108
|
+
if (element.scrollHeight - element.scrollTop === element.clientHeight) {
|
|
109
|
+
// this.buscarProximosDocumentos();
|
|
110
|
+
this.onScrollHandler.emit($event);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile" }, ngImport: i0, template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem;\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template... \r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n\r\n @if(isLoadingSkeleton){\r\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\r\n }\r\n\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\">\r\n @if(btnTelaCheia)\r\n {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\r\n open_in_full\r\n </span>\r\n </div>\r\n }\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\" \r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%;\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto;\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem;\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n</div>\r\n\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i3.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i4.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, decorators: [{
|
|
117
|
+
type: Component,
|
|
118
|
+
args: [{ selector: 'kv-content-viewer', template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\" style=\"height: 100%;\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem;\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis \" style=\"max-width: 100%;\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template... \r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n\r\n @if(isLoadingSkeleton){\r\n <p-skeleton *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"></p-skeleton>\r\n }\r\n\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n<div id=\"fullscreenDiv\" class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative; height: 100%;\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\">\r\n @if(btnTelaCheia)\r\n {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span id=\"fullscreenBtn\" (click)=\"alternarTelaCheia()\" class=\"material-symbols-outlined p-2 text-xl cursor-pointer\">\r\n open_in_full\r\n </span>\r\n </div>\r\n }\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\" \r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%;\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%;\"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto;\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem;\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n</div>\r\n\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}:host ::ng-deep .p-skeleton{height:5rem!important;border-radius:1rem;margin-top:.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
|
|
119
|
+
}], propDecorators: { extencaoDocumento: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], totalRecords: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], visualizadorDocumentos: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], cardTemplate: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], contentTemplate: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], noDocumentSelectedTemplate: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], noDocumentListTemplate: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], indvisualizado: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], btnTelaCheia: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], isLoadingSkeleton: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], borderCardNaoVisualizado: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], onScrollHandler: [{
|
|
142
|
+
type: Output
|
|
143
|
+
}], onSelectFile: [{
|
|
144
|
+
type: Output
|
|
145
|
+
}] } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTFILE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFTRSxrQkFBa0I7UUFDbkIsZUFBVSxHQUF1QixLQUFLLENBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxNQUFNLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDNUMsU0FBSSxHQUFHLEtBQUssQ0FBTyxFQUFTLENBQUMsQ0FBQztRQUM5QixjQUFTLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsS0FBSyxDQUF1QixTQUFTLENBQUMsQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxRQUFRLENBQzdCLEdBQUcsRUFBRSxDQUFD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WSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyOUVDUnJDLDhoTEF1SkE7OzJGRC9JYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQTBCdEIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQVVJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIElucHV0LCBJbnB1dFNpZ25hbCwgT3V0cHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWNvbnRlbnQtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1jb250ZW50LXZpZXdlci5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2Q29udGVudFZpZXdlckNvbXBvbmVudCB7XHJcblxyXG5cclxuXHJcbiAgLy8gI3JlZ2lvbiBTaWduYWxzXHJcbiBkYXRhU291cmNlOiBJbnB1dFNpZ25hbDxhbnlbXT4gPSBpbnB1dDxhbnlbXT4oW10pO1xyXG4gcGFnaW5hSW5pY2lhbCA9IHNpZ25hbDxudW1iZXI+KDEpO1xyXG4gYXJxdWl2byA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuIGFycXVpdm9QcmV2aWV3ID0gc2lnbmFsPGFueT4odW5kZWZpbmVkKTtcclxuIG5vbWVBcnF1aXZvID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG4gdHlwZSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuIGJsb2IgPSBpbnB1dDxCbG9iPignJyBhcyBhbnkpO1xyXG4gaWRhcnF1aXZvID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuIGVrcENvbnRlbnQgPSBpbnB1dDxTYWZlSHRtbCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuIHRvdGFsSXRlbnNDYXJyZWdhZG8gPSBjb21wdXRlZChcclxuICAoKSA9PiB0aGlzLmRhdGFTb3VyY2UoKT8ubGVuZ3RoIHx8IDBcclxuKTtcclxuLy8gI2VuZHJlZ2lvblxyXG5cclxuLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcbmVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuaWR0aXBvZG9jdW1lbnRvITogbnVtYmVyW107XHJcbkBJbnB1dCgpIGV4dGVuY2FvRG9jdW1lbnRvITogc3RyaW5nO1xyXG5wcmV2aWV3T246IGJvb2xlYW4gPSBmYWxzZTtcclxuc2VsZWN0ZWRJdGVtOiBhbnkgPSB7fTtcclxuQElucHV0KCkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xyXG5pc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuZGlzcGxheVNpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSB2aXN1YWxpemFkb3JEb2N1bWVudG9zOiBib29sZWFuID0gZmFsc2U7XHJcbkBJbnB1dCgpIGNhcmRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIG5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgbm9Eb2N1bWVudExpc3RUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbkBJbnB1dCgpIGluZHZpc3VhbGl6YWRvOiBib29sZWFuID0gZmFsc2U7XHJcbkBJbnB1dCgpIGJ0blRlbGFDaGVpYTogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBpc0xvYWRpbmdTa2VsZXRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBib3JkZXJDYXJkTmFvVmlzdWFsaXphZG86IGJvb2xlYW4gPSB0cnVlO1xyXG5rZXlWaXN1YWxpemFkbzogc3RyaW5nID0gJ2luZHZpc3VhbGl6YWRvJzsgXHJcblxyXG50b2RheURhdGUoKTogc3RyaW5nIHtcclxuICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgcmV0dXJuIHRvZGF5LnRvTG9jYWxlRGF0ZVN0cmluZygncHQtQlInLCB7IGRheTogJzItZGlnaXQnLCBtb250aDogJzItZGlnaXQnLCB5ZWFyOiAnbnVtZXJpYycgfSk7XHJcbn1cclxuLy8gI2VuZHJlZ2lvblxyXG5cclxuLy8gI3JlZ2lvbiBPdXRwdXRzXHJcbkBPdXRwdXQoKSBvblNjcm9sbEhhbmRsZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5AT3V0cHV0KCkgb25TZWxlY3RGaWxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuLy8gI2VuZHJlZ2lvblxyXG5cclxudHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcclxufVxyXG5cclxuaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBvcHRpb25bdGhpcy5rZXlWaXN1YWxpemFkb10gfHwgZmFsc2U7XHJcbn1cclxuXHJcbnZpc3VhbGl6YXJQcmV2aWV3KGFycXVpdm86IGFueSk6IHZvaWQge1xyXG4gIGFycXVpdm9bdGhpcy5rZXlWaXN1YWxpemFkb10gPSB0cnVlO1xyXG5cclxuICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldChhcnF1aXZvKTtcclxuICB0aGlzLm9uU2VsZWN0RmlsZS5lbWl0KGFycXVpdm8pO1xyXG4gIFxyXG59XHJcblxyXG5hbHRlcm5hclRlbGFDaGVpYSgpIHtcclxuICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5EaXYnKTtcclxuICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnVsbHNjcmVlbkJ0bicpO1xyXG5cclxuICAvLyBWZXJpZmljYSBzZSBvcyBlbGVtZW50b3MgZXhpc3RlbVxyXG4gIGlmIChlbGVtZW50ICYmIGJ1dHRvbikge1xyXG4gICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xyXG4gICAgICAvLyBFeHBhbmRpciBwYXJhIHRlbGEgY2hlaWFcclxuICAgICAgaWYgKGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBlbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGVsZW1lbnQgYXMgYW55KS5tb3pSZXF1ZXN0RnVsbFNjcmVlbikgeyAvLyBQYXJhIEZpcmVmb3hcclxuICAgICAgICAoZWxlbWVudCBhcyBhbnkpLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGVsZW1lbnQgYXMgYW55KS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbikgeyAvLyBQYXJhIENocm9tZSwgU2FmYXJpIGUgT3BlcmFcclxuICAgICAgICAoZWxlbWVudCBhcyBhbnkpLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGVsZW1lbnQgYXMgYW55KS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7IC8vIFBhcmEgSUUvRWRnZVxyXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkubXNSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGJ1dHRvbi50ZXh0Q29udGVudCA9ICdjbG9zZV9mdWxsc2NyZWVuJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNhaXIgZGEgdGVsYSBjaGVpYVxyXG4gICAgICBpZiAoZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChkb2N1bWVudCBhcyBhbnkpLm1vekNhbmNlbEZ1bGxTY3JlZW4pIHsgLy8gUGFyYSBGaXJlZm94XHJcbiAgICAgICAgKGRvY3VtZW50IGFzIGFueSkubW96Q2FuY2VsRnVsbFNjcmVlbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKChkb2N1bWVudCBhcyBhbnkpLndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7IC8vIFBhcmEgQ2hyb21lLCBTYWZhcmkgZSBPcGVyYVxyXG4gICAgICAgIChkb2N1bWVudCBhcyBhbnkpLndlYmtpdEV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGRvY3VtZW50IGFzIGFueSkubXNFeGl0RnVsbHNjcmVlbikgeyAvLyBQYXJhIElFL0VkZ2VcclxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS5tc0V4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ29wZW5faW5fZnVsbCc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5uZ09uSW5pdCgpOiB2b2lkIHtcclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdmdWxsc2NyZWVuY2hhbmdlJywgKCkgPT4ge1xyXG4gICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcclxuICAgIFxyXG4gICAgaWYgKGJ1dHRvbikge1xyXG4gICAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XHJcbiAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ29wZW5faW5fZnVsbCc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbnNjcm9sbEhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xyXG4gIGNvbnN0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAvL3NlIG8gZXNjcm9sbCBjaGVnYXIgYXTDqSBvIGZpbmFsXHJcbiAgaWYgKGVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gZWxlbWVudC5zY3JvbGxUb3AgPT09IGVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7XHJcbiAgICAvLyB0aGlzLmJ1c2NhclByb3hpbW9zRG9jdW1lbnRvcygpO1xyXG4gICAgdGhpcy5vblNjcm9sbEhhbmRsZXIuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiBtdC0zIGN1c3RvbS1tYXgtaGVpZ2h0XCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgPCEtLSBMaXN0YSBkZSBkb2N1bWVudG9zIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY2FyZC1wZXJmaWwgY29sLTEyIG1kOmNvbC00IGxnOmNvbC0zXCJcclxuICAgIChzY3JvbGwpPVwic2Nyb2xsSGFuZGxlcigkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ292ZXJmbG93LXktc2Nyb2xsJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA+IDAsXHJcbiAgICAgICdvdmVyZmxvdy15LWhpZGRlbic6IGRhdGFTb3VyY2UoKS5sZW5ndGggPT09IDBcclxuICAgIH1cIlxyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTVyZW07XCJcclxuICA+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YVNvdXJjZSgpLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlEb2N1bWVudExpc3RcIiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICA8IS0tIExpc3RhIGRlIGNhcmRzIC0tPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkYXRhU291cmNlKCk7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgY2xhc3M9XCJjYXJkLW5vcm1hbCBvdXRsaW5lLW5vbmUgYm9yZGVyLXJvdW5kLXhsIHctZnVsbCBwLTIgbS0xIGdyaWQgcC1mbHVpZCBmbGV4IGZsZXgtcm93IGZsZXgtbm93cmFwIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcob3B0aW9uKVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ2NhcmQtbmFvVmlzdWFsaXphZG8nOiAhaXNWaXN1YWxpemFkbyhvcHRpb24pICYmIGJvcmRlckNhcmROYW9WaXN1YWxpemFkbyxcclxuICAgICdjYXJkLXNlbGVjdGVkJzogb3B0aW9uID09PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgJ2NhcmQtbm9ybWFsJzogb3B0aW9uICE9PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtZ3Jvdy0xIG1sLTIgZmxleC1jb2x1bW4gZ2FwLTEgbS0wIHAtMCBvdmVyZmxvdy1oaWRkZW4gdGV4dC1vdmVyZmxvdy1lbGxpcHNpcyBcIiBzdHlsZT1cIm1heC13aWR0aDogMTAwJTtcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb21tb24tc3R5bGUgZGVmYXVsdC1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gbXQtMlwiPlxyXG4gICAgICAgICAgICAgIEt2LWZpbGUtcHJldmlldyBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uIFxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtc20gcC0wIG0tMFwiPkRhdGE6IHt7IHRvZGF5RGF0ZSgpIH19PC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eURvY3VtZW50TGlzdD5cclxuXHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgICAgPHAtc2tlbGV0b24gKm5nRm9yPVwibGV0IGkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldXCI+PC9wLXNrZWxldG9uPlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYoIW5vRG9jdW1lbnRMaXN0VGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBpbmJveCA8L3NwYW4+XHJcbiAgICAgICAgICA8cD5OZW5odW0gZG9jdW1lbnRvIGRpc3BvbsOtdmVsLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0RvY3VtZW50TGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gQ29udGFkb3IgZGUgZG9jdW1lbnRvcyAtIEZpeG8gbmEgcGFydGUgaW5mZXJpb3IgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwic3RpY2t5LWNvdW50ZXIgZmxleCBmbGV4LXJvdyBmbGV4LTEgcHgtMiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMlwiXHJcbiAgICAgIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAtMTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcIlxyXG4gICAgPlxyXG4gICAgICA8c3Bhbj57eyB0b3RhbEl0ZW5zQ2FycmVnYWRvKCkgfX0gZGUge3sgdG90YWxSZWNvcmRzIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVmlzdWFsaXphZG9yIC0tPlxyXG48ZGl2IGlkPVwiZnVsbHNjcmVlbkRpdlwiIGNsYXNzPVwiY2FyZC1wZXJmaWwgY29sLTEyIG1kOmNvbC04IGxnOmNvbC05XCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTtcIlxyXG4gIFtuZ1N0eWxlXT1cIntcclxuICAgICdvdmVyZmxvdy15JzogYXJxdWl2b1ByZXZpZXcoKSA/ICdhdXRvJyA6ICdoaWRkZW4nXHJcbiAgfVwiPlxyXG4gIEBpZihidG5UZWxhQ2hlaWEpXHJcbiAge1xyXG4gICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICA8c3BhbiBpZD1cImZ1bGxzY3JlZW5CdG5cIiAoY2xpY2spPVwiYWx0ZXJuYXJUZWxhQ2hlaWEoKVwiIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwLTIgdGV4dC14bCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgIG9wZW5faW5fZnVsbFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmKHZpc3VhbGl6YWRvckRvY3VtZW50b3MpIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcnF1aXZvKCk7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCI+XHJcbiAgICAgIEBpZihpc0xvYWRpbmcpIHtcclxuICAgICAgPG5neC1sb2FkaW5nXHJcbiAgICAgICAgW3Nob3ddPVwiaXNMb2FkaW5nXCJcclxuICAgICAgICBbY29uZmlnXT1cInsgYmFja2Ryb3BCb3JkZXJSYWRpdXM6ICczcHgnLCBmdWxsU2NyZWVuQmFja2Ryb3A6IGZhbHNlIH1cIlxyXG4gICAgICA+PC9uZ3gtbG9hZGluZz5cclxuICAgICAgfVxyXG4gICAgICA8a3YtZmlsZS12aWV3ZXItbm92b1xyXG4gICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiIFxyXG4gICAgICAgIFtoZWlnaHRdPVwiJzEwMCUnXCJcclxuICAgICAgICBjbGFzcz1cImZpbGUtdmlld2VyXCJcclxuICAgICAgICBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMCU7XCJcclxuICAgICAgPlxyXG4gICAgICA8L2t2LWZpbGUtdmlld2VyLW5vdm8+XHJcblxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgaWQ9XCJodG1sLWNvbnRlbnRcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwiZWtwQ29udGVudCgpXCJcclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvID09PSAnZWtwJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJla3AtY29udGVudFwiXHJcbiAgICAgICAgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlO1wiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFycXVpdm9QcmV2aWV3KCk7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgY29udGVudFRlbXBsYXRlO1xyXG4gICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFycXVpdm9QcmV2aWV3KCkgfVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlO1wiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8bmctdGVtcGxhdGUgI25vRG9jdW1lbnRTZWxlY3RlZD5cclxuICAgIEBpZighbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJuby1kb2N1bWVudC1tZXNzYWdlIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0bztcIlxyXG4gICAgPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICBTZWxlY2lvbmUgdW0gYXJxdWl2byBwYXJhIHZpc3VhbGl6YcOnw6NvXHJcbiAgICAgIDwvcD5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIFtzcmNdPVwiXHJcbiAgICAgICAgICAnaHR0cHM6Ly93b3JrLWFzc2V0cy5rZWV2by5jb20uYnIvaW1nL0RpZ2l0YWxfcGVyc29uYWxfZmlsZXMtcGFuYV8zLnBuZydcclxuICAgICAgICBcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogNTAlOyBtYXJnaW4tdG9wOiAycmVtO1wiXHJcbiAgICAgICAgYWx0PVwiXCJcclxuICAgICAgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGVcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { PdfViewerModule } from 'ng2-pdf-viewer';
|
|
4
|
+
import { KvContentViewerComponent } from './kv-content-viewer.component';
|
|
5
|
+
import { KvFileViewerNovoModule } from '../kv-file-viewer-novo/kv-file-viewer-novo.module';
|
|
6
|
+
import { NgxLoadingModule } from 'ngx-loading';
|
|
7
|
+
import { PrimeNgModule } from '../../api/modules/primeng.module';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class KvContentViewerModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, declarations: [KvContentViewerComponent], imports: [CommonModule,
|
|
12
|
+
PdfViewerModule,
|
|
13
|
+
PrimeNgModule,
|
|
14
|
+
KvFileViewerNovoModule,
|
|
15
|
+
NgxLoadingModule], exports: [KvContentViewerComponent] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, imports: [CommonModule,
|
|
17
|
+
PdfViewerModule,
|
|
18
|
+
PrimeNgModule,
|
|
19
|
+
KvFileViewerNovoModule,
|
|
20
|
+
NgxLoadingModule] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
declarations: [KvContentViewerComponent],
|
|
26
|
+
imports: [
|
|
27
|
+
CommonModule,
|
|
28
|
+
PdfViewerModule,
|
|
29
|
+
PrimeNgModule,
|
|
30
|
+
KvFileViewerNovoModule,
|
|
31
|
+
NgxLoadingModule
|
|
32
|
+
],
|
|
33
|
+
exports: [KvContentViewerComponent]
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWNqRSxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixpQkFWakIsd0JBQXdCLGFBRXJDLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixnQkFBZ0IsYUFFUix3QkFBd0I7K0dBRXZCLHFCQUFxQixZQVI5QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsZ0JBQWdCOzsyRkFJUCxxQkFBcUI7a0JBWGpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGRmVmlld2VyTW9kdWxlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBLdkNvbnRlbnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUgfSBmcm9tICcuLi9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8ubW9kdWxlJztcclxuaW1wb3J0IHsgTmd4TG9hZGluZ01vZHVsZSB9IGZyb20gJ25neC1sb2FkaW5nJztcclxuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gJy4uLy4uL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0t2Q29udGVudFZpZXdlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUGRmVmlld2VyTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUsXHJcbiAgICBOZ3hMb2FkaW5nTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbS3ZDb250ZW50Vmlld2VyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDb250ZW50Vmlld2VyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class KvErrorComponent {
|
|
5
|
+
set setHasError(value) {
|
|
6
|
+
this.hasError = value;
|
|
7
|
+
this.emitError.emit(value);
|
|
8
|
+
}
|
|
9
|
+
;
|
|
10
|
+
constructor() {
|
|
11
|
+
this.hasError = false;
|
|
12
|
+
this.emitError = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvErrorComponent, selector: "kv-error", inputs: { formControl: "formControl", setHasError: ["hasError", "setHasError"] }, ngImport: i0, template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvErrorComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'kv-error', template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"] }]
|
|
20
|
+
}], ctorParameters: () => [], propDecorators: { formControl: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], setHasError: [{
|
|
23
|
+
type: Input,
|
|
24
|
+
args: ['hasError']
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixJQUF1QixXQUFXLENBQUMsS0FBMEI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFJRjtRQVhPLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBUzdDLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUUvQyxDQUFDOzhHQVpOLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtJQ2I3QiwySkFHQTs7MkZEVWEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFVBQVU7d0RBT1gsV0FBVztzQkFBbkIsS0FBSztnQkFFaUIsV0FBVztzQkFBakMsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZXJyb3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtZXJyb3IuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFcnJvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIGhhc0Vycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XHJcblxyXG4gIEBJbnB1dCgnaGFzRXJyb3InKSBzZXQgc2V0SGFzRXJyb3IodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuaGFzRXJyb3IgPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdEVycm9yLmVtaXQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIGVtaXRFcnJvcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiIsIjxzbWFsbCBpZD1cImVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cInAtZXJyb3IgYmxvY2tcIiBzdHlsZT1cImhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XCIgPlxyXG4gIDxuZy1jb250ZW50ICpuZ0lmPVwiaGFzRXJyb3JcIj48L25nLWNvbnRlbnQ+XHJcbjwvc21hbGw+XHJcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { KvErrorComponent } from './kv-error.component';
|
|
5
|
+
import { PrimeNgModule } from '../../api/modules/primeng.module';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class kvErrorModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, declarations: [KvErrorComponent], imports: [CommonModule,
|
|
10
|
+
FormsModule,
|
|
11
|
+
PrimeNgModule,
|
|
12
|
+
ReactiveFormsModule], exports: [KvErrorComponent] }); }
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, imports: [CommonModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
PrimeNgModule,
|
|
16
|
+
ReactiveFormsModule] }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: kvErrorModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
declarations: [
|
|
22
|
+
KvErrorComponent,
|
|
23
|
+
],
|
|
24
|
+
imports: [
|
|
25
|
+
CommonModule,
|
|
26
|
+
FormsModule,
|
|
27
|
+
PrimeNgModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
KvErrorComponent,
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWdCakUsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQVp0QixnQkFBZ0IsYUFHaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CLGFBR25CLGdCQUFnQjsrR0FHUCxhQUFhLFlBVHRCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjs7MkZBTVYsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBLdkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEt2RXJyb3JDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFByaW1lTmdNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZFcnJvckNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBrdkVycm9yTW9kdWxlIHsgfVxyXG4iXX0=
|