@porscheinformatik/clr-addons 19.6.2 → 19.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/clr-addons.mjs +585 -76
- package/fesm2022/clr-addons.mjs.map +1 -1
- package/history/history.service.d.ts +1 -0
- package/package.json +1 -1
- package/styles/clr-addons-phs.css +58 -5
- 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/treetable/enums/selection-type.d.ts +4 -0
- package/treetable/enums/sort-order.enum.d.ts +5 -0
- package/treetable/index.d.ts +4 -0
- package/treetable/interfaces/comparator.interface.d.ts +3 -0
- package/treetable/providers/index.d.ts +3 -0
- package/treetable/providers/items.d.ts +21 -0
- package/treetable/providers/selection.d.ts +28 -0
- package/treetable/providers/sort.d.ts +27 -0
- package/treetable/renderer/main-renderer.d.ts +6 -6
- package/treetable/treetable-column.d.ts +21 -3
- package/treetable/treetable-items.d.ts +18 -0
- package/treetable/treetable-row.d.ts +17 -4
- package/treetable/treetable.d.ts +19 -8
- package/treetable/treetable.module.d.ts +5 -3
package/fesm2022/clr-addons.mjs
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
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, Inject, ContentChild, Optional,
|
|
2
|
+
import { Component, NgModule, Injectable, EventEmitter, Output, Input, Directive, ViewChild, ContentChildren, TemplateRef, ViewChildren, HostBinding, ElementRef, Renderer2, forwardRef, Inject, ContentChild, Optional, inject, ChangeDetectorRef, output, ChangeDetectionStrategy, DestroyRef, signal, input, IterableDiffers, ViewContainerRef, effect, InjectionToken, isSignal, HostListener, LOCALE_ID, Self } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import { CommonModule, DOCUMENT, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
4
|
+
import { CommonModule, DOCUMENT, NgForOf, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
5
5
|
import { ClarityIcons, arrowIcon, angleIcon, timesIcon, trashIcon, plusCircleIcon, exclamationCircleIcon, searchIcon, ellipsisVerticalIcon, pencilIcon, historyIcon as historyIcon$1, treeViewIcon, organizationIcon, calendarIcon, checkCircleIcon, windowCloseIcon, exclamationTriangleIcon } from '@cds/core/icon';
|
|
6
6
|
import * as i2 from '@clr/angular';
|
|
7
7
|
import { ClarityModule, ClrFormsModule, ClrDropdown, ClrForm, ClrAlert, ClrAlignment, ClrSide, ClrAxis, ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService, ClrIconModule, ClrDropdownModule, ClrDatagridSortOrder, DatagridPropertyComparator, ClrDatagridPagination, ClrDatagridFilter, ClrDatagridColumn, ClrDateContainer, ClrLabel, ClrControlHelper, ClrControlError, ClrControlSuccess, ClrDatepickerModule } from '@clr/angular';
|
|
8
8
|
import * as i3$1 from '@angular/forms';
|
|
9
|
-
import { FormsModule, NG_VALIDATORS, NgControl, NG_VALUE_ACCESSOR,
|
|
10
|
-
import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, ReplaySubject, takeUntil as takeUntil$1,
|
|
11
|
-
import { takeUntil, take, observeOn } from 'rxjs/operators';
|
|
9
|
+
import { FormsModule, NG_VALIDATORS, NgControl, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormControl, NgModel } from '@angular/forms';
|
|
10
|
+
import { Subject, BehaviorSubject, timer as timer$1, asyncScheduler, interval, debounceTime, fromEvent, of, tap, switchMap, filter as filter$1, ReplaySubject, takeUntil as takeUntil$1, delay } from 'rxjs';
|
|
11
|
+
import { takeUntil, take, observeOn, debounceTime as debounceTime$1 } from 'rxjs/operators';
|
|
12
12
|
import * as i3 from '@angular/router';
|
|
13
13
|
import { RouterModule } from '@angular/router';
|
|
14
14
|
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
15
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
15
16
|
import * as i1$1 from '@angular/common/http';
|
|
16
17
|
import '@cds/core/icon/register.js';
|
|
17
18
|
|
|
@@ -3578,27 +3579,404 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3578
3579
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3579
3580
|
*/
|
|
3580
3581
|
|
|
3582
|
+
/*
|
|
3583
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3584
|
+
* This software is released under MIT license.
|
|
3585
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3586
|
+
*/
|
|
3587
|
+
var SelectionType;
|
|
3588
|
+
(function (SelectionType) {
|
|
3589
|
+
SelectionType[SelectionType["None"] = 0] = "None";
|
|
3590
|
+
SelectionType[SelectionType["Multi"] = 1] = "Multi";
|
|
3591
|
+
})(SelectionType || (SelectionType = {}));
|
|
3592
|
+
|
|
3593
|
+
/*
|
|
3594
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3595
|
+
* This software is released under MIT license.
|
|
3596
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3597
|
+
*/
|
|
3598
|
+
class Sort {
|
|
3599
|
+
constructor() {
|
|
3600
|
+
this._reverse = false;
|
|
3601
|
+
this._change = new Subject();
|
|
3602
|
+
}
|
|
3603
|
+
get comparator() {
|
|
3604
|
+
return this._comparator;
|
|
3605
|
+
}
|
|
3606
|
+
set comparator(value) {
|
|
3607
|
+
this._comparator = value;
|
|
3608
|
+
this.emitChange();
|
|
3609
|
+
}
|
|
3610
|
+
get reverse() {
|
|
3611
|
+
return this._reverse;
|
|
3612
|
+
}
|
|
3613
|
+
set reverse(value) {
|
|
3614
|
+
this._reverse = value;
|
|
3615
|
+
this.emitChange();
|
|
3616
|
+
}
|
|
3617
|
+
// We do not want to expose the Subject itself, but the Observable which is read-only
|
|
3618
|
+
get change() {
|
|
3619
|
+
return this._change.asObservable();
|
|
3620
|
+
}
|
|
3621
|
+
/**
|
|
3622
|
+
* Sets a comparator as the current one, or toggles reverse if the comparator is already used. The
|
|
3623
|
+
* optional forceReverse input parameter allows to override that toggling behavior by sorting in
|
|
3624
|
+
* reverse order if `true`.
|
|
3625
|
+
*
|
|
3626
|
+
* @memberof Sort
|
|
3627
|
+
*/
|
|
3628
|
+
toggle(sortBy, forceReverse) {
|
|
3629
|
+
if (this.comparator === sortBy) {
|
|
3630
|
+
this._reverse = typeof forceReverse !== 'undefined' ? forceReverse || !this._reverse : !this._reverse;
|
|
3631
|
+
}
|
|
3632
|
+
else {
|
|
3633
|
+
this._comparator = sortBy;
|
|
3634
|
+
this._reverse = typeof forceReverse !== 'undefined' ? forceReverse : false;
|
|
3635
|
+
}
|
|
3636
|
+
this.emitChange();
|
|
3637
|
+
}
|
|
3638
|
+
clear() {
|
|
3639
|
+
this.comparator = null;
|
|
3640
|
+
}
|
|
3641
|
+
compare(a, b) {
|
|
3642
|
+
return (this.reverse ? -1 : 1) * this.comparator.compare(a, b);
|
|
3643
|
+
}
|
|
3644
|
+
emitChange() {
|
|
3645
|
+
this._change.next(this);
|
|
3646
|
+
}
|
|
3647
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3648
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort }); }
|
|
3649
|
+
}
|
|
3650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Sort, decorators: [{
|
|
3651
|
+
type: Injectable
|
|
3652
|
+
}], ctorParameters: () => [] });
|
|
3653
|
+
|
|
3654
|
+
/*
|
|
3655
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3656
|
+
* This software is released under MIT license.
|
|
3657
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3658
|
+
*/
|
|
3659
|
+
class Items {
|
|
3660
|
+
constructor() {
|
|
3661
|
+
this._all = [];
|
|
3662
|
+
this._displayed = [];
|
|
3663
|
+
this._change = new Subject();
|
|
3664
|
+
this._sort = inject((Sort));
|
|
3665
|
+
this._sort.change.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
3666
|
+
this.sortItems();
|
|
3667
|
+
});
|
|
3668
|
+
}
|
|
3669
|
+
get all() {
|
|
3670
|
+
return this._all;
|
|
3671
|
+
}
|
|
3672
|
+
addItems(items) {
|
|
3673
|
+
this._all = this._all.concat([items.slice()]);
|
|
3674
|
+
this._displayed = this._displayed.concat([items.slice()]);
|
|
3675
|
+
this.emitChange();
|
|
3676
|
+
}
|
|
3677
|
+
get displayed() {
|
|
3678
|
+
return this._displayed;
|
|
3679
|
+
}
|
|
3680
|
+
get change() {
|
|
3681
|
+
return this._change.asObservable();
|
|
3682
|
+
}
|
|
3683
|
+
/**
|
|
3684
|
+
* Checks if we don't have data to process yet, to abort early operations
|
|
3685
|
+
*/
|
|
3686
|
+
get uninitialized() {
|
|
3687
|
+
return !this._all;
|
|
3688
|
+
}
|
|
3689
|
+
emitChange() {
|
|
3690
|
+
this._change.next(this.displayed);
|
|
3691
|
+
}
|
|
3692
|
+
sortItems() {
|
|
3693
|
+
if (this.uninitialized) {
|
|
3694
|
+
return;
|
|
3695
|
+
}
|
|
3696
|
+
if (this._sort.comparator) {
|
|
3697
|
+
this._displayed.forEach(subArray => {
|
|
3698
|
+
subArray.sort((a, b) => this._sort.compare(a, b));
|
|
3699
|
+
});
|
|
3700
|
+
}
|
|
3701
|
+
else {
|
|
3702
|
+
this._displayed = this._all.map(subArray => subArray.slice());
|
|
3703
|
+
}
|
|
3704
|
+
this.emitChange();
|
|
3705
|
+
}
|
|
3706
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3707
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items }); }
|
|
3708
|
+
}
|
|
3709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Items, decorators: [{
|
|
3710
|
+
type: Injectable
|
|
3711
|
+
}], ctorParameters: () => [] });
|
|
3712
|
+
|
|
3713
|
+
/*
|
|
3714
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3715
|
+
* This software is released under MIT license.
|
|
3716
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3717
|
+
*/
|
|
3718
|
+
class Selection {
|
|
3719
|
+
constructor() {
|
|
3720
|
+
this._change = new Subject();
|
|
3721
|
+
this._allSelected = new Subject();
|
|
3722
|
+
//debounce and batch changes before emitting them to subscribers
|
|
3723
|
+
this._valueCollector = new Subject();
|
|
3724
|
+
this._selectionType = SelectionType.None;
|
|
3725
|
+
this._items = inject(Items);
|
|
3726
|
+
this._valueCollector.pipe(debounceTime(0), takeUntilDestroyed()).subscribe(() => this.emitChange());
|
|
3727
|
+
}
|
|
3728
|
+
get selectionType() {
|
|
3729
|
+
return this._selectionType;
|
|
3730
|
+
}
|
|
3731
|
+
set selectionType(value) {
|
|
3732
|
+
if (value === this.selectionType) {
|
|
3733
|
+
return;
|
|
3734
|
+
}
|
|
3735
|
+
this._selectionType = value;
|
|
3736
|
+
if (value === SelectionType.None) {
|
|
3737
|
+
delete this.current;
|
|
3738
|
+
}
|
|
3739
|
+
else {
|
|
3740
|
+
this.updateCurrent([], false);
|
|
3741
|
+
}
|
|
3742
|
+
}
|
|
3743
|
+
get current() {
|
|
3744
|
+
return this._current;
|
|
3745
|
+
}
|
|
3746
|
+
set current(value) {
|
|
3747
|
+
this.updateCurrent(value, true);
|
|
3748
|
+
}
|
|
3749
|
+
updateCurrent(value, emit) {
|
|
3750
|
+
this._current = value;
|
|
3751
|
+
if (emit) {
|
|
3752
|
+
this._valueCollector.next(value);
|
|
3753
|
+
}
|
|
3754
|
+
}
|
|
3755
|
+
get change() {
|
|
3756
|
+
return this._change.asObservable();
|
|
3757
|
+
}
|
|
3758
|
+
get allSelectedChange() {
|
|
3759
|
+
return this._allSelected.asObservable();
|
|
3760
|
+
}
|
|
3761
|
+
isSelected(item) {
|
|
3762
|
+
return this.current.indexOf(item) >= 0;
|
|
3763
|
+
}
|
|
3764
|
+
setSelected(item, selected) {
|
|
3765
|
+
const index = this.current ? this.current.indexOf(item) : -1;
|
|
3766
|
+
if (index >= 0 && !selected) {
|
|
3767
|
+
this.deselectItem(index);
|
|
3768
|
+
}
|
|
3769
|
+
else if (index < 0 && selected) {
|
|
3770
|
+
this.selectItem(item);
|
|
3771
|
+
}
|
|
3772
|
+
}
|
|
3773
|
+
isAllSelected() {
|
|
3774
|
+
const displayedItems = this._items.displayed;
|
|
3775
|
+
const nbDisplayed = displayedItems.length;
|
|
3776
|
+
if (nbDisplayed < 1) {
|
|
3777
|
+
return false;
|
|
3778
|
+
}
|
|
3779
|
+
const flattenedDisplayedItems = displayedItems.flat();
|
|
3780
|
+
const selectedItems = flattenedDisplayedItems.filter(item => this.current.indexOf(item) > -1);
|
|
3781
|
+
return selectedItems.length === flattenedDisplayedItems.length;
|
|
3782
|
+
}
|
|
3783
|
+
toggleAll() {
|
|
3784
|
+
const isAllSelected = this.isAllSelected();
|
|
3785
|
+
if (isAllSelected) {
|
|
3786
|
+
this._items.displayed.forEach(items => {
|
|
3787
|
+
items.forEach(item => {
|
|
3788
|
+
const currentIndex = this.current.indexOf(item);
|
|
3789
|
+
if (currentIndex > -1) {
|
|
3790
|
+
this.deselectItem(currentIndex);
|
|
3791
|
+
}
|
|
3792
|
+
});
|
|
3793
|
+
});
|
|
3794
|
+
}
|
|
3795
|
+
else {
|
|
3796
|
+
this._items.displayed.forEach(items => {
|
|
3797
|
+
items.forEach(item => {
|
|
3798
|
+
if (this.current.indexOf(item) < 0) {
|
|
3799
|
+
this.selectItem(item);
|
|
3800
|
+
}
|
|
3801
|
+
});
|
|
3802
|
+
});
|
|
3803
|
+
}
|
|
3804
|
+
this._allSelected.next(!isAllSelected);
|
|
3805
|
+
}
|
|
3806
|
+
selectItem(item) {
|
|
3807
|
+
this.current = this.current.concat(item);
|
|
3808
|
+
}
|
|
3809
|
+
deselectItem(indexOfItem) {
|
|
3810
|
+
this.current = this.current.slice(0, indexOfItem).concat(this.current.slice(indexOfItem + 1));
|
|
3811
|
+
}
|
|
3812
|
+
emitChange() {
|
|
3813
|
+
this._change.next(this.current);
|
|
3814
|
+
}
|
|
3815
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3816
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection }); }
|
|
3817
|
+
}
|
|
3818
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: Selection, decorators: [{
|
|
3819
|
+
type: Injectable
|
|
3820
|
+
}], ctorParameters: () => [] });
|
|
3821
|
+
|
|
3822
|
+
/*
|
|
3823
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3824
|
+
* This software is released under MIT license.
|
|
3825
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3826
|
+
*/
|
|
3827
|
+
var ClrTreetableSortOrder;
|
|
3828
|
+
(function (ClrTreetableSortOrder) {
|
|
3829
|
+
ClrTreetableSortOrder[ClrTreetableSortOrder["UNSORTED"] = 0] = "UNSORTED";
|
|
3830
|
+
ClrTreetableSortOrder[ClrTreetableSortOrder["ASC"] = 1] = "ASC";
|
|
3831
|
+
ClrTreetableSortOrder[ClrTreetableSortOrder["DESC"] = -1] = "DESC";
|
|
3832
|
+
})(ClrTreetableSortOrder || (ClrTreetableSortOrder = {}));
|
|
3833
|
+
|
|
3581
3834
|
/*
|
|
3582
3835
|
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3583
3836
|
* This software is released under MIT license.
|
|
3584
3837
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
3585
3838
|
*/
|
|
3586
3839
|
class ClrTreetableColumn {
|
|
3840
|
+
get sortBy() {
|
|
3841
|
+
return this._sortBy;
|
|
3842
|
+
}
|
|
3843
|
+
set sortBy(comparator) {
|
|
3844
|
+
this._sortBy = comparator;
|
|
3845
|
+
}
|
|
3846
|
+
get sortOrder() {
|
|
3847
|
+
return this._sortOrder;
|
|
3848
|
+
}
|
|
3849
|
+
set sortOrder(value) {
|
|
3850
|
+
if (typeof value === 'undefined') {
|
|
3851
|
+
return;
|
|
3852
|
+
}
|
|
3853
|
+
// nothing to do when incoming sort order is the same
|
|
3854
|
+
if (this._sortOrder === value) {
|
|
3855
|
+
return;
|
|
3856
|
+
}
|
|
3857
|
+
switch (value) {
|
|
3858
|
+
case ClrTreetableSortOrder.ASC:
|
|
3859
|
+
this.sort(false);
|
|
3860
|
+
break;
|
|
3861
|
+
case ClrTreetableSortOrder.DESC:
|
|
3862
|
+
this.sort(true);
|
|
3863
|
+
break;
|
|
3864
|
+
// UNSORTED when neither ASC or DESC
|
|
3865
|
+
case ClrTreetableSortOrder.UNSORTED:
|
|
3866
|
+
default:
|
|
3867
|
+
this._sort.clear();
|
|
3868
|
+
break;
|
|
3869
|
+
}
|
|
3870
|
+
}
|
|
3871
|
+
get sortDirection() {
|
|
3872
|
+
return this._sortDirection;
|
|
3873
|
+
}
|
|
3874
|
+
constructor() {
|
|
3875
|
+
this._sort = inject((Sort));
|
|
3876
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
3877
|
+
this._sortOrder = ClrTreetableSortOrder.UNSORTED;
|
|
3878
|
+
this.sortOrderChange = output({ alias: 'clrTtSortOrderChange' });
|
|
3879
|
+
this.listenForSortingChanges();
|
|
3880
|
+
}
|
|
3881
|
+
get ariaSort() {
|
|
3882
|
+
switch (this._sortOrder) {
|
|
3883
|
+
case ClrTreetableSortOrder.ASC:
|
|
3884
|
+
return 'ascending';
|
|
3885
|
+
case ClrTreetableSortOrder.DESC:
|
|
3886
|
+
return 'descending';
|
|
3887
|
+
case ClrTreetableSortOrder.UNSORTED:
|
|
3888
|
+
default:
|
|
3889
|
+
return 'none';
|
|
3890
|
+
}
|
|
3891
|
+
}
|
|
3892
|
+
get sortable() {
|
|
3893
|
+
return !!this._sortBy;
|
|
3894
|
+
}
|
|
3895
|
+
sort(reverse) {
|
|
3896
|
+
if (!this.sortable) {
|
|
3897
|
+
return;
|
|
3898
|
+
}
|
|
3899
|
+
this._sort.toggle(this._sortBy, reverse);
|
|
3900
|
+
// setting the private variable to not retrigger the setter logic
|
|
3901
|
+
this._sortOrder = this._sort.reverse ? ClrTreetableSortOrder.DESC : ClrTreetableSortOrder.ASC;
|
|
3902
|
+
// Sets the correct icon for current sort order
|
|
3903
|
+
this._sortDirection = this._sortOrder === ClrTreetableSortOrder.DESC ? 'down' : 'up';
|
|
3904
|
+
this.sortOrderChange.emit(this._sortOrder);
|
|
3905
|
+
}
|
|
3906
|
+
listenForSortingChanges() {
|
|
3907
|
+
this._sort.change.pipe(takeUntilDestroyed()).subscribe(sort => {
|
|
3908
|
+
// Need to manually mark the component to be checked
|
|
3909
|
+
// for both activating and deactivating sorting
|
|
3910
|
+
this._cdr.markForCheck();
|
|
3911
|
+
// We're only listening to make sure we emit an event when the column goes from sorted to unsorted
|
|
3912
|
+
if (this.sortOrder !== ClrTreetableSortOrder.UNSORTED && sort.comparator !== this._sortBy) {
|
|
3913
|
+
this._sortOrder = ClrTreetableSortOrder.UNSORTED;
|
|
3914
|
+
this.sortOrderChange.emit(this._sortOrder);
|
|
3915
|
+
this._sortDirection = null;
|
|
3916
|
+
}
|
|
3917
|
+
});
|
|
3918
|
+
}
|
|
3587
3919
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableColumn, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3588
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3920
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetableColumn, isStandalone: false, selector: "clr-tt-column", inputs: { sortBy: ["clrTtSortBy", "sortBy"], sortOrder: ["clrTtSortOrder", "sortOrder"] }, outputs: { sortOrderChange: "clrTtSortOrderChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.treetable-column": "true", "attr.aria-sort": "ariaSort" } }, ngImport: i0, template: `
|
|
3921
|
+
@if(sortable) {
|
|
3922
|
+
<button class="treetable-column-title" (click)="sort()" type="button">
|
|
3923
|
+
<ng-container *ngTemplateOutlet="columnTitle" />
|
|
3924
|
+
<cds-icon
|
|
3925
|
+
*ngIf="sortDirection"
|
|
3926
|
+
shape="arrow"
|
|
3927
|
+
[attr.direction]="sortDirection"
|
|
3928
|
+
aria-hidden="true"
|
|
3929
|
+
class="sort-icon"
|
|
3930
|
+
/>
|
|
3931
|
+
</button>
|
|
3932
|
+
} @else {
|
|
3933
|
+
<ng-container *ngTemplateOutlet="columnTitle" />
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
<ng-template #columnTitle>
|
|
3937
|
+
<ng-content />
|
|
3938
|
+
</ng-template>
|
|
3939
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3589
3940
|
}
|
|
3590
3941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableColumn, decorators: [{
|
|
3591
3942
|
type: Component,
|
|
3592
3943
|
args: [{
|
|
3593
3944
|
selector: 'clr-tt-column',
|
|
3594
|
-
template:
|
|
3945
|
+
template: `
|
|
3946
|
+
@if(sortable) {
|
|
3947
|
+
<button class="treetable-column-title" (click)="sort()" type="button">
|
|
3948
|
+
<ng-container *ngTemplateOutlet="columnTitle" />
|
|
3949
|
+
<cds-icon
|
|
3950
|
+
*ngIf="sortDirection"
|
|
3951
|
+
shape="arrow"
|
|
3952
|
+
[attr.direction]="sortDirection"
|
|
3953
|
+
aria-hidden="true"
|
|
3954
|
+
class="sort-icon"
|
|
3955
|
+
/>
|
|
3956
|
+
</button>
|
|
3957
|
+
} @else {
|
|
3958
|
+
<ng-container *ngTemplateOutlet="columnTitle" />
|
|
3959
|
+
}
|
|
3960
|
+
|
|
3961
|
+
<ng-template #columnTitle>
|
|
3962
|
+
<ng-content />
|
|
3963
|
+
</ng-template>
|
|
3964
|
+
`,
|
|
3595
3965
|
host: {
|
|
3596
3966
|
'[class.treetable-column]': 'true',
|
|
3967
|
+
'[attr.aria-sort]': 'ariaSort',
|
|
3597
3968
|
role: 'columnheader',
|
|
3598
3969
|
},
|
|
3970
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3599
3971
|
standalone: false,
|
|
3600
3972
|
}]
|
|
3601
|
-
}]
|
|
3973
|
+
}], ctorParameters: () => [], propDecorators: { sortBy: [{
|
|
3974
|
+
type: Input,
|
|
3975
|
+
args: ['clrTtSortBy']
|
|
3976
|
+
}], sortOrder: [{
|
|
3977
|
+
type: Input,
|
|
3978
|
+
args: ['clrTtSortOrder']
|
|
3979
|
+
}] } });
|
|
3602
3980
|
|
|
3603
3981
|
/*
|
|
3604
3982
|
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
@@ -3694,23 +4072,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3694
4072
|
*/
|
|
3695
4073
|
ClarityIcons.addIcons(angleIcon);
|
|
3696
4074
|
class ClrTreetableRow {
|
|
3697
|
-
set actionOverflow(actionOverflow) {
|
|
3698
|
-
this.showActionOverflow = !!actionOverflow;
|
|
3699
|
-
this.showEmptyActionOverflow = !this.showActionOverflow;
|
|
3700
|
-
this.hasActionOverflow.emit(this.showActionOverflow);
|
|
3701
|
-
}
|
|
3702
4075
|
constructor() {
|
|
4076
|
+
this.selection = inject(Selection);
|
|
4077
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
4078
|
+
this._destroyRef = inject(DestroyRef);
|
|
4079
|
+
this._selected = false;
|
|
4080
|
+
this.shouldAnimate = signal(false);
|
|
3703
4081
|
this.expanded = false;
|
|
3704
4082
|
this.clickable = true;
|
|
3705
4083
|
this.expandable = false;
|
|
4084
|
+
this.clrTtItem = input();
|
|
3706
4085
|
this.hasActionOverflow = new EventEmitter();
|
|
3707
4086
|
this.expandedChange = new EventEmitter();
|
|
4087
|
+
this.selectedChanged = new EventEmitter(false);
|
|
3708
4088
|
this.showActionOverflow = false;
|
|
3709
4089
|
this.showEmptyActionOverflow = false;
|
|
3710
4090
|
this.showClickClass = false;
|
|
4091
|
+
this.SelectionType = SelectionType;
|
|
4092
|
+
}
|
|
4093
|
+
set actionOverflow(actionOverflow) {
|
|
4094
|
+
this.showActionOverflow = !!actionOverflow;
|
|
4095
|
+
this.showEmptyActionOverflow = !this.showActionOverflow;
|
|
4096
|
+
this.hasActionOverflow.emit(this.showActionOverflow);
|
|
3711
4097
|
}
|
|
3712
4098
|
ngOnInit() {
|
|
3713
4099
|
this.showClickClass = this.expandable && this.clickable;
|
|
4100
|
+
// We need to trigger change detection when the checkbox in overall treetable is clicked
|
|
4101
|
+
// because of ChangeDetectionStrategy.OnPush
|
|
4102
|
+
this.selection.allSelectedChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
4103
|
+
this._cdr.markForCheck();
|
|
4104
|
+
});
|
|
4105
|
+
}
|
|
4106
|
+
onExpandCollapseClick() {
|
|
4107
|
+
// Only animate on user click (not on sorting or initial rendering)
|
|
4108
|
+
this.shouldAnimate.set(true);
|
|
4109
|
+
this.toggleExpand();
|
|
4110
|
+
// Remove .animate after animation to prevent unwanted transitions
|
|
4111
|
+
setTimeout(() => {
|
|
4112
|
+
this.shouldAnimate.set(false);
|
|
4113
|
+
}, 350);
|
|
4114
|
+
}
|
|
4115
|
+
toggle(selected = !this.selected) {
|
|
4116
|
+
if (selected !== this.selected) {
|
|
4117
|
+
this.selected = selected;
|
|
4118
|
+
this.selectedChanged.emit(selected);
|
|
4119
|
+
}
|
|
3714
4120
|
}
|
|
3715
4121
|
toggleExpand() {
|
|
3716
4122
|
if (this.expandable) {
|
|
@@ -3720,47 +4126,32 @@ class ClrTreetableRow {
|
|
|
3720
4126
|
}
|
|
3721
4127
|
onRowClick(event) {
|
|
3722
4128
|
if (this.clickable && !event.target.closest('.treetable-action-trigger')) {
|
|
3723
|
-
this.
|
|
4129
|
+
this.onExpandCollapseClick();
|
|
3724
4130
|
}
|
|
3725
4131
|
}
|
|
3726
4132
|
onCaretClick() {
|
|
3727
4133
|
if (!this.clickable) {
|
|
3728
|
-
this.
|
|
4134
|
+
this.onExpandCollapseClick();
|
|
4135
|
+
}
|
|
4136
|
+
}
|
|
4137
|
+
get selected() {
|
|
4138
|
+
if (this.selection.selectionType === SelectionType.None) {
|
|
4139
|
+
return this._selected;
|
|
4140
|
+
}
|
|
4141
|
+
else {
|
|
4142
|
+
return this.selection.isSelected(this.clrTtItem());
|
|
3729
4143
|
}
|
|
3730
4144
|
}
|
|
4145
|
+
set selected(value) {
|
|
4146
|
+
this.selection.setSelected(this.clrTtItem(), value);
|
|
4147
|
+
}
|
|
3731
4148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableRow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3732
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3733
|
-
trigger('collapseExpandAnimation', [
|
|
3734
|
-
state('false', style({ display: 'none' })),
|
|
3735
|
-
state('true', style({ display: 'block' })),
|
|
3736
|
-
transition('false => true', [
|
|
3737
|
-
style({ opacity: 0, height: 0, overflow: 'hidden', display: 'block' }),
|
|
3738
|
-
animate('300ms', style({ opacity: 1, height: '*' })),
|
|
3739
|
-
]),
|
|
3740
|
-
transition('true => false', [
|
|
3741
|
-
style({ opacity: 1, height: '*', overflow: 'hidden' }),
|
|
3742
|
-
animate('300ms', style({ opacity: 0, height: 0 })),
|
|
3743
|
-
]),
|
|
3744
|
-
]),
|
|
3745
|
-
] }); }
|
|
4149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetableRow, isStandalone: false, selector: "clr-tt-row", inputs: { expanded: { classPropertyName: "expanded", publicName: "clrExpanded", isSignal: false, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clrClickable", isSignal: false, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "clrExpandable", isSignal: false, isRequired: false, transformFunction: null }, clrTtItem: { classPropertyName: "clrTtItem", publicName: "clrTtItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasActionOverflow: "hasActionOverflow", expandedChange: "clrExpandedChange", selectedChanged: "clrTtSelectedChange" }, host: { properties: { "class.treetable-row-wrapper": "true", "class.treetable-selected": "selected" } }, queries: [{ propertyName: "actionOverflow", first: true, predicate: ClrTreetableActionOverflow, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 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\n [ngClass]=\"{'clr-row-clickable': showClickClass, 'treetable-selected': selected}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n @if(selection.selectionType === SelectionType.Multi){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-cell\">\n <input type=\"checkbox\" [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\" (click)=\"$event.stopPropagation()\" />\n </div>\n }\n\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"treetable-row-animation-container\"\n [class.expanded]=\"expanded\"\n [class.collapsed]=\"!expanded\"\n [class.animate]=\"shouldAnimate()\"\n>\n <div class=\"treetable-row-animation-wrapper\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n </div>\n</div>\n", styles: [".treetable-row-animation-container.expanded{display:grid;grid-template-rows:1fr;opacity:1}.treetable-row-animation-container.collapsed{display:none;grid-template-rows:0fr;opacity:0}.treetable-row-animation-container.animate{transition:grid-template-rows .3s ease,opacity .3s ease,display .3s ease allow-discrete}@starting-style{.treetable-row-animation-container.animate.expanded{grid-template-rows:0fr;opacity:0}}@starting-style{.treetable-row-animation-container.animate.collapsed{grid-template-rows:1fr;opacity:1}}.treetable-row-animation-wrapper{min-height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ClrTreetableActionOverflow, selector: "clr-tt-action-overflow", inputs: ["empty"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3746
4150
|
}
|
|
3747
4151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableRow, decorators: [{
|
|
3748
4152
|
type: Component,
|
|
3749
|
-
args: [{ selector: 'clr-tt-row', host: { '[class.treetable-row-wrapper]': 'true' },
|
|
3750
|
-
|
|
3751
|
-
state('false', style({ display: 'none' })),
|
|
3752
|
-
state('true', style({ display: 'block' })),
|
|
3753
|
-
transition('false => true', [
|
|
3754
|
-
style({ opacity: 0, height: 0, overflow: 'hidden', display: 'block' }),
|
|
3755
|
-
animate('300ms', style({ opacity: 1, height: '*' })),
|
|
3756
|
-
]),
|
|
3757
|
-
transition('true => false', [
|
|
3758
|
-
style({ opacity: 1, height: '*', overflow: 'hidden' }),
|
|
3759
|
-
animate('300ms', style({ opacity: 0, height: 0 })),
|
|
3760
|
-
]),
|
|
3761
|
-
]),
|
|
3762
|
-
], standalone: false, template: "<!--\n ~ Copyright (c) 2018-2024 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\n [ngClass]=\"{'clr-row-clickable': showClickClass}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n<div [@collapseExpandAnimation]=\"expanded\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n</div>\n" }]
|
|
3763
|
-
}], ctorParameters: () => [], propDecorators: { expanded: [{
|
|
4153
|
+
args: [{ selector: 'clr-tt-row', host: { '[class.treetable-row-wrapper]': 'true', '[class.treetable-selected]': 'selected' }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright (c) 2018-2025 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\n [ngClass]=\"{'clr-row-clickable': showClickClass, 'treetable-selected': selected}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n @if(selection.selectionType === SelectionType.Multi){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-cell\">\n <input type=\"checkbox\" [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\" (click)=\"$event.stopPropagation()\" />\n </div>\n }\n\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"treetable-row-animation-container\"\n [class.expanded]=\"expanded\"\n [class.collapsed]=\"!expanded\"\n [class.animate]=\"shouldAnimate()\"\n>\n <div class=\"treetable-row-animation-wrapper\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n </div>\n</div>\n", styles: [".treetable-row-animation-container.expanded{display:grid;grid-template-rows:1fr;opacity:1}.treetable-row-animation-container.collapsed{display:none;grid-template-rows:0fr;opacity:0}.treetable-row-animation-container.animate{transition:grid-template-rows .3s ease,opacity .3s ease,display .3s ease allow-discrete}@starting-style{.treetable-row-animation-container.animate.expanded{grid-template-rows:0fr;opacity:0}}@starting-style{.treetable-row-animation-container.animate.collapsed{grid-template-rows:1fr;opacity:1}}.treetable-row-animation-wrapper{min-height:0;overflow:hidden}\n"] }]
|
|
4154
|
+
}], propDecorators: { expanded: [{
|
|
3764
4155
|
type: Input,
|
|
3765
4156
|
args: ['clrExpanded']
|
|
3766
4157
|
}], clickable: [{
|
|
@@ -3774,11 +4165,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3774
4165
|
}], expandedChange: [{
|
|
3775
4166
|
type: Output,
|
|
3776
4167
|
args: ['clrExpandedChange']
|
|
4168
|
+
}], selectedChanged: [{
|
|
4169
|
+
type: Output,
|
|
4170
|
+
args: ['clrTtSelectedChange']
|
|
3777
4171
|
}], actionOverflow: [{
|
|
3778
4172
|
type: ContentChild,
|
|
3779
4173
|
args: [ClrTreetableActionOverflow]
|
|
3780
4174
|
}] } });
|
|
3781
4175
|
|
|
4176
|
+
/*
|
|
4177
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
4178
|
+
* This software is released under MIT license.
|
|
4179
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4180
|
+
*/
|
|
4181
|
+
class TreetableItemsDirective {
|
|
4182
|
+
get clrTtItems() {
|
|
4183
|
+
return this.ttItems();
|
|
4184
|
+
}
|
|
4185
|
+
set clrTtItems(items) {
|
|
4186
|
+
if (items == null || items.length === 0) {
|
|
4187
|
+
return;
|
|
4188
|
+
}
|
|
4189
|
+
this._items.addItems(items);
|
|
4190
|
+
if (this._sort.comparator) {
|
|
4191
|
+
this._cdr.detach();
|
|
4192
|
+
items.sort((a, b) => this._sort.compare(a, b)); // Sort in place
|
|
4193
|
+
this._cdr.reattach();
|
|
4194
|
+
}
|
|
4195
|
+
this.ttItems.set(items);
|
|
4196
|
+
}
|
|
4197
|
+
set trackBy(value) {
|
|
4198
|
+
this._iterableProxy.ngForTrackBy = value;
|
|
4199
|
+
}
|
|
4200
|
+
constructor() {
|
|
4201
|
+
this._items = inject((Items));
|
|
4202
|
+
this._sort = inject((Sort));
|
|
4203
|
+
this._template = inject((TemplateRef));
|
|
4204
|
+
this._differs = inject(IterableDiffers);
|
|
4205
|
+
this._vcr = inject(ViewContainerRef);
|
|
4206
|
+
this._cdr = inject(ChangeDetectorRef);
|
|
4207
|
+
this.ttItems = signal([]);
|
|
4208
|
+
this._iterableProxy = new NgForOf(this._vcr, this._template, this._differs);
|
|
4209
|
+
effect(() => {
|
|
4210
|
+
const newItems = this.ttItems();
|
|
4211
|
+
if (newItems) {
|
|
4212
|
+
this._iterableProxy.ngForOf = newItems;
|
|
4213
|
+
this._iterableProxy.ngDoCheck();
|
|
4214
|
+
}
|
|
4215
|
+
});
|
|
4216
|
+
}
|
|
4217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableItemsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4218
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableItemsDirective, isStandalone: false, selector: "[clrTtItems]", inputs: { clrTtItems: "clrTtItems", trackBy: ["clrTtItemsTrackBy", "trackBy"] }, ngImport: i0 }); }
|
|
4219
|
+
}
|
|
4220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableItemsDirective, decorators: [{
|
|
4221
|
+
type: Directive,
|
|
4222
|
+
args: [{
|
|
4223
|
+
selector: '[clrTtItems]',
|
|
4224
|
+
standalone: false,
|
|
4225
|
+
}]
|
|
4226
|
+
}], ctorParameters: () => [], propDecorators: { clrTtItems: [{
|
|
4227
|
+
type: Input
|
|
4228
|
+
}], trackBy: [{
|
|
4229
|
+
type: Input,
|
|
4230
|
+
args: ['clrTtItemsTrackBy']
|
|
4231
|
+
}] } });
|
|
4232
|
+
|
|
3782
4233
|
/*
|
|
3783
4234
|
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
3784
4235
|
* This software is released under MIT license.
|
|
@@ -3786,11 +4237,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3786
4237
|
*/
|
|
3787
4238
|
class ClrTreetable {
|
|
3788
4239
|
constructor() {
|
|
4240
|
+
this.selection = inject((Selection));
|
|
4241
|
+
this._items = inject((Items));
|
|
4242
|
+
this._destroyRef = inject(DestroyRef);
|
|
3789
4243
|
this.clrClickableRows = true;
|
|
3790
4244
|
this.hideHeader = false;
|
|
4245
|
+
this.selectedChanged = new EventEmitter(false);
|
|
3791
4246
|
this.empty = true;
|
|
3792
4247
|
this.hasActionOverflow = false;
|
|
3793
|
-
this.
|
|
4248
|
+
this.SelectionType = SelectionType;
|
|
4249
|
+
}
|
|
4250
|
+
set selected(value) {
|
|
4251
|
+
if (value) {
|
|
4252
|
+
this.selection.selectionType = SelectionType.Multi;
|
|
4253
|
+
}
|
|
4254
|
+
else {
|
|
4255
|
+
this.selection.selectionType = SelectionType.None;
|
|
4256
|
+
}
|
|
4257
|
+
this.selection.updateCurrent(value, false);
|
|
3794
4258
|
}
|
|
3795
4259
|
set ttRows(items) {
|
|
3796
4260
|
this._ttRows = items;
|
|
@@ -3799,6 +4263,22 @@ class ClrTreetable {
|
|
|
3799
4263
|
this.initEmpty();
|
|
3800
4264
|
this.initActionOverflow();
|
|
3801
4265
|
}
|
|
4266
|
+
ngAfterViewInit() {
|
|
4267
|
+
this.selection.change.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(items => {
|
|
4268
|
+
this.selectedChanged.emit(items);
|
|
4269
|
+
});
|
|
4270
|
+
//_items changed, therefore we need to update the ttItems in the directives
|
|
4271
|
+
// in order to display them right again -> e.g when sorting changed
|
|
4272
|
+
this._items.change.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((allItems) => {
|
|
4273
|
+
const directives = this.iterator.toArray();
|
|
4274
|
+
directives.forEach((directive, index) => {
|
|
4275
|
+
if (allItems[index]) {
|
|
4276
|
+
const sortedItems = [...allItems[index]];
|
|
4277
|
+
directive.ttItems.set(sortedItems);
|
|
4278
|
+
}
|
|
4279
|
+
});
|
|
4280
|
+
});
|
|
4281
|
+
}
|
|
3802
4282
|
initClickableRows() {
|
|
3803
4283
|
if (this._ttRows) {
|
|
3804
4284
|
this._ttRows.forEach(ttRow => {
|
|
@@ -3812,7 +4292,7 @@ class ClrTreetable {
|
|
|
3812
4292
|
initActionOverflow() {
|
|
3813
4293
|
this._ttRows.forEach(row => {
|
|
3814
4294
|
this.setActionOverflow(row.showActionOverflow);
|
|
3815
|
-
row.hasActionOverflow.pipe(
|
|
4295
|
+
row.hasActionOverflow.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((hasActionOverflow) => {
|
|
3816
4296
|
this.setActionOverflow(hasActionOverflow);
|
|
3817
4297
|
});
|
|
3818
4298
|
});
|
|
@@ -3828,27 +4308,43 @@ class ClrTreetable {
|
|
|
3828
4308
|
});
|
|
3829
4309
|
}
|
|
3830
4310
|
}
|
|
3831
|
-
|
|
3832
|
-
this.
|
|
3833
|
-
|
|
4311
|
+
get allSelected() {
|
|
4312
|
+
return this.selection.isAllSelected();
|
|
4313
|
+
}
|
|
4314
|
+
set allSelected(_) {
|
|
4315
|
+
/**
|
|
4316
|
+
* This is a setter but we ignore the value.
|
|
4317
|
+
* It's strange, but it lets us have an indeterminate state where only
|
|
4318
|
+
* some of the _items are selected.
|
|
4319
|
+
*/
|
|
4320
|
+
this.selection.toggleAll();
|
|
3834
4321
|
}
|
|
3835
4322
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetable, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3836
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4323
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ClrTreetable, isStandalone: false, selector: "clr-treetable", inputs: { clrClickableRows: "clrClickableRows", hideHeader: ["clrHideHeader", "hideHeader"], selected: ["clrTtSelected", "selected"] }, outputs: { selectedChanged: "clrTtSelectedChange" }, host: { properties: { "class.empty": "empty", "class.treetable-host": "true" } }, providers: [Selection, Items, Sort], queries: [{ propertyName: "ttColumns", predicate: ClrTreetableColumn, descendants: true }, { propertyName: "ttRows", predicate: ClrTreetableRow, descendants: true }, { propertyName: "iterator", predicate: TreetableItemsDirective, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2018-2025 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]=\"hideHeader\">\n @if(selection.selectionType === SelectionType.Multi && !empty){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input type=\"checkbox\" [(ngModel)]=\"allSelected\" />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\"> </div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3837
4324
|
}
|
|
3838
4325
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetable, decorators: [{
|
|
3839
4326
|
type: Component,
|
|
3840
|
-
args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty', '[class.treetable-host]': 'true' }, standalone: false, template: "<!--\n ~ Copyright (c) 2018-
|
|
4327
|
+
args: [{ selector: 'clr-treetable', host: { '[class.empty]': 'empty', '[class.treetable-host]': 'true' }, standalone: false, providers: [Selection, Items, Sort], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n ~ Copyright (c) 2018-2025 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]=\"hideHeader\">\n @if(selection.selectionType === SelectionType.Multi && !empty){\n <div class=\"clr-checkbox-wrapper treetable-row-selection treetable-column\" role=\"row\">\n <input type=\"checkbox\" [(ngModel)]=\"allSelected\" />\n </div>\n }\n\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\"> </div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n" }]
|
|
3841
4328
|
}], propDecorators: { clrClickableRows: [{
|
|
3842
4329
|
type: Input
|
|
3843
4330
|
}], hideHeader: [{
|
|
3844
4331
|
type: Input,
|
|
3845
4332
|
args: ['clrHideHeader']
|
|
4333
|
+
}], selected: [{
|
|
4334
|
+
type: Input,
|
|
4335
|
+
args: ['clrTtSelected']
|
|
4336
|
+
}], selectedChanged: [{
|
|
4337
|
+
type: Output,
|
|
4338
|
+
args: ['clrTtSelectedChange']
|
|
3846
4339
|
}], ttColumns: [{
|
|
3847
4340
|
type: ContentChildren,
|
|
3848
4341
|
args: [ClrTreetableColumn, { descendants: true }]
|
|
3849
4342
|
}], ttRows: [{
|
|
3850
4343
|
type: ContentChildren,
|
|
3851
4344
|
args: [ClrTreetableRow, { descendants: true }]
|
|
4345
|
+
}], iterator: [{
|
|
4346
|
+
type: ContentChildren,
|
|
4347
|
+
args: [TreetableItemsDirective, { descendants: true }]
|
|
3852
4348
|
}] } });
|
|
3853
4349
|
|
|
3854
4350
|
/*
|
|
@@ -3858,7 +4354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3858
4354
|
*/
|
|
3859
4355
|
class ClrTreetableCell {
|
|
3860
4356
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3861
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTreetableCell, isStandalone: false, selector: "clr-tt-cell", host: { attributes: { "role": "cell" }, properties: { "class.treetable-cell": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
4357
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrTreetableCell, isStandalone: false, selector: "clr-tt-cell", host: { attributes: { "role": "cell" }, properties: { "class.treetable-cell": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3862
4358
|
}
|
|
3863
4359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableCell, decorators: [{
|
|
3864
4360
|
type: Component,
|
|
@@ -3870,6 +4366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3870
4366
|
role: 'cell',
|
|
3871
4367
|
},
|
|
3872
4368
|
standalone: false,
|
|
4369
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3873
4370
|
}]
|
|
3874
4371
|
}] });
|
|
3875
4372
|
|
|
@@ -3885,7 +4382,7 @@ class ClrTreetablePlaceholder {
|
|
|
3885
4382
|
<div class="treetable-placeholder-image"></div>
|
|
3886
4383
|
<ng-content></ng-content>
|
|
3887
4384
|
</div>
|
|
3888
|
-
`, isInline: true }); }
|
|
4385
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3889
4386
|
}
|
|
3890
4387
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetablePlaceholder, decorators: [{
|
|
3891
4388
|
type: Component,
|
|
@@ -3899,6 +4396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
3899
4396
|
`,
|
|
3900
4397
|
host: { '[class.treetable-placeholder-container]': 'true' },
|
|
3901
4398
|
standalone: false,
|
|
4399
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3902
4400
|
}]
|
|
3903
4401
|
}] });
|
|
3904
4402
|
|
|
@@ -4002,8 +4500,10 @@ class TreetableMainRenderer {
|
|
|
4002
4500
|
constructor() {
|
|
4003
4501
|
this.shouldStabilizeColumn = true;
|
|
4004
4502
|
}
|
|
4005
|
-
|
|
4006
|
-
|
|
4503
|
+
ngOnInit() {
|
|
4504
|
+
fromEvent(window, 'resize')
|
|
4505
|
+
.pipe(debounceTime$1(200))
|
|
4506
|
+
.subscribe(() => this.applyMaxWidth());
|
|
4007
4507
|
}
|
|
4008
4508
|
ngAfterContentInit() {
|
|
4009
4509
|
this.headers.changes.subscribe(() => {
|
|
@@ -4026,11 +4526,13 @@ class TreetableMainRenderer {
|
|
|
4026
4526
|
*/
|
|
4027
4527
|
applyColumnClasses() {
|
|
4028
4528
|
this.shouldStabilizeColumn = false;
|
|
4029
|
-
this.headers.
|
|
4529
|
+
const headersArray = this.headers.toArray();
|
|
4530
|
+
const rowsArray = this.rows.toArray();
|
|
4531
|
+
headersArray.forEach((header, headerIndex) => {
|
|
4030
4532
|
const columnClasses = header.getColumnClasses();
|
|
4031
4533
|
if (columnClasses.length === 0) {
|
|
4032
4534
|
header.setDefaultColumnClass();
|
|
4033
|
-
|
|
4535
|
+
rowsArray.forEach(row => {
|
|
4034
4536
|
// set every child cell of the same index to default class
|
|
4035
4537
|
const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);
|
|
4036
4538
|
if (cell) {
|
|
@@ -4041,7 +4543,7 @@ class TreetableMainRenderer {
|
|
|
4041
4543
|
else {
|
|
4042
4544
|
// set every child cell of the same index to the same class
|
|
4043
4545
|
// we do not allow overriding column width on a per cell basis different to the header.
|
|
4044
|
-
|
|
4546
|
+
rowsArray.forEach(row => {
|
|
4045
4547
|
const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);
|
|
4046
4548
|
if (cell) {
|
|
4047
4549
|
cell.setColumnClasses(columnClasses);
|
|
@@ -4070,7 +4572,7 @@ class TreetableMainRenderer {
|
|
|
4070
4572
|
});
|
|
4071
4573
|
}
|
|
4072
4574
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableMainRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4073
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableMainRenderer, isStandalone: false, selector: "clr-treetable",
|
|
4575
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: TreetableMainRenderer, isStandalone: false, selector: "clr-treetable", queries: [{ propertyName: "headers", predicate: TreetableHeaderRenderer }, { propertyName: "rows", predicate: TreetableRowRenderer, descendants: true }, { propertyName: "columns", predicate: ClrTreetableColumn }], ngImport: i0 }); }
|
|
4074
4576
|
}
|
|
4075
4577
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: TreetableMainRenderer, decorators: [{
|
|
4076
4578
|
type: Directive,
|
|
@@ -4087,13 +4589,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
4087
4589
|
}], columns: [{
|
|
4088
4590
|
type: ContentChildren,
|
|
4089
4591
|
args: [ClrTreetableColumn]
|
|
4090
|
-
}], onResize: [{
|
|
4091
|
-
type: HostListener,
|
|
4092
|
-
args: ['window:resize']
|
|
4093
4592
|
}] } });
|
|
4094
4593
|
|
|
4095
4594
|
/*
|
|
4096
|
-
* Copyright (c) 2018-
|
|
4595
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
4097
4596
|
* This software is released under MIT license.
|
|
4098
4597
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4099
4598
|
*/
|
|
@@ -4108,6 +4607,7 @@ const CLR_TREETABLE_DIRECTIVES = [
|
|
|
4108
4607
|
TreetableHeaderRenderer,
|
|
4109
4608
|
TreetableRowRenderer,
|
|
4110
4609
|
TreetableCellRenderer,
|
|
4610
|
+
TreetableItemsDirective,
|
|
4111
4611
|
];
|
|
4112
4612
|
class ClrTreetableModule {
|
|
4113
4613
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -4120,7 +4620,8 @@ class ClrTreetableModule {
|
|
|
4120
4620
|
TreetableMainRenderer,
|
|
4121
4621
|
TreetableHeaderRenderer,
|
|
4122
4622
|
TreetableRowRenderer,
|
|
4123
|
-
TreetableCellRenderer
|
|
4623
|
+
TreetableCellRenderer,
|
|
4624
|
+
TreetableItemsDirective], imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule], exports: [ClrTreetable,
|
|
4124
4625
|
ClrTreetableRow,
|
|
4125
4626
|
ClrTreetableCell,
|
|
4126
4627
|
ClrTreetableColumn,
|
|
@@ -4129,20 +4630,27 @@ class ClrTreetableModule {
|
|
|
4129
4630
|
TreetableMainRenderer,
|
|
4130
4631
|
TreetableHeaderRenderer,
|
|
4131
4632
|
TreetableRowRenderer,
|
|
4132
|
-
TreetableCellRenderer
|
|
4133
|
-
|
|
4633
|
+
TreetableCellRenderer,
|
|
4634
|
+
TreetableItemsDirective] }); }
|
|
4635
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule] }); }
|
|
4134
4636
|
}
|
|
4135
4637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrTreetableModule, decorators: [{
|
|
4136
4638
|
type: NgModule,
|
|
4137
4639
|
args: [{
|
|
4138
|
-
imports: [CommonModule, ClarityModule],
|
|
4640
|
+
imports: [CommonModule, ClarityModule, ReactiveFormsModule, FormsModule],
|
|
4139
4641
|
declarations: [CLR_TREETABLE_DIRECTIVES],
|
|
4140
4642
|
exports: [CLR_TREETABLE_DIRECTIVES],
|
|
4141
4643
|
}]
|
|
4142
4644
|
}] });
|
|
4143
4645
|
|
|
4144
4646
|
/*
|
|
4145
|
-
* Copyright (c) 2018-
|
|
4647
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
4648
|
+
* This software is released under MIT license.
|
|
4649
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4650
|
+
*/
|
|
4651
|
+
|
|
4652
|
+
/*
|
|
4653
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
4146
4654
|
* This software is released under MIT license.
|
|
4147
4655
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
4148
4656
|
*/
|
|
@@ -4342,6 +4850,7 @@ class ClrHistoryService {
|
|
|
4342
4850
|
this.historyHttpService = historyHttpService;
|
|
4343
4851
|
this.cookieSettings$ = new BehaviorSubject([]);
|
|
4344
4852
|
this.cookieNameSettings = 'clr.history.settings';
|
|
4853
|
+
this.changingHistory$ = new BehaviorSubject(false);
|
|
4345
4854
|
this.expiryDate = new Date();
|
|
4346
4855
|
this.expiryDate.setTime(this.expiryDate.getTime() + 365 * 24 * 60 * 60 * 1000);
|
|
4347
4856
|
}
|
|
@@ -4350,13 +4859,13 @@ class ClrHistoryService {
|
|
|
4350
4859
|
* @param historyEntry The entry to be added
|
|
4351
4860
|
*/
|
|
4352
4861
|
addHistoryEntry(historyEntry) {
|
|
4353
|
-
return this.historyHttpService.addHistoryEntry(
|
|
4862
|
+
return of(historyEntry).pipe(tap(() => this.changingHistory$.next(true)), switchMap(entry => this.historyHttpService.addHistoryEntry(entry)), tap(() => this.changingHistory$.next(false)));
|
|
4354
4863
|
}
|
|
4355
4864
|
getHistory(username, tenantId) {
|
|
4356
|
-
return this.historyHttpService.getHistory(username, tenantId);
|
|
4865
|
+
return this.changingHistory$.pipe(filter$1(changing => !changing), switchMap(() => this.historyHttpService.getHistory(username, tenantId)));
|
|
4357
4866
|
}
|
|
4358
4867
|
removeFromHistory(historyEntry) {
|
|
4359
|
-
return this.historyHttpService.removeFromHistory(
|
|
4868
|
+
return of(historyEntry).pipe(tap(() => this.changingHistory$.next(true)), switchMap(entry => this.historyHttpService.removeFromHistory(entry)), tap(() => this.changingHistory$.next(false)));
|
|
4360
4869
|
}
|
|
4361
4870
|
initializeCookieSettings(username, domain) {
|
|
4362
4871
|
let historySettings = this.getCookieByName(this.cookieNameSettings);
|
|
@@ -4559,11 +5068,11 @@ class ClrHistoryPinned {
|
|
|
4559
5068
|
this.settingsSubscription.unsubscribe();
|
|
4560
5069
|
}
|
|
4561
5070
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: ClrHistoryService }, { token: HISTORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4562
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrHistoryPinned, isStandalone: false, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<
|
|
5071
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ClrHistoryPinned, isStandalone: false, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], tenantId: ["clrTenantId", "tenantId"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"(active$ | async)\">\n <ol class=\"history\">\n <!-- dummy entry with no visible content to reserve space for the history header -->\n <li> </li>\n <ng-container *ngFor=\"let historyItem of historyElements$ | async\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{ historyItem.title }}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
4563
5072
|
}
|
|
4564
5073
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ClrHistoryPinned, decorators: [{
|
|
4565
5074
|
type: Component,
|
|
4566
|
-
args: [{ selector: 'clr-history-pinned', standalone: false, template: "<
|
|
5075
|
+
args: [{ selector: 'clr-history-pinned', standalone: false, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"(active$ | async)\">\n <ol class=\"history\">\n <!-- dummy entry with no visible content to reserve space for the history header -->\n <li> </li>\n <ng-container *ngFor=\"let historyItem of historyElements$ | async\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{ historyItem.title }}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
|
|
4567
5076
|
}], ctorParameters: () => [{ type: ClrHistoryService }, { type: HistoryProvider, decorators: [{
|
|
4568
5077
|
type: Inject,
|
|
4569
5078
|
args: [HISTORY_PROVIDER]
|
|
@@ -14022,7 +14531,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
14022
14531
|
}] });
|
|
14023
14532
|
|
|
14024
14533
|
/*
|
|
14025
|
-
* Copyright (c) 2018-
|
|
14534
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
14026
14535
|
* This software is released under MIT license.
|
|
14027
14536
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
14028
14537
|
*/
|
|
@@ -14146,7 +14655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
14146
14655
|
*/
|
|
14147
14656
|
|
|
14148
14657
|
/*
|
|
14149
|
-
* Copyright (c) 2018-
|
|
14658
|
+
* Copyright (c) 2018-2025 Porsche Informatik. All Rights Reserved.
|
|
14150
14659
|
* This software is released under MIT license.
|
|
14151
14660
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
14152
14661
|
*/
|
|
@@ -14155,5 +14664,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImpor
|
|
|
14155
14664
|
* Generated bundle index. Do not edit.
|
|
14156
14665
|
*/
|
|
14157
14666
|
|
|
14158
|
-
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, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrFlowBar, ClrFlowBarModule, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, 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, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, EnergyShape, 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, PopoverPositions, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, ServiceAdvisor, SkodaBrandShape, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, TreetableHeaderRenderer, 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, 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, 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 };
|
|
14667
|
+
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, ClrDataListPredefinedValidatorDirective, ClrDataListValidatorModule, ClrDataListValidators, ClrDatagridStatePersistenceModule, ClrDateFilterComponent, ClrDateFilterModule, ClrDateTimeContainer, ClrDateTimeModule, ClrDaterangeMaxValidator, ClrDaterangeMinValidator, ClrDaterangeOrderValidator, ClrDaterangeRequiredValidator, ClrDaterangepickerContainerComponent, ClrDaterangepickerDirective, ClrDaterangepickerModule, ClrDotPager, ClrDotPagerModule, ClrDropdownOverflowDirective, ClrDropdownOverflowModule, ClrEnumFilterComponent, ClrEnumFilterModule, ClrFlowBar, ClrFlowBarModule, ClrFormModule, ClrGenericQuickList, ClrGenericQuickListModule, ClrHistory, ClrHistoryModule, ClrHistoryPinned, ClrHistoryService, ClrIfDaterangeErrorDirective, ClrIfWarning, ClrIfWarningModule, 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, ClrTimeInput, ClrTreetable, ClrTreetableActionOverflow, ClrTreetableCell, ClrTreetableColumn, ClrTreetableModule, ClrTreetablePlaceholder, ClrTreetableRow, ClrTreetableSortOrder, ClrViewEditSection, ClrViewEditSectionModule, ColumnHiddenStatePersistenceDirective, CompletedByDateShape, CupraBrandShape, Customer, CustomerVip, CustomerVipCollection, CustomerWaiting, CustomerWaitingCollection, DATE, DELIMITER_REGEX, DWABrandShape, DatagridFieldDirective, DayModel, DeliveryDate, DieselShape, DollarBillForwardShape, DollarBillPartialShape, EnergyShape, ExternalPartForwardShape, FirstRegistrationDate, GasCarsServiceShape, GasShape, HISTORY_NOTIFICATION_URL_PROVIDER, HISTORY_PROVIDER, HISTORY_TOKEN, HistoryProvider, InternalPartForwardShape, InvoiceReadyShape, InvoiceRecipient, InvoiceShape, Items, 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, PopoverPositions, PorscheBrandShape, PriceTypeSwitchShape, RepeatRepairCollection, RepeatRepairShape, ReplacementVehicleCollection, ReplacementVehicleShape, ReturnDateShape, SEPARATOR_TEXT_DEFAULT, SeatBrandShape, Selection, ServiceAdvisor, SkodaBrandShape, Sort, StatePersistenceKeyDirective, TRANSLATIONS, TaskAndAppointment, TextForward, TimeModel, TopcardShape, TouaregServiceShape, TreetableCellRenderer, 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, 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, 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 };
|
|
14159
14668
|
//# sourceMappingURL=clr-addons.mjs.map
|