var category_list = []; var project_list = []; var type_list = []; $.ajax({ url: "./script/php/get_category_list.php", type: "GET", async: false, contentType: "application/json", dataType: "json" }).done(function(data) { category_list = data; }).error(function(error) { console.log(error); }); $.ajax({ url: "./script/php/get_project_list.php", data: { category_id: get_object_value_to_list(category_list, 'category_id'), }, type: "GET", async: false, contentType: "application/json", dataType: "json" }).done(function(data) { project_list = data; }).error(function(error) { console.log(error); }); $.ajax({ url: "./script/php/get_type_list.php", type: "GET", async: false, contentType: "application/json", dataType: "json" }).done(function(data) { type_list = data; }).error(function(error) { console.log(error); }); const vm = Vue.createApp({}); vm.component('search-block', { data() { return { category_list: category_list, project_list: project_list, type_list: type_list } }, template: `
` }); vm.component('filter-button', { template: `
  • {{object}}
  • `, props: { object: String, }, computed: { addDot() { return "." + this.object; } }, }); vm.component('filter-project-button', { template: `
  • {{object}}
  • `, props: ["category_id", "object"], methods: { addClass(class_name) { return class_name + " " + this.category_id; } }, computed: { addDot() { return "." + this.object; } }, }); // var $isotope_project = $('.filter_for_search').isotope({ // itemSelector: '.project' // }); // var filters = {}; // $('.filter_for_project').on( 'click', '.button', function() { // var $this = $(this); // // get group key // var $buttonGroup = $this.parents('.button-group'); // var filterGroup = $buttonGroup.attr('data-filter-group'); // // set filter for group // filters[ filterGroup ] = $this.attr('data-filter'); // // combine filters // var filterValue = concatValues( filters ); // // set filter for Isotope // $isotope_project.isotope({ filter: filterValue }); // }); // function concatValues( obj ) { // var value = ''; // for ( var prop in obj ) { // value += obj[ prop ]; // } // return value; // } function get_object_value_to_list(obj, key) { value_list = []; for(i=0; i