@leanix/components 0.4.531 → 0.4.532
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/leanix-components.mjs +365 -365
- package/fesm2022/leanix-components.mjs.map +1 -1
- package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
- package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
- package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
- package/package.json +10 -14
- package/esm2022/index.mjs +0 -145
- package/esm2022/leanix-components.mjs +0 -5
- package/esm2022/lib/core-ui/components/avatar/avatar.component.mjs +0 -40
- package/esm2022/lib/core-ui/components/avatar/avatar.helpers.mjs +0 -49
- package/esm2022/lib/core-ui/components/avatar/avatar.model.mjs +0 -33
- package/esm2022/lib/core-ui/components/avatar-group/avatar-group.component.mjs +0 -75
- package/esm2022/lib/core-ui/components/badge/badge.component.mjs +0 -58
- package/esm2022/lib/core-ui/components/banner/banner.component.mjs +0 -68
- package/esm2022/lib/core-ui/components/banner/banner.models.mjs +0 -12
- package/esm2022/lib/core-ui/components/button/button.component.mjs +0 -179
- package/esm2022/lib/core-ui/components/button-group/button-group.component.mjs +0 -28
- package/esm2022/lib/core-ui/components/card/card.component.mjs +0 -26
- package/esm2022/lib/core-ui/components/collapsible/collapsible.component.mjs +0 -52
- package/esm2022/lib/core-ui/components/counter/counter.component.mjs +0 -30
- package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -143
- package/esm2022/lib/core-ui/components/empty-state/empty-state.component.mjs +0 -41
- package/esm2022/lib/core-ui/components/icon-scale/icon-scale.component.mjs +0 -36
- package/esm2022/lib/core-ui/components/skeleton/skeleton.component.mjs +0 -44
- package/esm2022/lib/core-ui/components/spinner/spinner.component.mjs +0 -26
- package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +0 -70
- package/esm2022/lib/core-ui/components/table/table-header/table-header.component.mjs +0 -128
- package/esm2022/lib/core-ui/components/table/table.component.mjs +0 -77
- package/esm2022/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +0 -14
- package/esm2022/lib/core-ui/components/tokenizer/token/token.component.mjs +0 -20
- package/esm2022/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.mjs +0 -44
- package/esm2022/lib/core-ui/components/tokenizer/tokenizer.component.mjs +0 -149
- package/esm2022/lib/core-ui/core-ui.constants.mjs +0 -240
- package/esm2022/lib/core-ui/core-ui.module.mjs +0 -206
- package/esm2022/lib/core-ui/directives/after-view-init.directive.mjs +0 -33
- package/esm2022/lib/core-ui/directives/autoclose-group.service.mjs +0 -39
- package/esm2022/lib/core-ui/directives/autoclose.directive.mjs +0 -43
- package/esm2022/lib/core-ui/directives/autofocus.directive.mjs +0 -36
- package/esm2022/lib/core-ui/functions/core-css.helpers.mjs +0 -52
- package/esm2022/lib/core-ui/functions/highlight-text.function.mjs +0 -80
- package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +0 -146
- package/esm2022/lib/core-ui/linkify/unlinkify.pipe.mjs +0 -51
- package/esm2022/lib/core-ui/pipes/br.pipe.mjs +0 -24
- package/esm2022/lib/core-ui/pipes/contrast-color.pipe.mjs +0 -21
- package/esm2022/lib/core-ui/pipes/custom-date.pipe.mjs +0 -28
- package/esm2022/lib/core-ui/pipes/display-avatars.pipe.mjs +0 -37
- package/esm2022/lib/core-ui/pipes/highlight-range.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/highlight-term.pipe.mjs +0 -57
- package/esm2022/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +0 -22
- package/esm2022/lib/core-ui/pipes/lx-time-ago.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/lx-translate.pipe.mjs +0 -50
- package/esm2022/lib/core-ui/pipes/markdown.pipe.mjs +0 -32
- package/esm2022/lib/core-ui/pipes/nbsp.pipe.mjs +0 -17
- package/esm2022/lib/core-ui/pipes/sort.pipe.mjs +0 -55
- package/esm2022/lib/core-ui/pipes/translation-after.pipe.mjs +0 -29
- package/esm2022/lib/core-ui/pipes/translation-before.pipe.mjs +0 -54
- package/esm2022/lib/core-ui/pipes/translation-between.pipe.mjs +0 -68
- package/esm2022/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +0 -17
- package/esm2022/lib/core-ui/services/resize-observer.service.mjs +0 -112
- package/esm2022/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -74
- package/esm2022/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -7
- package/esm2022/lib/core-ui/tooltip/tooltip.component.mjs +0 -26
- package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +0 -117
- package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -139
- package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +0 -38
- package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +0 -55
- package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -215
- package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +0 -135
- package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +0 -159
- package/esm2022/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -105
- package/esm2022/lib/forms-ui/components/currency/currency-symbol.component.mjs +0 -24
- package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +0 -347
- package/esm2022/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -8
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +0 -312
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -20
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -206
- package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +0 -29
- package/esm2022/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +0 -319
- package/esm2022/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -2
- package/esm2022/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +0 -149
- package/esm2022/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +0 -151
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -5
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +0 -120
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +0 -39
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -137
- package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +0 -38
- package/esm2022/lib/forms-ui/components/error-message/error-message.component.mjs +0 -16
- package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +0 -26
- package/esm2022/lib/forms-ui/components/form-error/form-error.component.mjs +0 -44
- package/esm2022/lib/forms-ui/components/icon/icon.component.mjs +0 -45
- package/esm2022/lib/forms-ui/components/input/input.component.mjs +0 -48
- package/esm2022/lib/forms-ui/components/keyboard-select.directive.mjs +0 -126
- package/esm2022/lib/forms-ui/components/multi-select/multi-select-selection/multi-select-selection.component.mjs +0 -28
- package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -318
- package/esm2022/lib/forms-ui/components/option/option.component.mjs +0 -99
- package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +0 -29
- package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +0 -123
- package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -297
- package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +0 -94
- package/esm2022/lib/forms-ui/components/picker/picker-trigger.directive.mjs +0 -47
- package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +0 -218
- package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
- package/esm2022/lib/forms-ui/components/pill-item/pill-item.component.mjs +0 -33
- package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +0 -58
- package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -101
- package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +0 -178
- package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +0 -290
- package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +0 -71
- package/esm2022/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +0 -21
- package/esm2022/lib/forms-ui/components/switch/switch.component.mjs +0 -51
- package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +0 -130
- package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +0 -121
- package/esm2022/lib/forms-ui/directives/form-submit.directive.mjs +0 -29
- package/esm2022/lib/forms-ui/directives/keyboard-action-source.directive.mjs +0 -63
- package/esm2022/lib/forms-ui/directives/mark-invalid.directive.mjs +0 -39
- package/esm2022/lib/forms-ui/directives/max-length-counter.directive.mjs +0 -131
- package/esm2022/lib/forms-ui/directives/select-dropdown.directive.mjs +0 -32
- package/esm2022/lib/forms-ui/directives/selectable-item.directive.mjs +0 -34
- package/esm2022/lib/forms-ui/directives/selected-option.directive.mjs +0 -27
- package/esm2022/lib/forms-ui/forms-ui.module.mjs +0 -270
- package/esm2022/lib/forms-ui/helpers/key-codes.constants.mjs +0 -13
- package/esm2022/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -38
- package/esm2022/lib/forms-ui/models/base-select.directive.mjs +0 -183
- package/esm2022/lib/forms-ui/models/dropdown-item.interface.mjs +0 -2
- package/esm2022/lib/forms-ui/models/single-select-padding.interface.mjs +0 -2
- package/esm2022/lib/forms-ui/models/sorting.interface.mjs +0 -7
- package/esm2022/lib/forms-ui/pipes/filter-selection.pipe.mjs +0 -33
- package/esm2022/lib/forms-ui/pipes/filter-term.pipe.mjs +0 -29
- package/esm2022/lib/forms-ui/pipes/format-number.pipe.mjs +0 -66
- package/esm2022/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -26
- package/esm2022/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -30
- package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +0 -264
- package/esm2022/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +0 -16
- package/esm2022/lib/modal-ui/components/modal-header/modal-header.component.mjs +0 -19
- package/esm2022/lib/modal-ui/directives/modal-content.directive.mjs +0 -14
- package/esm2022/lib/modal-ui/modal.constants.mjs +0 -18
- package/esm2022/lib/modal-ui/modal.module.mjs +0 -47
- package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +0 -228
- package/esm2022/lib/popover-ui/directives/popover-click.directive.mjs +0 -52
- package/esm2022/lib/popover-ui/directives/popover-content.directive.mjs +0 -17
- package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +0 -88
- package/esm2022/lib/popover-ui/popover-ui.module.mjs +0 -21
- package/esm2022/lib/shared/date-helpers.mjs +0 -35
- package/esm2022/lib/shared/html-helpers.function.mjs +0 -34
- package/esm2022/lib/shared/misc-helpers.mjs +0 -24
- package/esm2022/lib/shared/observe.mjs +0 -40
- package/esm2022/lib/tab-ui/components/tab/tab.component.mjs +0 -118
- package/esm2022/lib/tab-ui/components/tab-group/tab-group-key-codes.enum.mjs +0 -12
- package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -150
- package/esm2022/lib/tab-ui/tab-ui.module.mjs +0 -20
- package/esm2022/ui5/icons/lx-icons.json +0 -177
- package/esm2022/ui5/icons/register-icons.mjs +0 -14
- package/esm2022/ui5/index.mjs +0 -8
- package/esm2022/ui5/leanix-components-ui5.mjs +0 -5
- package/esm2022/ui5/ui5.provider.mjs +0 -29
@@ -1,151 +0,0 @@
|
|
1
|
-
// @deprecated
|
2
|
-
// tslint:disable
|
3
|
-
import { NgClass, NgFor, NgIf } from '@angular/common';
|
4
|
-
import { Component } from '@angular/core';
|
5
|
-
import { isBs3 } from './isBs3';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "./datepicker-inner.component";
|
8
|
-
export class YearPickerComponent {
|
9
|
-
constructor(datePicker) {
|
10
|
-
this.rows = [];
|
11
|
-
this.datePicker = datePicker;
|
12
|
-
}
|
13
|
-
get isBs4() {
|
14
|
-
return !isBs3();
|
15
|
-
}
|
16
|
-
ngOnInit() {
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
18
|
-
const self = this;
|
19
|
-
this.datePicker.stepYear = { years: this.datePicker.yearRange };
|
20
|
-
this.datePicker.setRefreshViewHandler(function () {
|
21
|
-
const years = new Array(this.yearRange);
|
22
|
-
let date;
|
23
|
-
const start = self.getStartingYear(this.activeDate.getFullYear());
|
24
|
-
for (let i = 0; i < this.yearRange; i++) {
|
25
|
-
date = new Date(start + i, 0, 1);
|
26
|
-
date = this.fixTimeZone(date);
|
27
|
-
years[i] = this.createDateObject(date, this.formatYear);
|
28
|
-
years[i].uid = this.uniqueId + '-' + i;
|
29
|
-
}
|
30
|
-
self.title = [years[0].label, years[this.yearRange - 1].label].join(' - ');
|
31
|
-
self.rows = this.split(years, self.datePicker.yearColLimit);
|
32
|
-
}, 'year');
|
33
|
-
this.datePicker.setCompareHandler(function (date1, date2) {
|
34
|
-
return date1.getFullYear() - date2.getFullYear();
|
35
|
-
}, 'year');
|
36
|
-
this.datePicker.refreshView();
|
37
|
-
}
|
38
|
-
getStartingYear(year) {
|
39
|
-
// todo: parseInt
|
40
|
-
return ((year - 1) / this.datePicker.yearRange) * this.datePicker.yearRange + 1;
|
41
|
-
}
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: YearPickerComponent, deps: [{ token: i1.DatePickerInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: YearPickerComponent, isStandalone: true, selector: "yearpicker", ngImport: i0, template: `
|
44
|
-
<table *ngIf="datePicker.datepickerMode === 'year'" role="grid">
|
45
|
-
<thead>
|
46
|
-
<tr>
|
47
|
-
<th>
|
48
|
-
<button type="button" class="btn btn-default btn-sm pull-left float-left" (click)="datePicker.move(-1)" tabindex="-1">‹</button>
|
49
|
-
</th>
|
50
|
-
<th [attr.colspan]="datePicker.yearColLimit - 2 <= 0 ? 1 : datePicker.yearColLimit - 2">
|
51
|
-
<button
|
52
|
-
[id]="datePicker.uniqueId + '-title'"
|
53
|
-
type="button"
|
54
|
-
class="btn btn-default btn-sm"
|
55
|
-
(click)="datePicker.toggleMode(0)"
|
56
|
-
[disabled]="datePicker.datepickerMode === datePicker.maxMode"
|
57
|
-
[ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
|
58
|
-
tabindex="-1"
|
59
|
-
style="width:100%;"
|
60
|
-
>
|
61
|
-
<strong>{{ title }}</strong>
|
62
|
-
</button>
|
63
|
-
</th>
|
64
|
-
<th>
|
65
|
-
<button type="button" class="btn btn-default btn-sm pull-right float-right" (click)="datePicker.move(1)" tabindex="-1">
|
66
|
-
›
|
67
|
-
</button>
|
68
|
-
</th>
|
69
|
-
</tr>
|
70
|
-
</thead>
|
71
|
-
<tbody>
|
72
|
-
<tr *ngFor="let rowz of rows">
|
73
|
-
<td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">
|
74
|
-
<button
|
75
|
-
type="button"
|
76
|
-
style="min-width:100%;"
|
77
|
-
class="btn btn-default"
|
78
|
-
[ngClass]="{
|
79
|
-
'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
|
80
|
-
'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)),
|
81
|
-
disabled: dtz.disabled,
|
82
|
-
active: !isBs4 && datePicker.isActive(dtz)
|
83
|
-
}"
|
84
|
-
[disabled]="dtz.disabled"
|
85
|
-
(click)="datePicker.select(dtz.date)"
|
86
|
-
tabindex="-1"
|
87
|
-
>
|
88
|
-
<span [ngClass]="{ 'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
|
89
|
-
</button>
|
90
|
-
</td>
|
91
|
-
</tr>
|
92
|
-
</tbody>
|
93
|
-
</table>
|
94
|
-
`, isInline: true, styles: [":host .btn-info .text-success{color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
95
|
-
}
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: YearPickerComponent, decorators: [{
|
97
|
-
type: Component,
|
98
|
-
args: [{ selector: 'yearpicker', template: `
|
99
|
-
<table *ngIf="datePicker.datepickerMode === 'year'" role="grid">
|
100
|
-
<thead>
|
101
|
-
<tr>
|
102
|
-
<th>
|
103
|
-
<button type="button" class="btn btn-default btn-sm pull-left float-left" (click)="datePicker.move(-1)" tabindex="-1">‹</button>
|
104
|
-
</th>
|
105
|
-
<th [attr.colspan]="datePicker.yearColLimit - 2 <= 0 ? 1 : datePicker.yearColLimit - 2">
|
106
|
-
<button
|
107
|
-
[id]="datePicker.uniqueId + '-title'"
|
108
|
-
type="button"
|
109
|
-
class="btn btn-default btn-sm"
|
110
|
-
(click)="datePicker.toggleMode(0)"
|
111
|
-
[disabled]="datePicker.datepickerMode === datePicker.maxMode"
|
112
|
-
[ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
|
113
|
-
tabindex="-1"
|
114
|
-
style="width:100%;"
|
115
|
-
>
|
116
|
-
<strong>{{ title }}</strong>
|
117
|
-
</button>
|
118
|
-
</th>
|
119
|
-
<th>
|
120
|
-
<button type="button" class="btn btn-default btn-sm pull-right float-right" (click)="datePicker.move(1)" tabindex="-1">
|
121
|
-
›
|
122
|
-
</button>
|
123
|
-
</th>
|
124
|
-
</tr>
|
125
|
-
</thead>
|
126
|
-
<tbody>
|
127
|
-
<tr *ngFor="let rowz of rows">
|
128
|
-
<td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">
|
129
|
-
<button
|
130
|
-
type="button"
|
131
|
-
style="min-width:100%;"
|
132
|
-
class="btn btn-default"
|
133
|
-
[ngClass]="{
|
134
|
-
'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
|
135
|
-
'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)),
|
136
|
-
disabled: dtz.disabled,
|
137
|
-
active: !isBs4 && datePicker.isActive(dtz)
|
138
|
-
}"
|
139
|
-
[disabled]="dtz.disabled"
|
140
|
-
(click)="datePicker.select(dtz.date)"
|
141
|
-
tabindex="-1"
|
142
|
-
>
|
143
|
-
<span [ngClass]="{ 'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
|
144
|
-
</button>
|
145
|
-
</td>
|
146
|
-
</tr>
|
147
|
-
</tbody>
|
148
|
-
</table>
|
149
|
-
`, standalone: true, imports: [NgIf, NgClass, NgFor], styles: [":host .btn-info .text-success{color:#fff!important}\n"] }]
|
150
|
-
}], ctorParameters: () => [{ type: i1.DatePickerInnerComponent }] });
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL3llYXJwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFtRWhDLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBWSxVQUFvQztRQUZoRCxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLDREQUE0RDtRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoRSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFVLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLElBQVUsQ0FBQztZQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRWxFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRVgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEtBQVcsRUFBRSxLQUFXO1lBQ2xFLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFUyxlQUFlLENBQUMsSUFBWTtRQUNwQyxpQkFBaUI7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7OEdBN0NVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNFQTlEcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVCwrSEFTUyxJQUFJLDZGQUFFLE9BQU8sb0ZBQUUsS0FBSzs7MkZBRW5CLG1CQUFtQjtrQkFqRS9CLFNBQVM7K0JBRUUsWUFBWSxZQUNaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRFQsY0FRVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkZXByZWNhdGVkXG4vLyB0c2xpbnQ6ZGlzYWJsZVxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNCczMgfSBmcm9tICcuL2lzQnMzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAneWVhcnBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHRhYmxlICpuZ0lmPVwiZGF0ZVBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gJ3llYXInXCIgcm9sZT1cImdyaWRcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSBwdWxsLWxlZnQgZmxvYXQtbGVmdFwiIChjbGljayk9XCJkYXRlUGlja2VyLm1vdmUoLTEpXCIgdGFiaW5kZXg9XCItMVwiPuKAuTwvYnV0dG9uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIFthdHRyLmNvbHNwYW5dPVwiZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQgLSAyIDw9IDAgPyAxIDogZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQgLSAyXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFtpZF09XCJkYXRlUGlja2VyLnVuaXF1ZUlkICsgJy10aXRsZSdcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVQaWNrZXIudG9nZ2xlTW9kZSgwKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlUGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlUGlja2VyLm1heE1vZGVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkYXRlUGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlUGlja2VyLm1heE1vZGUgfVwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyB0aXRsZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc20gcHVsbC1yaWdodCBmbG9hdC1yaWdodFwiIChjbGljayk9XCJkYXRlUGlja2VyLm1vdmUoMSlcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICAgIOKAulxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93eiBvZiByb3dzXCI+XG4gICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBkdHogb2Ygcm93elwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiByb2xlPVwiZ3JpZGNlbGxcIiBbYXR0ci5pZF09XCJkdHoudWlkXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDoxMDAlO1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdidG4tbGluayc6IGlzQnM0ICYmICFkdHouc2VsZWN0ZWQgJiYgIWRhdGVQaWNrZXIuaXNBY3RpdmUoZHR6KSxcbiAgICAgICAgICAgICAgICAnYnRuLWluZm8nOiBkdHouc2VsZWN0ZWQgfHwgKGlzQnM0ICYmICFkdHouc2VsZWN0ZWQgJiYgZGF0ZVBpY2tlci5pc0FjdGl2ZShkdHopKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZHR6LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogIWlzQnM0ICYmIGRhdGVQaWNrZXIuaXNBY3RpdmUoZHR6KVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImR0ei5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlUGlja2VyLnNlbGVjdChkdHouZGF0ZSlcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAndGV4dC1zdWNjZXNzJzogaXNCczQgJiYgZHR6LmN1cnJlbnQsICd0ZXh0LWluZm8nOiAhaXNCczQgJiYgZHR6LmN1cnJlbnQgfVwiPnt7IGR0ei5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IC5idG4taW5mbyAudGV4dC1zdWNjZXNzIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ0Zvcl1cbn0pXG5leHBvcnQgY2xhc3MgWWVhclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGVQaWNrZXI6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcbiAgdGl0bGUhOiBzdHJpbmc7XG4gIHJvd3M6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0ZVBpY2tlcjogRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5kYXRlUGlja2VyID0gZGF0ZVBpY2tlcjtcbiAgfVxuXG4gIGdldCBpc0JzNCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzQnMzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zdGVwWWVhciA9IHsgeWVhcnM6IHRoaXMuZGF0ZVBpY2tlci55ZWFyUmFuZ2UgfTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoZnVuY3Rpb24gKHRoaXM6IGFueSk6IHZvaWQge1xuICAgICAgY29uc3QgeWVhcnM6IGFueVtdID0gbmV3IEFycmF5KHRoaXMueWVhclJhbmdlKTtcbiAgICAgIGxldCBkYXRlOiBEYXRlO1xuICAgICAgY29uc3Qgc3RhcnQgPSBzZWxmLmdldFN0YXJ0aW5nWWVhcih0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy55ZWFyUmFuZ2U7IGkrKykge1xuICAgICAgICBkYXRlID0gbmV3IERhdGUoc3RhcnQgKyBpLCAwLCAxKTtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZml4VGltZVpvbmUoZGF0ZSk7XG4gICAgICAgIHllYXJzW2ldID0gdGhpcy5jcmVhdGVEYXRlT2JqZWN0KGRhdGUsIHRoaXMuZm9ybWF0WWVhcik7XG4gICAgICAgIHllYXJzW2ldLnVpZCA9IHRoaXMudW5pcXVlSWQgKyAnLScgKyBpO1xuICAgICAgfVxuXG4gICAgICBzZWxmLnRpdGxlID0gW3llYXJzWzBdLmxhYmVsLCB5ZWFyc1t0aGlzLnllYXJSYW5nZSAtIDFdLmxhYmVsXS5qb2luKCcgLSAnKTtcbiAgICAgIHNlbGYucm93cyA9IHRoaXMuc3BsaXQoeWVhcnMsIHNlbGYuZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQpO1xuICAgIH0sICd5ZWFyJyk7XG5cbiAgICB0aGlzLmRhdGVQaWNrZXIuc2V0Q29tcGFyZUhhbmRsZXIoZnVuY3Rpb24gKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IG51bWJlciB7XG4gICAgICByZXR1cm4gZGF0ZTEuZ2V0RnVsbFllYXIoKSAtIGRhdGUyLmdldEZ1bGxZZWFyKCk7XG4gICAgfSwgJ3llYXInKTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFN0YXJ0aW5nWWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIHRvZG86IHBhcnNlSW50XG4gICAgcmV0dXJuICgoeWVhciAtIDEpIC8gdGhpcy5kYXRlUGlja2VyLnllYXJSYW5nZSkgKiB0aGlzLmRhdGVQaWNrZXIueWVhclJhbmdlICsgMTtcbiAgfVxufVxuIl19
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Used in the DragAndDropListComponent and KeyboardSortableListDirective
|
3
|
-
*/
|
4
|
-
export const DRAG_AND_DROP_LIST_TRANSLATION_NAME = 'DragAndDropListComponent';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgaW4gdGhlIERyYWdBbmREcm9wTGlzdENvbXBvbmVudCBhbmQgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmVcbiAqL1xuZXhwb3J0IGNvbnN0IERSQUdfQU5EX0RST1BfTElTVF9UUkFOU0xBVElPTl9OQU1FID0gJ0RyYWdBbmREcm9wTGlzdENvbXBvbmVudCc7XG4iXX0=
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
3
|
-
import { ButtonComponent } from '../../../../core-ui/components/button/button.component';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class DragAndDropListItemComponent {
|
6
|
-
get draggingDisabled() {
|
7
|
-
return !this.draggable;
|
8
|
-
}
|
9
|
-
get hasCustomTemplate() {
|
10
|
-
return !!this.customTemplateRef;
|
11
|
-
}
|
12
|
-
constructor(element) {
|
13
|
-
this.element = element;
|
14
|
-
this.NAME = 'DragAndDropListItemComponent';
|
15
|
-
this.draggable = true;
|
16
|
-
this.action = new EventEmitter();
|
17
|
-
this.customTemplateRef = null;
|
18
|
-
}
|
19
|
-
trackByAction(_index, action) {
|
20
|
-
return action.id;
|
21
|
-
}
|
22
|
-
focus() {
|
23
|
-
this.element.nativeElement.focus();
|
24
|
-
}
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DragAndDropListItemComponent, isStandalone: true, selector: "lx-drag-and-drop-list-item", inputs: { item: "item", draggable: "draggable", actions: "actions" }, outputs: { action: "action" }, host: { properties: { "class.draggingDisabled": "this.draggingDisabled", "class.customTemplate": "this.hasCustomTemplate" } }, queries: [{ propertyName: "customTemplateRef", first: true, predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\" />\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n [icon]=\"act.icon\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
27
|
-
}
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListItemComponent, decorators: [{
|
29
|
-
type: Component,
|
30
|
-
args: [{ selector: 'lx-drag-and-drop-list-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, NgFor, ButtonComponent], template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\" />\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n [icon]=\"act.icon\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\n"] }]
|
31
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { item: [{
|
32
|
-
type: Input
|
33
|
-
}], draggable: [{
|
34
|
-
type: Input
|
35
|
-
}], actions: [{
|
36
|
-
type: Input
|
37
|
-
}], action: [{
|
38
|
-
type: Output
|
39
|
-
}], draggingDisabled: [{
|
40
|
-
type: HostBinding,
|
41
|
-
args: ['class.draggingDisabled']
|
42
|
-
}], hasCustomTemplate: [{
|
43
|
-
type: HostBinding,
|
44
|
-
args: ['class.customTemplate']
|
45
|
-
}], customTemplateRef: [{
|
46
|
-
type: ContentChild,
|
47
|
-
args: ['customTemplate']
|
48
|
-
}] } });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUFzQnpGLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsSUFBMkMsZ0JBQWdCO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUF5QyxpQkFBaUI7UUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFJRCxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBckI5QixTQUFJLEdBQUcsOEJBQThCLENBQUM7UUFHdEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQU16QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFVbEMsc0JBQWlCLEdBQTRCLElBQUksQ0FBQztJQUV4QyxDQUFDO0lBRTNDLGFBQWEsQ0FBQyxNQUFjLEVBQUUsTUFBNkI7UUFDekQsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0E5QlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMmFDbEN6Qyw0OEJBeUJBLG1zQkRPWSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxLQUFLLG1IQUFFLGVBQWU7OzJGQUU3Qyw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDOytFQUtoRCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUVvQyxnQkFBZ0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUlJLGlCQUFpQjtzQkFBekQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSUgsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlLXVpL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdBbmREcm9wTGlzdEFjdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgc2hvd09ubHlPbkhvdmVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcExpc3RBY3Rpb25FdmVudCB7XG4gIGFjdGlvbklkOiBzdHJpbmc7XG4gIGl0ZW06IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJ2RyYWctYW5kLWRyb3AtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2RyYWctYW5kLWRyb3AtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IsIEJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCc7XG5cbiAgQElucHV0KCkgaXRlbSE6IHN0cmluZztcbiAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIERyYWdBbmREcm9wTGlzdEFjdGlvbnNcbiAgICogV2hlbiB0aGlzIGFycmF5IGlzIGRlZmluZWQsIHRoZSBkcmFnIGhhbmRsZSBpcyBzaG93biBhdCB0aGUgc3RhcnQgb2YgYW4gaXRlbSBhbmQgdGhlIGFjdGlvbiBidXR0b25zIGFyZSByZW5kZXJlZCBpbiB0aGVpciBwcm92aWRlZCBvcmRlciBhdCB0aGUgcmlnaHQgZW5kIG9mIGFuIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBhY3Rpb25zPzogRHJhZ0FuZERyb3BMaXN0QWN0aW9uW107XG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZ2dpbmdEaXNhYmxlZCcpIGdldCBkcmFnZ2luZ0Rpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbVRlbXBsYXRlJykgZ2V0IGhhc0N1c3RvbVRlbXBsYXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMuY3VzdG9tVGVtcGxhdGVSZWY7XG4gIH1cblxuICBAQ29udGVudENoaWxkKCdjdXN0b21UZW1wbGF0ZScpIGN1c3RvbVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIHRyYWNrQnlBY3Rpb24oX2luZGV4OiBudW1iZXIsIGFjdGlvbjogRHJhZ0FuZERyb3BMaXN0QWN0aW9uKSB7XG4gICAgcmV0dXJuIGFjdGlvbi5pZDtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21UZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVRlbXBsYXRlUmVmXCIgLz5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkcmFnLWl0ZW0td3JhcHBwZXJcIj5cbiAgICA8aSAqbmdJZj1cImRyYWdnYWJsZVwiIGNsYXNzPVwiZmFyIGZhLWJhcnMgZHJhZy1oYW5kbGVcIj48L2k+XG4gICAgPHNwYW4gW2F0dHIudGl0bGVdPVwiaXRlbVwiIGNsYXNzPVwiaXRlbVdyYXBwZXJGb3JUcnVuY2F0aW9uIHRydW5jYXRlXCI+e3sgaXRlbSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LWJ1dHRvbi1jb250YWluZXJcIiBhbGlnbj1cImxlZnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiISFhY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGx4LWJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgYWN0IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25cIlxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmVtaXQoeyBhY3Rpb25JZDogYWN0LmlkLCBpdGVtOiBpdGVtIH0pXCJcbiAgICAgICAgW3RpdGxlXT1cImFjdC5sYWJlbFwiXG4gICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgIG1vZGU9XCJnaG9zdFwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5zaG93LW9uLWhvdmVyLWJ1dHRvbl09XCJhY3Quc2hvd09ubHlPbkhvdmVyID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW2ljb25dPVwiYWN0Lmljb25cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -1,120 +0,0 @@
|
|
1
|
-
import { CdkDrag, CdkDropList, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
|
2
|
-
import { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
3
|
-
import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, ViewChildren } from '@angular/core';
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
5
|
-
import { map, startWith } from 'rxjs/operators';
|
6
|
-
import { DRAG_AND_DROP_LIST_TRANSLATION_NAME } from './constants';
|
7
|
-
import { DragAndDropListItemComponent } from './drag-and-drop-list-item/drag-and-drop-list-item.component';
|
8
|
-
import { KeyboardSortableItemDirective } from './keyboard-sortable-item/keyboard-sortable-item.directive';
|
9
|
-
import { KeyboardSortableListDirective } from './keyboard-sortable-list/keyboard-sortable-list.directive';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "@ngx-translate/core";
|
12
|
-
export class DragAndDropListComponent {
|
13
|
-
constructor() {
|
14
|
-
/** @internal */
|
15
|
-
this.NAME = DRAG_AND_DROP_LIST_TRANSLATION_NAME;
|
16
|
-
/**
|
17
|
-
* Override the global label font weight of 700
|
18
|
-
*/
|
19
|
-
this.labelFontWeight = 700;
|
20
|
-
this.color = 'light';
|
21
|
-
this.fontSize = 'normal';
|
22
|
-
/**
|
23
|
-
* Use the moveToIndex Output in favor of moveItem,
|
24
|
-
* when moving is restricted to one item through this.draggableItem.
|
25
|
-
*/
|
26
|
-
this.moveToIndex = new EventEmitter();
|
27
|
-
this.moveItem = new EventEmitter();
|
28
|
-
/**
|
29
|
-
* TODO: extract state about keyboard sorting into KeyboardSortableListDirective
|
30
|
-
* @internal
|
31
|
-
*/
|
32
|
-
this.isSortingByKeyboard = false;
|
33
|
-
/** @internal */
|
34
|
-
this.keyboardItemBeingSorted = undefined;
|
35
|
-
/** @internal */
|
36
|
-
this.allItemsData = [];
|
37
|
-
}
|
38
|
-
ngAfterContentInit() {
|
39
|
-
this.items$ = this._items.changes.pipe(startWith(this._items), map((items) => items.toArray()));
|
40
|
-
this.allItemsData$ = this.items$.pipe(map((itemComponents) => itemComponents.map((itemComponent) => itemComponent.item)));
|
41
|
-
}
|
42
|
-
ngAfterViewInit() {
|
43
|
-
this.keyboardSortableItems$ = this._keyboardSortableItems.changes.pipe(startWith(this._keyboardSortableItems), map((items) => items.toArray()));
|
44
|
-
}
|
45
|
-
/** @internal */
|
46
|
-
emitContentChildAction(action) {
|
47
|
-
this._items.find((itemComponent) => itemComponent.item === action.item)?.action.emit(action);
|
48
|
-
}
|
49
|
-
/**
|
50
|
-
* From the Angular cdk drag and drop documentation:
|
51
|
-
* Note that this will not update your data model;
|
52
|
-
* you can listen to the cdkDropListDropped event to update the data model
|
53
|
-
* once the user finishes dragging.
|
54
|
-
* https://material.angular.io/cdk/drag-drop/overview
|
55
|
-
*
|
56
|
-
* You're supposed to update the data in the parent and pass the new items as input.
|
57
|
-
* @internal
|
58
|
-
*/
|
59
|
-
drop(event) {
|
60
|
-
this.sortItems(event.container.data, event.item.data, event.previousIndex, event.currentIndex);
|
61
|
-
}
|
62
|
-
/** @internal */
|
63
|
-
dropToIndexAfterArrowKey(item, previousIndex, currentIndex) {
|
64
|
-
if (this.isSortingByKeyboard) {
|
65
|
-
this.sortItems(this._items, item, previousIndex, currentIndex);
|
66
|
-
}
|
67
|
-
}
|
68
|
-
sortItems(items, item, previousIndex, currentIndex) {
|
69
|
-
moveItemInArray(items, previousIndex, currentIndex);
|
70
|
-
this.moveToIndex.emit({ index: currentIndex, previous: previousIndex });
|
71
|
-
this.moveItem.emit({ item, index: currentIndex });
|
72
|
-
}
|
73
|
-
/** @internal */
|
74
|
-
trackByItem(_index, item) {
|
75
|
-
return item.item;
|
76
|
-
}
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DragAndDropListComponent, isStandalone: true, selector: "lx-drag-and-drop-list", inputs: { label: "label", labelFontWeight: "labelFontWeight", color: "color", fontSize: "fontSize" }, outputs: { moveToIndex: "moveToIndex", moveItem: "moveItem" }, host: { properties: { "attr.color": "this.color", "attr.fontSize": "this.fontSize" } }, queries: [{ propertyName: "_items", predicate: DragAndDropListItemComponent }], viewQueries: [{ propertyName: "_keyboardSortableItems", predicate: KeyboardSortableItemDirective, descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n [attr.aria-label]=\"label\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\" />\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #0070f2}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { kind: "component", type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DragDropModule }] }); }
|
79
|
-
}
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListComponent, decorators: [{
|
81
|
-
type: Component,
|
82
|
-
args: [{ selector: 'lx-drag-and-drop-list', standalone: true, imports: [
|
83
|
-
NgIf,
|
84
|
-
CdkDropList,
|
85
|
-
KeyboardSortableListDirective,
|
86
|
-
NgFor,
|
87
|
-
CdkDrag,
|
88
|
-
KeyboardSortableItemDirective,
|
89
|
-
DragAndDropListItemComponent,
|
90
|
-
NgTemplateOutlet,
|
91
|
-
AsyncPipe,
|
92
|
-
TranslateModule,
|
93
|
-
DragDropModule
|
94
|
-
], template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n [attr.aria-label]=\"label\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\" />\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #0070f2}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"] }]
|
95
|
-
}], propDecorators: { label: [{
|
96
|
-
type: Input
|
97
|
-
}], labelFontWeight: [{
|
98
|
-
type: Input
|
99
|
-
}], color: [{
|
100
|
-
type: Input
|
101
|
-
}, {
|
102
|
-
type: HostBinding,
|
103
|
-
args: ['attr.color']
|
104
|
-
}], fontSize: [{
|
105
|
-
type: Input
|
106
|
-
}, {
|
107
|
-
type: HostBinding,
|
108
|
-
args: ['attr.fontSize']
|
109
|
-
}], moveToIndex: [{
|
110
|
-
type: Output
|
111
|
-
}], moveItem: [{
|
112
|
-
type: Output
|
113
|
-
}], _items: [{
|
114
|
-
type: ContentChildren,
|
115
|
-
args: [DragAndDropListItemComponent]
|
116
|
-
}], _keyboardSortableItems: [{
|
117
|
-
type: ViewChildren,
|
118
|
-
args: [KeyboardSortableItemDirective]
|
119
|
-
}] } });
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9kcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZSxXQUFXLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBOEIsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2SSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7O0FBK0IxRyxNQUFNLE9BQU8sd0JBQXdCO0lB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LE1BQWMsRUFBRSxJQUFrQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs4R0FsR1Usd0JBQXdCO2tHQUF4Qix3QkFBd0IscVdBNkJsQiw0QkFBNEIsd0VBRy9CLDZCQUE2QixnRENuRjdDLHltREEwQ0EsaTlDREpJLElBQUksNkZBQ0osV0FBVyw4ZkFDWCw2QkFBNkIsd0dBQzdCLEtBQUssbUhBQ0wsT0FBTyx3Y0FDUCw2QkFBNkIsNFNBQzdCLDRCQUE0QixzSUFDNUIsZ0JBQWdCLCtJQUNoQixTQUFTLDZDQUNULGVBQWUsMkZBQ2YsY0FBYzs7MkZBR0wsd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osV0FBVzt3QkFDWCw2QkFBNkI7d0JBQzdCLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGVBQWU7d0JBQ2YsY0FBYztxQkFDZjs4QkFjUSxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFOEIsS0FBSztzQkFBeEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxZQUFZO2dCQUNLLFFBQVE7c0JBQTlDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZUFBZTtnQkFNM0IsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdnRCxNQUFNO3NCQUE1RCxlQUFlO3VCQUFDLDRCQUE0QjtnQkFJckMsc0JBQXNCO3NCQUQ3QixZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgRHJhZ0Ryb3BNb2R1bGUsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRFJBR19BTkRfRFJPUF9MSVNUX1RSQU5TTEFUSU9OX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcExpc3RBY3Rpb25FdmVudCwgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1saXN0L2tleWJvYXJkLXNvcnRhYmxlLWxpc3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcExpc3RNb3ZlRXZlbnQge1xuICBpdGVtOiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0FuZERyb3BMaXN0TW92ZUluZGV4RXZlbnQge1xuICBpbmRleDogbnVtYmVyO1xuICBwcmV2aW91czogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1kcmFnLWFuZC1kcm9wLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJ2RyYWctYW5kLWRyb3AtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmUsXG4gICAgTmdGb3IsXG4gICAgQ2RrRHJhZyxcbiAgICBLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAvKiogQGludGVybmFsICovXG4gIHJlYWRvbmx5IE5BTUUgPSBEUkFHX0FORF9EUk9QX0xJU1RfVFJBTlNMQVRJT05fTkFNRTtcblxuICAvKiogQGludGVybmFsICovXG4gIGl0ZW1zJCE6IE9ic2VydmFibGU8RHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudFtdPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBrZXlib2FyZFNvcnRhYmxlSXRlbXMkITogT2JzZXJ2YWJsZTxLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZVtdPjtcblxuICAvKipcbiAgICogQSBsYWJlbCBmb3IgZGVzY3JpYmluZyB0aGlzIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBnbG9iYWwgbGFiZWwgZm9udCB3ZWlnaHQgb2YgNzAwXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbEZvbnRXZWlnaHQ/OiBudW1iZXIgPSA3MDA7XG5cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbG9yJykgY29sb3I/OiAnbGlnaHQnIHwgJ2RhcmsnID0gJ2xpZ2h0JztcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmZvbnRTaXplJykgZm9udFNpemU/OiAnbm9ybWFsJyB8ICdiaWcnID0gJ25vcm1hbCc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgbW92ZVRvSW5kZXggT3V0cHV0IGluIGZhdm9yIG9mIG1vdmVJdGVtLFxuICAgKiB3aGVuIG1vdmluZyBpcyByZXN0cmljdGVkIHRvIG9uZSBpdGVtIHRocm91Z2ggdGhpcy5kcmFnZ2FibGVJdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpIG1vdmVUb0luZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnQW5kRHJvcExpc3RNb3ZlSW5kZXhFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1vdmVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnQW5kRHJvcExpc3RNb3ZlRXZlbnQ+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBAQ29udGVudENoaWxkcmVuKERyYWdBbmREcm9wTGlzdEl0ZW1Db21wb25lbnQpIHByaXZhdGUgX2l0ZW1zITogUXVlcnlMaXN0PERyYWdBbmREcm9wTGlzdEl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZHJlbihLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfa2V5Ym9hcmRTb3J0YWJsZUl0ZW1zITogUXVlcnlMaXN0PEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVE9ETzogZXh0cmFjdCBzdGF0ZSBhYm91dCBrZXlib2FyZCBzb3J0aW5nIGludG8gS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc1NvcnRpbmdCeUtleWJvYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAga2V5Ym9hcmRJdGVtQmVpbmdTb3J0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKiogQGludGVybmFsICovXG4gIGFsbEl0ZW1zRGF0YTogc3RyaW5nW10gPSBbXTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBhbGxJdGVtc0RhdGEkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaXRlbXMkID0gdGhpcy5faXRlbXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgIG1hcCgoaXRlbXM6IFF1ZXJ5TGlzdDxEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50PikgPT4gaXRlbXMudG9BcnJheSgpKVxuICAgICk7XG4gICAgdGhpcy5hbGxJdGVtc0RhdGEkID0gdGhpcy5pdGVtcyQucGlwZShtYXAoKGl0ZW1Db21wb25lbnRzKSA9PiBpdGVtQ29tcG9uZW50cy5tYXAoKGl0ZW1Db21wb25lbnQpID0+IGl0ZW1Db21wb25lbnQuaXRlbSkpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmtleWJvYXJkU29ydGFibGVJdGVtcyQgPSB0aGlzLl9rZXlib2FyZFNvcnRhYmxlSXRlbXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2tleWJvYXJkU29ydGFibGVJdGVtcyksXG4gICAgICBtYXAoKGl0ZW1zOiBRdWVyeUxpc3Q8S2V5Ym9hcmRTb3J0YWJsZUl0ZW1EaXJlY3RpdmU+KSA9PiBpdGVtcy50b0FycmF5KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZW1pdENvbnRlbnRDaGlsZEFjdGlvbihhY3Rpb246IERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5faXRlbXMuZmluZCgoaXRlbUNvbXBvbmVudCkgPT4gaXRlbUNvbXBvbmVudC5pdGVtID09PSBhY3Rpb24uaXRlbSk/LmFjdGlvbi5lbWl0KGFjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogRnJvbSB0aGUgQW5ndWxhciBjZGsgZHJhZyBhbmQgZHJvcCBkb2N1bWVudGF0aW9uOlxuICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIG5vdCB1cGRhdGUgeW91ciBkYXRhIG1vZGVsO1xuICAgKiB5b3UgY2FuIGxpc3RlbiB0byB0aGUgY2RrRHJvcExpc3REcm9wcGVkIGV2ZW50IHRvIHVwZGF0ZSB0aGUgZGF0YSBtb2RlbFxuICAgKiBvbmNlIHRoZSB1c2VyIGZpbmlzaGVzIGRyYWdnaW5nLlxuICAgKiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL2RyYWctZHJvcC9vdmVydmlld1xuICAgKlxuICAgKiBZb3UncmUgc3VwcG9zZWQgdG8gdXBkYXRlIHRoZSBkYXRhIGluIHRoZSBwYXJlbnQgYW5kIHBhc3MgdGhlIG5ldyBpdGVtcyBhcyBpbnB1dC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50W10gfCBudWxsLCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLnNvcnRJdGVtcyhldmVudC5jb250YWluZXIuZGF0YSEsIGV2ZW50Lml0ZW0uZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZHJvcFRvSW5kZXhBZnRlckFycm93S2V5KGl0ZW06IGFueSwgcHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmQpIHtcbiAgICAgIHRoaXMuc29ydEl0ZW1zKHRoaXMuX2l0ZW1zLCBpdGVtLCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEl0ZW1zKGl0ZW1zOiBhbnksIGl0ZW06IHN0cmluZywgcHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheShpdGVtcywgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICB0aGlzLm1vdmVUb0luZGV4LmVtaXQoeyBpbmRleDogY3VycmVudEluZGV4LCBwcmV2aW91czogcHJldmlvdXNJbmRleCB9KTtcbiAgICB0aGlzLm1vdmVJdGVtLmVtaXQoeyBpdGVtLCBpbmRleDogY3VycmVudEluZGV4IH0pO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCkge1xuICAgIHJldHVybiBpdGVtLml0ZW07XG4gIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cImxhYmVsRm9udFdlaWdodFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbjxwIGNsYXNzPVwic3Itb25seVwiPnt7IE5BTUUgKyAnLmhlbHBUb29sdGlwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbjx1bFxuICBjZGtEcm9wTGlzdFxuICBjbGFzcz1cImxpc3RcIlxuICByb2xlPVwibGlzdGJveFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICBseEtleWJvYXJkU29ydGFibGVMaXN0XG4gIFtrZXlib2FyZFNvcnRhYmxlSXRlbXNdPVwia2V5Ym9hcmRTb3J0YWJsZUl0ZW1zJCB8IGFzeW5jXCJcbiAgW2Nka0Ryb3BMaXN0RGF0YV09XCJpdGVtcyQgfCBhc3luY1wiXG4gIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbj5cbiAgPGxpXG4gICAgKm5nRm9yPVwibGV0IGl0ZW1Db21wb25lbnQgb2YgaXRlbXMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcbiAgICAjbGlzdEl0ZW1QYXJlbnRcbiAgICBjbGFzcz1cIml0ZW1cIlxuICAgIGNka0RyYWdcbiAgICBjZGtEcmFnTG9ja0F4aXM9XCJ5XCJcbiAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbUNvbXBvbmVudC5pdGVtXCJcbiAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFpdGVtQ29tcG9uZW50LmRyYWdnYWJsZVwiXG4gICAgW2NsYXNzLmRhcmtdPVwiY29sb3IgPT09ICdkYXJrJ1wiXG4gICAgW2NsYXNzLmJpZ109XCJmb250U2l6ZSA9PT0gJ2JpZydcIlxuICAgIFt0YWJJbmRleF09XCJpdGVtQ29tcG9uZW50LmRyYWdnYWJsZSA9PT0gZmFsc2UgPyAtMSA6IDBcIlxuICAgIFtseEtleWJvYXJkU29ydGFibGVJdGVtXT1cImFsbEl0ZW1zRGF0YSQgfCBhc3luY1wiXG4gICAgW2x4S2V5Ym9hcmRJdGVtRGF0YV09XCJpdGVtQ29tcG9uZW50Lml0ZW1cIlxuICAgIFsoaXNTb3J0aW5nQnlLZXlib2FyZCldPVwiaXNTb3J0aW5nQnlLZXlib2FyZFwiXG4gICAgWyhseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkKV09XCJrZXlib2FyZEl0ZW1CZWluZ1NvcnRlZFwiXG4gICAgKHNvcnRJdGVtc1dpdGhLZXlib2FyZCk9XCJkcm9wVG9JbmRleEFmdGVyQXJyb3dLZXkoaXRlbUNvbXBvbmVudC5pdGVtLCAkZXZlbnQucHJldmlvdXNJbmRleCwgJGV2ZW50LmN1cnJlbnRJbmRleClcIlxuICA+XG4gICAgPGx4LWRyYWctYW5kLWRyb3AtbGlzdC1pdGVtXG4gICAgICBjbGFzcz1cImRyYWdBbmREcm9wSXRlbVwiXG4gICAgICBbaXRlbV09XCJpdGVtQ29tcG9uZW50Lml0ZW1cIlxuICAgICAgW2RyYWdnYWJsZV09XCJpdGVtQ29tcG9uZW50LmRyYWdnYWJsZVwiXG4gICAgICBbYWN0aW9uc109XCJpdGVtQ29tcG9uZW50LmFjdGlvbnNcIlxuICAgICAgKGFjdGlvbik9XCJlbWl0Q29udGVudENoaWxkQWN0aW9uKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW1Db21wb25lbnQuY3VzdG9tVGVtcGxhdGVSZWZcIiAjY3VzdG9tVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtQ29tcG9uZW50LmN1c3RvbVRlbXBsYXRlUmVmXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9seC1kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbT5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { NgModule } from '@angular/core';
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
5
|
-
import { DragAndDropListItemComponent } from './drag-and-drop-list-item/drag-and-drop-list-item.component';
|
6
|
-
import { DragAndDropListComponent } from './drag-and-drop-list.component';
|
7
|
-
import { KeyboardSortableItemDirective } from './keyboard-sortable-item/keyboard-sortable-item.directive';
|
8
|
-
import { KeyboardSortableListDirective } from './keyboard-sortable-list/keyboard-sortable-list.directive';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "@ngx-translate/core";
|
11
|
-
export class LxDragAndDropListModule {
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, imports: [CommonModule,
|
14
|
-
DragDropModule, i1.TranslateModule, KeyboardSortableItemDirective,
|
15
|
-
KeyboardSortableListDirective,
|
16
|
-
DragAndDropListComponent,
|
17
|
-
DragAndDropListItemComponent], exports: [DragAndDropListComponent, DragAndDropListItemComponent] }); }
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, imports: [CommonModule,
|
19
|
-
DragDropModule,
|
20
|
-
TranslateModule.forChild(),
|
21
|
-
DragAndDropListComponent,
|
22
|
-
DragAndDropListItemComponent] }); }
|
23
|
-
}
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, decorators: [{
|
25
|
-
type: NgModule,
|
26
|
-
args: [{
|
27
|
-
imports: [
|
28
|
-
CommonModule,
|
29
|
-
DragDropModule,
|
30
|
-
TranslateModule.forChild(),
|
31
|
-
KeyboardSortableItemDirective,
|
32
|
-
KeyboardSortableListDirective,
|
33
|
-
DragAndDropListComponent,
|
34
|
-
DragAndDropListItemComponent
|
35
|
-
],
|
36
|
-
exports: [DragAndDropListComponent, DragAndDropListItemComponent]
|
37
|
-
}]
|
38
|
-
}] });
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7O0FBYzFHLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBVmhDLFlBQVk7WUFDWixjQUFjLHNCQUVkLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0Isd0JBQXdCO1lBQ3hCLDRCQUE0QixhQUVwQix3QkFBd0IsRUFBRSw0QkFBNEI7K0dBRXJELHVCQUF1QixZQVZoQyxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFHMUIsd0JBQXdCO1lBQ3hCLDRCQUE0Qjs7MkZBSW5CLHVCQUF1QjtrQkFabkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLDZCQUE2Qjt3QkFDN0IsNkJBQTZCO3dCQUM3Qix3QkFBd0I7d0JBQ3hCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ2xFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbS9kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1saXN0L2tleWJvYXJkLXNvcnRhYmxlLWxpc3QuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBLZXlib2FyZFNvcnRhYmxlTGlzdERpcmVjdGl2ZSxcbiAgICBEcmFnQW5kRHJvcExpc3RDb21wb25lbnQsXG4gICAgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbRHJhZ0FuZERyb3BMaXN0Q29tcG9uZW50LCBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMeERyYWdBbmREcm9wTGlzdE1vZHVsZSB7fVxuIl19
|
@@ -1,137 +0,0 @@
|
|
1
|
-
import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
3
|
-
import { TooltipDirective } from '../../../../core-ui/tooltip/tooltip.directive';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "@angular/cdk/drag-drop";
|
6
|
-
import * as i2 from "@angular/cdk/overlay";
|
7
|
-
import * as i3 from "@angular/cdk/a11y";
|
8
|
-
export class KeyboardSortableItemDirective {
|
9
|
-
get isSortable() {
|
10
|
-
return !this.draggableItem.disabled;
|
11
|
-
}
|
12
|
-
constructor(draggableItem, overlayPositionBuilder, element, overlay, ariaDescriber) {
|
13
|
-
this.draggableItem = draggableItem;
|
14
|
-
this.overlayPositionBuilder = overlayPositionBuilder;
|
15
|
-
this.element = element;
|
16
|
-
this.overlay = overlay;
|
17
|
-
this.ariaDescriber = ariaDescriber;
|
18
|
-
this.isSortingByKeyboardChange = new EventEmitter();
|
19
|
-
this.itemBeingSortedChange = new EventEmitter();
|
20
|
-
this.sortItemsWithKeyboard = new EventEmitter();
|
21
|
-
this.tooltipDirective = new TooltipDirective(this.overlayPositionBuilder, this.element, this.overlay, this.ariaDescriber);
|
22
|
-
this.isBeingSorted = false;
|
23
|
-
this.preventBlur = false;
|
24
|
-
this.focusWithKeyboardReplaySubject$ = new ReplaySubject(1);
|
25
|
-
/**
|
26
|
-
* Using a ReplaySubject here so that the KeyboardSortableListDirective will also know
|
27
|
-
* about a focusWithKeyboard event when its copy of the KeyboardSortableItemDirective ContentChildren
|
28
|
-
* was just initialised after the event fired.
|
29
|
-
*/
|
30
|
-
this.focusWithKeyboard = this.focusWithKeyboardReplaySubject$.asObservable();
|
31
|
-
}
|
32
|
-
ngOnChanges() {
|
33
|
-
this.isBeingSorted = this.itemData === this.itemBeingSorted;
|
34
|
-
if (this.isBeingSorted) {
|
35
|
-
// focus always the pressed element
|
36
|
-
this.element.nativeElement.focus();
|
37
|
-
}
|
38
|
-
}
|
39
|
-
focusViaKeyboard() {
|
40
|
-
this.focusWithKeyboardReplaySubject$.next(this);
|
41
|
-
}
|
42
|
-
enterSortingModeEnabledByKeyboard($event) {
|
43
|
-
if ($event.target === this.element.nativeElement) {
|
44
|
-
if ($event.code === 'Enter' || $event.code === 'Space') {
|
45
|
-
$event.preventDefault();
|
46
|
-
this.tooltipDirective.hide();
|
47
|
-
this.itemBeingSortedChange.emit(!this.isSortingByKeyboard ? this.itemData : undefined);
|
48
|
-
this.isSortingByKeyboardChange.emit(!this.isSortingByKeyboard);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
}
|
52
|
-
leaveSortingModeEnabledByKeyboard($event) {
|
53
|
-
if ($event.target === this.element.nativeElement) {
|
54
|
-
this.tooltipDirective.hide();
|
55
|
-
if (!this.preventBlur) {
|
56
|
-
this.isSortingByKeyboardChange.emit(false);
|
57
|
-
this.itemBeingSortedChange.emit(undefined);
|
58
|
-
}
|
59
|
-
}
|
60
|
-
}
|
61
|
-
sort($event) {
|
62
|
-
if ($event.target === this.element.nativeElement) {
|
63
|
-
this.tooltipDirective.hide();
|
64
|
-
if (this.isSortingByKeyboard) {
|
65
|
-
const allItemsData = this.allItemsData ?? [];
|
66
|
-
$event.preventDefault();
|
67
|
-
const previousIndex = allItemsData.findIndex((item) => item === this.itemData);
|
68
|
-
const currentIndex = $event.code === 'ArrowUp' ? previousIndex - 1 : previousIndex + 1;
|
69
|
-
if (currentIndex >= 0 && currentIndex <= allItemsData.length - 1) {
|
70
|
-
this.sortItemsWithKeyboard.emit({ previousIndex, currentIndex });
|
71
|
-
// When triggering a keyboard event, the DOM would "removeChildren" on the HTML element
|
72
|
-
// which specially for "ArrowUp" events would trigger a "blur" event since the element
|
73
|
-
// has been moved aboved the DOM tree and loses the focus state.
|
74
|
-
this.preventBlur = true;
|
75
|
-
setTimeout(() => (this.preventBlur = false), 0);
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: KeyboardSortableItemDirective, deps: [{ token: i1.CdkDrag }, { token: i2.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i2.Overlay }, { token: i3.AriaDescriber }], target: i0.ɵɵFactoryTarget.Directive }); }
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: KeyboardSortableItemDirective, isStandalone: true, selector: "[lxKeyboardSortableItem]", inputs: { allItemsData: ["lxKeyboardSortableItem", "allItemsData"], itemData: ["lxKeyboardItemData", "itemData"], isSortingByKeyboard: "isSortingByKeyboard", itemBeingSorted: ["lxKeyboardItemBeingSorted", "itemBeingSorted"] }, outputs: { isSortingByKeyboardChange: "isSortingByKeyboardChange", itemBeingSortedChange: "lxKeyboardItemBeingSortedChange", sortItemsWithKeyboard: "sortItemsWithKeyboard", focusWithKeyboard: "focusWithKeyboard" }, host: { listeners: { "keyup.tab": "focusViaKeyboard()", "keydown.enter": "enterSortingModeEnabledByKeyboard($event)", "keydown.space": "enterSortingModeEnabledByKeyboard($event)", "blur": "leaveSortingModeEnabledByKeyboard($event)", "keydown.esc": "leaveSortingModeEnabledByKeyboard($event)", "keydown.arrowUp": "sort($event)", "keydown.arrowDown": "sort($event)" }, properties: { "attr.lxTooltip": "this.tooltipDirective", "class.isBeingSortedByKeyboard": "this.isBeingSorted" } }, usesOnChanges: true, ngImport: i0 }); }
|
82
|
-
}
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: KeyboardSortableItemDirective, decorators: [{
|
84
|
-
type: Directive,
|
85
|
-
args: [{
|
86
|
-
selector: '[lxKeyboardSortableItem]',
|
87
|
-
standalone: true
|
88
|
-
}]
|
89
|
-
}], ctorParameters: () => [{ type: i1.CdkDrag }, { type: i2.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i2.Overlay }, { type: i3.AriaDescriber }], propDecorators: { allItemsData: [{
|
90
|
-
type: Input,
|
91
|
-
args: ['lxKeyboardSortableItem']
|
92
|
-
}], itemData: [{
|
93
|
-
type: Input,
|
94
|
-
args: ['lxKeyboardItemData']
|
95
|
-
}], isSortingByKeyboard: [{
|
96
|
-
type: Input
|
97
|
-
}], itemBeingSorted: [{
|
98
|
-
type: Input,
|
99
|
-
args: ['lxKeyboardItemBeingSorted']
|
100
|
-
}], isSortingByKeyboardChange: [{
|
101
|
-
type: Output
|
102
|
-
}], itemBeingSortedChange: [{
|
103
|
-
type: Output,
|
104
|
-
args: ['lxKeyboardItemBeingSortedChange']
|
105
|
-
}], sortItemsWithKeyboard: [{
|
106
|
-
type: Output
|
107
|
-
}], focusWithKeyboard: [{
|
108
|
-
type: Output
|
109
|
-
}], tooltipDirective: [{
|
110
|
-
type: HostBinding,
|
111
|
-
args: ['attr.lxTooltip']
|
112
|
-
}], isBeingSorted: [{
|
113
|
-
type: HostBinding,
|
114
|
-
args: ['class.isBeingSortedByKeyboard']
|
115
|
-
}], focusViaKeyboard: [{
|
116
|
-
type: HostListener,
|
117
|
-
args: ['keyup.tab']
|
118
|
-
}], enterSortingModeEnabledByKeyboard: [{
|
119
|
-
type: HostListener,
|
120
|
-
args: ['keydown.enter', ['$event']]
|
121
|
-
}, {
|
122
|
-
type: HostListener,
|
123
|
-
args: ['keydown.space', ['$event']]
|
124
|
-
}], leaveSortingModeEnabledByKeyboard: [{
|
125
|
-
type: HostListener,
|
126
|
-
args: ['blur', ['$event']]
|
127
|
-
}, {
|
128
|
-
type: HostListener,
|
129
|
-
args: ['keydown.esc', ['$event']]
|
130
|
-
}], sort: [{
|
131
|
-
type: HostListener,
|
132
|
-
args: ['keydown.arrowUp', ['$event']]
|
133
|
-
}, {
|
134
|
-
type: HostListener,
|
135
|
-
args: ['keydown.arrowDown', ['$event']]
|
136
|
-
}] } });
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc29ydGFibGUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUtELFlBQ1UsYUFBc0IsRUFDdEIsc0JBQThDLEVBQzlDLE9BQWdDLEVBQ2hDLE9BQWdCLEVBQ2hCLGFBQTRCO1FBSjVCLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCbkIsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUN6RywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBbUQsQ0FBQztRQUd2RSxxQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUNwRSxJQUFJLENB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QUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZXpDLGlDQUFpQztzQkFGaEMsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUMvQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhdkMsSUFBSTtzQkFGSCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5pbXBvcnQgeyBBcmlhRGVzY3JpYmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2RrRHJhZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHhLZXlib2FyZFNvcnRhYmxlSXRlbV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCdseEtleWJvYXJkU29ydGFibGVJdGVtJykgYWxsSXRlbXNEYXRhITogc3RyaW5nW10gfCBudWxsO1xuICBASW5wdXQoJ2x4S2V5Ym9hcmRJdGVtRGF0YScpIGl0ZW1EYXRhITogc3RyaW5nO1xuICBASW5wdXQoKSBpc1NvcnRpbmdCeUtleWJvYXJkITogYm9vbGVhbjtcbiAgQElucHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkJykgaXRlbUJlaW5nU29ydGVkPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBpc1NvcnRpbmdCeUtleWJvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkQ2hhbmdlJykgcmVhZG9ubHkgaXRlbUJlaW5nU29ydGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIEBPdXRwdXQoKSBzb3J0SXRlbXNXaXRoS2V5Ym9hcmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBjdXJyZW50SW5kZXg6IG51bWJlciB9PigpO1xuICBAT3V0cHV0KCkgZm9jdXNXaXRoS2V5Ym9hcmQhOiBPYnNlcnZhYmxlPEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlPjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubHhUb29sdGlwJykgdG9vbHRpcERpcmVjdGl2ZSA9IG5ldyBUb29sdGlwRGlyZWN0aXZlKFxuICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICB0aGlzLmVsZW1lbnQsXG4gICAgdGhpcy5vdmVybGF5LFxuICAgIHRoaXMuYXJpYURlc2NyaWJlclxuICApO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzQmVpbmdTb3J0ZWRCeUtleWJvYXJkJykgaXNCZWluZ1NvcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpc1NvcnRhYmxlKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGVJdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50Qmx1ciA9IGZhbHNlO1xuICBwcml2YXRlIGZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkcmFnZ2FibGVJdGVtOiBDZGtEcmFnLFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGFyaWFEZXNjcmliZXI6IEFyaWFEZXNjcmliZXJcbiAgKSB7XG4gICAgLyoqXG4gICAgICogVXNpbmcgYSBSZXBsYXlTdWJqZWN0IGhlcmUgc28gdGhhdCB0aGUgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmUgd2lsbCBhbHNvIGtub3dcbiAgICAgKiBhYm91dCBhIGZvY3VzV2l0aEtleWJvYXJkIGV2ZW50IHdoZW4gaXRzIGNvcHkgb2YgdGhlIEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIENvbnRlbnRDaGlsZHJlblxuICAgICAqIHdhcyBqdXN0IGluaXRpYWxpc2VkIGFmdGVyIHRoZSBldmVudCBmaXJlZC5cbiAgICAgKi9cbiAgICB0aGlzLmZvY3VzV2l0aEtleWJvYXJkID0gdGhpcy5mb2N1c1dpdGhLZXlib2FyZFJlcGxheVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5pc0JlaW5nU29ydGVkID0gdGhpcy5pdGVtRGF0YSA9PT0gdGhpcy5pdGVtQmVpbmdTb3J0ZWQ7XG4gICAgaWYgKHRoaXMuaXNCZWluZ1NvcnRlZCkge1xuICAgICAgLy8gZm9jdXMgYWx3YXlzIHRoZSBwcmVzc2VkIGVsZW1lbnRcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAudGFiJylcbiAgZm9jdXNWaWFLZXlib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQubmV4dCh0aGlzKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJywgWyckZXZlbnQnXSlcbiAgZW50ZXJTb3J0aW5nTW9kZUVuYWJsZWRCeUtleWJvYXJkKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgkZXZlbnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgaWYgKCRldmVudC5jb2RlID09PSAnRW50ZXInIHx8ICRldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuXG4gICAgICAgIHRoaXMuaXRlbUJlaW5nU29ydGVkQ2hhbmdlLmVtaXQoIXRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZCA/IHRoaXMuaXRlbURhdGEgOiB1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmRDaGFuZ2UuZW1pdCghdGhpcy5pc1NvcnRpbmdCeUtleWJvYXJkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBsZWF2ZVNvcnRpbmdNb2RlRW5hYmxlZEJ5S2V5Ym9hcmQoJGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy50b29sdGlwRGlyZWN0aXZlLmhpZGUoKTtcbiAgICAgIGlmICghdGhpcy5wcmV2ZW50Qmx1cikge1xuICAgICAgICB0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmRDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuaXRlbUJlaW5nU29ydGVkQ2hhbmdlLmVtaXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bicsIFsnJGV2ZW50J10pXG4gIHNvcnQoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuICAgICAgaWYgKHRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZCkge1xuICAgICAgICBjb25zdCBhbGxJdGVtc0RhdGEgPSB0aGlzLmFsbEl0ZW1zRGF0YSA/PyBbXTtcblxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gYWxsSXRlbXNEYXRhLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5pdGVtRGF0YSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9ICRldmVudC5jb2RlID09PSAnQXJyb3dVcCcgPyBwcmV2aW91c0luZGV4IC0gMSA6IHByZXZpb3VzSW5kZXggKyAxO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPj0gMCAmJiBjdXJyZW50SW5kZXggPD0gYWxsSXRlbXNEYXRhLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLnNvcnRJdGVtc1dpdGhLZXlib2FyZC5lbWl0KHsgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4IH0pO1xuXG4gICAgICAgICAgLy8gV2hlbiB0cmlnZ2VyaW5nIGEga2V5Ym9hcmQgZXZlbnQsIHRoZSBET00gd291bGQgXCJyZW1vdmVDaGlsZHJlblwiIG9uIHRoZSBIVE1MIGVsZW1lbnRcbiAgICAgICAgICAvLyB3aGljaCBzcGVjaWFsbHkgZm9yIFwiQXJyb3dVcFwiIGV2ZW50cyB3b3VsZCB0cmlnZ2VyIGEgXCJibHVyXCIgZXZlbnQgc2luY2UgdGhlIGVsZW1lbnRcbiAgICAgICAgICAvLyBoYXMgYmVlbiBtb3ZlZCBhYm92ZWQgdGhlIERPTSB0cmVlIGFuZCBsb3NlcyB0aGUgZm9jdXMgc3RhdGUuXG4gICAgICAgICAgdGhpcy5wcmV2ZW50Qmx1ciA9IHRydWU7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnByZXZlbnRCbHVyID0gZmFsc2UpLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|