@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,29 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { TextareaComponent } from '../../../../textarea/textarea.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
export class InlineEditTextareaComponent {
|
|
7
|
+
field;
|
|
8
|
+
formGroup;
|
|
9
|
+
tempValue = '';
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.tempValue = this.formGroup.get(this.field.name)?.value ?? '';
|
|
12
|
+
}
|
|
13
|
+
saveValue() {
|
|
14
|
+
this.formGroup.get(this.field.name)?.setValue(this.tempValue);
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: InlineEditTextareaComponent, isStandalone: true, selector: "sdc-inline-edit-textarea", inputs: { field: "field", formGroup: "formGroup" }, ngImport: i0, template: "<sdc-textarea\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [rows]=\"field.rows || 3\"\n [placeholder]=\"field.placeholder || ''\"\n [maxlength]=\"field.maxlength || 524288\"\n></sdc-textarea>\n", styles: [".sdc-inline-edit-textarea__input{width:100%;box-sizing:border-box;resize:vertical}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextareaComponent, selector: "sdc-textarea", inputs: ["infoTooltip", "infoTooltipPosition", "infoTooltipEvent", "rows", "autoResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditTextareaComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'sdc-inline-edit-textarea', standalone: true, imports: [FormsModule, TextareaComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<sdc-textarea\n [(ngModel)]=\"tempValue\"\n width=\"100%\"\n [rows]=\"field.rows || 3\"\n [placeholder]=\"field.placeholder || ''\"\n [maxlength]=\"field.maxlength || 524288\"\n></sdc-textarea>\n", styles: [".sdc-inline-edit-textarea__input{width:100%;box-sizing:border-box;resize:vertical}\n"] }]
|
|
22
|
+
}], propDecorators: { field: [{
|
|
23
|
+
type: Input,
|
|
24
|
+
args: [{ required: true }]
|
|
25
|
+
}], formGroup: [{
|
|
26
|
+
type: Input,
|
|
27
|
+
args: [{ required: true }]
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9pbmxpbmUtZWRpdC9jb21wb25lbnRzL2ZpZWxkcy9pbmxpbmUtZWRpdC10ZXh0YXJlYS9pbmxpbmUtZWRpdC10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2NvbXBvbmVudHMvZmllbGRzL2lubGluZS1lZGl0LXRleHRhcmVhL2lubGluZS1lZGl0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBVzVFLE1BQU0sT0FBTywyQkFBMkI7SUFDWCxLQUFLLENBQTJCO0lBQ2hDLFNBQVMsQ0FBYTtJQUVqRCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7d0dBWlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsd0lDZnhDLDBNQU9BLDZJREVZLFdBQVcsa2dCQUFFLGlCQUFpQjs7NEZBTTdCLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUdkLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IElubGluZUVkaXRUZXh0QXJlYUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LXRleHRhcmVhLWZpZWxkJztcbmltcG9ydCB7IFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWlubGluZS1lZGl0LXRleHRhcmVhJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBUZXh0YXJlYUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtZWRpdC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1lZGl0LXRleHRhcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0VGV4dGFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmaWVsZCE6IElubGluZUVkaXRUZXh0QXJlYUZpZWxkO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG5cbiAgdGVtcFZhbHVlID0gJyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8udmFsdWUgPz8gJyc7XG4gIH1cblxuICBzYXZlVmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnNldFZhbHVlKHRoaXMudGVtcFZhbHVlKTtcbiAgfVxufVxuIiwiPHNkYy10ZXh0YXJlYVxuICBbKG5nTW9kZWwpXT1cInRlbXBWYWx1ZVwiXG4gIHdpZHRoPVwiMTAwJVwiXG4gIFtyb3dzXT1cImZpZWxkLnJvd3MgfHwgM1wiXG4gIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8fCAnJ1wiXG4gIFttYXhsZW5ndGhdPVwiZmllbGQubWF4bGVuZ3RoIHx8IDUyNDI4OFwiXG4+PC9zZGMtdGV4dGFyZWE+XG4iXX0=
|
package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { ButtonComponent } from '../../../button/button.component';
|
|
5
|
+
import { ControlErrorsComponent } from '../../../control-errors/control-errors.component';
|
|
6
|
+
import { InlineEditTextField } from '../../fields/inline-edit-text-field';
|
|
7
|
+
import { InlineEditNumberField } from '../../fields/inline-edit-number-field';
|
|
8
|
+
import { InlineEditTextAreaField } from '../../fields/inline-edit-textarea-field';
|
|
9
|
+
import { InlineEditTextComponent } from '../fields/inline-edit-text/inline-edit-text.component';
|
|
10
|
+
import { InlineEditNumberComponent } from '../fields/inline-edit-number/inline-edit-number.component';
|
|
11
|
+
import { InlineEditTextareaComponent } from '../fields/inline-edit-textarea/inline-edit-textarea.component';
|
|
12
|
+
import { INLINE_EDIT_ADD_INFO_KEY, INLINE_EDIT_CANCEL_KEY, INLINE_EDIT_EDIT_KEY, INLINE_EDIT_SAVE_KEY } from '../../../../core/constants/inline-edit.const';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@ngx-translate/core";
|
|
15
|
+
export class InlineEditItemComponent {
|
|
16
|
+
cdr = inject(ChangeDetectorRef);
|
|
17
|
+
field;
|
|
18
|
+
formGroup;
|
|
19
|
+
errorMessages;
|
|
20
|
+
textEditor;
|
|
21
|
+
numberEditor;
|
|
22
|
+
textareaEditor;
|
|
23
|
+
isEditing = false;
|
|
24
|
+
originalValue = null;
|
|
25
|
+
addInfoKey = INLINE_EDIT_ADD_INFO_KEY;
|
|
26
|
+
editKey = INLINE_EDIT_EDIT_KEY;
|
|
27
|
+
saveKey = INLINE_EDIT_SAVE_KEY;
|
|
28
|
+
cancelKey = INLINE_EDIT_CANCEL_KEY;
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.originalValue = this.formGroup.get(this.field.name)?.value ?? null;
|
|
31
|
+
}
|
|
32
|
+
get hasValue() {
|
|
33
|
+
const value = this.formGroup.get(this.field.name)?.value;
|
|
34
|
+
return value !== null && value !== undefined && value !== '';
|
|
35
|
+
}
|
|
36
|
+
get showValue() {
|
|
37
|
+
return !this.isEditing && this.hasValue;
|
|
38
|
+
}
|
|
39
|
+
get showEmptyButton() {
|
|
40
|
+
return !this.isEditing && !this.hasValue;
|
|
41
|
+
}
|
|
42
|
+
get showEditButton() {
|
|
43
|
+
return !this.isEditing && this.hasValue;
|
|
44
|
+
}
|
|
45
|
+
get fieldType() {
|
|
46
|
+
if (this.field instanceof InlineEditTextField) {
|
|
47
|
+
return 'text';
|
|
48
|
+
}
|
|
49
|
+
if (this.field instanceof InlineEditNumberField) {
|
|
50
|
+
return 'number';
|
|
51
|
+
}
|
|
52
|
+
if (this.field instanceof InlineEditTextAreaField) {
|
|
53
|
+
return 'textarea';
|
|
54
|
+
}
|
|
55
|
+
return 'text';
|
|
56
|
+
}
|
|
57
|
+
get resolvedErrorMessages() {
|
|
58
|
+
const fieldMessages = typeof this.field.errorMessages === 'function'
|
|
59
|
+
? this.field.errorMessages()
|
|
60
|
+
: (this.field.errorMessages ?? {});
|
|
61
|
+
return { ...(this.errorMessages ?? {}), ...fieldMessages };
|
|
62
|
+
}
|
|
63
|
+
asTextField() {
|
|
64
|
+
if (this.field instanceof InlineEditTextField) {
|
|
65
|
+
return this.field;
|
|
66
|
+
}
|
|
67
|
+
throw new Error('Inline edit field is not a text field.');
|
|
68
|
+
}
|
|
69
|
+
asNumberField() {
|
|
70
|
+
if (this.field instanceof InlineEditNumberField) {
|
|
71
|
+
return this.field;
|
|
72
|
+
}
|
|
73
|
+
throw new Error('Inline edit field is not a number field.');
|
|
74
|
+
}
|
|
75
|
+
asTextareaField() {
|
|
76
|
+
if (this.field instanceof InlineEditTextAreaField) {
|
|
77
|
+
return this.field;
|
|
78
|
+
}
|
|
79
|
+
throw new Error('Inline edit field is not a textarea field.');
|
|
80
|
+
}
|
|
81
|
+
onEdit() {
|
|
82
|
+
this.originalValue = this.formGroup.get(this.field.name)?.value ?? null;
|
|
83
|
+
this.isEditing = true;
|
|
84
|
+
this.cdr.markForCheck();
|
|
85
|
+
}
|
|
86
|
+
onSave() {
|
|
87
|
+
this.textEditor?.saveValue();
|
|
88
|
+
this.numberEditor?.saveValue();
|
|
89
|
+
this.textareaEditor?.saveValue();
|
|
90
|
+
this.originalValue = this.formGroup.get(this.field.name)?.value ?? null;
|
|
91
|
+
this.isEditing = false;
|
|
92
|
+
this.cdr.markForCheck();
|
|
93
|
+
}
|
|
94
|
+
onCancel() {
|
|
95
|
+
this.formGroup.get(this.field.name)?.setValue(this.originalValue);
|
|
96
|
+
this.isEditing = false;
|
|
97
|
+
this.cdr.markForCheck();
|
|
98
|
+
}
|
|
99
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InlineEditItemComponent, isStandalone: true, selector: "sdc-inline-edit-item", inputs: { field: "field", formGroup: "formGroup", errorMessages: "errorMessages" }, viewQueries: [{ propertyName: "textEditor", first: true, predicate: InlineEditTextComponent, descendants: true }, { propertyName: "numberEditor", first: true, predicate: InlineEditNumberComponent, descendants: true }, { propertyName: "textareaEditor", first: true, predicate: InlineEditTextareaComponent, descendants: true }], ngImport: i0, template: "<div class=\"sdc-inline-edit-item\">\n <span\n class=\"sdc-inline-edit-item__label\"\n [title]=\"field.tooltip || ''\"\n [attr.aria-label]=\"field.label\"\n >\n {{ field.label }}\n </span>\n\n <div class=\"sdc-inline-edit-item__content\">\n @if (showValue) {\n <span class=\"sdc-inline-edit-item__value\">\n {{ formGroup.get(field.name)?.value }}\n </span>\n }\n\n @if (showEmptyButton) {\n <sdc-button\n priority=\"link\"\n [label]=\"addInfoKey | translate\"\n (clicked)=\"onEdit()\"\n ></sdc-button>\n }\n\n @if (isEditing) {\n <div class=\"sdc-inline-edit-item__editor\" [attr.aria-label]=\"field.label\">\n @switch (fieldType) {\n @case ('text') {\n <sdc-inline-edit-text [field]=\"asTextField()\" [formGroup]=\"formGroup\"></sdc-inline-edit-text>\n }\n @case ('number') {\n <sdc-inline-edit-number [field]=\"asNumberField()\" [formGroup]=\"formGroup\"></sdc-inline-edit-number>\n }\n @case ('textarea') {\n <sdc-inline-edit-textarea\n [field]=\"asTextareaField()\"\n [formGroup]=\"formGroup\"\n ></sdc-inline-edit-textarea>\n }\n }\n </div>\n }\n\n <div class=\"sdc-inline-edit-item__actions\">\n @if (showEditButton) {\n <sdc-button\n priority=\"link\"\n [auxiliary]=\"true\"\n icon=\"fas fa-edit\"\n [tooltip]=\"editKey | translate\"\n [attr.aria-expanded]=\"isEditing\"\n (clicked)=\"onEdit()\"\n ></sdc-button>\n }\n\n @if (isEditing) {\n <sdc-button\n priority=\"default\"\n [auxiliary]=\"true\"\n icon=\"fas fa-check\"\n [tooltip]=\"saveKey | translate\"\n (clicked)=\"onSave()\"\n ></sdc-button>\n\n <sdc-button\n priority=\"default\"\n [auxiliary]=\"true\"\n icon=\"fas fa-times\"\n [tooltip]=\"cancelKey | translate\"\n (clicked)=\"onCancel()\"\n ></sdc-button>\n }\n </div>\n </div>\n\n <sdc-control-errors\n [control]=\"formGroup.get(field.name)\"\n [errorMessages]=\"resolvedErrorMessages\"\n showWhen=\"dirty-or-touched\"\n ></sdc-control-errors>\n</div>\n", styles: [".sdc-inline-edit-item{--sdc-inline-edit-label-color: #334155;--sdc-inline-edit-label-size: .875rem;--sdc-inline-edit-label-weight: 600;--sdc-inline-edit-value-color: #475569;--sdc-inline-edit-value-size: .9375rem;--sdc-inline-edit-gap: .75rem;display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.sdc-inline-edit-item__label{color:var(--sdc-inline-edit-label-color);font-size:var(--sdc-inline-edit-label-size);font-weight:var(--sdc-inline-edit-label-weight);line-height:1.25rem}.sdc-inline-edit-item__content{display:flex;align-items:center;gap:var(--sdc-inline-edit-gap);flex-wrap:nowrap;min-width:0}.sdc-inline-edit-item__value{color:var(--sdc-inline-edit-value-color);font-size:var(--sdc-inline-edit-value-size);display:inline-flex;align-items:center;flex:1 1 auto;min-height:2rem;min-width:0;word-break:break-word}.sdc-inline-edit-item__editor{flex:1 1 auto;min-width:0}.sdc-inline-edit-item__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}@media (max-width: 640px){.sdc-inline-edit-item__content{align-items:flex-start;flex-wrap:wrap}.sdc-inline-edit-item__editor,.sdc-inline-edit-item__value{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: ControlErrorsComponent, selector: "sdc-control-errors", inputs: ["id", "control", "errorMessages", "showWhen", "form"] }, { kind: "component", type: InlineEditTextComponent, selector: "sdc-inline-edit-text", inputs: ["field", "formGroup"] }, { kind: "component", type: InlineEditNumberComponent, selector: "sdc-inline-edit-number", inputs: ["field", "formGroup"] }, { kind: "component", type: InlineEditTextareaComponent, selector: "sdc-inline-edit-textarea", inputs: ["field", "formGroup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditItemComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ selector: 'sdc-inline-edit-item', standalone: true, imports: [
|
|
105
|
+
CommonModule,
|
|
106
|
+
TranslateModule,
|
|
107
|
+
ButtonComponent,
|
|
108
|
+
ControlErrorsComponent,
|
|
109
|
+
InlineEditTextComponent,
|
|
110
|
+
InlineEditNumberComponent,
|
|
111
|
+
InlineEditTextareaComponent
|
|
112
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-inline-edit-item\">\n <span\n class=\"sdc-inline-edit-item__label\"\n [title]=\"field.tooltip || ''\"\n [attr.aria-label]=\"field.label\"\n >\n {{ field.label }}\n </span>\n\n <div class=\"sdc-inline-edit-item__content\">\n @if (showValue) {\n <span class=\"sdc-inline-edit-item__value\">\n {{ formGroup.get(field.name)?.value }}\n </span>\n }\n\n @if (showEmptyButton) {\n <sdc-button\n priority=\"link\"\n [label]=\"addInfoKey | translate\"\n (clicked)=\"onEdit()\"\n ></sdc-button>\n }\n\n @if (isEditing) {\n <div class=\"sdc-inline-edit-item__editor\" [attr.aria-label]=\"field.label\">\n @switch (fieldType) {\n @case ('text') {\n <sdc-inline-edit-text [field]=\"asTextField()\" [formGroup]=\"formGroup\"></sdc-inline-edit-text>\n }\n @case ('number') {\n <sdc-inline-edit-number [field]=\"asNumberField()\" [formGroup]=\"formGroup\"></sdc-inline-edit-number>\n }\n @case ('textarea') {\n <sdc-inline-edit-textarea\n [field]=\"asTextareaField()\"\n [formGroup]=\"formGroup\"\n ></sdc-inline-edit-textarea>\n }\n }\n </div>\n }\n\n <div class=\"sdc-inline-edit-item__actions\">\n @if (showEditButton) {\n <sdc-button\n priority=\"link\"\n [auxiliary]=\"true\"\n icon=\"fas fa-edit\"\n [tooltip]=\"editKey | translate\"\n [attr.aria-expanded]=\"isEditing\"\n (clicked)=\"onEdit()\"\n ></sdc-button>\n }\n\n @if (isEditing) {\n <sdc-button\n priority=\"default\"\n [auxiliary]=\"true\"\n icon=\"fas fa-check\"\n [tooltip]=\"saveKey | translate\"\n (clicked)=\"onSave()\"\n ></sdc-button>\n\n <sdc-button\n priority=\"default\"\n [auxiliary]=\"true\"\n icon=\"fas fa-times\"\n [tooltip]=\"cancelKey | translate\"\n (clicked)=\"onCancel()\"\n ></sdc-button>\n }\n </div>\n </div>\n\n <sdc-control-errors\n [control]=\"formGroup.get(field.name)\"\n [errorMessages]=\"resolvedErrorMessages\"\n showWhen=\"dirty-or-touched\"\n ></sdc-control-errors>\n</div>\n", styles: [".sdc-inline-edit-item{--sdc-inline-edit-label-color: #334155;--sdc-inline-edit-label-size: .875rem;--sdc-inline-edit-label-weight: 600;--sdc-inline-edit-value-color: #475569;--sdc-inline-edit-value-size: .9375rem;--sdc-inline-edit-gap: .75rem;display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.sdc-inline-edit-item__label{color:var(--sdc-inline-edit-label-color);font-size:var(--sdc-inline-edit-label-size);font-weight:var(--sdc-inline-edit-label-weight);line-height:1.25rem}.sdc-inline-edit-item__content{display:flex;align-items:center;gap:var(--sdc-inline-edit-gap);flex-wrap:nowrap;min-width:0}.sdc-inline-edit-item__value{color:var(--sdc-inline-edit-value-color);font-size:var(--sdc-inline-edit-value-size);display:inline-flex;align-items:center;flex:1 1 auto;min-height:2rem;min-width:0;word-break:break-word}.sdc-inline-edit-item__editor{flex:1 1 auto;min-width:0}.sdc-inline-edit-item__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}@media (max-width: 640px){.sdc-inline-edit-item__content{align-items:flex-start;flex-wrap:wrap}.sdc-inline-edit-item__editor,.sdc-inline-edit-item__value{width:100%}}\n"] }]
|
|
113
|
+
}], propDecorators: { field: [{
|
|
114
|
+
type: Input,
|
|
115
|
+
args: [{ required: true }]
|
|
116
|
+
}], formGroup: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: [{ required: true }]
|
|
119
|
+
}], errorMessages: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], textEditor: [{
|
|
122
|
+
type: ViewChild,
|
|
123
|
+
args: [InlineEditTextComponent]
|
|
124
|
+
}], numberEditor: [{
|
|
125
|
+
type: ViewChild,
|
|
126
|
+
args: [InlineEditNumberComponent]
|
|
127
|
+
}], textareaEditor: [{
|
|
128
|
+
type: ViewChild,
|
|
129
|
+
args: [InlineEditTextareaComponent]
|
|
130
|
+
}] } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2NvbXBvbmVudHMvaW5saW5lLWVkaXQtaXRlbS9pbmxpbmUtZWRpdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5saW5lLWVkaXQvY29tcG9uZW50cy9pbmxpbmUtZWRpdC1pdGVtL2lubGluZS1lZGl0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUUxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM1RyxPQUFPLEVBQ0wsd0JBQXdC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Q0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0E3R1UsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ05BT3ZCLHVCQUF1QiwrRUFDdkIseUJBQXlCLGlGQUN6QiwyQkFBMkIsZ0RDeER4QywweEVBaUZBLDJxQ0QvQ0ksWUFBWSw4QkFDWixlQUFlLDRGQUNmLGVBQWUsOFNBQ2Ysc0JBQXNCLCtIQUN0Qix1QkFBdUIsaUdBQ3ZCLHlCQUF5QixtR0FDekIsMkJBQTJCOzs0RkFPbEIsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjtxQkFDNUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBS2QsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRStDLFVBQVU7c0JBQTlELFNBQVM7dUJBQUMsdUJBQXVCO2dCQUNxQixZQUFZO3NCQUFsRSxTQUFTO3VCQUFDLHlCQUF5QjtnQkFDcUIsY0FBYztzQkFBdEUsU0FBUzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29udHJvbC1lcnJvcnMvY29udHJvbC1lcnJvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZUVkaXRGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9pbmxpbmUtZWRpdC1maWVsZCc7XG5pbXBvcnQgeyBJbmxpbmVFZGl0VGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LXRleHQtZmllbGQnO1xuaW1wb3J0IHsgSW5saW5lRWRpdE51bWJlckZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2lubGluZS1lZGl0LW51bWJlci1maWVsZCc7XG5pbXBvcnQgeyBJbmxpbmVFZGl0VGV4dEFyZWFGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkcy9pbmxpbmUtZWRpdC10ZXh0YXJlYS1maWVsZCc7XG5pbXBvcnQgeyBJbmxpbmVFZGl0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkcy9pbmxpbmUtZWRpdC10ZXh0L2lubGluZS1lZGl0LXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZUVkaXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZHMvaW5saW5lLWVkaXQtbnVtYmVyL2lubGluZS1lZGl0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5saW5lRWRpdFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzL2lubGluZS1lZGl0LXRleHRhcmVhL2lubGluZS1lZGl0LXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBJTkxJTkVfRURJVF9BRERfSU5GT19LRVksXG4gIElOTElORV9FRElUX0NBTkNFTF9LRVksXG4gIElOTElORV9FRElUX0VESVRfS0VZLFxuICBJTkxJTkVfRURJVF9TQVZFX0tFWVxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbnN0YW50cy9pbmxpbmUtZWRpdC5jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1pbmxpbmUtZWRpdC1pdGVtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENvbnRyb2xFcnJvcnNDb21wb25lbnQsXG4gICAgSW5saW5lRWRpdFRleHRDb21wb25lbnQsXG4gICAgSW5saW5lRWRpdE51bWJlckNvbXBvbmVudCxcbiAgICBJbmxpbmVFZGl0VGV4dGFyZWFDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1lZGl0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmxpbmUtZWRpdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmaWVsZCE6IElubGluZUVkaXRGaWVsZDtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBAVmlld0NoaWxkKElubGluZUVkaXRUZXh0Q29tcG9uZW50KSBwcml2YXRlIHJlYWRvbmx5IHRleHRFZGl0b3I/OiBJbmxpbmVFZGl0VGV4dENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChJbmxpbmVFZGl0TnVtYmVyQ29tcG9uZW50KSBwcml2YXRlIHJlYWRvbmx5IG51bWJlckVkaXRvcj86IElubGluZUVkaXROdW1iZXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoSW5saW5lRWRpdFRleHRhcmVhQ29tcG9uZW50KSBwcml2YXRlIHJlYWRvbmx5IHRleHRhcmVhRWRpdG9yPzogSW5saW5lRWRpdFRleHRhcmVhQ29tcG9uZW50O1xuXG4gIHByb3RlY3RlZCBpc0VkaXRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvcmlnaW5hbFZhbHVlOiB1bmtub3duID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRkSW5mb0tleSA9IElOTElORV9FRElUX0FERF9JTkZPX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRLZXkgPSBJTkxJTkVfRURJVF9FRElUX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNhdmVLZXkgPSBJTkxJTkVfRURJVF9TQVZFX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbmNlbEtleSA9IElOTElORV9FRElUX0NBTkNFTF9LRVk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlO1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvd1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0VkaXRpbmcgJiYgdGhpcy5oYXNWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvd0VtcHR5QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0VkaXRpbmcgJiYgIXRoaXMuaGFzVmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3dFZGl0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0VkaXRpbmcgJiYgdGhpcy5oYXNWYWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZmllbGRUeXBlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZmllbGQgaW5zdGFuY2VvZiBJbmxpbmVFZGl0VGV4dEZpZWxkKSB7XG4gICAgICByZXR1cm4gJ3RleHQnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpZWxkIGluc3RhbmNlb2YgSW5saW5lRWRpdE51bWJlckZpZWxkKSB7XG4gICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmllbGQgaW5zdGFuY2VvZiBJbmxpbmVFZGl0VGV4dEFyZWFGaWVsZCkge1xuICAgICAgcmV0dXJuICd0ZXh0YXJlYSc7XG4gICAgfVxuXG4gICAgcmV0dXJuICd0ZXh0JztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzb2x2ZWRFcnJvck1lc3NhZ2VzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGZpZWxkTWVzc2FnZXMgPVxuICAgICAgdHlwZW9mIHRoaXMuZmllbGQuZXJyb3JNZXNzYWdlcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHRoaXMuZmllbGQuZXJyb3JNZXNzYWdlcygpXG4gICAgICAgIDogKHRoaXMuZmllbGQuZXJyb3JNZXNzYWdlcyA/PyB7fSk7XG5cbiAgICByZXR1cm4geyAuLi4odGhpcy5lcnJvck1lc3NhZ2VzID8/IHt9KSwgLi4uZmllbGRNZXNzYWdlcyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzVGV4dEZpZWxkKCk6IElubGluZUVkaXRUZXh0RmllbGQge1xuICAgIGlmICh0aGlzLmZpZWxkIGluc3RhbmNlb2YgSW5saW5lRWRpdFRleHRGaWVsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbmxpbmUgZWRpdCBmaWVsZCBpcyBub3QgYSB0ZXh0IGZpZWxkLicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzTnVtYmVyRmllbGQoKTogSW5saW5lRWRpdE51bWJlckZpZWxkIHtcbiAgICBpZiAodGhpcy5maWVsZCBpbnN0YW5jZW9mIElubGluZUVkaXROdW1iZXJGaWVsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbmxpbmUgZWRpdCBmaWVsZCBpcyBub3QgYSBudW1iZXIgZmllbGQuJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXNUZXh0YXJlYUZpZWxkKCk6IElubGluZUVkaXRUZXh0QXJlYUZpZWxkIHtcbiAgICBpZiAodGhpcy5maWVsZCBpbnN0YW5jZW9mIElubGluZUVkaXRUZXh0QXJlYUZpZWxkKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0lubGluZSBlZGl0IGZpZWxkIGlzIG5vdCBhIHRleHRhcmVhIGZpZWxkLicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRWRpdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8udmFsdWUgPz8gbnVsbDtcbiAgICB0aGlzLmlzRWRpdGluZyA9IHRydWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25TYXZlKCk6IHZvaWQge1xuICAgIHRoaXMudGV4dEVkaXRvcj8uc2F2ZVZhbHVlKCk7XG4gICAgdGhpcy5udW1iZXJFZGl0b3I/LnNhdmVWYWx1ZSgpO1xuICAgIHRoaXMudGV4dGFyZWFFZGl0b3I/LnNhdmVWYWx1ZSgpO1xuXG4gICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlID8/IG51bGw7XG4gICAgdGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5maWVsZC5uYW1lKT8uc2V0VmFsdWUodGhpcy5vcmlnaW5hbFZhbHVlKTtcbiAgICB0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWlubGluZS1lZGl0LWl0ZW1cIj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cInNkYy1pbmxpbmUtZWRpdC1pdGVtX19sYWJlbFwiXG4gICAgW3RpdGxlXT1cImZpZWxkLnRvb2x0aXAgfHwgJydcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICA+XG4gICAge3sgZmllbGQubGFiZWwgfX1cbiAgPC9zcGFuPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtaW5saW5lLWVkaXQtaXRlbV9fY29udGVudFwiPlxuICAgIEBpZiAoc2hvd1ZhbHVlKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy1pbmxpbmUtZWRpdC1pdGVtX192YWx1ZVwiPlxuICAgICAgICB7eyBmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpPy52YWx1ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIEBpZiAoc2hvd0VtcHR5QnV0dG9uKSB7XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICBbbGFiZWxdPVwiYWRkSW5mb0tleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIChjbGlja2VkKT1cIm9uRWRpdCgpXCJcbiAgICAgID48L3NkYy1idXR0b24+XG4gICAgfVxuXG4gICAgQGlmIChpc0VkaXRpbmcpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtaW5saW5lLWVkaXQtaXRlbV9fZWRpdG9yXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWVsZC5sYWJlbFwiPlxuICAgICAgICBAc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICAgICAgICBAY2FzZSAoJ3RleHQnKSB7XG4gICAgICAgICAgICA8c2RjLWlubGluZS1lZGl0LXRleHQgW2ZpZWxkXT1cImFzVGV4dEZpZWxkKClcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPjwvc2RjLWlubGluZS1lZGl0LXRleHQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBjYXNlICgnbnVtYmVyJykge1xuICAgICAgICAgICAgPHNkYy1pbmxpbmUtZWRpdC1udW1iZXIgW2ZpZWxkXT1cImFzTnVtYmVyRmllbGQoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+PC9zZGMtaW5saW5lLWVkaXQtbnVtYmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ3RleHRhcmVhJykge1xuICAgICAgICAgICAgPHNkYy1pbmxpbmUtZWRpdC10ZXh0YXJlYVxuICAgICAgICAgICAgICBbZmllbGRdPVwiYXNUZXh0YXJlYUZpZWxkKClcIlxuICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgICAgICA+PC9zZGMtaW5saW5lLWVkaXQtdGV4dGFyZWE+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLWlubGluZS1lZGl0LWl0ZW1fX2FjdGlvbnNcIj5cbiAgICAgIEBpZiAoc2hvd0VkaXRCdXR0b24pIHtcbiAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gICAgICAgICAgaWNvbj1cImZhcyBmYS1lZGl0XCJcbiAgICAgICAgICBbdG9vbHRpcF09XCJlZGl0S2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRWRpdGluZ1wiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25FZGl0KClcIlxuICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGlzRWRpdGluZykge1xuICAgICAgICA8c2RjLWJ1dHRvblxuICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgW2F1eGlsaWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICBpY29uPVwiZmFzIGZhLWNoZWNrXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCJzYXZlS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJvblNhdmUoKVwiXG4gICAgICAgID48L3NkYy1idXR0b24+XG5cbiAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICBwcmlvcml0eT1cImRlZmF1bHRcIlxuICAgICAgICAgIFthdXhpbGlhcnldPVwidHJ1ZVwiXG4gICAgICAgICAgaWNvbj1cImZhcyBmYS10aW1lc1wiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiY2FuY2VsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNhbmNlbCgpXCJcbiAgICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHNkYy1jb250cm9sLWVycm9yc1xuICAgIFtjb250cm9sXT1cImZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSlcIlxuICAgIFtlcnJvck1lc3NhZ2VzXT1cInJlc29sdmVkRXJyb3JNZXNzYWdlc1wiXG4gICAgc2hvd1doZW49XCJkaXJ0eS1vci10b3VjaGVkXCJcbiAgPjwvc2RjLWNvbnRyb2wtZXJyb3JzPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classe base abstrata para todos os campos do InlineEdit.
|
|
3
|
+
* Estenda esta classe para criar novos tipos de campo.
|
|
4
|
+
*/
|
|
5
|
+
export class InlineEditField {
|
|
6
|
+
label;
|
|
7
|
+
name;
|
|
8
|
+
tooltip;
|
|
9
|
+
errorMessages;
|
|
10
|
+
constructor(opts) {
|
|
11
|
+
this.label = opts.label;
|
|
12
|
+
this.name = opts.name;
|
|
13
|
+
this.tooltip = opts.tooltip;
|
|
14
|
+
this.errorMessages = opts.errorMessages;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2ZpZWxkcy9pbmxpbmUtZWRpdC1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGVBQWU7SUFDMUIsS0FBSyxDQUFTO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFVO0lBQ2pCLGFBQWEsQ0FBMkQ7SUFFakYsWUFBWSxJQUE0QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVFZGl0RmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy9pbmxpbmUtZWRpdC50eXBlJztcblxuLyoqXG4gKiBDbGFzc2UgYmFzZSBhYnN0cmF0YSBwYXJhIHRvZG9zIG9zIGNhbXBvcyBkbyBJbmxpbmVFZGl0LlxuICogRXN0ZW5kYSBlc3RhIGNsYXNzZSBwYXJhIGNyaWFyIG5vdm9zIHRpcG9zIGRlIGNhbXBvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW5saW5lRWRpdEZpZWxkIHtcbiAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0b29sdGlwPzogc3RyaW5nO1xuICByZWFkb25seSBlcnJvck1lc3NhZ2VzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8ICgoKSA9PiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcblxuICBjb25zdHJ1Y3RvcihvcHRzOiBJbmxpbmVFZGl0RmllbGRPcHRpb25zKSB7XG4gICAgdGhpcy5sYWJlbCA9IG9wdHMubGFiZWw7XG4gICAgdGhpcy5uYW1lID0gb3B0cy5uYW1lO1xuICAgIHRoaXMudG9vbHRpcCA9IG9wdHMudG9vbHRpcDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBvcHRzLmVycm9yTWVzc2FnZXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InlineEditField } from './inline-edit-field';
|
|
2
|
+
export class InlineEditNumberField extends InlineEditField {
|
|
3
|
+
placeholder;
|
|
4
|
+
min;
|
|
5
|
+
max;
|
|
6
|
+
step;
|
|
7
|
+
constructor(opts) {
|
|
8
|
+
super(opts);
|
|
9
|
+
this.placeholder = opts.placeholder;
|
|
10
|
+
this.min = opts.min;
|
|
11
|
+
this.max = opts.max;
|
|
12
|
+
this.step = opts.step;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtbnVtYmVyLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9pbmxpbmUtZWRpdC9maWVsZHMvaW5saW5lLWVkaXQtbnVtYmVyLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQUMvQyxXQUFXLENBQVU7SUFDckIsR0FBRyxDQUFVO0lBQ2IsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBRXZCLFlBQVksSUFBa0M7UUFDNUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5saW5lRWRpdE51bWJlckZpZWxkT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvaW5saW5lLWVkaXQudHlwZSc7XG5pbXBvcnQgeyBJbmxpbmVFZGl0RmllbGQgfSBmcm9tICcuL2lubGluZS1lZGl0LWZpZWxkJztcblxuZXhwb3J0IGNsYXNzIElubGluZUVkaXROdW1iZXJGaWVsZCBleHRlbmRzIElubGluZUVkaXRGaWVsZCB7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICByZWFkb25seSBtaW4/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heD86IG51bWJlcjtcbiAgcmVhZG9ubHkgc3RlcD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRzOiBJbmxpbmVFZGl0TnVtYmVyRmllbGRPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0cyk7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdHMucGxhY2Vob2xkZXI7XG4gICAgdGhpcy5taW4gPSBvcHRzLm1pbjtcbiAgICB0aGlzLm1heCA9IG9wdHMubWF4O1xuICAgIHRoaXMuc3RlcCA9IG9wdHMuc3RlcDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InlineEditField } from './inline-edit-field';
|
|
2
|
+
export class InlineEditTextField extends InlineEditField {
|
|
3
|
+
placeholder;
|
|
4
|
+
maxlength;
|
|
5
|
+
constructor(opts) {
|
|
6
|
+
super(opts);
|
|
7
|
+
this.placeholder = opts.placeholder;
|
|
8
|
+
this.maxlength = opts.maxlength;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtdGV4dC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvaW5saW5lLWVkaXQvZmllbGRzL2lubGluZS1lZGl0LXRleHQtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBQzdDLFdBQVcsQ0FBVTtJQUNyQixTQUFTLENBQVU7SUFFNUIsWUFBWSxJQUFnQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5saW5lRWRpdFRleHRGaWVsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2lubGluZS1lZGl0LnR5cGUnO1xuaW1wb3J0IHsgSW5saW5lRWRpdEZpZWxkIH0gZnJvbSAnLi9pbmxpbmUtZWRpdC1maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0VGV4dEZpZWxkIGV4dGVuZHMgSW5saW5lRWRpdEZpZWxkIHtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heGxlbmd0aD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRzOiBJbmxpbmVFZGl0VGV4dEZpZWxkT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdHMpO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRzLnBsYWNlaG9sZGVyO1xuICAgIHRoaXMubWF4bGVuZ3RoID0gb3B0cy5tYXhsZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InlineEditField } from './inline-edit-field';
|
|
2
|
+
export class InlineEditTextAreaField extends InlineEditField {
|
|
3
|
+
rows;
|
|
4
|
+
cols;
|
|
5
|
+
placeholder;
|
|
6
|
+
maxlength;
|
|
7
|
+
constructor(opts) {
|
|
8
|
+
super(opts);
|
|
9
|
+
this.rows = opts.rows;
|
|
10
|
+
this.cols = opts.cols;
|
|
11
|
+
this.placeholder = opts.placeholder;
|
|
12
|
+
this.maxlength = opts.maxlength;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQtdGV4dGFyZWEtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2ZpZWxkcy9pbmxpbmUtZWRpdC10ZXh0YXJlYS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFDakQsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBVTtJQUU1QixZQUFZLElBQW9DO1FBQzlDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElubGluZUVkaXRUZXh0QXJlYUZpZWxkT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvaW5saW5lLWVkaXQudHlwZSc7XG5pbXBvcnQgeyBJbmxpbmVFZGl0RmllbGQgfSBmcm9tICcuL2lubGluZS1lZGl0LWZpZWxkJztcblxuZXhwb3J0IGNsYXNzIElubGluZUVkaXRUZXh0QXJlYUZpZWxkIGV4dGVuZHMgSW5saW5lRWRpdEZpZWxkIHtcbiAgcmVhZG9ubHkgcm93cz86IG51bWJlcjtcbiAgcmVhZG9ubHkgY29scz86IG51bWJlcjtcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heGxlbmd0aD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRzOiBJbmxpbmVFZGl0VGV4dEFyZWFGaWVsZE9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRzKTtcbiAgICB0aGlzLnJvd3MgPSBvcHRzLnJvd3M7XG4gICAgdGhpcy5jb2xzID0gb3B0cy5jb2xzO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRzLnBsYWNlaG9sZGVyO1xuICAgIHRoaXMubWF4bGVuZ3RoID0gb3B0cy5tYXhsZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { InlineEditItemComponent } from './components/inline-edit-item/inline-edit-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class InlineEditComponent {
|
|
6
|
+
/** FormGroup que contém os controles para cada campo. */
|
|
7
|
+
formGroup;
|
|
8
|
+
/** Lista de campos a renderizar. Cada item gera um sdc-inline-edit-item. */
|
|
9
|
+
fields = [];
|
|
10
|
+
/** Mensagens de erro globais, aplicadas a todos os campos (podem ser sobrescritas por campo). */
|
|
11
|
+
errorMessages;
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: InlineEditComponent, isStandalone: true, selector: "sdc-inline-edit", inputs: { formGroup: "formGroup", fields: "fields", errorMessages: "errorMessages" }, ngImport: i0, template: "<div class=\"sdc-inline-edit\">\n @for (field of fields; track field.name) {\n <sdc-inline-edit-item\n [field]=\"field\"\n [formGroup]=\"formGroup\"\n [errorMessages]=\"errorMessages\"\n >\n </sdc-inline-edit-item>\n }\n</div>\n", styles: [".sdc-inline-edit{display:flex;flex-direction:column;gap:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: InlineEditItemComponent, selector: "sdc-inline-edit-item", inputs: ["field", "formGroup", "errorMessages"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InlineEditComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'sdc-inline-edit', standalone: true, imports: [CommonModule, InlineEditItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-inline-edit\">\n @for (field of fields; track field.name) {\n <sdc-inline-edit-item\n [field]=\"field\"\n [formGroup]=\"formGroup\"\n [errorMessages]=\"errorMessages\"\n >\n </sdc-inline-edit-item>\n }\n</div>\n", styles: [".sdc-inline-edit{display:flex;flex-direction:column;gap:1rem}\n"] }]
|
|
18
|
+
}], propDecorators: { formGroup: [{
|
|
19
|
+
type: Input,
|
|
20
|
+
args: [{ required: true }]
|
|
21
|
+
}], fields: [{
|
|
22
|
+
type: Input,
|
|
23
|
+
args: [{ required: true }]
|
|
24
|
+
}], errorMessages: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9pbmxpbmUtZWRpdC9pbmxpbmUtZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2lubGluZS1lZGl0L2lubGluZS1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7QUFXbkcsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qix5REFBeUQ7SUFDOUIsU0FBUyxDQUFhO0lBRWpELDRFQUE0RTtJQUNqRCxNQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUUxRCxpR0FBaUc7SUFDeEYsYUFBYSxDQUEwQjt3R0FSckMsbUJBQW1COzRGQUFuQixtQkFBbUIsaUtDaEJoQyxnUUFVQSx3SERBWSxZQUFZLCtCQUFFLHVCQUF1Qjs7NEZBTXBDLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLENBQUMsbUJBRy9CLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7OEJBSWQsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBR0UsTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBR2hCLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IElubGluZUVkaXRGaWVsZCB9IGZyb20gJy4vZmllbGRzL2lubGluZS1lZGl0LWZpZWxkJztcbmltcG9ydCB7IElubGluZUVkaXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lubGluZS1lZGl0LWl0ZW0vaW5saW5lLWVkaXQtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtaW5saW5lLWVkaXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbmxpbmVFZGl0SXRlbUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1lZGl0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVFZGl0Q29tcG9uZW50IHtcbiAgLyoqIEZvcm1Hcm91cCBxdWUgY29udMOpbSBvcyBjb250cm9sZXMgcGFyYSBjYWRhIGNhbXBvLiAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG5cbiAgLyoqIExpc3RhIGRlIGNhbXBvcyBhIHJlbmRlcml6YXIuIENhZGEgaXRlbSBnZXJhIHVtIHNkYy1pbmxpbmUtZWRpdC1pdGVtLiAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBmaWVsZHM6IElubGluZUVkaXRGaWVsZFtdID0gW107XG5cbiAgLyoqIE1lbnNhZ2VucyBkZSBlcnJvIGdsb2JhaXMsIGFwbGljYWRhcyBhIHRvZG9zIG9zIGNhbXBvcyAocG9kZW0gc2VyIHNvYnJlc2NyaXRhcyBwb3IgY2FtcG8pLiAqL1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtaW5saW5lLWVkaXRcIj5cbiAgQGZvciAoZmllbGQgb2YgZmllbGRzOyB0cmFjayBmaWVsZC5uYW1lKSB7XG4gICAgPHNkYy1pbmxpbmUtZWRpdC1pdGVtXG4gICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgW2Vycm9yTWVzc2FnZXNdPVwiZXJyb3JNZXNzYWdlc1wiXG4gICAgPlxuICAgIDwvc2RjLWlubGluZS1lZGl0LWl0ZW0+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, booleanAttribute, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class InteractiveContentDirective {
|
|
4
|
+
hostRef = inject(ElementRef);
|
|
5
|
+
renderer = inject(Renderer2);
|
|
6
|
+
initialTabIndex = null;
|
|
7
|
+
initialRole = null;
|
|
8
|
+
initialAriaDisabled = null;
|
|
9
|
+
capturedInitialAttributes = false;
|
|
10
|
+
focusable = true;
|
|
11
|
+
disabled = false;
|
|
12
|
+
stopPropagation = false;
|
|
13
|
+
role = 'button';
|
|
14
|
+
activated = new EventEmitter();
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.captureInitialAttributes();
|
|
17
|
+
this.syncAccessibilityAttributes();
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges() {
|
|
20
|
+
if (!this.capturedInitialAttributes) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
this.syncAccessibilityAttributes();
|
|
24
|
+
}
|
|
25
|
+
onClick(event) {
|
|
26
|
+
if (!this.canActivate(event)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.activated.emit(event);
|
|
30
|
+
}
|
|
31
|
+
onKeydown(event) {
|
|
32
|
+
if (event.key !== 'Enter' && event.key !== ' ') {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (!this.canActivate(event)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (event.key === ' ') {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
}
|
|
41
|
+
this.activated.emit(event);
|
|
42
|
+
}
|
|
43
|
+
canActivate(event) {
|
|
44
|
+
if (this.disabled) {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
event.stopPropagation();
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
if (this.stopPropagation) {
|
|
50
|
+
event.stopPropagation();
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
captureInitialAttributes() {
|
|
55
|
+
if (this.capturedInitialAttributes) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const host = this.hostRef.nativeElement;
|
|
59
|
+
this.initialTabIndex = host.getAttribute('tabindex');
|
|
60
|
+
this.initialRole = host.getAttribute('role');
|
|
61
|
+
this.initialAriaDisabled = host.getAttribute('aria-disabled');
|
|
62
|
+
this.capturedInitialAttributes = true;
|
|
63
|
+
}
|
|
64
|
+
syncAccessibilityAttributes() {
|
|
65
|
+
const host = this.hostRef.nativeElement;
|
|
66
|
+
this.syncTabIndex(host);
|
|
67
|
+
this.syncRole(host);
|
|
68
|
+
this.syncAriaDisabled(host);
|
|
69
|
+
}
|
|
70
|
+
syncTabIndex(host) {
|
|
71
|
+
if (this.initialTabIndex === null) {
|
|
72
|
+
if (this.focusable && !this.disabled) {
|
|
73
|
+
this.renderer.setAttribute(host, 'tabindex', '0');
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.renderer.removeAttribute(host, 'tabindex');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.renderer.setAttribute(host, 'tabindex', this.initialTabIndex);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
syncRole(host) {
|
|
84
|
+
if (this.initialRole === null) {
|
|
85
|
+
if (this.role) {
|
|
86
|
+
this.renderer.setAttribute(host, 'role', this.role);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.renderer.removeAttribute(host, 'role');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.renderer.setAttribute(host, 'role', this.initialRole);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
syncAriaDisabled(host) {
|
|
97
|
+
const ARIA_DISABLED = 'aria-disabled';
|
|
98
|
+
if (this.initialAriaDisabled === null) {
|
|
99
|
+
if (this.disabled) {
|
|
100
|
+
this.renderer.setAttribute(host, ARIA_DISABLED, 'true');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.renderer.removeAttribute(host, ARIA_DISABLED);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.renderer.setAttribute(host, ARIA_DISABLED, this.initialAriaDisabled);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InteractiveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
111
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: InteractiveContentDirective, isStandalone: true, selector: "[sdcInteractiveContent]", inputs: { focusable: ["focusable", "focusable", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], stopPropagation: ["stopPropagation", "stopPropagation", booleanAttribute], role: "role" }, outputs: { activated: "sdcInteractiveContent" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeydown($event)" } }, usesOnChanges: true, ngImport: i0 });
|
|
112
|
+
}
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InteractiveContentDirective, decorators: [{
|
|
114
|
+
type: Directive,
|
|
115
|
+
args: [{
|
|
116
|
+
selector: '[sdcInteractiveContent]',
|
|
117
|
+
standalone: true
|
|
118
|
+
}]
|
|
119
|
+
}], propDecorators: { focusable: [{
|
|
120
|
+
type: Input,
|
|
121
|
+
args: [{ transform: booleanAttribute }]
|
|
122
|
+
}], disabled: [{
|
|
123
|
+
type: Input,
|
|
124
|
+
args: [{ transform: booleanAttribute }]
|
|
125
|
+
}], stopPropagation: [{
|
|
126
|
+
type: Input,
|
|
127
|
+
args: [{ transform: booleanAttribute }]
|
|
128
|
+
}], role: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], activated: [{
|
|
131
|
+
type: Output,
|
|
132
|
+
args: ['sdcInteractiveContent']
|
|
133
|
+
}], onClick: [{
|
|
134
|
+
type: HostListener,
|
|
135
|
+
args: ['click', ['$event']]
|
|
136
|
+
}], onKeydown: [{
|
|
137
|
+
type: HostListener,
|
|
138
|
+
args: ['keydown', ['$event']]
|
|
139
|
+
}] } });
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2ludGVyYWN0aXZlLWNvbnRlbnQvaW50ZXJhY3RpdmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDOztBQVF2QixNQUFNLE9BQU8sMkJBQTJCO0lBQ3JCLE9BQU8sR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEMsZUFBZSxHQUFrQixJQUFJLENBQUM7SUFDdEMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQWtCLElBQUksQ0FBQztJQUMxQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFFRixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN2RCxJQUFJLEdBQThCLFFBQVEsQ0FBQztJQUVuQixTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUV2RSxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBR1MsT0FBTyxDQUFDLEtBQWlCO1FB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aEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLElBQUk7c0JBQVosS0FBSztnQkFFMkIsU0FBUztzQkFBekMsTUFBTTt1QkFBQyx1QkFBdUI7Z0JBZ0JyQixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVdkIsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFNkY0ludGVyYWN0aXZlQ29udGVudFJvbGUgPSAnYnV0dG9uJyB8ICdsaW5rJyB8ICdvcHRpb24nIHwgbnVsbDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NkY0ludGVyYWN0aXZlQ29udGVudF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlQ29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBob3N0UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIHByaXZhdGUgaW5pdGlhbFRhYkluZGV4OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpbml0aWFsUm9sZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaW5pdGlhbEFyaWFEaXNhYmxlZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2FwdHVyZWRJbml0aWFsQXR0cmlidXRlcyA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBmb2N1c2FibGUgPSB0cnVlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHN0b3BQcm9wYWdhdGlvbiA9IGZhbHNlO1xuICBASW5wdXQoKSByb2xlOiBTZGNJbnRlcmFjdGl2ZUNvbnRlbnRSb2xlID0gJ2J1dHRvbic7XG5cbiAgQE91dHB1dCgnc2RjSW50ZXJhY3RpdmVDb250ZW50JykgYWN0aXZhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhcHR1cmVJbml0aWFsQXR0cmlidXRlcygpO1xuICAgIHRoaXMuc3luY0FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2FwdHVyZWRJbml0aWFsQXR0cmlidXRlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3luY0FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhbkFjdGl2YXRlKGV2ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZhdGVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInICYmIGV2ZW50LmtleSAhPT0gJyAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNhbkFjdGl2YXRlKGV2ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2YXRlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuQWN0aXZhdGUoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjYXB0dXJlSW5pdGlhbEF0dHJpYnV0ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FwdHVyZWRJbml0aWFsQXR0cmlidXRlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmluaXRpYWxUYWJJbmRleCA9IGhvc3QuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIHRoaXMuaW5pdGlhbFJvbGUgPSBob3N0LmdldEF0dHJpYnV0ZSgncm9sZScpO1xuICAgIHRoaXMuaW5pdGlhbEFyaWFEaXNhYmxlZCA9IGhvc3QuZ2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJyk7XG4gICAgdGhpcy5jYXB0dXJlZEluaXRpYWxBdHRyaWJ1dGVzID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0FjY2Vzc2liaWxpdHlBdHRyaWJ1dGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmhvc3RSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnN5bmNUYWJJbmRleChob3N0KTtcbiAgICB0aGlzLnN5bmNSb2xlKGhvc3QpO1xuICAgIHRoaXMuc3luY0FyaWFEaXNhYmxlZChob3N0KTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY1RhYkluZGV4KGhvc3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFRhYkluZGV4ID09PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaG9zdCwgJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGhvc3QsICd0YWJpbmRleCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShob3N0LCAndGFiaW5kZXgnLCB0aGlzLmluaXRpYWxUYWJJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jUm9sZShob3N0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluaXRpYWxSb2xlID09PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5yb2xlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGhvc3QsICdyb2xlJywgdGhpcy5yb2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGhvc3QsICdyb2xlJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGhvc3QsICdyb2xlJywgdGhpcy5pbml0aWFsUm9sZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jQXJpYURpc2FibGVkKGhvc3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgQVJJQV9ESVNBQkxFRCA9ICdhcmlhLWRpc2FibGVkJztcbiAgICBpZiAodGhpcy5pbml0aWFsQXJpYURpc2FibGVkID09PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShob3N0LCBBUklBX0RJU0FCTEVELCAndHJ1ZScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoaG9zdCwgQVJJQV9ESVNBQkxFRCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGhvc3QsIEFSSUFfRElTQUJMRUQsIHRoaXMuaW5pdGlhbEFyaWFEaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,88 @@
|
|
|
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 KanbanColumnComponent {
|
|
8
|
+
data;
|
|
9
|
+
showCheckbox = true;
|
|
10
|
+
headerTemplate = null;
|
|
11
|
+
emptyMessageTemplate = null;
|
|
12
|
+
allSelected = false;
|
|
13
|
+
showColumnMenu = false;
|
|
14
|
+
eventService = inject(KanbanEventService);
|
|
15
|
+
destroy$ = new Subject();
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.eventService.selectAllColumnItems$
|
|
18
|
+
.pipe(takeUntil(this.destroy$))
|
|
19
|
+
.subscribe(col => {
|
|
20
|
+
if (col === this.data) {
|
|
21
|
+
this.allSelected = true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
this.eventService.unselectAllColumnItems$
|
|
25
|
+
.pipe(takeUntil(this.destroy$))
|
|
26
|
+
.subscribe(col => {
|
|
27
|
+
if (col === this.data) {
|
|
28
|
+
this.allSelected = false;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
this.eventService.selectItem$
|
|
32
|
+
.pipe(takeUntil(this.destroy$))
|
|
33
|
+
.subscribe(() => this._updateAllSelectedState());
|
|
34
|
+
this.eventService.unselectItem$
|
|
35
|
+
.pipe(takeUntil(this.destroy$))
|
|
36
|
+
.subscribe(() => this._updateAllSelectedState());
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.destroy$.next();
|
|
40
|
+
this.destroy$.complete();
|
|
41
|
+
}
|
|
42
|
+
onSelectAll(event) {
|
|
43
|
+
const checked = event.target.checked;
|
|
44
|
+
if (checked) {
|
|
45
|
+
this.eventService.emitSelectAllColumnItems(this.data);
|
|
46
|
+
this.data.items
|
|
47
|
+
.filter(item => !item.disabled && !item.frozen)
|
|
48
|
+
.forEach(item => this.eventService.emitSelectItem(item));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.eventService.emitUnselectAllColumnItems(this.data);
|
|
52
|
+
this.data.items.forEach(item => this.eventService.emitUnselectItem(item));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
toggleMenu(event) {
|
|
56
|
+
event.stopPropagation();
|
|
57
|
+
this.showColumnMenu = !this.showColumnMenu;
|
|
58
|
+
}
|
|
59
|
+
onOptionClick(event, optionCommand) {
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
this.showColumnMenu = false;
|
|
62
|
+
optionCommand(this.data);
|
|
63
|
+
}
|
|
64
|
+
getSelectableItems() {
|
|
65
|
+
return this.data.items.filter(item => !item.disabled && !item.frozen);
|
|
66
|
+
}
|
|
67
|
+
_updateAllSelectedState() {
|
|
68
|
+
const selectable = this.getSelectableItems();
|
|
69
|
+
if (selectable.length === 0) {
|
|
70
|
+
this.allSelected = false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KanbanColumnComponent, isStandalone: true, selector: "sdc-kanban-column", inputs: { data: "data", showCheckbox: "showCheckbox", headerTemplate: "headerTemplate", emptyMessageTemplate: "emptyMessageTemplate" }, ngImport: i0, template: "<div class=\"sdc-kanban-column\">\n <div class=\"sdc-kanban-column__header\">\n @if (showCheckbox) {\n <input\n [id]=\"'kanban-column-' + data.id + '-checkbox'\"\n type=\"checkbox\"\n class=\"sdc-kanban-column__checkbox\"\n [attr.aria-label]=\"data.title\"\n [checked]=\"allSelected\"\n (change)=\"onSelectAll($event)\">\n }\n @if (!headerTemplate) {\n <span class=\"sdc-kanban-column__title\">{{ data.title }} ({{ data.items.length }})</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n @if (data.options?.length) {\n <button\n class=\"sdc-kanban-column__menu-btn\"\n type=\"button\"\n (click)=\"toggleMenu($event)\">\n <i class=\"fas fa-ellipsis-h\"></i>\n </button>\n @if (showColumnMenu) {\n <ul class=\"sdc-kanban-column__menu\">\n @for (option of data.options; track option) {\n @if (option.divider) {\n <li class=\"sdc-kanban-column__menu-divider\"></li>\n } @else {\n <li class=\"sdc-kanban-column__menu-item\" [class.sdc-kanban-column__menu-item--disabled]=\"option.disabled\">\n <button\n type=\"button\"\n class=\"sdc-kanban-column__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 <div class=\"sdc-kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-kanban-column{--sdc-kanban-column-bg: #fbfafc;--sdc-kanban-column-border: #dedce5;--sdc-kanban-column-width: 20rem;--sdc-kanban-column-radius: .5rem;--sdc-kanban-column-header-padding: .75rem 1rem;--sdc-kanban-column-body-padding: .75rem;--sdc-kanban-column-menu-bg: #fff;--sdc-kanban-column-menu-shadow: 0 2px 8px rgba(0, 0, 0, .15);display:flex;flex-direction:column;width:var(--sdc-kanban-column-width);min-width:var(--sdc-kanban-column-width);background-color:var(--sdc-kanban-column-bg);border:1px solid var(--sdc-kanban-column-border);border-radius:var(--sdc-kanban-column-radius);border-top-color:var(--sdc-kanban-column-accent, var(--sdc-kanban-column-border));border-top-width:3px;overflow:hidden}.sdc-kanban-column__header{display:flex;align-items:center;gap:.5rem;padding:var(--sdc-kanban-column-header-padding);border-bottom:1px solid var(--sdc-kanban-column-border);position:relative;flex-shrink:0}.sdc-kanban-column__checkbox{flex-shrink:0;cursor:pointer}.sdc-kanban-column__title{flex:1;font-weight:600;font-size:.875rem;color:#3d3b4a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-kanban-column__menu-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:2px;color:#6b6880;line-height:1}.sdc-kanban-column__menu-btn:hover{background-color:#0000000d}.sdc-kanban-column__menu{position:absolute;top:2.5rem;right:.5rem;z-index:100;background-color:var(--sdc-kanban-column-menu-bg);border:1px solid var(--sdc-kanban-column-border);border-radius:4px;box-shadow:var(--sdc-kanban-column-menu-shadow);list-style:none;margin:0;padding:.25rem 0;min-width:10rem}.sdc-kanban-column__menu-divider{border-top:1px solid var(--sdc-kanban-column-border);margin:.25rem 0}.sdc-kanban-column__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-column__menu-action:hover:not(:disabled){background-color:#0000000a}.sdc-kanban-column__menu-item--disabled .sdc-kanban-column__menu-action{opacity:.5;cursor:not-allowed}.sdc-kanban-column__body{flex:1;max-height:var(--sdc-kanban-column-max-height, 32rem);overflow-y:auto;padding:var(--sdc-kanban-column-body-padding)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KanbanColumnComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'sdc-kanban-column', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-kanban-column\">\n <div class=\"sdc-kanban-column__header\">\n @if (showCheckbox) {\n <input\n [id]=\"'kanban-column-' + data.id + '-checkbox'\"\n type=\"checkbox\"\n class=\"sdc-kanban-column__checkbox\"\n [attr.aria-label]=\"data.title\"\n [checked]=\"allSelected\"\n (change)=\"onSelectAll($event)\">\n }\n @if (!headerTemplate) {\n <span class=\"sdc-kanban-column__title\">{{ data.title }} ({{ data.items.length }})</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: data }\"></ng-container>\n }\n @if (data.options?.length) {\n <button\n class=\"sdc-kanban-column__menu-btn\"\n type=\"button\"\n (click)=\"toggleMenu($event)\">\n <i class=\"fas fa-ellipsis-h\"></i>\n </button>\n @if (showColumnMenu) {\n <ul class=\"sdc-kanban-column__menu\">\n @for (option of data.options; track option) {\n @if (option.divider) {\n <li class=\"sdc-kanban-column__menu-divider\"></li>\n } @else {\n <li class=\"sdc-kanban-column__menu-item\" [class.sdc-kanban-column__menu-item--disabled]=\"option.disabled\">\n <button\n type=\"button\"\n class=\"sdc-kanban-column__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 <div class=\"sdc-kanban-column__body\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sdc-kanban-column{--sdc-kanban-column-bg: #fbfafc;--sdc-kanban-column-border: #dedce5;--sdc-kanban-column-width: 20rem;--sdc-kanban-column-radius: .5rem;--sdc-kanban-column-header-padding: .75rem 1rem;--sdc-kanban-column-body-padding: .75rem;--sdc-kanban-column-menu-bg: #fff;--sdc-kanban-column-menu-shadow: 0 2px 8px rgba(0, 0, 0, .15);display:flex;flex-direction:column;width:var(--sdc-kanban-column-width);min-width:var(--sdc-kanban-column-width);background-color:var(--sdc-kanban-column-bg);border:1px solid var(--sdc-kanban-column-border);border-radius:var(--sdc-kanban-column-radius);border-top-color:var(--sdc-kanban-column-accent, var(--sdc-kanban-column-border));border-top-width:3px;overflow:hidden}.sdc-kanban-column__header{display:flex;align-items:center;gap:.5rem;padding:var(--sdc-kanban-column-header-padding);border-bottom:1px solid var(--sdc-kanban-column-border);position:relative;flex-shrink:0}.sdc-kanban-column__checkbox{flex-shrink:0;cursor:pointer}.sdc-kanban-column__title{flex:1;font-weight:600;font-size:.875rem;color:#3d3b4a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdc-kanban-column__menu-btn{margin-left:auto;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:2px;color:#6b6880;line-height:1}.sdc-kanban-column__menu-btn:hover{background-color:#0000000d}.sdc-kanban-column__menu{position:absolute;top:2.5rem;right:.5rem;z-index:100;background-color:var(--sdc-kanban-column-menu-bg);border:1px solid var(--sdc-kanban-column-border);border-radius:4px;box-shadow:var(--sdc-kanban-column-menu-shadow);list-style:none;margin:0;padding:.25rem 0;min-width:10rem}.sdc-kanban-column__menu-divider{border-top:1px solid var(--sdc-kanban-column-border);margin:.25rem 0}.sdc-kanban-column__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-column__menu-action:hover:not(:disabled){background-color:#0000000a}.sdc-kanban-column__menu-item--disabled .sdc-kanban-column__menu-action{opacity:.5;cursor:not-allowed}.sdc-kanban-column__body{flex:1;max-height:var(--sdc-kanban-column-max-height, 32rem);overflow-y:auto;padding:var(--sdc-kanban-column-body-padding)}\n"] }]
|
|
79
|
+
}], propDecorators: { data: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], showCheckbox: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], headerTemplate: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], emptyMessageTemplate: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9jb21wb25lbnRzL2thbmJhbi1jb2x1bW4va2FuYmFuLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2thbmJhbi9jb21wb25lbnRzL2thbmJhbi1jb2x1bW4va2FuYmFuLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUlMLGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQVd6RSxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLElBQUksQ0FBZ0I7SUFDcEIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixjQUFjLEdBQWdDLElBQUksQ0FBQztJQUNuRCxvQkFBb0IsR0FBZ0MsSUFBSSxDQUFDO0lBRWxFLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUVOLFlBQVksR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUI7YUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QjthQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWE7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLE1BQU0sT0FBTyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLE9BQU8sQ0FBQztRQUUzRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO2lCQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7aUJBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZLEVBQUUsYUFBNkM7UUFDdkUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzt3R0E3RVUscUJBQXFCOzRGQUFyQixxQkFBcUIscU5DekJsQyw0NERBcURBLDB2RURsQ1ksWUFBWTs7NEZBTVgscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IEthbmJhbkNvbHVtbiwgS2FuYmFuSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdHlwZXMva2FuYmFuLnR5cGUnO1xuaW1wb3J0IHsgS2FuYmFuRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMva2FuYmFuLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMta2FuYmFuLWNvbHVtbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4va2FuYmFuLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9rYW5iYW4tY29sdW1uLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEthbmJhbkNvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YSE6IEthbmJhbkNvbHVtbjtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94ID0gdHJ1ZTtcbiAgQElucHV0KCkgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGVtcHR5TWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIGFsbFNlbGVjdGVkID0gZmFsc2U7XG4gIHNob3dDb2x1bW5NZW51ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFNlcnZpY2UgPSBpbmplY3QoS2FuYmFuRXZlbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudFNlcnZpY2Uuc2VsZWN0QWxsQ29sdW1uSXRlbXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGNvbCA9PiB7XG4gICAgICAgIGlmIChjb2wgPT09IHRoaXMuZGF0YSkge1xuICAgICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnVuc2VsZWN0QWxsQ29sdW1uSXRlbXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKGNvbCA9PiB7XG4gICAgICAgIGlmIChjb2wgPT09IHRoaXMuZGF0YSkge1xuICAgICAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50U2VydmljZS5zZWxlY3RJdGVtJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl91cGRhdGVBbGxTZWxlY3RlZFN0YXRlKCkpO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2UudW5zZWxlY3RJdGVtJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl91cGRhdGVBbGxTZWxlY3RlZFN0YXRlKCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25TZWxlY3RBbGwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcblxuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICB0aGlzLmV2ZW50U2VydmljZS5lbWl0U2VsZWN0QWxsQ29sdW1uSXRlbXModGhpcy5kYXRhKTtcbiAgICAgIHRoaXMuZGF0YS5pdGVtc1xuICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uZGlzYWJsZWQgJiYgIWl0ZW0uZnJvemVuKVxuICAgICAgICAuZm9yRWFjaChpdGVtID0+IHRoaXMuZXZlbnRTZXJ2aWNlLmVtaXRTZWxlY3RJdGVtKGl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdFVuc2VsZWN0QWxsQ29sdW1uSXRlbXModGhpcy5kYXRhKTtcbiAgICAgIHRoaXMuZGF0YS5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5ldmVudFNlcnZpY2UuZW1pdFVuc2VsZWN0SXRlbShpdGVtKSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlTWVudShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNob3dDb2x1bW5NZW51ID0gIXRoaXMuc2hvd0NvbHVtbk1lbnU7XG4gIH1cblxuICBvbk9wdGlvbkNsaWNrKGV2ZW50OiBFdmVudCwgb3B0aW9uQ29tbWFuZDogKGNvbHVtbjogS2FuYmFuQ29sdW1uKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zaG93Q29sdW1uTWVudSA9IGZhbHNlO1xuICAgIG9wdGlvbkNvbW1hbmQodGhpcy5kYXRhKTtcbiAgfVxuXG4gIGdldFNlbGVjdGFibGVJdGVtcygpOiBLYW5iYW5JdGVtW10ge1xuICAgIHJldHVybiB0aGlzLmRhdGEuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uZGlzYWJsZWQgJiYgIWl0ZW0uZnJvemVuKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFsbFNlbGVjdGVkU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0YWJsZSA9IHRoaXMuZ2V0U2VsZWN0YWJsZUl0ZW1zKCk7XG4gICAgaWYgKHNlbGVjdGFibGUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmFsbFNlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLWthbmJhbi1jb2x1bW5cIj5cbiAgPGRpdiBjbGFzcz1cInNkYy1rYW5iYW4tY29sdW1uX19oZWFkZXJcIj5cbiAgICBAaWYgKHNob3dDaGVja2JveCkge1xuICAgICAgPGlucHV0XG4gICAgICAgIFtpZF09XCIna2FuYmFuLWNvbHVtbi0nICsgZGF0YS5pZCArICctY2hlY2tib3gnXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2xhc3M9XCJzZGMta2FuYmFuLWNvbHVtbl9fY2hlY2tib3hcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRhdGEudGl0bGVcIlxuICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RBbGwoJGV2ZW50KVwiPlxuICAgIH1cbiAgICBAaWYgKCFoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJzZGMta2FuYmFuLWNvbHVtbl9fdGl0bGVcIj57eyBkYXRhLnRpdGxlIH19ICh7eyBkYXRhLml0ZW1zLmxlbmd0aCB9fSk8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGlmIChkYXRhLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNkYy1rYW5iYW4tY29sdW1uX19tZW51LWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlTWVudSgkZXZlbnQpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWVsbGlwc2lzLWhcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIEBpZiAoc2hvd0NvbHVtbk1lbnUpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwic2RjLWthbmJhbi1jb2x1bW5fX21lbnVcIj5cbiAgICAgICAgICBAZm9yIChvcHRpb24gb2YgZGF0YS5vcHRpb25zOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIEBpZiAob3B0aW9uLmRpdmlkZXIpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2RjLWthbmJhbi1jb2x1bW5fX21lbnUtZGl2aWRlclwiPjwvbGk+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2RjLWthbmJhbi1jb2x1bW5fX21lbnUtaXRlbVwiIFtjbGFzcy5zZGMta2FuYmFuLWNvbHVtbl9fbWVudS1pdGVtLS1kaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLWthbmJhbi1jb2x1bW5fX21lbnUtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3B0aW9uQ2xpY2soJGV2ZW50LCBvcHRpb24uY29tbWFuZClcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAob3B0aW9uLmljb25DbGFzcykge1xuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwib3B0aW9uLmljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpZiAob3B0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNkYy1rYW5iYW4tY29sdW1uX19ib2R5XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|