diff --git a/e2e/suites/navigation/single-click.test.ts b/e2e/suites/navigation/single-click.test.ts
index b0450b054..5882d0818 100755
--- a/e2e/suites/navigation/single-click.test.ts
+++ b/e2e/suites/navigation/single-click.test.ts
@@ -200,6 +200,8 @@ describe('Single click on item name', () => {
describe('on Search Results', () => {
beforeEach(async () => {
+ const initialRecentTotalItems = await apis.user.search.getTotalItems(username);
+ await apis.user.search.waitForApi(username, { expect: initialRecentTotalItems + 2 });
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
});
diff --git a/package-lock.json b/package-lock.json
index 3fc1627b0..523d77980 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,25 +29,25 @@
}
},
"@alfresco/adf-content-services": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-4.0.0.tgz",
- "integrity": "sha512-dkqIabqiAROPabsxskyegsz7jCM9ao0D7lRdfvweBWUGMFIRTHWnVtbBRBbTAgghKf0lcLMgGuB0ScHYcEcCBQ==",
+ "version": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05.tgz",
+ "integrity": "sha512-UIxRluX2+cjaeovBT8mv1IHNHHSKiwVZLCoe9+MroYSXiUNJRT/DwtxVmXjwLqgAta1hqe5BF5C4tncedXXODg==",
"requires": {
"tslib": "^2.0.0"
}
},
"@alfresco/adf-core": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-4.0.0.tgz",
- "integrity": "sha512-SKUF7Q4NpGd3BbdCE6FxxD4SgFO1RD709yFptPOCljO2mYRFppyAWldgcfpNYe+2gXJ8bUUF2AUDAlbHtPwUsA==",
+ "version": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05.tgz",
+ "integrity": "sha512-PszXiBcU4DlY5BaLhz+SoOB8WAWsv8x9NwPysZpFAGA9LsI4UC6ma66tpfjCSIdM7y0QjIFi8crqaQ5NPwNGtQ==",
"requires": {
"tslib": "^2.0.0"
}
},
"@alfresco/adf-extensions": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-4.0.0.tgz",
- "integrity": "sha512-UYP2agckKjOKH+MSLzsCJajfto8I/QsQwSX1/vHy7APVc/Mfauu8GLVuvryfkD+YdmHM1dxlkOjOkdcN3EohpQ==",
+ "version": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
+ "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05.tgz",
+ "integrity": "sha512-IXVUOMk2TSZUL61KM+abdsKSli0+lS5Y24ahZALqNFQq+n9DSi/r1SQeoJIuUb446ibyLJRhIIIyLeXrtsUmUA==",
"requires": {
"tslib": "^2.0.0"
}
@@ -3845,7 +3845,7 @@
},
"browserify-aes": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true,
"requires": {
@@ -3882,7 +3882,7 @@
},
"browserify-rsa": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"dev": true,
"requires": {
@@ -5166,7 +5166,7 @@
},
"create-hash": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true,
"requires": {
@@ -5179,7 +5179,7 @@
},
"create-hmac": {
"version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true,
"requires": {
@@ -6237,7 +6237,7 @@
},
"globby": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true,
"requires": {
@@ -6250,7 +6250,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@@ -6330,7 +6330,7 @@
},
"diffie-hellman": {
"version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"dev": true,
"requires": {
@@ -6887,7 +6887,7 @@
},
"es6-promisify": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"dev": true,
"requires": {
@@ -7150,7 +7150,7 @@
"dependencies": {
"array-flatten": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
@@ -9029,7 +9029,7 @@
},
"is-accessor-descriptor": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
@@ -9109,7 +9109,7 @@
},
"is-data-descriptor": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
@@ -10899,7 +10899,7 @@
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
@@ -12091,13 +12091,13 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv": {
@@ -12436,7 +12436,7 @@
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
@@ -13858,7 +13858,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@@ -14103,7 +14103,7 @@
"dependencies": {
"jsesc": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
@@ -14627,7 +14627,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -15024,7 +15024,7 @@
},
"sha.js": {
"version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true,
"requires": {
@@ -15781,7 +15781,7 @@
},
"sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
@@ -16104,7 +16104,7 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
@@ -16118,7 +16118,7 @@
},
"strip-eof": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
@@ -16534,7 +16534,7 @@
},
"through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
@@ -16906,7 +16906,7 @@
},
"tty-browserify": {
"version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
diff --git a/package.json b/package.json
index 54aa71f8f..3d047c82e 100644
--- a/package.json
+++ b/package.json
@@ -34,9 +34,9 @@
},
"private": true,
"dependencies": {
- "@alfresco/adf-content-services": "4.0.0",
- "@alfresco/adf-core": "4.0.0",
- "@alfresco/adf-extensions": "4.0.0",
+ "@alfresco/adf-content-services": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
+ "@alfresco/adf-core": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
+ "@alfresco/adf-extensions": "4.1.0-c84ef7318ff84a681971f7e3aa08065b13eb5e05",
"@alfresco/js-api": "4.0.0",
"@angular-custom-builders/lite-serve": "^0.2.2",
"@angular/animations": "10.0.4",
diff --git a/src/app/components/files/files.component.html b/src/app/components/files/files.component.html
index c9630f8fe..4a18b1a72 100644
--- a/src/app/components/files/files.component.html
+++ b/src/app/components/files/files.component.html
@@ -29,26 +29,13 @@
[navigate]="false"
[sorting]="['name', 'ASC']"
[imageResolver]="imageResolver"
+ [headerFilters]="true"
+ [filterValue]="queryParams"
(node-dblclick)="navigateTo($event.detail?.node)"
(name-click)="navigateTo($event.detail?.node)"
(sorting-changed)="onSortingChanged($event)"
+ (filterSelection)="onFilterSelected($event)"
>
-
-
-
-
-
-
diff --git a/src/app/components/files/files.component.ts b/src/app/components/files/files.component.ts
index a03c45825..d5855136f 100644
--- a/src/app/components/files/files.component.ts
+++ b/src/app/components/files/files.component.ts
@@ -35,16 +35,11 @@ import { AppExtensionService, ContentApiService } from '@alfresco/aca-shared';
import { SetCurrentFolderAction, isAdmin, AppStore, UploadFileVersionAction } from '@alfresco/aca-shared/store';
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
import { debounceTime, takeUntil } from 'rxjs/operators';
-import { ShareDataRow, SEARCH_QUERY_SERVICE_TOKEN, SearchHeaderQueryBuilderService } from '@alfresco/adf-content-services';
+import { ShareDataRow } from '@alfresco/adf-content-services';
+import { FilterSearch } from '@alfresco/adf-content-services/lib/search/filter-search.interface';
@Component({
- templateUrl: './files.component.html',
- providers: [
- {
- provide: SEARCH_QUERY_SERVICE_TOKEN,
- useClass: SearchHeaderQueryBuilderService
- }
- ]
+ templateUrl: './files.component.html'
})
export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
isValidPath = true;
@@ -296,16 +291,24 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
return false;
}
- onFilterSelected(currentActiveFilters: Map) {
+ onFilterSelected(activeFilters: FilterSearch[]) {
+ if (activeFilters.length) {
+ this.navigateToFilter(activeFilters);
+ } else {
+ this.onAllFilterCleared();
+ }
+ }
+
+ navigateToFilter(activeFilters: FilterSearch[]) {
const objectFromMap = {};
- currentActiveFilters.forEach((value: any, key) => {
+ activeFilters.forEach((filter: FilterSearch) => {
let paramValue = null;
- if (value && value.from && value.to) {
- paramValue = `${value.from}||${value.to}`;
+ if (filter.value && filter.value.from && filter.value.to) {
+ paramValue = `${filter.value.from}||${filter.value.to}`;
} else {
- paramValue = value;
+ paramValue = filter.value;
}
- objectFromMap[key] = paramValue;
+ objectFromMap[filter.key] = paramValue;
});
this.router.navigate([], { relativeTo: this.route, queryParams: objectFromMap });
diff --git a/src/app/components/page.component.spec.ts b/src/app/components/page.component.spec.ts
index 322a09742..8057378a3 100644
--- a/src/app/components/page.component.spec.ts
+++ b/src/app/components/page.component.spec.ts
@@ -149,18 +149,6 @@ describe('PageComponent', () => {
expect(store.dispatch['calls'].mostRecent().args[0]).toEqual(new SetSelectedNodesAction([node]));
});
- it('should update source on onFilterUpdate event', () => {
- const nodePaging = {
- list: {
- pagination: {},
- entries: [{ entry: { id: 'new-node-id' } }]
- }
- } as NodePaging;
-
- component.onFilterUpdate(nodePaging);
- expect(component.nodeResult).toEqual(nodePaging);
- });
-
it('should clear results onAllFilterCleared event', () => {
component.documentList = {
node: {
diff --git a/src/app/components/page.component.ts b/src/app/components/page.component.ts
index b89cf24f7..2fa105e10 100644
--- a/src/app/components/page.component.ts
+++ b/src/app/components/page.component.ts
@@ -161,10 +161,6 @@ export abstract class PageComponent implements OnInit, OnDestroy, OnChanges {
return location.href.includes('viewer:view');
}
- onFilterUpdate(newNodePaging: NodePaging) {
- this.nodeResult = newNodePaging;
- }
-
onSortingChanged(event) {
this.filterSorting = event.detail.key + '-' + event.detail.direction;
}