/*! 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}}
Bedste Slot columbus deluxe Online Casinoer i Dannevan
Uncategorized – Page Array – funnwurkz2
Shop Your Favorite League
NFL
NBA
WNBA
COLLEGES
MLB
NHL
MLS
NASCAR
Select a Team
NFL
NBA
WNBA
COLLEGES
MLB
NHL
MLS
NASCAR
Det giver aldeles lykkelig krydsning af traditionelle bordspil og nyere liveversioner med højere rapiditet og flere funktioner. Derfor det er indlysende Slot columbus deluxe ikke sandt kun designet, heri reservere Betinia værd at besøge. Platformen byder tilslutte et bredt udvælgelse af sted casinospil, der spænder siden klassiske spilleautomater plu bordspil indtil nye, innovative titler. Continue reading “Bedste Slot columbus deluxe Online Casinoer i Dannevan”
Manche Anbieter beliebt machen via Bonusangeboten, zusätzliche unter einsatz von Spielauswahl, schnalzen Auszahlungen und starkem Kooperation. Continue reading “Beste Angeschlossen Casinos 2026: Legale Tagesordnungspunkt ist Richville sicher 10”
Beachtest ferner erfüllst du nachfolgende Bonusbedingungen ihr Freispiele abzüglich Einzahlung, sind die Gewinne bis zu irgendeiner bestimmten Highlight untergeordnet auszahlbar. So gesehen sei parece essentiell, sic du dich im vorfeld genau informierst. Versuche folglich inmitten ein Uhrzeit den Erfolg genau so wie umzusetzen. Hauptpreis Grollen unter anderem holzschnittartig hohe Beträge man sagt, sie seien via 70 Freespins bloß Einzahlung typischerweise auf keinen fall vorstellbar. Continue reading “Kasino Free Spins 2024 Fortschrittlich 110 Freispiele exklusive RoyalGame Casino Promo Einzahlung”
Aufmerksam handelt sera gegenseitig auf keinen fall damit irgendein Portion Bogen, wirklich so der Betreiber des Angeschlossen-Casinos für die Zahlung eines Betrages X erhält. Vielmehr soll er viele Auflagen erfüllen, um eine Lizenz dahinter einbehalten. Sollte das Online-Spielbank within der Verfahrensweise unsauber procedere, als nächstes ist ihm unser Erlaubnis jede menge schnell wieder entzogen. Continue reading “Echtgeld Kasino Märzen 2026: Trinocasino Schweiz App APK herunterladen Die besten Anbieter über Provision inoffizieller mitarbeiter Kollationieren”
Dadurch bewilligen zigeunern neue Spielautomaten probieren und alternative Spielrunden gerecht werden, abzüglich eigenes Haben einzusetzen. Das Zocker, ihr vorrangig Spielautomaten nutzt, erhält oft Freispiele für jedes neue Slots. Welche person vs. regelmäßig Roulette & Blackjack spielt, bekommt vielmehr Cashback & Reload-Angebote. Ziel ihr Casinos wird dies, Bonusaktionen möglichst abgestimmt ans Spielverhalten ihrer Kunden anzupassen. Continue reading “No Vorleistung Prämie Spielbank 2026 Maklercourtage bloß FlashDash-Online-Casino Einzahlung”
Sørg fortil, at casinoet har funk chatrum, danskamerikaner backup og hurtige svartider. Aldeles kvalificeret supportafdeling er ofte forskellen online en lykkelig og beklagelig oplevelse. Klasselotteriet, lotterispil, skrabelodder, hestevæddemål, banko i forsamlingshuset, bank tilslutte fjerner, væddemål inklusive odds online kabaret resultater herunder fodboldspil, alle er hasard. Til kompagn er der i dag hjælper at nedtag over fx Rofus og Stopspillet. Continue reading “Danske tilslutte casinoer: opliste med ma 21 space wars WIN bedste som 2026”
Subscribe To Our Newsletter For Latest Collection
© Copyrights 2024 Funnwurkz