@angular/cdk-experimental 19.0.0-next.0 → 19.0.0-next.10
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/column-resize/index.d.ts +5 -13
- package/combobox/index.d.ts +5 -11
- package/fesm2022/cdk-experimental.mjs +1 -1
- package/fesm2022/cdk-experimental.mjs.map +1 -1
- package/fesm2022/column-resize.mjs +112 -131
- package/fesm2022/column-resize.mjs.map +1 -1
- package/fesm2022/combobox.mjs +38 -49
- package/fesm2022/combobox.mjs.map +1 -1
- package/fesm2022/popover-edit.mjs +121 -133
- package/fesm2022/popover-edit.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +7 -8
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/selection.mjs +43 -81
- package/fesm2022/selection.mjs.map +1 -1
- package/fesm2022/table-scroll-container.mjs +17 -31
- package/fesm2022/table-scroll-container.mjs.map +1 -1
- package/package.json +2 -16
- package/popover-edit/index.d.ts +11 -19
- package/selection/index.d.ts +6 -10
- package/table-scroll-container/index.d.ts +3 -6
- package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +0 -43
- package/esm2022/column-resize/column-resize-directives/column-resize.mjs +0 -43
- package/esm2022/column-resize/column-resize-directives/constants.mjs +0 -21
- package/esm2022/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +0 -49
- package/esm2022/column-resize/column-resize-directives/default-enabled-column-resize.mjs +0 -49
- package/esm2022/column-resize/column-resize-module.mjs +0 -46
- package/esm2022/column-resize/column-resize-notifier.mjs +0 -52
- package/esm2022/column-resize/column-resize.mjs +0 -82
- package/esm2022/column-resize/column-resize_public_index.mjs +0 -5
- package/esm2022/column-resize/column-size-store.mjs +0 -20
- package/esm2022/column-resize/event-dispatcher.mjs +0 -70
- package/esm2022/column-resize/index.mjs +0 -9
- package/esm2022/column-resize/overlay-handle.mjs +0 -146
- package/esm2022/column-resize/public-api.mjs +0 -21
- package/esm2022/column-resize/resizable.mjs +0 -199
- package/esm2022/column-resize/resize-ref.mjs +0 -17
- package/esm2022/column-resize/resize-strategy.mjs +0 -239
- package/esm2022/column-resize/selectors.mjs +0 -13
- package/esm2022/combobox/combobox-module.mjs +0 -26
- package/esm2022/combobox/combobox-popup.mjs +0 -73
- package/esm2022/combobox/combobox.mjs +0 -281
- package/esm2022/combobox/combobox_public_index.mjs +0 -5
- package/esm2022/combobox/index.mjs +0 -9
- package/esm2022/combobox/public-api.mjs +0 -11
- package/esm2022/index.mjs +0 -9
- package/esm2022/popover-edit/constants.mjs +0 -20
- package/esm2022/popover-edit/edit-event-dispatcher.mjs +0 -227
- package/esm2022/popover-edit/edit-ref.mjs +0 -83
- package/esm2022/popover-edit/edit-services.mjs +0 -45
- package/esm2022/popover-edit/focus-dispatcher.mjs +0 -82
- package/esm2022/popover-edit/focus-escape-notifier.mjs +0 -69
- package/esm2022/popover-edit/form-value-container.mjs +0 -33
- package/esm2022/popover-edit/index.mjs +0 -9
- package/esm2022/popover-edit/lens-directives.mjs +0 -185
- package/esm2022/popover-edit/polyfill.mjs +0 -19
- package/esm2022/popover-edit/popover-edit-module.mjs +0 -49
- package/esm2022/popover-edit/popover-edit_public_index.mjs +0 -5
- package/esm2022/popover-edit/public-api.mjs +0 -18
- package/esm2022/popover-edit/table-directives.mjs +0 -441
- package/esm2022/public-api.mjs +0 -9
- package/esm2022/scrolling/auto-size-virtual-scroll.mjs +0 -422
- package/esm2022/scrolling/index.mjs +0 -9
- package/esm2022/scrolling/public-api.mjs +0 -10
- package/esm2022/scrolling/scrolling-module.mjs +0 -23
- package/esm2022/scrolling/scrolling_public_index.mjs +0 -5
- package/esm2022/selection/index.mjs +0 -9
- package/esm2022/selection/public-api.mjs +0 -15
- package/esm2022/selection/row-selection.mjs +0 -52
- package/esm2022/selection/select-all.mjs +0 -101
- package/esm2022/selection/selection-column.mjs +0 -147
- package/esm2022/selection/selection-module.mjs +0 -44
- package/esm2022/selection/selection-set.mjs +0 -80
- package/esm2022/selection/selection-toggle.mjs +0 -101
- package/esm2022/selection/selection.mjs +0 -187
- package/esm2022/selection/selection_public_index.mjs +0 -5
- package/esm2022/table-scroll-container/index.mjs +0 -9
- package/esm2022/table-scroll-container/public-api.mjs +0 -10
- package/esm2022/table-scroll-container/table-scroll-container-module.mjs +0 -23
- package/esm2022/table-scroll-container/table-scroll-container.mjs +0 -141
- package/esm2022/table-scroll-container/table-scroll-container_public_index.mjs +0 -5
- package/esm2022/version.mjs +0 -11
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
9
|
-
import { Directive, Input } from '@angular/core';
|
|
10
|
-
import { CdkSelection } from './selection';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./selection";
|
|
13
|
-
/**
|
|
14
|
-
* Applies `cdk-selected` class and `aria-selected` to an element.
|
|
15
|
-
*
|
|
16
|
-
* Must be used within a parent `CdkSelection` directive.
|
|
17
|
-
* Must be provided with the value. The index is required if `trackBy` is used on the `CdkSelection`
|
|
18
|
-
* directive.
|
|
19
|
-
*/
|
|
20
|
-
export class CdkRowSelection {
|
|
21
|
-
get index() {
|
|
22
|
-
return this._index;
|
|
23
|
-
}
|
|
24
|
-
set index(index) {
|
|
25
|
-
this._index = coerceNumberProperty(index);
|
|
26
|
-
}
|
|
27
|
-
constructor(_selection) {
|
|
28
|
-
this._selection = _selection;
|
|
29
|
-
// We need an initializer here to avoid a TS error.
|
|
30
|
-
this.value = undefined;
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkRowSelection, deps: [{ token: i1.CdkSelection }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: CdkRowSelection, isStandalone: true, selector: "[cdkRowSelection]", inputs: { value: ["cdkRowSelectionValue", "value"], index: ["cdkRowSelectionIndex", "index"] }, host: { properties: { "class.cdk-selected": "_selection.isSelected(this.value, this.index)", "attr.aria-selected": "_selection.isSelected(this.value, this.index)" } }, ngImport: i0 }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkRowSelection, decorators: [{
|
|
36
|
-
type: Directive,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: '[cdkRowSelection]',
|
|
39
|
-
host: {
|
|
40
|
-
'[class.cdk-selected]': '_selection.isSelected(this.value, this.index)',
|
|
41
|
-
'[attr.aria-selected]': '_selection.isSelected(this.value, this.index)',
|
|
42
|
-
},
|
|
43
|
-
standalone: true,
|
|
44
|
-
}]
|
|
45
|
-
}], ctorParameters: () => [{ type: i1.CdkSelection }], propDecorators: { value: [{
|
|
46
|
-
type: Input,
|
|
47
|
-
args: ['cdkRowSelectionValue']
|
|
48
|
-
}], index: [{
|
|
49
|
-
type: Input,
|
|
50
|
-
args: ['cdkRowSelectionIndex']
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9yb3ctc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxvQkFBb0IsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxhQUFhLENBQUM7OztBQUV6Qzs7Ozs7O0dBTUc7QUFTSCxNQUFNLE9BQU8sZUFBZTtJQUkxQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWtCO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdELFlBQXFCLFVBQTJCO1FBQTNCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBWmhELG1EQUFtRDtRQUNwQixVQUFLLEdBQU0sU0FBVSxDQUFDO0lBV0YsQ0FBQztxSEFiekMsZUFBZTt5R0FBZixlQUFlOztrR0FBZixlQUFlO2tCQVIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDSixzQkFBc0IsRUFBRSwrQ0FBK0M7d0JBQ3ZFLHNCQUFzQixFQUFFLCtDQUErQztxQkFDeEU7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2lGQUdnQyxLQUFLO3NCQUFuQyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFHekIsS0FBSztzQkFEUixLQUFLO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2NvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q2RrU2VsZWN0aW9ufSBmcm9tICcuL3NlbGVjdGlvbic7XG5cbi8qKlxuICogQXBwbGllcyBgY2RrLXNlbGVjdGVkYCBjbGFzcyBhbmQgYGFyaWEtc2VsZWN0ZWRgIHRvIGFuIGVsZW1lbnQuXG4gKlxuICogTXVzdCBiZSB1c2VkIHdpdGhpbiBhIHBhcmVudCBgQ2RrU2VsZWN0aW9uYCBkaXJlY3RpdmUuXG4gKiBNdXN0IGJlIHByb3ZpZGVkIHdpdGggdGhlIHZhbHVlLiBUaGUgaW5kZXggaXMgcmVxdWlyZWQgaWYgYHRyYWNrQnlgIGlzIHVzZWQgb24gdGhlIGBDZGtTZWxlY3Rpb25gXG4gKiBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjZGtSb3dTZWxlY3Rpb25dJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuY2RrLXNlbGVjdGVkXSc6ICdfc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSwgdGhpcy5pbmRleCknLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdfc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSwgdGhpcy5pbmRleCknLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtSb3dTZWxlY3Rpb248VD4ge1xuICAvLyBXZSBuZWVkIGFuIGluaXRpYWxpemVyIGhlcmUgdG8gYXZvaWQgYSBUUyBlcnJvci5cbiAgQElucHV0KCdjZGtSb3dTZWxlY3Rpb25WYWx1ZScpIHZhbHVlOiBUID0gdW5kZWZpbmVkITtcblxuICBASW5wdXQoJ2Nka1Jvd1NlbGVjdGlvbkluZGV4JylcbiAgZ2V0IGluZGV4KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICB9XG4gIHNldCBpbmRleChpbmRleDogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9pbmRleCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGluZGV4KTtcbiAgfVxuICBwcm90ZWN0ZWQgX2luZGV4PzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IF9zZWxlY3Rpb246IENka1NlbGVjdGlvbjxUPikge31cbn1cbiJdfQ==
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Directive, Inject, Optional, Self } from '@angular/core';
|
|
9
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
10
|
-
import { of as observableOf, Subject } from 'rxjs';
|
|
11
|
-
import { switchMap, takeUntil } from 'rxjs/operators';
|
|
12
|
-
import { CdkSelection } from './selection';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "./selection";
|
|
15
|
-
/**
|
|
16
|
-
* Makes the element a select-all toggle.
|
|
17
|
-
*
|
|
18
|
-
* Must be used within a parent `CdkSelection` directive. It toggles the selection states
|
|
19
|
-
* of all the selection toggles connected with the `CdkSelection` directive.
|
|
20
|
-
* If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive
|
|
21
|
-
* automatically connects it with the select-all state provided by the `CdkSelection` directive. If
|
|
22
|
-
* not, use `checked$` to get the checked state, `indeterminate$` to get the indeterminate state,
|
|
23
|
-
* and `toggle()` to change the selection state.
|
|
24
|
-
*/
|
|
25
|
-
export class CdkSelectAll {
|
|
26
|
-
/**
|
|
27
|
-
* Toggles the select-all state.
|
|
28
|
-
* @param event The click event if the toggle is triggered by a (mouse or keyboard) click. If
|
|
29
|
-
* using with a native `<input type="checkbox">`, the parameter is required for the
|
|
30
|
-
* indeterminate state to work properly.
|
|
31
|
-
*/
|
|
32
|
-
toggle(event) {
|
|
33
|
-
// This is needed when applying the directive on a native <input type="checkbox">
|
|
34
|
-
// checkbox. The default behavior needs to be prevented in order to support the indeterminate
|
|
35
|
-
// state. The timeout is also needed so the checkbox can show the latest state.
|
|
36
|
-
if (event) {
|
|
37
|
-
event.preventDefault();
|
|
38
|
-
}
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
this._selection.toggleSelectAll();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
constructor(_selection, _controlValueAccessor) {
|
|
44
|
-
this._selection = _selection;
|
|
45
|
-
this._controlValueAccessor = _controlValueAccessor;
|
|
46
|
-
this._destroyed = new Subject();
|
|
47
|
-
this.checked = _selection.change.pipe(switchMap(() => observableOf(_selection.isAllSelected())));
|
|
48
|
-
this.indeterminate = _selection.change.pipe(switchMap(() => observableOf(_selection.isPartialSelected())));
|
|
49
|
-
}
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
this._assertValidParentSelection();
|
|
52
|
-
this._configureControlValueAccessor();
|
|
53
|
-
}
|
|
54
|
-
_configureControlValueAccessor() {
|
|
55
|
-
if (this._controlValueAccessor && this._controlValueAccessor.length) {
|
|
56
|
-
this._controlValueAccessor[0].registerOnChange((e) => {
|
|
57
|
-
if (e === true || e === false) {
|
|
58
|
-
this.toggle();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {
|
|
62
|
-
this._controlValueAccessor[0].writeValue(state);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
_assertValidParentSelection() {
|
|
67
|
-
if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
68
|
-
throw Error('CdkSelectAll: missing CdkSelection in the parent');
|
|
69
|
-
}
|
|
70
|
-
if (!this._selection.multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
71
|
-
throw Error('CdkSelectAll: CdkSelection must have cdkSelectionMultiple set to true');
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
ngOnDestroy() {
|
|
75
|
-
this._destroyed.next();
|
|
76
|
-
this._destroyed.complete();
|
|
77
|
-
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectAll, deps: [{ token: CdkSelection, optional: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
79
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: CdkSelectAll, isStandalone: true, selector: "[cdkSelectAll]", exportAs: ["cdkSelectAll"], ngImport: i0 }); }
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectAll, decorators: [{
|
|
82
|
-
type: Directive,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: '[cdkSelectAll]',
|
|
85
|
-
exportAs: 'cdkSelectAll',
|
|
86
|
-
standalone: true,
|
|
87
|
-
}]
|
|
88
|
-
}], ctorParameters: () => [{ type: i1.CdkSelection, decorators: [{
|
|
89
|
-
type: Optional
|
|
90
|
-
}, {
|
|
91
|
-
type: Inject,
|
|
92
|
-
args: [CdkSelection]
|
|
93
|
-
}] }, { type: undefined, decorators: [{
|
|
94
|
-
type: Optional
|
|
95
|
-
}, {
|
|
96
|
-
type: Self
|
|
97
|
-
}, {
|
|
98
|
-
type: Inject,
|
|
99
|
-
args: [NG_VALUE_ACCESSOR]
|
|
100
|
-
}] }] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9zZWxlY3QtYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQWEsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sYUFBYSxDQUFDOzs7QUFFekM7Ozs7Ozs7OztHQVNHO0FBTUgsTUFBTSxPQUFPLFlBQVk7SUFjdkI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBa0I7UUFDdkIsaUZBQWlGO1FBQ2pGLDZGQUE2RjtRQUM3RiwrRUFBK0U7UUFDL0UsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsWUFDcUQsVUFBMkIsRUFJN0QscUJBQTZDO1FBSlgsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFJN0QsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF3QjtRQVAvQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQzFELENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLDhCQUE4QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBVSxFQUFFLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEUsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDakYsTUFBTSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztRQUN2RixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztxSEFsRlUsWUFBWSxrQkFvQ0QsWUFBWSw2QkFHeEIsaUJBQWlCO3lHQXZDaEIsWUFBWTs7a0dBQVosWUFBWTtrQkFMeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFxQ0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZOzswQkFDL0IsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q2RrU2VsZWN0aW9ufSBmcm9tICcuL3NlbGVjdGlvbic7XG5cbi8qKlxuICogTWFrZXMgdGhlIGVsZW1lbnQgYSBzZWxlY3QtYWxsIHRvZ2dsZS5cbiAqXG4gKiBNdXN0IGJlIHVzZWQgd2l0aGluIGEgcGFyZW50IGBDZGtTZWxlY3Rpb25gIGRpcmVjdGl2ZS4gSXQgdG9nZ2xlcyB0aGUgc2VsZWN0aW9uIHN0YXRlc1xuICogb2YgYWxsIHRoZSBzZWxlY3Rpb24gdG9nZ2xlcyBjb25uZWN0ZWQgd2l0aCB0aGUgYENka1NlbGVjdGlvbmAgZGlyZWN0aXZlLlxuICogSWYgdGhlIGVsZW1lbnQgaW1wbGVtZW50cyBgQ29udHJvbFZhbHVlQWNjZXNzb3JgLCBlLmcuIGBNYXRDaGVja2JveGAsIHRoZSBkaXJlY3RpdmVcbiAqIGF1dG9tYXRpY2FsbHkgY29ubmVjdHMgaXQgd2l0aCB0aGUgc2VsZWN0LWFsbCBzdGF0ZSBwcm92aWRlZCBieSB0aGUgYENka1NlbGVjdGlvbmAgZGlyZWN0aXZlLiBJZlxuICogbm90LCB1c2UgYGNoZWNrZWQkYCB0byBnZXQgdGhlIGNoZWNrZWQgc3RhdGUsIGBpbmRldGVybWluYXRlJGAgdG8gZ2V0IHRoZSBpbmRldGVybWluYXRlIHN0YXRlLFxuICogYW5kIGB0b2dnbGUoKWAgdG8gY2hhbmdlIHRoZSBzZWxlY3Rpb24gc3RhdGUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjZGtTZWxlY3RBbGxdJyxcbiAgZXhwb3J0QXM6ICdjZGtTZWxlY3RBbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtTZWxlY3RBbGw8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgY2hlY2tlZCBzdGF0ZSBvZiB0aGUgdG9nZ2xlLlxuICAgKiBSZXNvbHZlcyB0byBgdHJ1ZWAgaWYgYWxsIHRoZSB2YWx1ZXMgYXJlIHNlbGVjdGVkLCBgZmFsc2VgIGlmIG5vIHZhbHVlIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tlZDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogVGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgb2YgdGhlIHRvZ2dsZS5cbiAgICogUmVzb2x2ZXMgdG8gYHRydWVgIGlmIHBhcnQgKG5vdCBhbGwpIG9mIHRoZSB2YWx1ZXMgYXJlIHNlbGVjdGVkLCBgZmFsc2VgIGlmIGFsbCB2YWx1ZXMgb3Igbm9cbiAgICogdmFsdWUgYXQgYWxsIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIHNlbGVjdC1hbGwgc3RhdGUuXG4gICAqIEBwYXJhbSBldmVudCBUaGUgY2xpY2sgZXZlbnQgaWYgdGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgYnkgYSAobW91c2Ugb3Iga2V5Ym9hcmQpIGNsaWNrLiBJZlxuICAgKiAgICAgdXNpbmcgd2l0aCBhIG5hdGl2ZSBgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiPmAsIHRoZSBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIHRoZVxuICAgKiAgICAgaW5kZXRlcm1pbmF0ZSBzdGF0ZSB0byB3b3JrIHByb3Blcmx5LlxuICAgKi9cbiAgdG9nZ2xlKGV2ZW50PzogTW91c2VFdmVudCkge1xuICAgIC8vIFRoaXMgaXMgbmVlZGVkIHdoZW4gYXBwbHlpbmcgdGhlIGRpcmVjdGl2ZSBvbiBhIG5hdGl2ZSA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+XG4gICAgLy8gY2hlY2tib3guIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG5lZWRzIHRvIGJlIHByZXZlbnRlZCBpbiBvcmRlciB0byBzdXBwb3J0IHRoZSBpbmRldGVybWluYXRlXG4gICAgLy8gc3RhdGUuIFRoZSB0aW1lb3V0IGlzIGFsc28gbmVlZGVkIHNvIHRoZSBjaGVja2JveCBjYW4gc2hvdyB0aGUgbGF0ZXN0IHN0YXRlLlxuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbi50b2dnbGVTZWxlY3RBbGwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDZGtTZWxlY3Rpb24pIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbjogQ2RrU2VsZWN0aW9uPFQ+LFxuICAgIEBPcHRpb25hbCgpXG4gICAgQFNlbGYoKVxuICAgIEBJbmplY3QoTkdfVkFMVUVfQUNDRVNTT1IpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29udHJvbFZhbHVlQWNjZXNzb3I6IENvbnRyb2xWYWx1ZUFjY2Vzc29yW10sXG4gICkge1xuICAgIHRoaXMuY2hlY2tlZCA9IF9zZWxlY3Rpb24uY2hhbmdlLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gb2JzZXJ2YWJsZU9mKF9zZWxlY3Rpb24uaXNBbGxTZWxlY3RlZCgpKSksXG4gICAgKTtcblxuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IF9zZWxlY3Rpb24uY2hhbmdlLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gb2JzZXJ2YWJsZU9mKF9zZWxlY3Rpb24uaXNQYXJ0aWFsU2VsZWN0ZWQoKSkpLFxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9hc3NlcnRWYWxpZFBhcmVudFNlbGVjdGlvbigpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUNvbnRyb2xWYWx1ZUFjY2Vzc29yKCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVDb250cm9sVmFsdWVBY2Nlc3NvcigpIHtcbiAgICBpZiAodGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3IgJiYgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3IubGVuZ3RoKSB7XG4gICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvclswXS5yZWdpc3Rlck9uQ2hhbmdlKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGlmIChlID09PSB0cnVlIHx8IGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmNoZWNrZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JbMF0ud3JpdGVWYWx1ZShzdGF0ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hc3NlcnRWYWxpZFBhcmVudFNlbGVjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuX3NlbGVjdGlvbiAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0Nka1NlbGVjdEFsbDogbWlzc2luZyBDZGtTZWxlY3Rpb24gaW4gdGhlIHBhcmVudCcpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5fc2VsZWN0aW9uLm11bHRpcGxlICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvdyBFcnJvcignQ2RrU2VsZWN0QWxsOiBDZGtTZWxlY3Rpb24gbXVzdCBoYXZlIGNka1NlbGVjdGlvbk11bHRpcGxlIHNldCB0byB0cnVlJyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { CdkCellDef, CdkColumnDef, CdkHeaderCellDef, CdkTable } from '@angular/cdk/table';
|
|
9
|
-
import { Component, Input, Optional, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Inject, } from '@angular/core';
|
|
10
|
-
import { CdkSelection } from './selection';
|
|
11
|
-
import { AsyncPipe } from '@angular/common';
|
|
12
|
-
import { CdkSelectionToggle } from './selection-toggle';
|
|
13
|
-
import { CdkSelectAll } from './select-all';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "@angular/cdk/table";
|
|
16
|
-
import * as i2 from "./selection";
|
|
17
|
-
/**
|
|
18
|
-
* Column that adds row selecting checkboxes and a select-all checkbox if `cdkSelectionMultiple` is
|
|
19
|
-
* `true`.
|
|
20
|
-
*
|
|
21
|
-
* Must be used within a parent `CdkSelection` directive.
|
|
22
|
-
*/
|
|
23
|
-
export class CdkSelectionColumn {
|
|
24
|
-
/** Column name that should be used to reference this column. */
|
|
25
|
-
get name() {
|
|
26
|
-
return this._name;
|
|
27
|
-
}
|
|
28
|
-
set name(name) {
|
|
29
|
-
this._name = name;
|
|
30
|
-
this._syncColumnDefName();
|
|
31
|
-
}
|
|
32
|
-
constructor(_table, selection) {
|
|
33
|
-
this._table = _table;
|
|
34
|
-
this.selection = selection;
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
if (!this.selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
38
|
-
throw Error('CdkSelectionColumn: missing CdkSelection in the parent');
|
|
39
|
-
}
|
|
40
|
-
this._syncColumnDefName();
|
|
41
|
-
if (this._table) {
|
|
42
|
-
this._columnDef.cell = this._cell;
|
|
43
|
-
this._columnDef.headerCell = this._headerCell;
|
|
44
|
-
this._table.addColumnDef(this._columnDef);
|
|
45
|
-
}
|
|
46
|
-
else if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
47
|
-
throw Error('CdkSelectionColumn: missing parent table');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
ngOnDestroy() {
|
|
51
|
-
if (this._table) {
|
|
52
|
-
this._table.removeColumnDef(this._columnDef);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
_syncColumnDefName() {
|
|
56
|
-
if (this._columnDef) {
|
|
57
|
-
this._columnDef.name = this._name;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionColumn, deps: [{ token: CdkTable, optional: true }, { token: CdkSelection, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0-next.2", type: CdkSelectionColumn, isStandalone: true, selector: "cdk-selection-column", inputs: { name: ["cdkSelectionColumnName", "name"] }, viewQueries: [{ propertyName: "_columnDef", first: true, predicate: CdkColumnDef, descendants: true, static: true }, { propertyName: "_cell", first: true, predicate: CdkCellDef, descendants: true, static: true }, { propertyName: "_headerCell", first: true, predicate: CdkHeaderCellDef, descendants: true, static: true }], ngImport: i0, template: `
|
|
62
|
-
<ng-container cdkColumnDef>
|
|
63
|
-
<th cdkHeaderCell *cdkHeaderCellDef>
|
|
64
|
-
@if (selection.multiple) {
|
|
65
|
-
<input type="checkbox"
|
|
66
|
-
cdkSelectAll
|
|
67
|
-
#allToggler="cdkSelectAll"
|
|
68
|
-
[checked]="allToggler.checked | async"
|
|
69
|
-
[indeterminate]="allToggler.indeterminate | async"
|
|
70
|
-
(click)="allToggler.toggle($event)">
|
|
71
|
-
}
|
|
72
|
-
</th>
|
|
73
|
-
<td cdkCell *cdkCellDef="let row; let i = $index">
|
|
74
|
-
<input type="checkbox"
|
|
75
|
-
#toggler="cdkSelectionToggle"
|
|
76
|
-
cdkSelectionToggle
|
|
77
|
-
[cdkSelectionToggleValue]="row"
|
|
78
|
-
[cdkSelectionToggleIndex]="i"
|
|
79
|
-
(click)="toggler.toggle()"
|
|
80
|
-
[checked]="toggler.checked | async">
|
|
81
|
-
</td>
|
|
82
|
-
</ng-container>
|
|
83
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["cdkColumnDef", "sticky", "stickyEnd"] }, { kind: "directive", type: CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { kind: "directive", type: CdkSelectAll, selector: "[cdkSelectAll]", exportAs: ["cdkSelectAll"] }, { kind: "directive", type: CdkCellDef, selector: "[cdkCellDef]" }, { kind: "directive", type: CdkSelectionToggle, selector: "[cdkSelectionToggle]", inputs: ["cdkSelectionToggleValue", "cdkSelectionToggleIndex"], exportAs: ["cdkSelectionToggle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionColumn, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{
|
|
88
|
-
selector: 'cdk-selection-column',
|
|
89
|
-
template: `
|
|
90
|
-
<ng-container cdkColumnDef>
|
|
91
|
-
<th cdkHeaderCell *cdkHeaderCellDef>
|
|
92
|
-
@if (selection.multiple) {
|
|
93
|
-
<input type="checkbox"
|
|
94
|
-
cdkSelectAll
|
|
95
|
-
#allToggler="cdkSelectAll"
|
|
96
|
-
[checked]="allToggler.checked | async"
|
|
97
|
-
[indeterminate]="allToggler.indeterminate | async"
|
|
98
|
-
(click)="allToggler.toggle($event)">
|
|
99
|
-
}
|
|
100
|
-
</th>
|
|
101
|
-
<td cdkCell *cdkCellDef="let row; let i = $index">
|
|
102
|
-
<input type="checkbox"
|
|
103
|
-
#toggler="cdkSelectionToggle"
|
|
104
|
-
cdkSelectionToggle
|
|
105
|
-
[cdkSelectionToggleValue]="row"
|
|
106
|
-
[cdkSelectionToggleIndex]="i"
|
|
107
|
-
(click)="toggler.toggle()"
|
|
108
|
-
[checked]="toggler.checked | async">
|
|
109
|
-
</td>
|
|
110
|
-
</ng-container>
|
|
111
|
-
`,
|
|
112
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
113
|
-
encapsulation: ViewEncapsulation.None,
|
|
114
|
-
standalone: true,
|
|
115
|
-
imports: [
|
|
116
|
-
CdkColumnDef,
|
|
117
|
-
CdkHeaderCellDef,
|
|
118
|
-
CdkSelectAll,
|
|
119
|
-
CdkCellDef,
|
|
120
|
-
CdkSelectionToggle,
|
|
121
|
-
AsyncPipe,
|
|
122
|
-
],
|
|
123
|
-
}]
|
|
124
|
-
}], ctorParameters: () => [{ type: i1.CdkTable, decorators: [{
|
|
125
|
-
type: Optional
|
|
126
|
-
}, {
|
|
127
|
-
type: Inject,
|
|
128
|
-
args: [CdkTable]
|
|
129
|
-
}] }, { type: i2.CdkSelection, decorators: [{
|
|
130
|
-
type: Optional
|
|
131
|
-
}, {
|
|
132
|
-
type: Inject,
|
|
133
|
-
args: [CdkSelection]
|
|
134
|
-
}] }], propDecorators: { name: [{
|
|
135
|
-
type: Input,
|
|
136
|
-
args: ['cdkSelectionColumnName']
|
|
137
|
-
}], _columnDef: [{
|
|
138
|
-
type: ViewChild,
|
|
139
|
-
args: [CdkColumnDef, { static: true }]
|
|
140
|
-
}], _cell: [{
|
|
141
|
-
type: ViewChild,
|
|
142
|
-
args: [CdkCellDef, { static: true }]
|
|
143
|
-
}], _headerCell: [{
|
|
144
|
-
type: ViewChild,
|
|
145
|
-
args: [CdkHeaderCellDef, { static: true }]
|
|
146
|
-
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9zZWxlY3Rpb24tY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQzs7OztBQUUxQzs7Ozs7R0FLRztBQXNDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLGdFQUFnRTtJQUNoRSxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQU9ELFlBQ3dDLE1BQW1CLEVBQ2QsU0FBMEI7UUFEL0IsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWlCO0lBQ3BFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxNQUFNLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN6RCxNQUFNLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO3FIQWhEVSxrQkFBa0Isa0JBa0JQLFFBQVEsNkJBQ1IsWUFBWTt5R0FuQnZCLGtCQUFrQixrTEFhbEIsWUFBWSxzRkFDWixVQUFVLDRGQUNWLGdCQUFnQiw4REFsRGpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JULDREQUtDLFlBQVksNEdBQ1osZ0JBQWdCLCtEQUNoQixZQUFZLHVGQUNaLFVBQVUseURBQ1Ysa0JBQWtCLDhKQUNsQixTQUFTOztrR0FHQSxrQkFBa0I7a0JBckM5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLFNBQVM7cUJBQ1Y7aUJBQ0Y7OzBCQW1CSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7eUNBaEI5QixJQUFJO3NCQURQLEtBQUs7dUJBQUMsd0JBQXdCO2dCQVcyQixVQUFVO3NCQUFuRSxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ2lCLEtBQUs7c0JBQTVELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDeUIsV0FBVztzQkFBeEUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtDZGtDZWxsRGVmLCBDZGtDb2x1bW5EZWYsIENka0hlYWRlckNlbGxEZWYsIENka1RhYmxlfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDZGtTZWxlY3Rpb259IGZyb20gJy4vc2VsZWN0aW9uJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDZGtTZWxlY3Rpb25Ub2dnbGV9IGZyb20gJy4vc2VsZWN0aW9uLXRvZ2dsZSc7XG5pbXBvcnQge0Nka1NlbGVjdEFsbH0gZnJvbSAnLi9zZWxlY3QtYWxsJztcblxuLyoqXG4gKiBDb2x1bW4gdGhhdCBhZGRzIHJvdyBzZWxlY3RpbmcgY2hlY2tib3hlcyBhbmQgYSBzZWxlY3QtYWxsIGNoZWNrYm94IGlmIGBjZGtTZWxlY3Rpb25NdWx0aXBsZWAgaXNcbiAqIGB0cnVlYC5cbiAqXG4gKiBNdXN0IGJlIHVzZWQgd2l0aGluIGEgcGFyZW50IGBDZGtTZWxlY3Rpb25gIGRpcmVjdGl2ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2RrLXNlbGVjdGlvbi1jb2x1bW4nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgY2RrQ29sdW1uRGVmPlxuICAgICAgPHRoIGNka0hlYWRlckNlbGwgKmNka0hlYWRlckNlbGxEZWY+XG4gICAgICAgIEBpZiAoc2VsZWN0aW9uLm11bHRpcGxlKSB7XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGNka1NlbGVjdEFsbFxuICAgICAgICAgICAgICAjYWxsVG9nZ2xlcj1cImNka1NlbGVjdEFsbFwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cImFsbFRvZ2dsZXIuY2hlY2tlZCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiYWxsVG9nZ2xlci5pbmRldGVybWluYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWxsVG9nZ2xlci50b2dnbGUoJGV2ZW50KVwiPlxuICAgICAgICB9XG4gICAgICA8L3RoPlxuICAgICAgPHRkIGNka0NlbGwgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgaSA9ICRpbmRleFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICN0b2dnbGVyPVwiY2RrU2VsZWN0aW9uVG9nZ2xlXCJcbiAgICAgICAgICAgIGNka1NlbGVjdGlvblRvZ2dsZVxuICAgICAgICAgICAgW2Nka1NlbGVjdGlvblRvZ2dsZVZhbHVlXT1cInJvd1wiXG4gICAgICAgICAgICBbY2RrU2VsZWN0aW9uVG9nZ2xlSW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlci50b2dnbGUoKVwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ0b2dnbGVyLmNoZWNrZWQgfCBhc3luY1wiPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDZGtDb2x1bW5EZWYsXG4gICAgQ2RrSGVhZGVyQ2VsbERlZixcbiAgICBDZGtTZWxlY3RBbGwsXG4gICAgQ2RrQ2VsbERlZixcbiAgICBDZGtTZWxlY3Rpb25Ub2dnbGUsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtTZWxlY3Rpb25Db2x1bW48VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBDb2x1bW4gbmFtZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIHJlZmVyZW5jZSB0aGlzIGNvbHVtbi4gKi9cbiAgQElucHV0KCdjZGtTZWxlY3Rpb25Db2x1bW5OYW1lJylcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gbmFtZTtcblxuICAgIHRoaXMuX3N5bmNDb2x1bW5EZWZOYW1lKCk7XG4gIH1cbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoQ2RrQ29sdW1uRGVmLCB7c3RhdGljOiB0cnVlfSkgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uRGVmOiBDZGtDb2x1bW5EZWY7XG4gIEBWaWV3Q2hpbGQoQ2RrQ2VsbERlZiwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcmVhZG9ubHkgX2NlbGw6IENka0NlbGxEZWY7XG4gIEBWaWV3Q2hpbGQoQ2RrSGVhZGVyQ2VsbERlZiwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgcmVhZG9ubHkgX2hlYWRlckNlbGw6IENka0hlYWRlckNlbGxEZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDZGtUYWJsZSkgcHJpdmF0ZSBfdGFibGU6IENka1RhYmxlPFQ+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ2RrU2VsZWN0aW9uKSByZWFkb25seSBzZWxlY3Rpb246IENka1NlbGVjdGlvbjxUPixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5zZWxlY3Rpb24gJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdDZGtTZWxlY3Rpb25Db2x1bW46IG1pc3NpbmcgQ2RrU2VsZWN0aW9uIGluIHRoZSBwYXJlbnQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zeW5jQ29sdW1uRGVmTmFtZSgpO1xuXG4gICAgaWYgKHRoaXMuX3RhYmxlKSB7XG4gICAgICB0aGlzLl9jb2x1bW5EZWYuY2VsbCA9IHRoaXMuX2NlbGw7XG4gICAgICB0aGlzLl9jb2x1bW5EZWYuaGVhZGVyQ2VsbCA9IHRoaXMuX2hlYWRlckNlbGw7XG4gICAgICB0aGlzLl90YWJsZS5hZGRDb2x1bW5EZWYodGhpcy5fY29sdW1uRGVmKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0Nka1NlbGVjdGlvbkNvbHVtbjogbWlzc2luZyBwYXJlbnQgdGFibGUnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5fdGFibGUpIHtcbiAgICAgIHRoaXMuX3RhYmxlLnJlbW92ZUNvbHVtbkRlZih0aGlzLl9jb2x1bW5EZWYpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNDb2x1bW5EZWZOYW1lKCkge1xuICAgIGlmICh0aGlzLl9jb2x1bW5EZWYpIHtcbiAgICAgIHRoaXMuX2NvbHVtbkRlZi5uYW1lID0gdGhpcy5fbmFtZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { CdkTableModule } from '@angular/cdk/table';
|
|
9
|
-
import { CommonModule } from '@angular/common';
|
|
10
|
-
import { NgModule } from '@angular/core';
|
|
11
|
-
import { CdkRowSelection } from './row-selection';
|
|
12
|
-
import { CdkSelectAll } from './select-all';
|
|
13
|
-
import { CdkSelection } from './selection';
|
|
14
|
-
import { CdkSelectionColumn } from './selection-column';
|
|
15
|
-
import { CdkSelectionToggle } from './selection-toggle';
|
|
16
|
-
import * as i0 from "@angular/core";
|
|
17
|
-
export class CdkSelectionModule {
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionModule, imports: [CommonModule,
|
|
20
|
-
CdkTableModule,
|
|
21
|
-
CdkSelection,
|
|
22
|
-
CdkSelectionToggle,
|
|
23
|
-
CdkSelectAll,
|
|
24
|
-
CdkSelectionColumn,
|
|
25
|
-
CdkRowSelection], exports: [CdkSelection, CdkSelectionToggle, CdkSelectAll, CdkSelectionColumn, CdkRowSelection] }); }
|
|
26
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionModule, imports: [CommonModule,
|
|
27
|
-
CdkTableModule] }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionModule, decorators: [{
|
|
30
|
-
type: NgModule,
|
|
31
|
-
args: [{
|
|
32
|
-
imports: [
|
|
33
|
-
CommonModule,
|
|
34
|
-
CdkTableModule,
|
|
35
|
-
CdkSelection,
|
|
36
|
-
CdkSelectionToggle,
|
|
37
|
-
CdkSelectAll,
|
|
38
|
-
CdkSelectionColumn,
|
|
39
|
-
CdkRowSelection,
|
|
40
|
-
],
|
|
41
|
-
exports: [CdkSelection, CdkSelectionToggle, CdkSelectAll, CdkSelectionColumn, CdkRowSelection],
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQWN0RCxNQUFNLE9BQU8sa0JBQWtCO3FIQUFsQixrQkFBa0I7c0hBQWxCLGtCQUFrQixZQVYzQixZQUFZO1lBQ1osY0FBYztZQUNkLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixlQUFlLGFBRVAsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxlQUFlO3NIQUVsRixrQkFBa0IsWUFWM0IsWUFBWTtZQUNaLGNBQWM7O2tHQVNMLGtCQUFrQjtrQkFaOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxlQUFlLENBQUM7aUJBQy9GIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Q2RrVGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0Nka1Jvd1NlbGVjdGlvbn0gZnJvbSAnLi9yb3ctc2VsZWN0aW9uJztcbmltcG9ydCB7Q2RrU2VsZWN0QWxsfSBmcm9tICcuL3NlbGVjdC1hbGwnO1xuaW1wb3J0IHtDZGtTZWxlY3Rpb259IGZyb20gJy4vc2VsZWN0aW9uJztcbmltcG9ydCB7Q2RrU2VsZWN0aW9uQ29sdW1ufSBmcm9tICcuL3NlbGVjdGlvbi1jb2x1bW4nO1xuaW1wb3J0IHtDZGtTZWxlY3Rpb25Ub2dnbGV9IGZyb20gJy4vc2VsZWN0aW9uLXRvZ2dsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2RrVGFibGVNb2R1bGUsXG4gICAgQ2RrU2VsZWN0aW9uLFxuICAgIENka1NlbGVjdGlvblRvZ2dsZSxcbiAgICBDZGtTZWxlY3RBbGwsXG4gICAgQ2RrU2VsZWN0aW9uQ29sdW1uLFxuICAgIENka1Jvd1NlbGVjdGlvbixcbiAgXSxcbiAgZXhwb3J0czogW0Nka1NlbGVjdGlvbiwgQ2RrU2VsZWN0aW9uVG9nZ2xlLCBDZGtTZWxlY3RBbGwsIENka1NlbGVjdGlvbkNvbHVtbiwgQ2RrUm93U2VsZWN0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrU2VsZWN0aW9uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
9
|
-
/**
|
|
10
|
-
* Maintains a set of selected items. Support selecting and deselecting items, and checking if a
|
|
11
|
-
* value is selected.
|
|
12
|
-
* When constructed with a `trackByFn`, all the items will be identified by applying the `trackByFn`
|
|
13
|
-
* on them. Because `trackByFn` requires the index of the item to be passed in, the `index` field is
|
|
14
|
-
* expected to be set when calling `isSelected`, `select` and `deselect`.
|
|
15
|
-
*/
|
|
16
|
-
export class SelectionSet {
|
|
17
|
-
constructor(_multiple = false, _trackByFn) {
|
|
18
|
-
this._multiple = _multiple;
|
|
19
|
-
this._trackByFn = _trackByFn;
|
|
20
|
-
this._selectionMap = new Map();
|
|
21
|
-
this.changed = new Subject();
|
|
22
|
-
}
|
|
23
|
-
isSelected(value) {
|
|
24
|
-
return this._selectionMap.has(this._getTrackedByValue(value));
|
|
25
|
-
}
|
|
26
|
-
select(...selects) {
|
|
27
|
-
if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
28
|
-
throw Error('SelectionSet: not multiple selection');
|
|
29
|
-
}
|
|
30
|
-
const before = this._getCurrentSelection();
|
|
31
|
-
if (!this._multiple) {
|
|
32
|
-
this._selectionMap.clear();
|
|
33
|
-
}
|
|
34
|
-
const toSelect = [];
|
|
35
|
-
for (const select of selects) {
|
|
36
|
-
if (this.isSelected(select)) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
toSelect.push(select);
|
|
40
|
-
this._markSelected(this._getTrackedByValue(select), select);
|
|
41
|
-
}
|
|
42
|
-
const after = this._getCurrentSelection();
|
|
43
|
-
this.changed.next({ before, after });
|
|
44
|
-
}
|
|
45
|
-
deselect(...selects) {
|
|
46
|
-
if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
47
|
-
throw Error('SelectionSet: not multiple selection');
|
|
48
|
-
}
|
|
49
|
-
const before = this._getCurrentSelection();
|
|
50
|
-
const toDeselect = [];
|
|
51
|
-
for (const select of selects) {
|
|
52
|
-
if (!this.isSelected(select)) {
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
toDeselect.push(select);
|
|
56
|
-
this._markDeselected(this._getTrackedByValue(select));
|
|
57
|
-
}
|
|
58
|
-
const after = this._getCurrentSelection();
|
|
59
|
-
this.changed.next({ before, after });
|
|
60
|
-
}
|
|
61
|
-
_markSelected(key, toSelect) {
|
|
62
|
-
this._selectionMap.set(key, toSelect);
|
|
63
|
-
}
|
|
64
|
-
_markDeselected(key) {
|
|
65
|
-
this._selectionMap.delete(key);
|
|
66
|
-
}
|
|
67
|
-
_getTrackedByValue(select) {
|
|
68
|
-
if (!this._trackByFn) {
|
|
69
|
-
return select.value;
|
|
70
|
-
}
|
|
71
|
-
if (select.index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
72
|
-
throw Error('SelectionSet: index required when trackByFn is used.');
|
|
73
|
-
}
|
|
74
|
-
return this._trackByFn(select.index, select.value);
|
|
75
|
-
}
|
|
76
|
-
_getCurrentSelection() {
|
|
77
|
-
return Array.from(this._selectionMap.values());
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9zZWxlY3Rpb24tc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUE4QjdCOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQW9CLFlBQVksS0FBSyxFQUFVLFVBQStCO1FBQTFELGNBQVMsR0FBVCxTQUFTLENBQVE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUh0RSxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUE4RCxDQUFDO1FBQzlGLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztJQUVxQyxDQUFDO0lBRWxGLFVBQVUsQ0FBQyxLQUE2QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxPQUFpQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzdGLE1BQU0sS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQTZCLEVBQUUsQ0FBQztRQUM5QyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM1QixTQUFTO1lBQ1gsQ0FBQztZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHLE9BQWlDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0YsTUFBTSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQTZCLEVBQUUsQ0FBQztRQUVoRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLFNBQVM7WUFDWCxDQUFDO1lBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxhQUFhLENBQUMsR0FBdUMsRUFBRSxRQUFnQztRQUM3RixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxHQUF1QztRQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBOEI7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxNQUFNLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1RyYWNrQnlGdW5jdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIE1haW50YWlucyBhIHNldCBvZiBzZWxlY3RlZCB2YWx1ZXMuIE9uZSBvciBtb3JlIHZhbHVlcyBjYW4gYmUgYWRkZWQgdG8gb3IgcmVtb3ZlZCBmcm9tIHRoZVxuICogc2VsZWN0aW9uLlxuICovXG5pbnRlcmZhY2UgVHJhY2tCeVNlbGVjdGlvbjxUPiB7XG4gIGlzU2VsZWN0ZWQodmFsdWU6IFNlbGVjdGFibGVXaXRoSW5kZXg8VD4pOiBib29sZWFuO1xuICBzZWxlY3QoLi4udmFsdWVzOiBTZWxlY3RhYmxlV2l0aEluZGV4PFQ+W10pOiB2b2lkO1xuICBkZXNlbGVjdCguLi52YWx1ZXM6IFNlbGVjdGFibGVXaXRoSW5kZXg8VD5bXSk6IHZvaWQ7XG4gIGNoYW5nZWQ6IFN1YmplY3Q8U2VsZWN0aW9uQ2hhbmdlPFQ+Pjtcbn1cblxuLyoqXG4gKiBBIHNlbGVjdGFibGUgdmFsdWUgd2l0aCBhbiBvcHRpb25hbCBpbmRleC4gVGhlIGluZGV4IGlzIHJlcXVpcmVkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyB1c2VkIHdpdGhcbiAqIGB0cmFja0J5YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RhYmxlV2l0aEluZGV4PFQ+IHtcbiAgdmFsdWU6IFQ7XG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNoYW5nZSBpbiB0aGUgc2VsZWN0aW9uIHNldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25DaGFuZ2U8VD4ge1xuICBiZWZvcmU6IFNlbGVjdGFibGVXaXRoSW5kZXg8VD5bXTtcbiAgYWZ0ZXI6IFNlbGVjdGFibGVXaXRoSW5kZXg8VD5bXTtcbn1cblxuLyoqXG4gKiBNYWludGFpbnMgYSBzZXQgb2Ygc2VsZWN0ZWQgaXRlbXMuIFN1cHBvcnQgc2VsZWN0aW5nIGFuZCBkZXNlbGVjdGluZyBpdGVtcywgYW5kIGNoZWNraW5nIGlmIGFcbiAqIHZhbHVlIGlzIHNlbGVjdGVkLlxuICogV2hlbiBjb25zdHJ1Y3RlZCB3aXRoIGEgYHRyYWNrQnlGbmAsIGFsbCB0aGUgaXRlbXMgd2lsbCBiZSBpZGVudGlmaWVkIGJ5IGFwcGx5aW5nIHRoZSBgdHJhY2tCeUZuYFxuICogb24gdGhlbS4gQmVjYXVzZSBgdHJhY2tCeUZuYCByZXF1aXJlcyB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gYmUgcGFzc2VkIGluLCB0aGUgYGluZGV4YCBmaWVsZCBpc1xuICogZXhwZWN0ZWQgdG8gYmUgc2V0IHdoZW4gY2FsbGluZyBgaXNTZWxlY3RlZGAsIGBzZWxlY3RgIGFuZCBgZGVzZWxlY3RgLlxuICovXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uU2V0PFQ+IGltcGxlbWVudHMgVHJhY2tCeVNlbGVjdGlvbjxUPiB7XG4gIHByaXZhdGUgX3NlbGVjdGlvbk1hcCA9IG5ldyBNYXA8VCB8IFJldHVyblR5cGU8VHJhY2tCeUZ1bmN0aW9uPFQ+PiwgU2VsZWN0YWJsZVdpdGhJbmRleDxUPj4oKTtcbiAgY2hhbmdlZCA9IG5ldyBTdWJqZWN0PFNlbGVjdGlvbkNoYW5nZTxUPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlLCBwcml2YXRlIF90cmFja0J5Rm4/OiBUcmFja0J5RnVuY3Rpb248VD4pIHt9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZTogU2VsZWN0YWJsZVdpdGhJbmRleDxUPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25NYXAuaGFzKHRoaXMuX2dldFRyYWNrZWRCeVZhbHVlKHZhbHVlKSk7XG4gIH1cblxuICBzZWxlY3QoLi4uc2VsZWN0czogU2VsZWN0YWJsZVdpdGhJbmRleDxUPltdKSB7XG4gICAgaWYgKCF0aGlzLl9tdWx0aXBsZSAmJiBzZWxlY3RzLmxlbmd0aCA+IDEgJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdTZWxlY3Rpb25TZXQ6IG5vdCBtdWx0aXBsZSBzZWxlY3Rpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCBiZWZvcmUgPSB0aGlzLl9nZXRDdXJyZW50U2VsZWN0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuX211bHRpcGxlKSB7XG4gICAgICB0aGlzLl9zZWxlY3Rpb25NYXAuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b1NlbGVjdDogU2VsZWN0YWJsZVdpdGhJbmRleDxUPltdID0gW107XG4gICAgZm9yIChjb25zdCBzZWxlY3Qgb2Ygc2VsZWN0cykge1xuICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZChzZWxlY3QpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0b1NlbGVjdC5wdXNoKHNlbGVjdCk7XG4gICAgICB0aGlzLl9tYXJrU2VsZWN0ZWQodGhpcy5fZ2V0VHJhY2tlZEJ5VmFsdWUoc2VsZWN0KSwgc2VsZWN0KTtcbiAgICB9XG5cbiAgICBjb25zdCBhZnRlciA9IHRoaXMuX2dldEN1cnJlbnRTZWxlY3Rpb24oKTtcblxuICAgIHRoaXMuY2hhbmdlZC5uZXh0KHtiZWZvcmUsIGFmdGVyfSk7XG4gIH1cblxuICBkZXNlbGVjdCguLi5zZWxlY3RzOiBTZWxlY3RhYmxlV2l0aEluZGV4PFQ+W10pIHtcbiAgICBpZiAoIXRoaXMuX211bHRpcGxlICYmIHNlbGVjdHMubGVuZ3RoID4gMSAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlbGVjdGlvblNldDogbm90IG11bHRpcGxlIHNlbGVjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGJlZm9yZSA9IHRoaXMuX2dldEN1cnJlbnRTZWxlY3Rpb24oKTtcbiAgICBjb25zdCB0b0Rlc2VsZWN0OiBTZWxlY3RhYmxlV2l0aEluZGV4PFQ+W10gPSBbXTtcblxuICAgIGZvciAoY29uc3Qgc2VsZWN0IG9mIHNlbGVjdHMpIHtcbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHNlbGVjdCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHRvRGVzZWxlY3QucHVzaChzZWxlY3QpO1xuICAgICAgdGhpcy5fbWFya0Rlc2VsZWN0ZWQodGhpcy5fZ2V0VHJhY2tlZEJ5VmFsdWUoc2VsZWN0KSk7XG4gICAgfVxuXG4gICAgY29uc3QgYWZ0ZXIgPSB0aGlzLl9nZXRDdXJyZW50U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5jaGFuZ2VkLm5leHQoe2JlZm9yZSwgYWZ0ZXJ9KTtcbiAgfVxuXG4gIHByaXZhdGUgX21hcmtTZWxlY3RlZChrZXk6IFQgfCBSZXR1cm5UeXBlPFRyYWNrQnlGdW5jdGlvbjxUPj4sIHRvU2VsZWN0OiBTZWxlY3RhYmxlV2l0aEluZGV4PFQ+KSB7XG4gICAgdGhpcy5fc2VsZWN0aW9uTWFwLnNldChrZXksIHRvU2VsZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX21hcmtEZXNlbGVjdGVkKGtleTogVCB8IFJldHVyblR5cGU8VHJhY2tCeUZ1bmN0aW9uPFQ+Pikge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1hcC5kZWxldGUoa2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRyYWNrZWRCeVZhbHVlKHNlbGVjdDogU2VsZWN0YWJsZVdpdGhJbmRleDxUPikge1xuICAgIGlmICghdGhpcy5fdHJhY2tCeUZuKSB7XG4gICAgICByZXR1cm4gc2VsZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGlmIChzZWxlY3QuaW5kZXggPT0gbnVsbCAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlbGVjdGlvblNldDogaW5kZXggcmVxdWlyZWQgd2hlbiB0cmFja0J5Rm4gaXMgdXNlZC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdHJhY2tCeUZuKHNlbGVjdC5pbmRleCEsIHNlbGVjdC52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDdXJyZW50U2VsZWN0aW9uKCk6IFNlbGVjdGFibGVXaXRoSW5kZXg8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fc2VsZWN0aW9uTWFwLnZhbHVlcygpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
9
|
-
import { Directive, Inject, Input, Optional, Self } from '@angular/core';
|
|
10
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
11
|
-
import { of as observableOf, Subject } from 'rxjs';
|
|
12
|
-
import { distinctUntilChanged, switchMap, takeUntil } from 'rxjs/operators';
|
|
13
|
-
import { CdkSelection } from './selection';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "./selection";
|
|
16
|
-
/**
|
|
17
|
-
* Makes the element a selection toggle.
|
|
18
|
-
*
|
|
19
|
-
* Must be used within a parent `CdkSelection` directive.
|
|
20
|
-
* Must be provided with the value. If `trackBy` is used on `CdkSelection`, the index of the value
|
|
21
|
-
* is required. If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive
|
|
22
|
-
* automatically connects it with the selection state provided by the `CdkSelection` directive. If
|
|
23
|
-
* not, use `checked$` to get the checked state of the value, and `toggle()` to change the selection
|
|
24
|
-
* state.
|
|
25
|
-
*/
|
|
26
|
-
export class CdkSelectionToggle {
|
|
27
|
-
/** The index of the value in the list. Required when used with `trackBy` */
|
|
28
|
-
get index() {
|
|
29
|
-
return this._index;
|
|
30
|
-
}
|
|
31
|
-
set index(index) {
|
|
32
|
-
this._index = coerceNumberProperty(index);
|
|
33
|
-
}
|
|
34
|
-
/** Toggles the selection */
|
|
35
|
-
toggle() {
|
|
36
|
-
this._selection.toggleSelection(this.value, this.index);
|
|
37
|
-
}
|
|
38
|
-
constructor(_selection, _controlValueAccessors) {
|
|
39
|
-
this._selection = _selection;
|
|
40
|
-
this._controlValueAccessors = _controlValueAccessors;
|
|
41
|
-
this._destroyed = new Subject();
|
|
42
|
-
this.checked = _selection.change.pipe(switchMap(() => observableOf(this._isSelected())), distinctUntilChanged());
|
|
43
|
-
}
|
|
44
|
-
ngOnInit() {
|
|
45
|
-
this._assertValidParentSelection();
|
|
46
|
-
this._configureControlValueAccessor();
|
|
47
|
-
}
|
|
48
|
-
ngOnDestroy() {
|
|
49
|
-
this._destroyed.next();
|
|
50
|
-
this._destroyed.complete();
|
|
51
|
-
}
|
|
52
|
-
_assertValidParentSelection() {
|
|
53
|
-
if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
54
|
-
throw Error('CdkSelectAll: missing CdkSelection in the parent');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
_configureControlValueAccessor() {
|
|
58
|
-
if (this._controlValueAccessors && this._controlValueAccessors.length) {
|
|
59
|
-
this._controlValueAccessors[0].registerOnChange((e) => {
|
|
60
|
-
if (typeof e === 'boolean') {
|
|
61
|
-
this.toggle();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {
|
|
65
|
-
this._controlValueAccessors[0].writeValue(state);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
_isSelected() {
|
|
70
|
-
return this._selection.isSelected(this.value, this.index);
|
|
71
|
-
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionToggle, deps: [{ token: CdkSelection, optional: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
73
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0-next.2", type: CdkSelectionToggle, isStandalone: true, selector: "[cdkSelectionToggle]", inputs: { value: ["cdkSelectionToggleValue", "value"], index: ["cdkSelectionToggleIndex", "index"] }, exportAs: ["cdkSelectionToggle"], ngImport: i0 }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: CdkSelectionToggle, decorators: [{
|
|
76
|
-
type: Directive,
|
|
77
|
-
args: [{
|
|
78
|
-
selector: '[cdkSelectionToggle]',
|
|
79
|
-
exportAs: 'cdkSelectionToggle',
|
|
80
|
-
standalone: true,
|
|
81
|
-
}]
|
|
82
|
-
}], ctorParameters: () => [{ type: i1.CdkSelection, decorators: [{
|
|
83
|
-
type: Optional
|
|
84
|
-
}, {
|
|
85
|
-
type: Inject,
|
|
86
|
-
args: [CdkSelection]
|
|
87
|
-
}] }, { type: undefined, decorators: [{
|
|
88
|
-
type: Optional
|
|
89
|
-
}, {
|
|
90
|
-
type: Self
|
|
91
|
-
}, {
|
|
92
|
-
type: Inject,
|
|
93
|
-
args: [NG_VALUE_ACCESSOR]
|
|
94
|
-
}] }], propDecorators: { value: [{
|
|
95
|
-
type: Input,
|
|
96
|
-
args: ['cdkSelectionToggleValue']
|
|
97
|
-
}], index: [{
|
|
98
|
-
type: Input,
|
|
99
|
-
args: ['cdkSelectionToggleIndex']
|
|
100
|
-
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGstZXhwZXJpbWVudGFsL3NlbGVjdGlvbi9zZWxlY3Rpb24tdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxvQkFBb0IsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFhLEVBQUUsSUFBSSxZQUFZLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGFBQWEsQ0FBQzs7O0FBRXpDOzs7Ozs7Ozs7R0FTRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsNEVBQTRFO0lBQzVFLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBTUQsNEJBQTRCO0lBQzVCLE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBSUQsWUFDNEMsVUFBMkIsRUFJN0Qsc0JBQThDO1FBSlosZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFJN0QsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVBoRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQ2pELG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxPQUFPLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztxSEFyRVUsa0JBQWtCLGtCQXlCUCxZQUFZLDZCQUd4QixpQkFBaUI7eUdBNUJoQixrQkFBa0I7O2tHQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkEwQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZOzswQkFDL0IsUUFBUTs7MEJBQ1IsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxpQkFBaUI7eUNBMUJPLEtBQUs7c0JBQXRDLEtBQUs7dUJBQUMseUJBQXlCO2dCQUk1QixLQUFLO3NCQURSLEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Y29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtDZGtTZWxlY3Rpb259IGZyb20gJy4vc2VsZWN0aW9uJztcblxuLyoqXG4gKiBNYWtlcyB0aGUgZWxlbWVudCBhIHNlbGVjdGlvbiB0b2dnbGUuXG4gKlxuICogTXVzdCBiZSB1c2VkIHdpdGhpbiBhIHBhcmVudCBgQ2RrU2VsZWN0aW9uYCBkaXJlY3RpdmUuXG4gKiBNdXN0IGJlIHByb3ZpZGVkIHdpdGggdGhlIHZhbHVlLiBJZiBgdHJhY2tCeWAgaXMgdXNlZCBvbiBgQ2RrU2VsZWN0aW9uYCwgdGhlIGluZGV4IG9mIHRoZSB2YWx1ZVxuICogaXMgcmVxdWlyZWQuIElmIHRoZSBlbGVtZW50IGltcGxlbWVudHMgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCwgZS5nLiBgTWF0Q2hlY2tib3hgLCB0aGUgZGlyZWN0aXZlXG4gKiBhdXRvbWF0aWNhbGx5IGNvbm5lY3RzIGl0IHdpdGggdGhlIHNlbGVjdGlvbiBzdGF0ZSBwcm92aWRlZCBieSB0aGUgYENka1NlbGVjdGlvbmAgZGlyZWN0aXZlLiBJZlxuICogbm90LCB1c2UgYGNoZWNrZWQkYCB0byBnZXQgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIHZhbHVlLCBhbmQgYHRvZ2dsZSgpYCB0byBjaGFuZ2UgdGhlIHNlbGVjdGlvblxuICogc3RhdGUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjZGtTZWxlY3Rpb25Ub2dnbGVdJyxcbiAgZXhwb3J0QXM6ICdjZGtTZWxlY3Rpb25Ub2dnbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtTZWxlY3Rpb25Ub2dnbGU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIC8qKiBUaGUgdmFsdWUgdGhhdCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIHRvZ2dsZSAqL1xuICBASW5wdXQoJ2Nka1NlbGVjdGlvblRvZ2dsZVZhbHVlJykgdmFsdWU6IFQ7XG5cbiAgLyoqIFRoZSBpbmRleCBvZiB0aGUgdmFsdWUgaW4gdGhlIGxpc3QuIFJlcXVpcmVkIHdoZW4gdXNlZCB3aXRoIGB0cmFja0J5YCAqL1xuICBASW5wdXQoJ2Nka1NlbGVjdGlvblRvZ2dsZUluZGV4JylcbiAgZ2V0IGluZGV4KCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICB9XG4gIHNldCBpbmRleChpbmRleDogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9pbmRleCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGluZGV4KTtcbiAgfVxuICBwcm90ZWN0ZWQgX2luZGV4PzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgY2hlY2tlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0aW9uIHRvZ2dsZSAqL1xuICByZWFkb25seSBjaGVja2VkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKiBUb2dnbGVzIHRoZSBzZWxlY3Rpb24gKi9cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuX3NlbGVjdGlvbi50b2dnbGVTZWxlY3Rpb24odGhpcy52YWx1ZSwgdGhpcy5pbmRleCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ2RrU2VsZWN0aW9uKSBwcml2YXRlIF9zZWxlY3Rpb246IENka1NlbGVjdGlvbjxUPixcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBTZWxmKClcbiAgICBASW5qZWN0KE5HX1ZBTFVFX0FDQ0VTU09SKVxuICAgIHByaXZhdGUgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yczogQ29udHJvbFZhbHVlQWNjZXNzb3JbXSxcbiAgKSB7XG4gICAgdGhpcy5jaGVja2VkID0gX3NlbGVjdGlvbi5jaGFuZ2UucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBvYnNlcnZhYmxlT2YodGhpcy5faXNTZWxlY3RlZCgpKSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9hc3NlcnRWYWxpZFBhcmVudFNlbGVjdGlvbigpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUNvbnRyb2xWYWx1ZUFjY2Vzc29yKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzZXJ0VmFsaWRQYXJlbnRTZWxlY3Rpb24oKSB7XG4gICAgaWYgKCF0aGlzLl9zZWxlY3Rpb24gJiYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdDZGtTZWxlY3RBbGw6IG1pc3NpbmcgQ2RrU2VsZWN0aW9uIGluIHRoZSBwYXJlbnQnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVDb250cm9sVmFsdWVBY2Nlc3NvcigpIHtcbiAgICBpZiAodGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JzICYmIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29ycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yc1swXS5yZWdpc3Rlck9uQ2hhbmdlKChlOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY2hlY2tlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xuICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvcnNbMF0ud3JpdGVWYWx1ZShzdGF0ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb24uaXNTZWxlY3RlZCh0aGlzLnZhbHVlLCB0aGlzLmluZGV4KTtcbiAgfVxufVxuIl19
|