From 2ebbe95e0464e0a273bdcd057ed3f69bc144ad8a Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 2 Oct 2013 12:44:59 +0530 Subject: [PATCH 1/3] [minor] [fix] item prices html table --- setup/doctype/price_list/price_list.js | 248 ++++++++++-------------- setup/doctype/price_list/price_list.txt | 8 +- 2 files changed, 112 insertions(+), 144 deletions(-) diff --git a/setup/doctype/price_list/price_list.js b/setup/doctype/price_list/price_list.js index 2c24d7ec89d..1dd9ec53de8 100644 --- a/setup/doctype/price_list/price_list.js +++ b/setup/doctype/price_list/price_list.js @@ -14,46 +14,42 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) { cur_frm.cscript.show_item_prices = function() { var item_price = wn.model.get("Item Price", {parent: cur_frm.doc.name}); - cur_frm.toggle_display("item_prices", true); - $(cur_frm.fields_dict.item_prices.wrapper).empty(); + $(cur_frm.fields_dict.item_prices_html.wrapper).empty(); new wn.ui.form.TableGrid({ - parent: cur_frm.fields_dict.item_prices.wrapper, + parent: cur_frm.fields_dict.item_prices_html.wrapper, frm: cur_frm, - table_field: wn.model.get("DocField", {parent:"Price List", fieldname:"item_prices"})[0] + table_field: wn.meta.get_docfield("Price List", "item_prices", cur_frm.doc.name) }); } wn.ui.form.TableGrid = Class.extend({ init: function(opts) { $.extend(this, opts); - this.fields = wn.model.get("DocField", {parent: this.table_field.options}); + this.fields = wn.meta.get_docfields("Item Price", cur_frm.doc.name); this.make_table(); }, make_table: function() { var me = this; // Creating table & assigning attributes var grid_table = document.createElement("table"); - $(grid_table).attr("class", "table table-hover table-bordered grid"); + grid_table.className = "table table-hover table-bordered grid"; // Appending header & rows to table - - $(this.make_table_headers()).appendTo(grid_table); - $(this.make_table_rows()).appendTo(grid_table); + grid_table.appendChild(this.make_table_headers()); + grid_table.appendChild(this.make_table_rows()); // Creating button to add new row var btn_div = document.createElement("div"); var new_row_btn = document.createElement("button"); - $new_row_btn = $(new_row_btn); - $new_row_btn.attr({ - "class": "btn btn-success table-new-row", - "title": "Add new row" - }); + new_row_btn.className = "btn btn-success table-new-row"; + new_row_btn.title = "Add new row"; + var btn_icon = document.createElement("i"); - $(btn_icon).attr("class", "icon-plus"); - $(btn_icon).appendTo(new_row_btn); - $new_row_btn.append(" Add new row"); - $new_row_btn.appendTo(btn_div); + btn_icon.className = "icon-plus"; + new_row_btn.appendChild(btn_icon); + new_row_btn.innerHTML += " Add new row"; + btn_div.appendChild(new_row_btn); // Appending table & button to parent var $grid_table = $(grid_table).appendTo($(this.parent)); @@ -75,35 +71,33 @@ wn.ui.form.TableGrid = Class.extend({ // Creating header row var row = document.createElement("tr"); - $(row).attr({ - "class": "active", - "style": "height:50px" - }); - $(row).appendTo(header); - + row.className = "active"; + // row.style = "height:50px"; + + // Creating head first cell var th = document.createElement("th"); - $(th).attr({ - "width": "8%", - "style": "vertical-align:middle", - "class": "text-center" - }); - $(th).html("#"); - $(th).appendTo(row); + th.width = "8%"; + th.className = "text-center"; + th.innerHTML = "#"; + row.appendChild(th); // Make other headers with label as heading - $.each(this.fields, function(i, obj) { - var th = document.createElement("th"); + for(var i=0, l=this.fields.length; i Date: Wed, 2 Oct 2013 15:16:22 +0530 Subject: [PATCH 2/3] [minor] [fix] item price grid --- setup/doctype/price_list/price_list.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/setup/doctype/price_list/price_list.js b/setup/doctype/price_list/price_list.js index 1dd9ec53de8..e1cb52130d7 100644 --- a/setup/doctype/price_list/price_list.js +++ b/setup/doctype/price_list/price_list.js @@ -33,7 +33,7 @@ wn.ui.form.TableGrid = Class.extend({ var me = this; // Creating table & assigning attributes var grid_table = document.createElement("table"); - grid_table.className = "table table-hover table-bordered grid"; + grid_table.className = "table table-hover table-bordered table-grid"; // Appending header & rows to table grid_table.appendChild(this.make_table_headers()); @@ -72,8 +72,6 @@ wn.ui.form.TableGrid = Class.extend({ // Creating header row var row = document.createElement("tr"); row.className = "active"; - // row.style = "height:50px"; - // Creating head first cell var th = document.createElement("th"); @@ -106,7 +104,6 @@ wn.ui.form.TableGrid = Class.extend({ // Creating table body var table_body = document.createElement("tbody"); - table_body.style = "cursor: pointer"; var item_prices = wn.model.get_children(this.table_field.options, this.frm.doc.name, this.table_field.fieldname, this.frm.doctype); @@ -210,8 +207,7 @@ wn.ui.form.TableGrid = Class.extend({ $(row).remove(); // Re-assign idx - $.each($(this.parent).find(".grid tbody tr"), function(idx, data) { - $(data).attr("data-idx", idx + 1); + $.each($(this.parent).find("tbody tr"), function(idx, data) { var $td = $(data).find('td:first'); $td.html(idx + 1); }); @@ -221,7 +217,6 @@ wn.ui.form.TableGrid = Class.extend({ add_new_row: function(d) { var tr = document.createElement("tr"); tr.className = "table-row"; - tr.setAttribute("data-idx", d.idx); tr.setAttribute("data-docname", d.name); // Creating table data & appending to row From c49986f092ab145205adc47e3aeae6dd0da550e8 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 2 Oct 2013 16:14:30 +0530 Subject: [PATCH 3/3] [minor] [fix] price list table --- setup/doctype/price_list/price_list.css | 7 +++++++ setup/doctype/price_list/price_list.js | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 setup/doctype/price_list/price_list.css diff --git a/setup/doctype/price_list/price_list.css b/setup/doctype/price_list/price_list.css new file mode 100644 index 00000000000..61b069442f8 --- /dev/null +++ b/setup/doctype/price_list/price_list.css @@ -0,0 +1,7 @@ +.table-grid tbody tr { + cursor: pointer; +} + +.table-grid thead tr { + height: 50px; +} \ No newline at end of file diff --git a/setup/doctype/price_list/price_list.js b/setup/doctype/price_list/price_list.js index e1cb52130d7..67090bcbc16 100644 --- a/setup/doctype/price_list/price_list.js +++ b/setup/doctype/price_list/price_list.js @@ -188,6 +188,13 @@ wn.ui.form.TableGrid = Class.extend({ if(!docname && row) docname = $(row).attr("data-docname"); $.each(me.fields, function(i, df) { var val = me.dialog.get_values()[df.fieldname]; + + if(["Currency", "Float"].indexOf(df.fieldtype)!==-1) { + val = flt(val); + } else if(["Int", "Check"].indexOf(df.fieldtype)!==-1) { + val = cint(val); + } + wn.model.set_value(me.table_field.options, docname, df.fieldname, val);