Commit 737bea21 authored by esatakpunar's avatar esatakpunar

pagination with search is fixed

parent da8f8247
...@@ -6,7 +6,6 @@ export default { ...@@ -6,7 +6,6 @@ export default {
data() { data() {
return { return {
selected: [], selected: [],
column: "all",
}; };
}, },
computed: { computed: {
...@@ -24,12 +23,12 @@ export default { ...@@ -24,12 +23,12 @@ export default {
"getOptions", "getOptions",
"totalProducts", "totalProducts",
"getSearch", "getSearch",
"filterColumn", "getColumn",
]), ]),
indexofColumn() { indexofColumn() {
return this.dialogHeaders.findIndex( return this.dialogHeaders.findIndex(
(header) => this.column == header.value (header) => this.getColumn == header.value
); );
}, },
...@@ -68,6 +67,15 @@ export default { ...@@ -68,6 +67,15 @@ export default {
this.setSearch(data); this.setSearch(data);
}, },
}, },
column: {
get() {
return this.getColumn;
},
set(data) {
this.setColumn(data);
},
},
}, },
methods: { methods: {
...mapActions("products", [ ...mapActions("products", [
...@@ -81,10 +89,14 @@ export default { ...@@ -81,10 +89,14 @@ export default {
"setSingleExpand", "setSingleExpand",
"setOptions", "setOptions",
"setSearch", "setSearch",
"setColumn",
]), ]),
}, },
created() { created() {
this.fetchProductData({ searchInput: "", filterColumn: "id" }); this.fetchProductData({
searchInput: this.getSearch,
filterColumn: this.getColumn,
});
}, },
}; };
</script> </script>
...@@ -136,7 +148,10 @@ export default { ...@@ -136,7 +148,10 @@ export default {
color="blue" color="blue"
class="white--text" class="white--text"
@click=" @click="
fetchProductData({ searchInput: search, filterColumn: column }) fetchProductData({
searchInput: getSearch,
filterColumn: getColumn,
})
" "
> >
<v-icon>refresh</v-icon> <v-icon>refresh</v-icon>
...@@ -184,8 +199,8 @@ export default { ...@@ -184,8 +199,8 @@ export default {
color="blue darken-1" color="blue darken-1"
@click=" @click="
saveProduct({ saveProduct({
searchInput: search, searchInput: getSearch,
filterColumn: column, filterColumn: getColumn,
}) })
" "
> >
...@@ -225,7 +240,10 @@ export default { ...@@ -225,7 +240,10 @@ export default {
></v-text-field> ></v-text-field>
<v-btn <v-btn
@click=" @click="
fetchProductData({ searchInput: search, filterColumn: column }) fetchProductData({
searchInput: getSearch,
filterColumn: getColumn,
})
" "
class="ml-4" class="ml-4"
large large
......
import axios from "axios"; import axios from "axios";
export default { export default {
fetchProductData({ commit, getters }, data = {}) { fetchProductData({ commit, getters }) {
let query; let query;
if (data.filterColumn == "all") { if (getters.getColumn == "all") {
query = "q=" + getters.getSearch; query = "q=" + getters.getSearch;
} else if (data.filterColumn) { } else if (getters.getColumn) {
query = data.filterColumn + "_like=" + getters.getSearch; query = getters.getColumn + "_like=" + getters.getSearch;
} }
let pageLimit = `&_page=${getters.getOptions.page}&_limit=${getters.getOptions.itemsPerPage}`; let pageLimit = `&_page=${getters.getOptions.page}&_limit=${getters.getOptions.itemsPerPage}`;
if (getters.getSearch) {
pageLimit = "";
}
let sort = getters.getOptions.sortDesc[0] ? "desc" : "asc"; let sort = getters.getOptions.sortDesc[0] ? "desc" : "asc";
let sortBy = `&_sort=${getters.getOptions.sortBy}&_order=${sort}`; let sortBy = `&_sort=${getters.getOptions.sortBy}&_order=${sort}`;
...@@ -24,9 +20,6 @@ export default { ...@@ -24,9 +20,6 @@ export default {
axios axios
.get(`http://localhost:3000/products?${query}${pageLimit}${sortBy}`) .get(`http://localhost:3000/products?${query}${pageLimit}${sortBy}`)
.then((response) => { .then((response) => {
// console.log("totalProducts", getters.totalProducts);
// console.log("productList", getters.productList);
// console.log("itemsPerPage", getters.getOptions.itemsPerPage);
commit("setTotalProducts", response.headers["x-total-count"]); commit("setTotalProducts", response.headers["x-total-count"]);
commit("setProductList", response.data); commit("setProductList", response.data);
commit("setLoading", false); commit("setLoading", false);
...@@ -52,6 +45,9 @@ export default { ...@@ -52,6 +45,9 @@ export default {
setSearch({ commit }, data) { setSearch({ commit }, data) {
commit("setSearch", data); commit("setSearch", data);
}, },
setColumn({ commit }, data) {
commit("setColumn", data);
},
closeDialog({ commit }) { closeDialog({ commit }) {
commit("setDialog", false); commit("setDialog", false);
......
...@@ -68,7 +68,7 @@ export default { ...@@ -68,7 +68,7 @@ export default {
getSearch(state) { getSearch(state) {
return state.search; return state.search;
}, },
filterColumn(state) { getColumn(state) {
return state.filterColumn; return state.column;
}, },
}; };
...@@ -33,4 +33,7 @@ export default { ...@@ -33,4 +33,7 @@ export default {
setSearch(state, data) { setSearch(state, data) {
state.search = data; state.search = data;
}, },
setColumn(state, data) {
state.column = data;
},
}; };
...@@ -10,4 +10,5 @@ export default () => ({ ...@@ -10,4 +10,5 @@ export default () => ({
options: { sortDesc: [false] }, options: { sortDesc: [false] },
totalProducts: 0, totalProducts: 0,
search: "", search: "",
column: "all",
}); });
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment