UNPKG

gd-sprest-bs

Version:

SharePoint JavaScript, TypeScript and Web Components designed using the Bootstrap framework.

121 lines (99 loc) 3.56 kB
import { IDropdownItem } from "gd-bs/src/components/dropdown/types" import { Helper } from "gd-sprest"; import { IWebPart, IWebPartInfo, IWebPartProps, IWebPartCfg, IWebPartEditForm } from "../base/types"; /** * ### Taxonomy WebPart * * The taxonomy webpart should be used when targeting the term store as a datasource. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * WebParts.WPTaxonomy({ * elementId: "my-wpTaxonomy", * cfgElementId: "my-wpTaxonomy-cfg", * onRenderTermSetTerms: (wpInfo, terms) => { * // Render the display element * wpInfo.el.innerHTML = [ * '<h1>Term Set: ' + wpInfo.TermSetName + '</h1>', * '<h5>Terms: ' + terms.length + '</h5>' * ].join('\n'); * } * }); * ``` */ export const WPTaxonomy: (props: IWPTaxonomyProps) => IWPTaxonomy; /** * Taxonomy WebPart Edit Form */ export const WPTaxonomyEditForm: (props: IWPTaxonomyEditForm) => IWPTaxonomyEditForm; /** * Taxonomy WebPart */ export interface IWPTaxonomy extends IWebPart<IWPTaxonomyCfg, IWPTaxonomyInfo> { } /** * Taxonomy WebPart Information */ export interface IWPTaxonomyInfo extends IWebPartInfo<IWPTaxonomyCfg> { } /** * Taxonomy WebPart Properties */ export interface IWPTaxonomyProps extends IWebPartProps<IWPTaxonomyInfo, IWPTaxonomyEditForm> { /** The on render term set event. */ onRenderTermSet?: (wpInfo: IWPTaxonomyInfo, termSet: Helper.ITerm) => void; /** The on render term sets event. */ onRenderTermSets?: (wpInfo: IWPTaxonomyInfo, termSets: Array<Helper.ITermSetInfo>) => void; /** The on render term set terms event. */ onRenderTermSetTerms?: (wpInfo: IWPTaxonomyInfo, terms: Array<Helper.ITermInfo>) => void; } /** * Taxonomy WebPart Configuration */ export interface IWPTaxonomyCfg extends IWebPartCfg { /** The term group id. */ TermGroupId?: string; /** The term group name. */ TermGroupName?: string; /** The term set id. */ TermSetId?: string; /** The term set name */ TermSetName?: string; /** The term set term id. */ TermSetTermId?: string; /** The term set term name */ TermSetTermName?: string; } /** * Taxonomy WebPart Edit Form */ export interface IWPTaxonomyEditForm extends IWebPartEditForm<IWPTaxonomyCfg, IWPTaxonomyInfo> { /** The term group changed event. */ onTermGroupChanged?: (wpInfo: IWPTaxonomyInfo, termGroupInfo?: ITermGroupInfo) => void; /** The term group loaded event. */ onTermGroupsLoaded?: (wpInfo: IWPTaxonomyInfo, termGroups: Array<IDropdownItem>) => Array<IDropdownItem>; /** The term set changed event. */ onTermSetChanged?: (wpInfo: IWPTaxonomyInfo, termSetInfo?: ITermInfo) => void; /** The term set loaded event. */ onTermSetsLoaded?: (wpInfo: IWPTaxonomyInfo, termSets?: Array<IDropdownItem>) => Array<IDropdownItem>; /** The term set term changed event. */ onTermSetTermChanged?: (wpInfo: IWPTaxonomyInfo, termInfo?: ITermInfo) => void; /** The term set terms loaded event. */ onTermSetTermsLoaded?: (wpInfo: IWPTaxonomyInfo, terms?: Array<IDropdownItem>) => Array<IDropdownItem>; /** Flag to display the term set terms. */ showTermSetTerms?: boolean; } /** * Term Group Info */ interface ITermGroupInfo { id: string; name: string; } /** * Term Info */ interface ITermInfo { id: string; name: string; }