UiDevkitClient
setTargetOrigin
Set the window.postMessage API
targetOrigin. The Vendure ui-devkit uses the postMessage API to
enable cross-frame and cross-origin communication between the ui extension code and the Admin UI
app. The targetOrigin is a security feature intended to provide control over where messages are sent.
Signature
function setTargetOrigin(value: string): void
Parameters
value
parameter
stringgetActivatedRoute
Retrieves information about the current route of the host application, since it is not possible to otherwise get this information from within the child iframe.
Example
import { getActivatedRoute } from '@vendure/ui-devkit';
const route = await getActivatedRoute();
const slug = route.params.slug;
Signature
function getActivatedRoute(): Promise<ActiveRouteData>
graphQlQuery
Perform a GraphQL query and returns either an Observable or a Promise of the result.
Example
import { graphQlQuery } from '@vendure/ui-devkit';
const productList = await graphQlQuery(`
query GetProducts($skip: Int, $take: Int) {
products(options: { skip: $skip, take: $take }) {
items { id, name, enabled },
totalItems
}
}`, {
skip: 0,
take: 10,
}).then(data => data.products);
Signature
function graphQlQuery<T, V extends { [key: string]: any }>(document: string, variables?: { [key: string]: any }, fetchPolicy?: WatchQueryFetchPolicy): {
then: Promise<T>['then'];
stream: Observable<T>;
}
Parameters
document
parameter
stringvariables
parameter
{ [key: string]: any }fetchPolicy
parameter
WatchQueryFetchPolicygraphQlMutation
Perform a GraphQL mutation and returns either an Observable or a Promise of the result.
Example
import { graphQlMutation } from '@vendure/ui-devkit';
const disableProduct = (id: string) => {
return graphQlMutation(`
mutation DisableProduct($id: ID!) {
updateProduct(input: { id: $id, enabled: false }) {
id
enabled
}
}`, { id })
.then(data => data.updateProduct)
}
Signature
function graphQlMutation<T, V extends { [key: string]: any }>(document: string, variables?: { [key: string]: any }): {
then: Promise<T>['then'];
stream: Observable<T>;
}
Parameters
document
parameter
stringvariables
parameter
{ [key: string]: any }notify
Display a toast notification.
Example
import { notify } from '@vendure/ui-devkit';
notify({
message: 'Updated Product',
type: 'success'
});
Signature
function notify(options: NotificationMessage['data']): void
Parameters
options
parameter
NotificationMessage['data']