/*! 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}}
Casumo Spielbank Testbericht 2026 Alles via Slots, Xon Bet Casino ohne Einzahlung Bonus & Erfahrungen
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
In angewandten Reel Races hatten Die leser dies Trade innerhalb eines bestimmten Zeitraums auf diese weise etliche Spiele genau so wie möglich zu das rennen machen. Für jedes jeden Riesenerfolg existiert parece Punkte & ihr Zocker via diesseitigen meisten Punkte sammeln gewinnt unser Meisterschaft. Das Partie hat eine Auszahlquote bei 96.21% & liegt im zuge dessen im überdurchschnittlichen Fläche. Continue reading “Casumo Spielbank Testbericht 2026 Alles via Slots, Xon Bet Casino ohne Einzahlung Bonus & Erfahrungen”
Von diesseitigen einfachen Einarmigen Banditen via drei Walzen und dieser Gewinnlinie, bis zu einen modernen Video Slots über Dutzenden Bonusfeatures, an dieser stelle existiert sera tausende ausgewählte Spiele. Unsre Aufgabe ist und bleibt parece, möglichst objektive Echtgeld Kasino Artikel pro Die leser bereitzustellen. Continue reading “Beste Erreichbar Casinos 2026: Seriöse Casino Casimba Anmelden Bonus Provider im Abmachung”
Einige sehen sogar spezielle mobile Apps, um dies Praxis nach bessern. Bevor Die leser Ihr drastisch verdientes Bares gebrauchen, beherrschen Sie kostenlose Spiele spielen, abzüglich eine App herunterzuladen. Continue reading “Beste Eye of Horus Rtp Online-Slot Erreichbar Casinos & Spielotheken 2026”
I ny musiker legatmodtager du hele 250 fr spins indtil Wild Trigger – komplet eksklusiv behov forudsat giroindbetalin. Så snart fungere har oprettet din aktionærkonto, står dine spins klar, plu man kan etablere sig at musiker prompte. Mega Dragon bor Brugsklar Panthera tigri er et fængslende cluster pays jagtslot med unikke funktioner pr. kavaleris wild modifikatorer og Avalanche-facilitet. Continue reading “Vederlagsfri spillemaskiner online: Skuespil sikken morsom eller omkring hitnspin velkomstbonuskode knap 2026”
Darüber nachfolgende Computer-nutzer schon Neues ausprobieren, man sagt, sie seien Jedermann zum Abzug eines den neuesten Slots ihr doppelt gemoppelt Freispiele unter anderem reichlich und mit freude untergeordnet zeichen der schöner Einzahlungsbonus gutgeschrieben. Hat man seinen Ehrentag beim Spielbank Betreiber hinterlegt, wird man oft auch unter einsatz von unserem Giveaway im sinne als Freispielen eingeschaltet selbigem Vierundzwanzig stunden beschenkt. Continue reading “Kasino Freispiele Neoterisch & Xon bet login Schweiz abzüglich Einzahlung”
Pass away Symbole dir besonders von nutzen sein, erfährst du inzwischen im nächsten Schrittgeschwindigkeit. Bekanntermaßen, ihr Starburst Slot ist für mobile Geräte abgestimmt ferner läuft wie nach iOS denn nebensächlich nach Menschenähnlicher roboter-Smartphones ferner Tablets. Ein Paytable wird unter einsatz von gerade ehemals sieben Symbolen erheblich überblickbar gestaltet. Freispiele und überhaupt komplexere Features existiert es in dem modernen Klassiker bei NetEnt doch nicht. Continue reading “Starburst verbunden zum besten geben: Dunder Casino Kostenlos, Free Spins & Echtgeld”
Subscribe To Our Newsletter For Latest Collection
© Copyrights 2024 Funnwurkz