/** * Created by Jacky.gao on 2016/9/20. */ export default class PropertyConfig{ constructor(container){ this.container=container; this.properties=[]; this.init(); } init(){ var self=this; this.namePropertyContainer=$("名称:"); this.namePropertyContainer.css({ "padding":"10px" }); this.container.append(this.namePropertyContainer); this.nameEditor=$(""); this.namePropertyContainer.append(this.nameEditor); this.nameEditor.change(function () { self.name=$(this).val(); window._setDirty(); }); this.propertyContainer=$(""); this.propertyContainer.css({ "padding":"10px" }); var addProp=$(""); this.container.append(addProp); this.container.append(this.propertyContainer); var onClick=function(menuItem){ var prop=new urule.RuleProperty(self,menuItem.name,menuItem.defaultValue,menuItem.editorType); self.addProperty(prop); }; self.menu=new URule.menu.Menu({ menuItems:[{ label:"优先级", name:"salience", defaultValue:"10", editorType:1, onClick:onClick },{ label:"生效日期", name:"effective-date", defaultValue:"", editorType:2, onClick:onClick },{ label:"失效日期", name:"expires-date", defaultValue:"", editorType:2, onClick:onClick },{ label:"是否启用", name:"enabled", defaultValue:true, editorType:3, onClick:onClick },{ label:"允许调试信息输出", name:"debug", defaultValue:true, editorType:3, onClick:onClick }] }); addProp.click(function(e){ self.menu.show(e); }); } initData(data){ this.name=data.name; this.nameEditor.val(data.name); var salience=data["salience"]; if(salience){ this.addProperty(new urule.RuleProperty(this,"salience",salience,1)); } var loop=data["loop"]; if(loop!=null){ this.addProperty(new urule.RuleProperty(this,"loop",loop,3)); } var debug=data["debug"]; if(debug!=null){ this.addProperty(new urule.RuleProperty(this,"debug",debug,3)); } var effectiveDate=data["effectiveDate"]; if(effectiveDate){ this.addProperty(new urule.RuleProperty(this,"effective-date",effectiveDate,2)); } var expiresDate=data["expiresDate"]; if(expiresDate){ this.addProperty(new urule.RuleProperty(this,"expires-date",expiresDate,2)); } var enabled=data["enabled"]; if(enabled!=null){ this.addProperty(new urule.RuleProperty(this,"enabled",enabled,3)); } } addProperty(property){ this.propertyContainer.append(property.getContainer()); this.properties.push(property); window._setDirty(); } toXml(){ if(!this.name || this.name.length<1){ throw "评分卡名称不能为空"; } let xml=" name=\""+this.name+"\""; for(var i=0;i