@sebgroup/green-angular 3.8.0 → 4.1.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/{esm2020 → esm2022}/lib/accordion/accordion-list-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/accordion/accordion.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/badge/badge.component.mjs +80 -0
- package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/cell-table/cell-table-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/cell-table/cell-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cell-table/cell-table.module.mjs +7 -7
- package/{esm2020 → esm2022}/lib/cell-table/cell-underline.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
- package/{esm2020 → esm2022}/lib/datepicker/datepicker.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/dropdown/dropdown-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/dropdown/dropdown-option.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.component.mjs +212 -0
- package/{esm2020 → esm2022}/lib/dropdown/dropdown.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/green-angular.module.mjs +31 -31
- package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modal/modal-footer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal/modal-header.directive.mjs +4 -4
- package/esm2022/lib/modal/modal.component.mjs +307 -0
- package/{esm2020 → esm2022}/lib/modal/modal.module.mjs +12 -12
- package/{esm2020 → esm2022}/lib/pagination/pagination.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pagination/pagination.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/shared/core-element/core-element.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/core-element/core-element.module.mjs +5 -5
- package/{esm2020/src → esm2022}/lib/shared/on-scroll.directive.mjs +10 -10
- package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +5 -5
- package/esm2022/lib/slider/slider.component.mjs +113 -0
- package/{esm2020 → esm2022}/lib/slider/slider.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/accordion/accordion-list-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/accordion/accordion.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/src/lib/badge/badge.component.mjs +80 -0
- package/{esm2020 → esm2022}/src/lib/badge/badge.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.module.mjs +7 -7
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-underline.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
- package/{esm2020 → esm2022}/src/lib/datepicker/datepicker.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-option.directive.mjs +4 -4
- package/esm2022/src/lib/dropdown/dropdown.component.mjs +212 -0
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown.module.mjs +9 -9
- package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/modal/modal-footer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/modal/modal-header.directive.mjs +4 -4
- package/esm2022/src/lib/modal/modal.component.mjs +307 -0
- package/{esm2020 → esm2022}/src/lib/modal/modal.module.mjs +12 -12
- package/{esm2020 → esm2022}/src/lib/pagination/pagination.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/pagination/pagination.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.component.mjs +6 -6
- package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.module.mjs +5 -5
- package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
- package/{esm2020 → esm2022}/src/lib/shared/shared.module.mjs +5 -5
- package/esm2022/src/lib/slider/slider.component.mjs +113 -0
- package/{esm2020 → esm2022}/src/lib/slider/slider.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs +10 -10
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-badge.mjs +16 -16
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs +7 -7
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs +17 -17
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs +20 -20
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs +69 -69
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +375 -0
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs +20 -20
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs +13 -13
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular.mjs +339 -290
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -0
- package/lib/accordion/accordion-list-item.component.d.ts +1 -1
- package/lib/accordion/accordion.component.d.ts +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/button/button.component.d.ts +1 -1
- package/lib/cell-table/cell-table-item.component.d.ts +1 -1
- package/lib/cell-table/cell-table.component.d.ts +1 -1
- package/lib/cell-table/cell-table.types.d.ts +1 -1
- package/lib/cell-table/cell-underline.directive.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +1 -1
- package/lib/datepicker/datepicker.component.d.ts +1 -1
- package/lib/dropdown/dropdown.component.d.ts +4 -4
- package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
- package/lib/modal/modal.component.d.ts +3 -3
- package/lib/pagination/pagination.component.d.ts +1 -1
- package/lib/progress-circle/progress-circle.component.d.ts +1 -1
- package/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/lib/slider/slider.component.d.ts +1 -1
- package/lib/sortable-list/sortable-list.component.d.ts +1 -1
- package/package.json +58 -94
- package/src/lib/accordion/accordion-list-item.component.d.ts +1 -1
- package/src/lib/accordion/accordion.component.d.ts +1 -1
- package/src/lib/badge/badge.component.d.ts +1 -1
- package/src/lib/button/button.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table-item.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table.types.d.ts +1 -1
- package/src/lib/cell-table/cell-underline.directive.d.ts +1 -1
- package/src/lib/context-menu/context-menu.component.d.ts +1 -1
- package/src/lib/datepicker/datepicker.component.d.ts +1 -1
- package/src/lib/dropdown/dropdown.component.d.ts +4 -4
- package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
- package/src/lib/modal/modal.component.d.ts +3 -3
- package/src/lib/pagination/pagination.component.d.ts +1 -1
- package/src/lib/progress-circle/progress-circle.component.d.ts +1 -1
- package/src/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/src/lib/slider/slider.component.d.ts +1 -1
- package/src/lib/sortable-list/sortable-list.component.d.ts +1 -1
- package/esm2020/lib/badge/badge.component.mjs +0 -80
- package/esm2020/lib/datepicker/datepicker.component.mjs +0 -138
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -212
- package/esm2020/lib/modal/modal.component.mjs +0 -258
- package/esm2020/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2020/lib/slider/slider.component.mjs +0 -113
- package/esm2020/src/lib/badge/badge.component.mjs +0 -80
- package/esm2020/src/lib/datepicker/datepicker.component.mjs +0 -138
- package/esm2020/src/lib/dropdown/dropdown.component.mjs +0 -212
- package/esm2020/src/lib/modal/modal.component.mjs +0 -258
- package/esm2020/src/lib/slider/slider.component.mjs +0 -113
- package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +0 -140
- package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +0 -50
- package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +0 -272
- package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +0 -166
- package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +0 -266
- package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +0 -328
- package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +0 -197
- package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -63
- package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +0 -114
- package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +0 -136
- package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -204
- package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular.mjs +0 -2165
- package/fesm2015/sebgroup-green-angular.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +0 -102
- package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +0 -104
- package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -72
- package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs +0 -326
- package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -58
- package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cell-table/cell-table.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cell-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/context-menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/in-page-wizard/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/progress-circle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/segmented-control/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/core-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/slider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sortable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sebgroup-green-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/badge/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/context-menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/in-page-wizard/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/pagination/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/progress-circle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/segmented-control/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/core-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/slider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/sortable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -0
|
@@ -52,10 +52,10 @@ export class NggContextMenuComponent {
|
|
|
52
52
|
this.contextMenuItemClicked.emit(item);
|
|
53
53
|
this.close();
|
|
54
54
|
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate", closeOnScroll: "closeOnScroll" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
|
|
55
57
|
}
|
|
56
|
-
|
|
57
|
-
NggContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate", closeOnScroll: "closeOnScroll" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] });
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuComponent, decorators: [{
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ selector: 'ngg-context-menu', template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n" }]
|
|
61
61
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { direction: [{
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
77
77
|
type: ViewChild,
|
|
78
78
|
args: ['contextMenuAnchor']
|
|
79
79
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUE7QUFVdEIsT0FBTyx1REFBdUQsQ0FBQTtBQUM5RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sMkVBQTJFLENBQUE7Ozs7QUFNbkgsTUFBTSxPQUFPLHVCQUF1QjtJQXNDbEMsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFyQ3ZEOztXQUVHO1FBQ00sY0FBUyxHQUFrQixLQUFLLENBQUE7UUFFekM7O1dBRUc7UUFDTSxjQUFTLEdBQWdCLEVBQUUsQ0FBQTtRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFnQyxJQUFJLENBQUE7UUFFN0Q7O1dBRUc7UUFDTSx1QkFBa0IsR0FBZ0MsSUFBSSxDQUFBO1FBRS9EOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsS0FBSyxDQUFBO1FBRTlCOztXQUVHO1FBQ08sMkJBQXNCLEdBQzlCLElBQUksWUFBWSxFQUFrQixDQUFBO1FBS3BDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHZCxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFDakUsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ1osT0FBTTtTQUNQO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7SUFDdEIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2QsQ0FBQzsrR0E5RFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsZ2ZDekJwQyx1NUJBOEJBOzs0RkRMYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usa0JBQWtCO2lHQU9uQixTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHMEIsT0FBTztzQkFBdkMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBQ0MsTUFBTTtzQkFBckMsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bidcblxuLyoqXG4gKiBNZW51SXRlbXMgZXh0ZW5kcyBEcm9wRG93biBvcHRpb24gYW5kIGFkZHMgdGhlIHBvc2liaWxpdHkgdG8gcGFzcyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IganVzdCBvbmUgaXRlbS5cbiAqL1xuaW50ZXJmYWNlIE1lbnVJdGVtcyBleHRlbmRzIERyb3Bkb3duT3B0aW9uIHtcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPlxufVxuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2luZGV4LmpzJ1xuaW1wb3J0ICogYXMgQ29udGV4dE1lbnVUcmFuc1N0eWxlcyBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUudHJhbnMuc3R5bGVzLmpzJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctY29udGV4dC1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0NvbnRleHRNZW51Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFBsYWNlbWVudCBvZiB0aGUgcG9wb3ZlciByZWxhdGl2ZSB0byB0aGUgYW5jaG9yIGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICdsdHInIHwgJ3J0bCcgPSAnbHRyJ1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgY29udGV4dCBtZW51LlxuICAgKi9cbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbXNbXSA9IFtdXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IGl0ZW0gdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBtZW51IHRyaWdnZXIgdGVtcGxhdGUuXG4gICAqL1xuICBASW5wdXQoKSBtZW51QW5jaG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGxcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogVGhpcyBwcm9wZXJ0eSBubyBsb25nZXIgaGFzIGFueSBlZmZlY3QgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICAgKi9cbiAgQElucHV0KCkgY2xvc2VPblNjcm9sbCA9IGZhbHNlXG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gYSBtZW51IGl0ZW0gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBjb250ZXh0TWVudUl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8RHJvcGRvd25PcHRpb24+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duT3B0aW9uPigpXG5cbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVQb3BvdmVyJykgcG9wb3ZlciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gIEBWaWV3Q2hpbGQoJ2NvbnRleHRNZW51QW5jaG9yJykgYW5jaG9yITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cblxuICBpc0FjdGl2ZSA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIENvbnRleHRNZW51VHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgZ2V0IHBsYWNlbWVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyAnYm90dG9tLXN0YXJ0JyA6ICdib3R0b20tZW5kJ1xuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZVxuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlXG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtOiBEcm9wZG93bk9wdGlvbik6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtQ2xpY2tlZC5lbWl0KGl0ZW0pXG4gICAgdGhpcy5jbG9zZSgpXG4gIH1cbn1cbiIsIjxnZHMtY29udGV4dC1tZW51XG4gICpuZ2dDb3JlRWxlbWVudFxuICBkYXRhLXRlc3RpZD1cImNvbnRleHQtbWVudVwiXG4gIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW29wZW5dPVwiaXNBY3RpdmVcIlxuPlxuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogY29udGVudHNcIiBzbG90PVwidHJpZ2dlclwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVBbmNob3JUZW1wbGF0ZSA/PyBkZWZhdWx0QnV0dG9uVGVtcGxhdGVcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIG1lbnVJdGVtc1wiPlxuICAgIDxnZHMtbWVudS1pdGVtICpuZ2dDb3JlRWxlbWVudCAoY2xpY2spPVwib25JdGVtQ2xpY2sobWVudUl0ZW0pXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdE1lbnVJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG1lbnVJdGVtIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9nZHMtbWVudS1pdGVtPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZ2RzLWNvbnRleHQtbWVudT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0TWVudUl0ZW1UZW1wbGF0ZSBsZXQtbWVudUl0ZW0+XG4gIDxzcGFuPnt7IG1lbnVJdGVtLmxhYmVsIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uVGVtcGxhdGU+XG4gIDxpIGNsYXNzPVwic2ctaWNvbiBzZy1pY29uLWVsbGlwc2lzXCI+T3BlbiBjb250ZXh0IG1lbnU8L2k+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -4,11 +4,11 @@ import { NggContextMenuComponent } from './context-menu.component';
|
|
|
4
4
|
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class NggContextMenuModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule, NggCoreWrapperModule] }); }
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
NggContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] });
|
|
10
|
-
NggContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule, NggCoreWrapperModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggContextMenuModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [NggContextMenuComponent],
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
17
17
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFMaEIsdUJBQXVCLGFBQzVCLFlBQVksRUFBRSxvQkFBb0IsYUFDbEMsdUJBQXVCO2dIQUd0QixvQkFBb0IsWUFKckIsWUFBWSxFQUFFLG9CQUFvQjs7NEZBSWpDLG9CQUFvQjtrQkFOaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmdnQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ2dDb3JlV3JhcHBlck1vZHVsZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy9saWIvc2hhcmVkJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ2dDb250ZXh0TWVudUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nZ0NvcmVXcmFwcGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0NvbnRleHRNZW51Q29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dDb250ZXh0TWVudU1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { randomId } from '@sebgroup/extract';
|
|
4
|
+
import { endOfDay, startOfDay } from 'date-fns';
|
|
5
|
+
import '@sebgroup/green-core/components/datepicker/index.js';
|
|
6
|
+
import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@sebgroup/green-angular/src/lib/shared";
|
|
9
|
+
export class NggDatepickerComponent {
|
|
10
|
+
get options() {
|
|
11
|
+
return this._options;
|
|
12
|
+
}
|
|
13
|
+
set options(value) {
|
|
14
|
+
this._options = value;
|
|
15
|
+
}
|
|
16
|
+
get showWeekNumbers() {
|
|
17
|
+
return this.options?.showWeeks ?? false;
|
|
18
|
+
}
|
|
19
|
+
get dateFormat() {
|
|
20
|
+
return this.options?.dateFormat ?? 'y-m-d';
|
|
21
|
+
}
|
|
22
|
+
get value() {
|
|
23
|
+
return this._value;
|
|
24
|
+
}
|
|
25
|
+
set value(newValue) {
|
|
26
|
+
if (typeof newValue === 'string') {
|
|
27
|
+
newValue = new Date(newValue);
|
|
28
|
+
}
|
|
29
|
+
if (newValue !== this._value) {
|
|
30
|
+
this._value = newValue || undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get min() {
|
|
34
|
+
const minDate = this.options?.minDate;
|
|
35
|
+
return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1);
|
|
36
|
+
}
|
|
37
|
+
get max() {
|
|
38
|
+
const maxDate = this.options?.maxDate;
|
|
39
|
+
return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1);
|
|
40
|
+
}
|
|
41
|
+
constructor(_cdr) {
|
|
42
|
+
this._cdr = _cdr;
|
|
43
|
+
this.id = randomId();
|
|
44
|
+
this.isValid = null;
|
|
45
|
+
this.valueChange = new EventEmitter();
|
|
46
|
+
DatepickerTransStyles.register();
|
|
47
|
+
}
|
|
48
|
+
writeValue(value) {
|
|
49
|
+
this.value = value;
|
|
50
|
+
this._cdr.detectChanges();
|
|
51
|
+
}
|
|
52
|
+
registerOnChange(fn) {
|
|
53
|
+
this.onChangeFn = fn;
|
|
54
|
+
}
|
|
55
|
+
registerOnTouched(fn) {
|
|
56
|
+
this.onTouchedFn = fn;
|
|
57
|
+
}
|
|
58
|
+
onDateChange(evt) {
|
|
59
|
+
const e = evt;
|
|
60
|
+
this.value = e.detail.value;
|
|
61
|
+
this.valueChange.emit(e.detail.value);
|
|
62
|
+
this.onChangeFn && this.onChangeFn(e.detail.value);
|
|
63
|
+
}
|
|
64
|
+
ngAfterViewInit() {
|
|
65
|
+
this._cdr.detectChanges();
|
|
66
|
+
}
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggDatepickerComponent, selector: "ngg-datepicker", inputs: { size: "size", hideLabel: "hideLabel", disabledWeekends: "disabledWeekends", disabledDates: "disabledDates", options: "options", value: "value", id: "id", label: "label", isValid: "isValid" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
69
|
+
{
|
|
70
|
+
provide: NG_VALUE_ACCESSOR,
|
|
71
|
+
useExisting: NggDatepickerComponent,
|
|
72
|
+
multi: true,
|
|
73
|
+
},
|
|
74
|
+
], ngImport: i0, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'ngg-datepicker', providers: [
|
|
79
|
+
{
|
|
80
|
+
provide: NG_VALUE_ACCESSOR,
|
|
81
|
+
useExisting: NggDatepickerComponent,
|
|
82
|
+
multi: true,
|
|
83
|
+
},
|
|
84
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n" }]
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], hideLabel: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], disabledWeekends: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], disabledDates: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], options: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], value: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], id: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], label: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], isValid: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], valueChange: [{
|
|
104
|
+
type: Output
|
|
105
|
+
}] } });
|
|
106
|
+
export function dateValidator(dates) {
|
|
107
|
+
return (control) => {
|
|
108
|
+
const value = control.value;
|
|
109
|
+
if (!value) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const newDate = new Date(value);
|
|
113
|
+
const isValidDate = !isNaN(newDate.getTime());
|
|
114
|
+
if (!isValidDate) {
|
|
115
|
+
return { validDate: true };
|
|
116
|
+
}
|
|
117
|
+
const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true;
|
|
118
|
+
const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true;
|
|
119
|
+
if (!validMinDate && dates?.min) {
|
|
120
|
+
return {
|
|
121
|
+
validDate: {
|
|
122
|
+
minDate: startOfDay(dates.min),
|
|
123
|
+
actualDate: newDate,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
if (!validMaxDate && dates?.max) {
|
|
128
|
+
return {
|
|
129
|
+
validDate: {
|
|
130
|
+
maxDate: endOfDay(dates.max),
|
|
131
|
+
actualDate: newDate,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBR0wsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRS9DLE9BQU8scURBQXFELENBQUE7QUFDNUQsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHVFQUF1RSxDQUFBOzs7QUF5QzlHLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsSUFDSSxPQUFPO1FBQ1QsT0FBMEIsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7SUFDdkIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQTtJQUN6QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxPQUFPLENBQUE7SUFDNUMsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0s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QUFLLEVBQUUsR0FBRyxFQUFFO1lBQy9CLE9BQU87Z0JBQ0wsU0FBUyxFQUFFO29CQUNULE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztvQkFDNUIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0YsQ0FBQTtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyByYW5kb21JZCB9IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuaW1wb3J0IHsgZW5kT2ZEYXksIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucydcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2RhdGVwaWNrZXIvaW5kZXguanMnXG5pbXBvcnQgKiBhcyBEYXRlcGlja2VyVHJhbnNTdHlsZXMgZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIudHJhbnMuc3R5bGVzLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZXMge1xuICBpZD86IHN0cmluZ1xuICByb2xlPzogc3RyaW5nXG4gIHN0eWxlPzogQ1NTU3R5bGVEZWNsYXJhdGlvblxuICB0YWJJbmRleD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRQcm9wcyB7XG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXNcbiAgY2xhc3Nlczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRlcGlja2VyT3B0aW9ucyB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIGxvY2FsZT86IHN0cmluZ1xuICBjdXJyZW50RGF0ZT86IERhdGUgfCBzdHJpbmdcbiAgc2VsZWN0ZWREYXRlPzogRGF0ZSB8IHN0cmluZ1xuICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhblxuICB1c2VDdXJyZW50VGltZT86IGJvb2xlYW5cbiAgd2Vla05hbWU/OiB7IGFiYnI6IHN0cmluZzsgZGlzcGxheVRleHQ6IHN0cmluZyB9XG4gIHNob3dXZWVrcz86IGJvb2xlYW5cbiAgbWluRGF0ZT86IERhdGVcbiAgbWF4RGF0ZT86IERhdGVcbiAgZGF0ZUZvcm1hdD86IHN0cmluZ1xuICBvbkNoYW5nZT86IChzZWxlY3RlZERhdGU6IERhdGUpID0+IHZvaWRcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRhdGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJ2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOZ2dEYXRlcGlja2VyQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0RhdGVwaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIEBJbnB1dCgpIGhpZGVMYWJlbD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGlzYWJsZWRXZWVrZW5kcz86IGJvb2xlYW5cbiAgQElucHV0KCkgZGlzYWJsZWREYXRlcz86IERhdGVbXVxuXG4gIEBJbnB1dCgpXG4gIGdldCBvcHRpb25zKCk6IERhdGVwaWNrZXJPcHRpb25zIHtcbiAgICByZXR1cm4gPERhdGVwaWNrZXJPcHRpb25zPnRoaXMuX29wdGlvbnNcbiAgfVxuICBzZXQgb3B0aW9ucyh2YWx1ZTogRGF0ZXBpY2tlck9wdGlvbnMpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWVcbiAgfVxuXG4gIGdldCBzaG93V2Vla051bWJlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uc2hvd1dlZWtzID8/IGZhbHNlXG4gIH1cblxuICBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmRhdGVGb3JtYXQgPz8gJ3ktbS1kJ1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVxuICB9XG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBuZXdWYWx1ZSA9IG5ldyBEYXRlKG5ld1ZhbHVlKVxuICAgIH1cbiAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlIHx8IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nID0gcmFuZG9tSWQoKVxuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBpc1ZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGxcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogYW55KSA9PiB2b2lkXG4gIG9uVG91Y2hlZEZuPzogYW55XG5cbiAgX3ZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkXG4gIHByaXZhdGUgX29wdGlvbnM/OiBEYXRlcGlja2VyT3B0aW9uc1xuXG4gIGdldCBtaW4oKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMub3B0aW9ucz8ubWluRGF0ZVxuICAgIHJldHVybiBtaW5EYXRlID8gbWluRGF0ZSA6IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDEwLCAwLCAxKVxuICB9XG5cbiAgZ2V0IG1heCgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5vcHRpb25zPy5tYXhEYXRlXG4gICAgcmV0dXJuIG1heERhdGUgPyBtYXhEYXRlIDogbmV3IERhdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICsgMTAsIDAsIDEpXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgRGF0ZXBpY2tlclRyYW5zU3R5bGVzLnJlZ2lzdGVyKClcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZ0OiBFdmVudCkge1xuICAgIGNvbnN0IGUgPSBldnQgYXMgQ3VzdG9tRXZlbnRcblxuICAgIHRoaXMudmFsdWUgPSBlLmRldGFpbC52YWx1ZVxuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGUuZGV0YWlsLnZhbHVlKVxuICAgIHRoaXMub25DaGFuZ2VGbiAmJiB0aGlzLm9uQ2hhbmdlRm4oZS5kZXRhaWwudmFsdWUpXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGRhdGVzPzogeyBtaW4/OiBEYXRlOyBtYXg/OiBEYXRlIH0pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZVxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZSh2YWx1ZSlcbiAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICFpc05hTihuZXdEYXRlLmdldFRpbWUoKSlcbiAgICBpZiAoIWlzVmFsaWREYXRlKSB7XG4gICAgICByZXR1cm4geyB2YWxpZERhdGU6IHRydWUgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkTWluRGF0ZSA9IGRhdGVzPy5taW4gPyBuZXdEYXRlID49IHN0YXJ0T2ZEYXkoZGF0ZXMubWluKSA6IHRydWVcbiAgICBjb25zdCB2YWxpZE1heERhdGUgPSBkYXRlcz8ubWF4ID8gbmV3RGF0ZSA8PSBlbmRPZkRheShkYXRlcy5tYXgpIDogdHJ1ZVxuXG4gICAgaWYgKCF2YWxpZE1pbkRhdGUgJiYgZGF0ZXM/Lm1pbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWREYXRlOiB7XG4gICAgICAgICAgbWluRGF0ZTogc3RhcnRPZkRheShkYXRlcy5taW4pLFxuICAgICAgICAgIGFjdHVhbERhdGU6IG5ld0RhdGUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdmFsaWRNYXhEYXRlICYmIGRhdGVzPy5tYXgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkRGF0ZToge1xuICAgICAgICAgIG1heERhdGU6IGVuZE9mRGF5KGRhdGVzLm1heCksXG4gICAgICAgICAgYWN0dWFsRGF0ZTogbmV3RGF0ZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8Z2RzLWRhdGVwaWNrZXJcbiAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIChjaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIlxuICAgIFtpbnZhbGlkXT1cImlzVmFsaWQgPT09IGZhbHNlXCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtzaG93V2Vla051bWJlcnNdPVwic2hvd1dlZWtOdW1iZXJzXCJcbiAgICBbZGF0ZWZvcm1hdF09XCJkYXRlRm9ybWF0XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbaGlkZUxhYmVsXT1cImhpZGVMYWJlbFwiXG4gICAgW2Rpc2FibGVkV2Vla2VuZHNdPVwiZGlzYWJsZWRXZWVrZW5kc1wiXG4gICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gID5cbiAgICA8c3BhbiBzbG90PVwibWVzc2FnZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG4gIDwvZ2RzLWRhdGVwaWNrZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -4,11 +4,11 @@ import { NggDatepickerComponent } from './datepicker.component';
|
|
|
4
4
|
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class NggDatepickerModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, imports: [CommonModule, NggCoreWrapperModule] }); }
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
NggDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] });
|
|
10
|
-
NggDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, imports: [CommonModule, NggCoreWrapperModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, decorators: [{
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDatepickerModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [NggDatepickerComponent],
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
17
17
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQVE3RSxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFMZixzQkFBc0IsYUFDM0IsWUFBWSxFQUFFLG9CQUFvQixhQUNsQyxzQkFBc0I7Z0hBR3JCLG1CQUFtQixZQUpwQixZQUFZLEVBQUUsb0JBQW9COzs0RkFJakMsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7b0JBQzdDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ0NvcmVXcmFwcGVyTW9kdWxlIH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW05nZ0RhdGVwaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2dDb3JlV3JhcHBlck1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dEYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -4,13 +4,13 @@ export class NggDropdownButtonDirective {
|
|
|
4
4
|
constructor(templateRef) {
|
|
5
5
|
this.templateRef = templateRef;
|
|
6
6
|
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 }); }
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
NggDropdownButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownButtonDirective, selector: "[nggDropdownButton]", ngImport: i0 });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownButtonDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[nggDropdownButton]',
|
|
14
14
|
}]
|
|
15
15
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzsrR0FEN0MsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
|
|
@@ -4,13 +4,13 @@ export class NggDropdownOptionDirective {
|
|
|
4
4
|
constructor(templateRef) {
|
|
5
5
|
this.templateRef = templateRef;
|
|
6
6
|
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 }); }
|
|
7
9
|
}
|
|
8
|
-
|
|
9
|
-
NggDropdownOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownOptionDirective, selector: "[nggDropdownOption]", ngImport: i0 });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownOptionDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[nggDropdownOption]',
|
|
14
14
|
}]
|
|
15
15
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBS3RELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzsrR0FEN0MsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nZ0Ryb3Bkb3duT3B0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Inject, Injector, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
4
|
+
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
5
|
+
import '@sebgroup/green-core/components/dropdown/index.js';
|
|
6
|
+
import * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@sebgroup/green-angular/src/lib/shared";
|
|
10
|
+
export class NggDropdownComponent {
|
|
11
|
+
//
|
|
12
|
+
set options(value) {
|
|
13
|
+
this._options = value;
|
|
14
|
+
this.texts = {
|
|
15
|
+
...this.texts,
|
|
16
|
+
select: this.displayTextByValue(this._value),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
get options() {
|
|
20
|
+
return this._options;
|
|
21
|
+
}
|
|
22
|
+
//
|
|
23
|
+
set multiSelect(value) {
|
|
24
|
+
this._multiSelect = this.convertToBoolean(value);
|
|
25
|
+
}
|
|
26
|
+
get multiSelect() {
|
|
27
|
+
return this._multiSelect;
|
|
28
|
+
}
|
|
29
|
+
//
|
|
30
|
+
set searchable(value) {
|
|
31
|
+
this._searchable = this.convertToBoolean(value);
|
|
32
|
+
}
|
|
33
|
+
get searchable() {
|
|
34
|
+
return this._searchable;
|
|
35
|
+
}
|
|
36
|
+
//
|
|
37
|
+
set value(newValue) {
|
|
38
|
+
if (!this.options)
|
|
39
|
+
return;
|
|
40
|
+
this._value = newValue;
|
|
41
|
+
this.texts = {
|
|
42
|
+
...this.texts,
|
|
43
|
+
select: this.displayTextByValue(this._value),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
get value() {
|
|
47
|
+
return this._value;
|
|
48
|
+
}
|
|
49
|
+
//
|
|
50
|
+
get selectedOption() {
|
|
51
|
+
return Array.isArray(this.value)
|
|
52
|
+
? this.value.map((v) => this.optionByValue(v))
|
|
53
|
+
: this.optionByValue(this.value);
|
|
54
|
+
}
|
|
55
|
+
get control() {
|
|
56
|
+
return this.injector.get(NgControl);
|
|
57
|
+
}
|
|
58
|
+
constructor(injector, _cdr) {
|
|
59
|
+
this.injector = injector;
|
|
60
|
+
this._cdr = _cdr;
|
|
61
|
+
this.loop = false;
|
|
62
|
+
this.display = 'label';
|
|
63
|
+
this.useValue = 'value';
|
|
64
|
+
this._multiSelect = false;
|
|
65
|
+
this._searchable = false;
|
|
66
|
+
this.valueChange = new EventEmitter();
|
|
67
|
+
this.touched = new EventEmitter();
|
|
68
|
+
this.onValueChange = (event) => {
|
|
69
|
+
const target = event.target;
|
|
70
|
+
this._value = target.value;
|
|
71
|
+
this.texts = {
|
|
72
|
+
...this.texts,
|
|
73
|
+
select: this.displayTextByValue(this._value),
|
|
74
|
+
};
|
|
75
|
+
this.onChangeFn?.(this.value);
|
|
76
|
+
this.valueChange.emit(this.value);
|
|
77
|
+
this._cdr.detectChanges();
|
|
78
|
+
};
|
|
79
|
+
// These adapter functions are used to maintain backwards compatibility with the old interface
|
|
80
|
+
this.compareWithAdapter = (o1, o2) => {
|
|
81
|
+
const compareFn = this.compareWith || ((a, b) => a === b);
|
|
82
|
+
return compareFn(o1, o2);
|
|
83
|
+
};
|
|
84
|
+
this.searchFilterAdapter = (q, o) => {
|
|
85
|
+
if (this.searchFilter)
|
|
86
|
+
return this.searchFilter(q, o.value);
|
|
87
|
+
else
|
|
88
|
+
return ((q, o) => o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o);
|
|
89
|
+
};
|
|
90
|
+
this.optionByValue = (value) => {
|
|
91
|
+
return this.options?.find((o) => o[this.useValue] === value);
|
|
92
|
+
};
|
|
93
|
+
this.displayTextByValue = (value) => {
|
|
94
|
+
if (!Array.isArray(value))
|
|
95
|
+
return (this.optionByValue(value)?.[this.display] ||
|
|
96
|
+
(this.texts?.placeholder ?? 'Select'));
|
|
97
|
+
const displayValues = value.map((v) => this.optionByValue(v)?.[this.display]);
|
|
98
|
+
return displayValues?.length > 2
|
|
99
|
+
? `${displayValues.length} ${this.texts?.selected} `
|
|
100
|
+
: displayValues?.join(', ') || (this.texts?.placeholder ?? 'Select');
|
|
101
|
+
};
|
|
102
|
+
DropdownTransStyles.register();
|
|
103
|
+
}
|
|
104
|
+
ngOnInit() {
|
|
105
|
+
if (!this._value) {
|
|
106
|
+
if (this.multiSelect)
|
|
107
|
+
this._value = this.options
|
|
108
|
+
?.filter((o) => o.selected === true)
|
|
109
|
+
?.map((o) => o[this.useValue]);
|
|
110
|
+
else
|
|
111
|
+
this._value = this.options?.find((o) => o.selected === true)?.[this.useValue];
|
|
112
|
+
this.texts = {
|
|
113
|
+
...this.texts,
|
|
114
|
+
select: this.displayTextByValue(this._value),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
this.texts = {
|
|
118
|
+
close: this.texts?.close ?? 'Close',
|
|
119
|
+
optionsDescription: this.texts?.optionsDescription ?? 'Options',
|
|
120
|
+
placeholder: this.texts?.placeholder ?? 'Select',
|
|
121
|
+
searchPlaceholder: this.texts?.searchPlaceholder ?? 'Search',
|
|
122
|
+
selected: this.texts?.selected ?? 'selected',
|
|
123
|
+
select: this.displayTextByValue(this._value),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
writeValue(value) {
|
|
127
|
+
this.value = value;
|
|
128
|
+
this._cdr.detectChanges();
|
|
129
|
+
}
|
|
130
|
+
registerOnChange(fn) {
|
|
131
|
+
this.onChangeFn = fn;
|
|
132
|
+
}
|
|
133
|
+
registerOnTouched(fn) {
|
|
134
|
+
this.onTouchedFn = fn;
|
|
135
|
+
}
|
|
136
|
+
convertToBoolean(value) {
|
|
137
|
+
return (value === '' || value === 'true' || value.toString() === 'true' || false);
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", texts: "texts", loop: "loop", display: "display", useValue: "useValue", label: "label", valid: "valid", invalid: "invalid", compareWith: "compareWith", searchFilter: "searchFilter", syncPopoverWidth: "syncPopoverWidth", size: "size", hideLabel: "hideLabel", maxHeight: "maxHeight", fixedPlacement: "fixedPlacement", options: "options", multiSelect: "multiSelect", searchable: "searchable", value: "value" }, outputs: { valueChange: "valueChange", touched: "touched" }, providers: [
|
|
141
|
+
{
|
|
142
|
+
provide: NG_VALUE_ACCESSOR,
|
|
143
|
+
useExisting: NggDropdownComponent,
|
|
144
|
+
multi: true,
|
|
145
|
+
},
|
|
146
|
+
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "gdsDropdown", first: true, predicate: ["gdsDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"], dependencies: [{ 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: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
147
|
+
}
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NggDropdownComponent, decorators: [{
|
|
149
|
+
type: Component,
|
|
150
|
+
args: [{ selector: 'ngg-dropdown', providers: [
|
|
151
|
+
{
|
|
152
|
+
provide: NG_VALUE_ACCESSOR,
|
|
153
|
+
useExisting: NggDropdownComponent,
|
|
154
|
+
multi: true,
|
|
155
|
+
},
|
|
156
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"] }]
|
|
157
|
+
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
158
|
+
type: Inject,
|
|
159
|
+
args: [Injector]
|
|
160
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], texts: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], loop: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], display: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], useValue: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], label: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], valid: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], invalid: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], compareWith: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], searchFilter: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], syncPopoverWidth: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], size: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], hideLabel: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], maxHeight: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], fixedPlacement: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], options: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], multiSelect: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], searchable: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], value: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], valueChange: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], touched: [{
|
|
201
|
+
type: Output
|
|
202
|
+
}], customOption: [{
|
|
203
|
+
type: ContentChild,
|
|
204
|
+
args: [NggDropdownOptionDirective]
|
|
205
|
+
}], customButton: [{
|
|
206
|
+
type: ContentChild,
|
|
207
|
+
args: [NggDropdownButtonDirective]
|
|
208
|
+
}], gdsDropdown: [{
|
|
209
|
+
type: ViewChild,
|
|
210
|
+
args: ['gdsDropdown', { static: false }]
|
|
211
|
+
}] } });
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV4RSxPQUFPLG1EQUFtRCxDQUFBO0FBTTFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxtRUFBbUUsQ0FBQTs7OztBQWtDeEcsTUFBTSxPQUFPLG9CQUFvQjtJQW1CL0IsRUFBRTtJQUNGLElBQWEsT0FBTyxDQUFDLEtBQW1DO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzdDLENBQUE7SUFDSCxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFHRCxFQUFFO0lBQ0YsSUFB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QUFTOytCQUNFLGNBQWMsYUFHYjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHNCQUFzQjs0QkFDakMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQThHNUMsTUFBTTsyQkFBQyxRQUFROzRFQTNHVCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHTyxPQUFPO3NCQUFuQixLQUFLO2dCQWFPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBU08sVUFBVTtzQkFBdEIsS0FBSztnQkFTTyxLQUFLO3NCQUFqQixLQUFLO2dCQXlCYSxXQUFXO3NCQUE3QixNQUFNO2dCQUNZLE9BQU87c0JBQXpCLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFJeEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFHSyxXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5nQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24uZGlyZWN0aXZlJ1xuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7XG4gIEdkc0Ryb3Bkb3duLFxuICBHZHNPcHRpb24sXG59IGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vaW5kZXguanMnXG5cbmltcG9ydCAqIGFzIERyb3Bkb3duVHJhbnNTdHlsZXMgZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWNvcmUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi50cmFucy5zdHlsZXMuanMnXG5cbmV4cG9ydCB0eXBlIENvbXBhcmVXaXRoPFQgPSBhbnk+ID0gKG8xOiBULCBvMjogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyPFQgPSBhbnk+ID0gKHNlYXJjaDogc3RyaW5nLCB2YWx1ZTogVCkgPT4gYm9vbGVhblxuZXhwb3J0IHR5cGUgRHJvcGRvd25QbGFjZW1lbnRzID0gJ2JvdHRvbS1zdGFydCcgfCAndG9wLXN0YXJ0J1xuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93blRleHRzIHtcbiAgc2VsZWN0Pzogc3RyaW5nXG4gIHNlbGVjdGVkPzogc3RyaW5nXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGNsb3NlPzogc3RyaW5nXG4gIG9wdGlvbnNEZXNjcmlwdGlvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk9wdGlvbiB7XG4gIGxhYmVsPzogc3RyaW5nXG4gIHZhbHVlPzogYW55XG4gIHNlbGVjdGVkPzogYm9vbGVhblxuICBoZWFkaW5nPzogYm9vbGVhblxuICBba2V5OiBzdHJpbmddOiBhbnlcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOZ2dEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBpZD86IHN0cmluZ1xuICBASW5wdXQoKSB0ZXh0cz86IERyb3Bkb3duVGV4dHNcbiAgQElucHV0KCkgbG9vcD86IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBkaXNwbGF5ID0gJ2xhYmVsJ1xuICBASW5wdXQoKSB1c2VWYWx1ZSA9ICd2YWx1ZSdcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgdmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGludmFsaWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogQ29tcGFyZVdpdGhcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyPzogU2VhcmNoRmlsdGVyXG4gIEBJbnB1dCgpIHN5bmNQb3BvdmVyV2lkdGg/OiBib29sZWFuXG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bSdcbiAgQElucHV0KCkgaGlkZUxhYmVsPzogYm9vbGVhblxuICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBudW1iZXJcblxuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgQElucHV0KCkgZml4ZWRQbGFjZW1lbnQ/OiBEcm9wZG93blBsYWNlbWVudHNcblxuICAvL1xuICBASW5wdXQoKSBzZXQgb3B0aW9ucyh2YWx1ZTogRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZVxuICAgIHRoaXMudGV4dHMgPSB7XG4gICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgfVxuICB9XG4gIGdldCBvcHRpb25zKCk6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zXG4gIH1cbiAgcHJpdmF0ZSBfb3B0aW9uczogRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZFxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCBtdWx0aVNlbGVjdCh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpU2VsZWN0ID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlTZWxlY3RcbiAgfVxuICBwcml2YXRlIF9tdWx0aVNlbGVjdCA9IGZhbHNlXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IHNlYXJjaGFibGUodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hhYmxlID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBzZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hhYmxlXG4gIH1cbiAgcHJpdmF0ZSBfc2VhcmNoYWJsZSA9IGZhbHNlXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucykgcmV0dXJuXG5cbiAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlXG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogRHJvcGRvd25PcHRpb24gfCBEcm9wZG93bk9wdGlvbltdIHwgdW5kZWZpbmVkXG5cbiAgLy9cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpXG4gICAgICA/IHRoaXMudmFsdWUubWFwKCh2OiBhbnkpID0+IHRoaXMub3B0aW9uQnlWYWx1ZSh2KSlcbiAgICAgIDogdGhpcy5vcHRpb25CeVZhbHVlKHRoaXMudmFsdWUpXG4gIH1cblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkXG4gIG9uVG91Y2hlZEZuPzogKCkgPT4gdm9pZFxuXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdG91Y2hlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlKVxuICBjdXN0b21PcHRpb24/OiBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZVxuXG4gIEBDb250ZW50Q2hpbGQoTmdnRHJvcGRvd25CdXR0b25EaXJlY3RpdmUpXG4gIGN1c3RvbUJ1dHRvbj86IE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlXG5cbiAgQFZpZXdDaGlsZCgnZ2RzRHJvcGRvd24nLCB7IHN0YXRpYzogZmFsc2UgfSkgZ2RzRHJvcGRvd24/OiBFbGVtZW50UmVmXG5cbiAgcHVibGljIG9uVmFsdWVDaGFuZ2U6IChldmVudDogRXZlbnQpID0+IHZvaWQgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgR2RzRHJvcGRvd248RHJvcGRvd25PcHRpb24+XG4gICAgdGhpcy5fdmFsdWUgPSB0YXJnZXQudmFsdWVcblxuICAgIHRoaXMudGV4dHMgPSB7XG4gICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4odGhpcy52YWx1ZSlcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSlcblxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGdldCBjb250cm9sKCk6IE5nQ29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIERyb3Bkb3duVHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlTZWxlY3QpXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5vcHRpb25zXG4gICAgICAgICAgPy5maWx0ZXIoKG8pID0+IG8uc2VsZWN0ZWQgPT09IHRydWUpXG4gICAgICAgICAgPy5tYXAoKG8pID0+IG9bdGhpcy51c2VWYWx1ZV0pXG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5vcHRpb25zPy5maW5kKChvKSA9PiBvLnNlbGVjdGVkID09PSB0cnVlKT8uW1xuICAgICAgICAgIHRoaXMudXNlVmFsdWVcbiAgICAgICAgXVxuXG4gICAgICB0aGlzLnRleHRzID0ge1xuICAgICAgICAuLi50aGlzLnRleHRzLFxuICAgICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgY2xvc2U6IHRoaXMudGV4dHM/LmNsb3NlID8/ICdDbG9zZScsXG4gICAgICBvcHRpb25zRGVzY3JpcHRpb246IHRoaXMudGV4dHM/Lm9wdGlvbnNEZXNjcmlwdGlvbiA/PyAnT3B0aW9ucycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogdGhpcy50ZXh0cz8uc2VhcmNoUGxhY2Vob2xkZXIgPz8gJ1NlYXJjaCcsXG4gICAgICBzZWxlY3RlZDogdGhpcy50ZXh0cz8uc2VsZWN0ZWQgPz8gJ3NlbGVjdGVkJyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm5cbiAgfVxuXG4gIC8vIFRoZXNlIGFkYXB0ZXIgZnVuY3Rpb25zIGFyZSB1c2VkIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdGhlIG9sZCBpbnRlcmZhY2VcbiAgY29tcGFyZVdpdGhBZGFwdGVyID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICBjb25zdCBjb21wYXJlRm4gPSB0aGlzLmNvbXBhcmVXaXRoIHx8ICgoYSwgYikgPT4gYSA9PT0gYilcbiAgICByZXR1cm4gY29tcGFyZUZuKG8xLCBvMilcbiAgfVxuICBzZWFyY2hGaWx0ZXJBZGFwdGVyID0gKHE6IHN0cmluZywgbzogR2RzT3B0aW9uKSA9PiB7XG4gICAgaWYgKHRoaXMuc2VhcmNoRmlsdGVyKSByZXR1cm4gdGhpcy5zZWFyY2hGaWx0ZXIocSwgby52YWx1ZSlcbiAgICBlbHNlXG4gICAgICByZXR1cm4gKChxOiBzdHJpbmcsIG86IEdkc09wdGlvbikgPT5cbiAgICAgICAgby5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxLnRvTG93ZXJDYXNlKCkpKShxLCBvKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyB8fCBmYWxzZVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uQnlWYWx1ZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uZmluZCgobykgPT4gb1t0aGlzLnVzZVZhbHVlXSA9PT0gdmFsdWUpXG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlUZXh0QnlWYWx1ZSA9ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMub3B0aW9uQnlWYWx1ZSh2YWx1ZSk/Llt0aGlzLmRpc3BsYXldIHx8XG4gICAgICAgICh0aGlzLnRleHRzPy5wbGFjZWhvbGRlciA/PyAnU2VsZWN0JylcbiAgICAgIClcblxuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSB2YWx1ZS5tYXAoXG4gICAgICAodikgPT4gdGhpcy5vcHRpb25CeVZhbHVlKHYpPy5bdGhpcy5kaXNwbGF5XSxcbiAgICApXG4gICAgcmV0dXJuIGRpc3BsYXlWYWx1ZXM/Lmxlbmd0aCA+IDJcbiAgICAgID8gYCR7ZGlzcGxheVZhbHVlcy5sZW5ndGh9ICR7dGhpcy50ZXh0cz8uc2VsZWN0ZWR9IGBcbiAgICAgIDogZGlzcGxheVZhbHVlcz8uam9pbignLCAnKSB8fCAodGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxnZHMtZHJvcGRvd25cbiAgICAqbmdnQ29yZUVsZW1lbnRcbiAgICAjZ2RzRHJvcGRvd25cbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aVNlbGVjdFwiXG4gICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVXaXRoQWRhcHRlclwiXG4gICAgW3NlYXJjaEZpbHRlcl09XCJzZWFyY2hGaWx0ZXJBZGFwdGVyXCJcbiAgICBbc3luY1BvcG92ZXJXaWR0aF09XCJzeW5jUG9wb3ZlcldpZHRoXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbaGlkZUxhYmVsXT1cImhpZGVMYWJlbFwiXG4gICAgW21heEhlaWdodF09XCJtYXhIZWlnaHRcIlxuICA+XG4gICAgPHNwYW4gc2xvdD1cIm1lc3NhZ2VcIiAjZm9ybUluZm9cbiAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCJbZGF0YS1mb3JtLWluZm9dXCI+PC9uZy1jb250ZW50XG4gICAgPjwvc3Bhbj5cblxuICAgIDxzcGFuIHNsb3Q9XCJ0cmlnZ2VyXCJcbiAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY3VzdG9tQnV0dG9uPy50ZW1wbGF0ZVJlZiAmJiBzZWxlY3RlZE9wdGlvblxuICAgICAgICAgICAgPyBjdXN0b21CdXR0b24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICA6IGRlZmF1bHRCdXR0b247XG4gICAgICAgICAgY29udGV4dDogeyBvcHRpb246IHNlbGVjdGVkT3B0aW9uIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lclxuICAgID48L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmhlYWRpbmc7IGVsc2Ugb3B0aW9uSGVhZGluZ1wiPlxuICAgICAgICA8Z2RzLW9wdGlvbiAqbmdnQ29yZUVsZW1lbnQgW3ZhbHVlXT1cIm9wdGlvblt1c2VWYWx1ZV1cIlxuICAgICAgICAgID48bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21PcHRpb24/LnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgPyBjdXN0b21PcHRpb24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IG9wdGlvbjogb3B0aW9uLCBpbmRleDogaW5kZXggfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXJcbiAgICAgICAgPjwvZ2RzLW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNvcHRpb25IZWFkaW5nPlxuICAgICAgICA8Z2RzLW1lbnUtaGVhZGluZyAqbmdnQ29yZUVsZW1lbnQ+e3sgb3B0aW9uLmxhYmVsIH19PC9nZHMtbWVudS1oZWFkaW5nPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9nZHMtZHJvcGRvd24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QnV0dG9uIGxldC1zZWxlY3RlZD1cIm9wdGlvblwiPlxuICA8c3BhbiBjbGFzcz1cInRyaWdnZXJcIj57eyB0ZXh0cz8uc2VsZWN0IH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uIGxldC1vcHRpb249XCJvcHRpb25cIj5cbiAge3sgZGlzcGxheSA/IG9wdGlvbltkaXNwbGF5XSA6IG9wdGlvbi5uYW1lIH19XG48L25nLXRlbXBsYXRlPlxuIl19
|