Files
wp-multisite-waas/assets/js/addons.min.js
2024-11-30 18:24:12 -07:00

1 line
1.1 KiB
JavaScript

!function(e){const a=new Vue({el:"#search-addons",data:{search:wu_addons.search}}),t=new Vue({el:"#wu-addon",data:()=>({loading:!0,category:wu_addons.category,addons:[]}),mounted(){this.fetch_addons_list()},computed:{search:()=>a.search,i18n:()=>window.wu_addons.i18n,categories(){let e=[];return _.each(this.addons,(function(a){e=e.concat(a.categories)})),_.unique(e)},addons_list(){const e=this;return _.filter(e.addons,(function(a,t){if(a.slug=t,"all"!==e.category&&!_.contains(a.categories.map((e=>e.toLowerCase())),e.category.toLowerCase()))return!1;if(!e.search)return!0;return[a.slug,a.name,a.categories,a.description].join("").toLowerCase().indexOf(e.search.toLowerCase())>-1}))}},methods:{fetch_addons_list(){const a=this;e.ajax({method:"GET",url:ajaxurl,data:{action:"serve_addons_list"},success(e){a.addons=e.data,a.loading=!1}})}}});new Vue({el:".wp-heading-inline",data:{},computed:{count:()=>t.addons_list.length}}),new Vue({el:"#addons-menu",data:{},methods:{set_category(e){this.main_app.category=e;const a=new URL(window.location.href);a.searchParams.set("tab",e),history.pushState({},null,a)}},computed:{main_app:()=>t,category:()=>t.category}})}(jQuery);