|
@@ -1,6 +1,6 @@ |
|
|
frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { |
|
|
frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { |
|
|
constructor(opts) { |
|
|
constructor(opts) { |
|
|
/* Options: doctype, target, setters, get_query, action, add_filters_group, data_fields, primary_action_label */ |
|
|
|
|
|
|
|
|
/* Options: doctype, target, setters, get_query, action, add_filters_group, data_fields, primary_action_label, columns */ |
|
|
Object.assign(this, opts); |
|
|
Object.assign(this, opts); |
|
|
this.for_select = this.doctype == "[Select]"; |
|
|
this.for_select = this.doctype == "[Select]"; |
|
|
if (!this.for_select) { |
|
|
if (!this.for_select) { |
|
@@ -400,23 +400,22 @@ frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { |
|
|
return this.results.filter(res => checked_values.includes(res.name)); |
|
|
return this.results.filter(res => checked_values.includes(res.name)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
get_datatable_columns() { |
|
|
|
|
|
if (this.get_query && this.get_query().query && this.columns) return this.columns; |
|
|
|
|
|
|
|
|
|
|
|
if (Array.isArray(this.setters)) |
|
|
|
|
|
return ["name", ...this.setters.map(df => df.fieldname)]; |
|
|
|
|
|
|
|
|
|
|
|
return ["name", ...Object.keys(this.setters)]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
make_list_row(result = {}) { |
|
|
make_list_row(result = {}) { |
|
|
var me = this; |
|
|
var me = this; |
|
|
// Make a head row by default (if result not passed) |
|
|
// Make a head row by default (if result not passed) |
|
|
let head = Object.keys(result).length === 0; |
|
|
let head = Object.keys(result).length === 0; |
|
|
|
|
|
|
|
|
let contents = ``; |
|
|
let contents = ``; |
|
|
let columns = ["name"]; |
|
|
|
|
|
|
|
|
|
|
|
if ($.isArray(this.setters)) { |
|
|
|
|
|
for (let df of this.setters) { |
|
|
|
|
|
columns.push(df.fieldname); |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
columns = columns.concat(Object.keys(this.setters)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
columns.forEach(function (column) { |
|
|
|
|
|
|
|
|
this.get_datatable_columns().forEach(function (column) { |
|
|
contents += `<div class="list-item__content ellipsis"> |
|
|
contents += `<div class="list-item__content ellipsis"> |
|
|
${ |
|
|
${ |
|
|
head ? `<span class="ellipsis text-muted" title="${__(frappe.model.unscrub(column))}">${__(frappe.model.unscrub(column))}</span>` |
|
|
head ? `<span class="ellipsis text-muted" title="${__(frappe.model.unscrub(column))}">${__(frappe.model.unscrub(column))}</span>` |
|
@@ -486,7 +485,7 @@ frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { |
|
|
|
|
|
|
|
|
get_filters_from_setters() { |
|
|
get_filters_from_setters() { |
|
|
let me = this; |
|
|
let me = this; |
|
|
let filters = this.get_query ? this.get_query().filters : {} || {}; |
|
|
|
|
|
|
|
|
let filters = (this.get_query ? this.get_query().filters : {}) || {}; |
|
|
let filter_fields = []; |
|
|
let filter_fields = []; |
|
|
|
|
|
|
|
|
if ($.isArray(this.setters)) { |
|
|
if ($.isArray(this.setters)) { |
|
|