Repository URL to install this package:
|
Version:
3.0.1 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const mobx_react_1 = require("xmobx/mobx-react");
const words_1 = require("../../../bootstrapper/words");
const CancelReturnForm_1 = tslib_1.__importDefault(require("./CancelReturnForm"));
const renderProps_1 = require("./renderProps");
const Order_1 = require("./");
const ActionButtonGroup_1 = require("./ActionButtonGroup");
const ProductItemList_1 = require("./ProductItemList");
const ProductItemList_2 = require("../../abstractions/Order/ProductItemList");
const renderProductItemButtons = (props, state) => {
const view = react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(ActionButtonGroup_1.StyledPrintButton, {
text: words_1.words.itemButtonPrimary,
onClick: state.toggleActive
}), react_1.default.createElement(ActionButtonGroup_1.StyledOrderAgainButton, {
text: words_1.words.itemButtonSecondary
}), react_1.default.createElement(ActionButtonGroup_1.StyledReturnButton, {
text: words_1.words.itemButtonTertiary
}));
return view;
};
const renderProductItemAddress = item => {
return react_1.default.createElement(ProductItemList_2.StyledPhysicalAddress, {
address: item.shippingAddress
});
};
const renderProductItemForm = (props, state) => {
return react_1.default.createElement(CancelReturnForm_1.default, {
state: state
});
};
const renderProductItem = item => {
const attributes = Object.assign({}, item, {
renderProductItemAddress,
renderProductItemButtons,
renderProductItemForm
});
return ProductItemList_1.defaultRenderProductItem(attributes);
};
const renderOrderButtons = (props, state) => {
const view = react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(ActionButtonGroup_1.PrintButton, {
text: words_1.words.orderButtonPrimary,
onClick: state.toggleActive
}), react_1.default.createElement(ActionButtonGroup_1.OrderAgainButton, {
text: words_1.words.orderButtonSecondary
}), react_1.default.createElement(ActionButtonGroup_1.ReturnButton, {
text: words_1.words.orderButtonTertiary
}));
return view;
};
const renderOrderForm = (props, state) => {
return react_1.default.createElement(CancelReturnForm_1.default, {
state: state
});
};
const createRenderProps = data => {
const renderStatus = (props, state) => renderProps_1.defaultRenderStatus(Object.assign({}, props, {
orderStatusData: data.orderStatusData
}), state);
const renderPaymentSummary = (props, state) => {
const hasSingleItem = data.list.length === 1 ? true : false;
const attributes = Object.assign({}, props, {
//
shippingAddressInfo: data.shippingAddressInfo,
shippingMethodInfo: data.shippingMethodInfo,
paymentMethodInfo: data.paymentMethodInfo,
orderSummaryInfo: data.orderSummaryInfo,
singleProduct: hasSingleItem,
//
renderButtons: renderOrderButtons,
renderForm: renderOrderForm
});
return renderProps_1.defaultRenderPaymentSummary(attributes);
};
const renderProductItemList = (props, state) => {
const attributes = Object.assign({}, props, {
list: data.list,
//
renderProductItem
});
return renderProps_1.defaultRenderProductItemList(attributes, state);
};
return {
renderStatus,
renderPaymentSummary,
renderProductItemList
};
};
let OrderThemed = class OrderThemed extends react_1.default.Component {
render() {
const _a = this.props,
{
list,
orderStatusData,
shippingAddressInfo,
shippingMethodInfo,
paymentMethodInfo,
orderSummaryInfo
} = _a,
remainingProps = tslib_1.__rest(_a, ["list", "orderStatusData", "shippingAddressInfo", "shippingMethodInfo", "paymentMethodInfo", "orderSummaryInfo"]);
const {
renderStatus,
renderPaymentSummary,
renderProductItemList
} = createRenderProps(this.props);
const attributes = Object.assign({
renderProductItemList,
renderStatus,
renderPaymentSummary,
renderOrderButtons,
renderOrderForm
}, remainingProps);
return react_1.default.createElement(Order_1.Order, Object.assign({}, attributes));
}
};
OrderThemed = tslib_1.__decorate([mobx_react_1.observer], OrderThemed);
exports.OrderThemed = OrderThemed;
exports.default = OrderThemed; //# sourceMappingURL=OrderThemed.js.map