@fundamental-ngx/platform 0.43.9 → 0.43.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.
@@ -54,7 +54,7 @@ import { isJsObject, FDP_PRESET_MANAGED_COMPONENT, PlatformContentDensityDepreca
54
54
  import * as i7$3 from '@fundamental-ngx/core/skeleton';
55
55
  import { SkeletonModule } from '@fundamental-ngx/core/skeleton';
56
56
  import * as i1 from '@fundamental-ngx/platform/table-helpers';
57
- import { TableColumn, FilterableColumnDataType, FdpCellDef, FdpEditableCellDef, FdpHeaderCellDef, TableCellHeaderPopoverDirective, SortDirection, getUniqueListValuesByKey, getFilterStrategiesBasedOnDataType, FILTER_STRATEGY, FilterType, FdpViewSettingsFilterCustomDef, TableService, Table, FILTER_STRING_STRATEGY, EditableTableCell, isTreeRowFirstCell, SelectionMode, TableColumnResizeService, TableRowService, isTreeRow, TableDraggableDirective, DEFAULT_HIGHLIGHTING_KEY, SEMANTIC_HIGHLIGHTING_COLUMN_WIDTH, ROW_HEIGHT, TableDataSourceDirective, FDP_TABLE_STATE_DIRECTIVE, FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE, FDP_TABLE_DRAGGABLE_DIRECTIVE, TableHeaderResizerDirective, isRowNavigatable, TableRowType, buildNewRowSkeleton, EDITABLE_ROW_SEMANTIC_STATE, SaveRowsEvent, getSelectableRows, TableRowActivateEvent, TableRowToggleOpenStateEvent, findRowChildren, getRowParents, TableSortChangeEvent, TablePageChangeEvent, TableGroupChangeEvent, TableColumnFreezeEvent, TableFilterChangeEvent, TableColumnsChangeEvent, convertObjectsToTableRows, isTableRow, convertTreeTableRowToFlatList, convertTreeObjectsToTableRows, getFreezableColumns, getFreezableEndColumns, SELECTION_COLUMN_WIDTH, TableScrollDispatcherService, TableResponsiveService, TableHelpersModule } from '@fundamental-ngx/platform/table-helpers';
57
+ import { TableColumn, FilterableColumnDataType, FdpCellDef, FdpEditableCellDef, FdpHeaderCellDef, TableCellHeaderPopoverDirective, SortDirection, getUniqueListValuesByKey, getFilterStrategiesBasedOnDataType, FILTER_STRATEGY, FilterType, FdpViewSettingsFilterCustomDef, TableService, Table, FILTER_STRING_STRATEGY, EditableTableCell, isTreeRowFirstCell, SelectionMode, TableColumnResizeService, TableRowService, isTreeRow, TableDraggableDirective, DEFAULT_HIGHLIGHTING_KEY, SEMANTIC_HIGHLIGHTING_COLUMN_WIDTH, ROW_HEIGHT, TableDataSourceDirective, FDP_TABLE_STATE_DIRECTIVE, FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE, FDP_TABLE_DRAGGABLE_DIRECTIVE, TableHeaderResizerDirective, isRowNavigatable, TableRowType, buildNewRowSkeleton, EDITABLE_ROW_SEMANTIC_STATE, SaveRowsEvent, getSelectableRows, TableRowActivateEvent, TableRowToggleOpenStateEvent, findRowChildren, getRowParents, TableSortChangeEvent, TablePageChangeEvent, TableGroupChangeEvent, TableColumnFreezeEvent, TableFilterChangeEvent, TableColumnsChangeEvent, convertObjectsToTableRows, isTableRow, convertTreeTableRowToFlatList, convertTreeObjectsToTableRows, getFreezableColumns, getFreezableEndColumns, applySelectionToChildren, SELECTION_COLUMN_WIDTH, TableScrollDispatcherService, TableResponsiveService, TableHelpersModule } from '@fundamental-ngx/platform/table-helpers';
58
58
  export * from '@fundamental-ngx/platform/table-helpers';
59
59
  import { LEFT_ARROW, RIGHT_ARROW, DOWN_ARROW, UP_ARROW, SPACE } from '@angular/cdk/keycodes';
60
60
  import equal$1 from 'fast-deep-equal';
@@ -4310,10 +4310,19 @@ class TableComponent extends Table {
4310
4310
  let currentRow = row.parent;
4311
4311
  while (currentRow) {
4312
4312
  const children = findRowChildren(currentRow, this._tableRows).filter((r) => r.parent === currentRow);
4313
- const totalChecked = children.filter((r) => r.checked);
4313
+ const totalChecked = [];
4314
+ const totalIndeterminate = [];
4315
+ children.forEach((r) => {
4316
+ if (r.checked === true) {
4317
+ totalChecked.push(r);
4318
+ }
4319
+ else if (r.checked === null) {
4320
+ totalIndeterminate.push(r);
4321
+ }
4322
+ });
4314
4323
  const checkedAll = totalChecked.length === children.length;
4315
4324
  const checkedAny = totalChecked.length > 0;
4316
- currentRow.checked = checkedAll ? true : checkedAny ? null : false;
4325
+ currentRow.checked = checkedAll ? true : checkedAny || totalIndeterminate.length > 0 ? null : false;
4317
4326
  currentRow.checked || currentRow.checked === null
4318
4327
  ? addedRows.push(currentRow)
4319
4328
  : removedRows.push(currentRow);
@@ -4322,11 +4331,7 @@ class TableComponent extends Table {
4322
4331
  }
4323
4332
  /** @hidden */
4324
4333
  _applySelectionToChildren(row, addedRows, removedRows) {
4325
- const allChilren = findRowChildren(row, this._tableRows);
4326
- allChilren.forEach((r) => {
4327
- r.checked = row.checked;
4328
- r.checked ? addedRows.push(r) : removedRows.push(r);
4329
- });
4334
+ applySelectionToChildren(this._tableRows, row, addedRows, removedRows);
4330
4335
  }
4331
4336
  /** @hidden */
4332
4337
  _listenToPageScrolling() {