feat(desk): Make desk early on in pageview, use Container
This commit is contained in:
parent
d315c8d038
commit
59ea5c7296
1 changed files with 62 additions and 17 deletions
|
|
@ -41,6 +41,23 @@ frappe.views.pageview = {
|
|||
show: function(name) {
|
||||
if(!name) {
|
||||
name = (frappe.boot ? frappe.boot.home_page : window.page_name);
|
||||
|
||||
if(name === "desktop") {
|
||||
let page = frappe.container.add_page('desktop');
|
||||
console.log('frappe.container.page',JSON.parse(JSON.stringify(page)), JSON.parse(JSON.stringify(frappe.container.page)));
|
||||
|
||||
let container = $('<div class="modules-container"></div>').appendTo(page);
|
||||
|
||||
frappe.container.change_to('desktop');
|
||||
frappe.require('/assets/js/frappe-vue.min.js', () => {
|
||||
Vue.prototype.__ = window.__;
|
||||
new Vue({
|
||||
el: container[0],
|
||||
render: h => h(Modules)
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
frappe.model.with_doctype("Page", function() {
|
||||
frappe.views.pageview.with_page(name, function(r) {
|
||||
|
|
@ -83,23 +100,13 @@ frappe.views.Page = Class.extend({
|
|||
frappe.dom.set_style(this.pagedoc.style || '');
|
||||
}
|
||||
|
||||
if(this.name === "desktop") {
|
||||
frappe.require('/assets/js/frappe-vue.min.js', () => {
|
||||
Vue.prototype.__ = window.__;
|
||||
new Vue({
|
||||
el: this.wrapper,
|
||||
render: h => h(Modules)
|
||||
});
|
||||
});
|
||||
} else {
|
||||
this.trigger_page_event('on_page_load');
|
||||
// set events
|
||||
$(this.wrapper).on('show', function() {
|
||||
window.cur_frm = null;
|
||||
me.trigger_page_event('on_page_show');
|
||||
me.trigger_page_event('refresh');
|
||||
});
|
||||
}
|
||||
this.trigger_page_event('on_page_load');
|
||||
// set events
|
||||
$(this.wrapper).on('show', function() {
|
||||
window.cur_frm = null;
|
||||
me.trigger_page_event('on_page_show');
|
||||
me.trigger_page_event('refresh');
|
||||
});
|
||||
},
|
||||
trigger_page_event: function(eventname) {
|
||||
var me = this;
|
||||
|
|
@ -155,3 +162,41 @@ frappe.show_message_page = function(opts) {
|
|||
|
||||
frappe.container.change_to(opts.page_name);
|
||||
};
|
||||
|
||||
frappe.views.ModulesFactory = class ModulesFactory extends frappe.views.Factory {
|
||||
show() {
|
||||
if (frappe.pages.modules) {
|
||||
frappe.container.change_to('modules');
|
||||
} else {
|
||||
this.make('modules');
|
||||
}
|
||||
}
|
||||
|
||||
make(page_name) {
|
||||
///
|
||||
}
|
||||
};
|
||||
|
||||
// frappe.provide('frappe.modules');
|
||||
|
||||
// frappe.modules.Home = class {
|
||||
// constructor({ parent }) {
|
||||
// this.$parent = $(parent);
|
||||
// this.page = parent.page;
|
||||
// this.setup_header();
|
||||
// this.make_body();
|
||||
// }
|
||||
// make_body() {
|
||||
// this.$modules_container = this.$parent.find('.layout-main');
|
||||
// frappe.require('/assets/js/frappe-vue.min.js', () => {
|
||||
// Vue.prototype.__ = window.__;
|
||||
// new Vue({
|
||||
// el: this.$modules_container[0],
|
||||
// render: h => h(Modules)
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
// setup_header() {
|
||||
// this.page.set_title(__('Modules'));
|
||||
// }
|
||||
// };
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue