@koobiq/components 20.0.0 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-trigger.component.scss +0 -18
- package/accordion/accordion.component.scss +9 -2
- package/actions-panel/index.d.ts +1 -0
- package/alert/_alert-theme.scss +0 -4
- package/alert/alert-tokens.scss +4 -4
- package/app-switcher/app-switcher-dropdown-app.scss +2 -0
- package/breadcrumbs/breadcrumbs.scss +4 -0
- package/breadcrumbs/index.d.ts +2 -1
- package/button/button-group.scss +42 -2
- package/button-toggle/button-toggle.scss +23 -0
- package/button-toggle/index.d.ts +3 -1
- package/checkbox/checkbox.scss +5 -4
- package/clamped-text/index.d.ts +1 -0
- package/core/index.d.ts +402 -13
- package/core/styles/common/_animation.scss +4 -0
- package/core/styles/theming/_components-theming.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +4 -0
- package/datepicker/_datepicker-theme.scss +1 -1
- package/datepicker/datepicker-toggle.scss +3 -3
- package/dl/index.d.ts +1 -0
- package/dropdown/dropdown.scss +2 -2
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +14 -5
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +2 -2
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +6 -6
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +6 -4
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +9 -6
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +4 -4
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +4 -0
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +4 -0
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +449 -112
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +5 -5
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +3 -2
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +8 -13
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +33 -22
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +974 -758
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +66 -0
- package/fesm2022/koobiq-components-flag.mjs.map +1 -0
- package/fesm2022/koobiq-components-form-field.mjs +2 -2
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -2
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +27 -6
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +39 -20
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +9 -5
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +10 -9
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +178 -19
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +12 -4
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +2 -2
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +2 -2
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +3 -7
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +38 -16
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +4 -0
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +3 -3
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +2 -2
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +2 -2
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +6 -2
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +8 -6
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +19 -7
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +7 -0
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +7 -14
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +4 -4
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +6 -0
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +132 -14
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +1 -1
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +50 -2
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +44 -11
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +67 -41
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +16 -3
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +1 -0
- package/file-upload/index.d.ts +10 -7
- package/filter-bar/_filter-bar-theme.scss +86 -0
- package/filter-bar/filter-bar-tokens.scss +6 -0
- package/filter-bar/filter-bar.scss +10 -4
- package/filter-bar/filter-refresher.scss +1 -1
- package/filter-bar/filters.scss +23 -19
- package/filter-bar/index.d.ts +707 -338
- package/filter-bar/pipes/base-pipe.scss +14 -35
- package/filter-bar/pipes/pipe-date.scss +20 -14
- package/filter-bar/pipes/pipe-multi-tree-select.scss +5 -3
- package/filter-bar/pipes/pipe-multiselect.scss +5 -3
- package/filter-bar/pipes/pipe-readonly.scss +4 -13
- package/filter-bar/pipes/pipe-select.scss +3 -1
- package/filter-bar/pipes/pipe-tree-select.scss +3 -1
- package/flag/flag.scss +53 -0
- package/flag/index.d.ts +44 -0
- package/icon/icon-item-tokens.scss +1 -1
- package/inline-edit/index.d.ts +5 -0
- package/inline-edit/inline-edit.scss +7 -7
- package/link/link-tokens.scss +2 -2
- package/list/index.d.ts +11 -2
- package/loader-overlay/loader-overlay-tokens.scss +1 -1
- package/modal/_modal-animation.scss +6 -6
- package/modal/_modal-theme.scss +5 -0
- package/modal/index.d.ts +3 -1
- package/modal/modal.scss +15 -0
- package/navbar/index.d.ts +1 -0
- package/navbar/navbar-item.scss +9 -0
- package/notification-center/_notification-center-theme.scss +2 -1
- package/notification-center/index.d.ts +88 -3
- package/notification-center/notification-center.scss +42 -4
- package/notification-center/notification-item.scss +3 -2
- package/overflow-items/index.d.ts +1 -0
- package/package.json +7 -3
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.scss +4 -0
- package/progress-spinner/progress-spinner.scss +5 -1
- package/radio/index.d.ts +1 -5
- package/radio/radio.scss +18 -4
- package/schematics/collection.json +5 -0
- package/schematics/migrations/filter-bar-signals/README.md +66 -0
- package/schematics/migrations/filter-bar-signals/data.js +72 -0
- package/schematics/migrations/filter-bar-signals/index.js +316 -0
- package/schematics/migrations/filter-bar-signals/schema.json +20 -0
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +1 -1
- package/select/index.d.ts +10 -2
- package/sidebar/index.d.ts +1 -0
- package/skeleton/skeleton.scss +4 -0
- package/split-button/_split-button-theme.scss +2 -2
- package/splitter/_splitter-theme.scss +2 -2
- package/splitter/index.d.ts +1 -0
- package/table/_table-theme.scss +4 -0
- package/table/index.d.ts +3 -2
- package/tabs/index.d.ts +2 -0
- package/tabs/tab-header.scss +1 -0
- package/tabs/tabs-tokens.scss +1 -1
- package/textarea/index.d.ts +0 -1
- package/time-range/time-range.scss +0 -8
- package/timepicker/timepicker.scss +2 -2
- package/timezone/index.d.ts +1 -0
- package/title/index.d.ts +92 -2
- package/tooltip/index.d.ts +51 -3
- package/tree/_tree-theme.scss +2 -7
- package/tree/index.d.ts +19 -4
- package/tree/toggle.scss +5 -0
- package/tree/tree-option.scss +0 -4
- package/tree-select/_tree-select-theme.scss +1 -1
- package/tree-select/index.d.ts +9 -2
- package/username/index.d.ts +20 -2
package/filter-bar/index.d.ts
CHANGED
|
@@ -1,20 +1,118 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, TemplateRef, InjectionToken, ModelSignal, Signal, OutputEmitterRef, Type, Provider, OnInit, AfterContentInit } from '@angular/core';
|
|
3
3
|
import * as _koobiq_components_core from '@koobiq/components/core';
|
|
4
|
-
import { PopUpPlacements, KbqComponentColors, PopUpSizes, KbqOption, KbqPseudoCheckboxState } from '@koobiq/components/core';
|
|
5
|
-
import {
|
|
4
|
+
import { PopUpPlacements, KbqComponentColors, PopUpSizes, KbqOption, DateAdapter, DateFormatter, KbqPseudoCheckboxState } from '@koobiq/components/core';
|
|
5
|
+
import { Subject, BehaviorSubject, Observable } from 'rxjs';
|
|
6
6
|
import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
|
|
7
|
-
import {
|
|
7
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
8
|
import { KbqButtonStyles, KbqButton } from '@koobiq/components/button';
|
|
9
9
|
import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
|
|
10
10
|
import { KbqPopoverTrigger } from '@koobiq/components/popover';
|
|
11
11
|
import { KbqSelect } from '@koobiq/components/select';
|
|
12
|
-
import { KbqTooltipTrigger } from '@koobiq/components/tooltip';
|
|
13
12
|
import { KbqListSelection } from '@koobiq/components/list';
|
|
14
|
-
import { FlatTreeControl, KbqTreeFlattener, KbqTreeFlatDataSource, KbqTreeOption } from '@koobiq/components/tree';
|
|
13
|
+
import { FlatTreeControl, KbqTreeFlattener, KbqTreeFlatDataSource, KbqTreeSelection, KbqTreeOption } from '@koobiq/components/tree';
|
|
15
14
|
import { KbqTreeSelect } from '@koobiq/components/tree-select';
|
|
16
15
|
|
|
17
|
-
/**
|
|
16
|
+
/** Injection Token for providing configuration of filter-bar */
|
|
17
|
+
declare const KBQ_PIPE_DATA: InjectionToken<unknown>;
|
|
18
|
+
/** function to get unique identifier of an element */
|
|
19
|
+
declare function getId(item: KbqPipeTemplate): KbqPipeType | string | number;
|
|
20
|
+
declare abstract class KbqBasePipe<V> implements AfterViewInit {
|
|
21
|
+
/** changes of state */
|
|
22
|
+
readonly stateChanges: Subject<void>;
|
|
23
|
+
/** pipe data. Provided from subclass */
|
|
24
|
+
readonly data: KbqPipeData<V>;
|
|
25
|
+
/** KbqFilterBar instance
|
|
26
|
+
* @docs-private */
|
|
27
|
+
protected readonly filterBar: KbqFilterBarHost | null;
|
|
28
|
+
/** @docs-private */
|
|
29
|
+
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
30
|
+
/** @docs-private */
|
|
31
|
+
protected readonly destroyRef: DestroyRef;
|
|
32
|
+
/** @docs-private */
|
|
33
|
+
protected readonly focusMonitor: FocusMonitor;
|
|
34
|
+
/** @docs-private */
|
|
35
|
+
protected readonly elementRef: ElementRef<HTMLElement>;
|
|
36
|
+
private readonly inputModalityDetector;
|
|
37
|
+
private readonly document;
|
|
38
|
+
/** Last known focus origin within the pipe. Used to preserve the keyboard focus ring on restore. */
|
|
39
|
+
private focusOrigin;
|
|
40
|
+
/**
|
|
41
|
+
* Whether this pipe has been destroyed. Guards deferred (`setTimeout`) work that could otherwise
|
|
42
|
+
* read view queries or mutate `data` after the pipe was removed or the filter switched.
|
|
43
|
+
* @docs-private
|
|
44
|
+
*/
|
|
45
|
+
protected destroyed: boolean;
|
|
46
|
+
/** values to select from the pipe template */
|
|
47
|
+
protected values: any;
|
|
48
|
+
/** TemplateRef for selecting an option */
|
|
49
|
+
protected valueTemplate?: TemplateRef<any> | string;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the current platform is a Mac.
|
|
52
|
+
*
|
|
53
|
+
* @docs-private
|
|
54
|
+
*/
|
|
55
|
+
isMac: boolean;
|
|
56
|
+
/** Data for the pipe.
|
|
57
|
+
* @docs-private */
|
|
58
|
+
$implicit: unknown;
|
|
59
|
+
/** Whether the current pipe is empty. Used for apply style modifier */
|
|
60
|
+
get isEmpty(): boolean;
|
|
61
|
+
/** Whether the current pipe is removable or cleanable. Used for apply style modifier */
|
|
62
|
+
get showRemoveButton(): boolean;
|
|
63
|
+
/** localized data
|
|
64
|
+
* @docs-private */
|
|
65
|
+
get localeData(): KbqFilterBarConfiguration;
|
|
66
|
+
constructor();
|
|
67
|
+
ngAfterViewInit(): void;
|
|
68
|
+
/** templateRef checker utility */
|
|
69
|
+
isTemplateRef(value: unknown): boolean;
|
|
70
|
+
/** updates values for selection and value template */
|
|
71
|
+
updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
|
|
72
|
+
/** removes pipe from filter-bar and triggers changes */
|
|
73
|
+
onRemove(): void;
|
|
74
|
+
/** clears the pipe and triggers changes */
|
|
75
|
+
onClear(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Restores focus to the pipe's trigger button after a value is chosen or the panel closes.
|
|
78
|
+
* Focuses via {@link FocusMonitor} with the captured origin so a keyboard-driven interaction
|
|
79
|
+
* keeps its focus ring, while a mouse-driven one does not.
|
|
80
|
+
*
|
|
81
|
+
* @docs-private
|
|
82
|
+
*/
|
|
83
|
+
protected restoreTriggerFocus(): void;
|
|
84
|
+
/** @docs-private */
|
|
85
|
+
abstract open(): void;
|
|
86
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqBasePipe<any>, never>;
|
|
87
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqBasePipe<any>, never, never, {}, {}, never, never, true, never>;
|
|
88
|
+
}
|
|
89
|
+
declare class KbqPipeMinWidth {
|
|
90
|
+
/** KbqFilterBar instance */
|
|
91
|
+
protected readonly filterBar: KbqFilterBarHost | null;
|
|
92
|
+
/** @docs-private */
|
|
93
|
+
protected readonly elementRef: ElementRef<HTMLElement>;
|
|
94
|
+
/** @docs-private */
|
|
95
|
+
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
96
|
+
/** @docs-private */
|
|
97
|
+
protected minWidth: string;
|
|
98
|
+
/** maximal symbols for apply fit-content to min-width */
|
|
99
|
+
maxSymbolsForFitContent: number;
|
|
100
|
+
/** current length of text */
|
|
101
|
+
get textLength(): number;
|
|
102
|
+
constructor();
|
|
103
|
+
update: () => void;
|
|
104
|
+
/** Schedules a deferred min-width recompute and returns the effect-cleanup that cancels it. */
|
|
105
|
+
private scheduleMinWidthUpdate;
|
|
106
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeMinWidth, never>;
|
|
107
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPipeMinWidth, "[kbqPipeMinWidth]", never, {}, {}, never, never, true, never>;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Default localized strings for the filter-bar, used when no `KBQ_LOCALE_SERVICE` (nor an explicit
|
|
112
|
+
* `KBQ_FILTER_BAR_CONFIGURATION`) is provided. These are the Russian (`ru-RU`) strings, matching the
|
|
113
|
+
* library-wide default-locale convention (every `KBQ_*_DEFAULT_CONFIGURATION` resolves to `ruRULocaleData`).
|
|
114
|
+
* Provide `KBQ_LOCALE_SERVICE` at the application root to localize the filter-bar for other locales.
|
|
115
|
+
*/
|
|
18
116
|
declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: {
|
|
19
117
|
reset: {
|
|
20
118
|
buttonName: string;
|
|
@@ -39,9 +137,15 @@ declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: {
|
|
|
39
137
|
errorHint: string;
|
|
40
138
|
saveButton: string;
|
|
41
139
|
cancelButton: string;
|
|
140
|
+
actionsTooltip: string;
|
|
42
141
|
};
|
|
43
142
|
add: {
|
|
44
143
|
tooltip: string;
|
|
144
|
+
addedAnnouncement: string;
|
|
145
|
+
};
|
|
146
|
+
refresher: {
|
|
147
|
+
refresh: string;
|
|
148
|
+
settings: string;
|
|
45
149
|
};
|
|
46
150
|
pipe: {
|
|
47
151
|
clearButtonTooltip: string;
|
|
@@ -58,10 +162,110 @@ declare const KBQ_FILTER_BAR_DEFAULT_CONFIGURATION: {
|
|
|
58
162
|
backToPeriodSelection: string;
|
|
59
163
|
};
|
|
60
164
|
};
|
|
165
|
+
/** Shape of the localized strings consumed by the filter-bar and its pipes. */
|
|
166
|
+
type KbqFilterBarConfiguration = typeof KBQ_FILTER_BAR_DEFAULT_CONFIGURATION;
|
|
61
167
|
/** Injection Token for providing configuration of filter-bar */
|
|
62
|
-
declare const KBQ_FILTER_BAR_CONFIGURATION: InjectionToken<
|
|
168
|
+
declare const KBQ_FILTER_BAR_CONFIGURATION: InjectionToken<{
|
|
169
|
+
reset: {
|
|
170
|
+
buttonName: string;
|
|
171
|
+
};
|
|
172
|
+
search: {
|
|
173
|
+
tooltip: string;
|
|
174
|
+
placeholder: string;
|
|
175
|
+
};
|
|
176
|
+
filters: {
|
|
177
|
+
defaultName: string;
|
|
178
|
+
saveNewFilterTooltip: string;
|
|
179
|
+
searchPlaceholder: string;
|
|
180
|
+
searchEmptyResult: string;
|
|
181
|
+
saveAsNewFilter: string;
|
|
182
|
+
saveChanges: string;
|
|
183
|
+
saveAsNew: string;
|
|
184
|
+
change: string;
|
|
185
|
+
resetChanges: string;
|
|
186
|
+
remove: string;
|
|
187
|
+
name: string;
|
|
188
|
+
error: string;
|
|
189
|
+
errorHint: string;
|
|
190
|
+
saveButton: string;
|
|
191
|
+
cancelButton: string;
|
|
192
|
+
actionsTooltip: string;
|
|
193
|
+
};
|
|
194
|
+
add: {
|
|
195
|
+
tooltip: string;
|
|
196
|
+
addedAnnouncement: string;
|
|
197
|
+
};
|
|
198
|
+
refresher: {
|
|
199
|
+
refresh: string;
|
|
200
|
+
settings: string;
|
|
201
|
+
};
|
|
202
|
+
pipe: {
|
|
203
|
+
clearButtonTooltip: string;
|
|
204
|
+
removeButtonTooltip: string;
|
|
205
|
+
applyButton: string;
|
|
206
|
+
emptySearchResult: string;
|
|
207
|
+
selectAll: string;
|
|
208
|
+
};
|
|
209
|
+
datePipe: {
|
|
210
|
+
customPeriod: string;
|
|
211
|
+
customPeriodFrom: string;
|
|
212
|
+
customPeriodTo: string;
|
|
213
|
+
customPeriodErrorHint: string;
|
|
214
|
+
backToPeriodSelection: string;
|
|
215
|
+
};
|
|
216
|
+
}>;
|
|
217
|
+
/**
|
|
218
|
+
* Contract a pipe (or filter-bar sub-component) depends on instead of the concrete `KbqFilterBar`.
|
|
219
|
+
* `KbqFilterBar` provides itself as {@link KBQ_FILTER_BAR_HOST}, so a pipe can be unit-tested against a
|
|
220
|
+
* lightweight mock of this seam rather than a full bar. Members mirror the current `KbqFilterBar` surface;
|
|
221
|
+
* they are expected to slim down once the state model moves to signals.
|
|
222
|
+
*/
|
|
223
|
+
interface KbqFilterBarHost {
|
|
224
|
+
/** Localized strings and configuration for the filter-bar and its pipes. */
|
|
225
|
+
configuration: KbqFilterBarConfiguration;
|
|
226
|
+
/** Currently selected filter. A two-way-bindable `model()`: read via `filter()`, write via `filter.set()`. */
|
|
227
|
+
readonly filter: ModelSignal<KbqFilter | null>;
|
|
228
|
+
/** Templates used when adding a pipe (also hold the option lists). Read via `pipeTemplates()`. */
|
|
229
|
+
readonly pipeTemplates: Signal<KbqPipeTemplate[]>;
|
|
230
|
+
/** Whether selecting all options counts as selecting nothing. */
|
|
231
|
+
readonly selectedAllEqualsSelectedNothing: Signal<boolean>;
|
|
232
|
+
/** Whether the current filter is saved. */
|
|
233
|
+
readonly isSaved: Signal<boolean>;
|
|
234
|
+
/** Whether the current filter is changed. */
|
|
235
|
+
readonly isChanged: Signal<boolean>;
|
|
236
|
+
/** Whether the current filter is both saved and changed. */
|
|
237
|
+
readonly isSavedAndChanged: Signal<boolean>;
|
|
238
|
+
/** Whether the current filter is readonly. */
|
|
239
|
+
readonly isReadOnly: Signal<boolean>;
|
|
240
|
+
/**
|
|
241
|
+
* Emits whenever a pipe value changes.
|
|
242
|
+
* (The two-way-bound `filter` value is emitted by the `filter` model's `filterChange` output.)
|
|
243
|
+
*/
|
|
244
|
+
readonly onChangePipe: OutputEmitterRef<KbqPipe>;
|
|
245
|
+
/** Emits whenever a pipe is cleared. */
|
|
246
|
+
readonly onClearPipe: OutputEmitterRef<KbqPipe>;
|
|
247
|
+
/** Emits whenever a select/multiselect pipe closes. */
|
|
248
|
+
readonly onClosePipe: OutputEmitterRef<KbqPipe>;
|
|
249
|
+
/** Internal filter changes. */
|
|
250
|
+
readonly internalFilterChanges: BehaviorSubject<KbqFilter | null>;
|
|
251
|
+
/** Internal pipe-template changes. */
|
|
252
|
+
readonly internalTemplatesChanges: BehaviorSubject<KbqPipeTemplate[] | null>;
|
|
253
|
+
/** Requests opening a pipe after it is added. */
|
|
254
|
+
readonly openPipe: BehaviorSubject<string | number | null>;
|
|
255
|
+
/** Emits when the filter is reset. */
|
|
256
|
+
readonly onResetFilter: BehaviorSubject<boolean>;
|
|
257
|
+
/** Removes a pipe from the current filter and emits the change. */
|
|
258
|
+
removePipe(pipe: KbqPipe): void;
|
|
259
|
+
/** Clears the current filter's "changed" flag. */
|
|
260
|
+
resetFilterChangedState(): void;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Injection token exposing the {@link KbqFilterBarHost} seam. `KbqFilterBar` provides itself via
|
|
264
|
+
* `useExisting`, so pipes `inject(KBQ_FILTER_BAR_HOST)` instead of depending on the concrete bar.
|
|
265
|
+
*/
|
|
266
|
+
declare const KBQ_FILTER_BAR_HOST: InjectionToken<KbqFilterBarHost>;
|
|
63
267
|
/** Injection Token for providing pipes in filter-bar */
|
|
64
|
-
declare const KBQ_FILTER_BAR_PIPES: InjectionToken<
|
|
268
|
+
declare const KBQ_FILTER_BAR_PIPES: InjectionToken<Map<KbqPipeType, Type<KbqBasePipe<unknown>>>>;
|
|
65
269
|
/** Utility provider for `KBQ_FILTER_BAR_PIPES`. */
|
|
66
270
|
declare const kbqFilterBarPipesProvider: () => Provider;
|
|
67
271
|
/** list of pipe types available out of the box */
|
|
@@ -75,9 +279,9 @@ declare enum KbqPipeTypes {
|
|
|
75
279
|
Date = "date",
|
|
76
280
|
Datetime = "datetime"
|
|
77
281
|
}
|
|
78
|
-
type KbqPipeType = `${KbqPipeTypes}` | string;
|
|
282
|
+
type KbqPipeType = `${KbqPipeTypes}` | (string & {});
|
|
79
283
|
/** list of pipes available out of the box. */
|
|
80
|
-
declare const defaultFilterBarPipes: [
|
|
284
|
+
declare const defaultFilterBarPipes: [KbqPipeType, Type<KbqBasePipe<unknown>>][];
|
|
81
285
|
interface KbqDateTimeValue {
|
|
82
286
|
name?: string;
|
|
83
287
|
start?: string;
|
|
@@ -86,6 +290,8 @@ interface KbqDateTimeValue {
|
|
|
86
290
|
interface KbqSelectValue {
|
|
87
291
|
name: string;
|
|
88
292
|
value: unknown;
|
|
293
|
+
/** Optional stable identifier used by the select/multi-select pipe comparators. */
|
|
294
|
+
id?: string | number;
|
|
89
295
|
}
|
|
90
296
|
interface KbqFilter {
|
|
91
297
|
name: string;
|
|
@@ -154,19 +360,92 @@ interface KbqTreeSelectNode {
|
|
|
154
360
|
* Build the file structure tree. The `value` is the Json object, or a sub-tree of a Json object.
|
|
155
361
|
* The return value is the list of extends `KbqTreeSelectNode`.
|
|
156
362
|
*/
|
|
157
|
-
declare function kbqBuildTree<T extends KbqTreeSelectNode>(value:
|
|
363
|
+
declare function kbqBuildTree<T extends KbqTreeSelectNode>(value: Record<string, unknown>, level: number): T[];
|
|
158
364
|
|
|
159
365
|
declare class KbqFilterReset {
|
|
160
|
-
/** KbqFilterBar
|
|
366
|
+
/** KbqFilterBar host seam */
|
|
161
367
|
private readonly filterBar;
|
|
162
368
|
/** Event that is generated whenever the user reset a filter. */
|
|
163
|
-
readonly onResetFilter:
|
|
369
|
+
readonly onResetFilter: _angular_core.OutputEmitterRef<KbqFilter | null>;
|
|
164
370
|
/** localized data
|
|
165
371
|
* @docs-private */
|
|
166
|
-
get localeData():
|
|
372
|
+
get localeData(): string;
|
|
167
373
|
protected resetFilter(): void;
|
|
168
|
-
static ɵfac:
|
|
169
|
-
static ɵcmp:
|
|
374
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterReset, never>;
|
|
375
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterReset, "kbq-filter-reset", never, {}, { "onResetFilter": "onResetFilter"; }, never, ["*"], true, never>;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* The "save / rename filter" popover, extracted from `KbqFilters` (SRP). Owns the save form state, the
|
|
380
|
+
* name control, validation/error display and the save/rename flow. It declares the popover's header,
|
|
381
|
+
* content and footer templates and pushes them imperatively onto the trigger it is given (via the
|
|
382
|
+
* `popoverTrigger` input), so there is no cross-component template binding on the parent (which would
|
|
383
|
+
* otherwise risk `ExpressionChangedAfterItHasBeenCheckedError`). `KbqFilters` keeps the trigger (on its
|
|
384
|
+
* main button), focus management and the public `filterSavedSuccessfully`/`filterSavedUnsuccessfully` API,
|
|
385
|
+
* delegating to this component.
|
|
386
|
+
*
|
|
387
|
+
* @docs-private
|
|
388
|
+
*/
|
|
389
|
+
declare class KbqFilterSavePopover implements AfterViewInit {
|
|
390
|
+
private readonly changeDetectorRef;
|
|
391
|
+
/** Popover trigger owned by the parent (`KbqFilters` main button). */
|
|
392
|
+
readonly popoverTrigger: _angular_core.InputSignal<KbqPopoverTrigger>;
|
|
393
|
+
/** Filter bar, used for the save payload, the current filter and localized strings. */
|
|
394
|
+
readonly filterBar: _angular_core.InputSignal<KbqFilterBar>;
|
|
395
|
+
/** Emits when the user saves/renames a filter. */
|
|
396
|
+
readonly save: _angular_core.OutputEmitterRef<KbqSaveFilterEvent>;
|
|
397
|
+
/** Emits when the popover closes; the boolean requests focus restoration by the parent. */
|
|
398
|
+
readonly closed: _angular_core.OutputEmitterRef<boolean>;
|
|
399
|
+
/** @docs-private */
|
|
400
|
+
readonly headerTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
401
|
+
/** @docs-private */
|
|
402
|
+
readonly contentTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
403
|
+
/** @docs-private */
|
|
404
|
+
readonly footerTemplate: _angular_core.Signal<TemplateRef<unknown>>;
|
|
405
|
+
private readonly newFilterName;
|
|
406
|
+
private readonly saveFilterButton;
|
|
407
|
+
/** new filter name for saving */
|
|
408
|
+
filterName: FormControl<string | null>;
|
|
409
|
+
/** true if saving a new filter, false if saving changes in filter */
|
|
410
|
+
saveNewFilter: boolean;
|
|
411
|
+
showFilterSavingError: boolean;
|
|
412
|
+
filterSavingErrorText: string;
|
|
413
|
+
isSaving: boolean;
|
|
414
|
+
/** localized data
|
|
415
|
+
* @docs-private */
|
|
416
|
+
get localeData(): {
|
|
417
|
+
defaultName: string;
|
|
418
|
+
saveNewFilterTooltip: string;
|
|
419
|
+
searchPlaceholder: string;
|
|
420
|
+
searchEmptyResult: string;
|
|
421
|
+
saveAsNewFilter: string;
|
|
422
|
+
saveChanges: string;
|
|
423
|
+
saveAsNew: string;
|
|
424
|
+
change: string;
|
|
425
|
+
resetChanges: string;
|
|
426
|
+
remove: string;
|
|
427
|
+
name: string;
|
|
428
|
+
error: string;
|
|
429
|
+
errorHint: string;
|
|
430
|
+
saveButton: string;
|
|
431
|
+
cancelButton: string;
|
|
432
|
+
actionsTooltip: string;
|
|
433
|
+
};
|
|
434
|
+
/** header of popover. Depends on the mode */
|
|
435
|
+
get popoverHeader(): string;
|
|
436
|
+
ngAfterViewInit(): void;
|
|
437
|
+
openSaveAsNewFilterPopover(): void;
|
|
438
|
+
openChangeFilterNamePopover(): void;
|
|
439
|
+
saveAsNew(event?: Event): void;
|
|
440
|
+
showError(error?: KbqSaveFilterError): void;
|
|
441
|
+
close: (restoreFocus?: boolean) => void;
|
|
442
|
+
/** Hide the popover on a successful save. Focus restoration is handled by the parent. */
|
|
443
|
+
savedSuccessfully(): void;
|
|
444
|
+
/** Release the saving state after a failed save (the error itself is shown by the host via `showError`). */
|
|
445
|
+
savedUnsuccessfully(): void;
|
|
446
|
+
private preparePopover;
|
|
447
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterSavePopover, never>;
|
|
448
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterSavePopover, "kbq-filter-save-popover", never, { "popoverTrigger": { "alias": "popoverTrigger"; "required": true; "isSignal": true; }; "filterBar": { "alias": "filterBar"; "required": true; "isSignal": true; }; }, { "save": "save"; "closed": "closed"; }, never, never, true, never>;
|
|
170
449
|
}
|
|
171
450
|
|
|
172
451
|
declare class KbqFilters implements OnInit {
|
|
@@ -187,79 +466,89 @@ declare class KbqFilters implements OnInit {
|
|
|
187
466
|
/** @docs-private */
|
|
188
467
|
private readonly changeDetectorRef;
|
|
189
468
|
/** @docs-private */
|
|
190
|
-
protected readonly mainButton:
|
|
469
|
+
protected readonly mainButton: _angular_core.Signal<KbqButton>;
|
|
470
|
+
/** @docs-private */
|
|
471
|
+
protected readonly saveNewFilterButton: _angular_core.Signal<KbqButton>;
|
|
191
472
|
/** @docs-private */
|
|
192
|
-
protected readonly
|
|
473
|
+
protected readonly filterActionsButton: _angular_core.Signal<KbqButton>;
|
|
193
474
|
/** @docs-private */
|
|
194
|
-
protected readonly
|
|
475
|
+
protected readonly popover: _angular_core.Signal<KbqPopoverTrigger>;
|
|
195
476
|
/** @docs-private */
|
|
196
|
-
protected readonly
|
|
477
|
+
protected readonly dropdown: _angular_core.Signal<KbqDropdownTrigger>;
|
|
197
478
|
/** @docs-private */
|
|
198
|
-
protected readonly
|
|
479
|
+
protected readonly filterActionsDropdown: _angular_core.Signal<KbqDropdownTrigger | undefined>;
|
|
199
480
|
/** @docs-private */
|
|
200
|
-
protected readonly
|
|
481
|
+
protected readonly savePopover: _angular_core.Signal<KbqFilterSavePopover>;
|
|
201
482
|
private readonly search;
|
|
202
|
-
private readonly newFilterName;
|
|
203
|
-
private readonly saveFilterButton;
|
|
204
483
|
/** control for search filter */
|
|
205
|
-
searchControl:
|
|
484
|
+
readonly searchControl: FormControl<string | null>;
|
|
206
485
|
/** filtered by search filters */
|
|
207
486
|
filteredOptions: Observable<KbqFilter[]>;
|
|
208
487
|
/** @docs-private */
|
|
209
|
-
popoverSize
|
|
488
|
+
protected readonly popoverSize = PopUpSizes.Medium;
|
|
210
489
|
/** @docs-private */
|
|
211
|
-
popoverOffset: number;
|
|
212
|
-
|
|
213
|
-
filterName: FormControl<string | null>;
|
|
214
|
-
/** true if saving a new filter, false if saving changes in filter */
|
|
215
|
-
saveNewFilter: boolean;
|
|
216
|
-
showFilterSavingError: boolean;
|
|
217
|
-
filterSavingErrorText: string;
|
|
218
|
-
isSaving: boolean;
|
|
219
|
-
readonly filters: i0.InputSignal<KbqFilter[]>;
|
|
490
|
+
protected readonly popoverOffset: number;
|
|
491
|
+
readonly filters: _angular_core.InputSignal<KbqFilter[]>;
|
|
220
492
|
/** Event that is generated whenever the user selects a filter. */
|
|
221
|
-
readonly onSelectFilter:
|
|
222
|
-
/**
|
|
223
|
-
|
|
493
|
+
readonly onSelectFilter: _angular_core.OutputEmitterRef<KbqFilter>;
|
|
494
|
+
/**
|
|
495
|
+
* Event that is generated whenever the user save a filter.
|
|
496
|
+
*
|
|
497
|
+
* The emitted `filter` shares its pipe objects with the live filter by design (so the rendered pipes keep
|
|
498
|
+
* their identity across a save instead of being destroyed and recreated). Consumers that persist
|
|
499
|
+
* `event.filter` as an immutable record should snapshot it first (e.g. via `KbqFilterBar.saveFilterState`
|
|
500
|
+
* or a structural copy) — otherwise later in-place pipe edits will mutate the stored reference.
|
|
501
|
+
*/
|
|
502
|
+
readonly onSave: _angular_core.OutputEmitterRef<KbqSaveFilterEvent>;
|
|
224
503
|
/** Event that is generated whenever the user change a filter. */
|
|
225
|
-
readonly onChangeFilter:
|
|
504
|
+
readonly onChangeFilter: _angular_core.OutputEmitterRef<KbqSaveFilterEvent>;
|
|
226
505
|
/** Event that is generated whenever the user remove a filter. */
|
|
227
|
-
readonly onRemoveFilter:
|
|
506
|
+
readonly onRemoveFilter: _angular_core.OutputEmitterRef<KbqFilter>;
|
|
228
507
|
/** Event that is generated whenever the user reset a filter changes. */
|
|
229
|
-
readonly onResetFilterChanges:
|
|
230
|
-
/** header of popover. Depends on the mode */
|
|
231
|
-
get popoverHeader(): string;
|
|
508
|
+
readonly onResetFilterChanges: _angular_core.OutputEmitterRef<KbqFilter | null>;
|
|
232
509
|
/** Component state. true if opened dropdown or popup */
|
|
233
510
|
get opened(): boolean;
|
|
234
511
|
/** Component state. true if opened dropdown or popup of filterActions */
|
|
235
512
|
get filterActionsOpened(): boolean;
|
|
236
|
-
/** Selected filter */
|
|
513
|
+
/** Selected filter. Kept as a plain getter facade over the bar's `filter` model. */
|
|
237
514
|
get filter(): KbqFilter | null;
|
|
238
515
|
/** Component state. True if 'filters' input contains no elements. */
|
|
239
516
|
get isEmpty(): boolean;
|
|
240
517
|
/** localized data
|
|
241
518
|
* @docs-private */
|
|
242
|
-
get localeData():
|
|
519
|
+
get localeData(): {
|
|
520
|
+
defaultName: string;
|
|
521
|
+
saveNewFilterTooltip: string;
|
|
522
|
+
searchPlaceholder: string;
|
|
523
|
+
searchEmptyResult: string;
|
|
524
|
+
saveAsNewFilter: string;
|
|
525
|
+
saveChanges: string;
|
|
526
|
+
saveAsNew: string;
|
|
527
|
+
change: string;
|
|
528
|
+
resetChanges: string;
|
|
529
|
+
remove: string;
|
|
530
|
+
name: string;
|
|
531
|
+
error: string;
|
|
532
|
+
errorHint: string;
|
|
533
|
+
saveButton: string;
|
|
534
|
+
cancelButton: string;
|
|
535
|
+
actionsTooltip: string;
|
|
536
|
+
};
|
|
243
537
|
/** Current focus origin state.
|
|
244
538
|
* @docs-private */
|
|
245
539
|
get focusOrigin(): FocusOrigin;
|
|
246
540
|
private _focusOrigin;
|
|
247
541
|
private focusedElementBeforeOpen;
|
|
248
|
-
constructor();
|
|
249
542
|
ngOnInit(): void;
|
|
250
543
|
/** @docs-private */
|
|
251
544
|
focusedElementBeforeIs(button: KbqButton): boolean;
|
|
252
545
|
selectFilter(filter: KbqFilter): void;
|
|
253
546
|
saveChanges(): void;
|
|
254
|
-
saveAsNew(event?: Event): void;
|
|
255
|
-
showError(error?: KbqSaveFilterError): void;
|
|
256
547
|
restoreFocus(): void;
|
|
257
|
-
preparePopover(): void;
|
|
258
|
-
openSaveAsNewFilterPopover(): void;
|
|
259
|
-
openChangeFilterNamePopover(): void;
|
|
260
548
|
/** @docs-private */
|
|
261
549
|
saveFocusedElement(button?: KbqButton): void;
|
|
262
|
-
|
|
550
|
+
/** Restore focus when the save popover reports it closed. @docs-private */
|
|
551
|
+
onSavePopoverClosed(restoreFocus: boolean): void;
|
|
263
552
|
/** @docs-private */
|
|
264
553
|
stopEventPropagation(event: Event): void;
|
|
265
554
|
/** @docs-private */
|
|
@@ -273,64 +562,140 @@ declare class KbqFilters implements OnInit {
|
|
|
273
562
|
filterSavedSuccessfully(): void;
|
|
274
563
|
/** Shows an error. Use this method in the onSave or onChangeFilter events if saving data failed. */
|
|
275
564
|
filterSavedUnsuccessfully(error?: KbqSaveFilterError): void;
|
|
565
|
+
/** @docs-private */
|
|
566
|
+
get filterName(): FormControl<string | null>;
|
|
567
|
+
/** @docs-private */
|
|
568
|
+
get saveNewFilter(): boolean;
|
|
569
|
+
/** @docs-private */
|
|
570
|
+
set saveNewFilter(value: boolean);
|
|
571
|
+
/** @docs-private */
|
|
572
|
+
get isSaving(): boolean;
|
|
573
|
+
/** @docs-private */
|
|
574
|
+
set isSaving(value: boolean);
|
|
575
|
+
/** @docs-private */
|
|
576
|
+
get showFilterSavingError(): boolean;
|
|
577
|
+
/** @docs-private */
|
|
578
|
+
set showFilterSavingError(value: boolean);
|
|
579
|
+
/** @docs-private */
|
|
580
|
+
get filterSavingErrorText(): string;
|
|
581
|
+
/** header of popover. Depends on the mode
|
|
582
|
+
* @docs-private */
|
|
583
|
+
get popoverHeader(): string;
|
|
584
|
+
/** @docs-private */
|
|
585
|
+
openSaveAsNewFilterPopover(): void;
|
|
586
|
+
/** @docs-private */
|
|
587
|
+
openChangeFilterNamePopover(): void;
|
|
588
|
+
/** @docs-private */
|
|
589
|
+
saveAsNew(event?: Event): void;
|
|
590
|
+
/** @docs-private */
|
|
591
|
+
showError(error?: KbqSaveFilterError): void;
|
|
592
|
+
/** @docs-private */
|
|
593
|
+
closePopover(restoreFocus?: boolean): void;
|
|
276
594
|
private getFilteredOptions;
|
|
277
|
-
static ɵfac:
|
|
278
|
-
static ɵcmp:
|
|
595
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilters, never>;
|
|
596
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilters, "kbq-filters", ["kbqFilters"], { "filters": { "alias": "filters"; "required": true; "isSignal": true; }; }, { "onSelectFilter": "onSelectFilter"; "onSave": "onSave"; "onChangeFilter": "onChangeFilter"; "onRemoveFilter": "onRemoveFilter"; "onResetFilterChanges": "onResetFilterChanges"; }, never, ["*"], true, never>;
|
|
279
597
|
}
|
|
280
598
|
|
|
281
|
-
declare class KbqFilterBar {
|
|
599
|
+
declare class KbqFilterBar implements KbqFilterBarHost {
|
|
282
600
|
/** @docs-private */
|
|
283
601
|
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
284
602
|
/** @docs-private */
|
|
285
603
|
protected readonly localeService: _koobiq_components_core.KbqLocaleService | null;
|
|
286
|
-
readonly externalConfiguration:
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
604
|
+
readonly externalConfiguration: {
|
|
605
|
+
reset: {
|
|
606
|
+
buttonName: string;
|
|
607
|
+
};
|
|
608
|
+
search: {
|
|
609
|
+
tooltip: string;
|
|
610
|
+
placeholder: string;
|
|
611
|
+
};
|
|
612
|
+
filters: {
|
|
613
|
+
defaultName: string;
|
|
614
|
+
saveNewFilterTooltip: string;
|
|
615
|
+
searchPlaceholder: string;
|
|
616
|
+
searchEmptyResult: string;
|
|
617
|
+
saveAsNewFilter: string;
|
|
618
|
+
saveChanges: string;
|
|
619
|
+
saveAsNew: string;
|
|
620
|
+
change: string;
|
|
621
|
+
resetChanges: string;
|
|
622
|
+
remove: string;
|
|
623
|
+
name: string;
|
|
624
|
+
error: string;
|
|
625
|
+
errorHint: string;
|
|
626
|
+
saveButton: string;
|
|
627
|
+
cancelButton: string;
|
|
628
|
+
actionsTooltip: string;
|
|
629
|
+
};
|
|
630
|
+
add: {
|
|
631
|
+
tooltip: string;
|
|
632
|
+
addedAnnouncement: string;
|
|
633
|
+
};
|
|
634
|
+
refresher: {
|
|
635
|
+
refresh: string;
|
|
636
|
+
settings: string;
|
|
637
|
+
};
|
|
638
|
+
pipe: {
|
|
639
|
+
clearButtonTooltip: string;
|
|
640
|
+
removeButtonTooltip: string;
|
|
641
|
+
applyButton: string;
|
|
642
|
+
emptySearchResult: string;
|
|
643
|
+
selectAll: string;
|
|
644
|
+
};
|
|
645
|
+
datePipe: {
|
|
646
|
+
customPeriod: string;
|
|
647
|
+
customPeriodFrom: string;
|
|
648
|
+
customPeriodTo: string;
|
|
649
|
+
customPeriodErrorHint: string;
|
|
650
|
+
backToPeriodSelection: string;
|
|
651
|
+
};
|
|
652
|
+
} | null;
|
|
653
|
+
/** Localized strings and configuration for the filter-bar and its pipes. */
|
|
654
|
+
configuration: KbqFilterBarConfiguration;
|
|
655
|
+
/** @docs-private */
|
|
656
|
+
readonly filters: _angular_core.Signal<KbqFilters | undefined>;
|
|
657
|
+
/** @docs-private */
|
|
658
|
+
readonly filterReset: _angular_core.Signal<KbqFilterReset | undefined>;
|
|
292
659
|
/**
|
|
293
660
|
* This is special logic that unselect all items when all selected because "all selected = nothing selected".
|
|
294
661
|
* Default is true
|
|
295
662
|
* */
|
|
296
|
-
readonly selectedAllEqualsSelectedNothing:
|
|
297
|
-
/** Filter that is currently selected */
|
|
298
|
-
get filter(): KbqFilter | null;
|
|
299
|
-
set filter(value: KbqFilter | null);
|
|
300
|
-
private _filter;
|
|
301
|
-
/** An array of templates that are used when adding a pipe. Also contains lists of options to select (values). */
|
|
302
|
-
get pipeTemplates(): KbqPipeTemplate[];
|
|
303
|
-
set pipeTemplates(value: KbqPipeTemplate[]);
|
|
304
|
-
private _templates;
|
|
663
|
+
readonly selectedAllEqualsSelectedNothing: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
305
664
|
/**
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
665
|
+
* Filter that is currently selected. A two-way-bindable `model()`: derived state (`isSaved`/`isChanged`/…)
|
|
666
|
+
* is exposed via `computed()` off it and change detection is driven by signal reactivity. `model()`
|
|
667
|
+
* auto-provides the `filterChange` output for `[(filter)]` two-way binding.
|
|
309
668
|
*/
|
|
310
|
-
readonly
|
|
669
|
+
readonly filter: _angular_core.ModelSignal<KbqFilter | null>;
|
|
670
|
+
/** An array of templates that are used when adding a pipe. Also contains lists of options to select (values). */
|
|
671
|
+
readonly pipeTemplates: _angular_core.InputSignal<KbqPipeTemplate[]>;
|
|
311
672
|
/** Event that emits whenever the value of the pipe changes. */
|
|
312
|
-
readonly onChangePipe:
|
|
673
|
+
readonly onChangePipe: _angular_core.OutputEmitterRef<KbqPipe>;
|
|
313
674
|
/** Event that emits whenever the pipe deleted. */
|
|
314
|
-
readonly onRemovePipe:
|
|
675
|
+
readonly onRemovePipe: _angular_core.OutputEmitterRef<KbqPipe>;
|
|
315
676
|
/** Event that emits whenever the pipe cleared. */
|
|
316
|
-
readonly onClearPipe:
|
|
677
|
+
readonly onClearPipe: _angular_core.OutputEmitterRef<KbqPipe>;
|
|
317
678
|
/** Event that emits whenever the select or multiselect pipe closed. */
|
|
318
|
-
readonly onClosePipe:
|
|
319
|
-
/** Whether the current filter is saved and changed */
|
|
320
|
-
get isSavedAndChanged(): boolean;
|
|
679
|
+
readonly onClosePipe: _angular_core.OutputEmitterRef<KbqPipe>;
|
|
321
680
|
/** Whether the current filter is saved */
|
|
322
|
-
|
|
681
|
+
readonly isSaved: _angular_core.Signal<boolean>;
|
|
323
682
|
/** Whether the current filter is changed */
|
|
324
|
-
|
|
683
|
+
readonly isChanged: _angular_core.Signal<boolean>;
|
|
684
|
+
/** Whether the current filter is saved and changed */
|
|
685
|
+
readonly isSavedAndChanged: _angular_core.Signal<boolean>;
|
|
325
686
|
/** Whether the current filter is readonly */
|
|
326
|
-
|
|
687
|
+
readonly isReadOnly: _angular_core.Signal<boolean>;
|
|
327
688
|
/** Whether the current filter is disabled */
|
|
328
|
-
|
|
689
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
329
690
|
private savedFilter;
|
|
691
|
+
/**
|
|
692
|
+
* All changes.
|
|
693
|
+
* @deprecated noop. Reactivity is driven by the `filter` signal now; this never emits and will be
|
|
694
|
+
* removed in the next major.
|
|
695
|
+
*/
|
|
696
|
+
readonly changes: BehaviorSubject<void>;
|
|
330
697
|
/** Event that emits whenever the filter is reset. */
|
|
331
698
|
readonly onResetFilter: BehaviorSubject<boolean>;
|
|
332
|
-
/** all changes */
|
|
333
|
-
readonly changes: BehaviorSubject<void>;
|
|
334
699
|
/** internal filter changes */
|
|
335
700
|
readonly internalFilterChanges: BehaviorSubject<KbqFilter | null>;
|
|
336
701
|
/** internal changes in templates */
|
|
@@ -341,48 +706,118 @@ declare class KbqFilterBar {
|
|
|
341
706
|
constructor();
|
|
342
707
|
/** Remove pipe from current filter and emit event */
|
|
343
708
|
removePipe(pipe: KbqPipe): void;
|
|
344
|
-
/**
|
|
709
|
+
/**
|
|
710
|
+
* Save current state of filter.
|
|
711
|
+
*
|
|
712
|
+
* Deep-clones the filter via `structuredClone`, so any pipe `value` payload handed to save/restore must be
|
|
713
|
+
* structured-cloneable (plain data — no functions, DOM nodes, class instances or `TemplateRef`s), otherwise
|
|
714
|
+
* `structuredClone` throws `DataCloneError`. All built-in pipes produce cloneable values.
|
|
715
|
+
*/
|
|
345
716
|
saveFilterState(filter?: KbqFilter): void;
|
|
346
|
-
/**
|
|
717
|
+
/**
|
|
718
|
+
* Restore previously saved filter state.
|
|
719
|
+
*
|
|
720
|
+
* @see `saveFilterState` — pipe `value` payloads must be structured-cloneable.
|
|
721
|
+
*/
|
|
347
722
|
restoreFilterState(filter?: KbqFilter): void;
|
|
348
723
|
/** Set the filter state "changed" to false */
|
|
349
724
|
resetFilterChangedState(): void;
|
|
350
725
|
private updateLocaleParams;
|
|
351
726
|
private initDefaultParams;
|
|
352
|
-
static ɵfac:
|
|
353
|
-
static ɵcmp:
|
|
727
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterBar, never>;
|
|
728
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterBar, "kbq-filter-bar, [kbq-filter-bar]", never, { "selectedAllEqualsSelectedNothing": { "alias": "selectedAllEqualsSelectedNothing"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "pipeTemplates": { "alias": "pipeTemplates"; "required": false; "isSignal": true; }; }, { "filter": "filterChange"; "onChangePipe": "onChangePipe"; "onRemovePipe": "onRemovePipe"; "onClearPipe": "onClearPipe"; "onClosePipe": "onClosePipe"; }, ["filters", "filterReset"], ["kbq-filters", "*", "kbq-pipe-add", "kbq-filter-reset", "kbq-search-expandable", "kbq-filter-refresher, [kbq-filter-refresher]"], true, never>;
|
|
354
729
|
}
|
|
355
730
|
|
|
356
731
|
declare class KbqFilterBarButton {
|
|
357
732
|
private readonly button;
|
|
358
|
-
/** KbqFilterBar
|
|
733
|
+
/** KbqFilterBar host seam */
|
|
359
734
|
private readonly filterBar;
|
|
360
735
|
/** KbqFilters instance */
|
|
361
736
|
protected readonly filters: KbqFilters;
|
|
362
737
|
constructor();
|
|
363
738
|
/** @docs-private */
|
|
364
739
|
saveFocusedElement(): void;
|
|
365
|
-
static ɵfac:
|
|
366
|
-
static ɵdir:
|
|
740
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterBarButton, never>;
|
|
741
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqFilterBarButton, "[kbqFilterBarButton]", never, {}, {}, never, never, true, never>;
|
|
367
742
|
}
|
|
368
743
|
|
|
369
|
-
declare class
|
|
370
|
-
|
|
371
|
-
|
|
744
|
+
declare class KbqFilterRefresher {
|
|
745
|
+
/** KbqFilterBar host seam */
|
|
746
|
+
private readonly filterBar;
|
|
747
|
+
/** localized data
|
|
748
|
+
* @docs-private */
|
|
749
|
+
protected get localeData(): {
|
|
750
|
+
reset: {
|
|
751
|
+
buttonName: string;
|
|
752
|
+
};
|
|
753
|
+
search: {
|
|
754
|
+
tooltip: string;
|
|
755
|
+
placeholder: string;
|
|
756
|
+
};
|
|
757
|
+
filters: {
|
|
758
|
+
defaultName: string;
|
|
759
|
+
saveNewFilterTooltip: string;
|
|
760
|
+
searchPlaceholder: string;
|
|
761
|
+
searchEmptyResult: string;
|
|
762
|
+
saveAsNewFilter: string;
|
|
763
|
+
saveChanges: string;
|
|
764
|
+
saveAsNew: string;
|
|
765
|
+
change: string;
|
|
766
|
+
resetChanges: string;
|
|
767
|
+
remove: string;
|
|
768
|
+
name: string;
|
|
769
|
+
error: string;
|
|
770
|
+
errorHint: string;
|
|
771
|
+
saveButton: string;
|
|
772
|
+
cancelButton: string;
|
|
773
|
+
actionsTooltip: string;
|
|
774
|
+
};
|
|
775
|
+
add: {
|
|
776
|
+
tooltip: string;
|
|
777
|
+
addedAnnouncement: string;
|
|
778
|
+
};
|
|
779
|
+
refresher: {
|
|
780
|
+
refresh: string;
|
|
781
|
+
settings: string;
|
|
782
|
+
};
|
|
783
|
+
pipe: {
|
|
784
|
+
clearButtonTooltip: string;
|
|
785
|
+
removeButtonTooltip: string;
|
|
786
|
+
applyButton: string;
|
|
787
|
+
emptySearchResult: string;
|
|
788
|
+
selectAll: string;
|
|
789
|
+
};
|
|
790
|
+
datePipe: {
|
|
791
|
+
customPeriod: string;
|
|
792
|
+
customPeriodFrom: string;
|
|
793
|
+
customPeriodTo: string;
|
|
794
|
+
customPeriodErrorHint: string;
|
|
795
|
+
backToPeriodSelection: string;
|
|
796
|
+
};
|
|
797
|
+
};
|
|
798
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterRefresher, never>;
|
|
799
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqFilterRefresher, "kbq-filter-refresher, [kbq-filter-refresher]", never, {}, {}, never, never, true, never>;
|
|
372
800
|
}
|
|
373
801
|
|
|
374
802
|
declare class KbqPipeAdd {
|
|
375
803
|
/** KbqFilterBar instance */
|
|
376
|
-
protected readonly filterBar:
|
|
804
|
+
protected readonly filterBar: KbqFilterBarHost;
|
|
377
805
|
/** @docs-private */
|
|
378
|
-
readonly select:
|
|
806
|
+
readonly select: _angular_core.Signal<KbqSelect>;
|
|
379
807
|
/** Event that is generated after add pipe. */
|
|
380
|
-
readonly onAddPipe:
|
|
808
|
+
readonly onAddPipe: _angular_core.OutputEmitterRef<KbqPipeTemplate>;
|
|
381
809
|
/** template of filter */
|
|
382
|
-
readonly filterTemplate:
|
|
383
|
-
/**
|
|
384
|
-
|
|
385
|
-
|
|
810
|
+
readonly filterTemplate: _angular_core.InputSignal<KbqFilter>;
|
|
811
|
+
/**
|
|
812
|
+
* Ids of the pipes already added to the current filter. Used to open an already-added pipe.
|
|
813
|
+
* Derived from the `filter` signal so it stays in sync without the retired `changes` bus.
|
|
814
|
+
*/
|
|
815
|
+
readonly addedPipes: _angular_core.Signal<(string | number | (string & {}))[]>;
|
|
816
|
+
/**
|
|
817
|
+
* Visually-hidden live-region text announcing a newly-added pipe to assistive tech (WCAG 4.1.3).
|
|
818
|
+
* @docs-private
|
|
819
|
+
*/
|
|
820
|
+
protected readonly announcement: _angular_core.WritableSignal<string>;
|
|
386
821
|
addPipeFromTemplate(option: KbqOption): void;
|
|
387
822
|
/**
|
|
388
823
|
* Function to compare the option values with the selected values. The first argument
|
|
@@ -390,135 +825,45 @@ declare class KbqPipeAdd {
|
|
|
390
825
|
* should be returned.
|
|
391
826
|
*/
|
|
392
827
|
compareWith(o1: KbqPipe, o2: string): boolean;
|
|
393
|
-
static ɵfac:
|
|
394
|
-
static ɵcmp:
|
|
828
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeAdd, never>;
|
|
829
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeAdd, "kbq-pipe-add", never, { "filterTemplate": { "alias": "filterTemplate"; "required": false; "isSignal": true; }; }, { "onAddPipe": "onAddPipe"; }, never, never, true, never>;
|
|
395
830
|
}
|
|
396
831
|
|
|
397
832
|
declare class KbqPipeDirective<T extends KbqPipe> implements AfterContentInit {
|
|
398
833
|
private injector;
|
|
399
834
|
private pipes;
|
|
400
835
|
private viewContainerRef;
|
|
401
|
-
readonly pipe:
|
|
836
|
+
readonly pipe: _angular_core.InputSignal<T>;
|
|
402
837
|
ngAfterContentInit(): void;
|
|
403
838
|
private getInjector;
|
|
404
|
-
static ɵfac:
|
|
405
|
-
static ɵdir:
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
/** Injection Token for providing configuration of filter-bar */
|
|
409
|
-
declare const KBQ_PIPE_DATA: InjectionToken<unknown>;
|
|
410
|
-
/** function to get unique identifier of an element */
|
|
411
|
-
declare function getId(item: KbqPipeTemplate): KbqPipeType | string | number;
|
|
412
|
-
declare abstract class KbqBasePipe<V> implements AfterViewInit {
|
|
413
|
-
/** changes of state */
|
|
414
|
-
readonly stateChanges: Subject<void>;
|
|
415
|
-
/** pipe data. Provided from subclass */
|
|
416
|
-
readonly data: KbqPipeData<V>;
|
|
417
|
-
/** KbqFilterBar instance
|
|
418
|
-
* @docs-private */
|
|
419
|
-
protected readonly filterBar: KbqFilterBar | null;
|
|
420
|
-
/** @docs-private */
|
|
421
|
-
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
422
|
-
/** @docs-private */
|
|
423
|
-
protected readonly destroyRef: DestroyRef;
|
|
424
|
-
/** values to select from the pipe template */
|
|
425
|
-
protected values: any;
|
|
426
|
-
/** TemplateRef for selecting an option */
|
|
427
|
-
protected valueTemplate?: TemplateRef<any> | string;
|
|
428
|
-
/**
|
|
429
|
-
* Whether the current platform is a Mac.
|
|
430
|
-
*
|
|
431
|
-
* @docs-private
|
|
432
|
-
*/
|
|
433
|
-
isMac: boolean;
|
|
434
|
-
/** Data for the pipe.
|
|
435
|
-
* @docs-private */
|
|
436
|
-
$implicit: unknown;
|
|
437
|
-
/** Whether the current pipe is empty. Used for apply style modifier */
|
|
438
|
-
get isEmpty(): boolean;
|
|
439
|
-
/** Whether the current pipe is removable or cleanable. Used for apply style modifier */
|
|
440
|
-
get showRemoveButton(): boolean;
|
|
441
|
-
/** localized data
|
|
442
|
-
* @docs-private */
|
|
443
|
-
get localeData(): any;
|
|
444
|
-
constructor();
|
|
445
|
-
ngAfterViewInit(): void;
|
|
446
|
-
/** templateRef checker utility */
|
|
447
|
-
isTemplateRef(value: unknown): boolean;
|
|
448
|
-
/** updates values for selection and value template */
|
|
449
|
-
updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
|
|
450
|
-
/** removes pipe from filter-bar and triggers changes */
|
|
451
|
-
onRemove(): void;
|
|
452
|
-
/** clears the pipe and triggers changes */
|
|
453
|
-
onClear(): void;
|
|
454
|
-
/** @docs-private */
|
|
455
|
-
abstract open(): void;
|
|
456
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqBasePipe<any>, never>;
|
|
457
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqBasePipe<any>, never, never, {}, {}, never, never, true, never>;
|
|
458
|
-
}
|
|
459
|
-
declare class KbqPipeMinWidth {
|
|
460
|
-
/** KbqFilterBar instance */
|
|
461
|
-
protected readonly filterBar: KbqFilterBar | null;
|
|
462
|
-
/** @docs-private */
|
|
463
|
-
protected readonly elementRef: ElementRef<HTMLElement>;
|
|
464
|
-
/** @docs-private */
|
|
465
|
-
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
466
|
-
/** @docs-private */
|
|
467
|
-
protected minWidth: string;
|
|
468
|
-
/** maximal symbols for apply fit-content to min-width */
|
|
469
|
-
maxSymbolsForFitContent: number;
|
|
470
|
-
/** current length of text */
|
|
471
|
-
get textLength(): number;
|
|
472
|
-
constructor();
|
|
473
|
-
update: () => void;
|
|
474
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeMinWidth, never>;
|
|
475
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPipeMinWidth, "[kbqPipeMinWidth]", never, {}, {}, never, never, true, never>;
|
|
839
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeDirective<any>, never>;
|
|
840
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPipeDirective<any>, "[kbqPipe]", never, { "pipe": { "alias": "kbqPipe"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
476
841
|
}
|
|
477
842
|
|
|
478
843
|
declare class KbqPipeButton {
|
|
479
844
|
/** KbqPipe instance */
|
|
480
845
|
protected readonly pipe: KbqBasePipe<any>;
|
|
481
846
|
/** KbqFilterBar instance */
|
|
482
|
-
protected readonly filterBar:
|
|
847
|
+
protected readonly filterBar: KbqFilterBarHost;
|
|
483
848
|
/** @docs-private */
|
|
484
849
|
protected readonly changeDetectorRef: ChangeDetectorRef;
|
|
485
850
|
/** enables/disables read-only state */
|
|
486
|
-
readonly readonly:
|
|
851
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
487
852
|
/** localized data
|
|
488
853
|
* @docs-private */
|
|
489
|
-
get localeData():
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
private componentInstance;
|
|
497
|
-
get isOverflown(): boolean;
|
|
498
|
-
readonly viewValue: i0.InputSignal<TemplateRef<any>>;
|
|
499
|
-
get parent(): HTMLElement;
|
|
500
|
-
get child(): HTMLElement;
|
|
501
|
-
readonly resizeStream: Subject<Event>;
|
|
502
|
-
private readonly debounceInterval;
|
|
503
|
-
private resizeSubscription;
|
|
504
|
-
private mutationSubscription;
|
|
505
|
-
private focusMonitorSubscription;
|
|
506
|
-
private childContainer;
|
|
507
|
-
private parentContainer;
|
|
854
|
+
get localeData(): {
|
|
855
|
+
clearButtonTooltip: string;
|
|
856
|
+
removeButtonTooltip: string;
|
|
857
|
+
applyButton: string;
|
|
858
|
+
emptySearchResult: string;
|
|
859
|
+
selectAll: string;
|
|
860
|
+
};
|
|
508
861
|
constructor();
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
handleElementEnter(): void;
|
|
512
|
-
hideTooltip(): void;
|
|
513
|
-
private listenToMutationObserver;
|
|
514
|
-
private createMutationObserver;
|
|
515
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeTitleDirective, never>;
|
|
516
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<KbqPipeTitleDirective, "[kbqPipeTitle]", ["kbqPipeTitle"], { "viewValue": { "alias": "kbqPipeTitle"; "required": false; "isSignal": true; }; }, {}, ["parentContainer", "childContainer"], never, true, never>;
|
|
862
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeButton, never>;
|
|
863
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeButton, "kbq-pipe-button", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
517
864
|
}
|
|
518
865
|
|
|
519
|
-
declare class KbqPipeState<T>
|
|
520
|
-
/** @docs-private */
|
|
521
|
-
private readonly destroyRef;
|
|
866
|
+
declare class KbqPipeState<T> {
|
|
522
867
|
/** @docs-private */
|
|
523
868
|
private readonly button;
|
|
524
869
|
/** @docs-private */
|
|
@@ -526,25 +871,29 @@ declare class KbqPipeState<T> implements OnInit {
|
|
|
526
871
|
/** KbqFilterBar instance
|
|
527
872
|
* @docs-private */
|
|
528
873
|
private readonly filterBar;
|
|
529
|
-
/**
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
private _state;
|
|
533
|
-
ngOnInit(): void;
|
|
874
|
+
/** Pipe state used to calculate/update the button style. */
|
|
875
|
+
readonly state: _angular_core.InputSignal<T | null>;
|
|
876
|
+
constructor();
|
|
534
877
|
private updateState;
|
|
535
|
-
static ɵfac:
|
|
536
|
-
static ɵdir:
|
|
878
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeState<any>, never>;
|
|
879
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPipeState<any>, "[kbqPipeState]", never, { "state": { "alias": "kbqPipeState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
537
880
|
}
|
|
538
881
|
|
|
539
882
|
declare class KbqFilterBarModule {
|
|
540
|
-
static ɵfac:
|
|
541
|
-
static ɵmod:
|
|
542
|
-
static ɵinj:
|
|
883
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqFilterBarModule, never>;
|
|
884
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<KbqFilterBarModule, never, [typeof KbqFilterBar, typeof KbqFilters, typeof KbqFilterRefresher, typeof KbqFilterBarButton, typeof KbqFilterReset, typeof KbqPipeAdd, typeof KbqPipeDirective, typeof KbqPipeButton, typeof KbqPipeState], [typeof KbqFilterBar, typeof KbqFilters, typeof KbqFilterRefresher, typeof KbqFilterBarButton, typeof KbqFilterReset, typeof KbqPipeAdd, typeof KbqPipeDirective, typeof KbqPipeButton, typeof KbqPipeState]>;
|
|
885
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<KbqFilterBarModule>;
|
|
543
886
|
}
|
|
544
887
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
888
|
+
/**
|
|
889
|
+
* Shared implementation for the `date` and `datetime` pipes. The two pipes differ only in how a range
|
|
890
|
+
* is formatted and in their default start/end values, exposed here as the {@link formatRange},
|
|
891
|
+
* {@link getDefaultStart} and {@link getDefaultEnd} hooks. Everything else — the period list / custom
|
|
892
|
+
* period flow, calendar handling and form group — is common.
|
|
893
|
+
*/
|
|
894
|
+
declare abstract class KbqPipeDateBaseComponent<D> extends KbqBasePipe<KbqDateTimeValue> implements AfterViewInit {
|
|
895
|
+
protected readonly adapter: DateAdapter<any>;
|
|
896
|
+
protected readonly formatter: DateFormatter<any>;
|
|
548
897
|
/** @docs-private */
|
|
549
898
|
protected readonly placements: typeof PopUpPlacements;
|
|
550
899
|
/** @docs-private */
|
|
@@ -559,63 +908,12 @@ declare class KbqPipeDateComponent<D> extends KbqBasePipe<KbqDateTimeValue> impl
|
|
|
559
908
|
protected showStartCalendar: boolean;
|
|
560
909
|
/** @docs-private */
|
|
561
910
|
protected showEndCalendar: boolean;
|
|
562
|
-
/** formatted value for period */
|
|
563
|
-
get formattedValue(): string;
|
|
564
|
-
/** Whether the current pipe is disabled. */
|
|
565
|
-
get disabled(): boolean;
|
|
566
|
-
/** parsed start */
|
|
567
|
-
get start(): D;
|
|
568
|
-
/** default object for start */
|
|
569
|
-
get defaultStart(): D;
|
|
570
|
-
/** parsed end */
|
|
571
|
-
get end(): D;
|
|
572
|
-
/** default object for end */
|
|
573
|
-
get defaultEnd(): D;
|
|
574
|
-
/** Whether the current pipe is empty. */
|
|
575
|
-
get isEmpty(): boolean;
|
|
576
|
-
/** @docs-private */
|
|
577
|
-
readonly popover: i0.Signal<KbqPopoverTrigger>;
|
|
578
|
-
/** @docs-private */
|
|
579
|
-
listSelection: i0.Signal<KbqListSelection>;
|
|
580
|
-
/** @docs-private */
|
|
581
|
-
returnButton: i0.Signal<KbqButton>;
|
|
582
|
-
ngAfterViewInit(): void;
|
|
583
|
-
/** keydown handler
|
|
584
|
-
* @docs-private */
|
|
585
|
-
onKeydown($event: KeyboardEvent): void;
|
|
586
|
-
onApplyPeriod(): void;
|
|
587
|
-
onSelect(item: KbqDateTimeValue): void;
|
|
588
|
-
showPeriod(): void;
|
|
589
|
-
showList(): void;
|
|
590
|
-
/** opens popover */
|
|
591
|
-
open(): void;
|
|
592
|
-
onSelectStartDate(value: D): void;
|
|
593
|
-
onSelectEndDate(value: D): void;
|
|
594
|
-
onFocusStartInput(): void;
|
|
595
|
-
onFocusEndInput(): void;
|
|
596
|
-
hideCalendars(): void;
|
|
597
|
-
private initFormGroup;
|
|
598
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeDateComponent<any>, never>;
|
|
599
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeDateComponent<any>, "kbq-pipe-date", never, {}, {}, never, never, true, never>;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTimeValue> implements AfterViewInit {
|
|
603
|
-
private readonly adapter;
|
|
604
|
-
private readonly formatter;
|
|
605
|
-
/** @docs-private */
|
|
606
|
-
protected readonly placements: typeof PopUpPlacements;
|
|
607
911
|
/** @docs-private */
|
|
608
|
-
|
|
609
|
-
/** @docs-private */
|
|
610
|
-
protected readonly colors: typeof KbqComponentColors;
|
|
611
|
-
/** Whether the current state is list of periods. When false will displayed control for set custom period */
|
|
612
|
-
protected isListMode: boolean;
|
|
613
|
-
/** @docs-private */
|
|
614
|
-
protected formGroup: FormGroup;
|
|
912
|
+
readonly popover: _angular_core.Signal<KbqPopoverTrigger>;
|
|
615
913
|
/** @docs-private */
|
|
616
|
-
|
|
914
|
+
readonly listSelection: _angular_core.Signal<KbqListSelection | undefined>;
|
|
617
915
|
/** @docs-private */
|
|
618
|
-
|
|
916
|
+
readonly returnButton: _angular_core.Signal<KbqButton>;
|
|
619
917
|
/** formatted value for period */
|
|
620
918
|
get formattedValue(): string;
|
|
621
919
|
/** Whether the current pipe is disabled. */
|
|
@@ -630,17 +928,10 @@ declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTimeValue>
|
|
|
630
928
|
get defaultEnd(): D;
|
|
631
929
|
/** Whether the current pipe is empty. */
|
|
632
930
|
get isEmpty(): boolean;
|
|
633
|
-
/** @docs-private */
|
|
634
|
-
readonly popover: i0.Signal<KbqPopoverTrigger>;
|
|
635
|
-
/** @docs-private */
|
|
636
|
-
listSelection: i0.Signal<KbqListSelection>;
|
|
637
|
-
/** @docs-private */
|
|
638
|
-
returnButton: i0.Signal<KbqButton>;
|
|
639
931
|
ngAfterViewInit(): void;
|
|
640
932
|
/** keydown handler
|
|
641
933
|
* @docs-private */
|
|
642
934
|
onKeydown($event: KeyboardEvent): void;
|
|
643
|
-
/** @docs-private */
|
|
644
935
|
onApplyPeriod(): void;
|
|
645
936
|
onSelect(item: KbqDateTimeValue): void;
|
|
646
937
|
showPeriod(): void;
|
|
@@ -652,20 +943,42 @@ declare class KbqPipeDatetimeComponent<D> extends KbqBasePipe<KbqDateTimeValue>
|
|
|
652
943
|
onFocusStartInput(): void;
|
|
653
944
|
onFocusEndInput(): void;
|
|
654
945
|
hideCalendars(): void;
|
|
946
|
+
/** Formats the selected range for display. */
|
|
947
|
+
protected abstract formatRange(start: D, end: D): string;
|
|
948
|
+
/** Default start value used when the pipe has no stored `start`. */
|
|
949
|
+
protected abstract getDefaultStart(): D;
|
|
950
|
+
/** Default end value used when the pipe has no stored `start`. */
|
|
951
|
+
protected abstract getDefaultEnd(): D;
|
|
655
952
|
private initFormGroup;
|
|
656
|
-
static ɵfac:
|
|
657
|
-
static
|
|
953
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeDateBaseComponent<any>, never>;
|
|
954
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqPipeDateBaseComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
declare class KbqPipeDateComponent<D> extends KbqPipeDateBaseComponent<D> {
|
|
958
|
+
protected formatRange(start: D, end: D): string;
|
|
959
|
+
protected getDefaultStart(): D;
|
|
960
|
+
protected getDefaultEnd(): D;
|
|
961
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeDateComponent<any>, never>;
|
|
962
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeDateComponent<any>, "kbq-pipe-date", never, {}, {}, never, never, true, never>;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
declare class KbqPipeDatetimeComponent<D> extends KbqPipeDateBaseComponent<D> {
|
|
966
|
+
protected formatRange(start: D, end: D): string;
|
|
967
|
+
protected getDefaultStart(): D;
|
|
968
|
+
protected getDefaultEnd(): D;
|
|
969
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeDatetimeComponent<any>, never>;
|
|
970
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeDatetimeComponent<any>, "kbq-pipe-datetime", never, {}, {}, never, never, true, never>;
|
|
658
971
|
}
|
|
659
972
|
|
|
660
973
|
declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]> implements AfterViewInit, OnInit {
|
|
661
974
|
/** control for search options */
|
|
662
|
-
searchControl:
|
|
975
|
+
readonly searchControl: FormControl<string | null>;
|
|
663
976
|
/** filtered by search options */
|
|
664
|
-
filteredOptions: Observable<
|
|
977
|
+
filteredOptions: Observable<KbqSelectValue[]>;
|
|
665
978
|
/** @docs-private */
|
|
666
|
-
readonly select:
|
|
979
|
+
readonly select: _angular_core.Signal<KbqSelect>;
|
|
667
980
|
/** @docs-private */
|
|
668
|
-
readonly options:
|
|
981
|
+
readonly options: _angular_core.Signal<readonly KbqOption[]>;
|
|
669
982
|
/** selected value */
|
|
670
983
|
get selected(): KbqSelectValue[] | null;
|
|
671
984
|
/** Whether the current pipe is empty. */
|
|
@@ -679,7 +992,7 @@ declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]>
|
|
|
679
992
|
get selectedAllEqualsSelectedNothing(): boolean;
|
|
680
993
|
private get visibleOptions();
|
|
681
994
|
private selectionAllInProgress;
|
|
682
|
-
private
|
|
995
|
+
private readonly multiSelect;
|
|
683
996
|
/** @docs-private */
|
|
684
997
|
ngOnInit(): void;
|
|
685
998
|
ngAfterViewInit(): void;
|
|
@@ -691,34 +1004,108 @@ declare class KbqPipeMultiSelectComponent extends KbqBasePipe<KbqSelectValue[]>
|
|
|
691
1004
|
toggleSelectionAllByEnterKey(): void;
|
|
692
1005
|
/** @docs-private */
|
|
693
1006
|
toggleSelectionAll(emitEvent?: boolean): void;
|
|
694
|
-
/** Comparator of selected options */
|
|
695
|
-
compareByValue: (o1:
|
|
1007
|
+
/** Comparator of selected options. Two null/absent values never match (aligned with the select pipe). */
|
|
1008
|
+
compareByValue: (o1: Pick<KbqSelectValue, "id"> | null, o2: Pick<KbqSelectValue, "id"> | null) => boolean;
|
|
696
1009
|
/** handler for select all options in select */
|
|
697
1010
|
selectAllHandler: (event: KeyboardEvent) => void;
|
|
698
1011
|
/** @docs-private */
|
|
699
1012
|
onClose(): void;
|
|
700
1013
|
/** opens select */
|
|
701
1014
|
open(): void;
|
|
702
|
-
private updateInternalSelected;
|
|
703
|
-
private emitChangePipeEvent;
|
|
704
1015
|
private getFilteredOptions;
|
|
705
|
-
static ɵfac:
|
|
706
|
-
static ɵcmp:
|
|
1016
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeMultiSelectComponent, never>;
|
|
1017
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeMultiSelectComponent, "kbq-pipe-multi-select", never, {}, {}, never, never, true, never>;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* Shared scaffolding for the tree-based select pipes (`kbq-pipe-tree-select`,
|
|
1022
|
+
* `kbq-pipe-multi-tree-select`): the flat-tree control / flattener / data source, the node accessors,
|
|
1023
|
+
* search-driven filtering and open handling. Subclasses provide the value-specific pieces (`selected`,
|
|
1024
|
+
* `isEmpty`, `onSelect`, `updateTemplates`).
|
|
1025
|
+
*
|
|
1026
|
+
* The `internalTemplatesChanges` subscription is intentionally left in each subclass constructor: it must
|
|
1027
|
+
* be set up after the subclass's `updateTemplates` field initializer runs, so the initial `BehaviorSubject`
|
|
1028
|
+
* replay dispatches to the subclass override (which writes `dataSource.data`) rather than the base one.
|
|
1029
|
+
*/
|
|
1030
|
+
declare abstract class KbqTreeSelectPipeBase<V> extends KbqBasePipe<V> implements OnInit, AfterViewInit {
|
|
1031
|
+
/** control for search options */
|
|
1032
|
+
readonly searchControl: FormControl<string | null>;
|
|
1033
|
+
treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
|
|
1034
|
+
treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
|
|
1035
|
+
dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
|
|
1036
|
+
/** @docs-private */
|
|
1037
|
+
readonly select: _angular_core.Signal<KbqTreeSelect>;
|
|
1038
|
+
constructor();
|
|
1039
|
+
ngOnInit(): void;
|
|
1040
|
+
ngAfterViewInit(): void;
|
|
1041
|
+
/** tree-node predicate: whether the node has children */
|
|
1042
|
+
hasChild(_: number, nodeData: KbqTreeSelectFlatNode): boolean;
|
|
1043
|
+
/** opens the tree-select panel */
|
|
1044
|
+
open(): void;
|
|
1045
|
+
/** @docs-private */
|
|
1046
|
+
onOpen(): void;
|
|
1047
|
+
protected transformer: (node: KbqTreeSelectNode, level: number, parent: KbqTreeSelectFlatNode | null) => KbqTreeSelectFlatNode;
|
|
1048
|
+
protected getLevel: (node: KbqTreeSelectFlatNode) => number;
|
|
1049
|
+
protected isExpandable: (node: KbqTreeSelectFlatNode) => boolean;
|
|
1050
|
+
protected getChildren: (node: KbqTreeSelectNode) => KbqTreeSelectNode[] | null;
|
|
1051
|
+
protected getValue: (node: KbqTreeSelectFlatNode) => unknown;
|
|
1052
|
+
protected getViewValue: (node: KbqTreeSelectFlatNode) => string;
|
|
1053
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqTreeSelectPipeBase<any>, never>;
|
|
1054
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KbqTreeSelectPipeBase<any>, never, never, {}, {}, never, never, true, never>;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
declare class KbqPipeMultiTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelectValue[]> implements OnInit {
|
|
1058
|
+
/** @docs-private */
|
|
1059
|
+
readonly tree: _angular_core.Signal<KbqTreeSelection>;
|
|
1060
|
+
/** selected value */
|
|
1061
|
+
get selected(): KbqSelectValue[] | null;
|
|
1062
|
+
/** Whether the current pipe is empty. */
|
|
1063
|
+
get isEmpty(): boolean;
|
|
1064
|
+
get selectAllCheckboxState(): KbqPseudoCheckboxState;
|
|
1065
|
+
get numberOfSelectedLeaves(): number;
|
|
1066
|
+
/** true if all options selected */
|
|
1067
|
+
get allOptionsSelected(): boolean;
|
|
1068
|
+
get selectedAllEqualsSelectedNothing(): boolean;
|
|
1069
|
+
/** true if all visible options selected */
|
|
1070
|
+
get allVisibleOptionsSelected(): boolean;
|
|
1071
|
+
private readonly multiSelect;
|
|
1072
|
+
constructor();
|
|
1073
|
+
ngOnInit(): void;
|
|
1074
|
+
isNodeSelectAll(_: number, nodeData: KbqTreeSelectFlatNode): boolean;
|
|
1075
|
+
onSelect({ value: option }: {
|
|
1076
|
+
value: any;
|
|
1077
|
+
}): void;
|
|
1078
|
+
searchKeydownHandler(): void;
|
|
1079
|
+
toggleSelectAllNode(emitEvent?: boolean): void;
|
|
1080
|
+
/**
|
|
1081
|
+
* Populates the tree data source from the pipe template. The shared `values`/`valueTemplate`
|
|
1082
|
+
* assignment is already performed by the base subscription, so this override only does the
|
|
1083
|
+
* tree-specific work and avoids a redundant double assignment.
|
|
1084
|
+
*/
|
|
1085
|
+
updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
|
|
1086
|
+
onClear(): void;
|
|
1087
|
+
/** @docs-private */
|
|
1088
|
+
onClose(): void;
|
|
1089
|
+
/** handler for select all options in select */
|
|
1090
|
+
selectAllHandler: (event: KeyboardEvent) => void;
|
|
1091
|
+
private toggleParents;
|
|
1092
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeMultiTreeSelectComponent, never>;
|
|
1093
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeMultiTreeSelectComponent, "kbq-pipe-multi-tree-select", never, {}, {}, never, never, true, never>;
|
|
707
1094
|
}
|
|
708
1095
|
|
|
709
1096
|
declare class KbqPipeReadonlyComponent extends KbqBasePipe<string | null> {
|
|
710
1097
|
open(): void;
|
|
711
|
-
static ɵfac:
|
|
712
|
-
static ɵcmp:
|
|
1098
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeReadonlyComponent, never>;
|
|
1099
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeReadonlyComponent, "kbq-pipe-readonly", never, {}, {}, never, never, true, never>;
|
|
713
1100
|
}
|
|
714
1101
|
|
|
715
1102
|
declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> implements AfterViewInit, OnInit {
|
|
716
1103
|
/** control for search options */
|
|
717
|
-
searchControl:
|
|
1104
|
+
readonly searchControl: FormControl<string | null>;
|
|
718
1105
|
/** filtered by search options */
|
|
719
|
-
filteredOptions: Observable<
|
|
1106
|
+
filteredOptions: Observable<KbqSelectValue[]>;
|
|
720
1107
|
/** @docs-private */
|
|
721
|
-
readonly select:
|
|
1108
|
+
readonly select: _angular_core.Signal<KbqSelect>;
|
|
722
1109
|
/** selected value */
|
|
723
1110
|
get selected(): KbqSelectValue | null;
|
|
724
1111
|
/** Whether the current pipe is empty. */
|
|
@@ -728,18 +1115,18 @@ declare class KbqPipeSelectComponent extends KbqBasePipe<KbqSelectValue> impleme
|
|
|
728
1115
|
ngAfterViewInit(): void;
|
|
729
1116
|
onSelect(item: KbqSelectValue): void;
|
|
730
1117
|
/** Comparator of selected options */
|
|
731
|
-
compareByValue: (o1:
|
|
1118
|
+
compareByValue: (o1: Pick<KbqSelectValue, "id"> | null, o2: Pick<KbqSelectValue, "id"> | null) => boolean;
|
|
732
1119
|
/** opens select */
|
|
733
1120
|
open(): void;
|
|
734
1121
|
private getFilteredOptions;
|
|
735
|
-
static ɵfac:
|
|
736
|
-
static ɵcmp:
|
|
1122
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeSelectComponent, never>;
|
|
1123
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeSelectComponent, "kbq-pipe-select", never, {}, {}, never, never, true, never>;
|
|
737
1124
|
}
|
|
738
1125
|
|
|
739
1126
|
declare class KbqPipeTextComponent extends KbqBasePipe<string | null> implements AfterViewInit, OnInit {
|
|
740
1127
|
readonly placements: typeof PopUpPlacements;
|
|
741
1128
|
/** @docs-private */
|
|
742
|
-
readonly popover:
|
|
1129
|
+
readonly popover: _angular_core.Signal<KbqPopoverTrigger>;
|
|
743
1130
|
/** Whether the current pipe is disabled. */
|
|
744
1131
|
get disabled(): boolean;
|
|
745
1132
|
/** textarea control */
|
|
@@ -753,44 +1140,26 @@ declare class KbqPipeTextComponent extends KbqBasePipe<string | null> implements
|
|
|
753
1140
|
onClear(): void;
|
|
754
1141
|
/** opens popover */
|
|
755
1142
|
open(): void;
|
|
756
|
-
static ɵfac:
|
|
757
|
-
static ɵcmp:
|
|
1143
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeTextComponent, never>;
|
|
1144
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeTextComponent, "kbq-pipe-text", never, {}, {}, never, never, true, never>;
|
|
758
1145
|
}
|
|
759
1146
|
|
|
760
|
-
declare class KbqPipeTreeSelectComponent extends
|
|
761
|
-
/** control for search options */
|
|
762
|
-
searchControl: UntypedFormControl;
|
|
763
|
-
/** filtered by search options */
|
|
764
|
-
filteredOptions: Observable<any[]>;
|
|
765
|
-
treeControl: FlatTreeControl<KbqTreeSelectFlatNode>;
|
|
766
|
-
treeFlattener: KbqTreeFlattener<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
|
|
767
|
-
dataSource: KbqTreeFlatDataSource<KbqTreeSelectNode, KbqTreeSelectFlatNode>;
|
|
768
|
-
template: any;
|
|
769
|
-
/** @docs-private */
|
|
770
|
-
readonly select: i0.Signal<KbqTreeSelect>;
|
|
1147
|
+
declare class KbqPipeTreeSelectComponent extends KbqTreeSelectPipeBase<KbqSelectValue> {
|
|
771
1148
|
/** selected value */
|
|
772
1149
|
get selected(): KbqSelectValue | null;
|
|
773
1150
|
/** Whether the current pipe is empty. */
|
|
774
1151
|
get isEmpty(): boolean;
|
|
775
1152
|
constructor();
|
|
776
|
-
ngOnInit(): void;
|
|
777
|
-
ngAfterViewInit(): void;
|
|
778
|
-
hasChild(_: number, nodeData: any): any;
|
|
779
1153
|
onSelect(item: KbqTreeOption): void;
|
|
780
|
-
/**
|
|
1154
|
+
/**
|
|
1155
|
+
* Populates the tree data source from the pipe template. The shared `values`/`valueTemplate`
|
|
1156
|
+
* assignment is already performed by the base subscription, so this override only does the
|
|
1157
|
+
* tree-specific work and avoids a redundant double assignment.
|
|
1158
|
+
*/
|
|
781
1159
|
updateTemplates: (templates: KbqPipeTemplate[] | null) => void;
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
onOpen(): void;
|
|
785
|
-
private transformer;
|
|
786
|
-
private getLevel;
|
|
787
|
-
private isExpandable;
|
|
788
|
-
private getChildren;
|
|
789
|
-
private getValue;
|
|
790
|
-
private getViewValue;
|
|
791
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KbqPipeTreeSelectComponent, never>;
|
|
792
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<KbqPipeTreeSelectComponent, "kbq-pipe-tree-select", never, {}, {}, never, never, true, never>;
|
|
1160
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KbqPipeTreeSelectComponent, never>;
|
|
1161
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KbqPipeTreeSelectComponent, "kbq-pipe-tree-select", never, {}, {}, never, never, true, never>;
|
|
793
1162
|
}
|
|
794
1163
|
|
|
795
|
-
export { KBQ_FILTER_BAR_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_CONFIGURATION, KBQ_FILTER_BAR_PIPES, KBQ_PIPE_DATA, KbqBasePipe, KbqFilterBar, KbqFilterBarButton, KbqFilterBarModule, KbqFilterBarRefresher, KbqFilterReset, KbqFilters, KbqPipeAdd, KbqPipeButton, KbqPipeDateComponent, KbqPipeDatetimeComponent, KbqPipeDirective, KbqPipeMinWidth, KbqPipeMultiSelectComponent, KbqPipeReadonlyComponent, KbqPipeSelectComponent, KbqPipeState, KbqPipeTextComponent,
|
|
796
|
-
export type { KbqDateTimeValue, KbqFilter, KbqPipe, KbqPipeData, KbqPipeTemplate, KbqPipeType, KbqSaveFilterError, KbqSaveFilterEvent, KbqSelectValue, KbqTreeSelectNode };
|
|
1164
|
+
export { KBQ_FILTER_BAR_CONFIGURATION, KBQ_FILTER_BAR_DEFAULT_CONFIGURATION, KBQ_FILTER_BAR_HOST, KBQ_FILTER_BAR_PIPES, KBQ_PIPE_DATA, KbqBasePipe, KbqFilterBar, KbqFilterBarButton, KbqFilterBarModule, KbqFilterRefresher as KbqFilterBarRefresher, KbqFilterRefresher, KbqFilterReset, KbqFilterSavePopover, KbqFilters, KbqPipeAdd, KbqPipeButton, KbqPipeDateBaseComponent, KbqPipeDateComponent, KbqPipeDatetimeComponent, KbqPipeDirective, KbqPipeMinWidth, KbqPipeMultiSelectComponent, KbqPipeMultiTreeSelectComponent, KbqPipeReadonlyComponent, KbqPipeSelectComponent, KbqPipeState, KbqPipeTextComponent, KbqPipeTreeSelectComponent, KbqPipeTypes, KbqSaveFilterStatuses, KbqTreeSelectFlatNode, KbqTreeSelectPipeBase, defaultFilterBarPipes, getId, kbqBuildTree, kbqFilterBarPipesProvider };
|
|
1165
|
+
export type { KbqDateTimeValue, KbqFilter, KbqFilterBarConfiguration, KbqFilterBarHost, KbqPipe, KbqPipeData, KbqPipeTemplate, KbqPipeType, KbqSaveFilterError, KbqSaveFilterEvent, KbqSelectValue, KbqTreeSelectNode };
|