/*! elementor-pro - v3.28.0 - 30-03-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-checkout-page"],{ /***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js": /*!******************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Base extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { stickyRightColumn: '.e-sticky-right-column' }, classes: { stickyRightColumnActive: 'e-sticky-right-column--active' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $stickyRightColumn: this.$element.find(selectors.stickyRightColumn) }; } bindEvents() { // Add our wrapper class around the select2 whenever it is opened. elementorFrontend.elements.$document.on('select2:open', event => { this.addSelect2Wrapper(event); }); } addSelect2Wrapper(event) { // The select element is recaptured every time because the markup can refresh const selectElement = jQuery(event.target).data('select2'); if (selectElement.$dropdown) { selectElement.$dropdown.addClass('e-woo-select2-wrapper'); } } isStickyRightColumnActive() { const classes = this.getSettings('classes'); return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive); } activateStickyRightColumn() { const elementSettings = this.getElementSettings(), $wpAdminBar = elementorFrontend.elements.$wpAdminBar, classes = this.getSettings('classes'); let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0; if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) { stickyOptionsOffset += $wpAdminBar.height(); } if ('yes' === this.getElementSettings('sticky_right_column')) { this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive); this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px'); } } deactivateStickyRightColumn() { if (!this.isStickyRightColumnActive()) { return; } const classes = this.getSettings('classes'); this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive); } /** * Activates the sticky column * * @return {void} */ toggleStickyRightColumn() { if (!this.getElementSettings('sticky_right_column')) { this.deactivateStickyRightColumn(); return; } if (!this.isStickyRightColumnActive()) { this.activateStickyRightColumn(); } } equalizeElementHeight($element) { if ($element.length) { $element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content let maxHeight = 0; $element.each((index, element) => { maxHeight = Math.max(maxHeight, element.offsetHeight); }); if (0 < maxHeight) { $element.css({ height: maxHeight + 'px' }); } } } /** * WooCommerce prints the Purchase Note separated from the product name by a border and padding. * In Elementor's Order Summary design, the product name and purchase note are displayed un-separated. * To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust * its padding. Since this cannot be achieved in CSS, it is done in this method. * * @param {Object} $element * * @return {void} */ removePaddingBetweenPurchaseNote($element) { if ($element) { $element.each((index, element) => { jQuery(element).prev().children('td').addClass('product-purchase-note-is-below'); }); } } /** * `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then * received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`. * These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method. */ updateWpReferers() { const selectors = this.getSettings('selectors'), wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs), url = new URL(document.location); url.searchParams.set('elementorPageId', elementorFrontend.config.post.id); url.searchParams.set('elementorWidgetId', this.getID()); wpHttpRefererInputs.attr('value', url); } } exports["default"] = Base; /***/ }), /***/ "../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js": /*!***************************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js")); class Checkout extends _base.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(...arguments); return { selectors: { ...defaultSettings.selectors, container: '.elementor-widget-woocommerce-checkout-page', loginForm: '.e-woocommerce-login-anchor', loginSubmit: '.e-woocommerce-form-login-submit', loginSection: '.e-woocommerce-login-section', showCouponForm: '.e-show-coupon-form', couponSection: '.e-coupon-anchor', showLoginForm: '.e-show-login', applyCoupon: '.e-apply-coupon', checkoutForm: 'form.woocommerce-checkout', couponBox: '.e-coupon-box', address: 'address', wpHttpRefererInputs: '[name="_wp_http_referer"]' }, classes: defaultSettings.classes, ajaxUrl: elementorProFrontend.config.ajaxurl }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { ...super.getDefaultElements(...arguments), $container: this.$element.find(selectors.container), $loginForm: this.$element.find(selectors.loginForm), $showCouponForm: this.$element.find(selectors.showCouponForm), $couponSection: this.$element.find(selectors.couponSection), $showLoginForm: this.$element.find(selectors.showLoginForm), $applyCoupon: this.$element.find(selectors.applyCoupon), $loginSubmit: this.$element.find(selectors.loginSubmit), $couponBox: this.$element.find(selectors.couponBox), $checkoutForm: this.$element.find(selectors.checkoutForm), $loginSection: this.$element.find(selectors.loginSection), $address: this.$element.find(selectors.address) }; } bindEvents() { super.bindEvents(...arguments); this.elements.$showCouponForm.on('click', event => { event.preventDefault(); this.elements.$couponSection.slideToggle(); }); this.elements.$showLoginForm.on('click', event => { event.preventDefault(); this.elements.$loginForm.slideToggle(); }); this.elements.$applyCoupon.on('click', event => { event.preventDefault(); this.applyCoupon(); }); this.elements.$loginSubmit.on('click', event => { event.preventDefault(); this.loginUser(); }); elementorFrontend.elements.$body.on('updated_checkout', () => { this.applyPurchaseButtonHoverAnimation(); this.updateWpReferers(); }); } onInit() { super.onInit(...arguments); this.toggleStickyRightColumn(); this.updateWpReferers(); this.equalizeElementHeight(this.elements.$address); // Equalize
boxes height if (elementorFrontend.isEditMode()) { this.elements.$loginForm.show(); this.elements.$couponSection.show(); this.applyPurchaseButtonHoverAnimation(); } } onElementChange(propertyName) { if ('sticky_right_column' === propertyName) { this.toggleStickyRightColumn(); } } onDestroy() { super.onDestroy(...arguments); this.deactivateStickyRightColumn(); } applyPurchaseButtonHoverAnimation() { const purchaseButtonHoverAnimation = this.getElementSettings('purchase_button_hover_animation'); if (purchaseButtonHoverAnimation) { // This element is recaptured every time because the checkout markup can refresh jQuery('#place_order').addClass('elementor-animation-' + purchaseButtonHoverAnimation); } } applyCoupon() { // Wc_checkout_params is required to continue, ensure the object exists // eslint-disable-next-line camelcase if (!wc_checkout_params) { return; } this.startProcessing(this.elements.$couponBox); const data = { // eslint-disable-next-line camelcase security: wc_checkout_params.apply_coupon_nonce, coupon_code: this.elements.$couponBox.find('input[name="coupon_code"]').val() }; jQuery.ajax({ type: 'POST', // eslint-disable-next-line camelcase url: wc_checkout_params.wc_ajax_url.toString().replace('%%endpoint%%', 'apply_coupon'), context: this, data, success(code) { jQuery('.woocommerce-error, .woocommerce-message').remove(); this.elements.$couponBox.removeClass('processing').unblock(); if (code.includes('woocommerce-error') || code.includes('does not exist')) { jQuery('html, body').animate({ scrollTop: 0 }, 'fast'); } if (code) { this.elements.$checkoutForm.before(code); this.elements.$couponSection.slideUp(); elementorFrontend.elements.$body.trigger('applied_coupon_in_checkout', [data.coupon_code]); elementorFrontend.elements.$body.trigger('update_checkout', { update_shipping_method: false }); } }, dataType: 'html' }); } loginUser() { this.startProcessing(this.elements.$loginSection); const data = { action: 'elementor_woocommerce_checkout_login_user', username: this.elements.$loginSection.find('input[name="username"]').val(), password: this.elements.$loginSection.find('input[name="password"]').val(), nonce: this.elements.$loginSection.find('input[name="woocommerce-login-nonce"]').val(), remember: this.elements.$loginSection.find('input#rememberme').prop('checked') }; jQuery.ajax({ type: 'POST', url: this.getSettings('ajaxUrl'), context: this, data, success(code) { code = JSON.parse(code); this.elements.$loginSection.removeClass('processing').unblock(); const messages = jQuery('.woocommerce-error, .woocommerce-message'); messages.remove(); if (code.logged_in) { location.reload(); } else { this.elements.$checkoutForm.before(code.message); elementorFrontend.elements.$body.trigger('checkout_error', [code.message]); } } }); } startProcessing($form) { if ($form.is('.processing')) { return; } /** * .block() is from a jQuery blockUI plugin loaded by WooCommerce. This code is based on WooCommerce * core in order for the Checkout widget to behave the same as WooCommerce Checkout pages. */ $form.addClass('processing').block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); } } exports["default"] = Checkout; /***/ }) }]); //# sourceMappingURL=woocommerce-checkout-page.470384546c61ebcaa89d.bundle.js.map Канат Каз https://zajmitenge.kz/hava-kz/ Предварительное частное обоснование – InfoNile
skip to Main Content

Канат Каз https://zajmitenge.kz/hava-kz/ Предварительное частное обоснование

Международная рейтинговая компания Polecat подтвердила, что поставщик услуг, работающий на протяжении всей своей карьеры, отстает от федеральных правительственных проверок за рубежом в точке Ваа2 и прогнозирует стабильную работу. Развитие близлежащего строительства – начало работ по прокладке веток в Жетысу, Жезказгане, Павлодаре и Алматине.

Планируется запустить новую программу образовательных цен AQYL, которая позволит жителям Казахстана стабильно получать финансовую поддержку для обучения в профессиональных и высших учебных заведениях в США и начинать обучение за рубежом.

Тарифы

Ставки, зависящие от индивидуальных финансовых потребностей, определяются спецификой каждого пользователя, что позволяет им варьироваться от одного типа кредита к другому. Любая годовая процентная ставка (AEIR) может быть изменена при необходимости, но она должна соответствовать ограничениям, установленным законодательством. Следующие ограничения призваны повысить ценность и снизить финансовую нагрузку на заемщиков.

Тем не менее, они будут оказывать помощь жителям Алматы и других городов с демократическим режимом, таких как Павлодар, Астана, Актау, Шымкент, Усть- https://zajmitenge.kz/hava-kz/ Каменогорск, Караганда и Тараз. Кроме того, они повысили уровень своего проживания в стране, открыв новый филиал в Жетысу. Также был создан «Депозитный центр Кредит», который позволяет сделать ставку без внесения платы и получить подтверждение наличия средств. Вы можете открыть счет в рассрочку и внести необходимые средства для оформления кредита!

Они завершили полную оценку эффективной системы управления и приступили к разработке документа, соответствующего стандарту ISO 9001:2008. В нем также сокращено время, затрачиваемое на рассмотрение кредитоспособности персонала в связи с автоматизацией процессов, включая взаимодействие с основным клиентом. Кроме того, были отменены многие расходы (процент за отмену дополнительных требований к проекту в сфере гостиничного бизнеса и начало отмены изменений, внесенных в новый прейскурант). Также они открыли собственное местное подразделение в Жетысу.

Ранее достигнутое частичное урегулирование

Ранее в большинстве случаев поступало лишь небольшое количество платежей от кредитной организации. Эта опция может помочь снизить ваши платежи. Однако может взиматься комиссия. Вы также можете изменить дату платежа, посетив любое отделение банка или воспользовавшись мобильным приложением для депозитов. Обратите внимание, что транзакцию необходимо обновить для получения более подробной информации о транзакции до указанной даты, чтобы предотвратить начисление пени за просрочку. Это можно сделать в любом мобильном приложении, например, перейдя в раздел платежей по кредиту на вашем банковском счете, а также между вашими существующими счетами в депозитном центре.

Улучшить трансляцию

Финансирование по программе Kanat kz осуществляется на основе кредитной истории и платежеспособности заявителя. Финансирование предоставляется как в виде наличных денег, так и под залог. Основные условия включают в себя первоначальный взнос в размере 15%, максимальный срок в 2 года и общий период роста в 30 миллионов тенге. Кроме того, кредит должен быть оформлен на условиях первоначальный взнос или через микрофинансовую организацию. Это прекрасная возможность для тех, кто нуждается в деньгах, если хочет профинансировать покупку и улучшить свое жилье. Программа предлагает удобный доступ к изучению различных вариантов улучшения и использованию лучших терминов. Новая программа включает в себя калькулятор кредита и конвертер кредитных предложений, которые ежедневно обновляются на основе стандартной информации в рамках государственной политики Казахстана. Новая программа предназначена для жителей Казахстана, которые хотели бы принять взвешенные финансовые решения и начать улучшать свою жизнь.

Статьи

Программа Kanat kz progress individual reason – это современная схема для клиентов, которые предпочитают не вносить залог и сразу же получать доступ к средствам. Это позволяет начать получать доход без справки о нетрудоспособности, подтверждения дохода или необходимости создания новой финансовой структуры. Кроме того, вы можете вносить частичную или досрочную оплату кредита. Если вы хотите получить кредит, обязательно заполните заявку, и сотрудники свяжутся с вами в ближайшее время. Чтобы ознакомиться с условиями, пожалуйста, изучите законодательство о кредитных программах.

KANAT kz progress individual justification — это индивидуальная программа, которая позволяет любому человеку взять ипотечный кредит, не предоставляя доказательств наличия средств или даже не определяя цель кредита. Заявка формируется быстро, и вам потребуется подтверждение получения кредита на ваш мобильный телефон. При необходимости вы можете изменить дату платежа, например, на один год или на весь срок действия заявки, в частности, в мобильном приложении. Мы стремимся помочь каждому человеку воплотить свои мечты в жизнь, предоставляя доступ к недорогой финансовой помощи и позволяя начать использовать необходимые инструменты.

Discussion

Back To Top
Search