MWF.xDesktop.requireApp("process.ProcessManager", "FileExplorer", null, false); MWF.xApplication.portal.PortalManager.FileExplorer = new Class({ Extends: MWF.xApplication.process.ProcessManager.FileExplorer, Implements: [Options, Events], options: { "create": MWF.APPPM.LP.file.create, "search": MWF.APPPM.LP.file.search, "searchText": MWF.APPPM.LP.file.searchText, "noElement": MWF.APPPM.LP.file.noDictionaryNoticeText }, // _createElement: function(e){ // // var _self = this; // // var options = { // // "onQueryLoad": function(){ // // this.actions = _self.app.restActions; // // this.application = _self.app.options.application || _self.app.application; // // this.explorer = _self; // // } // // }; // // this.app.desktop.openApplication(e, "process.FileDesigner", options); // new MWF.xApplication.portal.PortalManager.FileDesigner(this); // }, openFindDesigner: function(){ this.app.options.application.moduleType = "portal"; var options = { "filter": { "moduleList": ["portal"], "appList": [this.app.options.application] } }; layout.openApplication(null, "FindDesigner", options); }, getNewData: function(){ return { "id": "", "name": "", "alias": "", "description": "", "portal": (this.app.options.application || this.app.application).id, "fileName": "" } }, implodeFiles: function(){ if (this.upload){ this.upload.upload(); }else{ } MWF.require("MWF.widget.Upload", function(){ var datas = []; new MWF.widget.Upload(this.app.content, { "action": MWF.Actions.get("x_portal_assemble_designer").action, "multiple": true, "method": "uploadFile", "parameter": {"id": ""}, "onBeforeUploadEntry": function(file, up){ var data = this.getNewData(); data.name = file.name; data.fileName = file.name; data.description = file.name+" "+this.getSizeText(file.size); data.updateTime = (new Date()).format("db"); MWF.Actions.get("x_portal_assemble_designer").saveFile(data, function(json){ up.options.parameter = {"id": json.data.id}; var node = this.elementContentListNode.getFirst(); if (node) if (node.hasClass("noElementNode")){ node.destroy(); } datas.push(data); // var itemObj = this._getItemObject(data); // itemObj.load(); }.bind(this), null, false); }.bind(this), "onEvery": function(json, current, count, file){ var data = datas[current-1]; var itemObj = this._getItemObject(data); itemObj.load(); }.bind(this) }).load(); }.bind(this)); }, _getItemObject: function(item){ return new MWF.xApplication.portal.PortalManager.FileExplorer.File(this, item) } }); MWF.xApplication.portal.PortalManager.FileExplorer.File = new Class({ Extends: MWF.xApplication.process.ProcessManager.FileExplorer.File, _open: function(e){ var _self = this; MWF.Actions.get("x_portal_assemble_designer").getFile(this.data.id, function(json){ this.data = json.data; new MWF.xApplication.portal.PortalManager.FileDesigner(this.explorer, this.data); }.bind(this)); }, _getUrl: function(){ var url = MWF.Actions.get("x_portal_assemble_surface").action.actions.readFile.uri; url = url.replace(/{flag}/, this.data.id); url = url.replace(/{applicationFlag}/, this.data.portal); url = "/x_portal_assemble_surface"+url; return o2.filterUrl(MWF.Actions.getHost("x_portal_assemble_surface")+url); }, _getIcon: function(){ return "file.png"; }, _getLnkPar: function(){ var url = MWF.Actions.get("x_portal_assemble_surface").action.actions.readFile.uri; url = url.replace(/{flag}/, this.data.id); url = url.replace(/{applicationFlag}/, this.data.portal); url = "/x_portal_assemble_surface"+url; var href = o2.filterUrl(MWF.Actions.getHost("x_portal_assemble_surface")+url); return { "icon": this.data.iconUrl, "title": this.data.name, "par": "@url#"+href }; }, deleteFile: function(callback){ this.explorer.app.restActions.deleteFile(this.data.id, function(){ this.node.destroy(); if (callback) callback(); }.bind(this)); } }); MWF.xApplication.portal.PortalManager.FileDesigner = new Class({ Extends: MWF.xApplication.process.ProcessManager.FileDesigner, getNewData: function(){ return { "id": "", "name": "", "alias": "", "description": "", "portal": (this.explorer.app.options.application || this.explorer.app.application).id, "fileName": "" } }, createContentFileUrl: function(){ if (this.data.fileName){ var div = new Element("div", {"styles": this.css.fileDesignerContentLineNode}).inject(this.contentAreaNode); var lineTitleNode = new Element("div", {"styles": this.css.fileDesignerContentLineTitleNode, "text": "URL"}).inject(div); this.fileUrlNode = new Element("div", {"styles": this.css.fileDesignerContentLineContentNode}).inject(div); div.setStyle("height", "80px"); var url = MWF.Actions.get("x_portal_assemble_surface").action.actions.readFile.uri; url = url.replace(/{flag}/, this.data.id); url = url.replace(/{applicationFlag}/, this.data.portal); url = "/x_portal_assemble_surface"+url; this.fileUrlNode.setStyle("line-height", "18px"); var href = MWF.Actions.getHost("x_portal_assemble_surface")+url; //this.fileUrlNode.set("html", ""+url+""); this.fileUrlNode.set("text", url); var a = new Element("div", { "styles": {"height": "30px"}, "html": "open" }).inject(this.fileUrlNode, "bottom"); } }, modifyContentFileUrl: function(){ if (!this.fileUrlNode){ this.createContentFileUrl(); }else{ var url = MWF.Actions.get("x_portal_assemble_surface").action.actions.readFile.uri; url = url.replace(/{flag}/, this.data.id); url = url.replace(/{applicationFlag}/, this.data.portal); //this.fileUrlNode.set("text", "/x_processplatform_assemble_surface"+url); url = "/x_portal_assemble_surface"+url; this.fileUrlNode.setStyle("line-height", "18px"); var href = MWF.Actions.getHost("x_portal_assemble_surface")+url; //this.fileUrlNode.set("html", ""+url+""); this.fileUrlNode.set("text", url); var a = new Element("div", { "styles": {"height": "30px"}, "html": "open" }).inject(this.fileUrlNode, "bottom") } }, upload: function(){ if (!this.data.id){ // var data = this.getData(); // this.data = Object.merge(this.data, data); // MWF.Actions.get("x_portal_assemble_designer").saveFile(this.data, function(){ // this.explorer.reload(); this.uploadFile(function(){ this.app.notice(this.lp.file.uploadSuccess, "success"); }.bind(this)); // }.bind(this)); }else{ this.uploadFile(function(){ this.app.notice(this.lp.file.uploadSuccess, "success"); }.bind(this)); } }, uploadFile: function(callback){ MWF.require("MWF.widget.Upload", function(){ new MWF.widget.Upload(this.app.content, { "action": MWF.Actions.get("x_portal_assemble_designer").action, "method": "uploadFile", "parameter": {"id": this.data.id}, "onCompleted": function(){ this.loadFileIcon(); this.modifyContentFileUrl(); if (callback) callback(); }.bind(this), "onBeforeUpload": function(files, up){ var name = files[0].name; this.nameInput.set("value", name); var data = this.getData(); this.data = Object.merge(this.data, data); MWF.Actions.get("x_portal_assemble_designer").saveFile(this.data, function(json){ this.explorer.reload(); up.options.parameter = {"id": json.data.id}; }.bind(this), null, false); }.bind(this), "onEvery": function(json, current, count, file){ debugger; //this.data.description = file.name+" "+this.getSizeText(file.size); //this.data.id = json.data.id; this.data.fileName = file.name; this.data.description = file.name+" "+this.getSizeText(file.size); this.descriptionInput.set("value", this.data.description); MWF.Actions.get("x_portal_assemble_designer").saveFile(this.data); }.bind(this) }).load(); }.bind(this)); }, save: function(){ var data = this.getData(); this.data = Object.merge(this.data, data); MWF.Actions.get("x_portal_assemble_designer").saveFile(this.data, function(){ this.explorer.reload(); this.app.notice(this.lp.file.saveSuccess, "success"); this.destroy(); }.bind(this)); } });