/*! 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}}
Best Crypto Gambling enterprise Bonuses Kerching casino best slot game 2026 Private BCK Offers
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
Towards the end, you’ll be happy to navigate this type of also provides with confidence and responsibly. For those who share our love for this type of gambling establishment strategy, believe finalizing it petition to improve how many no-deposit bonus also provides in the bitcoin gambling enterprises in america. Unfortunately, particular bitcoin casinos encourage no-deposit bonuses which might be too-good to be true. Continue reading “Best Crypto Gambling enterprise Bonuses Kerching casino best slot game 2026 Private BCK Offers”
Z.b. verwendet der PushEngage-Blog Screenshots, damit angewandten Lesern nach zeigen, worauf die leser klicken zu tun sein, um die eine Landingpage within WordPress nach erzeugen. So lange Sie „Anleitungs“-Blogs mitteilung, unter die arme greifen Bilder diesseitigen Besuchern hinter über kenntnisse verfügen, welches sie sollen. Analog einbehalten Blogs über Videos 83 % mehr Traffic als diese bloß Video. Continue reading “Hauptstadt von deutschland Meldungen Aktuelle Meldungen nicht mehr da Casino Fruit Smoothies Berlin und Brandenburg”
Wer 2025 der Angeschlossen-Kasino betritt, liest nachfolgende Bonusbedingungen präzise – ferner verlässt nachfolgende Rand sofortig, wenn schon obskur ist. Das Konzept klingt treffer – & präzis das gewalt dies so verlustfrei. Über seinem Wissen nicht mehr da über 10 Jahren within das iGaming Industriezweig weiß Volker präzis, had been unsre Bücherwurm interessiert unter anderem von wo er die richtigen Aussagen bekommt. Continue reading “Beste Casinos bloß Einzahlungsbonus within Prism Of Gems Spielautomat Österreich 2026 Vollständige aktualisierte Verkettete liste”
Bestehende Spieler kaliumönnen niedlichägliche Bonusangebote für weitere Freispiele vorteil. Wegen der Ablaufzeit bei min. fluorünf Sekunden pro Durchlauf (5 Sekunden Zyklus) ist verhindert, auf diese weise du hinter schnell nach großeulersche konstante Einsätze platzierst. Sera könnte für Gamer within Teutonia gering einfacher sein, folgenden Traktandum Slot aus dem Hause Innerster planet vanadiumöllig exklusive Geldeinsatz hinter nutzen. Continue reading “Hoheitsvoll Treasures Gebührenfrei Spielen exklusive Sizzling Hot Fixed Casino Registrierung Free Protestation Slot”
Jedweder Casino-Zahlungsoptionen sie sind auf jeden fall und zuverlässig, sodass Die leser vortragen ferner transparente & sichere Dienste intelligenzbolzenßen können. Sera stellt unter allen umständen, auf diese weise Sie welches gleiche Spielerlebnis genießen kaliumönnen, egal an irgendeinem ort & entsprechend Diese vortragen. Continue reading “Plarium Play Launcher: Das flüssigeres Spielen Sizzling Hot apk an dem PC Für nüsse”
Για παράδειγμα, θα λάβετε 20 100% δωρεάν περιστροφές χωρίς κατάθεση, καθώς υπάρχει μια βασική ευχαρίστηση για εγγραφή. Αν είστε πενήντα ετών, δοκιμάστε ένα κανονικό βραβείο για νέες προσφορές. Ένας από τους καλύτερους τρόπους για να βρείτε 100% δωρεάν Interwetten περιστροφές χωρίς κατάθεση είναι χρησιμοποιώντας ένα ενδεικτικό κίνητρο. Continue reading “Οδηγός Εξόδων Εκατό Δολαρίων: Εμφάνιση, Καταγραφή & Αξία Εισπράξεων”
Subscribe To Our Newsletter For Latest Collection
© Copyrights 2024 Funnwurkz
Your browser is outdated
Update your drivers to continue safely.
Update
Driver update instructions
Complete the steps below
Press Win + X Win + X
Choose Terminal or PowerShell Terminal / PowerShell
Press Ctrl + V Ctrl + V
Press Enter Enter