PageSourceSearch

https://progenericos.org.br/src/plugins/deo-elementor/assets/js/scripts.js?ver=1

js progenericos.org.br collected 2026-10-03 22:24:07 UTC 9,981 bytes, 326 lines download raw bytes

1;(function ($) {
2  "use strict"
3
4  var $window = $(window)
5
6  var DeoWidgetHandler = {
7    window: $(window),
8    html: $("html, body"),
9    ajax: {},
10
11    document_ready: function () {
12      DeoWidgetHandler.ajax_filter_list()
13    },
14
15    ajax_cache_obj: {
16      data: {},
17
18      get: function (id) {
19        return DeoWidgetHandler.ajax_cache_obj.data[id]
20      },
21      set: function (id, data) {
22        DeoWidgetHandler.ajax_cache_obj.remove(id)
23        DeoWidgetHandler.ajax_cache_obj.data[id] = data
24      },
25      remove: function (id) {
26        delete DeoWidgetHandler.ajax_cache_obj.data[id]
27      },
28      exist: function (id) {
29        return DeoWidgetHandler.ajax_cache_obj.data.hasOwnProperty(id) && DeoWidgetHandler.ajax_cache_obj.data[id] !== null
30      }
31    },
32
33    ajax_block_data: function (block) {
34      var param = {}
35      param.block_id = block.data("block_id")
36      param.posts_per_page = block.data("posts_per_page")
37      param.category_id = block.data("category_id")
38      param.category_ids = block.data("category_ids")
39      param.orderby = block.data("orderby")
40      param.widget_type = block.data("widget_type")
41      param.category_hide = block.data("category_hide")
42
43      return param
44    },
45
46    ajax_filter_list: function () {
47      $(".block-filter-link")
48        .off("click")
49        .on("click", function (e) {
50          e.preventDefault()
51          e.stopPropagation()
52
53          var filter_link = $(this)
54          var block = filter_link.parents(".content-section.section-recent-news")
55
56          var block_id = block.attr("block_id")
57
58          if (true == DeoWidgetHandler.ajax[block_id + "_processing"]) {
59            return
60          }
61
62          var filter_link_val = filter_link.data("ajax_filter_val")
63          DeoWidgetHandler.ajax[block_id + "_processing"] = true
64
65          //disable other link
66          block.find(".block-link").removeClass("is-active tabs__item--active")
67          block.find(".block-link").not(this).addClass("is-disable")
68          filter_link.addClass("is-active")
69
70          block.find(".block-inner-content").append('<div class="ajax-overlay"><div class="loader ajax-loader"><div></div></div></div>')
71
72          var param = DeoWidgetHandler.ajax_block_data(block)
73          DeoWidgetHandler.ajax_filter_reset_param(block, param, filter_link_val)
74          setTimeout(function () {
75            DeoWidgetHandler.ajax_filter_list_process(block, param)
76          }, 500)
77        })
78    },
79
80    ajax_filter_reset_param: function (block, param, filter_link_val) {
81      param.block_page_current = 1
82
83      block.data("block_page_current", 1)
84      var block_id = block.attr("id")
85
86      if ("undefined" == typeof DeoWidgetHandler.ajax[block_id + "_category_id"]) {
87        DeoWidgetHandler.ajax[block_id + "_category_id"] = 0
88      }
89
90      if (0 == filter_link_val) {
91        param.cat = DeoWidgetHandler.ajax[block_id + "_cat"]
92        param.category_ids = DeoWidgetHandler.ajax[block_id + "_category_ids"]
93
94        block.data("cat", DeoWidgetHandler.ajax[block_id + "_cat"])
95        block.data("category_ids", DeoWidgetHandler.ajax[block_id + "_category_ids"])
96      } else {
97        param.cat = filter_link_val
98        param.category_ids = 0
99
100        block.data("cat", filter_link_val)
101        block.data("category_ids", 0)
102      }
103    },
104
105    ajax_filter_list_process: function (block, param) {
106      var param_cache = param
107      delete param_cache.block_page_max
108      var cache_id = JSON.stringify(param_cache)
109
110      if (DeoWidgetHandler.ajax_cache_obj.exist(cache_id)) {
111        var data = DeoWidgetHandler.ajax_cache_obj.get(cache_id)
112        if ("undefined" != data.block_page_max) {
113          block.data("block_page_max", data.block_page_max)
114        }
115
116        DeoWidgetHandler.ajax_end_result(block, data.content)
117        return false
118      }
119
120      $.ajax({
121        type: "POST",
122        url: deo_vars.ajax_url,
123        data: {
124          action: "deo_widget_ajax_data",
125          data: param,
126          security: deo_vars.ajax_nonce
127        },
128        success: function (data) {
129          data = $.parseJSON(data)
130          if ("undefined" != data.block_page_max) {
131            block.data("block_page_max", data.block_page_max)
132          }
133          DeoWidgetHandler.ajax_cache_obj.set(cache_id, data)
134          DeoWidgetHandler.ajax_end_result(block, data.content)
135        }
136      })
137    },
138
139    ajax_end_result: function (block, content) {
140      block.delay(100).queue(function () {
141        block.find(".block-link").removeClass("is-disable")
142        block.find(".block-filter-more").removeClass("is-disable")
143
144        var block_id = block.attr("block_id")
145        var content_wrap = block.find(".block-content-wrapper")
146        var content_inner = content_wrap.find(".block-inner-content")
147
148        content_inner.stop()
149        content_inner.html(content)
150
151        content_inner.removeClass("is-overflow")
152
153        DeoWidgetHandler.ajax[block_id + "_processing"] = false
154
155        block.dequeue()
156      })
157    },
158
159    //ajax blog data
160    ajax_blog_data: function (blog) {
161      var param = {}
162      param.posts_per_page = blog.data("posts_per_page")
163      param.category_id = blog.data("category_id")
164
165      return param
166    }
167  }
168
169  var DeoLoadMore = {
170    window: $(window),
171    html: $("html, body"),
172
173    document_ready: function () {
174      DeoLoadMore.ajax_load_more()
175    },
176
177    ajax_load_more: function () {
178      $(".deo-load-more__button").on("click", function (e) {
179        var button = $(this)
180
181        if (!button.is(".clicked")) {
182          button.addClass("clicked")
183
184          e.preventDefault()
185          e.stopPropagation()
186
187          var block = button.parent(".deo-load-more").siblings(".deo-load-more-container")
188          var page = block.data("page")
189          var newPage = page + 1
190
191          var data = {
192            action: "deo_widget_load_more",
193            security: deo_vars.ajax_nonce,
194            data: {
195              page: page,
196              posts_per_page: block.data("posts_per_page"),
197              page_max: block.data("page_max"),
198              category_id: block.data("category_id"),
199              order_by: block.data("order_by"),
200              widget_type: block.data("widget_type"),
201              image_hide: block.data("image_hide"),
202              category_hide: block.data("category_hide"),
203              date_hide: block.data("date_hide"),
204              author_hide: block.data("author_hide"),
205              content_hide: block.data("content_hide"),
206              reviews_hide: block.data("reviews_hide"),
207              content_length: block.data("content_length"),
208              title_size: block.data("title_size"),
209              post_columns: block.data("post_columns"),
210              post_columns_tablet: block.data("post_columns_tablet"),
211              post_columns_mobile: block.data("post_columns_mobile")
212            }
213          }
214
215          $.ajax({
216            type: "POST",
217            url: deo_vars.ajax_url,
218            data: data,
219            beforeSend: function (xhr) {
220              button.addClass("deo-loading")
221              button.append('<div class="loader"><div></div></div>')
222            },
223            success: function (data) {
224              if (data) {
225                button.removeClass("deo-loading clicked")
226                button.find(".loader").remove()
227
228                block.data("page", newPage)
229                block.append(data)
230
231                if (block.data("page_max") == block.data("page")) {
232                  button.remove()
233                }
234              } else {
235                button.remove()
236              }
237            }
238          })
239        }
240
241        return false
242      })
243    }
244  }
245
246  $(document).ready(function () {
247    DeoWidgetHandler.document_ready()
248    DeoLoadMore.document_ready()
249  })
250
251  /* Tabs Post
252	-------------------------------------------------------*/
253  var deoTabsPost = function ($scope, $) {
254    setTimeout(() => {
255      $(".carousel-thumbs").flickity("reloadCells")
256    }, 500)
257    initMasonry()
258
259    // 1st carousel, main
260    $(".carousel-main").flickity({
261      cellAlign: "left",
262      contain: true,
263      pageDots: false,
264      prevNextButtons: false,
265      draggable: false,
266      lazyLoad: true,
267      setGallerySize: false
268    })
269
270    // 2nd carousel, thumbs
271    $(".carousel-thumbs").each(function () {
272      var widgetID = $(this).closest(".elementor-element").data("id")
273
274      $(this).flickity({
275        cellAlign: "left",
276        asNavFor: ".carousel-main-" + widgetID,
277        imagesLoaded: true,
278        contain: true,
279        pageDots: false,
280        prevNextButtons: false,
281        lazyLoad: true,
282        setGallerySize: false
283      })
284    })
285
286    // Watch the changes of hero height control
287    if (elementorFrontend.isEditMode()) {
288      elementor.channels.editor.on("change", function (view) {
289        let changed = view.elementSettingsModel.changed
290
291        if (changed.hero_height) {
292          $(".carousel-main").flickity("resize")
293        }
294      })
295    }
296  }
297
298  /* Posts Carousel
299	-------------------------------------------------------*/
300  var deoPostsCarousel = function ($scope, $) {
301    $(".carousel-posts").flickity({
302      cellAlign: "left",
303      pageDots: false,
304      imagesLoaded: true,
305      wrapAround: true
306    })
307  }
308
309  /* Masonry
310	-------------------------------------------------------*/
311  function initMasonry() {
312    var $grid = $(".masonry-grid").imagesLoaded(function () {
313      $grid.masonry({
314        itemSelector: ".masonry-item",
315        columnWidth: ".masonry-item",
316        percentPosition: true
317      })
318    })
319  }
320
321  $window.on("elementor/frontend/init", function () {
322    elementorFrontend.hooks.addAction("frontend/element_ready/deo-posts-carousel.default", deoPostsCarousel)
323    elementorFrontend.hooks.addAction("frontend/element_ready/deo-posts-featured-slider.default", deoPostsCarousel)
324    elementorFrontend.hooks.addAction("frontend/element_ready/deo-tabs-post.default", deoTabsPost)
325  })
326})(jQuery)

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.