@luzmo/analytics-components-kit 1.0.9-beta.7 → 1.0.9-beta.8
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/components/ai-chat/ai-chat-events.d.ts +139 -0
- package/components/ai-chat/ai-chat-request.d.ts +25 -0
- package/components/ai-chat/ai-chat.d.ts +356 -0
- package/components/ai-chat/ai-prompt-types.d.ts +133 -0
- package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +53 -0
- package/components/ai-chat/empty-state/index.d.ts +8 -0
- package/components/ai-chat/empty-state/types.d.ts +14 -0
- package/components/ai-chat/helpers/agent-config.d.ts +12 -0
- package/components/ai-chat/helpers/elicitation-template.d.ts +20 -0
- package/components/ai-chat/index.d.ts +24 -0
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +60 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +119 -0
- package/components/ai-chat/session/ai-chat-session.d.ts +119 -0
- package/components/ai-chat/session/index.d.ts +2 -0
- package/components/ai-chat/stream/chunk-extractors.d.ts +29 -0
- package/components/ai-chat/stream/index.d.ts +53 -0
- package/components/ai-chat/stream/progress.d.ts +3 -0
- package/components/ai-chat/stream/registry.d.ts +6 -0
- package/components/ai-chat/stream/stream-processor.d.ts +2 -0
- package/components/ai-chat/stream/transport.d.ts +26 -0
- package/components/ai-chat/stream/types.d.ts +59 -0
- package/components/ai-chat/types.d.ts +24 -0
- package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +239 -0
- package/components/ai-interaction-textarea/index.d.ts +10 -0
- package/components/ai-interaction-textarea/types.d.ts +12 -0
- package/components/data-field/data-field.d.ts +31 -0
- package/components/data-field/index.d.ts +9 -0
- package/components/data-field/types.d.ts +4 -0
- package/components/data-field-level/data-field-level.d.ts +40 -0
- package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
- package/components/data-field-level/index.d.ts +8 -0
- package/components/data-field-panel/data-field-panel.d.ts +231 -0
- package/components/data-field-panel/index.d.ts +9 -0
- package/components/data-field-panel/types.d.ts +27 -0
- package/components/data-fields-select/data-fields-select.d.ts +137 -0
- package/components/data-fields-select/index.d.ts +9 -0
- package/components/data-fields-select/types.d.ts +4 -0
- package/components/dataset-icon/dataset-icon.d.ts +45 -0
- package/components/dataset-icon/index.d.ts +8 -0
- package/components/dataset-icon/types.d.ts +11 -0
- package/components/dataset-selector-list/dataset-selector-list.d.ts +106 -0
- package/components/dataset-selector-list/index.d.ts +8 -0
- package/components/dataset-selector-row/dataset-selector-row.d.ts +144 -0
- package/components/dataset-selector-row/index.d.ts +9 -0
- package/components/display-settings/display-settings.d.ts +117 -0
- package/components/display-settings/index.d.ts +8 -0
- package/components/display-settings/types.d.ts +9 -0
- package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
- package/components/display-settings-binning/index.d.ts +8 -0
- package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
- package/components/display-settings-datetime/index.d.ts +8 -0
- package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
- package/components/display-settings-grand-totals/index.d.ts +8 -0
- package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
- package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
- package/components/display-settings-numeric/index.d.ts +8 -0
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +76 -0
- package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
- package/components/display-settings-period-over-period/index.d.ts +8 -0
- package/components/filter-expression-picker/filter-expression-picker.d.ts +77 -0
- package/components/filter-expression-picker/index.d.ts +7 -0
- package/components/filter-item/filter-item.d.ts +142 -0
- package/components/filter-item/index.d.ts +8 -0
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +91 -0
- package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
- package/components/filter-parameter-picker/index.d.ts +9 -0
- package/components/filter-parameter-picker/types.d.ts +4 -0
- package/components/filter-value-picker/filter-value-picker.d.ts +72 -0
- package/components/filter-value-picker/index.d.ts +7 -0
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +51 -0
- package/components/filter-value-picker-datetime/index.d.ts +7 -0
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +105 -0
- package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +89 -0
- package/components/filter-value-picker-numeric/index.d.ts +7 -0
- package/components/filters/filters.d.ts +182 -0
- package/components/filters/index.d.ts +12 -0
- package/components/filters/transformations/clean-filters.d.ts +37 -0
- package/components/filters/transformations/filter-format.d.ts +54 -0
- package/components/filters/transformations/transform-filters.d.ts +52 -0
- package/components/filters/types.d.ts +65 -0
- package/components/formula/formula.d.ts +66 -0
- package/components/formula/index.d.ts +7 -0
- package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
- package/components/formula-codemirror/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
- package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
- package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
- package/components/formula-draggable-field/index.d.ts +8 -0
- package/components/formula-draggable-field/types.d.ts +24 -0
- package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
- package/components/formula-editor/formula-datasets-list.d.ts +37 -0
- package/components/formula-editor/formula-description.d.ts +17 -0
- package/components/formula-editor/formula-editor.d.ts +85 -0
- package/components/formula-editor/formula-functions-list.d.ts +28 -0
- package/components/formula-editor/index.d.ts +12 -0
- package/components/formula-field/formula-field.d.ts +20 -0
- package/components/formula-field/index.d.ts +7 -0
- package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
- package/components/interactive-viz-item/index.d.ts +10 -0
- package/components/interactive-viz-item/interactive-viz-item.d.ts +97 -0
- package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
- package/components/interactive-viz-item/types.d.ts +117 -0
- package/components/item-grid/actions.d.ts +3 -0
- package/components/item-grid/helpers/grid-effects.d.ts +1 -0
- package/components/item-grid/helpers/grid-events.d.ts +56 -0
- package/components/item-grid/helpers/grid-interactions.d.ts +88 -0
- package/components/item-grid/helpers/grid-item-management.d.ts +30 -0
- package/components/item-grid/helpers/grid-item-popover.d.ts +21 -0
- package/components/item-grid/helpers/grid-items.d.ts +9 -0
- package/components/item-grid/helpers/grid-keyboard-updates.d.ts +18 -0
- package/components/item-grid/helpers/grid-keydown-event.d.ts +18 -0
- package/components/item-grid/helpers/grid-popover-cleanup.d.ts +4 -0
- package/components/item-grid/helpers/grid-rendering.d.ts +69 -0
- package/components/item-grid/helpers/grid-stack-lifecycle.d.ts +26 -0
- package/components/item-grid/helpers/grid-theme.d.ts +16 -0
- package/components/item-grid/helpers/grid-update-cycle.d.ts +22 -0
- package/components/item-grid/index.d.ts +12 -0
- package/components/item-grid/item-grid-item-actions-menu.d.ts +35 -0
- package/components/item-grid/item-grid.d.ts +251 -0
- package/components/item-grid/types.d.ts +57 -0
- package/components/item-menu/item-list/item-list.d.ts +37 -0
- package/components/item-option/helpers/control-markup.d.ts +14 -0
- package/components/item-option/helpers/control-templates/action-button-group-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-palette-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-range-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/guidelines-template.d.ts +3 -0
- package/components/item-option/helpers/control-templates/multi-language-field-template.d.ts +8 -0
- package/components/item-option/helpers/control-templates/number-field-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/position-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/positions-number-field-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/radio-button-group.d.ts +2 -0
- package/components/item-option/helpers/control-templates/slider-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/switch-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/text-field-template.d.ts +7 -0
- package/components/item-option/helpers/enum-values.d.ts +7 -0
- package/components/item-option/helpers/generate-callback.d.ts +1 -0
- package/components/item-option/helpers/get-control-by-key.d.ts +1 -0
- package/components/item-option/helpers/get-default-value.d.ts +1 -0
- package/components/item-option/helpers/get-enum-values.d.ts +1 -0
- package/components/item-option/helpers/get-extra-label-values.d.ts +7 -0
- package/components/item-option/helpers/get-value-by-key.d.ts +1 -0
- package/components/item-option/index.d.ts +8 -0
- package/components/item-option/item-option.d.ts +59 -0
- package/components/item-option/types.d.ts +8 -0
- package/components/item-option-action-button-group/index.d.ts +8 -0
- package/components/item-option-action-button-group/item-option-action-button-group.d.ts +36 -0
- package/components/item-option-base/item-option-base.d.ts +23 -0
- package/components/item-option-color-palette-picker/index.d.ts +8 -0
- package/components/item-option-color-palette-picker/item-option-color-palette-picker.d.ts +46 -0
- package/components/item-option-color-picker/index.d.ts +8 -0
- package/components/item-option-color-picker/item-option-color-picker.d.ts +33 -0
- package/components/item-option-color-range/index.d.ts +8 -0
- package/components/item-option-color-range/item-option-color-range.d.ts +99 -0
- package/components/item-option-guidelines/helpers/guidelines-value.d.ts +12 -0
- package/components/item-option-guidelines/index.d.ts +10 -0
- package/components/item-option-guidelines/item-option-guidelines.d.ts +74 -0
- package/components/item-option-guidelines/types.d.ts +25 -0
- package/components/item-option-multi-language-field/index.d.ts +8 -0
- package/components/item-option-multi-language-field/item-option-multi-language-field.d.ts +30 -0
- package/components/item-option-number-field/index.d.ts +8 -0
- package/components/item-option-number-field/item-option-number-field.d.ts +38 -0
- package/components/item-option-panel/index.d.ts +8 -0
- package/components/item-option-panel/item-option-panel.d.ts +77 -0
- package/components/item-option-picker/index.d.ts +8 -0
- package/components/item-option-picker/item-option-picker.d.ts +29 -0
- package/components/item-option-position-picker/index.d.ts +8 -0
- package/components/item-option-position-picker/item-option-position-picker.d.ts +22 -0
- package/components/item-option-positions-number-field/index.d.ts +8 -0
- package/components/item-option-positions-number-field/item-option-positions-number-field.d.ts +44 -0
- package/components/item-option-radio-button-group/index.d.ts +8 -0
- package/components/item-option-radio-button-group/item-option-radio-button-group.d.ts +29 -0
- package/components/item-option-slider/index.d.ts +8 -0
- package/components/item-option-slider/item-option-slider.d.ts +33 -0
- package/components/item-option-switch/index.d.ts +8 -0
- package/components/item-option-switch/item-option-switch.d.ts +19 -0
- package/components/item-option-text-field/index.d.ts +8 -0
- package/components/item-option-text-field/item-option-text-field.d.ts +25 -0
- package/components/item-slot-drop/index.d.ts +11 -0
- package/components/item-slot-drop/item-slot-drop.d.ts +113 -0
- package/components/item-slot-drop/types.d.ts +5 -0
- package/components/item-slot-drop-panel/index.d.ts +8 -0
- package/components/item-slot-drop-panel/item-slot-drop-panel.d.ts +180 -0
- package/components/item-slot-picker/index.d.ts +8 -0
- package/components/item-slot-picker/item-slot-picker.d.ts +149 -0
- package/components/item-slot-picker-panel/index.d.ts +9 -0
- package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +230 -0
- package/components/slot-menu/index.d.ts +10 -0
- package/components/slot-menu/slot-menu.d.ts +148 -0
- package/components/slot-menu/types.d.ts +24 -0
- package/components/slot-menu-list/index.d.ts +8 -0
- package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
- package/components/viz-item-menu/index.d.ts +8 -0
- package/components/viz-item-menu/types.d.ts +9 -0
- package/components/viz-item-menu/viz-item-menu.d.ts +85 -0
- package/package.json +1 -1
- package/react/package.json +2 -2
- package/angular/README.md +0 -40
- package/angular/components/ai-chat-empty-state.ts +0 -105
- package/angular/components/ai-chat.ts +0 -447
- package/angular/components/ai-interaction-textarea.ts +0 -290
- package/angular/components/data-field-level.ts +0 -130
- package/angular/components/data-field-panel.ts +0 -256
- package/angular/components/data-field.ts +0 -130
- package/angular/components/data-fields-select.ts +0 -226
- package/angular/components/dataset-icon.ts +0 -83
- package/angular/components/dataset-selector-list.ts +0 -147
- package/angular/components/dataset-selector-row.ts +0 -205
- package/angular/components/display-settings-binning.ts +0 -92
- package/angular/components/display-settings-datetime.ts +0 -100
- package/angular/components/display-settings-grand-totals.ts +0 -92
- package/angular/components/display-settings-numeric.ts +0 -113
- package/angular/components/display-settings-period-over-period.ts +0 -121
- package/angular/components/display-settings.ts +0 -227
- package/angular/components/filter-expression-picker.ts +0 -168
- package/angular/components/filter-item.ts +0 -207
- package/angular/components/filter-parameter-picker.ts +0 -155
- package/angular/components/filter-value-picker-datetime.ts +0 -125
- package/angular/components/filter-value-picker-hierarchy.ts +0 -146
- package/angular/components/filter-value-picker-numeric.ts +0 -146
- package/angular/components/filter-value-picker.ts +0 -160
- package/angular/components/filters.ts +0 -241
- package/angular/components/formula-editor.ts +0 -229
- package/angular/components/formula-field.ts +0 -198
- package/angular/components/formula.ts +0 -170
- package/angular/components/interactive-viz-item.ts +0 -186
- package/angular/components/item-grid-item-actions-menu.ts +0 -113
- package/angular/components/item-grid.ts +0 -242
- package/angular/components/item-option-action-button-group.ts +0 -105
- package/angular/components/item-option-color-palette-picker.ts +0 -126
- package/angular/components/item-option-color-picker.ts +0 -134
- package/angular/components/item-option-color-range.ts +0 -168
- package/angular/components/item-option-guidelines.ts +0 -84
- package/angular/components/item-option-multi-language-field.ts +0 -133
- package/angular/components/item-option-number-field.ts +0 -161
- package/angular/components/item-option-panel.ts +0 -149
- package/angular/components/item-option-picker.ts +0 -120
- package/angular/components/item-option-position-picker.ts +0 -98
- package/angular/components/item-option-positions-number-field.ts +0 -140
- package/angular/components/item-option-radio-button-group.ts +0 -119
- package/angular/components/item-option-slider.ts +0 -126
- package/angular/components/item-option-switch.ts +0 -98
- package/angular/components/item-option-text-field.ts +0 -112
- package/angular/components/item-option.ts +0 -163
- package/angular/components/item-slot-drop-panel.ts +0 -236
- package/angular/components/item-slot-drop.ts +0 -231
- package/angular/components/item-slot-picker-panel.ts +0 -299
- package/angular/components/item-slot-picker.ts +0 -241
- package/angular/components/slot-menu-list.ts +0 -121
- package/angular/components/slot-menu.ts +0 -304
- package/angular/components/viz-item-menu.ts +0 -118
- package/angular/esm/components/ai-chat-empty-state.d.ts +0 -41
- package/angular/esm/components/ai-chat-empty-state.js +0 -107
- package/angular/esm/components/ai-chat.d.ts +0 -149
- package/angular/esm/components/ai-chat.js +0 -463
- package/angular/esm/components/ai-interaction-textarea.d.ts +0 -108
- package/angular/esm/components/ai-interaction-textarea.js +0 -313
- package/angular/esm/components/data-field-level.d.ts +0 -50
- package/angular/esm/components/data-field-level.js +0 -129
- package/angular/esm/components/data-field-panel.d.ts +0 -86
- package/angular/esm/components/data-field-panel.js +0 -268
- package/angular/esm/components/data-field.d.ts +0 -50
- package/angular/esm/components/data-field.js +0 -129
- package/angular/esm/components/data-fields-select.d.ts +0 -87
- package/angular/esm/components/data-fields-select.js +0 -243
- package/angular/esm/components/dataset-icon.d.ts +0 -34
- package/angular/esm/components/dataset-icon.js +0 -86
- package/angular/esm/components/dataset-selector-list.d.ts +0 -56
- package/angular/esm/components/dataset-selector-list.js +0 -155
- package/angular/esm/components/dataset-selector-row.d.ts +0 -72
- package/angular/esm/components/dataset-selector-row.js +0 -205
- package/angular/esm/components/display-settings-binning.d.ts +0 -37
- package/angular/esm/components/display-settings-binning.js +0 -91
- package/angular/esm/components/display-settings-datetime.d.ts +0 -40
- package/angular/esm/components/display-settings-datetime.js +0 -99
- package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
- package/angular/esm/components/display-settings-grand-totals.js +0 -91
- package/angular/esm/components/display-settings-numeric.d.ts +0 -45
- package/angular/esm/components/display-settings-numeric.js +0 -115
- package/angular/esm/components/display-settings-period-over-period.d.ts +0 -50
- package/angular/esm/components/display-settings-period-over-period.js +0 -123
- package/angular/esm/components/display-settings.d.ts +0 -83
- package/angular/esm/components/display-settings.js +0 -231
- package/angular/esm/components/filter-expression-picker.d.ts +0 -64
- package/angular/esm/components/filter-expression-picker.js +0 -179
- package/angular/esm/components/filter-item.d.ts +0 -74
- package/angular/esm/components/filter-item.js +0 -222
- package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
- package/angular/esm/components/filter-parameter-picker.js +0 -151
- package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
- package/angular/esm/components/filter-value-picker-datetime.js +0 -131
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
- package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-numeric.js +0 -155
- package/angular/esm/components/filter-value-picker.d.ts +0 -57
- package/angular/esm/components/filter-value-picker.js +0 -171
- package/angular/esm/components/filters.d.ts +0 -85
- package/angular/esm/components/filters.js +0 -251
- package/angular/esm/components/formula-editor.d.ts +0 -78
- package/angular/esm/components/formula-editor.js +0 -236
- package/angular/esm/components/formula-field.d.ts +0 -70
- package/angular/esm/components/formula-field.js +0 -209
- package/angular/esm/components/formula.d.ts +0 -60
- package/angular/esm/components/formula.js +0 -177
- package/angular/esm/components/interactive-viz-item.d.ts +0 -63
- package/angular/esm/components/interactive-viz-item.js +0 -188
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
- package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
- package/angular/esm/components/item-grid.d.ts +0 -80
- package/angular/esm/components/item-grid.js +0 -245
- package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
- package/angular/esm/components/item-option-action-button-group.js +0 -107
- package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
- package/angular/esm/components/item-option-color-palette-picker.js +0 -131
- package/angular/esm/components/item-option-color-picker.d.ts +0 -51
- package/angular/esm/components/item-option-color-picker.js +0 -139
- package/angular/esm/components/item-option-color-range.d.ts +0 -66
- package/angular/esm/components/item-option-color-range.js +0 -179
- package/angular/esm/components/item-option-guidelines.d.ts +0 -34
- package/angular/esm/components/item-option-guidelines.js +0 -83
- package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
- package/angular/esm/components/item-option-multi-language-field.js +0 -139
- package/angular/esm/components/item-option-number-field.d.ts +0 -58
- package/angular/esm/components/item-option-number-field.js +0 -171
- package/angular/esm/components/item-option-panel.d.ts +0 -54
- package/angular/esm/components/item-option-panel.js +0 -155
- package/angular/esm/components/item-option-picker.d.ts +0 -46
- package/angular/esm/components/item-option-picker.js +0 -123
- package/angular/esm/components/item-option-position-picker.d.ts +0 -39
- package/angular/esm/components/item-option-position-picker.js +0 -99
- package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
- package/angular/esm/components/item-option-positions-number-field.js +0 -147
- package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
- package/angular/esm/components/item-option-radio-button-group.js +0 -123
- package/angular/esm/components/item-option-slider.d.ts +0 -46
- package/angular/esm/components/item-option-slider.js +0 -131
- package/angular/esm/components/item-option-switch.d.ts +0 -40
- package/angular/esm/components/item-option-switch.js +0 -99
- package/angular/esm/components/item-option-text-field.d.ts +0 -44
- package/angular/esm/components/item-option-text-field.js +0 -115
- package/angular/esm/components/item-option.d.ts +0 -58
- package/angular/esm/components/item-option.js +0 -171
- package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
- package/angular/esm/components/item-slot-drop-panel.js +0 -249
- package/angular/esm/components/item-slot-drop.d.ts +0 -77
- package/angular/esm/components/item-slot-drop.js +0 -227
- package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
- package/angular/esm/components/item-slot-picker-panel.js +0 -309
- package/angular/esm/components/item-slot-picker.d.ts +0 -86
- package/angular/esm/components/item-slot-picker.js +0 -259
- package/angular/esm/components/slot-menu-list.d.ts +0 -46
- package/angular/esm/components/slot-menu-list.js +0 -123
- package/angular/esm/components/slot-menu.d.ts +0 -104
- package/angular/esm/components/slot-menu.js +0 -300
- package/angular/esm/components/viz-item-menu.d.ts +0 -42
- package/angular/esm/components/viz-item-menu.js +0 -111
- package/angular/esm/index.d.ts +0 -109
- package/angular/esm/index.js +0 -217
- package/angular/index.ts +0 -223
- package/angular/package.json +0 -40
- package/angular/tsconfig.json +0 -36
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +0 -10
- package/angular/utils/ai-prompt/dictation.d.ts +0 -50
- package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
- package/angular/utils/ai-prompt/index.d.ts +0 -6
- package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
- package/angular/utils/base/base.d.ts +0 -16
- package/angular/utils/base/focus-visible.d.ts +0 -29
- package/angular/utils/base/focusable.d.ts +0 -58
- package/angular/utils/base/index.d.ts +0 -5
- package/angular/utils/base/localized-mixin.d.ts +0 -22
- package/angular/utils/base/sized-mixin.d.ts +0 -17
- package/angular/utils/color/color-palettes.d.ts +0 -17
- package/angular/utils/color/extrapolate-color.d.ts +0 -1
- package/angular/utils/create-lazy-loader.d.ts +0 -5
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
- package/angular/utils/data-broker/index.d.ts +0 -263
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
- package/angular/utils/drag/draggable.d.ts +0 -13
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
- package/angular/utils/filters/expressions.d.ts +0 -15
- package/angular/utils/filters/filter-text.d.ts +0 -64
- package/angular/utils/filters/index.d.ts +0 -2
- package/angular/utils/filters/presentation.d.ts +0 -4
- package/angular/utils/filters/tests/filter-text.test.d.ts +0 -1
- package/angular/utils/formatter/calculate-duration.d.ts +0 -2
- package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
- package/angular/utils/formatter/default-local-formats.d.ts +0 -20
- package/angular/utils/formatter/formats/cs.d.ts +0 -20
- package/angular/utils/formatter/formats/da.d.ts +0 -20
- package/angular/utils/formatter/formats/de.d.ts +0 -21
- package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
- package/angular/utils/formatter/formats/en-US.d.ts +0 -1
- package/angular/utils/formatter/formats/en.d.ts +0 -1
- package/angular/utils/formatter/formats/es.d.ts +0 -54
- package/angular/utils/formatter/formats/fi.d.ts +0 -20
- package/angular/utils/formatter/formats/fr.d.ts +0 -54
- package/angular/utils/formatter/formats/he.d.ts +0 -20
- package/angular/utils/formatter/formats/hu.d.ts +0 -20
- package/angular/utils/formatter/formats/it.d.ts +0 -54
- package/angular/utils/formatter/formats/ja.d.ts +0 -20
- package/angular/utils/formatter/formats/ko.d.ts +0 -20
- package/angular/utils/formatter/formats/mk.d.ts +0 -20
- package/angular/utils/formatter/formats/nl.d.ts +0 -21
- package/angular/utils/formatter/formats/no.d.ts +0 -21
- package/angular/utils/formatter/formats/pl.d.ts +0 -20
- package/angular/utils/formatter/formats/pt.d.ts +0 -20
- package/angular/utils/formatter/formats/ru.d.ts +0 -20
- package/angular/utils/formatter/formats/sv.d.ts +0 -20
- package/angular/utils/formatter/formats/tr.d.ts +0 -21
- package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
- package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
- package/angular/utils/formatter/formatter.d.ts +0 -9
- package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
- package/angular/utils/formatter/get-localized-name.d.ts +0 -4
- package/angular/utils/formatter/localize.d.ts +0 -3
- package/angular/utils/formatter/localized-template.d.ts +0 -4
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
- package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
- package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
- package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
- package/angular/utils/formatter/tests/localized-template.test.d.ts +0 -1
- package/angular/utils/formula/base/formula-base.d.ts +0 -117
- package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
- package/angular/utils/formula/codemirror/actions.d.ts +0 -47
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
- package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
- package/angular/utils/formula/codemirror/parser.d.ts +0 -16
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
- package/angular/utils/formula/codemirror/theme.d.ts +0 -20
- package/angular/utils/formula/codemirror/widget.d.ts +0 -18
- package/angular/utils/formula/config/aggregations.d.ts +0 -9
- package/angular/utils/formula/config/build-datasets.d.ts +0 -10
- package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
- package/angular/utils/formula/config/functions.d.ts +0 -3
- package/angular/utils/formula/config/groupings.d.ts +0 -9
- package/angular/utils/formula/config/regex.d.ts +0 -39
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
- package/angular/utils/formula/config/validate-expression.d.ts +0 -19
- package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
- package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
- package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
- package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
- package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
- package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
- package/angular/utils/get-css-variable.d.ts +0 -1
- package/angular/utils/index.d.ts +0 -10
- package/angular/utils/localize/set-locale.d.ts +0 -7
- package/angular/utils/map-tile-providers/index.d.ts +0 -93
- package/angular/utils/set-nested-value.d.ts +0 -6
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
- package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
- package/angular/utils/slot-state/slot-context.d.ts +0 -4
- package/angular/utils/slot-state/slot-store.d.ts +0 -43
- package/angular/utils/slot-state/tests/slot-store.test.d.ts +0 -1
- package/angular/utils/store/base-store.d.ts +0 -158
- package/angular/utils/store/dashboard-store.d.ts +0 -49
- package/angular/utils/store/index.d.ts +0 -135
- package/angular/utils/store/item-store.d.ts +0 -33
- package/angular/utils/store/store-registry.d.ts +0 -170
- package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
- package/angular/utils/store/tests/item-store.test.d.ts +0 -1
- package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
- package/angular/utils/store/types.d.ts +0 -270
- package/angular/utils/switch-item/index.d.ts +0 -34
- package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
- package/angular/utils/tests/create-lazy-loader.test.d.ts +0 -1
- package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
- package/angular/utils/themes/bliss.d.ts +0 -2
- package/angular/utils/themes/classic-dark.d.ts +0 -2
- package/angular/utils/themes/classic.d.ts +0 -2
- package/angular/utils/themes/default-dark.d.ts +0 -2
- package/angular/utils/themes/default.d.ts +0 -2
- package/angular/utils/themes/index.d.ts +0 -4
- package/angular/utils/themes/orion.d.ts +0 -2
- package/angular/utils/themes/pinky.d.ts +0 -2
- package/angular/utils/themes/radiant.d.ts +0 -2
- package/angular/utils/themes/royale.d.ts +0 -2
- package/angular/utils/themes/seasonal.d.ts +0 -2
- package/angular/utils/themes/urban.d.ts +0 -2
- package/angular/utils/themes/vivid.d.ts +0 -2
- package/angular/utils/time/formats.const.d.ts +0 -4
- package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
- package/angular/utils/time/periods.const.d.ts +0 -15
- package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
- package/angular/utils/types/tests/type-check.test.d.ts +0 -1
- package/angular/utils/types/type-check.d.ts +0 -28
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/interactive-viz-item';
|
|
3
|
-
import type { LuzmoInteractiveVizItem as LuzmoInteractiveVizItemHostElement, ChartFeedback, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail } from '@luzmo/analytics-components-kit/interactive-viz-item';
|
|
4
|
-
export type { ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-interactive-viz-item',
|
|
8
|
-
exportAs: 'luzmoInteractiveVizItem',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* Angular wrapper component for <luzmo-interactive-viz-item>
|
|
15
|
-
*
|
|
16
|
-
* @slot chart-actions-extra - Host-injected actions rendered at the end of the inline actions bar (e.g. copy-to-dashboard).
|
|
17
|
-
* @csspart container - The viz item container.
|
|
18
|
-
* @csspart chart-container - The embedded chart wrapper.
|
|
19
|
-
* @csspart config-panel - The expandable configuration panel.
|
|
20
|
-
*/
|
|
21
|
-
export class LuzmoInteractiveVizItem implements OnChanges {
|
|
22
|
-
private readonly elementRef = inject<ElementRef<LuzmoInteractiveVizItemHostElement>>(ElementRef);
|
|
23
|
-
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
24
|
-
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
25
|
-
private readonly host = this.elementRef.nativeElement;
|
|
26
|
-
private readonly listenerCleanup: Array<() => void> = [];
|
|
27
|
-
|
|
28
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
29
|
-
get nativeElement(): LuzmoInteractiveVizItemHostElement {
|
|
30
|
-
return this.host;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
34
|
-
@Input({ alias: 'language' })
|
|
35
|
-
language?: string;
|
|
36
|
-
|
|
37
|
-
/** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
|
|
38
|
-
@Input({ alias: 'chart' })
|
|
39
|
-
chart?: FlexChartConfig | null;
|
|
40
|
-
|
|
41
|
-
/** Current feedback (drives the thumbs up/down selection). */
|
|
42
|
-
@Input({ alias: 'feedback' })
|
|
43
|
-
feedback?: ChartFeedback | null;
|
|
44
|
-
|
|
45
|
-
/** Message id from the backend. Feedback is only shown when set. */
|
|
46
|
-
@Input({ alias: 'messageId' })
|
|
47
|
-
messageId?: string;
|
|
48
|
-
|
|
49
|
-
/** Auth key for the embedded chart and config panels. */
|
|
50
|
-
@Input({ alias: 'authKey' })
|
|
51
|
-
authKey?: string;
|
|
52
|
-
|
|
53
|
-
/** Auth token for the embedded chart and config panels. */
|
|
54
|
-
@Input({ alias: 'authToken' })
|
|
55
|
-
authToken?: string;
|
|
56
|
-
|
|
57
|
-
/** API URL for the embedded chart and config panels. */
|
|
58
|
-
@Input({ alias: 'apiUrl' })
|
|
59
|
-
apiUrl?: string;
|
|
60
|
-
|
|
61
|
-
/** App server URL for the embedded chart (assets, thumbnails). */
|
|
62
|
-
@Input({ alias: 'appServer' })
|
|
63
|
-
appServer?: string;
|
|
64
|
-
|
|
65
|
-
/** Content language for chart data and dataset metadata. Defaults to the UI `language`. */
|
|
66
|
-
@Input({ alias: 'contentLanguage' })
|
|
67
|
-
contentLanguage?: string;
|
|
68
|
-
|
|
69
|
-
/** When present, hides the inline chart actions (ranking, display mode). */
|
|
70
|
-
@Input({ alias: 'hideActions', transform: booleanAttribute })
|
|
71
|
-
hideActions?: boolean;
|
|
72
|
-
|
|
73
|
-
/** When present, hides the feedback bar. */
|
|
74
|
-
@Input({ alias: 'hideFeedback', transform: booleanAttribute })
|
|
75
|
-
hideFeedback?: boolean;
|
|
76
|
-
|
|
77
|
-
/** When present, hides the config-panel toggle and the panel itself. */
|
|
78
|
-
@Input({ alias: 'hideConfigPanel', transform: booleanAttribute })
|
|
79
|
-
hideConfigPanel?: boolean;
|
|
80
|
-
|
|
81
|
-
/** The size of the element */
|
|
82
|
-
@Input({ alias: 'size' })
|
|
83
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
84
|
-
|
|
85
|
-
/** Fired when the inline actions (ranking, sort, display mode) change the chart options. */
|
|
86
|
-
readonly luzmoChartOptionsChanged = output<CustomEvent<InteractiveVizItemChartOptionsChangedEventDetail>>({ alias: 'luzmoChartOptionsChanged' });
|
|
87
|
-
|
|
88
|
-
/** Fired when the config panel changes slots, filters, or options (full chart). */
|
|
89
|
-
readonly luzmoChartChanged = output<CustomEvent<InteractiveVizItemChartChangedEventDetail>>({ alias: 'luzmoChartChanged' });
|
|
90
|
-
|
|
91
|
-
/** Fired when the user changes the thumbs up/down rating. */
|
|
92
|
-
readonly luzmoFeedbackChanged = output<CustomEvent<InteractiveVizItemFeedbackChangedEventDetail>>({ alias: 'luzmoFeedbackChanged' });
|
|
93
|
-
|
|
94
|
-
constructor() {
|
|
95
|
-
this.bindEvents();
|
|
96
|
-
this.destroyRef.onDestroy(() => {
|
|
97
|
-
for (const cleanup of this.listenerCleanup) {
|
|
98
|
-
cleanup();
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
104
|
-
for (const key of Object.keys(changes)) {
|
|
105
|
-
switch (key) {
|
|
106
|
-
case 'language':
|
|
107
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
108
|
-
break;
|
|
109
|
-
case 'chart':
|
|
110
|
-
this.setHostProperty('chart', changes['chart'].currentValue);
|
|
111
|
-
break;
|
|
112
|
-
case 'feedback':
|
|
113
|
-
this.setHostProperty('feedback', changes['feedback'].currentValue);
|
|
114
|
-
break;
|
|
115
|
-
case 'messageId':
|
|
116
|
-
this.setHostProperty('messageId', changes['messageId'].currentValue);
|
|
117
|
-
break;
|
|
118
|
-
case 'authKey':
|
|
119
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
120
|
-
break;
|
|
121
|
-
case 'authToken':
|
|
122
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
123
|
-
break;
|
|
124
|
-
case 'apiUrl':
|
|
125
|
-
this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
|
|
126
|
-
break;
|
|
127
|
-
case 'appServer':
|
|
128
|
-
this.setHostProperty('appServer', changes['appServer'].currentValue);
|
|
129
|
-
break;
|
|
130
|
-
case 'contentLanguage':
|
|
131
|
-
this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
|
|
132
|
-
break;
|
|
133
|
-
case 'hideActions':
|
|
134
|
-
this.setHostProperty('hideActions', changes['hideActions'].currentValue);
|
|
135
|
-
break;
|
|
136
|
-
case 'hideFeedback':
|
|
137
|
-
this.setHostProperty('hideFeedback', changes['hideFeedback'].currentValue);
|
|
138
|
-
break;
|
|
139
|
-
case 'hideConfigPanel':
|
|
140
|
-
this.setHostProperty('hideConfigPanel', changes['hideConfigPanel'].currentValue);
|
|
141
|
-
break;
|
|
142
|
-
case 'size':
|
|
143
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
144
|
-
break;
|
|
145
|
-
default:
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
153
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
154
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
155
|
-
* undefined / null by clearing their bindings.
|
|
156
|
-
*/
|
|
157
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
158
|
-
this.renderer.setProperty(this.host, key, value);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
private bindEvents(): void {
|
|
162
|
-
this.listenerCleanup.push(
|
|
163
|
-
this.renderer.listen(this.host, 'luzmo-chart-options-changed', (event: Event) => {
|
|
164
|
-
const typed = event as CustomEvent<InteractiveVizItemChartOptionsChangedEventDetail>;
|
|
165
|
-
this.luzmoChartOptionsChanged.emit(typed);
|
|
166
|
-
})
|
|
167
|
-
);
|
|
168
|
-
|
|
169
|
-
this.listenerCleanup.push(
|
|
170
|
-
this.renderer.listen(this.host, 'luzmo-chart-changed', (event: Event) => {
|
|
171
|
-
const typed = event as CustomEvent<InteractiveVizItemChartChangedEventDetail>;
|
|
172
|
-
this.luzmoChartChanged.emit(typed);
|
|
173
|
-
})
|
|
174
|
-
);
|
|
175
|
-
|
|
176
|
-
this.listenerCleanup.push(
|
|
177
|
-
this.renderer.listen(this.host, 'luzmo-feedback-changed', (event: Event) => {
|
|
178
|
-
const typed = event as CustomEvent<InteractiveVizItemFeedbackChangedEventDetail>;
|
|
179
|
-
this.luzmoFeedbackChanged.emit(typed);
|
|
180
|
-
})
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/** The underlying custom element type for LuzmoInteractiveVizItem */
|
|
186
|
-
export type LuzmoInteractiveVizItemElement = LuzmoInteractiveVizItemHostElement;
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/item-grid';
|
|
3
|
-
import type { LuzmoItemGridItemActionsMenu as LuzmoItemGridItemActionsMenuHostElement, ActionGroup } from '@luzmo/analytics-components-kit/item-grid';
|
|
4
|
-
export type { Action, ActionGroup, AddGridItemInput, ClonedItemPositioning, DefaultActionType, GridItemActionEventDetail, GridItemData, GridItemPatch, GridItemPosition, GridItemPositionPatch, GridItemRenderer, GridItemSizePatch, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
|
|
5
|
-
import type { Placement } from '@luzmo/lucero';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
selector: 'luzmo-item-grid-item-actions-menu',
|
|
9
|
-
exportAs: 'luzmoItemGridItemActionsMenu',
|
|
10
|
-
standalone: true,
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
template: '<ng-content />'
|
|
13
|
-
})
|
|
14
|
-
/**
|
|
15
|
-
* Angular wrapper component for <luzmo-item-grid-item-actions-menu>
|
|
16
|
-
*/
|
|
17
|
-
export class LuzmoItemGridItemActionsMenu implements OnChanges {
|
|
18
|
-
private readonly elementRef = inject<ElementRef<LuzmoItemGridItemActionsMenuHostElement>>(ElementRef);
|
|
19
|
-
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
20
|
-
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
21
|
-
private readonly host = this.elementRef.nativeElement;
|
|
22
|
-
private readonly listenerCleanup: Array<() => void> = [];
|
|
23
|
-
|
|
24
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
25
|
-
get nativeElement(): LuzmoItemGridItemActionsMenuHostElement {
|
|
26
|
-
return this.host;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** The preferred placement of the menu */
|
|
30
|
-
@Input({ alias: 'placement' })
|
|
31
|
-
placement?: Placement;
|
|
32
|
-
|
|
33
|
-
/** The Actions to display in the menu */
|
|
34
|
-
@Input({ alias: 'actions' })
|
|
35
|
-
actions?: ActionGroup[];
|
|
36
|
-
|
|
37
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
38
|
-
@Input({ alias: 'language' })
|
|
39
|
-
language?: string;
|
|
40
|
-
|
|
41
|
-
/** Disable this control. It will not receive focus or events */
|
|
42
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
43
|
-
disabled?: boolean;
|
|
44
|
-
|
|
45
|
-
/** When this control is rendered, focus it automatically */
|
|
46
|
-
@Input({ alias: 'autofocus', transform: booleanAttribute })
|
|
47
|
-
autofocus?: boolean;
|
|
48
|
-
|
|
49
|
-
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
50
|
-
@Input({ alias: 'tabIndex' })
|
|
51
|
-
tabIndex?: number;
|
|
52
|
-
|
|
53
|
-
/** Fired when the user clicks an action in the menu; `detail` holds the action key, type, and active state. */
|
|
54
|
-
readonly luzmoItemGridItemAction = output<CustomEvent<unknown>>({ alias: 'luzmoItemGridItemAction' });
|
|
55
|
-
|
|
56
|
-
constructor() {
|
|
57
|
-
this.bindEvents();
|
|
58
|
-
this.destroyRef.onDestroy(() => {
|
|
59
|
-
for (const cleanup of this.listenerCleanup) {
|
|
60
|
-
cleanup();
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
66
|
-
for (const key of Object.keys(changes)) {
|
|
67
|
-
switch (key) {
|
|
68
|
-
case 'placement':
|
|
69
|
-
this.setHostProperty('placement', changes['placement'].currentValue);
|
|
70
|
-
break;
|
|
71
|
-
case 'actions':
|
|
72
|
-
this.setHostProperty('actions', changes['actions'].currentValue);
|
|
73
|
-
break;
|
|
74
|
-
case 'language':
|
|
75
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
76
|
-
break;
|
|
77
|
-
case 'disabled':
|
|
78
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
79
|
-
break;
|
|
80
|
-
case 'autofocus':
|
|
81
|
-
this.setHostProperty('autofocus', changes['autofocus'].currentValue);
|
|
82
|
-
break;
|
|
83
|
-
case 'tabIndex':
|
|
84
|
-
this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
|
|
85
|
-
break;
|
|
86
|
-
default:
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
94
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
95
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
96
|
-
* undefined / null by clearing their bindings.
|
|
97
|
-
*/
|
|
98
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
99
|
-
this.renderer.setProperty(this.host, key, value);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
private bindEvents(): void {
|
|
103
|
-
this.listenerCleanup.push(
|
|
104
|
-
this.renderer.listen(this.host, 'luzmo-item-grid-item-action', (event: Event) => {
|
|
105
|
-
const typed = event as CustomEvent<unknown>;
|
|
106
|
-
this.luzmoItemGridItemAction.emit(typed);
|
|
107
|
-
})
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** The underlying custom element type for LuzmoItemGridItemActionsMenu */
|
|
113
|
-
export type LuzmoItemGridItemActionsMenuElement = LuzmoItemGridItemActionsMenuHostElement;
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/item-grid';
|
|
3
|
-
import type { LuzmoItemGrid as LuzmoItemGridHostElement, ClonedItemPositioning, GridItemActionEventDetail, GridItemData, GridItemRenderer, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
|
|
4
|
-
export type { Action, ActionGroup, AddGridItemInput, ClonedItemPositioning, DefaultActionType, GridItemActionEventDetail, GridItemData, GridItemPatch, GridItemPosition, GridItemPositionPatch, GridItemRenderer, GridItemSizePatch, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
|
|
5
|
-
import type { ThemeConfig } from '@luzmo/dashboard-contents-types';
|
|
6
|
-
import type { Placement } from '@luzmo/lucero';
|
|
7
|
-
|
|
8
|
-
@Component({
|
|
9
|
-
selector: 'luzmo-item-grid',
|
|
10
|
-
exportAs: 'luzmoItemGrid',
|
|
11
|
-
standalone: true,
|
|
12
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
-
template: '<ng-content />'
|
|
14
|
-
})
|
|
15
|
-
/**
|
|
16
|
-
* Angular wrapper component for <luzmo-item-grid>
|
|
17
|
-
*/
|
|
18
|
-
export class LuzmoItemGrid implements OnChanges {
|
|
19
|
-
private readonly elementRef = inject<ElementRef<LuzmoItemGridHostElement>>(ElementRef);
|
|
20
|
-
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
21
|
-
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
22
|
-
private readonly host = this.elementRef.nativeElement;
|
|
23
|
-
private readonly listenerCleanup: Array<() => void> = [];
|
|
24
|
-
|
|
25
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
26
|
-
get nativeElement(): LuzmoItemGridHostElement {
|
|
27
|
-
return this.host;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** The URL of the app server */
|
|
31
|
-
@Input({ alias: 'appServer' })
|
|
32
|
-
appServer?: string;
|
|
33
|
-
|
|
34
|
-
/** The API Host of the databroker */
|
|
35
|
-
@Input({ alias: 'apiHost' })
|
|
36
|
-
apiHost?: string;
|
|
37
|
-
|
|
38
|
-
/** The auth key of the databroker */
|
|
39
|
-
@Input({ alias: 'authKey' })
|
|
40
|
-
authKey?: string;
|
|
41
|
-
|
|
42
|
-
/** The auth token of the databroker */
|
|
43
|
-
@Input({ alias: 'authToken' })
|
|
44
|
-
authToken?: string;
|
|
45
|
-
|
|
46
|
-
/** The cache time of the databroker */
|
|
47
|
-
@Input({ alias: 'cacheTime' })
|
|
48
|
-
cacheTime?: number;
|
|
49
|
-
|
|
50
|
-
/** The language of the settings interface */
|
|
51
|
-
@Input({ alias: 'language' })
|
|
52
|
-
language?: string;
|
|
53
|
-
|
|
54
|
-
/** The language to use for locale-aware formatting and labels */
|
|
55
|
-
@Input({ alias: 'contentLanguage' })
|
|
56
|
-
contentLanguage?: string;
|
|
57
|
-
|
|
58
|
-
/** The number of columns in the grid. */
|
|
59
|
-
@Input({ alias: 'columns' })
|
|
60
|
-
columns?: number;
|
|
61
|
-
|
|
62
|
-
/** The height of each row in pixels in the grid. */
|
|
63
|
-
@Input({ alias: 'rowHeight' })
|
|
64
|
-
rowHeight?: number;
|
|
65
|
-
|
|
66
|
-
/** Whether the grid is in view mode. When true, dragging, resizing and action buttons are disabled. */
|
|
67
|
-
@Input({ alias: 'viewMode', transform: booleanAttribute })
|
|
68
|
-
viewMode?: boolean;
|
|
69
|
-
|
|
70
|
-
/** When true (default), the item actions menu uses the Document Popover API (`popover="manual"`), which paints in the top layer. Set to false when embedding the grid next to another UI that also uses a document popover (e.g. an analyst side pane) so the actions menu stays in normal stacking with `position: fixed` + Floating UI instead. */
|
|
71
|
-
@Input({ alias: 'itemActionsDocumentPopover', transform: booleanAttribute })
|
|
72
|
-
itemActionsDocumentPopover?: boolean;
|
|
73
|
-
|
|
74
|
-
/** The placement of the item actions menu. */
|
|
75
|
-
@Input({ alias: 'placementItemActionsMenu' })
|
|
76
|
-
placementItemActionsMenu?: Placement;
|
|
77
|
-
|
|
78
|
-
/** The default item actions menu. */
|
|
79
|
-
@Input({ alias: 'defaultItemActionsMenu' })
|
|
80
|
-
defaultItemActionsMenu?: InputActionGroup[];
|
|
81
|
-
|
|
82
|
-
/** Where to position a cloned item in the grid. - `'below-item'` (default): places the clone directly below the original item, shifting other items down. - `'auto-position'`: lets the grid engine find the first available space (row-major scan, then compact upward). */
|
|
83
|
-
@Input({ alias: 'clonedItemPositioning' })
|
|
84
|
-
clonedItemPositioning?: ClonedItemPositioning;
|
|
85
|
-
|
|
86
|
-
/** Grid options configuration */
|
|
87
|
-
@Input({ alias: 'theme' })
|
|
88
|
-
theme?: ThemeConfig;
|
|
89
|
-
|
|
90
|
-
/** Items to add to the grid. The array is cloned on set so the component never mutates the caller's data. */
|
|
91
|
-
@Input({ alias: 'items' })
|
|
92
|
-
items?: GridItemData[];
|
|
93
|
-
|
|
94
|
-
/** Seed value for uncontrolled items mode. The component manages item changes internally from this starting point. Ignored when `items` is set. */
|
|
95
|
-
@Input({ alias: 'initialItems' })
|
|
96
|
-
initialItems?: GridItemData[];
|
|
97
|
-
|
|
98
|
-
/** Custom renderers for different item types */
|
|
99
|
-
@Input({ alias: 'renderers' })
|
|
100
|
-
renderers?: Record<string, GridItemRenderer>;
|
|
101
|
-
|
|
102
|
-
/** Controlled item states. When set, the component becomes controlled: it only reflects what the parent provides and does not update internal state on user interaction. */
|
|
103
|
-
@Input({ alias: 'itemStates' })
|
|
104
|
-
itemStates?: ItemStates;
|
|
105
|
-
|
|
106
|
-
/** Seed value for uncontrolled mode. The component manages state internally from this starting point. Ignored if `itemStates` is set. Only one item with one active action is supported. If multiple items or actions are provided, a warning is emitted and only the first item with its first action is applied. Use controlled mode (`itemStates`) for multiple simultaneous active items. */
|
|
107
|
-
@Input({ alias: 'initialItemStates' })
|
|
108
|
-
initialItemStates?: ItemStates;
|
|
109
|
-
|
|
110
|
-
/** Fired when an item action is performed */
|
|
111
|
-
readonly luzmoItemGridItemAction = output<CustomEvent<GridItemActionEventDetail>>({ alias: 'luzmoItemGridItemAction' });
|
|
112
|
-
|
|
113
|
-
/** Fired when the grid layout is changed */
|
|
114
|
-
readonly luzmoItemGridLayoutChanged = output<CustomEvent<GridLifecycleEventDetail>>({ alias: 'luzmoItemGridLayoutChanged' });
|
|
115
|
-
|
|
116
|
-
/** Fired when the grid is ready */
|
|
117
|
-
readonly luzmoItemGridReady = output<CustomEvent<GridLifecycleEventDetail>>({ alias: 'luzmoItemGridReady' });
|
|
118
|
-
|
|
119
|
-
/** Fired when item states change (controlled and uncontrolled mode) */
|
|
120
|
-
readonly luzmoItemGridItemStatesChanged = output<CustomEvent<GridItemStatesChangedEventDetail>>({ alias: 'luzmoItemGridItemStatesChanged' });
|
|
121
|
-
|
|
122
|
-
constructor() {
|
|
123
|
-
this.bindEvents();
|
|
124
|
-
this.destroyRef.onDestroy(() => {
|
|
125
|
-
for (const cleanup of this.listenerCleanup) {
|
|
126
|
-
cleanup();
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
132
|
-
for (const key of Object.keys(changes)) {
|
|
133
|
-
switch (key) {
|
|
134
|
-
case 'appServer':
|
|
135
|
-
this.setHostProperty('appServer', changes['appServer'].currentValue);
|
|
136
|
-
break;
|
|
137
|
-
case 'apiHost':
|
|
138
|
-
this.setHostProperty('apiHost', changes['apiHost'].currentValue);
|
|
139
|
-
break;
|
|
140
|
-
case 'authKey':
|
|
141
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
142
|
-
break;
|
|
143
|
-
case 'authToken':
|
|
144
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
145
|
-
break;
|
|
146
|
-
case 'cacheTime':
|
|
147
|
-
this.setHostProperty('cacheTime', changes['cacheTime'].currentValue);
|
|
148
|
-
break;
|
|
149
|
-
case 'language':
|
|
150
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
151
|
-
break;
|
|
152
|
-
case 'contentLanguage':
|
|
153
|
-
this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
|
|
154
|
-
break;
|
|
155
|
-
case 'columns':
|
|
156
|
-
this.setHostProperty('columns', changes['columns'].currentValue);
|
|
157
|
-
break;
|
|
158
|
-
case 'rowHeight':
|
|
159
|
-
this.setHostProperty('rowHeight', changes['rowHeight'].currentValue);
|
|
160
|
-
break;
|
|
161
|
-
case 'viewMode':
|
|
162
|
-
this.setHostProperty('viewMode', changes['viewMode'].currentValue);
|
|
163
|
-
break;
|
|
164
|
-
case 'itemActionsDocumentPopover':
|
|
165
|
-
this.setHostProperty('itemActionsDocumentPopover', changes['itemActionsDocumentPopover'].currentValue);
|
|
166
|
-
break;
|
|
167
|
-
case 'placementItemActionsMenu':
|
|
168
|
-
this.setHostProperty('placementItemActionsMenu', changes['placementItemActionsMenu'].currentValue);
|
|
169
|
-
break;
|
|
170
|
-
case 'defaultItemActionsMenu':
|
|
171
|
-
this.setHostProperty('defaultItemActionsMenu', changes['defaultItemActionsMenu'].currentValue);
|
|
172
|
-
break;
|
|
173
|
-
case 'clonedItemPositioning':
|
|
174
|
-
this.setHostProperty('clonedItemPositioning', changes['clonedItemPositioning'].currentValue);
|
|
175
|
-
break;
|
|
176
|
-
case 'theme':
|
|
177
|
-
this.setHostProperty('theme', changes['theme'].currentValue);
|
|
178
|
-
break;
|
|
179
|
-
case 'items':
|
|
180
|
-
this.setHostProperty('items', changes['items'].currentValue);
|
|
181
|
-
break;
|
|
182
|
-
case 'initialItems':
|
|
183
|
-
this.setHostProperty('initialItems', changes['initialItems'].currentValue);
|
|
184
|
-
break;
|
|
185
|
-
case 'renderers':
|
|
186
|
-
this.setHostProperty('renderers', changes['renderers'].currentValue);
|
|
187
|
-
break;
|
|
188
|
-
case 'itemStates':
|
|
189
|
-
this.setHostProperty('itemStates', changes['itemStates'].currentValue);
|
|
190
|
-
break;
|
|
191
|
-
case 'initialItemStates':
|
|
192
|
-
this.setHostProperty('initialItemStates', changes['initialItemStates'].currentValue);
|
|
193
|
-
break;
|
|
194
|
-
default:
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
202
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
203
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
204
|
-
* undefined / null by clearing their bindings.
|
|
205
|
-
*/
|
|
206
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
207
|
-
this.renderer.setProperty(this.host, key, value);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
private bindEvents(): void {
|
|
211
|
-
this.listenerCleanup.push(
|
|
212
|
-
this.renderer.listen(this.host, 'luzmo-item-grid-item-action', (event: Event) => {
|
|
213
|
-
const typed = event as CustomEvent<GridItemActionEventDetail>;
|
|
214
|
-
this.luzmoItemGridItemAction.emit(typed);
|
|
215
|
-
})
|
|
216
|
-
);
|
|
217
|
-
|
|
218
|
-
this.listenerCleanup.push(
|
|
219
|
-
this.renderer.listen(this.host, 'luzmo-item-grid-layout-changed', (event: Event) => {
|
|
220
|
-
const typed = event as CustomEvent<GridLifecycleEventDetail>;
|
|
221
|
-
this.luzmoItemGridLayoutChanged.emit(typed);
|
|
222
|
-
})
|
|
223
|
-
);
|
|
224
|
-
|
|
225
|
-
this.listenerCleanup.push(
|
|
226
|
-
this.renderer.listen(this.host, 'luzmo-item-grid-ready', (event: Event) => {
|
|
227
|
-
const typed = event as CustomEvent<GridLifecycleEventDetail>;
|
|
228
|
-
this.luzmoItemGridReady.emit(typed);
|
|
229
|
-
})
|
|
230
|
-
);
|
|
231
|
-
|
|
232
|
-
this.listenerCleanup.push(
|
|
233
|
-
this.renderer.listen(this.host, 'luzmo-item-grid-item-states-changed', (event: Event) => {
|
|
234
|
-
const typed = event as CustomEvent<GridItemStatesChangedEventDetail>;
|
|
235
|
-
this.luzmoItemGridItemStatesChanged.emit(typed);
|
|
236
|
-
})
|
|
237
|
-
);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/** The underlying custom element type for LuzmoItemGrid */
|
|
242
|
-
export type LuzmoItemGridElement = LuzmoItemGridHostElement;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
3
|
-
import type { LuzmoItemOptionActionButtonGroup as LuzmoItemOptionActionButtonGroupHostElement, ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
4
|
-
export type { ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-item-option-action-button-group',
|
|
8
|
-
exportAs: 'luzmoItemOptionActionButtonGroup',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* Angular wrapper component for <luzmo-item-option-action-button-group>
|
|
15
|
-
*/
|
|
16
|
-
export class LuzmoItemOptionActionButtonGroup implements OnChanges {
|
|
17
|
-
private readonly elementRef = inject<ElementRef<LuzmoItemOptionActionButtonGroupHostElement>>(ElementRef);
|
|
18
|
-
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
19
|
-
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
20
|
-
private readonly host = this.elementRef.nativeElement;
|
|
21
|
-
private readonly listenerCleanup: Array<() => void> = [];
|
|
22
|
-
|
|
23
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
24
|
-
get nativeElement(): LuzmoItemOptionActionButtonGroupHostElement {
|
|
25
|
-
return this.host;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** The available buttons to choose from (key → button content). */
|
|
29
|
-
@Input({ alias: 'values' })
|
|
30
|
-
values?: unknown;
|
|
31
|
-
|
|
32
|
-
/** Whether the control is disabled (non-interactive). */
|
|
33
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
34
|
-
disabled?: boolean;
|
|
35
|
-
|
|
36
|
-
/** Selection mode: `single` or `multiple`. */
|
|
37
|
-
@Input({ alias: 'selects' })
|
|
38
|
-
selects?: 'single' | 'multiple';
|
|
39
|
-
|
|
40
|
-
/** The currently selected button key(s). */
|
|
41
|
-
@Input({ alias: 'value' })
|
|
42
|
-
value?: [string];
|
|
43
|
-
|
|
44
|
-
/** The default selection used when no value is set. */
|
|
45
|
-
@Input({ alias: 'default' })
|
|
46
|
-
default?: [string];
|
|
47
|
-
|
|
48
|
-
/** Emitted when the option value changes. */
|
|
49
|
-
readonly luzmoOptionChanged = output<CustomEvent<ItemOptionChangedEventDetail>>({ alias: 'luzmoOptionChanged' });
|
|
50
|
-
|
|
51
|
-
constructor() {
|
|
52
|
-
this.bindEvents();
|
|
53
|
-
this.destroyRef.onDestroy(() => {
|
|
54
|
-
for (const cleanup of this.listenerCleanup) {
|
|
55
|
-
cleanup();
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
61
|
-
for (const key of Object.keys(changes)) {
|
|
62
|
-
switch (key) {
|
|
63
|
-
case 'values':
|
|
64
|
-
this.setHostProperty('values', changes['values'].currentValue);
|
|
65
|
-
break;
|
|
66
|
-
case 'disabled':
|
|
67
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
68
|
-
break;
|
|
69
|
-
case 'selects':
|
|
70
|
-
this.setHostProperty('selects', changes['selects'].currentValue);
|
|
71
|
-
break;
|
|
72
|
-
case 'value':
|
|
73
|
-
this.setHostProperty('value', changes['value'].currentValue);
|
|
74
|
-
break;
|
|
75
|
-
case 'default':
|
|
76
|
-
this.setHostProperty('default', changes['default'].currentValue);
|
|
77
|
-
break;
|
|
78
|
-
default:
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
86
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
87
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
88
|
-
* undefined / null by clearing their bindings.
|
|
89
|
-
*/
|
|
90
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
91
|
-
this.renderer.setProperty(this.host, key, value);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
private bindEvents(): void {
|
|
95
|
-
this.listenerCleanup.push(
|
|
96
|
-
this.renderer.listen(this.host, 'luzmo-option-changed', (event: Event) => {
|
|
97
|
-
const typed = event as CustomEvent<ItemOptionChangedEventDetail>;
|
|
98
|
-
this.luzmoOptionChanged.emit(typed);
|
|
99
|
-
})
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/** The underlying custom element type for LuzmoItemOptionActionButtonGroup */
|
|
105
|
-
export type LuzmoItemOptionActionButtonGroupElement = LuzmoItemOptionActionButtonGroupHostElement;
|