@inspark/inspark-components 1.0.44 → 14.0.0
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/full/components/autocomplete/autocomplete.component.d.ts +12 -1
- package/full/components/breadcrumb/breadcrumb.component.d.ts +3 -0
- package/full/components/button/button.component.d.ts +5 -1
- package/full/components/checkbox/checkbox.component.d.ts +3 -0
- package/full/components/communication.service.d.ts +3 -0
- package/full/components/component-container/component-container.component.d.ts +3 -0
- package/full/components/content-toggle/content-toggle.component.d.ts +3 -0
- package/full/components/dropdown/dropdown.component.d.ts +65 -13
- package/full/components/empty/empty.component.d.ts +3 -0
- package/full/components/file/file.component.d.ts +3 -0
- package/full/components/header/header.component.d.ts +3 -0
- package/full/components/inline-message/inline-message.component.d.ts +3 -0
- package/full/components/input-group/input-group.component.d.ts +3 -0
- package/full/components/input-text/input-text.component.d.ts +3 -0
- package/full/components/inspark.module.d.ts +47 -0
- package/full/components/inspark.shared.d.ts +3 -0
- package/full/components/link/link.component.d.ts +5 -1
- package/full/components/modal-input-text/modal-input-text.component.d.ts +4 -1
- package/full/components/object-tree/object-tree.component.d.ts +3 -0
- package/full/components/panel/panel.component.d.ts +3 -0
- package/full/components/pie/pie.component.d.ts +3 -0
- package/full/components/pie/pie.service.d.ts +3 -0
- package/full/components/preloader/preloader.component.d.ts +3 -0
- package/full/components/primeng.module.d.ts +5 -0
- package/full/components/radiobutton/radiobutton.component.d.ts +3 -0
- package/full/components/select-button/select-button.component.d.ts +3 -0
- package/full/components/select-list/select-list.component.d.ts +4 -1
- package/full/components/status-circle/status-circle.component.d.ts +3 -0
- package/full/components/sticky/sticky.component.d.ts +3 -0
- package/full/components/svg/svg.component.d.ts +4 -1
- package/full/components/switcher/switcher.component.d.ts +3 -0
- package/full/components/table/table-click-outside.directive.d.ts +3 -0
- package/full/components/table/table-columns-multiselect/table-columns-multiselect.component.d.ts +3 -0
- package/full/components/table/table-menu-overlay/table-menu-overlay.component.d.ts +3 -0
- package/full/components/table/table.component.d.ts +18 -0
- package/full/components/textarea/textarea.component.d.ts +3 -0
- package/full/components/toolbar/toolbar.component.d.ts +3 -0
- package/full/components/tooltip/tooltip.component.d.ts +3 -0
- package/full/components/tree-table/tree-table.component.d.ts +12 -0
- package/full/esm2020/components/autocomplete/autocomplete.component.mjs +220 -0
- package/full/esm2020/components/breadcrumb/breadcrumb.component.mjs +20 -0
- package/full/esm2020/components/button/button.component.mjs +160 -0
- package/full/esm2020/components/checkbox/checkbox.component.mjs +89 -0
- package/full/esm2020/components/communication.service.mjs +25 -0
- package/full/esm2020/components/component-container/component-container.component.mjs +17 -0
- package/full/esm2020/components/content-toggle/content-toggle.component.mjs +49 -0
- package/full/esm2020/components/dropdown/dropdown.component.mjs +328 -0
- package/full/esm2020/components/empty/empty.component.mjs +12 -0
- package/full/esm2020/components/file/file.component.mjs +53 -0
- package/full/esm2020/components/header/header.component.mjs +23 -0
- package/full/esm2020/components/inline-message/inline-message.component.mjs +20 -0
- package/full/esm2020/components/input-group/input-group.component.mjs +163 -0
- package/full/esm2020/components/input-text/input-text.component.mjs +149 -0
- package/full/esm2020/components/inspark.module.mjs +239 -0
- package/full/esm2020/components/inspark.shared.mjs +25 -0
- package/full/esm2020/components/link/link.component.mjs +131 -0
- package/full/esm2020/components/modal-input-text/modal-input-text.component.mjs +88 -0
- package/full/esm2020/components/object-tree/object-tree.component.mjs +14 -0
- package/full/esm2020/components/panel/panel.component.mjs +11 -0
- package/full/esm2020/components/pie/pie.component.mjs +44 -0
- package/full/esm2020/components/pie/pie.service.mjs +55 -0
- package/full/esm2020/components/preloader/preloader.component.mjs +25 -0
- package/full/esm2020/components/primeng.module.mjs +22 -0
- package/full/esm2020/components/radiobutton/radiobutton.component.mjs +50 -0
- package/full/esm2020/components/select-button/select-button.component.mjs +147 -0
- package/full/esm2020/components/select-list/select-list.component.mjs +55 -0
- package/full/esm2020/components/status-circle/status-circle.component.mjs +36 -0
- package/full/esm2020/components/sticky/sticky.component.mjs +64 -0
- package/full/esm2020/components/svg/svg.component.mjs +28 -0
- package/full/esm2020/components/switcher/switcher.component.mjs +123 -0
- package/full/esm2020/components/table/table-click-outside.directive.mjs +31 -0
- package/full/esm2020/components/table/table-columns-multiselect/table-columns-multiselect.component.mjs +32 -0
- package/full/esm2020/components/table/table-menu-overlay/table-menu-overlay.component.mjs +26 -0
- package/full/esm2020/components/table/table.component.mjs +472 -0
- package/full/esm2020/components/textarea/textarea.component.mjs +87 -0
- package/full/esm2020/components/toolbar/toolbar.component.mjs +30 -0
- package/full/esm2020/components/tooltip/tooltip.component.mjs +14 -0
- package/full/esm2020/components/tree-table/tree-table.component.mjs +206 -0
- package/full/esm2020/inspark-inspark-components.mjs +5 -0
- package/full/esm2020/interface.mjs +2 -0
- package/full/esm2020/pipes/pipes.module.mjs +19 -0
- package/full/esm2020/pipes/propertyValue.pipe.mjs +25 -0
- package/full/esm2020/pipes/safeUrl.pipe.mjs +36 -0
- package/full/esm2020/pipes/sort-by.pipe.mjs +28 -0
- package/full/esm2020/pipes/time.pipe.mjs +206 -0
- package/full/esm2020/public_api.mjs +60 -0
- package/full/esm2020/services/inspark-dialog.service.mjs +52 -0
- package/full/esm2020/services/inspark-message.service.mjs +71 -0
- package/full/esm2020/utils/gettextMarker.function.mjs +5 -0
- package/full/esm2020/utils/hybrid/prime-table/row-state.enum.mjs +9 -0
- package/full/esm2020/utils/hybrid/prime-table/table-row-data.model.mjs +2 -0
- package/full/fesm2015/inspark-inspark-components.mjs +3574 -0
- package/full/fesm2015/inspark-inspark-components.mjs.map +1 -0
- package/full/fesm2020/inspark-inspark-components.mjs +3577 -0
- package/full/fesm2020/inspark-inspark-components.mjs.map +1 -0
- package/full/index.css +1265 -3352
- package/{interface/inspark-inspark-components.d.ts → full/index.d.ts} +1 -0
- package/full/index.js +1 -1
- package/full/interface.d.ts +1 -1
- package/full/package.json +26 -16
- package/full/pipes/pipes.module.d.ts +8 -0
- package/full/pipes/propertyValue.pipe.d.ts +3 -0
- package/full/pipes/safeUrl.pipe.d.ts +3 -0
- package/full/pipes/sort-by.pipe.d.ts +3 -0
- package/full/pipes/time.pipe.d.ts +9 -0
- package/full/public_api.d.ts +15 -1
- package/full/services/inspark-dialog.service.d.ts +4 -2
- package/full/services/inspark-message.service.d.ts +3 -0
- package/interface/esm2020/inspark-inspark-components.mjs +5 -0
- package/interface/esm2020/interface.mjs +2 -0
- package/interface/esm2020/public_api.mjs +5 -0
- package/interface/fesm2015/inspark-inspark-components.mjs +8 -0
- package/interface/fesm2015/inspark-inspark-components.mjs.map +1 -0
- package/interface/fesm2020/inspark-inspark-components.mjs +8 -0
- package/interface/fesm2020/inspark-inspark-components.mjs.map +1 -0
- package/interface/index.d.ts +5 -0
- package/interface/interface.d.ts +1 -1
- package/interface/package.json +26 -16
- package/package.json +1 -1
- package/full/bundles/inspark-inspark-components.umd.js +0 -4622
- package/full/bundles/inspark-inspark-components.umd.js.map +0 -1
- package/full/bundles/inspark-inspark-components.umd.min.js +0 -16
- package/full/bundles/inspark-inspark-components.umd.min.js.map +0 -1
- package/full/esm2015/components/autocomplete/autocomplete.component.js +0 -310
- package/full/esm2015/components/breadcrumb/breadcrumb.component.js +0 -23
- package/full/esm2015/components/button/button.component.js +0 -217
- package/full/esm2015/components/checkbox/checkbox.component.js +0 -104
- package/full/esm2015/components/communication.service.js +0 -24
- package/full/esm2015/components/component-container/component-container.component.js +0 -20
- package/full/esm2015/components/content-toggle/content-toggle.component.js +0 -66
- package/full/esm2015/components/dropdown/dropdown.component.js +0 -353
- package/full/esm2015/components/empty/empty.component.js +0 -13
- package/full/esm2015/components/file/file.component.js +0 -65
- package/full/esm2015/components/header/header.component.js +0 -30
- package/full/esm2015/components/inline-message/inline-message.component.js +0 -25
- package/full/esm2015/components/input-group/input-group.component.js +0 -197
- package/full/esm2015/components/input-text/input-text.component.js +0 -198
- package/full/esm2015/components/inspark.module.js +0 -137
- package/full/esm2015/components/inspark.shared.js +0 -30
- package/full/esm2015/components/link/link.component.js +0 -164
- package/full/esm2015/components/modal-input-text/modal-input-text.component.js +0 -94
- package/full/esm2015/components/object-tree/object-tree.component.js +0 -18
- package/full/esm2015/components/panel/panel.component.js +0 -13
- package/full/esm2015/components/pie/pie.component.js +0 -59
- package/full/esm2015/components/pie/pie.service.js +0 -54
- package/full/esm2015/components/preloader/preloader.component.js +0 -34
- package/full/esm2015/components/primeng.module.js +0 -19
- package/full/esm2015/components/radiobutton/radiobutton.component.js +0 -75
- package/full/esm2015/components/select-button/select-button.component.js +0 -176
- package/full/esm2015/components/select-list/select-list.component.js +0 -60
- package/full/esm2015/components/status-circle/status-circle.component.js +0 -51
- package/full/esm2015/components/sticky/sticky.component.js +0 -82
- package/full/esm2015/components/svg/svg.component.js +0 -36
- package/full/esm2015/components/switcher/switcher.component.js +0 -148
- package/full/esm2015/components/table/table-click-outside.directive.js +0 -38
- package/full/esm2015/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -37
- package/full/esm2015/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -35
- package/full/esm2015/components/table/table.component.js +0 -535
- package/full/esm2015/components/textarea/textarea.component.js +0 -101
- package/full/esm2015/components/toolbar/toolbar.component.js +0 -40
- package/full/esm2015/components/tooltip/tooltip.component.js +0 -18
- package/full/esm2015/components/tree-table/tree-table.component.js +0 -255
- package/full/esm2015/inspark-inspark-components.js +0 -20
- package/full/esm2015/interface.js +0 -1
- package/full/esm2015/pipes/pipes.module.js +0 -16
- package/full/esm2015/pipes/propertyValue.pipe.js +0 -23
- package/full/esm2015/pipes/safeUrl.pipe.js +0 -37
- package/full/esm2015/pipes/sort-by.pipe.js +0 -26
- package/full/esm2015/pipes/time.pipe.js +0 -201
- package/full/esm2015/public_api.js +0 -45
- package/full/esm2015/services/inspark-dialog.service.js +0 -59
- package/full/esm2015/services/inspark-message.service.js +0 -73
- package/full/esm2015/utils/gettextMarker.function.js +0 -5
- package/full/esm2015/utils/hybrid/prime-table/row-state.enum.js +0 -9
- package/full/esm2015/utils/hybrid/prime-table/table-row-data.model.js +0 -1
- package/full/esm5/components/autocomplete/autocomplete.component.js +0 -318
- package/full/esm5/components/breadcrumb/breadcrumb.component.js +0 -24
- package/full/esm5/components/button/button.component.js +0 -224
- package/full/esm5/components/checkbox/checkbox.component.js +0 -106
- package/full/esm5/components/communication.service.js +0 -25
- package/full/esm5/components/component-container/component-container.component.js +0 -21
- package/full/esm5/components/content-toggle/content-toggle.component.js +0 -67
- package/full/esm5/components/dropdown/dropdown.component.js +0 -357
- package/full/esm5/components/empty/empty.component.js +0 -16
- package/full/esm5/components/file/file.component.js +0 -66
- package/full/esm5/components/header/header.component.js +0 -31
- package/full/esm5/components/inline-message/inline-message.component.js +0 -26
- package/full/esm5/components/input-group/input-group.component.js +0 -199
- package/full/esm5/components/input-text/input-text.component.js +0 -200
- package/full/esm5/components/inspark.module.js +0 -140
- package/full/esm5/components/inspark.shared.js +0 -31
- package/full/esm5/components/link/link.component.js +0 -165
- package/full/esm5/components/modal-input-text/modal-input-text.component.js +0 -98
- package/full/esm5/components/object-tree/object-tree.component.js +0 -20
- package/full/esm5/components/panel/panel.component.js +0 -16
- package/full/esm5/components/pie/pie.component.js +0 -60
- package/full/esm5/components/pie/pie.service.js +0 -56
- package/full/esm5/components/preloader/preloader.component.js +0 -35
- package/full/esm5/components/primeng.module.js +0 -22
- package/full/esm5/components/radiobutton/radiobutton.component.js +0 -76
- package/full/esm5/components/select-button/select-button.component.js +0 -179
- package/full/esm5/components/select-list/select-list.component.js +0 -62
- package/full/esm5/components/status-circle/status-circle.component.js +0 -52
- package/full/esm5/components/sticky/sticky.component.js +0 -84
- package/full/esm5/components/svg/svg.component.js +0 -39
- package/full/esm5/components/switcher/switcher.component.js +0 -150
- package/full/esm5/components/table/table-click-outside.directive.js +0 -39
- package/full/esm5/components/table/table-columns-multiselect/table-columns-multiselect.component.js +0 -38
- package/full/esm5/components/table/table-menu-overlay/table-menu-overlay.component.js +0 -36
- package/full/esm5/components/table/table.component.js +0 -554
- package/full/esm5/components/textarea/textarea.component.js +0 -103
- package/full/esm5/components/toolbar/toolbar.component.js +0 -41
- package/full/esm5/components/tooltip/tooltip.component.js +0 -20
- package/full/esm5/components/tree-table/tree-table.component.js +0 -280
- package/full/esm5/inspark-inspark-components.js +0 -20
- package/full/esm5/interface.js +0 -1
- package/full/esm5/pipes/pipes.module.js +0 -19
- package/full/esm5/pipes/propertyValue.pipe.js +0 -26
- package/full/esm5/pipes/safeUrl.pipe.js +0 -38
- package/full/esm5/pipes/sort-by.pipe.js +0 -29
- package/full/esm5/pipes/time.pipe.js +0 -212
- package/full/esm5/public_api.js +0 -45
- package/full/esm5/services/inspark-dialog.service.js +0 -61
- package/full/esm5/services/inspark-message.service.js +0 -78
- package/full/esm5/utils/gettextMarker.function.js +0 -5
- package/full/esm5/utils/hybrid/prime-table/row-state.enum.js +0 -9
- package/full/esm5/utils/hybrid/prime-table/table-row-data.model.js +0 -1
- package/full/fesm2015/inspark-inspark-components.js +0 -4174
- package/full/fesm2015/inspark-inspark-components.js.map +0 -1
- package/full/fesm5/inspark-inspark-components.js +0 -4324
- package/full/fesm5/inspark-inspark-components.js.map +0 -1
- package/full/fonts/primeicons.eot +0 -0
- package/full/fonts/primeicons.svg +0 -163
- package/full/fonts/primeicons.ttf +0 -0
- package/full/fonts/primeicons.woff +0 -0
- package/full/inspark-inspark-components.d.ts +0 -19
- package/full/inspark-inspark-components.metadata.json +0 -1
- package/interface/bundles/inspark-inspark-components.umd.js +0 -11
- package/interface/bundles/inspark-inspark-components.umd.js.map +0 -1
- package/interface/bundles/inspark-inspark-components.umd.min.js +0 -2
- package/interface/bundles/inspark-inspark-components.umd.min.js.map +0 -1
- package/interface/esm2015/inspark-inspark-components.js +0 -4
- package/interface/esm2015/interface.js +0 -1
- package/interface/esm2015/public_api.js +0 -4
- package/interface/esm5/inspark-inspark-components.js +0 -4
- package/interface/esm5/interface.js +0 -1
- package/interface/esm5/public_api.js +0 -4
- package/interface/fesm2015/inspark-inspark-components.js +0 -4
- package/interface/fesm2015/inspark-inspark-components.js.map +0 -1
- package/interface/fesm5/inspark-inspark-components.js +0 -4
- package/interface/fesm5/inspark-inspark-components.js.map +0 -1
- package/interface/inspark-inspark-components.metadata.json +0 -1
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, NgModule, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { OverlayModule } from 'primeng/overlay';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { Dropdown } from 'primeng/dropdown';
|
|
7
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
8
|
+
import { SharedModule } from 'primeng/api';
|
|
9
|
+
import { ScrollerModule } from 'primeng/scroller';
|
|
10
|
+
import { RippleModule } from 'primeng/ripple';
|
|
11
|
+
import { AutoFocusModule } from 'primeng/autofocus';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/common";
|
|
14
|
+
import * as i2 from "primeng/ripple";
|
|
15
|
+
import * as i3 from "primeng/overlay";
|
|
16
|
+
import * as i4 from "primeng/api";
|
|
17
|
+
import * as i5 from "primeng/tooltip";
|
|
18
|
+
import * as i6 from "primeng/scroller";
|
|
19
|
+
import * as i7 from "primeng/autofocus";
|
|
20
|
+
export const DROPDOWN_VALUE_ACCESSOR = {
|
|
21
|
+
provide: NG_VALUE_ACCESSOR,
|
|
22
|
+
useExisting: forwardRef(() => Dropdown),
|
|
23
|
+
multi: true
|
|
24
|
+
};
|
|
25
|
+
export class DropdownItem {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.onClick = new EventEmitter();
|
|
28
|
+
}
|
|
29
|
+
onOptionClick(event) {
|
|
30
|
+
this.onClick.emit({
|
|
31
|
+
originalEvent: event,
|
|
32
|
+
option: this.option
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
DropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownItem, selector: "p-dropdownItem", inputs: { option: "option", selected: "selected", label: "label", disabled: "disabled", visible: "visible", itemSize: "itemSize", template: "template" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
|
|
38
|
+
<li
|
|
39
|
+
(click)="onOptionClick($event)"
|
|
40
|
+
role="option"
|
|
41
|
+
pRipple
|
|
42
|
+
[attr.aria-label]="label"
|
|
43
|
+
[attr.aria-selected]="selected"
|
|
44
|
+
[ngStyle]="{ height: itemSize + 'px' }"
|
|
45
|
+
[id]="selected ? 'p-highlighted-option' : ''"
|
|
46
|
+
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
47
|
+
>
|
|
48
|
+
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
49
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
50
|
+
</li>
|
|
51
|
+
`, isInline: true, 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }] });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownItem, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: 'p-dropdownItem',
|
|
56
|
+
template: `
|
|
57
|
+
<li
|
|
58
|
+
(click)="onOptionClick($event)"
|
|
59
|
+
role="option"
|
|
60
|
+
pRipple
|
|
61
|
+
[attr.aria-label]="label"
|
|
62
|
+
[attr.aria-selected]="selected"
|
|
63
|
+
[ngStyle]="{ height: itemSize + 'px' }"
|
|
64
|
+
[id]="selected ? 'p-highlighted-option' : ''"
|
|
65
|
+
[ngClass]="{ 'p-dropdown-item': true, 'p-highlight': selected, 'p-disabled': disabled }"
|
|
66
|
+
>
|
|
67
|
+
<span *ngIf="!template">{{ label || 'empty' }}</span>
|
|
68
|
+
<ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
|
|
69
|
+
</li>
|
|
70
|
+
`
|
|
71
|
+
}]
|
|
72
|
+
}], propDecorators: { option: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], selected: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], label: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], disabled: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], visible: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], itemSize: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], template: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], onClick: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}] } });
|
|
89
|
+
export class DropdownComponent extends Dropdown {
|
|
90
|
+
constructor() {
|
|
91
|
+
super(...arguments);
|
|
92
|
+
/**
|
|
93
|
+
* Наш код
|
|
94
|
+
*/
|
|
95
|
+
this._label = '';
|
|
96
|
+
this.error = null;
|
|
97
|
+
/**
|
|
98
|
+
* код PrimeNG
|
|
99
|
+
*/
|
|
100
|
+
this.scrollHeight = '200px';
|
|
101
|
+
this.resetFilterOnHide = false;
|
|
102
|
+
this.dropdownIcon = 'pi pi-chevron-down';
|
|
103
|
+
this.optionGroupChildren = 'items';
|
|
104
|
+
this.autoDisplayFirst = true;
|
|
105
|
+
this.emptyFilterMessage = '';
|
|
106
|
+
this.emptyMessage = '';
|
|
107
|
+
this.lazy = false;
|
|
108
|
+
this.filterMatchMode = 'contains';
|
|
109
|
+
this.tooltip = '';
|
|
110
|
+
this.tooltipPosition = 'right';
|
|
111
|
+
this.tooltipPositionStyle = 'absolute';
|
|
112
|
+
this.autofocusFilter = true;
|
|
113
|
+
this.overlayDirection = 'end';
|
|
114
|
+
this.onChange = new EventEmitter();
|
|
115
|
+
this.onFilter = new EventEmitter();
|
|
116
|
+
this.onFocus = new EventEmitter();
|
|
117
|
+
this.onBlur = new EventEmitter();
|
|
118
|
+
this.onClick = new EventEmitter();
|
|
119
|
+
this.onShow = new EventEmitter();
|
|
120
|
+
this.onHide = new EventEmitter();
|
|
121
|
+
this.onClear = new EventEmitter();
|
|
122
|
+
this.onLazyLoad = new EventEmitter();
|
|
123
|
+
}
|
|
124
|
+
get label() {
|
|
125
|
+
return this._label;
|
|
126
|
+
}
|
|
127
|
+
set label(val) {
|
|
128
|
+
this._label = val;
|
|
129
|
+
}
|
|
130
|
+
get labelText() {
|
|
131
|
+
return (this.selectedOption ? this.selectedOption.label : null);
|
|
132
|
+
}
|
|
133
|
+
get itemSize() {
|
|
134
|
+
return this._itemSize;
|
|
135
|
+
}
|
|
136
|
+
set itemSize(val) {
|
|
137
|
+
this._itemSize = val;
|
|
138
|
+
console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');
|
|
139
|
+
}
|
|
140
|
+
get autoZIndex() {
|
|
141
|
+
return this._autoZIndex;
|
|
142
|
+
}
|
|
143
|
+
set autoZIndex(val) {
|
|
144
|
+
this._autoZIndex = val;
|
|
145
|
+
console.warn('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
|
|
146
|
+
}
|
|
147
|
+
get baseZIndex() {
|
|
148
|
+
return this._baseZIndex;
|
|
149
|
+
}
|
|
150
|
+
set baseZIndex(val) {
|
|
151
|
+
this._baseZIndex = val;
|
|
152
|
+
console.warn('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');
|
|
153
|
+
}
|
|
154
|
+
get showTransitionOptions() {
|
|
155
|
+
return this._showTransitionOptions;
|
|
156
|
+
}
|
|
157
|
+
set showTransitionOptions(val) {
|
|
158
|
+
this._showTransitionOptions = val;
|
|
159
|
+
console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
|
|
160
|
+
}
|
|
161
|
+
get hideTransitionOptions() {
|
|
162
|
+
return this._hideTransitionOptions;
|
|
163
|
+
}
|
|
164
|
+
set hideTransitionOptions(val) {
|
|
165
|
+
this._hideTransitionOptions = val;
|
|
166
|
+
console.warn('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
+
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownComponent, selector: "in-dropdown", inputs: { label: "label", error: "error", scrollHeight: "scrollHeight", filter: "filter", name: "name", style: "style", panelStyle: "panelStyle", styleClass: "styleClass", panelStyleClass: "panelStyleClass", readonly: "readonly", required: "required", editable: "editable", appendTo: "appendTo", tabindex: "tabindex", placeholder: "placeholder", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", inputId: "inputId", selectId: "selectId", dataKey: "dataKey", filterBy: "filterBy", autofocus: "autofocus", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", autoDisplayFirst: "autoDisplayFirst", group: "group", showClear: "showClear", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", overlayDirection: "overlayDirection", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [DROPDOWN_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Scroller, selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: i7.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: DropdownItem, selector: "p-dropdownItem", inputs: ["option", "selected", "label", "disabled", "visible", "itemSize", "template"], outputs: ["onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
172
|
+
type: Component,
|
|
173
|
+
args: [{ selector: 'in-dropdown', host: {
|
|
174
|
+
class: 'p-element p-inputwrapper',
|
|
175
|
+
'[class.p-inputwrapper-filled]': 'filled',
|
|
176
|
+
'[class.p-inputwrapper-focus]': 'focused || overlayVisible'
|
|
177
|
+
}, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<div\n #container\n [ngClass]=\"{ 'p-dropdown p-component': true, 'p-disabled': disabled, 'p-dropdown-open': overlayVisible, 'p-focus': focused, 'p-dropdown-clearable': showClear && !disabled }\"\n (click)=\"onMouseclick($event)\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n>\n <div class=\"p-hidden-accessible\">\n <input\n #in\n [attr.id]=\"inputId\"\n type=\"text\"\n readonly\n (focus)=\"onInputFocus($event)\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-expanded]=\"false\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabindex\"\n pAutoFocus\n [autofocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"overlayVisible ? labelId : null\"\n role=\"combobox\"\n />\n </div>\n <span\n [attr.id]=\"labelId\"\n [ngClass]=\"{ 'p-dropdown-label p-inputtext': true, 'p-dropdown-label-empty': label == null || label.length === 0 }\"\n *ngIf=\"!editable && label != null\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate\">{{ label || 'empty' }}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: { $implicit: selectedOption }\"></ng-container>\n </span>\n <span [ngClass]=\"{ 'p-dropdown-label p-inputtext p-placeholder': true, 'p-dropdown-label-empty': placeholder == null || placeholder.length === 0 }\" *ngIf=\"!editable && label == null\">{{ placeholder || 'empty' }}</span>\n <input\n #editableInput\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n class=\"p-dropdown-label p-inputtext\"\n *ngIf=\"editable\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"overlayVisible\"\n (input)=\"onEditableInputChange($event)\"\n (focus)=\"onEditableInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"isVisibleClearIcon\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template pTemplate=\"content\">\n <div [ngClass]=\"'p-dropdown-panel p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <div class=\"p-dropdown-filter-container\">\n <input\n #filter\n type=\"text\"\n autocomplete=\"off\"\n [value]=\"filterValue || ''\"\n class=\"p-dropdown-filter p-inputtext p-component\"\n [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keydown)=\"onKeydown($event, false)\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\"\n />\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"optionsToDisplay\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template pTemplate=\"content\" let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template pTemplate=\"loader\" let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: optionsToDisplay, options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"items\">\n <li class=\"p-dropdown-item-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(optgroup) || 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: optgroup }\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: { $implicit: items, selectedOption: selectedOption }\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem\n [option]=\"option\"\n [selected]=\"selectedOption == option\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"\n ></p-dropdownItem>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate\">\n {{ emptyFilterMessageLabel }}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\">\n <ng-container *ngIf=\"!emptyTemplate\">\n {{ emptyMessageLabel }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </ng-template>\n </p-overlay>\n</div>\n" }]
|
|
178
|
+
}], propDecorators: { label: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], error: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], scrollHeight: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], filter: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], name: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], style: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], panelStyle: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], styleClass: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], panelStyleClass: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], readonly: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], required: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], editable: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], appendTo: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], tabindex: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], placeholder: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], filterPlaceholder: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], filterLocale: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}], inputId: [{
|
|
213
|
+
type: Input
|
|
214
|
+
}], selectId: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], dataKey: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], filterBy: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], autofocus: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], resetFilterOnHide: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], dropdownIcon: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], optionLabel: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], optionValue: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], optionDisabled: [{
|
|
231
|
+
type: Input
|
|
232
|
+
}], optionGroupLabel: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], optionGroupChildren: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], autoDisplayFirst: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], group: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], showClear: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], emptyFilterMessage: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], emptyMessage: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], lazy: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], virtualScroll: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], virtualScrollItemSize: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], virtualScrollOptions: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], overlayOptions: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], ariaFilterLabel: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], ariaLabel: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], ariaLabelledBy: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], filterMatchMode: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], maxlength: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], tooltip: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], tooltipPosition: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], tooltipPositionStyle: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], tooltipStyleClass: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], autofocusFilter: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], overlayDirection: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], onChange: [{
|
|
279
|
+
type: Output
|
|
280
|
+
}], onFilter: [{
|
|
281
|
+
type: Output
|
|
282
|
+
}], onFocus: [{
|
|
283
|
+
type: Output
|
|
284
|
+
}], onBlur: [{
|
|
285
|
+
type: Output
|
|
286
|
+
}], onClick: [{
|
|
287
|
+
type: Output
|
|
288
|
+
}], onShow: [{
|
|
289
|
+
type: Output
|
|
290
|
+
}], onHide: [{
|
|
291
|
+
type: Output
|
|
292
|
+
}], onClear: [{
|
|
293
|
+
type: Output
|
|
294
|
+
}], onLazyLoad: [{
|
|
295
|
+
type: Output
|
|
296
|
+
}], itemSize: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], autoZIndex: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], baseZIndex: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], showTransitionOptions: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], hideTransitionOptions: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}] } });
|
|
307
|
+
export class DropdownComponentModule {
|
|
308
|
+
}
|
|
309
|
+
DropdownComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
310
|
+
DropdownComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, declarations: [DropdownComponent, DropdownItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule], exports: [DropdownComponent, OverlayModule, SharedModule, ScrollerModule] });
|
|
311
|
+
DropdownComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule, OverlayModule, SharedModule, ScrollerModule] });
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownComponentModule, decorators: [{
|
|
313
|
+
type: NgModule,
|
|
314
|
+
args: [{
|
|
315
|
+
declarations: [
|
|
316
|
+
DropdownComponent,
|
|
317
|
+
DropdownItem,
|
|
318
|
+
],
|
|
319
|
+
imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, AutoFocusModule, TranslateModule],
|
|
320
|
+
exports: [
|
|
321
|
+
DropdownComponent, OverlayModule, SharedModule, ScrollerModule
|
|
322
|
+
],
|
|
323
|
+
entryComponents: [
|
|
324
|
+
DropdownComponent,
|
|
325
|
+
]
|
|
326
|
+
}]
|
|
327
|
+
}] });
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBVSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUE0QyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDcEYsT0FBTyxFQUFXLGNBQWMsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFFbEQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQVE7SUFDMUMsT0FBTyxFQUFF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QUFlLEVBQUUsZUFBZSxhQXhNdkgsaUJBQWlCLEVBME1QLGFBQWEsRUFBRSxZQUFZLEVBQUUsY0FBYztxSEFNckQsdUJBQXVCLFlBUnhCLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBRTdHLGFBQWEsRUFBRSxZQUFZLEVBQUUsY0FBYzsyRkFNckQsdUJBQXVCO2tCQWJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztvQkFDbkksT0FBTyxFQUFFO3dCQUNQLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsY0FBYztxQkFDL0Q7b0JBQ0QsZUFBZSxFQUFFO3dCQUNmLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ01vZHVsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgVmlld1JlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge092ZXJsYXksIE92ZXJsYXlNb2R1bGV9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RHJvcGRvd259IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHtUb29sdGlwTW9kdWxlfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHtPdmVybGF5T3B0aW9ucywgUHJpbWVUZW1wbGF0ZSwgU2VsZWN0SXRlbSwgU2hhcmVkTW9kdWxlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge1Njcm9sbGVyLCBTY3JvbGxlck1vZHVsZSwgU2Nyb2xsZXJPcHRpb25zfSBmcm9tICdwcmltZW5nL3Njcm9sbGVyJztcbmltcG9ydCB7UmlwcGxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQge0F1dG9Gb2N1c01vZHVsZX0gZnJvbSAncHJpbWVuZy9hdXRvZm9jdXMnO1xuXG5leHBvcnQgY29uc3QgRFJPUERPV05fVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERyb3Bkb3duKSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJvcGRvd25JdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGlcbiAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudClcIlxuICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICBwUmlwcGxlXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGl0ZW1TaXplICsgJ3B4JyB9XCJcbiAgICAgIFtpZF09XCJzZWxlY3RlZCA/ICdwLWhpZ2hsaWdodGVkLW9wdGlvbicgOiAnJ1wiXG4gICAgICBbbmdDbGFzc109XCJ7ICdwLWRyb3Bkb3duLWl0ZW0nOiB0cnVlLCAncC1oaWdobGlnaHQnOiBzZWxlY3RlZCwgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cIiF0ZW1wbGF0ZVwiPnt7IGxhYmVsIHx8ICdlbXB0eScgfX08L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25JdGVtIHtcbiAgQElucHV0KCkgb3B0aW9uOiBTZWxlY3RJdGVtO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdmlzaWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBpdGVtU2l6ZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvbk9wdGlvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHtcbiAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgb3B0aW9uOiB0aGlzLm9wdGlvblxuICAgIH0pO1xuICB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW4tZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdwLWVsZW1lbnQgcC1pbnB1dHdyYXBwZXInLFxuICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQgfHwgb3ZlcmxheVZpc2libGUnXG4gIH0sXG4gIHByb3ZpZGVyczogW0RST1BET1dOX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIERyb3Bkb3duIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIC8qKlxuICAgKiDQndCw0Ygg0LrQvtC0XG4gICAqL1xuXG4gIF9sYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuXG4gIHNldCBsYWJlbCh2YWwpIHtcbiAgICB0aGlzLl9sYWJlbCA9IHZhbDtcbiAgfVxuXG4gIEBJbnB1dCgpIGVycm9yID0gbnVsbDtcblxuICBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkT3B0aW9uID8gdGhpcy5zZWxlY3RlZE9wdGlvbi5sYWJlbCA6IG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqINC60L7QtCBQcmltZU5HXG4gICAqL1xuXG4gIEBJbnB1dCgpIHNjcm9sbEhlaWdodDogc3RyaW5nID0gJzIwMHB4JztcblxuICBASW5wdXQoKSBmaWx0ZXI6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgQElucHV0KCkgcGFuZWxTdHlsZTogYW55O1xuXG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKSBwYW5lbFN0eWxlQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcblxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBhcHBlbmRUbzogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKSBmaWx0ZXJQbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGZpbHRlckxvY2FsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZztcblxuICBASW5wdXQoKSBzZWxlY3RJZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGRhdGFLZXk6IHN0cmluZztcblxuICBASW5wdXQoKSBmaWx0ZXJCeTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbjtcblxuICBASW5wdXQoKSByZXNldEZpbHRlck9uSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRyb3Bkb3duSWNvbjogc3RyaW5nID0gJ3BpIHBpLWNoZXZyb24tZG93bic7XG5cbiAgQElucHV0KCkgb3B0aW9uTGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKSBvcHRpb25WYWx1ZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG9wdGlvbkRpc2FibGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgb3B0aW9uR3JvdXBMYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwQ2hpbGRyZW46IHN0cmluZyA9ICdpdGVtcyc7XG5cbiAgQElucHV0KCkgYXV0b0Rpc3BsYXlGaXJzdDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgZ3JvdXA6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2hvd0NsZWFyOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGVtcHR5RmlsdGVyTWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBsYXp5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbDogYm9vbGVhbjtcblxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsSXRlbVNpemU6IG51bWJlcjtcblxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsT3B0aW9uczogU2Nyb2xsZXJPcHRpb25zO1xuXG4gIEBJbnB1dCgpIG92ZXJsYXlPcHRpb25zOiBPdmVybGF5T3B0aW9ucztcblxuICBASW5wdXQoKSBhcmlhRmlsdGVyTGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGZpbHRlck1hdGNoTW9kZTogc3RyaW5nID0gJ2NvbnRhaW5zJztcblxuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IHN0cmluZyA9ICdyaWdodCc7XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uU3R5bGU6IHN0cmluZyA9ICdhYnNvbHV0ZSc7XG5cbiAgQElucHV0KCkgdG9vbHRpcFN0eWxlQ2xhc3M6IHN0cmluZztcblxuICBASW5wdXQoKSBhdXRvZm9jdXNGaWx0ZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIG92ZXJsYXlEaXJlY3Rpb246IHN0cmluZyA9ICdlbmQnO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uRmlsdGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkhpZGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyogQGRlcHJlY2F0ZWQgKi9cbiAgX2l0ZW1TaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIGdldCBpdGVtU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9pdGVtU2l6ZTtcbiAgfVxuICBzZXQgaXRlbVNpemUodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl9pdGVtU2l6ZSA9IHZhbDtcbiAgICBjb25zb2xlLndhcm4oJ1RoZSBpdGVtU2l6ZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLCB1c2UgdmlydHVhbFNjcm9sbEl0ZW1TaXplIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gIH1cblxuICAvKiBAZGVwcmVjYXRlZCAqL1xuICBfYXV0b1pJbmRleDogYm9vbGVhbjtcbiAgQElucHV0KCkgZ2V0IGF1dG9aSW5kZXgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9aSW5kZXg7XG4gIH1cbiAgc2V0IGF1dG9aSW5kZXgodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYXV0b1pJbmRleCA9IHZhbDtcbiAgICBjb25zb2xlLndhcm4oJ1RoZSBhdXRvWkluZGV4IHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgc2luY2UgdjE0LjIuMCwgdXNlIG92ZXJsYXlPcHRpb25zIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gIH1cblxuICAvKiBAZGVwcmVjYXRlZCAqL1xuICBfYmFzZVpJbmRleDogbnVtYmVyO1xuICBASW5wdXQoKSBnZXQgYmFzZVpJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9iYXNlWkluZGV4O1xuICB9XG4gIHNldCBiYXNlWkluZGV4KHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fYmFzZVpJbmRleCA9IHZhbDtcbiAgICBjb25zb2xlLndhcm4oJ1RoZSBiYXNlWkluZGV4IHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgc2luY2UgdjE0LjIuMCwgdXNlIG92ZXJsYXlPcHRpb25zIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gIH1cblxuICAvKiBAZGVwcmVjYXRlZCAqL1xuICBfc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdldCBzaG93VHJhbnNpdGlvbk9wdGlvbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd1RyYW5zaXRpb25PcHRpb25zO1xuICB9XG4gIHNldCBzaG93VHJhbnNpdGlvbk9wdGlvbnModmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaG93VHJhbnNpdGlvbk9wdGlvbnMgPSB2YWw7XG4gICAgY29uc29sZS53YXJuKCdUaGUgc2hvd1RyYW5zaXRpb25PcHRpb25zIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgc2luY2UgdjE0LjIuMCwgdXNlIG92ZXJsYXlPcHRpb25zIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gIH1cblxuICAvKiBAZGVwcmVjYXRlZCAqL1xuICBfaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdldCBoaWRlVHJhbnNpdGlvbk9wdGlvbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZVRyYW5zaXRpb25PcHRpb25zO1xuICB9XG4gIHNldCBoaWRlVHJhbnNpdGlvbk9wdGlvbnModmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9oaWRlVHJhbnNpdGlvbk9wdGlvbnMgPSB2YWw7XG4gICAgY29uc29sZS53YXJuKCdUaGUgaGlkZVRyYW5zaXRpb25PcHRpb25zIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgc2luY2UgdjE0LjIuMCwgdXNlIG92ZXJsYXlPcHRpb25zIHByb3BlcnR5IGluc3RlYWQuJyk7XG4gIH1cblxuICBvdmVybGF5VmlzaWJsZTogYm9vbGVhbjtcblxuICAvLyBlbXB0eUZpbHRlciA9ICcnO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBEcm9wZG93bkl0ZW0sXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFNoYXJlZE1vZHVsZSwgVG9vbHRpcE1vZHVsZSwgUmlwcGxlTW9kdWxlLCBTY3JvbGxlck1vZHVsZSwgQXV0b0ZvY3VzTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgRHJvcGRvd25Db21wb25lbnQsIE92ZXJsYXlNb2R1bGUsIFNoYXJlZE1vZHVsZSwgU2Nyb2xsZXJNb2R1bGVcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgRHJvcGRvd25Db21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnRNb2R1bGUge1xufVxuIiwiPHNwYW4gKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiYy1sYWJlbF9fY29udGVudFwiPlxuICAgICAgICB7e2xhYmVsfX1cbiAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwiYy1sYWJlbF9fcmVxXCI+Kjwvc3Bhbj5cbjxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImMtbGFiZWxfX3N1Yl9pcy1lcnJvclwiPnt7ZXJyb3J9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG48ZGl2XG4gICNjb250YWluZXJcbiAgW25nQ2xhc3NdPVwieyAncC1kcm9wZG93biBwLWNvbXBvbmVudCc6IHRydWUsICdwLWRpc2FibGVkJzogZGlzYWJsZWQsICdwLWRyb3Bkb3duLW9wZW4nOiBvdmVybGF5VmlzaWJsZSwgJ3AtZm9jdXMnOiBmb2N1c2VkLCAncC1kcm9wZG93bi1jbGVhcmFibGUnOiBzaG93Q2xlYXIgJiYgIWRpc2FibGVkIH1cIlxuICAoY2xpY2spPVwib25Nb3VzZWNsaWNrKCRldmVudClcIlxuICBbbmdTdHlsZV09XCJzdHlsZVwiXG4gIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbj5cbiAgPGRpdiBjbGFzcz1cInAtaGlkZGVuLWFjY2Vzc2libGVcIj5cbiAgICA8aW5wdXRcbiAgICAgICNpblxuICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByZWFkb25seVxuICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZmFsc2VcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCwgdHJ1ZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgIHBBdXRvRm9jdXNcbiAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJvdmVybGF5VmlzaWJsZSA/IGxhYmVsSWQgOiBudWxsXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxzcGFuXG4gICAgW2F0dHIuaWRdPVwibGFiZWxJZFwiXG4gICAgW25nQ2xhc3NdPVwieyAncC1kcm9wZG93bi1sYWJlbCBwLWlucHV0dGV4dCc6IHRydWUsICdwLWRyb3Bkb3duLWxhYmVsLWVtcHR5JzogbGFiZWwgPT0gbnVsbCB8fCBsYWJlbC5sZW5ndGggPT09IDAgfVwiXG4gICAgKm5nSWY9XCIhZWRpdGFibGUgJiYgbGFiZWwgIT0gbnVsbFwiXG4gICAgW3BUb29sdGlwXT1cInRvb2x0aXBcIlxuICAgIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICBbcG9zaXRpb25TdHlsZV09XCJ0b29sdGlwUG9zaXRpb25TdHlsZVwiXG4gICAgW3Rvb2x0aXBTdHlsZUNsYXNzXT1cInRvb2x0aXBTdHlsZUNsYXNzXCJcbiAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtVGVtcGxhdGVcIj57eyBsYWJlbCB8fCAnZW1wdHknIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdGVkSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VsZWN0ZWRPcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICA8c3BhbiBbbmdDbGFzc109XCJ7ICdwLWRyb3Bkb3duLWxhYmVsIHAtaW5wdXR0ZXh0IHAtcGxhY2Vob2xkZXInOiB0cnVlLCAncC1kcm9wZG93bi1sYWJlbC1lbXB0eSc6IHBsYWNlaG9sZGVyID09IG51bGwgfHwgcGxhY2Vob2xkZXIubGVuZ3RoID09PSAwIH1cIiAqbmdJZj1cIiFlZGl0YWJsZSAmJiBsYWJlbCA9PSBudWxsXCI+e3sgcGxhY2Vob2xkZXIgfHwgJ2VtcHR5JyB9fTwvc3Bhbj5cbiAgPGlucHV0XG4gICAgI2VkaXRhYmxlSW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgY2xhc3M9XCJwLWRyb3Bkb3duLWxhYmVsIHAtaW5wdXR0ZXh0XCJcbiAgICAqbmdJZj1cImVkaXRhYmxlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiXG4gICAgKGlucHV0KT1cIm9uRWRpdGFibGVJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25FZGl0YWJsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gIC8+XG4gIDxpIGNsYXNzPVwicC1kcm9wZG93bi1jbGVhci1pY29uIHBpIHBpLXRpbWVzXCIgKGNsaWNrKT1cImNsZWFyKCRldmVudClcIiAqbmdJZj1cImlzVmlzaWJsZUNsZWFySWNvblwiPjwvaT5cbiAgPGRpdiBjbGFzcz1cInAtZHJvcGRvd24tdHJpZ2dlclwiIHJvbGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiZHJvcGRvd24gdHJpZ2dlclwiIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvdmVybGF5VmlzaWJsZVwiPlxuICAgIDxzcGFuIGNsYXNzPVwicC1kcm9wZG93bi10cmlnZ2VyLWljb25cIiBbbmdDbGFzc109XCJkcm9wZG93bkljb25cIj48L3NwYW4+XG4gIDwvZGl2PlxuICA8cC1vdmVybGF5XG4gICAgI292ZXJsYXlcbiAgICBbKHZpc2libGUpXT1cIm92ZXJsYXlWaXNpYmxlXCJcbiAgICBbb3B0aW9uc109XCJvdmVybGF5T3B0aW9uc1wiXG4gICAgW3RhcmdldF09XCInQHBhcmVudCdcIlxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXG4gICAgW2F1dG9aSW5kZXhdPVwiYXV0b1pJbmRleFwiXG4gICAgW2Jhc2VaSW5kZXhdPVwiYmFzZVpJbmRleFwiXG4gICAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCJzaG93VHJhbnNpdGlvbk9wdGlvbnNcIlxuICAgIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiaGlkZVRyYW5zaXRpb25PcHRpb25zXCJcbiAgICAob25BbmltYXRpb25TdGFydCk9XCJvbk92ZXJsYXlBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAob25IaWRlKT1cImhpZGUoKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCIncC1kcm9wZG93bi1wYW5lbCBwLWNvbXBvbmVudCdcIiBbbmdTdHlsZV09XCJwYW5lbFN0eWxlXCIgW2NsYXNzXT1cInBhbmVsU3R5bGVDbGFzc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZHJvcGRvd24taGVhZGVyXCIgKm5nSWY9XCJmaWx0ZXJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlclRlbXBsYXRlOyBlbHNlIGJ1aWx0SW5GaWx0ZXJFbGVtZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgb3B0aW9uczogZmlsdGVyT3B0aW9ucyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNidWlsdEluRmlsdGVyRWxlbWVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRyb3Bkb3duLWZpbHRlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI2ZpbHRlclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJWYWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWRyb3Bkb3duLWZpbHRlciBwLWlucHV0dGV4dCBwLWNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZmlsdGVyUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50LCBmYWxzZSlcIlxuICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbkZpbHRlcklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwib3ZlcmxheVZpc2libGUgPyAncC1oaWdobGlnaHRlZC1vcHRpb24nIDogbGFiZWxJZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1kcm9wZG93bi1maWx0ZXItaWNvbiBwaSBwaS1zZWFyY2hcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZHJvcGRvd24taXRlbXMtd3JhcHBlclwiIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInZpcnR1YWxTY3JvbGwgPyAnYXV0bycgOiBzY3JvbGxIZWlnaHQgfHwgJ2F1dG8nXCI+XG4gICAgICAgICAgPHAtc2Nyb2xsZXJcbiAgICAgICAgICAgICpuZ0lmPVwidmlydHVhbFNjcm9sbFwiXG4gICAgICAgICAgICAjc2Nyb2xsZXJcbiAgICAgICAgICAgIFtpdGVtc109XCJvcHRpb25zVG9EaXNwbGF5XCJcbiAgICAgICAgICAgIFtzdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsSGVpZ2h0IH1cIlxuICAgICAgICAgICAgW2l0ZW1TaXplXT1cInZpcnR1YWxTY3JvbGxJdGVtU2l6ZSB8fCBfaXRlbVNpemVcIlxuICAgICAgICAgICAgW2F1dG9TaXplXT1cInRydWVcIlxuICAgICAgICAgICAgW2xhenldPVwibGF6eVwiXG4gICAgICAgICAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJ2aXJ0dWFsU2Nyb2xsT3B0aW9uc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtaXRlbXMgbGV0LXNjcm9sbGVyT3B0aW9ucz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1aWxkSW5JdGVtczsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW1zLCBvcHRpb25zOiBzY3JvbGxlck9wdGlvbnMgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwibG9hZGVyXCIgbGV0LXNjcm9sbGVyT3B0aW9ucz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgb3B0aW9uczogc2Nyb2xsZXJPcHRpb25zIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvcC1zY3JvbGxlcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXZpcnR1YWxTY3JvbGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidWlsZEluSXRlbXM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb25zVG9EaXNwbGF5LCBvcHRpb25zOiB7fSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2J1aWxkSW5JdGVtcyBsZXQtaXRlbXMgbGV0LXNjcm9sbGVyT3B0aW9ucz1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgIDx1bCAjaXRlbXMgW2F0dHIuaWRdPVwibGlzdElkXCIgY2xhc3M9XCJwLWRyb3Bkb3duLWl0ZW1zXCIgW25nQ2xhc3NdPVwic2Nyb2xsZXJPcHRpb25zLmNvbnRlbnRTdHlsZUNsYXNzXCIgW3N0eWxlXT1cInNjcm9sbGVyT3B0aW9ucy5jb250ZW50U3R5bGVcIiByb2xlPVwibGlzdGJveFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LW9wdGdyb3VwIFtuZ0Zvck9mXT1cIml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwLWRyb3Bkb3duLWl0ZW0tZ3JvdXBcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsZXJPcHRpb25zLml0ZW1TaXplICsgJ3B4JyB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWdyb3VwVGVtcGxhdGVcIj57eyBnZXRPcHRpb25Hcm91cExhYmVsKG9wdGdyb3VwKSB8fCAnZW1wdHknIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ3JvdXBUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGdyb3VwIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNsaXN0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZ2V0T3B0aW9uR3JvdXBDaGlsZHJlbihvcHRncm91cCksIHNlbGVjdGVkT3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNsaXN0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbXMsIHNlbGVjdGVkT3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1zbGlzdCBsZXQtb3B0aW9ucyBsZXQtc2VsZWN0ZWRPcHRpb249XCJzZWxlY3RlZE9wdGlvblwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtb3B0aW9uIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJvcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRPcHRpb24gPT0gb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImdldE9wdGlvbkxhYmVsKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNPcHRpb25EaXNhYmxlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgPjwvcC1kcm9wZG93bkl0ZW0+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiZmlsdGVyVmFsdWUgJiYgaXNFbXB0eSgpXCIgY2xhc3M9XCJwLWRyb3Bkb3duLWVtcHR5LW1lc3NhZ2VcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogc2Nyb2xsZXJPcHRpb25zLml0ZW1TaXplICsgJ3B4JyB9XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlbXB0eUZpbHRlclRlbXBsYXRlICYmICFlbXB0eVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICB7eyBlbXB0eUZpbHRlck1lc3NhZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2VtcHR5RmlsdGVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlGaWx0ZXJUZW1wbGF0ZSB8fCBlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJWYWx1ZSAmJiBpc0VtcHR5KClcIiBjbGFzcz1cInAtZHJvcGRvd24tZW1wdHktbWVzc2FnZVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBzY3JvbGxlck9wdGlvbnMuaXRlbVNpemUgKyAncHgnIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVtcHR5VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGVtcHR5TWVzc2FnZUxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjZW1wdHkgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC1vdmVybGF5PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ngx-translate/core";
|
|
4
|
+
export class EmptyComponent {
|
|
5
|
+
}
|
|
6
|
+
EmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
EmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: EmptyComponent, selector: "in-empty", ngImport: i0, template: "<div class=\"status-text\">\n {{'no_records' | translate}}\n</div>\n", styles: [".status-text{font-size:16px;opacity:.8}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmptyComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'in-empty', template: "<div class=\"status-text\">\n {{'no_records' | translate}}\n</div>\n", styles: [".status-text{font-size:16px;opacity:.8}\n"] }]
|
|
11
|
+
}] });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL2VtcHR5L2VtcHR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9lbXB0eS9lbXB0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFReEMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7K0ZBQWQsY0FBYyxnRENSM0IsdUVBR0E7MkZES2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luLWVtcHR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VtcHR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW1wdHkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge1xuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGF0dXMtdGV4dFwiPlxuICB7eydub19yZWNvcmRzJyB8IHRyYW5zbGF0ZX19XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../button/button.component";
|
|
5
|
+
import * as i3 from "@ngx-translate/core";
|
|
6
|
+
export class FileComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.name = null;
|
|
9
|
+
this.label = null;
|
|
10
|
+
this.accept = null;
|
|
11
|
+
this.required = false;
|
|
12
|
+
this.error = null;
|
|
13
|
+
this.onChange = new EventEmitter();
|
|
14
|
+
this.file = null;
|
|
15
|
+
}
|
|
16
|
+
onClear() {
|
|
17
|
+
this.file = null;
|
|
18
|
+
this.onChange.emit(this.file);
|
|
19
|
+
this.el.nativeElement.value = '';
|
|
20
|
+
}
|
|
21
|
+
onClickChoose() {
|
|
22
|
+
this.el.nativeElement.click();
|
|
23
|
+
}
|
|
24
|
+
onChangeFile(e) {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
if (e.srcElement.files[0]) {
|
|
27
|
+
this.file = e.srcElement.files[0];
|
|
28
|
+
this.onChange.emit(this.file);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
FileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
FileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FileComponent, selector: "in-file", inputs: { name: "name", label: "label", accept: "accept", required: "required", error: "error" }, outputs: { onChange: "onChange" }, viewQueries: [{ propertyName: "el", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\n\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\n", styles: [".hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "in-button", inputs: ["size", "color", "type", "name", "testId", "label", "icon", "className", "notify", "svg", "width", "link", "isLoading", "shadow", "isIconOnly", "linkType", "linkTarget", "pressed", "disabled", "iconPos", "selectedItem", "menuPlacement", "menuItems"], outputs: ["focus", "blur", "click"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'in-file', template: "<span *ngIf=\"label\" class=\"c-label__content\">\n {{label}}\n <span *ngIf=\"required\" class=\"c-label__req\">*</span>\n<span *ngIf=\"error\" class=\"c-label__sub_is-error\">{{error}}</span>\n </span>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"file\" [label]=\"file.name\"></in-button>\n<in-button (click)=\"onClear()\" *ngIf=\"file\" label=\"X\"></in-button>\n<in-button (click)=\"onClickChoose()\" *ngIf=\"!file\" [label]=\"'Select file' | translate\"></in-button>\n\n<div class=\"hide\"><input #fileInput (change)=\"onChangeFile($event)\" [accept]=\"accept\" type=\"file\"/></div>\n", styles: [".hide{display:none}\n"] }]
|
|
37
|
+
}], propDecorators: { name: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], label: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], accept: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], required: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], error: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], onChange: [{
|
|
48
|
+
type: Output
|
|
49
|
+
}], el: [{
|
|
50
|
+
type: ViewChild,
|
|
51
|
+
args: ['fileInput', { static: false }]
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnNwYXJrLWNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvZmlsZS9maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9maWxlL2ZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQU81RixNQUFNLE9BQU8sYUFBYTtJQUwxQjtRQU9XLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDWixhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLM0QsU0FBSSxHQUFTLElBQUksQ0FBQztLQW9CbkI7SUFsQkMsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFDO1FBQ1osQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDOzswR0E5QlUsYUFBYTs4RkFBYixhQUFhLHFSQ1AxQiw2bEJBVUE7MkZESGEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxTQUFTOzhCQU1WLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBR2tDLEVBQUU7c0JBQTFDLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBuYW1lID0gbnVsbDtcbiAgQElucHV0KCkgbGFiZWwgPSBudWxsO1xuICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yID0gbnVsbDtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHtzdGF0aWM6IGZhbHNlfSkgZWw6IEVsZW1lbnRSZWY7XG5cbiAgZmlsZTogRmlsZSA9IG51bGw7XG5cbiAgb25DbGVhcigpIHtcbiAgICB0aGlzLmZpbGUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmZpbGUpO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG5cbiAgb25DbGlja0Nob29zZSgpIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIG9uQ2hhbmdlRmlsZShlKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChlLnNyY0VsZW1lbnQuZmlsZXNbMF0pIHtcbiAgICAgIHRoaXMuZmlsZSA9IGUuc3JjRWxlbWVudC5maWxlc1swXTtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmZpbGUpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8c3BhbiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJjLWxhYmVsX19jb250ZW50XCI+XG4gICAgICAgIHt7bGFiZWx9fVxuICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJjLWxhYmVsX19yZXFcIj4qPC9zcGFuPlxuPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiYy1sYWJlbF9fc3ViX2lzLWVycm9yXCI+e3tlcnJvcn19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbjxpbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xpY2tDaG9vc2UoKVwiICpuZ0lmPVwiZmlsZVwiIFtsYWJlbF09XCJmaWxlLm5hbWVcIj48L2luLWJ1dHRvbj5cbjxpbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xlYXIoKVwiICpuZ0lmPVwiZmlsZVwiIGxhYmVsPVwiWFwiPjwvaW4tYnV0dG9uPlxuPGluLWJ1dHRvbiAoY2xpY2spPVwib25DbGlja0Nob29zZSgpXCIgKm5nSWY9XCIhZmlsZVwiIFtsYWJlbF09XCInU2VsZWN0IGZpbGUnIHwgdHJhbnNsYXRlXCI+PC9pbi1idXR0b24+XG5cbjxkaXYgY2xhc3M9XCJoaWRlXCI+PGlucHV0ICNmaWxlSW5wdXQgKGNoYW5nZSk9XCJvbkNoYW5nZUZpbGUoJGV2ZW50KVwiIFthY2NlcHRdPVwiYWNjZXB0XCIgdHlwZT1cImZpbGVcIi8+PC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class InsparkHeaderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.level = 1;
|
|
7
|
+
this.label = '';
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
this.level = Math.max(Math.min(this.level, 6), 1);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
InsparkHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
InsparkHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InsparkHeaderComponent, selector: "in-header", inputs: { level: "level", label: "label" }, ngImport: i0, template: "<div [ngClass]=\"{h1: level === 1, h2: level === 2, h3: level === 3, h4: level === 4, h5: level === 5, h6:level === 6}\"\n class=\"header u-margin-bottom-tiny u-margin-top-small\">\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\n {{label}}\n </div>\n <div class=\"buttons\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".header{display:flex;align-items:center}.header h1,.header h2,.header h3,.header h5,.header h6{display:inline-block;margin:0;color:var(--colorText)}.header h1{font-size:24px}.header .buttons{margin-left:8px;display:flex;align-items:center}.header__wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InsparkHeaderComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'in-header', encapsulation: ViewEncapsulation.Emulated, template: "<div [ngClass]=\"{h1: level === 1, h2: level === 2, h3: level === 3, h4: level === 4, h5: level === 5, h6:level === 6}\"\n class=\"header u-margin-bottom-tiny u-margin-top-small\">\n <div *ngIf=\"level === 1\" [title]=\"label\" class=\"u-h1 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 2\" [title]=\"label\" class=\"u-h2 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 3\" [title]=\"label\" class=\"u-h3 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 4\" [title]=\"label\" class=\"u-h4 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 5\" [title]=\"label\" class=\"u-h5 header__wrapper\">\n {{label}}\n </div>\n <div *ngIf=\"level === 6\" [title]=\"label\" class=\"u-h6 header__wrapper\">\n {{label}}\n </div>\n <div class=\"buttons\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".header{display:flex;align-items:center}.header h1,.header h2,.header h3,.header h5,.header h6{display:inline-block;margin:0;color:var(--colorText)}.header h1{font-size:24px}.header .buttons{margin-left:8px;display:flex;align-items:center}.header__wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
18
|
+
}], ctorParameters: function () { return []; }, propDecorators: { level: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], label: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQztRQUhTLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixVQUFLLEdBQUcsRUFBRSxDQUFDO0lBR3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOzttSEFWVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw2RkNSbkMsODNCQXdCQTsyRkRoQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLFdBQVcsaUJBR04saUJBQWlCLENBQUMsUUFBUTswRUFJaEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2luLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgSW5zcGFya0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgbGV2ZWwgPSAxO1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sZXZlbCA9IE1hdGgubWF4KE1hdGgubWluKHRoaXMubGV2ZWwsIDYpLCAxKTtcbiAgfVxuXG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIntoMTogbGV2ZWwgPT09IDEsIGgyOiBsZXZlbCA9PT0gMiwgaDM6IGxldmVsID09PSAzLCBoNDogbGV2ZWwgPT09IDQsIGg1OiBsZXZlbCA9PT0gNSwgaDY6bGV2ZWwgPT09IDZ9XCJcbiAgICAgY2xhc3M9XCJoZWFkZXIgdS1tYXJnaW4tYm90dG9tLXRpbnkgdS1tYXJnaW4tdG9wLXNtYWxsXCI+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gMVwiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oMSBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gMlwiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oMiBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gM1wiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oMyBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gNFwiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oNCBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gNVwiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oNSBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJsZXZlbCA9PT0gNlwiIFt0aXRsZV09XCJsYWJlbFwiIGNsYXNzPVwidS1oNiBoZWFkZXJfX3dyYXBwZXJcIj5cbiAgICB7e2xhYmVsfX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class InlineMessageComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.message = '';
|
|
7
|
+
this.align = 'center';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
InlineMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
InlineMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: InlineMessageComponent, selector: "in-inline-message", inputs: { message: "message", align: "align" }, ngImport: i0, template: "<div [ngClass]=\"align\" class=\"message\">\n {{message}}\n <ng-content></ng-content>\n</div>\n", styles: [".message{padding:12px 0;text-align:center;color:#aaa}.message.left{text-align:left}.message.right{text-align:right}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'in-inline-message', template: "<div [ngClass]=\"align\" class=\"message\">\n {{message}}\n <ng-content></ng-content>\n</div>\n", styles: [".message{padding:12px 0;text-align:center;color:#aaa}.message.left{text-align:left}.message.right{text-align:right}\n"] }]
|
|
15
|
+
}], propDecorators: { message: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], align: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5zcGFyay1jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luc3BhcmstY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9pbmxpbmUtbWVzc2FnZS9pbmxpbmUtbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFRVyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsVUFBSyxHQUFnQyxRQUFRLENBQUM7S0FFeEQ7O21IQU5ZLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlHQ1JuQyxtR0FJQTsyRkRJYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQU9wQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbi1pbmxpbmUtbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIElubGluZU1lc3NhZ2VDb21wb25lbnQge1xuXG5cbiAgQElucHV0KCkgbWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBhbGlnbjogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnID0gJ2NlbnRlcic7XG5cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiYWxpZ25cIiBjbGFzcz1cIm1lc3NhZ2VcIj5cbiAge3ttZXNzYWdlfX1cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|