gd-sprest-bs
Version:
SharePoint JavaScript, TypeScript and Web Components designed using the Bootstrap framework.
1,392 lines (1,158 loc) • 62.7 kB
TypeScript
// 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;