@simplysm/angular 14.0.7 → 14.0.9
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/README.md +234 -246
- package/dist/core/commons.d.ts.map +1 -1
- package/dist/core/directives/sd-events.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-invalid.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-item-of-template.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-ripple.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-router-link.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-show-effect.directive.d.ts.map +1 -1
- package/dist/core/directives/sd-typed-template.directive.d.ts.map +1 -1
- package/dist/core/pipes/format.pipe.d.ts.map +1 -1
- package/dist/core/plugins/commands/findTopOpenModalEl.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-insert-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-refresh-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/commands/sd-save-command-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-intersection-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-option-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/events/sd-resize-event.plugin.d.ts.map +1 -1
- package/dist/core/plugins/sd-global-error-handler.plugin.d.ts.map +1 -1
- package/dist/core/provideSdAngular.d.ts.map +1 -1
- package/dist/core/providers/sd-angular-config.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-app-structure.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-file-dialog.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-local-storage.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-navigate-window.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-print.provider.d.ts +7 -2
- package/dist/core/providers/sd-print.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-service-client-factory.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-shared-data.provider.d.ts +3 -0
- package/dist/core/providers/sd-shared-data.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-system-config.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-system-log.provider.d.ts.map +1 -1
- package/dist/core/providers/sd-theme-provider.d.ts.map +1 -1
- package/dist/core/utils/TDirectiveInputSignals.d.ts +4 -0
- package/dist/core/utils/TDirectiveInputSignals.d.ts.map +1 -1
- package/dist/core/utils/injectParent.d.ts +7 -0
- package/dist/core/utils/injectParent.d.ts.map +1 -0
- package/dist/core/utils/injectParent.js +26 -0
- package/dist/core/utils/setSafeStyle.d.ts.map +1 -1
- package/dist/core/utils/setups/setupBgTheme.d.ts.map +1 -1
- package/dist/core/utils/setups/setupCanDeactivate.d.ts.map +1 -1
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts +9 -0
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.d.ts.map +1 -0
- package/dist/core/utils/setups/setupCloserWhenSingleSelectionChange.js +20 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts +9 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.d.ts.map +1 -0
- package/dist/core/utils/setups/setupCumulateSelectedKeys.js +27 -0
- package/dist/core/utils/setups/setupInvalid.d.ts.map +1 -1
- package/dist/core/utils/setups/setupModelHook.d.ts.map +1 -1
- package/dist/core/utils/setups/setupRevealOnShow.d.ts.map +1 -1
- package/dist/core/utils/setups/setupRipple.d.ts.map +1 -1
- package/dist/core/utils/useCurrentPageCodeSignal.d.ts.map +1 -1
- package/dist/core/utils/useExpandingManager.d.ts.map +1 -1
- package/dist/core/utils/useFullPageCodeSignal.d.ts.map +1 -1
- package/dist/core/utils/useSdSystemConfigResource.d.ts.map +1 -1
- package/dist/core/utils/useSelectionManager.d.ts.map +1 -1
- package/dist/core/utils/useSortingManager.d.ts.map +1 -1
- package/dist/core/utils/useViewTitleSignal.d.ts.map +1 -1
- package/dist/core/utils/useViewTypeSignal.d.ts.map +1 -1
- package/dist/features/address/sd-address-search.modal.d.ts +19 -0
- package/dist/features/address/sd-address-search.modal.d.ts.map +1 -0
- package/dist/features/address/sd-address-search.modal.js +88 -0
- package/dist/features/base/sd-base-container.control.d.ts +26 -0
- package/dist/features/base/sd-base-container.control.d.ts.map +1 -0
- package/dist/features/base/sd-base-container.control.js +183 -0
- package/dist/features/data-view/sd-data-detail.control.d.ts +70 -0
- package/dist/features/data-view/sd-data-detail.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-detail.control.js +606 -0
- package/dist/features/data-view/sd-data-select-button.control.d.ts +35 -0
- package/dist/features/data-view/sd-data-select-button.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-select-button.control.js +219 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.d.ts +8 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-sheet-column.directive.js +15 -0
- package/dist/features/data-view/sd-data-sheet.control.d.ts +131 -0
- package/dist/features/data-view/sd-data-sheet.control.d.ts.map +1 -0
- package/dist/features/data-view/sd-data-sheet.control.js +1152 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts +16 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select-button.control.js +66 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts +33 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select-list.control.js +346 -0
- package/dist/features/shared-data/sd-shared-data-select.control.d.ts +50 -0
- package/dist/features/shared-data/sd-shared-data-select.control.d.ts.map +1 -0
- package/dist/features/shared-data/sd-shared-data-select.control.js +425 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/ui/data/list/sd-list-item.control.d.ts +3 -1
- package/dist/ui/data/list/sd-list-item.control.d.ts.map +1 -1
- package/dist/ui/data/list/sd-list-item.control.js +9 -5
- package/dist/ui/data/list/sd-list.control.d.ts.map +1 -1
- package/dist/ui/data/list/sd-list.control.js +1 -1
- package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts +8 -1
- package/dist/ui/data/sheet/sd-sheet-column.directive.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet-config.modal.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet-config.modal.js +1 -1
- package/dist/ui/data/sheet/sd-sheet.control.d.ts +6 -5
- package/dist/ui/data/sheet/sd-sheet.control.d.ts.map +1 -1
- package/dist/ui/data/sheet/sd-sheet.control.js +19 -17
- package/dist/ui/data/sheet/types.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetCellAgent.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetCellAgent.js +1 -2
- package/dist/ui/data/sheet/useSheetColumnFixing.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetDomAccessor.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetLayoutEngine.d.ts.map +1 -1
- package/dist/ui/data/sheet/useSheetLayoutEngine.js +1 -0
- package/dist/ui/form/button/sd-additional-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-additional-button.control.js +1 -1
- package/dist/ui/form/button/sd-anchor.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-anchor.control.js +1 -1
- package/dist/ui/form/button/sd-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-button.control.js +1 -1
- package/dist/ui/form/button/sd-modal-select-button.control.d.ts +16 -18
- package/dist/ui/form/button/sd-modal-select-button.control.d.ts.map +1 -1
- package/dist/ui/form/button/sd-modal-select-button.control.js +22 -39
- package/dist/ui/form/checkbox/sd-checkbox-group-item.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group-item.control.js +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox-group.control.js +1 -1
- package/dist/ui/form/checkbox/sd-checkbox.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-checkbox.control.js +1 -1
- package/dist/ui/form/checkbox/sd-switch.control.d.ts.map +1 -1
- package/dist/ui/form/checkbox/sd-switch.control.js +1 -1
- package/dist/ui/form/choice/sd-state-preset.control.d.ts.map +1 -1
- package/dist/ui/form/choice/sd-state-preset.control.js +1 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts +18 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.d.ts.map +1 -1
- package/dist/ui/form/editor/sd-tiptap-editor.control.js +18 -2
- package/dist/ui/form/input/sd-date-range.picker.d.ts.map +1 -1
- package/dist/ui/form/input/sd-date-range.picker.js +1 -1
- package/dist/ui/form/input/sd-numpad.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-numpad.control.js +1 -1
- package/dist/ui/form/input/sd-range.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-range.control.js +1 -1
- package/dist/ui/form/input/sd-textarea.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textarea.control.js +1 -1
- package/dist/ui/form/input/sd-textfield-type-handlers.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textfield.control.d.ts.map +1 -1
- package/dist/ui/form/input/sd-textfield.control.js +1 -1
- package/dist/ui/form/sd-form.control.d.ts.map +1 -1
- package/dist/ui/form/sd-form.control.js +1 -1
- package/dist/ui/form/select/sd-select-button.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select-button.control.js +1 -1
- package/dist/ui/form/select/sd-select-item.control.d.ts +1 -1
- package/dist/ui/form/select/sd-select-item.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select-item.control.js +1 -1
- package/dist/ui/form/select/sd-select.control.d.ts +9 -6
- package/dist/ui/form/select/sd-select.control.d.ts.map +1 -1
- package/dist/ui/form/select/sd-select.control.js +1 -1
- package/dist/ui/layout/dock/sd-dock-container.control.d.ts.map +1 -1
- package/dist/ui/layout/dock/sd-dock-container.control.js +1 -1
- package/dist/ui/layout/dock/sd-dock.control.d.ts +2 -0
- package/dist/ui/layout/dock/sd-dock.control.d.ts.map +1 -1
- package/dist/ui/layout/dock/sd-dock.control.js +13 -4
- package/dist/ui/layout/kanban/sd-kanban-board.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban-board.control.js +1 -1
- package/dist/ui/layout/kanban/sd-kanban-lane.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban-lane.control.js +8 -2
- package/dist/ui/layout/kanban/sd-kanban.control.d.ts.map +1 -1
- package/dist/ui/layout/kanban/sd-kanban.control.js +1 -1
- package/dist/ui/layout/sd-card.directive.d.ts.map +1 -1
- package/dist/ui/layout/sd-gap.control.d.ts +2 -2
- package/dist/ui/layout/sd-gap.control.d.ts.map +1 -1
- package/dist/ui/layout/sd-gap.control.js +1 -1
- package/dist/ui/layout/sd-pane.directive.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view-item.control.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view-item.control.js +1 -1
- package/dist/ui/layout/view/sd-view.control.d.ts.map +1 -1
- package/dist/ui/layout/view/sd-view.control.js +1 -1
- package/dist/ui/navigation/collapse/sd-collapse-icon.control.d.ts.map +1 -1
- package/dist/ui/navigation/collapse/sd-collapse-icon.control.js +1 -1
- package/dist/ui/navigation/collapse/sd-collapse.control.d.ts.map +1 -1
- package/dist/ui/navigation/collapse/sd-collapse.control.js +1 -1
- package/dist/ui/navigation/menu-utils.d.ts.map +1 -1
- package/dist/ui/navigation/pagination/sd-pagination.control.d.ts.map +1 -1
- package/dist/ui/navigation/pagination/sd-pagination.control.js +8 -4
- package/dist/ui/navigation/sidebar/sd-sidebar-container.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-container.control.js +2 -2
- package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-menu.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-user.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar-user.control.js +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar.control.d.ts.map +1 -1
- package/dist/ui/navigation/sidebar/sd-sidebar.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tab-item.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tab-item.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tab.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tab.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tabview-item.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tabview-item.control.js +1 -1
- package/dist/ui/navigation/tab/sd-tabview.control.d.ts.map +1 -1
- package/dist/ui/navigation/tab/sd-tabview.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-container.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-container.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-menu.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-menu.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-user.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar-user.control.js +1 -1
- package/dist/ui/navigation/topbar/sd-topbar.control.d.ts.map +1 -1
- package/dist/ui/navigation/topbar/sd-topbar.control.js +1 -1
- package/dist/ui/overlay/busy/sd-busy-container.control.d.ts.map +1 -1
- package/dist/ui/overlay/busy/sd-busy-container.control.js +1 -1
- package/dist/ui/overlay/busy/sd-busy.provider.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown-popup.control.js +2 -2
- package/dist/ui/overlay/dropdown/sd-dropdown.control.d.ts.map +1 -1
- package/dist/ui/overlay/dropdown/sd-dropdown.control.js +1 -1
- package/dist/ui/overlay/modal/sd-confirm-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-confirm-modal.control.js +1 -1
- package/dist/ui/overlay/modal/sd-modal.control.d.ts +1 -0
- package/dist/ui/overlay/modal/sd-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-modal.control.js +10 -2
- package/dist/ui/overlay/modal/sd-modal.provider.d.ts +9 -3
- package/dist/ui/overlay/modal/sd-modal.provider.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-prompt-modal.control.d.ts.map +1 -1
- package/dist/ui/overlay/modal/sd-prompt-modal.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast-container.control.d.ts.map +1 -1
- package/dist/ui/overlay/toast/sd-toast-container.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast.control.d.ts.map +1 -1
- package/dist/ui/overlay/toast/sd-toast.control.js +1 -1
- package/dist/ui/overlay/toast/sd-toast.provider.d.ts.map +1 -1
- package/dist/ui/overlay/toast/sd-toast.provider.js +7 -3
- package/dist/ui/visual/sd-barcode.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-barcode.control.js +1 -1
- package/dist/ui/visual/sd-calendar.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-calendar.control.js +1 -1
- package/dist/ui/visual/sd-echarts.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-echarts.control.js +1 -1
- package/dist/ui/visual/sd-label.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-label.control.js +1 -1
- package/dist/ui/visual/sd-note.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-note.control.js +1 -1
- package/dist/ui/visual/sd-progress.control.d.ts +1 -0
- package/dist/ui/visual/sd-progress.control.d.ts.map +1 -1
- package/dist/ui/visual/sd-progress.control.js +5 -4
- package/docs/core.md +877 -0
- package/docs/features.md +377 -0
- package/docs/styling.md +309 -0
- package/docs/ui-data.md +233 -0
- package/docs/ui-form.md +421 -0
- package/docs/ui-layout.md +216 -0
- package/docs/ui-navigation.md +279 -0
- package/docs/ui-overlay.md +330 -0
- package/docs/ui-visual.md +131 -0
- package/package.json +5 -5
- package/src/core/providers/sd-print.provider.ts +10 -2
- package/src/core/providers/sd-shared-data.provider.ts +3 -0
- package/src/core/utils/TDirectiveInputSignals.ts +5 -0
- package/src/core/utils/injectParent.ts +41 -0
- package/src/core/utils/setups/setupCloserWhenSingleSelectionChange.ts +29 -0
- package/src/core/utils/setups/setupCumulateSelectedKeys.ts +38 -0
- package/src/features/address/sd-address-search.modal.ts +119 -0
- package/src/features/base/sd-base-container.control.ts +113 -0
- package/src/features/data-view/sd-data-detail.control.ts +394 -0
- package/src/features/data-view/sd-data-select-button.control.ts +210 -0
- package/src/features/data-view/sd-data-sheet-column.directive.ts +10 -0
- package/src/features/data-view/sd-data-sheet.control.ts +850 -0
- package/src/features/shared-data/sd-shared-data-select-button.control.ts +64 -0
- package/src/features/shared-data/sd-shared-data-select-list.control.ts +245 -0
- package/src/features/shared-data/sd-shared-data-select.control.ts +364 -0
- package/src/index.ts +39 -1
- package/src/scss.d.ts +5 -0
- package/src/ui/data/list/sd-list-item.control.ts +4 -2
- package/src/ui/data/sheet/sd-sheet-column.directive.ts +9 -1
- package/src/ui/data/sheet/sd-sheet.control.ts +23 -19
- package/src/ui/data/sheet/useSheetCellAgent.ts +1 -2
- package/src/ui/data/sheet/useSheetLayoutEngine.ts +1 -0
- package/src/ui/form/button/sd-modal-select-button.control.ts +41 -59
- package/src/ui/form/editor/sd-tiptap-editor.control.ts +35 -1
- package/src/ui/form/select/sd-select-item.control.ts +1 -1
- package/src/ui/form/select/sd-select.control.ts +7 -4
- package/src/ui/layout/dock/sd-dock.control.ts +15 -2
- package/src/ui/layout/kanban/sd-kanban-lane.control.ts +6 -3
- package/src/ui/navigation/pagination/sd-pagination.control.ts +5 -3
- package/src/ui/navigation/sidebar/sd-sidebar-container.control.ts +1 -1
- package/src/ui/overlay/dropdown/sd-dropdown-popup.control.ts +1 -1
- package/src/ui/overlay/modal/sd-modal.control.ts +9 -0
- package/src/ui/overlay/modal/sd-modal.provider.ts +15 -3
- package/src/ui/overlay/toast/sd-toast.provider.ts +9 -3
- package/src/ui/visual/sd-progress.control.ts +4 -1
- package/docs/commons-and-configuration.md +0 -34
- package/docs/data-display-components.md +0 -146
- package/docs/directives.md +0 -158
- package/docs/event-plugins.md +0 -109
- package/docs/form-components.md +0 -362
- package/docs/hooks-and-utilities.md +0 -175
- package/docs/layout-components.md +0 -140
- package/docs/navigation-components.md +0 -200
- package/docs/overlay-components.md +0 -193
- package/docs/pipes.md +0 -25
- package/docs/providers.md +0 -448
- package/docs/setup-functions.md +0 -66
- package/docs/visual-components.md +0 -89
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import { NgTemplateOutlet } from "@angular/common";
|
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, effect, inject, input, model, signal, TemplateRef, untracked, viewChild, ViewEncapsulation, } from "@angular/core";
|
|
3
|
+
import { SdSelectControl } from "../../ui/form/select/sd-select.control";
|
|
4
|
+
import { SdSelectButtonControl } from "../../ui/form/select/sd-select-button.control";
|
|
5
|
+
import { SdSelectItemControl } from "../../ui/form/select/sd-select-item.control";
|
|
6
|
+
import { SdTextfieldControl } from "../../ui/form/input/sd-textfield.control";
|
|
7
|
+
import { SdItemOfTemplateDirective, } from "../../core/directives/sd-item-of-template.directive";
|
|
8
|
+
import { SdModalProvider, } from "../../ui/overlay/modal/sd-modal.provider";
|
|
9
|
+
import { NgIcon } from "@ng-icons/core";
|
|
10
|
+
import { tablerEdit, tablerSearch } from "@ng-icons/tabler-icons";
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
const _c0 = ["undefinedTpl"];
|
|
13
|
+
const _c1 = (a0, a1, a2, a3) => ({ $implicit: a0, item: a1, index: a2, depth: a3 });
|
|
14
|
+
function SdSharedDataSelectControl_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
16
|
+
i0.ɵɵelementStart(0, "sd-select-button", 4);
|
|
17
|
+
i0.ɵɵlistener("click", function SdSharedDataSelectControl_Conditional_1_Template_sd_select_button_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onModalButtonClick($event)); });
|
|
18
|
+
i0.ɵɵelement(1, "ng-icon", 5);
|
|
19
|
+
i0.ɵɵelementEnd();
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵadvance();
|
|
23
|
+
i0.ɵɵproperty("svg", ctx_r1.tablerSearch);
|
|
24
|
+
} }
|
|
25
|
+
function SdSharedDataSelectControl_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
26
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
27
|
+
i0.ɵɵelementStart(0, "sd-select-button", 4);
|
|
28
|
+
i0.ɵɵlistener("click", function SdSharedDataSelectControl_Conditional_2_Template_sd_select_button_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEditModalButtonClick($event)); });
|
|
29
|
+
i0.ɵɵelement(1, "ng-icon", 5);
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} if (rf & 2) {
|
|
32
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
33
|
+
i0.ɵɵadvance();
|
|
34
|
+
i0.ɵɵproperty("svg", ctx_r1.tablerEdit);
|
|
35
|
+
} }
|
|
36
|
+
function SdSharedDataSelectControl_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
38
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "sd-textfield", 7);
|
|
39
|
+
i0.ɵɵtwoWayListener("valueChange", function SdSharedDataSelectControl_ng_template_3_Template_sd_textfield_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.searchText, $event) || (ctx_r1.searchText = $event); return i0.ɵɵresetView($event); });
|
|
40
|
+
i0.ɵɵelementEnd()();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
43
|
+
i0.ɵɵadvance();
|
|
44
|
+
i0.ɵɵproperty("type", "text");
|
|
45
|
+
i0.ɵɵtwoWayProperty("value", ctx_r1.searchText);
|
|
46
|
+
i0.ɵɵproperty("placeholder", "\uAC80\uC0C9\uC5B4")("size", ctx_r1.size());
|
|
47
|
+
} }
|
|
48
|
+
function SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_1_ng_template_0_Template(rf, ctx) { }
|
|
49
|
+
function SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵtemplate(0, SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_1_ng_template_0_Template, 0, 0, "ng-template", 10);
|
|
51
|
+
} if (rf & 2) {
|
|
52
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
53
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.undefinedTplRef());
|
|
54
|
+
} }
|
|
55
|
+
function SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
i0.ɵɵelementStart(0, "span", 11);
|
|
57
|
+
i0.ɵɵtext(1, "\uBBF8\uC9C0\uC815");
|
|
58
|
+
i0.ɵɵelementEnd();
|
|
59
|
+
} }
|
|
60
|
+
function SdSharedDataSelectControl_ng_template_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
62
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
63
|
+
i0.ɵɵlistener("click", function SdSharedDataSelectControl_ng_template_5_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onUndefinedClick()); })("keydown.enter", function SdSharedDataSelectControl_ng_template_5_Conditional_0_Template_div_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onUndefinedClick()); })("keydown.space", function SdSharedDataSelectControl_ng_template_5_Conditional_0_Template_div_keydown_space_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onUndefinedClick(); return i0.ɵɵresetView($event.preventDefault()); });
|
|
64
|
+
i0.ɵɵconditionalCreate(1, SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_1_Template, 1, 1, null, 10)(2, SdSharedDataSelectControl_ng_template_5_Conditional_0_Conditional_2_Template, 2, 0, "span", 11);
|
|
65
|
+
i0.ɵɵelementEnd();
|
|
66
|
+
} if (rf & 2) {
|
|
67
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
68
|
+
i0.ɵɵadvance();
|
|
69
|
+
i0.ɵɵconditional(ctx_r1.undefinedTplRef() ? 1 : 2);
|
|
70
|
+
} }
|
|
71
|
+
function SdSharedDataSelectControl_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵconditionalCreate(0, SdSharedDataSelectControl_ng_template_5_Conditional_0_Template, 3, 1, "div", 8);
|
|
73
|
+
} if (rf & 2) {
|
|
74
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
75
|
+
i0.ɵɵconditional(!ctx_r1.required() && ctx_r1.selectMode() === "single" || ctx_r1.useUndefined() && ctx_r1.selectMode() === "multi" ? 0 : -1);
|
|
76
|
+
} }
|
|
77
|
+
function SdSharedDataSelectControl_ng_template_7_Conditional_0_ng_template_2_Template(rf, ctx) { }
|
|
78
|
+
function SdSharedDataSelectControl_ng_template_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
79
|
+
i0.ɵɵelementStart(0, "sd-select-item", 12)(1, "span");
|
|
80
|
+
i0.ɵɵtemplate(2, SdSharedDataSelectControl_ng_template_7_Conditional_0_ng_template_2_Template, 0, 0, "ng-template", 13);
|
|
81
|
+
i0.ɵɵelementEnd()();
|
|
82
|
+
} if (rf & 2) {
|
|
83
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
84
|
+
const item_r7 = ctx_r5.item;
|
|
85
|
+
const index_r8 = ctx_r5.index;
|
|
86
|
+
const depth_r9 = ctx_r5.depth;
|
|
87
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
88
|
+
i0.ɵɵproperty("value", item_r7.__valueKey)("hidden", !ctx_r1.getItemVisible(item_r7, index_r8));
|
|
89
|
+
i0.ɵɵadvance();
|
|
90
|
+
i0.ɵɵstyleProp("text-decoration", ctx_r1.getIsHiddenFn()(item_r7, index_r8) ? "line-through" : undefined);
|
|
91
|
+
i0.ɵɵadvance();
|
|
92
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTplRef() ?? null)("ngTemplateOutletContext", i0.ɵɵpureFunction4(6, _c1, item_r7, item_r7, index_r8, depth_r9));
|
|
93
|
+
} }
|
|
94
|
+
function SdSharedDataSelectControl_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵconditionalCreate(0, SdSharedDataSelectControl_ng_template_7_Conditional_0_Template, 3, 11, "sd-select-item", 12);
|
|
96
|
+
} if (rf & 2) {
|
|
97
|
+
const item_r7 = ctx.item;
|
|
98
|
+
const index_r8 = ctx.index;
|
|
99
|
+
const depth_r9 = ctx.depth;
|
|
100
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
101
|
+
i0.ɵɵconditional(ctx_r1.getItemSelectable(item_r7, index_r8, depth_r9) && (ctx_r1.isDropdownOpen() || ctx_r1.selectedKeys().includes(item_r7.__valueKey)) ? 0 : -1);
|
|
102
|
+
} }
|
|
103
|
+
export class SdSharedDataSelectControl {
|
|
104
|
+
_sdModal = inject(SdModalProvider);
|
|
105
|
+
_selectCtrl = viewChild(SdSelectControl, ...(ngDevMode ? [{ debugName: "_selectCtrl" }] : /* istanbul ignore next */ []));
|
|
106
|
+
value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
|
|
107
|
+
items = input.required(...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
108
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
109
|
+
required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
110
|
+
useUndefined = input(false, { ...(ngDevMode ? { debugName: "useUndefined" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
111
|
+
inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
112
|
+
inline = input(false, { ...(ngDevMode ? { debugName: "inline" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
113
|
+
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
|
|
114
|
+
selectMode = input("single", ...(ngDevMode ? [{ debugName: "selectMode" }] : /* istanbul ignore next */ []));
|
|
115
|
+
filterFn = input(...(ngDevMode ? [undefined, { debugName: "filterFn" }] : /* istanbul ignore next */ []));
|
|
116
|
+
filterFnParams = input(...(ngDevMode ? [undefined, { debugName: "filterFnParams" }] : /* istanbul ignore next */ []));
|
|
117
|
+
modal = input(...(ngDevMode ? [undefined, { debugName: "modal" }] : /* istanbul ignore next */ []));
|
|
118
|
+
editModal = input(...(ngDevMode ? [undefined, { debugName: "editModal" }] : /* istanbul ignore next */ []));
|
|
119
|
+
selectClass = input(...(ngDevMode ? [undefined, { debugName: "selectClass" }] : /* istanbul ignore next */ []));
|
|
120
|
+
multiSelectionDisplayDirection = input(...(ngDevMode ? [undefined, { debugName: "multiSelectionDisplayDirection" }] : /* istanbul ignore next */ []));
|
|
121
|
+
getIsHiddenFn = input((item) => item.__isHidden, ...(ngDevMode ? [{ debugName: "getIsHiddenFn" }] : /* istanbul ignore next */ []));
|
|
122
|
+
getSearchTextFn = input((item) => item.__searchText, ...(ngDevMode ? [{ debugName: "getSearchTextFn" }] : /* istanbul ignore next */ []));
|
|
123
|
+
displayOrderKeyProp = input(...(ngDevMode ? [undefined, { debugName: "displayOrderKeyProp" }] : /* istanbul ignore next */ []));
|
|
124
|
+
itemTplRef = contentChild(SdItemOfTemplateDirective, { ...(ngDevMode ? { debugName: "itemTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
125
|
+
undefinedTplRef = contentChild("undefinedTpl", { ...(ngDevMode ? { debugName: "undefinedTplRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
126
|
+
searchText = signal(undefined, ...(ngDevMode ? [{ debugName: "searchText" }] : /* istanbul ignore next */ []));
|
|
127
|
+
isDropdownOpen = computed(() => this._selectCtrl()?.dropdownOpen() ?? false, ...(ngDevMode ? [{ debugName: "isDropdownOpen" }] : /* istanbul ignore next */ []));
|
|
128
|
+
hasParentKey = computed(() => this.items().some((item) => item.__parentKey != null), ...(ngDevMode ? [{ debugName: "hasParentKey" }] : /* istanbul ignore next */ []));
|
|
129
|
+
itemByParentKeyMap = computed(() => {
|
|
130
|
+
if (!this.hasParentKey())
|
|
131
|
+
return undefined;
|
|
132
|
+
const map = new Map();
|
|
133
|
+
for (const item of this.items()) {
|
|
134
|
+
const parentKey = item.__parentKey;
|
|
135
|
+
const existing = map.get(parentKey);
|
|
136
|
+
if (existing != null) {
|
|
137
|
+
existing.push(item);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
map.set(parentKey, [item]);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return map;
|
|
144
|
+
}, ...(ngDevMode ? [{ debugName: "itemByParentKeyMap" }] : /* istanbul ignore next */ []));
|
|
145
|
+
rootDisplayItems = computed(() => {
|
|
146
|
+
let result = this.items().filter((item, index) => {
|
|
147
|
+
if (this.filterFn() != null) {
|
|
148
|
+
if (!this.filterFn()(item, index, ...(this.filterFnParams() ?? []))) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (this.hasParentKey()) {
|
|
153
|
+
return item.__parentKey == null;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
});
|
|
157
|
+
const orderProp = this.displayOrderKeyProp();
|
|
158
|
+
if (orderProp != null) {
|
|
159
|
+
result = [...result].sort((a, b) => {
|
|
160
|
+
const aVal = a[orderProp];
|
|
161
|
+
const bVal = b[orderProp];
|
|
162
|
+
if (aVal < bVal)
|
|
163
|
+
return -1;
|
|
164
|
+
if (aVal > bVal)
|
|
165
|
+
return 1;
|
|
166
|
+
return 0;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
return result;
|
|
170
|
+
}, ...(ngDevMode ? [{ debugName: "rootDisplayItems" }] : /* istanbul ignore next */ []));
|
|
171
|
+
selectedKeys = computed(() => {
|
|
172
|
+
const val = this.value();
|
|
173
|
+
if (val == null)
|
|
174
|
+
return [];
|
|
175
|
+
if (Array.isArray(val))
|
|
176
|
+
return val;
|
|
177
|
+
return [val];
|
|
178
|
+
}, ...(ngDevMode ? [{ debugName: "selectedKeys" }] : /* istanbul ignore next */ []));
|
|
179
|
+
constructor() {
|
|
180
|
+
// 드롭다운 닫힘 시 검색어 초기화
|
|
181
|
+
effect(() => {
|
|
182
|
+
const ctrl = this._selectCtrl();
|
|
183
|
+
if (ctrl != null) {
|
|
184
|
+
ctrl.dropdownOpen();
|
|
185
|
+
}
|
|
186
|
+
untracked(() => this.searchText.set(undefined));
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
getItemSelectable(item, _index, depth) {
|
|
190
|
+
if (!this.hasParentKey())
|
|
191
|
+
return true;
|
|
192
|
+
// depth가 0이면서 자식을 가진 항목(카테고리)은 선택 불가
|
|
193
|
+
return depth !== 0 || item.__parentKey == null;
|
|
194
|
+
}
|
|
195
|
+
getItemVisible(item, index) {
|
|
196
|
+
if (this.isIncludeSearchText(item, index) &&
|
|
197
|
+
!this.getIsHiddenFn()(item, index)) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
// 현재 선택된 항목은 항상 표시
|
|
201
|
+
const val = this.value();
|
|
202
|
+
if (val === item.__valueKey)
|
|
203
|
+
return true;
|
|
204
|
+
if (Array.isArray(val) && val.includes(item.__valueKey))
|
|
205
|
+
return true;
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
isIncludeSearchText(item, index) {
|
|
209
|
+
const splitSearchTexts = this.searchText()
|
|
210
|
+
?.trim()
|
|
211
|
+
.split(" ")
|
|
212
|
+
.map((t) => t.trim())
|
|
213
|
+
.filter((t) => t !== "") ?? [];
|
|
214
|
+
if (splitSearchTexts.length === 0)
|
|
215
|
+
return true;
|
|
216
|
+
const itemText = this.getSearchTextFn()(item, index);
|
|
217
|
+
for (const term of splitSearchTexts) {
|
|
218
|
+
if (!itemText.toLowerCase().includes(term.toLowerCase())) {
|
|
219
|
+
// 트리 구조에서 자식 중 매칭 항목 확인
|
|
220
|
+
if (this.hasParentKey()) {
|
|
221
|
+
const children = this.getChildren(item);
|
|
222
|
+
for (let i = 0; i < children.length; i++) {
|
|
223
|
+
if (this.isIncludeSearchText(children[i], i)) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
getChildren = (item) => {
|
|
234
|
+
let result = this.itemByParentKeyMap()?.get(item.__valueKey) ??
|
|
235
|
+
[];
|
|
236
|
+
const orderProp = this.displayOrderKeyProp();
|
|
237
|
+
if (orderProp != null) {
|
|
238
|
+
result = [...result].sort((a, b) => {
|
|
239
|
+
const aVal = a[orderProp];
|
|
240
|
+
const bVal = b[orderProp];
|
|
241
|
+
if (aVal < bVal)
|
|
242
|
+
return -1;
|
|
243
|
+
if (aVal > bVal)
|
|
244
|
+
return 1;
|
|
245
|
+
return 0;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
return result;
|
|
249
|
+
};
|
|
250
|
+
onUndefinedClick() {
|
|
251
|
+
this.value.set(undefined);
|
|
252
|
+
}
|
|
253
|
+
async onModalButtonClick(event) {
|
|
254
|
+
event.preventDefault();
|
|
255
|
+
event.stopPropagation();
|
|
256
|
+
const modalInfo = this.modal();
|
|
257
|
+
if (modalInfo == null)
|
|
258
|
+
return;
|
|
259
|
+
const result = await this._sdModal.showAsync({
|
|
260
|
+
...modalInfo,
|
|
261
|
+
inputs: {
|
|
262
|
+
selectMode: this.selectMode(),
|
|
263
|
+
selectedItemKeys: this.selectedKeys(),
|
|
264
|
+
...modalInfo.inputs,
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
if (result != null) {
|
|
268
|
+
const newValue = this.selectMode() === "multi"
|
|
269
|
+
? result.selectedItemKeys
|
|
270
|
+
: result.selectedItemKeys[0];
|
|
271
|
+
this.value.set(newValue);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
async onEditModalButtonClick(event) {
|
|
275
|
+
event.preventDefault();
|
|
276
|
+
event.stopPropagation();
|
|
277
|
+
const modalInfo = this.editModal();
|
|
278
|
+
if (modalInfo == null)
|
|
279
|
+
return;
|
|
280
|
+
await this._sdModal.showAsync(modalInfo);
|
|
281
|
+
}
|
|
282
|
+
tablerSearch = tablerSearch;
|
|
283
|
+
tablerEdit = tablerEdit;
|
|
284
|
+
static ɵfac = function SdSharedDataSelectControl_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SdSharedDataSelectControl)(); };
|
|
285
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SdSharedDataSelectControl, selectors: [["sd-shared-data-select"]], contentQueries: function SdSharedDataSelectControl_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
286
|
+
i0.ɵɵcontentQuerySignal(dirIndex, ctx.itemTplRef, SdItemOfTemplateDirective, 5, TemplateRef)(dirIndex, ctx.undefinedTplRef, _c0, 5, TemplateRef);
|
|
287
|
+
} if (rf & 2) {
|
|
288
|
+
i0.ɵɵqueryAdvance(2);
|
|
289
|
+
} }, viewQuery: function SdSharedDataSelectControl_Query(rf, ctx) { if (rf & 1) {
|
|
290
|
+
i0.ɵɵviewQuerySignal(ctx._selectCtrl, SdSelectControl, 5);
|
|
291
|
+
} if (rf & 2) {
|
|
292
|
+
i0.ɵɵqueryAdvance();
|
|
293
|
+
} }, inputs: { value: [1, "value"], items: [1, "items"], disabled: [1, "disabled"], required: [1, "required"], useUndefined: [1, "useUndefined"], inset: [1, "inset"], inline: [1, "inline"], size: [1, "size"], selectMode: [1, "selectMode"], filterFn: [1, "filterFn"], filterFnParams: [1, "filterFnParams"], modal: [1, "modal"], editModal: [1, "editModal"], selectClass: [1, "selectClass"], multiSelectionDisplayDirection: [1, "multiSelectionDisplayDirection"], getIsHiddenFn: [1, "getIsHiddenFn"], getSearchTextFn: [1, "getSearchTextFn"], displayOrderKeyProp: [1, "displayOrderKeyProp"] }, outputs: { value: "valueChange" }, decls: 8, vars: 14, consts: [["headerTpl", ""], ["beforeTpl", ""], [3, "valueChange", "value", "disabled", "required", "inset", "inline", "size", "items", "selectMode", "contentClass", "multiSelectionDisplayDirection", "getChildrenFn"], [3, "itemOf"], [3, "click"], [3, "svg"], [1, "p-xs"], [3, "valueChange", "type", "value", "placeholder", "size"], ["tabindex", "0", 1, "_sd-shared-data-select-undefined"], ["tabindex", "0", 1, "_sd-shared-data-select-undefined", 3, "click", "keydown.enter", "keydown.space"], [3, "ngTemplateOutlet"], [1, "tx-theme-gray-default"], [3, "value", "hidden"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function SdSharedDataSelectControl_Template(rf, ctx) { if (rf & 1) {
|
|
294
|
+
i0.ɵɵelementStart(0, "sd-select", 2);
|
|
295
|
+
i0.ɵɵlistener("valueChange", function SdSharedDataSelectControl_Template_sd_select_valueChange_0_listener($event) { return ctx.value.set($event); });
|
|
296
|
+
i0.ɵɵconditionalCreate(1, SdSharedDataSelectControl_Conditional_1_Template, 2, 1, "sd-select-button");
|
|
297
|
+
i0.ɵɵconditionalCreate(2, SdSharedDataSelectControl_Conditional_2_Template, 2, 1, "sd-select-button");
|
|
298
|
+
i0.ɵɵtemplate(3, SdSharedDataSelectControl_ng_template_3_Template, 2, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(5, SdSharedDataSelectControl_ng_template_5_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(7, SdSharedDataSelectControl_ng_template_7_Template, 1, 1, "ng-template", 3);
|
|
299
|
+
i0.ɵɵelementEnd();
|
|
300
|
+
} if (rf & 2) {
|
|
301
|
+
i0.ɵɵproperty("value", ctx.value())("disabled", ctx.disabled())("required", ctx.required())("inset", ctx.inset())("inline", ctx.inline())("size", ctx.size())("items", ctx.rootDisplayItems())("selectMode", ctx.selectMode())("contentClass", ctx.selectClass())("multiSelectionDisplayDirection", ctx.multiSelectionDisplayDirection())("getChildrenFn", ctx.hasParentKey() ? ctx.getChildren : undefined);
|
|
302
|
+
i0.ɵɵadvance();
|
|
303
|
+
i0.ɵɵconditional(ctx.modal() ? 1 : -1);
|
|
304
|
+
i0.ɵɵadvance();
|
|
305
|
+
i0.ɵɵconditional(ctx.editModal() ? 2 : -1);
|
|
306
|
+
i0.ɵɵadvance(5);
|
|
307
|
+
i0.ɵɵproperty("itemOf", ctx.rootDisplayItems());
|
|
308
|
+
} }, dependencies: [SdSelectControl,
|
|
309
|
+
SdTextfieldControl,
|
|
310
|
+
SdSelectItemControl,
|
|
311
|
+
SdItemOfTemplateDirective,
|
|
312
|
+
NgTemplateOutlet,
|
|
313
|
+
SdSelectButtonControl,
|
|
314
|
+
NgIcon], encapsulation: 2, changeDetection: 0 });
|
|
315
|
+
}
|
|
316
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdSharedDataSelectControl, [{
|
|
317
|
+
type: Component,
|
|
318
|
+
args: [{
|
|
319
|
+
selector: "sd-shared-data-select",
|
|
320
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
321
|
+
encapsulation: ViewEncapsulation.None,
|
|
322
|
+
standalone: true,
|
|
323
|
+
imports: [
|
|
324
|
+
SdSelectControl,
|
|
325
|
+
SdTextfieldControl,
|
|
326
|
+
SdSelectItemControl,
|
|
327
|
+
SdItemOfTemplateDirective,
|
|
328
|
+
NgTemplateOutlet,
|
|
329
|
+
SdSelectButtonControl,
|
|
330
|
+
NgIcon,
|
|
331
|
+
],
|
|
332
|
+
template: `
|
|
333
|
+
<sd-select
|
|
334
|
+
[value]="$any(value())"
|
|
335
|
+
(valueChange)="value.set($any($event))"
|
|
336
|
+
[disabled]="disabled()"
|
|
337
|
+
[required]="required()"
|
|
338
|
+
[inset]="inset()"
|
|
339
|
+
[inline]="inline()"
|
|
340
|
+
[size]="size()"
|
|
341
|
+
[items]="rootDisplayItems()"
|
|
342
|
+
[selectMode]="selectMode()"
|
|
343
|
+
[contentClass]="selectClass()"
|
|
344
|
+
[multiSelectionDisplayDirection]="multiSelectionDisplayDirection()"
|
|
345
|
+
[getChildrenFn]="hasParentKey() ? getChildren : undefined"
|
|
346
|
+
>
|
|
347
|
+
@if (modal()) {
|
|
348
|
+
<sd-select-button (click)="onModalButtonClick($event)">
|
|
349
|
+
<ng-icon [svg]="tablerSearch" />
|
|
350
|
+
</sd-select-button>
|
|
351
|
+
}
|
|
352
|
+
@if (editModal()) {
|
|
353
|
+
<sd-select-button (click)="onEditModalButtonClick($event)">
|
|
354
|
+
<ng-icon [svg]="tablerEdit" />
|
|
355
|
+
</sd-select-button>
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
<ng-template #headerTpl>
|
|
359
|
+
<div class="p-xs">
|
|
360
|
+
<sd-textfield
|
|
361
|
+
[type]="'text'"
|
|
362
|
+
[(value)]="searchText"
|
|
363
|
+
[placeholder]="'검색어'"
|
|
364
|
+
[size]="size()"
|
|
365
|
+
/>
|
|
366
|
+
</div>
|
|
367
|
+
</ng-template>
|
|
368
|
+
|
|
369
|
+
<ng-template #beforeTpl>
|
|
370
|
+
@if (
|
|
371
|
+
(!required() && selectMode() === "single") ||
|
|
372
|
+
(useUndefined() && selectMode() === "multi")
|
|
373
|
+
) {
|
|
374
|
+
<div
|
|
375
|
+
class="_sd-shared-data-select-undefined"
|
|
376
|
+
tabindex="0"
|
|
377
|
+
(click)="onUndefinedClick()"
|
|
378
|
+
(keydown.enter)="onUndefinedClick()"
|
|
379
|
+
(keydown.space)="onUndefinedClick(); $event.preventDefault()"
|
|
380
|
+
>
|
|
381
|
+
@if (undefinedTplRef()) {
|
|
382
|
+
<ng-template [ngTemplateOutlet]="undefinedTplRef()!" />
|
|
383
|
+
} @else {
|
|
384
|
+
<span class="tx-theme-gray-default">미지정</span>
|
|
385
|
+
}
|
|
386
|
+
</div>
|
|
387
|
+
}
|
|
388
|
+
</ng-template>
|
|
389
|
+
|
|
390
|
+
<ng-template
|
|
391
|
+
[itemOf]="rootDisplayItems()"
|
|
392
|
+
let-item="item"
|
|
393
|
+
let-index="index"
|
|
394
|
+
let-depth="depth"
|
|
395
|
+
>
|
|
396
|
+
@if (
|
|
397
|
+
getItemSelectable(item, index, depth) &&
|
|
398
|
+
(isDropdownOpen() || selectedKeys().includes(item.__valueKey))
|
|
399
|
+
) {
|
|
400
|
+
<sd-select-item [value]="item.__valueKey" [hidden]="!getItemVisible(item, index)">
|
|
401
|
+
<span
|
|
402
|
+
[style.text-decoration]="
|
|
403
|
+
getIsHiddenFn()(item, index) ? 'line-through' : undefined
|
|
404
|
+
"
|
|
405
|
+
>
|
|
406
|
+
<ng-template
|
|
407
|
+
[ngTemplateOutlet]="itemTplRef() ?? null"
|
|
408
|
+
[ngTemplateOutletContext]="{
|
|
409
|
+
$implicit: item,
|
|
410
|
+
item: item,
|
|
411
|
+
index: index,
|
|
412
|
+
depth: depth,
|
|
413
|
+
}"
|
|
414
|
+
></ng-template>
|
|
415
|
+
</span>
|
|
416
|
+
</sd-select-item>
|
|
417
|
+
}
|
|
418
|
+
</ng-template>
|
|
419
|
+
</sd-select>
|
|
420
|
+
`,
|
|
421
|
+
}]
|
|
422
|
+
}], () => [], { _selectCtrl: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SdSelectControl), { isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], useUndefined: [{ type: i0.Input, args: [{ isSignal: true, alias: "useUndefined", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], selectMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectMode", required: false }] }], filterFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFn", required: false }] }], filterFnParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFnParams", required: false }] }], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], editModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "editModal", required: false }] }], selectClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectClass", required: false }] }], multiSelectionDisplayDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionDisplayDirection", required: false }] }], getIsHiddenFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getIsHiddenFn", required: false }] }], getSearchTextFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "getSearchTextFn", required: false }] }], displayOrderKeyProp: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayOrderKeyProp", required: false }] }], itemTplRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SdItemOfTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], undefinedTplRef: [{ type: i0.ContentChild, args: ["undefinedTpl", { ...{
|
|
423
|
+
read: TemplateRef,
|
|
424
|
+
}, isSignal: true }] }] }); })();
|
|
425
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdSharedDataSelectControl, { className: "SdSharedDataSelectControl", filePath: "packages/angular/src/features/shared-data/sd-shared-data-select.control.ts", lineNumber: 143, forbidOrphanRendering: true }); })();
|
package/dist/index.d.ts
CHANGED
|
@@ -38,8 +38,20 @@ export { useFullPageCodeSignal } from "./core/utils/useFullPageCodeSignal";
|
|
|
38
38
|
export { useViewTitleSignal } from "./core/utils/useViewTitleSignal";
|
|
39
39
|
export { useViewTypeSignal, type TSdViewType } from "./core/utils/useViewTypeSignal";
|
|
40
40
|
export { setupCanDeactivate } from "./core/utils/setups/setupCanDeactivate";
|
|
41
|
+
export { setupCumulateSelectedKeys } from "./core/utils/setups/setupCumulateSelectedKeys";
|
|
42
|
+
export { setupCloserWhenSingleSelectionChange } from "./core/utils/setups/setupCloserWhenSingleSelectionChange";
|
|
41
43
|
export { useExpandingManager, type IExpandItemDef, } from "./core/utils/useExpandingManager";
|
|
42
44
|
export { useSelectionManager } from "./core/utils/useSelectionManager";
|
|
45
|
+
export { injectParent } from "./core/utils/injectParent";
|
|
46
|
+
export { SdAddressSearchModal, type IAddress, } from "./features/address/sd-address-search.modal";
|
|
47
|
+
export { SdBaseContainerControl } from "./features/base/sd-base-container.control";
|
|
48
|
+
export { SdDataSheetControl, AbsSdDataSheet, type ISdDataSheetItemPropInfo, type ISdDataSheetItemInfo, type ISdDataSheetSearchResult, } from "./features/data-view/sd-data-sheet.control";
|
|
49
|
+
export { SdDataSheetColumnDirective } from "./features/data-view/sd-data-sheet-column.directive";
|
|
50
|
+
export { SdDataDetailControl, AbsSdDataDetail, type ISdDataDetailDataInfo, } from "./features/data-view/sd-data-detail.control";
|
|
51
|
+
export { SdDataSelectButtonControl, AbsSdDataSelectButton, } from "./features/data-view/sd-data-select-button.control";
|
|
52
|
+
export { SdSharedDataSelectControl } from "./features/shared-data/sd-shared-data-select.control";
|
|
53
|
+
export { SdSharedDataSelectButtonControl } from "./features/shared-data/sd-shared-data-select-button.control";
|
|
54
|
+
export { SdSharedDataSelectListControl } from "./features/shared-data/sd-shared-data-select-list.control";
|
|
43
55
|
export { SdDockContainerControl } from "./ui/layout/dock/sd-dock-container.control";
|
|
44
56
|
export { SdDockControl } from "./ui/layout/dock/sd-dock.control";
|
|
45
57
|
export { SdPaneDirective } from "./ui/layout/sd-pane.directive";
|
|
@@ -110,5 +122,5 @@ export { SdBusyContainerControl } from "./ui/overlay/busy/sd-busy-container.cont
|
|
|
110
122
|
export { SdBusyProvider, type TSdBusyType, } from "./ui/overlay/busy/sd-busy.provider";
|
|
111
123
|
export { SdPrintProvider, type ISdPrint, type ISdPrintInput, } from "./core/providers/sd-print.provider";
|
|
112
124
|
export { useSortingManager, type ISortingDef } from "./core/utils/useSortingManager";
|
|
113
|
-
export type { TDirectiveInputSignals, TUndefToOptional } from "./core/utils/TDirectiveInputSignals";
|
|
125
|
+
export type { TDirectiveInputSignals, TUndefToOptional, TWithOptional, } from "./core/utils/TDirectiveInputSignals";
|
|
114
126
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -38,8 +38,23 @@ export { useFullPageCodeSignal } from "./core/utils/useFullPageCodeSignal";
|
|
|
38
38
|
export { useViewTitleSignal } from "./core/utils/useViewTitleSignal";
|
|
39
39
|
export { useViewTypeSignal } from "./core/utils/useViewTypeSignal";
|
|
40
40
|
export { setupCanDeactivate } from "./core/utils/setups/setupCanDeactivate";
|
|
41
|
+
export { setupCumulateSelectedKeys } from "./core/utils/setups/setupCumulateSelectedKeys";
|
|
42
|
+
export { setupCloserWhenSingleSelectionChange } from "./core/utils/setups/setupCloserWhenSingleSelectionChange";
|
|
41
43
|
export { useExpandingManager, } from "./core/utils/useExpandingManager";
|
|
42
44
|
export { useSelectionManager } from "./core/utils/useSelectionManager";
|
|
45
|
+
export { injectParent } from "./core/utils/injectParent";
|
|
46
|
+
// features/address
|
|
47
|
+
export { SdAddressSearchModal, } from "./features/address/sd-address-search.modal";
|
|
48
|
+
// features
|
|
49
|
+
export { SdBaseContainerControl } from "./features/base/sd-base-container.control";
|
|
50
|
+
export { SdDataSheetControl, AbsSdDataSheet, } from "./features/data-view/sd-data-sheet.control";
|
|
51
|
+
export { SdDataSheetColumnDirective } from "./features/data-view/sd-data-sheet-column.directive";
|
|
52
|
+
export { SdDataDetailControl, AbsSdDataDetail, } from "./features/data-view/sd-data-detail.control";
|
|
53
|
+
export { SdDataSelectButtonControl, AbsSdDataSelectButton, } from "./features/data-view/sd-data-select-button.control";
|
|
54
|
+
// features/shared-data
|
|
55
|
+
export { SdSharedDataSelectControl } from "./features/shared-data/sd-shared-data-select.control";
|
|
56
|
+
export { SdSharedDataSelectButtonControl } from "./features/shared-data/sd-shared-data-select-button.control";
|
|
57
|
+
export { SdSharedDataSelectListControl } from "./features/shared-data/sd-shared-data-select-list.control";
|
|
43
58
|
// ui/layout
|
|
44
59
|
export { SdDockContainerControl } from "./ui/layout/dock/sd-dock-container.control";
|
|
45
60
|
export { SdDockControl } from "./ui/layout/dock/sd-dock.control";
|
|
@@ -6,6 +6,8 @@ export declare class SdListItemControl {
|
|
|
6
6
|
selected: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
7
7
|
selectedIcon: import("@angular/core").InputSignal<string | undefined>;
|
|
8
8
|
readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
9
|
+
contentStyle: import("@angular/core").InputSignal<string | undefined>;
|
|
10
|
+
contentClass: import("@angular/core").InputSignal<string | undefined>;
|
|
9
11
|
toolTpl: import("@angular/core").Signal<TemplateRef<void> | undefined>;
|
|
10
12
|
private readonly _childLists;
|
|
11
13
|
hasChildren: import("@angular/core").Signal<boolean>;
|
|
@@ -13,6 +15,6 @@ export declare class SdListItemControl {
|
|
|
13
15
|
constructor();
|
|
14
16
|
onContentClick(): void;
|
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdListItemControl, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdListItemControl, "sd-list-item", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectedIcon": { "alias": "selectedIcon"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, ["toolTpl", "_childLists"], ["*", "sd-list"], true, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdListItemControl, "sd-list-item", never, { "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "selectedIcon": { "alias": "selectedIcon"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "contentStyle": { "alias": "contentStyle"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, ["toolTpl", "_childLists"], ["*", "sd-list"], true, never>;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=sd-list-item.control.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-list-item.control.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"sd-list-item.control.d.ts","sourceRoot":"","sources":["../../../../src/ui/data/list/sd-list-item.control.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,WAAW,EAEZ,MAAM,eAAe,CAAC;;AAQvB,qBAgGa,iBAAiB;IAC5B,MAAM,4DAA4C;IAClD,IAAI,+CAAgB;IACpB,QAAQ,qEAAiD;IACzD,YAAY,0DAAmB;IAC/B,QAAQ,qEAAiD;IACzD,YAAY,0DAAmB;IAC/B,YAAY,0DAAmB;IAE/B,OAAO,gEAA8C;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,WAAW,0CAAiD;IAE5D,YAAY,0CAET;;IAMH,cAAc,IAAI,IAAI;yCAvBX,iBAAiB;2CAAjB,iBAAiB;CA6B7B"}
|
|
@@ -46,6 +46,8 @@ export class SdListItemControl {
|
|
|
46
46
|
selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
47
47
|
selectedIcon = input(...(ngDevMode ? [undefined, { debugName: "selectedIcon" }] : /* istanbul ignore next */ []));
|
|
48
48
|
readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
49
|
+
contentStyle = input(...(ngDevMode ? [undefined, { debugName: "contentStyle" }] : /* istanbul ignore next */ []));
|
|
50
|
+
contentClass = input(...(ngDevMode ? [undefined, { debugName: "contentClass" }] : /* istanbul ignore next */ []));
|
|
49
51
|
toolTpl = contentChild("toolTpl", ...(ngDevMode ? [{ debugName: "toolTpl" }] : /* istanbul ignore next */ []));
|
|
50
52
|
_childLists = contentChildren(SdListControl, ...(ngDevMode ? [{ debugName: "_childLists" }] : /* istanbul ignore next */ []));
|
|
51
53
|
hasChildren = computed(() => this._childLists().length > 0, ...(ngDevMode ? [{ debugName: "hasChildren" }] : /* istanbul ignore next */ []));
|
|
@@ -53,7 +55,7 @@ export class SdListItemControl {
|
|
|
53
55
|
return this.layout() === "flat" ? true : this.open();
|
|
54
56
|
}, ...(ngDevMode ? [{ debugName: "childrenOpen" }] : /* istanbul ignore next */ []));
|
|
55
57
|
constructor() {
|
|
56
|
-
setupRipple(() => !this.readonly() &&
|
|
58
|
+
setupRipple(() => !this.readonly() && this.layout() !== "flat");
|
|
57
59
|
}
|
|
58
60
|
onContentClick() {
|
|
59
61
|
if (this.readonly())
|
|
@@ -69,7 +71,7 @@ export class SdListItemControl {
|
|
|
69
71
|
i0.ɵɵqueryAdvance(2);
|
|
70
72
|
} }, hostVars: 4, hostBindings: function SdListItemControl_HostBindings(rf, ctx) { if (rf & 2) {
|
|
71
73
|
i0.ɵɵattribute("data-sd-layout", ctx.layout())("data-sd-selected", ctx.selected())("data-sd-readonly", ctx.readonly())("data-sd-has-children", ctx.hasChildren());
|
|
72
|
-
} }, inputs: { layout: [1, "layout"], open: [1, "open"], selected: [1, "selected"], selectedIcon: [1, "selectedIcon"], readonly: [1, "readonly"] }, outputs: { open: "openChange" }, ngContentSelectors: _c2, decls: 7, vars:
|
|
74
|
+
} }, inputs: { layout: [1, "layout"], open: [1, "open"], selected: [1, "selected"], selectedIcon: [1, "selectedIcon"], readonly: [1, "readonly"], contentStyle: [1, "contentStyle"], contentClass: [1, "contentClass"] }, outputs: { open: "openChange" }, ngContentSelectors: _c2, decls: 7, vars: 8, consts: [["tabindex", "0", 1, "_content", 3, "click", "keydown.enter"], [3, "open"], [3, "tx-theme-primary-default", "tx-trans-lightest", "svg"], [1, "_label"], [1, "_tool"], [3, "svg"], [3, "ngTemplateOutlet"]], template: function SdListItemControl_Template(rf, ctx) { if (rf & 1) {
|
|
73
75
|
i0.ɵɵprojectionDef(_c1);
|
|
74
76
|
i0.ɵɵelementStart(0, "div", 0);
|
|
75
77
|
i0.ɵɵlistener("click", function SdListItemControl_Template_div_click_0_listener() { return ctx.onContentClick(); })("keydown.enter", function SdListItemControl_Template_div_keydown_enter_0_listener() { return ctx.onContentClick(); });
|
|
@@ -82,6 +84,8 @@ export class SdListItemControl {
|
|
|
82
84
|
i0.ɵɵelementEnd();
|
|
83
85
|
i0.ɵɵconditionalCreate(6, SdListItemControl_Conditional_6_Template, 2, 1, "sd-collapse", 1);
|
|
84
86
|
} if (rf & 2) {
|
|
87
|
+
i0.ɵɵstyleMap(ctx.contentStyle());
|
|
88
|
+
i0.ɵɵclassMap(ctx.contentClass());
|
|
85
89
|
i0.ɵɵadvance();
|
|
86
90
|
i0.ɵɵconditional(ctx.layout() === "accordion" && ctx.hasChildren() ? 1 : -1);
|
|
87
91
|
i0.ɵɵadvance();
|
|
@@ -95,7 +99,7 @@ export class SdListItemControl {
|
|
|
95
99
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SdListItemControl, [{
|
|
96
100
|
type: Component,
|
|
97
101
|
args: [{ selector: "sd-list-item", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [SdCollapseControl, SdCollapseIconControl, NgTemplateOutlet, NgIcon], template: `
|
|
98
|
-
<div class="_content" tabindex="0" (click)="onContentClick()" (keydown.enter)="onContentClick()">
|
|
102
|
+
<div class="_content" [style]="contentStyle()" [class]="contentClass()" tabindex="0" (click)="onContentClick()" (keydown.enter)="onContentClick()">
|
|
99
103
|
@if (layout() === "accordion" && hasChildren()) {
|
|
100
104
|
<sd-collapse-icon [open]="open()" />
|
|
101
105
|
}
|
|
@@ -126,5 +130,5 @@ export class SdListItemControl {
|
|
|
126
130
|
"[attr.data-sd-readonly]": "readonly()",
|
|
127
131
|
"[attr.data-sd-has-children]": "hasChildren()",
|
|
128
132
|
}, styles: ["sd-list-item {\n display: block;\n}\nsd-list-item > ._content {\n display: flex;\n align-items: center;\n padding: var(--gap-sm) var(--gap-default);\n cursor: pointer;\n gap: var(--gap-sm);\n}\nsd-list-item > ._content > ._label {\n flex: 1;\n}\nsd-list-item:hover > ._content {\n background: var(--trans-lighter);\n}\nsd-list-item[data-sd-selected=true] > ._content {\n background: var(--trans-lighter);\n font-weight: bold;\n}\nsd-list-item[data-sd-readonly=true] > ._content {\n cursor: default;\n}\nsd-list-item[data-sd-readonly=true]:hover > ._content {\n background: transparent;\n}\nsd-list-item[data-sd-layout=flat] > ._content {\n font-size: 0.85em;\n opacity: 0.7;\n cursor: default;\n}\nsd-list-item[data-sd-layout=flat]:hover > ._content {\n background: transparent;\n}\nsd-list-item[data-sd-has-children=false] > ._content {\n padding-left: calc(var(--gap-default) + var(--gap-sm) + 0.75em);\n}"] }]
|
|
129
|
-
}], () => [], { layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], selectedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIcon", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], toolTpl: [{ type: i0.ContentChild, args: ["toolTpl", { isSignal: true }] }], _childLists: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdListControl), { isSignal: true }] }] }); })();
|
|
130
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdListItemControl, { className: "SdListItemControl", filePath: "packages/angular/src/ui/data/list/sd-list-item.control.ts", lineNumber: 116 }); })();
|
|
133
|
+
}], () => [], { layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], selectedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIcon", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], contentStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentStyle", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], toolTpl: [{ type: i0.ContentChild, args: ["toolTpl", { isSignal: true }] }], _childLists: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SdListControl), { isSignal: true }] }] }); })();
|
|
134
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdListItemControl, { className: "SdListItemControl", filePath: "packages/angular/src/ui/data/list/sd-list-item.control.ts", lineNumber: 116, forbidOrphanRendering: true }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-list.control.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"sd-list.control.d.ts","sourceRoot":"","sources":["../../../../src/ui/data/list/sd-list.control.ts"],"names":[],"mappings":";AAQA,qBA8Ba,aAAa;IACxB,KAAK,qEAAiD;yCAD3C,aAAa;2CAAb,aAAa;CAEzB"}
|
|
@@ -19,4 +19,4 @@ export class SdListControl {
|
|
|
19
19
|
"[attr.data-sd-inset]": "inset()",
|
|
20
20
|
}, styles: ["sd-list {\n display: block;\n user-select: none;\n background: var(--control-color);\n}\nsd-list[data-sd-inset=true] {\n background: transparent;\n}\nsd-list[data-sd-inset=true] sd-list {\n background: transparent;\n}"] }]
|
|
21
21
|
}], null, { inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }] }); })();
|
|
22
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdListControl, { className: "SdListControl", filePath: "packages/angular/src/ui/data/list/sd-list.control.ts", lineNumber: 39 }); })();
|
|
22
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SdListControl, { className: "SdListControl", filePath: "packages/angular/src/ui/data/list/sd-list.control.ts", lineNumber: 39, forbidOrphanRendering: true }); })();
|