@elderbyte/ngx-starter 14.5.4 → 14.7.1
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/esm2020/lib/common/data/data-context/data-context-active-page.mjs +1 -1
- package/esm2020/lib/common/data/data-context/data-context-base.mjs +2 -2
- package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +1 -1
- package/esm2020/lib/common/data/data-context/data-context.mjs +1 -1
- package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +1 -1
- package/esm2020/lib/common/data/datasource/data-source-processor.mjs +1 -1
- package/esm2020/lib/common/data/datasource/data-source.mjs +1 -1
- package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +1 -1
- package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +1 -1
- package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +1 -1
- package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +2 -2
- package/esm2020/lib/common/data/filters/filter-context.mjs +141 -0
- package/esm2020/lib/common/data/filters/filter.mjs +109 -0
- package/esm2020/lib/common/data/http-params-builder.mjs +2 -2
- package/esm2020/lib/common/data/public_api.mjs +3 -3
- package/esm2020/lib/common/data/required-filter-evaluator.mjs +1 -1
- package/esm2020/lib/common/data/token-chunk-request.mjs +1 -1
- package/esm2020/lib/common/utils/filter-util.mjs +1 -1
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +1 -1
- package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +1 -1
- package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +5 -1
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +1 -5
- package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
- package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +4 -1
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +33 -19
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +6 -12
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +1 -1
- package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +19 -10
- package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -4
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +9 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +40 -25
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +9 -9
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +19 -8
- package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +58 -0
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
- package/esm2020/lib/components/public_api.mjs +1 -2
- package/esm2020/lib/components/select/elder-select-base.mjs +2 -2
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +1 -1
- package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +7 -6
- package/fesm2015/elderbyte-ngx-starter.mjs +461 -280
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +458 -280
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
- package/lib/common/data/data-context/data-context-base.d.ts +2 -2
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
- package/lib/common/data/data-context/data-context.d.ts +2 -2
- package/lib/common/data/datasource/data-source-adapter.d.ts +1 -1
- package/lib/common/data/datasource/data-source-processor.d.ts +1 -1
- package/lib/common/data/datasource/data-source.d.ts +1 -1
- package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +1 -1
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +1 -1
- package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
- package/lib/common/data/datasource/rest/rest-client.d.ts +1 -1
- package/lib/common/data/{filter-context.d.ts → filters/filter-context.d.ts} +3 -1
- package/lib/common/data/{filter.d.ts → filters/filter.d.ts} +15 -3
- package/lib/common/data/http-params-builder.d.ts +1 -1
- package/lib/common/data/public_api.d.ts +2 -2
- package/lib/common/data/required-filter-evaluator.d.ts +2 -2
- package/lib/common/data/token-chunk-request.d.ts +1 -1
- package/lib/common/utils/filter-util.d.ts +1 -1
- package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
- package/lib/components/csv/elder-csv-stream-exporter.d.ts +1 -1
- package/lib/components/data-view/base/elder-data-view-options.d.ts +2 -1
- package/lib/components/forms/search/elder-search-context.directive.d.ts +15 -12
- package/lib/components/forms/search/elder-search-input.directive.d.ts +6 -7
- package/lib/components/http-support/elder-http-client.service.d.ts +1 -1
- package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +4 -2
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +8 -0
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +14 -14
- package/lib/components/{multi-autocomplete/elder-multi-autocomplete.component.d.ts → input/autocomplete/elder-autocomplete-many.directive.d.ts} +46 -27
- package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +2 -2
- package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +11 -7
- package/lib/components/{multi-autocomplete/word-position.d.ts → input/autocomplete/many/word-position-finder.d.ts} +0 -0
- package/lib/components/public_api.d.ts +0 -1
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +2 -1
- package/package.json +1 -1
- package/esm2020/lib/common/data/filter-context.mjs +0 -129
- package/esm2020/lib/common/data/filter.mjs +0 -72
- package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +0 -30
- package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +0 -122
- package/esm2020/lib/components/multi-autocomplete/word-position.mjs +0 -38
- package/lib/components/multi-autocomplete/elder-multi-auto-complete.module.d.ts +0 -14
- package/src/lib/components/multi-autocomplete/elder-multi-autocomplete.component.scss +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataContextBase } from './data-context-base';
|
|
2
2
|
import { PageRequest } from '../page';
|
|
3
|
-
import { Filter } from '../filter';
|
|
3
|
+
import { Filter } from '../filters/filter';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { IDataContextActivePage } from './data-context';
|
|
6
6
|
import { Sort } from '../sort';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Filter } from '../filter';
|
|
1
|
+
import { Filter } from '../filters/filter';
|
|
2
2
|
import { Sort } from '../sort';
|
|
3
3
|
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
|
4
4
|
import { DataContextStatus } from './data-context-status';
|
|
5
5
|
import { Observable, Subject } from 'rxjs';
|
|
6
|
-
import { FilterContext } from '../filter-context';
|
|
6
|
+
import { FilterContext } from '../filters/filter-context';
|
|
7
7
|
import { DataContextSnapshot, IDataContext } from './data-context';
|
|
8
8
|
import { SortContext } from '../sort-context';
|
|
9
9
|
import { IDataSource } from '../datasource/data-source';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataContextBase } from './data-context-base';
|
|
2
2
|
import { Sort } from '../sort';
|
|
3
|
-
import { Filter } from '../filter';
|
|
3
|
+
import { Filter } from '../filters/filter';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { IDataContextContinuable } from './data-context';
|
|
6
6
|
import { IDataSource } from '../datasource/data-source';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DataContextStatus } from './data-context-status';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { Sort } from '../sort';
|
|
4
|
-
import { Filter } from '../filter';
|
|
5
|
-
import { FilterContext } from '../filter-context';
|
|
4
|
+
import { Filter } from '../filters/filter';
|
|
5
|
+
import { FilterContext } from '../filters/filter-context';
|
|
6
6
|
import { PageRequest } from '../page';
|
|
7
7
|
import { SortContext } from '../sort-context';
|
|
8
8
|
import { IDataSource } from '../datasource/data-source';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IDataSource } from './data-source';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { Filter } from '../filter';
|
|
3
|
+
import { Filter } from '../filters/filter';
|
|
4
4
|
import { Sort } from '../sort';
|
|
5
5
|
export declare class DataSourceAdapter<T> {
|
|
6
6
|
private readonly dataSource;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IContinuableDataSource, IDataSource, IListDataSource, IPagedDataSource } from './data-source';
|
|
2
2
|
import { Page } from '../page';
|
|
3
|
-
import { Filter } from '../filter';
|
|
3
|
+
import { Filter } from '../filters/filter';
|
|
4
4
|
import { ContinuableListing } from '../continuable-listing';
|
|
5
5
|
import { Sort } from '../sort';
|
|
6
6
|
import { Observable } from 'rxjs/internal/Observable';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Sort } from '../sort';
|
|
3
|
-
import { Filter } from '../filter';
|
|
3
|
+
import { Filter } from '../filters/filter';
|
|
4
4
|
import { Page, Pageable } from '../page';
|
|
5
5
|
import { TokenChunkRequest } from '../token-chunk-request';
|
|
6
6
|
import { ContinuableListing } from '../continuable-listing';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IContinuableDataSource, IDataSource, IListDataSource, IPagedDataSource } from '../data-source';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { Filter } from '../../filter';
|
|
3
|
+
import { Filter } from '../../filters/filter';
|
|
4
4
|
import { Sort } from '../../sort';
|
|
5
5
|
import { Page, Pageable } from '../../page';
|
|
6
6
|
import { TokenChunkRequest } from '../../token-chunk-request';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { Sort } from '../../sort';
|
|
4
|
-
import { Filter } from '../../filter';
|
|
4
|
+
import { Filter } from '../../filters/filter';
|
|
5
5
|
import { Page, Pageable } from '../../page';
|
|
6
6
|
import { ContinuableListing } from '../../continuable-listing';
|
|
7
7
|
import { TokenChunkRequest } from '../../token-chunk-request';
|
|
@@ -6,7 +6,7 @@ export declare class FilterContext {
|
|
|
6
6
|
* Fields *
|
|
7
7
|
* *
|
|
8
8
|
**************************************************************************/
|
|
9
|
-
private readonly _filters
|
|
9
|
+
private readonly _filters$;
|
|
10
10
|
/***************************************************************************
|
|
11
11
|
* *
|
|
12
12
|
* Static Utilities *
|
|
@@ -52,6 +52,8 @@ export declare class FilterContext {
|
|
|
52
52
|
*/
|
|
53
53
|
replaceFilters(newFilters?: Filter[]): void;
|
|
54
54
|
clear(): void;
|
|
55
|
+
mergeFilters(filters: Filter[]): void;
|
|
56
|
+
mergeFilter(filter: Filter): void;
|
|
55
57
|
/***************************************************************************
|
|
56
58
|
* *
|
|
57
59
|
* Private methods *
|
|
@@ -22,13 +22,19 @@ export declare class Filter {
|
|
|
22
22
|
constructor(key: string, value: string | string[] | null);
|
|
23
23
|
/***************************************************************************
|
|
24
24
|
* *
|
|
25
|
-
*
|
|
25
|
+
* Public API *
|
|
26
26
|
* *
|
|
27
27
|
**************************************************************************/
|
|
28
|
+
static merge(current: Filter, forcedFilter: Filter): Filter;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if this filter supports multiple values.
|
|
31
|
+
* @param filter
|
|
32
|
+
*/
|
|
33
|
+
static isMulti(filter: Filter): boolean;
|
|
28
34
|
/**
|
|
29
35
|
* Checks if this filter has a value.
|
|
30
|
-
* This is the case when the value is non
|
|
31
|
-
* in case
|
|
36
|
+
* This is the case when the value is non-null and
|
|
37
|
+
* in case it's an array, also non-empty.
|
|
32
38
|
*/
|
|
33
39
|
static hasValue(self: Filter): boolean;
|
|
34
40
|
/**
|
|
@@ -37,4 +43,10 @@ export declare class Filter {
|
|
|
37
43
|
* @param other
|
|
38
44
|
*/
|
|
39
45
|
static equals(self: Filter, other: Filter): boolean;
|
|
46
|
+
/***************************************************************************
|
|
47
|
+
* *
|
|
48
|
+
* Private methods *
|
|
49
|
+
* *
|
|
50
|
+
**************************************************************************/
|
|
51
|
+
private static addValuesToSet;
|
|
40
52
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Filter } from './filter';
|
|
1
|
+
import { Filter } from './filters/filter';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { FilterContext } from './filter-context';
|
|
3
|
+
import { FilterContext } from './filters/filter-context';
|
|
4
4
|
export declare class RequiredFilterContextChangedEvent {
|
|
5
5
|
readonly requiredFilters: Array<string[]>;
|
|
6
6
|
readonly currentFilters: Filter[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { IDataSource } from '../../../common/data/datasource/data-source';
|
|
3
|
-
import { Filter } from '../../../common/data/filter';
|
|
3
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
4
4
|
import { Sort } from '../../../common/data/sort';
|
|
5
5
|
import { CsvSpec } from '../../../common/csv/csv-spec';
|
|
6
6
|
import { CsvStreamExporterBuilderService } from '../elder-csv-stream-exporter-builder.service';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IDataSource } from '../../common/data/datasource/data-source';
|
|
2
|
-
import { Filter } from '../../common/data/filter';
|
|
2
|
+
import { Filter } from '../../common/data/filters/filter';
|
|
3
3
|
import { Sort } from '../../common/data/sort';
|
|
4
4
|
import { CsvSpec } from '../../common/csv/csv-spec';
|
|
5
5
|
import { TranslateService } from '@ngx-translate/core';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Sort } from '../../../common/data/sort';
|
|
2
|
-
import { Filter } from '../../../common/data/filter';
|
|
2
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
3
3
|
import { ElderDataViewInteractionMode } from '../elder-data-view-interaction-mode';
|
|
4
4
|
/**
|
|
5
5
|
* Options for supporting data view components.
|
|
@@ -30,4 +30,5 @@ export declare class ElderDataViewOptions {
|
|
|
30
30
|
withFilters(filters: Filter[]): ElderDataViewOptions;
|
|
31
31
|
withSelectionMultiEnabled(selectionMultiEnabled: boolean): ElderDataViewOptions;
|
|
32
32
|
withInteractionMode(interactionMode: ElderDataViewInteractionMode): ElderDataViewOptions;
|
|
33
|
+
withOptions(options: ElderDataViewOptions): ElderDataViewOptions;
|
|
33
34
|
}
|
|
@@ -1,38 +1,32 @@
|
|
|
1
|
-
import { AfterViewInit, OnDestroy
|
|
1
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs/internal/Observable';
|
|
3
3
|
import { SearchInput } from './model/search-input';
|
|
4
|
-
import { Filter } from '../../../common/data/filter';
|
|
5
|
-
import { FilterContext } from '../../../common/data/filter-context';
|
|
4
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
5
|
+
import { FilterContext } from '../../../common/data/filters/filter-context';
|
|
6
6
|
import { SearchInputState } from './model/search-input-state';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
/**
|
|
9
9
|
* The search container manages a group of search-inputs
|
|
10
10
|
* and holds their values in a central search model.
|
|
11
11
|
*/
|
|
12
|
-
export declare class ElderSearchContextDirective implements
|
|
12
|
+
export declare class ElderSearchContextDirective implements AfterViewInit, OnDestroy {
|
|
13
13
|
/***************************************************************************
|
|
14
14
|
* *
|
|
15
15
|
* Fields *
|
|
16
16
|
* *
|
|
17
17
|
**************************************************************************/
|
|
18
|
+
private forcedFilters$;
|
|
18
19
|
private readonly log;
|
|
19
20
|
private readonly unsubscribe$;
|
|
20
21
|
private readonly _searchInputs;
|
|
21
22
|
private readonly _searchStates;
|
|
22
23
|
private readonly _filters;
|
|
23
24
|
private _filterContext;
|
|
24
|
-
/***************************************************************************
|
|
25
|
-
* *
|
|
26
|
-
* Constructor *
|
|
27
|
-
* *
|
|
28
|
-
**************************************************************************/
|
|
29
|
-
constructor();
|
|
30
25
|
/***************************************************************************
|
|
31
26
|
* *
|
|
32
27
|
* Life Cycle *
|
|
33
28
|
* *
|
|
34
29
|
**************************************************************************/
|
|
35
|
-
ngOnInit(): void;
|
|
36
30
|
ngAfterViewInit(): void;
|
|
37
31
|
ngOnDestroy(): void;
|
|
38
32
|
/***************************************************************************
|
|
@@ -42,6 +36,14 @@ export declare class ElderSearchContextDirective implements OnInit, AfterViewIni
|
|
|
42
36
|
**************************************************************************/
|
|
43
37
|
set filterContext(value: FilterContext);
|
|
44
38
|
get filterContext(): FilterContext;
|
|
39
|
+
/**
|
|
40
|
+
* Forced filters are always merged into the final FilterContext.
|
|
41
|
+
*
|
|
42
|
+
* This means they override user defined filters, but attempt
|
|
43
|
+
* to also keep the users intent (by merging) them.
|
|
44
|
+
*/
|
|
45
|
+
set forcedFilters(filters: Filter[]);
|
|
46
|
+
get forcedFilters(): Filter[];
|
|
45
47
|
get attributes(): Observable<SearchInput[]>;
|
|
46
48
|
get attributesSnapshot(): SearchInput[];
|
|
47
49
|
get states$(): Observable<SearchInputState[]>;
|
|
@@ -71,6 +73,7 @@ export declare class ElderSearchContextDirective implements OnInit, AfterViewIni
|
|
|
71
73
|
* *
|
|
72
74
|
**************************************************************************/
|
|
73
75
|
private convertToFilters;
|
|
76
|
+
private applyFilters;
|
|
74
77
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderSearchContextDirective, never>;
|
|
75
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderSearchContextDirective, "[elderSearchContext]", ["elderSearchContext"], { "filterContext": "elderSearchContext"; }, {}, never, never, false>;
|
|
78
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderSearchContextDirective, "[elderSearchContext]", ["elderSearchContext"], { "filterContext": "elderSearchContext"; "forcedFilters": "forcedFilters"; }, {}, never, never, false>;
|
|
76
79
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, OnDestroy
|
|
1
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
2
|
import { ElderSearchContextDirective } from './elder-search-context.directive';
|
|
3
3
|
import { Observable } from 'rxjs/internal/Observable';
|
|
4
4
|
import { NgModel } from '@angular/forms';
|
|
@@ -8,7 +8,7 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
/**
|
|
9
9
|
* Search name adapter for input controls.
|
|
10
10
|
*/
|
|
11
|
-
export declare class ElderSearchInputDirective implements
|
|
11
|
+
export declare class ElderSearchInputDirective implements OnDestroy, AfterViewInit, SearchInput {
|
|
12
12
|
private searchContext;
|
|
13
13
|
private ngModel;
|
|
14
14
|
/***************************************************************************
|
|
@@ -16,10 +16,6 @@ export declare class ElderSearchInputDirective implements OnInit, OnDestroy, Aft
|
|
|
16
16
|
* Fields *
|
|
17
17
|
* *
|
|
18
18
|
**************************************************************************/
|
|
19
|
-
private readonly logger;
|
|
20
|
-
private readonly _state;
|
|
21
|
-
private _extractedName;
|
|
22
|
-
private readonly unsubscribe$;
|
|
23
19
|
/**
|
|
24
20
|
* (Optional) Usually the control name is used, this allows a custom query key
|
|
25
21
|
*/
|
|
@@ -37,6 +33,10 @@ export declare class ElderSearchInputDirective implements OnInit, OnDestroy, Aft
|
|
|
37
33
|
* (Optional) Use this value for the query if none is provided.
|
|
38
34
|
*/
|
|
39
35
|
fallbackValue: string | string[];
|
|
36
|
+
private readonly _state;
|
|
37
|
+
private _extractedName;
|
|
38
|
+
private readonly destroy$;
|
|
39
|
+
private readonly log;
|
|
40
40
|
/***************************************************************************
|
|
41
41
|
* *
|
|
42
42
|
* Constructor *
|
|
@@ -48,7 +48,6 @@ export declare class ElderSearchInputDirective implements OnInit, OnDestroy, Aft
|
|
|
48
48
|
* Life Cycle *
|
|
49
49
|
* *
|
|
50
50
|
**************************************************************************/
|
|
51
|
-
ngOnInit(): void;
|
|
52
51
|
ngAfterViewInit(): void;
|
|
53
52
|
ngOnDestroy(): void;
|
|
54
53
|
/***************************************************************************
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Page, Pageable } from '../../common/data/page';
|
|
2
|
-
import { Filter } from '../../common/data/filter';
|
|
2
|
+
import { Filter } from '../../common/data/filters/filter';
|
|
3
3
|
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -3,6 +3,7 @@ import { IframeHostComponent } from '../../iframe-host/iframe-host.component';
|
|
|
3
3
|
import { SelectionModel } from '../../../../common/selection/selection-model';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { DataViewMessage, TypedEventMessage } from '../../typed-event-message';
|
|
6
|
+
import { ElderDataViewOptionsProvider } from '../../../data-view/base/elder-data-view-options-provider';
|
|
6
7
|
import { ElderDataViewOptions } from '../../../data-view/base/elder-data-view-options';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
/**
|
|
@@ -11,6 +12,7 @@ import * as i0 from "@angular/core";
|
|
|
11
12
|
* and iframe parent.
|
|
12
13
|
*/
|
|
13
14
|
export declare class DataViewIframeComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
15
|
+
private dataViewOptionsProvider;
|
|
14
16
|
private selectionModel;
|
|
15
17
|
/***************************************************************************
|
|
16
18
|
* *
|
|
@@ -29,7 +31,7 @@ export declare class DataViewIframeComponent implements OnInit, OnDestroy, After
|
|
|
29
31
|
* Constructor *
|
|
30
32
|
* *
|
|
31
33
|
**************************************************************************/
|
|
32
|
-
constructor(selectionModel: SelectionModel<any>);
|
|
34
|
+
constructor(dataViewOptionsProvider: ElderDataViewOptionsProvider, selectionModel: SelectionModel<any>);
|
|
33
35
|
/***************************************************************************
|
|
34
36
|
* *
|
|
35
37
|
* Life Cycle *
|
|
@@ -61,6 +63,6 @@ export declare class DataViewIframeComponent implements OnInit, OnDestroy, After
|
|
|
61
63
|
private handleSelectionMessage;
|
|
62
64
|
private setupDataViewOptionsBridge;
|
|
63
65
|
private buildDataViewInitMessage;
|
|
64
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DataViewIframeComponent, [{ optional: true; }]>;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataViewIframeComponent, [{ optional: true; }, { optional: true; }]>;
|
|
65
67
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataViewIframeComponent, "elder-data-view-iframe", never, { "srcUrl": "srcUrl"; "idField": "idField"; "initialSelection": "initialSelection"; "dataViewOptions": "dataViewOptions"; }, {}, never, never, false>;
|
|
66
68
|
}
|
package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ElderAutocompleteComponent } from './elder-autocomplete.component';
|
|
2
|
+
export declare class ElderAutocompleteOptionSelected<T = any, TId = any> {
|
|
3
|
+
readonly source: ElderAutocompleteComponent<T, TId>;
|
|
4
|
+
readonly entityId: TId;
|
|
5
|
+
readonly entity: T;
|
|
6
|
+
readonly optionValue: any;
|
|
7
|
+
constructor(source: ElderAutocompleteComponent<T, TId>, entityId: TId, entity: T, optionValue: any);
|
|
8
|
+
}
|
package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgZone, TemplateRef } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
3
3
|
import { IDataContext } from '../../../../common/data/data-context/data-context';
|
|
4
4
|
import { DataContextStatus } from '../../../../common/data/data-context/data-context-status';
|
|
5
5
|
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
6
|
+
import { ElderAutocompleteOptionSelected } from './elder-autocomplete-option-selected';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
declare type TextResolverFn = (value: any) => string;
|
|
8
|
-
export declare class ElderAutocompleteComponent<T = any, TId = any>
|
|
9
|
+
export declare class ElderAutocompleteComponent<T = any, TId = any> {
|
|
9
10
|
private readonly zone;
|
|
10
11
|
/***************************************************************************
|
|
11
12
|
* *
|
|
@@ -29,25 +30,22 @@ export declare class ElderAutocompleteComponent<T = any, TId = any> implements O
|
|
|
29
30
|
set matAutocomplete(auto: MatAutocomplete);
|
|
30
31
|
isOptionDisabledFn: (option: T) => boolean;
|
|
31
32
|
isOptionHiddenFn: (option: T) => boolean;
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
optionValueConverterFn: (option: T) => any;
|
|
34
|
+
/**
|
|
35
|
+
* The DataContext which holds the autocomplete suggestions.
|
|
36
|
+
*/
|
|
37
|
+
readonly dataContext$: BehaviorSubject<IDataContext<T>>;
|
|
34
38
|
readonly triggerReload$: Subject<any>;
|
|
35
39
|
readonly displayPropertyResolver$: BehaviorSubject<TextResolverFn>;
|
|
36
40
|
readonly dataState$: Observable<DataContextStatus>;
|
|
37
41
|
readonly availableSuggestions$: Observable<T[]>;
|
|
38
|
-
readonly optionSelected: Subject<
|
|
42
|
+
readonly optionSelected: Subject<ElderAutocompleteOptionSelected<any, any>>;
|
|
39
43
|
/***************************************************************************
|
|
40
44
|
* *
|
|
41
45
|
* Constructor *
|
|
42
46
|
* *
|
|
43
47
|
**************************************************************************/
|
|
44
48
|
constructor(zone: NgZone);
|
|
45
|
-
/***************************************************************************
|
|
46
|
-
* *
|
|
47
|
-
* Life Cycle *
|
|
48
|
-
* *
|
|
49
|
-
**************************************************************************/
|
|
50
|
-
ngOnInit(): void;
|
|
51
49
|
/***************************************************************************
|
|
52
50
|
* *
|
|
53
51
|
* Properties *
|
|
@@ -57,8 +55,8 @@ export declare class ElderAutocompleteComponent<T = any, TId = any> implements O
|
|
|
57
55
|
get enabled(): boolean;
|
|
58
56
|
set valueTemplate(template: TemplateRef<any>);
|
|
59
57
|
get valueTemplate(): TemplateRef<any>;
|
|
60
|
-
set
|
|
61
|
-
get
|
|
58
|
+
set dataContext(data: IDataContext<T>);
|
|
59
|
+
get dataContext(): IDataContext<T>;
|
|
62
60
|
set displayPropertyResolver(resolver: TextResolverFn);
|
|
63
61
|
/***************************************************************************
|
|
64
62
|
* *
|
|
@@ -66,12 +64,14 @@ export declare class ElderAutocompleteComponent<T = any, TId = any> implements O
|
|
|
66
64
|
* *
|
|
67
65
|
**************************************************************************/
|
|
68
66
|
onOptionSelected(event: MatAutocompleteSelectedEvent): void;
|
|
67
|
+
private getEntityById;
|
|
69
68
|
onAutocompleteOpened(event: any): void;
|
|
70
69
|
onAutoCompleteCloseToEnd(event: UIEvent): void;
|
|
71
70
|
getIdAsString(value: T): string;
|
|
72
71
|
getId(value: T): TId;
|
|
73
72
|
isOptionAvailable(option: T): boolean;
|
|
74
73
|
isOptionVisible(option: T): boolean;
|
|
74
|
+
toOptionValue(option: T): any;
|
|
75
75
|
/***************************************************************************
|
|
76
76
|
* *
|
|
77
77
|
* Private methods *
|
|
@@ -82,6 +82,6 @@ export declare class ElderAutocompleteComponent<T = any, TId = any> implements O
|
|
|
82
82
|
*/
|
|
83
83
|
private propertyStringValue;
|
|
84
84
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderAutocompleteComponent<any, any>, never>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderAutocompleteComponent<any, any>, "elder-autocomplete", ["elderAutocomplete"], { "isOptionDisabledFn": "isOptionDisabledFn"; "isOptionHiddenFn": "isOptionHiddenFn"; "enabled": "enabled"; "valueTemplate": "valueTemplate"; "
|
|
85
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderAutocompleteComponent<any, any>, "elder-autocomplete", ["elderAutocomplete"], { "isOptionDisabledFn": "isOptionDisabledFn"; "isOptionHiddenFn": "isOptionHiddenFn"; "optionValueConverterFn": "optionValueConverterFn"; "enabled": "enabled"; "valueTemplate": "valueTemplate"; "dataContext": "dataContext"; "displayPropertyResolver": "displayPropertyResolver"; }, { "optionSelected": "optionSelected"; }, ["valueTemplateQuery"], never, false>;
|
|
86
86
|
}
|
|
87
87
|
export {};
|
|
@@ -1,59 +1,78 @@
|
|
|
1
|
-
import { ElementRef,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { ElderAutocompleteComponent } from './elder-autocomplete/elder-autocomplete.component';
|
|
4
|
+
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
5
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
6
|
+
import { Sort } from '../../../common/data/sort';
|
|
7
|
+
import { TextResolverFn } from '../../select/elder-select-base';
|
|
5
8
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class
|
|
9
|
+
export declare class ElderAutocompleteManyDirective<T> implements OnInit, OnDestroy {
|
|
10
|
+
private readonly autoCompleteTrigger;
|
|
11
|
+
private readonly inputRef;
|
|
7
12
|
/***************************************************************************
|
|
8
13
|
* *
|
|
9
14
|
* Fields *
|
|
10
15
|
* *
|
|
11
16
|
**************************************************************************/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
suggestionProvider: ISuggestionProvider<string>;
|
|
17
|
+
queryFilter: string;
|
|
18
|
+
filters: Filter[];
|
|
19
|
+
sorts: Sort[];
|
|
16
20
|
/**
|
|
17
|
-
*
|
|
21
|
+
* The property on a suggestion object which is used
|
|
22
|
+
* as the display and insert value.
|
|
18
23
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
private
|
|
24
|
+
textProperty: string;
|
|
25
|
+
textPropertyResolverFn: TextResolverFn;
|
|
26
|
+
readonly inputKeyup$: Subject<KeyboardEvent>;
|
|
27
|
+
private readonly ignoreKeys;
|
|
28
|
+
private readonly log;
|
|
29
|
+
private readonly wordFinder;
|
|
30
|
+
private _elderAutocomplete;
|
|
31
|
+
private readonly destroy$;
|
|
32
|
+
private readonly destroyAutocompleteBinding$;
|
|
24
33
|
/***************************************************************************
|
|
25
34
|
* *
|
|
26
35
|
* Constructor *
|
|
27
36
|
* *
|
|
28
37
|
**************************************************************************/
|
|
29
|
-
constructor();
|
|
38
|
+
constructor(autoCompleteTrigger: MatAutocompleteTrigger, inputRef: ElementRef<HTMLInputElement>);
|
|
30
39
|
/***************************************************************************
|
|
31
40
|
* *
|
|
32
|
-
*
|
|
41
|
+
* Properties *
|
|
33
42
|
* *
|
|
34
43
|
**************************************************************************/
|
|
35
|
-
|
|
36
|
-
|
|
44
|
+
set autocomplete(auto: ElderAutocompleteComponent);
|
|
45
|
+
get autocomplete(): ElderAutocompleteComponent;
|
|
46
|
+
private get cursorPosition();
|
|
47
|
+
private set cursorPosition(value);
|
|
48
|
+
private get dataContext();
|
|
37
49
|
/***************************************************************************
|
|
38
50
|
* *
|
|
39
|
-
*
|
|
51
|
+
* Host Listener *
|
|
40
52
|
* *
|
|
41
53
|
**************************************************************************/
|
|
54
|
+
onKeyUp(event: KeyboardEvent): void;
|
|
42
55
|
/***************************************************************************
|
|
43
56
|
* *
|
|
44
|
-
*
|
|
57
|
+
* Life Cycle *
|
|
45
58
|
* *
|
|
46
59
|
**************************************************************************/
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
ngOnInit(): void;
|
|
61
|
+
ngOnDestroy(): void;
|
|
49
62
|
/***************************************************************************
|
|
50
63
|
* *
|
|
51
64
|
* Private methods *
|
|
52
65
|
* *
|
|
53
66
|
**************************************************************************/
|
|
54
|
-
private
|
|
55
|
-
private
|
|
67
|
+
private extractWordAtCursor;
|
|
68
|
+
private cursorBeforeAutocomplete;
|
|
69
|
+
private rememberCursorPosition;
|
|
56
70
|
private extractWordFrom;
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
private updateSuggestions;
|
|
72
|
+
private insertSuggestion;
|
|
73
|
+
private currentInputValue;
|
|
74
|
+
private resolveSuggestionText;
|
|
75
|
+
private onOptionSelected;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderAutocompleteManyDirective<any>, never>;
|
|
77
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderAutocompleteManyDirective<any>, "[elderAutocompleteMany]", never, { "queryFilter": "queryFilter"; "filters": "filters"; "sorts": "sorts"; "textProperty": "textProperty"; "textPropertyResolverFn": "textPropertyResolverFn"; "autocomplete": "elderAutocompleteMany"; }, {}, never, never, false>;
|
|
59
78
|
}
|
|
@@ -2,7 +2,7 @@ import { OnDestroy, OnInit } from '@angular/core';
|
|
|
2
2
|
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
3
3
|
import { ElderAutocompleteComponent } from './elder-autocomplete/elder-autocomplete.component';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
|
-
import { Filter } from '../../../common/data/filter';
|
|
5
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
6
6
|
import { IDataContext } from '../../../common/data/data-context/data-context';
|
|
7
7
|
import { Sort } from '../../../common/data/sort';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -28,7 +28,6 @@ export declare class ElderAutocompleteDirective implements OnInit, OnDestroy {
|
|
|
28
28
|
* *
|
|
29
29
|
**************************************************************************/
|
|
30
30
|
constructor(autoCompleteTrigger: MatAutocompleteTrigger);
|
|
31
|
-
ngOnDestroy(): void;
|
|
32
31
|
/***************************************************************************
|
|
33
32
|
* *
|
|
34
33
|
* Host Listener *
|
|
@@ -41,6 +40,7 @@ export declare class ElderAutocompleteDirective implements OnInit, OnDestroy {
|
|
|
41
40
|
* *
|
|
42
41
|
**************************************************************************/
|
|
43
42
|
ngOnInit(): void;
|
|
43
|
+
ngOnDestroy(): void;
|
|
44
44
|
/***************************************************************************
|
|
45
45
|
* *
|
|
46
46
|
* Properties *
|