keevo-components 2.0.46 → 2.0.48
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 +308 -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/step/step.model.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 +144 -0
- package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
- package/esm2022/lib/api/modules/primeng.module.mjs +283 -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 +214 -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 +51 -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 +39 -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 +185 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +44 -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 +181 -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-number-addon/kv-input-number-addon.component.mjs +66 -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-addon/kv-input-text-addon.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +50 -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 +141 -0
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +60 -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 +37 -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 +433 -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 +215 -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 +375 -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-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +62 -0
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.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-steps/kv-steps.component.mjs +105 -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-tag/kv-tag.component.mjs +18 -0
- package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +24 -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 +269 -0
- package/fesm2022/keevo-components.mjs +250 -19
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-button/kv-button.component.d.ts +1 -1
- package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +21 -1
- package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { PickList } from 'primeng/picklist';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "primeng/api";
|
|
7
|
+
import * as i4 from "primeng/picklist";
|
|
8
|
+
import * as i5 from "../kv-inputs/kv-check/kv-check.component";
|
|
9
|
+
export class KvPickListComponent {
|
|
10
|
+
constructor(fb) {
|
|
11
|
+
this.fb = fb;
|
|
12
|
+
this.itemIdField = 'id';
|
|
13
|
+
this.breakpoint = "1400px";
|
|
14
|
+
this.dragdrop = true;
|
|
15
|
+
this.responsive = true;
|
|
16
|
+
this.sourceHeader = 'Título da lista de origem';
|
|
17
|
+
this.stripedRows = false;
|
|
18
|
+
this.targetHeader = 'Título de lista de destino';
|
|
19
|
+
this.showSourceControls = true;
|
|
20
|
+
this.showTargetControls = true;
|
|
21
|
+
this.showCheckBox = false;
|
|
22
|
+
this.onMoveToSource = new EventEmitter();
|
|
23
|
+
this.onMoveToTarget = new EventEmitter();
|
|
24
|
+
this.onMoveAllToSource = new EventEmitter();
|
|
25
|
+
this.onMoveAllToTarget = new EventEmitter();
|
|
26
|
+
this.onSourceSelect = new EventEmitter();
|
|
27
|
+
this.onTargetSelect = new EventEmitter();
|
|
28
|
+
this.ngModel = false;
|
|
29
|
+
this.selectedItems = {};
|
|
30
|
+
this.ultimoItemSelecionado = [];
|
|
31
|
+
this.lastDraggedItems = [];
|
|
32
|
+
this.draggedIds = [];
|
|
33
|
+
this.mouseX = 0;
|
|
34
|
+
this.mouseY = 0;
|
|
35
|
+
this.previewClones = [];
|
|
36
|
+
document.addEventListener('keydown', (event) => this.onKeyDown(event));
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
document.addEventListener('mousemove', (event) => {
|
|
40
|
+
this.mouseX = event.clientX;
|
|
41
|
+
this.mouseY = event.clientY;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
ngAfterViewInit() {
|
|
45
|
+
this.createDropOverlay();
|
|
46
|
+
}
|
|
47
|
+
createDropOverlay() {
|
|
48
|
+
this.dropOverlay = document.createElement('div');
|
|
49
|
+
this.dropOverlay.innerText = 'Soltar';
|
|
50
|
+
this.dropOverlay.style.position = 'fixed';
|
|
51
|
+
this.dropOverlay.style.background = '#BFDBFE'; // Azul claro visível
|
|
52
|
+
this.dropOverlay.style.color = '#1E3A8A'; // Azul escuro pro texto
|
|
53
|
+
this.dropOverlay.style.border = '9px #1E40AF'; // Borda azul escuro
|
|
54
|
+
this.dropOverlay.style.boxShadow = '0 2px 6px rgba(30, 58, 138, 0.2)'; // Shadow reduzida
|
|
55
|
+
this.dropOverlay.style.display = 'none';
|
|
56
|
+
this.dropOverlay.style.justifyContent = 'center';
|
|
57
|
+
this.dropOverlay.style.alignItems = 'center';
|
|
58
|
+
this.dropOverlay.style.zIndex = '9999';
|
|
59
|
+
this.dropOverlay.style.fontSize = '1.5rem';
|
|
60
|
+
this.dropOverlay.style.fontWeight = 'bold';
|
|
61
|
+
this.dropOverlay.style.pointerEvents = 'all';
|
|
62
|
+
this.dropOverlay.style.transition = 'all 0.2s ease';
|
|
63
|
+
// Encaixar no mesmo lugar do target
|
|
64
|
+
const targetListEl = document.querySelector('.p-picklist-target');
|
|
65
|
+
if (targetListEl) {
|
|
66
|
+
const rect = targetListEl.getBoundingClientRect();
|
|
67
|
+
this.dropOverlay.style.top = rect.top + 'px';
|
|
68
|
+
this.dropOverlay.style.left = rect.left + 'px';
|
|
69
|
+
this.dropOverlay.style.width = rect.width + 'px';
|
|
70
|
+
this.dropOverlay.style.height = rect.height + 'px';
|
|
71
|
+
}
|
|
72
|
+
this.dropOverlay.addEventListener('click', () => {
|
|
73
|
+
const selectedInSource = this.source.some(item => this.selectedItems[item[this.itemIdField]]);
|
|
74
|
+
const selectedInTarget = this.target.some(item => this.selectedItems[item[this.itemIdField]]);
|
|
75
|
+
if (selectedInSource) {
|
|
76
|
+
this.OnMoveToTarget({});
|
|
77
|
+
}
|
|
78
|
+
else if (selectedInTarget) {
|
|
79
|
+
this.OnMoveToSource({});
|
|
80
|
+
}
|
|
81
|
+
this.hideDropOverlay();
|
|
82
|
+
});
|
|
83
|
+
this.dropOverlay.addEventListener('mouseenter', () => {
|
|
84
|
+
this.dropOverlay.style.background = '#93C5FD'; // Azul um pouco mais escuro no hover
|
|
85
|
+
});
|
|
86
|
+
this.dropOverlay.addEventListener('mouseleave', () => {
|
|
87
|
+
this.dropOverlay.style.background = '#BFDBFE';
|
|
88
|
+
});
|
|
89
|
+
document.body.appendChild(this.dropOverlay);
|
|
90
|
+
}
|
|
91
|
+
handleMouseMove(event) {
|
|
92
|
+
this.mouseX = event.clientX;
|
|
93
|
+
this.mouseY = event.clientY;
|
|
94
|
+
}
|
|
95
|
+
clearPreviewClones() {
|
|
96
|
+
this.previewClones.forEach(clone => clone.remove());
|
|
97
|
+
this.previewClones = [];
|
|
98
|
+
}
|
|
99
|
+
OnMoveToSource(event) {
|
|
100
|
+
this.clearPreviewClones();
|
|
101
|
+
this.picklist.moveLeft();
|
|
102
|
+
this.onMoveToSource.emit(event);
|
|
103
|
+
this.selectedItems = {};
|
|
104
|
+
this.hideDropOverlay();
|
|
105
|
+
this.clearPreviewClones();
|
|
106
|
+
}
|
|
107
|
+
OnMoveToTarget(event) {
|
|
108
|
+
this.clearPreviewClones();
|
|
109
|
+
this.picklist.moveRight();
|
|
110
|
+
this.onMoveToTarget.emit(event);
|
|
111
|
+
this.selectedItems = {};
|
|
112
|
+
this.hideDropOverlay();
|
|
113
|
+
this.clearPreviewClones();
|
|
114
|
+
}
|
|
115
|
+
getSelectedItems() {
|
|
116
|
+
// Filtra os itens da lista de origem (source) com base nos itens selecionados
|
|
117
|
+
return this.source.filter(item => {
|
|
118
|
+
const itemId = item[this.itemIdField]; // Obtém o ID do item
|
|
119
|
+
return this.selectedItems[itemId] === true; // Verifica se está marcado como true
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
OnMoveAllToSource(event) {
|
|
123
|
+
this.onMoveToSource.emit(event);
|
|
124
|
+
this.selectedItems = {};
|
|
125
|
+
this.hideDropOverlay();
|
|
126
|
+
this.clearPreviewClones();
|
|
127
|
+
}
|
|
128
|
+
OnMoveAllToTarget(event) {
|
|
129
|
+
this.onMoveToTarget.emit(event);
|
|
130
|
+
this.selectedItems = {};
|
|
131
|
+
this.hideDropOverlay();
|
|
132
|
+
this.clearPreviewClones();
|
|
133
|
+
}
|
|
134
|
+
OnSourceSelect(event) {
|
|
135
|
+
const selectedItems = this.getSelectedItems();
|
|
136
|
+
// Primeiro remove todos os previews antigos
|
|
137
|
+
this.clearPreviewClones();
|
|
138
|
+
if (selectedItems.length === 0) {
|
|
139
|
+
this.hideDropOverlay();
|
|
140
|
+
this.onSourceSelect.emit(event);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
selectedItems.forEach((item, index) => {
|
|
144
|
+
const itemId = item[this.itemIdField];
|
|
145
|
+
// Se já existe um clone para esse item, não cria novamente
|
|
146
|
+
if (!document.getElementById('preview_' + itemId)) {
|
|
147
|
+
const original = document.getElementById('id_pick_list' + itemId);
|
|
148
|
+
if (original) {
|
|
149
|
+
const rect = original.getBoundingClientRect();
|
|
150
|
+
const clone = original.cloneNode(true);
|
|
151
|
+
clone.classList.add('drag-preview-clone');
|
|
152
|
+
clone.classList.add(`level-${index + 1}`);
|
|
153
|
+
clone.id = 'preview_' + itemId;
|
|
154
|
+
document.body.appendChild(clone);
|
|
155
|
+
this.previewClones.push(clone);
|
|
156
|
+
this.animateCloneToCursor(clone, rect);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
this.showDropOverlay();
|
|
161
|
+
this.onSourceSelect.emit(event);
|
|
162
|
+
}
|
|
163
|
+
getItemId(item) {
|
|
164
|
+
return item?.[this.itemIdField];
|
|
165
|
+
}
|
|
166
|
+
showDropOverlay() {
|
|
167
|
+
const selectedInSource = this.source.some(item => this.selectedItems[item[this.itemIdField]]);
|
|
168
|
+
const selectedInTarget = this.target.some(item => this.selectedItems[item[this.itemIdField]]);
|
|
169
|
+
let targetListEl = null;
|
|
170
|
+
if (selectedInSource) {
|
|
171
|
+
// Itens selecionados na lista da esquerda → overlay no lado direito
|
|
172
|
+
targetListEl = document.querySelector('.p-picklist-target');
|
|
173
|
+
this.dropOverlay.innerText = 'Soltar aqui para mover';
|
|
174
|
+
}
|
|
175
|
+
else if (selectedInTarget) {
|
|
176
|
+
// Itens selecionados na lista da direita → overlay no lado esquerdo
|
|
177
|
+
targetListEl = document.querySelector('.p-picklist-source');
|
|
178
|
+
this.dropOverlay.innerText = 'Soltar aqui para retornar';
|
|
179
|
+
}
|
|
180
|
+
if (targetListEl) {
|
|
181
|
+
const rect = targetListEl.getBoundingClientRect();
|
|
182
|
+
this.dropOverlay.style.top = rect.top + 'px';
|
|
183
|
+
this.dropOverlay.style.left = rect.left + 'px';
|
|
184
|
+
this.dropOverlay.style.width = rect.width + 'px';
|
|
185
|
+
this.dropOverlay.style.height = rect.height + 'px';
|
|
186
|
+
this.dropOverlay.style.display = 'flex';
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
hideDropOverlay() {
|
|
190
|
+
if (this.dropOverlay) {
|
|
191
|
+
this.dropOverlay.style.display = 'none';
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
animateCloneToCursor(clone, originRect) {
|
|
195
|
+
// Começa exatamente da posição do original
|
|
196
|
+
let posX = originRect.left;
|
|
197
|
+
let posY = originRect.top;
|
|
198
|
+
clone.style.position = 'fixed';
|
|
199
|
+
clone.style.left = `${posX}px`;
|
|
200
|
+
clone.style.top = `${posY}px`;
|
|
201
|
+
clone.style.width = `${originRect.width}px`;
|
|
202
|
+
clone.style.height = `${originRect.height}px`;
|
|
203
|
+
clone.style.pointerEvents = 'none';
|
|
204
|
+
const animate = () => {
|
|
205
|
+
const dx = this.mouseX - posX;
|
|
206
|
+
const dy = this.mouseY - posY;
|
|
207
|
+
posX += dx * 0.15;
|
|
208
|
+
posY += dy * 0.15;
|
|
209
|
+
clone.style.left = `${posX}px`;
|
|
210
|
+
clone.style.top = `${posY}px`;
|
|
211
|
+
if (document.body.contains(clone)) {
|
|
212
|
+
requestAnimationFrame(animate);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
animate();
|
|
216
|
+
}
|
|
217
|
+
OnTargetSelect(event) {
|
|
218
|
+
const selectedItems = this.target.filter(item => {
|
|
219
|
+
const itemId = item[this.itemIdField];
|
|
220
|
+
return this.selectedItems[itemId] === true;
|
|
221
|
+
});
|
|
222
|
+
// Limpa clones antigos
|
|
223
|
+
this.clearPreviewClones();
|
|
224
|
+
if (selectedItems.length === 0) {
|
|
225
|
+
this.hideDropOverlay();
|
|
226
|
+
this.onTargetSelect.emit(event);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
selectedItems.forEach((item, index) => {
|
|
230
|
+
const itemId = item[this.itemIdField];
|
|
231
|
+
if (!document.getElementById('preview_' + itemId)) {
|
|
232
|
+
const original = document.getElementById('id_pick_list' + itemId);
|
|
233
|
+
if (original) {
|
|
234
|
+
const rect = original.getBoundingClientRect();
|
|
235
|
+
const clone = original.cloneNode(true);
|
|
236
|
+
clone.classList.add('drag-preview-clone');
|
|
237
|
+
clone.classList.add(`level-${index + 1}`);
|
|
238
|
+
clone.id = 'preview_' + itemId;
|
|
239
|
+
document.body.appendChild(clone);
|
|
240
|
+
this.previewClones.push(clone);
|
|
241
|
+
this.animateCloneToCursor(clone, rect);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
this.showDropOverlay();
|
|
246
|
+
this.onTargetSelect.emit(event);
|
|
247
|
+
}
|
|
248
|
+
onSelectAll() {
|
|
249
|
+
this.selectAllItems(true);
|
|
250
|
+
}
|
|
251
|
+
selectAllItems(isSelected) {
|
|
252
|
+
this.source.forEach(item => {
|
|
253
|
+
const itemId = item[this.itemIdField];
|
|
254
|
+
this.selectedItems[itemId] = isSelected;
|
|
255
|
+
});
|
|
256
|
+
this.target.forEach(item => {
|
|
257
|
+
const itemId = item[this.itemIdField];
|
|
258
|
+
this.selectedItems[itemId] = isSelected;
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
onKeyDown(event) {
|
|
262
|
+
if (event.ctrlKey && event.key === 'a') {
|
|
263
|
+
event.preventDefault();
|
|
264
|
+
this.onSelectAll();
|
|
265
|
+
}
|
|
266
|
+
else if (event.key === 'Enter') {
|
|
267
|
+
const sourceSelected = this.picklist.selectedItemsSource;
|
|
268
|
+
const selectedItemsIds = Object.entries(this.selectedItems)
|
|
269
|
+
.filter(([_, value]) => value === true)
|
|
270
|
+
.map(([key, _]) => Number(key));
|
|
271
|
+
const notInSelected = sourceSelected.find((item) => !selectedItemsIds.includes(item[this.itemIdField]));
|
|
272
|
+
const indexInSource = this.source.findIndex((item) => item[this.itemIdField] === notInSelected?.[this.itemIdField]);
|
|
273
|
+
const ultimoItemArray = {
|
|
274
|
+
item: notInSelected,
|
|
275
|
+
index: indexInSource,
|
|
276
|
+
};
|
|
277
|
+
const selectedIndexInSource = this.source.findIndex((sourceItem) => selectedItemsIds.includes(sourceItem[this.itemIdField]));
|
|
278
|
+
if (notInSelected === undefined) {
|
|
279
|
+
const beforeIds = this.ultimoItemSelecionado.map(i => i.item[this.itemIdField]);
|
|
280
|
+
const afterIds = this.picklist.selectedItemsSource.map(i => i[this.itemIdField]);
|
|
281
|
+
const removedId = beforeIds.find(id => !afterIds.includes(id));
|
|
282
|
+
if (removedId != null) {
|
|
283
|
+
const removedItem = this.source.find(item => item[this.itemIdField] === removedId);
|
|
284
|
+
if (removedItem) {
|
|
285
|
+
this.selectCheckBox(removedItem);
|
|
286
|
+
this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((i) => i.item[this.itemIdField] !== removedId);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
const enterIds = this.ultimoItemSelecionado.map(i => i.item[this.itemIdField]);
|
|
291
|
+
const selectedItemsIds = Object.entries(this.selectedItems)
|
|
292
|
+
.filter(([_, value]) => value === true)
|
|
293
|
+
.map(([key, _]) => Number(key));
|
|
294
|
+
const clickedIds = selectedItemsIds.filter(id => !enterIds.includes(id));
|
|
295
|
+
if (clickedIds.length > 0) {
|
|
296
|
+
const clickedItem = this.source.find(item => item[this.itemIdField] === clickedIds[0]);
|
|
297
|
+
if (clickedItem) {
|
|
298
|
+
this.selectCheckBox(clickedItem);
|
|
299
|
+
this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((i) => i.item[this.itemIdField] !== clickedIds[0]);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
this.selectCheckBox(notInSelected);
|
|
306
|
+
this.ultimoItemSelecionado = this.ultimoItemSelecionado.filter((item) => item.index !== indexInSource);
|
|
307
|
+
this.ultimoItemSelecionado.push(ultimoItemArray);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
selectCheckBox(item) {
|
|
311
|
+
const itemId = item[this.itemIdField];
|
|
312
|
+
this.selectedPreview = item;
|
|
313
|
+
this.selectedItems[itemId] = this.selectedItems[itemId] !== undefined
|
|
314
|
+
? !this.selectedItems[itemId]
|
|
315
|
+
: true;
|
|
316
|
+
this.ngModel = this.selectedItems[itemId];
|
|
317
|
+
}
|
|
318
|
+
isItemSelected(item) {
|
|
319
|
+
return this.selectedPreview === item;
|
|
320
|
+
}
|
|
321
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
322
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPickListComponent, selector: "kv-picklist", inputs: { itemIdField: "itemIdField", breakpoint: "breakpoint", dragdrop: "dragdrop", filterBy: "filterBy", itemTemplate: "itemTemplate", responsive: "responsive", source: "source", sourceHeader: "sourceHeader", sourceStyle: "sourceStyle", stripedRows: "stripedRows", target: "target", targetHeader: "targetHeader", targetStyle: "targetStyle", showSourceControls: "showSourceControls", showTargetControls: "showTargetControls", showCheckBox: "showCheckBox" }, outputs: { onMoveToSource: "onMoveToSource", onMoveToTarget: "onMoveToTarget", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect" }, viewQueries: [{ propertyName: "picklist", first: true, predicate: PickList, descendants: true }], ngImport: i0, template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0003;border-radius:6px;padding:8px;background-color:#fff}.drag-preview-clone.level-1{margin-top:.5rem}.drag-preview-clone.level-2{margin-bottom:1rem}.drag-preview-clone.level-3{margin-left:.5rem}\n", "@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}::ng-deep .p-icon,svg{height:.6rem}: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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.KvCheckComponent, selector: "kv-check", outputs: ["onCheckChange"] }] }); }
|
|
323
|
+
}
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListComponent, decorators: [{
|
|
325
|
+
type: Component,
|
|
326
|
+
args: [{ selector: 'kv-picklist', template: "<p-pickList\r\n [source]=\"source\"\r\n [sourceHeader]=\"sourceHeader\"\r\n [sourceStyle]=\"sourceStyle\"\r\n [target]=\"target\" \r\n [targetHeader]=\"targetHeader\"\r\n [targetStyle]=\"targetStyle\"\r\n [dragdrop]=\"dragdrop\"\r\n [responsive]=\"responsive\"\r\n [filterBy]=\"filterBy\"\r\n [breakpoint]=\"breakpoint\"\r\n [stripedRows]=\"stripedRows\"\r\n [showSourceControls]=\"showSourceControls\"\r\n [showTargetControls]=\"showTargetControls\"\r\n (onMoveToSource)=\"OnMoveToSource($event)\"\r\n (onMoveToTarget)=\"OnMoveToTarget($event)\"\r\n (onMoveAllToSource)=\"OnMoveAllToSource($event)\"\r\n (onMoveAllToTarget)=\"OnMoveAllToTarget($event)\"\r\n (onSourceSelect)=\"OnSourceSelect($event)\"\r\n (onTargetSelect)=\"OnTargetSelect($event)\"\r\n>\r\n <ng-template let-item pTemplate=\"item\" *ngIf=\"itemTemplate\" >\r\n <div (click)=\"selectCheckBox(item)\" class=\"flex mr-5\" [id]=\"'id_pick_list' + getItemId(item)\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\r\n @if(showCheckBox) {\r\n <kv-check (onCheckChange)=\"selectCheckBox(item)\" [(ngModel)]=\"selectedItems[item[itemIdField]]\" class=\"mr-1\"></kv-check>\r\n }\r\n </ng-container>\r\n </div> \r\n </ng-template>\r\n</p-pickList>\r\n", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-picklist .p-picklist-filter-container{position:sticky!important;top:0!important;z-index:99!important}:host ::ng-deep .p-picklist .p-picklist-filter-container{border-left:0px;border-right:0px}.item-with-checkbox{display:flex;align-items:center}.item-with-checkbox kv-check{margin-right:8px}@keyframes shake-base{0%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}to{transform:translate(-1px,-1px)}}.drag-preview-clone{animation-name:shake-base;animation-duration:.25s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;position:fixed;z-index:9999;opacity:.85;pointer-events:none;transition:transform .1s ease;box-shadow:0 10px 20px #0003;border-radius:6px;padding:8px;background-color:#fff}.drag-preview-clone.level-1{margin-top:.5rem}.drag-preview-clone.level-2{margin-bottom:1rem}.drag-preview-clone.level-3{margin-left:.5rem}\n", "@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}::ng-deep .p-icon,svg{height:.6rem}: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}::ng-deep svg.p-icon{width:.65rem;height:.65rem}::ng-deep .p-checkbox .p-checkbox-box.p-highlight{border-color:#004172;background:#004172}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:hover{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:active{background-color:#002542}::ng-deep .p-checkbox .p-checkbox-box.p-highlight:disabled{background-color:#002542;opacity:.4;cursor:auto}input{height:1.75rem}::ng-deep .p-checkbox .p-checkbox-box{width:1.125rem;height:1.125rem;border:1.5px solid #d1d5db}::ng-deep p-tablecheckbox p-tableheadercheckbox .p-checkbox{display:flex!important;align-items:center!important;justify-content:right}::ng-deep .p-checkbox{display:flex!important;align-items:center!important;justify-content:center}::ng-deep .p-checkbox-label{font-size:.875rem}\n"] }]
|
|
327
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { picklist: [{
|
|
328
|
+
type: ViewChild,
|
|
329
|
+
args: [PickList]
|
|
330
|
+
}], itemIdField: [{
|
|
331
|
+
type: Input
|
|
332
|
+
}], breakpoint: [{
|
|
333
|
+
type: Input
|
|
334
|
+
}], dragdrop: [{
|
|
335
|
+
type: Input
|
|
336
|
+
}], filterBy: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], itemTemplate: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], responsive: [{
|
|
341
|
+
type: Input
|
|
342
|
+
}], source: [{
|
|
343
|
+
type: Input
|
|
344
|
+
}], sourceHeader: [{
|
|
345
|
+
type: Input
|
|
346
|
+
}], sourceStyle: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}], stripedRows: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}], target: [{
|
|
351
|
+
type: Input
|
|
352
|
+
}], targetHeader: [{
|
|
353
|
+
type: Input
|
|
354
|
+
}], targetStyle: [{
|
|
355
|
+
type: Input
|
|
356
|
+
}], showSourceControls: [{
|
|
357
|
+
type: Input
|
|
358
|
+
}], showTargetControls: [{
|
|
359
|
+
type: Input
|
|
360
|
+
}], showCheckBox: [{
|
|
361
|
+
type: Input
|
|
362
|
+
}], onMoveToSource: [{
|
|
363
|
+
type: Output
|
|
364
|
+
}], onMoveToTarget: [{
|
|
365
|
+
type: Output
|
|
366
|
+
}], onMoveAllToSource: [{
|
|
367
|
+
type: Output
|
|
368
|
+
}], onMoveAllToTarget: [{
|
|
369
|
+
type: Output
|
|
370
|
+
}], onSourceSelect: [{
|
|
371
|
+
type: Output
|
|
372
|
+
}], onTargetSelect: [{
|
|
373
|
+
type: Output
|
|
374
|
+
}] } });
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFVNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUkxQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBRW5ELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGlCQUFZLEdBQVcsNEJBQTRCLENBQUM7UUFFcEQsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLHVCQUFrQixHQUFZLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsc0JB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QUM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUdULElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1QyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVM7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQztJQUN2QyxDQUFDOzhHQXhhVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw4d0JBRW5CLFFBQVEsZ0RDdEJyQixtMENBZ0NBOzsyRkRaYSxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsYUFBYTtnRkFTRixRQUFRO3NCQUE1QixTQUFTO3VCQUFDLFFBQVE7Z0JBUVYsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQaWNrTGlzdCB9IGZyb20gJ3ByaW1lbmcvcGlja2xpc3QnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1waWNrbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXBpY2stbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9rdi1waWNrLWxpc3QuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uL2tlZXZvLWNvbXBvbmVudHMtc3R5bGVzLnNjc3MnXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZQaWNrTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoUGlja0xpc3QpIHBpY2tsaXN0ITogUGlja0xpc3Q7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB0aGlzLm9uS2V5RG93bihldmVudCkpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgaXRlbUlkRmllbGQ6IHN0cmluZyA9ICdpZCc7XHJcbiAgQElucHV0KCkgYnJlYWtwb2ludDogc3RyaW5nID0gXCIxNDAwcHhcIjtcclxuICBASW5wdXQoKSBkcmFnZHJvcDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZmlsdGVyQnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSByZXNwb25zaXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzb3VyY2UhOiBhbnlbXTtcclxuICBASW5wdXQoKSBzb3VyY2VIZWFkZXI6IHN0cmluZyA9ICdUw610dWxvIGRhIGxpc3RhIGRlIG9yaWdlbSc7XHJcbiAgQElucHV0KCkgc291cmNlU3R5bGUhOiBhbnk7XHJcbiAgQElucHV0KCkgc3RyaXBlZFJvd3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0YXJnZXQhOiBhbnlbXTtcclxuICBASW5wdXQoKSB0YXJnZXRIZWFkZXI6IHN0cmluZyA9ICdUw610dWxvIGRlIGxpc3RhIGRlIGRlc3Rpbm8nO1xyXG4gIEBJbnB1dCgpIHRhcmdldFN0eWxlITogYW55O1xyXG4gIEBJbnB1dCgpIHNob3dTb3VyY2VDb250cm9sczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RhcmdldENvbnRyb2xzOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93Q2hlY2tCb3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uTW92ZVRvU291cmNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Nb3ZlVG9UYXJnZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbk1vdmVBbGxUb1NvdXJjZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uTW92ZUFsbFRvVGFyZ2V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25Tb3VyY2VTZWxlY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblRhcmdldFNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHNlbGVjdGVkUHJldmlldyE6IGFueTtcclxuICBuZ01vZGVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRJdGVtczogeyBba2V5OiBudW1iZXJdOiBib29sZWFuIH0gPSB7fTtcclxuICB1bHRpbW9JdGVtU2VsZWNpb25hZG86IHsgaXRlbTogYW55LCBpbmRleDogbnVtYmVyIH1bXSA9IFtdO1xyXG4gIGxhc3REcmFnZ2VkSXRlbXM6IGFueVtdID0gW107XHJcbiAgZHJhZ2dlZElkczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgbW91c2VYID0gMDtcclxuICBtb3VzZVkgPSAwO1xyXG4gIHByZXZpZXdDbG9uZXM6IEhUTUxFbGVtZW50W10gPSBbXTtcclxuXHJcbm5nT25Jbml0KCkge1xyXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgdGhpcy5tb3VzZVggPSBldmVudC5jbGllbnRYO1xyXG4gICAgdGhpcy5tb3VzZVkgPSBldmVudC5jbGllbnRZO1xyXG4gIH0pO1xyXG59XHJcblxyXG5uZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgdGhpcy5jcmVhdGVEcm9wT3ZlcmxheSgpO1xyXG59XHJcblxyXG4gIGRyb3BPdmVybGF5ITogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG4gIGNyZWF0ZURyb3BPdmVybGF5KCkge1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5iYWNrZ3JvdW5kID0gJyNCRkRCRkUnOyAvLyBBenVsIGNsYXJvIHZpc8OtdmVsXHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmNvbG9yID0gJyMxRTNBOEEnOyAvLyBBenVsIGVzY3VybyBwcm8gdGV4dG9cclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYm9yZGVyID0gJzlweCAjMUU0MEFGJzsgLy8gQm9yZGEgYXp1bCBlc2N1cm9cclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuYm94U2hhZG93ID0gJzAgMnB4IDZweCByZ2JhKDMwLCA1OCwgMTM4LCAwLjIpJzsgLy8gU2hhZG93IHJlZHV6aWRhXHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ2NlbnRlcic7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmFsaWduSXRlbXMgPSAnY2VudGVyJztcclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuekluZGV4ID0gJzk5OTknO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5mb250U2l6ZSA9ICcxLjVyZW0nO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5mb250V2VpZ2h0ID0gJ2JvbGQnO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ2FsbCc7XHJcbiAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLnRyYW5zaXRpb24gPSAnYWxsIDAuMnMgZWFzZSc7XHJcblxyXG5cclxuICAgIC8vIEVuY2FpeGFyIG5vIG1lc21vIGx1Z2FyIGRvIHRhcmdldFxyXG4gICAgY29uc3QgdGFyZ2V0TGlzdEVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtcGlja2xpc3QtdGFyZ2V0JykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGFyZ2V0TGlzdEVsKSB7XHJcbiAgICAgIGNvbnN0IHJlY3QgPSB0YXJnZXRMaXN0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudG9wID0gcmVjdC50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmxlZnQgPSByZWN0LmxlZnQgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLndpZHRoID0gcmVjdC53aWR0aCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuaGVpZ2h0ID0gcmVjdC5oZWlnaHQgKyAncHgnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJvcE92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSW5Tb3VyY2UgPSB0aGlzLnNvdXJjZS5zb21lKGl0ZW0gPT4gdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1bdGhpcy5pdGVtSWRGaWVsZF1dKTtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJblRhcmdldCA9IHRoaXMudGFyZ2V0LnNvbWUoaXRlbSA9PiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbVt0aGlzLml0ZW1JZEZpZWxkXV0pO1xyXG4gICAgXHJcbiAgICAgIGlmIChzZWxlY3RlZEluU291cmNlKSB7XHJcbiAgICAgICAgdGhpcy5Pbk1vdmVUb1RhcmdldCh7fSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRJblRhcmdldCkge1xyXG4gICAgICAgIHRoaXMuT25Nb3ZlVG9Tb3VyY2Uoe30pO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKTtcclxuICAgIH0pO1xyXG4gICAgXHJcblxyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmJhY2tncm91bmQgPSAnIzkzQzVGRCc7IC8vIEF6dWwgdW0gcG91Y28gbWFpcyBlc2N1cm8gbm8gaG92ZXJcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kcm9wT3ZlcmxheS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmJhY2tncm91bmQgPSAnI0JGREJGRSc7XHJcbiAgICB9KTtcclxuICAgIFxyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5kcm9wT3ZlcmxheSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaGFuZGxlTW91c2VNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlWCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICB0aGlzLm1vdXNlWSA9IGV2ZW50LmNsaWVudFk7XHJcbiAgfVxyXG5cclxuICBjbGVhclByZXZpZXdDbG9uZXMoKSB7XHJcbiAgICB0aGlzLnByZXZpZXdDbG9uZXMuZm9yRWFjaChjbG9uZSA9PiBjbG9uZS5yZW1vdmUoKSk7XHJcbiAgICB0aGlzLnByZXZpZXdDbG9uZXMgPSBbXTtcclxuICB9XHJcbiAgXHJcbiAgT25Nb3ZlVG9Tb3VyY2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICAgIHRoaXMucGlja2xpc3QubW92ZUxlZnQoKTtcclxuICAgIHRoaXMub25Nb3ZlVG9Tb3VyY2UuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB7fTtcclxuICAgIHRoaXMuaGlkZURyb3BPdmVybGF5KClcclxuICAgIHRoaXMuY2xlYXJQcmV2aWV3Q2xvbmVzKCk7XHJcbiAgfVxyXG4gIFxyXG4gIE9uTW92ZVRvVGFyZ2V0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2xlYXJQcmV2aWV3Q2xvbmVzKCk7XHJcbiAgICB0aGlzLnBpY2tsaXN0Lm1vdmVSaWdodCgpO1xyXG4gICAgdGhpcy5vbk1vdmVUb1RhcmdldC5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcbiAgXHJcblxyXG4gIGdldFNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xyXG4gICAgLy8gRmlsdHJhIG9zIGl0ZW5zIGRhIGxpc3RhIGRlIG9yaWdlbSAoc291cmNlKSBjb20gYmFzZSBub3MgaXRlbnMgc2VsZWNpb25hZG9zXHJcbiAgICByZXR1cm4gdGhpcy5zb3VyY2UuZmlsdGVyKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdOyAvLyBPYnTDqW0gbyBJRCBkbyBpdGVtXHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9PT0gdHJ1ZTsgLy8gVmVyaWZpY2Egc2UgZXN0w6EgbWFyY2FkbyBjb21vIHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgT25Nb3ZlQWxsVG9Tb3VyY2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbk1vdmVUb1NvdXJjZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKVxyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICB9XHJcblxyXG4gIE9uTW92ZUFsbFRvVGFyZ2V0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25Nb3ZlVG9UYXJnZXQuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB7fTtcclxuICAgIHRoaXMuaGlkZURyb3BPdmVybGF5KClcclxuICAgIHRoaXMuY2xlYXJQcmV2aWV3Q2xvbmVzKCk7XHJcbiAgfVxyXG5cclxuICBPblNvdXJjZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5nZXRTZWxlY3RlZEl0ZW1zKCk7XHJcbiAgXHJcbiAgICAvLyBQcmltZWlybyByZW1vdmUgdG9kb3Mgb3MgcHJldmlld3MgYW50aWdvc1xyXG4gICAgdGhpcy5jbGVhclByZXZpZXdDbG9uZXMoKTtcclxuICBcclxuICAgIGlmIChzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmhpZGVEcm9wT3ZlcmxheSgpO1xyXG4gICAgICB0aGlzLm9uU291cmNlU2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzZWxlY3RlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtSWQgPSBpdGVtW3RoaXMuaXRlbUlkRmllbGRdO1xyXG4gIFxyXG4gICAgICAvLyBTZSBqw6EgZXhpc3RlIHVtIGNsb25lIHBhcmEgZXNzZSBpdGVtLCBuw6NvIGNyaWEgbm92YW1lbnRlXHJcbiAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ByZXZpZXdfJyArIGl0ZW1JZCkpIHtcclxuICAgICAgICBjb25zdCBvcmlnaW5hbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZF9waWNrX2xpc3QnICsgaXRlbUlkKTtcclxuICAgICAgICBpZiAob3JpZ2luYWwpIHtcclxuICAgICAgICAgIGNvbnN0IHJlY3QgPSBvcmlnaW5hbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgIGNvbnN0IGNsb25lID0gb3JpZ2luYWwuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgY2xvbmUuY2xhc3NMaXN0LmFkZCgnZHJhZy1wcmV2aWV3LWNsb25lJyk7XHJcbiAgICAgICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKGBsZXZlbC0ke2luZGV4ICsgMX1gKTtcclxuICAgICAgICAgIGNsb25lLmlkID0gJ3ByZXZpZXdfJyArIGl0ZW1JZDtcclxuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2xvbmUpO1xyXG4gICAgICAgICAgdGhpcy5wcmV2aWV3Q2xvbmVzLnB1c2goY2xvbmUpO1xyXG4gICAgICAgICAgdGhpcy5hbmltYXRlQ2xvbmVUb0N1cnNvcihjbG9uZSwgcmVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICBcclxuICAgIHRoaXMuc2hvd0Ryb3BPdmVybGF5KCk7XHJcbiAgICB0aGlzLm9uU291cmNlU2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBcclxuICBnZXRJdGVtSWQoaXRlbTogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtPy5bdGhpcy5pdGVtSWRGaWVsZF07XHJcbiAgfVxyXG4gIFxyXG5cclxuICBzaG93RHJvcE92ZXJsYXkoKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZEluU291cmNlID0gdGhpcy5zb3VyY2Uuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtW3RoaXMuaXRlbUlkRmllbGRdXSk7XHJcbiAgICBjb25zdCBzZWxlY3RlZEluVGFyZ2V0ID0gdGhpcy50YXJnZXQuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtW3RoaXMuaXRlbUlkRmllbGRdXSk7XHJcbiAgXHJcbiAgICBsZXQgdGFyZ2V0TGlzdEVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gIFxyXG4gICAgaWYgKHNlbGVjdGVkSW5Tb3VyY2UpIHtcclxuICAgICAgLy8gSXRlbnMgc2VsZWNpb25hZG9zIG5hIGxpc3RhIGRhIGVzcXVlcmRhIOKGkiBvdmVybGF5IG5vIGxhZG8gZGlyZWl0b1xyXG4gICAgICB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC10YXJnZXQnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyIGFxdWkgcGFyYSBtb3Zlcic7XHJcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkSW5UYXJnZXQpIHtcclxuICAgICAgLy8gSXRlbnMgc2VsZWNpb25hZG9zIG5hIGxpc3RhIGRhIGRpcmVpdGEg4oaSIG92ZXJsYXkgbm8gbGFkbyBlc3F1ZXJkb1xyXG4gICAgICB0YXJnZXRMaXN0RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1waWNrbGlzdC1zb3VyY2UnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5kcm9wT3ZlcmxheS5pbm5lclRleHQgPSAnU29sdGFyIGFxdWkgcGFyYSByZXRvcm5hcic7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBpZiAodGFyZ2V0TGlzdEVsKSB7XHJcbiAgICAgIGNvbnN0IHJlY3QgPSB0YXJnZXRMaXN0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUudG9wID0gcmVjdC50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmxlZnQgPSByZWN0LmxlZnQgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLndpZHRoID0gcmVjdC53aWR0aCArICdweCc7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuaGVpZ2h0ID0gcmVjdC5oZWlnaHQgKyAncHgnO1xyXG4gICAgICB0aGlzLmRyb3BPdmVybGF5LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIGhpZGVEcm9wT3ZlcmxheSgpIHtcclxuICAgIGlmICh0aGlzLmRyb3BPdmVybGF5KSB7XHJcbiAgICAgIHRoaXMuZHJvcE92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgYW5pbWF0ZUNsb25lVG9DdXJzb3IoY2xvbmU6IEhUTUxFbGVtZW50LCBvcmlnaW5SZWN0OiBET01SZWN0KSB7XHJcbiAgICAvLyBDb21lw6dhIGV4YXRhbWVudGUgZGEgcG9zacOnw6NvIGRvIG9yaWdpbmFsXHJcbiAgICBsZXQgcG9zWCA9IG9yaWdpblJlY3QubGVmdDtcclxuICAgIGxldCBwb3NZID0gb3JpZ2luUmVjdC50b3A7XHJcbiAgXHJcbiAgICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICBjbG9uZS5zdHlsZS5sZWZ0ID0gYCR7cG9zWH1weGA7XHJcbiAgICBjbG9uZS5zdHlsZS50b3AgPSBgJHtwb3NZfXB4YDtcclxuICAgIGNsb25lLnN0eWxlLndpZHRoID0gYCR7b3JpZ2luUmVjdC53aWR0aH1weGA7XHJcbiAgICBjbG9uZS5zdHlsZS5oZWlnaHQgPSBgJHtvcmlnaW5SZWN0LmhlaWdodH1weGA7XHJcbiAgICBjbG9uZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xyXG4gIFxyXG4gICAgY29uc3QgYW5pbWF0ZSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgZHggPSB0aGlzLm1vdXNlWCAtIHBvc1g7XHJcbiAgICAgIGNvbnN0IGR5ID0gdGhpcy5tb3VzZVkgLSBwb3NZO1xyXG4gIFxyXG4gICAgICBwb3NYICs9IGR4ICogMC4xNTtcclxuICAgICAgcG9zWSArPSBkeSAqIDAuMTU7XHJcbiAgXHJcbiAgICAgIGNsb25lLnN0eWxlLmxlZnQgPSBgJHtwb3NYfXB4YDtcclxuICAgICAgY2xvbmUuc3R5bGUudG9wID0gYCR7cG9zWX1weGA7XHJcbiAgXHJcbiAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGNsb25lKSkge1xyXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICBcclxuICAgIGFuaW1hdGUoKTtcclxuICB9XHJcbiAgXHJcbiAgXHJcblxyXG4gIE9uVGFyZ2V0U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLnRhcmdldC5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9PT0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgLy8gTGltcGEgY2xvbmVzIGFudGlnb3NcclxuICAgIHRoaXMuY2xlYXJQcmV2aWV3Q2xvbmVzKCk7XHJcbiAgXHJcbiAgICBpZiAoc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5oaWRlRHJvcE92ZXJsYXkoKTtcclxuICAgICAgdGhpcy5vblRhcmdldFNlbGVjdC5lbWl0KGV2ZW50KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICBcclxuICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlld18nICsgaXRlbUlkKSkge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkX3BpY2tfbGlzdCcgKyBpdGVtSWQpO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbCkge1xyXG4gICAgICAgICAgY29uc3QgcmVjdCA9IG9yaWdpbmFsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgY2xvbmUgPSBvcmlnaW5hbC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBjbG9uZS5jbGFzc0xpc3QuYWRkKCdkcmFnLXByZXZpZXctY2xvbmUnKTtcclxuICAgICAgICAgIGNsb25lLmNsYXNzTGlzdC5hZGQoYGxldmVsLSR7aW5kZXggKyAxfWApO1xyXG4gICAgICAgICAgY2xvbmUuaWQgPSAncHJldmlld18nICsgaXRlbUlkO1xyXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLnByZXZpZXdDbG9uZXMucHVzaChjbG9uZSk7XHJcbiAgICAgICAgICB0aGlzLmFuaW1hdGVDbG9uZVRvQ3Vyc29yKGNsb25lLCByZWN0KTsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICBcclxuICAgIHRoaXMuc2hvd0Ryb3BPdmVybGF5KCk7XHJcbiAgICB0aGlzLm9uVGFyZ2V0U2VsZWN0LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgb25TZWxlY3RBbGwoKSB7XHJcbiAgICB0aGlzLnNlbGVjdEFsbEl0ZW1zKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsSXRlbXMoaXNTZWxlY3RlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zb3VyY2UuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF0gPSBpc1NlbGVjdGVkO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy50YXJnZXQuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgY29uc3QgaXRlbUlkID0gaXRlbVt0aGlzLml0ZW1JZEZpZWxkXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF0gPSBpc1NlbGVjdGVkO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleSA9PT0gJ2EnKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMub25TZWxlY3RBbGwoKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgXHJcbiAgICAgIGNvbnN0IHNvdXJjZVNlbGVjdGVkID0gdGhpcy5waWNrbGlzdC5zZWxlY3RlZEl0ZW1zU291cmNlO1xyXG4gIFxyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zSWRzID0gT2JqZWN0LmVudHJpZXModGhpcy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgIC5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSB0cnVlKVxyXG4gICAgICAgIC5tYXAoKFtrZXksIF9dKSA9PiBOdW1iZXIoa2V5KSk7XHJcbiAgXHJcbiAgICAgIGNvbnN0IG5vdEluU2VsZWN0ZWQgPSBzb3VyY2VTZWxlY3RlZC5maW5kKFxyXG4gICAgICAgIChpdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PlxyXG4gICAgICAgICAgIXNlbGVjdGVkSXRlbXNJZHMuaW5jbHVkZXMoaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSlcclxuICAgICAgKTtcclxuICBcclxuICAgICAgY29uc3QgaW5kZXhJblNvdXJjZSA9IHRoaXMuc291cmNlLmZpbmRJbmRleChcclxuICAgICAgICAoaXRlbTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT5cclxuICAgICAgICAgIGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gPT09IG5vdEluU2VsZWN0ZWQ/Llt0aGlzLml0ZW1JZEZpZWxkXVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBjb25zdCB1bHRpbW9JdGVtQXJyYXkgPSB7XHJcbiAgICAgICAgaXRlbTogbm90SW5TZWxlY3RlZCxcclxuICAgICAgICBpbmRleDogaW5kZXhJblNvdXJjZSxcclxuICAgICAgfTtcclxuICBcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJbmRleEluU291cmNlID0gdGhpcy5zb3VyY2UuZmluZEluZGV4KChzb3VyY2VJdGVtOiBhbnkpID0+XHJcbiAgICAgICAgc2VsZWN0ZWRJdGVtc0lkcy5pbmNsdWRlcyhzb3VyY2VJdGVtW3RoaXMuaXRlbUlkRmllbGRdKVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBpZiAobm90SW5TZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgYmVmb3JlSWRzID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8ubWFwKGkgPT4gaS5pdGVtW3RoaXMuaXRlbUlkRmllbGRdKTtcclxuICAgICAgICBjb25zdCBhZnRlcklkcyA9IHRoaXMucGlja2xpc3Quc2VsZWN0ZWRJdGVtc1NvdXJjZS5tYXAoaSA9PiBpW3RoaXMuaXRlbUlkRmllbGRdKTtcclxuICAgICAgXHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZElkID0gYmVmb3JlSWRzLmZpbmQoaWQgPT4gIWFmdGVySWRzLmluY2x1ZGVzKGlkKSk7XHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgICAgICBpZiAocmVtb3ZlZElkICE9IG51bGwpIHtcclxuICAgICAgICAgIGNvbnN0IHJlbW92ZWRJdGVtID0gdGhpcy5zb3VyY2UuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gPT09IHJlbW92ZWRJZCk7XHJcbiAgICAgICAgICBpZiAocmVtb3ZlZEl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RDaGVja0JveChyZW1vdmVkSXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvID0gdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8uZmlsdGVyKFxyXG4gICAgICAgICAgICAgIChpKSA9PiBpLml0ZW1bdGhpcy5pdGVtSWRGaWVsZF0gIT09IHJlbW92ZWRJZFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBlbnRlcklkcyA9IHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLm1hcChpID0+IGkuaXRlbVt0aGlzLml0ZW1JZEZpZWxkXSk7XHJcblxyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtc0lkcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuc2VsZWN0ZWRJdGVtcylcclxuICAgICAgICAgICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IHRydWUpXHJcbiAgICAgICAgICAgIC5tYXAoKFtrZXksIF9dKSA9PiBOdW1iZXIoa2V5KSk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGNvbnN0IGNsaWNrZWRJZHMgPSBzZWxlY3RlZEl0ZW1zSWRzLmZpbHRlcihpZCA9PiAhZW50ZXJJZHMuaW5jbHVkZXMoaWQpKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKGNsaWNrZWRJZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBjbGlja2VkSXRlbSA9IHRoaXMuc291cmNlLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaXRlbUlkRmllbGRdID09PSBjbGlja2VkSWRzWzBdKTtcclxuICAgICAgICAgICAgaWYgKGNsaWNrZWRJdGVtKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RDaGVja0JveChjbGlja2VkSXRlbSk7XHJcbiAgICAgICAgICAgICAgdGhpcy51bHRpbW9JdGVtU2VsZWNpb25hZG8gPSB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAoaSkgPT4gaS5pdGVtW3RoaXMuaXRlbUlkRmllbGRdICE9PSBjbGlja2VkSWRzWzBdXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICBcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIFxyXG4gIFxyXG4gICAgICB0aGlzLnNlbGVjdENoZWNrQm94KG5vdEluU2VsZWN0ZWQpO1xyXG4gIFxyXG4gICAgICB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkbyA9IHRoaXMudWx0aW1vSXRlbVNlbGVjaW9uYWRvLmZpbHRlcihcclxuICAgICAgICAoaXRlbSkgPT4gaXRlbS5pbmRleCAhPT0gaW5kZXhJblNvdXJjZVxyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICB0aGlzLnVsdGltb0l0ZW1TZWxlY2lvbmFkby5wdXNoKHVsdGltb0l0ZW1BcnJheSk7XHJcbiAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuICBzZWxlY3RDaGVja0JveChpdGVtOiBhbnkpIHtcclxuICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1bdGhpcy5pdGVtSWRGaWVsZF07XHJcblxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRQcmV2aWV3ID0gaXRlbTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXSA9IHRoaXMuc2VsZWN0ZWRJdGVtc1tpdGVtSWRdICE9PSB1bmRlZmluZWRcclxuICAgICAgPyAhdGhpcy5zZWxlY3RlZEl0ZW1zW2l0ZW1JZF1cclxuICAgICAgOiB0cnVlO1xyXG5cclxuXHJcbiAgICB0aGlzLm5nTW9kZWwgPSB0aGlzLnNlbGVjdGVkSXRlbXNbaXRlbUlkXTtcclxuXHJcbiAgfVxyXG5cclxuICBpc0l0ZW1TZWxlY3RlZChpdGVtOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUHJldmlldyA9PT0gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPHAtcGlja0xpc3RcclxuICBbc291cmNlXT1cInNvdXJjZVwiXHJcbiAgW3NvdXJjZUhlYWRlcl09XCJzb3VyY2VIZWFkZXJcIlxyXG4gIFtzb3VyY2VTdHlsZV09XCJzb3VyY2VTdHlsZVwiXHJcbiAgW3RhcmdldF09XCJ0YXJnZXRcIiBcclxuICBbdGFyZ2V0SGVhZGVyXT1cInRhcmdldEhlYWRlclwiXHJcbiAgW3RhcmdldFN0eWxlXT1cInRhcmdldFN0eWxlXCJcclxuICBbZHJhZ2Ryb3BdPVwiZHJhZ2Ryb3BcIlxyXG4gIFtyZXNwb25zaXZlXT1cInJlc3BvbnNpdmVcIlxyXG4gIFtmaWx0ZXJCeV09XCJmaWx0ZXJCeVwiXHJcbiAgW2JyZWFrcG9pbnRdPVwiYnJlYWtwb2ludFwiXHJcbiAgW3N0cmlwZWRSb3dzXT1cInN0cmlwZWRSb3dzXCJcclxuICBbc2hvd1NvdXJjZUNvbnRyb2xzXT1cInNob3dTb3VyY2VDb250cm9sc1wiXHJcbiAgW3Nob3dUYXJnZXRDb250cm9sc109XCJzaG93VGFyZ2V0Q29udHJvbHNcIlxyXG4gIChvbk1vdmVUb1NvdXJjZSk9XCJPbk1vdmVUb1NvdXJjZSgkZXZlbnQpXCJcclxuICAob25Nb3ZlVG9UYXJnZXQpPVwiT25Nb3ZlVG9UYXJnZXQoJGV2ZW50KVwiXHJcbiAgKG9uTW92ZUFsbFRvU291cmNlKT1cIk9uTW92ZUFsbFRvU291cmNlKCRldmVudClcIlxyXG4gIChvbk1vdmVBbGxUb1RhcmdldCk9XCJPbk1vdmVBbGxUb1RhcmdldCgkZXZlbnQpXCJcclxuICAob25Tb3VyY2VTZWxlY3QpPVwiT25Tb3VyY2VTZWxlY3QoJGV2ZW50KVwiXHJcbiAgKG9uVGFyZ2V0U2VsZWN0KT1cIk9uVGFyZ2V0U2VsZWN0KCRldmVudClcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlICBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiA+XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cInNlbGVjdENoZWNrQm94KGl0ZW0pXCIgY2xhc3M9XCJmbGV4IG1yLTVcIiBbaWRdPVwiJ2lkX3BpY2tfbGlzdCcgKyBnZXRJdGVtSWQoaXRlbSlcIlxyXG4gICAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICBAaWYoc2hvd0NoZWNrQm94KSB7XHJcbiAgICAgICAgICAgIDxrdi1jaGVjayAob25DaGVja0NoYW5nZSk9XCJzZWxlY3RDaGVja0JveChpdGVtKVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtc1tpdGVtW2l0ZW1JZEZpZWxkXV1cIiBjbGFzcz1cIm1yLTFcIj48L2t2LWNoZWNrPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PiBcclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtcGlja0xpc3Q+XHJcbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { NgModule } from "@angular/core";
|
|
4
|
+
import { KvPickListComponent } from './kv-pick-list.component';
|
|
5
|
+
import { PrimeNgModule } from '../../api/modules/primeng.module';
|
|
6
|
+
import { KvInputsModule } from "../kv-inputs/kv-inputs.module";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class KvPickListModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, declarations: [KvPickListComponent], imports: [CommonModule,
|
|
11
|
+
PrimeNgModule,
|
|
12
|
+
FormsModule,
|
|
13
|
+
KvInputsModule,
|
|
14
|
+
ReactiveFormsModule], exports: [KvPickListComponent] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, imports: [CommonModule,
|
|
16
|
+
PrimeNgModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
KvInputsModule,
|
|
19
|
+
ReactiveFormsModule] }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPickListModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
declarations: [
|
|
25
|
+
KvPickListComponent
|
|
26
|
+
],
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule,
|
|
29
|
+
PrimeNgModule,
|
|
30
|
+
FormsModule,
|
|
31
|
+
KvInputsModule,
|
|
32
|
+
ReactiveFormsModule
|
|
33
|
+
],
|
|
34
|
+
exports: [
|
|
35
|
+
KvPickListComponent
|
|
36
|
+
]
|
|
37
|
+
}]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGljay1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWlCL0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBYnpCLG1CQUFtQixhQUduQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxjQUFjO1lBQ2QsbUJBQW1CLGFBR25CLG1CQUFtQjsrR0FHVixnQkFBZ0IsWUFWekIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztZQUNkLG1CQUFtQjs7MkZBTVYsZ0JBQWdCO2tCQWY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLG1CQUFtQjtxQkFDdEI7b0JBQ0MsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgS3ZQaWNrTGlzdENvbXBvbmVudCB9IGZyb20gJy4va3YtcGljay1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2SW5wdXRzTW9kdWxlIH0gZnJvbSBcIi4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgS3ZQaWNrTGlzdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgS3ZJbnB1dHNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbl0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZQaWNrTGlzdENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt2UGlja0xpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class ProgressBarComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Whether to display the progress bar value.
|
|
8
|
+
* @group Props
|
|
9
|
+
*/
|
|
10
|
+
this.showValue = true;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to display the progress bar value.
|
|
13
|
+
* @group Props
|
|
14
|
+
*/
|
|
15
|
+
this.showLabel = true;
|
|
16
|
+
/**
|
|
17
|
+
* Unit sign appended to the value.
|
|
18
|
+
* @group Props
|
|
19
|
+
*/
|
|
20
|
+
this.unit = '%';
|
|
21
|
+
/**
|
|
22
|
+
* Defines the mode of the progress
|
|
23
|
+
* @group Props
|
|
24
|
+
*/
|
|
25
|
+
this.mode = 'determinate';
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ProgressBarComponent, selector: "kv-progress-bar", inputs: { value: "value", maxValue: "maxValue", label: "label", showValue: "showValue", showLabel: "showLabel", styleClass: "styleClass", labelStyleClass: "labelStyleClass", barStyleClass: "barStyleClass", style: "style", unit: "unit", mode: "mode", color: "color" }, ngImport: i0, template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n <label *ngIf=\"showValue && maxValue\">{{ value }}/{{ maxValue }}</label>\r\n <label *ngIf=\"showValue && !maxValue\">{{ value }}%</label>\r\n <label *ngIf=\"showLabel\">{{ label }}</label>\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#adadad!important;position:relative;overflow:hidden;height:.875rem}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#004172!important;transition:width 1s ease-in-out}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#004172!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#004172!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ selector: 'kv-progress-bar', template: "<div\r\n role=\"progressbar\"\r\n [class]=\"styleClass ? styleClass : ''\"\r\n [ngStyle]=\"style\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuenow]=\"value\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.data-pc-name]=\"'progressbar'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [ngClass]=\"{'p-progressbar p-component': true, 'p-progressbar-determinate': mode === 'determinate', 'p-progressbar-indeterminate': mode === 'indeterminate'}\"\r\n>\r\n @if(mode === 'determinate') {\r\n <div class=\"p-progressbar-value p-progressbar-value-animate {{ barStyleClass }} font-semibold\"\r\n [style.width]=\"maxValue && value ? (value / maxValue) * 100 + '%' : value + '%'\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n\r\n <div\r\n class=\"p-progressbar-label {{ labelStyleClass }} w-full\"\r\n [attr.data-pc-section]=\"'label'\"\r\n >\r\n <label *ngIf=\"showValue && maxValue\">{{ value }}/{{ maxValue }}</label>\r\n <label *ngIf=\"showValue && !maxValue\">{{ value }}%</label>\r\n <label *ngIf=\"showLabel\">{{ label }}</label>\r\n </div>\r\n } @if(mode === 'indeterminate') {\r\n <div\r\n class=\"p-progressbar-indeterminate-container\"\r\n [attr.data-pc-section]=\"'container'\"\r\n >\r\n <div\r\n class=\"p-progressbar-value p-progressbar-value-animate\"\r\n [style.background]=\"color\"\r\n [attr.data-pc-section]=\"'value'\"\r\n ></div>\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@layer primeng{.p-progressbar{background-color:#adadad!important;position:relative;overflow:hidden;height:.875rem}.p-progressbar-determinate .p-progressbar-value{height:100%;width:0%;position:absolute;display:none;border:0 none;display:flex;align-items:center;justify-content:center;overflow:hidden}.p-progressbar-determinate .p-progressbar-label{font-size:.75rem;color:#fff!important;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.p-progressbar-determinate .p-progressbar-value-animate{background-color:#004172!important;transition:width 1s ease-in-out}.p-progressbar-indeterminate .p-progressbar-value:before{background-color:#004172!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:p-progressbar-indeterminate-anim 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.p-progressbar-indeterminate .p-progressbar-value:after{background-color:#004172!important;content:\"\";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:p-progressbar-indeterminate-anim-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}}@-webkit-keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes p-progressbar-indeterminate-anim{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes p-progressbar-indeterminate-anim-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}\n"] }]
|
|
33
|
+
}], propDecorators: { value: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], maxValue: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], label: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], showValue: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], showLabel: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], styleClass: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], labelStyleClass: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], barStyleClass: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], style: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], unit: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], mode: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], color: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUF3QkU7OztXQUdHO1FBQ00sY0FBUyxHQUFZLElBQUksQ0FBQztRQUNuQzs7O1dBR0c7UUFDTSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBd0JuQzs7O1dBR0c7UUFDTSxTQUFJLEdBQVcsR0FBRyxDQUFDO1FBQzVCOzs7V0FHRztRQUNNLFNBQUksR0FBb0MsYUFBYSxDQUFDO0tBTWhFOzhHQW5FWSxvQkFBb0I7a0dBQXBCLG9CQUFvQixtVUNQakMseTZDQXNDQTs7MkZEL0JhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7OEJBU2xCLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1wcm9ncmVzcy1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2t2LXByb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heCB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4VmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgdmFsdWUgb2YgdGhlIHByb2dyZXNzLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgcHJvZ3Jlc3MgYmFyIHZhbHVlLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dWYWx1ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBwcm9ncmVzcyBiYXIgdmFsdWUuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBDbGFzcyBvZiB0aGUgZWxlbWVudC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsU3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBvZiB0aGUgZWxlbWVudC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBiYXJTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIElubGluZSBzdHlsZSBvZiB0aGUgZWxlbWVudC5cclxuICAgKiBAZ3JvdXAgUHJvcHNcclxuICAgKi9cclxuICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAvKipcclxuICAgKiBVbml0IHNpZ24gYXBwZW5kZWQgdG8gdGhlIHZhbHVlLlxyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHVuaXQ6IHN0cmluZyA9ICclJztcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHRoZSBtb2RlIG9mIHRoZSBwcm9ncmVzc1xyXG4gICAqIEBncm91cCBQcm9wc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnZGV0ZXJtaW5hdGUnO1xyXG4gIC8qKlxyXG4gICAqIENvbG9yIGZvciB0aGUgYmFja2dyb3VuZCBvZiB0aGUgcHJvZ3Jlc3MuXHJcbiAgICogQGdyb3VwIFByb3BzXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxufVxyXG4iLCI8ZGl2XHJcbiAgcm9sZT1cInByb2dyZXNzYmFyXCJcclxuICBbY2xhc3NdPVwic3R5bGVDbGFzcyA/IHN0eWxlQ2xhc3MgOiAnJ1wiXHJcbiAgW25nU3R5bGVdPVwic3R5bGVcIlxyXG4gIFthdHRyLmFyaWEtdmFsdWVtaW5dPVwiMFwiXHJcbiAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJ2YWx1ZVwiXHJcbiAgW2F0dHIuYXJpYS12YWx1ZW1heF09XCIxMDBcIlxyXG4gIFthdHRyLmRhdGEtcGMtbmFtZV09XCIncHJvZ3Jlc3NiYXInXCJcclxuICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCJcclxuICBbbmdDbGFzc109XCJ7J3AtcHJvZ3Jlc3NiYXIgcC1jb21wb25lbnQnOiB0cnVlLCAncC1wcm9ncmVzc2Jhci1kZXRlcm1pbmF0ZSc6IG1vZGUgPT09ICdkZXRlcm1pbmF0ZScsICdwLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUnOiBtb2RlID09PSAnaW5kZXRlcm1pbmF0ZSd9XCJcclxuPlxyXG4gIEBpZihtb2RlID09PSAnZGV0ZXJtaW5hdGUnKSB7XHJcbiAgPGRpdiBjbGFzcz1cInAtcHJvZ3Jlc3NiYXItdmFsdWUgcC1wcm9ncmVzc2Jhci12YWx1ZS1hbmltYXRlIHt7IGJhclN0eWxlQ2xhc3MgfX0gZm9udC1zZW1pYm9sZFwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwibWF4VmFsdWUgJiYgdmFsdWUgPyAodmFsdWUgLyBtYXhWYWx1ZSkgKiAxMDAgKyAnJScgOiB2YWx1ZSArICclJ1wiXHJcbiAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3ZhbHVlJ1wiXHJcbiAgPjwvZGl2PlxyXG5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInAtcHJvZ3Jlc3NiYXItbGFiZWwge3sgbGFiZWxTdHlsZUNsYXNzIH19IHctZnVsbFwiXHJcbiAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2xhYmVsJ1wiXHJcbiAgPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwic2hvd1ZhbHVlICYmIG1heFZhbHVlXCI+e3sgdmFsdWUgfX0ve3sgbWF4VmFsdWUgfX08L2xhYmVsPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwic2hvd1ZhbHVlICYmICFtYXhWYWx1ZVwiPnt7IHZhbHVlIH19JTwvbGFiZWw+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJzaG93TGFiZWxcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbiAgfSBAaWYobW9kZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJwLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUtY29udGFpbmVyXCJcclxuICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY29udGFpbmVyJ1wiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInAtcHJvZ3Jlc3NiYXItdmFsdWUgcC1wcm9ncmVzc2Jhci12YWx1ZS1hbmltYXRlXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JcIlxyXG4gICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3ZhbHVlJ1wiXHJcbiAgICA+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|