@leanix/components 0.4.21 → 0.4.23
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/core-ui/components/badge/badge.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/button-group/button-group.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/collapsible/collapsible.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/colored-label/colored-label.component.mjs +4 -4
- package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +139 -0
- package/{esm2020 → esm2022}/lib/core-ui/components/file-download-button/file-download-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/icon-scale/icon-scale.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/spinner/spinner.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/table/table-header/table-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/table/table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/core-ui.module.mjs +72 -72
- package/{esm2020 → esm2022}/lib/core-ui/directives/after-view-init.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose-group.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/autofocus.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/directives/html.directive.mjs +4 -4
- package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +144 -0
- package/{esm2020 → esm2022}/lib/core-ui/linkify/unlinkify.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/br.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/contrast-color.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/custom-date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-range.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-term.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-time-ago.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-translate.pipe.mjs +5 -5
- package/{esm2020 → esm2022}/lib/core-ui/pipes/markdown.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/nbsp.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/sort.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-after.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-before.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-between.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/services/resize-observer.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +105 -0
- package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +120 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +216 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/copy-button/copy-button.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +145 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-input/date-input.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +6 -6
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +27 -0
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +205 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +6 -6
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +5 -5
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +134 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/error-message/error-message.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/form-error/form-error.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/icon/icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/input/input.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/keyboard-select.directive.mjs +4 -4
- package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +255 -0
- package/esm2022/lib/forms-ui/components/option/option.component.mjs +84 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/option-group/option-group.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +185 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker-trigger.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker.component.mjs +19 -19
- package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +118 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/pill-item/pill-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/pill-list/pill-list.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +100 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/select-list/select-list.component.mjs +4 -4
- package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +279 -0
- package/{esm2020 → esm2022}/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +4 -4
- package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +129 -0
- package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +109 -0
- package/{esm2020 → esm2022}/lib/forms-ui/directives/form-submit.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/keyboard-action-source.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/mark-invalid.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/select-dropdown.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/directives/selectable-item.directive.mjs +7 -7
- package/{esm2020 → esm2022}/lib/forms-ui/directives/selected-option.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/forms-ui.module.mjs +102 -102
- package/{esm2020 → esm2022}/lib/forms-ui/models/base-select.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-selection.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-term.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms-ui/pipes/format-number.pipe.mjs +4 -4
- package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +213 -0
- package/{esm2020 → esm2022}/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/components/modal-header/modal-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/directives/modal-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal-ui/modal.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/popover-ui/components/popover/popover.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-click.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-content.directive.mjs +4 -4
- package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +87 -0
- package/{esm2020 → esm2022}/lib/popover-ui/popover-ui.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/tab-ui/components/tab/tab.component.mjs +14 -14
- package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +71 -0
- package/{esm2020 → esm2022}/lib/tab-ui/tab-ui.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/leanix-components.mjs +767 -768
- package/fesm2022/leanix-components.mjs.map +1 -0
- package/lib/core-ui/components/badge/badge.component.d.ts +1 -1
- package/lib/core-ui/components/button/button.component.d.ts +1 -1
- package/lib/core-ui/components/button-group/button-group.component.d.ts +1 -1
- package/lib/core-ui/components/card/card.component.d.ts +1 -1
- package/lib/core-ui/components/collapsible/collapsible.component.d.ts +1 -1
- package/lib/core-ui/components/colored-label/colored-label.component.d.ts +1 -1
- package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +1 -1
- package/lib/core-ui/components/file-download-button/file-download-button.component.d.ts +1 -1
- package/lib/core-ui/components/icon-scale/icon-scale.component.d.ts +1 -1
- package/lib/core-ui/components/spinner/spinner.component.d.ts +1 -1
- package/lib/core-ui/components/table/table-header/table-header.component.d.ts +1 -1
- package/lib/core-ui/components/table/table.component.d.ts +1 -1
- package/lib/core-ui/directives/autoclose.directive.d.ts +1 -1
- package/lib/core-ui/directives/autofocus.directive.d.ts +1 -1
- package/lib/core-ui/directives/html.directive.d.ts +1 -1
- package/lib/core-ui/pipes/sort.pipe.d.ts +1 -1
- package/lib/core-ui/services/resize-observer.service.d.ts +1 -1
- package/lib/core-ui/tooltip/tooltip.component.d.ts +1 -1
- package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
- package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +2 -2
- package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/copy-button/copy-button.component.d.ts +1 -1
- package/lib/forms-ui/components/currency/currency-input.component.d.ts +4 -4
- package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
- package/lib/forms-ui/components/date-input/date-input.component.d.ts +2 -2
- package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +1 -1
- package/lib/forms-ui/components/date-picker-ui/datepicker.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
- package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
- package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
- package/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
- package/lib/forms-ui/components/icon/icon.component.d.ts +2 -2
- package/lib/forms-ui/components/input/input.component.d.ts +1 -1
- package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
- package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +3 -3
- package/lib/forms-ui/components/option/option.component.d.ts +1 -1
- package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
- package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +3 -3
- package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
- package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
- package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
- package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
- package/lib/forms-ui/components/select-list/select-list.component.d.ts +1 -1
- package/lib/forms-ui/components/single-select/single-select.component.d.ts +2 -2
- package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
- package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
- package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
- package/lib/forms-ui/directives/contenteditable.directive.d.ts +2 -2
- package/lib/forms-ui/directives/form-error.directive.d.ts +2 -2
- package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
- package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
- package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
- package/lib/forms-ui/models/single-select-padding.interface.d.ts +1 -1
- package/lib/forms-ui/models/sorting.interface.d.ts +1 -1
- package/lib/modal-ui/components/modal/modal.component.d.ts +1 -1
- package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +1 -1
- package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +1 -1
- package/lib/popover-ui/components/popover/popover.component.d.ts +1 -1
- package/lib/popover-ui/directives/popover-click.directive.d.ts +1 -1
- package/lib/popover-ui/directives/popover-hover.directive.d.ts +1 -1
- package/lib/tab-ui/components/tab/tab.component.d.ts +1 -1
- package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
- package/package.json +13 -19
- package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -139
- package/esm2020/lib/core-ui/linkify/linkify.pipe.mjs +0 -144
- package/esm2020/lib/core-ui/tooltip/tooltip.directive.mjs +0 -105
- package/esm2020/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -120
- package/esm2020/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -216
- package/esm2020/lib/forms-ui/components/currency/currency-input.component.mjs +0 -145
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -28
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -205
- package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
- package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -134
- package/esm2020/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -255
- package/esm2020/lib/forms-ui/components/option/option.component.mjs +0 -84
- package/esm2020/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -185
- package/esm2020/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
- package/esm2020/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -100
- package/esm2020/lib/forms-ui/components/single-select/single-select.component.mjs +0 -279
- package/esm2020/lib/forms-ui/directives/contenteditable.directive.mjs +0 -129
- package/esm2020/lib/forms-ui/directives/form-error.directive.mjs +0 -109
- package/esm2020/lib/modal-ui/components/modal/modal.component.mjs +0 -213
- package/esm2020/lib/popover-ui/directives/popover-hover.directive.mjs +0 -87
- package/esm2020/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -71
- package/fesm2015/leanix-components.mjs +0 -8448
- package/fesm2015/leanix-components.mjs.map +0 -1
- package/fesm2020/leanix-components.mjs.map +0 -1
- package/src/lib/forms-ui/components/date-picker-ui/README.md +0 -8
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/leanix-components.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/annotations/required.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/core-ui.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/functions/core-css.helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/helpers/key-codes.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/dropdown-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/single-select-padding.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/models/sorting.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modal-ui/modal.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/date-helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/html-helpers.function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/misc-helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/observe.mjs +0 -0
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { DatePickerInnerComponent } from './datepicker-inner.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./datepicker.config";
|
|
6
|
-
import * as i2 from "./datepicker-inner.component";
|
|
7
|
-
import * as i3 from "./daypicker.component";
|
|
8
|
-
import * as i4 from "./monthpicker.component";
|
|
9
|
-
import * as i5 from "./yearpicker.component";
|
|
10
|
-
export const DATEPICKER_CONTROL_VALUE_ACCESSOR = {
|
|
11
|
-
provide: NG_VALUE_ACCESSOR,
|
|
12
|
-
useExisting: forwardRef(() => DatePickerComponent),
|
|
13
|
-
multi: true
|
|
14
|
-
};
|
|
15
|
-
/* tslint:enable:component-selector-name component-selector-type */
|
|
16
|
-
export class DatePickerComponent {
|
|
17
|
-
constructor(config) {
|
|
18
|
-
/** sets datepicker mode, supports: `day`, `month`, `year` */
|
|
19
|
-
this.datepickerMode = 'day';
|
|
20
|
-
/** if false week numbers will be hidden */
|
|
21
|
-
this.showWeeks = true;
|
|
22
|
-
this.selectionDone = new EventEmitter(undefined);
|
|
23
|
-
/** callback to invoke when the activeDate is changed. */
|
|
24
|
-
this.activeDateChange = new EventEmitter(undefined);
|
|
25
|
-
/* tslint:disable-next-line: no-any*/
|
|
26
|
-
this.onChange = Function.prototype;
|
|
27
|
-
/* tslint:disable-next-line: no-any*/
|
|
28
|
-
this.onTouched = Function.prototype;
|
|
29
|
-
this._now = new Date();
|
|
30
|
-
this.config = config;
|
|
31
|
-
this.configureOptions();
|
|
32
|
-
}
|
|
33
|
-
/** currently active date */
|
|
34
|
-
get activeDate() {
|
|
35
|
-
return this._activeDate || this._now;
|
|
36
|
-
}
|
|
37
|
-
set activeDate(value) {
|
|
38
|
-
this._activeDate = value;
|
|
39
|
-
}
|
|
40
|
-
configureOptions() {
|
|
41
|
-
Object.assign(this, this.config);
|
|
42
|
-
}
|
|
43
|
-
onUpdate(event) {
|
|
44
|
-
this.activeDate = event;
|
|
45
|
-
this.onChange(event);
|
|
46
|
-
}
|
|
47
|
-
onSelectionDone(event) {
|
|
48
|
-
this.selectionDone.emit(event);
|
|
49
|
-
}
|
|
50
|
-
onActiveDateChange(event) {
|
|
51
|
-
this.activeDateChange.emit(event);
|
|
52
|
-
}
|
|
53
|
-
// todo: support null value
|
|
54
|
-
/* tslint:disable-next-line: no-any*/
|
|
55
|
-
writeValue(value) {
|
|
56
|
-
if (this._datePicker.compare(value, this._activeDate) === 0) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (value && value instanceof Date) {
|
|
60
|
-
this.activeDate = value;
|
|
61
|
-
this._datePicker.select(value, false);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
this.activeDate = (value ? new Date(value) : void 0);
|
|
65
|
-
}
|
|
66
|
-
registerOnChange(fn) {
|
|
67
|
-
this.onChange = fn;
|
|
68
|
-
}
|
|
69
|
-
registerOnTouched(fn) {
|
|
70
|
-
this.onTouched = fn;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.DatepickerConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DatePickerComponent, selector: "datepicker", inputs: { datepickerMode: "datepickerMode", initDate: "initDate", minDate: "minDate", maxDate: "maxDate", minMode: "minMode", maxMode: "maxMode", showWeeks: "showWeeks", formatDay: "formatDay", formatMonth: "formatMonth", formatYear: "formatYear", formatDayHeader: "formatDayHeader", formatDayTitle: "formatDayTitle", formatMonthTitle: "formatMonthTitle", startingDay: "startingDay", yearRange: "yearRange", onlyCurrentMonth: "onlyCurrentMonth", shortcutPropagation: "shortcutPropagation", monthColLimit: "monthColLimit", yearColLimit: "yearColLimit", customClass: "customClass", dateDisabled: "dateDisabled", dayDisabled: "dayDisabled", activeDate: "activeDate" }, outputs: { selectionDone: "selectionDone", activeDateChange: "activeDateChange" }, providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_datePicker", first: true, predicate: DatePickerInnerComponent, descendants: true, static: true }], ngImport: i0, template: `
|
|
75
|
-
<datepicker-inner
|
|
76
|
-
[activeDate]="activeDate"
|
|
77
|
-
(update)="onUpdate($event)"
|
|
78
|
-
[locale]="config.locale"
|
|
79
|
-
[datepickerMode]="datepickerMode"
|
|
80
|
-
[initDate]="initDate"
|
|
81
|
-
[minDate]="minDate"
|
|
82
|
-
[maxDate]="maxDate"
|
|
83
|
-
[minMode]="minMode"
|
|
84
|
-
[maxMode]="maxMode"
|
|
85
|
-
[showWeeks]="showWeeks"
|
|
86
|
-
[formatDay]="formatDay"
|
|
87
|
-
[formatMonth]="formatMonth"
|
|
88
|
-
[formatYear]="formatYear"
|
|
89
|
-
[formatDayHeader]="formatDayHeader"
|
|
90
|
-
[formatDayTitle]="formatDayTitle"
|
|
91
|
-
[formatMonthTitle]="formatMonthTitle"
|
|
92
|
-
[startingDay]="startingDay"
|
|
93
|
-
[yearRange]="yearRange"
|
|
94
|
-
[customClass]="customClass"
|
|
95
|
-
[dateDisabled]="dateDisabled"
|
|
96
|
-
[dayDisabled]="dayDisabled"
|
|
97
|
-
[onlyCurrentMonth]="onlyCurrentMonth"
|
|
98
|
-
[shortcutPropagation]="shortcutPropagation"
|
|
99
|
-
[monthColLimit]="monthColLimit"
|
|
100
|
-
[yearColLimit]="yearColLimit"
|
|
101
|
-
(selectionDone)="onSelectionDone($event)"
|
|
102
|
-
(activeDateChange)="onActiveDateChange($event)"
|
|
103
|
-
>
|
|
104
|
-
<daypicker tabindex="0"></daypicker>
|
|
105
|
-
<monthpicker tabindex="0"></monthpicker>
|
|
106
|
-
<yearpicker tabindex="0"></yearpicker>
|
|
107
|
-
</datepicker-inner>
|
|
108
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i2.DatePickerInnerComponent, selector: "datepicker-inner", inputs: ["locale", "datepickerMode", "startingDay", "yearRange", "minDate", "maxDate", "minMode", "maxMode", "showWeeks", "formatDay", "formatMonth", "formatYear", "formatDayHeader", "formatDayTitle", "formatMonthTitle", "onlyCurrentMonth", "shortcutPropagation", "customClass", "monthColLimit", "yearColLimit", "dateDisabled", "dayDisabled", "initDate", "activeDate"], outputs: ["selectionDone", "update", "activeDateChange"] }, { kind: "component", type: i3.DayPickerComponent, selector: "daypicker" }, { kind: "component", type: i4.MonthPickerComponent, selector: "monthpicker" }, { kind: "component", type: i5.YearPickerComponent, selector: "yearpicker" }] });
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
110
|
-
type: Component,
|
|
111
|
-
args: [{
|
|
112
|
-
// eslint-disable-next-line @angular-eslint/component-selector
|
|
113
|
-
selector: 'datepicker',
|
|
114
|
-
template: `
|
|
115
|
-
<datepicker-inner
|
|
116
|
-
[activeDate]="activeDate"
|
|
117
|
-
(update)="onUpdate($event)"
|
|
118
|
-
[locale]="config.locale"
|
|
119
|
-
[datepickerMode]="datepickerMode"
|
|
120
|
-
[initDate]="initDate"
|
|
121
|
-
[minDate]="minDate"
|
|
122
|
-
[maxDate]="maxDate"
|
|
123
|
-
[minMode]="minMode"
|
|
124
|
-
[maxMode]="maxMode"
|
|
125
|
-
[showWeeks]="showWeeks"
|
|
126
|
-
[formatDay]="formatDay"
|
|
127
|
-
[formatMonth]="formatMonth"
|
|
128
|
-
[formatYear]="formatYear"
|
|
129
|
-
[formatDayHeader]="formatDayHeader"
|
|
130
|
-
[formatDayTitle]="formatDayTitle"
|
|
131
|
-
[formatMonthTitle]="formatMonthTitle"
|
|
132
|
-
[startingDay]="startingDay"
|
|
133
|
-
[yearRange]="yearRange"
|
|
134
|
-
[customClass]="customClass"
|
|
135
|
-
[dateDisabled]="dateDisabled"
|
|
136
|
-
[dayDisabled]="dayDisabled"
|
|
137
|
-
[onlyCurrentMonth]="onlyCurrentMonth"
|
|
138
|
-
[shortcutPropagation]="shortcutPropagation"
|
|
139
|
-
[monthColLimit]="monthColLimit"
|
|
140
|
-
[yearColLimit]="yearColLimit"
|
|
141
|
-
(selectionDone)="onSelectionDone($event)"
|
|
142
|
-
(activeDateChange)="onActiveDateChange($event)"
|
|
143
|
-
>
|
|
144
|
-
<daypicker tabindex="0"></daypicker>
|
|
145
|
-
<monthpicker tabindex="0"></monthpicker>
|
|
146
|
-
<yearpicker tabindex="0"></yearpicker>
|
|
147
|
-
</datepicker-inner>
|
|
148
|
-
`,
|
|
149
|
-
providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]
|
|
150
|
-
}]
|
|
151
|
-
}], ctorParameters: function () { return [{ type: i1.DatepickerConfig }]; }, propDecorators: { datepickerMode: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], initDate: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], minDate: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], maxDate: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], minMode: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], maxMode: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], showWeeks: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], formatDay: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], formatMonth: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], formatYear: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], formatDayHeader: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], formatDayTitle: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], formatMonthTitle: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], startingDay: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], yearRange: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], onlyCurrentMonth: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], shortcutPropagation: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], monthColLimit: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], yearColLimit: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], customClass: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], dateDisabled: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], dayDisabled: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], activeDate: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], selectionDone: [{
|
|
198
|
-
type: Output
|
|
199
|
-
}], activeDateChange: [{
|
|
200
|
-
type: Output
|
|
201
|
-
}], _datePicker: [{
|
|
202
|
-
type: ViewChild,
|
|
203
|
-
args: [DatePickerInnerComponent, { static: true }]
|
|
204
|
-
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFZLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFHeEUsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQWE7SUFDekQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQTBDRixtRUFBbUU7QUFDbkUsTUFBTSxPQUFPLG1CQUFtQjtJQWdHOUIsWUFBWSxNQUF3QjtRQS9GcEMsNkRBQTZEO1FBQ3BELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBZ0JoQywyQ0FBMkM7UUFDbEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQTBEMUIsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLENBQU8sU0FBUyxDQUFDLENBQUM7UUFFdEUseURBQXlEO1FBRXpELHFCQUFnQixHQUF1QixJQUFJLFlBQVksQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUt6RSxxQ0FBcUM7UUFDckMsYUFBUSxHQUFRLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDbkMscUNBQXFDO1FBQ3JDLGNBQVMsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBSTFCLFNBQUksR0FBUyxJQUFJLElB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O3NCQURmLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQVVOLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFJUCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQsIFByb3ZpZGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuXG5leHBvcnQgY29uc3QgREFURVBJQ0tFUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRhdGVwaWNrZXItaW5uZXJcbiAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgKHVwZGF0ZSk9XCJvblVwZGF0ZSgkZXZlbnQpXCJcbiAgICAgIFtsb2NhbGVdPVwiY29uZmlnLmxvY2FsZVwiXG4gICAgICBbZGF0ZXBpY2tlck1vZGVdPVwiZGF0ZXBpY2tlck1vZGVcIlxuICAgICAgW2luaXREYXRlXT1cImluaXREYXRlXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbbWluTW9kZV09XCJtaW5Nb2RlXCJcbiAgICAgIFttYXhNb2RlXT1cIm1heE1vZGVcIlxuICAgICAgW3Nob3dXZWVrc109XCJzaG93V2Vla3NcIlxuICAgICAgW2Zvcm1hdERheV09XCJmb3JtYXREYXlcIlxuICAgICAgW2Zvcm1hdE1vbnRoXT1cImZvcm1hdE1vbnRoXCJcbiAgICAgIFtmb3JtYXRZZWFyXT1cImZvcm1hdFllYXJcIlxuICAgICAgW2Zvcm1hdERheUhlYWRlcl09XCJmb3JtYXREYXlIZWFkZXJcIlxuICAgICAgW2Zvcm1hdERheVRpdGxlXT1cImZvcm1hdERheVRpdGxlXCJcbiAgICAgIFtmb3JtYXRNb250aFRpdGxlXT1cImZvcm1hdE1vbnRoVGl0bGVcIlxuICAgICAgW3N0YXJ0aW5nRGF5XT1cInN0YXJ0aW5nRGF5XCJcbiAgICAgIFt5ZWFyUmFuZ2VdPVwieWVhclJhbmdlXCJcbiAgICAgIFtjdXN0b21DbGFzc109XCJjdXN0b21DbGFzc1wiXG4gICAgICBbZGF0ZURpc2FibGVkXT1cImRhdGVEaXNhYmxlZFwiXG4gICAgICBbZGF5RGlzYWJsZWRdPVwiZGF5RGlzYWJsZWRcIlxuICAgICAgW29ubHlDdXJyZW50TW9udGhdPVwib25seUN1cnJlbnRNb250aFwiXG4gICAgICBbc2hvcnRjdXRQcm9wYWdhdGlvbl09XCJzaG9ydGN1dFByb3BhZ2F0aW9uXCJcbiAgICAgIFttb250aENvbExpbWl0XT1cIm1vbnRoQ29sTGltaXRcIlxuICAgICAgW3llYXJDb2xMaW1pdF09XCJ5ZWFyQ29sTGltaXRcIlxuICAgICAgKHNlbGVjdGlvbkRvbmUpPVwib25TZWxlY3Rpb25Eb25lKCRldmVudClcIlxuICAgICAgKGFjdGl2ZURhdGVDaGFuZ2UpPVwib25BY3RpdmVEYXRlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkYXlwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9kYXlwaWNrZXI+XG4gICAgICA8bW9udGhwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9tb250aHBpY2tlcj5cbiAgICAgIDx5ZWFycGlja2VyIHRhYmluZGV4PVwiMFwiPjwveWVhcnBpY2tlcj5cbiAgICA8L2RhdGVwaWNrZXItaW5uZXI+XG4gIGAsXG4gIHByb3ZpZGVyczogW0RBVEVQSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG4vKiB0c2xpbnQ6ZW5hYmxlOmNvbXBvbmVudC1zZWxlY3Rvci1uYW1lIGNvbXBvbmVudC1zZWxlY3Rvci10eXBlICovXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqIHNldHMgZGF0ZXBpY2tlciBtb2RlLCBzdXBwb3J0czogYGRheWAsIGBtb250aGAsIGB5ZWFyYCAqL1xuICBASW5wdXQoKSBkYXRlcGlja2VyTW9kZSA9ICdkYXknO1xuICAvKiogZGVmYXVsdCBkYXRlIHRvIHNob3cgaWYgYG5nLW1vZGVsYCB2YWx1ZSBpcyBub3Qgc3BlY2lmaWVkICovXG4gIEBJbnB1dCgpXG4gIGluaXREYXRlITogRGF0ZTtcbiAgLyoqICBvbGRlc3Qgc2VsZWN0YWJsZSBkYXRlICovXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGUhOiBEYXRlO1xuICAvKiogbGF0ZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKVxuICBtYXhEYXRlITogRGF0ZTtcbiAgLyoqIHNldCBsb3dlciBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpXG4gIG1pbk1vZGUhOiBzdHJpbmc7XG4gIC8qKiBzZXRzIHVwcGVyIGRhdGVwaWNrZXIgbW9kZSwgc3VwcG9ydHM6IGBkYXlgLCBgbW9udGhgLCBgeWVhcmAgKi9cbiAgQElucHV0KClcbiAgbWF4TW9kZSE6IHN0cmluZztcbiAgLyoqIGlmIGZhbHNlIHdlZWsgbnVtYmVycyB3aWxsIGJlIGhpZGRlbiAqL1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSB0cnVlO1xuICAvKiogZm9ybWF0IG9mIGRheSBpbiBtb250aCAqL1xuICBASW5wdXQoKVxuICBmb3JtYXREYXkhOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgbW9udGggaW4geWVhciAqL1xuICBASW5wdXQoKVxuICBmb3JtYXRNb250aCE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiB5ZWFyIGluIHllYXIgcmFuZ2UgKi9cbiAgQElucHV0KClcbiAgZm9ybWF0WWVhciE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBkYXkgaW4gd2VlayBoZWFkZXIgKi9cbiAgQElucHV0KClcbiAgZm9ybWF0RGF5SGVhZGVyITogc3RyaW5nO1xuICAvKiogZm9ybWF0IG9mIHRpdGxlIHdoZW4gc2VsZWN0aW5nIGRheSAqL1xuICBASW5wdXQoKVxuICBmb3JtYXREYXlUaXRsZSE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiB0aXRsZSB3aGVuIHNlbGVjdGluZyBtb250aCAqL1xuICBASW5wdXQoKVxuICBmb3JtYXRNb250aFRpdGxlITogc3RyaW5nO1xuICAvKiogc3RhcnRpbmcgZGF5IG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKVxuICBzdGFydGluZ0RheSE6IG51bWJlcjtcbiAgLyoqIG51bWJlciBvZiB5ZWFycyBkaXNwbGF5ZWQgaW4geWVhciBzZWxlY3Rpb24gKi9cbiAgQElucHV0KClcbiAgeWVhclJhbmdlITogbnVtYmVyO1xuICAvKiogaWYgdHJ1ZSBvbmx5IGRhdGVzIGZyb20gdGhlIGN1cnJlbnRseSBkaXNwbGF5ZWQgbW9udGggd2lsbCBiZSBzaG93biAqL1xuICBASW5wdXQoKVxuICBvbmx5Q3VycmVudE1vbnRoITogYm9vbGVhbjtcbiAgLyoqIGlmIHRydWUgc2hvcnRjdXRgcyBldmVudCBwcm9wYWdhdGlvbiB3aWxsIGJlIGRpc2FibGVkICovXG4gIEBJbnB1dCgpXG4gIHNob3J0Y3V0UHJvcGFnYXRpb24hOiBib29sZWFuO1xuICAvKiogbnVtYmVyIG9mIG1vbnRocyBkaXNwbGF5ZWQgaW4gYSBzaW5nbGUgcm93IG9mIG1vbnRoIHBpY2tlciAqL1xuICBASW5wdXQoKVxuICBtb250aENvbExpbWl0ITogbnVtYmVyO1xuICAvKiogbnVtYmVyIG9mIHllYXJzIGRpc3BsYXllZCBpbiBhIHNpbmdsZSByb3cgb2YgeWVhciBwaWNrZXIgKi9cbiAgQElucHV0KClcbiAgeWVhckNvbExpbWl0ITogbnVtYmVyO1xuICAvKiogYXJyYXkgb2YgY3VzdG9tIGNzcyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGFyZ2V0ZWQgZGF0ZXMgKi9cbiAgQElucHV0KClcbiAgY3VzdG9tQ2xhc3MhOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZzsgY2xheno6IHN0cmluZyB9W107XG4gIC8qKiBhcnJheSBvZiBkaXNhYmxlZCBkYXRlcyAqL1xuICBASW5wdXQoKVxuICBkYXRlRGlzYWJsZWQhOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9W107XG4gIC8qKiBkaXNhYmxlZCBkYXlzIG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKVxuICBkYXlEaXNhYmxlZCE6IG51bWJlcltdO1xuXG4gIC8qKiBjdXJyZW50bHkgYWN0aXZlIGRhdGUgKi9cbiAgQElucHV0KClcbiAgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZURhdGUgfHwgdGhpcy5fbm93O1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIC8qKiBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgYWN0aXZlRGF0ZSBpcyBjaGFuZ2VkLiAqL1xuICBAT3V0cHV0KClcbiAgYWN0aXZlRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIEBWaWV3Q2hpbGQoRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfZGF0ZVBpY2tlciE6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgb25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbiAgY29uZmlnOiBEYXRlcGlja2VyQ29uZmlnO1xuXG4gIHByb3RlY3RlZCBfbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIF9hY3RpdmVEYXRlITogRGF0ZTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IERhdGVwaWNrZXJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmNvbmZpZ3VyZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBvblVwZGF0ZShldmVudDogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGV2ZW50O1xuICAgIHRoaXMub25DaGFuZ2UoZXZlbnQpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25Eb25lKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Eb25lLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25BY3RpdmVEYXRlQ2hhbmdlKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG4gIC8vIHRvZG86IHN1cHBvcnQgbnVsbCB2YWx1ZVxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kYXRlUGlja2VyLmNvbXBhcmUodmFsdWUsIHRoaXMuX2FjdGl2ZURhdGUpID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlci5zZWxlY3QodmFsdWUsIGZhbHNlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9ICh2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHZvaWQgMCkhO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxufVxuIl19
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../../../../core-ui/components/button/button.component";
|
|
5
|
-
export class DragAndDropListItemComponent {
|
|
6
|
-
constructor(element) {
|
|
7
|
-
this.element = element;
|
|
8
|
-
this.NAME = 'DragAndDropListItemComponent';
|
|
9
|
-
this.draggable = true;
|
|
10
|
-
this.action = new EventEmitter();
|
|
11
|
-
this.customTemplateRef = null;
|
|
12
|
-
}
|
|
13
|
-
get draggingDisabled() {
|
|
14
|
-
return !this.draggable;
|
|
15
|
-
}
|
|
16
|
-
get hasCustomTemplate() {
|
|
17
|
-
return !!this.customTemplateRef;
|
|
18
|
-
}
|
|
19
|
-
trackByAction(_index, action) {
|
|
20
|
-
return action.id;
|
|
21
|
-
}
|
|
22
|
-
focus() {
|
|
23
|
-
this.element.nativeElement.focus();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
DragAndDropListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DragAndDropListItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
DragAndDropListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: { item: "item", draggable: "draggable", actions: "actions" }, outputs: { action: "action" }, host: { properties: { "class.draggingDisabled": "this.draggingDisabled", "class.customTemplate": "this.hasCustomTemplate" } }, queries: [{ propertyName: "customTemplateRef", first: true, predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\"></ng-container>\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n >\n <i class=\"far {{ act.icon }} actionIcon\"></i>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.actionIcon{padding:0 2px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\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: "component", type: i2.ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DragAndDropListItemComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ selector: 'lx-drag-and-drop-list-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\"></ng-container>\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n >\n <i class=\"far {{ act.icon }} actionIcon\"></i>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.actionIcon{padding:0 2px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\n"] }]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}], draggable: [{
|
|
34
|
-
type: Input
|
|
35
|
-
}], actions: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}], action: [{
|
|
38
|
-
type: Output
|
|
39
|
-
}], draggingDisabled: [{
|
|
40
|
-
type: HostBinding,
|
|
41
|
-
args: ['class.draggingDisabled']
|
|
42
|
-
}], hasCustomTemplate: [{
|
|
43
|
-
type: HostBinding,
|
|
44
|
-
args: ['class.customTemplate']
|
|
45
|
-
}], customTemplateRef: [{
|
|
46
|
-
type: ContentChild,
|
|
47
|
-
args: ['customTemplate']
|
|
48
|
-
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQzs7OztBQW9CdkIsTUFBTSxPQUFPLDRCQUE0QjtJQXNCdkMsWUFBb0IsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQXJCOUIsU0FBSSxHQUFHLDhCQUE4QixDQUFDO1FBR3RDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFNekIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBVWxDLHNCQUFpQixHQUE0QixJQUFJLENBQUM7SUFFeEMsQ0FBQztJQVYzQyxJQUEyQyxnQkFBZ0I7UUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELElBQXlDLGlCQUFpQjtRQUN4RCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQU1ELGFBQWEsQ0FBQyxNQUFjLEVBQUUsTUFBNkI7UUFDekQsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7eUhBOUJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHVaQzlCekMsNi9CQTBCQTsyRkRJYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNO2lHQUt0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUVvQyxnQkFBZ0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUlJLGlCQUFpQjtzQkFBekQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSUgsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0FuZERyb3BMaXN0QWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBzaG93T25seU9uSG92ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50IHtcbiAgYWN0aW9uSWQ6IHN0cmluZztcbiAgaXRlbTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCc7XG5cbiAgQElucHV0KCkgaXRlbSE6IHN0cmluZztcbiAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIERyYWdBbmREcm9wTGlzdEFjdGlvbnNcbiAgICogV2hlbiB0aGlzIGFycmF5IGlzIGRlZmluZWQsIHRoZSBkcmFnIGhhbmRsZSBpcyBzaG93biBhdCB0aGUgc3RhcnQgb2YgYW4gaXRlbSBhbmQgdGhlIGFjdGlvbiBidXR0b25zIGFyZSByZW5kZXJlZCBpbiB0aGVpciBwcm92aWRlZCBvcmRlciBhdCB0aGUgcmlnaHQgZW5kIG9mIGFuIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBhY3Rpb25zPzogRHJhZ0FuZERyb3BMaXN0QWN0aW9uW107XG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZ2dpbmdEaXNhYmxlZCcpIGdldCBkcmFnZ2luZ0Rpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbVRlbXBsYXRlJykgZ2V0IGhhc0N1c3RvbVRlbXBsYXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMuY3VzdG9tVGVtcGxhdGVSZWY7XG4gIH1cblxuICBAQ29udGVudENoaWxkKCdjdXN0b21UZW1wbGF0ZScpIGN1c3RvbVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIHRyYWNrQnlBY3Rpb24oX2luZGV4OiBudW1iZXIsIGFjdGlvbjogRHJhZ0FuZERyb3BMaXN0QWN0aW9uKSB7XG4gICAgcmV0dXJuIGFjdGlvbi5pZDtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21UZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZHJhZy1pdGVtLXdyYXBwcGVyXCI+XG4gICAgPGkgKm5nSWY9XCJkcmFnZ2FibGVcIiBjbGFzcz1cImZhciBmYS1iYXJzIGRyYWctaGFuZGxlXCI+PC9pPlxuICAgIDxzcGFuIFthdHRyLnRpdGxlXT1cIml0ZW1cIiBjbGFzcz1cIml0ZW1XcmFwcGVyRm9yVHJ1bmNhdGlvbiB0cnVuY2F0ZVwiPnt7IGl0ZW0gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibGVmdC1idXR0b24tY29udGFpbmVyXCIgYWxpZ249XCJsZWZ0XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zLXdyYXBwZXJcIiAqbmdJZj1cIiEhYWN0aW9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBseC1idXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdCBvZiBhY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uXCJcbiAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5lbWl0KHsgYWN0aW9uSWQ6IGFjdC5pZCwgaXRlbTogaXRlbSB9KVwiXG4gICAgICAgIFt0aXRsZV09XCJhY3QubGFiZWxcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBtb2RlPVwiZ2hvc3RcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICBbY2xhc3Muc2hvdy1vbi1ob3Zlci1idXR0b25dPVwiYWN0LnNob3dPbmx5T25Ib3ZlciA/IHRydWUgOiBmYWxzZVwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIHt7IGFjdC5pY29uIH19IGFjdGlvbkljb25cIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { TooltipDirective } from '../../../../core-ui/tooltip/tooltip.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/cdk/drag-drop";
|
|
6
|
-
import * as i2 from "@angular/cdk/overlay";
|
|
7
|
-
export class KeyboardSortableItemDirective {
|
|
8
|
-
constructor(draggableItem, overlayPositionBuilder, element, overlay) {
|
|
9
|
-
this.draggableItem = draggableItem;
|
|
10
|
-
this.overlayPositionBuilder = overlayPositionBuilder;
|
|
11
|
-
this.element = element;
|
|
12
|
-
this.overlay = overlay;
|
|
13
|
-
this.isSortingByKeyboardChange = new EventEmitter();
|
|
14
|
-
this.itemBeingSortedChange = new EventEmitter();
|
|
15
|
-
this.sortItemsWithKeyboard = new EventEmitter();
|
|
16
|
-
this.tooltipDirective = new TooltipDirective(this.overlayPositionBuilder, this.element, this.overlay);
|
|
17
|
-
this.isBeingSorted = false;
|
|
18
|
-
this.preventBlur = false;
|
|
19
|
-
this.focusWithKeyboardReplaySubject$ = new ReplaySubject(1);
|
|
20
|
-
/**
|
|
21
|
-
* Using a ReplaySubject here so that the KeyboardSortableListDirective will also know
|
|
22
|
-
* about a focusWithKeyboard event when its copy of the KeyboardSortableItemDirective ContentChildren
|
|
23
|
-
* was just initialised after the event fired.
|
|
24
|
-
*/
|
|
25
|
-
this.focusWithKeyboard = this.focusWithKeyboardReplaySubject$.asObservable();
|
|
26
|
-
}
|
|
27
|
-
get isSortable() {
|
|
28
|
-
return !this.draggableItem.disabled;
|
|
29
|
-
}
|
|
30
|
-
ngOnChanges() {
|
|
31
|
-
this.isBeingSorted = this.itemData === this.itemBeingSorted;
|
|
32
|
-
if (this.isBeingSorted) {
|
|
33
|
-
// focus always the pressed element
|
|
34
|
-
this.element.nativeElement.focus();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
focusViaKeyboard() {
|
|
38
|
-
this.focusWithKeyboardReplaySubject$.next(this);
|
|
39
|
-
}
|
|
40
|
-
enterSortingModeEnabledByKeyboard($event) {
|
|
41
|
-
if ($event.target === this.element.nativeElement) {
|
|
42
|
-
if ($event.code === 'Enter' || $event.code === 'Space') {
|
|
43
|
-
$event.preventDefault();
|
|
44
|
-
this.tooltipDirective.hide();
|
|
45
|
-
this.itemBeingSortedChange.emit(!this.isSortingByKeyboard ? this.itemData : undefined);
|
|
46
|
-
this.isSortingByKeyboardChange.emit(!this.isSortingByKeyboard);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
leaveSortingModeEnabledByKeyboard($event) {
|
|
51
|
-
if ($event.target === this.element.nativeElement) {
|
|
52
|
-
this.tooltipDirective.hide();
|
|
53
|
-
if (!this.preventBlur) {
|
|
54
|
-
this.isSortingByKeyboardChange.emit(false);
|
|
55
|
-
this.itemBeingSortedChange.emit(undefined);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
sort($event) {
|
|
60
|
-
if ($event.target === this.element.nativeElement) {
|
|
61
|
-
this.tooltipDirective.hide();
|
|
62
|
-
if (this.isSortingByKeyboard) {
|
|
63
|
-
const allItemsData = this.allItemsData ?? [];
|
|
64
|
-
$event.preventDefault();
|
|
65
|
-
const previousIndex = allItemsData.findIndex((item) => item === this.itemData);
|
|
66
|
-
const currentIndex = $event.code === 'ArrowUp' ? previousIndex - 1 : previousIndex + 1;
|
|
67
|
-
if (currentIndex >= 0 && currentIndex <= allItemsData.length - 1) {
|
|
68
|
-
this.sortItemsWithKeyboard.emit({ previousIndex, currentIndex });
|
|
69
|
-
// When triggering a keyboard event, the DOM would "removeChildren" on the HTML element
|
|
70
|
-
// which specially for "ArrowUp" events would trigger a "blur" event since the element
|
|
71
|
-
// has been moved aboved the DOM tree and loses the focus state.
|
|
72
|
-
this.preventBlur = true;
|
|
73
|
-
setTimeout(() => (this.preventBlur = false), 0);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
KeyboardSortableItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardSortableItemDirective, deps: [{ token: i1.CdkDrag }, { token: i2.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
|
|
80
|
-
KeyboardSortableItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: { allItemsData: ["lxKeyboardSortableItem", "allItemsData"], itemData: ["lxKeyboardItemData", "itemData"], isSortingByKeyboard: "isSortingByKeyboard", itemBeingSorted: ["lxKeyboardItemBeingSorted", "itemBeingSorted"] }, outputs: { isSortingByKeyboardChange: "isSortingByKeyboardChange", itemBeingSortedChange: "lxKeyboardItemBeingSortedChange", sortItemsWithKeyboard: "sortItemsWithKeyboard", focusWithKeyboard: "focusWithKeyboard" }, host: { listeners: { "keyup.tab": "focusViaKeyboard()", "keydown.enter": "enterSortingModeEnabledByKeyboard($event)", "keydown.space": "enterSortingModeEnabledByKeyboard($event)", "blur": "leaveSortingModeEnabledByKeyboard($event)", "keydown.esc": "leaveSortingModeEnabledByKeyboard($event)", "keydown.arrowUp": "sort($event)", "keydown.arrowDown": "sort($event)" }, properties: { "attr.lxTooltip": "this.tooltipDirective", "class.isBeingSortedByKeyboard": "this.isBeingSorted" } }, usesOnChanges: true, ngImport: i0 });
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: KeyboardSortableItemDirective, decorators: [{
|
|
82
|
-
type: Directive,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: '[lxKeyboardSortableItem]'
|
|
85
|
-
}]
|
|
86
|
-
}], ctorParameters: function () { return [{ type: i1.CdkDrag }, { type: i2.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i2.Overlay }]; }, propDecorators: { allItemsData: [{
|
|
87
|
-
type: Input,
|
|
88
|
-
args: ['lxKeyboardSortableItem']
|
|
89
|
-
}], itemData: [{
|
|
90
|
-
type: Input,
|
|
91
|
-
args: ['lxKeyboardItemData']
|
|
92
|
-
}], isSortingByKeyboard: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], itemBeingSorted: [{
|
|
95
|
-
type: Input,
|
|
96
|
-
args: ['lxKeyboardItemBeingSorted']
|
|
97
|
-
}], isSortingByKeyboardChange: [{
|
|
98
|
-
type: Output
|
|
99
|
-
}], itemBeingSortedChange: [{
|
|
100
|
-
type: Output,
|
|
101
|
-
args: ['lxKeyboardItemBeingSortedChange']
|
|
102
|
-
}], sortItemsWithKeyboard: [{
|
|
103
|
-
type: Output
|
|
104
|
-
}], focusWithKeyboard: [{
|
|
105
|
-
type: Output
|
|
106
|
-
}], tooltipDirective: [{
|
|
107
|
-
type: HostBinding,
|
|
108
|
-
args: ['attr.lxTooltip']
|
|
109
|
-
}], isBeingSorted: [{
|
|
110
|
-
type: HostBinding,
|
|
111
|
-
args: ['class.isBeingSortedByKeyboard']
|
|
112
|
-
}], focusViaKeyboard: [{
|
|
113
|
-
type: HostListener,
|
|
114
|
-
args: ['keyup.tab']
|
|
115
|
-
}], enterSortingModeEnabledByKeyboard: [{
|
|
116
|
-
type: HostListener,
|
|
117
|
-
args: ['keydown.enter', ['$event']]
|
|
118
|
-
}, {
|
|
119
|
-
type: HostListener,
|
|
120
|
-
args: ['keydown.space', ['$event']]
|
|
121
|
-
}], leaveSortingModeEnabledByKeyboard: [{
|
|
122
|
-
type: HostListener,
|
|
123
|
-
args: ['blur', ['$event']]
|
|
124
|
-
}, {
|
|
125
|
-
type: HostListener,
|
|
126
|
-
args: ['keydown.esc', ['$event']]
|
|
127
|
-
}], sort: [{
|
|
128
|
-
type: HostListener,
|
|
129
|
-
args: ['keydown.arrowUp', ['$event']]
|
|
130
|
-
}, {
|
|
131
|
-
type: HostListener,
|
|
132
|
-
args: ['keydown.arrowDown', ['$event']]
|
|
133
|
-
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc29ydGFibGUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7O0FBS2pGLE1BQU0sT0FBTyw2QkFBNkI7SUFxQnhDLFlBQ1UsYUFBc0IsRUFDdEIsc0JBQThDLEVBQzlDLE9BQWdDLEVBQ2hDLE9BQWdCO1FBSGhCLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQW5CUCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3ZCLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ3pHLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFtRCxDQUFDO1FBR3ZFLHFCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xGLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBTXJFLGdCQUFXLEdBQUcsS0FBSyxDQUFD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RSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzFDLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LXJlbmFtZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuaW1wb3J0IHsgQ2RrRHJhZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHhLZXlib2FyZFNvcnRhYmxlSXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCdseEtleWJvYXJkU29ydGFibGVJdGVtJykgYWxsSXRlbXNEYXRhITogc3RyaW5nW10gfCBudWxsO1xuICBASW5wdXQoJ2x4S2V5Ym9hcmRJdGVtRGF0YScpIGl0ZW1EYXRhITogc3RyaW5nO1xuICBASW5wdXQoKSBpc1NvcnRpbmdCeUtleWJvYXJkITogYm9vbGVhbjtcbiAgQElucHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkJykgaXRlbUJlaW5nU29ydGVkPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBpc1NvcnRpbmdCeUtleWJvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkQ2hhbmdlJykgcmVhZG9ubHkgaXRlbUJlaW5nU29ydGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIEBPdXRwdXQoKSBzb3J0SXRlbXNXaXRoS2V5Ym9hcmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBjdXJyZW50SW5kZXg6IG51bWJlciB9PigpO1xuICBAT3V0cHV0KCkgZm9jdXNXaXRoS2V5Ym9hcmQhOiBPYnNlcnZhYmxlPEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlPjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubHhUb29sdGlwJykgdG9vbHRpcERpcmVjdGl2ZSA9IG5ldyBUb29sdGlwRGlyZWN0aXZlKHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgdGhpcy5lbGVtZW50LCB0aGlzLm92ZXJsYXkpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzQmVpbmdTb3J0ZWRCeUtleWJvYXJkJykgaXNCZWluZ1NvcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpc1NvcnRhYmxlKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGVJdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50Qmx1ciA9IGZhbHNlO1xuICBwcml2YXRlIGZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkcmFnZ2FibGVJdGVtOiBDZGtEcmFnLFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxuICApIHtcbiAgICAvKipcbiAgICAgKiBVc2luZyBhIFJlcGxheVN1YmplY3QgaGVyZSBzbyB0aGF0IHRoZSBLZXlib2FyZFNvcnRhYmxlTGlzdERpcmVjdGl2ZSB3aWxsIGFsc28ga25vd1xuICAgICAqIGFib3V0IGEgZm9jdXNXaXRoS2V5Ym9hcmQgZXZlbnQgd2hlbiBpdHMgY29weSBvZiB0aGUgS2V5Ym9hcmRTb3J0YWJsZUl0ZW1EaXJlY3RpdmUgQ29udGVudENoaWxkcmVuXG4gICAgICogd2FzIGp1c3QgaW5pdGlhbGlzZWQgYWZ0ZXIgdGhlIGV2ZW50IGZpcmVkLlxuICAgICAqL1xuICAgIHRoaXMuZm9jdXNXaXRoS2V5Ym9hcmQgPSB0aGlzLmZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmlzQmVpbmdTb3J0ZWQgPSB0aGlzLml0ZW1EYXRhID09PSB0aGlzLml0ZW1CZWluZ1NvcnRlZDtcbiAgICBpZiAodGhpcy5pc0JlaW5nU29ydGVkKSB7XG4gICAgICAvLyBmb2N1cyBhbHdheXMgdGhlIHByZXNzZWQgZWxlbWVudFxuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cC50YWInKVxuICBmb2N1c1ZpYUtleWJvYXJkKCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNXaXRoS2V5Ym9hcmRSZXBsYXlTdWJqZWN0JC5uZXh0KHRoaXMpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICBlbnRlclNvcnRpbmdNb2RlRW5hYmxlZEJ5S2V5Ym9hcmQoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBpZiAoJGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgJGV2ZW50LmNvZGUgPT09ICdTcGFjZScpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudG9vbHRpcERpcmVjdGl2ZS5oaWRlKCk7XG5cbiAgICAgICAgdGhpcy5pdGVtQmVpbmdTb3J0ZWRDaGFuZ2UuZW1pdCghdGhpcy5pc1NvcnRpbmdCeUtleWJvYXJkID8gdGhpcy5pdGVtRGF0YSA6IHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZENoYW5nZS5lbWl0KCF0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycsIFsnJGV2ZW50J10pXG4gIGxlYXZlU29ydGluZ01vZGVFbmFibGVkQnlLZXlib2FyZCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuICAgICAgaWYgKCF0aGlzLnByZXZlbnRCbHVyKSB7XG4gICAgICAgIHRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5pdGVtQmVpbmdTb3J0ZWRDaGFuZ2UuZW1pdCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duJywgWyckZXZlbnQnXSlcbiAgc29ydCgkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMudG9vbHRpcERpcmVjdGl2ZS5oaWRlKCk7XG4gICAgICBpZiAodGhpcy5pc1NvcnRpbmdCeUtleWJvYXJkKSB7XG4gICAgICAgIGNvbnN0IGFsbEl0ZW1zRGF0YSA9IHRoaXMuYWxsSXRlbXNEYXRhID8/IFtdO1xuXG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBhbGxJdGVtc0RhdGEuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtID09PSB0aGlzLml0ZW1EYXRhKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gJGV2ZW50LmNvZGUgPT09ICdBcnJvd1VwJyA/IHByZXZpb3VzSW5kZXggLSAxIDogcHJldmlvdXNJbmRleCArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+PSAwICYmIGN1cnJlbnRJbmRleCA8PSBhbGxJdGVtc0RhdGEubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHRoaXMuc29ydEl0ZW1zV2l0aEtleWJvYXJkLmVtaXQoeyBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXggfSk7XG5cbiAgICAgICAgICAvLyBXaGVuIHRyaWdnZXJpbmcgYSBrZXlib2FyZCBldmVudCwgdGhlIERPTSB3b3VsZCBcInJlbW92ZUNoaWxkcmVuXCIgb24gdGhlIEhUTUwgZWxlbWVudFxuICAgICAgICAgIC8vIHdoaWNoIHNwZWNpYWxseSBmb3IgXCJBcnJvd1VwXCIgZXZlbnRzIHdvdWxkIHRyaWdnZXIgYSBcImJsdXJcIiBldmVudCBzaW5jZSB0aGUgZWxlbWVudFxuICAgICAgICAgIC8vIGhhcyBiZWVuIG1vdmVkIGFib3ZlZCB0aGUgRE9NIHRyZWUgYW5kIGxvc2VzIHRoZSBmb2N1cyBzdGF0ZS5cbiAgICAgICAgICB0aGlzLnByZXZlbnRCbHVyID0gdHJ1ZTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMucHJldmVudEJsdXIgPSBmYWxzZSksIDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|