[fix] Preserve field's order in print format builder column selector
This commit is contained in:
parent
80d11cbb23
commit
d8d64e0478
2 changed files with 26 additions and 5 deletions
|
|
@ -483,10 +483,33 @@ frappe.PrintFormatBuilder = Class.extend({
|
|||
});
|
||||
|
||||
var $body = $(d.body);
|
||||
|
||||
|
||||
|
||||
var doc_fields = frappe.get_meta(doctype).fields;
|
||||
var docfields_by_name = {};
|
||||
|
||||
// docfields by fieldname
|
||||
$.each(doc_fields, function(j, f) {
|
||||
if(f) docfields_by_name[f.fieldname] = f;
|
||||
})
|
||||
|
||||
// add field which are in column_names first to preserve order
|
||||
var fields = [];
|
||||
$.each(column_names, function(i, v) {
|
||||
if(in_list(Object.keys(docfields_by_name), v)) {
|
||||
fields.push(docfields_by_name[v]);
|
||||
}
|
||||
})
|
||||
// add remaining fields
|
||||
$.each(doc_fields, function(j, f) {
|
||||
if (f && !in_list(column_names, f.fieldname)
|
||||
&& !in_list(["Section Break", "Column Break"], f.fieldtype) && f.label) {
|
||||
fields.push(f);
|
||||
}
|
||||
})
|
||||
// render checkboxes
|
||||
$(frappe.render_template("print_format_builder_column_selector", {
|
||||
fields: frappe.get_meta(doctype).fields,
|
||||
fields: fields,
|
||||
column_names: column_names,
|
||||
widths: widths
|
||||
})).appendTo(d.body);
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
</div>
|
||||
<div class="column-selector-list">
|
||||
{% for (i=0; i < fields.length; i++) { var f = fields[i]; %}
|
||||
{% if(!in_list(["Section Break", "Column Break"]) && f.label) {
|
||||
var selected = in_list(column_names, f.fieldname) %}
|
||||
{% var selected = in_list(column_names, f.fieldname) %}
|
||||
<div class="row column-selector-row">
|
||||
<div class="col-sm-6">
|
||||
<div class="checkbox">
|
||||
|
|
@ -27,6 +26,5 @@
|
|||
{%= selected ? "" : "disabled" %}>
|
||||
</div>
|
||||
</div>
|
||||
{% } %}
|
||||
{% } %}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue