From 6f7e449c96d2cc66d671eb5f1a192cd2363a76a0 Mon Sep 17 00:00:00 2001 From: chrisala Date: Tue, 9 Jan 2024 09:32:31 +1100 Subject: [PATCH] Handle initialisers from loadDefaults correctly #219 --- grails-app/assets/javascripts/forms.js | 2 +- .../taglib/au/org/ala/ecodata/forms/ModelJSTagLib.groovy | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/grails-app/assets/javascripts/forms.js b/grails-app/assets/javascripts/forms.js index acbbbd2..c64892e 100644 --- a/grails-app/assets/javascripts/forms.js +++ b/grails-app/assets/javascripts/forms.js @@ -1161,7 +1161,7 @@ function orEmptyArray(v) { self([]); } if (data === undefined) { - self.loadDefaults(); + initialisers = initialisers.concat(self.loadDefaults()); } else { _.each(data, function (row, i) { diff --git a/grails-app/taglib/au/org/ala/ecodata/forms/ModelJSTagLib.groovy b/grails-app/taglib/au/org/ala/ecodata/forms/ModelJSTagLib.groovy index ea8dd03..b186dde 100644 --- a/grails-app/taglib/au/org/ala/ecodata/forms/ModelJSTagLib.groovy +++ b/grails-app/taglib/au/org/ala/ecodata/forms/ModelJSTagLib.groovy @@ -746,13 +746,13 @@ class ModelJSTagLib { boolean userAddedRows = Boolean.valueOf(viewModel?.userAddedRows) def defaultRows = [] model.defaultRows?.eachWithIndex { row, i -> - defaultRows << INDENT*5 + "rowInitialisers.push(${ctx.propertyPath}.${model.name}.addRow(${row.toString()}));" + defaultRows << INDENT*5 + "rowInitialisers = rowInitialisers.concat(${ctx.propertyPath}.${model.name}.addRow(${row.toString()}));" } def insertDefaultModel = defaultRows.join('\n') // If there are no default rows, insert a single blank row and make it available for editing. if (attrs.edit && model.defaultRows == null) { - insertDefaultModel = "rowInitialisers.push(${ctx.propertyPath}.${model.name}.addRow());" + insertDefaultModel = "rowInitialisers = rowInitialisers.concat(${ctx.propertyPath}.${model.name}.addRow());" } out << """var context = _.extend({}, context, {parent:self, listName:'${model.name}'});"""