/*! 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}} Legale Österreichische Spielsaal YoyoSpins Slots Promo Codes Seiten: Top 15 Besten inoffizieller mitarbeiter Test 2026 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

Legale Österreichische Spielsaal YoyoSpins Slots Promo Codes Seiten: Top 15 Besten inoffizieller mitarbeiter Test 2026

Merkur ferner Novoline sind within deutschen Spielotheken online so gut wie irgendetwas Agenda, zwar nebensächlich Versorger wie Bally Wulff, Red Tiger und Pragmatic Play erwischen spannende Spiele fertig. Diese Testsieger unseres Spielhallen und Echtgeld Kasino Vergleichs seht ihr as part of der oberen Register unter den Blick. Nachfolgend zeigen unsereins euch, die Anbieter in welchen Kategorien gerade eine gute punktzahl erreichen. Continue reading “Legale Österreichische Spielsaal YoyoSpins Slots Promo Codes Seiten: Top 15 Besten inoffizieller mitarbeiter Test 2026”

Better Skrill Casino Sites 2024 Web based casinos One to Take on Trinocasino bonuses Skrill

You can constantly select from a selection of debit otherwise borrowing from the bank notes, prepaid service cards, e-wallets, and even cryptocurrencies. It is very important remember that not all the websites having alive casino games allows you to fool around with Skrill, and that the rules from the gambling on line will likely be various other within the for every state. Continue reading “Better Skrill Casino Sites 2024 Web based casinos One to Take on Trinocasino bonuses Skrill”

3 Reel Ports Play Vintage Slot machines On slot The Ming Dynasty the web at no cost

A patio created to show the efforts aimed at using vision of a safer and more clear online gambling industry to help you reality. The sole problem the following is using this game is basically making an application for a seat to play, whenever we check out Vegas. It is so common, your most of the time have to hang around to wait to own a great seat. Continue reading “3 Reel Ports Play Vintage Slot machines On slot The Ming Dynasty the web at no cost”

Totally free Spins No deposit 2024 ️ King Cashalot 150 free spins Win Real money

Definitely fully understand the newest conditions and terms of your own gambling enterprise, merely choose qualified ports and ensure your fulfill its betting conditions. These incentive might possibly be somewhat enjoyable and provide people an exciting first start in order to on-line casino gaming. Casinos need to provide signal-up incentives, 100 percent free spins incentives, reload bonuses, and you will offers having reasonable wagering criteria. Continue reading “Totally free Spins No deposit 2024 ️ King Cashalot 150 free spins Win Real money”

100+ großartige mobile Casino Apps Eye Of Horus kostenlose Spins keine Einzahlung zum Austesten im 2024

Stattdessen kannst respons direkt über angewandten mobilen Webbrowser in diese Spiele zupacken. Um noch Androide Spielbank Apps dahinter nützlichkeit, musst respons eltern denn Kasino-Fan in erster linie herunterkopieren. Zahlreiche Casino-Apps für jedes Androide gebot dir abzüglich Boni, unser nur pro Benützer der App erhältlich man sagt, sie seien. Diese kannst respons schlichtweg as part of ein App einlösen – zusammenhängen Freispiele nur für die App, Einzahlungsboni und Cashback-Angebote. Continue reading “100+ großartige mobile Casino Apps Eye Of Horus kostenlose Spins keine Einzahlung zum Austesten im 2024”

Free Ports Zero Obtain Enjoy Totally Hall Of Gods slot free spins free Casino slot games for fun

The other significant advantage of totally free slots zero download try convenience. Anyplace you have an internet connection otherwise research, you can rapidly weight better 100 percent free position video game and you may enjoy inside the web based casinos from your desktop, tablet, otherwise cellular phone. Continue reading “Free Ports Zero Obtain Enjoy Totally Hall Of Gods slot free spins free Casino slot games for fun”