📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv11.demodesign.com.tr
/
catalog
/
view
/
theme
/
journal3
/
js
📝
checkout.js
← Geri Dön
$(function () { window['_QuickCheckout'] = new Vue({ data: window['_QuickCheckoutData'], el: '.quick-checkout', template: '#quick-checkout', mounted: function () { var self = this; self.payment(); if ($.fn.datetimepicker) { $(self.$el).find('.date').datetimepicker({ pickTime: false }); $(self.$el).find('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $(self.$el).find('.time').datetimepicker({ pickDate: false }); $(self.$el).find('.date, .datetime, .time').on('dp.change', function (event) { $(event.target).find('input')[0].dispatchEvent(new Event('change')); }); } $(self.$el).find('[placeholder]').each(function () { $(this).attr('placeholder', he.decode($(this).attr('placeholder'))); }); }, updated: function () { var self = this; $(self.$el).find('.date').datetimepicker({ pickTime: false }); $(self.$el).find('.datetime').datetimepicker({ pickDate: true, pickTime: true }); $(self.$el).find('.time').datetimepicker({ pickDate: false }); $(self.$el).find('.date, .datetime, .time').on('dp.change', function (event) { $(event.target).find('input')[0].dispatchEvent(new Event('change')); }); $(self.$el).find('[placeholder]').each(function () { $(this).attr('placeholder', he.decode($(this).attr('placeholder'))); }); }, beforeUpdate: function () { $(this.$el).find('.date, .datetime, .time').each(function () { $(this).datetimepicker('hide').datetimepicker('destroy'); }); }, beforeDestroy: function () { $(this.$el).find('.date, .datetime, .time').each(function () { $(this).datetimepicker('hide').datetimepicker('destroy'); }); }, methods: { forceLoadingOverlay: function () { loader('.quick-checkout-wrapper', true); }, saveDateTime: function (path, key, event) { this.order_data[path][key] = event.target.value; }, ajax: function (obj) { return $.ajax($.extend({ cache: false, type: 'post', dataType: 'json', beforeSend: function () { $('#quick-checkout-button-confirm, #button-login').button('loading'); }, error: function (xhr, ajaxOptions, thrownError) { $('#quick-checkout-button-confirm, #button-login').button('reset'); loader('.quick-checkout-wrapper', false); if (xhr.statusText !== 'abort') { console.warn(thrownError + '\r\n' + xhr.statusText + '\r\n' + xhr.responseText); } } }, obj)); }, payment: function () { if (window['_QuickCheckoutAjaxPayment']) { window['_QuickCheckoutAjaxPayment'].abort(); } // don't load payments defined in admin as popup loadable if (this.quickCheckoutPaymentsPopup && this.quickCheckoutPaymentsPopup.includes(this.order_data.payment_code)) { loader('.quick-checkout-wrapper', false); $('#quick-checkout-button-confirm, #button-login').button('reset'); $('.quick-checkout-payment').html(''); return; } window['_QuickCheckoutPaymentData'] = {}; $('.quick-checkout-payment').find('input[type="text"], input[type="checkbox"], input[type="radio"], select').each(function () { window['_QuickCheckoutPaymentData'][$(this).attr('name')] = $(this).val(); }); $('.quick-checkout-payment').append('<div class="journal-loading-overlay" style="position: absolute;"><div class="journal-loading"><i class="fa fa-spinner fa-spin"></i></div></div>'); window['_QuickCheckoutAjaxPayment'] = this.ajax({ type: 'get', dataType: 'html', url: 'index.php?route=journal3/checkout/payment', success: function (data) { $('.quick-checkout-payment').html(data); $.each(window['_QuickCheckoutPaymentData'], function (k, v) { $('.quick-checkout-payment').find('[name="' + k + '"]').val(v); }); window['_QuickCheckoutAjaxPayment'] = null; $('#quick-checkout-button-confirm, #button-login').button('reset'); loader('.quick-checkout-wrapper', false); } }) }, paymentIframe: function () { var $html = $('html'); var $body = $('body'); // remove details from one page checkout page so javascript payment scripts are reinitialized $('.journal-loading-overlay').remove(); $('.quick-checkout-payment').html(''); // generate popup markup var html = ''; html += '<div class="popup-wrapper popup-checkout-payment">'; html += ' <div class="popup-container">'; html += ' <button class="btn popup-close"></button>'; html += ' <div class="popup-body">'; html += ' <div class="popup-inner-body">'; html += ' <div class="journal-loading"><i class="fa fa-spinner fa-spin"></i></div>'; html += ' </div>'; html += ' </div>'; html += ' </div>'; html += ' <div class="popup-bg"></div>'; html += '</div>'; // show modal $('.popup-wrapper').remove(); $body.append(html); setTimeout(function () { $html.addClass('popup-open popup-center'); if ($html.hasClass('iphone') || $html.hasClass('ipad')) { iNoBounce.enable(); } $('.popup-checkout-payment .popup-close').on('click', function () { if ($html.hasClass('iphone') || $html.hasClass('ipad')) { iNoBounce.disable(); } $('#quick-checkout-button-confirm, #button-login').button('reset'); }); }, 10); if (window['_QuickCheckoutAjaxPaymentIframe']) { window['_QuickCheckoutAjaxPaymentIframe'].abort(); } window['_QuickCheckoutAjaxPaymentIframe'] = this.ajax({ type: 'get', dataType: 'html', url: 'index.php?route=journal3/checkout/payment', success: function (data) { $('.popup-checkout-payment .popup-inner-body').html(data); $('.popup-checkout-payment').addClass('popup-checkout-loaded'); window['_QuickCheckoutAjaxPaymentIframe'] = null; setTimeout(function () { $('#quick-checkout-button-confirm, #button-login').button('reset'); }, 100); } }); }, updateCartItemQuantity: function (index, value) { this.$data.products[index].quantity = parseInt(this.$data.products[index].quantity) + parseInt(value); this.updateCartItem(this.$data.products[index]); }, updateCartItemQuantityValue: function (index, value) { this.$data.products[index].quantity = parseInt(value); this.updateCartItem(this.$data.products[index]); }, updateCartItem: function (product) { var self = this; this.ajax({ url: 'index.php?route=journal3/checkout/cart_update', data: { checkout_id: this.checkout_id, key: product.cart_id, quantity: product.quantity, account: this.account, order_data: this.order_data, password: this.password, password2: this.password2, same_address: this.same_address, newsletter: this.newsletter, privacy: this.privacy, agree: this.agree, payment_address_type: this.payment_address_type, shipping_address_type: this.shipping_address_type, coupon: this.coupon, voucher: this.voucher, reward: this.reward }, success: function (json) { self.update(json); } }); }, deleteCartItem: function (product) { var self = this; this.ajax({ url: 'index.php?route=journal3/checkout/cart_delete', data: { checkout_id: this.checkout_id, key: product.cart_id, account: this.account, order_data: this.order_data, password: this.password, password2: this.password2, same_address: this.same_address, newsletter: this.newsletter, privacy: this.privacy, agree: this.agree, payment_address_type: this.payment_address_type, shipping_address_type: this.shipping_address_type, coupon: this.coupon, voucher: this.voucher, reward: this.reward }, success: function (json) { self.update(json); } }); }, applyCoupon: function () { this.save(); }, applyVoucher: function () { this.save(); }, applyReward: function () { this.save(); }, changeAddressType: function (type, value) { if (value === 'new') { this.$data.order_data[type + '_address_id'] = ''; } else { this.$data.order_data[type + '_address_id'] = this.default_address_id; } }, save: function (confirm) { this.error = {}; if (window['_QuickCheckoutAjaxSave']) { window['_QuickCheckoutAjaxSave'].abort(); } if (confirm) { loader('.quick-checkout-wrapper', true); } var data = { checkout_id: this.checkout_id, account: this.account, order_data: this.order_data, password: this.password, password2: this.password2, same_address: this.same_address, newsletter: this.newsletter, privacy: this.privacy, agree: this.agree, payment_address_type: this.payment_address_type, shipping_address_type: this.shipping_address_type, coupon: this.coupon, voucher: this.voucher, reward: this.reward }; data['captcha'] = $('[name="captcha"]').val(); data['g-recaptcha-response'] = $('[name="g-recaptcha-response"]').val(); window['_QuickCheckoutAjaxSave'] = this.ajax({ url: 'index.php?route=journal3/checkout/save' + (confirm ? '&confirm=true' : ''), data: data, success: function (json) { window['_QuickCheckoutAjaxSave'] = null; this.update(json, confirm); }.bind(this) }); }, update: function (json, confirm) { if (json.response.redirect) { window.location = json.response.redirect; } else { this.custom_fields = json.response.custom_fields; this.shipping_methods = json.response.shipping_methods; this.payment_methods = json.response.payment_methods; this.shipping_zones = json.response.shipping_zones; this.payment_zones = json.response.payment_zones; this.order_data.shipping_code = json.response.order_data.shipping_code; this.order_data.payment_code = json.response.order_data.payment_code; this.order_data.shipping_country_id = json.response.order_data.shipping_country_id; this.order_data.payment_country_id = json.response.order_data.payment_country_id; this.order_data.shipping_zone_id = json.response.order_data.shipping_zone_id; this.order_data.payment_zone_id = json.response.order_data.payment_zone_id; this.totals = json.response.totals; this.products = json.response.products; this.stock_warning = json.response.stock_warning; this.vouchers = json.response.vouchers; this.$data.total = json.response.total; this.session = json.response.session; this.error = json.response.error; this.coupon_message = json.response.coupon_message; this.voucher_message = json.response.voucher_message; this.reward_message = json.response.reward_message; $('#cart-total').html(json.response.total); $('.cart-content > ul').html($(json.response.cart).find('.cart-content > ul').html()); $('#cart-items.count-badge').html(json.response.total_items); if (json.response.error) { $('#quick-checkout-button-confirm').button('reset'); loader('.quick-checkout-wrapper', false); try { console.error(JSON.stringify(json.response.error, null, 2)); } catch (e) { } if (json.response.error.payment_code) { alert(json.response.error.payment_code); } if (json.response.error.shipping_code) { alert(json.response.error.shipping_code); } if (json.response.error.total_mismatch) { alert(json.response.error.total_mismatch); window.location.reload(); } setTimeout(function () { try { $('html, body').animate({ scrollTop: $('.left .form-group .text-danger').closest('.form-group').offset().top - 50 }, 'slow'); } catch (e) { } }, 300); } else { if (confirm) { var btns = ['input[type="button"]', 'input[type="submit"]', 'button[type="submit"]', '#button-confirm', '.buttons a']; var $btn = $('.quick-checkout-payment').find(btns.join(', ')).first(); if ((this.quickCheckoutPaymentsPopup && this.quickCheckoutPaymentsPopup.includes(this.order_data.payment_code)) || !$btn.length) { this.paymentIframe(); } else { if ($btn.attr('href')) { window.location = $btn.attr('href'); } else { $btn.trigger('click'); } } } else { this.payment(); } } } }, login: function () { var data = { email: this.login_email, password: this.login_password }; this.ajax({ url: 'index.php?route=account/login', data: data, success: function (json) { if (json.status === 'success') { parent.window.location.reload(); } else { $('#quick-checkout-button-confirm, #button-login').button('reset'); if (json.response.warning) { alert(json.response.warning); } } } }); }, srcSet: function (image, image2x) { return image + ' 1x, ' + image2x + ' 2x' }, upload: function (path, key, event) { var node = this; $('#form-upload').remove(); $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); $('#form-upload input[name=\'file\']').trigger('click'); if (typeof timer != 'undefined') { clearInterval(timer); } timer = setInterval(function () { if ($('#form-upload input[name=\'file\']').val() != '') { clearInterval(timer); $.ajax({ url: 'index.php?route=tool/upload', type: 'post', dataType: 'json', data: new FormData($('#form-upload')[0]), cache: false, contentType: false, processData: false, beforeSend: function () { $('#quick-checkout-button-confirm, #button-login, .custom-field button').button('loading'); }, complete: function () { $('#quick-checkout-button-confirm, #button-login, .custom-field button').button('reset'); }, success: function (json) { $('.text-danger').remove(); if (json['error']) { alert(json['error']); } if (json['success']) { node.order_data[path][key] = json['code']; node.save(); alert(json['success']); } }, error: function (xhr, ajaxOptions, thrownError) { alert(thrownError + '\r\n' + xhr.statusText + '\r\n' + xhr.responseText); } }); } }, 500); } }, watch: { order_data: { handler: function () { var self = this; clearTimeout(this.timeout); this.timeout = setTimeout(function () { self.save(); }, 700); }, deep: true } } }); }); $(document).ready(function() { $("#sepetacc").click(function() { $(".aratoplam").toggle(); $(".asagi").toggle(); $(".yukari").toggle(); }); }); $(document).ajaxSuccess(function (event, xhr, settings, data) { if (settings.dataType === 'json') { if (data.error) { $('#quick-checkout-button-confirm').button('reset'); _QuickCheckout.payment(); } } }); function triggerLoadingOn() { $('#quick-checkout-button-confirm, #button-login').button('loading'); } function triggerLoadingOff() { $('#quick-checkout-button-confirm, #button-login').button('reset'); loader('.quick-checkout-wrapper', false); }
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula