keevo-components 1.8.78 → 1.8.79
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/lib/api/components/table/table.config.column.mjs +1 -1
- package/esm2022/lib/api/helpers/keevo-validators.mjs +3 -2
- package/esm2022/lib/api/modules/primeng.module.mjs +1 -1
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +1 -1
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +78 -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 +1 -1
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +1 -1
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +1 -1
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +3 -34
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +4 -2
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +3 -3
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +1 -1
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +1 -1
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/keevo-components.mjs +112 -53
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/components/table/table.config.column.d.ts +1 -1
- package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +22 -0
- package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +8 -0
- package/lib/components/kv-page-form/kv-page-form.component.d.ts +3 -6
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
|
@@ -27,7 +27,7 @@ export class KvMultiSelectComponent extends BaseComponentMultiSelect {
|
|
|
27
27
|
this.maxSelectedLabels = 3;
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvMultiSelectComponent, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvMultiSelectComponent, selector: "kv-multi-select", inputs: { group: "group", itemTemplate: "itemTemplate", maxSelectedLabels: "maxSelectedLabels", optionInactive: "optionInactive" }, providers: ComponentProviders(KvMultiSelectComponent), usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"{'disable': optionInactive === true}\">\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label\"\r\n />\r\n\r\n <p-multiSelect\r\n appendTo=\"body\"\r\n display=\"chip\"\r\n inputId=\"multiselect\"\r\n styleClass=\"inputs\"\r\n [class]=\"baseInputClass\"\r\n [group]=\"group\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [optionDisabled]=\" inactiveOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n >\r\n\r\n\r\n <ng-template\r\n let-item\r\n pTemplate=\"item\"\r\n *ngIf=\"itemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n </p-multiSelect>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: [":host ::ng-deep .disable .p-multiselect.p-multiselect-chip .p-multiselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}\n", "label{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i5.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvMultiSelectComponent, selector: "kv-multi-select", inputs: { group: "group", itemTemplate: "itemTemplate", maxSelectedLabels: "maxSelectedLabels", optionInactive: "optionInactive" }, providers: ComponentProviders(KvMultiSelectComponent), usesInheritance: true, ngImport: i0, template: "<span [ngClass]=\"{'disable': optionInactive === true}\">\r\n <kv-label\r\n [componentId]=\"componentId\"\r\n [label]=\"label\"\r\n />\r\n\r\n <p-multiSelect\r\n appendTo=\"body\"\r\n display=\"chip\"\r\n inputId=\"multiselect\"\r\n styleClass=\"inputs\"\r\n [class]=\"baseInputClass\"\r\n [group]=\"group\"\r\n [disabled]=\"disabled\"\r\n [options]=\"options\"\r\n [optionDisabled]=\" inactiveOptions\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [(ngModel)]=\"value\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onPanelHide)=\"panelHide($event)\"\r\n [maxSelectedLabels]=\"maxSelectedLabels\"\r\n >\r\n\r\n\r\n <ng-template\r\n let-item\r\n pTemplate=\"item\"\r\n *ngIf=\"itemTemplate\"\r\n >\r\n <ng-container\r\n [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n >\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n </p-multiSelect>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</span>\r\n<ng-content></ng-content>\r\n", styles: [":host ::ng-deep .disable .p-multiselect.p-multiselect-chip .p-multiselect-token .p-icon-wrapper{display:none!important}::ng-deep .p-multiselect.p-multiselect-chip .p-multiselect-token{padding:.1rem .4rem}\n", "label{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i5.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvMultiSelectComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
@@ -36,7 +36,7 @@ export class KvRadioGroupComponent extends BaseComponentInput {
|
|
|
36
36
|
this.onSelectedOption.emit(event.value.id);
|
|
37
37
|
}
|
|
38
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvRadioGroupComponent, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvRadioGroupComponent, selector: "kv-radio-group", inputs: { options: "options", optionValueDefault: "optionValueDefault", vertical: "vertical" }, outputs: { onSelectedOption: "onSelectedOption" }, providers: ComponentProviders(KvRadioGroupComponent), usesInheritance: true, ngImport: i0, template: "<kv-label [label]=\"label\" />\r\n<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options; let isFirst = first\">\r\n <p-radioButton\r\n [inputId]=\"option.id\"\r\n name=\"option\"\r\n [value]=\"option\"\r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n [class.ml-3]=\"!isFirst && !vertical\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\" class=\"radio-option-label\">\r\n {{ option.description }}</label\r\n >\r\n </div>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n", styles: [".option{display:inline-block;margin:0;height:35px;padding-top:.75rem}.vertical-radio-group{display:flex;flex-direction:column}.radio-option-label{font-size:1rem}\n", "label{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i5.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i6.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvRadioGroupComponent, selector: "kv-radio-group", inputs: { options: "options", optionValueDefault: "optionValueDefault", vertical: "vertical" }, outputs: { onSelectedOption: "onSelectedOption" }, providers: ComponentProviders(KvRadioGroupComponent), usesInheritance: true, ngImport: i0, template: "<kv-label [label]=\"label\" />\r\n<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options; let isFirst = first\">\r\n <p-radioButton\r\n [inputId]=\"option.id\"\r\n name=\"option\"\r\n [value]=\"option\"\r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n [class.ml-3]=\"!isFirst && !vertical\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\" class=\"radio-option-label\">\r\n {{ option.description }}</label\r\n >\r\n </div>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n", styles: [".option{display:inline-block;margin:0;height:35px;padding-top:.75rem}.vertical-radio-group{display:flex;flex-direction:column}.radio-option-label{font-size:1rem}\n", "label{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.KvErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i5.KvLabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "component", type: i6.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
|
|
40
40
|
}
|
|
41
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvRadioGroupComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
@@ -64,19 +64,9 @@ export class KvPageFormComponent {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
ngOnChanges(changes) {
|
|
68
|
-
if (changes['popup']) {
|
|
69
|
-
console.log('aaaaaaa', changes);
|
|
70
|
-
setTimeout(() => {
|
|
71
|
-
this.setPageFormContainerAttributes();
|
|
72
|
-
this.setMarginCustomHeader();
|
|
73
|
-
}, 50);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
67
|
ngOnInit() {
|
|
77
68
|
this.addSubTitle();
|
|
78
69
|
this.setPageFormContainerAttributes();
|
|
79
|
-
this.setMarginCustomHeader();
|
|
80
70
|
}
|
|
81
71
|
/**
|
|
82
72
|
* Dispara o método de cancelamento da tela
|
|
@@ -105,33 +95,12 @@ export class KvPageFormComponent {
|
|
|
105
95
|
}
|
|
106
96
|
}
|
|
107
97
|
}
|
|
108
|
-
setMarginCustomHeader() {
|
|
109
|
-
var content = document.getElementById('page-form-content');
|
|
110
|
-
var customHeader = document.getElementById('custom-header');
|
|
111
|
-
if (!this.popup) {
|
|
112
|
-
//nao exibbir o custom header
|
|
113
|
-
if (customHeader) {
|
|
114
|
-
customHeader.style.display = 'none';
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
//Definir a margem de cima do centent de acordo co a altura do customheader
|
|
119
|
-
if (content && customHeader) {
|
|
120
|
-
content.style.marginTop = customHeader.clientHeight + 'px';
|
|
121
|
-
customHeader.style.marginTop = (-customHeader.clientHeight - 25) + 'px';
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
teste() {
|
|
126
|
-
this.setPageFormContainerAttributes();
|
|
127
|
-
this.setMarginCustomHeader();
|
|
128
|
-
}
|
|
129
98
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actions: "actions", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", disableBtnSair: "disableBtnSair" }, outputs: { onSave: "onSave", onCancel: "onCancel" },
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actions: "actions", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", disableBtnSair: "disableBtnSair" }, outputs: { onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <kv-button-success\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n />\r\n\r\n\r\n <kv-button-popup\r\n *ngIf=\"actions && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menu.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"actions\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n </div>\r\n\r\n</div>", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::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}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i3.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i4.KvButtonSecondaryComponent, selector: "kv-button-secondary" }, { kind: "component", type: i5.KvButtonSuccessComponent, selector: "kv-button-success" }, { kind: "component", type: i6.KvButtonPopupComponent, selector: "kv-button-popup", inputs: ["items"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
131
100
|
}
|
|
132
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, decorators: [{
|
|
133
102
|
type: Component,
|
|
134
|
-
args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n
|
|
103
|
+
args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n>\r\n\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n <div class=\"flex flex-column lg:flex-row justify-content-end col-12 gap-2 barra-acoes grid grid-nogutter p-fluid\">\r\n\r\n\r\n <kv-button-secondary\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (click)=\"cancel($event)\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-secondary>\r\n\r\n <kv-button-success\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (click)=\"!disableBtnSave ? save($event) : ''\"\r\n class=\"w-full lg:w-auto\"\r\n />\r\n\r\n\r\n <kv-button-popup\r\n *ngIf=\"actions && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n (click)=\"menu.toggle($event)\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full lg:w-auto\"\r\n >\r\n </kv-button-popup>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"actions\"\r\n appendTo=\"body\"\r\n class=\"w-full lg:w-auto\"\r\n ></p-menu>\r\n </div>\r\n\r\n</div>", styles: ["::ng-deep .p-dialog .p-dialog-header{color:#fff!important;background:#002542!important;display:flex!important;flex-wrap:wrap}::ng-deep .p-dialog .p-dialog-content{padding-top:1rem}::ng-deep .p-dialog{min-width:320px}.sub-title{color:#ff0;position:relative;bottom:25px;z-index:1}::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}*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;left:0;right:0;background-color:#fff;padding:10px;z-index:999}#page-form-container{padding-bottom:40px}@media screen and (max-width: 991px){#page-form-container{padding-bottom:100px}}\n"] }]
|
|
135
104
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
|
|
136
105
|
type: Input
|
|
137
106
|
}], TituloForm: [{
|
|
@@ -173,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
173
142
|
}], onCancel: [{
|
|
174
143
|
type: Output
|
|
175
144
|
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBVXhCLE1BQU0sT0FBTyxtQkFBbUI7SUFtRDlCLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBakRuQzs7V0FFRztRQUNNLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF1QixFQUFFLENBQUM7UUFFdkMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBc0IsUUFBUSxDQUFDO1FBQzVELGlDQUFpQztRQUVqQzs7V0FFRztRQUNNLGtCQUFhLEdBQVcsbUJBQW1CLENBQUM7UUFDNUMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUNuQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFD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QUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Hcm91cFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBhZ2UtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2UGFnZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYcOnw7VlcyBkbyBmb3JtdWzDoXJpb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQElucHV0KCkgVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgU3ViVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XHJcbiAgQElucHV0KCkgaXNTYXZlTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsb2NhdGlvblVzZUNvbXBvbmVudDogJ3BhZ2UnIHwgJ2RpYWxvZycgPSAnZGlhbG9nJztcclxuICAvLyBASW5wdXQoKSBleHBhbmRNZW51ITogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGNhbmNlbGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbkJ0bkNhbmNlbDogc3RyaW5nID0gJ3BpIHBpLWZ3IHBpLXRpbWVzJztcclxuICBASW5wdXQoKSBzaG93QnRuQ2FuY2VsOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5DYW5jZWw6IHN0cmluZyA9IFwiQ2FuY2VsYXJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIHNhbHZhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5TYXZlOiBzdHJpbmcgPSAncGkgcGktc2F2ZSc7XHJcbiAgQElucHV0KCkgc2hvd0J0blNhdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmU6IHN0cmluZyA9IFwiU2FsdmFyXCI7XHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGRlIG9ww6fDtWVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9ucyE6IEFjdGlvbkl0ZW1bXTtcclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZVRvb2dsZTogc3RyaW5nID0gXCJwaSBwaS1jaGV2cm9uLWRvd25cIjtcclxuICBASW5wdXQoKSBzaG93QnRuU2F2ZVRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwiQcOnw7Vlc1wiO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZmVjaGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhaXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTYWx2YXIgZGFkb3NcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsYXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkaWNpb25hIHN1Yi10w610dWxvIMOgIHRlbGFcclxuICAgKi9cclxuICBhZGRTdWJUaXRsZSgpIHtcclxuICAgIGlmICh0aGlzLlN1YlRpdHVsb0Zvcm0pIHtcclxuICAgICAgY29uc3QgaGVhZGVyRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWRpYWxvZyAucC1kaWFsb2ctaGVhZGVyJyk7XHJcbiAgICAgIGlmIChoZWFkZXJFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3Qgc3VidGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgIHN1YnRpdGxlRWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuU3ViVGl0dWxvRm9ybTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUuZm9udFNpemUgPSAnMC43NXJlbSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSdcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICcycHgnXHJcblxyXG4gICAgICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQoc3VidGl0bGVFbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzWydwb3B1cCddKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdhYWFhYWFhJyxjaGFuZ2VzKVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFBhZ2VGb3JtQ29udGFpbmVyQXR0cmlidXRlcygpO1xyXG4gICAgICAgIHRoaXMuc2V0TWFyZ2luQ3VzdG9tSGVhZGVyKClcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVx0XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWRkU3ViVGl0bGUoKTtcclxuICAgIHRoaXMuc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCk7XHJcbiAgICB0aGlzLnNldE1hcmdpbkN1c3RvbUhlYWRlcigpXHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvIG3DqXRvZG8gZGUgY2FuY2VsYW1lbnRvIGRhIHRlbGFcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgY2FuY2VsKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkNhbmNlbC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIHNhbHZhciBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIHNhdmUoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uU2F2ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFqdXN0YSBvIHRhbWFuaG8gZGEgdGVsYSBjb25zaWRlcmFuZG8gbyBtZW51IGxhdGVyYWxcclxuICAgKi9cclxuICBzZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKSB7XHJcbiAgICBpZiAodGhpcy5sb2NhdGlvblVzZUNvbXBvbmVudCA9PSAncGFnZScpIHtcclxuICAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1mb3JtLWNvbnRhaW5lcicpO1xyXG5cclxuICAgICAgaWYgKGZvcm0pIHtcclxuICAgICAgICB2YXIgd2lkdGhGdWxsID0gZm9ybS5jbGllbnRXaWR0aDtcclxuICAgICAgICB2YXIgd2lkdGhBZGp1c3RlZDtcclxuXHJcbiAgICAgICAgd2lkdGhBZGp1c3RlZCA9IHdpZHRoRnVsbCAtIDMzMlxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gIH1cclxuXHJcbiAgc2V0TWFyZ2luQ3VzdG9tSGVhZGVyKCkge1xyXG4gICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1mb3JtLWNvbnRlbnQnKTtcclxuICAgIHZhciBjdXN0b21IZWFkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tLWhlYWRlcicpO1xyXG5cclxuICAgIGlmKCF0aGlzLnBvcHVwKXtcclxuICAgICAgLy9uYW8gZXhpYmJpciBvIGN1c3RvbSBoZWFkZXJcclxuICAgICAgaWYgKGN1c3RvbUhlYWRlcikge1xyXG4gICAgICAgIGN1c3RvbUhlYWRlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNle1xyXG4gIFxyXG4gICAgICAvL0RlZmluaXIgYSBtYXJnZW0gZGUgY2ltYSBkbyBjZW50ZW50IGRlIGFjb3JkbyBjbyBhIGFsdHVyYSBkbyBjdXN0b21oZWFkZXJcclxuICAgICAgaWYgKGNvbnRlbnQgJiYgY3VzdG9tSGVhZGVyKSB7XHJcbiAgICAgICAgY29udGVudC5zdHlsZS5tYXJnaW5Ub3AgPSBjdXN0b21IZWFkZXIuY2xpZW50SGVpZ2h0ICsgJ3B4JztcclxuICAgICAgICBcclxuICAgICAgICBjdXN0b21IZWFkZXIuc3R5bGUubWFyZ2luVG9wID0gKC0gY3VzdG9tSGVhZGVyLmNsaWVudEhlaWdodCAtIDI1ICkgKyAncHgnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdGVzdGUoKXtcclxuICAgIHRoaXMuc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCk7XHJcbiAgICB0aGlzLnNldE1hcmdpbkN1c3RvbUhlYWRlcigpXHJcbiAgfVxyXG5cclxufSIsIjxkaXZcclxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXHJcbiAgY2xhc3M9XCJncmlkLW5vZ3V0dGVyIG0tMFwiXHJcbiAgaWQ9XCJwYWdlLWZvcm0tY29udGFpbmVyXCJcclxuPlxyXG4gIDwhLS0gQ2FiZcOnYWxobyBwZXJzb25hbGl6YWRvIC0tPlxyXG4gIDxkaXYgaWQ9XCJjdXN0b20taGVhZGVyXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba3ZQYWdlRm9ybUhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUmVuZGVyaXphw6fDo28gZG8gZm9ybSAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIHAtMFwiIGlkPVwicGFnZS1mb3JtLWNvbnRlbnRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBEaXZpZGVyIC0tPlxyXG4gIDwhLS0gPHAtZGl2aWRlciBjbGFzcz1cImNvbC0xMlwiPjwvcC1kaXZpZGVyPiAtLT5cclxuXHJcbiAgPCEtLSBCYXJyYSBkZSBhw6fDtWVzIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGxnOmZsZXgtcm93IGp1c3RpZnktY29udGVudC1lbmQgY29sLTEyIGdhcC0yIGJhcnJhLWFjb2VzIGdyaWQgZ3JpZC1ub2d1dHRlciBwLWZsdWlkXCI+XHJcblxyXG5cclxuICAgIDxrdi1idXR0b24tc2Vjb25kYXJ5XHJcbiAgICAgICpuZ0lmPVwic2hvd0J0bkNhbmNlbFwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5DYW5jZWxcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuQ2FuY2VsXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAoY2xpY2spPVwiY2FuY2VsKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgPlxyXG4gICAgPC9rdi1idXR0b24tc2Vjb25kYXJ5PlxyXG5cclxuICAgIDxrdi1idXR0b24tc3VjY2Vzc1xyXG4gICAgICAqbmdJZj1cInNob3dCdG5TYXZlXCJcclxuICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuU2F2ZVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuU2F2ZVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICAoY2xpY2spPVwiIWRpc2FibGVCdG5TYXZlID8gc2F2ZSgkZXZlbnQpIDogJydcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgLz5cclxuXHJcblxyXG4gICAgPGt2LWJ1dHRvbi1wb3B1cFxyXG4gICAgICAqbmdJZj1cImFjdGlvbnMgJiYgc2hvd0J0blNhdmVUb29nbGVcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgIFtpY29uXT1cImljb25CdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICBbbG9hZGluZ109XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgID5cclxuICAgIDwva3YtYnV0dG9uLXBvcHVwPlxyXG5cclxuICAgIDxwLW1lbnVcclxuICAgICAgI21lbnVcclxuICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICBbbW9kZWxdPVwiYWN0aW9uc1wiXHJcbiAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICA+PC9wLW1lbnU+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRUwsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBVXhCLE1BQU0sT0FBTyxtQkFBbUI7SUFtRDlCLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBakRuQzs7V0FFRztRQUNNLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF1QixFQUFFLENBQUM7UUFFdkMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBc0IsUUFBUSxDQUFDO1FBQzVELGlDQUFpQztRQUVqQzs7V0FFRztRQUNNLGtCQUFhLEdBQVcsbUJBQW1CLENBQUM7UUFDNUMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUNuQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFD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S0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Hcm91cFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBhZ2UtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2UGFnZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKipcclxuICAgKiBDb25maWd1cmHDp8O1ZXMgZG8gZm9ybXVsw6FyaW9cclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEBJbnB1dCgpIFRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIFN1YlRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzU2F2ZUxvYWRpbmchOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9jYXRpb25Vc2VDb21wb25lbnQ6ICdwYWdlJyB8ICdkaWFsb2cnID0gJ2RpYWxvZyc7XHJcbiAgLy8gQElucHV0KCkgZXhwYW5kTWVudSE6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBjYW5jZWxhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5DYW5jZWw6IHN0cmluZyA9ICdwaSBwaS1mdyBwaS10aW1lcyc7XHJcbiAgQElucHV0KCkgc2hvd0J0bkNhbmNlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdHh0QnRuQ2FuY2VsOiBzdHJpbmcgPSBcIkNhbmNlbGFyXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBzYWx2YXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZTogc3RyaW5nID0gJ3BpIHBpLXNhdmUnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlOiBzdHJpbmcgPSBcIlNhbHZhclwiO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBkZSBvcMOnw7Vlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnMhOiBBY3Rpb25JdGVtW107XHJcbiAgQElucHV0KCkgaWNvbkJ0blNhdmVUb29nbGU6IHN0cmluZyA9IFwicGkgcGktY2hldnJvbi1kb3duXCI7XHJcbiAgQElucHV0KCkgc2hvd0J0blNhdmVUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlVG9vZ2xlOiBzdHJpbmcgPSBcIkHDp8O1ZXNcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGZlY2hhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdG5TYWlyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2FsdmFyIGRhZG9zXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2F2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbGFyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBzdWItdMOtdHVsbyDDoCB0ZWxhXHJcbiAgICovXHJcbiAgYWRkU3ViVGl0bGUoKSB7XHJcbiAgICBpZiAodGhpcy5TdWJUaXR1bG9Gb3JtKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1kaWFsb2cgLnAtZGlhbG9nLWhlYWRlcicpO1xyXG4gICAgICBpZiAoaGVhZGVyRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IHN1YnRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLlN1YlRpdHVsb0Zvcm07XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gJzAuNzVyZW0nXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLndpZHRoID0gJzEwMCUnXHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMnB4J1xyXG5cclxuICAgICAgICBoZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHN1YnRpdGxlRWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hZGRTdWJUaXRsZSgpO1xyXG4gICAgdGhpcy5zZXRQYWdlRm9ybUNvbnRhaW5lckF0dHJpYnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BhcmEgbyBtw6l0b2RvIGRlIGNhbmNlbGFtZW50byBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIGV2ZW50IGV2ZW50b1xyXG4gICAqL1xyXG4gIGNhbmNlbChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25DYW5jZWwuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG8gbcOpdG9kbyBkZSBzYWx2YXIgZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBldmVudCBldmVudG9cclxuICAgKi9cclxuICBzYXZlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBanVzdGEgbyB0YW1hbmhvIGRhIHRlbGEgY29uc2lkZXJhbmRvIG8gbWVudSBsYXRlcmFsXHJcbiAgICovXHJcbiAgc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCkge1xyXG4gICAgaWYgKHRoaXMubG9jYXRpb25Vc2VDb21wb25lbnQgPT0gJ3BhZ2UnKSB7XHJcbiAgICAgIHZhciBmb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhZ2UtZm9ybS1jb250YWluZXInKTtcclxuXHJcbiAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgdmFyIHdpZHRoRnVsbCA9IGZvcm0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgdmFyIHdpZHRoQWRqdXN0ZWQ7XHJcblxyXG4gICAgICAgIHdpZHRoQWRqdXN0ZWQgPSB3aWR0aEZ1bGwgLSAzMzJcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICB9XHJcbn0iLCI8ZGl2XHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gIGNsYXNzPVwiZ3JpZC1ub2d1dHRlciBtLTBcIlxyXG4gIGlkPVwicGFnZS1mb3JtLWNvbnRhaW5lclwiXHJcbj5cclxuXHJcbiAgPCEtLSBSZW5kZXJpemHDp8OjbyBkbyBmb3JtIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC0wXCIgaWQ9XCJwYWdlLWZvcm0tY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIERpdmlkZXIgLS0+XHJcbiAgPCEtLSA8cC1kaXZpZGVyIGNsYXNzPVwiY29sLTEyXCI+PC9wLWRpdmlkZXI+IC0tPlxyXG5cclxuICA8IS0tIEJhcnJhIGRlIGHDp8O1ZXMgLS0+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbGc6ZmxleC1yb3cganVzdGlmeS1jb250ZW50LWVuZCBjb2wtMTIgZ2FwLTIgYmFycmEtYWNvZXMgZ3JpZCBncmlkLW5vZ3V0dGVyIHAtZmx1aWRcIj5cclxuXHJcblxyXG4gICAgPGt2LWJ1dHRvbi1zZWNvbmRhcnlcclxuICAgICAgKm5nSWY9XCJzaG93QnRuQ2FuY2VsXCJcclxuICAgICAgW2xhYmVsXT1cInR4dEJ0bkNhbmNlbFwiXHJcbiAgICAgIFtpY29uXT1cImljb25CdG5DYW5jZWxcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgIChjbGljayk9XCJjYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICA+XHJcbiAgICA8L2t2LWJ1dHRvbi1zZWNvbmRhcnk+XHJcblxyXG4gICAgPGt2LWJ1dHRvbi1zdWNjZXNzXHJcbiAgICAgICpuZ0lmPVwic2hvd0J0blNhdmVcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuU2F2ZVwiXHJcbiAgICAgIFtpY29uXT1cImljb25CdG5TYXZlXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5TYXZlXCJcclxuICAgICAgW2xvYWRpbmddPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgIChjbGljayk9XCIhZGlzYWJsZUJ0blNhdmUgPyBzYXZlKCRldmVudCkgOiAnJ1wiXHJcbiAgICAgIGNsYXNzPVwidy1mdWxsIGxnOnctYXV0b1wiXHJcbiAgICAvPlxyXG5cclxuXHJcbiAgICA8a3YtYnV0dG9uLXBvcHVwXHJcbiAgICAgICpuZ0lmPVwiYWN0aW9ucyAmJiBzaG93QnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgW2ljb25dPVwiaWNvbkJ0blNhdmVUb29nbGVcIlxyXG4gICAgICAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBsZzp3LWF1dG9cIlxyXG4gICAgPlxyXG4gICAgPC9rdi1idXR0b24tcG9wdXA+XHJcblxyXG4gICAgPHAtbWVudVxyXG4gICAgICAjbWVudVxyXG4gICAgICBbcG9wdXBdPVwidHJ1ZVwiXHJcbiAgICAgIFttb2RlbF09XCJhY3Rpb25zXCJcclxuICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbGc6dy1hdXRvXCJcclxuICAgID48L3AtbWVudT5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
|