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
string
getActivatedRoute
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
string
variables
parameter
{ [key: string]: any }
fetchPolicy
parameter
WatchQueryFetchPolicy
graphQlMutation
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
string
variables
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']