x_portal_assemble_designer.js 9.6 KB
Newer Older
NoSubject's avatar
NoSubject 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
MWF.xAction.RestActions.Action["x_portal_assemble_designer"] = new Class({
    Extends: MWF.xAction.RestActions.Action,
    getUUID: function(success){
        var id = "";
        this.action.invoke({"name": "getId","async": false, "parameter": {"count": "1"}, "success": function(ids){
            id = ids.data[0].id;
            if (success) success(id);
        },	"failure": null});
        return id;
    },
    listApplicationSummary: function(categoryName, success, failure, async){
        if (categoryName){
            this.action.invoke({"name": "listApplicationByCategorySummary","async": async, "parameter": {"applicationCategory": categoryName}, "success": success,	"failure": failure});
        }else{
            this.action.invoke({"name": "listApplicationSummary","async": async, "success": success,	"failure": failure});
        }
    },
    saveApplication: function(applicationData, success, failure){
        if (applicationData.id){
            this.updateApplication(applicationData.id, applicationData, success, failure);
        }else{
            this.addApplication(applicationData, success, failure);
        }
    },
    savePage: function(pageData, mobileData, fieldList, success, failure){
        if (!pageData.isNewPage){
            this.updatePage(pageData, mobileData, fieldList, success, failure);
        }else{
            this.addPage(pageData, mobileData, fieldList, success, failure);
        }
    },
    updatePage: function(pageData, mobileData, fieldList, success, failure){
        var data, mobileDataStr;
        if (pageData) data = MWF.encodeJsonString(JSON.encode(pageData));
        if (mobileData) mobileDataStr = MWF.encodeJsonString(JSON.encode(mobileData));
        var json = {
            "id": pageData.json.id,
            "name": pageData.json.name,
            "alias": pageData.json.name,
            //"hasMobile": false,
            "description": pageData.json.description,
            "portal": pageData.json.application,
            "icon": pageData.json.formIcon,
            "formFieldList": fieldList
        };
        if (mobileData && mobileData.json.moduleList){
            if (Object.keys(mobileData.json.moduleList).length){
                json.hasMobile = true;
            }else{
                json.hasMobile = false;
            }
        }
        if (pageData) json.data = data;
        if (mobileData) json.mobileData = mobileDataStr;
        this.action.invoke({"name": "updatePage","data": json,"parameter": {"id": pageData.json.id},"success": success,"failure": failure});
    },

    saveFile: function(data, success, failure){
        if (data.id){
            this.updataFile(data.id, data, success, failure);
        }else{
            this.getUUID(function(id){
                data.id = id;
                this.addFile(data, success, failure);
            }.bind(this));

        }
    },

    addPage: function(pageData, mobileData, fieldList, success, failure){
        var data, mobileDataStr;
        if (!pageData.json.id){
            this.getUUID(function(id){
                pageData.json.id = id;

                if (pageData) data = MWF.encodeJsonString(JSON.encode(pageData));
                if (mobileData) mobileDataStr = MWF.encodeJsonString(JSON.encode(mobileData));

                var json = {
                    "id": pageData.json.id,
                    "name": pageData.json.name,
                    "hasMobile": false,
                    "alias": pageData.json.name,
                    "description": pageData.json.description,
                    "portal": pageData.json.application,
                    "icon": pageData.json.formIcon,
                    "formFieldList": fieldList
                };
                if (mobileData && mobileData.json.moduleList){
                    if (Object.keys(mobileData.json.moduleList).length){
                        json.hasMobile = true;
                    }else{
                        json.hasMobile = false;
                    }
                }

                if (pageData) json.data = data;
                if (mobileData) json.mobileData = mobileDataStr;
                this.action.invoke({"name": "addPage","data": json, "parameter": {"id": pageData.json.categoryId}, "success": success,"failure": failure});
            }.bind(this));
        }else{
            if (pageData) data = MWF.encodeJsonString(JSON.encode(pageData));
            if (mobileData) mobileDataStr = MWF.encodeJsonString(JSON.encode(mobileData));

            var json = {
                "id": pageData.json.id,
                "name": pageData.json.name,
                "alias": pageData.json.name,
                "hasMobile": false,
                "description": pageData.json.description,
                "portal": pageData.json.application
            };

            if (mobileData && mobileData.json.moduleList){
                if (Object.keys(mobileData.json.moduleList).length){
                    json.hasMobile = true;
                }else{
                    json.hasMobile = false;
                }
            }
            if (pageData) json.data = data;
            if (mobileData) json.mobileData = mobileDataStr;
            this.action.invoke({"name": "addPage","data": json, "parameter": {"id": pageData.json.categoryId}, "success": success,"failure": failure});
        }
    },
    addPageTemplate: function(pageData, mobileData, templateData, success, failure){
        var data, mobileDataStr;
        this.getUUID(function(id){
            templateData.id = id;
            if (pageData){
                var tPageData = Object.clone(pageData);
                tPageData.json.id = id;
                tPageData.json.name = templateData.name;
                data = MWF.encodeJsonString(JSON.encode(tPageData));
            }
            if (mobileData){
                var tMobileData = Object.clone(mobileData);
                tMobileData.json.id = id;
                tMobileData.json.name = templateData.name;
                mobileDataStr = MWF.encodeJsonString(JSON.encode(tMobileData));
            }

            if (pageData) templateData.data = data;
            if (mobileData) templateData.mobileData = mobileDataStr;
            this.action.invoke({"name": "addPageTemplate","data": templateData, "success": success,"failure": failure});
        }.bind(this));
    },
    saveSource: function(sourceData, success, failure){
        if (!sourceData.isNewSource){
            this.updateSource(sourceData, success, failure);
        }else{
            this.addSource(sourceData, success, failure);
        }
    },
    updateSource: function(sourceData, success, failure){
        var data =sourceData.data;
        sourceData.data = JSON.encode(sourceData.data);
        this.action.invoke({"name": "updataSource","data": sourceData,"parameter": {"id": sourceData.id},"success": success,"failure": failure});
        sourceData.data = data;
    },
    addSource: function(sourceData, success, failure){
        var data =sourceData.data;
        sourceData.data = JSON.encode(sourceData.data);
        if (!data.id){
            this.getUUID(function(id){
                sourceData.id = id;
                this.action.invoke({"name": "addSource","data": sourceData, "success": success,"failure": failure});
                sourceData.data = data;
            }.bind(this));
        }else{
            this.action.invoke({"name": "addSource","data": sourceData, "success": success,"failure": failure});
            sourceData.data = data;
        }
    },
    saveMenu: function(data, success, failure){
        if (!data.isNewMenu){
            this.updateMenu(data, success, failure);
        }else{
            this.addStat(data, success, failure);
        }
    },
    updateMenu: function(menuData, success, failure){
        var data =menuData.data;
        menuData.data = JSON.encode(menuData.data);
        this.action.invoke({"name": "updataMenu","data": menuData,"parameter": {"id": statData.id},"success": success,"failure": failure});
        menuData.data = data;
    },
    addMenu: function(menuData, success, failure){
        var data =menuData.data;
        menuData.data = JSON.encode(menuData.data);
        if (!data.id){
            this.getUUID(function(id){
                menuData.id = id;
                this.action.invoke({"name": "addMenu","data": menuData, "success": success,"failure": failure});
                menuData.data = data;
            }.bind(this));
        }else{
            this.action.invoke({"name": "addMenu","data": menuData, "success": success,"failure": failure});
            menuData.data = data;
        }
    },
    saveScript: function(data, success, failure){
        if (!data.isNewScript){
            this.updateScript(data, success, failure);
        }else{
            this.addScript(data, success, failure);
        }
    },
    updateScript: function(data, success, failure){
        this.action.invoke({"name": "updataScript","data": data,"parameter": {"id": data.id},"success": success,"failure": failure});
    },
    addScript: function(data, success, failure){
        data.portal = data.application;

        if (!data.id){
            this.getUUID(function(id){
                data.id = id;
                this.action.invoke({"name": "addScript","data": data,"success": success,"failure": failure});
            }.bind(this));
        }else{
            this.action.invoke({"name": "addScript","data": data,"success": success,"failure": failure});
        }
    },
    changeApplicationIcon: function(applicationId, success, failure, formData, file){
        this.action.invoke({"name": "updateApplicationIcon", "parameter": {"id": applicationId},"data": formData,"file": file,"success": success,"failure": failure});
    }
});