@seniorsistemas/data-seniorx-core 2.3.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/constants/autocomplete.const.d.ts +4 -0
- package/core/constants/context-selector.const.d.ts +1 -0
- package/core/constants/gantt.const.d.ts +7 -0
- package/core/constants/hyperlink.const.d.ts +1 -0
- package/core/constants/inline-edit.const.d.ts +4 -0
- package/core/constants/kanban.const.d.ts +2 -0
- package/core/constants/pin-code-field.const.d.ts +5 -0
- package/core/constants/rating-scale.const.d.ts +1 -0
- package/core/constants/spotlight.const.d.ts +8 -0
- package/core/constants/star-rating.const.d.ts +4 -0
- package/core/constants/stepper.const.d.ts +1 -0
- package/core/constants/tiered-menu.const.d.ts +3 -0
- package/core/types/autocomplete.type.d.ts +9 -0
- package/core/types/chat.type.d.ts +12 -0
- package/core/types/checkbox-list.type.d.ts +12 -0
- package/core/types/gantt.type.d.ts +22 -0
- package/core/types/grid-menu.type.d.ts +13 -0
- package/core/types/hyperlink.type.d.ts +1 -0
- package/core/types/image-cropper.type.d.ts +20 -0
- package/core/types/inline-edit.type.d.ts +26 -0
- package/core/types/kanban.type.d.ts +36 -0
- package/core/types/panel.type.d.ts +16 -0
- package/core/types/profile-picture-picker.type.d.ts +9 -0
- package/core/types/rating-scale.type.d.ts +5 -0
- package/core/types/select-button.type.d.ts +1 -0
- package/core/types/spotlight.type.d.ts +34 -0
- package/core/types/star-rating.type.d.ts +1 -0
- package/core/types/stepper.type.d.ts +20 -0
- package/core/types/table-column.type.d.ts +3 -1
- package/core/types/table-options.type.d.ts +8 -2
- package/core/types/table.type.d.ts +1 -1
- package/core/types/tiered-menu.type.d.ts +16 -0
- package/core/types/tree.type.d.ts +25 -0
- package/core/types/workspace-switch.type.d.ts +6 -0
- package/core/utils/body-scroll.util.d.ts +2 -0
- package/core/utils/roving-focus.util.d.ts +2 -0
- package/core/utils/selection.util.d.ts +3 -0
- package/core/utils/tree.util.d.ts +4 -0
- package/esm2022/core/constants/autocomplete.const.mjs +5 -0
- package/esm2022/core/constants/context-selector.const.mjs +2 -0
- package/esm2022/core/constants/gantt.const.mjs +7 -0
- package/esm2022/core/constants/hyperlink.const.mjs +2 -1
- package/esm2022/core/constants/inline-edit.const.mjs +5 -0
- package/esm2022/core/constants/kanban.const.mjs +3 -0
- package/esm2022/core/constants/pin-code-field.const.mjs +6 -0
- package/esm2022/core/constants/rating-scale.const.mjs +2 -0
- package/esm2022/core/constants/spotlight.const.mjs +9 -0
- package/esm2022/core/constants/star-rating.const.mjs +5 -0
- package/esm2022/core/constants/stepper.const.mjs +2 -0
- package/esm2022/core/constants/table.const.mjs +2 -2
- package/esm2022/core/constants/tiered-menu.const.mjs +4 -0
- package/esm2022/core/types/autocomplete.type.mjs +2 -0
- package/esm2022/core/types/chat.type.mjs +2 -0
- package/esm2022/core/types/checkbox-list.type.mjs +2 -0
- package/esm2022/core/types/gantt.type.mjs +2 -0
- package/esm2022/core/types/grid-menu.type.mjs +2 -0
- package/esm2022/core/types/hyperlink.type.mjs +1 -1
- package/esm2022/core/types/image-cropper.type.mjs +2 -0
- package/esm2022/core/types/inline-edit.type.mjs +2 -0
- package/esm2022/core/types/kanban.type.mjs +2 -0
- package/esm2022/core/types/panel.type.mjs +9 -0
- package/esm2022/core/types/profile-picture-picker.type.mjs +2 -0
- package/esm2022/core/types/rating-scale.type.mjs +2 -0
- package/esm2022/core/types/select-button.type.mjs +1 -1
- package/esm2022/core/types/spotlight.type.mjs +2 -0
- package/esm2022/core/types/star-rating.type.mjs +2 -0
- package/esm2022/core/types/stepper.type.mjs +7 -0
- package/esm2022/core/types/table-column.type.mjs +1 -1
- package/esm2022/core/types/table-options.type.mjs +1 -1
- package/esm2022/core/types/table.type.mjs +1 -1
- package/esm2022/core/types/tiered-menu.type.mjs +2 -0
- package/esm2022/core/types/tree.type.mjs +2 -0
- package/esm2022/core/types/workspace-switch.type.mjs +2 -0
- package/esm2022/core/utils/body-scroll.util.mjs +19 -0
- package/esm2022/core/utils/combobox.util.mjs +3 -2
- package/esm2022/core/utils/roving-focus.util.mjs +20 -0
- package/esm2022/core/utils/selection.util.mjs +13 -0
- package/esm2022/core/utils/string.util.mjs +8 -3
- package/esm2022/core/utils/tree.util.mjs +23 -0
- package/esm2022/features/accordion/accordion.component.mjs +2 -2
- package/esm2022/features/accordion/{accordion-item.component.mjs → components/accordion-item/accordion-item.component.mjs} +7 -7
- package/esm2022/features/autocomplete/autocomplete.component.mjs +501 -0
- package/esm2022/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +30 -0
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/features/card-list/card/card.component.mjs +63 -99
- package/esm2022/features/chat/chat.component.mjs +126 -0
- package/esm2022/features/checkbox-list/checkbox-list.component.mjs +125 -0
- package/esm2022/features/combobox/combobox.component.mjs +20 -8
- package/esm2022/features/context-selector/context-selector.component.mjs +198 -0
- package/esm2022/features/filters/filters.component.mjs +1 -1
- package/esm2022/features/gantt/components/gantt-side-table/gantt-side-table.component.mjs +17 -0
- package/esm2022/features/gantt/gantt-date.utils.mjs +97 -0
- package/esm2022/features/gantt/gantt.component.mjs +89 -0
- package/esm2022/features/gantt/gantt.engine.mjs +662 -0
- package/esm2022/features/grid-menu/grid-menu.component.mjs +104 -0
- package/esm2022/features/hyperlink/hyperlink.component.mjs +7 -4
- package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
- package/esm2022/features/image-cropper/image-cropper.component.mjs +218 -0
- package/esm2022/features/image-cropper/services/image-cropper.service.mjs +50 -0
- package/esm2022/features/infinite-scroll/infinite-scroll.directive.mjs +89 -0
- package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
- package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +38 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.mjs +29 -0
- package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +131 -0
- package/esm2022/features/inline-edit/fields/inline-edit-field.mjs +17 -0
- package/esm2022/features/inline-edit/fields/inline-edit-number-field.mjs +15 -0
- package/esm2022/features/inline-edit/fields/inline-edit-text-field.mjs +11 -0
- package/esm2022/features/inline-edit/fields/inline-edit-textarea-field.mjs +15 -0
- package/esm2022/features/inline-edit/inline-edit.component.mjs +27 -0
- package/esm2022/features/interactive-content/interactive-content.directive.mjs +140 -0
- package/esm2022/features/kanban/components/kanban-column/kanban-column.component.mjs +88 -0
- package/esm2022/features/kanban/components/kanban-item/kanban-item.component.mjs +72 -0
- package/esm2022/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +19 -0
- package/esm2022/features/kanban/directives/kanban-template.directive.mjs +22 -0
- package/esm2022/features/kanban/kanban.component.mjs +198 -0
- package/esm2022/features/kanban/services/kanban-event.service.mjs +27 -0
- package/esm2022/features/loading-state/loading-state.component.mjs +3 -62
- package/esm2022/features/mouse-events/directives/double-click.directive.mjs +34 -0
- package/esm2022/features/mouse-events/directives/long-press.directive.mjs +61 -0
- package/esm2022/features/paginator/paginator.component.mjs +8 -3
- package/esm2022/features/panel/panel.component.mjs +43 -11
- package/esm2022/features/pin-code-field/pin-code-field.component.mjs +234 -0
- package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +330 -0
- package/esm2022/features/rating-scale/rating-scale.component.mjs +86 -0
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
- package/esm2022/features/scaffold/scaffold.component.mjs +4 -6
- package/esm2022/features/select-button/select-button.component.mjs +7 -4
- package/esm2022/features/speech-recognition/services/speech-recognition.service.mjs +148 -0
- package/esm2022/features/speech-recognition/services/text-to-speech.service.mjs +88 -0
- package/esm2022/features/speech-recognition/speech-recognition.component.mjs +243 -0
- package/esm2022/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.mjs +521 -0
- package/esm2022/features/spotlight/directives/spotlight-step.directive.mjs +38 -0
- package/esm2022/features/spotlight/services/spotlight-tour.service.mjs +179 -0
- package/esm2022/features/spotlight/spotlight.component.mjs +160 -0
- package/esm2022/features/star-rating/star-rating.component.mjs +95 -0
- package/esm2022/features/stepper/stepper.component.mjs +86 -0
- package/esm2022/features/switch/switch.component.mjs +12 -8
- package/esm2022/features/tab/{tab-item.component.mjs → components/tab-item/tab-item.component.mjs} +1 -1
- package/esm2022/features/tab/tab.component.mjs +4 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +14 -5
- package/esm2022/features/table/table.component.mjs +220 -29
- package/esm2022/features/table/utils/table-data.util.mjs +71 -8
- package/esm2022/features/table/utils/table-layout.util.mjs +21 -1
- package/esm2022/features/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +367 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +97 -0
- package/esm2022/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +181 -0
- package/esm2022/features/tiered-menu/directives/tiered-menu.directive.mjs +246 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.event.service.mjs +16 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.global.service.mjs +12 -0
- package/esm2022/features/tiered-menu/services/tiered-menu.service.mjs +49 -0
- package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +169 -0
- package/esm2022/features/tree/tree.component.mjs +211 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.mjs +41 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.mjs +38 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.mjs +29 -0
- package/esm2022/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.mjs +35 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-flow.service.mjs +106 -0
- package/esm2022/features/visual-sql-editor/services/visual-sql-editor-state.service.mjs +230 -0
- package/esm2022/features/visual-sql-editor/types/visual-sql-editor.types.mjs +2 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.mjs +72 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-sql.util.mjs +281 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor-text.util.mjs +37 -0
- package/esm2022/features/visual-sql-editor/utils/visual-sql-editor.constants.mjs +89 -0
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +172 -630
- package/esm2022/locales/en.json +351 -3
- package/esm2022/locales/es-CO.json +351 -3
- package/esm2022/locales/pt.json +351 -3
- package/esm2022/providers/features.provider.mjs +40 -4
- package/esm2022/public-api.mjs +56 -3
- package/features/accordion/accordion.component.d.ts +1 -1
- package/features/accordion/{accordion-item.component.d.ts → components/accordion-item/accordion-item.component.d.ts} +1 -1
- package/features/autocomplete/autocomplete.component.d.ts +102 -0
- package/features/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +11 -0
- package/features/card-list/card/card.component.d.ts +14 -34
- package/features/chat/chat.component.d.ts +31 -0
- package/features/checkbox-list/checkbox-list.component.d.ts +26 -0
- package/features/combobox/combobox.component.d.ts +2 -1
- package/features/context-selector/context-selector.component.d.ts +37 -0
- package/features/gantt/components/gantt-side-table/gantt-side-table.component.d.ts +8 -0
- package/features/gantt/gantt-date.utils.d.ts +36 -0
- package/features/gantt/gantt.component.d.ts +24 -0
- package/features/gantt/gantt.engine.d.ts +52 -0
- package/features/grid-menu/grid-menu.component.d.ts +29 -0
- package/features/hyperlink/hyperlink.component.d.ts +2 -1
- package/features/image-cropper/image-cropper.component.d.ts +43 -0
- package/features/image-cropper/services/image-cropper.service.d.ts +13 -0
- package/features/infinite-scroll/infinite-scroll.directive.d.ts +25 -0
- package/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
- package/features/inline-edit/components/fields/inline-edit-textarea/inline-edit-textarea.component.d.ts +13 -0
- package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +37 -0
- package/features/inline-edit/fields/inline-edit-field.d.ts +12 -0
- package/features/inline-edit/fields/inline-edit-number-field.d.ts +9 -0
- package/features/inline-edit/fields/inline-edit-text-field.d.ts +7 -0
- package/features/inline-edit/fields/inline-edit-textarea-field.d.ts +9 -0
- package/features/inline-edit/inline-edit.component.d.ts +13 -0
- package/features/interactive-content/interactive-content.directive.d.ts +31 -0
- package/features/kanban/components/kanban-column/kanban-column.component.d.ts +22 -0
- package/features/kanban/components/kanban-item/kanban-item.component.d.ts +23 -0
- package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +8 -0
- package/features/kanban/directives/kanban-template.directive.d.ts +10 -0
- package/features/kanban/kanban.component.d.ts +32 -0
- package/features/kanban/services/kanban-event.service.d.ts +15 -0
- package/features/loading-state/loading-state.component.d.ts +0 -2
- package/features/mouse-events/directives/double-click.directive.d.ts +11 -0
- package/features/mouse-events/directives/long-press.directive.d.ts +14 -0
- package/features/panel/panel.component.d.ts +12 -3
- package/features/pin-code-field/pin-code-field.component.d.ts +44 -0
- package/features/profile-picture-picker/profile-picture-picker.component.d.ts +77 -0
- package/features/rating-scale/rating-scale.component.d.ts +24 -0
- package/features/select-button/select-button.component.d.ts +2 -1
- package/features/speech-recognition/services/speech-recognition.service.d.ts +29 -0
- package/features/speech-recognition/services/text-to-speech.service.d.ts +24 -0
- package/features/speech-recognition/speech-recognition.component.d.ts +50 -0
- package/features/spotlight/components/spotlight-overlay/spotlight-overlay.component.d.ts +59 -0
- package/features/spotlight/directives/spotlight-step.directive.d.ts +13 -0
- package/features/spotlight/services/spotlight-tour.service.d.ts +46 -0
- package/features/spotlight/spotlight.component.d.ts +59 -0
- package/features/star-rating/star-rating.component.d.ts +26 -0
- package/features/stepper/stepper.component.d.ts +23 -0
- package/features/switch/switch.component.d.ts +2 -1
- package/features/tab/tab.component.d.ts +1 -1
- package/features/table/components/table-cell-content.component.d.ts +4 -3
- package/features/table/table.component.d.ts +40 -5
- package/features/table/utils/table-data.util.d.ts +1 -0
- package/features/table/utils/table-layout.util.d.ts +1 -0
- package/features/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +49 -0
- package/features/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
- package/features/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +19 -0
- package/features/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +26 -0
- package/features/tiered-menu/directives/tiered-menu.directive.d.ts +44 -0
- package/features/tiered-menu/services/tiered-menu.event.service.d.ts +13 -0
- package/features/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
- package/features/tiered-menu/services/tiered-menu.service.d.ts +14 -0
- package/features/tree/components/tree-node-item/tree-node-item.component.d.ts +37 -0
- package/features/tree/tree.component.d.ts +37 -0
- package/features/visual-sql-editor/components/visual-sql-editor-field-modal/visual-sql-editor-field-modal.component.d.ts +18 -0
- package/features/visual-sql-editor/components/visual-sql-editor-filter-modal/visual-sql-editor-filter-modal.component.d.ts +17 -0
- package/features/visual-sql-editor/components/visual-sql-editor-join-modal/visual-sql-editor-join-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-sort-modal/visual-sql-editor-sort-modal.component.d.ts +13 -0
- package/features/visual-sql-editor/components/visual-sql-editor-source-modal/visual-sql-editor-source-modal.component.d.ts +15 -0
- package/features/visual-sql-editor/services/visual-sql-editor-flow.service.d.ts +26 -0
- package/features/visual-sql-editor/services/visual-sql-editor-state.service.d.ts +72 -0
- package/features/visual-sql-editor/types/visual-sql-editor.types.d.ts +182 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sanitize.util.d.ts +14 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-sql.util.d.ts +81 -0
- package/features/visual-sql-editor/utils/visual-sql-editor-text.util.d.ts +15 -0
- package/features/visual-sql-editor/utils/visual-sql-editor.constants.d.ts +36 -0
- package/features/visual-sql-editor/visual-sql-editor.component.d.ts +37 -199
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14883 -6353
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +8 -8
- package/public-api.d.ts +72 -2
- package/src/locales/en.json +353 -15
- package/src/locales/es-CO.json +352 -14
- package/src/locales/pt.json +352 -14
- package/styles/sdc-global-variables.scss +1 -1
- package/styles.css +1 -1
- /package/features/tab/{tab-item.component.d.ts → components/tab-item/tab-item.component.d.ts} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, inject } from '@angular/core';
|
|
3
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import { KanbanEventService } from '../../services/kanban-event.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
export class KanbanItemComponent {
|
|
8
|
+
static nextCheckboxId = 0;
|
|
9
|
+
static allocateCheckboxId() {
|
|
10
|
+
const nextId = KanbanItemComponent.nextCheckboxId;
|
|
11
|
+
KanbanItemComponent.nextCheckboxId += 1;
|
|
12
|
+
return `kanban-item-${nextId}-checkbox`;
|
|
13
|
+
}
|
|
14
|
+
item;
|
|
15
|
+
selected = false;
|
|
16
|
+
showCheckbox = true;
|
|
17
|
+
headerTemplate = null;
|
|
18
|
+
bodyTemplate = null;
|
|
19
|
+
footerTemplate = null;
|
|
20
|
+
checkboxId = KanbanItemComponent.allocateCheckboxId();
|
|
21
|
+
showItemMenu = false;
|
|
22
|
+
eventService = inject(KanbanEventService);
|
|
23
|
+
destroy$ = new Subject();
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.eventService.selectItem$
|
|
26
|
+
.pipe(takeUntil(this.destroy$))
|
|
27
|
+
.subscribe(item => {
|
|
28
|
+
if (item === this.item) {
|
|
29
|
+
this.selected = true;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
this.eventService.unselectItem$
|
|
33
|
+
.pipe(takeUntil(this.destroy$))
|
|
34
|
+
.subscribe(item => {
|
|
35
|
+
if (item === this.item) {
|
|
36
|
+
this.selected = false;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
this.destroy$.next();
|
|
42
|
+
this.destroy$.complete();
|
|
43
|
+
}
|
|
44
|
+
onMenuToggle(event) {
|
|
45
|
+
event.stopPropagation();
|
|
46
|
+
this.showItemMenu = !this.showItemMenu;
|
|
47
|
+
}
|
|
48
|
+
onOptionClick(event, optionCommand) {
|
|
49
|
+
event.stopPropagation();
|
|
50
|
+
this.showItemMenu = false;
|
|
51
|
+
optionCommand(this.item);
|
|
52
|
+
}
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanItemComponent, isStandalone: true, selector: "sdc-kanban-item", inputs: { item: "item", selected: "selected", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", footerTemplate: "footerTemplate" }, ngImport: i0, template: "<div\n class=\"sdc-kanban-item\"\n [class.sdc-kanban-item--selected]=\"selected && !item.disabled\"\n [class.sdc-kanban-item--disabled]=\"item.disabled\"\n [class.sdc-kanban-item--frozen]=\"!item.disabled && item.frozen\">\n\n <div class=\"sdc-kanban-item__header\">\n @if (showCheckbox && !item.disabled && !item.frozen) {\n <input\n [id]=\"checkboxId\"\n type=\"checkbox\"\n class=\"sdc-kanban-item__checkbox\"\n aria-label=\"kanban item\"\n [checked]=\"selected\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\">\n }\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n }\n @if (item.options?.length && !item.disabled) {\n <button\n class=\"sdc-kanban-item__menu-btn\"\n type=\"button\"\n (click)=\"onMenuToggle($event)\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n @if (showItemMenu) {\n <ul class=\"sdc-kanban-item__menu\">\n @for (option of item.options; track option) {\n @if (option.divider) {\n <li class=\"sdc-kanban-item__menu-divider\"></li>\n } @else {\n <li class=\"sdc-kanban-item__menu-item\" [class.sdc-kanban-item__menu-item--disabled]=\"option.disabled\">\n <button\n type=\"button\"\n class=\"sdc-kanban-item__menu-action\"\n [disabled]=\"option.disabled\"\n (click)=\"onOptionClick($event, option.command)\">\n @if (option.iconClass) {\n <i [class]=\"option.iconClass\"></i>\n }\n @if (option.label) {\n <span>{{ option.label }}</span>\n }\n </button>\n </li>\n }\n }\n </ul>\n }\n }\n </div>\n\n @if (bodyTemplate) {\n <div class=\"sdc-kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n }\n\n @if (footerTemplate) {\n <div class=\"sdc-kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n }\n</div>\n", styles: [".sdc-kanban-item{--sdc-kanban-item-bg: #fff;--sdc-kanban-item-shadow: 0 1px 5px rgba(0, 0, 0, .25);--sdc-kanban-item-radius: 4px;--sdc-kanban-item-padding: .75rem;--sdc-kanban-item-selected-border: #428bca;--sdc-kanban-item-disabled-opacity: .5;--sdc-kanban-item-frozen-border: #a5a5b2;--sdc-kanban-item-menu-bg: #fff;--sdc-kanban-item-menu-border: #dedce5;--sdc-kanban-item-menu-shadow: 0 2px 8px rgba(0, 0, 0, .15);position:relative;background-color:var(--sdc-kanban-item-bg);border-radius:var(--sdc-kanban-item-radius);box-shadow:var(--sdc-kanban-item-shadow);padding:var(--sdc-kanban-item-padding);margin-bottom:.5rem;border:2px solid transparent;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.sdc-kanban-item:last-child{margin-bottom:0}.sdc-kanban-item--selected{border-color:var(--sdc-kanban-item-selected-border)}.sdc-kanban-item--disabled{opacity:var(--sdc-kanban-item-disabled-opacity);cursor:not-allowed}.sdc-kanban-item--frozen{border-color:var(--sdc-kanban-item-frozen-border);cursor:default}.sdc-kanban-item__header{display:flex;align-items:center;gap:.5rem;min-height:1.5rem}.sdc-kanban-item__checkbox{flex-shrink:0;cursor:pointer}.sdc-kanban-item__menu-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:2px;color:#6b6880;line-height:1}.sdc-kanban-item__menu-btn:hover{background-color:#0000000d}.sdc-kanban-item__menu{position:absolute;top:2rem;right:.5rem;z-index:100;background-color:var(--sdc-kanban-item-menu-bg);border:1px solid var(--sdc-kanban-item-menu-border);border-radius:4px;box-shadow:var(--sdc-kanban-item-menu-shadow);list-style:none;margin:0;padding:.25rem 0;min-width:10rem}.sdc-kanban-item__menu-divider{border-top:1px solid var(--sdc-kanban-item-menu-border);margin:.25rem 0}.sdc-kanban-item__menu-action{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;cursor:pointer;padding:.5rem 1rem;font-size:.875rem;text-align:left}.sdc-kanban-item__menu-item--disabled .sdc-kanban-item__menu-action{opacity:.5;cursor:not-allowed}.sdc-kanban-item__menu-action:hover:not(:disabled){background-color:#0000000a}.sdc-kanban-item__body{margin-top:.5rem}.sdc-kanban-item__footer{margin-top:.5rem;border-top:1px solid #f0eef5;padding-top:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ selector: 'sdc-kanban-item', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n class=\"sdc-kanban-item\"\n [class.sdc-kanban-item--selected]=\"selected && !item.disabled\"\n [class.sdc-kanban-item--disabled]=\"item.disabled\"\n [class.sdc-kanban-item--frozen]=\"!item.disabled && item.frozen\">\n\n <div class=\"sdc-kanban-item__header\">\n @if (showCheckbox && !item.disabled && !item.frozen) {\n <input\n [id]=\"checkboxId\"\n type=\"checkbox\"\n class=\"sdc-kanban-item__checkbox\"\n aria-label=\"kanban item\"\n [checked]=\"selected\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\">\n }\n @if (headerTemplate) {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: item }\"></ng-container>\n }\n @if (item.options?.length && !item.disabled) {\n <button\n class=\"sdc-kanban-item__menu-btn\"\n type=\"button\"\n (click)=\"onMenuToggle($event)\">\n <i class=\"fas fa-ellipsis-v\"></i>\n </button>\n @if (showItemMenu) {\n <ul class=\"sdc-kanban-item__menu\">\n @for (option of item.options; track option) {\n @if (option.divider) {\n <li class=\"sdc-kanban-item__menu-divider\"></li>\n } @else {\n <li class=\"sdc-kanban-item__menu-item\" [class.sdc-kanban-item__menu-item--disabled]=\"option.disabled\">\n <button\n type=\"button\"\n class=\"sdc-kanban-item__menu-action\"\n [disabled]=\"option.disabled\"\n (click)=\"onOptionClick($event, option.command)\">\n @if (option.iconClass) {\n <i [class]=\"option.iconClass\"></i>\n }\n @if (option.label) {\n <span>{{ option.label }}</span>\n }\n </button>\n </li>\n }\n }\n </ul>\n }\n }\n </div>\n\n @if (bodyTemplate) {\n <div class=\"sdc-kanban-item__body\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n }\n\n @if (footerTemplate) {\n <div class=\"sdc-kanban-item__footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: item }\"></ng-container>\n </div>\n }\n</div>\n", styles: [".sdc-kanban-item{--sdc-kanban-item-bg: #fff;--sdc-kanban-item-shadow: 0 1px 5px rgba(0, 0, 0, .25);--sdc-kanban-item-radius: 4px;--sdc-kanban-item-padding: .75rem;--sdc-kanban-item-selected-border: #428bca;--sdc-kanban-item-disabled-opacity: .5;--sdc-kanban-item-frozen-border: #a5a5b2;--sdc-kanban-item-menu-bg: #fff;--sdc-kanban-item-menu-border: #dedce5;--sdc-kanban-item-menu-shadow: 0 2px 8px rgba(0, 0, 0, .15);position:relative;background-color:var(--sdc-kanban-item-bg);border-radius:var(--sdc-kanban-item-radius);box-shadow:var(--sdc-kanban-item-shadow);padding:var(--sdc-kanban-item-padding);margin-bottom:.5rem;border:2px solid transparent;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.sdc-kanban-item:last-child{margin-bottom:0}.sdc-kanban-item--selected{border-color:var(--sdc-kanban-item-selected-border)}.sdc-kanban-item--disabled{opacity:var(--sdc-kanban-item-disabled-opacity);cursor:not-allowed}.sdc-kanban-item--frozen{border-color:var(--sdc-kanban-item-frozen-border);cursor:default}.sdc-kanban-item__header{display:flex;align-items:center;gap:.5rem;min-height:1.5rem}.sdc-kanban-item__checkbox{flex-shrink:0;cursor:pointer}.sdc-kanban-item__menu-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:2px;color:#6b6880;line-height:1}.sdc-kanban-item__menu-btn:hover{background-color:#0000000d}.sdc-kanban-item__menu{position:absolute;top:2rem;right:.5rem;z-index:100;background-color:var(--sdc-kanban-item-menu-bg);border:1px solid var(--sdc-kanban-item-menu-border);border-radius:4px;box-shadow:var(--sdc-kanban-item-menu-shadow);list-style:none;margin:0;padding:.25rem 0;min-width:10rem}.sdc-kanban-item__menu-divider{border-top:1px solid var(--sdc-kanban-item-menu-border);margin:.25rem 0}.sdc-kanban-item__menu-action{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;cursor:pointer;padding:.5rem 1rem;font-size:.875rem;text-align:left}.sdc-kanban-item__menu-item--disabled .sdc-kanban-item__menu-action{opacity:.5;cursor:not-allowed}.sdc-kanban-item__menu-action:hover:not(:disabled){background-color:#0000000a}.sdc-kanban-item__body{margin-top:.5rem}.sdc-kanban-item__footer{margin-top:.5rem;border-top:1px solid #f0eef5;padding-top:.5rem}\n"] }]
|
|
59
|
+
}], propDecorators: { item: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], selected: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], showCheckbox: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], headerTemplate: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], bodyTemplate: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], footerTemplate: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9rYW5iYW4vY29tcG9uZW50cy9rYW5iYW4taXRlbS9rYW5iYW4taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9jb21wb25lbnRzL2thbmJhbi1pdGVtL2thbmJhbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBSUwsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBV3pFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFFMUIsTUFBTSxDQUFDLGtCQUFrQjtRQUMvQixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDbEQsbUJBQW1CLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUN4QyxPQUFPLGVBQWUsTUFBTSxXQUFXLENBQUM7SUFDMUMsQ0FBQztJQUVRLElBQUksQ0FBYztJQUNsQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsY0FBYyxHQUFnQyxJQUFJLENBQUM7SUFDbkQsWUFBWSxHQUFnQyxJQUFJLENBQUM7SUFDakQsY0FBYyxHQUFnQyxJQUFJLENBQUM7SUFDbkQsVUFBVSxHQUFHLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFFL0QsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVKLFlBQVksR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTthQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWSxFQUFFLGFBQXlDO1FBQ25FLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7d0dBdERVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDJQQ3pCaEMsd3pFQWtFQSwrd0VEL0NZLFlBQVk7OzRGQU1YLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFXaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB0eXBlIHsgS2FuYmFuSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdHlwZXMva2FuYmFuLnR5cGUnO1xuaW1wb3J0IHsgS2FuYmFuRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMva2FuYmFuLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMta2FuYmFuLWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2thbmJhbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2thbmJhbi1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIG5leHRDaGVja2JveElkID0gMDtcblxuICBwcml2YXRlIHN0YXRpYyBhbGxvY2F0ZUNoZWNrYm94SWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBuZXh0SWQgPSBLYW5iYW5JdGVtQ29tcG9uZW50Lm5leHRDaGVja2JveElkO1xuICAgIEthbmJhbkl0ZW1Db21wb25lbnQubmV4dENoZWNrYm94SWQgKz0gMTtcbiAgICByZXR1cm4gYGthbmJhbi1pdGVtLSR7bmV4dElkfS1jaGVja2JveGA7XG4gIH1cblxuICBASW5wdXQoKSBpdGVtITogS2FuYmFuSXRlbTtcbiAgQElucHV0KCkgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94ID0gdHJ1ZTtcbiAgQElucHV0KCkgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGJvZHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG4gIHJlYWRvbmx5IGNoZWNrYm94SWQgPSBLYW5iYW5JdGVtQ29tcG9uZW50LmFsbG9jYXRlQ2hlY2tib3hJZCgpO1xuXG4gIHNob3dJdGVtTWVudSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEthbmJhbkV2ZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW0kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAgICBpZiAoaXRlbSA9PT0gdGhpcy5pdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2UudW5zZWxlY3RJdGVtJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuaXRlbSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbk1lbnVUb2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zaG93SXRlbU1lbnUgPSAhdGhpcy5zaG93SXRlbU1lbnU7XG4gIH1cblxuICBvbk9wdGlvbkNsaWNrKGV2ZW50OiBFdmVudCwgb3B0aW9uQ29tbWFuZDogKGl0ZW06IEthbmJhbkl0ZW0pID0+IHZvaWQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNob3dJdGVtTWVudSA9IGZhbHNlO1xuICAgIG9wdGlvbkNvbW1hbmQodGhpcy5pdGVtKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNkYy1rYW5iYW4taXRlbVwiXG4gIFtjbGFzcy5zZGMta2FuYmFuLWl0ZW0tLXNlbGVjdGVkXT1cInNlbGVjdGVkICYmICFpdGVtLmRpc2FibGVkXCJcbiAgW2NsYXNzLnNkYy1rYW5iYW4taXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gIFtjbGFzcy5zZGMta2FuYmFuLWl0ZW0tLWZyb3plbl09XCIhaXRlbS5kaXNhYmxlZCAmJiBpdGVtLmZyb3plblwiPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMta2FuYmFuLWl0ZW1fX2hlYWRlclwiPlxuICAgIEBpZiAoc2hvd0NoZWNrYm94ICYmICFpdGVtLmRpc2FibGVkICYmICFpdGVtLmZyb3plbikge1xuICAgICAgPGlucHV0XG4gICAgICAgIFtpZF09XCJjaGVja2JveElkXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2xhc3M9XCJzZGMta2FuYmFuLWl0ZW1fX2NoZWNrYm94XCJcbiAgICAgICAgYXJpYS1sYWJlbD1cImthbmJhbiBpdGVtXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgfVxuICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAaWYgKGl0ZW0ub3B0aW9ucz8ubGVuZ3RoICYmICFpdGVtLmRpc2FibGVkKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2RjLWthbmJhbi1pdGVtX19tZW51LWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25NZW51VG9nZ2xlKCRldmVudClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZWxsaXBzaXMtdlwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGlmIChzaG93SXRlbU1lbnUpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwic2RjLWthbmJhbi1pdGVtX19tZW51XCI+XG4gICAgICAgICAgQGZvciAob3B0aW9uIG9mIGl0ZW0ub3B0aW9uczsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICBAaWYgKG9wdGlvbi5kaXZpZGVyKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNkYy1rYW5iYW4taXRlbV9fbWVudS1kaXZpZGVyXCI+PC9saT5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzZGMta2FuYmFuLWl0ZW1fX21lbnUtaXRlbVwiIFtjbGFzcy5zZGMta2FuYmFuLWl0ZW1fX21lbnUtaXRlbS0tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNkYy1rYW5iYW4taXRlbV9fbWVudS1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25PcHRpb25DbGljaygkZXZlbnQsIG9wdGlvbi5jb21tYW5kKVwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChvcHRpb24uaWNvbkNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJvcHRpb24uaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmIChvcHRpb24ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoYm9keVRlbXBsYXRlKSB7XG4gICAgPGRpdiBjbGFzcz1cInNkYy1rYW5iYW4taXRlbV9fYm9keVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMta2FuYmFuLWl0ZW1fX2Zvb3RlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
package/esm2022/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
3
|
+
import { KANBAN_DRAGGING_KEY, KANBAN_ITEMS_SELECTED_KEY } from '../../../../core/constants/kanban.const';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
export class KanbanItemDraggingComponent {
|
|
7
|
+
quantityItems = 0;
|
|
8
|
+
draggingKey = KANBAN_DRAGGING_KEY;
|
|
9
|
+
itemsSelectedKey = KANBAN_ITEMS_SELECTED_KEY;
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemDraggingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanItemDraggingComponent, isStandalone: true, selector: "sdc-kanban-item-dragging", inputs: { quantityItems: "quantityItems" }, ngImport: i0, template: "<div class=\"sdc-kanban-item-dragging-container\">\n <div\n class=\"sdc-kanban-item-dragging\"\n [class.sdc-kanban-item-dragging--over]=\"quantityItems > 1\">\n <div class=\"sdc-kanban-item-dragging__content\">\n @if (quantityItems > 1) {\n <span>{{ quantityItems }} {{ itemsSelectedKey | translate }}</span>\n } @else {\n <span>{{ draggingKey | translate }}</span>\n }\n </div>\n </div>\n</div>\n", styles: [".sdc-kanban-item-dragging-container{--sdc-kanban-item-dragging-bg: #428bca;--sdc-kanban-item-dragging-color: #fff;--sdc-kanban-item-dragging-radius: 4px;--sdc-kanban-item-dragging-padding: .5rem 1rem;--sdc-kanban-item-dragging-over-bg: #2a6496;display:block}.sdc-kanban-item-dragging{display:flex;align-items:center;justify-content:center;background-color:var(--sdc-kanban-item-dragging-bg);color:var(--sdc-kanban-item-dragging-color);border-radius:var(--sdc-kanban-item-dragging-radius);padding:var(--sdc-kanban-item-dragging-padding);min-width:8rem;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #0000004d}.sdc-kanban-item-dragging--over{background-color:var(--sdc-kanban-item-dragging-over-bg)}.sdc-kanban-item-dragging__content{display:flex;align-items:center;gap:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanItemDraggingComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'sdc-kanban-item-dragging', standalone: true, imports: [TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-kanban-item-dragging-container\">\n <div\n class=\"sdc-kanban-item-dragging\"\n [class.sdc-kanban-item-dragging--over]=\"quantityItems > 1\">\n <div class=\"sdc-kanban-item-dragging__content\">\n @if (quantityItems > 1) {\n <span>{{ quantityItems }} {{ itemsSelectedKey | translate }}</span>\n } @else {\n <span>{{ draggingKey | translate }}</span>\n }\n </div>\n </div>\n</div>\n", styles: [".sdc-kanban-item-dragging-container{--sdc-kanban-item-dragging-bg: #428bca;--sdc-kanban-item-dragging-color: #fff;--sdc-kanban-item-dragging-radius: 4px;--sdc-kanban-item-dragging-padding: .5rem 1rem;--sdc-kanban-item-dragging-over-bg: #2a6496;display:block}.sdc-kanban-item-dragging{display:flex;align-items:center;justify-content:center;background-color:var(--sdc-kanban-item-dragging-bg);color:var(--sdc-kanban-item-dragging-color);border-radius:var(--sdc-kanban-item-dragging-radius);padding:var(--sdc-kanban-item-dragging-padding);min-width:8rem;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #0000004d}.sdc-kanban-item-dragging--over{background-color:var(--sdc-kanban-item-dragging-over-bg)}.sdc-kanban-item-dragging__content{display:flex;align-items:center;gap:.25rem}\n"] }]
|
|
16
|
+
}], propDecorators: { quantityItems: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWl0ZW0tZHJhZ2dpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9rYW5iYW4vY29tcG9uZW50cy9rYW5iYW4taXRlbS1kcmFnZ2luZy9rYW5iYW4taXRlbS1kcmFnZ2luZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9jb21wb25lbnRzL2thbmJhbi1pdGVtLWRyYWdnaW5nL2thbmJhbi1pdGVtLWRyYWdnaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBV3pHLE1BQU0sT0FBTywyQkFBMkI7SUFDN0IsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUVsQixXQUFXLEdBQUcsbUJBQW1CLENBQUM7SUFDbEMsZ0JBQWdCLEdBQUcseUJBQXlCLENBQUM7d0dBSjNDLDJCQUEyQjs0RkFBM0IsMkJBQTJCLGdJQ2R4QywwYkFhQSwyMEJETFksZUFBZTs7NEZBTWQsMkJBQTJCO2tCQVR2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUMsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IEtBTkJBTl9EUkFHR0lOR19LRVksIEtBTkJBTl9JVEVNU19TRUxFQ1RFRF9LRVkgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbnN0YW50cy9rYW5iYW4uY29uc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMta2FuYmFuLWl0ZW0tZHJhZ2dpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2thbmJhbi1pdGVtLWRyYWdnaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2thbmJhbi1pdGVtLWRyYWdnaW5nLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkl0ZW1EcmFnZ2luZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1YW50aXR5SXRlbXMgPSAwO1xuXG4gIHJlYWRvbmx5IGRyYWdnaW5nS2V5ID0gS0FOQkFOX0RSQUdHSU5HX0tFWTtcbiAgcmVhZG9ubHkgaXRlbXNTZWxlY3RlZEtleSA9IEtBTkJBTl9JVEVNU19TRUxFQ1RFRF9LRVk7XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWthbmJhbi1pdGVtLWRyYWdnaW5nLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZGMta2FuYmFuLWl0ZW0tZHJhZ2dpbmdcIlxuICAgIFtjbGFzcy5zZGMta2FuYmFuLWl0ZW0tZHJhZ2dpbmctLW92ZXJdPVwicXVhbnRpdHlJdGVtcyA+IDFcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLWthbmJhbi1pdGVtLWRyYWdnaW5nX19jb250ZW50XCI+XG4gICAgICBAaWYgKHF1YW50aXR5SXRlbXMgPiAxKSB7XG4gICAgICAgIDxzcGFuPnt7IHF1YW50aXR5SXRlbXMgfX0ge3sgaXRlbXNTZWxlY3RlZEtleSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8c3Bhbj57eyBkcmFnZ2luZ0tleSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class KanbanTemplateDirective {
|
|
4
|
+
template;
|
|
5
|
+
type = 'item-body';
|
|
6
|
+
constructor(template) {
|
|
7
|
+
this.template = template;
|
|
8
|
+
}
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KanbanTemplateDirective, isStandalone: true, selector: "ng-template[sdcKanbanTemplate]", inputs: { type: ["sdcKanbanTemplate", "type"] }, ngImport: i0 });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanTemplateDirective, decorators: [{
|
|
13
|
+
type: Directive,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'ng-template[sdcKanbanTemplate]',
|
|
16
|
+
standalone: true
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { type: [{
|
|
19
|
+
type: Input,
|
|
20
|
+
args: ['sdcKanbanTemplate']
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMva2FuYmFuL2RpcmVjdGl2ZXMva2FuYmFuLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFROUQsTUFBTSxPQUFPLHVCQUF1QjtJQUdOO0lBRkEsSUFBSSxHQUF1QixXQUFXLENBQUM7SUFFbkUsWUFBNEIsUUFBOEI7UUFBOUIsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7SUFBRyxDQUFDO3dHQUhuRCx1QkFBdUI7NEZBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7Z0ZBRTZCLElBQUk7c0JBQS9CLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBLYW5iYW5UZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2thbmJhbi50eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbc2RjS2FuYmFuVGVtcGxhdGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBLYW5iYW5UZW1wbGF0ZURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnc2RjS2FuYmFuVGVtcGxhdGUnKSB0eXBlOiBLYW5iYW5UZW1wbGF0ZVR5cGUgPSAnaXRlbS1ib2R5JztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxufVxuIl19
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, ViewEncapsulation, inject } from '@angular/core';
|
|
3
|
+
import { CdkDrag, CdkDragPreview, CdkDropList, CdkDropListGroup, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
4
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { KanbanColumnComponent } from './components/kanban-column/kanban-column.component';
|
|
6
|
+
import { KanbanItemComponent } from './components/kanban-item/kanban-item.component';
|
|
7
|
+
import { KanbanItemDraggingComponent } from './components/kanban-item-dragging/kanban-item-dragging.component';
|
|
8
|
+
import { KanbanTemplateDirective } from './directives/kanban-template.directive';
|
|
9
|
+
import { KanbanEventService } from './services/kanban-event.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
export class KanbanComponent {
|
|
13
|
+
data;
|
|
14
|
+
showItemCheckboxes = true;
|
|
15
|
+
showColumnCheckboxes = true;
|
|
16
|
+
itemsMoved = new EventEmitter();
|
|
17
|
+
dataUpdated = new EventEmitter();
|
|
18
|
+
itemsSelected = new EventEmitter();
|
|
19
|
+
templates;
|
|
20
|
+
selectedItems = new Set();
|
|
21
|
+
selectedColumn = null;
|
|
22
|
+
draggingItems = new Set();
|
|
23
|
+
eventService = inject(KanbanEventService);
|
|
24
|
+
cdr = inject(ChangeDetectorRef);
|
|
25
|
+
destroy$ = new Subject();
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this._normalizeData();
|
|
28
|
+
this._subscribeEvents();
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
this.destroy$.next();
|
|
32
|
+
this.destroy$.complete();
|
|
33
|
+
}
|
|
34
|
+
onDrop(event, targetColumn) {
|
|
35
|
+
const previousColumn = this.data.columns.find(c => c.items === event.previousContainer.data);
|
|
36
|
+
if (!previousColumn) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (event.previousContainer === event.container) {
|
|
40
|
+
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const draggedItem = event.item.data;
|
|
44
|
+
const additionalItems = this.selectedItems.has(draggedItem)
|
|
45
|
+
? [...this.selectedItems].filter(i => i !== draggedItem)
|
|
46
|
+
: [];
|
|
47
|
+
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
48
|
+
// Move additional selected items that still belong to the source column.
|
|
49
|
+
if (additionalItems.length > 0 && previousColumn) {
|
|
50
|
+
additionalItems
|
|
51
|
+
.filter(item => previousColumn.items.includes(item))
|
|
52
|
+
.forEach(item => {
|
|
53
|
+
const fromIndex = previousColumn.items.indexOf(item);
|
|
54
|
+
if (fromIndex !== -1) {
|
|
55
|
+
transferArrayItem(previousColumn.items, targetColumn.items, fromIndex, targetColumn.items.length);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const movedItems = [draggedItem, ...additionalItems];
|
|
60
|
+
this.itemsMoved.emit({ items: movedItems, previousColumn, targetColumn });
|
|
61
|
+
}
|
|
62
|
+
this.dataUpdated.emit(this.data);
|
|
63
|
+
this.selectedItems.clear();
|
|
64
|
+
this.draggingItems.clear();
|
|
65
|
+
this.itemsSelected.emit([]);
|
|
66
|
+
this.cdr.markForCheck();
|
|
67
|
+
}
|
|
68
|
+
onItemClick(event, item, column) {
|
|
69
|
+
const pointerEvent = event;
|
|
70
|
+
if (item.disabled || item.frozen) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (pointerEvent.ctrlKey || pointerEvent.metaKey) {
|
|
74
|
+
if (this.selectedItems.has(item)) {
|
|
75
|
+
this.selectedItems.delete(item);
|
|
76
|
+
this.eventService.emitUnselectItem(item);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
if (this.selectedColumn !== column) {
|
|
80
|
+
this.selectedItems.forEach(selectedItem => this.eventService.emitUnselectItem(selectedItem));
|
|
81
|
+
this.selectedItems.clear();
|
|
82
|
+
}
|
|
83
|
+
this.selectedItems.add(item);
|
|
84
|
+
this.selectedColumn = column;
|
|
85
|
+
this.eventService.emitSelectItem(item);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
if (this.selectedItems.has(item) && this.selectedItems.size === 1) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.selectedItems.forEach(selectedItem => this.eventService.emitUnselectItem(selectedItem));
|
|
93
|
+
this.selectedItems = new Set([item]);
|
|
94
|
+
this.selectedColumn = column;
|
|
95
|
+
this.eventService.emitSelectItem(item);
|
|
96
|
+
}
|
|
97
|
+
this.itemsSelected.emit([...this.selectedItems]);
|
|
98
|
+
this.cdr.markForCheck();
|
|
99
|
+
}
|
|
100
|
+
onDragStarted(item) {
|
|
101
|
+
this.draggingItems = this.selectedItems.has(item)
|
|
102
|
+
? new Set(this.selectedItems)
|
|
103
|
+
: new Set([item]);
|
|
104
|
+
this.cdr.markForCheck();
|
|
105
|
+
}
|
|
106
|
+
getTemplate(type) {
|
|
107
|
+
return this.templates?.find(template => template.type === type)?.template ?? null;
|
|
108
|
+
}
|
|
109
|
+
getColumnId(index) {
|
|
110
|
+
return `sdc-kanban-col-${index}`;
|
|
111
|
+
}
|
|
112
|
+
getConnectedDropLists(currentIndex) {
|
|
113
|
+
return this.data.columns
|
|
114
|
+
.map((_, index) => `sdc-kanban-col-${index}`)
|
|
115
|
+
.filter((_, index) => index !== currentIndex);
|
|
116
|
+
}
|
|
117
|
+
_normalizeData() {
|
|
118
|
+
if (!this.data) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
this.data.columns.forEach((column, index) => {
|
|
122
|
+
if (!column.id) {
|
|
123
|
+
column.id = `kanban-col-${index}`;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
_subscribeEvents() {
|
|
128
|
+
this.eventService.selectAllColumnItems$
|
|
129
|
+
.pipe(takeUntil(this.destroy$))
|
|
130
|
+
.subscribe(column => {
|
|
131
|
+
column.items
|
|
132
|
+
.filter(item => !item.disabled && !item.frozen)
|
|
133
|
+
.forEach(item => this.selectedItems.add(item));
|
|
134
|
+
this.selectedColumn = column;
|
|
135
|
+
this.itemsSelected.emit([...this.selectedItems]);
|
|
136
|
+
this.cdr.markForCheck();
|
|
137
|
+
});
|
|
138
|
+
this.eventService.unselectAllColumnItems$
|
|
139
|
+
.pipe(takeUntil(this.destroy$))
|
|
140
|
+
.subscribe(column => {
|
|
141
|
+
column.items.forEach(item => this.selectedItems.delete(item));
|
|
142
|
+
if (this.selectedItems.size === 0) {
|
|
143
|
+
this.selectedColumn = null;
|
|
144
|
+
}
|
|
145
|
+
this.itemsSelected.emit([...this.selectedItems]);
|
|
146
|
+
this.cdr.markForCheck();
|
|
147
|
+
});
|
|
148
|
+
this.eventService.selectItem$
|
|
149
|
+
.pipe(takeUntil(this.destroy$))
|
|
150
|
+
.subscribe(item => {
|
|
151
|
+
this.selectedItems.add(item);
|
|
152
|
+
this.itemsSelected.emit([...this.selectedItems]);
|
|
153
|
+
this.cdr.markForCheck();
|
|
154
|
+
});
|
|
155
|
+
this.eventService.unselectItem$
|
|
156
|
+
.pipe(takeUntil(this.destroy$))
|
|
157
|
+
.subscribe(item => {
|
|
158
|
+
this.selectedItems.delete(item);
|
|
159
|
+
if (this.selectedItems.size === 0) {
|
|
160
|
+
this.selectedColumn = null;
|
|
161
|
+
}
|
|
162
|
+
this.itemsSelected.emit([...this.selectedItems]);
|
|
163
|
+
this.cdr.markForCheck();
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanComponent, isStandalone: true, selector: "sdc-kanban", inputs: { data: "data", showItemCheckboxes: "showItemCheckboxes", showColumnCheckboxes: "showColumnCheckboxes" }, outputs: { itemsMoved: "itemsMoved", dataUpdated: "dataUpdated", itemsSelected: "itemsSelected" }, providers: [KanbanEventService], queries: [{ propertyName: "templates", predicate: KanbanTemplateDirective }], ngImport: i0, template: "<div class=\"sdc-kanban\" cdkDropListGroup>\n @for (column of data.columns; track $index; let i = $index) {\n <sdc-kanban-column\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"getTemplate('column-header')\"\n [emptyMessageTemplate]=\"getTemplate('column-empty-message')\"\n [style.--sdc-kanban-column-accent]=\"column.color ?? null\">\n\n <div\n cdkDropList\n [id]=\"getColumnId(i)\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getConnectedDropLists(i)\"\n (cdkDropListDropped)=\"onDrop($event, column)\">\n\n @for (item of column.items; track $index) {\n <sdc-kanban-item\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled ?? false\"\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"getTemplate('item-header')\"\n [bodyTemplate]=\"getTemplate('item-body')\"\n [footerTemplate]=\"getTemplate('item-footer')\"\n (click)=\"onItemClick($event, item, column)\"\n (keydown.enter)=\"onItemClick($event, item, column)\"\n (keydown.space)=\"onItemClick($event, item, column)\"\n (cdkDragStarted)=\"onDragStarted(item)\">\n\n <div *cdkDragPreview>\n <sdc-kanban-item-dragging\n [quantityItems]=\"draggingItems.size\">\n </sdc-kanban-item-dragging>\n </div>\n </sdc-kanban-item>\n }\n\n @if (column.items.length === 0) {\n <div class=\"sdc-kanban__empty\">\n <ng-container *ngTemplateOutlet=\"getTemplate('column-empty-message'); context: { $implicit: column }\">\n </ng-container>\n </div>\n }\n </div>\n </sdc-kanban-column>\n }\n</div>\n", styles: [".sdc-kanban{--sdc-kanban-gap: 1rem;--sdc-kanban-column-bg: #fbfafc;--sdc-kanban-column-border: #dedce5;--sdc-kanban-column-width: 20rem;--sdc-kanban-column-radius: .5rem;--sdc-kanban-item-bg: #fff;--sdc-kanban-item-shadow: 0 1px 5px rgba(0, 0, 0, .25);--sdc-kanban-item-radius: 4px;--sdc-kanban-item-selected-border: #428bca;--sdc-kanban-placeholder-color: #a5a5b2;display:flex;gap:var(--sdc-kanban-gap);overflow:auto;align-items:flex-start}.sdc-kanban .cdk-drag-placeholder{opacity:.4}.sdc-kanban .cdk-drop-list-dragging .sdc-kanban-item,.sdc-kanban .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.sdc-kanban__empty{padding:1rem;text-align:center;color:var(--sdc-kanban-placeholder-color);font-size:.875rem;min-height:3rem;display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "component", type: KanbanColumnComponent, selector: "sdc-kanban-column", inputs: ["data", "showCheckbox", "headerTemplate", "emptyMessageTemplate"] }, { kind: "component", type: KanbanItemComponent, selector: "sdc-kanban-item", inputs: ["item", "selected", "showCheckbox", "headerTemplate", "bodyTemplate", "footerTemplate"] }, { kind: "component", type: KanbanItemDraggingComponent, selector: "sdc-kanban-item-dragging", inputs: ["quantityItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
168
|
+
}
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanComponent, decorators: [{
|
|
170
|
+
type: Component,
|
|
171
|
+
args: [{ selector: 'sdc-kanban', standalone: true, imports: [
|
|
172
|
+
CommonModule,
|
|
173
|
+
CdkDropListGroup,
|
|
174
|
+
CdkDropList,
|
|
175
|
+
CdkDrag,
|
|
176
|
+
CdkDragPreview,
|
|
177
|
+
KanbanColumnComponent,
|
|
178
|
+
KanbanItemComponent,
|
|
179
|
+
KanbanItemDraggingComponent,
|
|
180
|
+
KanbanTemplateDirective
|
|
181
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, providers: [KanbanEventService], template: "<div class=\"sdc-kanban\" cdkDropListGroup>\n @for (column of data.columns; track $index; let i = $index) {\n <sdc-kanban-column\n [data]=\"column\"\n [showCheckbox]=\"showColumnCheckboxes\"\n [headerTemplate]=\"getTemplate('column-header')\"\n [emptyMessageTemplate]=\"getTemplate('column-empty-message')\"\n [style.--sdc-kanban-column-accent]=\"column.color ?? null\">\n\n <div\n cdkDropList\n [id]=\"getColumnId(i)\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"getConnectedDropLists(i)\"\n (cdkDropListDropped)=\"onDrop($event, column)\">\n\n @for (item of column.items; track $index) {\n <sdc-kanban-item\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"item.disabled ?? false\"\n [item]=\"item\"\n [selected]=\"selectedItems.has(item)\"\n [showCheckbox]=\"showItemCheckboxes\"\n [headerTemplate]=\"getTemplate('item-header')\"\n [bodyTemplate]=\"getTemplate('item-body')\"\n [footerTemplate]=\"getTemplate('item-footer')\"\n (click)=\"onItemClick($event, item, column)\"\n (keydown.enter)=\"onItemClick($event, item, column)\"\n (keydown.space)=\"onItemClick($event, item, column)\"\n (cdkDragStarted)=\"onDragStarted(item)\">\n\n <div *cdkDragPreview>\n <sdc-kanban-item-dragging\n [quantityItems]=\"draggingItems.size\">\n </sdc-kanban-item-dragging>\n </div>\n </sdc-kanban-item>\n }\n\n @if (column.items.length === 0) {\n <div class=\"sdc-kanban__empty\">\n <ng-container *ngTemplateOutlet=\"getTemplate('column-empty-message'); context: { $implicit: column }\">\n </ng-container>\n </div>\n }\n </div>\n </sdc-kanban-column>\n }\n</div>\n", styles: [".sdc-kanban{--sdc-kanban-gap: 1rem;--sdc-kanban-column-bg: #fbfafc;--sdc-kanban-column-border: #dedce5;--sdc-kanban-column-width: 20rem;--sdc-kanban-column-radius: .5rem;--sdc-kanban-item-bg: #fff;--sdc-kanban-item-shadow: 0 1px 5px rgba(0, 0, 0, .25);--sdc-kanban-item-radius: 4px;--sdc-kanban-item-selected-border: #428bca;--sdc-kanban-placeholder-color: #a5a5b2;display:flex;gap:var(--sdc-kanban-gap);overflow:auto;align-items:flex-start}.sdc-kanban .cdk-drag-placeholder{opacity:.4}.sdc-kanban .cdk-drop-list-dragging .sdc-kanban-item,.sdc-kanban .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.sdc-kanban__empty{padding:1rem;text-align:center;color:var(--sdc-kanban-placeholder-color);font-size:.875rem;min-height:3rem;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
182
|
+
}], propDecorators: { data: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], showItemCheckboxes: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], showColumnCheckboxes: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], itemsMoved: [{
|
|
189
|
+
type: Output
|
|
190
|
+
}], dataUpdated: [{
|
|
191
|
+
type: Output
|
|
192
|
+
}], itemsSelected: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}], templates: [{
|
|
195
|
+
type: ContentChildren,
|
|
196
|
+
args: [KanbanTemplateDirective]
|
|
197
|
+
}] } });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMva2FuYmFuL2thbmJhbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9rYW5iYW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04saUJBQWlCLEVBQ2pCLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUVQLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixpQkFBaUIsRUFDbEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBc0JyRSxNQUFNLE9BQU8sZUFBZTtJQUNqQixJQUFJLENBQWM7SUFDbEIsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQzFCLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUUzQixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFD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QkFDUCxjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHVCQUF1QjtxQkFDeEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVEsYUFDOUIsQ0FBQyxrQkFBa0IsQ0FBQzs4QkFHdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRW1DLFNBQVM7c0JBQWxELGVBQWU7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDZGtEcmFnLFxuICBDZGtEcmFnRHJvcCxcbiAgQ2RrRHJhZ1ByZXZpZXcsXG4gIENka0Ryb3BMaXN0LFxuICBDZGtEcm9wTGlzdEdyb3VwLFxuICBtb3ZlSXRlbUluQXJyYXksXG4gIHRyYW5zZmVyQXJyYXlJdGVtXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB0eXBlIHsgS2FuYmFuQ29sdW1uLCBLYW5iYW5EYXRhLCBLYW5iYW5JdGVtLCBLYW5iYW5JdGVtTW92ZWREYXRhLCBLYW5iYW5UZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2thbmJhbi50eXBlJztcbmltcG9ydCB7IEthbmJhbkNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9rYW5iYW4tY29sdW1uL2thbmJhbi1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEthbmJhbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva2FuYmFuLWl0ZW0va2FuYmFuLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEthbmJhbkl0ZW1EcmFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9rYW5iYW4taXRlbS1kcmFnZ2luZy9rYW5iYW4taXRlbS1kcmFnZ2luZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2FuYmFuVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMva2FuYmFuLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBLYW5iYW5FdmVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2thbmJhbi1ldmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWthbmJhbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2RrRHJvcExpc3RHcm91cCxcbiAgICBDZGtEcm9wTGlzdCxcbiAgICBDZGtEcmFnLFxuICAgIENka0RyYWdQcmV2aWV3LFxuICAgIEthbmJhbkNvbHVtbkNvbXBvbmVudCxcbiAgICBLYW5iYW5JdGVtQ29tcG9uZW50LFxuICAgIEthbmJhbkl0ZW1EcmFnZ2luZ0NvbXBvbmVudCxcbiAgICBLYW5iYW5UZW1wbGF0ZURpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2thbmJhbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgcHJvdmlkZXJzOiBbS2FuYmFuRXZlbnRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBLYW5iYW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRhdGEhOiBLYW5iYW5EYXRhO1xuICBASW5wdXQoKSBzaG93SXRlbUNoZWNrYm94ZXMgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Q29sdW1uQ2hlY2tib3hlcyA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGl0ZW1zTW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEthbmJhbkl0ZW1Nb3ZlZERhdGE+KCk7XG4gIEBPdXRwdXQoKSBkYXRhVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8S2FuYmFuRGF0YT4oKTtcbiAgQE91dHB1dCgpIGl0ZW1zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEthbmJhbkl0ZW1bXT4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEthbmJhblRlbXBsYXRlRGlyZWN0aXZlKSB0ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8S2FuYmFuVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gIHNlbGVjdGVkSXRlbXMgPSBuZXcgU2V0PEthbmJhbkl0ZW0+KCk7XG4gIHNlbGVjdGVkQ29sdW1uOiBLYW5iYW5Db2x1bW4gfCBudWxsID0gbnVsbDtcbiAgZHJhZ2dpbmdJdGVtcyA9IG5ldyBTZXQ8S2FuYmFuSXRlbT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50U2VydmljZSA9IGluamVjdChLYW5iYW5FdmVudFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX25vcm1hbGl6ZURhdGEoKTtcbiAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8S2FuYmFuSXRlbVtdPiwgdGFyZ2V0Q29sdW1uOiBLYW5iYW5Db2x1bW4pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c0NvbHVtbiA9IHRoaXMuZGF0YS5jb2x1bW5zLmZpbmQoYyA9PiBjLml0ZW1zID09PSBldmVudC5wcmV2aW91c0NvbnRhaW5lci5kYXRhKTtcblxuICAgIGlmICghcHJldmlvdXNDb2x1bW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBkcmFnZ2VkSXRlbSA9IGV2ZW50Lml0ZW0uZGF0YSBhcyBLYW5iYW5JdGVtO1xuICAgICAgY29uc3QgYWRkaXRpb25hbEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmhhcyhkcmFnZ2VkSXRlbSlcbiAgICAgICAgPyBbLi4udGhpcy5zZWxlY3RlZEl0ZW1zXS5maWx0ZXIoaSA9PiBpICE9PSBkcmFnZ2VkSXRlbSlcbiAgICAgICAgOiBbXTtcblxuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLFxuICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcbiAgICAgICk7XG5cbiAgICAgIC8vIE1vdmUgYWRkaXRpb25hbCBzZWxlY3RlZCBpdGVtcyB0aGF0IHN0aWxsIGJlbG9uZyB0byB0aGUgc291cmNlIGNvbHVtbi5cbiAgICAgIGlmIChhZGRpdGlvbmFsSXRlbXMubGVuZ3RoID4gMCAmJiBwcmV2aW91c0NvbHVtbikge1xuICAgICAgICBhZGRpdGlvbmFsSXRlbXNcbiAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gcHJldmlvdXNDb2x1bW4uaXRlbXMuaW5jbHVkZXMoaXRlbSkpXG4gICAgICAgICAgLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmcm9tSW5kZXggPSBwcmV2aW91c0NvbHVtbi5pdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGZyb21JbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb2x1bW4uaXRlbXMsXG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uLml0ZW1zLFxuICAgICAgICAgICAgICAgIGZyb21JbmRleCxcbiAgICAgICAgICAgICAgICB0YXJnZXRDb2x1bW4uaXRlbXMubGVuZ3RoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1vdmVkSXRlbXM6IEthbmJhbkl0ZW1bXSA9IFtkcmFnZ2VkSXRlbSwgLi4uYWRkaXRpb25hbEl0ZW1zXTtcbiAgICAgIHRoaXMuaXRlbXNNb3ZlZC5lbWl0KHsgaXRlbXM6IG1vdmVkSXRlbXMsIHByZXZpb3VzQ29sdW1uLCB0YXJnZXRDb2x1bW4gfSk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhVXBkYXRlZC5lbWl0KHRoaXMuZGF0YSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XG4gICAgdGhpcy5kcmFnZ2luZ0l0ZW1zLmNsZWFyKCk7XG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoW10pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JdGVtQ2xpY2soZXZlbnQ6IEV2ZW50LCBpdGVtOiBLYW5iYW5JdGVtLCBjb2x1bW46IEthbmJhbkNvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IGV2ZW50IGFzIE1vdXNlRXZlbnQ7XG5cbiAgICBpZiAoaXRlbS5kaXNhYmxlZCB8fCBpdGVtLmZyb3plbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwb2ludGVyRXZlbnQuY3RybEtleSB8fCBwb2ludGVyRXZlbnQubWV0YUtleSkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5oYXMoaXRlbSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShpdGVtKTtcbiAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdFVuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sdW1uICE9PSBjb2x1bW4pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaChzZWxlY3RlZEl0ZW0gPT4gdGhpcy5ldmVudFNlcnZpY2UuZW1pdFVuc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuYWRkKGl0ZW0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5lbWl0U2VsZWN0SXRlbShpdGVtKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5oYXMoaXRlbSkgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLnNpemUgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goc2VsZWN0ZWRJdGVtID0+IHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRVbnNlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtKSk7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBuZXcgU2V0KFtpdGVtXSk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdFNlbGVjdEl0ZW0oaXRlbSk7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25EcmFnU3RhcnRlZChpdGVtOiBLYW5iYW5JdGVtKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnZ2luZ0l0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmhhcyhpdGVtKVxuICAgICAgPyBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRJdGVtcylcbiAgICAgIDogbmV3IFNldChbaXRlbV0pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0VGVtcGxhdGUodHlwZTogS2FuYmFuVGVtcGxhdGVUeXBlKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXM/LmZpbmQodGVtcGxhdGUgPT4gdGVtcGxhdGUudHlwZSA9PT0gdHlwZSk/LnRlbXBsYXRlID8/IG51bGw7XG4gIH1cblxuICBnZXRDb2x1bW5JZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNkYy1rYW5iYW4tY29sLSR7aW5kZXh9YDtcbiAgfVxuXG4gIGdldENvbm5lY3RlZERyb3BMaXN0cyhjdXJyZW50SW5kZXg6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmNvbHVtbnNcbiAgICAgIC5tYXAoKF8sIGluZGV4KSA9PiBgc2RjLWthbmJhbi1jb2wtJHtpbmRleH1gKVxuICAgICAgLmZpbHRlcigoXywgaW5kZXgpID0+IGluZGV4ICE9PSBjdXJyZW50SW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplRGF0YSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghY29sdW1uLmlkKSB7XG4gICAgICAgIGNvbHVtbi5pZCA9IGBrYW5iYW4tY29sLSR7aW5kZXh9YDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5zZWxlY3RBbGxDb2x1bW5JdGVtcyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoY29sdW1uID0+IHtcbiAgICAgICAgY29sdW1uLml0ZW1zXG4gICAgICAgICAgLmZpbHRlcihpdGVtID0+ICFpdGVtLmRpc2FibGVkICYmICFpdGVtLmZyb3plbilcbiAgICAgICAgICAuZm9yRWFjaChpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5hZGQoaXRlbSkpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gY29sdW1uO1xuICAgICAgICB0aGlzLml0ZW1zU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5zZWxlY3RlZEl0ZW1zXSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50U2VydmljZS51bnNlbGVjdEFsbENvbHVtbkl0ZW1zJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShjb2x1bW4gPT4ge1xuICAgICAgICBjb2x1bW4uaXRlbXMuZm9yRWFjaChpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5kZWxldGUoaXRlbSkpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zLnNpemUgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1zU2VsZWN0ZWQuZW1pdChbLi4udGhpcy5zZWxlY3RlZEl0ZW1zXSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50U2VydmljZS5zZWxlY3RJdGVtJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShpdGVtID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChpdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2UudW5zZWxlY3RJdGVtJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShpdGVtID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShpdGVtKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5zaXplID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLmVtaXQoWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc10pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWthbmJhblwiIGNka0Ryb3BMaXN0R3JvdXA+XG4gIEBmb3IgKGNvbHVtbiBvZiBkYXRhLmNvbHVtbnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8c2RjLWthbmJhbi1jb2x1bW5cbiAgICAgIFtkYXRhXT1cImNvbHVtblwiXG4gICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDb2x1bW5DaGVja2JveGVzXCJcbiAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJnZXRUZW1wbGF0ZSgnY29sdW1uLWhlYWRlcicpXCJcbiAgICAgIFtlbXB0eU1lc3NhZ2VUZW1wbGF0ZV09XCJnZXRUZW1wbGF0ZSgnY29sdW1uLWVtcHR5LW1lc3NhZ2UnKVwiXG4gICAgICBbc3R5bGUuLS1zZGMta2FuYmFuLWNvbHVtbi1hY2NlbnRdPVwiY29sdW1uLmNvbG9yID8/IG51bGxcIj5cblxuICAgICAgPGRpdlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICBbaWRdPVwiZ2V0Q29sdW1uSWQoaSlcIlxuICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cImNvbHVtbi5pdGVtc1wiXG4gICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cImdldENvbm5lY3RlZERyb3BMaXN0cyhpKVwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudCwgY29sdW1uKVwiPlxuXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgY29sdW1uLml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8c2RjLWthbmJhbi1pdGVtXG4gICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWQgPz8gZmFsc2VcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRJdGVtcy5oYXMoaXRlbSlcIlxuICAgICAgICAgICAgW3Nob3dDaGVja2JveF09XCJzaG93SXRlbUNoZWNrYm94ZXNcIlxuICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImdldFRlbXBsYXRlKCdpdGVtLWhlYWRlcicpXCJcbiAgICAgICAgICAgIFtib2R5VGVtcGxhdGVdPVwiZ2V0VGVtcGxhdGUoJ2l0ZW0tYm9keScpXCJcbiAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJnZXRUZW1wbGF0ZSgnaXRlbS1mb290ZXInKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soJGV2ZW50LCBpdGVtLCBjb2x1bW4pXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSwgY29sdW1uKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0sIGNvbHVtbilcIlxuICAgICAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cIm9uRHJhZ1N0YXJ0ZWQoaXRlbSlcIj5cblxuICAgICAgICAgICAgPGRpdiAqY2RrRHJhZ1ByZXZpZXc+XG4gICAgICAgICAgICAgIDxzZGMta2FuYmFuLWl0ZW0tZHJhZ2dpbmdcbiAgICAgICAgICAgICAgICBbcXVhbnRpdHlJdGVtc109XCJkcmFnZ2luZ0l0ZW1zLnNpemVcIj5cbiAgICAgICAgICAgICAgPC9zZGMta2FuYmFuLWl0ZW0tZHJhZ2dpbmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NkYy1rYW5iYW4taXRlbT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoY29sdW1uLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGMta2FuYmFuX19lbXB0eVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKCdjb2x1bW4tZW1wdHktbWVzc2FnZScpOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L3NkYy1rYW5iYW4tY29sdW1uPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class KanbanEventService {
|
|
5
|
+
selectAllColumnItems$ = new Subject();
|
|
6
|
+
unselectAllColumnItems$ = new Subject();
|
|
7
|
+
selectItem$ = new Subject();
|
|
8
|
+
unselectItem$ = new Subject();
|
|
9
|
+
emitSelectAllColumnItems(col) {
|
|
10
|
+
this.selectAllColumnItems$.next(col);
|
|
11
|
+
}
|
|
12
|
+
emitUnselectAllColumnItems(col) {
|
|
13
|
+
this.unselectAllColumnItems$.next(col);
|
|
14
|
+
}
|
|
15
|
+
emitSelectItem(item) {
|
|
16
|
+
this.selectItem$.next(item);
|
|
17
|
+
}
|
|
18
|
+
emitUnselectItem(item) {
|
|
19
|
+
this.unselectItem$.next(item);
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanEventService, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9zZXJ2aWNlcy9rYW5iYW4tZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSy9CLE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIscUJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7SUFDcEQsdUJBQXVCLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7SUFDdEQsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFDeEMsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFFbkQsd0JBQXdCLENBQUMsR0FBaUI7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsMEJBQTBCLENBQUMsR0FBaUI7UUFDMUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFnQjtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQXBCVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBLYW5iYW5Db2x1bW4sIEthbmJhbkl0ZW0gfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2thbmJhbi50eXBlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEthbmJhbkV2ZW50U2VydmljZSB7XG4gIHJlYWRvbmx5IHNlbGVjdEFsbENvbHVtbkl0ZW1zJCA9IG5ldyBTdWJqZWN0PEthbmJhbkNvbHVtbj4oKTtcbiAgcmVhZG9ubHkgdW5zZWxlY3RBbGxDb2x1bW5JdGVtcyQgPSBuZXcgU3ViamVjdDxLYW5iYW5Db2x1bW4+KCk7XG4gIHJlYWRvbmx5IHNlbGVjdEl0ZW0kID0gbmV3IFN1YmplY3Q8S2FuYmFuSXRlbT4oKTtcbiAgcmVhZG9ubHkgdW5zZWxlY3RJdGVtJCA9IG5ldyBTdWJqZWN0PEthbmJhbkl0ZW0+KCk7XG5cbiAgZW1pdFNlbGVjdEFsbENvbHVtbkl0ZW1zKGNvbDogS2FuYmFuQ29sdW1uKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RBbGxDb2x1bW5JdGVtcyQubmV4dChjb2wpO1xuICB9XG5cbiAgZW1pdFVuc2VsZWN0QWxsQ29sdW1uSXRlbXMoY29sOiBLYW5iYW5Db2x1bW4pOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0QWxsQ29sdW1uSXRlbXMkLm5leHQoY29sKTtcbiAgfVxuXG4gIGVtaXRTZWxlY3RJdGVtKGl0ZW06IEthbmJhbkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEl0ZW0kLm5leHQoaXRlbSk7XG4gIH1cblxuICBlbWl0VW5zZWxlY3RJdGVtKGl0ZW06IEthbmJhbkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0SXRlbSQubmV4dChpdGVtKTtcbiAgfVxufVxuIl19
|