@contentful/ecommerce-app-base
- Config
- DeleteFn
- DisabledPredicateFn
- MakeCTAFn
- OpenDialogFn
- ProductPreviewsFn
- ProductsFn
- RenderDialogFn
- ValidateParametersFn
Ƭ Config: Record<string, any>
Object containing all information configured on the app configuration page.
Ƭ DeleteFn: (index
: number) => void
Ƭ DisabledPredicateFn: (currentValue
: string[], config
: Config) => boolean
Function that should return true when the button should be disabled.
param
Currently selected skus
param
App configuration
returns
true, if the button in the field location should be disabled. false, if the button should be enabled
Ƭ MakeCTAFn: (fieldType
: string) => string
Returns the text that is displayed on the button in the field location.
param
Type of the field the app is used for.
returns
Text that should be displayed on the button
Ƭ OpenDialogFn: (sdk
: FieldExtensionSDK, currentValue
: string[] | string, config
: Config) => Promise<string[]>
Function that gets called when app wants to open a dialog. Should return an updated list of skus 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 akus
param
App configuration
returns
Promise containing a list of selected skus
Ƭ ProductPreviewsFn: (skus
: string[], config
: Config) => Promise<Product[]>
Function that returns a list for a given list of skus. The returned value is used to render a product preview.
param
List of skus
param
App configuration
returns
List of Products which is used to render a preview.
Ƭ ProductsFn: (search
: string, pagination?
: Partial<Pagination>) => Promise<ProductsFnResponse>
Ƭ 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/)
Ƭ ValidateParametersFn: (parameters
: Record<string, string>) => 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.
▸ renderSkuPicker(elementId
: string, __namedParameters
: Props): void
Name | Type |
---|---|
elementId |
string |
__namedParameters |
Props |
Returns: void
▸ setup(integration
: Integration): void
Name | Type |
---|---|
integration |
Integration |
Returns: void