using afEfan::EfanErr** (Service) - Contribute directories that may contain efan / slim templates.** ** By contributing to 'EfanTemplateDirectories' you can force 'efanXtra' to look in file system directories when ** searching for efan templates.** ** pre>** using afIoc** using afEfanXtra** ** class AppModule {** ** @Contribute { serviceType=EfanTemplateDirectories# }** static Void contributeEfanDirs(MappedConfig config) {** config.add(`etc/components/`)** }** }** <pre** ** This has the advantage of, that during development, your pod doesn't need to be re-built and your application ** re-started just to see template changes. ** ** Note that directories are **not** searched recursively, if you place templates in both 'etc/components/' and ** 'etc/components/admin/' then you would need to add them both:** ** config.add(`etc/components/`)** config.add(`etc/components/admin/`)** ** Note that directory uris need to end with a /slash/.constmixin EfanTemplateDirectories {** The list of contributed directories.abstract File[] templateDirs()}internalconstclass EfanTemplateDirectoriesImpl : EfanTemplateDirectories {overrideconst File[] templateDirsnew make(File[] templateDirs){ templateDirs.each {if(!it.isDir)// also called when file does not existthrow EfanErr(ErrMsgs.templateDirIsNotDir(it))}this.templateDirs = templateDirs.toImmutable}}