/*! 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}} Beste Mobile Casinos in Teutonia ᗎ Mobilfunktelefon Spielsaal Spiele unter einsatz von App RoyalGame Echtgeld 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

Beste Mobile Casinos in Teutonia ᗎ Mobilfunktelefon Spielsaal Spiele unter einsatz von App RoyalGame Echtgeld

Abzüglich zusätzliche Agent vermag dies Piepen nach Wunsch schlichtweg von Einem persönlichen Konto in diesseitigen Verbunden Spielsaal einlösen über Handyrechnung Ihrer Auswahl überwiesen sie sind. Dies vermögen Eltern über die gesamtheit Bankhaus einfach via ein doppelt gemoppelt Klicks durch Einem Blechidiot leer tun. Continue reading “Beste Mobile Casinos in Teutonia ᗎ Mobilfunktelefon Spielsaal Spiele unter einsatz von App RoyalGame Echtgeld”

Finest Totally free Vegas Hot 81 online slot Casino games 2024: Have fun with the Best Online slots games & Far more

You may enjoy free pokies right here or at my shortlisted on line gambling enterprises one accept participants from Australian continent. Would like to get already been to try out totally free gambling establishment ports but don’t know exactly how? First, I have a guide that can be used since the an intro to harbors. And also to start playing follow on for the a title you want to test, as well as the games usually load automatically. Continue reading “Finest Totally free Vegas Hot 81 online slot Casino games 2024: Have fun with the Best Online slots games & Far more”

Online Casinos qua 5 Ecu Einzahlung 2024 slot madness bonus ohne einzahlung Verkettete liste

So gefragt ein 5€ gratis Startguthaben ist, konnte er allein auf keinen fall einen Hautirritation je das Online Kasino verhalten. Gute Casinos überzeugen zusätzlich unter einsatz von der seriösen Regulierung, vielen sicheren Einzahlungsmöglichkeiten ferner insbesondere dem großen Spieleangebot qua vielen Applikation Entwicklern. Unteilbar Online Kasino erhalten Sie wanneer Neukunde einen jedweder speziellen Relevanz zugewiesen. Continue reading “Online Casinos qua 5 Ecu Einzahlung 2024 slot madness bonus ohne einzahlung Verkettete liste”

Casinos online sobre De Casino 50 dragons cualquier parte del mundo Ranking top de juguetear indudablemente el 2024

La tragaperras regalado Trolls Bridge te deja presionar cualquier lo que salta el bono, sobre cómo llegan a convertirse en focos de luces comporta la volatilidad desplazándolo hacia el pelo â qué es lo primero? rangos sobre envite te convienen. De mi persona serí­a el método de mayor fiable de planear ya cualquier especie de esparcimiento suin arriesgar su patrimonio. Continue reading “Casinos online sobre De Casino 50 dragons cualquier parte del mundo Ranking top de juguetear indudablemente el 2024”

Better No-deposit Internet casino Bonuses slot machine online Aloha Cluster Pays 2024

For example conference the newest playthrough requirements, staying with the new playing limitations, and much more. 100 percent free revolves can be worth it as long while the T&Cs try fair and the wagering standards commonly too steep. Even if you do not win real cash, 100 percent free spins might be a terrific way to try a great casino and you can gamble the fresh slot game. Continue reading “Better No-deposit Internet casino Bonuses slot machine online Aloha Cluster Pays 2024”

Beste Valley of the Gods Jackpot-Slot Casino Bonus abzüglich Einzahlung 2024 No anzahlung prämie

Der Kasino Maklercourtage exklusive folgende vorherige Aufladung des Spielerkontos sei präzise welches. Das solches Präsentation bietet dir die Anlass welches Erreichbar-Casino kennenzulernen exklusive dafür die eine Einzahlung tätigen zu sollen. Anliegend der Anlass angewandten Provider hinter abschmecken tempo du natürlich nebensächlich diese Möglichkeit einen Triumph dahinter bringen. Continue reading “Beste Valley of the Gods Jackpot-Slot Casino Bonus abzüglich Einzahlung 2024 No anzahlung prämie”