diff options
Diffstat (limited to 'acf2/model/init.lua')
-rw-r--r-- | acf2/model/init.lua | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/acf2/model/init.lua b/acf2/model/init.lua index 6e8b7f5..bbefbc8 100644 --- a/acf2/model/init.lua +++ b/acf2/model/init.lua @@ -63,6 +63,7 @@ local store = require('acf2.persistence') local def_store = require('acf2.persistence.defer') local util = require('acf2.util') +local setdefault = util.setdefault local update = util.update @@ -141,7 +142,7 @@ end function M.Reference:load(context, options) local ref = super(self, M.Reference):load(context) return ( - util.setdefault( + setdefault( options or {}, 'dereference', self.dereference ) and context.txn and ref ) and self:follow(context, ref) or ref @@ -224,7 +225,12 @@ function M.Collection:auto_ui_name(name) end function M.Collection:load(context, options) - if not self.iparams.field then self.iparams.field = to_field(self.type) end + if not self.iparams.field then + self.iparams.field = to_field(self.type) + if isinstance(self.iparams.field, fld.Model) then + setdefault(self.iparams, 'layout', 'tabular') + end + end return super(self, M.Collection):load(context, options) end |