diff --git a/css/legacy/body.css b/css/legacy/body.css index a775b641a0..46ea220f1b 100644 --- a/css/legacy/body.css +++ b/css/legacy/body.css @@ -119,7 +119,6 @@ div#body_div { .content { width: 900px; - margin-bottom: 30px; } .background-fade-in { @@ -130,9 +129,8 @@ div#body_div { } footer { - position: absolute; - bottom: 0px; - width: 100%; + width: 900px; + margin: auto; } header .container { width: 900px; @@ -156,7 +154,6 @@ div.no_script { } div.loading_div { - position: absolute; background-color: #FFFFCC; z-index: 1999; right: 5px; diff --git a/js/core.min.js b/js/core.min.js index 669d35a9c4..7e66dd0bdf 100644 --- a/js/core.min.js +++ b/js/core.min.js @@ -208,7 +208,14 @@ $(page).bind('hide',onhide);page.label=label;wn.pages[label]=page;return page;}, var me=this;if(label.tagName){var page=label;}else{var page=wn.pages[label];} if(!page){console.log('Page not found '+label);return;} if(this.page){$(this.page).toggle(false);$(this.page).trigger('hide');} -this.page=page;$(this.page).fadeIn();$(this.page).trigger('show');this.page._route=window.location.hash;document.title=this.page.label;return this.page;}}) +this.page=page;$(this.page).fadeIn();$(this.page).trigger('show');this.page._route=window.location.hash;document.title=this.page.label;scroll(0,0);return this.page;}});wn.views.add_module_btn=function(parent,module){$(parent).append(repl('\ + %(module)s Home\ + ',{module:module,module_small:module.toLowerCase()}));} +wn.views.add_list_btn=function(parent,doctype){$(parent).append(repl('\ + %(doctype)s List\ + ',{doctype:doctype}));} /* * lib/js/wn/views/doclistview.js */ @@ -217,6 +224,7 @@ document.title=page.doclistview.label;wn.container.change_to(pagename);})} wn.views.DocListView=wn.ui.Listing.extend({init:function(doctype,page){this.doctype=doctype;this.$page=$(page);this.label=get_doctype_label(doctype);this.label=(this.label.toLowerCase().substr(-4)=='list')?this.label:(this.label+' List');this.make_page();this.setup();},make_page:function(){var me=this;this.$page.html(repl('
No %(doctype_label)s found
\ %(description)s\ diff --git a/js/legacy/webpage/page_header.js b/js/legacy/webpage/page_header.js index ccbbb4573e..a3c518dd52 100644 --- a/js/legacy/webpage/page_header.js +++ b/js/legacy/webpage/page_header.js @@ -45,22 +45,17 @@ var def_ph_style = { function PageHeader(parent, main_text, sub_text) { this.wrapper = $a(parent,'div','page_header'); - this.t1 = make_table($a(this.wrapper,'div','',def_ph_style.wrapper.backgroundColor), 1, 2, '100%', [null, '100px'], {padding: '2px'}); - $y(this.t1, {borderCollapse:'collapse'}) - this.lhs = $td(this.t1, 0, 0); + this.close_btn = $a(this.wrapper, 'a', 'close', {}, '×'); + this.close_btn.onclick = function() { window.history.back(); }; - this.main_head = $a(this.lhs, 'h1', '', def_ph_style.main_heading); - this.sub_head = $a(this.lhs, 'h4', '', def_ph_style.sub_heading); + this.breadcrumbs = $a(this.wrapper, 'div'); + this.main_head = $a(this.wrapper, 'h1', '', def_ph_style.main_heading); + this.sub_head = $a(this.wrapper, 'h4', '', def_ph_style.sub_heading); this.separator = $a(this.wrapper, 'div', '', def_ph_style.separator); this.toolbar_area = $a(this.wrapper, 'div', '', def_ph_style.toolbar_area); this.padding_area = $a(this.wrapper, 'div', '', {padding:'3px'}); - // close btn - $y($td(this.t1, 0, 1),{textAlign:'right', padding:'3px'}); - this.close_btn = $a($td(this.t1, 0, 1), 'span', 'close', {}, '×'); - this.close_btn.onclick = function() { window.history.back(); }; - if(main_text) this.main_head.innerHTML = main_text; if(sub_text) this.sub_head.innerHTML = sub_text; diff --git a/js/legacy/widgets/form/form.js b/js/legacy/widgets/form/form.js index 2163fbdf58..635dad5c39 100644 --- a/js/legacy/widgets/form/form.js +++ b/js/legacy/widgets/form/form.js @@ -158,6 +158,7 @@ _f.Frm.prototype.setup_std_layout = function() { $(this.page_layout.main).removeClass('layout-main-section'); $(this.page_layout.sidebar_area).toggle(false); } else { + // module link this.setup_sidebar(); } diff --git a/js/legacy/widgets/form/form_header.js b/js/legacy/widgets/form/form_header.js index f51d87df2f..134be5ec92 100644 --- a/js/legacy/widgets/form/form_header.js +++ b/js/legacy/widgets/form/form_header.js @@ -26,14 +26,15 @@ _f.FrmHeader = function(parent, frm) { if(frm.meta.in_dialog) $y(this.wrapper, {marginLeft:'8px', marginRight:'8px'}); this.page_head = new PageHeader(this.wrapper); - + wn.views.breadcrumbs(this.page_head.breadcrumbs, frm.meta.module, frm.meta.name); + // doctype this.dt_area = $a(this.page_head.main_head, 'h1', '', {marginRight:'8px', display:'inline'}) // name var div = $a(null, 'div', '', {marginBottom:'4px'}); - this.page_head.lhs.insertBefore(div, this.page_head.sub_head); + this.page_head.wrapper.insertBefore(div, this.page_head.sub_head); this.dn_area = $a(div, 'span', '', {fontSize:'14px', fontWeight:'normal', marginRight:'8px', padding: '2px'}) // status diff --git a/js/wn/views/breadcrumbs.js b/js/wn/views/breadcrumbs.js new file mode 100644 index 0000000000..e0d5909a96 --- /dev/null +++ b/js/wn/views/breadcrumbs.js @@ -0,0 +1,17 @@ +wn.provide('wn.views'); +wn.views.breadcrumbs = function(parent, module, doctype, name) { + var $bspan = $(repl('', {home_page: wn.boot.home_page})); + if(module) { + $bspan.append(repl(' / %(module)s Home', + {module: module, module_small: module.toLowerCase() })) + } + if(doctype && (locals.DocType[doctype] && !locals.DocType[doctype].issingle)) { + $bspan.append(repl(' / %(doctype)s List', + {doctype: doctype})) + } + if(name) { + $bspan.append(' / ' + name) + } + $bspan.appendTo(parent); +} \ No newline at end of file diff --git a/js/wn/views/container.js b/js/wn/views/container.js index cbbdaaa2e7..aa5b7c199e 100644 --- a/js/wn/views/container.js +++ b/js/wn/views/container.js @@ -51,7 +51,24 @@ wn.views.Container = Class.extend({ $(this.page).trigger('show'); this.page._route = window.location.hash; document.title = this.page.label; + scroll(0,0); return this.page; } -}) +}); + +wn.views.add_module_btn = function(parent, module) { + $(parent).append( + repl('\ + %(module)s Home\ + ', {module: module, module_small: module.toLowerCase()})); +} + +wn.views.add_list_btn = function(parent, doctype) { + $(parent).append( + repl('\ + %(doctype)s List\ + ', {doctype: doctype})); +} diff --git a/js/wn/views/doclistview.js b/js/wn/views/doclistview.js index 88f835f51e..3b54a4c0ba 100644 --- a/js/wn/views/doclistview.js +++ b/js/wn/views/doclistview.js @@ -56,6 +56,7 @@ wn.views.DocListView = wn.ui.Listing.extend({ this.$page.html(repl('