MWF.xApplication.Message.options.multitask = true; MWF.require("MWF.widget.O2Identity", null,false); MWF.xApplication.Message.Main = new Class({ Extends: MWF.xApplication.Common.Main, Implements: [Options, Events], options: { "style1": "default", "style": "default", "name": "Message", "icon": "icon.png", "width": "1100", "height": "700", "title": MWF.xApplication.Message.LP.title }, onQueryLoad: function(){ this.lp = MWF.xApplication.Message.LP; }, loadApplication: function(callback){ this.node = new Element("div", {"styles": {"width": "100%", "height": "100%"}}).inject(this.content); this.leftNode = new Element("div", {"styles": this.css.leftNode}).inject(this.node); this.contentNode = new Element("div", {"styles": this.css.contentNode}).inject(this.node); this.menuNode = new Element("div", {"styles": this.css.menuNode}).inject(this.leftNode); this.listNode = new Element("div", {"styles": this.css.listNode}).inject(this.leftNode); this.setListNodeSizeFun = this.setListNodeSize.bind(this); this.addEvent("resize", this.setListNodeSizeFun); this.setListNodeSize(); this.loadMenu(function(){ if (MWF.AC.isMessageManager()){ this.initList(); this.loadList(); this.listNode.addEvent("scroll", function(){ var s = this.listNode.getScroll(); var size = this.listNode.getSize(); var sSize = this.listNode.getScrollSize(); if (sSize.y-size.y-s.y<100) if (!this.listAll) this.loadList(); }.bind(this)); if (callback) callback(); }else{ this.createNoAcListNode(); } }.bind(this)); }, initList: function(){ this.removeItems = []; this.listItems = []; this.lastId = "(0)"; this.listCount = 0; this.listAll = false; this.listPageCount = this.getPageCount(); }, getPageCount: function(){ var size = this.listNode.getSize(); return (size.y/80).toInt()+5; }, setListNodeSize: function(){ var menuSize = this.menuNode.getSize(); var size = this.content.getSize(); var y = size.y-menuSize.y; this.listNode.setStyle("height", ""+y+"px"); }, loadMenu: function(callback){ this.actionArea = new Element("div", {"styles": this.css.actionArea}).inject(this.menuNode); this.logoArea = new Element("div", {"styles": this.css.logoArea}).inject(this.menuNode); this.iconNode = new Element("div", {"styles": this.css.logoIconNode}).inject(this.logoArea); this.titleNode = new Element("div", {"styles": this.css.logoTitleNode}).inject(this.logoArea); var action = MWF.Actions.get("x_message_assemble_communicate"); action.enableType(function(json){ this.type = json.data.value; if (this.type==="qiyeweixin"){ this.iconNode.setStyle("background-image", "url("+this.path+this.options.style+"/icon/weixin.png)"); this.titleNode.set("text", this.lp.weixin); this.loadAddAction(); }else if (this.type==="dingding"){ this.iconNode.setStyle("background-image", "url("+this.path+this.options.style+"/icon/dingding.png)"); this.titleNode.set("text", this.lp.dingding); this.loadAddAction(); }else{ this.iconNode.setStyle("background-image", ""); this.titleNode.set("text", this.lp.disabled); } if (callback) callback(); }.bind(this)); }, loadAddAction: function(){ if (MWF.AC.isMessageManager()){ this.addAction = new Element("div", {"styles": this.css.addAction, "title": this.lp.new}).inject(this.actionArea); this.addAction.addEvents({ "click": function(){ this.createMessage(); }.bind(this) }); } }, loadMenu1: function(){ this.actionArea = new Element("div", {"styles": this.css.actionArea}).inject(this.menuNode); this.searchArea = new Element("div", {"styles": this.css.searchArea}).inject(this.menuNode); this.addAction = new Element("div", {"styles": this.css.addAction, "title": this.lp.new}).inject(this.actionArea); this.searchNode = new Element("div", {"styles": this.css.searchNode}).inject(this.searchArea); this.searchActionNode = new Element("div", {"styles": this.css.searchActionNode}).inject(this.searchNode); this.searchBarNode = new Element("div", {"styles": this.css.searchBarNode}).inject(this.searchNode); this.searchInput = new Element("input", {"styles": this.css.searchInput, "value": this.lp.search}).inject(this.searchBarNode); this.searchInput.addEvents({ "focus": function(){if (this.searchInput.get("value")===this.lp.search) this.searchInput.set("value", "");}.bind(this), "blur": function(){if (!this.searchInput.get("value")) this.searchInput.set("value", this.lp.search);}.bind(this), "keydown": function(e){ if (e.code===13) this.search(); var key = this.searchInput.get("value"); if (key && key!==this.lp.search){ this.showSearchClear(); }else{ this.clearSearch(); this.hideSearchClear(); } }.bind(this) }); this.searchActionNode.addEvents({ "mouseover": function(){this.setStyle("background-color", "#eeeeee")}, "mouseout": function(){this.setStyle("background-color", "#ffffff")}, "click": function(){this.search();}.bind(this) }); this.addAction.addEvents({ "click": function(e){ this.createMessage(e); }.bind(this) }); }, loadList: function(){ var action = MWF.Actions.get("x_message_assemble_communicate"); action.list(this.lastId, this.listPageCount, function(json){ var count = json.data.length; if (!count){ if (this.lastId==="(0)"){ this.createNoListNode(); this.listAll = true; } }else{ this.createListNodes(json.data); this.lastId = json.data[json.data.length-1].id; } if (count