summaryrefslogtreecommitdiff
path: root/iridescence/src/components/admin
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-09-12 17:26:25 -0400
committerAdam T. Carpenter <atc@53hor.net>2020-09-12 17:26:25 -0400
commit78daddbbbee1b67bbf3960e3d4d08d0757547207 (patch)
tree21a91819e4f88fdbb559748dfa06d5e491ea3554 /iridescence/src/components/admin
parent4dffff999d4025ddb593f5f44bf4ecccf577a0e5 (diff)
downloadtheglassyladies-78daddbbbee1b67bbf3960e3d4d08d0757547207.tar.xz
theglassyladies-78daddbbbee1b67bbf3960e3d4d08d0757547207.zip
Working product name updating; working mock Dichroism API.
Diffstat (limited to 'iridescence/src/components/admin')
-rw-r--r--iridescence/src/components/admin/ProductEditCard.vue59
-rw-r--r--iridescence/src/components/admin/ProductEditList.vue2
2 files changed, 41 insertions, 20 deletions
diff --git a/iridescence/src/components/admin/ProductEditCard.vue b/iridescence/src/components/admin/ProductEditCard.vue
index db4ab77..e7fef5e 100644
--- a/iridescence/src/components/admin/ProductEditCard.vue
+++ b/iridescence/src/components/admin/ProductEditCard.vue
@@ -1,14 +1,21 @@
<template>
<div id="productEditCard">
<nav class="panel">
- <p class="panel-heading">{{ oldProduct.id }}: {{ oldProduct.name }}</p>
+ <p class="panel-heading">
+ {{ currentProduct.id }}: {{ currentProduct.name }}
+ </p>
<div class="panel-block">
- <input class="input" type="text" v-model="newProduct.name" />
+ <input
+ class="input"
+ type="text"
+ placeholder="product name"
+ v-model="newProduct.name"
+ />
</div>
<a class="panel-block">
mojs
</a>
- <div class="panel-block" v-if="productChanged">
+ <div class="panel-block" v-if="newProductChanged">
<button
class="button is-link is-outlined is-fullwidth"
@click="saveProduct"
@@ -26,32 +33,46 @@ export default {
data: function() {
return {
newProduct: {
- id: this.oldProduct.id,
- name: this.oldProduct.name,
- quantity: this.oldProduct.quantity,
- cents: this.oldProduct.cents,
- imgPath: this.oldProduct.imgPath,
- description: this.oldProduct.description,
- categories: this.oldProduct.categories
+ id: this.currentProduct.id,
+ name: this.currentProduct.name,
+ quantity: this.currentProduct.quantity,
+ cents: this.currentProduct.cents,
+ imgPath: this.currentProduct.imgPath,
+ description: this.currentProduct.description,
+ featured: this.currentProduct.featured,
+ categories: this.currentProduct.categories.slice(0)
}
};
},
props: {
- oldProduct: {
+ currentProduct: {
type: Object,
required: true
}
},
+ watch: {
+ currentProduct() {
+ this.newProduct.id = this.currentProduct.id;
+ this.newProduct.name = this.currentProduct.name;
+ this.newProduct.quantity = this.currentProduct.quantity;
+ this.newProduct.cents = this.currentProduct.cents;
+ this.newProduct.imgPath = this.currentProduct.imgPath;
+ this.newProduct.description = this.currentProduct.description;
+ this.newProduct.featured = this.currentProduct.featured;
+ this.newProduct.categories = this.currentProduct.categories.slice(0);
+ }
+ },
computed: {
- productChanged() {
+ newProductChanged() {
+ // TODO: check categories!
return (
- this.newProduct.id != this.oldProduct.id ||
- this.newProduct.name != this.oldProduct.name ||
- this.newProduct.quantity != this.oldProduct.quantity ||
- this.newProduct.cents != this.oldProduct.cents ||
- this.newProduct.imgPath != this.oldProduct.imgPath ||
- this.newProduct.description != this.oldProduct.description ||
- this.newProduct.categories != this.oldProduct.categories
+ this.newProduct.id != this.currentProduct.id ||
+ this.newProduct.name != this.currentProduct.name ||
+ this.newProduct.quantity != this.currentProduct.quantity ||
+ this.newProduct.cents != this.currentProduct.cents ||
+ this.newProduct.imgPath != this.currentProduct.imgPath ||
+ this.newProduct.description != this.currentProduct.description ||
+ this.newProduct.featured != this.currentProduct.featured
);
}
},
diff --git a/iridescence/src/components/admin/ProductEditList.vue b/iridescence/src/components/admin/ProductEditList.vue
index 46016c2..128e7bb 100644
--- a/iridescence/src/components/admin/ProductEditList.vue
+++ b/iridescence/src/components/admin/ProductEditList.vue
@@ -6,7 +6,7 @@
v-for="product in products"
:key="product.id"
>
- <ProductEditCard v-bind:old-product="product"></ProductEditCard>
+ <ProductEditCard v-bind:current-product="product"></ProductEditCard>
</div>
</div>
</div>