[hub] record views, update favourite api
This commit is contained in:
parent
9a50044003
commit
1e02f00075
@ -28,7 +28,7 @@
|
|||||||
<div class="row margin-bottom">
|
<div class="row margin-bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="hub-item-image">
|
<div class="hub-item-image">
|
||||||
<img :src="image">
|
<img v-img-src="image">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
|||||||
@ -54,6 +54,11 @@ export default {
|
|||||||
sections: [],
|
sections: [],
|
||||||
|
|
||||||
menu_items: [
|
menu_items: [
|
||||||
|
{
|
||||||
|
label: __('Save Item'),
|
||||||
|
condition: !this.is_own_item,
|
||||||
|
action: this.add_to_saved_items
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: __('Report this Product'),
|
label: __('Report this Product'),
|
||||||
condition: !this.is_own_item,
|
condition: !this.is_own_item,
|
||||||
@ -127,11 +132,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.get_profile();
|
this.get_item_details();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// To record a single view per session, (later)
|
||||||
|
// erpnext.hub.item_view_cache = erpnext.hub.item_view_cache || [];
|
||||||
|
// if (erpnext.hub.item_view_cache.includes(this.hub_item_name)) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
this.item_received.then(() => {
|
||||||
|
setTimeout(() => {
|
||||||
|
hub.call('add_item_view', {
|
||||||
|
hub_item_name: this.hub_item_name
|
||||||
|
})
|
||||||
|
// .then(() => {
|
||||||
|
// erpnext.hub.item_view_cache.push(this.hub_item_name);
|
||||||
|
// });
|
||||||
|
}, 5000);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
get_profile() {
|
get_item_details() {
|
||||||
hub.call('get_item_details', { hub_item_name: this.hub_item_name })
|
this.item_received = hub.call('get_item_details', { hub_item_name: this.hub_item_name })
|
||||||
.then(item => {
|
.then(item => {
|
||||||
this.init = false;
|
this.init = false;
|
||||||
this.item = item;
|
this.item = item;
|
||||||
@ -163,6 +186,21 @@ export default {
|
|||||||
//
|
//
|
||||||
},
|
},
|
||||||
|
|
||||||
|
add_to_saved_items() {
|
||||||
|
hub.call('add_item_to_seller_saved_items', {
|
||||||
|
hub_item_name: this.hub_item_name,
|
||||||
|
hub_seller: hub.settings.company_email
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
const saved_items_link = `<b><a href="#marketplace/saved-products">${__('Saved')}</a></b>`
|
||||||
|
frappe.show_alert(saved_items_link);
|
||||||
|
erpnext.hub.trigger('action:item_save');
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
console.error(e);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
contact_seller() {
|
contact_seller() {
|
||||||
const d = new frappe.ui.Dialog({
|
const d = new frappe.ui.Dialog({
|
||||||
title: __('Send a message'),
|
title: __('Send a message'),
|
||||||
|
|||||||
@ -38,11 +38,8 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
get_items() {
|
get_items() {
|
||||||
hub.call(
|
hub.call(
|
||||||
'get_favourite_items_of_seller',
|
'get_saved_items_of_seller', {},
|
||||||
{
|
'action:item_save'
|
||||||
hub_seller: hub.settings.company_email
|
|
||||||
},
|
|
||||||
'action:item_favourite'
|
|
||||||
)
|
)
|
||||||
.then((items) => {
|
.then((items) => {
|
||||||
this.items = items;
|
this.items = items;
|
||||||
@ -65,7 +62,9 @@ export default {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
alert = frappe.show_alert(__(`<span>${hub_item_name} removed.
|
const item_name = this.items.filter(item => item.hub_item_name === hub_item_name);
|
||||||
|
|
||||||
|
alert = frappe.show_alert(__(`<span>${item_name} removed.
|
||||||
<a href="#" data-action="undo-remove"><b>Undo</b></a></span>`),
|
<a href="#" data-action="undo-remove"><b>Undo</b></a></span>`),
|
||||||
grace_period/1000,
|
grace_period/1000,
|
||||||
{
|
{
|
||||||
@ -83,8 +82,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
remove_item_from_saved_products(hub_item_name) {
|
remove_item_from_saved_products(hub_item_name) {
|
||||||
erpnext.hub.trigger('action:item_favourite');
|
erpnext.hub.trigger('action:item_save');
|
||||||
hub.call('remove_item_from_seller_favourites', {
|
hub.call('remove_item_from_seller_saved_items', {
|
||||||
hub_item_name,
|
hub_item_name,
|
||||||
hub_seller: hub.settings.company_email
|
hub_seller: hub.settings.company_email
|
||||||
})
|
})
|
||||||
|
|||||||
@ -78,7 +78,7 @@ erpnext.hub.Item = class Item extends SubPage {
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
$(favourite_button).html('Saved');
|
$(favourite_button).html('Saved');
|
||||||
frappe.show_alert(__('Saved to <b><a href="#marketplace/favourites">Favourites</a></b>'));
|
frappe.show_alert(__('Saved to <b><a href="#marketplace/favourites">Favourites</a></b>'));
|
||||||
erpnext.hub.trigger('action:item_favourite');
|
erpnext.hub.trigger('action:item_save');
|
||||||
})
|
})
|
||||||
.catch(e => {
|
.catch(e => {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user