﻿
__trGroup('CMS Form');Ext.namespace('NPSL','NPSL.Cms','NPSL.Cms.Form','Ext.ux');(function(){var Cms=NPSL.Cms,Form=Cms.Form,ColType=Cms.ColType,MimeTypes=Cms.MimeTypes;Form.CmsTemplateView=function(config){config=config||{};Form.CmsTemplateView.superclass.constructor.call(this,config);this.fields={};this.tpl.setHandler({"replaceText":this.renderItem,"replaceAttribute":this.renderItem,scope:this});}
Form.CmsTemplateView.fromXML=function(n,ownerForm,ownerRecord){if(ownerRecord){throw"cms-data-view / cms-record nodes cannot be nested";}
var tableName=n.getAttribute("table");if(!tableName){throw"cms-dataview is missing a table attribute";}
var config={ownerForm:ownerForm};if(!(config.table=g_schema.findTable(tableName))){throw"The table "+tableName+" is missing from the schema";}
config.tpl=new Ext.ux.DomTemplate({tpl:n.getChild("template")});config.border=typeof(config.border)==="undefined"?false:config.border;var cmsTemplateView=new Form.CmsTemplateView(config);ownerForm.records[cmsTemplateView.id]=cmsTemplateView;return cmsTemplateView;};Ext.extend(Form.CmsTemplateView,Form.RecordBase,{renderItem:function(tpl,values,tag){return Form.renderItemWithSperlunkedFks(this.table,values,tag);},storeChanged:function(){Form.CmsTemplateView.superclass.storeChanged.call(this);var values={};if(this.store&&this.store.getCount()>0){var r=this.store.getAt(0);r.fields.each(function(fld){values[fld.name]=r.get(fld.name);});}
this.tpl.overwrite(this.body,values);},setRecord:function(record){Form.CmsTemplateView.superclass.setRecord.call(this,record);this.storeChanged();},newRecord:function(){Form.CmsTemplateView.superclass.newRecord.call(this);this.storeChanged();}});Form.reg(Form.CmsTemplateView,'cms-template-view');}());