{"version":3,"file":"chunk.9845.ceaeb295643090c46c4a.381c733d.js","mappings":"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","sources":["webpack:///../jarvis/app/assets/javascripts/site/VControllers/Installments/utils/humanize.ts","webpack:///../jarvis/app/assets/javascripts/core/utils/humanize.ts","webpack:///../jarvis/app/assets/javascripts/site/VControllers/Installments/App.tsx"],"sourcesContent":["import { formatAmount } from 'core/utils/humanize';\nexport function getInstallmentText(installment, quantity = 1) {\n const { price, paymentsPeriod, paymentsNumber } = installment;\n const currentPrice = (price * quantity).toLocaleString().replace(/,/g, ' ');\n switch (paymentsPeriod) {\n case 'half_month':\n return `${currentPrice} ₽ / ${formatAmount(paymentsNumber, ['платеж', 'платежа', 'платежей'])} раз в две недели`;\n case 'month':\n return `${currentPrice} ₽ / мес. на ${formatAmount(paymentsNumber, ['месяц', 'месяца', 'месяцев'])}`;\n default:\n throw new Error('Unknown paymentsPeriod');\n }\n}\nexport function getOtherProgramsText(amount) {\n if (amount === 0) {\n return 'Посмотреть';\n }\n const humanizedAmount = formatAmount(amount, ['программа', 'программы', 'программ']);\n return `Еще ${humanizedAmount}`;\n}\n","export function formatPrice(price, cents = false) {\n return `${(cents ? price / 100 : price).toLocaleString('ru-RU')} Р`;\n}\nexport function formatAmount(amount, forms = ['день', 'дня', 'дней']) {\n return [amount, pluralize(amount, forms)].join(' ');\n}\nexport function percentFrom(dividend, divider) {\n const res = (dividend / divider * 100);\n return res ? `${res.toFixed(2)}%` : '—';\n}\nexport function truncateString(input, limit) {\n if (input.length <= limit)\n return input;\n return input.slice(0, limit) + '...';\n}\nfunction pluralize(n, [singular, genitiveSingular, genitivePlural]) {\n n = Math.abs(n); // Для обработки отрицательных чисел\n if (n % 10 === 1 && n % 100 !== 11) {\n return singular;\n }\n else if (n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20)) {\n return genitiveSingular;\n }\n else {\n return genitivePlural;\n }\n}\n","import { Component } from 'preact';\nimport Portal from 'preact-portal';\nimport { asyncComponent } from 'core/components/Hoc/asyncComponent';\nimport NoticeService from 'core/services/NoticeService';\nimport { OPERATION_CHANGE_PAYMENT_METHOD } from 'site/VControllers/components/Checkout/operations/form';\nimport h from './cssScope';\nimport { getInstallmentText, getOtherProgramsText } from './utils/humanize';\nconst Modal = asyncComponent(() => import(\n/* webpackChunkName: \"site_c-TotalBlockInstallmentsModal\" */\n'./components/Modal'), 'Modal');\nexport class App extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isModalOpen: false,\n loading: true,\n installmentChanged: false,\n selectedQuantity: 1,\n cartTotalPrice: 0,\n paymentMethod: 'online',\n invalidInstallment: null\n };\n this.handleLoading = async () => {\n const { default: checkoutContext } = await import(\n /* webpackChunkName: 'common__c-checkoutContext' */\n 'site/VControllers/components/Checkout/context');\n this.checkoutContext = checkoutContext;\n await this.checkoutContext.init();\n if (this.props.data) {\n this.checkoutContextUuid = await this.checkoutContext.subscribe(this.handleUpdate);\n this.handleUpdate();\n }\n this.setState({\n loading: false,\n cartTotalPrice: this.cartTotalPrice,\n paymentMethod: this.currentPaymentMethod\n });\n };\n this.handleUpdate = () => {\n const productInCart = this.getProductInCart;\n const select = document.getElementById('quantity');\n if (!productInCart) {\n select.addEventListener('change', this.handleSelectQuantityChange);\n this.setState({\n cartTotalPrice: this.cartTotalPrice,\n paymentMethod: this.currentPaymentMethod\n });\n return;\n }\n select.value = productInCart.quantity.toString();\n this.setState({\n selectedQuantity: productInCart.quantity,\n cartTotalPrice: this.cartTotalPrice,\n paymentMethod: this.currentPaymentMethod\n });\n setTimeout(() => {\n if (!this.state.loading)\n this.checkPaymentMethod();\n }, 300);\n };\n this.checkPaymentMethod = async () => {\n if (this.isOpenedCartForm)\n return null;\n this.notifyChangedInstallment();\n const { paymentMethod } = this.state;\n const validData = this.validData;\n const cartPaymentMethod = this.cartPaymentMethod;\n if (!validData.length && cartPaymentMethod && cartPaymentMethod.value.toString().includes('installment')) {\n this.resetPaymentMethod();\n return;\n }\n else if (!validData.length)\n return;\n const installment = validData.find((installmentData) => installmentData.paymentMethod === paymentMethod);\n if (installment)\n return;\n this.resetPaymentMethod();\n };\n this.notifyChangedInstallment = () => {\n if (!this.state.installmentChanged)\n return;\n const cartPaymentMethod = this.cartPaymentMethod.value.toString();\n const installment = this.props.data.find(inst => inst.paymentMethod === cartPaymentMethod);\n if (!installment)\n return;\n NoticeService.clear();\n const type = installment.bankProduct ? 'рассрочку' : 'оплату частями';\n NoticeService.info(`Способ оплаты изменен на ${type} от ${installment.name}`);\n this.setState({ installmentChanged: false });\n };\n this.resetPaymentMethod = () => {\n const { paymentMethod } = this.state;\n const { data } = this.props;\n const chosenInstallment = data.find((installmentData) => installmentData.paymentMethod === paymentMethod);\n if (!chosenInstallment)\n return null;\n this.setState({ loading: true });\n try {\n this.checkoutContext.getContext().store\n .operate(OPERATION_CHANGE_PAYMENT_METHOD, 'online')\n .then(() => {\n setTimeout(() => {\n NoticeService.clear();\n this.setState({ invalidInstallment: chosenInstallment });\n }, 300);\n });\n }\n finally {\n this.setState({ loading: false, paymentMethod: data[0].paymentMethod });\n }\n };\n this.handleSelectQuantityChange = (e) => {\n const target = e.target;\n const value = target.value;\n this.setState({\n selectedQuantity: Number(value),\n cartTotalPrice: this.cartTotalPrice,\n paymentMethod: this.currentPaymentMethod,\n invalidInstallment: null,\n isModalOpen: false\n });\n };\n this.handleOpenModal = () => this.setState({ isModalOpen: true });\n this.handleCloseModal = () => this.setState({ isModalOpen: false, cartTotalPrice: this.cartTotalPrice, invalidInstallment: null });\n this.onChangeInstallment = () => this.setState({ installmentChanged: true, invalidInstallment: null });\n this.buildModal = () => {\n const { selectedQuantity, paymentMethod, invalidInstallment } = this.state;\n const installmentsData = this.validData;\n const checkInvalid = installmentsData.find(inst => inst === invalidInstallment);\n if (checkInvalid)\n return;\n return (h(Portal, { into: 'body' },\n h(Modal, { data: installmentsData, quantity: selectedQuantity, productId: this.props.productId, paymentMethod: paymentMethod, checkoutContext: this.checkoutContext, onClose: this.handleCloseModal, onChangeInstallment: this.onChangeInstallment, invalidInstallment: this.state.invalidInstallment })));\n };\n }\n componentWillMount() {\n this.handleLoading();\n }\n get validData() {\n const { productPrice } = this.props;\n const { selectedQuantity, cartTotalPrice } = this.state;\n const currentProductPrice = productPrice * selectedQuantity;\n const cartTotalPriceWithProduct = this.state.invalidInstallment ? cartTotalPrice : cartTotalPrice + currentProductPrice;\n const resultPrice = this.getProductInCart ? cartTotalPrice : cartTotalPriceWithProduct;\n return this.props.data.filter(installment => (resultPrice >= installment.limitMin &&\n resultPrice <= installment.limitMax));\n }\n get getProductInCart() {\n return this.checkoutContext.getContext().store.getState().items.find(item => item.productId === this.props.productId);\n }\n get isNotRendered() {\n return !document.getElementsByClassName('b-FrameModal').length;\n }\n get isOpenedCartForm() {\n return !!document.getElementsByClassName('s-Checkout __fullScreen').length;\n }\n get cartPaymentMethod() {\n return this.checkoutContext.getContext().store.getState().formFields.find((field) => field.key === 'payment_method');\n }\n get currentPaymentMethod() {\n const validInsallment = this.validData[0];\n const defaultPaymentMethod = validInsallment ? validInsallment.paymentMethod : 'online';\n const paymentMethod = this.cartPaymentMethod ? this.cartPaymentMethod.value.toString() : defaultPaymentMethod;\n return paymentMethod.includes('installment') ? paymentMethod : defaultPaymentMethod;\n }\n get cartTotalPrice() {\n return this.checkoutContext.getContext().store.getState().totalPriceInfo.totalPrice;\n }\n getInstallment(paymentMethod) {\n const data = this.validData;\n const installment = data.find((installmentData) => installmentData.paymentMethod === paymentMethod);\n return installment ? installment : data[0];\n }\n render() {\n const { loading, isModalOpen, invalidInstallment } = this.state;\n const { data } = this.props;\n if (loading || !data.length)\n return null;\n if (!this.validData.length) {\n return (h(\"div\", { className: 'sb-Content' }, isModalOpen && this.isNotRendered && invalidInstallment && this.buildModal()));\n }\n return (h(\"div\", { className: 'sb-Content' },\n h(\"div\", { className: 'sb-Separator' }, \" \\u0418\\u041B\\u0418 \"),\n h(\"div\", { className: 'sb-Wrapper' },\n h(\"div\", null, getInstallmentText(this.getInstallment(this.state.paymentMethod), this.state.selectedQuantity)),\n h(\"a\", { href: '#', className: 'sb-Link', onClick: this.handleOpenModal }, getOtherProgramsText(this.validData.length - 1))),\n h(\"div\", { className: 'sb-HyperLink' },\n h(\"a\", { href: '/pages/payment_info#installment', target: '_blank', rel: 'nofollow' }, \"\\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u0435\\u0435 \\u043E\\u0431 \\u0443\\u0441\\u043B\\u043E\\u0432\\u0438\\u044F\\u0445\")),\n isModalOpen && this.isNotRendered && this.buildModal()));\n }\n}\n"],"names":["getInstallmentText","installment","quantity","arguments","length","undefined","price","paymentsPeriod","paymentsNumber","currentPrice","toLocaleString","replace","concat","formatAmount","Error","getOtherProgramsText","amount","humanizedAmount","formatPrice","n","_ref","_ref2","singular","genitiveSingular","genitivePlural","Math","abs","join","Modal","asyncComponent","App","_Component","_inherits","_super","_this","_classCallCheck","apply","state","isModalOpen","loading","installmentChanged","selectedQuantity","cartTotalPrice","paymentMethod","invalidInstallment","handleLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_yield$import","checkoutContext","_context","prev","next","sent","init","props","data","subscribe","handleUpdate","checkoutContextUuid","setState","currentPaymentMethod","stop","productInCart","getProductInCart","select","document","getElementById","addEventListener","handleSelectQuantityChange","value","toString","setTimeout","checkPaymentMethod","_callee2","validData","cartPaymentMethod","_context2","isOpenedCartForm","abrupt","notifyChangedInstallment","includes","resetPaymentMethod","find","installmentData","inst","NoticeService","clear","type","bankProduct","info","name","chosenInstallment","getContext","store","operate","OPERATION_CHANGE_PAYMENT_METHOD","then","e","target","Number","handleOpenModal","handleCloseModal","onChangeInstallment","buildModal","_this$state","installmentsData","h","Portal","into","productId","onClose","key","this","_this$state2","className","getInstallment","href","onClick","rel","isNotRendered","get","productPrice","_this$state3","currentProductPrice","cartTotalPriceWithProduct","resultPrice","filter","limitMin","limitMax","_this2","getState","items","item","getElementsByClassName","formFields","field","validInsallment","defaultPaymentMethod","totalPriceInfo","totalPrice","Component"],"sourceRoot":""}