@contentful/dam-app-base
- AdditionalData
- Asset
- CompatibleFields
- Config
- CustomUpdateStateValueFn
- DeleteFn
- DisabledPredicateFn
- GetAdditionalDataFn
- OpenDialogFn
- RenderDialogFn
- SelectedFields
- ThumbnailFn
- ValidateParametersFn
Ƭ AdditionalData: { primary: string; secondary: string }
Object containing additional data about the asset to display as primary and secondary information in the "more details" section
Ƭ Asset: Record<string, any>
Object containing data about the asset. Shape and values are DAM service specific.
Ƭ CompatibleFields: Record<string, Field[]>
Ƭ Config: Record<string, any>
Object containing all information configured on the app configuration page.
Ƭ CustomUpdateStateValueFn: (
context: {
currentValue: Asset[];
result: Asset[];
config: Config;
},
updateStateValue: (value: Asset[]) => void
) => Promise<void>;
Async function that takes in context about the current field value, the result from the dialog, and the app config. It also accepts a function to update the field state, and this should be called in the function to update the field
Ƭ DeleteFn: (index: number) => void
Ƭ DisabledPredicateFn: (currentValue: Asset[], config: Config) => boolean
Function that should return true when the button should be disabled.
param Currently selected assets
param App configuration
returns true, if the button in the field location should be disabled. false, if the button should be enabled
Ƭ GetAdditionalDataFn: (asset: Asset) => AdditionalData
Function that return an object that represents the primary and secondary data that should be displayed in the "more details" section of the asset card
Ƭ OpenDialogFn: (sdk: FieldExtensionSDK, currentValue: Asset[], config: Config) => Promise<Asset[]>
Function that gets called when app wants to open a dialog. Should return an updated list of assets as a Promise.
You probably want to call sdk.openCurrentApp.
example
async function openDialog(sdk, currentValue, config) {
return await sdk.dialogs.openCurrentApp({
parameters: { config, currentValue },
});
}param (https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/)
param List of currently selected assets
param App configuration
returns Promise containing a list of selected assets
Ƭ RenderDialogFn: (sdk: DialogExtensionSDK) => void
Function that gets called within the Iframe when the app is rendered in a dialog location.
example
function renderDialog(sdk) {
const config = sdk.parameters.invocation;
const container = document.createElement('div');
container.innerHTML = `<iframe src="https://example.com/dam?folder=${config.folder}" width="400" height="650" style="border:none;"/>`;
document.body.appendChild(container);
}param (https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/)
Ƭ SelectedFields: Record<string, string[] | undefined>
Ƭ ThumbnailFn: (asset: Asset, config: Config) => [string, string | undefined]
Returns the url of the thumbnail of an asset.
param Asset
param App configuration
returns Tuple containing (1) the url and (2) the text represantation of the asset (optional)
Ƭ ValidateParametersFn: (parameters: Record<string, any>) => string | null
Custom code that validates installation parameters that is run before saving.
param Object containg the entered parameters.
returns string containing an error message. null if the parameters are valid.
▸ editorInterfacesToSelectedFields(eis: EditorInterface[], appId?: string): Record<string, undefined | string[]>
| Name | Type |
|---|---|
eis |
EditorInterface[] |
appId? |
string |
Returns: Record<string, undefined | string[]>
▸ getCompatibleFields(contentTypes: ContentType[]): Record<string, Field[]>
| Name | Type |
|---|---|
contentTypes |
ContentType[] |
Returns: Record<string, Field[]>
▸ selectedFieldsToTargetState(contentTypes: ContentType[], selectedFields: Record<string, undefined | string[]>): object
| Name | Type |
|---|---|
contentTypes |
ContentType[] |
selectedFields |
Record<string, undefined | string[]> |
Returns: object
| Name | Type |
|---|---|
EditorInterface |
{} |
▸ setup(integration: Integration): void
| Name | Type |
|---|---|
integration |
Integration |
Returns: void