@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
159 lines • 4.88 kB
TypeScript
import { IIconProps } from "@fluentui/react/lib/Icon";
import { BaseComponentContext } from '@microsoft/sp-component-base';
import { IFilePickerResult } from "./FilePicker.types";
import { FilePickerTab } from "./FilePickerTab";
export interface IFilePickerProps {
/**
* Specifies the text describing the file picker
*/
label?: string;
/**
* Specifies the label of the file picker button
*/
buttonLabel?: string;
/**
* Specifies the icon to be used to display Icon Button.
*/
buttonIcon?: string;
/**
* Specifies props for icon to be used to display Icon Button.
*/
buttonIconProps?: IIconProps;
/**
* Handler when the file has been selected
*/
onSave: (filePickerResult: IFilePickerResult[]) => void;
/**
* Handler when file has been changed.
*/
onChange?: (filePickerResult: IFilePickerResult[]) => void;
/**
* Current context.
*/
context: BaseComponentContext;
/**
* ClassName to be applied to the opener button element.
*/
buttonClassName?: string;
/**
* ClassName to be applied to the Panel root element.
*/
panelClassName?: string;
/**
* File extensions to be displayed.
*/
accepts?: string[];
/**
* Sets the label to inform that the value is required.
*/
required?: boolean;
/**
* Used to execute WebSearch. If not provided SearchTab will not be available.
*/
bingAPIKey?: string;
/**
* Specifies if the picker button is disabled
*/
disabled?: boolean;
/**
* Specifies if the picker button is hidden (if hidden, panel visibility can still be controlled with isPanelOpen)
*/
hidden?: boolean;
/**
* Number of itmes to obtain when executing REST queries. Default 100.
*/
itemsCountQueryLimit?: number;
/**
* Specifies if RecentTab should be hidden.
*/
hideRecentTab?: boolean;
/**
* Specifies if StockImagesTab should be hidden.
*/
hideStockImages?: boolean;
/**
* Specifies if WebSearchTab should be hidden.
*/
hideWebSearchTab?: boolean;
/**
* Specifies if OrganisationalAssetTab should be hidden.
*/
hideOrganisationalAssetTab?: boolean;
/**
* Specifies if OneDriveTab should be hidden.
*/
hideOneDriveTab?: boolean;
/**
* Specifies if SiteFilesTab should be hidden.
*/
hideSiteFilesTab?: boolean;
/**
* Specifies if LocalUploadTab should be hidden.
*/
hideLocalUploadTab?: boolean;
/**
* Specifies if LocalMultipleUploadTab should be hidden.
*/
hideLocalMultipleUploadTab?: boolean;
/**
* Specifies if LinkUploadTab should be hidden.
*/
hideLinkUploadTab?: boolean;
/**
* Specifies if last active tab will be stored after the Upload panel has been closed.
* Note: the value of selected tab is stored in the queryString hash.
* @default true
*/
storeLastActiveTab?: boolean;
/**
* Specifies if the file picker panel is open by default or not
*/
isPanelOpen?: boolean;
/**
* Handler when file picker has been cancelled.
*/
onCancel?: () => void;
/**
* Optional additional renderer for Link tab
*/
renderCustomLinkTabContent?: (filePickerResult: IFilePickerResult) => JSX.Element | undefined;
/**
* Optional additional renderer for Upload tab
*/
renderCustomUploadTabContent?: (filePickerResult: IFilePickerResult) => JSX.Element | undefined;
/**
* Optional additional renderer for Multiple Upload tab
*/
renderCustomMultipleUploadTabContent?: (filePickerResult: IFilePickerResult[]) => JSX.Element | undefined;
/**
* Specifies if Site Pages library to be visible on Sites tab
*/
includePageLibraries?: boolean;
/**
* Specifies a default folder to be active in the Site Files tab
*/
defaultFolderAbsolutePath?: string;
/**
* Specifies a default site in the Site Files tab
*/
webAbsoluteUrl?: string;
/**
* Specifies if external links are allowed
*/
allowExternalLinks?: boolean;
/**
* Specifies if file check should be done
*/
checkIfFileExists?: boolean;
/**
* Specifies tab order
* Default [FilePickerTab.Recent, FilePickerTab.StockImages, FilePickerTab.Web, FilePickerTab.OrgAssets, FilePickerTab.OneDrive, FilePickerTab.Site, FilePickerTab.Upload, FilePickerTab.Link, FilePickerTab.MultipleUpload]
*/
tabOrder?: FilePickerTab[];
/**
* Specifies default selected tab
* One of the values from the FilePickerTab enum: Recent, StockImages, Web, OrgAssets, OneDrive, Site, Upload, Link, or MultipleUpload.
*/
defaultSelectedTab?: FilePickerTab;
}
//# sourceMappingURL=IFilePickerProps.d.ts.map