import type { IClientSideComponentManifest, ILocalizedString } from './IClientSideComponentManifest'; /** * This is the manifest for a client-side application. * * @alpha */ export interface IClientSideApplicationManifest extends IClientSideComponentManifest { /** * Represents flags to preload information in host aspx page. */ preloadOptions: IPreloadOptions; /** * Title of the application as a dictionary of locale keys to title values. This value will be * displayed to the user in the (page creation) interface. * * @remarks * * Supported values: a dictionary of locale keys to strings. Should always have a 'default' key. * * Example: `"My Application"` * * ``` * { * "default": "My Application" * "en-us": "My Application", * "fr-fr": "Ma demande", * "zh": "我的應用程式" * } * ``` */ title: ILocalizedString; /** * Description of the application represented as a dictionary of locale keys to description values. * This value will be displayed to the user in the (page creation) interface. * * @remarks * * Supported values: a dictionary of locale keys to strings. Should always have a 'default' key. * * Examples: * * ``` * "An application for searching for things." * ``` * or * ``` * { * "default": "An application for searching for things.", * "en-us": "An application for searching for things.", * "fr-fr": "Une demande pour la recherche de choses.", * "zh": "申請尋找的東西。" * } * ``` */ description: ILocalizedString; /** * Id of the preferred assembly to use to load the application. * * @remarks * If no assembly id is provided SPFx will be loaded with the default assembly. * * Supported values: a GUID string * * Example: `"44bae1a2-d2eb-4e10-8c21-a1dbdce1036f"` * * @internal */ assemblyId?: string; /** * True if the application has a suite nav. Default is false. * * @remarks * This is used to by the server-side code to preload the suite nav. * * @internal */ hasSuiteNav?: boolean; } /** * @alpha */ export interface IPreloadOptions { /** * Determines whether or not to preload the web object. * * @remarks * * A value indicating whether or not to preload the web object when loading the application page. * If not present, defaults to false. */ shouldPreloadWeb?: boolean; /** * Determines whether or not to preload the user object. * * @remarks * * A value indicating whether or not to preload the user object when loading the application page. * If not present, defaults to false. */ shouldPreloadUser?: boolean; /** * Determines whether or not to preload the SharePointlist object. * * @remarks * A value indicating whether or not to preload the list object when loading the application page. * If not present, defaults to false. */ shouldPreloadList?: boolean; /** * Determines whether or not to preload the SharePoint list item object. * * @remarks * * A value indicating whether or not to preload the list item object when loading the application page. * If not present, defaults to false. */ shouldPreloadItem?: boolean; /** * Determines whether or not to preload the quick launch navigation menu items. * * @remarks * * A value indicating whether or not to preload the quick launch navigation menu items when loading the * application page. If not present, defaults to false. */ shouldPreloadQuickLaunch?: boolean; /** * This specifies an optional OData query expression with the syntax that would be used * in the URL query parameter for a REST API call that fetches a SharePoint list item. * * @remarks * This property enables the application to tailor the way the preload object will be serialized. * For example, if you want to include the custom fields MyField1 and MyField2 and expand * the Folder property, the preloadListItemQueryOption would look like this * `"$select=MyField1,MyField2&$expand=Folder"` * * Supported values: A query following the {@link * https://docs.microsoft.com/en-us/sharepoint/dev/schema/collaborative-application-markup-language-caml-schemas * | CAML standard} * * Example: `"$select=MyField1,MyField2&$expand=Folder"` */ preloadListItemQueryOption?: string; /** * This specifies an optional OData query expression with the syntax that would be used * in the URL query parameter for a REST API call that fetches a SharePoint list item. * * @remarks * This property enables the application to tailor the way the preload object will be serialized. * For example, if you want to include the custom fields `MyField1` and `MyField2` and expand * the `Folder` property, the `preloadListItemQueryOption` would look like this * `"$select=MyField1,MyField2&$expand=Folder"` * * This currently provides a way to override the value of `preloadListItemQueryOption` * Later we would like to have `preloadListItemQueryOption` and `preloadListItemQueryOptionFallback` * with fallback being the one that is known and working and `preloadListItemQueryOption` would * be the override, but we should discuss the exact names when we make the change. * * Supported values: A query following the {@link * https://docs.microsoft.com/en-us/sharepoint/dev/schema/collaborative-application-markup-language-caml-schemas * | CAML standard} * * Example: `"$select=MyField1,MyField2&$expand=Folder"` */ preloadListItemQueryOptionOverride?: string; /** * This specifies what to fetch from a SharePoint list item Properties property. * * @remarks * For example, if you want to include `MyProperty1` and `MyProperty2` from item `Properties` property, * the `preloadListItemProperties` would look like `"[MyProperty1,MyProperty2]"`. * * The main reason not to pass `"$expand=Properties&select=Properties/MyProperty1,Properties/MyProperty2"` * to `PreloadListItemQueryOption` is to avoid multiple extra SQL roundtrips. * * SharePoint list item Properties property is a hashtable to store additional information of the item * without modify list schema. For more infomation about item Properties property see the following link: * * {@link https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.properties.aspx} * * If the specified name doesn't exist in the item Properties property, it will not return the value. * * Supported values: array of property names. * * Example: `["DefaultCanvasContentVersion"]` */ preloadListItemProperties?: string[]; } //# sourceMappingURL=IClientSideApplicationManifest.d.ts.map