@porscheinformatik/clr-addons 21.0.7 → 21.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/porscheinformatik-clr-addons.mjs +769 -148
- package/fesm2022/porscheinformatik-clr-addons.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/clr-addons-phs.css +175 -21
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
- package/types/porscheinformatik-clr-addons.d.ts +130 -38
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, NgModule, Injectable, EventEmitter, Output, Input, Directive, ViewChild, ContentChildren, TemplateRef, ViewChildren, HostBinding, ElementRef, Renderer2, forwardRef, DOCUMENT, Inject, ContentChild, Optional, input, ChangeDetectionStrategy, signal, computed, SkipSelf, inject, model, contentChild, linkedSignal, DestroyRef, contentChildren, effect, output,
|
|
2
|
+
import { Component, NgModule, Injectable, EventEmitter, Output, Input, Directive, ViewChild, ContentChildren, TemplateRef, ViewChildren, HostBinding, ElementRef, Renderer2, forwardRef, DOCUMENT, Inject, ContentChild, Optional, input, ChangeDetectionStrategy, signal, computed, SkipSelf, inject, model, contentChild, linkedSignal, DestroyRef, contentChildren, effect, viewChild, ViewContainerRef, output, afterRenderEffect, InjectionToken, isSignal, HostListener, LOCALE_ID, Self, Host, ChangeDetectorRef, NgZone, Injector, untracked, runInInjectionContext } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule, NgComponentOutlet, NgTemplateOutlet, getLocaleDateFormat, FormatWidth, NgOptimizedImage, NgClass } from '@angular/common';
|
|
5
5
|
import * as i2 from '@clr/angular/icon';
|
|
@@ -7,9 +7,9 @@ import { ClarityIcons, arrowIcon, angleIcon, timesIcon, trashIcon, plusCircleIco
|
|
|
7
7
|
import * as i3 from '@angular/forms';
|
|
8
8
|
import { FormsModule, NG_VALIDATORS, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormControl, NgModel } from '@angular/forms';
|
|
9
9
|
import * as i1$2 from '@clr/angular';
|
|
10
|
-
import { ClarityModule, ClrFormsModule, ClrDropdown, ClrIcon, ClrForm, ClrAlert, ClrPopoverPosition, ClrPopoverService, ClrCommonStringsService, ClrDropdownModule, ClrDatagrid, ClrDatagridColumn, ClrDatagridSortOrder, DatagridPropertyComparator, ClrDatagridPagination, ClrDatagridFilter, ClrControlLabel, ClrControlHelper, ClrControlError, ClrControlSuccess, ClrDatepickerModule, ClrTooltipModule } from '@clr/angular';
|
|
11
|
-
import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, map as map$1, distinctUntilChanged, shareReplay, combineLatest, skip, auditTime, fromEvent, take as take$1,
|
|
12
|
-
import { takeUntil, take, observeOn, filter as filter$1, debounceTime } from 'rxjs/operators';
|
|
10
|
+
import { ClarityModule, ClrFormsModule, ClrDropdown, ClrIcon, ClrForm, ClrAlert, ClrPopoverPosition, ClrPopoverService, ClrCommonStringsService, ClrPopoverType, ClrPopoverHostDirective, CdkTrapFocusModule, ClrDropdownModule, ClrDatagrid, ClrDatagridColumn, ClrDatagridSortOrder, DatagridPropertyComparator, ClrDatagridPagination, ClrDatagridFilter, ClrControlLabel, ClrControlHelper, ClrControlError, ClrControlSuccess, ClrDatepickerModule, ClrTooltipModule } from '@clr/angular';
|
|
11
|
+
import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, map as map$1, distinctUntilChanged, shareReplay, combineLatest, skip, auditTime, tap, share, merge, fromEvent, first, take as take$1, debounceTime as debounceTime$1, of, switchMap, filter as filter$2, ReplaySubject, takeUntil as takeUntil$1, delay } from 'rxjs';
|
|
12
|
+
import { takeUntil, take, observeOn, filter as filter$1, skip as skip$1, debounceTime } from 'rxjs/operators';
|
|
13
13
|
import * as i2$1 from '@angular/router';
|
|
14
14
|
import { RouterModule } from '@angular/router';
|
|
15
15
|
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
@@ -20,10 +20,10 @@ import * as i2$3 from '@clr/angular/popover/common';
|
|
|
20
20
|
import * as i2$4 from '@clr/angular/emphasis/alert';
|
|
21
21
|
import { takeUntilDestroyed, toObservable, outputFromObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
22
22
|
import * as i1$3 from '@clr/angular/progress/spinner';
|
|
23
|
+
import * as i4 from '@clr/angular/forms/checkbox';
|
|
23
24
|
import * as i3$2 from '@clr/angular/forms/input';
|
|
24
25
|
import * as i1$4 from '@angular/common/http';
|
|
25
26
|
import { CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
26
|
-
import * as i4 from '@clr/angular/forms/checkbox';
|
|
27
27
|
import * as i4$1 from '@clr/angular/forms/datepicker';
|
|
28
28
|
import { CdkCopyToClipboard } from '@angular/cdk/clipboard';
|
|
29
29
|
import * as i1$5 from '@clr/angular/popover/tooltip';
|
|
@@ -3699,7 +3699,7 @@ class ClrTreetableActionOverflow {
|
|
|
3699
3699
|
</div>
|
|
3700
3700
|
</ng-container>
|
|
3701
3701
|
}
|
|
3702
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i2.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2$3.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i2$3.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3702
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i2.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2$3.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i2$3.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }, { kind: "directive", type: i1$2.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3703
3703
|
}
|
|
3704
3704
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableActionOverflow, decorators: [{
|
|
3705
3705
|
type: Component,
|
|
@@ -3925,11 +3925,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
3925
3925
|
}], propDecorators: { clrExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrExpanded", required: false }] }, { type: i0.Output, args: ["clrExpandedChange"] }], clrExpandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrExpandable", required: false }] }], clrClickable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrClickable", required: false }] }], clrTtItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtItem", required: false }] }], _actionOverflow: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ClrTreetableActionOverflow), { isSignal: true }] }] } });
|
|
3926
3926
|
|
|
3927
3927
|
/*
|
|
3928
|
-
* Copyright (c) 2018-
|
|
3928
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
3929
3929
|
* This software is released under MIT license.
|
|
3930
3930
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3931
3931
|
*/
|
|
3932
|
-
class
|
|
3932
|
+
class SortStateService {
|
|
3933
3933
|
constructor() {
|
|
3934
3934
|
this._comparator = signal(null, ...(ngDevMode ? [{ debugName: "_comparator" }] : /* istanbul ignore next */ []));
|
|
3935
3935
|
this._reverse = signal(false, ...(ngDevMode ? [{ debugName: "_reverse" }] : /* istanbul ignore next */ []));
|
|
@@ -3970,10 +3970,10 @@ class Sort {
|
|
|
3970
3970
|
}
|
|
3971
3971
|
return (this._reverse() ? -1 : 1) * currentComparator.compare(a, b);
|
|
3972
3972
|
}
|
|
3973
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
3974
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
3973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SortStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3974
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SortStateService }); }
|
|
3975
3975
|
}
|
|
3976
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
3976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SortStateService, decorators: [{
|
|
3977
3977
|
type: Injectable
|
|
3978
3978
|
}] });
|
|
3979
3979
|
|
|
@@ -4186,7 +4186,7 @@ function areFiltersDistinct(prev, curr) {
|
|
|
4186
4186
|
}
|
|
4187
4187
|
|
|
4188
4188
|
/*
|
|
4189
|
-
* Copyright (c) 2018-
|
|
4189
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4190
4190
|
* This software is released under MIT license.
|
|
4191
4191
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4192
4192
|
*/
|
|
@@ -4204,7 +4204,7 @@ class RegisteredTreetableFilter {
|
|
|
4204
4204
|
this.unregister = unregister;
|
|
4205
4205
|
}
|
|
4206
4206
|
}
|
|
4207
|
-
class
|
|
4207
|
+
class FilterStateService {
|
|
4208
4208
|
constructor() {
|
|
4209
4209
|
this._destroyRef = inject(DestroyRef);
|
|
4210
4210
|
this.filterId = 0;
|
|
@@ -4269,10 +4269,10 @@ class Filters {
|
|
|
4269
4269
|
});
|
|
4270
4270
|
return registered;
|
|
4271
4271
|
}
|
|
4272
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
4273
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
4272
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FilterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4273
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FilterStateService }); }
|
|
4274
4274
|
}
|
|
4275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type:
|
|
4275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FilterStateService, decorators: [{
|
|
4276
4276
|
type: Injectable
|
|
4277
4277
|
}], ctorParameters: () => [] });
|
|
4278
4278
|
|
|
@@ -4334,14 +4334,14 @@ function areTreetableStatesEqual(prev, curr) {
|
|
|
4334
4334
|
}
|
|
4335
4335
|
|
|
4336
4336
|
/*
|
|
4337
|
-
* Copyright (c) 2018-
|
|
4337
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4338
4338
|
* This software is released under MIT license.
|
|
4339
4339
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4340
4340
|
*/
|
|
4341
4341
|
class TreetableDataStateService {
|
|
4342
4342
|
constructor() {
|
|
4343
|
-
this._filters = inject((
|
|
4344
|
-
this._sort = inject((
|
|
4343
|
+
this._filters = inject((FilterStateService));
|
|
4344
|
+
this._sort = inject((SortStateService));
|
|
4345
4345
|
this._dataSource = signal(undefined, ...(ngDevMode ? [{ debugName: "_dataSource" }] : /* istanbul ignore next */ []));
|
|
4346
4346
|
this._stickyIndeterminate = signal(false, ...(ngDevMode ? [{ debugName: "_stickyIndeterminate" }] : /* istanbul ignore next */ []));
|
|
4347
4347
|
this._itemsExternallySelected = signal([], ...(ngDevMode ? [{ debugName: "_itemsExternallySelected" }] : /* istanbul ignore next */ []));
|
|
@@ -4489,8 +4489,164 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4489
4489
|
type: Injectable
|
|
4490
4490
|
}], ctorParameters: () => [] });
|
|
4491
4491
|
|
|
4492
|
+
const TreetableColumnUpdate = {
|
|
4493
|
+
WIDTH: 'WIDTH',
|
|
4494
|
+
HIDDEN: 'HIDDEN',
|
|
4495
|
+
RESET_HIDDEN: 'RESET_HIDDEN',
|
|
4496
|
+
};
|
|
4497
|
+
class TreetableColumnStateService {
|
|
4498
|
+
constructor() {
|
|
4499
|
+
this._changeWidth$ = new Subject();
|
|
4500
|
+
this._changeHideable$ = new Subject();
|
|
4501
|
+
this._changeHiddenForAll$ = new Subject();
|
|
4502
|
+
this._changeHidden$ = new Subject();
|
|
4503
|
+
this._resetHidden$ = new Subject();
|
|
4504
|
+
this._columnState = signal({}, ...(ngDevMode ? [{ debugName: "_columnState" }] : /* istanbul ignore next */ []));
|
|
4505
|
+
this.columns = computed(() => Object.values(this._columnState()).sort((a, b) => a.columnIndex - b.columnIndex), ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
4506
|
+
this.visibleColumns = computed(() => this.columns().filter(column => !column.hidden), ...(ngDevMode ? [{ debugName: "visibleColumns" }] : /* istanbul ignore next */ []));
|
|
4507
|
+
this.hideableColumns = computed(() => this.columns().filter(column => column.hideable), ...(ngDevMode ? [{ debugName: "hideableColumns" }] : /* istanbul ignore next */ []));
|
|
4508
|
+
this.hasHideableColumns = computed(() => this.hideableColumns()?.length > 0, ...(ngDevMode ? [{ debugName: "hasHideableColumns" }] : /* istanbul ignore next */ []));
|
|
4509
|
+
this._changeWidthAction$ = this._changeWidth$.pipe(tap(({ id, width }) => this.update(id, { width })), share());
|
|
4510
|
+
this._changeHideableAction$ = this._changeHideable$.pipe(tap(patch => {
|
|
4511
|
+
const current = this.getColumn(patch.id);
|
|
4512
|
+
if (current.hideable && !patch.hideable) {
|
|
4513
|
+
this.update(patch.id, { hideable: false, hidden: false, initialHidden: false });
|
|
4514
|
+
}
|
|
4515
|
+
if (!current.hideable && patch.hideable) {
|
|
4516
|
+
this.update(patch.id, { hideable: true, hidden: patch.hidden, initialHidden: patch.hidden });
|
|
4517
|
+
}
|
|
4518
|
+
this.update(patch.id, { hidden: patch.hidden });
|
|
4519
|
+
}), share());
|
|
4520
|
+
this._changeHiddenAction$ = this._changeHidden$.pipe(filter$1(change => this.getColumn(change.id)?.hideable), tap(change => this.update(change.id, { hidden: change.hidden })), share());
|
|
4521
|
+
this._changeHiddenForAllAction$ = this._changeHiddenForAll$.pipe(tap(change => {
|
|
4522
|
+
this._columnState.update(current => Object.fromEntries(Object.entries(current).map(([id, column]) => [
|
|
4523
|
+
id,
|
|
4524
|
+
{
|
|
4525
|
+
...column,
|
|
4526
|
+
hidden: change,
|
|
4527
|
+
},
|
|
4528
|
+
])));
|
|
4529
|
+
}), share());
|
|
4530
|
+
this._resetHiddenAction$ = this._resetHidden$.pipe(tap(() => {
|
|
4531
|
+
this._columnState.update(current => Object.fromEntries(Object.entries(current).map(([id, column]) => [
|
|
4532
|
+
id,
|
|
4533
|
+
column.hideable
|
|
4534
|
+
? {
|
|
4535
|
+
...column,
|
|
4536
|
+
hidden: column.initialHidden,
|
|
4537
|
+
}
|
|
4538
|
+
: column,
|
|
4539
|
+
])));
|
|
4540
|
+
}), share());
|
|
4541
|
+
this.changes$ = merge(this._changeWidthAction$.pipe(map$1(() => TreetableColumnUpdate.WIDTH)), this._changeHideableAction$.pipe(map$1(() => TreetableColumnUpdate.HIDDEN)), this._changeHiddenForAllAction$.pipe(map$1(() => TreetableColumnUpdate.HIDDEN)), this._changeHiddenAction$.pipe(map$1(() => TreetableColumnUpdate.HIDDEN)), this._resetHiddenAction$.pipe(map$1(() => TreetableColumnUpdate.HIDDEN)));
|
|
4542
|
+
this._changeWidthAction$.pipe(takeUntilDestroyed()).subscribe();
|
|
4543
|
+
this._changeHideableAction$.pipe(takeUntilDestroyed()).subscribe();
|
|
4544
|
+
this._changeHiddenForAllAction$.pipe(takeUntilDestroyed()).subscribe();
|
|
4545
|
+
this._changeHiddenAction$.pipe(takeUntilDestroyed()).subscribe();
|
|
4546
|
+
this._resetHiddenAction$.pipe(takeUntilDestroyed()).subscribe();
|
|
4547
|
+
}
|
|
4548
|
+
register(options) {
|
|
4549
|
+
this._columnState.update(current => ({
|
|
4550
|
+
...current,
|
|
4551
|
+
[options.id]: {
|
|
4552
|
+
id: options.id,
|
|
4553
|
+
columnIndex: Number.MAX_SAFE_INTEGER,
|
|
4554
|
+
hideable: false,
|
|
4555
|
+
hidden: false,
|
|
4556
|
+
initialHidden: false,
|
|
4557
|
+
titleTemplateRef: options.titleTemplateRef,
|
|
4558
|
+
},
|
|
4559
|
+
}));
|
|
4560
|
+
}
|
|
4561
|
+
registerHideable(columnId, options) {
|
|
4562
|
+
this._columnState.update(current => {
|
|
4563
|
+
const existing = current[columnId];
|
|
4564
|
+
if (!existing) {
|
|
4565
|
+
return current;
|
|
4566
|
+
}
|
|
4567
|
+
return {
|
|
4568
|
+
...current,
|
|
4569
|
+
[columnId]: {
|
|
4570
|
+
...existing,
|
|
4571
|
+
hideable: options.hideable,
|
|
4572
|
+
hidden: options.hidden,
|
|
4573
|
+
initialHidden: options.initialHidden ?? options.hidden,
|
|
4574
|
+
titleTemplateRef: options.titleTemplateRef,
|
|
4575
|
+
},
|
|
4576
|
+
};
|
|
4577
|
+
});
|
|
4578
|
+
}
|
|
4579
|
+
unregister(id) {
|
|
4580
|
+
this._columnState.update(current => {
|
|
4581
|
+
const next = { ...current };
|
|
4582
|
+
delete next[id];
|
|
4583
|
+
return next;
|
|
4584
|
+
});
|
|
4585
|
+
}
|
|
4586
|
+
initializeOrder(idsInRenderOrder) {
|
|
4587
|
+
this._columnState.update(current => {
|
|
4588
|
+
const next = { ...current };
|
|
4589
|
+
idsInRenderOrder.forEach((id, index) => {
|
|
4590
|
+
if (next[id]) {
|
|
4591
|
+
next[id] = {
|
|
4592
|
+
...next[id],
|
|
4593
|
+
columnIndex: index,
|
|
4594
|
+
};
|
|
4595
|
+
}
|
|
4596
|
+
});
|
|
4597
|
+
return next;
|
|
4598
|
+
});
|
|
4599
|
+
}
|
|
4600
|
+
changeWidth(id, width) {
|
|
4601
|
+
this._changeWidth$.next({ id, width });
|
|
4602
|
+
}
|
|
4603
|
+
changeHideable(id, hideable, hidden) {
|
|
4604
|
+
this._changeHideable$.next({ id, hideable, hidden: hidden ?? false });
|
|
4605
|
+
}
|
|
4606
|
+
changeHiddenForAll(hidden) {
|
|
4607
|
+
this._changeHiddenForAll$.next(hidden);
|
|
4608
|
+
}
|
|
4609
|
+
displayAllColumns() {
|
|
4610
|
+
this.changeHiddenForAll(false);
|
|
4611
|
+
}
|
|
4612
|
+
toggleHidden(id) {
|
|
4613
|
+
const current = this.getColumn(id);
|
|
4614
|
+
this._changeHidden$.next({ id, hidden: !current.hidden });
|
|
4615
|
+
}
|
|
4616
|
+
resetToInitialHidden() {
|
|
4617
|
+
this._resetHidden$.next();
|
|
4618
|
+
}
|
|
4619
|
+
getColumnState(id) {
|
|
4620
|
+
return toObservable(this._columnState).pipe(map$1(columns => columns[id]), distinctUntilChanged());
|
|
4621
|
+
}
|
|
4622
|
+
getColumn(id) {
|
|
4623
|
+
return this._columnState()[id];
|
|
4624
|
+
}
|
|
4625
|
+
update(id, patch) {
|
|
4626
|
+
this._columnState.update(current => {
|
|
4627
|
+
const existing = current[id];
|
|
4628
|
+
if (!existing) {
|
|
4629
|
+
return current;
|
|
4630
|
+
}
|
|
4631
|
+
return {
|
|
4632
|
+
...current,
|
|
4633
|
+
[id]: {
|
|
4634
|
+
...existing,
|
|
4635
|
+
...patch,
|
|
4636
|
+
id: existing.id,
|
|
4637
|
+
},
|
|
4638
|
+
};
|
|
4639
|
+
});
|
|
4640
|
+
}
|
|
4641
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableColumnStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4642
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableColumnStateService }); }
|
|
4643
|
+
}
|
|
4644
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableColumnStateService, decorators: [{
|
|
4645
|
+
type: Injectable
|
|
4646
|
+
}], ctorParameters: () => [] });
|
|
4647
|
+
|
|
4492
4648
|
/*
|
|
4493
|
-
* Copyright (c) 2018-
|
|
4649
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4494
4650
|
* This software is released under MIT license.
|
|
4495
4651
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4496
4652
|
*/
|
|
@@ -4528,11 +4684,23 @@ class ClrTreetable {
|
|
|
4528
4684
|
this._dataStateService.toggleSelectionForDisplayedNodes();
|
|
4529
4685
|
}
|
|
4530
4686
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4531
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetable, isStandalone: false, selector: "clr-treetable", inputs: { clrClickableRows: { classPropertyName: "clrClickableRows", publicName: "clrClickableRows", isSignal: true, isRequired: false, transformFunction: null }, clrHideHeader: { classPropertyName: "clrHideHeader", publicName: "clrHideHeader", isSignal: true, isRequired: false, transformFunction: null }, clrTtLoading: { classPropertyName: "clrTtLoading", publicName: "clrTtLoading", isSignal: true, isRequired: false, transformFunction: null }, clrTtSelected: { classPropertyName: "clrTtSelected", publicName: "clrTtSelected", isSignal: true, isRequired: false, transformFunction: null }, clrTtAutoParentSelection: { classPropertyName: "clrTtAutoParentSelection", publicName: "clrTtAutoParentSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSelectedChange: "clrTtSelectedChange", clrTtRefresh: "clrTtRefresh" }, host: { properties: { "class.empty": "empty()", "class.treetable-host": "true" } }, providers: [
|
|
4687
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetable, isStandalone: false, selector: "clr-treetable", inputs: { clrClickableRows: { classPropertyName: "clrClickableRows", publicName: "clrClickableRows", isSignal: true, isRequired: false, transformFunction: null }, clrHideHeader: { classPropertyName: "clrHideHeader", publicName: "clrHideHeader", isSignal: true, isRequired: false, transformFunction: null }, clrTtLoading: { classPropertyName: "clrTtLoading", publicName: "clrTtLoading", isSignal: true, isRequired: false, transformFunction: null }, clrTtSelected: { classPropertyName: "clrTtSelected", publicName: "clrTtSelected", isSignal: true, isRequired: false, transformFunction: null }, clrTtAutoParentSelection: { classPropertyName: "clrTtAutoParentSelection", publicName: "clrTtAutoParentSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSelectedChange: "clrTtSelectedChange", clrTtRefresh: "clrTtRefresh" }, host: { properties: { "class.empty": "empty()", "class.treetable-host": "true" } }, providers: [
|
|
4688
|
+
TREETABLE_RECURSION_SERVICE_PROVIDER,
|
|
4689
|
+
TreetableDataStateService,
|
|
4690
|
+
TreetableColumnStateService,
|
|
4691
|
+
SortStateService,
|
|
4692
|
+
FilterStateService,
|
|
4693
|
+
], queries: [{ propertyName: "_ttRows", predicate: ClrTreetableRow, descendants: true, isSignal: true }, { propertyName: "_actionOverflow", predicate: ClrTreetableActionOverflow, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n~ Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.\n~ This software is released under MIT license.\n~ The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"clrHideHeader()\">\n @if (showSelection() && !empty()) {\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input\n type=\"checkbox\"\n data-testId=\"clrTtSelectAll\"\n [checked]=\"areAllRowsSelected()\"\n (change)=\"toggleSelectAll()\"\n />\n </div>\n } @if (hasActionOverflow()) {\n <div class=\"treetable-row-actions treetable-column\"> </div>\n }\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\" />\n </div>\n </div>\n\n <div class=\"treetable-body\">\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [children]=\"displayedNodes()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n } @if (empty() && !clrTtLoading()) {\n <ng-content select=\"clr-tt-placeholder\" />\n }\n </div>\n </div>\n\n <ng-content select=\"clr-tt-footer\"></ng-content>\n\n @if (clrTtLoading()) {\n <div class=\"treetable-spinner\">\n <clr-spinner clrMedium />\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i1$3.ClrSpinner, selector: "clr-spinner", inputs: ["clrInline", "clrInverse", "clrSmall", "clrMedium"] }, { kind: "component", type: ClrTreetableRecursiveRows, selector: "clr-tt-recursive-rows", inputs: ["parent", "children"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4532
4694
|
}
|
|
4533
4695
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetable, decorators: [{
|
|
4534
4696
|
type: Component,
|
|
4535
|
-
args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty()', '[class.treetable-host]': 'true' }, providers: [
|
|
4697
|
+
args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty()', '[class.treetable-host]': 'true' }, providers: [
|
|
4698
|
+
TREETABLE_RECURSION_SERVICE_PROVIDER,
|
|
4699
|
+
TreetableDataStateService,
|
|
4700
|
+
TreetableColumnStateService,
|
|
4701
|
+
SortStateService,
|
|
4702
|
+
FilterStateService,
|
|
4703
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!--\n~ Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.\n~ This software is released under MIT license.\n~ The full license information can be found in LICENSE in the root directory of this project.\n-->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"clrHideHeader()\">\n @if (showSelection() && !empty()) {\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input\n type=\"checkbox\"\n data-testId=\"clrTtSelectAll\"\n [checked]=\"areAllRowsSelected()\"\n (change)=\"toggleSelectAll()\"\n />\n </div>\n } @if (hasActionOverflow()) {\n <div class=\"treetable-row-actions treetable-column\"> </div>\n }\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\" />\n </div>\n </div>\n\n <div class=\"treetable-body\">\n @if (isRecursionMode()) {\n <clr-tt-recursive-rows [children]=\"displayedNodes()\" />\n } @else {\n <ng-content select=\"clr-tt-row\" />\n } @if (empty() && !clrTtLoading()) {\n <ng-content select=\"clr-tt-placeholder\" />\n }\n </div>\n </div>\n\n <ng-content select=\"clr-tt-footer\"></ng-content>\n\n @if (clrTtLoading()) {\n <div class=\"treetable-spinner\">\n <clr-spinner clrMedium />\n </div>\n }\n</div>\n" }]
|
|
4536
4704
|
}], ctorParameters: () => [], propDecorators: { clrClickableRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrClickableRows", required: false }] }], clrHideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrHideHeader", required: false }] }], clrTtLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtLoading", required: false }] }], clrTtSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtSelected", required: false }] }], clrTtAutoParentSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtAutoParentSelection", required: false }] }], clrTtSelectedChange: [{ type: i0.Output, args: ["clrTtSelectedChange"] }], clrTtRefresh: [{ type: i0.Output, args: ["clrTtRefresh"] }], _ttRows: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ClrTreetableRow), { ...{ descendants: true }, isSignal: true }] }], _actionOverflow: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ClrTreetableActionOverflow), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
4537
4705
|
|
|
4538
4706
|
/*
|
|
@@ -4552,12 +4720,20 @@ var ClrTreetableSortOrder;
|
|
|
4552
4720
|
* This software is released under MIT license.
|
|
4553
4721
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4554
4722
|
*/
|
|
4723
|
+
let columnId = 0;
|
|
4555
4724
|
class ClrTreetableColumn {
|
|
4725
|
+
ngOnInit() {
|
|
4726
|
+
this._columnState.register({ id: this.columnId, titleTemplateRef: this._columnTitleRef() });
|
|
4727
|
+
}
|
|
4728
|
+
ngOnDestroy() {
|
|
4729
|
+
this._columnState.unregister(this.columnId);
|
|
4730
|
+
}
|
|
4556
4731
|
constructor() {
|
|
4557
|
-
this.
|
|
4732
|
+
this.columnId = `clr-tt-col-${columnId++}`;
|
|
4733
|
+
this._columnTitleRef = viewChild('columnTitle', { ...(ngDevMode ? { debugName: "_columnTitleRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
4734
|
+
this._columnState = inject(TreetableColumnStateService);
|
|
4735
|
+
this._sort = inject((SortStateService));
|
|
4558
4736
|
this.clrTtSortBy = input(null, ...(ngDevMode ? [{ debugName: "clrTtSortBy" }] : /* istanbul ignore next */ []));
|
|
4559
|
-
this.clrTtSortOrder = input(ClrTreetableSortOrder.UNSORTED, ...(ngDevMode ? [{ debugName: "clrTtSortOrder" }] : /* istanbul ignore next */ []));
|
|
4560
|
-
this.clrTtSortOrderChange = output();
|
|
4561
4737
|
this._internalSortOrder = computed(() => {
|
|
4562
4738
|
const sortState = this._sort.sortState();
|
|
4563
4739
|
const sortBy = this.clrTtSortBy();
|
|
@@ -4566,6 +4742,8 @@ class ClrTreetableColumn {
|
|
|
4566
4742
|
}
|
|
4567
4743
|
return sortState.reverse ? ClrTreetableSortOrder.DESC : ClrTreetableSortOrder.ASC;
|
|
4568
4744
|
}, ...(ngDevMode ? [{ debugName: "_internalSortOrder" }] : /* istanbul ignore next */ []));
|
|
4745
|
+
this.clrTtSortOrder = input(ClrTreetableSortOrder.UNSORTED, ...(ngDevMode ? [{ debugName: "clrTtSortOrder" }] : /* istanbul ignore next */ []));
|
|
4746
|
+
this.clrTtSortOrderChange = outputFromObservable(toObservable(this._internalSortOrder));
|
|
4569
4747
|
this.isSortable = computed(() => !!this.clrTtSortBy(), ...(ngDevMode ? [{ debugName: "isSortable" }] : /* istanbul ignore next */ []));
|
|
4570
4748
|
this.sortDirection = computed(() => {
|
|
4571
4749
|
const order = this._internalSortOrder();
|
|
@@ -4620,11 +4798,6 @@ class ClrTreetableColumn {
|
|
|
4620
4798
|
break;
|
|
4621
4799
|
}
|
|
4622
4800
|
});
|
|
4623
|
-
// Emit sort order changes of the column
|
|
4624
|
-
effect(() => {
|
|
4625
|
-
const internalSortOrder = this._internalSortOrder();
|
|
4626
|
-
this.clrTtSortOrderChange.emit(internalSortOrder);
|
|
4627
|
-
});
|
|
4628
4801
|
}
|
|
4629
4802
|
sort(reverse) {
|
|
4630
4803
|
const comparator = this.clrTtSortBy();
|
|
@@ -4634,7 +4807,7 @@ class ClrTreetableColumn {
|
|
|
4634
4807
|
this._sort.toggle(comparator, reverse);
|
|
4635
4808
|
}
|
|
4636
4809
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4637
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetableColumn, isStandalone: false, selector: "clr-tt-column", inputs: { clrTtSortBy: { classPropertyName: "clrTtSortBy", publicName: "clrTtSortBy", isSignal: true, isRequired: false, transformFunction: null }, clrTtSortOrder: { classPropertyName: "clrTtSortOrder", publicName: "clrTtSortOrder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSortOrderChange: "clrTtSortOrderChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.treetable-column": "true", "attr.aria-sort": "ariaSort()" } }, providers: [ClrPopoverService], ngImport: i0, template: `
|
|
4810
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetableColumn, isStandalone: false, selector: "clr-tt-column", inputs: { clrTtSortBy: { classPropertyName: "clrTtSortBy", publicName: "clrTtSortBy", isSignal: true, isRequired: false, transformFunction: null }, clrTtSortOrder: { classPropertyName: "clrTtSortOrder", publicName: "clrTtSortOrder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtSortOrderChange: "clrTtSortOrderChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.treetable-column": "true", "attr.aria-sort": "ariaSort()" } }, providers: [ClrPopoverService], viewQueries: [{ propertyName: "_columnTitleRef", first: true, predicate: ["columnTitle"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: `
|
|
4638
4811
|
@if (isSortable()) {
|
|
4639
4812
|
<button type="button" class="treetable-column-title" data-testId="clrTtSortButton" (click)="sort()">
|
|
4640
4813
|
<ng-container *ngTemplateOutlet="columnTitle" />
|
|
@@ -4700,7 +4873,341 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4700
4873
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4701
4874
|
standalone: false,
|
|
4702
4875
|
}]
|
|
4703
|
-
}], ctorParameters: () => [], propDecorators: { clrTtSortBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtSortBy", required: false }] }], clrTtSortOrder: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtSortOrder", required: false }] }], clrTtSortOrderChange: [{ type: i0.Output, args: ["clrTtSortOrderChange"] }] } });
|
|
4876
|
+
}], ctorParameters: () => [], propDecorators: { _columnTitleRef: [{ type: i0.ViewChild, args: ['columnTitle', { ...{ read: TemplateRef }, isSignal: true }] }], clrTtSortBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtSortBy", required: false }] }], clrTtSortOrder: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtSortOrder", required: false }] }], clrTtSortOrderChange: [{ type: i0.Output, args: ["clrTtSortOrderChange"] }] } });
|
|
4877
|
+
|
|
4878
|
+
let id = 0;
|
|
4879
|
+
class ClrTreetableColumnManagerMenuComponent {
|
|
4880
|
+
constructor() {
|
|
4881
|
+
this.popoverId = `clr-column-manager-menu-id-${id++}`;
|
|
4882
|
+
this._commonStringsService = inject(ClrCommonStringsService);
|
|
4883
|
+
this._popoverService = inject(ClrPopoverService);
|
|
4884
|
+
this._columnService = inject(TreetableColumnStateService);
|
|
4885
|
+
// Template constants
|
|
4886
|
+
this.popoverPosition = ClrPopoverPosition.TOP_LEFT;
|
|
4887
|
+
this.popoverType = ClrPopoverType.DROPDOWN;
|
|
4888
|
+
this.commonStrings = this._commonStringsService.keys;
|
|
4889
|
+
this.resetLabel = input.required(...(ngDevMode ? [{ debugName: "resetLabel" }] : /* istanbul ignore next */ []));
|
|
4890
|
+
this.open = toSignal(this._popoverService.openChange);
|
|
4891
|
+
this.hideableColumns = this._columnService.hideableColumns;
|
|
4892
|
+
this.hasOnlyOneVisibleColumn = computed(() => this._columnService.columns().length === this._columnService.hideableColumns().length &&
|
|
4893
|
+
this._columnService.visibleColumns().length === 1, ...(ngDevMode ? [{ debugName: "hasOnlyOneVisibleColumn" }] : /* istanbul ignore next */ []));
|
|
4894
|
+
this.areAllColumnsVisible = computed(() => this._columnService.visibleColumns().length === this._columnService.columns().length, ...(ngDevMode ? [{ debugName: "areAllColumnsVisible" }] : /* istanbul ignore next */ []));
|
|
4895
|
+
this.areAllColumnsReset = computed(() => this._columnService.hideableColumns().every(column => column.hidden === column.initialHidden), ...(ngDevMode ? [{ debugName: "areAllColumnsReset" }] : /* istanbul ignore next */ []));
|
|
4896
|
+
}
|
|
4897
|
+
toggleColumnState(id) {
|
|
4898
|
+
this._columnService.toggleHidden(id);
|
|
4899
|
+
}
|
|
4900
|
+
selectAll() {
|
|
4901
|
+
if (!this.areAllColumnsVisible()) {
|
|
4902
|
+
this._columnService.displayAllColumns();
|
|
4903
|
+
}
|
|
4904
|
+
}
|
|
4905
|
+
resetAllToInitial() {
|
|
4906
|
+
this._columnService.resetToInitialHidden();
|
|
4907
|
+
}
|
|
4908
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableColumnManagerMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4909
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetableColumnManagerMenuComponent, isStandalone: false, selector: "clr-tt-column-manager-menu", inputs: { resetLabel: { classPropertyName: "resetLabel", publicName: "resetLabel", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.column-manager-menu": "true", "class.active": "open()" } }, hostDirectives: [{ directive: i1$2.ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
4910
|
+
<button
|
|
4911
|
+
role="button"
|
|
4912
|
+
type="button"
|
|
4913
|
+
class="btn btn-sm column-manager-menu-open"
|
|
4914
|
+
clrPopoverOrigin
|
|
4915
|
+
clrPopoverOpenCloseButton
|
|
4916
|
+
[attr.aria-controls]="popoverId"
|
|
4917
|
+
[attr.aria-expanded]="open()"
|
|
4918
|
+
[attr.aria-haspopup]="'menu'"
|
|
4919
|
+
>
|
|
4920
|
+
{{ commonStrings.pickColumns }}
|
|
4921
|
+
</button>
|
|
4922
|
+
<div
|
|
4923
|
+
class="column-switch"
|
|
4924
|
+
role="dialog"
|
|
4925
|
+
[attr.aria-label]="commonStrings.showColumnsMenuDescription"
|
|
4926
|
+
[id]="popoverId"
|
|
4927
|
+
cdkTrapFocus
|
|
4928
|
+
cdkTrapFocusAutoCapture
|
|
4929
|
+
*clrPopoverContent="
|
|
4930
|
+
open();
|
|
4931
|
+
at: popoverPosition;
|
|
4932
|
+
type: popoverType;
|
|
4933
|
+
outsideClickToClose: true;
|
|
4934
|
+
scrollToClose: true
|
|
4935
|
+
"
|
|
4936
|
+
>
|
|
4937
|
+
<div class="switch-header">
|
|
4938
|
+
<div class="clr-sr-only" tabindex="-1" #allSelected>{{ commonStrings.allColumnsSelected }}</div>
|
|
4939
|
+
<h2>{{ commonStrings.showColumns }}</h2>
|
|
4940
|
+
<button
|
|
4941
|
+
class="btn btn-sm btn-link-neutral toggle-switch-close-button"
|
|
4942
|
+
clrPopoverCloseButton
|
|
4943
|
+
type="button"
|
|
4944
|
+
[attr.aria-label]="commonStrings.close"
|
|
4945
|
+
>
|
|
4946
|
+
<cds-icon shape="window-close" aria-hidden="true" [attr.title]="commonStrings.close"></cds-icon>
|
|
4947
|
+
<span class="clr-sr-only">{{ commonStrings.close }}</span>
|
|
4948
|
+
</button>
|
|
4949
|
+
</div>
|
|
4950
|
+
<ul class="switch-content list-unstyled">
|
|
4951
|
+
@for (column of hideableColumns(); track column.id) {
|
|
4952
|
+
<li>
|
|
4953
|
+
<clr-checkbox-wrapper>
|
|
4954
|
+
<input
|
|
4955
|
+
clrCheckbox
|
|
4956
|
+
type="checkbox"
|
|
4957
|
+
[disabled]="hasOnlyOneVisibleColumn() && !column.hidden"
|
|
4958
|
+
[ngModel]="!column.hidden"
|
|
4959
|
+
(ngModelChange)="toggleColumnState(column.id)"
|
|
4960
|
+
/>
|
|
4961
|
+
<label>
|
|
4962
|
+
<ng-template [ngTemplateOutlet]="column.titleTemplateRef"></ng-template>
|
|
4963
|
+
</label>
|
|
4964
|
+
</clr-checkbox-wrapper>
|
|
4965
|
+
</li>
|
|
4966
|
+
}
|
|
4967
|
+
</ul>
|
|
4968
|
+
<div class="switch-footer">
|
|
4969
|
+
<button
|
|
4970
|
+
type="button"
|
|
4971
|
+
class="btn btn-sm btn-link switch-button"
|
|
4972
|
+
[disabled]="areAllColumnsVisible()"
|
|
4973
|
+
(click)="selectAll()"
|
|
4974
|
+
>
|
|
4975
|
+
{{ commonStrings.selectAll }}
|
|
4976
|
+
</button>
|
|
4977
|
+
<button
|
|
4978
|
+
type="button"
|
|
4979
|
+
class="btn btn-sm btn-link switch-button"
|
|
4980
|
+
[disabled]="areAllColumnsReset()"
|
|
4981
|
+
(click)="resetAllToInitial()"
|
|
4982
|
+
>
|
|
4983
|
+
{{ resetLabel() }}
|
|
4984
|
+
</button>
|
|
4985
|
+
</div>
|
|
4986
|
+
</div>
|
|
4987
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i1$1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2$3.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i2$3.ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4988
|
+
}
|
|
4989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableColumnManagerMenuComponent, decorators: [{
|
|
4990
|
+
type: Component,
|
|
4991
|
+
args: [{
|
|
4992
|
+
selector: 'clr-tt-column-manager-menu',
|
|
4993
|
+
template: `
|
|
4994
|
+
<button
|
|
4995
|
+
role="button"
|
|
4996
|
+
type="button"
|
|
4997
|
+
class="btn btn-sm column-manager-menu-open"
|
|
4998
|
+
clrPopoverOrigin
|
|
4999
|
+
clrPopoverOpenCloseButton
|
|
5000
|
+
[attr.aria-controls]="popoverId"
|
|
5001
|
+
[attr.aria-expanded]="open()"
|
|
5002
|
+
[attr.aria-haspopup]="'menu'"
|
|
5003
|
+
>
|
|
5004
|
+
{{ commonStrings.pickColumns }}
|
|
5005
|
+
</button>
|
|
5006
|
+
<div
|
|
5007
|
+
class="column-switch"
|
|
5008
|
+
role="dialog"
|
|
5009
|
+
[attr.aria-label]="commonStrings.showColumnsMenuDescription"
|
|
5010
|
+
[id]="popoverId"
|
|
5011
|
+
cdkTrapFocus
|
|
5012
|
+
cdkTrapFocusAutoCapture
|
|
5013
|
+
*clrPopoverContent="
|
|
5014
|
+
open();
|
|
5015
|
+
at: popoverPosition;
|
|
5016
|
+
type: popoverType;
|
|
5017
|
+
outsideClickToClose: true;
|
|
5018
|
+
scrollToClose: true
|
|
5019
|
+
"
|
|
5020
|
+
>
|
|
5021
|
+
<div class="switch-header">
|
|
5022
|
+
<div class="clr-sr-only" tabindex="-1" #allSelected>{{ commonStrings.allColumnsSelected }}</div>
|
|
5023
|
+
<h2>{{ commonStrings.showColumns }}</h2>
|
|
5024
|
+
<button
|
|
5025
|
+
class="btn btn-sm btn-link-neutral toggle-switch-close-button"
|
|
5026
|
+
clrPopoverCloseButton
|
|
5027
|
+
type="button"
|
|
5028
|
+
[attr.aria-label]="commonStrings.close"
|
|
5029
|
+
>
|
|
5030
|
+
<cds-icon shape="window-close" aria-hidden="true" [attr.title]="commonStrings.close"></cds-icon>
|
|
5031
|
+
<span class="clr-sr-only">{{ commonStrings.close }}</span>
|
|
5032
|
+
</button>
|
|
5033
|
+
</div>
|
|
5034
|
+
<ul class="switch-content list-unstyled">
|
|
5035
|
+
@for (column of hideableColumns(); track column.id) {
|
|
5036
|
+
<li>
|
|
5037
|
+
<clr-checkbox-wrapper>
|
|
5038
|
+
<input
|
|
5039
|
+
clrCheckbox
|
|
5040
|
+
type="checkbox"
|
|
5041
|
+
[disabled]="hasOnlyOneVisibleColumn() && !column.hidden"
|
|
5042
|
+
[ngModel]="!column.hidden"
|
|
5043
|
+
(ngModelChange)="toggleColumnState(column.id)"
|
|
5044
|
+
/>
|
|
5045
|
+
<label>
|
|
5046
|
+
<ng-template [ngTemplateOutlet]="column.titleTemplateRef"></ng-template>
|
|
5047
|
+
</label>
|
|
5048
|
+
</clr-checkbox-wrapper>
|
|
5049
|
+
</li>
|
|
5050
|
+
}
|
|
5051
|
+
</ul>
|
|
5052
|
+
<div class="switch-footer">
|
|
5053
|
+
<button
|
|
5054
|
+
type="button"
|
|
5055
|
+
class="btn btn-sm btn-link switch-button"
|
|
5056
|
+
[disabled]="areAllColumnsVisible()"
|
|
5057
|
+
(click)="selectAll()"
|
|
5058
|
+
>
|
|
5059
|
+
{{ commonStrings.selectAll }}
|
|
5060
|
+
</button>
|
|
5061
|
+
<button
|
|
5062
|
+
type="button"
|
|
5063
|
+
class="btn btn-sm btn-link switch-button"
|
|
5064
|
+
[disabled]="areAllColumnsReset()"
|
|
5065
|
+
(click)="resetAllToInitial()"
|
|
5066
|
+
>
|
|
5067
|
+
{{ resetLabel() }}
|
|
5068
|
+
</button>
|
|
5069
|
+
</div>
|
|
5070
|
+
</div>
|
|
5071
|
+
`,
|
|
5072
|
+
host: {
|
|
5073
|
+
'[class.column-manager-menu]': 'true',
|
|
5074
|
+
'[class.active]': 'open()',
|
|
5075
|
+
},
|
|
5076
|
+
hostDirectives: [ClrPopoverHostDirective],
|
|
5077
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5078
|
+
standalone: false,
|
|
5079
|
+
}]
|
|
5080
|
+
}], propDecorators: { resetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetLabel", required: true }] }] } });
|
|
5081
|
+
|
|
5082
|
+
class ClrTreetableFooter {
|
|
5083
|
+
constructor() {
|
|
5084
|
+
this._commonStringsService = inject(ClrCommonStringsService);
|
|
5085
|
+
this._columnService = inject(TreetableColumnStateService);
|
|
5086
|
+
this._dataService = inject(TreetableDataStateService);
|
|
5087
|
+
this.commonStrings = this._commonStringsService.keys;
|
|
5088
|
+
this.clrResetLabel = input('RESET', ...(ngDevMode ? [{ debugName: "clrResetLabel" }] : /* istanbul ignore next */ []));
|
|
5089
|
+
this.hasHideableColumns = this._columnService.hasHideableColumns;
|
|
5090
|
+
this.selectedRows = this._dataService.selectedNodes;
|
|
5091
|
+
this.hasSelectedRows = computed(() => this.selectedRows()?.length > 0, ...(ngDevMode ? [{ debugName: "hasSelectedRows" }] : /* istanbul ignore next */ []));
|
|
5092
|
+
}
|
|
5093
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5094
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: ClrTreetableFooter, isStandalone: false, selector: "clr-tt-footer", inputs: { clrResetLabel: { classPropertyName: "clrResetLabel", publicName: "clrResetLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.treetable-footer": "true" } }, ngImport: i0, template: `
|
|
5095
|
+
@if (hasSelectedRows()) {
|
|
5096
|
+
<div class="clr-form-control-disabled">
|
|
5097
|
+
<clr-checkbox-wrapper class="treetable-footer-select">
|
|
5098
|
+
<input clrCheckbox type="checkbox" checked="checked" disabled />
|
|
5099
|
+
<label>{{ selectedRows().length }}</label>
|
|
5100
|
+
<span class="clr-sr-only">{{ commonStrings.selectedRows }}</span>
|
|
5101
|
+
</clr-checkbox-wrapper>
|
|
5102
|
+
</div>
|
|
5103
|
+
} @if (hasHideableColumns()) {
|
|
5104
|
+
<clr-tt-column-manager-menu [resetLabel]="clrResetLabel()" />
|
|
5105
|
+
}
|
|
5106
|
+
|
|
5107
|
+
<div class="treetable-footer-description">
|
|
5108
|
+
<ng-content />
|
|
5109
|
+
</div>
|
|
5110
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1$1.ClrControlLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "component", type: ClrTreetableColumnManagerMenuComponent, selector: "clr-tt-column-manager-menu", inputs: ["resetLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5111
|
+
}
|
|
5112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableFooter, decorators: [{
|
|
5113
|
+
type: Component,
|
|
5114
|
+
args: [{
|
|
5115
|
+
selector: 'clr-tt-footer',
|
|
5116
|
+
template: `
|
|
5117
|
+
@if (hasSelectedRows()) {
|
|
5118
|
+
<div class="clr-form-control-disabled">
|
|
5119
|
+
<clr-checkbox-wrapper class="treetable-footer-select">
|
|
5120
|
+
<input clrCheckbox type="checkbox" checked="checked" disabled />
|
|
5121
|
+
<label>{{ selectedRows().length }}</label>
|
|
5122
|
+
<span class="clr-sr-only">{{ commonStrings.selectedRows }}</span>
|
|
5123
|
+
</clr-checkbox-wrapper>
|
|
5124
|
+
</div>
|
|
5125
|
+
} @if (hasHideableColumns()) {
|
|
5126
|
+
<clr-tt-column-manager-menu [resetLabel]="clrResetLabel()" />
|
|
5127
|
+
}
|
|
5128
|
+
|
|
5129
|
+
<div class="treetable-footer-description">
|
|
5130
|
+
<ng-content />
|
|
5131
|
+
</div>
|
|
5132
|
+
`,
|
|
5133
|
+
host: {
|
|
5134
|
+
'[class.treetable-footer]': 'true',
|
|
5135
|
+
},
|
|
5136
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
5137
|
+
standalone: false,
|
|
5138
|
+
}]
|
|
5139
|
+
}], propDecorators: { clrResetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrResetLabel", required: false }] }] } });
|
|
5140
|
+
|
|
5141
|
+
/*
|
|
5142
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
5143
|
+
* This software is released under MIT license.
|
|
5144
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5145
|
+
*/
|
|
5146
|
+
/**
|
|
5147
|
+
* A structural directive meant to be used inside a clr-tt-column component.
|
|
5148
|
+
*
|
|
5149
|
+
* @example
|
|
5150
|
+
* <clr-tt-column>
|
|
5151
|
+
* <ng-container *clrTtHideableColumn="{ hidden: true }">
|
|
5152
|
+
* User ID
|
|
5153
|
+
* </ng-container>
|
|
5154
|
+
* </clr-tt-column>
|
|
5155
|
+
*
|
|
5156
|
+
* It sets up state and properties so that columns can be managed for hide/show
|
|
5157
|
+
* by a service and the column manager menu component.
|
|
5158
|
+
*
|
|
5159
|
+
* The structural directive captures its content as a TemplateRef (without ng-content),
|
|
5160
|
+
* which allows it to be safely instantiated in multiple places (header + menu).
|
|
5161
|
+
*/
|
|
5162
|
+
class ClrTreetableHideableColumn {
|
|
5163
|
+
constructor() {
|
|
5164
|
+
this._titleTemplateRef = inject(TemplateRef);
|
|
5165
|
+
this._viewContainerRef = inject(ViewContainerRef);
|
|
5166
|
+
this._columnState = inject(TreetableColumnStateService);
|
|
5167
|
+
this._column = inject(ClrTreetableColumn);
|
|
5168
|
+
this.clrTtHideableColumn = input('', ...(ngDevMode ? [{ debugName: "clrTtHideableColumn" }] : /* istanbul ignore next */ []));
|
|
5169
|
+
this.clrTtHiddenChange = output();
|
|
5170
|
+
this.resolvedHidden = computed(() => {
|
|
5171
|
+
const value = this.clrTtHideableColumn();
|
|
5172
|
+
if (typeof value === 'string') {
|
|
5173
|
+
return { hidden: false, initialHidden: false };
|
|
5174
|
+
}
|
|
5175
|
+
const hidden = value?.hidden ?? false;
|
|
5176
|
+
return { hidden: hidden, initialHidden: value?.initial ?? hidden };
|
|
5177
|
+
}, ...(ngDevMode ? [{ debugName: "resolvedHidden" }] : /* istanbul ignore next */ []));
|
|
5178
|
+
// Render the content in-place (inside the column header)
|
|
5179
|
+
this._viewContainerRef.createEmbeddedView(this._titleTemplateRef);
|
|
5180
|
+
// React to input changes after initial registration (skip the first emission handled by ngOnInit)
|
|
5181
|
+
toObservable(this.resolvedHidden)
|
|
5182
|
+
.pipe(skip$1(1), takeUntilDestroyed())
|
|
5183
|
+
.subscribe(value => {
|
|
5184
|
+
this._columnState.changeHideable(this._column.columnId, true, value.hidden);
|
|
5185
|
+
});
|
|
5186
|
+
}
|
|
5187
|
+
ngOnInit() {
|
|
5188
|
+
// Register the hideable state with the titleTemplateRef that does NOT contain <ng-content>
|
|
5189
|
+
const resolvedHidden = this.resolvedHidden();
|
|
5190
|
+
this._columnState.registerHideable(this._column.columnId, {
|
|
5191
|
+
hideable: true,
|
|
5192
|
+
hidden: resolvedHidden.hidden,
|
|
5193
|
+
initialHidden: resolvedHidden.initialHidden,
|
|
5194
|
+
titleTemplateRef: this._titleTemplateRef,
|
|
5195
|
+
});
|
|
5196
|
+
}
|
|
5197
|
+
ngOnDestroy() {
|
|
5198
|
+
// When the directive is destroyed, mark the column as non-hideable
|
|
5199
|
+
this._columnState.changeHideable(this._column.columnId, false, false);
|
|
5200
|
+
}
|
|
5201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableHideableColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5202
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.17", type: ClrTreetableHideableColumn, isStandalone: false, selector: "[clrTtHideableColumn]", inputs: { clrTtHideableColumn: { classPropertyName: "clrTtHideableColumn", publicName: "clrTtHideableColumn", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clrTtHiddenChange: "clrTtHiddenChange" }, ngImport: i0 }); }
|
|
5203
|
+
}
|
|
5204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableHideableColumn, decorators: [{
|
|
5205
|
+
type: Directive,
|
|
5206
|
+
args: [{
|
|
5207
|
+
selector: '[clrTtHideableColumn]',
|
|
5208
|
+
standalone: false,
|
|
5209
|
+
}]
|
|
5210
|
+
}], ctorParameters: () => [], propDecorators: { clrTtHideableColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "clrTtHideableColumn", required: false }] }], clrTtHiddenChange: [{ type: i0.Output, args: ["clrTtHiddenChange"] }] } });
|
|
4704
5211
|
|
|
4705
5212
|
/*
|
|
4706
5213
|
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
@@ -4709,14 +5216,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4709
5216
|
*/
|
|
4710
5217
|
class ClrTreetableFilter {
|
|
4711
5218
|
constructor() {
|
|
4712
|
-
this.
|
|
4713
|
-
this.
|
|
4714
|
-
this.filterProvider = inject((
|
|
4715
|
-
//
|
|
4716
|
-
this.
|
|
5219
|
+
this._commonStringsService = inject(ClrCommonStringsService);
|
|
5220
|
+
this._popoverService = inject(ClrPopoverService);
|
|
5221
|
+
this.filterProvider = inject((FilterStateService));
|
|
5222
|
+
// Template constants
|
|
5223
|
+
this.popoverPosition = ClrPopoverPosition.BOTTOM_LEFT;
|
|
5224
|
+
this.commonStrings = this._commonStringsService.keys;
|
|
4717
5225
|
this.clrTtFilter = input.required(...(ngDevMode ? [{ debugName: "clrTtFilter" }] : /* istanbul ignore next */ []));
|
|
4718
5226
|
this.registered = signal(undefined, ...(ngDevMode ? [{ debugName: "registered" }] : /* istanbul ignore next */ []));
|
|
4719
|
-
this.open = toSignal(this.
|
|
5227
|
+
this.open = toSignal(this._popoverService.openChange);
|
|
4720
5228
|
this.active = computed(() => this.clrTtFilter()?.isActive(), ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
4721
5229
|
}
|
|
4722
5230
|
ngOnInit() {
|
|
@@ -4750,18 +5258,18 @@ class ClrTreetableFilter {
|
|
|
4750
5258
|
class="treetable-filter"
|
|
4751
5259
|
role="dialog"
|
|
4752
5260
|
cdkTrapFocus
|
|
4753
|
-
*clrPopoverContent="open(); at:
|
|
4754
|
-
[attr.aria-label]="
|
|
5261
|
+
*clrPopoverContent="open(); at: popoverPosition; outsideClickToClose: true; scrollToClose: true"
|
|
5262
|
+
[attr.aria-label]="commonStrings.datagridFilterDialogAriaLabel"
|
|
4755
5263
|
>
|
|
4756
5264
|
<div class="treetable-filter-close-wrapper">
|
|
4757
5265
|
<button type="button" class="close" clrPopoverCloseButton>
|
|
4758
|
-
<cds-icon shape="window-close" [attr.aria-label]="
|
|
5266
|
+
<cds-icon shape="window-close" [attr.aria-label]="commonStrings.close"></cds-icon>
|
|
4759
5267
|
</button>
|
|
4760
5268
|
</div>
|
|
4761
5269
|
|
|
4762
5270
|
<ng-content></ng-content>
|
|
4763
5271
|
</div>
|
|
4764
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i2.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2$3.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i2$3.ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5272
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i2.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i2$3.ClrPopoverOrigin, selector: "[clrPopoverOrigin]" }, { kind: "directive", type: i2$3.ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: ["clrPopoverOnCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: ["clrPopoverOpenCloseChange"] }, { kind: "directive", type: i2$3.ClrPopoverContent, selector: "[clrPopoverContent]", inputs: ["clrPopoverContent", "clrPopoverContentAt", "clrPopoverContentAvailablePositions", "clrPopoverContentType", "clrPopoverContentOutsideClickToClose", "clrPopoverContentScrollToClose", "clrPopoverContentOrigin"] }, { kind: "directive", type: i1$2.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4765
5273
|
}
|
|
4766
5274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableFilter, decorators: [{
|
|
4767
5275
|
type: Component,
|
|
@@ -4789,12 +5297,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4789
5297
|
class="treetable-filter"
|
|
4790
5298
|
role="dialog"
|
|
4791
5299
|
cdkTrapFocus
|
|
4792
|
-
*clrPopoverContent="open(); at:
|
|
4793
|
-
[attr.aria-label]="
|
|
5300
|
+
*clrPopoverContent="open(); at: popoverPosition; outsideClickToClose: true; scrollToClose: true"
|
|
5301
|
+
[attr.aria-label]="commonStrings.datagridFilterDialogAriaLabel"
|
|
4794
5302
|
>
|
|
4795
5303
|
<div class="treetable-filter-close-wrapper">
|
|
4796
5304
|
<button type="button" class="close" clrPopoverCloseButton>
|
|
4797
|
-
<cds-icon shape="window-close" [attr.aria-label]="
|
|
5305
|
+
<cds-icon shape="window-close" [attr.aria-label]="commonStrings.close"></cds-icon>
|
|
4798
5306
|
</button>
|
|
4799
5307
|
</div>
|
|
4800
5308
|
|
|
@@ -4859,28 +5367,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4859
5367
|
}]
|
|
4860
5368
|
}] });
|
|
4861
5369
|
|
|
5370
|
+
/**
|
|
5371
|
+
* The CSS class to use to hide a column and its related cells in the treetable.
|
|
5372
|
+
*/
|
|
5373
|
+
const HIDDEN_COLUMN_CSS_CLASS = 'treetable-hidden-column';
|
|
5374
|
+
|
|
4862
5375
|
/*
|
|
4863
|
-
* Copyright (c) 2018-
|
|
5376
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4864
5377
|
* This software is released under MIT license.
|
|
4865
5378
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4866
5379
|
*/
|
|
4867
5380
|
class TreetableHeaderRenderer {
|
|
4868
|
-
constructor(
|
|
4869
|
-
this.
|
|
4870
|
-
this.renderer =
|
|
5381
|
+
constructor() {
|
|
5382
|
+
this.elementRef = inject(ElementRef);
|
|
5383
|
+
this.renderer = inject(Renderer2);
|
|
4871
5384
|
}
|
|
4872
5385
|
/**
|
|
4873
5386
|
* Returns the client width of the header cell.
|
|
4874
5387
|
*/
|
|
4875
5388
|
getWidth() {
|
|
4876
|
-
return this.
|
|
5389
|
+
return this.elementRef.nativeElement.clientWidth;
|
|
5390
|
+
}
|
|
5391
|
+
hide() {
|
|
5392
|
+
this.renderer.addClass(this.elementRef.nativeElement, HIDDEN_COLUMN_CSS_CLASS);
|
|
5393
|
+
}
|
|
5394
|
+
show() {
|
|
5395
|
+
const element = this.elementRef.nativeElement;
|
|
5396
|
+
if (element.classList.contains(HIDDEN_COLUMN_CSS_CLASS)) {
|
|
5397
|
+
this.renderer.removeClass(element, HIDDEN_COLUMN_CSS_CLASS);
|
|
5398
|
+
}
|
|
4877
5399
|
}
|
|
4878
5400
|
/**
|
|
4879
5401
|
* Returns all classes starting with 'clr-col'.
|
|
4880
5402
|
*/
|
|
4881
5403
|
getColumnClasses() {
|
|
4882
5404
|
const classes = [];
|
|
4883
|
-
this.
|
|
5405
|
+
this.elementRef.nativeElement.classList.forEach((className) => {
|
|
4884
5406
|
if (className.indexOf('clr-col') !== -1) {
|
|
4885
5407
|
classes.push(className);
|
|
4886
5408
|
}
|
|
@@ -4888,9 +5410,9 @@ class TreetableHeaderRenderer {
|
|
|
4888
5410
|
return classes;
|
|
4889
5411
|
}
|
|
4890
5412
|
setDefaultColumnClass() {
|
|
4891
|
-
this.renderer.addClass(this.
|
|
5413
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'clr-col');
|
|
4892
5414
|
}
|
|
4893
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableHeaderRenderer, deps: [
|
|
5415
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableHeaderRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4894
5416
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: TreetableHeaderRenderer, isStandalone: false, selector: "clr-tt-column", ngImport: i0 }); }
|
|
4895
5417
|
}
|
|
4896
5418
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableHeaderRenderer, decorators: [{
|
|
@@ -4899,27 +5421,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4899
5421
|
selector: 'clr-tt-column',
|
|
4900
5422
|
standalone: false,
|
|
4901
5423
|
}]
|
|
4902
|
-
}]
|
|
5424
|
+
}] });
|
|
4903
5425
|
|
|
4904
5426
|
/*
|
|
4905
|
-
* Copyright (c) 2018-
|
|
5427
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4906
5428
|
* This software is released under MIT license.
|
|
4907
5429
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4908
5430
|
*/
|
|
4909
5431
|
class TreetableCellRenderer {
|
|
4910
|
-
constructor(
|
|
4911
|
-
this.
|
|
4912
|
-
this.renderer =
|
|
5432
|
+
constructor() {
|
|
5433
|
+
this.elementRef = inject(ElementRef);
|
|
5434
|
+
this.renderer = inject(Renderer2);
|
|
4913
5435
|
}
|
|
4914
5436
|
setColumnClasses(columnClasses) {
|
|
4915
5437
|
columnClasses.forEach((className) => {
|
|
4916
|
-
this.renderer.addClass(this.
|
|
5438
|
+
this.renderer.addClass(this.elementRef.nativeElement, className);
|
|
4917
5439
|
});
|
|
4918
5440
|
}
|
|
5441
|
+
hide() {
|
|
5442
|
+
this.renderer.addClass(this.elementRef.nativeElement, HIDDEN_COLUMN_CSS_CLASS);
|
|
5443
|
+
}
|
|
5444
|
+
show() {
|
|
5445
|
+
const element = this.elementRef.nativeElement;
|
|
5446
|
+
if (element.classList.contains(HIDDEN_COLUMN_CSS_CLASS)) {
|
|
5447
|
+
this.renderer.removeClass(element, HIDDEN_COLUMN_CSS_CLASS);
|
|
5448
|
+
}
|
|
5449
|
+
}
|
|
4919
5450
|
setMaxWidth(maxWidth) {
|
|
4920
|
-
this.renderer.setStyle(this.
|
|
5451
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', maxWidth + 'px');
|
|
4921
5452
|
}
|
|
4922
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableCellRenderer, deps: [
|
|
5453
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableCellRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4923
5454
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: TreetableCellRenderer, isStandalone: false, selector: "clr-tt-cell", ngImport: i0 }); }
|
|
4924
5455
|
}
|
|
4925
5456
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableCellRenderer, decorators: [{
|
|
@@ -4928,16 +5459,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4928
5459
|
selector: 'clr-tt-cell',
|
|
4929
5460
|
standalone: false,
|
|
4930
5461
|
}]
|
|
4931
|
-
}]
|
|
5462
|
+
}] });
|
|
4932
5463
|
|
|
4933
5464
|
/*
|
|
4934
|
-
* Copyright (c) 2018-
|
|
5465
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4935
5466
|
* This software is released under MIT license.
|
|
4936
5467
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4937
5468
|
*/
|
|
4938
5469
|
class TreetableRowRenderer {
|
|
5470
|
+
constructor() {
|
|
5471
|
+
this.cells = contentChildren(TreetableCellRenderer, ...(ngDevMode ? [{ debugName: "cells" }] : /* istanbul ignore next */ []));
|
|
5472
|
+
}
|
|
4939
5473
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableRowRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4940
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
5474
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.17", type: TreetableRowRenderer, isStandalone: false, selector: "clr-tt-row", queries: [{ propertyName: "cells", predicate: TreetableCellRenderer, isSignal: true }], ngImport: i0 }); }
|
|
4941
5475
|
}
|
|
4942
5476
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableRowRenderer, decorators: [{
|
|
4943
5477
|
type: Directive,
|
|
@@ -4945,93 +5479,176 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
4945
5479
|
selector: 'clr-tt-row',
|
|
4946
5480
|
standalone: false,
|
|
4947
5481
|
}]
|
|
4948
|
-
}], propDecorators: { cells: [{
|
|
4949
|
-
type: ContentChildren,
|
|
4950
|
-
args: [TreetableCellRenderer]
|
|
4951
|
-
}] } });
|
|
5482
|
+
}], propDecorators: { cells: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TreetableCellRenderer), { isSignal: true }] }] } });
|
|
4952
5483
|
|
|
4953
5484
|
/*
|
|
4954
|
-
* Copyright (c) 2018-
|
|
5485
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
4955
5486
|
* This software is released under MIT license.
|
|
4956
5487
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4957
5488
|
*/
|
|
4958
5489
|
class TreetableMainRenderer {
|
|
4959
5490
|
constructor() {
|
|
4960
|
-
this.
|
|
4961
|
-
|
|
4962
|
-
|
|
5491
|
+
this._columnState = inject(TreetableColumnStateService);
|
|
5492
|
+
this.headers = contentChildren(TreetableHeaderRenderer, ...(ngDevMode ? [{ debugName: "headers" }] : /* istanbul ignore next */ []));
|
|
5493
|
+
this.rows = contentChildren(TreetableRowRenderer, { ...(ngDevMode ? { debugName: "rows" } : /* istanbul ignore next */ {}), descendants: true });
|
|
5494
|
+
this.columns = contentChildren(ClrTreetableColumn, ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
5495
|
+
this.rules = [
|
|
5496
|
+
this.createClassesRule(),
|
|
5497
|
+
this.createFirstColumnWidthRule(),
|
|
5498
|
+
this.createDisplayRule(),
|
|
5499
|
+
];
|
|
4963
5500
|
fromEvent(window, 'resize')
|
|
4964
|
-
.pipe(debounceTime(200))
|
|
4965
|
-
.subscribe(() => this.
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
5501
|
+
.pipe(debounceTime(200), takeUntilDestroyed())
|
|
5502
|
+
.subscribe(() => this.renderRuleByKey('first-column-width', this.headers(), this.rows()));
|
|
5503
|
+
afterRenderEffect(() => {
|
|
5504
|
+
const headers = this.headers();
|
|
5505
|
+
const rows = this.rows();
|
|
5506
|
+
if (headers.length > 0) {
|
|
5507
|
+
this.renderAllRules(headers, rows);
|
|
5508
|
+
}
|
|
4970
5509
|
});
|
|
4971
|
-
this.
|
|
4972
|
-
|
|
5510
|
+
this._columnState.changes$.pipe(takeUntilDestroyed()).subscribe(event => {
|
|
5511
|
+
const headers = this.headers();
|
|
5512
|
+
const rows = this.rows();
|
|
5513
|
+
switch (event) {
|
|
5514
|
+
case TreetableColumnUpdate.HIDDEN:
|
|
5515
|
+
this.renderRulesByKeys(['display', 'first-column-width'], headers, rows);
|
|
5516
|
+
break;
|
|
5517
|
+
case TreetableColumnUpdate.RESET_HIDDEN:
|
|
5518
|
+
this.renderAllRules(headers, rows); // resetHidden etc.
|
|
5519
|
+
break;
|
|
5520
|
+
case TreetableColumnUpdate.WIDTH:
|
|
5521
|
+
this.renderRuleByKey('first-column-width', headers, rows);
|
|
5522
|
+
break;
|
|
5523
|
+
default:
|
|
5524
|
+
this.renderAllRules(headers, rows);
|
|
5525
|
+
}
|
|
4973
5526
|
});
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
this.applyColumnClasses();
|
|
4978
|
-
setTimeout(() => {
|
|
4979
|
-
this.applyMaxWidth();
|
|
4980
|
-
}, 10);
|
|
4981
|
-
}
|
|
5527
|
+
toObservable(this.columns)
|
|
5528
|
+
.pipe(first())
|
|
5529
|
+
.subscribe(columns => this.initializeColumnOrder(columns));
|
|
4982
5530
|
}
|
|
4983
5531
|
/**
|
|
4984
|
-
*
|
|
5532
|
+
* Initializes the index order of the columns as they are rendered.
|
|
4985
5533
|
*/
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
|
|
5534
|
+
initializeColumnOrder(columns) {
|
|
5535
|
+
const idsInOrder = columns.map(column => column.columnId);
|
|
5536
|
+
this._columnState.initializeOrder(idsInOrder);
|
|
5537
|
+
}
|
|
5538
|
+
renderAllRules(headers, rows) {
|
|
5539
|
+
this.render(this.rules, headers, rows);
|
|
5540
|
+
}
|
|
5541
|
+
renderRuleByKey(key, headers, rows) {
|
|
5542
|
+
this.renderRulesByKeys([key], headers, rows);
|
|
5543
|
+
}
|
|
5544
|
+
renderRulesByKeys(keys, headers, rows) {
|
|
5545
|
+
const keySet = new Set(keys);
|
|
5546
|
+
const activeRules = this.rules.filter(rule => keySet.has(rule.key));
|
|
5547
|
+
this.render(activeRules, headers, rows);
|
|
5548
|
+
}
|
|
5549
|
+
render(activeRules, headers, rows) {
|
|
5550
|
+
const columnStates = this._columnState.columns();
|
|
5551
|
+
const statesByIdx = new Map(columnStates.map(state => [state.columnIndex, state]));
|
|
5552
|
+
const firstVisibleIndex = headers.findIndex((_, idx) => !statesByIdx.get(idx)?.hidden);
|
|
5553
|
+
const contexts = headers.map((header, idx) => ({
|
|
5554
|
+
index: idx,
|
|
5555
|
+
isFirstVisible: idx === firstVisibleIndex,
|
|
5556
|
+
header,
|
|
5557
|
+
state: statesByIdx.get(idx),
|
|
5558
|
+
}));
|
|
5559
|
+
const unstableLayoutRules = activeRules.filter(r => r.layoutPhase === 'unstable');
|
|
5560
|
+
const stableLayoutRules = activeRules.filter(r => r.layoutPhase === 'stable');
|
|
5561
|
+
// Phase 1: apply all DOM-mutating rules (classes, display)
|
|
5562
|
+
if (unstableLayoutRules.length) {
|
|
5563
|
+
this.applyRules(unstableLayoutRules, contexts, rows);
|
|
5564
|
+
}
|
|
5565
|
+
// Phase 2: stable - apply all DOM-reading rules (browser reflows on first read after mutations)
|
|
5566
|
+
if (stableLayoutRules.length) {
|
|
5567
|
+
this.applyRules(stableLayoutRules, contexts, rows);
|
|
5568
|
+
}
|
|
5569
|
+
}
|
|
5570
|
+
applyRules(activeRules, contexts, rows) {
|
|
5571
|
+
for (const ctx of contexts) {
|
|
5572
|
+
const preparedRules = activeRules
|
|
5573
|
+
.map(rule => ({ rule, data: rule.prepareData(ctx) }))
|
|
5574
|
+
.filter((x) => x.data !== null);
|
|
5575
|
+
if (ctx.header) {
|
|
5576
|
+
for (const { rule, data } of preparedRules) {
|
|
5577
|
+
rule.applyHeader?.(ctx.header, data, ctx);
|
|
5578
|
+
}
|
|
5022
5579
|
}
|
|
5023
|
-
|
|
5024
|
-
|
|
5580
|
+
for (const row of rows) {
|
|
5581
|
+
const cell = row.cells()[ctx.index];
|
|
5582
|
+
if (!cell) {
|
|
5583
|
+
continue;
|
|
5584
|
+
}
|
|
5585
|
+
for (const { rule, data } of preparedRules) {
|
|
5586
|
+
rule.applyCell?.(cell, data, ctx);
|
|
5587
|
+
}
|
|
5025
5588
|
}
|
|
5026
5589
|
}
|
|
5027
5590
|
}
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5591
|
+
createClassesRule() {
|
|
5592
|
+
return {
|
|
5593
|
+
key: 'classes',
|
|
5594
|
+
layoutPhase: 'unstable',
|
|
5595
|
+
prepareData: ctx => {
|
|
5596
|
+
if (!ctx.header) {
|
|
5597
|
+
return null;
|
|
5598
|
+
}
|
|
5599
|
+
const classes = ctx.header.getColumnClasses();
|
|
5600
|
+
return { classes: classes.length ? classes : ['clr-col'], useDefault: classes.length === 0 };
|
|
5601
|
+
},
|
|
5602
|
+
applyHeader: (header, data) => {
|
|
5603
|
+
if (data.useDefault) {
|
|
5604
|
+
header.setDefaultColumnClass();
|
|
5605
|
+
}
|
|
5606
|
+
},
|
|
5607
|
+
applyCell: (cell, data) => {
|
|
5608
|
+
cell.setColumnClasses(data.classes);
|
|
5609
|
+
},
|
|
5610
|
+
};
|
|
5611
|
+
}
|
|
5612
|
+
createFirstColumnWidthRule() {
|
|
5613
|
+
return {
|
|
5614
|
+
key: 'first-column-width',
|
|
5615
|
+
layoutPhase: 'stable',
|
|
5616
|
+
prepareData: ctx => {
|
|
5617
|
+
if (!ctx.isFirstVisible || !ctx.header) {
|
|
5618
|
+
return null;
|
|
5619
|
+
}
|
|
5620
|
+
return { width: ctx.header.getWidth() };
|
|
5621
|
+
},
|
|
5622
|
+
applyCell: (cell, data) => {
|
|
5623
|
+
cell.setMaxWidth(data.width);
|
|
5624
|
+
},
|
|
5625
|
+
};
|
|
5626
|
+
}
|
|
5627
|
+
createDisplayRule() {
|
|
5628
|
+
return {
|
|
5629
|
+
key: 'display',
|
|
5630
|
+
layoutPhase: 'unstable',
|
|
5631
|
+
prepareData: ctx => ({ hidden: !!ctx.state?.hidden }),
|
|
5632
|
+
applyHeader: (header, data) => {
|
|
5633
|
+
if (data.hidden) {
|
|
5634
|
+
header.hide();
|
|
5635
|
+
}
|
|
5636
|
+
else {
|
|
5637
|
+
header.show();
|
|
5638
|
+
}
|
|
5639
|
+
},
|
|
5640
|
+
applyCell: (cell, data) => {
|
|
5641
|
+
if (data.hidden) {
|
|
5642
|
+
cell.hide();
|
|
5643
|
+
}
|
|
5644
|
+
else {
|
|
5645
|
+
cell.show();
|
|
5646
|
+
}
|
|
5647
|
+
},
|
|
5648
|
+
};
|
|
5032
5649
|
}
|
|
5033
5650
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableMainRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5034
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
5651
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.17", type: TreetableMainRenderer, isStandalone: false, selector: "clr-treetable", queries: [{ propertyName: "headers", predicate: TreetableHeaderRenderer, isSignal: true }, { propertyName: "rows", predicate: TreetableRowRenderer, descendants: true, isSignal: true }, { propertyName: "columns", predicate: ClrTreetableColumn, isSignal: true }], ngImport: i0 }); }
|
|
5035
5652
|
}
|
|
5036
5653
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TreetableMainRenderer, decorators: [{
|
|
5037
5654
|
type: Directive,
|
|
@@ -5039,16 +5656,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
5039
5656
|
selector: 'clr-treetable',
|
|
5040
5657
|
standalone: false,
|
|
5041
5658
|
}]
|
|
5042
|
-
}], propDecorators: { headers: [{
|
|
5043
|
-
type: ContentChildren,
|
|
5044
|
-
args: [TreetableHeaderRenderer]
|
|
5045
|
-
}], rows: [{
|
|
5046
|
-
type: ContentChildren,
|
|
5047
|
-
args: [TreetableRowRenderer, { descendants: true }]
|
|
5048
|
-
}], columns: [{
|
|
5049
|
-
type: ContentChildren,
|
|
5050
|
-
args: [ClrTreetableColumn]
|
|
5051
|
-
}] } });
|
|
5659
|
+
}], ctorParameters: () => [], propDecorators: { headers: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TreetableHeaderRenderer), { isSignal: true }] }], rows: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TreetableRowRenderer), { ...{ descendants: true }, isSignal: true }] }], columns: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => ClrTreetableColumn), { isSignal: true }] }] } });
|
|
5052
5660
|
|
|
5053
5661
|
/*
|
|
5054
5662
|
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
@@ -5213,6 +5821,8 @@ const CLR_TREETABLE_DIRECTIVES = [
|
|
|
5213
5821
|
ClrTreetableRow,
|
|
5214
5822
|
ClrTreetableCell,
|
|
5215
5823
|
ClrTreetableColumn,
|
|
5824
|
+
ClrTreetableHideableColumn,
|
|
5825
|
+
ClrTreetableFooter,
|
|
5216
5826
|
ClrTreetablePlaceholder,
|
|
5217
5827
|
ClrTreetableActionOverflow,
|
|
5218
5828
|
TreetableMainRenderer,
|
|
@@ -5232,6 +5842,8 @@ class ClrTreetableModule {
|
|
|
5232
5842
|
ClrTreetableRow,
|
|
5233
5843
|
ClrTreetableCell,
|
|
5234
5844
|
ClrTreetableColumn,
|
|
5845
|
+
ClrTreetableHideableColumn,
|
|
5846
|
+
ClrTreetableFooter,
|
|
5235
5847
|
ClrTreetablePlaceholder,
|
|
5236
5848
|
ClrTreetableActionOverflow,
|
|
5237
5849
|
TreetableMainRenderer,
|
|
@@ -5240,10 +5852,14 @@ class ClrTreetableModule {
|
|
|
5240
5852
|
TreetableCellRenderer,
|
|
5241
5853
|
TreetableItemsDirective,
|
|
5242
5854
|
ClrTreetableFilter,
|
|
5243
|
-
ClrTreetableStringFilter, ClrTreetableRecursiveRows,
|
|
5855
|
+
ClrTreetableStringFilter, ClrTreetableRecursiveRows,
|
|
5856
|
+
ClrTreetableRowCheckbox,
|
|
5857
|
+
ClrTreetableColumnManagerMenuComponent], imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule, CdkTrapFocusModule], exports: [ClrTreetable,
|
|
5244
5858
|
ClrTreetableRow,
|
|
5245
5859
|
ClrTreetableCell,
|
|
5246
5860
|
ClrTreetableColumn,
|
|
5861
|
+
ClrTreetableHideableColumn,
|
|
5862
|
+
ClrTreetableFooter,
|
|
5247
5863
|
ClrTreetablePlaceholder,
|
|
5248
5864
|
ClrTreetableActionOverflow,
|
|
5249
5865
|
TreetableMainRenderer,
|
|
@@ -5253,13 +5869,18 @@ class ClrTreetableModule {
|
|
|
5253
5869
|
TreetableItemsDirective,
|
|
5254
5870
|
ClrTreetableFilter,
|
|
5255
5871
|
ClrTreetableStringFilter] }); }
|
|
5256
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableModule, imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule] }); }
|
|
5872
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableModule, imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule, CdkTrapFocusModule] }); }
|
|
5257
5873
|
}
|
|
5258
5874
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ClrTreetableModule, decorators: [{
|
|
5259
5875
|
type: NgModule,
|
|
5260
5876
|
args: [{
|
|
5261
|
-
imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule],
|
|
5262
|
-
declarations: [
|
|
5877
|
+
imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule, CdkTrapFocusModule],
|
|
5878
|
+
declarations: [
|
|
5879
|
+
CLR_TREETABLE_DIRECTIVES,
|
|
5880
|
+
ClrTreetableRecursiveRows,
|
|
5881
|
+
ClrTreetableRowCheckbox,
|
|
5882
|
+
ClrTreetableColumnManagerMenuComponent,
|
|
5883
|
+
],
|
|
5263
5884
|
exports: [CLR_TREETABLE_DIRECTIVES],
|
|
5264
5885
|
}]
|
|
5265
5886
|
}], ctorParameters: () => [] });
|
|
@@ -5283,7 +5904,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
5283
5904
|
*/
|
|
5284
5905
|
|
|
5285
5906
|
/*
|
|
5286
|
-
* Copyright (c) 2018-
|
|
5907
|
+
* Copyright (c) 2018-2026 Porsche Informatik. All Rights Reserved.
|
|
5287
5908
|
* This software is released under MIT license.
|
|
5288
5909
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5289
5910
|
*/
|
|
@@ -17202,5 +17823,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
|
|
|
17202
17823
|
* Generated bundle index. Do not edit.
|
|
17203
17824
|
*/
|
|
17204
17825
|
|
|
17205
|
-
export { ACShape, AcceptanceDateShape, AcceptedBrands, AccessoryPartsShape, AudiBrandShape, AwardWinnerPremiumShape, BIG_ENDIAN, BlocksGroupForwardShape, BundleForwardShape, BusinessCustomersCommercialShape, BusinessCustomersPrivateShape, BusinessPartnerWithCar, CLR_BLANK_OPTION, CONTENT_PROVIDER, CalculatorForwardShape, CaliforniaServiceShape, CampaignOutdatedShape, CampaignShape, CarOffSite, CarOnSite, CircleFilled, CircleHalfFilled, CircleQuarterFilled, CircleThreeQuartersFilled, ClrActionPanel, ClrActionPanelContainer, ClrActionPanelContainerContent, ClrActionPanelContainerFooter, ClrActionPanelModule, ClrActiveNotification, ClrAddonsLabel, ClrAddonsModule, ClrAutocompleteOff, ClrAutocompleteOffModule, ClrBackButton, ClrBackButtonModule, ClrBrandAvatar, ClrBrandAvatarModule, ClrBreadcrumb, ClrBreadcrumbModule, ClrBreadcrumbService, ClrCollapseExpandSection, ClrCollapseExpandSectionModule, ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter, ClrContentPanelModule, ClrContentRef, ClrControlEnterSubmitDirective, ClrCopyToClipboard, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridColumnReorderModule, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrExportDatagridButtonModule, ClrFlowBar, ClrFlowBarModule, ClrFocusFirstInvalidFieldDirective, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIconAvatar, ClrIconAvatarModule, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, ClrImageCarousel, ClrImageGallery, ClrImageGalleryModule, ClrKeyboardNavAltMnemonicDirective, ClrKeyboardNavCtrlArrowDirective, ClrLetterAvatar, ClrLetterAvatarModule, ClrLocationBarModule, ClrMainNavGroup, ClrMainNavGroupItem, ClrMainNavGroupModule, ClrMaxNumeric, ClrMinNumeric, ClrMultilingualInput, ClrMultilingualInputValidators, ClrMultilingualModule, ClrMultilingualSelector, ClrMultilingualTextarea, ClrNotification, ClrNotificationModule, ClrNotificationRef, ClrNotificationService, ClrNumericField, ClrNumericFieldModule, ClrNumericFieldValidators, ClrPagedSearchResultList, ClrPagedSearchResultListModule, ClrPager, ClrPagerModule, ClrProgressSpinnerComponent, ClrProgressSpinnerModule, ClrQuickList, ClrQuickListModule, ClrReadonlyDirective, ClrReadonlyDirectiveModule, ClrRequiredAllMultilang, ClrRequiredOneMultilang, ClrSearchField, ClrSearchFieldModule, ClrSummaryArea, ClrSummaryAreaStateService, ClrSummaryAreaToggle, ClrSummaryItem, ClrSummaryItemValue, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableFilter, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrTreetableSortOrder, ClrTreetableStringFilter, ClrTreetableTreeNode, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridColumnReorderDirective, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, DynamicCellContentComponent, EnergyShape, ExportDatagridButtonComponent, ExportDatagridService, ExportTypeEnum, ExternalPartForwardShape, FirstRegistrationDate, GasCarsServiceShape, GasShape, HISTORY_NOTIFICATION_URL_PROVIDER, HISTORY_PROVIDER, HISTORY_TOKEN, HistoryProvider, InternalPartForwardShape, InvoiceReadyShape, InvoiceRecipient, InvoiceShape, ItemsForwardShape, ItemsReceiveShape, LITTLE_ENDIAN, LITTLE_ENDIAN_REGEX, LocationBarComponent, LocationBarContentProvider, LocationBarNode, LogoCommissionModule, LogoCommissionModuleFavIcon, LogoCommissionModuleNegative, LogoCommissionModuleNegativeFavIcon, LogoCostApproval, LogoCostApprovalFavIcon, LogoCostApprovalNegative, LogoCostApprovalNegativeFavIcon, LogoCostControlling, LogoCostControllingFavIcon, LogoCostControllingNegative, LogoCostControllingNegativeFavIcon, LogoDigitalServiceReception, LogoDigitalServiceReceptionFavIcon, LogoDigitalServiceReceptionNegative, LogoDigitalServiceReceptionNegativeFavIcon, LogoDocFlow, LogoDocFlowFavIcon, LogoDocFlowNegative, LogoDocFlowNegativeFavIcon, LogoDocScan, LogoDocScanFavIcon, LogoDocScanNegative, LogoDocScanNegativeFavIcon, LogoDocStore, LogoDocStoreFavIcon, LogoDocStoreNegative, LogoDocStoreNegativeFavIcon, LogoEBilling, LogoEBillingFavIcon, LogoEBillingNegative, LogoEBillingNegativeFavIcon, LogoEPayment, LogoEPaymentFavIcon, LogoEPaymentNegative, LogoEPaymentNegativeFavIcon, LogoMobilityPlanner, LogoMobilityPlannerFavIcon, LogoMobilityPlannerNegative, LogoMobilityPlannerNegativeFavIcon, LogoPartsMobile, LogoPartsMobileFavIcon, LogoPartsMobileNegative, LogoPartsMobileNegativeFavIcon, LogoSBO, LogoSBOFavIcon, LogoSBONegative, LogoSBONegativeFavIcon, LogoServiceCube, LogoServiceCubeFavIcon, LogoServiceCubeNegative, LogoServiceCubeNegativeFavIcon, LogoWCP, LogoWCPFavIcon, LogoWCPNegative, LogoWCPNegativeFavIcon, LogoWorkshopOrderTracker, LogoWorkshopOrderTrackerFavIcon, LogoWorkshopOrderTrackerNegative, LogoWorkshopOrderTrackerNegativeFavIcon, MIDDLE_ENDIAN, MIDDLE_ENDIAN_REGEX, MONTH, Mechanic, NewCarUtilityVehicleShape, NodeId, Number0, Number1, Number10, Number11, Number12, Number13, Number14, Number15, Number16, Number17, Number18, Number19, Number2, Number20, Number3, Number4, Number5, Number6, Number7, Number8, Number9, OrderShape, OrderStatusShape, PaintMaterialForwardShape, PaintMaterialShape, ParkingLocation, PartAvailabilityInfoShape, PartAvailabilityNoShape, PartAvailabilityUnknownShape, PartAvailabilityWarningShape, PartAvailabilityYesShape, PartIdenticalPredecessorShape, PartIdenticalShape, PartIdenticalSuccessorShape, PartIdenticalSuccpredecessorShape, PartNonStockForwardShape, PartPredecessorShape, PartSuccessorPredecessorShape, PartSuccessorShape, PartsChangelocation, PartsForwardShape, PartsInventory, PartsNonStockShape, PartsPicking, PartsPickingPlus, PartsReceiving, PartsShape, PlusServiceShape, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, ServiceAdvisor, SkodaBrandShape, Sort, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, TreetableDataStateService, TreetableHeaderRenderer, TreetableItemsDirective, TreetableMainRenderer, TreetableRowRenderer, USER_INPUT_REGEX, VWBrandShape, VWNBrandShape, VWShape, VehicleConversionShape, VinShape, VsfSearchShape, VsfSearchShape48, WCPShape, WrenchForward, YEAR, acceleration, accelerationIcon, acceptanceDateIcon, accessories, accessoriesIcon, accessoryPartsIcon, adblueAppIcon, adblue_app, add, addIcon, airConditionerIcon, air_conditioning, alert, alertFilledAppIcon, alertIcon, alertNotificationFilledAppIcon, alert_filled_app, alert_notification_filled_app, allIcons, ambientLightAppIcon, ambient_light_app, amplifier, amplifierIcon, appConnectAppIcon, app_connect_app, archive, archiveIcon, arrowDownIcon, arrowLeftAlignedAppIcon, arrowLeftIcon, arrowRightIcon, arrowSliderAppIcon, arrowUpIcon, arrow_down, arrow_left, arrow_left_aligned_app, arrow_right, arrow_slider_app, arrow_up, attachment, attachmentIcon, audiBrandIcon, authentPlugChargeAppIcon, authentQrAppIcon, authentRfidAppIcon, authentTouchidAppIcon, authent_plug_charge_app, authent_qr_app, authent_rfid_app, authent_touch_id_app, automaticTempAppIcon, automatic_temp_app, awardWinnerPremiumIcon, award_winner_premium, back, backIcon, battery, batteryIcon, batterySocChargingAppIcon, batterySocDepartureAppIcon, batterySocDestinationAppIcon, battery_soc_charging_app, battery_soc_departure_app, battery_soc_destination_app, bin, binIcon, blocksGroupForwardIcon, bluetooth, bluetoothIcon, bookmark, bookmarkFilledIcon, bookmarkIcon, bookmark_filled, brakeAppIcon, brake_app, brochure, brochureIcon, bulletpointAppIcon, bulletpoint_app, bundleForwardIcon, businessCustomersCommercialIcon, businessCustomersPrivateIcon, businessPartnerWithCarIcon, business_customers_commercial, business_customers_private, calc, calcIcon, calculatorForwardIcon, calendar, calendarCustomIcon, californiaServiceIcon, californiaSpecialistIcon, california_specialist, cameraScanIcon, camera_scan, campaignIcon, campaignOutdatedIcon, carDocumentsIcon, carErrorAppIcon, carInsuranceIcon, carOffSite, carOnSite, carPickupServiceIcon, carPlusIcon, carSettingsIcon, carVerifiedAppIcon, carWashIcon, carWheelAppIcon, car_documents, car_error_app, car_insurance, car_pickup_service, car_plus, car_settings, car_verified_app, car_wheel_app, carwash, certifiedRepairIcon, certifiedRetailerIcon, certified_repair, certified_retailer, challengeAppIcon, challenge_app, charging, chargingIcon, chargingPduAppIcon, chargingStationIcon, chargingTarifOverviewAppIcon, charging_pdu_app, charging_station, charging_tarif_overview_app, chat, chatAppIcon, chatIcon, chat_app, checkboxCheckedAppIcon, checkboxCheckedIcon, checkboxUncheckedAppIcon, checkboxUncheckedIcon, checkbox_checked, checkbox_checked_app, checkbox_unchecked, checkbox_unchecked_app, checkmark, checkmarkAppIcon, checkmarkFilledAppIcon, checkmarkIcon, checkmark_app, checkmark_filled_app, chevronDownIcon, chevronLeftAlignedappIcon, chevronLeftIcon, chevronRightAlignedappIcon, chevronRightIcon, chevronSmallLeftAlignedappIcon, chevronSmallRightAlignedappIcon, chevronUpIcon, chevron_down, chevron_left, chevron_left_alignedapp, chevron_right, chevron_right_alignedapp, chevron_small_left_alignedapp, chevron_small_right_alignedapp, chevron_up, circleFilledIcon, circleHalfFilledIcon, circleQuarterFilledIcon, circleThreeQuartersFilledIcon, city, cityIcon, clearAppIcon, clearRightAlignedappIcon, clear_app, clear_right_alignedapp, clock, clockIcon, close, closeAppIcon, closeCircleIcon, closeIcon, closeLeftAlignedappIcon, closeRightAlignedappIcon, close_app, close_circle, close_left_alignedapp, close_right_alignedapp, clrIconSVG, coffeeFilledAppIcon, coffee_filled_app, compassAppIcon, compass_app, completedByDateIcon, configuratorCommercialIcon, configuratorPrivateIcon, configurator_commercial, configurator_private, construction, constructionIcon, consumptionFuelFilledAppIcon, consumptionIcon, consumption_fuel, consumption_fuel_filled_app, contact, contactDealerFilledAppIcon, contactDealerIcon, contactIcon, contact_dealer, contact_dealer_filled_app, countryRoadIcon, country_road, craft, craftIcon, cupraBrandIcon, customerIcon, customerVipIcon, customerWaitingIcon, customersCenterIcon, customers_center, dataCopyAppIcon, dataExpiredIcon, dataFilledIcon, dataInputIcon, dataPlugAppIcon, dataSearchIcon, dataTimeExtensionIcon, data_copy_app, data_expired, data_filled, data_input, data_plug_app, data_search, data_time_extension, defaultSummaryAreaCollapsedKey, defogDefrostAutoAppIcon, defogDefrostIcon, defog_defrost, defog_defrost_auto_app, deliveryDateIcon, destinationAppIcon, destination_app, dieselIcon, direction, directionIcon, dischargingAppIcon, discharging_app, discountAppIcon, discount_app, discoveryAppIcon, discovery_app, dollarBillForwardIcon, dollarBillPartialIcon, download, downloadCustomIcon, dragIndicatorIcon, drag_indicator, driversAssistanceIcon, drivers_assistance, dropFilledAppIcon, drop_filled_app, dwaBrandIcon, eco, ecoIcon, edit, editIcon, editSmallRightAlignedAppIcon, edit_small_right_aligned_app, efficiency, efficiencyIcon, electricCarsIcon, electricCarsServiceIcon, electric_cars, electric_cars_service, electricity, electricityFilledAppIcon, electricityIcon, electricity_filled_app, emergency, emergencyIcon, emission, emissionIcon, energyIcon, engine, engineIcon, entertainment, entertainmentIcon, escapeHtml, escapeRegex, exportAppIcon, export_app, expressServiceIcon, express_service, exterior, exterior360Icon, exteriorIcon, exterior_360, externalPartForwardIcon, faq, faqIcon, fastForwardIcon, fast_forward, fax, faxIcon, filter, filterIcon, findACarIcon, findADealerIcon, find_a_car, find_a_dealer, firstRegistrationDateIcon, fleetServiceCommercialIcon, fleetServicePrivateIcon, fleet_service_commercial, fleet_service_private, folderFilledAppIcon, folder_filled_app, foodFilledAppIcon, food_filled_app, formatNumber, fullscreenEnterIcon, fullscreenExitIcon, fullscreen_enter, fullscreen_exit, gallery, galleryIcon, garageAppIcon, garage_app, gasAppIcon, gasCarsServiceIcon, gasIcon, gas_app, glassDamageAppIcon, glass_damage_app, gte, gteIcon, heart, heartFilledAppIcon, heartIcon, heart_filled_app, heightAppIcon, height_app, highwayRoadIcon, highway_road, history, historyIcon, homeAppIcon, homeEnergyAppIcon, homeFilledAppIcon, home_app, home_energy_app, home_filled_app, hornAppIcon, hornFilledAppIcon, horn_app, horn_filled_app, hybrid, hybridIcon, immediateChargingAppIcon, immediate_charging_app, info, infoFilledIcon, infoIcon, info_filled, inputHideIcon, inputShowIcon, input_hide, input_show, interior, interior360Icon, interiorIcon, interior_360, internalPartForwardIcon, internet, internetIcon, invitationAppIcon, invitation_app, invoiceIcon, invoiceReadyIcon, invoiceRecipientIcon, itemsForwardIcon, itemsRecieveIcon, jobportal, jobportalIcon, keyAppIcon, keyCardAppIcon, keyDigitalAppIcon, key_app, key_card_app, key_digital_app, keyboardAppIcon, keyboard_app, layerCollapseAppIcon, layerExpandAppIcon, layer_collapse_app, layer_expand_app, layersAppIcon, layers_app, legalTermsAndConditionsAppIcon, legal_terms_and_conditions_app, licencePlateAppIcon, licence_plate_app, lightAssistappIcon, light_assistapp, lightingAppIcon, lighting_app, linkExternAppIcon, link_extern_app, list, listIcon, loadingVolumeIcon, loading_volume, localBusinessIcon, local_business, locate, locateIcon, lock, lockIcon, lockOpenIcon, lock_open, login, loginIcon, logistic, logisticIcon, logoCommissionModuleFavIcon, logoCommissionModuleIcon, logoCommissionModuleNegativeFavIcon, logoCommissionModuleNegativeIcon, logoCostApprovalFavIcon, logoCostApprovalIcon, logoCostApprovalNegativeFavIcon, logoCostApprovalNegativeIcon, logoCrossControllingFavIcon, logoCrossControllingIcon, logoCrossControllingNegativeFavIcon, logoCrossControllingNegativeIcon, logoDigitalServiceReceptionFavIcon, logoDigitalServiceReceptionIcon, logoDigitalServiceReceptionNegativeFavIcon, logoDigitalServiceReceptionNegativeIcon, logoDocFlowFavIcon, logoDocFlowIcon, logoDocFlowNegativeFavIcon, logoDocFlowNegativeIcon, logoDocScanFavIcon, logoDocScanIcon, logoDocScanNegativeFavIcon, logoDocScanNegativeIcon, logoDocStoreFavIcon, logoDocStoreIcon, logoDocStoreNegativeFavIcon, logoDocStoreNegativeIcon, logoEBillingFavIcon, logoEBillingIcon, logoEBillingNegativeFavIcon, logoEBillingNegativeIcon, logoEPaymentFavIcon, logoEPaymentIcon, logoEPaymentNegativeFavIcon, logoEPaymentNegativeIcon, logoMobilityPlannerFavIcon, logoMobilityPlannerIcon, logoMobilityPlannerNegativeFavIcon, logoMobilityPlannerNegativeIcon, logoPartsMobileFavIcon, logoPartsMobileIcon, logoPartsMobileNegativeFavIcon, logoPartsMobileNegativeIcon, logoSBOFavIcon, logoSBOIcon, logoSBONegativeFavIcon, logoSBONegativeIcon, logoServiceCubeFavIcon, logoServiceCubeIcon, logoServiceCubeNegativeFavIcon, logoServiceCubeNegativeIcon, logoWCPFavIcon, logoWCPIcon, logoWCPNegativeFavIcon, logoWCPNegativeIcon, logoWorkshopOrderTrackerFavIcon, logoWorkshopOrderTrackerIcon, logoWorkshopOrderTrackerNegativeFavIcon, logoWorkshopOrderTrackerNegativeIcon, logout, logoutIcon, magnifier, magnifierIcon, magnifierMinusIcon, magnifierPlusIcon, magnifier_minus, magnifier_plus, mail, mailIcon, mailResendAppIcon, mail_resend_app, manual, manualIcon, map, mapIcon, mapToInternalTree, mechanicIcon, media, mediaIcon, menu, menuAppAppIcon, menuIcon, menu_app_app, microphoneAppIcon, microphone_app, mobile, mobileIcon, moreAppIcon, moreAppbarAppIcon, more_app, more_appbar_app, mot, motIcon, motability, motabilityIcon, navigate, navigateFilledAppIcon, navigateIcon, navigate_filled_app, newCarCommercialIcon, newCarPrivateFilledAppIcon, newCarPrivateIcon, newCarUtilityVehicleIcon, new_car_commercial, new_car_private, new_car_private_filled_app, nightServiceIcon, night_service, notification, notificationFilledIcon, notificationIcon, notification_filled, number0Icon, number10Icon, number11Icon, number12Icon, number13Icon, number14Icon, number15Icon, number16Icon, number17Icon, number18Icon, number19Icon, number1Icon, number20Icon, number2Icon, number3Icon, number4Icon, number5Icon, number6Icon, number7Icon, number8Icon, number9Icon, offers, offersFilledAppIcon, offersIcon, offers_filled_app, officeAppIcon, officeFilledAppIcon, office_app, office_filled_app, oilLevelIcon, oilLevelWarningIcon, oilTemperatureAppIcon, oil_level, oil_level_warning, oil_temperature_app, onCallDutyIcon, on_call_duty, openSatIcon, open_sat, orderIcon, orderStatusIcon, paintMaterialForwardIcon, paintMaterialIcon, paintShopIcon, paint_shop, paragraphAppIcon, paragraph_app, parkHeaterAppIcon, park_heater_app, parking, parkingFilledAppIcon, parkingGarageAppIcon, parkingIcon, parkingLocationIcon, parkingRouteAppIcon, parkingValetAppIcon, parking_filled_app, parking_garage_app, parking_route_app, parking_valet_app, partAvailabilityInfoIcon, partAvailabilityNoIcon, partAvailabilityUnknownIcon, partAvailabilityWarningIcon, partAvailabilityYesIcon, partIdenticalIcon, partIdenticalPredecessorIcon, partIdenticalSuccessorIcon, partIdenticalSuccpredecessorIcon, partPredecessorIcon, partSuccessorIcon, partSuccessorPredecessorIcon, partsChangelocationIcon, partsForwardIcon, partsIcon, partsInventoryIcon, partsNonStockForwardIcon, partsNonStockIcon, partsPickingIcon, partsPickingPlusIcon, partsReceivingIcon, pause, pauseIcon, payload, payloadIcon, paymentAppIcon, paymentCashAppIcon, paymentChargingCardAppIcon, paymentCreditcardAppIcon, paymentMachineAppIcon, payment_app, payment_cash_app, payment_charging_card_app, payment_creditcard_app, payment_machine_app, performance, performanceIcon, petrol, petrolIcon, phone, phoneIcon, pin, pinFilledAppIcon, pinGenericFilledAppIcon, pinIcon, pin_filled_app, pin_generic_filled_app, play, playIcon, plugCcsAppIcon, plugChademoAppIcon, plugChargeAppIcon, plugGenericAppIcon, plugSchukoAppIcon, plugType1AppIcon, plugType2AppIcon, plug_ccs_app, plug_chademo_app, plug_charge_app, plug_generic_app, plug_schuko_app, plug_type1_app, plug_type2_app, plusServiceIcon, porscheBrandIcon, power, powerIcon, powerTrainIcon, powertrain, preHeaterAppIcon, pre_heater_app, preciseLaneNavigationAppIcon, precise_lane_navigation_app, presentAppIcon, present_app, priceTypeSwitchIcon, printer, printerIcon, privacyAppIcon, privacy_app, profile, profileIcon, profileRegisterAppIcon, profileVerifiedIcon, profile_register_app, profile_verified, publicServiceIcon, publicTransportAppIcon, public_service, public_transport_app, qualifiedWorkshopIcon, qualified_workshop, questionnaireAppIcon, questionnaire_app, radio, radioButtonInselectedIcon, radioButtonSelectedForDefIcon, radioButtonSelectedIcon, radioIcon, radio_button_inselected, radio_button_selected, radio_button_selected_for_development, range, rangeIcon, reload, reloadIcon, remove, removeIcon, repeat, repeatIcon, repeatRepairIcon, replacementVehicleIcon, returnDateIcon, rewind, rewindIcon, roadsideAssistanceIcon, roadside_assistance, route, routeArrowAppIcon, routeIcon, route_arrow_app, routesHistoryAppIcon, routes_history_app, rss, rssIcon, safety, safetyIcon, save, saveAppIcon, saveIcon, save_app, seat, seatAirIcon, seatBrandIcon, seatIcon, seat_air, secretTipAppIcon, secretTipFilledAppIcon, secret_tip_app, secret_tip_filled_app, selected, selectedIcon, selectedPartnerNetworkAppIcon, selected_partner_network_app, sendToCarAppIcon, send_to_car_app, service, serviceAdvisorIcon, serviceBellIcon, serviceFilledAppIcon, serviceIcon, service_bell, service_filled_app, settings, settingsIcon, shareAndroidIcon, shareIosIcon, share_android, share_ios, shoppingCartFilledAppIcon, shoppingCartIcon, shopping_cart, shopping_cart_filled_app, shuffle, shuffleIcon, size, sizeIcon, skillAppIcon, skill_app, skipBackwardIcon, skipForwardIcon, skip_backward, skip_forward, skodaBrandIcon, softwareDownloadAppIcon, software_download_app, sortingAppIcon, sorting_app, sound, soundIcon, standardEquipmentIcon, standard_equipment, starFilledIcon, starOutlineIcon, star_filled, star_outline, statisticAppIcon, statistic_app, stockLocatorCommercialIcon, stockLocatorPrivateIcon, stock_locator_commercial, stock_locator_private, stop, stopIcon, strip, switchPositionAppIcon, switch_position_app, syncAppIcon, sync_app, taskAndAppointmentIcon, taxiDealerIcon, taxi_dealer, technicalSpecificationIcon, technical_specification, temperatureAppIcon, temperature_app, testDriveIcon, test_drive, textForwardIcon, thumbsdownAppIcon, thumbsdownFilledAppIcon, thumbsdown_app, thumbsdown_filled_app, thumbsupAppIcon, thumbsupFilledAppIcon, thumbsup_app, thumbsup_filled_app, timeClimatisationAppIcon, timePreferredAppIcon, time_climatisation_app, time_preferred_app, timer, timerIcon, topcardIcon, touaregServiceIcon, transcriptDownloadIcon, transcript_download, transmissionAutomaticIcon, transmissionManualIcon, transmission_automatic, transmission_manual, tripAppIcon, tripLongAppIcon, tripPartedAppIcon, tripShortAppIcon, trip_app, trip_long_app, trip_parted_app, trip_short_app, turnSignalsIcon, turn_signals, unselected, unselectedIcon, updateRefreshAppIcon, update_refresh_app, upload, uploadAppIcon, uploadCustomIcon, upload_app, usedCarCommercialIcon, usedCarPrivateIcon, used_car_commercial, used_car_private, vehicleAmarokIcon, vehicleCaddyIcon, vehicleConversionIcon, vehicleCrafterIcon, vehicleHightIcon, vehicleIdBuzzIcon, vehicleMultivanIcon, vehicleTransporterIcon, vehicle_amarok, vehicle_caddy, vehicle_crafter, vehicle_hight, vehicle_idbuzz, vehicle_multivan, vehicle_transporter, videoChatIcon, video_chat, view360Icon, view_360, vinIcon, virtualRealityIcon, virtual_reality, voiceMessageAppIcon, voice_message_app, volkswagenAppIcon, volkswagenIcon, volkswagen_app, volumeMaximumIcon, volumeMediumIcon, volumeMuteIcon, volume_maximum, volume_medium, volume_mute, vsfSearch48Icon, vsfSearchIcon, vwBrandIcon, vwConnectLicenseAppIcon, vw_connect_license_app, vwnBrandIcon, walkingAppIcon, walkingFilledAppIcon, walking_app, walking_filled_app, wallbox, wallboxIcon, wcAppIcon, wc_app, wcpIcon, weAssistAppIcon, weChargeAppIcon, weDeliverAppIcon, weExperienceAppIcon, weParkAppIcon, weUpgradeAppIcon, we_assist_app, we_charge_app, we_deliver_app, we_experience_app, we_park_app, we_upgrade_app, weatherSunAppIcon, weather_sun_app, wheelToWheelIcon, wheel_to_wheel, windscreenWashIcon, windscreen_wash, wlanHotspotIcon, wlan_hotspot, wrenchForwardIcon };
|
|
17826
|
+
export { ACShape, AcceptanceDateShape, AcceptedBrands, AccessoryPartsShape, AudiBrandShape, AwardWinnerPremiumShape, BIG_ENDIAN, BlocksGroupForwardShape, BundleForwardShape, BusinessCustomersCommercialShape, BusinessCustomersPrivateShape, BusinessPartnerWithCar, CLR_BLANK_OPTION, CONTENT_PROVIDER, CalculatorForwardShape, CaliforniaServiceShape, CampaignOutdatedShape, CampaignShape, CarOffSite, CarOnSite, CircleFilled, CircleHalfFilled, CircleQuarterFilled, CircleThreeQuartersFilled, ClrActionPanel, ClrActionPanelContainer, ClrActionPanelContainerContent, ClrActionPanelContainerFooter, ClrActionPanelModule, ClrActiveNotification, ClrAddonsLabel, ClrAddonsModule, ClrAutocompleteOff, ClrAutocompleteOffModule, ClrBackButton, ClrBackButtonModule, ClrBrandAvatar, ClrBrandAvatarModule, ClrBreadcrumb, ClrBreadcrumbModule, ClrBreadcrumbService, ClrCollapseExpandSection, ClrCollapseExpandSectionModule, ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter, ClrContentPanelModule, ClrContentRef, ClrControlEnterSubmitDirective, ClrCopyToClipboard, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridColumnReorderModule, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrExportDatagridButtonModule, ClrFlowBar, ClrFlowBarModule, ClrFocusFirstInvalidFieldDirective, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIconAvatar, ClrIconAvatarModule, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, ClrImageCarousel, ClrImageGallery, ClrImageGalleryModule, ClrKeyboardNavAltMnemonicDirective, ClrKeyboardNavCtrlArrowDirective, ClrLetterAvatar, ClrLetterAvatarModule, ClrLocationBarModule, ClrMainNavGroup, ClrMainNavGroupItem, ClrMainNavGroupModule, ClrMaxNumeric, ClrMinNumeric, ClrMultilingualInput, ClrMultilingualInputValidators, ClrMultilingualModule, ClrMultilingualSelector, ClrMultilingualTextarea, ClrNotification, ClrNotificationModule, ClrNotificationRef, ClrNotificationService, ClrNumericField, ClrNumericFieldModule, ClrNumericFieldValidators, ClrPagedSearchResultList, ClrPagedSearchResultListModule, ClrPager, ClrPagerModule, ClrProgressSpinnerComponent, ClrProgressSpinnerModule, ClrQuickList, ClrQuickListModule, ClrReadonlyDirective, ClrReadonlyDirectiveModule, ClrRequiredAllMultilang, ClrRequiredOneMultilang, ClrSearchField, ClrSearchFieldModule, ClrSummaryArea, ClrSummaryAreaStateService, ClrSummaryAreaToggle, ClrSummaryItem, ClrSummaryItemValue, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableFilter, ClrTreetableFooter, ClrTreetableHideableColumn, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrTreetableSortOrder, ClrTreetableStringFilter, ClrTreetableTreeNode, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridColumnReorderDirective, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, DynamicCellContentComponent, EnergyShape, ExportDatagridButtonComponent, ExportDatagridService, ExportTypeEnum, ExternalPartForwardShape, FirstRegistrationDate, GasCarsServiceShape, GasShape, HISTORY_NOTIFICATION_URL_PROVIDER, HISTORY_PROVIDER, HISTORY_TOKEN, HistoryProvider, InternalPartForwardShape, InvoiceReadyShape, InvoiceRecipient, InvoiceShape, ItemsForwardShape, ItemsReceiveShape, LITTLE_ENDIAN, LITTLE_ENDIAN_REGEX, LocationBarComponent, LocationBarContentProvider, LocationBarNode, LogoCommissionModule, LogoCommissionModuleFavIcon, LogoCommissionModuleNegative, LogoCommissionModuleNegativeFavIcon, LogoCostApproval, LogoCostApprovalFavIcon, LogoCostApprovalNegative, LogoCostApprovalNegativeFavIcon, LogoCostControlling, LogoCostControllingFavIcon, LogoCostControllingNegative, LogoCostControllingNegativeFavIcon, LogoDigitalServiceReception, LogoDigitalServiceReceptionFavIcon, LogoDigitalServiceReceptionNegative, LogoDigitalServiceReceptionNegativeFavIcon, LogoDocFlow, LogoDocFlowFavIcon, LogoDocFlowNegative, LogoDocFlowNegativeFavIcon, LogoDocScan, LogoDocScanFavIcon, LogoDocScanNegative, LogoDocScanNegativeFavIcon, LogoDocStore, LogoDocStoreFavIcon, LogoDocStoreNegative, LogoDocStoreNegativeFavIcon, LogoEBilling, LogoEBillingFavIcon, LogoEBillingNegative, LogoEBillingNegativeFavIcon, LogoEPayment, LogoEPaymentFavIcon, LogoEPaymentNegative, LogoEPaymentNegativeFavIcon, LogoMobilityPlanner, LogoMobilityPlannerFavIcon, LogoMobilityPlannerNegative, LogoMobilityPlannerNegativeFavIcon, LogoPartsMobile, LogoPartsMobileFavIcon, LogoPartsMobileNegative, LogoPartsMobileNegativeFavIcon, LogoSBO, LogoSBOFavIcon, LogoSBONegative, LogoSBONegativeFavIcon, LogoServiceCube, LogoServiceCubeFavIcon, LogoServiceCubeNegative, LogoServiceCubeNegativeFavIcon, LogoWCP, LogoWCPFavIcon, LogoWCPNegative, LogoWCPNegativeFavIcon, LogoWorkshopOrderTracker, LogoWorkshopOrderTrackerFavIcon, LogoWorkshopOrderTrackerNegative, LogoWorkshopOrderTrackerNegativeFavIcon, MIDDLE_ENDIAN, MIDDLE_ENDIAN_REGEX, MONTH, Mechanic, NewCarUtilityVehicleShape, NodeId, Number0, Number1, Number10, Number11, Number12, Number13, Number14, Number15, Number16, Number17, Number18, Number19, Number2, Number20, Number3, Number4, Number5, Number6, Number7, Number8, Number9, OrderShape, OrderStatusShape, PaintMaterialForwardShape, PaintMaterialShape, ParkingLocation, PartAvailabilityInfoShape, PartAvailabilityNoShape, PartAvailabilityUnknownShape, PartAvailabilityWarningShape, PartAvailabilityYesShape, PartIdenticalPredecessorShape, PartIdenticalShape, PartIdenticalSuccessorShape, PartIdenticalSuccpredecessorShape, PartNonStockForwardShape, PartPredecessorShape, PartSuccessorPredecessorShape, PartSuccessorShape, PartsChangelocation, PartsForwardShape, PartsInventory, PartsNonStockShape, PartsPicking, PartsPickingPlus, PartsReceiving, PartsShape, PlusServiceShape, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, ServiceAdvisor, SkodaBrandShape, SortStateService, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, TreetableDataStateService, TreetableHeaderRenderer, TreetableItemsDirective, TreetableMainRenderer, TreetableRowRenderer, USER_INPUT_REGEX, VWBrandShape, VWNBrandShape, VWShape, VehicleConversionShape, VinShape, VsfSearchShape, VsfSearchShape48, WCPShape, WrenchForward, YEAR, acceleration, accelerationIcon, acceptanceDateIcon, accessories, accessoriesIcon, accessoryPartsIcon, adblueAppIcon, adblue_app, add, addIcon, airConditionerIcon, air_conditioning, alert, alertFilledAppIcon, alertIcon, alertNotificationFilledAppIcon, alert_filled_app, alert_notification_filled_app, allIcons, ambientLightAppIcon, ambient_light_app, amplifier, amplifierIcon, appConnectAppIcon, app_connect_app, archive, archiveIcon, arrowDownIcon, arrowLeftAlignedAppIcon, arrowLeftIcon, arrowRightIcon, arrowSliderAppIcon, arrowUpIcon, arrow_down, arrow_left, arrow_left_aligned_app, arrow_right, arrow_slider_app, arrow_up, attachment, attachmentIcon, audiBrandIcon, authentPlugChargeAppIcon, authentQrAppIcon, authentRfidAppIcon, authentTouchidAppIcon, authent_plug_charge_app, authent_qr_app, authent_rfid_app, authent_touch_id_app, automaticTempAppIcon, automatic_temp_app, awardWinnerPremiumIcon, award_winner_premium, back, backIcon, battery, batteryIcon, batterySocChargingAppIcon, batterySocDepartureAppIcon, batterySocDestinationAppIcon, battery_soc_charging_app, battery_soc_departure_app, battery_soc_destination_app, bin, binIcon, blocksGroupForwardIcon, bluetooth, bluetoothIcon, bookmark, bookmarkFilledIcon, bookmarkIcon, bookmark_filled, brakeAppIcon, brake_app, brochure, brochureIcon, bulletpointAppIcon, bulletpoint_app, bundleForwardIcon, businessCustomersCommercialIcon, businessCustomersPrivateIcon, businessPartnerWithCarIcon, business_customers_commercial, business_customers_private, calc, calcIcon, calculatorForwardIcon, calendar, calendarCustomIcon, californiaServiceIcon, californiaSpecialistIcon, california_specialist, cameraScanIcon, camera_scan, campaignIcon, campaignOutdatedIcon, carDocumentsIcon, carErrorAppIcon, carInsuranceIcon, carOffSite, carOnSite, carPickupServiceIcon, carPlusIcon, carSettingsIcon, carVerifiedAppIcon, carWashIcon, carWheelAppIcon, car_documents, car_error_app, car_insurance, car_pickup_service, car_plus, car_settings, car_verified_app, car_wheel_app, carwash, certifiedRepairIcon, certifiedRetailerIcon, certified_repair, certified_retailer, challengeAppIcon, challenge_app, charging, chargingIcon, chargingPduAppIcon, chargingStationIcon, chargingTarifOverviewAppIcon, charging_pdu_app, charging_station, charging_tarif_overview_app, chat, chatAppIcon, chatIcon, chat_app, checkboxCheckedAppIcon, checkboxCheckedIcon, checkboxUncheckedAppIcon, checkboxUncheckedIcon, checkbox_checked, checkbox_checked_app, checkbox_unchecked, checkbox_unchecked_app, checkmark, checkmarkAppIcon, checkmarkFilledAppIcon, checkmarkIcon, checkmark_app, checkmark_filled_app, chevronDownIcon, chevronLeftAlignedappIcon, chevronLeftIcon, chevronRightAlignedappIcon, chevronRightIcon, chevronSmallLeftAlignedappIcon, chevronSmallRightAlignedappIcon, chevronUpIcon, chevron_down, chevron_left, chevron_left_alignedapp, chevron_right, chevron_right_alignedapp, chevron_small_left_alignedapp, chevron_small_right_alignedapp, chevron_up, circleFilledIcon, circleHalfFilledIcon, circleQuarterFilledIcon, circleThreeQuartersFilledIcon, city, cityIcon, clearAppIcon, clearRightAlignedappIcon, clear_app, clear_right_alignedapp, clock, clockIcon, close, closeAppIcon, closeCircleIcon, closeIcon, closeLeftAlignedappIcon, closeRightAlignedappIcon, close_app, close_circle, close_left_alignedapp, close_right_alignedapp, clrIconSVG, coffeeFilledAppIcon, coffee_filled_app, compassAppIcon, compass_app, completedByDateIcon, configuratorCommercialIcon, configuratorPrivateIcon, configurator_commercial, configurator_private, construction, constructionIcon, consumptionFuelFilledAppIcon, consumptionIcon, consumption_fuel, consumption_fuel_filled_app, contact, contactDealerFilledAppIcon, contactDealerIcon, contactIcon, contact_dealer, contact_dealer_filled_app, countryRoadIcon, country_road, craft, craftIcon, cupraBrandIcon, customerIcon, customerVipIcon, customerWaitingIcon, customersCenterIcon, customers_center, dataCopyAppIcon, dataExpiredIcon, dataFilledIcon, dataInputIcon, dataPlugAppIcon, dataSearchIcon, dataTimeExtensionIcon, data_copy_app, data_expired, data_filled, data_input, data_plug_app, data_search, data_time_extension, defaultSummaryAreaCollapsedKey, defogDefrostAutoAppIcon, defogDefrostIcon, defog_defrost, defog_defrost_auto_app, deliveryDateIcon, destinationAppIcon, destination_app, dieselIcon, direction, directionIcon, dischargingAppIcon, discharging_app, discountAppIcon, discount_app, discoveryAppIcon, discovery_app, dollarBillForwardIcon, dollarBillPartialIcon, download, downloadCustomIcon, dragIndicatorIcon, drag_indicator, driversAssistanceIcon, drivers_assistance, dropFilledAppIcon, drop_filled_app, dwaBrandIcon, eco, ecoIcon, edit, editIcon, editSmallRightAlignedAppIcon, edit_small_right_aligned_app, efficiency, efficiencyIcon, electricCarsIcon, electricCarsServiceIcon, electric_cars, electric_cars_service, electricity, electricityFilledAppIcon, electricityIcon, electricity_filled_app, emergency, emergencyIcon, emission, emissionIcon, energyIcon, engine, engineIcon, entertainment, entertainmentIcon, escapeHtml, escapeRegex, exportAppIcon, export_app, expressServiceIcon, express_service, exterior, exterior360Icon, exteriorIcon, exterior_360, externalPartForwardIcon, faq, faqIcon, fastForwardIcon, fast_forward, fax, faxIcon, filter, filterIcon, findACarIcon, findADealerIcon, find_a_car, find_a_dealer, firstRegistrationDateIcon, fleetServiceCommercialIcon, fleetServicePrivateIcon, fleet_service_commercial, fleet_service_private, folderFilledAppIcon, folder_filled_app, foodFilledAppIcon, food_filled_app, formatNumber, fullscreenEnterIcon, fullscreenExitIcon, fullscreen_enter, fullscreen_exit, gallery, galleryIcon, garageAppIcon, garage_app, gasAppIcon, gasCarsServiceIcon, gasIcon, gas_app, glassDamageAppIcon, glass_damage_app, gte, gteIcon, heart, heartFilledAppIcon, heartIcon, heart_filled_app, heightAppIcon, height_app, highwayRoadIcon, highway_road, history, historyIcon, homeAppIcon, homeEnergyAppIcon, homeFilledAppIcon, home_app, home_energy_app, home_filled_app, hornAppIcon, hornFilledAppIcon, horn_app, horn_filled_app, hybrid, hybridIcon, immediateChargingAppIcon, immediate_charging_app, info, infoFilledIcon, infoIcon, info_filled, inputHideIcon, inputShowIcon, input_hide, input_show, interior, interior360Icon, interiorIcon, interior_360, internalPartForwardIcon, internet, internetIcon, invitationAppIcon, invitation_app, invoiceIcon, invoiceReadyIcon, invoiceRecipientIcon, itemsForwardIcon, itemsRecieveIcon, jobportal, jobportalIcon, keyAppIcon, keyCardAppIcon, keyDigitalAppIcon, key_app, key_card_app, key_digital_app, keyboardAppIcon, keyboard_app, layerCollapseAppIcon, layerExpandAppIcon, layer_collapse_app, layer_expand_app, layersAppIcon, layers_app, legalTermsAndConditionsAppIcon, legal_terms_and_conditions_app, licencePlateAppIcon, licence_plate_app, lightAssistappIcon, light_assistapp, lightingAppIcon, lighting_app, linkExternAppIcon, link_extern_app, list, listIcon, loadingVolumeIcon, loading_volume, localBusinessIcon, local_business, locate, locateIcon, lock, lockIcon, lockOpenIcon, lock_open, login, loginIcon, logistic, logisticIcon, logoCommissionModuleFavIcon, logoCommissionModuleIcon, logoCommissionModuleNegativeFavIcon, logoCommissionModuleNegativeIcon, logoCostApprovalFavIcon, logoCostApprovalIcon, logoCostApprovalNegativeFavIcon, logoCostApprovalNegativeIcon, logoCrossControllingFavIcon, logoCrossControllingIcon, logoCrossControllingNegativeFavIcon, logoCrossControllingNegativeIcon, logoDigitalServiceReceptionFavIcon, logoDigitalServiceReceptionIcon, logoDigitalServiceReceptionNegativeFavIcon, logoDigitalServiceReceptionNegativeIcon, logoDocFlowFavIcon, logoDocFlowIcon, logoDocFlowNegativeFavIcon, logoDocFlowNegativeIcon, logoDocScanFavIcon, logoDocScanIcon, logoDocScanNegativeFavIcon, logoDocScanNegativeIcon, logoDocStoreFavIcon, logoDocStoreIcon, logoDocStoreNegativeFavIcon, logoDocStoreNegativeIcon, logoEBillingFavIcon, logoEBillingIcon, logoEBillingNegativeFavIcon, logoEBillingNegativeIcon, logoEPaymentFavIcon, logoEPaymentIcon, logoEPaymentNegativeFavIcon, logoEPaymentNegativeIcon, logoMobilityPlannerFavIcon, logoMobilityPlannerIcon, logoMobilityPlannerNegativeFavIcon, logoMobilityPlannerNegativeIcon, logoPartsMobileFavIcon, logoPartsMobileIcon, logoPartsMobileNegativeFavIcon, logoPartsMobileNegativeIcon, logoSBOFavIcon, logoSBOIcon, logoSBONegativeFavIcon, logoSBONegativeIcon, logoServiceCubeFavIcon, logoServiceCubeIcon, logoServiceCubeNegativeFavIcon, logoServiceCubeNegativeIcon, logoWCPFavIcon, logoWCPIcon, logoWCPNegativeFavIcon, logoWCPNegativeIcon, logoWorkshopOrderTrackerFavIcon, logoWorkshopOrderTrackerIcon, logoWorkshopOrderTrackerNegativeFavIcon, logoWorkshopOrderTrackerNegativeIcon, logout, logoutIcon, magnifier, magnifierIcon, magnifierMinusIcon, magnifierPlusIcon, magnifier_minus, magnifier_plus, mail, mailIcon, mailResendAppIcon, mail_resend_app, manual, manualIcon, map, mapIcon, mapToInternalTree, mechanicIcon, media, mediaIcon, menu, menuAppAppIcon, menuIcon, menu_app_app, microphoneAppIcon, microphone_app, mobile, mobileIcon, moreAppIcon, moreAppbarAppIcon, more_app, more_appbar_app, mot, motIcon, motability, motabilityIcon, navigate, navigateFilledAppIcon, navigateIcon, navigate_filled_app, newCarCommercialIcon, newCarPrivateFilledAppIcon, newCarPrivateIcon, newCarUtilityVehicleIcon, new_car_commercial, new_car_private, new_car_private_filled_app, nightServiceIcon, night_service, notification, notificationFilledIcon, notificationIcon, notification_filled, number0Icon, number10Icon, number11Icon, number12Icon, number13Icon, number14Icon, number15Icon, number16Icon, number17Icon, number18Icon, number19Icon, number1Icon, number20Icon, number2Icon, number3Icon, number4Icon, number5Icon, number6Icon, number7Icon, number8Icon, number9Icon, offers, offersFilledAppIcon, offersIcon, offers_filled_app, officeAppIcon, officeFilledAppIcon, office_app, office_filled_app, oilLevelIcon, oilLevelWarningIcon, oilTemperatureAppIcon, oil_level, oil_level_warning, oil_temperature_app, onCallDutyIcon, on_call_duty, openSatIcon, open_sat, orderIcon, orderStatusIcon, paintMaterialForwardIcon, paintMaterialIcon, paintShopIcon, paint_shop, paragraphAppIcon, paragraph_app, parkHeaterAppIcon, park_heater_app, parking, parkingFilledAppIcon, parkingGarageAppIcon, parkingIcon, parkingLocationIcon, parkingRouteAppIcon, parkingValetAppIcon, parking_filled_app, parking_garage_app, parking_route_app, parking_valet_app, partAvailabilityInfoIcon, partAvailabilityNoIcon, partAvailabilityUnknownIcon, partAvailabilityWarningIcon, partAvailabilityYesIcon, partIdenticalIcon, partIdenticalPredecessorIcon, partIdenticalSuccessorIcon, partIdenticalSuccpredecessorIcon, partPredecessorIcon, partSuccessorIcon, partSuccessorPredecessorIcon, partsChangelocationIcon, partsForwardIcon, partsIcon, partsInventoryIcon, partsNonStockForwardIcon, partsNonStockIcon, partsPickingIcon, partsPickingPlusIcon, partsReceivingIcon, pause, pauseIcon, payload, payloadIcon, paymentAppIcon, paymentCashAppIcon, paymentChargingCardAppIcon, paymentCreditcardAppIcon, paymentMachineAppIcon, payment_app, payment_cash_app, payment_charging_card_app, payment_creditcard_app, payment_machine_app, performance, performanceIcon, petrol, petrolIcon, phone, phoneIcon, pin, pinFilledAppIcon, pinGenericFilledAppIcon, pinIcon, pin_filled_app, pin_generic_filled_app, play, playIcon, plugCcsAppIcon, plugChademoAppIcon, plugChargeAppIcon, plugGenericAppIcon, plugSchukoAppIcon, plugType1AppIcon, plugType2AppIcon, plug_ccs_app, plug_chademo_app, plug_charge_app, plug_generic_app, plug_schuko_app, plug_type1_app, plug_type2_app, plusServiceIcon, porscheBrandIcon, power, powerIcon, powerTrainIcon, powertrain, preHeaterAppIcon, pre_heater_app, preciseLaneNavigationAppIcon, precise_lane_navigation_app, presentAppIcon, present_app, priceTypeSwitchIcon, printer, printerIcon, privacyAppIcon, privacy_app, profile, profileIcon, profileRegisterAppIcon, profileVerifiedIcon, profile_register_app, profile_verified, publicServiceIcon, publicTransportAppIcon, public_service, public_transport_app, qualifiedWorkshopIcon, qualified_workshop, questionnaireAppIcon, questionnaire_app, radio, radioButtonInselectedIcon, radioButtonSelectedForDefIcon, radioButtonSelectedIcon, radioIcon, radio_button_inselected, radio_button_selected, radio_button_selected_for_development, range, rangeIcon, reload, reloadIcon, remove, removeIcon, repeat, repeatIcon, repeatRepairIcon, replacementVehicleIcon, returnDateIcon, rewind, rewindIcon, roadsideAssistanceIcon, roadside_assistance, route, routeArrowAppIcon, routeIcon, route_arrow_app, routesHistoryAppIcon, routes_history_app, rss, rssIcon, safety, safetyIcon, save, saveAppIcon, saveIcon, save_app, seat, seatAirIcon, seatBrandIcon, seatIcon, seat_air, secretTipAppIcon, secretTipFilledAppIcon, secret_tip_app, secret_tip_filled_app, selected, selectedIcon, selectedPartnerNetworkAppIcon, selected_partner_network_app, sendToCarAppIcon, send_to_car_app, service, serviceAdvisorIcon, serviceBellIcon, serviceFilledAppIcon, serviceIcon, service_bell, service_filled_app, settings, settingsIcon, shareAndroidIcon, shareIosIcon, share_android, share_ios, shoppingCartFilledAppIcon, shoppingCartIcon, shopping_cart, shopping_cart_filled_app, shuffle, shuffleIcon, size, sizeIcon, skillAppIcon, skill_app, skipBackwardIcon, skipForwardIcon, skip_backward, skip_forward, skodaBrandIcon, softwareDownloadAppIcon, software_download_app, sortingAppIcon, sorting_app, sound, soundIcon, standardEquipmentIcon, standard_equipment, starFilledIcon, starOutlineIcon, star_filled, star_outline, statisticAppIcon, statistic_app, stockLocatorCommercialIcon, stockLocatorPrivateIcon, stock_locator_commercial, stock_locator_private, stop, stopIcon, strip, switchPositionAppIcon, switch_position_app, syncAppIcon, sync_app, taskAndAppointmentIcon, taxiDealerIcon, taxi_dealer, technicalSpecificationIcon, technical_specification, temperatureAppIcon, temperature_app, testDriveIcon, test_drive, textForwardIcon, thumbsdownAppIcon, thumbsdownFilledAppIcon, thumbsdown_app, thumbsdown_filled_app, thumbsupAppIcon, thumbsupFilledAppIcon, thumbsup_app, thumbsup_filled_app, timeClimatisationAppIcon, timePreferredAppIcon, time_climatisation_app, time_preferred_app, timer, timerIcon, topcardIcon, touaregServiceIcon, transcriptDownloadIcon, transcript_download, transmissionAutomaticIcon, transmissionManualIcon, transmission_automatic, transmission_manual, tripAppIcon, tripLongAppIcon, tripPartedAppIcon, tripShortAppIcon, trip_app, trip_long_app, trip_parted_app, trip_short_app, turnSignalsIcon, turn_signals, unselected, unselectedIcon, updateRefreshAppIcon, update_refresh_app, upload, uploadAppIcon, uploadCustomIcon, upload_app, usedCarCommercialIcon, usedCarPrivateIcon, used_car_commercial, used_car_private, vehicleAmarokIcon, vehicleCaddyIcon, vehicleConversionIcon, vehicleCrafterIcon, vehicleHightIcon, vehicleIdBuzzIcon, vehicleMultivanIcon, vehicleTransporterIcon, vehicle_amarok, vehicle_caddy, vehicle_crafter, vehicle_hight, vehicle_idbuzz, vehicle_multivan, vehicle_transporter, videoChatIcon, video_chat, view360Icon, view_360, vinIcon, virtualRealityIcon, virtual_reality, voiceMessageAppIcon, voice_message_app, volkswagenAppIcon, volkswagenIcon, volkswagen_app, volumeMaximumIcon, volumeMediumIcon, volumeMuteIcon, volume_maximum, volume_medium, volume_mute, vsfSearch48Icon, vsfSearchIcon, vwBrandIcon, vwConnectLicenseAppIcon, vw_connect_license_app, vwnBrandIcon, walkingAppIcon, walkingFilledAppIcon, walking_app, walking_filled_app, wallbox, wallboxIcon, wcAppIcon, wc_app, wcpIcon, weAssistAppIcon, weChargeAppIcon, weDeliverAppIcon, weExperienceAppIcon, weParkAppIcon, weUpgradeAppIcon, we_assist_app, we_charge_app, we_deliver_app, we_experience_app, we_park_app, we_upgrade_app, weatherSunAppIcon, weather_sun_app, wheelToWheelIcon, wheel_to_wheel, windscreenWashIcon, windscreen_wash, wlanHotspotIcon, wlan_hotspot, wrenchForwardIcon };
|
|
17206
17827
|
//# sourceMappingURL=porscheinformatik-clr-addons.mjs.map
|