mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-5087] Document List - custom sources 'where' clause not passed (#5558)
* pass document list where clause to custom sources * update docs
This commit is contained in:
@@ -41,29 +41,34 @@ Manages Document List information that is specific to a user.
|
|||||||
Is the folder ID a "-my", "-root-", or "-shared-" alias?
|
Is the folder ID a "-my", "-root-", or "-shared-" alias?
|
||||||
- _folderId:_ `string` - Folder ID name to check
|
- _folderId:_ `string` - Folder ID name to check
|
||||||
- **Returns** `boolean` - True if the ID is one of the supported sources, false otherwise
|
- **Returns** `boolean` - True if the ID is one of the supported sources, false otherwise
|
||||||
- **loadFavorites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
- **loadFavorites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`, where? string): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
||||||
Gets favorite files for the current user.
|
Gets favorite files for the current user.
|
||||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
||||||
- _includeFields:_ `string[]` - List of data field names to include in the results
|
- _includeFields:_ `string[]` - List of data field names to include in the results
|
||||||
|
- _where:_ (Optional) `string` - A string to restrict the returned objects by using a predicate
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` - List of favorite files
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` - List of favorite files
|
||||||
- **loadFolderByNodeId**(nodeId: `string`, pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`): `any`<br/>
|
- **loadFolderByNodeId**(nodeId: `string`, pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`, where?: string): `any`<br/>
|
||||||
Gets a folder's contents.
|
Gets a folder's contents.
|
||||||
- _nodeId:_ `string` - ID of the target folder node
|
- _nodeId:_ `string` - ID of the target folder node
|
||||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
||||||
- _includeFields:_ `string[]` - List of data field names to include in the results
|
- _includeFields:_ `string[]` - List of data field names to include in the results
|
||||||
|
- _where:_ (Optional) `string` - A string to restrict the returned objects by using a predicate
|
||||||
- **Returns** `any` - List of items contained in the folder
|
- **Returns** `any` - List of items contained in the folder
|
||||||
- **loadMemberSites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SiteMemberPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SiteMemberPaging.md)`>`<br/>
|
- **loadMemberSites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), where?: string): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SiteMemberPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SiteMemberPaging.md)`>`<br/>
|
||||||
Gets sites that the current user is a member of.
|
Gets sites that the current user is a member of.
|
||||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
||||||
|
- _where:_ (Optional) `string` - A string to restrict the returned objects by using a predicate
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SiteMemberPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SiteMemberPaging.md)`>` - List of sites
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SiteMemberPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SiteMemberPaging.md)`>` - List of sites
|
||||||
- **loadSharedLinks**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkPaging.md)`>`<br/>
|
- **loadSharedLinks**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`, where?: string): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkPaging.md)`>`<br/>
|
||||||
Gets shared links for the current user.
|
Gets shared links for the current user.
|
||||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
||||||
- _includeFields:_ `string[]` - List of data field names to include in the results
|
- _includeFields:_ `string[]` - List of data field names to include in the results
|
||||||
|
- _where:_ (Optional)`string` - A string to restrict the returned objects by using a predicate
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkPaging.md)`>` - List of shared links
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`SharedLinkPaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/SharedLinkPaging.md)`>` - List of shared links
|
||||||
- **loadSites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts)): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
- **loadSites**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), where?: string): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>`<br/>
|
||||||
Gets all sites in the repository.
|
Gets all sites in the repository.
|
||||||
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
- _pagination:_ [`PaginationModel`](../../../lib/core/models/pagination.model.ts) - Specifies how to paginate the results
|
||||||
|
- _where:_ (Optional)`string` - A string to restrict the returned objects by using a predicate
|
||||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` - List of sites
|
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` - List of sites
|
||||||
- **loadTrashcan**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`DeletedNodesPaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/DeletedNodesPaging.md)`>`<br/>
|
- **loadTrashcan**(pagination: [`PaginationModel`](../../../lib/core/models/pagination.model.ts), includeFields: `string[]` = `[]`): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`DeletedNodesPaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/DeletedNodesPaging.md)`>`<br/>
|
||||||
Gets all items currently in the trash.
|
Gets all items currently in the trash.
|
||||||
|
@@ -132,15 +132,17 @@ export class CustomResourcesService {
|
|||||||
* Gets favorite files for the current user.
|
* Gets favorite files for the current user.
|
||||||
* @param pagination Specifies how to paginate the results
|
* @param pagination Specifies how to paginate the results
|
||||||
* @param includeFields List of data field names to include in the results
|
* @param includeFields List of data field names to include in the results
|
||||||
|
* @param where A string to restrict the returned objects by using a predicate
|
||||||
* @returns List of favorite files
|
* @returns List of favorite files
|
||||||
*/
|
*/
|
||||||
loadFavorites(pagination: PaginationModel, includeFields: string[] = []): Observable<NodePaging> {
|
loadFavorites(pagination: PaginationModel, includeFields: string[] = [], where?: string): Observable<NodePaging> {
|
||||||
const includeFieldsRequest = this.getIncludesFields(includeFields);
|
const includeFieldsRequest = this.getIncludesFields(includeFields);
|
||||||
|
const defaultPredicate = '(EXISTS(target/file) OR EXISTS(target/folder))';
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
maxItems: pagination.maxItems,
|
maxItems: pagination.maxItems,
|
||||||
skipCount: pagination.skipCount,
|
skipCount: pagination.skipCount,
|
||||||
where: '(EXISTS(target/file) OR EXISTS(target/folder))',
|
where: where ? `${where} AND ${defaultPredicate}` : defaultPredicate ,
|
||||||
include: includeFieldsRequest
|
include: includeFieldsRequest
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -181,13 +183,15 @@ export class CustomResourcesService {
|
|||||||
/**
|
/**
|
||||||
* Gets sites that the current user is a member of.
|
* Gets sites that the current user is a member of.
|
||||||
* @param pagination Specifies how to paginate the results
|
* @param pagination Specifies how to paginate the results
|
||||||
|
* @param where A string to restrict the returned objects by using a predicate
|
||||||
* @returns List of sites
|
* @returns List of sites
|
||||||
*/
|
*/
|
||||||
loadMemberSites(pagination: PaginationModel): Observable<SiteMemberPaging> {
|
loadMemberSites(pagination: PaginationModel, where?: string): Observable<SiteMemberPaging> {
|
||||||
const options = {
|
const options = {
|
||||||
include: ['properties'],
|
include: ['properties'],
|
||||||
maxItems: pagination.maxItems,
|
maxItems: pagination.maxItems,
|
||||||
skipCount: pagination.skipCount
|
skipCount: pagination.skipCount,
|
||||||
|
where
|
||||||
};
|
};
|
||||||
|
|
||||||
return new Observable((observer) => {
|
return new Observable((observer) => {
|
||||||
@@ -220,13 +224,15 @@ export class CustomResourcesService {
|
|||||||
/**
|
/**
|
||||||
* Gets all sites in the repository.
|
* Gets all sites in the repository.
|
||||||
* @param pagination Specifies how to paginate the results
|
* @param pagination Specifies how to paginate the results
|
||||||
|
* @param where A string to restrict the returned objects by using a predicate
|
||||||
* @returns List of sites
|
* @returns List of sites
|
||||||
*/
|
*/
|
||||||
loadSites(pagination: PaginationModel): Observable<NodePaging> {
|
loadSites(pagination: PaginationModel, where?: string): Observable<NodePaging> {
|
||||||
const options = {
|
const options = {
|
||||||
include: ['properties', 'aspectNames'],
|
include: ['properties', 'aspectNames'],
|
||||||
maxItems: pagination.maxItems,
|
maxItems: pagination.maxItems,
|
||||||
skipCount: pagination.skipCount
|
skipCount: pagination.skipCount,
|
||||||
|
where
|
||||||
};
|
};
|
||||||
|
|
||||||
return new Observable((observer) => {
|
return new Observable((observer) => {
|
||||||
@@ -272,15 +278,17 @@ export class CustomResourcesService {
|
|||||||
* Gets shared links for the current user.
|
* Gets shared links for the current user.
|
||||||
* @param pagination Specifies how to paginate the results
|
* @param pagination Specifies how to paginate the results
|
||||||
* @param includeFields List of data field names to include in the results
|
* @param includeFields List of data field names to include in the results
|
||||||
|
* @param where A string to restrict the returned objects by using a predicate
|
||||||
* @returns List of shared links
|
* @returns List of shared links
|
||||||
*/
|
*/
|
||||||
loadSharedLinks(pagination: PaginationModel, includeFields: string[] = []): Observable<SharedLinkPaging> {
|
loadSharedLinks(pagination: PaginationModel, includeFields: string[] = [], where?: string): Observable<SharedLinkPaging> {
|
||||||
const includeFieldsRequest = this.getIncludesFields(includeFields);
|
const includeFieldsRequest = this.getIncludesFields(includeFields);
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
include: includeFieldsRequest,
|
include: includeFieldsRequest,
|
||||||
maxItems: pagination.maxItems,
|
maxItems: pagination.maxItems,
|
||||||
skipCount: pagination.skipCount
|
skipCount: pagination.skipCount,
|
||||||
|
where
|
||||||
};
|
};
|
||||||
|
|
||||||
return from(this.apiService.sharedLinksApi.findSharedLinks(options))
|
return from(this.apiService.sharedLinksApi.findSharedLinks(options))
|
||||||
@@ -326,17 +334,17 @@ export class CustomResourcesService {
|
|||||||
* @param includeFields List of data field names to include in the results
|
* @param includeFields List of data field names to include in the results
|
||||||
* @returns List of items contained in the folder
|
* @returns List of items contained in the folder
|
||||||
*/
|
*/
|
||||||
loadFolderByNodeId(nodeId: string, pagination: PaginationModel, includeFields: string[] = []): any {
|
loadFolderByNodeId(nodeId: string, pagination: PaginationModel, includeFields: string[] = [], where?: string): any {
|
||||||
if (nodeId === '-trashcan-') {
|
if (nodeId === '-trashcan-') {
|
||||||
return this.loadTrashcan(pagination, includeFields);
|
return this.loadTrashcan(pagination, includeFields);
|
||||||
} else if (nodeId === '-sharedlinks-') {
|
} else if (nodeId === '-sharedlinks-') {
|
||||||
return this.loadSharedLinks(pagination, includeFields);
|
return this.loadSharedLinks(pagination, includeFields, where);
|
||||||
} else if (nodeId === '-sites-') {
|
} else if (nodeId === '-sites-') {
|
||||||
return this.loadSites(pagination);
|
return this.loadSites(pagination, where);
|
||||||
} else if (nodeId === '-mysites-') {
|
} else if (nodeId === '-mysites-') {
|
||||||
return this.loadMemberSites(pagination);
|
return this.loadMemberSites(pagination, where);
|
||||||
} else if (nodeId === '-favorites-') {
|
} else if (nodeId === '-favorites-') {
|
||||||
return this.loadFavorites(pagination, includeFields);
|
return this.loadFavorites(pagination, includeFields, where);
|
||||||
} else if (nodeId === '-recent-') {
|
} else if (nodeId === '-recent-') {
|
||||||
return this.getRecentFiles('-me-', pagination);
|
return this.getRecentFiles('-me-', pagination);
|
||||||
}
|
}
|
||||||
|
@@ -171,7 +171,7 @@ export class DocumentListService implements DocumentListLoader {
|
|||||||
*/
|
*/
|
||||||
loadFolderByNodeId(nodeId: string, pagination: PaginationModel, includeFields: string[], where?: string): Observable<DocumentLoaderNode> {
|
loadFolderByNodeId(nodeId: string, pagination: PaginationModel, includeFields: string[], where?: string): Observable<DocumentLoaderNode> {
|
||||||
if (this.customResourcesService.isCustomSource(nodeId)) {
|
if (this.customResourcesService.isCustomSource(nodeId)) {
|
||||||
return this.customResourcesService.loadFolderByNodeId(nodeId, pagination, includeFields).pipe(
|
return this.customResourcesService.loadFolderByNodeId(nodeId, pagination, includeFields, where).pipe(
|
||||||
map((result: any) => new DocumentLoaderNode(null, result))
|
map((result: any) => new DocumentLoaderNode(null, result))
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user