[AAE-4841] - Fix content node selector current selection is lost after uploading files (#6862)

* [AAE-4841] - Preserve current selection when preselecting the newly uploaded nodes

* add a method to handle unselection of a preselected row in document list and emit the change

* Fix-refactor unselection

* Fix document list reload

* Partial revert share datatable adapter

* try with overwriting datatable selection

* Sync datatable selection after every page load

* refactor selection/unselection in datatable by using a row id

* Fix/Add some unit tests

* Move preselection from adapter to doc list, fix single selection mode

* Add some unit tests

* Add document list unit tests
This commit is contained in:
arditdomi
2021-04-08 14:55:06 +01:00
committed by GitHub
parent b08e2731bf
commit e589071328
12 changed files with 459 additions and 138 deletions

View File

@@ -710,7 +710,7 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
selectRow(row: DataRow, value: boolean) {
if (row) {
row.isSelected = value;
const idx = this.selection.indexOf(row);
const idx = row?.id ? this.findSelectionById(row.id) : this.selection.indexOf(row);
if (value) {
if (idx < 0) {
this.selection.push(row);
@@ -723,6 +723,10 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck,
}
}
findSelectionById(id: string): number {
return this.selection.findIndex(selection => selection?.id === id);
}
getCellTooltip(row: DataRow, col: DataColumn): string {
if (row && col && col.formatTooltip) {
const result: string = col.formatTooltip(row, col);