unknown 5 лет назад
Родитель
Сommit
fbc0169411

+ 4 - 4
o2web/source/x_component_cms_FormDesigner/Main.js

@@ -1558,12 +1558,12 @@ MWF.xApplication.cms.FormDesigner.Main = new Class({
     saveTemplate: function(markNode, areaNode, iconNode, nameNode, categorySelect, newCategoryNode, descriptionNode){
         var pcData, mobileData;
         if (this.pcForm){
-            this.pcForm._getFormData();
-            pcData = this.pcForm.data;
+            pcData = this.pcForm._getFormData();
+            //pcData = this.pcForm.data;
         }
         if (this.mobileForm){
-            this.mobileForm._getFormData();
-            mobileData = this.mobileForm.data;
+            mobileData = this.mobileForm._getFormData();
+            //mobileData = this.mobileForm.data;
         }
 
         var name = nameNode.get("value");

+ 30 - 5
o2web/source/x_component_cms_FormDesigner/Module/Form.js

@@ -167,13 +167,38 @@ MWF.xApplication.cms.FormDesigner.Module.Form = MWF.CMSFCForm = new Class({
 		//module.load(json, dom, parent);
 		//return module;
 
-		if( MWF["CMSFC"+json.type] ){
-			var module = new MWF["CMSFC"+json.type](this);
-			module.load(json, dom, parent);
+		if( !json ){
+			var module;
+			var className = ( dom.get("MWFType") || "div" ).capitalize();
+			this.getTemplateData(className, function(data){
+				var moduleData = Object.clone(data);
+				moduleData.id = dom.get("id");
+				this.json.moduleList[dom.get("id")] = moduleData;
+				module = new MWF["CMSFC"+className](this);
+				module.load(moduleData, dom, parent);
+			}.bind(this), false);
+			return module;
+		}else if( MWF["CMSFC"+json.type] ){
+			var module;
+			var className = json.type.capitalize();
+			this.getTemplateData(className, function(data){
+			    var moduleData = Object.clone(data);
+				Object.merge(moduleData, json);
+				Object.merge(json, moduleData);
+			    module = new MWF["CMSFC"+json.type](this);
+			    module.load(json, dom, parent);
+			}.bind(this), false);
 			return module;
 		}else{
-			var module = new MWF["CMSFCDiv"](this);
-			module.load(json, dom, parent);
+		    var module;
+			var className = json.type.capitalize();
+			this.getTemplateData(className, function(data){
+				var moduleData = Object.clone(data);
+				Object.merge(moduleData, json);
+				Object.merge(json, moduleData);
+				module = new MWF["CMSFCDiv"](this);
+				module.load(json, dom, parent);
+			}.bind(this), false);
 			return module;
 		}
 	},