MWF.xApplication.ForumDocument = MWF.xApplication.ForumDocument || {}; MWF.xDesktop.requireApp("Template", "MPopupForm", null, false); MWF.require("MWF.widget.ImageClipper", null, false); MWF.xApplication.ForumDocument.HotLinkForm = new Class({ Extends: MPopupForm, Implements: [Options, Events], options: { "style": "default", "width": "660", "height": "520", "hasTop": true, "hasIcon": false, "hasTopIcon" : false, "hasTopContent" : true, "hasBottom": true, "title": MWF.xApplication.Forum.LP.setHotPicture, "draggable": true, "closeAction": true, "toMain" : true, "documentId" : "" }, _createTableContent: function () { this.actions = MWF.Actions.get("x_hotpic_assemble_control"); this.actions.getHotPic("BBS", this.options.documentId , function( json ){ if( json.data && json.data.length > 0 ){ this.isNew = false; }else{ this.isNew = true; } this.hotPicData = (json.data && json.data.length > 0) ? json.data[0] : {}; var html = "" + "" + //" " + " " + ""+ "" + //" " + " " + ""+ //"" + //" " + //" " + //"" "
"+this.lp.hotLinkDescription+"
"; this.formTableArea.set("html", html); MWF.xDesktop.requireApp("Template", "MForm", function () { this.form = new MForm(this.formTableArea, this.data, { style: "cms", isEdited: true, itemTemplate: { hotPicture: { text: this.lp.hotPicture } } }, this.app, this.css); this.form.load(); this.createIconNode(); }.bind(this), true); }.bind(this), null, false); }, createIconNode: function(){ var hotPictureArea = this.formTableArea.getElements("[item='hotPictureArea']")[0]; //this.iconNode = new Element("img",{ // "styles" : this.css.hotIconNode //}).inject(hotPictureArea); //if (this.hotPicData.pictureBase64){ //this.iconNode.set("src", this.hotPicData.pictureBase64.substr( 0, 10 ) == 'data:image' ? this.hotPicData.pictureBase64 : ('data:image/png;base64,'+this.hotPicData.pictureBase64)); //} MWF.require("MWF.widget.ImageClipper", function () { this.clipper = new MWF.widget.ImageClipper(hotPictureArea, { aspectRatio : 2, fromFileEnable : true, imageUrl : this.hotPicData.picId ? MWF.xDesktop.getImageSrc( this.hotPicData.picId ) : "", reference : this.options.documentId, referenceType : "forumDocument" }); this.clipper.load(); }.bind(this)); //var hotPictureActionArea = this.formTableArea.getElements("[item='hotPictureActionArea']")[0]; //var changeIconActionNode = new Element("div", { // "styles": this.css.changeIconActionNode, // "text": this.lp.selectDocPicture //}).inject(hotPictureActionArea); //changeIconActionNode.addEvent("click", function () { // this.selectDocPicture(); //}.bind(this)); // // //var changeIconActionNode = new Element("div", { // "styles": this.css.changeIconActionNode, // "text": this.lp.selectFilePicture //}).inject(hotPictureActionArea); //changeIconActionNode.addEvent("click", function () { // this.selectFilePicture(); //}.bind(this)); }, //selectDocPicture: function(){ // MWF.xDesktop.requireApp("Forum", "Attachment", null, false); // this.actions.listAttachment( this.options.documentId, function( json ){ // this.selector_doc = new MWF.xApplication.Forum.Attachment(document.body, this, this.actions, this.lp, { // //documentId : this.data ? this.data.id : "", // isNew : false, // isEdited : false, // "onUpload" : function( attData ){ // this.attachment.attachmentController.addAttachment(attData); // this.attachment.attachmentController.checkActions(); // }.bind(this) // }) // this.selector_doc.data = json.data || []; // this.selector_doc.loadAttachmentSelecter({ // "style": "cms", // "title": "选择本文档图片", // "listStyle": "preview", // "toBase64" : true, // "selectType": "images" // }, function (url, data, base64Code) { // //if (callback)callback(url, data); // this.iconNode.set("src", base64Code || url); // this.hotPicData.pictureBase64 = base64Code || url; // }.bind(this)); // }.bind(this) ) //}, //selectFilePicture: function () { // var _self = this; // MWF.xDesktop.requireApp("File", "FileSelector", function(){ // _self.selector_cloud = new MWF.xApplication.File.FileSelector( document.body ,{ // "style" : "default", // "title": "选择云文件图片", // "toBase64" : true, // "listStyle": "preview", // "selectType" : "images", // "onPostSelectAttachment" : function(url, base64Code){ // _self.iconNode.set("src", base64Code || url); // _self.hotPicData.pictureBase64 = base64Code || url; // } // }); // _self.selector_cloud.load(); // }, true); //}, _createBottomContent: function () { this.okActionNode = new Element("div.formOkActionNode", { "styles": this.css.formOkActionNode, "text": this.lp.setHotPicture }).inject(this.formBottomNode); this.okActionNode.addEvent("click", function (e) { this.ok(e); }.bind(this)); if( !this.isNew ){ this.cancelHotActionNode = new Element("div.formOkActionNode", { "styles": this.css.cancelHotPicture, "text": this.lp.cancelHotPicture }).inject(this.formBottomNode); this.cancelHotActionNode.addEvent("click", function (e) { this.cancelHotPic(e); }.bind(this)); } this.closeActionNode = new Element("div.formCancelActionNode", { "styles": this.css.formCancelActionNode, "text": this.lp.close }).inject(this.formBottomNode); this.closeActionNode.addEvent("click", function (e) { this.cancel(e); }.bind(this)); }, cancelHotPic: function(e){ var _self = this; this.app.confirm("warn", e, this.lp.cancelHotPicComfirmTitle, this.lp.cancelHotPicComfirmContent, 350, 120, function(){ _self._cancelHotPic(_self.data, false); this.close(); }, function(){ this.close(); }); }, _cancelHotPic : function(){ this.actions.removeHotPic( this.hotPicData.id , function( json ) { if (json.type == "error") { this.app.notice(json.message, "error"); } else { this.formMaskNode.destroy(); this.formAreaNode.destroy(); this.app.notice(this.lp.cancelHotLinkSuccess, "success"); } }.bind(this)) }, ok: function (e) { this.fireEvent("queryOk"); //var data = this.form.getResult(true, ",", true, false, true); var pictureBase64 = this.clipper.getBase64Image(); if( !pictureBase64 || pictureBase64 == "" ){ this.app.notice(this.lp.unselectHotPic, "error"); return; } this.hotPicData.pictureBase64 = pictureBase64; //var pictureBase64 =this.hotPicData.pictureBase64.replace("http://","").split("\/"); //pictureBase64.shift(); //this.hotPicData.pictureBase64 = "/"+ pictureBase64.join("/"); this.clipper.uploadImage( function( json ){ //this.hotPicData.pictureBase64 = pictureBase64; this.hotPicData.infoId = this.options.documentId; this.hotPicData.url = MWF.xDesktop.getImageSrc( json.id ); this.hotPicData.picId = json.id; this.hotPicData.title = this.data.title; this.hotPicData.application = "BBS"; this.hotPicData.creator = layout.desktop.session.user.distinguishedName; this.hotPicData.summary = this.options.summary; this._ok(this.hotPicData, function (json) { if (json.type == "error") { this.app.notice(json.message, "error"); } else { this.formMaskNode.destroy(); this.formAreaNode.destroy(); this.app.notice(this.lp.setHotLinkSuccess, "success"); this.fireEvent("postOk", json.data.id); } }.bind(this)) }.bind(this) ); }, _ok: function (data, callback) { this.actions.saveHotPic( data, function(json){ if( callback )callback(json); }.bind(this)); }, _close: function(){ this.clipper.close(); } });