@pnp/spfx-property-controls
Version:
Reusable property pane controls for SharePoint Framework solutions
82 lines • 2.78 kB
TypeScript
import { ISPTermStorePickerService, IPnPTermStorePickerServiceProps, ITermStore, ITermSet, ITerm, IGroup, ITermSets } from "./ISPTermStorePickerService";
import { BaseComponentContext } from '@microsoft/sp-component-base';
import { IPickerTerm } from './../propertyFields/termPicker/IPropertyFieldTermPicker';
/**
* Term Store Picker Service implementation that uses SharePoint REST API for taxonomy
* This replaces the old @pnp/sp-taxonomy which is no longer available in PnPjs v4
*/
export default class PnPTermStorePickerService implements ISPTermStorePickerService {
private props;
private readonly _termSetCollectionObjectType;
private readonly _termGroupCollectionObjectType;
protected context: BaseComponentContext;
private _termStoreId;
private _termStores;
private _groups;
constructor(props: IPnPTermStorePickerServiceProps, context: BaseComponentContext);
/**
* Makes a request to the taxonomy REST API
* @param endpoint - The endpoint path after /v2.1/_api/
*/
private _taxonomyRequest;
/**
* Gets term stores from the taxonomy service
*/
getTermStores(): Promise<ITermStore[]>;
/**
* Searches terms by provided text
* @param searchText text to search
*/
searchTermsByName(searchText: string): Promise<IPickerTerm[]>;
/**
* Gets term sets from the stores
*/
getTermSets(): Promise<ITermSet[]>;
/**
* Gets all terms from the specified term set
* @param termSet Term Set to get terms from
*/
getAllTerms(termSet: ITermSet): Promise<ITerm[]>;
/**
* Get term sets from the specified group
* @param group Term Group
*/
getGroupTermSets(group: IGroup): Promise<ITermSets>;
/**
* Searches terms by provided text in the term sets specified by limitByTermsetNameOrID
*/
private _searchTermsByTermSet;
/**
* Searches terms by provided text in the group specified by limitByGroupNameOrID
*/
private _searchTermsByGroup;
/**
* Searches for terms across all term stores
*/
private _searchAllTerms;
/**
* Filters terms by search text (starts with, case-insensitive)
*/
private _filterTermsBySearch;
/**
* Converts an ITerm to an IPickerTerm
*/
private _termToPickerTerm;
/**
* Ensures term stores and groups are loaded
*/
private _ensureTermStores;
/**
* Converts a taxonomy API term set to the internal ITermSet format
*/
private _convertTermSet;
/**
* Gets the default label from a taxonomy term
*/
private _getDefaultLabel;
/**
* Gets the description from a taxonomy term
*/
private _getDescription;
}
//# sourceMappingURL=PnPTermStorePickerService.d.ts.map