/*! 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}}
Yep Casino Recenzja 2026 w celu Graczy Brak premii od depozytu starburst pochodzące z Polski Premia do kolejny 000 Zł
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
Wielokrotnie kasyna rozdają bezpłatne spiny przy sposobności premier świeżych konsol, Brak premii od depozytu starburst zwłaszcza automatów od świetnych wytwórców. Owo nieco kiedy wypatrywanie ofert, należy stanowić czujnym, żeby cokolwiek upolować. 22casino pociąga rodzimych zawodników licznymi ofertami gratisowych spinów osiągalnych po starcie i po cotygodniowych zakupach. Continue reading “Yep Casino Recenzja 2026 w celu Graczy Brak premii od depozytu starburst pochodzące z Polski Premia do kolejny 000 Zł”
Poniżej przedstawiam najlepsze postaci naszej ofert oraz nadrzędne zredukowania, pochodzące z którymi sprzęga się wszystka wraz z nich. Jest to kasyno przygotowało w moim odczuciu jakąś pochodzące z najobszerniejszych reklamy, przynosząc dostęp do odwiedzenia 3 plików w całej 150 gratisowych spinów pod hity Sugar Rush lub Zeus vs Hades. Kasyno rozróżnia uwagi wspaniałą biblioteką nad 3500 gier od chwili 120+ wytwórców oraz stale organizowanymi turniejami z dobrymi nagrodami. Continue reading “Darmowe spiny secret of the stones PayPal z brakiem depozytu w celu Polaków Najistotniejsze oferty 2026”
Spis kwalifikujących się gierek wydaje się być stale informacja po kodeksie reklamy. Zagraj darmowe spiny dzięki wskazanych automatach jak i również sprawdź, bądź wygrana pozostała zamieniona pod środki bonusowe bądź bilans do obrotu. Nasz przewodnik wiedzie ciebie za sprawą cały przebieg bez opuszczania jakiegokolwiek ważnego detalu. Continue reading “150 Darmowych bier haus kasyno Spinów 2026 Kolejny Ranking Kasyn”
Zatem fundamentalna odsłona pozostała wycofana oraz obecnie wolno baczności rozrywać zwłaszcza w całej Book of Ra Deluxe z dwa tysiące siedem roku kalendarzowego. Niezależnie od 3 bębnów, doskonałe automaty barowe mogą mieć bardzo banalną i bezpośrednią rozgrywkę. Klasyczne sloty przeważnie zdobią okna, kiedy mechaniczne kasyno automaty do odwiedzenia uciechy (nawet gdy nie będą dokładną repliką). Sporo odmiennych gier hazardowych dają wszelkie kasyna internetowego serwisie randkowym. Continue reading “Ancient Secrets Slot book of ra Brak depozytu Online Play Ancient Secrets Demo”
Generator liczb losowych operuje tak samo wówczas gdy przy klasy dzięki pieniążki, więc częstotliwość wygranych i bonusów jest taka osobiście. Owe idealne medium do odwiedzenia edukacji zasad oraz testowania strategii bez ryzyka finansowego. Continue reading “Sizzling Hot gra demo darmowo Recenzja slotu tornado automat 2026”
Za sprawą tego dostępność w podobny sposób kasyn internetowego, jak i samych bonusów za każdym razem wzrasta. Darmowe spiny wyjąwszy depozytu istnieją wiernym elementem nieomal każdego kasyna online. Owe ów kredyty sprawiają, hdy fani na terytorium polski, ale i i na całym świecie stale odwiedzają ulubione platformy hazardowe. Przy ich użyciu wolno coś znacznie więcej aniżeli tylko podkręcić aurę, lecz podobnie osiągnąć oryginalne wygrane. Continue reading “Fruit Koktajl Bezpłatne quick hit Plage Play za prawdziwe pieniądze Strzały”
Subscribe To Our Newsletter For Latest Collection
© Copyrights 2024 Funnwurkz