From 23272d18ef2eccd1a451bbd2aefb1f067b30962b Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Fri, 13 Nov 2020 10:05:48 -0500 Subject: basic sorting functional; swapped indexes for ids in edit list --- iridescence/src/components/ProductSearch.vue | 34 ++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'iridescence/src/components/ProductSearch.vue') diff --git a/iridescence/src/components/ProductSearch.vue b/iridescence/src/components/ProductSearch.vue index 60da209..430721c 100644 --- a/iridescence/src/components/ProductSearch.vue +++ b/iridescence/src/components/ProductSearch.vue @@ -13,19 +13,16 @@
- +
-

We couldn't find anything like that...

+

Couldn't find what you're looking for? We do custom orders too!

@@ -35,10 +32,26 @@ export default { name: "ProductSearch", data() { return { - term: "" + term: "", + sortOptions: { + "Featured Items First": (_, b) => b.featured, + "Name (A-Z)": (a, b) => a.name > b.name, + "Name (Z-A)": (a, b) => a.name < b.name, + "Date Added (New to Old)": () => 0, + "Date Added (Old to New)": () => 0, + "Price (Low to High)": (a, b) => a.cents > b.cents, + "Price (High to Low)": (a, b) => a.cents < b.cents + }, + sortOptionName: String }; }, + created: function() { + this.sortOptionName = this.sortOptionNames[0]; + }, computed: { + sortOptionNames() { + return Object.keys(this.sortOptions); + }, noResults() { return !this.$store.getters.products.length && !this.$store.getters.busy; } @@ -46,6 +59,9 @@ export default { methods: { updateSearch() { this.$store.commit("searchTerm", this.term); + }, + updateSort() { + this.$store.commit("compare", this.sortOptions[this.sortOptionName]); } } }; -- cgit v1.2.3