UNPKG

gd-sprest-bs

Version:

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

1,392 lines (1,158 loc) • 62.7 kB
// Generated by dts-bundle v0.7.3 // Dependencies for this module: // ../gd-bs // ../gd-sprest // ../gd-bs/src/components/form/controlTypes // ../gd-bs/src/components/dropdown/types // ../gd-bs/src/components/components // ../gd-bs/src/components/form/formTypes // ../gd-bs/src/components/button/types // ../gd-bs/src/components/modal/types // ../gd-bs/src/components/tooltipGroup/types // ../gd-bs/src/components/nav/types // ../gd-bs/src/components/toolbar/types declare module 'gd-sprest-bs' { export * from "gd-bs"; export * from "gd-sprest"; import { CustomIconTypes, CustomIcons } from "gd-sprest-bs/icons/customIcons"; export { CustomIconTypes, CustomIcons } import * as Components from "gd-sprest-bs/components/types"; import * as PropertyPane from "gd-sprest-bs/propertyPane/types"; import { ThemeManager } from "gd-sprest-bs/themeManager/types"; import * as WebParts from "gd-sprest-bs/webparts/types"; export { Components, PropertyPane, ThemeManager, WebParts } import { IRESTBS } from "gd-sprest-bs/rest"; export const $REST: IRESTBS; } declare module 'gd-sprest-bs/icons/customIcons' { export const CustomIcons: (iconType:number, height?:number, width?:number, className?:string) => HTMLElement; export const CustomIconTypes: { aIP: number; bookings: number; dataverse: number; defender: number; dynamics: number; entra: number; exchange: number; forms: number; intune: number; keyVault: number; m365: number; mDM: number; office: number; officeOnline: number; oneDrive: number; planner: number; powerApps: number; powerAutomate: number; powerBI: number; powerPlatform: number; project: number; securityCenter: number; serviceHealth: number; sharePoint: number; skype: number; stream: number; sway: number; teams: number; viva: number; } } declare module 'gd-sprest-bs/components/types' { export * from "gd-sprest-bs/components/components"; import { IFormControlTypes as Parent } from "gd-bs/src/components/form/controlTypes"; export interface IFormControlTypes extends Parent { DateTime: number; PeoplePicker: number; RichTextBox: number; } export const FormControlTypes: IFormControlTypes; } declare module 'gd-sprest-bs/propertyPane/types' { import { IDropdown, IDropdownItem } from "gd-bs/src/components/dropdown/types"; import { IFormControlPropsMultiDropdown, IFormControlPropsMultiDropdownButton, IFormControlPropsMultiDropdownCheckbox } from "gd-bs/src/components/form/controlTypes"; /** * Base Property Pane Properties */ export interface IBasePropertyPaneProps<IComponent = any, IComponentProps = any> { description?: string; label?: string; onRendered?: (component?: IComponent, props?: IComponentProps) => void; onRendering?: (props?: IComponentProps) => IComponentProps; onSave?: (value: string | number | boolean | undefined) => string | number | boolean | undefined; properties?: object; tooltip?: string; } /** * Base Property Pane */ export interface IBasePropertyPane { /** * Type of the PropertyPane field. */ type: number; /** * Target property from the web part's property bag. */ targetProperty: string; /** * Whether this control should be focused. */ shouldFocus?: boolean; /** * Strongly typed properties object. Specific to each field type. */ properties: IBasePropertyPaneProperties; } export const BasePropertyPane = (targetProperty: string, config: IProps, context?: any) => IBasePropertyPane; /** * Property Pane Base Properties */ export interface IBasePropertyPaneProperties { /** * This API will be called once the custom field is mounted on the host element. */ onRender: (domElement: HTMLElement, context: any, changeCallback: (targetProperty: string, newValue?: string | number | boolean | undefined) => void) => void; /** * An UNIQUE key indicates the identity of this control. */ key: string; /** * This API is called when the component is unmounted from the host element. */ onDispose?: (domElement: HTMLElement, context: any) => void; /** * Instance specific context. This context is passed back to the web part in the * onRender and onDispose APIs. The web part can use this context to manage state * information. */ context?: any; } /** * Dropdown */ export interface IDropdown extends IBasePropertyPaneProps<IDropdown, IFormControlPropsDropdown> { items?: IDropdownItem[]; } export const Dropdown = (targetProperty: string, config: IDropdown, context?: any) => IBasePropertyPane; /** * Dropdown Button */ export interface IDropdownButton extends IBasePropertyPaneProps<IDropdown, IFormControlPropsDropdownButton> { items?: IDropdownItem[]; placeholder?: string; placement?: number; } export const DropdownButton = (targetProperty: string, config: IDropdownButton, context?: any) => IBasePropertyPane; /** * Dropdown Checkbox */ export interface IDropdownCheckbox extends IBasePropertyPaneProps<IDropdown, IFormControlPropsDropdownCheckbox> { items?: IDropdownItem[]; placeholder?: string; placement?: number; } export const DropdownCheckbox = (targetProperty: string, config: IDropdownCheckbox, context?: any) => IBasePropertyPane; /** * Multi-Dropdown */ export interface IMultiDropdown extends IBasePropertyPaneProps<IDropdown, IFormControlPropsMultiDropdown> { items?: IDropdownItem[]; } export const MultiDropdown = (targetProperty: string, config: IMultiDropdown, context?: any) => IBasePropertyPane; /** * Multi-Dropdown Button */ export interface IMultiDropdownButton extends IBasePropertyPaneProps<IDropdown, IFormControlPropsMultiDropdownButton> { items?: IDropdownItem[]; placeholder?: string; placement?: number; } export const MultiDropdownButton = (targetProperty: string, config: IMultiDropdownButton, context?: any) => IBasePropertyPane; /** * Multi-Dropdown Checkbox */ export interface IMultiDropdownCheckbox extends IBasePropertyPaneProps<IDropdown, IFormControlPropsMultiDropdownCheckbox> { items?: IDropdownItem[]; placeholder?: string; placement?: number; } export const MultiDropdownCheckbox = (targetProperty: string, config: IMultiDropdownCheckbox, context?: any) => IBasePropertyPane; } declare module 'gd-sprest-bs/themeManager/types' { /** * Theme Manager */ export const ThemeManager: { // Current Theme get CurrentTheme(): { [key: string]: string }; // Default Classic Theme Values get ClassicThemeInfo(): { [key: string]: string } set ClassicThemeInfo(value: { [key: string]: string }); // Flag to determine if the theme is currently inverted get IsInverted(): boolean; // Default Modern Theme Values get ModernThemeInfo(): { [key: string]: string } set ModernThemeInfo(value: { [key: string]: string }); // Loads the modern theme, or the classic theme if it's not found load(updateTheme?: boolean): PromiseLike<void>; // Sets the current theme setCurrentTheme: (value: any, updateTheme?: boolean) => void; // Updates the sass variables for this framework update: (themeInfo?: any) => void; } } declare module 'gd-sprest-bs/webparts/types' { export * from "gd-sprest-bs/webparts/base/helperTypes"; export * from "gd-sprest-bs/webparts/base/types"; export * from "gd-sprest-bs/webparts/list/types"; export * from "gd-sprest-bs/webparts/listFields/types"; export * from "gd-sprest-bs/webparts/search/types"; export * from "gd-sprest-bs/webparts/tabs/types"; export * from "gd-sprest-bs/webparts/taxonomy/types"; } declare module 'gd-sprest-bs/rest' { import { IconTypes, Icons } from "gd-bs"; import { IREST } from "gd-sprest"; import { Components } from "gd-sprest-bs/components/types"; import { CustomIconTypes, CustomIcons } from "gd-sprest-bs/icons/customIcons"; import * as WebParts from "gd-sprest-bs/webparts/types"; /** * $REST Bootstrap Library */ export interface IRESTBS extends IREST { Components, CustomIconTypes, CustomIcons, Icons, IconTypes, WebParts } } declare module 'gd-sprest-bs/components/components' { export * from "gd-bs/src/components/components"; export * from "gd-sprest-bs/components/datetime/types"; export * from "gd-sprest-bs/components/field/types"; export * from "gd-sprest-bs/components/listForm/types"; export * from "gd-sprest-bs/components/listFormDialog/types"; export * from "gd-sprest-bs/components/peoplePicker/types"; export * from "gd-sprest-bs/components/richTextBox/types"; import { IFormControlTypes as Parent } from "gd-bs/src/components/form/controlTypes"; export interface IFormControlTypes extends Parent { DateTime: number; PeoplePicker: number; RichTextBox: number; } export const FormControlTypes: IFormControlTypes; } declare module 'gd-sprest-bs/webparts/base/helperTypes' { import { IFormControlProps } from "gd-bs/src/components/form/controlTypes"; import { IForm } from "gd-bs/src/components/form/formTypes"; import { IWebPartInfo } from "gd-sprest-bs/webparts/base/types"; /** * Helper Methods */ export const Helper: IHelper; /** * Helper Methods */ export interface IHelper { /** * Method to get the webpart * @param wpId - The webpart id. */ getWebPart(wpId: string): PromiseLike<IWPInstance>; /** * Method to get the webpart id for a specified element * @param el - The target element. */ getWebPartId(el: HTMLElement): string; /** * Method to render the edit form. * @param el - The element to render the form to. * @param wpCfg - The webpart configuration information. * @param formControls - The form controls to render. */ renderEditForm: (el: HTMLElement, wpCfg: IWebPartCfg, formControls: Array<IFormControlProps>) => IForm; /** * Method to save the webpart configuration. * This method may execute a postback, based on the page type. * @param wpId - The webpart id. * @param cfgId: The configuration element id. * @param wpCfg - The webpart configuration. */ saveConfiguration(wpId: string, cfgId?: string, wpCfg?: any): PromiseLike<void>; /** * Method to update the configuration element * @param cfgId: The configuration element id. * @param elTarget - The target element. * @param wpCfg - The webpart configuration. */ updateConfigurationInElement(cfgId: string, elTarget: HTMLInputElement, wpCfg); /** * Method to update the webpart content elements * @param wpId - The webpart id. * @param cfgId: The configuration element id. * @param wpCfg - The webpart configuration. */ updateWebPartContentElements(wpId: string, cfgId?: string, wpCfg?: any): boolean; } /** * WebPart Information */ export interface IWPInstance { Context: any; Properties: any; WebPart: any; WebPartDefinition: any; } } declare module 'gd-sprest-bs/webparts/base/types' { import { IButtonProps } from "gd-bs/src/components/button/types"; import { IFormControl, IFormControlProps } from "gd-bs/src/components/form/controlTypes"; import { IForm, IFormProps } from "gd-bs/src/components/form/formTypes"; import { IModal, IModalProps } from "gd-bs/src/components/modal/types"; import { ITooltipGroupProps } from "gd-bs/src/components/tooltipGroup/types"; /** * ### Web Part * * The client-side webpart component can be used to control what is displayed when a page is being edited and displayed. An optional hidden configuration element can be utilized to store a custom configuration. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * WebParts.WebPart({ * elementId: "my-wp", * cfgElementId: "my-wp-cfg", * onRenderDisplay: (wpInfo) => { * // Render the display element * wpInfo.el.innerHTML = '<h1>Hello Display Mode</h1>'; * }, * onRenderEdit: (wpInfo) => { * // Render the edit element * wpInfo.el.innerHTML = '<h1>Hello Edit Mode</h1>'; * } * }); * ``` */ export const WebPart: (props: IWebPartProps) => IWebPart; /** * WebPart */ export interface IWebPart<IWPCfg = IWebPartCfg, IWPInfo = IWebPartInfo> { /** The webpart configuration. */ cfg: IWPCfg; /** The webpart information. */ info: IWPInfo; /** Method to update the edit form. */ updateEditForm?: (formControls: Array<IFormControl>) => void; } /** * WebPart Information */ export interface IWebPartInfo<IWPCfg = IWebPartCfg> { /** The configuration */ cfg: IWPCfg; /** The element to render the webpart to */ el: HTMLElement; /** The webpart id */ wpId: string; } /** * WebPart Object */ export interface IWebPartObject { /** The JSOM context object */ Context: any; /** The webpart properties object */ Properties: any; /** The webpart id */ WebPartId: string; /** The webpart html element */ WebPart: HTMLElement; /** The webpart definition object */ WebPartDefinition: any; } /** * WebPart Properties */ export interface IWebPartProps<IWPInfo = IWebPartInfo, IWPEditForm = IWebPartEditForm> { /** The optional configuration element */ cfgElementId?: string; /** The class name. */ className?: string; /** The target element id to render the webpart to */ elementId?: string; /** The edit form */ editForm?: IWPEditForm; /** The optional help link properties */ helpProps?: { /** The link title */ title?: string; /** The link url */ url: string; }; /** The post render event */ onPostRender?: (wp: IWPInfo, ...args) => void; /** The render event triggered when the page is in 'Display' mode */ onRenderDisplay?: (wp: IWPInfo) => any; /** The render event triggered when the page is in 'Edit' mode */ onRenderEdit?: (wp: IWPInfo) => any; /** The render form event triggered when the form is created */ onRenderForm?: (form: IForm, wp?: IWPInfo) => any; /** The webpart class name */ wpClassName?: string; } /** * WebPart Configuration */ export const WPCfg: (cfg: IWebPartCfg, props: IWebPartProps) => { /** Method to render the edit form. */ renderForm?: (formControls: Array<IFormControl>) => void; }; /** * WebPart Configuration */ export interface IWebPartCfg { /** The webpart id */ WebPartId?: string; } /** * WebPart Edit Form */ export interface IWebPartEditForm<IWPCfg = IWebPartCfg, IWPInfo = IWebPartInfo> { /** The form action buttons displayed in the footer of the modal. */ actions?: Array<IButtonProps>; /** The render form event. */ onRenderForm?: (wpInfo?: IWPInfo) => Array<IFormControlProps> | PromiseLike<Array<IFormControlProps>> | void; /** The save event. */ onSave?: (wpCfg?: IWPCfg, form?: IForm) => IWPCfg; /** True to hide the save button. */ showSaveButton?: boolean; } /** * SPFx WebPart */ export const SPFxWebPart: (props: ISPFxWebPartProps) => ISPFxWebPart; /** * SPFx WebPart */ export interface ISPFxWebPart { /** The webpart configuration object. */ Configuration: ISPFxWebPartCfg; /** The webpart configuration form. */ Form: IForm; /** The webpart configuration modal. */ Modal: IModal; /** Shows the webpart configuration form in a modal. */ showEditModal: () => void; } /** * SPFx WebPart Configuration */ export interface ISPFxWebPartCfg { } /** * SPFx WebPart Properties */ export interface ISPFxWebPartProps { /** The environment type. */ envType?: number; /** The event called prior to saving the webpart configuration. */ onConfigSaving?: (wpCfg: ISPFxWebPartCfg) => ISPFxWebPartCfg; /** The event called after the webpart configuration is saved. */ onConfigSaved?: (wpCfg?: ISPFxWebPartCfg) => void; /** The event called when the modal is being displayed. */ onConfigFormDisplaying?: (wpCfg?: ISPFxWebPartCfg) => void; /** The webpart configuration modal footer button properties. */ onConfigFormFooterRendering?: (props: ITooltipGroupProps, wpCfg?: ISPFxWebPartCfg) => ITooltipGroupProps; /** The webpart configuration modal form properties. */ onConfigFormRendering?: (props: IFormProps, wpCfg?: ISPFxWebPartCfg) => IFormProps; /** The webpart configuration modal form object. */ onConfigFormRendered?: (form: IForm, wpCfg?: ISPFxWebPartCfg) => void; /** The webpart configuration modal properties. */ onModalRendering?: (props: IModalProps) => IModalProps; /** The webpart configuration modal properties. */ onModalRendered?: (modal: IModal) => void; /** The render event for the webpart. */ render?: (el?: HTMLElement, cfg?: ISPFxWebPartCfg) => void; /** The render event for the webpart when the page is in edit mode. */ renderEdit?: (el?: HTMLElement, cfg?: ISPFxWebPartCfg) => void; /** The spfx properties. */ spfx?: { context: { domElement: HTMLElement; graphHttpClient: any; host: any; httpClient: any; instanceId: string; itemId?: number; list?: { title: string; } manifest: { alias: string; componentType: string; id: string; loaderConfig: any; manifestVersion: number; requiresCustomScript: boolean; supportedHosts: string[]; supportsThemeVariants: boolean; version: string; }; pageContext: any; propertyPane: any; serviceScope: any; spHttpClient: any; statusRenderer: any; webPartTag: string; }; dataVersion: any; description: string; displayMode: number; domElement: HTMLElement; formClosed?: () => void; formSaved?: () => void; getPropertyPaneConfiguration: any; instanceId: string; isRenderAsync: boolean; previewImageUrl: string; properties: any; propertiesMetadata: any; title: string; width: number; }; } } declare module 'gd-sprest-bs/webparts/list/types' { import { IFormControlProps } from "gd-bs/src/components/form/controlTypes"; import { Helper, Types } from "gd-sprest"; import { IWebPart, IWebPartInfo, IWebPartProps, IWebPartCfg, IWebPartEditForm, ISPFxWebPart, ISPFxWebPartCfg, ISPFxWebPartProps } from "gd-sprest-bs/webparts/base/types"; import { IListFormDisplay, IListFormDisplayProps, IListFormEdit, IListFormEditProps } from "gd-sprest-bs/components/listForm/types"; /** * ### List WebPart * * The list webpart should be used when targeting a list as a datasource. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * WebParts.WebPart({ * elementId: "my-wpList", * cfgElementId: "my-wpList-cfg", * onRenderItems: (wpInfo, items) => { * // Render the display element * wpInfo.el.innerHTML = [ * '<h1>List: ' + wpInfo.ListName + '</h1>', * '<h5>List Items: ' + items.length + '</h5>' * ].join('\n'); * } * }); * ``` */ export const WPList: (props: IWPListProps) => IWPList; /** * List WebPart Edit Form */ export const WPListEditForm: (props: IWPListEditForm) => IWPListEditForm; /** * List WebPart */ export interface IWPList<IListCfg = IWPListCfg, IListInfo = IWPListInfo> extends IWebPart<IListCfg, IListInfo> { } /** * List WebPart Information */ export interface IWPListInfo<IListCfg = IWPListCfg> extends IWebPartInfo<IListCfg> { } /** * List WebPart Properties */ export interface IWPListProps<IListInfo = IWPListInfo, IListEditForm = IWPListEditForm> extends IWebPartProps<IListInfo, IListEditForm> { /** The caml query. */ camlQuery?: string; /** The odata query. */ odataQuery?: Types.IODataQuery; /** The executing caml query event. */ onExecutingCAMLQuery?: (wpInfo: IListInfo, caml: string) => string; /** The executing odata query event. */ onExecutingODATAQuery?: (wpInfo: IListInfo, odata: Types.IODataQuery) => Types.IODataQuery; /** The on render items event. */ onRenderItems?: (wpInfo: IListInfo, items: Array<Types.SP.IListItemQuery | Types.SP.ListItem>) => void; } /** * List WebPart Configuration */ export interface IWPListCfg extends IWebPartCfg { /** The list name */ ListName?: string; /** The relative web url */ WebUrl?: string; } /** * List WebPart Edit Form */ export interface IWPListEditForm<IListCfg = IWPListCfg, IListInfo = IWPListInfo> extends IWebPartEditForm<IListCfg, IListInfo> { /** The odata list query. */ listQuery?: Types.IODataQuery; /** The list changed event. */ onListChanged?: (wpInfo: IListInfo, list?: Types.SP.IListQuery | Types.SP.List) => Array<IFormControlProps> | PromiseLike<Array<IFormControlProps>> | void; /** The lists loaded event. */ onListsLoaded?: (wpInfo: IListInfo, lists?: Array<Types.SP.IListQuery | Types.SP.List>) => Array<Types.SP.IListQuery | Types.SP.List>; /** The render form event. */ onRenderForm?: (wpInfo: IListInfo, list?: Types.SP.IListQuery | Types.SP.List) => Array<IFormControlProps> | PromiseLike<Array<IFormControlProps>> | void; } /** * SPFx List WebPart */ export const SPFxListWebPart: (props: ISPFxListWebPartProps) => ISPFxListWebPart; /** * SPFx List WebPart */ export interface ISPFxListWebPart extends ISPFxWebPart { /** The webpart configuration object. */ Configuration: ISPFxListWebPartCfg; } /** * SPFx List WebPart Configuration */ export interface ISPFxListWebPartCfg extends ISPFxWebPartCfg { /** The list id */ ListId?: string; /** The list name */ ListName?: string; /** The relative web url */ WebUrl?: string; } /** * SPFx List WebPart Properties */ export interface ISPFxListWebPartProps extends ISPFxWebPartProps { /** The odata list query. */ listQuery?: Types.IODataQuery; /** The event called prior to saving the webpart configuration. */ onConfigSaving?: (wpCfg: ISPFxListWebPartCfg) => ISPFxListWebPartCfg; /** The event called after the webpart configuration is saved. */ onConfigSaved?: (wpCfg?: ISPFxListWebPartCfg) => void; /** The event called when the modal is being displayed. */ onConfigFormDisplaying?: (wpCfg?: ISPFxListWebPartCfg) => void; /** The webpart configuration modal footer button properties. */ onConfigFormFooterRendering?: (props: ITooltipGroupProps, wpCfg?: ISPFxListWebPartCfg) => ITooltipGroupProps; /** The webpart configuration modal form properties. */ onConfigFormRendering?: (props: IFormProps, wpCfg?: ISPFxListWebPartCfg) => IFormProps; /** The webpart configuration modal form object. */ onConfigFormRendered?: (form: IForm, wpCfg?: ISPFxListWebPartCfg) => void; /** The event to customize the CAML query used for getting the list items. */ onListItemCAMLQuery?: (wpCfg: ISPFxListWebPartCfg, query: string) => string; /** The event to customize the ODATA query used for getting the list items. */ onListItemODataQuery?: (wpCfg: ISPFxListWebPartCfg, query: Types.IODataQuery) => Types.IODataQuery; /** The list changed event. */ onListsChanged?: (wpInfo: IListInfo, list?: Types.SP.IListQuery | Types.SP.List) => Array<IFormControlProps> | PromiseLike<Array<IFormControlProps>> | void; /** The lists loaded event. */ onListsLoaded?: (wpInfo: IListInfo, lists?: Array<Types.SP.IListQuery | Types.SP.List>) => Array<Types.SP.IListQuery | Types.SP.List>; /** The render event for the webpart. */ render?: (el?: HTMLElement, cfg?: ISPFxListWebPartCfg) => void; /** The render event for the webpart when the page is in edit mode. */ renderEdit?: (el?: HTMLElement, cfg?: ISPFxListWebPartCfg) => void; /** The render event for the webpart. */ renderItems?: (el?: HTMLElement, cfg?: ISPFxListWebPartCfg, items?: Array<Types.SP.IListItemQuery | Types.SP.ListItem>) => void; } /** * SPFx List Form WebPart */ export const SPFxListFormWebPart: (props: ISPFxListFormWebPartProps) => ISPFxListFormWebPart; /** * SPFx List Form WebPart */ export interface ISPFxListFormWebPart extends ISPFxListWebPart { /** The display form. */ DisplayForm?: IListFormDisplay; /** The edit/new form. */ EditForm?: IListFormEdit; } /** * SPFx List WebPart Configuration */ export interface ISPFxListFormWebPartCfg extends ISPFxListWebPartCfg { } /** * SPFx List Form WebPart Properties */ export interface ISPFxListFormWebPartProps extends ISPFxListWebPartProps { /** The form component id to use for the edit configuration webpart. */ componentId?: string; /** The form component properties to use for the edit configuration webpart. */ componentProps?: string; /** The list information properties. */ onGetListInfo?: (props: Helper.IListFormProps) => Helper.IListFormProps; /** The display form rendering event. */ onDisplayFormRendering?: (props: IListFormDisplayProps) => IListFormDisplayProps; /** The display form rendered event. */ onDisplayFormRendered?: (form?: IListDisplayForm) => void; /** The footer rendering. */ onEditFooterRendering?: (props: ITooltipGroupProps) => ITooltipGroupProps; /** The edit form rendering event. */ onEditFormRendering?: (props: IListFormEditProps) => IListFormEditProps; /** The edit form rendered event. */ onEditFormRendered?: (form?: IListEditForm) => void; /** The saving event. */ onSaving?: (values: any) => any; /** The saved event */ onSaved?: (item: any) => void; } } declare module 'gd-sprest-bs/webparts/listFields/types' { import { IWPList, IWPListCfg, IWPListEditForm, IWPListInfo, IWPListProps } from "gd-sprest-bs/webparts/list/types"; /** * ### List Fields WebPart * * The list fields webpart should be used when targeting a list and fields as a datasource. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * WebParts.WebPart({ * elementId: "my-wpList", * cfgElementId: "my-wpList-cfg", * onRenderItems: (wpInfo, items) => { * // Render the display element * wpInfo.el.innerHTML = [ * '<h1>List: ' + wpInfo.ListName + '</h1>', * '<h5>List Items: ' + items.length + '</h5>' * ].join('\n'); * } * }); * ``` */ export const WPListFields: (props: IWPListFieldsProps) => IWPListFields; /** * List Fields WebPart Edit Form */ export const WPListFieldsEditForm: (props: IWPListFieldsEditForm) => IWPListFieldsEditForm; /** * List Fields WebPart */ export interface IWPListFields<IListFieldsCfg = IWPListFieldsCfg, IListFieldsInfo = IWPListFieldsInfo> extends IWPList<IListFieldsCfg, IListFieldsInfo> { } /** * List Fields WebPart Information */ export interface IWPListFieldsInfo<IListFieldsCfg = IWPListFieldsCfg> extends IWPListInfo<IListFieldsCfg> { } /** * List Fields WebPart Properties */ export interface IWPListFieldsProps<IListFieldsInfo = IWPListFieldsInfo, IListFieldsEditForm = IWPListFieldsEditForm> extends IWPListProps<IListFieldsInfo, IListFieldsEditForm> { } /** * WebPart Configuration List Field */ export interface IWPListField { // The internal field name Name: string; // The display name of the field Title: string } /** * List Fields WebPart Configuration */ export interface IWPListFieldsCfg extends IWPListCfg { /** The selected fields */ Fields: Array<IWPListField>; } /** * List Fields WebPart Edit Form */ export interface IWPListFieldsEditForm<IListFieldsCfg = IWPListFieldsCfg, IListFieldsInfo = IWPListFieldsInfo> extends IWPListEditForm<IListFieldsCfg, IListFieldsInfo> { } } declare module 'gd-sprest-bs/webparts/search/types' { import { Types } from "gd-sprest"; import { IWPList, IWPListInfo, IWPListProps, IWPListCfg, IWPListEditForm } from "gd-sprest-bs/webparts/list/types"; /** * ### Search WebPart * * The search webpart extends the list webpart, and includes a filterItems method to return items based on the inputed filter text. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * let wp = WebParts.WebPart({ * elementId: "my-wpSearch", * cfgElementId: "my-wpSearch-cfg", * onRenderItems: (wpInfo, items) => { * // Render the display element * wpInfo.el.innerHTML = [ * '<h1>List: ' + wpInfo.ListName + '</h1>', * '<h5>List Items: ' + items.length + '</h5>' * ].join('\n'); * } * }); * ``` */ export const WPSearch: (props: IWPListProps) => IWPSearch; /** * Search WebPart Edit Form */ export const WPSearchEditForm: (props: IWPSearchEditForm) => IWPSearchEditForm; /** * Search WebPart */ export interface IWPSearch extends IWPList<IWPSearchCfg, IWPSearchInfo> { /** The filter items method. */ filterItems: (filterText: string) => Array<Types.SP.IListItemQuery | Types.SP.ListItem>; } /** * Search WebPart Information */ export interface IWPSearchInfo extends IWPListInfo<IWPSearchCfg> { } /** * Search WebPart Properties */ export interface IWPSearchProps extends IWPListProps<IWPSearchInfo, IWPSearchEditForm> { /** The internal field names to be used for search. These will be appended to the configuration fields. */ searchFields?: Array<{ name: string, type: string }>; } /** * Search WebPart Configuration */ export interface IWPSearchCfg extends IWPListCfg { /** The searchable fields. */ Fields: Array<{ name: string, type: string }>; } /** * Search WebPart Edit Form */ export interface IWPSearchEditForm extends IWPListEditForm<IWPSearchCfg, IWPSearchInfo> { } } declare module 'gd-sprest-bs/webparts/tabs/types' { import { INav } from "gd-bs/src/components/nav/types"; import { IWebPart, IWebPartProps } from "gd-sprest-bs/webparts/base/types"; /** * ### WebPart Tabs * * The webpart tabs will generate tabs for each visible webpart in its zone. * * ```ts * import { WebParts } from "gd-sprest-bs"; * * // Create the webpart * WebParts.WPTabs({ elementId: "my-tabs" }); * ``` */ export const WPTabs: (props: IWPTabsProps) => IWPTabs; /** * WebPart Tab Types */ export const WPTabTypes: IWPTabTypes; /** * WebPart Tabs */ export interface IWPTabs extends IWebPart { getNav(): INav; getTabs(): Array<HTMLElement>; } /** * WebPart Tabs Properties */ export interface IWPTabsProps extends IWebPartProps { onClick?: (el?: HTMLElement) => void; type?: number; } /** * WebPart Tab Types */ export type IWPTabTypes = { Pillars: number; Tabs: number; } } declare module 'gd-sprest-bs/webparts/taxonomy/types' { import { IDropdownItem } from "gd-bs/src/components/dropdown/types" import { Helper } from "gd-sprest"; import { IWebPart, IWebPartInfo, IWebPartProps, IWebPartCfg, IWebPartEditForm } from "gd-sprest-bs/webparts/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; } } declare module 'gd-sprest-bs/components/datetime/types' { import { IFormControlProps } from "gd-bs/src/components/form/controlTypes"; /** * Date/Time */ export const DateTime: (props: IDateTimeProps) => IDateTime /** * Date/Time */ export interface IDateTime { /** The date/time picker element. */ el: HTMLDivElement; /** The flatpickr object. */ flatpickrObj: any; /** Returns the date as a Date/Time object. */ getDate: () => Date; /** Method to get the value. */ getValue: () => string; /** Method to set the value. */ setValue: (dt: string | Date, dtFormat?: string) => void; } /** * Date/Time Props */ export interface IDateTimeProps { /** Assigns the object to the input parameter. */ assignTo?: (obj: IDateTime) => void; /** The class name to apply to the element. */ className?: string; /** The element to render the form to. */ el?: HTMLElement; /** True to disable the date/time plugin */ disabled?: boolean; /** The date/time label. */ label?: string; /** The change event. */ onChange?: (value: string) => void; /** The flatpickr options. */ options?: any; /** Flag to display the time. */ showTime?: boolean; /** The date/time value. */ value?: string; } /** * Form Control Properties - DateTime */ export interface IFormControlPropsDateTime extends IFormControlProps { /** The flatpickr options. */ options?: any; /** Flag to display the time. */ showTime?: boolean; /** The date/time value. */ value?: string; } } declare module 'gd-sprest-bs/components/field/types' { import { Helper, Types } from "gd-sprest"; import { IFormControl, IFormControlProps, IFormControlValidationResult } from "gd-bs/src/components/form/controlTypes"; /** * Field */ export const Field: (props: IFieldProps) => IField; /** * Field */ export interface IField { control: IFormControl; controlProps: IFormControlProps; getValue: () => IFieldValue; setControl: (control: IFormControl) => void; isValid: () => boolean; } /** * Field Properties */ export interface IFieldProps { assignTo?: (obj: IField) => void; controlMode?: number; errorMessage?: string; field: Types.SP.Field; listInfo: Helper.IListFormResult; lookupFilter?: string | Types.IODataQuery; onError?: (msg: string) => void; onControlRendered?: (control: IFormControl, field: Types.SP.Field) => void | Promise<IFormControl>; onControlRendering?: (control: IFormControlProps, field: Types.SP.Field) => void | Promise<IFormControlProps>; onValidate?: (field: Types.SP.Field, control: IFormControl, value: IFormControlValidationResult) => boolean | IFormControlValidationResult; value?: any; } /** * Field Image Information */ export interface IFieldImageInfo extends Helper.IListFormAttachmentInfo { fieldId: string; fieldName: string; } /** * Field Image Value */ export interface IFieldImageValue { fieldId: string; fieldName: string; fileName: string; id: string; nativeFile?: any; serverRelativeUrl: string; serverUrl: string; type: string; } /** * Field Value */ export interface IFieldValue { name: string; value: any; } /** * Form Control Lookup Properties */ export interface IFormControlLookupProps extends IFormControlProps { lookupFilter?: string | Types.IODataQuery; onControlRendering?: (control: IFieldLookupProps, field: Types.SP.Field) => void | Promise<IFieldLookupProps>; } /** * Form Control Url Properties */ export interface IFormControlUrlProps extends IFormControlProps { showDescription?: boolean; onControlRendering?: (control: IFieldUrlProps, field: Types.SP.Field) => void | Promise<IFieldUrlProps>; } } declare module 'gd-sprest-bs/components/listForm/types' { import { IFormControl, IFormControlProps } from "gd-bs/src/components/form/controlTypes"; import { IForm, IFormRow } from "gd-bs/src/components/form/formTypes"; import { Helper, Types } from "gd-sprest"; /** * List Form */ export const ListForm: IListForm; /** * List Form */ export interface IListForm extends Helper.IListForm { /** * Method to render the display form template. * @param props - The display form properties. */ renderDisplayForm(props: IListFormDisplayProps): IListFormDisplay; /** * Method to render the edit/new form. * @param props - The edit/new form properties. */ renderEditForm(props: IListFormEditProps): IListFormEdit; } /** * List Form Attachments Properties */ export interface IListFormAttachmentsProps { /** The element to render the form to. */ el: Element; /** The list form information. */ info: Helper.IListFormResult; /** The item attachment saved event. */ onSave?: (info: Helper.IListFormResult) => void; } /** * List Form Display */ export interface IListFormDisplay { /** Optional data object to store custom properties for this form. */ data?: any; /** The form element. */ el: HTMLFormElement; /** Method to get a control by field name */ getControl(fieldName: string): IFormControl; } /** * List Form Display Properties */ export interface IListFormDisplayProps extends Helper.IListFormDisplayProps { /** Assigns the object to the input parameter. */ assignTo?: (obj: IListFormDisplay) => void; /** The form component class name. */ className?: string; /** Flag to display the attachments, if they are loaded. */ displayAttachments?: boolean; /** The form component group class name. */ groupClassName?: string;