У меня есть функция поиска, которая выполняет поиск элементов списка на основе их идентификатора типа контента.Возвращает ВСЕ элементы, в том числе с сайта, к которому у пользователя НЕТ доступа.Это то, что я хочу.НО я хочу отсортировать эти данные (элементы списка), основываясь на том, пришли ли они с сайта, где текущий пользователь имеет разрешение на просмотр или нет.Пример:
Список 1: «иметь доступ»: - Список элементов, которые поступают с сайта, к которому у текущего пользователя есть доступ -
Список 2: «Нет доступа» -Список элементов, которые приходят с сайта, к которому текущий пользователь НЕ имеет доступа -
Мой поиск выглядит следующим образом:
public GetSiteItemsByContentId(contentTypeId: string,selectProperties:
string[]): Promise<SearchResult[]> {
const _searchQuerySettings: SearchQuery = {
TrimDuplicates: false,
RowLimit: 500,
SelectProperties: selectProperties.concat(["ParentLink"])
};
let q = SearchQueryBuilder(`ContentTypeId:${contentTypeId}*`, _searchQuerySettings).rowLimit(500);
const srPromise = new Promise<SearchResult[]>((resolve, reject) => {
pnp.sp.search(q).then((response: SearchResults) => {
resolve(response.PrimarySearchResults);
});
});
return srPromise;
}
И мой GET для поиска выше
private getProjectItems() {
this.provider.GetSiteItemsByContentId(this.props.publicContentTypeId, this.props.projectSearchFieldStrings).then((items: Project[]) => {
const i: Project[] = [];
items.map((result: any) => {
i.push(this.mapResultToProject(result, ProjectType.Public));
});
this.setState({
listItems: this.state.listItems.concat(i)
});
});
Возможно ли и как сортировать элементы списка, основываясь на разрешениях пользователя на их родительском сайте?