From 5029b72dbf17285a345deb5d57b6dcada7af9d79 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Sun, 23 Feb 2014 23:25:35 +0200 Subject: model: default layout to tabular for collections of models --- acf2/model/init.lua | 10 ++++++++-- acf2/modules/network.lua | 2 +- 2 files changed, 9 insertions(+), 3 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 diff --git a/acf2/modules/network.lua b/acf2/modules/network.lua index 2d962bc..77407f6 100644 --- a/acf2/modules/network.lua +++ b/acf2/modules/network.lua @@ -246,7 +246,7 @@ Interface.stats = M.Collection{ local Net = M.new() Net.host_name = M.String{addr='/augeas/etc/hostname/hostname'} -Net.hosts = M.List{type=Host, addr='/augeas/etc/hosts', layout='tabular'} +Net.hosts = M.List{type=Host, addr='/augeas/etc/hosts'} Net.resolver = M.Model{ model=Resolv, addr='/augeas/etc/resolv.conf', ui_name='DNS resolver' } -- cgit v1.2.3