From ecad873d19ccc3b5b444ddd7689de48a6b21f3ec Mon Sep 17 00:00:00 2001 From: Prateeksha Singh Date: Thu, 30 Aug 2018 16:21:26 +0530 Subject: [PATCH] [hub] remove item.js, fix seller decription condition --- erpnext/public/js/hub/pages/Item.vue | 10 +- erpnext/public/js/hub/pages/item.js | 192 --------------------------- 2 files changed, 4 insertions(+), 198 deletions(-) delete mode 100644 erpnext/public/js/hub/pages/item.js diff --git a/erpnext/public/js/hub/pages/Item.vue b/erpnext/public/js/hub/pages/Item.vue index 4e918325a8..3305b1da4c 100644 --- a/erpnext/public/js/hub/pages/Item.vue +++ b/erpnext/public/js/hub/pages/Item.vue @@ -28,7 +28,7 @@ - + @@ -52,7 +52,6 @@ export default { title: null, image: null, sections: [], - reviews: [], menu_items: [ { @@ -167,11 +166,8 @@ export default { build_data() { this.title = this.item.item_name || this.item.name; - this.image = this.item.image; - this.reviews = this.item.reviews || []; - this.sections = [ { title: __('Item Description'), @@ -181,7 +177,9 @@ export default { }, { title: __('Seller Information'), - content: '' + content: this.item.seller_description + ? __(this.item.seller_description) + : __('No description') } ]; }, diff --git a/erpnext/public/js/hub/pages/item.js b/erpnext/public/js/hub/pages/item.js deleted file mode 100644 index 50b04b8fe3..0000000000 --- a/erpnext/public/js/hub/pages/item.js +++ /dev/null @@ -1,192 +0,0 @@ -import SubPage from './subpage'; -import { get_detail_view_html } from '../components/detail_view'; -// import { get_detail_skeleton_html } from '../components/skeleton_state'; -import { get_review_html } from '../components/reviews'; - -erpnext.hub.Item = class Item extends SubPage { - refresh() { - this.show_skeleton(); - this.hub_item_name = frappe.get_route()[2]; - - this.own_item = false; - - this.get_item(this.hub_item_name) - .then(item => { - this.own_item = item.hub_seller === hub.settings.company_email; - this.item = item; - this.render(item); - }); - } - - - show_skeleton() { - // this.$wrapper.html(get_detail_skeleton_html()); - } - - - get_item(hub_item_name) { - return hub.call('get_item_details', { - hub_item_name - }); - } - - - render(item) { - const html = get_detail_view_html(item, this.own_item); - this.$wrapper.html(html); - - this.make_review_area(); - - this.get_reviews() - .then(reviews => { - this.reviews = reviews; - this.render_reviews(); - }); - } - - - edit_details() { - if (!this.edit_dialog) { - this.edit_dialog = new frappe.ui.Dialog({ - title: "Edit Your Item", - fields: [] - }); - } - this.edit_dialog.show(); - } - - - unpublish_item() { - if (!this.unpublish_dialog) { - this.unpublish_dialog = new frappe.ui.Dialog({ - title: "Edit Your Item", - fields: [] - }); - } - - this.unpublish_dialog.show(); - } - - - add_to_favourites(favourite_button) { - $(favourite_button).addClass('disabled'); - - hub.call('add_item_to_seller_favourites', { - hub_item_name: this.hub_item_name, - hub_seller: hub.settings.company_email - }) - .then(() => { - $(favourite_button).html('Saved'); - frappe.show_alert(__('Saved to Favourites')); - erpnext.hub.trigger('action:item_save'); - }) - .catch(e => { - console.error(e); - }); - } - - - contact_seller() { - const d = new frappe.ui.Dialog({ - title: __('Send a message'), - fields: [ - { - fieldname: 'to', - fieldtype: 'Read Only', - label: __('To'), - default: this.item.company - }, - { - fieldtype: 'Text', - fieldname: 'message', - label: __('Message') - } - ], - primary_action: ({ message }) => { - if (!message) return; - - hub.call('send_message', { - from_seller: hub.settings.company_email, - to_seller: this.item.hub_seller, - hub_item: this.item.hub_item_name, - message - }) - .then(() => { - d.hide(); - frappe.set_route('marketplace', 'buy', this.item.hub_item_name); - erpnext.hub.trigger('action:send_message') - }); - } - }); - - d.show(); - } - - - make_review_area() { - if (hub.settings.registered) { - this.comment_area = new frappe.ui.ReviewArea({ - parent: this.$wrapper.find('.timeline-head').empty(), - mentions: [], - on_submit: this.on_submit_review.bind(this) - }); - } else { - //TODO: fix UI - this.comment_area = this.$wrapper - .find('.timeline-head') - .empty() - .append('
'); - } - } - - - on_submit_review(values) { - values.user = frappe.session.user; - values.username = frappe.session.user_fullname; - - hub.call('add_item_review', { - hub_item_name: this.hub_item_name, - review: JSON.stringify(values) - }) - .then(this.push_review_in_review_area.bind(this)); - } - - - push_review_in_review_area(review) { - this.reviews = this.reviews || []; - this.reviews.push(review); - this.render_reviews(); - - this.comment_area.reset(); - } - - - get_reviews() { - return hub.call('get_item_reviews', { hub_item_name: this.hub_item_name }).catch(() => {}); - } - - - render_reviews() { - const $timeline = this.$wrapper.find('.timeline-items'); - - $timeline.empty(); - - const reviews = this.reviews || []; - - reviews.sort((a, b) => { - if (a.modified > b.modified) { - return -1; - } - - if (a.modified < b.modified) { - return 1; - } - - return 0; - }); - - reviews.forEach(review => { - $(get_review_html(review)).appendTo($timeline); - }); - } -}