@angular/cdk-experimental 13.0.0-next.7 → 13.0.0-rc.2
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/column-resize-directives/column-resize-flex.d.ts +3 -0
- package/column-resize/column-resize-directives/column-resize.d.ts +3 -0
- package/column-resize/column-resize-directives/default-enabled-column-resize-flex.d.ts +3 -0
- package/column-resize/column-resize-directives/default-enabled-column-resize.d.ts +3 -0
- package/column-resize/column-resize-module.d.ts +11 -7
- package/column-resize/column-resize-notifier.d.ts +5 -7
- package/column-resize/column-resize.d.ts +3 -0
- package/column-resize/column-resize_public_index.d.ts +4 -0
- package/column-resize/column-size-store.d.ts +3 -7
- package/column-resize/event-dispatcher.d.ts +3 -0
- package/column-resize/index.d.ts +5 -2
- package/column-resize/overlay-handle.d.ts +3 -0
- package/column-resize/package.json +6 -6
- package/column-resize/resizable.d.ts +3 -0
- package/column-resize/resize-strategy.d.ts +7 -0
- package/combobox/combobox-module.d.ts +8 -7
- package/combobox/combobox-panel.d.ts +5 -2
- package/combobox/combobox-popup.d.ts +3 -0
- package/combobox/combobox.d.ts +8 -5
- package/combobox/combobox_public_index.d.ts +4 -0
- package/combobox/index.d.ts +5 -1
- package/combobox/package.json +6 -6
- package/dialog/dialog-container.d.ts +4 -1
- package/dialog/dialog-module.d.ts +8 -7
- package/dialog/dialog.d.ts +3 -0
- package/dialog/dialog_public_index.d.ts +4 -0
- package/dialog/index.d.ts +5 -1
- package/dialog/package.json +6 -6
- package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +42 -0
- package/esm2020/column-resize/column-resize-directives/column-resize.mjs +42 -0
- package/{esm2015/column-resize/column-resize-directives/constants.js → esm2020/column-resize/column-resize-directives/constants.mjs} +0 -0
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +48 -0
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +48 -0
- package/esm2020/column-resize/column-resize-module.mjs +46 -0
- package/esm2020/column-resize/column-resize-notifier.mjs +52 -0
- package/esm2020/column-resize/column-resize.mjs +82 -0
- package/esm2020/column-resize/column-resize_public_index.mjs +5 -0
- package/esm2020/column-resize/column-size-store.mjs +20 -0
- package/esm2020/column-resize/event-dispatcher.mjs +70 -0
- package/esm2020/column-resize/index.mjs +9 -0
- package/esm2020/column-resize/overlay-handle.mjs +146 -0
- package/{esm2015/column-resize/public-api.js → esm2020/column-resize/public-api.mjs} +0 -0
- package/esm2020/column-resize/resizable.mjs +195 -0
- package/{esm2015/column-resize/resize-ref.js → esm2020/column-resize/resize-ref.mjs} +1 -1
- package/esm2020/column-resize/resize-strategy.mjs +230 -0
- package/{esm2015/column-resize/selectors.js → esm2020/column-resize/selectors.mjs} +0 -0
- package/esm2020/combobox/combobox-module.mjs +28 -0
- package/esm2020/combobox/combobox-panel.mjs +48 -0
- package/esm2020/combobox/combobox-popup.mjs +83 -0
- package/esm2020/combobox/combobox.mjs +261 -0
- package/esm2020/combobox/combobox_public_index.mjs +5 -0
- package/esm2020/combobox/index.mjs +9 -0
- package/{esm2015/combobox/public-api.js → esm2020/combobox/public-api.mjs} +0 -0
- package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
- package/esm2020/dialog/dialog-container.mjs +310 -0
- package/esm2020/dialog/dialog-injectors.mjs +30 -0
- package/esm2020/dialog/dialog-module.mjs +57 -0
- package/esm2020/dialog/dialog-ref.mjs +116 -0
- package/esm2020/dialog/dialog.mjs +252 -0
- package/esm2020/dialog/dialog_public_index.mjs +5 -0
- package/esm2020/dialog/index.mjs +9 -0
- package/{esm2015/dialog/public-api.js → esm2020/dialog/public-api.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/esm2020/listbox/index.mjs +9 -0
- package/esm2020/listbox/listbox-module.mjs +24 -0
- package/esm2020/listbox/listbox.mjs +499 -0
- package/esm2020/listbox/listbox_public_index.mjs +5 -0
- package/{esm2015/listbox/public-api.js → esm2020/listbox/public-api.mjs} +0 -0
- package/esm2020/menu/context-menu.mjs +287 -0
- package/esm2020/menu/index.mjs +9 -0
- package/esm2020/menu/menu-aim.mjs +199 -0
- package/esm2020/menu/menu-bar.mjs +272 -0
- package/{esm2015/menu/menu-errors.js → esm2020/menu/menu-errors.mjs} +1 -1
- package/esm2020/menu/menu-group.mjs +68 -0
- package/{esm2015/menu/menu-interface.js → esm2020/menu/menu-interface.mjs} +0 -0
- package/esm2020/menu/menu-item-checkbox.mjs +48 -0
- package/esm2020/menu/menu-item-radio.mjs +90 -0
- package/esm2020/menu/menu-item-selectable.mjs +57 -0
- package/esm2020/menu/menu-item-trigger.mjs +361 -0
- package/esm2020/menu/menu-item.mjs +291 -0
- package/esm2020/menu/menu-module.mjs +64 -0
- package/esm2020/menu/menu-panel.mjs +37 -0
- package/{esm2015/menu/menu-stack.js → esm2020/menu/menu-stack.mjs} +0 -0
- package/esm2020/menu/menu.mjs +316 -0
- package/esm2020/menu/menu_public_index.mjs +5 -0
- package/{esm2015/menu/pointer-focus-tracker.js → esm2020/menu/pointer-focus-tracker.mjs} +1 -1
- package/{esm2015/menu/public-api.js → esm2020/menu/public-api.mjs} +0 -0
- package/{esm2015/popover-edit/constants.js → esm2020/popover-edit/constants.mjs} +0 -0
- package/esm2020/popover-edit/edit-event-dispatcher.mjs +215 -0
- package/esm2020/popover-edit/edit-ref.mjs +84 -0
- package/esm2020/popover-edit/edit-services.mjs +48 -0
- package/esm2020/popover-edit/focus-dispatcher.mjs +82 -0
- package/esm2020/popover-edit/focus-escape-notifier.mjs +63 -0
- package/{esm2015/popover-edit/form-value-container.js → esm2020/popover-edit/form-value-container.mjs} +0 -0
- package/esm2020/popover-edit/index.mjs +9 -0
- package/esm2020/popover-edit/lens-directives.mjs +210 -0
- package/esm2020/popover-edit/polyfill.mjs +37 -0
- package/esm2020/popover-edit/popover-edit-module.mjs +62 -0
- package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +76 -0
- package/esm2020/popover-edit/popover-edit_public_index.mjs +5 -0
- package/{esm2015/popover-edit/public-api.js → esm2020/popover-edit/public-api.mjs} +0 -0
- package/esm2020/popover-edit/table-directives.mjs +400 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/esm2020/scrolling/auto-size-virtual-scroll.mjs +421 -0
- package/esm2020/scrolling/index.mjs +9 -0
- package/{esm2015/scrolling/public-api.js → esm2020/scrolling/public-api.mjs} +0 -0
- package/esm2020/scrolling/scrolling-module.mjs +23 -0
- package/esm2020/scrolling/scrolling_public_index.mjs +5 -0
- package/esm2020/selection/index.mjs +9 -0
- package/{esm2015/selection/public-api.js → esm2020/selection/public-api.mjs} +0 -0
- package/esm2020/selection/row-selection.mjs +49 -0
- package/esm2020/selection/select-all.mjs +109 -0
- package/esm2020/selection/selection-column.mjs +134 -0
- package/esm2020/selection/selection-module.mjs +40 -0
- package/{esm2015/selection/selection-set.js → esm2020/selection/selection-set.mjs} +1 -1
- package/esm2020/selection/selection-toggle.mjs +101 -0
- package/esm2020/selection/selection.mjs +186 -0
- package/esm2020/selection/selection_public_index.mjs +5 -0
- package/esm2020/table-scroll-container/index.mjs +9 -0
- package/{esm2015/table-scroll-container/public-api.js → esm2020/table-scroll-container/public-api.mjs} +0 -0
- package/esm2020/table-scroll-container/table-scroll-container-module.mjs +23 -0
- package/esm2020/table-scroll-container/table-scroll-container.mjs +131 -0
- package/esm2020/table-scroll-container/table-scroll-container_public_index.mjs +5 -0
- package/{esm2015/version.js → esm2020/version.mjs} +1 -1
- package/fesm2015/{cdk-experimental.js → cdk-experimental.mjs} +2 -2
- package/fesm2015/cdk-experimental.mjs.map +1 -0
- package/fesm2015/{column-resize.js → column-resize.mjs} +213 -175
- package/fesm2015/column-resize.mjs.map +1 -0
- package/fesm2015/{combobox.js → combobox.mjs} +134 -102
- package/fesm2015/combobox.mjs.map +1 -0
- package/fesm2015/dialog.mjs +813 -0
- package/fesm2015/dialog.mjs.map +1 -0
- package/fesm2015/{listbox.js → listbox.mjs} +128 -91
- package/fesm2015/listbox.mjs.map +1 -0
- package/fesm2015/{menu.js → menu.mjs} +576 -397
- package/fesm2015/menu.mjs.map +1 -0
- package/fesm2015/{popover-edit.js → popover-edit.mjs} +257 -230
- package/fesm2015/popover-edit.mjs.map +1 -0
- package/fesm2015/{scrolling.js → scrolling.mjs} +66 -36
- package/fesm2015/scrolling.mjs.map +1 -0
- package/fesm2015/selection.mjs +693 -0
- package/fesm2015/selection.mjs.map +1 -0
- package/fesm2015/{table-scroll-container.js → table-scroll-container.mjs} +43 -30
- package/fesm2015/table-scroll-container.mjs.map +1 -0
- package/fesm2020/cdk-experimental.mjs +30 -0
- package/fesm2020/cdk-experimental.mjs.map +1 -0
- package/fesm2020/column-resize.mjs +1016 -0
- package/fesm2020/column-resize.mjs.map +1 -0
- package/fesm2020/combobox.mjs +430 -0
- package/fesm2020/combobox.mjs.map +1 -0
- package/{fesm2015/dialog.js → fesm2020/dialog.mjs} +156 -104
- package/fesm2020/dialog.mjs.map +1 -0
- package/fesm2020/listbox.mjs +541 -0
- package/fesm2020/listbox.mjs.map +1 -0
- package/fesm2020/menu.mjs +2202 -0
- package/fesm2020/menu.mjs.map +1 -0
- package/fesm2020/popover-edit.mjs +1289 -0
- package/fesm2020/popover-edit.mjs.map +1 -0
- package/fesm2020/scrolling.mjs +464 -0
- package/fesm2020/scrolling.mjs.map +1 -0
- package/{fesm2015/selection.js → fesm2020/selection.mjs} +195 -107
- package/fesm2020/selection.mjs.map +1 -0
- package/fesm2020/table-scroll-container.mjs +173 -0
- package/fesm2020/table-scroll-container.mjs.map +1 -0
- package/listbox/index.d.ts +5 -1
- package/listbox/listbox-module.d.ts +5 -7
- package/listbox/listbox.d.ts +5 -0
- package/listbox/listbox_public_index.d.ts +4 -0
- package/listbox/package.json +6 -6
- package/menu/context-menu.d.ts +5 -0
- package/menu/index.d.ts +5 -3
- package/menu/menu-aim.d.ts +5 -0
- package/menu/menu-bar.d.ts +3 -0
- package/menu/menu-group.d.ts +3 -0
- package/menu/menu-item-checkbox.d.ts +3 -7
- package/menu/menu-item-radio.d.ts +3 -0
- package/menu/menu-item-selectable.d.ts +3 -0
- package/menu/menu-item-trigger.d.ts +3 -0
- package/menu/menu-item.d.ts +3 -0
- package/menu/menu-module.d.ts +15 -7
- package/menu/menu-panel.d.ts +3 -0
- package/menu/menu.d.ts +3 -0
- package/menu/menu_public_index.d.ts +4 -0
- package/menu/package.json +6 -6
- package/package.json +94 -8
- package/popover-edit/edit-event-dispatcher.d.ts +3 -0
- package/popover-edit/edit-ref.d.ts +3 -0
- package/popover-edit/edit-services.d.ts +3 -0
- package/popover-edit/focus-dispatcher.d.ts +3 -0
- package/popover-edit/focus-escape-notifier.d.ts +3 -0
- package/popover-edit/index.d.ts +5 -3
- package/popover-edit/lens-directives.d.ts +7 -0
- package/popover-edit/package.json +6 -6
- package/popover-edit/popover-edit-module.d.ts +7 -7
- package/popover-edit/popover-edit-position-strategy-factory.d.ts +5 -0
- package/popover-edit/popover-edit_public_index.d.ts +4 -0
- package/popover-edit/table-directives.d.ts +11 -0
- package/scrolling/auto-size-virtual-scroll.d.ts +3 -0
- package/scrolling/index.d.ts +5 -1
- package/scrolling/package.json +6 -6
- package/scrolling/scrolling-module.d.ts +5 -7
- package/scrolling/scrolling_public_index.d.ts +4 -0
- package/selection/index.d.ts +5 -1
- package/selection/package.json +6 -6
- package/selection/row-selection.d.ts +3 -0
- package/selection/select-all.d.ts +3 -0
- package/selection/selection-column.d.ts +3 -0
- package/selection/selection-module.d.ts +11 -7
- package/selection/selection-toggle.d.ts +3 -0
- package/selection/selection.d.ts +3 -0
- package/selection/selection_public_index.d.ts +4 -0
- package/table-scroll-container/index.d.ts +5 -1
- package/table-scroll-container/package.json +6 -6
- package/table-scroll-container/table-scroll-container-module.d.ts +5 -7
- package/table-scroll-container/table-scroll-container.d.ts +3 -0
- package/table-scroll-container/table-scroll-container_public_index.d.ts +4 -0
- package/bundles/cdk-experimental-column-resize.umd.js +0 -1324
- package/bundles/cdk-experimental-column-resize.umd.js.map +0 -1
- package/bundles/cdk-experimental-combobox.umd.js +0 -443
- package/bundles/cdk-experimental-combobox.umd.js.map +0 -1
- package/bundles/cdk-experimental-dialog.umd.js +0 -1113
- package/bundles/cdk-experimental-dialog.umd.js.map +0 -1
- package/bundles/cdk-experimental-listbox.umd.js +0 -935
- package/bundles/cdk-experimental-listbox.umd.js.map +0 -1
- package/bundles/cdk-experimental-menu.umd.js +0 -2461
- package/bundles/cdk-experimental-menu.umd.js.map +0 -1
- package/bundles/cdk-experimental-popover-edit.umd.js +0 -1679
- package/bundles/cdk-experimental-popover-edit.umd.js.map +0 -1
- package/bundles/cdk-experimental-scrolling.umd.js +0 -459
- package/bundles/cdk-experimental-scrolling.umd.js.map +0 -1
- package/bundles/cdk-experimental-selection.umd.js +0 -961
- package/bundles/cdk-experimental-selection.umd.js.map +0 -1
- package/bundles/cdk-experimental-table-scroll-container.umd.js +0 -499
- package/bundles/cdk-experimental-table-scroll-container.umd.js.map +0 -1
- package/bundles/cdk-experimental.umd.js +0 -38
- package/bundles/cdk-experimental.umd.js.map +0 -1
- package/column-resize/index.metadata.json +0 -1
- package/combobox/index.metadata.json +0 -1
- package/dialog/index.metadata.json +0 -1
- package/esm2015/cdk-experimental.externs.js +0 -0
- package/esm2015/column-resize/column-resize-directives/column-resize-flex.js +0 -46
- package/esm2015/column-resize/column-resize-directives/column-resize.js +0 -46
- package/esm2015/column-resize/column-resize-directives/default-enabled-column-resize-flex.js +0 -46
- package/esm2015/column-resize/column-resize-directives/default-enabled-column-resize.js +0 -46
- package/esm2015/column-resize/column-resize-module.js +0 -37
- package/esm2015/column-resize/column-resize-notifier.js +0 -45
- package/esm2015/column-resize/column-resize.externs.js +0 -6
- package/esm2015/column-resize/column-resize.js +0 -71
- package/esm2015/column-resize/column-size-store.js +0 -17
- package/esm2015/column-resize/event-dispatcher.js +0 -70
- package/esm2015/column-resize/index.js +0 -6
- package/esm2015/column-resize/overlay-handle.js +0 -139
- package/esm2015/column-resize/resizable.js +0 -185
- package/esm2015/column-resize/resize-strategy.js +0 -227
- package/esm2015/combobox/combobox-module.js +0 -23
- package/esm2015/combobox/combobox-panel.js +0 -55
- package/esm2015/combobox/combobox-popup.js +0 -74
- package/esm2015/combobox/combobox.externs.js +0 -6
- package/esm2015/combobox/combobox.js +0 -248
- package/esm2015/combobox/index.js +0 -5
- package/esm2015/dialog/dialog-container.js +0 -289
- package/esm2015/dialog/dialog-injectors.js +0 -30
- package/esm2015/dialog/dialog-module.js +0 -47
- package/esm2015/dialog/dialog-ref.js +0 -115
- package/esm2015/dialog/dialog.externs.js +0 -6
- package/esm2015/dialog/dialog.js +0 -238
- package/esm2015/dialog/index.js +0 -5
- package/esm2015/listbox/index.js +0 -5
- package/esm2015/listbox/listbox-module.js +0 -19
- package/esm2015/listbox/listbox.externs.js +0 -6
- package/esm2015/listbox/listbox.js +0 -481
- package/esm2015/menu/context-menu.js +0 -280
- package/esm2015/menu/index.js +0 -6
- package/esm2015/menu/menu-aim.js +0 -195
- package/esm2015/menu/menu-bar.js +0 -252
- package/esm2015/menu/menu-group.js +0 -63
- package/esm2015/menu/menu-item-checkbox.js +0 -41
- package/esm2015/menu/menu-item-radio.js +0 -73
- package/esm2015/menu/menu-item-selectable.js +0 -51
- package/esm2015/menu/menu-item-trigger.js +0 -354
- package/esm2015/menu/menu-item.js +0 -253
- package/esm2015/menu/menu-module.js +0 -41
- package/esm2015/menu/menu-panel.js +0 -37
- package/esm2015/menu/menu.externs.js +0 -6
- package/esm2015/menu/menu.js +0 -293
- package/esm2015/popover-edit/edit-event-dispatcher.js +0 -215
- package/esm2015/popover-edit/edit-ref.js +0 -82
- package/esm2015/popover-edit/edit-services.js +0 -49
- package/esm2015/popover-edit/focus-dispatcher.js +0 -83
- package/esm2015/popover-edit/focus-escape-notifier.js +0 -64
- package/esm2015/popover-edit/index.js +0 -7
- package/esm2015/popover-edit/lens-directives.js +0 -199
- package/esm2015/popover-edit/polyfill.js +0 -35
- package/esm2015/popover-edit/popover-edit-module.js +0 -38
- package/esm2015/popover-edit/popover-edit-position-strategy-factory.js +0 -70
- package/esm2015/popover-edit/popover-edit.externs.js +0 -6
- package/esm2015/popover-edit/table-directives.js +0 -390
- package/esm2015/scrolling/auto-size-virtual-scroll.js +0 -403
- package/esm2015/scrolling/index.js +0 -5
- package/esm2015/scrolling/scrolling-module.js +0 -18
- package/esm2015/scrolling/scrolling.externs.js +0 -6
- package/esm2015/selection/index.js +0 -5
- package/esm2015/selection/row-selection.js +0 -41
- package/esm2015/selection/select-all.js +0 -96
- package/esm2015/selection/selection-column.js +0 -93
- package/esm2015/selection/selection-module.js +0 -40
- package/esm2015/selection/selection-toggle.js +0 -82
- package/esm2015/selection/selection.externs.js +0 -6
- package/esm2015/selection/selection.js +0 -176
- package/esm2015/table-scroll-container/index.js +0 -5
- package/esm2015/table-scroll-container/table-scroll-container-module.js +0 -18
- package/esm2015/table-scroll-container/table-scroll-container.externs.js +0 -6
- package/esm2015/table-scroll-container/table-scroll-container.js +0 -133
- package/fesm2015/cdk-experimental.js.map +0 -1
- package/fesm2015/column-resize.js.map +0 -1
- package/fesm2015/combobox.js.map +0 -1
- package/fesm2015/dialog.js.map +0 -1
- package/fesm2015/listbox.js.map +0 -1
- package/fesm2015/menu.js.map +0 -1
- package/fesm2015/popover-edit.js.map +0 -1
- package/fesm2015/scrolling.js.map +0 -1
- package/fesm2015/selection.js.map +0 -1
- package/fesm2015/table-scroll-container.js.map +0 -1
- package/listbox/index.metadata.json +0 -1
- package/menu/index.metadata.json +0 -1
- package/popover-edit/index.metadata.json +0 -1
- package/scrolling/index.metadata.json +0 -1
- package/selection/index.metadata.json +0 -1
- package/table-scroll-container/index.metadata.json +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
2
|
import { isDataSource } from '@angular/cdk/collections';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
3
4
|
import { EventEmitter, Directive, Input, Output, Optional, Inject, Self, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
|
|
4
5
|
import { Subject, Observable, of } from 'rxjs';
|
|
5
6
|
import { takeUntil, switchMap, distinctUntilChanged } from 'rxjs/operators';
|
|
6
7
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
+
import * as i1 from '@angular/cdk/table';
|
|
7
9
|
import { CdkTable, CdkColumnDef, CdkCellDef, CdkHeaderCellDef, CdkTableModule } from '@angular/cdk/table';
|
|
10
|
+
import * as i2 from '@angular/common';
|
|
8
11
|
import { CommonModule } from '@angular/common';
|
|
9
12
|
|
|
10
13
|
/**
|
|
@@ -150,14 +153,15 @@ class CdkSelection {
|
|
|
150
153
|
if (dataStream == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
151
154
|
throw Error('Unknown data source');
|
|
152
155
|
}
|
|
153
|
-
this._renderChangeSubscription =
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
156
|
+
this._renderChangeSubscription = dataStream
|
|
157
|
+
.pipe(takeUntil(this._destroyed))
|
|
158
|
+
.subscribe(data => {
|
|
159
|
+
this._data = data || [];
|
|
160
|
+
});
|
|
157
161
|
}
|
|
158
162
|
ngOnInit() {
|
|
159
163
|
this._selection = new SelectionSet(this._multiple, this.trackByFn);
|
|
160
|
-
this._selection.changed.pipe(takeUntil(this._destroyed)).subscribe(
|
|
164
|
+
this._selection.changed.pipe(takeUntil(this._destroyed)).subscribe(change => {
|
|
161
165
|
this._updateSelectAllState();
|
|
162
166
|
this.change.emit(change);
|
|
163
167
|
});
|
|
@@ -214,8 +218,8 @@ class CdkSelection {
|
|
|
214
218
|
}
|
|
215
219
|
/** Checks whether partially selected. */
|
|
216
220
|
isPartialSelected() {
|
|
217
|
-
return !this.isAllSelected() &&
|
|
218
|
-
this._data.some((value, index) => this._selection.isSelected({ value, index }));
|
|
221
|
+
return (!this.isAllSelected() &&
|
|
222
|
+
this._data.some((value, index) => this._selection.isSelected({ value, index })));
|
|
219
223
|
}
|
|
220
224
|
_selectAll() {
|
|
221
225
|
const toSelect = [];
|
|
@@ -243,18 +247,26 @@ class CdkSelection {
|
|
|
243
247
|
}
|
|
244
248
|
}
|
|
245
249
|
}
|
|
246
|
-
CdkSelection
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
]
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
250
|
+
CdkSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
251
|
+
CdkSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkSelection, selector: "[cdkSelection]", inputs: { dataSource: "dataSource", trackByFn: ["trackBy", "trackByFn"], multiple: ["cdkSelectionMultiple", "multiple"] }, outputs: { change: "cdkSelectionChange" }, exportAs: ["cdkSelection"], ngImport: i0 });
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelection, decorators: [{
|
|
253
|
+
type: Directive,
|
|
254
|
+
args: [{
|
|
255
|
+
selector: '[cdkSelection]',
|
|
256
|
+
exportAs: 'cdkSelection',
|
|
257
|
+
}]
|
|
258
|
+
}], propDecorators: { dataSource: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], trackByFn: [{
|
|
261
|
+
type: Input,
|
|
262
|
+
args: ['trackBy']
|
|
263
|
+
}], multiple: [{
|
|
264
|
+
type: Input,
|
|
265
|
+
args: ['cdkSelectionMultiple']
|
|
266
|
+
}], change: [{
|
|
267
|
+
type: Output,
|
|
268
|
+
args: ['cdkSelectionChange']
|
|
269
|
+
}] } });
|
|
258
270
|
|
|
259
271
|
/**
|
|
260
272
|
* @license
|
|
@@ -318,7 +330,7 @@ class CdkSelectAll {
|
|
|
318
330
|
this.toggle();
|
|
319
331
|
}
|
|
320
332
|
});
|
|
321
|
-
this.checked.pipe(takeUntil(this._destroyed)).subscribe(
|
|
333
|
+
this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {
|
|
322
334
|
this._controlValueAccessor[0].writeValue(state);
|
|
323
335
|
});
|
|
324
336
|
}
|
|
@@ -336,16 +348,27 @@ class CdkSelectAll {
|
|
|
336
348
|
this._destroyed.complete();
|
|
337
349
|
}
|
|
338
350
|
}
|
|
339
|
-
CdkSelectAll
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
]
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
351
|
+
CdkSelectAll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectAll, deps: [{ token: CdkSelection, optional: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
352
|
+
CdkSelectAll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkSelectAll, selector: "[cdkSelectAll]", exportAs: ["cdkSelectAll"], ngImport: i0 });
|
|
353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectAll, decorators: [{
|
|
354
|
+
type: Directive,
|
|
355
|
+
args: [{
|
|
356
|
+
selector: '[cdkSelectAll]',
|
|
357
|
+
exportAs: 'cdkSelectAll',
|
|
358
|
+
}]
|
|
359
|
+
}], ctorParameters: function () { return [{ type: CdkSelection, decorators: [{
|
|
360
|
+
type: Optional
|
|
361
|
+
}, {
|
|
362
|
+
type: Inject,
|
|
363
|
+
args: [CdkSelection]
|
|
364
|
+
}] }, { type: undefined, decorators: [{
|
|
365
|
+
type: Optional
|
|
366
|
+
}, {
|
|
367
|
+
type: Self
|
|
368
|
+
}, {
|
|
369
|
+
type: Inject,
|
|
370
|
+
args: [NG_VALUE_ACCESSOR]
|
|
371
|
+
}] }]; } });
|
|
349
372
|
|
|
350
373
|
/**
|
|
351
374
|
* @license
|
|
@@ -373,8 +396,12 @@ class CdkSelectionToggle {
|
|
|
373
396
|
this._destroyed = new Subject();
|
|
374
397
|
}
|
|
375
398
|
/** The index of the value in the list. Required when used with `trackBy` */
|
|
376
|
-
get index() {
|
|
377
|
-
|
|
399
|
+
get index() {
|
|
400
|
+
return this._index;
|
|
401
|
+
}
|
|
402
|
+
set index(index) {
|
|
403
|
+
this._index = coerceNumberProperty(index);
|
|
404
|
+
}
|
|
378
405
|
/** Toggles the selection */
|
|
379
406
|
toggle() {
|
|
380
407
|
this._selection.toggleSelection(this.value, this.index);
|
|
@@ -399,7 +426,7 @@ class CdkSelectionToggle {
|
|
|
399
426
|
this.toggle();
|
|
400
427
|
}
|
|
401
428
|
});
|
|
402
|
-
this.checked.pipe(takeUntil(this._destroyed)).subscribe(
|
|
429
|
+
this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {
|
|
403
430
|
this._controlValueAccessors[0].writeValue(state);
|
|
404
431
|
});
|
|
405
432
|
}
|
|
@@ -408,20 +435,33 @@ class CdkSelectionToggle {
|
|
|
408
435
|
return this._selection.isSelected(this.value, this.index);
|
|
409
436
|
}
|
|
410
437
|
}
|
|
411
|
-
CdkSelectionToggle
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
]
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
}
|
|
438
|
+
CdkSelectionToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionToggle, deps: [{ token: CdkSelection, optional: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
439
|
+
CdkSelectionToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkSelectionToggle, selector: "[cdkSelectionToggle]", inputs: { value: ["cdkSelectionToggleValue", "value"], index: ["cdkSelectionToggleIndex", "index"] }, exportAs: ["cdkSelectionToggle"], ngImport: i0 });
|
|
440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionToggle, decorators: [{
|
|
441
|
+
type: Directive,
|
|
442
|
+
args: [{
|
|
443
|
+
selector: '[cdkSelectionToggle]',
|
|
444
|
+
exportAs: 'cdkSelectionToggle',
|
|
445
|
+
}]
|
|
446
|
+
}], ctorParameters: function () { return [{ type: CdkSelection, decorators: [{
|
|
447
|
+
type: Optional
|
|
448
|
+
}, {
|
|
449
|
+
type: Inject,
|
|
450
|
+
args: [CdkSelection]
|
|
451
|
+
}] }, { type: undefined, decorators: [{
|
|
452
|
+
type: Optional
|
|
453
|
+
}, {
|
|
454
|
+
type: Self
|
|
455
|
+
}, {
|
|
456
|
+
type: Inject,
|
|
457
|
+
args: [NG_VALUE_ACCESSOR]
|
|
458
|
+
}] }]; }, propDecorators: { value: [{
|
|
459
|
+
type: Input,
|
|
460
|
+
args: ['cdkSelectionToggleValue']
|
|
461
|
+
}], index: [{
|
|
462
|
+
type: Input,
|
|
463
|
+
args: ['cdkSelectionToggleIndex']
|
|
464
|
+
}] } });
|
|
425
465
|
|
|
426
466
|
/**
|
|
427
467
|
* @license
|
|
@@ -459,7 +499,7 @@ class CdkSelectionColumn {
|
|
|
459
499
|
this._columnDef.headerCell = this._headerCell;
|
|
460
500
|
this._table.addColumnDef(this._columnDef);
|
|
461
501
|
}
|
|
462
|
-
else if (
|
|
502
|
+
else if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
463
503
|
throw Error('CdkSelectionColumn: missing parent table');
|
|
464
504
|
}
|
|
465
505
|
}
|
|
@@ -474,10 +514,33 @@ class CdkSelectionColumn {
|
|
|
474
514
|
}
|
|
475
515
|
}
|
|
476
516
|
}
|
|
477
|
-
CdkSelectionColumn
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
517
|
+
CdkSelectionColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionColumn, deps: [{ token: CdkTable, optional: true }, { token: CdkSelection, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
518
|
+
CdkSelectionColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkSelectionColumn, 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: `
|
|
519
|
+
<ng-container cdkColumnDef>
|
|
520
|
+
<th cdkHeaderCell *cdkHeaderCellDef>
|
|
521
|
+
<input type="checkbox" *ngIf="selection.multiple"
|
|
522
|
+
cdkSelectAll
|
|
523
|
+
#allToggler="cdkSelectAll"
|
|
524
|
+
[checked]="allToggler.checked | async"
|
|
525
|
+
[indeterminate]="allToggler.indeterminate | async"
|
|
526
|
+
(click)="allToggler.toggle($event)">
|
|
527
|
+
</th>
|
|
528
|
+
<td cdkCell *cdkCellDef="let row; let i = $index">
|
|
529
|
+
<input type="checkbox"
|
|
530
|
+
#toggler="cdkSelectionToggle"
|
|
531
|
+
cdkSelectionToggle
|
|
532
|
+
[cdkSelectionToggleValue]="row"
|
|
533
|
+
[cdkSelectionToggleIndex]="i"
|
|
534
|
+
(click)="toggler.toggle()"
|
|
535
|
+
[checked]="toggler.checked | async">
|
|
536
|
+
</td>
|
|
537
|
+
</ng-container>
|
|
538
|
+
`, isInline: true, directives: [{ type: i1.CdkColumnDef, selector: "[cdkColumnDef]", inputs: ["sticky", "cdkColumnDef", "stickyEnd"] }, { type: i1.CdkHeaderCellDef, selector: "[cdkHeaderCellDef]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: CdkSelectAll, selector: "[cdkSelectAll]", exportAs: ["cdkSelectAll"] }, { type: i1.CdkCellDef, selector: "[cdkCellDef]" }, { type: CdkSelectionToggle, selector: "[cdkSelectionToggle]", inputs: ["cdkSelectionToggleValue", "cdkSelectionToggleIndex"], exportAs: ["cdkSelectionToggle"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
539
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionColumn, decorators: [{
|
|
540
|
+
type: Component,
|
|
541
|
+
args: [{
|
|
542
|
+
selector: 'cdk-selection-column',
|
|
543
|
+
template: `
|
|
481
544
|
<ng-container cdkColumnDef>
|
|
482
545
|
<th cdkHeaderCell *cdkHeaderCellDef>
|
|
483
546
|
<input type="checkbox" *ngIf="selection.multiple"
|
|
@@ -498,20 +561,32 @@ CdkSelectionColumn.decorators = [
|
|
|
498
561
|
</td>
|
|
499
562
|
</ng-container>
|
|
500
563
|
`,
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
]
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
]
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
};
|
|
564
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
565
|
+
encapsulation: ViewEncapsulation.None,
|
|
566
|
+
}]
|
|
567
|
+
}], ctorParameters: function () { return [{ type: i1.CdkTable, decorators: [{
|
|
568
|
+
type: Optional
|
|
569
|
+
}, {
|
|
570
|
+
type: Inject,
|
|
571
|
+
args: [CdkTable]
|
|
572
|
+
}] }, { type: CdkSelection, decorators: [{
|
|
573
|
+
type: Optional
|
|
574
|
+
}, {
|
|
575
|
+
type: Inject,
|
|
576
|
+
args: [CdkSelection]
|
|
577
|
+
}] }]; }, propDecorators: { name: [{
|
|
578
|
+
type: Input,
|
|
579
|
+
args: ['cdkSelectionColumnName']
|
|
580
|
+
}], _columnDef: [{
|
|
581
|
+
type: ViewChild,
|
|
582
|
+
args: [CdkColumnDef, { static: true }]
|
|
583
|
+
}], _cell: [{
|
|
584
|
+
type: ViewChild,
|
|
585
|
+
args: [CdkCellDef, { static: true }]
|
|
586
|
+
}], _headerCell: [{
|
|
587
|
+
type: ViewChild,
|
|
588
|
+
args: [CdkHeaderCellDef, { static: true }]
|
|
589
|
+
}] } });
|
|
515
590
|
|
|
516
591
|
/**
|
|
517
592
|
* @license
|
|
@@ -531,25 +606,31 @@ class CdkRowSelection {
|
|
|
531
606
|
constructor(_selection) {
|
|
532
607
|
this._selection = _selection;
|
|
533
608
|
}
|
|
534
|
-
get index() {
|
|
535
|
-
|
|
609
|
+
get index() {
|
|
610
|
+
return this._index;
|
|
611
|
+
}
|
|
612
|
+
set index(index) {
|
|
613
|
+
this._index = coerceNumberProperty(index);
|
|
614
|
+
}
|
|
536
615
|
}
|
|
537
|
-
CdkRowSelection
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
'[
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
]
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
];
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
616
|
+
CdkRowSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRowSelection, deps: [{ token: CdkSelection }], target: i0.ɵɵFactoryTarget.Directive });
|
|
617
|
+
CdkRowSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: CdkRowSelection, 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 });
|
|
618
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkRowSelection, decorators: [{
|
|
619
|
+
type: Directive,
|
|
620
|
+
args: [{
|
|
621
|
+
selector: '[cdkRowSelection]',
|
|
622
|
+
host: {
|
|
623
|
+
'[class.cdk-selected]': '_selection.isSelected(this.value, this.index)',
|
|
624
|
+
'[attr.aria-selected]': '_selection.isSelected(this.value, this.index)',
|
|
625
|
+
},
|
|
626
|
+
}]
|
|
627
|
+
}], ctorParameters: function () { return [{ type: CdkSelection }]; }, propDecorators: { value: [{
|
|
628
|
+
type: Input,
|
|
629
|
+
args: ['cdkRowSelectionValue']
|
|
630
|
+
}], index: [{
|
|
631
|
+
type: Input,
|
|
632
|
+
args: ['cdkRowSelectionIndex']
|
|
633
|
+
}] } });
|
|
553
634
|
|
|
554
635
|
/**
|
|
555
636
|
* @license
|
|
@@ -560,28 +641,35 @@ CdkRowSelection.propDecorators = {
|
|
|
560
641
|
*/
|
|
561
642
|
class CdkSelectionModule {
|
|
562
643
|
}
|
|
563
|
-
CdkSelectionModule
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
CdkRowSelection,
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
]
|
|
583
|
-
|
|
584
|
-
|
|
644
|
+
CdkSelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
645
|
+
CdkSelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionModule, declarations: [CdkSelection,
|
|
646
|
+
CdkSelectionToggle,
|
|
647
|
+
CdkSelectAll,
|
|
648
|
+
CdkSelectionColumn,
|
|
649
|
+
CdkRowSelection], imports: [CommonModule, CdkTableModule], exports: [CdkSelection, CdkSelectionToggle, CdkSelectAll, CdkSelectionColumn, CdkRowSelection] });
|
|
650
|
+
CdkSelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionModule, imports: [[CommonModule, CdkTableModule]] });
|
|
651
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: CdkSelectionModule, decorators: [{
|
|
652
|
+
type: NgModule,
|
|
653
|
+
args: [{
|
|
654
|
+
imports: [CommonModule, CdkTableModule],
|
|
655
|
+
exports: [CdkSelection, CdkSelectionToggle, CdkSelectAll, CdkSelectionColumn, CdkRowSelection],
|
|
656
|
+
declarations: [
|
|
657
|
+
CdkSelection,
|
|
658
|
+
CdkSelectionToggle,
|
|
659
|
+
CdkSelectAll,
|
|
660
|
+
CdkSelectionColumn,
|
|
661
|
+
CdkRowSelection,
|
|
662
|
+
],
|
|
663
|
+
}]
|
|
664
|
+
}] });
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* @license
|
|
668
|
+
* Copyright Google LLC All Rights Reserved.
|
|
669
|
+
*
|
|
670
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
671
|
+
* found in the LICENSE file at https://angular.io/license
|
|
672
|
+
*/
|
|
585
673
|
|
|
586
674
|
/**
|
|
587
675
|
* @license
|
|
@@ -596,4 +684,4 @@ CdkSelectionModule.decorators = [
|
|
|
596
684
|
*/
|
|
597
685
|
|
|
598
686
|
export { CdkRowSelection, CdkSelectAll, CdkSelection, CdkSelectionColumn, CdkSelectionModule, CdkSelectionToggle, SelectionSet };
|
|
599
|
-
//# sourceMappingURL=selection.
|
|
687
|
+
//# sourceMappingURL=selection.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.mjs","sources":["../../../../../../src/cdk-experimental/selection/selection-set.ts","../../../../../../src/cdk-experimental/selection/selection.ts","../../../../../../src/cdk-experimental/selection/select-all.ts","../../../../../../src/cdk-experimental/selection/selection-toggle.ts","../../../../../../src/cdk-experimental/selection/selection-column.ts","../../../../../../src/cdk-experimental/selection/row-selection.ts","../../../../../../src/cdk-experimental/selection/selection-module.ts","../../../../../../src/cdk-experimental/selection/public-api.ts","../../../../../../src/cdk-experimental/selection/index.ts","../../../../../../src/cdk-experimental/selection/selection_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {TrackByFunction} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * Maintains a set of selected values. One or more values can be added to or removed from the\n * selection.\n */\ninterface TrackBySelection<T> {\n isSelected(value: SelectableWithIndex<T>): boolean;\n select(...values: SelectableWithIndex<T>[]): void;\n deselect(...values: SelectableWithIndex<T>[]): void;\n changed: Subject<SelectionChange<T>>;\n}\n\n/**\n * A selectable value with an optional index. The index is required when the selection is used with\n * `trackBy`.\n */\nexport interface SelectableWithIndex<T> {\n value: T;\n index?: number;\n}\n\n/**\n * Represents the change in the selection set.\n */\nexport interface SelectionChange<T> {\n before: SelectableWithIndex<T>[];\n after: SelectableWithIndex<T>[];\n}\n\n/**\n * Maintains a set of selected items. Support selecting and deselecting items, and checking if a\n * value is selected.\n * When constructed with a `trackByFn`, all the items will be identified by applying the `trackByFn`\n * on them. Because `trackByFn` requires the index of the item to be passed in, the `index` field is\n * expected to be set when calling `isSelected`, `select` and `deselect`.\n */\nexport class SelectionSet<T> implements TrackBySelection<T> {\n private _selectionMap = new Map<T | ReturnType<TrackByFunction<T>>, SelectableWithIndex<T>>();\n changed = new Subject<SelectionChange<T>>();\n\n constructor(private _multiple = false, private _trackByFn?: TrackByFunction<T>) {}\n\n isSelected(value: SelectableWithIndex<T>): boolean {\n return this._selectionMap.has(this._getTrackedByValue(value));\n }\n\n select(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n\n if (!this._multiple) {\n this._selectionMap.clear();\n }\n\n const toSelect: SelectableWithIndex<T>[] = [];\n for (const select of selects) {\n if (this.isSelected(select)) {\n continue;\n }\n\n toSelect.push(select);\n this._markSelected(this._getTrackedByValue(select), select);\n }\n\n const after = this._getCurrentSelection();\n\n this.changed.next({before, after});\n }\n\n deselect(...selects: SelectableWithIndex<T>[]) {\n if (!this._multiple && selects.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: not multiple selection');\n }\n\n const before = this._getCurrentSelection();\n const toDeselect: SelectableWithIndex<T>[] = [];\n\n for (const select of selects) {\n if (!this.isSelected(select)) {\n continue;\n }\n\n toDeselect.push(select);\n this._markDeselected(this._getTrackedByValue(select));\n }\n\n const after = this._getCurrentSelection();\n this.changed.next({before, after});\n }\n\n private _markSelected(key: T | ReturnType<TrackByFunction<T>>, toSelect: SelectableWithIndex<T>) {\n this._selectionMap.set(key, toSelect);\n }\n\n private _markDeselected(key: T | ReturnType<TrackByFunction<T>>) {\n this._selectionMap.delete(key);\n }\n\n private _getTrackedByValue(select: SelectableWithIndex<T>) {\n if (!this._trackByFn) {\n return select.value;\n }\n\n if (select.index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('SelectionSet: index required when trackByFn is used.');\n }\n\n return this._trackByFn(select.index!, select.value);\n }\n\n private _getCurrentSelection(): SelectableWithIndex<T>[] {\n return Array.from(this._selectionMap.values());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {CollectionViewer, DataSource, isDataSource, ListRange} from '@angular/cdk/collections';\nimport {\n AfterContentChecked,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TrackByFunction,\n} from '@angular/core';\nimport {Observable, of as observableOf, Subject, Subscription} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {SelectableWithIndex, SelectionChange, SelectionSet} from './selection-set';\n\n/**\n * Manages the selection states of the items and provides methods to check and update the selection\n * states.\n * It must be applied to the parent element if `cdkSelectionToggle`, `cdkSelectAll`,\n * `cdkRowSelection` and `cdkSelectionColumn` are applied.\n */\n@Directive({\n selector: '[cdkSelection]',\n exportAs: 'cdkSelection',\n})\nexport class CdkSelection<T> implements OnInit, AfterContentChecked, CollectionViewer, OnDestroy {\n viewChange: Observable<ListRange>;\n\n @Input()\n get dataSource(): TableDataSource<T> {\n return this._dataSource;\n }\n set dataSource(dataSource: TableDataSource<T>) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n private _dataSource: TableDataSource<T>;\n\n @Input('trackBy') trackByFn: TrackByFunction<T>;\n\n /** Whether to support multiple selection */\n @Input('cdkSelectionMultiple')\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n protected _multiple: boolean;\n\n /** Emits when selection changes. */\n @Output('cdkSelectionChange') readonly change = new EventEmitter<SelectionChange<T>>();\n\n /** Latest data provided by the data source. */\n private _data: T[] | readonly T[];\n\n /** Subscription that listens for the data provided by the data source. */\n private _renderChangeSubscription: Subscription | null;\n\n private _destroyed = new Subject<void>();\n\n private _selection: SelectionSet<T>;\n\n private _switchDataSource(dataSource: TableDataSource<T>) {\n this._data = [];\n\n // TODO: Move this logic to a shared function in `cdk/collections`.\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n\n this._dataSource = dataSource;\n }\n\n private _observeRenderChanges() {\n if (!this._dataSource) {\n return;\n }\n\n let dataStream: Observable<readonly T[]> | undefined;\n\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (this._dataSource instanceof Observable) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = observableOf(this._dataSource);\n }\n\n if (dataStream == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Unknown data source');\n }\n\n this._renderChangeSubscription = dataStream!\n .pipe(takeUntil(this._destroyed))\n .subscribe(data => {\n this._data = data || [];\n });\n }\n\n ngOnInit() {\n this._selection = new SelectionSet<T>(this._multiple, this.trackByFn);\n this._selection.changed.pipe(takeUntil(this._destroyed)).subscribe(change => {\n this._updateSelectAllState();\n this.change.emit(change);\n });\n }\n\n ngAfterContentChecked() {\n if (this._dataSource && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n\n if (isDataSource(this._dataSource)) {\n this._dataSource.disconnect(this);\n }\n }\n\n /** Toggles selection for a given value. `index` is required if `trackBy` is used. */\n toggleSelection(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n if (this.isSelected(value, index)) {\n this._selection.deselect({value, index});\n } else {\n this._selection.select({value, index});\n }\n }\n\n /**\n * Toggles select-all. If no value is selected, select all values. If all values or some of the\n * values are selected, de-select all values.\n */\n toggleSelectAll() {\n if (!this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: multiple selection not enabled');\n }\n\n if (this.selectAllState === 'none') {\n this._selectAll();\n } else {\n this._clearAll();\n }\n }\n\n /** Checks whether a value is selected. `index` is required if `trackBy` is used. */\n isSelected(value: T, index?: number) {\n if (!!this.trackByFn && index == null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelection: index required when trackBy is used');\n }\n\n return this._selection.isSelected({value, index});\n }\n\n /** Checks whether all values are selected. */\n isAllSelected() {\n return this._data.every((value, index) => this._selection.isSelected({value, index}));\n }\n\n /** Checks whether partially selected. */\n isPartialSelected() {\n return (\n !this.isAllSelected() &&\n this._data.some((value, index) => this._selection.isSelected({value, index}))\n );\n }\n\n private _selectAll() {\n const toSelect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toSelect.push({value, index});\n });\n\n this._selection.select(...toSelect);\n }\n\n private _clearAll() {\n const toDeselect: SelectableWithIndex<T>[] = [];\n this._data.forEach((value, index) => {\n toDeselect.push({value, index});\n });\n\n this._selection.deselect(...toDeselect);\n }\n\n private _updateSelectAllState() {\n if (this.isAllSelected()) {\n this.selectAllState = 'all';\n } else if (this.isPartialSelected()) {\n this.selectAllState = 'partial';\n } else {\n this.selectAllState = 'none';\n }\n }\n\n selectAllState: SelectAllState = 'none';\n\n static ngAcceptInputType_multiple: BooleanInput;\n}\n\ntype SelectAllState = 'all' | 'none' | 'partial';\ntype TableDataSource<T> = DataSource<T> | Observable<readonly T[]> | readonly T[];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Inject, OnDestroy, OnInit, Optional, Self} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a select-all toggle.\n *\n * Must be used within a parent `CdkSelection` directive. It toggles the selection states\n * of all the selection toggles connected with the `CdkSelection` directive.\n * If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the select-all state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state, `indeterminate$` to get the indeterminate state,\n * and `toggle()` to change the selection state.\n */\n@Directive({\n selector: '[cdkSelectAll]',\n exportAs: 'cdkSelectAll',\n})\nexport class CdkSelectAll<T> implements OnDestroy, OnInit {\n /**\n * The checked state of the toggle.\n * Resolves to `true` if all the values are selected, `false` if no value is selected.\n */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isAllSelected())),\n );\n\n /**\n * The indeterminate state of the toggle.\n * Resolves to `true` if part (not all) of the values are selected, `false` if all values or no\n * value at all are selected.\n */\n readonly indeterminate: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._selection.isPartialSelected())),\n );\n\n /**\n * Toggles the select-all state.\n * @param event The click event if the toggle is triggered by a (mouse or keyboard) click. If\n * using with a native `<input type=\"checkbox\">`, the parameter is required for the\n * indeterminate state to work properly.\n */\n toggle(event?: MouseEvent) {\n // This is needed when applying the directive on a native <input type=\"checkbox\">\n // checkbox. The default behavior needs to be prevented in order to support the indeterminate\n // state. The timeout is also needed so the checkbox can show the latest state.\n if (event) {\n event.preventDefault();\n }\n\n setTimeout(() => {\n this._selection.toggleSelectAll();\n });\n }\n\n private readonly _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private readonly _selection: CdkSelection<T>,\n @Optional()\n @Self()\n @Inject(NG_VALUE_ACCESSOR)\n private readonly _controlValueAccessor: ControlValueAccessor[],\n ) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessor && this._controlValueAccessor.length) {\n this._controlValueAccessor[0].registerOnChange((e: unknown) => {\n if (e === true || e === false) {\n this.toggle();\n }\n });\n this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {\n this._controlValueAccessor[0].writeValue(state);\n });\n }\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n\n if (!this._selection.multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: CdkSelection must have cdkSelectionMultiple set to true');\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, Inject, Input, OnDestroy, OnInit, Optional, Self} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {distinctUntilChanged, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Makes the element a selection toggle.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. If `trackBy` is used on `CdkSelection`, the index of the value\n * is required. If the element implements `ControlValueAccessor`, e.g. `MatCheckbox`, the directive\n * automatically connects it with the selection state provided by the `CdkSelection` directive. If\n * not, use `checked$` to get the checked state of the value, and `toggle()` to change the selection\n * state.\n */\n@Directive({\n selector: '[cdkSelectionToggle]',\n exportAs: 'cdkSelectionToggle',\n})\nexport class CdkSelectionToggle<T> implements OnDestroy, OnInit {\n /** The value that is associated with the toggle */\n @Input('cdkSelectionToggleValue') value: T;\n\n /** The index of the value in the list. Required when used with `trackBy` */\n @Input('cdkSelectionToggleIndex')\n get index(): number | undefined {\n return this._index;\n }\n set index(index: number | undefined) {\n this._index = coerceNumberProperty(index);\n }\n protected _index?: number;\n\n /** The checked state of the selection toggle */\n readonly checked: Observable<boolean> = this._selection.change.pipe(\n switchMap(() => observableOf(this._isSelected())),\n distinctUntilChanged(),\n );\n\n /** Toggles the selection */\n toggle() {\n this._selection.toggleSelection(this.value, this.index);\n }\n\n private _destroyed = new Subject<void>();\n\n constructor(\n @Optional() @Inject(CdkSelection) private _selection: CdkSelection<T>,\n @Optional()\n @Self()\n @Inject(NG_VALUE_ACCESSOR)\n private _controlValueAccessors: ControlValueAccessor[],\n ) {}\n\n ngOnInit() {\n this._assertValidParentSelection();\n this._configureControlValueAccessor();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n private _assertValidParentSelection() {\n if (!this._selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectAll: missing CdkSelection in the parent');\n }\n }\n\n private _configureControlValueAccessor() {\n if (this._controlValueAccessors && this._controlValueAccessors.length) {\n this._controlValueAccessors[0].registerOnChange((e: unknown) => {\n if (typeof e === 'boolean') {\n this.toggle();\n }\n });\n\n this.checked.pipe(takeUntil(this._destroyed)).subscribe(state => {\n this._controlValueAccessors[0].writeValue(state);\n });\n }\n }\n\n private _isSelected(): boolean {\n return this._selection.isSelected(this.value, this.index);\n }\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef, CdkTable} from '@angular/cdk/table';\nimport {\n Component,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Inject,\n} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Column that adds row selecting checkboxes and a select-all checkbox if `cdkSelectionMultiple` is\n * `true`.\n *\n * Must be used within a parent `CdkSelection` directive.\n */\n@Component({\n selector: 'cdk-selection-column',\n template: `\n <ng-container cdkColumnDef>\n <th cdkHeaderCell *cdkHeaderCellDef>\n <input type=\"checkbox\" *ngIf=\"selection.multiple\"\n cdkSelectAll\n #allToggler=\"cdkSelectAll\"\n [checked]=\"allToggler.checked | async\"\n [indeterminate]=\"allToggler.indeterminate | async\"\n (click)=\"allToggler.toggle($event)\">\n </th>\n <td cdkCell *cdkCellDef=\"let row; let i = $index\">\n <input type=\"checkbox\"\n #toggler=\"cdkSelectionToggle\"\n cdkSelectionToggle\n [cdkSelectionToggleValue]=\"row\"\n [cdkSelectionToggleIndex]=\"i\"\n (click)=\"toggler.toggle()\"\n [checked]=\"toggler.checked | async\">\n </td>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class CdkSelectionColumn<T> implements OnInit, OnDestroy {\n /** Column name that should be used to reference this column. */\n @Input('cdkSelectionColumnName')\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n\n this._syncColumnDefName();\n }\n private _name: string;\n\n @ViewChild(CdkColumnDef, {static: true}) private readonly _columnDef: CdkColumnDef;\n @ViewChild(CdkCellDef, {static: true}) private readonly _cell: CdkCellDef;\n @ViewChild(CdkHeaderCellDef, {static: true}) private readonly _headerCell: CdkHeaderCellDef;\n\n constructor(\n @Optional() @Inject(CdkTable) private _table: CdkTable<T>,\n @Optional() @Inject(CdkSelection) readonly selection: CdkSelection<T>,\n ) {}\n\n ngOnInit() {\n if (!this.selection && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkSelectionColumn: missing CdkSelection in the parent');\n }\n\n this._syncColumnDefName();\n\n if (this._table) {\n this._columnDef.cell = this._cell;\n this._columnDef.headerCell = this._headerCell;\n this._table.addColumnDef(this._columnDef);\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw Error('CdkSelectionColumn: missing parent table');\n }\n }\n\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this._columnDef);\n }\n }\n\n private _syncColumnDefName() {\n if (this._columnDef) {\n this._columnDef.name = this._name;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, Input} from '@angular/core';\n\nimport {CdkSelection} from './selection';\n\n/**\n * Applies `cdk-selected` class and `aria-selected` to an element.\n *\n * Must be used within a parent `CdkSelection` directive.\n * Must be provided with the value. The index is required if `trackBy` is used on the `CdkSelection`\n * directive.\n */\n@Directive({\n selector: '[cdkRowSelection]',\n host: {\n '[class.cdk-selected]': '_selection.isSelected(this.value, this.index)',\n '[attr.aria-selected]': '_selection.isSelected(this.value, this.index)',\n },\n})\nexport class CdkRowSelection<T> {\n @Input('cdkRowSelectionValue') value: T;\n\n @Input('cdkRowSelectionIndex')\n get index(): number | undefined {\n return this._index;\n }\n set index(index: number | undefined) {\n this._index = coerceNumberProperty(index);\n }\n protected _index?: number;\n\n constructor(readonly _selection: CdkSelection<T>) {}\n\n static ngAcceptInputType_index: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {CdkRowSelection} from './row-selection';\nimport {CdkSelectAll} from './select-all';\nimport {CdkSelection} from './selection';\nimport {CdkSelectionColumn} from './selection-column';\nimport {CdkSelectionToggle} from './selection-toggle';\n\n@NgModule({\n imports: [CommonModule, CdkTableModule],\n exports: [CdkSelection, CdkSelectionToggle, CdkSelectAll, CdkSelectionColumn, CdkRowSelection],\n declarations: [\n CdkSelection,\n CdkSelectionToggle,\n CdkSelectAll,\n CdkSelectionColumn,\n CdkRowSelection,\n ],\n})\nexport class CdkSelectionModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './selection';\nexport * from './select-all';\nexport * from './selection-toggle';\nexport * from './selection-column';\nexport * from './row-selection';\nexport * from './selection-set';\nexport * from './selection-module';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["observableOf"],"mappings":"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"}
|