From d4577838549d109de95792cd2c7e683344272f1a Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 22 Mar 2012 11:37:15 +0530 Subject: [PATCH] removed slider ui --- css/legacy/body.css | 26 -------- js/core.min.js | 20 +++--- js/legacy/utils/datetime.js | 2 + js/legacy/widgets/form/grid.js | 5 +- js/wn/dom.js | 9 ++- js/wn/tmp.js | 76 ++++++++++++++++++++++- js/wn/views/container.js | 107 ++------------------------------- js/wn/views/doclistview.js | 22 +++++-- 8 files changed, 121 insertions(+), 146 deletions(-) diff --git a/css/legacy/body.css b/css/legacy/body.css index 4cb206ed0c..a775b641a0 100644 --- a/css/legacy/body.css +++ b/css/legacy/body.css @@ -110,7 +110,6 @@ div.comment { color: #444; } } div#body_div { - position: relative; display: none; padding-right: 7px; width: 900px; @@ -121,12 +120,6 @@ div#body_div { .content { width: 900px; margin-bottom: 30px; - position: absolute; - -webkit-transition:all 0.5s ease-in-out; - -moz-transition:all 0.5s ease-in-out; - -o-transition:all 0.5s ease-in-out; - -ms-transition:all 0.5s ease-in-out; - transition:all 0.5s ease-in-out; } .background-fade-in { @@ -136,25 +129,6 @@ div#body_div { transition: background 1s ease-in; } -/* selector for open pages */ -#opened-page-selector { - width: 900px; - height: 900px; - position: absolute; - z-index: 100; - opacity: 0; - background-color: #bdf; -} - -#opened-page-selector.active { - opacity: 0.6; - cursor: pointer; -} - -.popover-container { - height: 400px; -} - footer { position: absolute; bottom: 0px; diff --git a/js/core.min.js b/js/core.min.js index 17df0d111b..f4e37319f4 100644 --- a/js/core.min.js +++ b/js/core.min.js @@ -45,6 +45,9 @@ c.className=className;} if(cs)wn.dom.css(c,cs);if(innerHTML)c.innerHTML=innerHTML;if(onclick)c.onclick=onclick;return c;} wn.dom.css=function(ele,s){if(ele&&s){for(var i in s)ele.style[i]=s[i];};return ele;} wn.get_cookie=function(c){var t=""+document.cookie;var ind=t.indexOf(c);if(ind==-1||c=="")return"";var ind1=t.indexOf(';',ind);if(ind1==-1)ind1=t.length;return unescape(t.substring(ind+c.length+1,ind1));} +wn.dom.set_box_shadow=function(ele,spread){$(ele).css('-moz-box-shadow','0px 0px '+spread+'px rgba(0,0,0,0.3);') +$(ele).css('-webkit-box-shadow','0px 0px '+spread+'px rgba(0,0,0,0.3);') +$(ele).css('-box-shadow','0px 0px '+spread+'px rgba(0,0,0,0.3);')} /* * lib/js/wn/model.js */ @@ -199,16 +202,12 @@ return[me.$w.find('.fieldname_select option:selected').attr('table'),me.field.df /* * lib/js/wn/views/container.js */ -wn.provide('wn.pages');wn.provide('wn.views');wn.views.Container=Class.extend({init:function(){this.container=$('#body_div').get(0);this.page=null;this.pagewidth=$('#body_div').width();this.opened=[];this.pagemargin=50;},add_page:function(label,onshow,onhide){var page=$('
').css('left',this.pagewidth+this.pagemargin+'px').appendTo(this.container).get(0);if(onshow) +wn.provide('wn.pages');wn.provide('wn.views');wn.views.Container=Class.extend({init:function(){this.container=$('#body_div').get(0);this.page=null;this.pagewidth=$('#body_div').width();this.pagemargin=50;},add_page:function(label,onshow,onhide){var page=$('
').appendTo(this.container).get(0);if(onshow) $(page).bind('show',onshow);if(onshow) $(page).bind('hide',onhide);page.label=label;wn.pages[label]=page;return page;},change_to:function(label){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.move_left(page);$(this.page).trigger('hide');this.opened.push(this.page);if(!this.opened_selector) -this.select_opened_page();} -this.page=page;$(this.page).css('left','0px').css('top','0px');$(this.page).trigger('show');this.page._route=window.location.hash;document.title=this.page.label;this.stack();return this.page;},move_left:function(page){$(page).css('left',(-1*(this.pagewidth+this.pagemargin))+'px');},stack:function(){var me=this;var l=-1*(this.pagewidth+this.pagemargin);var i=0;this.opened=$.map(this.opened,function(p,i){if(p!=me.page)return p;});var pcontent=[];$.map(this.opened,function(p,i){$(p).css('left',l-(i*2)+'px').css('top',(i*2)+'px').css('z-index',i);});},build_open_links:function(p){var open_links=[];var me=this;$.each(me.opened.concat([me.page]),function(i,p){var route=wn.get_route(p._route);if(route[0]=='Form'){var openlist=keys(wn.views.formview[route[1]].frm.opendocs).sort();$.each(openlist,function(i,v){if(me.page!=p||(me.page==p&&me.page.frm.docname!=v)){open_links.push(repl('

%(dn)s (%(dt)s)

',{dt:route[1],dn:v}));}});}else{if(me.page!=p){open_links.push(repl('

%(label)s

',{route:p._route,label:p.label}));}}});return open_links;},select_opened_page:function(){var me=this;this.opened_selector=$('
\ -
').appendTo(this.container).hover(function(){$(this).toggleClass('active')}).click(function(){$('#opened-page-selector .popover-container').attr('data-content',me.build_open_links().reverse().join(''));$(this).find('.popover-container').popover('show');me.popoveropen=true;return false;}) -this.opened_selector.find('.popover-container').popover({title:"Open Pages",trigger:'manual',delay:0});$(document).click(function(){if(me.popoveropen){$('#opened-page-selector .popover-container').popover('hide');me.popoveropen=false;}}) -this.move_left(this.opened_selector);},show:function(label){return this.change_to(label);}}); +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;}}) /* * lib/js/wn/views/doclistview.js */ @@ -260,7 +259,7 @@ args.label=v[0];args.width=flt(v[1])/max*100;args.count=v[1];args.field=field;$i %(label)s \ (%(count)s)\ ',args));this.setup_stat_item_click($item);return $item;},setup_stat_item_click:function($item){var me=this;$item.find('a').click(function(){var fieldname=$(this).attr('data-field');var label=$(this).attr('data-label');me.set_filter(fieldname,label);return false;});},set_filter:function(fieldname,label){var filter=this.filter_list.get_filter(fieldname);if(filter){var v=filter.field.get_value();if(v.indexOf(label)!=-1){return false;}else{if(fieldname=='_user_tags'){this.filter_list.add_filter(fieldname,'like','%'+label);}else{filter.set_values(fieldname,'in',v+', '+label);}}}else{if(fieldname=='_user_tags'){this.filter_list.add_filter(fieldname,'like','%'+label);}else{this.filter_list.add_filter(fieldname,'=',label);}} -this.run();}});wn.views.ListView=Class.extend({init:function(doclistview){this.doclistview=doclistview;this.doctype=doclistview.doctype;var t="`tab"+this.doctype+"`.";this.fields=[t+'name',t+'owner',t+'docstatus',t+'_user_tags',t+'modified'];this.stats=['_user_tags'];if(!this.doclistview.can_delete){this.columns=$.map(this.columns,function(v,i){if(v.content!='check')return v});}},columns:[{width:'5%',content:'check'},{width:'5%',content:'avatar'},{width:'5%',content:'docstatus',css:{"text-align":"center"}},{width:'30%',content:'name'},{width:'40%',content:'tags',css:{'color':'#aaa'}},{width:'10%',content:'modified',css:{'text-align':'right','color':'#777'}}],render_column:function(data,parent,opts){var me=this;if(opts.css){$.each(opts.css,function(k,v){$(parent).css(k,v)});} +this.run();}});wn.views.ListView=Class.extend({init:function(doclistview){this.doclistview=doclistview;this.doctype=doclistview.doctype;var t="`tab"+this.doctype+"`.";this.fields=[t+'name',t+'owner',t+'docstatus',t+'_user_tags',t+'modified'];this.stats=['_user_tags'];if(!this.doclistview.can_delete){this.columns=$.map(this.columns,function(v,i){if(v.content!='check')return v});}},columns:[{width:'3%',content:'check'},{width:'4%',content:'avatar'},{width:'3%',content:'docstatus',css:{"text-align":"center"}},{width:'35%',content:'name'},{width:'40%',content:'tags',css:{'color':'#aaa'}},{width:'15%',content:'modified',css:{'text-align':'right','color':'#777'}}],render_column:function(data,parent,opts){var me=this;if(opts.css){$.each(opts.css,function(k,v){$(parent).css(k,v)});} if(opts.content.indexOf&&opts.content.indexOf('+')!=-1){$.map(opts.content.split('+'),function(v){me.render_column(data,parent,{content:v});});return;} if(typeof opts.content=='function'){opts.content(parent,data);} else if(opts.content=='name'){$(parent).html(repl('%(name)s',data));} @@ -277,7 +276,10 @@ $(parent).html(repl('\ ',args));} -else if(data[opts.content]){$(parent).append(' '+data[opts.content]);}},render:function(row,data){var me=this;this.prepare_data(data);rowhtml='';$.each(this.columns,function(i,v){rowhtml+=repl('',v);});var tr=$(row).html(''+rowhtml+'
').find('tr').get(0);$.each(this.columns,function(i,v){me.render_column(data,tr.cells[i],v);});},prepare_data:function(data){data.fullname=wn.user_info(data.owner).fullname;data.avatar=wn.user_info(data.owner).image;data.when=dateutil.str_to_user(data.modified).split(' ')[0];if(data.docstatus==0||data.docstatus==null){data.docstatus_icon='icon-pencil';data.docstatus_title='Editable';}else if(data.docstatus==1){data.docstatus_icon='icon-lock';data.docstatus_title='Submitted';}else if(data.docstatus==2){data.docstatus_icon='icon-remove';data.docstatus_title='Cancelled';}},add_user_tags:function(parent,data){var me=this;if(data._user_tags){$.each(data._user_tags.split(','),function(i,t){if(t){$('' +else if(data[opts.content]){$(parent).append(' '+data[opts.content]);}},render:function(row,data){var me=this;this.prepare_data(data);rowhtml='';$.each(this.columns,function(i,v){rowhtml+=repl('',v);});var tr=$(row).html(''+rowhtml+'
').find('tr').get(0);$.each(this.columns,function(i,v){me.render_column(data,tr.cells[i],v);});},prepare_data:function(data){data.fullname=wn.user_info(data.owner).fullname;data.avatar=wn.user_info(data.owner).image;data.when=dateutil.str_to_user(data.modified).split(' ')[0];var diff=dateutil.get_diff(dateutil.get_today(),data.modified.split(' ')[0]);if(diff==0){data.when='Today'} +if(diff==-1){data.when='Yesterday'} +if(diff==-2){data.when='2 days ago'} +if(data.docstatus==0||data.docstatus==null){data.docstatus_icon='icon-pencil';data.docstatus_title='Editable';}else if(data.docstatus==1){data.docstatus_icon='icon-lock';data.docstatus_title='Submitted';}else if(data.docstatus==2){data.docstatus_icon='icon-remove';data.docstatus_title='Cancelled';}},add_user_tags:function(parent,data){var me=this;if(data._user_tags){$.each(data._user_tags.split(','),function(i,t){if(t){$('' +strip(t)+'').click(function(){me.doclistview.set_filter('_user_tags',$(this).text())}).appendTo(parent);}});}}}) /* * lib/js/wn/views/pageview.js diff --git a/js/legacy/utils/datetime.js b/js/legacy/utils/datetime.js index f35ac84686..86c4c06efd 100644 --- a/js/legacy/utils/datetime.js +++ b/js/legacy/utils/datetime.js @@ -65,6 +65,8 @@ wn.datetime = { }, get_diff: function(d1, d2) { + if(typeof d1=='string') d1 = dateutil.str_to_obj(d1); + if(typeof d2=='string') d2 = dateutil.str_to_obj(d2); return ((d1-d2) / 86400000); }, diff --git a/js/legacy/widgets/form/grid.js b/js/legacy/widgets/form/grid.js index 5f75c335bb..9522bfe350 100644 --- a/js/legacy/widgets/form/grid.js +++ b/js/legacy/widgets/form/grid.js @@ -263,6 +263,8 @@ $(document).bind('click', function(e) { } var is_target_input = function() { + if(e.target.tagName.toLowerCase()=='option') return true; + return $(e.target).parents().get().indexOf(_f.cur_grid_cell)!=-1; } @@ -270,8 +272,9 @@ $(document).bind('click', function(e) { if(!(text_dialog && text_dialog.display) && !datepicker_active && !(selector && selector.display)) { _f.cur_grid_cell.grid.cell_deselect(); + return false; } - } + } }); _f.Grid.prototype.cell_deselect = function() { diff --git a/js/wn/dom.js b/js/wn/dom.js index efbcce2e49..33f73d00fb 100644 --- a/js/wn/dom.js +++ b/js/wn/dom.js @@ -81,4 +81,11 @@ wn.get_cookie = function(c) { var ind1=t.indexOf(';',ind); if (ind1==-1) ind1=t.length; return unescape(t.substring(ind+c.length+1,ind1)); -} +} + +wn.dom.set_box_shadow = function(ele, spread) { + $(ele).css('-moz-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') + $(ele).css('-webkit-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') + $(ele).css('-box-shadow', '0px 0px '+ spread +'px rgba(0,0,0,0.3);') + +} diff --git a/js/wn/tmp.js b/js/wn/tmp.js index 78c75c8c51..139143480c 100644 --- a/js/wn/tmp.js +++ b/js/wn/tmp.js @@ -30,4 +30,78 @@ render_grid: function() { .get(0), this.data, this.columns, options); -}, \ No newline at end of file +}, + + +////////// + + + build_open_links: function(p) { + var open_links = []; + // make popover content + var me = this; + + $.each(me.opened.concat([me.page]), function(i, p) { + var route = wn.get_route(p._route); + + if(route[0]=='Form') { + var openlist = keys(wn.views.formview[route[1]].frm.opendocs).sort(); + $.each(openlist, function(i,v) { + if(me.page!=p || (me.page==p && me.page.frm.docname!=v)) { + open_links.push(repl('

%(dn)s (%(dt)s)

', { + dt: route[1], + dn: v + })); + } + }); + } else { + if(me.page!=p) { + open_links.push(repl('

%(label)s

', { + route: p._route, + label: p.label + })); + } + } + }); + return open_links; + }, + + select_opened_page: function() { + var me = this; + // side image with popover + this.opened_selector = $('
\ +
') + .appendTo(this.container) + .hover(function() { + $(this).toggleClass('active') + }).click(function() { + // build links + $('#opened-page-selector .popover-container') + .attr('data-content', me.build_open_links().reverse().join('')); + + + $(this).find('.popover-container').popover('show'); + me.popoveropen = true; + return false; + }) + + this.opened_selector.find('.popover-container').popover({ + title: "Open Pages", + trigger: 'manual', + delay: 0 + }); + + $(document).click(function() { + + if(me.popoveropen) { + $('#opened-page-selector .popover-container').popover('hide'); + me.popoveropen = false; + } + }) + + this.move_left(this.opened_selector); + }, + show: function(label) { + return this.change_to(label); + } +}); \ No newline at end of file diff --git a/js/wn/views/container.js b/js/wn/views/container.js index 753dfd51e3..8a01407af1 100644 --- a/js/wn/views/container.js +++ b/js/wn/views/container.js @@ -7,12 +7,10 @@ wn.views.Container = Class.extend({ this.container = $('#body_div').get(0); this.page = null; // current page this.pagewidth = $('#body_div').width(); - this.opened = []; this.pagemargin = 50; }, add_page: function(label, onshow, onhide) { var page = $('
') - .css('left', this.pagewidth + this.pagemargin + 'px') .appendTo(this.container).get(0); if(onshow) $(page).bind('show', onshow); @@ -38,114 +36,17 @@ wn.views.Container = Class.extend({ // hide current if(this.page) { - this.move_left(page); + $(this.page).toggle(false); $(this.page).trigger('hide'); - this.opened.push(this.page); - if(!this.opened_selector) - this.select_opened_page(); } // show new this.page = page; - $(this.page).css('left', '0px').css('top', '0px'); + $(this.page).fadeIn(); $(this.page).trigger('show'); this.page._route = window.location.hash; document.title = this.page.label; - - // remove from opened - this.stack(); - + return this.page; - }, - move_left: function(page) { - $(page).css('left', (-1 * (this.pagewidth + this.pagemargin)) + 'px'); - }, - stack: function() { - var me = this; - var l = -1 * (this.pagewidth + this.pagemargin); - var i = 0; - - // filter out current open - this.opened = $.map(this.opened, - function(p, i) { - if(p!=me.page) return p; - }); - - // display as as stack - var pcontent = []; - $.map(this.opened, function(p, i) { - $(p).css('left', l-(i*2) + 'px') - .css('top', (i*2) + 'px') - .css('z-index', i); - }); - }, - - build_open_links: function(p) { - var open_links = []; - // make popover content - var me = this; - - $.each(me.opened.concat([me.page]), function(i, p) { - var route = wn.get_route(p._route); - - if(route[0]=='Form') { - var openlist = keys(wn.views.formview[route[1]].frm.opendocs).sort(); - $.each(openlist, function(i,v) { - if(me.page!=p || (me.page==p && me.page.frm.docname!=v)) { - open_links.push(repl('

%(dn)s (%(dt)s)

', { - dt: route[1], - dn: v - })); - } - }); - } else { - if(me.page!=p) { - open_links.push(repl('

%(label)s

', { - route: p._route, - label: p.label - })); - } - } - }); - return open_links; - }, - - select_opened_page: function() { - var me = this; - // side image with popover - this.opened_selector = $('
\ -
') - .appendTo(this.container) - .hover(function() { - $(this).toggleClass('active') - }).click(function() { - // build links - $('#opened-page-selector .popover-container') - .attr('data-content', me.build_open_links().reverse().join('')); - - - $(this).find('.popover-container').popover('show'); - me.popoveropen = true; - return false; - }) - - this.opened_selector.find('.popover-container').popover({ - title: "Open Pages", - trigger: 'manual', - delay: 0 - }); - - $(document).click(function() { - - if(me.popoveropen) { - $('#opened-page-selector .popover-container').popover('hide'); - me.popoveropen = false; - } - }) - - this.move_left(this.opened_selector); - }, - show: function(label) { - return this.change_to(label); } -}); \ No newline at end of file +}) diff --git a/js/wn/views/doclistview.js b/js/wn/views/doclistview.js index 8c6a0bf052..0aa896a5f3 100644 --- a/js/wn/views/doclistview.js +++ b/js/wn/views/doclistview.js @@ -307,12 +307,12 @@ wn.views.ListView = Class.extend({ } }, columns: [ - {width: '5%', content:'check'}, - {width: '5%', content:'avatar'}, - {width: '5%', content:'docstatus', css: {"text-align": "center"}}, - {width: '30%', content:'name'}, + {width: '3%', content:'check'}, + {width: '4%', content:'avatar'}, + {width: '3%', content:'docstatus', css: {"text-align": "center"}}, + {width: '35%', content:'name'}, {width: '40%', content:'tags', css: {'color':'#aaa'}}, - {width: '10%', content:'modified', css: {'text-align': 'right', 'color':'#777'}} + {width: '15%', content:'modified', css: {'text-align': 'right', 'color':'#777'}} ], render_column: function(data, parent, opts) { var me = this; @@ -392,7 +392,19 @@ wn.views.ListView = Class.extend({ prepare_data: function(data) { data.fullname = wn.user_info(data.owner).fullname; data.avatar = wn.user_info(data.owner).image; + + // when data.when = dateutil.str_to_user(data.modified).split(' ')[0]; + var diff = dateutil.get_diff(dateutil.get_today(), data.modified.split(' ')[0]); + if(diff==0) { + data.when = 'Today' + } + if(diff == -1) { + data.when = 'Yesterday' + } + if(diff == -2) { + data.when = '2 days ago' + } // docstatus if(data.docstatus==0 || data.docstatus==null) {