39 lines
		
	
	
		
			874 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			874 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| frappe.provide('erpnext.hub');
 | |
| 
 | |
| frappe.views.MarketplaceFactory = class MarketplaceFactory extends frappe.views.Factory {
 | |
| 	show() {
 | |
| 		is_marketplace_disabled()
 | |
| 			.then(disabled => {
 | |
| 				if (disabled) {
 | |
| 					frappe.show_not_found('Marketplace');
 | |
| 					return;
 | |
| 				}
 | |
| 
 | |
| 				if (frappe.pages.marketplace) {
 | |
| 					frappe.container.change_to('marketplace');
 | |
| 					erpnext.hub.marketplace.refresh();
 | |
| 				} else {
 | |
| 					this.make('marketplace');
 | |
| 				}
 | |
| 			});
 | |
| 	}
 | |
| 
 | |
| 	make(page_name) {
 | |
| 		const assets = [
 | |
| 			'/assets/js/marketplace.min.js'
 | |
| 		];
 | |
| 
 | |
| 		frappe.require(assets, () => {
 | |
| 			erpnext.hub.marketplace = new erpnext.hub.Marketplace({
 | |
| 				parent: this.make_page(true, page_name)
 | |
| 			});
 | |
| 		});
 | |
| 	}
 | |
| };
 | |
| 
 | |
| function is_marketplace_disabled() {
 | |
| 	return frappe.call({
 | |
| 		method: "erpnext.hub_node.doctype.marketplace_settings.marketplace_settings.is_marketplace_enabled"
 | |
| 	}).then(r => r.message)
 | |
| }
 |