From a8cc46fd9e9e92d12aaae02177a07104a2634af9 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 21 Jan 2014 12:41:00 +0530 Subject: [PATCH] grid, reportview fix webnotes/wnframework#293 webnotes/erpnext#1300 --- .../js/lib/slickgrid/slick-default-theme.css | 8 ++++---- webnotes/public/js/wn/form/control.js | 4 +++- webnotes/public/js/wn/form/grid.js | 2 +- webnotes/public/js/wn/views/reportview.js | 15 +++++++++++++++ 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/webnotes/public/js/lib/slickgrid/slick-default-theme.css b/webnotes/public/js/lib/slickgrid/slick-default-theme.css index c5e6adbde1..feba1ff0bd 100644 --- a/webnotes/public/js/lib/slickgrid/slick-default-theme.css +++ b/webnotes/public/js/lib/slickgrid/slick-default-theme.css @@ -71,10 +71,6 @@ classes should alter those! background: white; } -.slick-cell.selected { - background-color: beige; -} - .slick-cell.active { border-color: gray; border-style: solid; @@ -92,6 +88,10 @@ classes should alter those! background-color: #f9f9f9; } +.slick-cell.selected { + background-color: beige !important; +} + .slick-row.ui-state-active { background: #F5F7D7; } diff --git a/webnotes/public/js/wn/form/control.js b/webnotes/public/js/wn/form/control.js index b2f6754752..19836dd8e1 100644 --- a/webnotes/public/js/wn/form/control.js +++ b/webnotes/public/js/wn/form/control.js @@ -157,7 +157,9 @@ wn.ui.form.ControlInput = wn.ui.form.Control.extend({ } else { this.label_area = this.label_span = this.$wrapper.find("label").get(0); this.input_area = this.$wrapper.find(".control-input").get(0); - this.disp_area = this.$wrapper.find(".control-value").get(0); + // keep a separate display area to rendered formatted values + // like links, currencies, HTMLs etc. + this.disp_area = this.$wrapper.find(".control-value").get(0); } }, set_max_width: function() { diff --git a/webnotes/public/js/wn/form/grid.js b/webnotes/public/js/wn/form/grid.js index 4d444b1e64..bac55626d3 100644 --- a/webnotes/public/js/wn/form/grid.js +++ b/webnotes/public/js/wn/form/grid.js @@ -17,7 +17,7 @@ wn.ui.form.Grid = Class.extend({
\
\ + '+wn._("Add new row")+'.\ - ' + wn._("Click on row to edit.") + '\ + ' + wn._("Click on row to view / edit.") + '\
\
\ \ diff --git a/webnotes/public/js/wn/views/reportview.js b/webnotes/public/js/wn/views/reportview.js index 648a4ef6ca..a2adb52722 100644 --- a/webnotes/public/js/wn/views/reportview.js +++ b/webnotes/public/js/wn/views/reportview.js @@ -208,6 +208,7 @@ wn.views.ReportView = wn.ui.Listing.extend({ var docfield = wn.model.get_std_field(c[0]); if(c[0]=="name") { docfield.options = me.doctype; + docfield.parent = me.doctype; } } coldef = { @@ -285,6 +286,20 @@ wn.views.ReportView = wn.ui.Listing.extend({ me.grid.invalidateRows(args.rows); me.grid.render(); }); + + this.grid.onHeaderClick.subscribe(function(e, args) { + var df = args.column.docfield, + sort_by = df.parent + "." + df.fieldname; + + if(sort_by===me.sort_by_select.val()) { + me.sort_order_select.val(me.sort_order_select.val()==="asc" ? "desc" : "asc"); + } else { + me.sort_by_select.val(df.parent + "." + df.fieldname); + me.sort_order_select.val("asc"); + } + + me.run(); + }); }, edit_cell: function(row, docfield) {