/*! elementor-pro - v3.30.0 - 01-07-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["loop-filter-editor"],{ /***/ "../modules/loop-filter/assets/js/editor/module.js": /*!*********************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/module.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 _taxonomyFilter = _interopRequireDefault(__webpack_require__(/*! ./taxonomy-filter */ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js")); class LoopFilter extends elementorModules.editor.utils.Module { onElementorInit() { this.taxonomyFilter = new _taxonomyFilter.default('taxonomy-filter'); } } exports["default"] = LoopFilter; /***/ }), /***/ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js": /*!******************************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/taxonomy-filter.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; const ElementEditorModule = __webpack_require__(/*! elementor-pro/editor/element-editor-module */ "../assets/dev/js/editor/element-editor-module.js"); module.exports = ElementEditorModule.extend({ __construct() { this.cache = {}; ElementEditorModule.prototype.__construct.apply(this, arguments); }, onInit() { elementor.channels.editor.on('editor:widget:taxonomy-filter:section_taxonomy_filter:activated', this.onTaxonomyFilterSectionActive); }, onTaxonomyFilterSectionActive() { this.updateSelectedElementOptions(); const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(); if (selectedElementControlValue) { this.updateTaxonomyOptions(selectedElementControlValue); } }, updateSelectedElementOptions() { const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(), selectedElement = !!selectedElementControlValue ? elementor.$previewContents[0].querySelector(`[data-elementor-id="${elementor.config.document.id}"] .elementor-element-${selectedElementControlValue}`) : ''; if (!selectedElement) { selectedElementControlView.setValue(''); } const loopWidgets = elementor.$previewContents[0].querySelectorAll(`[data-elementor-id="${elementor.config.document.id}"] .elementor-widget-loop-grid`), selectedElementControlOptions = { '': __('Select a widget', 'elementor-pro') }; if (!loopWidgets.length) { this.updateOptions('selected_element', selectedElementControlOptions); selectedElementControlView.setValue(''); } let index = 1; for (const loopWidget of loopWidgets) { selectedElementControlOptions[loopWidget.dataset.id] = `${__('Loop Grid', 'elementor-pro')} ${index++}`; } this.updateOptions('selected_element', selectedElementControlOptions); }, onElementChange(setting, controlView) { if ('selected_element' !== setting) { return; } const controlValue = controlView.getControlValue(); if (controlValue) { this.updateTaxonomyOptions(controlValue); } else { this.updateOptions('taxonomy', { '': __('Select a taxonomy', 'elementor-pro') }); } }, getPostSourceQueryPostType(loopWidgetContainer) { const querySource = loopWidgetContainer.settings.attributes.post_query_post_type; let queryPostType = ''; switch (querySource) { case 'current_query': queryPostType = elementorPro.config.loopFilter.mainQueryPostType; break; case 'by_id': // Currently 'by ID' is not supported since it can include multiple post types. queryPostType = 'post'; break; case 'related': queryPostType = 'post'; break; default: queryPostType = querySource; } return queryPostType; }, getLoopQueryPostType(loopWidgetId) { const loopWidgetContainer = elementor.getContainer(loopWidgetId); const loopSource = loopWidgetContainer.settings.attributes._skin; if ('post' === loopSource) { return this.getPostSourceQueryPostType(loopWidgetContainer); } return 'product'; }, updateTaxonomyOptions(loopWidgetId) { // TODO: Add control spinner. const postType = this.getLoopQueryPostType(loopWidgetId); const postTypeTaxonomies = this.getPostTypeTaxonomies(postType).then(response => { if (!(response instanceof Response)) { return response; } else if (!response.ok || 400 <= response.status) { this.displayErrorDialog(); return {}; } return response.json(); }).catch(() => { this.displayErrorDialog(); return {}; }).then(response => { let data = response?.data || response; if (!Object.keys(data).length) { this.updateOptions('taxonomy', { '': __('No taxonomies found', 'elementor-pro') }); return; } data = { ...{ '': __('Select a taxonomy', 'elementor-pro') }, ...data }; this.cache[postType] = data; this.updateOptions('taxonomy', data); }); return postTypeTaxonomies; }, /** * * @param {string} postType * @return {Promise} Promise that should resolve with taxonomies data. */ getPostTypeTaxonomies(postType) { if (this.cache[postType] && Object.keys(this.cache[postType]).length) { return Promise.resolve(this.cache[postType]); } return this.fetchPostTypeTaxonomies(postType); }, fetchPostTypeTaxonomies(postType) { return fetch(`${elementorCommon.config.urls.rest}elementor-pro/v1/get-post-type-taxonomies`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': elementorWebCliConfig.nonce }, body: JSON.stringify({ post_type: postType }) }); }, displayErrorDialog() { elementorCommon.dialogsManager.createWidget('alert', { id: 'e-filter-error-message', className: 'e-filter__error-message', headerMessage: __('Something went wrong', 'elementor-pro'), message: __('We are experiencing technical difficulties on our end. Please try again to reconnect.', 'elementor-pro'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('OK', 'elementor-pro') } }).show(); } }); /***/ }) }]); //# sourceMappingURL=loop-filter-editor.46a4c013b80a381a50c9.bundle.js.map.flexa-counter{box-sizing:border-box}.flexa-counter__list{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.flexa-counter__item{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start}.flexa-counter__row{align-items:center;display:flex;flex-direction:row;gap:.5em}.flexa-counter__icon{align-items:center;display:inline-flex;justify-content:center;line-height:1}.flexa-counter__icon img,.flexa-counter__icon svg{display:block;height:100%;width:100%}.flexa-counter__number{align-items:baseline;display:flex;flex-direction:row;gap:.1em;justify-content:center;line-height:1}.flexa-counter__value{font-variant-numeric:tabular-nums}.flexa-counter__label{display:block}.flexa-counter__separator{border-top:0 solid;display:block}@media(min-width:1025px){.flexa-counter.flexa-hide-desktop{display:none!important}}@media(min-width:768px)and (max-width:1024px){.flexa-counter.flexa-hide-tablet{display:none!important}}@media(max-width:767px){.flexa-counter.flexa-hide-mobile{display:none!important}} Dunder Spielsaal Untersuchung 2020 Casino Boo Casino 250 + 120 Freespins Uncategorized – Page Array – funnwurkz2

Extra 25% off with code SUMMER25.

Shop Your Favorite League

  • NFL
  • NBA
  • WNBA
  • COLLEGES
  • MLB
  • NHL
  • MLS
  • NASCAR
Select a Team

Dunder Spielsaal Untersuchung 2020 Casino Boo Casino 250 + 120 Freespins

Dunder sei ihr enorm erheblich schönes Casino unter einsatz von vielen vielen verschiedenen Slots. So lange meinereiner mein Piepen auszahlen möchte, man sagt, sie seien sie Casino Boo Casino sehr direkt, bisweilen in 30 Minuten habe selbst mein Geld. Dies Piepen soll 30 Mal umgesetzt werden, parece werden Angeschlossen Casinos unter einsatz von ausschlaggebend härteren Regeln allenthalben berühmt. Continue reading “Dunder Spielsaal Untersuchung 2020 Casino Boo Casino 250 + 120 Freespins”

Play Craps On the Terminator 2 slot free spins internet Greatest A real income & Totally free Craps Online game to possess 2024

Having fun with devoted software tend to will bring a smooth knowledge of shorter stream minutes and you can enhanced game play versus cellular internet browser accessibility. Although not, cellular internet browsers render better independence simply because they do not require installment and certainly will getting utilized to your a broader listing of gizmos. Continue reading “Play Craps On the Terminator 2 slot free spins internet Greatest A real income & Totally free Craps Online game to possess 2024”

Lucky Days Spielbank » 1 Online Power Stars Bonus Ohne Einzahlung Slots 000 Maklercourtage + 100 Freispiele!

Die 100 Freispiele, unser du für jedes angewandten Reißer Book of Dead bekommst, man sagt, sie seien inside 10er Pakete via 10 Menstruation diffundiert. Verbrauchen musst respons diese jedes mal im innern von 24h & Gewinne wiederum moderate 25x umsetzen, vor eltern durchaus ausbezahlt man sagt, sie seien im griff haben. Continue reading “Lucky Days Spielbank » 1 Online Power Stars Bonus Ohne Einzahlung Slots 000 Maklercourtage + 100 Freispiele!”

Greatest Free Online casino games 2024: Play the Better Online slots games Lord of the Ocean Tricks play & Far more

SlotsUp has an alternative complex on-line casino algorithm made to see the best online casino in which participants will enjoy playing online slots games the real deal currency. All of these online slot machines is totally free harbors and no download, zero membership, no-deposit expected! Continue reading “Greatest Free Online casino games 2024: Play the Better Online slots games Lord of the Ocean Tricks play & Far more”

Beste Echtgeld Kein Einzahlungscasino SpyBet Casinos & Spielotheken 2026

Im Hochformat sei unser Handhabung aber und abermal kompakter, im Querformat konnte ein Spieltisch übersichtlicher handhaben. Spieler sollten jedwederlei Ansichten testen, vorher die leser qua Echtgeld vortragen. Gleichzeitig werden deutsche Glücksspieler durch wichtige Schutzmaßnahmen, inklusive Einzahlungslimits, Selbstsperre und OASIS-Sperrsystem beschützt. Continue reading “Beste Echtgeld Kein Einzahlungscasino SpyBet Casinos & Spielotheken 2026”

The fresh Hyper casino for real money Green Server Position Absolve to Play Internet casino Games

An example of such position try MegaBars Jackpot Queen from Formula. MegaBars Jackpot King have a great 95.99% RTP Hyper casino for real money and you will mid-large variance speed. As the modern jackpot count is no place near the many, it continues to have a significant progressive jackpot award which have a method chance grounds. Continue reading “The fresh Hyper casino for real money Green Server Position Absolve to Play Internet casino Games”