mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-3930] Can't load more results in Copy/Move dialog (#4247)
* fix unrelated failing test improve type definition add set get filtering node selector fix directive highlight fix minor problem style breadcrumb small refactoring problem documentlist * fix lint style * fix html node * fix test
This commit is contained in:
@@ -15,11 +15,20 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { DataColumn, DataRow, DataSorting, DataTableAdapter, ThumbnailService, ContentService } from '@alfresco/adf-core';
|
||||
import {
|
||||
DataColumn,
|
||||
DataRow,
|
||||
DataSorting,
|
||||
DataTableAdapter,
|
||||
ThumbnailService,
|
||||
ContentService
|
||||
} from '@alfresco/adf-core';
|
||||
import { NodePaging } from '@alfresco/js-api';
|
||||
import { PermissionStyleModel } from './../models/permissions-style.model';
|
||||
import { DocumentListService } from './../services/document-list.service';
|
||||
import { ShareDataRow } from './share-data-row.model';
|
||||
import { NodeEntry } from '@alfresco/js-api/src/api/content-rest-api/model/nodeEntry';
|
||||
import { RowFilter } from './row-filter.model';
|
||||
|
||||
export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
|
||||
@@ -31,7 +40,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
private rows: DataRow[];
|
||||
private columns: DataColumn[];
|
||||
|
||||
private filter: any;
|
||||
private filter: RowFilter;
|
||||
private imageResolver: any;
|
||||
|
||||
thumbnails: boolean = false;
|
||||
@@ -156,7 +165,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
this.setSorting(sorting);
|
||||
}
|
||||
|
||||
setFilter(filter: any) {
|
||||
setFilter(filter: RowFilter) {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
@@ -237,15 +246,15 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
}
|
||||
|
||||
public loadPage(page: NodePaging, merge: boolean = false) {
|
||||
let rows = [];
|
||||
let shareDataRows: ShareDataRow[] = [];
|
||||
|
||||
if (page && page.list) {
|
||||
let data = page.list.entries;
|
||||
if (data && data.length > 0) {
|
||||
rows = data.map((item) => new ShareDataRow(item, this.contentService, this.permissionsStyle, this.thumbnailService));
|
||||
let nodeEntries: NodeEntry[] = page.list.entries;
|
||||
if (nodeEntries && nodeEntries.length > 0) {
|
||||
shareDataRows = nodeEntries.map((item) => new ShareDataRow(item, this.contentService, this.permissionsStyle, this.thumbnailService));
|
||||
|
||||
if (this.filter) {
|
||||
rows = rows.filter(this.filter);
|
||||
shareDataRows = shareDataRows.filter(this.filter);
|
||||
}
|
||||
|
||||
if (this.sortingMode !== 'server') {
|
||||
@@ -253,7 +262,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
if (this.columns && this.columns.length > 0) {
|
||||
let sorting = this.getSorting();
|
||||
if (sorting) {
|
||||
this.sortRows(rows, sorting);
|
||||
this.sortRows(shareDataRows, sorting);
|
||||
} else {
|
||||
let sortable = this.columns.filter((c) => c.sortable);
|
||||
if (sortable.length > 0) {
|
||||
@@ -268,7 +277,7 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
}
|
||||
|
||||
if (merge) {
|
||||
let listPrunedDuplicate = rows.filter((elementToFilter) => {
|
||||
let listPrunedDuplicate = shareDataRows.filter((elementToFilter: any) => {
|
||||
let isPresent = this.rows.find((currentRow: any) => {
|
||||
return currentRow.obj.entry.id === elementToFilter.obj.entry.id;
|
||||
});
|
||||
@@ -278,7 +287,8 @@ export class ShareDataTableAdapter implements DataTableAdapter {
|
||||
|
||||
this.rows = this.rows.concat(listPrunedDuplicate);
|
||||
} else {
|
||||
this.rows = rows;
|
||||
this.rows = shareDataRows;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user