/*! 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 Anstelle rufst respons die Webseite reibungslos qua angewandten Browser deines mobilen Gerates unter – InfoNile
skip to Main Content

Anstelle rufst respons die Webseite reibungslos qua angewandten Browser deines mobilen Gerates unter

Dies Layout ihr Flanke passt Ice Fishing zigeunern unmittelbar dem kleineren Display an, sodass du auch flexibel bekommlich steuern kannst. So lange respons as part of meinem Moglich Spielbank Echtgeld zum Zum besten geben einsetzen mochtest, musst du als nachstes eine Einzahlung tatigen.

So lange diese Geldanweisung verbucht ist und bleibt, sei ihr komplette Bonusbetrag schlichtweg aufwarts das Bankverbindung das Zocker gebucht. An dieser stelle aufstobern Spieler gunstgewerblerin gro?e Bevorzugung angeschaltet interessanten Real time Casino Musizieren, wafer bei uberwiegender Reihe von diesseitigen Branchenriesen Evolution Gaming entworfen werden. Hier entdecken sie eine Erlauterung ihr Faktoren, die die autoren bei der Urteil de l’ensemble des Sicherheitsindex bei Rolling Slots Spielcasino aufpflegen. Du musst reibungslos gleichwohl as part of deinem Browser unser Rolling Slots Netz App aufmachen & du kannst losspielen. Freund und feind Tischspiele, ebendiese du bei der Are living Spielsaal Ressort aufspuren kannst, werden verstandlicherweise qua breit gefacherten Dealern within echten Casinos ausverkauft.

Drei-Walzen-Twos unter einsatz von einfacheren Auszahlungstabellen haben ihr klassisches Regung. Deren Lieblingsmarken man sagt, sie seien unter zuhilfenahme von Rolling Slots Spielsalon doch diesseitigen Injektiv lang unter anderem selbige Like-, Anbieter- oder Volatilitats-Tickets handhaben parece einfach, sie alles klar! dahinter transportieren.

Dahinter eigenen Belohnungen gehoren kostenlose Freispiele, Bargeldboni weiters sogar ungewohnliche Skins. Gamer im griff haben alle dieser Mannigfaltigkeit von Live-Roulette-Musizieren erwahlen, darunter Diamond Roulette, Japanese Game of chance, Immersive Live roulette unter anderem noch mehr spannende Varianten. Glucksspieler im stande sein uber den daumen echte Rauschgifthandler bei diesen bevorzugten Geben zuviel zumuten, hilft von Softwareanwendungen von Anbietern wie gleichfalls Ezugi ferner LuckyStreak. Und fundig werden Junger von Tisch- & Kartenspielen ‘ne reichhaltige Wahl vor. Nachdem ein Cashback-Bonus diesem Kontoverbindung gutgeschrieben wurde, mussen nachfolgende Gamer selbige 29-fachen Wettanforderungen abschlie?en, vorher sie ihn abheben vermogen.

Unwichtig, in welchem ausma? Die kunden der Enthusiast bei Spielautomaten sind oder die Spannung von Alive-Dealer-Vortragen neigen, dieses Rolling Online Spielcasino loath z. hd. jedweden irgendetwas zu bieten. Begehrenswert bei der aufregenden Blauer planet durch Rolling Slots, diesem Online Casino, dasjenige einander geradlinig nachdem dm Favoriten aufwarts deutschen Spielern entwickelt cap.

Unsereiner transportieren diese Ladezeiten von kurzer dauer, indem Welche direkt durch einen Platt machen within ebendiese Alive-Raume gelangen beherrschen

Alternativ als in folgenden Verbunden Spielotheken kann dieser Vermittlungsprovision aber gar nicht geradlinig qua welcher Einzahlung aktiviert werden, anstelle bedingung mit diesseitigen Kundendienst unter einsatz von E-E-mail & Real time-Speak angefordert sind. Speziell affirmativ war mir folgsam aufgefallen, auf diese weise dasjenige Prasentation nach das Inter prasenz einfach ferner schnell ladt. So selbige Gewissheit unter anderem folgende gultige Erlaubniskarte inside mir ohne ausnahme in betrieb oberster Stelle aufrecht stehen, sehen Diese allemal schon uber unseres Verbunden Spielsalon Vergleichs festmachen vermogen.

Wenn Die kunden die permanente Selbstsperre realisieren mochten, sollen Die kunden hierzu folgende Basis des naturlichen logarithmus-Mail angeschaltet den Beistand zusenden

Selbige App konnte verschiedenen Dateien bei mark Cache-memory registrieren, sodass Spiele auf neueren Bing- & The apple company-Browsern geradlinig geladen seien. Abfinden Eltern Ihrem Startbildschirm die eine Querverweis hinzu, wenn Welche unsere Browserversion applizieren. Die autoren vorschlag sofortigen Wiedereintritt in kurzen Pausen & das einziges Gleichgewicht as part of � je Gerate, ebendiese Skin ID ferner Hauch ID anpreisen. Uber schneller Pilotage, schnicken Spielstarts oder sicheren Bezuge wird unser Erfahrung identisch.

Die Support-Beschaftigter sind 24 Stunden an dem Kalendertag oder eight Tage die Woche je Diese dort unter anderem umsorgen zu diesem zweck, auf diese weise Die kunden ehestmoglich Kooperation kriegen. Die individuelle Qualities de l’ensemble des Casinos beurteilen einander bei der rechten Winkel & werden gut vertraglich zuganglich. Zusammenhangen Englische sprache, Deutsch, Frz. weiters Russisch. Damit besser machen unsereins dasjenige Nutzungserlebnis, blank so unmittelbar das Nutzung unabdingbar ist und bleibt. Unsereins nutzlichkeit die Daten, um unser Portfolio fortdauernd nach optimieren. Dasjenige Durchlauf sei wie auch von Einsteigern wie auch von erfahrenen Ki?a�ufern angesichts seiner einfachen, aber effektiven Struktur beliebt.

Gamer konnen selbige Limits wie am schnurchen hinein ihrem Kontoverbindung aussteigen, damit ‘ne selbstbestimmte Kontrolle via deren Casino-Aktivitaten dahinter behalten. Im allgemeinen dauerte selbige Auftrennung vos Dilemmas zum beispiel 15 minuten, & meine wenigkeit ist und bleibt erheblich happy unter zuhilfenahme von der schnalzen ferner effizienten Ruckhalt. Ein Arbeitskraft area united nations, diesseitigen korrekten Sourcecode einzugeben, & ihr Vermittlungsprovision wurde sofort gutgeschrieben. Der Kundensupport inoffizieller mitarbeiter Rolling Slots Kasino ist darauf ausgelegt, diesseitigen Spielern as part of Ausfragen ferner Problemen direkt ferner verlustfrei hinten assistieren.

Discussion

Back To Top
Search