@quadrel-enterprise-ui/framework 20.26.2 → 20.27.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/fesm2022/quadrel-enterprise-ui-framework.mjs +273 -49
- package/fesm2022/quadrel-enterprise-ui-framework.mjs.map +1 -1
- package/index.d.ts +177 -50
- package/package.json +1 -1
- package/src/assets/i18n/de.json +2 -0
- package/src/assets/i18n/en.json +2 -2
- package/src/assets/i18n/fr.json +2 -2
- package/src/assets/i18n/it.json +2 -2
package/index.d.ts
CHANGED
|
@@ -3355,6 +3355,7 @@ declare class QdMockFilterItemDateRangeComponent {
|
|
|
3355
3355
|
timePickerConfig?: QdFormTimepickerConfiguration;
|
|
3356
3356
|
testId: any;
|
|
3357
3357
|
get dataTestId(): string;
|
|
3358
|
+
open(): void;
|
|
3358
3359
|
static ɵfac: i0.ɵɵFactoryDeclaration<QdMockFilterItemDateRangeComponent, never>;
|
|
3359
3360
|
static ɵcmp: i0.ɵɵComponentDeclaration<QdMockFilterItemDateRangeComponent, "qd-filter-item-date-range", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "itemIndex": { "alias": "itemIndex"; "required": false; }; "timePickerConfig": { "alias": "timePickerConfig"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
|
|
3360
3361
|
}
|
|
@@ -3412,12 +3413,15 @@ declare class QdMockFilterService {
|
|
|
3412
3413
|
private postBodyWithEmptyDefaultSubjects;
|
|
3413
3414
|
private categoryByIdSubject;
|
|
3414
3415
|
private itemByIdSubject;
|
|
3416
|
+
private loadingSubject;
|
|
3415
3417
|
initializeFilterState(): void;
|
|
3416
3418
|
updateFilterState(): void;
|
|
3417
3419
|
getFilterState(): void;
|
|
3418
3420
|
setFilterSelection: any;
|
|
3419
3421
|
updateItem: any;
|
|
3420
3422
|
setItemIsActive: any;
|
|
3423
|
+
clearCategorySelection: any;
|
|
3424
|
+
setItemsLoading: any;
|
|
3421
3425
|
selectFilterDataById$: any;
|
|
3422
3426
|
getQueryString$(filterId: any): Observable<string>;
|
|
3423
3427
|
getFilterUrlParameter$(filterId: any): Observable<string>;
|
|
@@ -3426,6 +3430,7 @@ declare class QdMockFilterService {
|
|
|
3426
3430
|
getPostBodyWithEmptyDefault$(filterId: any): Observable<QdFilterPostBodyData>;
|
|
3427
3431
|
getCategoryById$(filterId: any): Observable<any>;
|
|
3428
3432
|
getItemById$(filterId: any): Observable<any>;
|
|
3433
|
+
getItemsLoading$(filterId: any): Observable<boolean>;
|
|
3429
3434
|
getQueryStringSubject(filterId: any): Subject<string>;
|
|
3430
3435
|
getFilterUrlParameterSubject(filterId: any): Subject<string>;
|
|
3431
3436
|
getPostBodySubject(filterId: any): Subject<QdFilterPostBodyData>;
|
|
@@ -3434,6 +3439,7 @@ declare class QdMockFilterService {
|
|
|
3434
3439
|
getMaxDate$: any;
|
|
3435
3440
|
emitCategory(value: any, filterId: any): void;
|
|
3436
3441
|
emitItem(value: any, filterId: any): void;
|
|
3442
|
+
emitLoading(value: any, filterId: any): void;
|
|
3437
3443
|
static ɵfac: i0.ɵɵFactoryDeclaration<QdMockFilterService, never>;
|
|
3438
3444
|
static ɵprov: i0.ɵɵInjectableDeclaration<QdMockFilterService>;
|
|
3439
3445
|
}
|
|
@@ -5256,6 +5262,16 @@ declare class QdPopoverOnClickDirective implements OnInit, OnDestroy {
|
|
|
5256
5262
|
ngOnInit(): void;
|
|
5257
5263
|
ngOnDestroy(): void;
|
|
5258
5264
|
open(): void;
|
|
5265
|
+
/**
|
|
5266
|
+
* Re-aligns an open overlay with its origin element.
|
|
5267
|
+
*
|
|
5268
|
+
* The connected position is only recomputed on scroll/resize, not when a
|
|
5269
|
+
* layout reflow moves the origin (e.g. a chip or action buttons appearing in
|
|
5270
|
+
* the host). Call this after such a reflow to keep the overlay attached to the
|
|
5271
|
+
* host. Deferred by one frame so the new layout is measured, and a no-op while
|
|
5272
|
+
* the overlay is detached, so it stays cheap to call on discrete events.
|
|
5273
|
+
*/
|
|
5274
|
+
updatePosition(): void;
|
|
5259
5275
|
close(): void;
|
|
5260
5276
|
private popoverInstance;
|
|
5261
5277
|
private initPositionStrategy;
|
|
@@ -6288,6 +6304,7 @@ declare class QdDatepickerComponent implements ControlValueAccessor, OnInit, OnC
|
|
|
6288
6304
|
registerOnTouched(fn: () => void): void;
|
|
6289
6305
|
writeValue(date: Date): void;
|
|
6290
6306
|
setDisabledState(disabled: boolean): void;
|
|
6307
|
+
open(): void;
|
|
6291
6308
|
handleUpdatedDate($rawValue: QdInputRawEventValue): void;
|
|
6292
6309
|
handleUpdatedTime($event: string): void;
|
|
6293
6310
|
handleUpdatedDateTime($rawValue: QdInputRawEventValue): void;
|
|
@@ -11521,6 +11538,7 @@ declare class QdFilterService {
|
|
|
11521
11538
|
private queryStringSubjects;
|
|
11522
11539
|
private filterUrlParameterSubjects;
|
|
11523
11540
|
private postBodySubjects;
|
|
11541
|
+
private itemsLoadingSubjects;
|
|
11524
11542
|
getItems$(filterId: any, categoryIndex: any): Observable<any>;
|
|
11525
11543
|
getItemById$(filterId: any, categoryIndex: any, itemIndex: any): Observable<QdFilterItem>;
|
|
11526
11544
|
getMinDate$(filterId: any, categoryIndex: any, itemIndex: any): Observable<string | undefined>;
|
|
@@ -11540,6 +11558,7 @@ declare class QdFilterService {
|
|
|
11540
11558
|
selectFilterDataById$(filterId: any): Observable<QdFilterCategory[]>;
|
|
11541
11559
|
selectHasActiveCategory$(filterId: any): Observable<boolean>;
|
|
11542
11560
|
getCategoryById$(filterId: any, categoryIndex: any): Observable<any>;
|
|
11561
|
+
getItemsLoading$(filterId: any, categoryIndex: any): Observable<boolean>;
|
|
11543
11562
|
getFilterCategoryValue$(filterId: any, categoryIndex: any): Observable<any>;
|
|
11544
11563
|
/**
|
|
11545
11564
|
* Action dispatcher
|
|
@@ -11555,6 +11574,9 @@ declare class QdFilterService {
|
|
|
11555
11574
|
resetEmissionReplaySubjects(filterId: any): void;
|
|
11556
11575
|
setCategoryFilter(filterId: any, categoryIndex: number, filter: string): void;
|
|
11557
11576
|
resetCategoryFilter(filterId: string, categoryIndex: number): void;
|
|
11577
|
+
clearCategorySelection(filterId: string, categoryIndex: number): void;
|
|
11578
|
+
setItemsLoading(filterId: string, categoryIndex: number, loading: boolean): void;
|
|
11579
|
+
private getItemsLoadingSubject;
|
|
11558
11580
|
private getQueryStringSubject;
|
|
11559
11581
|
private getFilterUrlParameterSubject;
|
|
11560
11582
|
private getPostBodySubject;
|
|
@@ -11563,43 +11585,123 @@ declare class QdFilterService {
|
|
|
11563
11585
|
}
|
|
11564
11586
|
|
|
11565
11587
|
/**
|
|
11566
|
-
*
|
|
11588
|
+
* **QdFilterComponent** lets users build and apply a filter with several categories over a data set.
|
|
11589
|
+
*
|
|
11590
|
+
* #### **Features**
|
|
11591
|
+
*
|
|
11592
|
+
* - **Category types**: single and multi select dropdowns, a boolean toggle, date and date-time pickers, date and date-time ranges, and free text. A select dropdown can also show a filter field that narrows the item list.
|
|
11593
|
+
* - **Outputs**: react to the applied selection through the query-string and post-body outputs, or read the current selection at any time.
|
|
11594
|
+
* - **Multi-staging**: chain categories so one stage loads its items from the selection of another.
|
|
11595
|
+
* - **URL sync**: the selection is kept in the URL, so a view can be shared, bookmarked, and reopened.
|
|
11596
|
+
*
|
|
11597
|
+
* #### **Quick start**
|
|
11598
|
+
*
|
|
11599
|
+
* **1. Add the filter to the template**
|
|
11600
|
+
*
|
|
11601
|
+
* ```html
|
|
11602
|
+
* <qd-filter
|
|
11603
|
+
* [filterData]="myFilterConfig"
|
|
11604
|
+
* (queryStringOutput)="callBackendWithQueryString($event)"
|
|
11605
|
+
* (postBodyOutput)="callBackendWithResultObject($event)"
|
|
11606
|
+
* ></qd-filter>
|
|
11607
|
+
* ```
|
|
11608
|
+
*
|
|
11609
|
+
* **2. Define the config in your component**
|
|
11610
|
+
*
|
|
11611
|
+
* ```typescript
|
|
11612
|
+
* myFilterConfig: QdFilterConfigData = {
|
|
11613
|
+
* categories: [
|
|
11614
|
+
* {
|
|
11615
|
+
* type: 'singleSelect',
|
|
11616
|
+
* category: 'controlObject',
|
|
11617
|
+
* i18n: 'i18n.my.category.controlObject',
|
|
11618
|
+
* items: [
|
|
11619
|
+
* { item: 'vehicle', i18n: 'i18n.my.item.vehicle', active: true },
|
|
11620
|
+
* { item: 'article', i18n: 'i18n.my.item.article' }
|
|
11621
|
+
* ],
|
|
11622
|
+
* filter: true
|
|
11623
|
+
* },
|
|
11624
|
+
* {
|
|
11625
|
+
* type: 'multiSelect',
|
|
11626
|
+
* category: 'enrollmentCountry',
|
|
11627
|
+
* i18n: 'i18n.my.category.enrollmentCountry',
|
|
11628
|
+
* items: [
|
|
11629
|
+
* { item: 'de', i18n: 'i18n.my.item.de' },
|
|
11630
|
+
* { item: 'ch', i18n: 'i18n.my.item.ch' }
|
|
11631
|
+
* ]
|
|
11632
|
+
* }
|
|
11633
|
+
* ],
|
|
11634
|
+
* uid: 'overview-filter'
|
|
11635
|
+
* };
|
|
11636
|
+
* ```
|
|
11637
|
+
*
|
|
11638
|
+
* The `filterData` input is the only configuration. It holds the categories and the behavior flags.
|
|
11639
|
+
*
|
|
11640
|
+
* #### **Category types**
|
|
11641
|
+
*
|
|
11642
|
+
* A category sets its type to one of: singleSelect, multiSelect, boolean, date, dateTime,
|
|
11643
|
+
* dateRange, dateTimeRange or freeText. Single and multi select show a dropdown, boolean is a
|
|
11644
|
+
* toggle, the date types open a picker (the date-time variants add a time picker), and free text
|
|
11645
|
+
* is a text field applied on enter.
|
|
11567
11646
|
*
|
|
11568
|
-
*
|
|
11569
|
-
*
|
|
11570
|
-
* - **Categories**: A list of one or more different categories.
|
|
11571
|
-
* - **Items**: A list with one or more items belongs to a parent category.
|
|
11647
|
+
* On a single or multi select you can add a filter field above the items with `filter: true` to
|
|
11648
|
+
* narrow the item list. It has no effect on the other types.
|
|
11572
11649
|
*
|
|
11573
|
-
*
|
|
11650
|
+
* #### **Filter selection**
|
|
11574
11651
|
*
|
|
11575
|
-
*
|
|
11576
|
-
*
|
|
11577
|
-
*
|
|
11578
|
-
* yields an object containing the categories and active items.
|
|
11652
|
+
* Listen to the outputs to react when the user applies the filter. The query-string output gives
|
|
11653
|
+
* the selection as a URL string (for example filter=...); the post-body output gives it as an
|
|
11654
|
+
* object with the active categories and their values.
|
|
11579
11655
|
*
|
|
11580
|
-
*
|
|
11581
|
-
*
|
|
11656
|
+
* The outputs fire when the user applies the filter, on reset (only when a preselection exists),
|
|
11657
|
+
* when the last active item is removed, and on load if a category starts active.
|
|
11582
11658
|
*
|
|
11583
|
-
*
|
|
11659
|
+
* To read the selection without waiting for an apply, call `getCurrentQueryString` or
|
|
11660
|
+
* `getCurrentPostBody`, or subscribe to `getFilterChanges$` for a continuous stream.
|
|
11661
|
+
*
|
|
11662
|
+
* #### **Multi-staging filters**
|
|
11663
|
+
*
|
|
11664
|
+
* To chain categories, give one a `dependsOn` list and an `itemsResolver`. In `dependsOn` you
|
|
11665
|
+
* name the parent categories. The resolver receives the active parents and returns the items for
|
|
11666
|
+
* this stage.
|
|
11667
|
+
*
|
|
11668
|
+
* ```typescript
|
|
11669
|
+
* const cityCategory: QdDependentFilterCategory = {
|
|
11670
|
+
* type: 'multiSelect',
|
|
11671
|
+
* category: 'city',
|
|
11672
|
+
* i18n: 'i18n.my.category.city',
|
|
11673
|
+
* dependsOn: ['country'],
|
|
11674
|
+
* itemsResolver: ([country]) =>
|
|
11675
|
+
* loadCitiesFor(country.items.filter(item => item.active)),
|
|
11676
|
+
* filter: true
|
|
11677
|
+
* };
|
|
11678
|
+
* ```
|
|
11584
11679
|
*
|
|
11585
|
-
*
|
|
11586
|
-
* a
|
|
11680
|
+
* The stage appears once every parent has an active item. While its items load, the open
|
|
11681
|
+
* dropdown shows a loading text instead of the list. If the resolver returns nothing, the list
|
|
11682
|
+
* stays empty. Multi-staging works only for single and multi select categories.
|
|
11587
11683
|
*
|
|
11588
|
-
*
|
|
11684
|
+
* #### **URL synchronization**
|
|
11589
11685
|
*
|
|
11590
|
-
*
|
|
11591
|
-
*
|
|
11592
|
-
*
|
|
11593
|
-
* of categories given in `dependsOn`. The `itemsResolver` can also be defined in the config where `dependsOn`
|
|
11594
|
-
* is also defined.
|
|
11686
|
+
* The filter keeps its selection in the URL filter parameter: it is saved when the selection
|
|
11687
|
+
* changes and read back when the page opens, so a user can share or bookmark the URL and return
|
|
11688
|
+
* to the same filter.
|
|
11595
11689
|
*
|
|
11596
|
-
*
|
|
11597
|
-
*
|
|
11690
|
+
* This is on by default. With more than one filter in a view, only one may own the URL, so set
|
|
11691
|
+
* `connectWithRouter` to false on every other filter.
|
|
11598
11692
|
*
|
|
11599
|
-
* ####
|
|
11693
|
+
* #### **Preserve filter state**
|
|
11600
11694
|
*
|
|
11601
|
-
*
|
|
11695
|
+
* Give the config a stable `uid` to keep the selection while the user moves around the app, for
|
|
11696
|
+
* example from an overview to a detail page and back. The selection is restored the next time a
|
|
11697
|
+
* filter with the same `uid` is shown.
|
|
11602
11698
|
*
|
|
11699
|
+
* #### **Reset behavior**
|
|
11700
|
+
*
|
|
11701
|
+
* An item set to active is a preselection. The reset button reads "Reset" when there is no
|
|
11702
|
+
* preselection, and "Back to preselection" when the config starts with active items. It restores
|
|
11703
|
+
* the initial state. With instant filtering (`isInstantFiltering`) the apply and reset buttons
|
|
11704
|
+
* are hidden and the filter applies on every change.
|
|
11603
11705
|
*/
|
|
11604
11706
|
declare class QdFilterComponent implements OnInit, OnChanges, OnDestroy {
|
|
11605
11707
|
readonly filterService: QdFilterService;
|
|
@@ -11846,6 +11948,7 @@ declare class QdFilterItemDateComponent implements OnInit, OnDestroy {
|
|
|
11846
11948
|
clickTimePlaceholder: EventEmitter<boolean>;
|
|
11847
11949
|
testId: string;
|
|
11848
11950
|
get dataTestId(): string;
|
|
11951
|
+
private datepicker?;
|
|
11849
11952
|
datepickerConfig: QdFormDatepickerConfiguration;
|
|
11850
11953
|
item: Date;
|
|
11851
11954
|
private _destroyed$;
|
|
@@ -11853,36 +11956,12 @@ declare class QdFilterItemDateComponent implements OnInit, OnDestroy {
|
|
|
11853
11956
|
ngOnDestroy(): void;
|
|
11854
11957
|
handleDateChange(date: Date): void;
|
|
11855
11958
|
handleClickTimePlaceholder($event: boolean): void;
|
|
11959
|
+
open(): void;
|
|
11856
11960
|
private subscribeGetItem;
|
|
11857
11961
|
static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterItemDateComponent, never>;
|
|
11858
11962
|
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemDateComponent, "qd-filter-item-date", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "itemIndex": { "alias": "itemIndex"; "required": false; }; "timePickerConfig": { "alias": "timePickerConfig"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "clickTimePlaceholder": "clickTimePlaceholder"; }, never, never, false, never>;
|
|
11859
11963
|
}
|
|
11860
11964
|
|
|
11861
|
-
declare class QdFilterItemDateRangeCategoryComponent implements OnInit {
|
|
11862
|
-
private readonly filterService;
|
|
11863
|
-
filterId: string;
|
|
11864
|
-
categoryIndex: number;
|
|
11865
|
-
testId: string;
|
|
11866
|
-
timePickerConfig?: QdFormTimepickerConfiguration;
|
|
11867
|
-
i18n$: Observable<string>;
|
|
11868
|
-
fromItem$: Observable<QdFilterItem>;
|
|
11869
|
-
fromItemIndex: number;
|
|
11870
|
-
fromItemTimePickerConfig: QdFormTimepickerConfiguration;
|
|
11871
|
-
fromItemTimePlaceholderClicked: boolean;
|
|
11872
|
-
untilItem$: Observable<QdFilterItem>;
|
|
11873
|
-
untilItemIndex: number;
|
|
11874
|
-
untilItemTimePickerConfig: QdFormTimepickerConfiguration;
|
|
11875
|
-
untilItemTimePlaceholderClicked: boolean;
|
|
11876
|
-
ngOnInit(): void;
|
|
11877
|
-
removeItem(itemIndex: any): void;
|
|
11878
|
-
handleFromTimePlaceholderClicked($event: boolean): void;
|
|
11879
|
-
handleUntilTimePlaceholderClicked($event: boolean): void;
|
|
11880
|
-
private setCategoryI18n;
|
|
11881
|
-
private setFromItem;
|
|
11882
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterItemDateRangeCategoryComponent, never>;
|
|
11883
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemDateRangeCategoryComponent, "qd-filter-category-date-range", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; "timePickerConfig": { "alias": "timePickerConfig"; "required": false; }; }, {}, never, never, false, never>;
|
|
11884
|
-
}
|
|
11885
|
-
|
|
11886
11965
|
declare class QdFilterItemDateRangeComponent implements OnInit, OnDestroy {
|
|
11887
11966
|
private readonly filterService;
|
|
11888
11967
|
filterId: string;
|
|
@@ -11896,6 +11975,8 @@ declare class QdFilterItemDateRangeComponent implements OnInit, OnDestroy {
|
|
|
11896
11975
|
private _destroyed$;
|
|
11897
11976
|
get itemClassName(): string;
|
|
11898
11977
|
get dataTestId(): string;
|
|
11978
|
+
private datepicker?;
|
|
11979
|
+
open(): void;
|
|
11899
11980
|
get minDate$(): Observable<string | undefined>;
|
|
11900
11981
|
get maxDate$(): Observable<string | undefined>;
|
|
11901
11982
|
ngOnInit(): void;
|
|
@@ -11909,6 +11990,32 @@ declare class QdFilterItemDateRangeComponent implements OnInit, OnDestroy {
|
|
|
11909
11990
|
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemDateRangeComponent, "qd-filter-item-date-range", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "itemIndex": { "alias": "itemIndex"; "required": false; }; "timePickerConfig": { "alias": "timePickerConfig"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "clickTimePlaceholder": "clickTimePlaceholder"; }, never, never, false, never>;
|
|
11910
11991
|
}
|
|
11911
11992
|
|
|
11993
|
+
declare class QdFilterItemDateRangeCategoryComponent implements OnInit {
|
|
11994
|
+
private readonly filterService;
|
|
11995
|
+
filterId: string;
|
|
11996
|
+
categoryIndex: number;
|
|
11997
|
+
testId: string;
|
|
11998
|
+
timePickerConfig?: QdFormTimepickerConfiguration;
|
|
11999
|
+
i18n$: Observable<string>;
|
|
12000
|
+
fromItem$: Observable<QdFilterItem>;
|
|
12001
|
+
fromItemIndex: number;
|
|
12002
|
+
fromItemTimePickerConfig: QdFormTimepickerConfiguration;
|
|
12003
|
+
fromItemTimePlaceholderClicked: boolean;
|
|
12004
|
+
untilItem$: Observable<QdFilterItem>;
|
|
12005
|
+
untilItemIndex: number;
|
|
12006
|
+
untilItemTimePickerConfig: QdFormTimepickerConfiguration;
|
|
12007
|
+
untilItemTimePlaceholderClicked: boolean;
|
|
12008
|
+
ngOnInit(): void;
|
|
12009
|
+
openItem(itemRef: QdFilterItemDateRangeComponent, event: Event): void;
|
|
12010
|
+
removeItem(itemIndex: any): void;
|
|
12011
|
+
handleFromTimePlaceholderClicked($event: boolean): void;
|
|
12012
|
+
handleUntilTimePlaceholderClicked($event: boolean): void;
|
|
12013
|
+
private setCategoryI18n;
|
|
12014
|
+
private setFromItem;
|
|
12015
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterItemDateRangeCategoryComponent, never>;
|
|
12016
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemDateRangeCategoryComponent, "qd-filter-category-date-range", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; "timePickerConfig": { "alias": "timePickerConfig"; "required": false; }; }, {}, never, never, false, never>;
|
|
12017
|
+
}
|
|
12018
|
+
|
|
11912
12019
|
declare class QdFilterItemFreeTextComponent implements OnInit, OnDestroy {
|
|
11913
12020
|
private readonly filterService;
|
|
11914
12021
|
filterId: string;
|
|
@@ -11921,6 +12028,7 @@ declare class QdFilterItemFreeTextComponent implements OnInit, OnDestroy {
|
|
|
11921
12028
|
i18n: any;
|
|
11922
12029
|
get dataTestId(): string;
|
|
11923
12030
|
get value(): string;
|
|
12031
|
+
inputValue: string;
|
|
11924
12032
|
private _destroyed$;
|
|
11925
12033
|
ngOnInit(): void;
|
|
11926
12034
|
ngOnDestroy(): void;
|
|
@@ -11931,8 +12039,14 @@ declare class QdFilterItemFreeTextComponent implements OnInit, OnDestroy {
|
|
|
11931
12039
|
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemFreeTextComponent, "qd-filter-item-free-text", never, { "filterId": { "alias": "filterId"; "required": false; }; "isInstantFiltering": { "alias": "isInstantFiltering"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "itemIndex": { "alias": "itemIndex"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "enterClick": "enterClick"; }, never, never, false, never>;
|
|
11932
12040
|
}
|
|
11933
12041
|
|
|
12042
|
+
interface QdFilterItemEntry {
|
|
12043
|
+
item: QdFilterItem;
|
|
12044
|
+
itemIndex: number;
|
|
12045
|
+
}
|
|
11934
12046
|
declare class QdFilterItemSelectCategoryComponent implements OnInit {
|
|
11935
12047
|
private readonly filterService;
|
|
12048
|
+
private readonly breakpointService;
|
|
12049
|
+
readonly isMobile$: Observable<boolean>;
|
|
11936
12050
|
filterId: string;
|
|
11937
12051
|
categoryIndex: number;
|
|
11938
12052
|
testId: string;
|
|
@@ -11944,10 +12058,18 @@ declare class QdFilterItemSelectCategoryComponent implements OnInit {
|
|
|
11944
12058
|
items: QdFilterItem[];
|
|
11945
12059
|
dependsOn: string[];
|
|
11946
12060
|
showSelectButton$: Observable<boolean>;
|
|
12061
|
+
itemsLoading$: Observable<boolean>;
|
|
11947
12062
|
positionStrategy: ConnectedPosition[];
|
|
11948
12063
|
maxFlyoutHeight: number;
|
|
11949
12064
|
private _destroyRef;
|
|
12065
|
+
private frozenSelectedKeys;
|
|
12066
|
+
private frozenUnselectedKeys;
|
|
11950
12067
|
get closeButton(): boolean;
|
|
12068
|
+
get activeItemCount(): number;
|
|
12069
|
+
get selectedDropdownEntries(): QdFilterItemEntry[];
|
|
12070
|
+
get unselectedDropdownEntries(): QdFilterItemEntry[];
|
|
12071
|
+
get showSelectedSeparator(): boolean;
|
|
12072
|
+
get hasNoVisibleItems(): boolean;
|
|
11951
12073
|
get buttonClassName(): string;
|
|
11952
12074
|
get layerContentClassName(): string;
|
|
11953
12075
|
get filterCategoryValue$(): Observable<string>;
|
|
@@ -11956,9 +12078,14 @@ declare class QdFilterItemSelectCategoryComponent implements OnInit {
|
|
|
11956
12078
|
onLayerClosed(): void;
|
|
11957
12079
|
closeLayer(): void;
|
|
11958
12080
|
close(itemIndex: string): void;
|
|
12081
|
+
clearAll(): void;
|
|
12082
|
+
trackByItem(_index: number, entry: QdFilterItemEntry): string;
|
|
12083
|
+
private freezeDropdownOrder;
|
|
12084
|
+
private toEntries;
|
|
11959
12085
|
changeValue($event: string): void;
|
|
11960
12086
|
private initCategorySubscription;
|
|
11961
12087
|
private initItemsSubscription;
|
|
12088
|
+
private haveSameItemKeys;
|
|
11962
12089
|
private initShowSelectButton;
|
|
11963
12090
|
static ɵfac: i0.ɵɵFactoryDeclaration<QdFilterItemSelectCategoryComponent, never>;
|
|
11964
12091
|
static ɵcmp: i0.ɵɵComponentDeclaration<QdFilterItemSelectCategoryComponent, "qd-filter-category-select", never, { "filterId": { "alias": "filterId"; "required": false; }; "categoryIndex": { "alias": "categoryIndex"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
|
package/package.json
CHANGED
package/src/assets/i18n/de.json
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"i18n.qd.container.toolbar.filter.reset": "Zurücksetzen",
|
|
34
34
|
"i18n.qd.container.toolbar.filter.backToPreSelect": "Zurück zur Vorauswahl",
|
|
35
35
|
"i18n.qd.filter.layer.caption": "Filter",
|
|
36
|
+
"i18n.qd.filter.noResults": "Keine Treffer",
|
|
37
|
+
"i18n.qd.filter.loading": "Wird geladen …",
|
|
36
38
|
"i18n.qd.filter.category.date": "Datum",
|
|
37
39
|
"i18n.qd.filter.category.dateRange": "Datumsbereich",
|
|
38
40
|
"i18n.qd.filter.date.on": "am",
|
package/src/assets/i18n/en.json
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"i18n.qd.container.toolbar.filter.reset": "Reset",
|
|
34
34
|
"i18n.qd.container.toolbar.filter.backToPreSelect": "Back to preselection",
|
|
35
35
|
"i18n.qd.filter.layer.caption": "Filter",
|
|
36
|
+
"i18n.qd.filter.noResults": "No results",
|
|
37
|
+
"i18n.qd.filter.loading": "Loading …",
|
|
36
38
|
"i18n.qd.filter.category.date": "Date",
|
|
37
39
|
"i18n.qd.filter.category.dateRange": "Date range",
|
|
38
40
|
"i18n.qd.filter.date.on": "on",
|
|
@@ -68,12 +70,10 @@
|
|
|
68
70
|
"i18n.qd.input.units.percentage": "%",
|
|
69
71
|
"i18n.qd.input.options.loading": "Suggestions are loading...",
|
|
70
72
|
"i18n.qd.input.options.error": "Error loading suggestions",
|
|
71
|
-
|
|
72
73
|
"i18n.qd.input.number.ambiguousHint.comma": "The entered value is interpreted according to the regional formatting and uses a comma (,) as the decimal separator.",
|
|
73
74
|
"i18n.qd.input.number.ambiguousHint.dot": "The entered value is interpreted according to the regional formatting and uses a dot (.) as the decimal separator.",
|
|
74
75
|
"i18n.qd.input.number.invalidCharacters.comma": "The entered value is invalid. Expected number format: \"123,45\".",
|
|
75
76
|
"i18n.qd.input.number.invalidCharacters.dot": "The entered value is invalid. Expected number format: \"123.45\".",
|
|
76
|
-
|
|
77
77
|
"i18n.qd.multiInput.label.tariffNumbers": "[en]Tarifnummern",
|
|
78
78
|
"i18n.qd.multiInput.label.tariffNumbers.hint": "[en]Bitte erfassen Sie mindestens eine Tarifnummer.",
|
|
79
79
|
"i18n.qd.multiInput.label.tariffNumbers.hintFormat": "[en]Bitte erfassen Sie mindestens eine Tarifnummer (Format: 9- od. 13-stellig).",
|
package/src/assets/i18n/fr.json
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"i18n.qd.container.toolbar.filter.reset": "Réinitialiser",
|
|
34
34
|
"i18n.qd.container.toolbar.filter.backToPreSelect": "Retour à la présélection",
|
|
35
35
|
"i18n.qd.filter.layer.caption": "Filtre",
|
|
36
|
+
"i18n.qd.filter.noResults": "Aucun résultat",
|
|
37
|
+
"i18n.qd.filter.loading": "Chargement …",
|
|
36
38
|
"i18n.qd.filter.category.date": "Date",
|
|
37
39
|
"i18n.qd.filter.category.dateRange": "Plage de dates",
|
|
38
40
|
"i18n.qd.filter.date.on": "le",
|
|
@@ -68,12 +70,10 @@
|
|
|
68
70
|
"i18n.qd.input.units.percentage": "%",
|
|
69
71
|
"i18n.qd.input.options.loading": "[fr] Vorschläge werden geladen...",
|
|
70
72
|
"i18n.qd.input.options.error": "[fr] Fehler beim Laden der Vorschläge",
|
|
71
|
-
|
|
72
73
|
"i18n.qd.input.number.ambiguousHint.comma": "La valeur saisie est interprétée conformément au format régional et utilise une virgule (,) comme séparateur décimal.",
|
|
73
74
|
"i18n.qd.input.number.ambiguousHint.dot": "La valeur saisie est interprétée conformément au format régional et utilise un point (.) comme séparateur décimal.",
|
|
74
75
|
"i18n.qd.input.number.invalidCharacters.comma": "La valeur saisie est invalide. Format numérique attendu : « 123,45 ».",
|
|
75
76
|
"i18n.qd.input.number.invalidCharacters.dot": "La valeur saisie est invalide. Format numérique attendu : « 123.45 ».",
|
|
76
|
-
|
|
77
77
|
"i18n.qd.multiInput.label.tariffNumbers": "[fr]Tarifnummern",
|
|
78
78
|
"i18n.qd.multiInput.label.tariffNumbers.hint": "[fr]Bitte erfassen Sie mindestens eine Tarifnummer.",
|
|
79
79
|
"i18n.qd.multiInput.label.tariffNumbers.hintFormat": "[fr]Bitte erfassen Sie mindestens eine Tarifnummer (Format: 9- od. 13-stellig).",
|
package/src/assets/i18n/it.json
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"i18n.qd.container.toolbar.filter.reset": "Azzerare",
|
|
34
34
|
"i18n.qd.container.toolbar.filter.backToPreSelect": "Torna alla preselezione",
|
|
35
35
|
"i18n.qd.filter.layer.caption": "Filtrare",
|
|
36
|
+
"i18n.qd.filter.noResults": "Nessun risultato",
|
|
37
|
+
"i18n.qd.filter.loading": "Caricamento …",
|
|
36
38
|
"i18n.qd.filter.category.date": "Date",
|
|
37
39
|
"i18n.qd.filter.category.dateRange": "Intervallo di date",
|
|
38
40
|
"i18n.qd.filter.date.on": "il",
|
|
@@ -68,12 +70,10 @@
|
|
|
68
70
|
"i18n.qd.input.units.percentage": "%",
|
|
69
71
|
"i18n.qd.input.options.loading": "[it] Vorschläge werden geladen...",
|
|
70
72
|
"i18n.qd.input.options.error": "[it] Fehler beim Laden der Vorschläge",
|
|
71
|
-
|
|
72
73
|
"i18n.qd.input.number.ambiguousHint.comma": "Il valore inserito viene interpretato in base al formato regionale e utilizza una virgola (,) come separatore decimale.",
|
|
73
74
|
"i18n.qd.input.number.ambiguousHint.dot": "Il valore inserito viene interpretato in base al formato regionale e utilizza un punto (.) come separatore decimale.",
|
|
74
75
|
"i18n.qd.input.number.invalidCharacters.comma": "Il valore inserito non è valido. Formato numerico previsto: \"123,45\".",
|
|
75
76
|
"i18n.qd.input.number.invalidCharacters.dot": "Il valore inserito non è valido. Formato numerico previsto: \"123.45\".",
|
|
76
|
-
|
|
77
77
|
"i18n.qd.multiInput.label.tariffNumbers": "[it]Tarifnummern",
|
|
78
78
|
"i18n.qd.multiInput.label.tariffNumbers.hint": "[it]Bitte erfassen Sie mindestens eine Tarifnummer.",
|
|
79
79
|
"i18n.qd.multiInput.label.tariffNumbers.hintFormat": "[it]Bitte erfassen Sie mindestens eine Tarifnummer (Format: 9- od. 13-stellig).",
|