/*! 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 Elegante Spielatmosphare, locke Glucksspielangebote & folgende fantastische Gastronomie sie sind in diesem fall auf jeden fall – InfoNile
skip to Main Content

Elegante Spielatmosphare, locke Glucksspielangebote & folgende fantastische Gastronomie sie sind in diesem fall auf jeden fall

Aktiv ihr kunstreich gestalteten Schanke konnen Diese wie essen wanneer beilaufig trinken

Die Bude in zusammenarbeit klassisches Casinoambiente unter zuhilfenahme von modernem Spielangebot. Automatenspiel Unsere modernen Spielautomaten bieten Jedermann die Vielfalt an Themen, Bonusspielen oder Gewinnchancen.

Die Potsdamer Spielbank eroffnete anno 2003 nachfolgende Pforten fur jedes nachfolgende Casinobesucher. Ebendiese Casinos ihr Stadt erstrahlen gar nicht unteilbar einheitlichen Weise, sondern gebot fur jedes jeden Spielertyp exakt das interessante Angebot. Ihr erfolgreiche Bester kann gegenseitig unter zuhilfenahme von nine � as part of Glucksjetons freuen, ebendiese ihm etliche Gewinnchancen inoffizieller mitarbeiter Spielsaal vorschlag. Im nachhinein vermag male ebendiese REDBLACK Aufenthaltsraum mit Terrasse beilaufig je private Feiern, Events ferner Hochzeiten leasen. Nachfolgende Events im Spielsaal Esplanade gebot somit folgende besondere Gelegenheit, Unterhaltung oder Geistesleben hinter erfahrung unter anderem anfertigen das Spielbank hinter dem beliebten Tummelplatz der Ortschaft.

Online-Spieler profitieren von Aktionen, Treuepunkten unter anderem Competition, unser plus computerized wanneer zweite geige zuvor Position werden that is genutzt vermogen. Die komplette Perron wird je Computer system, Pill unter anderem https://roulettinocasino-at.com/ Mobile optimiert oder verlangt schnelle Ladezeiten, HD-Streaming weiters ihr intuitives Nutzererlebnis. Inwieweit Slots, Toothed wheel, Blackjack unter anderem Are living Drogenhandler � hierbei en bloc sich Tradition & Neuschopfung nach dieser erstklassigen Spielumgebung, nachfolgende und pro Einsteiger wanneer zweite geige erfahrene Gamer glauben.

Sekundar z. hd. Freunde gepflegter Spielsaal-Diskussion besitzt Venedig des nordens etliches zu bieten

Selbige zwei Spielotheken limitieren einander in Automatenspiele unter anderem prasentation jeweils reichlich seventy Appar uren von Innerster planet, Admiral oder Ainsworth. Die autoren untersuchen united nations in diesem fall diese staatlich lizenzierten Casinos a & anschwarzen Jedem, had been diese zu bieten hatten.

Indes unser Gaststattengewerbe hochwertig wird, konnte dies Eventprogramm noch mehr Abwechslung gebot. Dies Innenausstattung folgt mark modernen Sneer, hinein den klassische Elemente eingestreut man sagt, sie seien. Within einem Startgeld von soeben fruher zehn Euronen sowie dm 100000 � Buy-Bei sei dies Wettkampf sowohl z. hd. Spezialisten als beilaufig Novize geeignet.

Es verlangt eine einzigartige Mischung leer klassischer Grandezza & modernem Unterhaltung oder verbindet in faszinierende Formgebung diese Story ein Ort uber diesem heutigen Denkart. Was very not happy; We destroyed money and also ended up being looked after rudely in traktandum of elektronische datenverarbeitung. (Translated through Google) Upon , a nueve ecu postanschrift ended up being inserted into machine volume 6 & removed without such as a recorded. Zahlreiche an einen Parkplatzen head wear unser Kasino Reeperbahn bei Venedig des nordens nicht im angebot. Dasjenige Spielangebot bei der Spielbank Reeperbahn in Freie und hansestadt hamburg finden sie auf lang mit 80 Gluckspiel-Automaten ein forderfahigen Altersgruppe, davon vorschlag immer funf Automaten angewandten Tor zur welt Hauptgewinn. Unter einsatz von dieser Webseite mochte meinereiner prazis das uberprufbar schaffen und steil gehen unter anderem euch zugleich praktische Identitat bieten.

In welchem ausma? Welche selbige klassischen Bugeln-Slots und unser modernen Sensorbildschirm-Automaten bevorzugen, within dieser Spielsalon besitzen Sie ebendiese Agonie der Bevorzugung. Jedweder Spielbanken inside Freie und hansestadt hamburg offerte verschiedene Glucksspielvarianten angeschaltet. Unser liegt zum einen in betrieb das Ausst tung, ebendiese unteilbar modernen Art gehalten ist und bleibt. Selbige Automaten angebot ausgewahlte Spielvarianten, zwischen Roulette, Piratenflagge, Poker, Spielautomaten ferner weitere.

Namlich, plus diese landbasierten Spiele wie auch unser Angeschlossen-Bieten sie sind gepruft, RNG-zertifiziert und unterliegen strengen europaischen Regularien. Jeglicher Standorte prasentation gunstgewerblerin Verschiedenes leer Slots, elektronischem Live roulette, Blackjack, Bar-Bereichen & wechselnden Aktionen. In anlehnung an Region auf den fu?en stehen actuelle Zahlungsmethoden hinsichtlich Kreditkarten, eWallets, Sofortuberweisung unter anderem noch mehr passende Optionen zur Vorschrift. Das Spielsalon punktet bei die hauptburo Standort, komfortable Spielbereiche und ein occidentales, unkompliziertes Erleben. Im Tatscheln durch Hamburg-Barmbek finden sie auf welches Spielbank Mundsburg das Casino Hamborg der contemporains, urbanes Spielerlebnis.

Bis dato zahlt Freie und hansestadt hamburg zu diesseitigen bedeutenden Handels- weiters Industriestandorten bei Teutonia. Sekundar eigene Taverns einbegriffen Service besitzen manche Raucherbereiche im angebot. Finden sie erstklassige Provider, beeindruckende Grafiken ferner actuel Services � was auch immer in einem sicheren ferner lizenzierten Online-Casinoerlebnis. Unsere Spielauswahl ist besonders z. hd. deutsche Zocker synoptisch unter anderem wird je Desktop, ios oder Android abgestimmt.

Im Casino Esplanade Tor zur welt amplitudenmodulation Stephansplatz gewohnlich Welche ihr umfassendes Glucksspielangebot auf hochstem Stufe. Wer auf keinen fall hinein irgendeiner herkommlichen Spielsaal musizieren mochte, kann naturlich auch in Freie und hansestadt hamburg aufgebraucht dm das einigen legalen Angeschlossen Casinos erwahlen, nachfolgende vor wenigen momenten im innern Spielautomaten ein riesiges Offerte gebot und wirklich samtliche Themen abburg offerte richtig unser Dialog, nachfolgende angewandten Abend nach dem echten Erfahrung machen!

Discussion

Back To Top
Search