@elderbyte/ngx-starter 19.11.1 → 19.13.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/elderbyte-ngx-starter.mjs +2056 -1713
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/datasource/curated/curated-data-source.d.ts +43 -0
- package/lib/common/data/datasource/curated/curated-list-data-source.d.ts +24 -0
- package/lib/common/data/datasource/curated/curated-paged-data-source.d.ts +30 -0
- package/lib/common/data/datasource/data-source-base.d.ts +3 -2
- package/lib/common/data/datasource/entity-id-util.d.ts +4 -1
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +7 -4
- package/lib/common/data/datasource/public_api.d.ts +4 -0
- package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +4 -20
- package/lib/common/forms/entities-change-event.d.ts +19 -0
- package/lib/common/forms/public_api.d.ts +2 -0
- package/lib/common/forms/value-accessor-base.d.ts +14 -7
- package/lib/common/forms/value-change-event.d.ts +6 -0
- package/lib/common/utils/local-data-filter.d.ts +44 -11
- package/lib/common/utils/object-path-resolver.d.ts +15 -0
- package/lib/components/badge/elder-badge.directive.d.ts +2 -56
- package/lib/components/chips/elder-chip-label.directive.d.ts +1 -1
- package/lib/components/data-view/common/elder-data-common.module.d.ts +12 -13
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +20 -11
- package/lib/components/data-view/table/table-navigation/table-navigation.component.d.ts +47 -0
- package/lib/components/public_api.d.ts +1 -1
- package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +2 -2
- package/lib/components/select/filter/elder-chips-include-exclude.directive.d.ts +7 -6
- package/lib/components/select/filter/include-exclude-selection-model.d.ts +19 -16
- package/lib/components/select/multi/elder-multi-select-base.d.ts +19 -10
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips-options.directive.d.ts +42 -0
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +3 -2
- package/lib/components/select/multi/public_api.d.ts +1 -0
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +3 -1
- package/lib/components/time/elder-toggle-text-input.directive.d.ts +34 -0
- package/lib/components/time/public_api.d.ts +1 -0
- package/lib/components/time/smart-local-date-parser.service.d.ts +9 -0
- package/package.json +1 -1
- package/src/assets/i18n/de.json +1 -1
- package/src/lib/components/data-view/table/table-navigation/table-navigation.component.scss +0 -0
- package/theming/abstracts/_elder-design-tokens.scss +2 -26
- package/theming/abstracts/_elder-starter-theme.scss +2 -1
- package/theming/base/_elder-fixes-base.scss +1 -25
- package/theming/components/_elder-table-theme.scss +1 -1
- package/theming/components/_mat-badge-theme.scss +53 -0
- package/lib/components/badge/elder-badge/elder-badge.component.d.ts +0 -85
- package/lib/components/badge/elder-badge.module.d.ts +0 -15
- package/src/lib/components/badge/elder-badge/elder-badge.component.scss +0 -99
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AfterViewInit, OnDestroy, Signal } from '@angular/core';
|
|
2
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
3
|
+
import { ElderContinuatorComponent, ElderTableComponent } from '../../public_api';
|
|
4
|
+
import { PageRequest } from '../../../../common/data/public_api';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class TableNavigationComponent implements AfterViewInit, OnDestroy {
|
|
7
|
+
protected readonly elderTable: ElderTableComponent;
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Fields *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
protected readonly matPaginator: Signal<MatPaginator>;
|
|
14
|
+
private readonly matPaginator$;
|
|
15
|
+
protected readonly elderContinuator: Signal<ElderContinuatorComponent>;
|
|
16
|
+
private readonly elderContinuator$;
|
|
17
|
+
private readonly destroy$;
|
|
18
|
+
/***************************************************************************
|
|
19
|
+
* *
|
|
20
|
+
* Constructor *
|
|
21
|
+
* *
|
|
22
|
+
**************************************************************************/
|
|
23
|
+
constructor(elderTable: ElderTableComponent);
|
|
24
|
+
/***************************************************************************
|
|
25
|
+
* *
|
|
26
|
+
* Life Cycle *
|
|
27
|
+
* *
|
|
28
|
+
**************************************************************************/
|
|
29
|
+
ngAfterViewInit(): void;
|
|
30
|
+
ngOnDestroy(): void;
|
|
31
|
+
/***************************************************************************
|
|
32
|
+
* *
|
|
33
|
+
* Properties *
|
|
34
|
+
* *
|
|
35
|
+
**************************************************************************/
|
|
36
|
+
get isContinuable(): boolean;
|
|
37
|
+
get isActivePaged(): boolean;
|
|
38
|
+
get total(): Signal<string>;
|
|
39
|
+
get viewData(): Signal<any[]>;
|
|
40
|
+
get canLoadMore(): Signal<boolean>;
|
|
41
|
+
get pageSizeOptions(): Signal<number[]>;
|
|
42
|
+
get currentChunkSize(): Signal<number>;
|
|
43
|
+
get currentPage(): Signal<PageRequest>;
|
|
44
|
+
loadMore(): void;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableNavigationComponent, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableNavigationComponent, "elder-table-navigation", never, {}, {}, never, never, true, never>;
|
|
47
|
+
}
|
|
@@ -38,7 +38,7 @@ export * from './iframes/elder-iframe.module';
|
|
|
38
38
|
export * from './errors/elder-error.module';
|
|
39
39
|
export * from './auditing/elder-audit.module';
|
|
40
40
|
export * from './tabs/elder-tab.module';
|
|
41
|
-
export * from './badge/elder-badge.module';
|
|
42
41
|
export * from './page/public_api';
|
|
43
42
|
export * from './layout/public_api';
|
|
44
43
|
export * from './colors/public_api';
|
|
44
|
+
export * from './badge/elder-badge.directive';
|
|
@@ -14,6 +14,6 @@ export default class ElderChipFilterStyleResolver {
|
|
|
14
14
|
* Public API *
|
|
15
15
|
* *
|
|
16
16
|
**************************************************************************/
|
|
17
|
-
resolveChipSpec(filterEntity: IncludeExcludeState): SelectChipSpec;
|
|
18
|
-
resolveAvatarIcon(filterEntity: IncludeExcludeState): string;
|
|
17
|
+
resolveChipSpec(filterEntity: IncludeExcludeState<any>): SelectChipSpec;
|
|
18
|
+
resolveAvatarIcon(filterEntity: IncludeExcludeState<any>): string;
|
|
19
19
|
}
|
|
@@ -6,9 +6,9 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* Adds the ability to toggle select chips of a ElderMultiSelectChipsComponent by
|
|
7
7
|
* binding it to a IncludeExcludeSelectionModel.
|
|
8
8
|
*/
|
|
9
|
-
export declare class ElderChipsIncludeExcludeDirective<T = any> {
|
|
10
|
-
readonly elderMultiSelectChips: ElderMultiSelectChipsComponent
|
|
11
|
-
readonly selectionModel: IncludeExcludeSelectionModel
|
|
9
|
+
export declare class ElderChipsIncludeExcludeDirective<T = any, TId = string> {
|
|
10
|
+
readonly elderMultiSelectChips: ElderMultiSelectChipsComponent<TId, T>;
|
|
11
|
+
readonly selectionModel: IncludeExcludeSelectionModel<TId>;
|
|
12
12
|
readonly vcr: ViewContainerRef;
|
|
13
13
|
private readonly destroyRef;
|
|
14
14
|
/***************************************************************************
|
|
@@ -23,7 +23,7 @@ export declare class ElderChipsIncludeExcludeDirective<T = any> {
|
|
|
23
23
|
* Constructor *
|
|
24
24
|
* *
|
|
25
25
|
**************************************************************************/
|
|
26
|
-
constructor(elderMultiSelectChips: ElderMultiSelectChipsComponent, selectionModel: IncludeExcludeSelectionModel
|
|
26
|
+
constructor(elderMultiSelectChips: ElderMultiSelectChipsComponent<TId, T>, selectionModel: IncludeExcludeSelectionModel<TId>, vcr: ViewContainerRef, destroyRef: DestroyRef);
|
|
27
27
|
/***************************************************************************
|
|
28
28
|
* *
|
|
29
29
|
* Properties *
|
|
@@ -38,6 +38,7 @@ export declare class ElderChipsIncludeExcludeDirective<T = any> {
|
|
|
38
38
|
private setupFilterChips;
|
|
39
39
|
private createFilterChipTemplate;
|
|
40
40
|
private setupElderMultiSelectChipsListeners;
|
|
41
|
+
private applyOptionChipsChangeEvent;
|
|
41
42
|
private resolveChipSpec;
|
|
42
43
|
private resolveAvatarIcon;
|
|
43
44
|
private handleChipClick;
|
|
@@ -45,6 +46,6 @@ export declare class ElderChipsIncludeExcludeDirective<T = any> {
|
|
|
45
46
|
private ensureChipsNoChanges;
|
|
46
47
|
private findFilterEntityByEntity;
|
|
47
48
|
private findFilterEntityById;
|
|
48
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ElderChipsIncludeExcludeDirective<any>, never>;
|
|
49
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderChipsIncludeExcludeDirective<any>, "[elderChipsIncludeExclude]", ["elderChipsIncludeExclude"], { "cycleStrategy": { "alias": "cycleStrategy"; "required": false; }; }, {}, never, never, true, never>;
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderChipsIncludeExcludeDirective<any, any>, never>;
|
|
50
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderChipsIncludeExcludeDirective<any, any>, "[elderChipsIncludeExclude]", ["elderChipsIncludeExclude"], { "cycleStrategy": { "alias": "cycleStrategy"; "required": false; }; }, {}, never, never, true, never>;
|
|
50
51
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
export declare class IncludeExcludeState {
|
|
3
|
-
readonly id:
|
|
2
|
+
export declare class IncludeExcludeState<TId = string> {
|
|
3
|
+
readonly id: TId;
|
|
4
4
|
mode: IncludeExcludeValue;
|
|
5
|
-
constructor(id:
|
|
5
|
+
constructor(id: TId, mode: IncludeExcludeValue);
|
|
6
6
|
}
|
|
7
7
|
export declare enum IncludeExcludeValue {
|
|
8
8
|
NEUTRAL = "NEUTRAL",
|
|
@@ -10,7 +10,7 @@ export declare enum IncludeExcludeValue {
|
|
|
10
10
|
EXCLUDE = "EXCLUDE"
|
|
11
11
|
}
|
|
12
12
|
export type IncludeExcludeCycleStrategy = 'TOGGLE' | 'FULL_CYCLE';
|
|
13
|
-
export declare class IncludeExcludeSelectionModel {
|
|
13
|
+
export declare class IncludeExcludeSelectionModel<TId = string> {
|
|
14
14
|
/***************************************************************************
|
|
15
15
|
* *
|
|
16
16
|
* Fields *
|
|
@@ -19,7 +19,7 @@ export declare class IncludeExcludeSelectionModel {
|
|
|
19
19
|
private readonly log;
|
|
20
20
|
private _strategy;
|
|
21
21
|
private _defaultInitialValue;
|
|
22
|
-
private readonly
|
|
22
|
+
private readonly _stateById$;
|
|
23
23
|
/***************************************************************************
|
|
24
24
|
* *
|
|
25
25
|
* Constructor *
|
|
@@ -31,8 +31,8 @@ export declare class IncludeExcludeSelectionModel {
|
|
|
31
31
|
* Properties *
|
|
32
32
|
* *
|
|
33
33
|
**************************************************************************/
|
|
34
|
-
get selection(): IncludeExcludeState[];
|
|
35
|
-
get selection$(): Observable<IncludeExcludeState[]>;
|
|
34
|
+
get selection(): IncludeExcludeState<TId>[];
|
|
35
|
+
get selection$(): Observable<IncludeExcludeState<TId>[]>;
|
|
36
36
|
get strategy(): IncludeExcludeCycleStrategy;
|
|
37
37
|
set strategy(strategy: IncludeExcludeCycleStrategy);
|
|
38
38
|
get defaultInitialValue(): IncludeExcludeValue;
|
|
@@ -42,16 +42,18 @@ export declare class IncludeExcludeSelectionModel {
|
|
|
42
42
|
* Public API *
|
|
43
43
|
* *
|
|
44
44
|
**************************************************************************/
|
|
45
|
-
findIncluded():
|
|
46
|
-
findExcluded():
|
|
47
|
-
cycleExisting(id:
|
|
48
|
-
initTo(ids:
|
|
45
|
+
findIncluded(): TId[];
|
|
46
|
+
findExcluded(): TId[];
|
|
47
|
+
cycleExisting(id: TId): IncludeExcludeState<TId> | null;
|
|
48
|
+
initTo(ids: TId[], initialValueOverride?: IncludeExcludeValue): void;
|
|
49
|
+
resetAllTo(initialValueOverride?: IncludeExcludeValue): void;
|
|
50
|
+
resetTo(ids: TId[], resetValue: IncludeExcludeValue | undefined): void;
|
|
49
51
|
clear(): void;
|
|
50
|
-
replaceSelection(newStates: IncludeExcludeState[]): void;
|
|
51
|
-
updateState(id:
|
|
52
|
-
updateStates(newStates: IncludeExcludeState[]): void;
|
|
53
|
-
isInMode(id:
|
|
54
|
-
findStateById(searchedId:
|
|
52
|
+
replaceSelection(newStates: IncludeExcludeState<TId>[]): void;
|
|
53
|
+
updateState(id: TId, mode: IncludeExcludeValue): IncludeExcludeState<TId>;
|
|
54
|
+
updateStates(newStates: IncludeExcludeState<TId>[]): void;
|
|
55
|
+
isInMode(id: TId, mode: IncludeExcludeValue): boolean;
|
|
56
|
+
findStateById(searchedId: TId): IncludeExcludeState<TId> | null;
|
|
55
57
|
/***************************************************************************
|
|
56
58
|
* *
|
|
57
59
|
* Private methods *
|
|
@@ -61,4 +63,5 @@ export declare class IncludeExcludeSelectionModel {
|
|
|
61
63
|
private nextValueToggle;
|
|
62
64
|
private nextValueFullCycle;
|
|
63
65
|
private toStateMap;
|
|
66
|
+
private replaceStateMap;
|
|
64
67
|
}
|
|
@@ -3,6 +3,7 @@ import { IDataContext } from '../../../common/data/data-context/data-context';
|
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { IElderMultiEntityValueAccessor } from '../../../common/forms/elder-multi-entity-value-accessor';
|
|
5
5
|
import { Sort } from '../../../common/data/sort';
|
|
6
|
+
import { EntitiesChangeEvent } from '../../../common/forms/entities-change-event';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Base component implementation of elder-multi-select.
|
|
@@ -22,6 +23,7 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
|
|
|
22
23
|
private readonly logger;
|
|
23
24
|
private readonly _entityIds$;
|
|
24
25
|
private readonly _entities$;
|
|
26
|
+
private readonly dialogService;
|
|
25
27
|
/**
|
|
26
28
|
* Defines how the entities should be sorted locally.
|
|
27
29
|
* This affects how entities are displayed when more than
|
|
@@ -33,26 +35,29 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
|
|
|
33
35
|
* the user will be prompted to confirm.
|
|
34
36
|
*/
|
|
35
37
|
confirmRemoval: boolean;
|
|
36
|
-
readonly
|
|
37
|
-
readonly entitiesChange: Observable<TEntity[]>;
|
|
38
|
+
readonly entitiesChangeEvent: Observable<EntitiesChangeEvent<TId, TEntity>>;
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
-
* has updated the value.
|
|
40
|
+
* @deprecated Switch to entitiesChangeEvent
|
|
41
41
|
*/
|
|
42
|
-
readonly
|
|
42
|
+
readonly entitiesChange: Observable<TEntity[]>;
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
45
|
-
* has updated the value.
|
|
44
|
+
* @deprecated Switch to entitiesChangeEvent (filter by userInitiated)
|
|
46
45
|
*/
|
|
47
46
|
readonly entitiesUpdated: Observable<TEntity[]>;
|
|
48
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @deprecated Switch to entitiesChangeEvent
|
|
49
|
+
*/
|
|
50
|
+
readonly entityIdsChange: Observable<TId[]>;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Switch to entitiesChangeEvent (filter by userInitiated)
|
|
53
|
+
*/
|
|
54
|
+
readonly entityIdsUpdated: Observable<TId[]>;
|
|
49
55
|
/***************************************************************************
|
|
50
56
|
* *
|
|
51
57
|
* Constructor *
|
|
52
58
|
* *
|
|
53
59
|
**************************************************************************/
|
|
54
60
|
protected constructor(controlType: string);
|
|
55
|
-
private awaitEntitiesWithId;
|
|
56
61
|
/***************************************************************************
|
|
57
62
|
* *
|
|
58
63
|
* Host Bindings *
|
|
@@ -107,6 +112,10 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
|
|
|
107
112
|
* Private Methods *
|
|
108
113
|
* *
|
|
109
114
|
**************************************************************************/
|
|
115
|
+
private buildEntitiesChangeEvent;
|
|
116
|
+
private awaitEntitiesWithIdToMap;
|
|
117
|
+
private toEntityByIdMap;
|
|
118
|
+
private containsAllIds;
|
|
110
119
|
private isAlreadyPresent;
|
|
111
120
|
private entityIdsFromValues;
|
|
112
121
|
private entityIdFromValue;
|
|
@@ -123,5 +132,5 @@ export declare abstract class ElderMultiSelectBase<TId, TEntity, TValue> extends
|
|
|
123
132
|
private writeEntitiesSorted;
|
|
124
133
|
private sortEntities;
|
|
125
134
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectBase<any, any, any>, never>;
|
|
126
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectBase<any, any, any>, never, never, { "entitiesSorts": { "alias": "entitiesSorts"; "required": false; }; "confirmRemoval": { "alias": "confirmRemoval"; "required": false; }; "entities": { "alias": "entities"; "required": false; }; "entityIds": { "alias": "entityIds"; "required": false; }; }, { "
|
|
135
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectBase<any, any, any>, never, never, { "entitiesSorts": { "alias": "entitiesSorts"; "required": false; }; "confirmRemoval": { "alias": "confirmRemoval"; "required": false; }; "entities": { "alias": "entities"; "required": false; }; "entityIds": { "alias": "entityIds"; "required": false; }; }, { "entitiesChangeEvent": "entitiesChangeEvent"; "entitiesChange": "entitiesChange"; "entitiesUpdated": "entitiesUpdated"; "entityIdsChange": "entityIdsChange"; "entityIdsUpdated": "entityIdsUpdated"; }, never, never, true, never>;
|
|
127
136
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DestroyRef, OnInit } from '@angular/core';
|
|
2
|
+
import { ElderMultiSelectChipsComponent } from './elder-multi-select-chips.component';
|
|
3
|
+
import { IncludeExcludeSelectionModel } from '../../filter/include-exclude-selection-model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ElderMultiSelectChipsOptionsDirective<TId, TEntity> implements OnInit {
|
|
6
|
+
private multiSelect;
|
|
7
|
+
private inclExclModel;
|
|
8
|
+
destroyRef: DestroyRef;
|
|
9
|
+
/***************************************************************************
|
|
10
|
+
* *
|
|
11
|
+
* Fields *
|
|
12
|
+
* *
|
|
13
|
+
**************************************************************************/
|
|
14
|
+
private readonly log;
|
|
15
|
+
readonly maxOptions: import("@angular/core").InputSignal<number>;
|
|
16
|
+
private readonly inControlOfOptions;
|
|
17
|
+
/***************************************************************************
|
|
18
|
+
* *
|
|
19
|
+
* Constructor *
|
|
20
|
+
* *
|
|
21
|
+
**************************************************************************/
|
|
22
|
+
constructor(multiSelect: ElderMultiSelectChipsComponent<TId, TEntity>, inclExclModel: IncludeExcludeSelectionModel<TEntity> | undefined, destroyRef: DestroyRef);
|
|
23
|
+
/***************************************************************************
|
|
24
|
+
* *
|
|
25
|
+
* Life Cycle *
|
|
26
|
+
* *
|
|
27
|
+
**************************************************************************/
|
|
28
|
+
ngOnInit(): void;
|
|
29
|
+
/***************************************************************************
|
|
30
|
+
* *
|
|
31
|
+
* Private methods *
|
|
32
|
+
* *
|
|
33
|
+
**************************************************************************/
|
|
34
|
+
private get dataContext$();
|
|
35
|
+
private autoReloadOnDataChangeEvents;
|
|
36
|
+
private subscribeToEntities;
|
|
37
|
+
private applyAllOptions;
|
|
38
|
+
private isOptionInUse;
|
|
39
|
+
private startDataContextIfNeeded;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectChipsOptionsDirective<any, any>, [null, { optional: true; }, null]>;
|
|
41
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderMultiSelectChipsOptionsDirective<any, any>, "elder-multi-select-chips[elderShowOptions]", never, { "maxOptions": { "alias": "maxOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
42
|
+
}
|
package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts
CHANGED
|
@@ -33,7 +33,8 @@ export declare class ElderMultiSelectChipsComponent<TId = any, TEntity = any, TV
|
|
|
33
33
|
*/
|
|
34
34
|
chipSpecFn: (e: TEntity) => SelectChipSpec;
|
|
35
35
|
selectable: boolean;
|
|
36
|
-
|
|
36
|
+
readonly allowRemoveInput: import("@angular/core").InputSignalWithTransform<boolean, import("@angular/cdk/coercion").BooleanInput>;
|
|
37
|
+
readonly allowRemove: import("@angular/core").WritableSignal<boolean>;
|
|
37
38
|
allowSorting: boolean;
|
|
38
39
|
stacked: boolean;
|
|
39
40
|
maxDisplayCount: number;
|
|
@@ -89,6 +90,6 @@ export declare class ElderMultiSelectChipsComponent<TId = any, TEntity = any, TV
|
|
|
89
90
|
private reduceDisplayedChips;
|
|
90
91
|
private buildIndicatorChip;
|
|
91
92
|
static ɵfac: i0.ɵɵFactoryDeclaration<ElderMultiSelectChipsComponent<any, any, any>, never>;
|
|
92
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipsComponent<any, any, any>, "elder-multi-select-chips", never, { "defaultChipSpec": { "alias": "defaultChipSpec"; "required": false; }; "chipSpecFn": { "alias": "chipSpecFn"; "required": false; }; "
|
|
93
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElderMultiSelectChipsComponent<any, any, any>, "elder-multi-select-chips", never, { "defaultChipSpec": { "alias": "defaultChipSpec"; "required": false; }; "chipSpecFn": { "alias": "chipSpecFn"; "required": false; }; "allowRemoveInput": { "alias": "allowRemove"; "required": false; "isSignal": true; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "maxDisplayCount": { "alias": "maxDisplayCount"; "required": false; }; "chipTemplate": { "alias": "chipTemplate"; "required": false; }; "chipAvatarTemplate": { "alias": "chipAvatarTemplate"; "required": false; }; "customInputTemplate": { "alias": "customInputTemplate"; "required": false; }; }, {}, ["_customChipInput", "chipTemplateQuery", "chipAvatarTemplateQuery", "customInputTemplateQuery"], never, true, never>;
|
|
93
94
|
}
|
|
94
95
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './elder-multi-select-base';
|
|
2
2
|
export * from './elder-multi-select-form-field';
|
|
3
3
|
export * from './elder-multi-select-chips/select-chip-spec';
|
|
4
|
+
export * from './elder-multi-select-chips/elder-multi-select-chips-options.directive';
|
|
4
5
|
export * from './elder-multi-select-chip-options/select-option-chip-spec';
|
|
@@ -5,8 +5,10 @@ import { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepi
|
|
|
5
5
|
import { IsoDateStr } from '../../../common/time/date-util';
|
|
6
6
|
import { BooleanInput } from '@angular/cdk/coercion';
|
|
7
7
|
import { ElderFormFieldControlBase } from '../../../common/forms/elder-form-field-control-base.directive';
|
|
8
|
+
import { SmartLocalDateParserService } from '../smart-local-date-parser.service';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class ElderLocalDateInputComponent extends ElderFormFieldControlBase<LocalDate> {
|
|
11
|
+
private readonly localDateParser;
|
|
10
12
|
/***************************************************************************
|
|
11
13
|
* *
|
|
12
14
|
* Fields *
|
|
@@ -36,7 +38,7 @@ export declare class ElderLocalDateInputComponent extends ElderFormFieldControlB
|
|
|
36
38
|
* Constructor *
|
|
37
39
|
* *
|
|
38
40
|
**************************************************************************/
|
|
39
|
-
constructor();
|
|
41
|
+
constructor(localDateParser: SmartLocalDateParserService);
|
|
40
42
|
/***************************************************************************
|
|
41
43
|
* *
|
|
42
44
|
* Properties *
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ElderToggleTextInputDirective {
|
|
4
|
+
private inputRef;
|
|
5
|
+
/***************************************************************************
|
|
6
|
+
* *
|
|
7
|
+
* Fields *
|
|
8
|
+
* *
|
|
9
|
+
**************************************************************************/
|
|
10
|
+
private originalInputType;
|
|
11
|
+
/***************************************************************************
|
|
12
|
+
* *
|
|
13
|
+
* Constructor *
|
|
14
|
+
* *
|
|
15
|
+
**************************************************************************/
|
|
16
|
+
constructor(inputRef: ElementRef<HTMLInputElement>);
|
|
17
|
+
/***************************************************************************
|
|
18
|
+
* *
|
|
19
|
+
* Host Listener *
|
|
20
|
+
* *
|
|
21
|
+
**************************************************************************/
|
|
22
|
+
onDoubleClick(event: MouseEvent): void;
|
|
23
|
+
onFocusOut(event: FocusEvent): void;
|
|
24
|
+
/***************************************************************************
|
|
25
|
+
* *
|
|
26
|
+
* Private Methods *
|
|
27
|
+
* *
|
|
28
|
+
**************************************************************************/
|
|
29
|
+
private setInputType;
|
|
30
|
+
private rememberOriginalInputType;
|
|
31
|
+
private restoreOriginalInputType;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElderToggleTextInputDirective, never>;
|
|
33
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ElderToggleTextInputDirective, "input[elderToggleTextInput]", never, {}, {}, never, never, true, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LocalDate } from '@js-joda/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SmartLocalDateParserService {
|
|
4
|
+
private readonly formatters;
|
|
5
|
+
constructor();
|
|
6
|
+
tryParse(dateString: string): LocalDate | null;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SmartLocalDateParserService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SmartLocalDateParserService>;
|
|
9
|
+
}
|
package/package.json
CHANGED
package/src/assets/i18n/de.json
CHANGED
|
File without changes
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
@use './elder-scss-variables' as config;
|
|
4
4
|
@use './elder-m3-color-tokens' as elder-m3-color-tokens;
|
|
5
|
+
@use '../components/mat-badge-theme' as mat-badge-theme;
|
|
5
6
|
|
|
6
7
|
@mixin elder-design-tokens() {
|
|
7
|
-
@include elder-badge-sizing();
|
|
8
|
-
|
|
9
8
|
@include elder-m3-color-tokens.m3-color-tokens();
|
|
9
|
+
@include mat-badge-theme.badge-sizing-design-tokens();
|
|
10
10
|
|
|
11
11
|
&.elder-light-theme,
|
|
12
12
|
&.elder-dark-theme {
|
|
@@ -231,27 +231,3 @@
|
|
|
231
231
|
--mat-toolbar-standard-height: var(--mat-toolbar-mobile-height);
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
|
-
|
|
235
|
-
@mixin elder-badge-sizing() {
|
|
236
|
-
& {
|
|
237
|
-
// Use legacy MAT 2 badge sizing
|
|
238
|
-
--mat-badge-container-size: unset;
|
|
239
|
-
--mat-badge-small-size-container-size: unset;
|
|
240
|
-
--mat-badge-large-size-container-size: unset;
|
|
241
|
-
--mat-badge-legacy-container-size: 22px;
|
|
242
|
-
--mat-badge-legacy-small-size-container-size: 16px;
|
|
243
|
-
--mat-badge-legacy-large-size-container-size: 28px;
|
|
244
|
-
--mat-badge-container-offset: -11px 0;
|
|
245
|
-
--mat-badge-small-size-container-offset: -8px 0;
|
|
246
|
-
--mat-badge-large-size-container-offset: -14px 0;
|
|
247
|
-
--mat-badge-container-overlap-offset: -11px;
|
|
248
|
-
--mat-badge-small-size-container-overlap-offset: -8px;
|
|
249
|
-
--mat-badge-large-size-container-overlap-offset: -14px;
|
|
250
|
-
--mat-badge-container-padding: 0;
|
|
251
|
-
--mat-badge-small-size-container-padding: 0;
|
|
252
|
-
--mat-badge-large-size-container-padding: 0;
|
|
253
|
-
--mat-badge-line-height: var(--mat-badge-legacy-container-size);
|
|
254
|
-
--mat-badge-small-size-line-height: var(--mat-badge-legacy-small-size-container-size);
|
|
255
|
-
--mat-badge-large-size-line-height: var(--mat-badge-legacy-large-size-container-size);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
@use '../components/elder-toolbar-theme' as elder-toolbar;
|
|
18
18
|
@use '../components/elder-table-theme' as elder-table;
|
|
19
19
|
@use '../components/elder-scrollbar-theme' as elder-scrollbar;
|
|
20
|
-
|
|
20
|
+
@use '../components/mat-badge-theme' as mat-badge;
|
|
21
21
|
// Create a theme.
|
|
22
22
|
@mixin starter-theme($theme) {
|
|
23
23
|
$theme: elder-set-defaults-fn.validate-and-set-defaults($theme);
|
|
@@ -48,4 +48,5 @@
|
|
|
48
48
|
@include elder-toolbar.theme($theme);
|
|
49
49
|
@include elder-table.theme($theme);
|
|
50
50
|
@include elder-scrollbar.theme();
|
|
51
|
+
@include mat-badge.theme();
|
|
51
52
|
}
|
|
@@ -43,19 +43,9 @@
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/******************************
|
|
46
|
-
|
|
46
|
+
ETC
|
|
47
47
|
*******************************/
|
|
48
48
|
|
|
49
|
-
.mat-badge-content {
|
|
50
|
-
z-index: 1;
|
|
51
|
-
}
|
|
52
|
-
// fix elder badge borders
|
|
53
|
-
elder-badge {
|
|
54
|
-
.mat-mdc-standard-chip .mat-mdc-chip-action::before {
|
|
55
|
-
border: none;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
49
|
.mat-mdc-tab-group {
|
|
60
50
|
background-color: var(--md-sys-color-surface-container);
|
|
61
51
|
}
|
|
@@ -70,24 +60,10 @@
|
|
|
70
60
|
fill: currentColor !important;
|
|
71
61
|
}
|
|
72
62
|
|
|
73
|
-
/******************************
|
|
74
|
-
ETC
|
|
75
|
-
*******************************/
|
|
76
|
-
|
|
77
63
|
.mat-mdc-tab-group {
|
|
78
64
|
background-color: transparent !important;
|
|
79
65
|
}
|
|
80
66
|
|
|
81
|
-
// badge positioning
|
|
82
|
-
.mat-badge-above .mat-badge-content {
|
|
83
|
-
bottom: 82%;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// bring back the badge warn color that was removed in m3
|
|
87
|
-
.mat-badge-warn {
|
|
88
|
-
--mat-badge-background-color: var(--md-sys-color-error);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
67
|
// disable button color grayed out
|
|
92
68
|
.mat-mdc-icon-button[disabled],
|
|
93
69
|
.mat-mdc-icon-button.mat-mdc-button-disabled {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
@mixin theme() {
|
|
2
|
+
.mat-badge-content {
|
|
3
|
+
z-index: 1;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// badge positioning
|
|
7
|
+
.mat-badge-above .mat-badge-content {
|
|
8
|
+
bottom: 82%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// bring back the badge warn color that was removed in m3
|
|
12
|
+
.mat-badge-warn {
|
|
13
|
+
--mat-badge-background-color: var(--md-sys-color-error);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// dynamic badge size for long text with elder-badge directive
|
|
17
|
+
.elder-badge {
|
|
18
|
+
.mat-badge-content {
|
|
19
|
+
width: unset;
|
|
20
|
+
min-width: 22px;
|
|
21
|
+
padding-left: 8px;
|
|
22
|
+
padding-right: 8px;
|
|
23
|
+
}
|
|
24
|
+
&.mat-badge-large .mat-badge-content {
|
|
25
|
+
min-width: 28px;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@mixin badge-sizing-design-tokens() {
|
|
31
|
+
& {
|
|
32
|
+
// mat badge design tokens for theme root
|
|
33
|
+
// Use legacy MAT 2 badge sizing
|
|
34
|
+
--mat-badge-container-size: unset;
|
|
35
|
+
--mat-badge-small-size-container-size: unset;
|
|
36
|
+
--mat-badge-large-size-container-size: unset;
|
|
37
|
+
--mat-badge-legacy-container-size: 22px;
|
|
38
|
+
--mat-badge-legacy-small-size-container-size: 16px;
|
|
39
|
+
--mat-badge-legacy-large-size-container-size: 28px;
|
|
40
|
+
--mat-badge-container-offset: -11px 0;
|
|
41
|
+
--mat-badge-small-size-container-offset: -8px 0;
|
|
42
|
+
--mat-badge-large-size-container-offset: -14px 0;
|
|
43
|
+
--mat-badge-container-overlap-offset: -11px;
|
|
44
|
+
--mat-badge-small-size-container-overlap-offset: -8px;
|
|
45
|
+
--mat-badge-large-size-container-overlap-offset: -14px;
|
|
46
|
+
--mat-badge-container-padding: 0;
|
|
47
|
+
--mat-badge-small-size-container-padding: 0;
|
|
48
|
+
--mat-badge-large-size-container-padding: 0;
|
|
49
|
+
--mat-badge-line-height: var(--mat-badge-legacy-container-size);
|
|
50
|
+
--mat-badge-small-size-line-height: var(--mat-badge-legacy-small-size-container-size);
|
|
51
|
+
--mat-badge-large-size-line-height: var(--mat-badge-legacy-large-size-container-size);
|
|
52
|
+
}
|
|
53
|
+
}
|