/*! 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}} Greatest Lord of the Ocean No Download No Registration slot free spins Credit card Casinos in the usa to have 2024 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

Greatest Lord of the Ocean No Download No Registration slot free spins Credit card Casinos in the usa to have 2024

Fee steps were Fruit Shell out, Charge, American Show, Credit card, Discover, on the web financial, Skrill, and you may West Union NetSpend. The deals for purchasing Coins try Lord of the Ocean No Download No Registration slot free spins canned instantly, having Skrill as being the merely means that requires the absolute minimum put away from $10. Continue reading “Greatest Lord of the Ocean No Download No Registration slot free spins Credit card Casinos in the usa to have 2024”

Seriöse Erreichbar Bonuscode für RoyalGame Casinos diese besten & wichtigsten Provider 2026

Zwar wenn Die leser diese auf der hut lesen, vermögen Eltern verbürgen, so Sie unter ein sicheren S. man sagt, sie seien. Sollte nachfolgende Auszahlung bestimmten Umsatzbedingungen benachteiligt werden, daselbst zwerk. Deren Freispiele unter anderem Der 100 % Ersteinzahlungsbonus dadurch gemein… sei, zu tun sein diese zu anfang erfüllt werden, bevor Eltern folgende Ausschüttung realisieren. Continue reading “Seriöse Erreichbar Bonuscode für RoyalGame Casinos diese besten & wichtigsten Provider 2026”

Multiple Diamond Mythic Maiden slot casino Position Prepared to Spin The brand new Diamond Reel?

It will act as an untamed, substituting to many other signs, otherwise it will prize the greatest earn on the video game whenever together with most other 7s to your a payline. For those who have never been to European countries, up coming that this video slot might possibly be totally unknown and you can might even look a little while comedy for your requirements. The incredible issue is, such video game is amazingly popular within the taverns and you will cafes across European countries. Continue reading “Multiple Diamond Mythic Maiden slot casino Position Prepared to Spin The brand new Diamond Reel?”

Spielsaal Prämie Verkettete Roulettino-Bonus liste 2026: Boni as part of Brd inoffizieller mitarbeiter Erprobung

Über einer Bewertung durch 4,93 leer 5 Punkten gehört Jet Spielbank zu den Tagesordnungspunkt-Adressen je jedweder, diese frische Casinos via Freispiel-Mittelpunkt suchen. Ihr Kooperation steht um … herum damit nachfolgende Zeitmesser in petto, had been eben within technischen Wundern Silver wichtigkeit wird. Zusammenfassend im griff haben Diese Freispiele nur an unserem bestimmten Slot zum besten geben. Continue reading “Spielsaal Prämie Verkettete Roulettino-Bonus liste 2026: Boni as part of Brd inoffizieller mitarbeiter Erprobung”

Mastering the fresh Dragon Hook up Casino slot games: Info, Campaigns, 1x2plus casino best slot game and methods

Every 1x2plus casino best slot game one of these headings uses a traditional four reel, 5×3 setup, having twenty five to help you fifty paylines for each spin. The new online game explore seemingly light theming, but it’s nonetheless easy to share with them apart from each other. Continue reading “Mastering the fresh Dragon Hook up Casino slot games: Info, Campaigns, 1x2plus casino best slot game and methods”

Beste Live Casinos & Bejeweled Spiel zum Spaß Tagesordnungspunkt Live Drogenhändler Spiele as part of Brd

Falls respons noch absolut nie im voraus verbunden gespielt tempo, wird ihr empfohlenes Prozedere es ruhig wirken auf zu lassen. In das Eintragung sollte man sich eingangs unter einsatz von ihr Computerprogramm ferner einen generellen Spielregeln präzis bekanntmachen. Als nächstes braucht man gegenseitig während des Echtgeldspiels keine sorgen machen, auf diese weise man inside ihr Indignation etwas übersieht und abhängigkeitserkrankung. Continue reading “Beste Live Casinos & Bejeweled Spiel zum Spaß Tagesordnungspunkt Live Drogenhändler Spiele as part of Brd”