@luzmo/analytics-components-kit 1.0.8-beta.6 → 1.0.8-beta.7
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/index.cjs +1 -1
- package/components/index.js +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/viz-item-menu/viz-item-menu.d.ts +3 -0
- package/components/{viz-item-menu-Ht6bklNL.js → viz-item-menu-B7yRaSAU.js} +1 -1
- package/components/{viz-item-menu-XHh4qhtn.cjs → viz-item-menu-hLdU-02Q.cjs} +1 -1
- package/custom-elements.json +14 -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 -98
- package/angular/components/ai-chat.ts +0 -440
- package/angular/components/ai-interaction-textarea.ts +0 -283
- 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 -212
- 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 -198
- 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 -107
- package/angular/components/display-settings.ts +0 -227
- package/angular/components/filter-expression-picker.ts +0 -168
- package/angular/components/filter-item.ts +0 -175
- 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 -209
- 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 -39
- package/angular/esm/components/ai-chat-empty-state.js +0 -99
- package/angular/esm/components/ai-chat.d.ts +0 -147
- package/angular/esm/components/ai-chat.js +0 -455
- package/angular/esm/components/ai-interaction-textarea.d.ts +0 -106
- package/angular/esm/components/ai-interaction-textarea.js +0 -305
- 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 -81
- package/angular/esm/components/data-fields-select.js +0 -227
- 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 -70
- package/angular/esm/components/dataset-selector-row.js +0 -197
- 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 -44
- package/angular/esm/components/display-settings-period-over-period.js +0 -107
- 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 -63
- package/angular/esm/components/filter-item.js +0 -187
- 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 -75
- package/angular/esm/components/filters.js +0 -215
- 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/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/index.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/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/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 -39
- 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/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,198 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/dataset-selector-row';
|
|
3
|
-
import type { LuzmoDatasetSelectorRow as LuzmoDatasetSelectorRowHostElement, Agent, Dataset } from '@luzmo/analytics-components-kit/dataset-selector-row';
|
|
4
|
-
export type { Agent, Dataset } from '@luzmo/analytics-components-kit/dataset-selector-row';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-dataset-selector-row',
|
|
8
|
-
exportAs: 'luzmoDatasetSelectorRow',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* Angular wrapper component for <luzmo-dataset-selector-row>
|
|
15
|
-
*/
|
|
16
|
-
export class LuzmoDatasetSelectorRow implements OnChanges {
|
|
17
|
-
private readonly elementRef = inject<ElementRef<LuzmoDatasetSelectorRowHostElement>>(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(): LuzmoDatasetSelectorRowHostElement {
|
|
25
|
-
return this.host;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Array of selected datasets */
|
|
29
|
-
@Input({ alias: 'selectedDatasets' })
|
|
30
|
-
selectedDatasets?: Dataset[];
|
|
31
|
-
|
|
32
|
-
/** The agent the chat is scoped to, or null */
|
|
33
|
-
@Input({ alias: 'selectedAgent' })
|
|
34
|
-
selectedAgent?: Agent | null;
|
|
35
|
-
|
|
36
|
-
/** When true, hides the Agents section and ignores `selectedAgent` */
|
|
37
|
-
@Input({ alias: 'hideAgents', transform: booleanAttribute })
|
|
38
|
-
hideAgents?: boolean;
|
|
39
|
-
|
|
40
|
-
/** Accessible label and hover tooltip text for the search trigger */
|
|
41
|
-
@Input({ alias: 'buttonLabel' })
|
|
42
|
-
buttonLabel?: string;
|
|
43
|
-
|
|
44
|
-
/** Auth key for DataBroker authentication */
|
|
45
|
-
@Input({ alias: 'authKey' })
|
|
46
|
-
authKey?: string;
|
|
47
|
-
|
|
48
|
-
/** Auth token for DataBroker authentication */
|
|
49
|
-
@Input({ alias: 'authToken' })
|
|
50
|
-
authToken?: string;
|
|
51
|
-
|
|
52
|
-
/** API URL for DataBroker */
|
|
53
|
-
@Input({ alias: 'apiUrl' })
|
|
54
|
-
apiUrl?: string;
|
|
55
|
-
|
|
56
|
-
/** The URL of the app server for thumbnails and assets */
|
|
57
|
-
@Input({ alias: 'appServer' })
|
|
58
|
-
appServer?: string;
|
|
59
|
-
|
|
60
|
-
/** When true, shows public datasets alongside the user's other datasets. */
|
|
61
|
-
@Input({ alias: 'includePublicDatasets', transform: booleanAttribute })
|
|
62
|
-
includePublicDatasets?: boolean;
|
|
63
|
-
|
|
64
|
-
/** Alias for includePublicDatasets. */
|
|
65
|
-
@Input({ alias: 'flagOpendata', transform: booleanAttribute })
|
|
66
|
-
flagOpendata?: boolean;
|
|
67
|
-
|
|
68
|
-
/** When true, disables all interactions: disables the add button, removes dataset pill delete buttons, and makes tags non-interactive */
|
|
69
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
70
|
-
disabled?: boolean;
|
|
71
|
-
|
|
72
|
-
/** When true, disables dataset search and removal while leaving informational controls interactive. */
|
|
73
|
-
@Input({ alias: 'disableDatasetModification', transform: booleanAttribute })
|
|
74
|
-
disableDatasetModification?: boolean;
|
|
75
|
-
|
|
76
|
-
/** When true, hides dataset icons in selected tags and search options */
|
|
77
|
-
@Input({ alias: 'hideDatasetIcons', transform: booleanAttribute })
|
|
78
|
-
hideDatasetIcons?: boolean;
|
|
79
|
-
|
|
80
|
-
/** Maximum number of selected dataset tags shown before the overflow control; unset shows all tags. */
|
|
81
|
-
@Input({ alias: 'maxVisibleSelectedDatasets' })
|
|
82
|
-
maxVisibleSelectedDatasets?: number;
|
|
83
|
-
|
|
84
|
-
/** Fired when an agent is selected */
|
|
85
|
-
readonly luzmoAgentSelected = output<CustomEvent<Agent>>({ alias: 'luzmoAgentSelected' });
|
|
86
|
-
|
|
87
|
-
/** Fired when a dataset is selected */
|
|
88
|
-
readonly datasetSelected = output<CustomEvent<Dataset>>({ alias: 'datasetSelected' });
|
|
89
|
-
|
|
90
|
-
/** Fired when a dataset is removed */
|
|
91
|
-
readonly datasetRemoved = output<CustomEvent<Dataset>>({ alias: 'datasetRemoved' });
|
|
92
|
-
|
|
93
|
-
/** Fired when the selected agent is removed */
|
|
94
|
-
readonly luzmoAgentRemoved = output<CustomEvent<Agent>>({ alias: 'luzmoAgentRemoved' });
|
|
95
|
-
|
|
96
|
-
constructor() {
|
|
97
|
-
this.bindEvents();
|
|
98
|
-
this.destroyRef.onDestroy(() => {
|
|
99
|
-
for (const cleanup of this.listenerCleanup) {
|
|
100
|
-
cleanup();
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
106
|
-
for (const key of Object.keys(changes)) {
|
|
107
|
-
switch (key) {
|
|
108
|
-
case 'selectedDatasets':
|
|
109
|
-
this.setHostProperty('selectedDatasets', changes['selectedDatasets'].currentValue);
|
|
110
|
-
break;
|
|
111
|
-
case 'selectedAgent':
|
|
112
|
-
this.setHostProperty('selectedAgent', changes['selectedAgent'].currentValue);
|
|
113
|
-
break;
|
|
114
|
-
case 'hideAgents':
|
|
115
|
-
this.setHostProperty('hideAgents', changes['hideAgents'].currentValue);
|
|
116
|
-
break;
|
|
117
|
-
case 'buttonLabel':
|
|
118
|
-
this.setHostProperty('buttonLabel', changes['buttonLabel'].currentValue);
|
|
119
|
-
break;
|
|
120
|
-
case 'authKey':
|
|
121
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
122
|
-
break;
|
|
123
|
-
case 'authToken':
|
|
124
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
125
|
-
break;
|
|
126
|
-
case 'apiUrl':
|
|
127
|
-
this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
|
|
128
|
-
break;
|
|
129
|
-
case 'appServer':
|
|
130
|
-
this.setHostProperty('appServer', changes['appServer'].currentValue);
|
|
131
|
-
break;
|
|
132
|
-
case 'includePublicDatasets':
|
|
133
|
-
this.setHostProperty('includePublicDatasets', changes['includePublicDatasets'].currentValue);
|
|
134
|
-
break;
|
|
135
|
-
case 'flagOpendata':
|
|
136
|
-
this.setHostProperty('flagOpendata', changes['flagOpendata'].currentValue);
|
|
137
|
-
break;
|
|
138
|
-
case 'disabled':
|
|
139
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
140
|
-
break;
|
|
141
|
-
case 'disableDatasetModification':
|
|
142
|
-
this.setHostProperty('disableDatasetModification', changes['disableDatasetModification'].currentValue);
|
|
143
|
-
break;
|
|
144
|
-
case 'hideDatasetIcons':
|
|
145
|
-
this.setHostProperty('hideDatasetIcons', changes['hideDatasetIcons'].currentValue);
|
|
146
|
-
break;
|
|
147
|
-
case 'maxVisibleSelectedDatasets':
|
|
148
|
-
this.setHostProperty('maxVisibleSelectedDatasets', changes['maxVisibleSelectedDatasets'].currentValue);
|
|
149
|
-
break;
|
|
150
|
-
default:
|
|
151
|
-
break;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
158
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
159
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
160
|
-
* undefined / null by clearing their bindings.
|
|
161
|
-
*/
|
|
162
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
163
|
-
this.renderer.setProperty(this.host, key, value);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
private bindEvents(): void {
|
|
167
|
-
this.listenerCleanup.push(
|
|
168
|
-
this.renderer.listen(this.host, 'luzmo-agent-selected', (event: Event) => {
|
|
169
|
-
const typed = event as CustomEvent<Agent>;
|
|
170
|
-
this.luzmoAgentSelected.emit(typed);
|
|
171
|
-
})
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
this.listenerCleanup.push(
|
|
175
|
-
this.renderer.listen(this.host, 'dataset-selected', (event: Event) => {
|
|
176
|
-
const typed = event as CustomEvent<Dataset>;
|
|
177
|
-
this.datasetSelected.emit(typed);
|
|
178
|
-
})
|
|
179
|
-
);
|
|
180
|
-
|
|
181
|
-
this.listenerCleanup.push(
|
|
182
|
-
this.renderer.listen(this.host, 'dataset-removed', (event: Event) => {
|
|
183
|
-
const typed = event as CustomEvent<Dataset>;
|
|
184
|
-
this.datasetRemoved.emit(typed);
|
|
185
|
-
})
|
|
186
|
-
);
|
|
187
|
-
|
|
188
|
-
this.listenerCleanup.push(
|
|
189
|
-
this.renderer.listen(this.host, 'luzmo-agent-removed', (event: Event) => {
|
|
190
|
-
const typed = event as CustomEvent<Agent>;
|
|
191
|
-
this.luzmoAgentRemoved.emit(typed);
|
|
192
|
-
})
|
|
193
|
-
);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/** The underlying custom element type for LuzmoDatasetSelectorRow */
|
|
198
|
-
export type LuzmoDatasetSelectorRowElement = LuzmoDatasetSelectorRowHostElement;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/display-settings-binning';
|
|
3
|
-
import type { LuzmoDisplaySettingsBinning as LuzmoDisplaySettingsBinningHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-binning';
|
|
4
|
-
export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-binning';
|
|
5
|
-
import type { GenericSlotContent } from '@luzmo/dashboard-contents-types';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
selector: 'luzmo-display-settings-binning',
|
|
9
|
-
exportAs: 'luzmoDisplaySettingsBinning',
|
|
10
|
-
standalone: true,
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
template: '<ng-content />'
|
|
13
|
-
})
|
|
14
|
-
/**
|
|
15
|
-
* Angular wrapper component for <luzmo-display-settings-binning>
|
|
16
|
-
*/
|
|
17
|
-
export class LuzmoDisplaySettingsBinning implements OnChanges {
|
|
18
|
-
private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsBinningHostElement>>(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(): LuzmoDisplaySettingsBinningHostElement {
|
|
26
|
-
return this.host;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** The slot content whose binning configuration (enabled state and bin width) is edited. */
|
|
30
|
-
@Input({ alias: 'slotContent' })
|
|
31
|
-
slotContent?: GenericSlotContent;
|
|
32
|
-
|
|
33
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
34
|
-
@Input({ alias: 'language' })
|
|
35
|
-
language?: string;
|
|
36
|
-
|
|
37
|
-
/** The size of the element */
|
|
38
|
-
@Input({ alias: 'size' })
|
|
39
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
40
|
-
|
|
41
|
-
/** Event that is fired when the slot content is changed */
|
|
42
|
-
readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
|
|
43
|
-
|
|
44
|
-
constructor() {
|
|
45
|
-
this.bindEvents();
|
|
46
|
-
this.destroyRef.onDestroy(() => {
|
|
47
|
-
for (const cleanup of this.listenerCleanup) {
|
|
48
|
-
cleanup();
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
54
|
-
for (const key of Object.keys(changes)) {
|
|
55
|
-
switch (key) {
|
|
56
|
-
case 'slotContent':
|
|
57
|
-
this.setHostProperty('slotContent', changes['slotContent'].currentValue);
|
|
58
|
-
break;
|
|
59
|
-
case 'language':
|
|
60
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
61
|
-
break;
|
|
62
|
-
case 'size':
|
|
63
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
64
|
-
break;
|
|
65
|
-
default:
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
73
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
74
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
75
|
-
* undefined / null by clearing their bindings.
|
|
76
|
-
*/
|
|
77
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
78
|
-
this.renderer.setProperty(this.host, key, value);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
private bindEvents(): void {
|
|
82
|
-
this.listenerCleanup.push(
|
|
83
|
-
this.renderer.listen(this.host, 'luzmo-slot-content-changed', (event: Event) => {
|
|
84
|
-
const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
|
|
85
|
-
this.luzmoSlotContentChanged.emit(typed);
|
|
86
|
-
})
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** The underlying custom element type for LuzmoDisplaySettingsBinning */
|
|
92
|
-
export type LuzmoDisplaySettingsBinningElement = LuzmoDisplaySettingsBinningHostElement;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/display-settings-datetime';
|
|
3
|
-
import type { LuzmoDisplaySettingsDatetime as LuzmoDisplaySettingsDatetimeHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-datetime';
|
|
4
|
-
export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-datetime';
|
|
5
|
-
import type { ElementSize } from '@luzmo/analytics-components-kit/types';
|
|
6
|
-
import type { GenericSlotContent } from '@luzmo/dashboard-contents-types';
|
|
7
|
-
|
|
8
|
-
@Component({
|
|
9
|
-
selector: 'luzmo-display-settings-datetime',
|
|
10
|
-
exportAs: 'luzmoDisplaySettingsDatetime',
|
|
11
|
-
standalone: true,
|
|
12
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
-
template: '<ng-content />'
|
|
14
|
-
})
|
|
15
|
-
/**
|
|
16
|
-
* Angular wrapper component for <luzmo-display-settings-datetime>
|
|
17
|
-
*/
|
|
18
|
-
export class LuzmoDisplaySettingsDatetime implements OnChanges {
|
|
19
|
-
private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsDatetimeHostElement>>(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(): LuzmoDisplaySettingsDatetimeHostElement {
|
|
27
|
-
return this.host;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** The language to use for locale-aware formatting */
|
|
31
|
-
@Input({ alias: 'contentLanguage' })
|
|
32
|
-
contentLanguage?: string;
|
|
33
|
-
|
|
34
|
-
/** The size variant of the datetime settings controls (`s`, `m`, `l`, `xl`). */
|
|
35
|
-
@Input({ alias: 'size' })
|
|
36
|
-
size?: ElementSize;
|
|
37
|
-
|
|
38
|
-
/** The slot content whose datetime display mode and format options are edited. */
|
|
39
|
-
@Input({ alias: 'slotContent' })
|
|
40
|
-
slotContent?: GenericSlotContent;
|
|
41
|
-
|
|
42
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
43
|
-
@Input({ alias: 'language' })
|
|
44
|
-
language?: string;
|
|
45
|
-
|
|
46
|
-
/** Event that is fired when the slot content is changed */
|
|
47
|
-
readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
|
|
48
|
-
|
|
49
|
-
constructor() {
|
|
50
|
-
this.bindEvents();
|
|
51
|
-
this.destroyRef.onDestroy(() => {
|
|
52
|
-
for (const cleanup of this.listenerCleanup) {
|
|
53
|
-
cleanup();
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
59
|
-
for (const key of Object.keys(changes)) {
|
|
60
|
-
switch (key) {
|
|
61
|
-
case 'contentLanguage':
|
|
62
|
-
this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
|
|
63
|
-
break;
|
|
64
|
-
case 'size':
|
|
65
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
66
|
-
break;
|
|
67
|
-
case 'slotContent':
|
|
68
|
-
this.setHostProperty('slotContent', changes['slotContent'].currentValue);
|
|
69
|
-
break;
|
|
70
|
-
case 'language':
|
|
71
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
72
|
-
break;
|
|
73
|
-
default:
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
81
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
82
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
83
|
-
* undefined / null by clearing their bindings.
|
|
84
|
-
*/
|
|
85
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
86
|
-
this.renderer.setProperty(this.host, key, value);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
private bindEvents(): void {
|
|
90
|
-
this.listenerCleanup.push(
|
|
91
|
-
this.renderer.listen(this.host, 'luzmo-slot-content-changed', (event: Event) => {
|
|
92
|
-
const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
|
|
93
|
-
this.luzmoSlotContentChanged.emit(typed);
|
|
94
|
-
})
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/** The underlying custom element type for LuzmoDisplaySettingsDatetime */
|
|
100
|
-
export type LuzmoDisplaySettingsDatetimeElement = LuzmoDisplaySettingsDatetimeHostElement;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/display-settings-grand-totals';
|
|
3
|
-
import type { LuzmoDisplaySettingsGrandTotals as LuzmoDisplaySettingsGrandTotalsHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-grand-totals';
|
|
4
|
-
export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-grand-totals';
|
|
5
|
-
import type { GenericSlotContent } from '@luzmo/dashboard-contents-types';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
selector: 'luzmo-display-settings-grand-totals',
|
|
9
|
-
exportAs: 'luzmoDisplaySettingsGrandTotals',
|
|
10
|
-
standalone: true,
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
template: '<ng-content />'
|
|
13
|
-
})
|
|
14
|
-
/**
|
|
15
|
-
* Angular wrapper component for <luzmo-display-settings-grand-totals>
|
|
16
|
-
*/
|
|
17
|
-
export class LuzmoDisplaySettingsGrandTotals implements OnChanges {
|
|
18
|
-
private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsGrandTotalsHostElement>>(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(): LuzmoDisplaySettingsGrandTotalsHostElement {
|
|
26
|
-
return this.host;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** The slotContent that is passed to the settings */
|
|
30
|
-
@Input({ alias: 'slotContent' })
|
|
31
|
-
slotContent?: GenericSlotContent;
|
|
32
|
-
|
|
33
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
34
|
-
@Input({ alias: 'language' })
|
|
35
|
-
language?: string;
|
|
36
|
-
|
|
37
|
-
/** The size of the element */
|
|
38
|
-
@Input({ alias: 'size' })
|
|
39
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
40
|
-
|
|
41
|
-
/** Event that is fired when the slot content is changed */
|
|
42
|
-
readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
|
|
43
|
-
|
|
44
|
-
constructor() {
|
|
45
|
-
this.bindEvents();
|
|
46
|
-
this.destroyRef.onDestroy(() => {
|
|
47
|
-
for (const cleanup of this.listenerCleanup) {
|
|
48
|
-
cleanup();
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
54
|
-
for (const key of Object.keys(changes)) {
|
|
55
|
-
switch (key) {
|
|
56
|
-
case 'slotContent':
|
|
57
|
-
this.setHostProperty('slotContent', changes['slotContent'].currentValue);
|
|
58
|
-
break;
|
|
59
|
-
case 'language':
|
|
60
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
61
|
-
break;
|
|
62
|
-
case 'size':
|
|
63
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
64
|
-
break;
|
|
65
|
-
default:
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
73
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
74
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
75
|
-
* undefined / null by clearing their bindings.
|
|
76
|
-
*/
|
|
77
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
78
|
-
this.renderer.setProperty(this.host, key, value);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
private bindEvents(): void {
|
|
82
|
-
this.listenerCleanup.push(
|
|
83
|
-
this.renderer.listen(this.host, 'luzmo-slot-content-changed', (event: Event) => {
|
|
84
|
-
const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
|
|
85
|
-
this.luzmoSlotContentChanged.emit(typed);
|
|
86
|
-
})
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/** The underlying custom element type for LuzmoDisplaySettingsGrandTotals */
|
|
92
|
-
export type LuzmoDisplaySettingsGrandTotalsElement = LuzmoDisplaySettingsGrandTotalsHostElement;
|
|
@@ -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/display-settings-numeric';
|
|
3
|
-
import type { LuzmoDisplaySettingsNumeric as LuzmoDisplaySettingsNumericHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-numeric';
|
|
4
|
-
export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-numeric';
|
|
5
|
-
import type { MeasureColumnsItem } from '@luzmo/analytics-components-kit/slot-menu';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
selector: 'luzmo-display-settings-numeric',
|
|
9
|
-
exportAs: 'luzmoDisplaySettingsNumeric',
|
|
10
|
-
standalone: true,
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
template: '<ng-content />'
|
|
13
|
-
})
|
|
14
|
-
/**
|
|
15
|
-
* Angular wrapper component for <luzmo-display-settings-numeric>
|
|
16
|
-
*/
|
|
17
|
-
export class LuzmoDisplaySettingsNumeric implements OnChanges {
|
|
18
|
-
private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsNumericHostElement>>(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(): LuzmoDisplaySettingsNumericHostElement {
|
|
26
|
-
return this.host;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** The slotContent that is passed to the settings */
|
|
30
|
-
@Input({ alias: 'slotContent' })
|
|
31
|
-
slotContent?: any;
|
|
32
|
-
|
|
33
|
-
/** The list of measure columns grouped by dataset that can be used for the rate aggregation. Shape: [{ datasetId, datasetName, columns: Column[] }] */
|
|
34
|
-
@Input({ alias: 'measureColumns' })
|
|
35
|
-
measureColumns?: MeasureColumnsItem[];
|
|
36
|
-
|
|
37
|
-
/** Whether or not to show the aggregation options */
|
|
38
|
-
@Input({ alias: 'isAggregationDisabled', transform: booleanAttribute })
|
|
39
|
-
isAggregationDisabled?: boolean;
|
|
40
|
-
|
|
41
|
-
/** Whether or not to show the cumulative sum options */
|
|
42
|
-
@Input({ alias: 'isCumulativeSumEnabled', transform: booleanAttribute })
|
|
43
|
-
isCumulativeSumEnabled?: boolean;
|
|
44
|
-
|
|
45
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
46
|
-
@Input({ alias: 'language' })
|
|
47
|
-
language?: string;
|
|
48
|
-
|
|
49
|
-
/** The size of the element */
|
|
50
|
-
@Input({ alias: 'size' })
|
|
51
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
52
|
-
|
|
53
|
-
/** Event that is fired when the slot content is changed */
|
|
54
|
-
readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
|
|
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 'slotContent':
|
|
69
|
-
this.setHostProperty('slotContent', changes['slotContent'].currentValue);
|
|
70
|
-
break;
|
|
71
|
-
case 'measureColumns':
|
|
72
|
-
this.setHostProperty('measureColumns', changes['measureColumns'].currentValue);
|
|
73
|
-
break;
|
|
74
|
-
case 'isAggregationDisabled':
|
|
75
|
-
this.setHostProperty('isAggregationDisabled', changes['isAggregationDisabled'].currentValue);
|
|
76
|
-
break;
|
|
77
|
-
case 'isCumulativeSumEnabled':
|
|
78
|
-
this.setHostProperty('isCumulativeSumEnabled', changes['isCumulativeSumEnabled'].currentValue);
|
|
79
|
-
break;
|
|
80
|
-
case 'language':
|
|
81
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
82
|
-
break;
|
|
83
|
-
case 'size':
|
|
84
|
-
this.setHostProperty('size', changes['size'].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-slot-content-changed', (event: Event) => {
|
|
105
|
-
const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
|
|
106
|
-
this.luzmoSlotContentChanged.emit(typed);
|
|
107
|
-
})
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** The underlying custom element type for LuzmoDisplaySettingsNumeric */
|
|
113
|
-
export type LuzmoDisplaySettingsNumericElement = LuzmoDisplaySettingsNumericHostElement;
|