@ergonode/product-templates
Version:
Ergonode product templates module
78 lines (75 loc) • 2.06 kB
JavaScript
/*
* Copyright © Ergonode Sp. z o.o. All rights reserved.
* See LICENSE for license details.
*/
import {
Components,
Icons,
Store,
} from '/config/imports';
import {
ROUTE_NAME,
} from '/config/routes';
import {
getTemplate,
setTemplate,
} from '/extends/methods';
export default {
extendStore: {
product: Store.Product,
},
extendComponents: {
'/components/Forms/ProductForm': {
__ALL: [
{
component: Components.ProductFormTemplate,
props: {},
order: 10,
},
],
},
'/components/Tabs/ProductTemplateTab/placeholderAction': [
{
component: Components.EditProductTemplateButton,
props: {},
},
],
},
extendMethods: {
'/components/Buttons/LinkRelationButton/routeLinks': () => ({
template: ROUTE_NAME.PRODUCT_TEMPLATE_EDIT_GENERAL,
}),
'/components/Tabs/TemplateDesignerTab/verticalTabs': ({
$this,
props,
}) => [
{
title: $this.$t('.productTemplateExtend.methods.widgetsVerticalTabTitle'),
component: Components.WidgetsVerticalTab,
icon: Icons.IconWidget,
props: {
scope: $this.scope,
...props,
},
},
],
'/store/product/action/getProduct/__after': ({
$this, data,
}) => {
setTemplate({
$this,
data,
});
},
'/store/product/action/updateProduct/__before': ({
$this,
}) => getTemplate({
$this,
}),
'/store/product/action/createProduct/__before': ({
$this,
}) => getTemplate({
$this,
}),
},
};