| 1 |
- var MWFCalendar=MWF.xApplication.Calendar=MWF.xApplication.Calendar||{};MWF.require("MWF.xDesktop.UserData",null,false);MWF.require("MWF.xAction.org.express.RestActions",null,false);MWF.xDesktop.requireApp("Calendar","Common",null,false);MWF.xDesktop.requireApp("Template","MDomItem",null,false);MWF.xApplication.Calendar.options.multitask=false;MWFCalendar.LeftNaviWidth=200;MWF.xApplication.Calendar.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"Calendar",icon:"icon.png",width:"1000",height:"600",isResize:true,isMax:true,title:MWF.xApplication.Calendar.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.Calendar.LP;this.menuMode="show";this.isManager=MWF.AC.isAdministrator();this.userName=(layout.desktop.session.user||layout.user).distinguishedName;if(!this.actions)this.actions=MWF.Actions.get("x_calendar_assemble_control");if(!this.personActions)this.personActions=MWF.Actions.get("x_organization_assemble_express")},loadApplication:function(n){MWF.UD.getDataJson("calendarConfig",function(e){this.calendarConfig=e||{};MWF.UD.getPublicData("calendarConfig",function(e){var t=e||{};if(t.process){this.calendarConfig.process=t.process}else{this.calendarConfig.process=null}if(t.weekBegin){this.calendarConfig.weekBegin=t.weekBegin}for(var i in t){if(i!="process"&&i!="weekBegin"){this.calendarConfig[i]=t[i]}}if(!this.calendarConfig.disableViewList)this.calendarConfig.disableViewList=[];this.createNode();if(!this.options.isRefresh){this.maxSize(function(){this.listCalendar(function(){this.loadLayout()}.bind(this))}.bind(this))}else{this.listCalendar(function(){this.loadLayout()}.bind(this))}if(n)n()}.bind(this))}.bind(this))},listCalendar:function(t){this.actions.listMyCalendar(function(e){if((e.data.myCalendars||[]).length==0){this.createDefaultCalendar(function(){if(t)t()})}else{this.calendarDataList=e.data.myCalendars;this.currentCalendarData=e.data.myCalendars[0];if(t)t()}}.bind(this))},getSelectedCalendarId:function(){if(this.leftNavi){return this.leftNavi.getSelectedCalendarId()}else{return null}},createDefaultCalendar:function(t){this.actions.saveCalendar({name:"我的日历",type:"person",color:"",description:"",source:"PERSON",isPublic:false},function(){this.actions.listMyCalendar(function(e){if((e.data.myCalendars||[]).length==0){}else{this.calendarDataList=e.data.myCalendars;this.currentCalendarData=e.data.myCalendars[0];if(t)t()}}.bind(this))}.bind(this))},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content);this.naviContainerNode=new Element("div.naviContainerNode",{styles:this.css.naviContainerNode}).inject(this.node);this.leftTitleNode=new Element("div.leftTitleNode",{styles:this.css.leftTitleNode}).inject(this.naviContainerNode);this.rightContentNode=new Element("div",{styles:this.css.rightContentNode}).inject(this.node)},loadLayout:function(){if(this.status&&this.status.action){this.defaultAction=this.status.action}else if(this.calendarConfig.defaultView){this.defaultAction=this.calendarConfig.defaultView}else{this.defaultAction="toMonth"}if(this.calendarConfig.disableViewList.contains(this.defaultAction)){this.defaultAction=""}this.loadNaviTitleNode();this.loadLeftNavi();this.topMenu=new Element("div",{styles:this.css.topMenu}).inject(this.rightContentNode);this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.rightContentNode);this.loadTopMenus();this.resizeNodes();this.resizeNodesFun=this.resizeNodes.bind(this);this.addEvent("resize",this.resizeNodesFun)},loadNaviTitleNode:function(){this.titleContentNode=new Element("div.titleContentNode",{styles:this.css.titleContentNode}).inject(this.leftTitleNode);this.newCalendarNode=new Element("div",{styles:this.css.newCalendarNode,text:"创建新日历",events:{mouseover:function(e){e.target.setStyles(this.css.newCalendarNode_over)}.bind(this),mouseout:function(e){e.target.setStyles(this.css.newCalendarNode)}.bind(this),click:function(){this.addCalendar()}.bind(this)}}).inject(this.titleContentNode)},loadLeftNavi:function(){this.naviNode=new Element("div.naviNode",{styles:this.css.naviNode}).inject(this.naviContainerNode);this.leftNavi=new MWF.xApplication.Calendar.Navi(this,this.naviNode,{})},loadTopMenus_middle:function(){},loadTopMenus_right:function(){this.topMenuRight=new Element("div",{styles:this.css.topMenuRight}).inject(this.topMenu);this.createTopMenu_right(this.lp.addEvent,"icon_newapply","addCalendarEvent");var e=this.createTopMenu_right(this.lp.setting,"icon_shezhi","config");e.setStyle("float","right")},createTopMenu_right:function(e,t,i){var n=new Element("div",{styles:this.css.topMenuNode_right,title:e}).inject(this.topMenuRight);var s=new Element("div",{styles:this.css.topMenuIconNode}).inject(n);var a=new Element("div",{styles:this.css.topMenuTextNode,text:e}).inject(n);s.setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+t+".png) no-repeat center center");n.store("icon",t);n.store("iconNode",s);var o=this;n.addEvents({mouseover:function(){this.node.setStyles(o.css.topMenuNode_over);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+"_click.png) no-repeat center center")}.bind({node:n}),mouseout:function(){this.node.setStyles(o.css.topMenuNode_right);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+".png) no-repeat center center")}.bind({node:n}),click:function(){this.node.setStyles(o.css.topMenuNode_down);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+"_click.png) no-repeat center center");if(o[i])o[i].apply(o)}.bind({node:n})});return n},loadTopMenus:function(){this.createTopMenu(this.lp.month,"icon_yue","toMonth");this.createTopMenu(this.lp.week,"icon_zhou","toWeek");this.createTopMenu(this.lp.day,"icon_ri","toDay");this.createTopMenu(this.lp.list,"icon_liebiao","toList");this.loadTopMenus_middle();this.loadTopMenus_right()},isViewAvailable:function(e){return!this.calendarConfig.disableViewList.contains(e)},createTopMenu:function(e,t,i){if(this.calendarConfig.disableViewList.contains(i))return;if(this.calendarConfig[i+"ViewName"]){e=this.calendarConfig[i+"ViewName"]}var n=new Element("div",{styles:this.css.topMenuNode}).inject(this.topMenu);var s=new Element("div",{styles:this.css.topMenuIconNode}).inject(n);s.setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+t+".png) no-repeat center center");var a=new Element("div",{styles:this.css.topMenuTextNode,text:e}).inject(n);n.store("icon",t);n.store("iconNode",s);n.store("action",i);var o=this;n.addEvents({mouseover:function(){if(this.node!=o.currentTopMenuNode){this.node.setStyles(o.css.topMenuNode_over);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+"_click.png) no-repeat center center")}}.bind({node:n}),mouseout:function(){if(this.node!=o.currentTopMenuNode){this.node.setStyles(o.css.topMenuNode);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+".png) no-repeat center center")}}.bind({node:n}),click:function(){if(this.node!=o.currentTopMenuNode){this.node.setStyles(o.css.topMenuNode_down);this.node.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+this.node.retrieve("icon")+"_click.png) no-repeat center center")}if(o.currentTopMenuNode&&this.node!=o.currentTopMenuNode){o.currentTopMenuNode.setStyles(o.css.topMenuNode);o.currentTopMenuNode.retrieve("iconNode").setStyle("background","url(/x_component_Calendar/$Main/default/icon/"+o.currentTopMenuNode.retrieve("icon")+".png) no-repeat center center")}o.currentTopMenuNode=this.node;if(o[i])o[i].apply(o)}.bind({node:n})});if(this.defaultAction){if(this.defaultAction==i){n.click()}}else if(!this.loaded){n.click();this.loaded=true}this.resizeNodes();return n},hideCurrentView:function(){if(this.currentView){this.currentView.hide();this.currentView=null}},toList:function(){this.contentNode.setStyle("background","#EEE");if(this.currentView){this.currentView.destroy();this.currentView=null}this.listView=null;this.getListView(function(){this.listView.show();this.currentView=this.listView}.bind(this))},getListView:function(t){if(!this.listView){MWF.xDesktop.requireApp("Calendar","ListView",function(){var e;if(this.status&&this.status.options){e=this.status.options}else if(this.currentDate){}this.listView=new MWF.xApplication.Calendar.ListView(this.contentNode,this,e);if(e&&this.status)this.status.options=null;if(t)t()}.bind(this))}else{if(t)t()}},toMonth:function(){this.contentNode.setStyle("background","#EEE");if(this.currentView){this.currentView.destroy();this.currentView=null}this.monthView=null;this.getMonthView(function(){this.monthView.show();this.currentView=this.monthView}.bind(this))},getMonthView:function(t){if(!this.monthView){MWF.xDesktop.requireApp("Calendar","MonthView",function(){var e;if(this.status&&this.status.options){e=this.status.options}else if(this.currentDate){}this.monthView=new MWF.xApplication.Calendar.MonthView(this.contentNode,this,e);if(e&&this.status)this.status.options=null;if(t)t()}.bind(this))}else{if(t)t()}},toWeek:function(){this.contentNode.setStyle("background","#EEE");if(this.currentView){this.currentView.destroy();this.currentView=null}this.weekView=null;this.getWeekView(function(){this.weekView.show();this.currentView=this.weekView}.bind(this))},getWeekView:function(t){if(!this.weekView){MWF.xDesktop.requireApp("Calendar","WeekView",function(){var e;if(this.status&&this.status.options){e=this.status.options}else if(this.currentDate){}this.weekView=new MWF.xApplication.Calendar.WeekView(this.contentNode,this,e);if(e&&this.status)this.status.options=null;if(t)t()}.bind(this))}else{if(t)t()}},toDay:function(e){this.contentNode.setStyle("background","#EEE");if(this.currentView){this.currentView.destroy();this.currentView=null}this.dayView=null;this.getDayView(function(){this.dayView.show();this.currentView=this.dayView}.bind(this),e)},getDayView:function(t,i){if(!this.dayView){MWF.xDesktop.requireApp("Calendar","DayView",function(){var e;if(this.status&&this.status.options){e=this.status.options}else if(i){e={date:i}}else if(this.currentDate){}this.dayView=new MWF.xApplication.Calendar.DayView(this.contentNode,this,e);if(this.status&&this.status)this.status.options=null;if(t)t()}.bind(this))}else{this.dayView.toDay(i);if(t)t()}},addCalendarEvent:function(n,s,a,o){MWF.UD.getPublicData("calendarConfig",function(e){var t=e?e.process:null;if(t){this.loadCalendarProcess(t)}else{var i=new MWF.xApplication.Calendar.EventForm(this,{},{date:n,hour:s,minute:a,defaultCalendarId:o},{app:this});i.view=this;i.create()}}.bind(this))},addCalendar:function(){var e=new MWF.xApplication.Calendar.CalendarForm(this,{},{},{app:this});e.view=this.leftNavi;e.create()},editCalendar:function(e){var t=new MWF.xApplication.Calendar.CalendarForm(this,e,{},{app:this});t.view=this.leftNavi;t.edit()},openCalendar:function(e){var t=new MWF.xApplication.Calendar.CalendarForm(this,e,{},{app:this});t.view=this.leftNavi;t.open()},loadCalendarProcess:function(e){this.getProcess(e,function(t){MWF.xDesktop.requireApp("process.TaskCenter","ProcessStarter",function(){var e=new MWF.xApplication.process.TaskCenter.ProcessStarter(t,this,{onStarted:function(e,t,i){this.afterStartProcess(e,t,i)}.bind(this)});e.load()}.bind(this))}.bind(this))},afterStartProcess:function(e,t,i){var n=[];var s=[];e.each(function(e){if(e.currentTaskIndex!==-1)s.push(e.taskList[e.currentTaskIndex].work);n.push(this.getStartWorkInforObj(e))}.bind(this));if(s.length===1){var a={workId:s[0],appId:s[0]};this.desktop.openApplication(null,"process.Work",a);this.createStartWorkResault(n,t,i,false)}else{this.createStartWorkResault(n,t,i,true)}},createStartWorkResault:function(e,t,i,n){var s="";e.each(function(e){var t=[];e.users.each(function(e){t.push(MWF.name.cn(e))});s+="<div><b>"+this.lp.nextActivity+'<font style="color: #ea621f">'+e.activity+"</font>, "+this.lp.nextUser+'<font style="color: #ea621f">'+t.join(", ")+"</font></b>";if(e.currentTask&&n){s+=' <span value="'+e.currentTask+'">'+this.lp.deal+"</span></div>"}else{s+="</div>"}}.bind(this));var a={subject:this.lp.processStarted,content:"<div>"+this.lp.processStartedMessage+"“["+i+"]"+t+"”</div>"+s};var o=layout.desktop.message.addTooltip(a);var l=layout.desktop.message.addMessage(a);this.setStartWorkResaultAction(o);this.setStartWorkResaultAction(l)},getStartWorkInforObj:function(i){var n=[];var s="";i.taskList.each(function(e,t){n.push(e.person+"("+e.department+")");if(i.currentTaskIndex===t)s=e.id}.bind(this));return{activity:i.fromActivityName,users:n,currentTask:s}},setStartWorkResaultAction:function(e){var t=e.node.getElements("span");t.setStyles(this.app.css.dealStartedWorkAction);var i=this;t.addEvent("click",function(e){var t={taskId:this.get("value"),appId:this.get("value")};i.desktop.openApplication(e,"process.Work",t)})},getProcess:function(e,t){if(t)t(e)},config:function(){new MWF.xApplication.Calendar.Config(this,this.calendarConfig)},recordStatus:function(){return{action:this.currentTopMenuNode?this.currentTopMenuNode.retrieve("action"):"toMyCalendar",options:this.currentView.recordStatus?this.currentView.recordStatus():null}},reloadView:function(){if(this.currentView){this.currentView.reload()}},reload:function(){this.refresh()},loadSideBar:function(){},resizeNodes:function(){this.showLeftNavi=true;if(this.inContainer){var e=this.container.getSize()}else{var e=this.node.getSize()}this.naviContainerNode.setStyle("height",""+e.y+"px");if(this.showLeftNavi){this.rightContentNode.setStyle("width",e.x-MWFCalendar.LeftNaviWidth)}if(this.currentView){this.currentView.resetNodeSize()}if(this.leftNavi)this.leftNavi.resizeNode()}});MWF.xApplication.Calendar.Navi=new Class({Implements:[Options,Events],options:{},initialize:function(e,t,i){this.setOptions(i);this.app=e;this.node=$(t);this.css=this.app.css;this.load()},load:function(){this.naviContainer=new Element("div",{styles:{overflow:"hidden"}}).inject(this.node);this.naviNode=new Element("div").inject(this.naviContainer);this.myCalendarNaviItem=[];this.unitCalendarNaviItem=[];this.followCalendarNaviItem=[];this.app.actions.listMyCalendar(function(e){this.myCalendars=e.data.myCalendars;this.unitCalendars=e.data.unitCalendars;this.followCalendars=e.data.followCalendars;this.loadNode()}.bind(this));this.scrollBar=new MWF.widget.ScrollBar(this.naviContainer,{indent:false,style:"default",where:"before",distance:60,friction:4,axis:{x:false,y:true},onScroll:function(e){}.bind(this)})},loadNode:function(){this.loadMyCalendar();this.loadUnitCalendar();this.loadFollowCalendar();this.loadMoreCalendarNode()},reload:function(){this.node.empty();this.load()},loadMoreCalendarNode:function(){this.seeMore=new Element("div.seeMore",{styles:this.css.seeMoreNode,text:"日历广场",events:{mouseover:function(e){e.target.setStyles(this.css.seeMoreNode_over)}.bind(this),mouseout:function(e){e.target.setStyles(this.css.seeMoreNode)}.bind(this),click:function(e){var t=new MWF.xApplication.Calendar.CalendarMarket(this.app,{},{},{app:this.app});t.view=this.leftNavi;t.create()}.bind(this)}}).inject(this.node)},selectSingleCalendar:function(t){this.myCalendarNaviItem.each(function(e){if(e.isSelected&&e.data.id!==t){e.cancelSelect()}if(!e.isSelected&&e.data.id==t){e.select()}});this.unitCalendarNaviItem.each(function(e){if(e.isSelected&&e.data.id!==t){e.cancelSelect()}if(!e.isSelected&&e.data.id==t){e.select()}});this.followCalendarNaviItem.each(function(e){if(e.isSelected&&e.data.id!==t){e.cancelSelect()}if(!e.isSelected&&e.data.id==t){e.select()}});this.app.reloadView()},getSelectedCalendarId:function(){var t=[];this.myCalendarNaviItem.each(function(e){if(e.isSelected)t.push(e.data.id)});this.unitCalendarNaviItem.each(function(e){if(e.isSelected)t.push(e.data.id)});this.followCalendarNaviItem.each(function(e){if(e.isSelected)t.push(e.data.id)});return t},loadMyCalendar:function(){var t=this.createCategoryNode("我的日历");this.myCalendars.each(function(e){this.myCalendarNaviItem.push(new MWF.xApplication.Calendar.NaviItem(this,t,e,{isSelected:true}))}.bind(this))},loadUnitCalendar:function(){var t=this.createCategoryNode("组织日历");this.unitCalendars.each(function(e){this.unitCalendarNaviItem.push(new MWF.xApplication.Calendar.NaviItem(this,t,e,{isSelected:true}))}.bind(this))},loadFollowCalendar:function(){var t=this.createCategoryNode("关注的日历");this.followCalendars.each(function(e){this.followCalendarNaviItem.push(new MWF.xApplication.Calendar.NaviItem(this,t,e,{isSelected:true}))}.bind(this))},createCategoryNode:function(e){var i=this;var t=new Element("div.categoryNaviNode",{styles:this.css.categoryNaviNode}).inject(this.naviNode);var n=new Element("div.categoryExpendNode",{styles:this.css.categoryExpendNode}).inject(t);t.addEvent("click",function(e){var t=this.categoryNaviNode;if(t.retrieve("isExpended")){t.store("isExpended",false);t.retrieve("expendNode").setStyles(i.css.categoryCollapseNode);t.retrieve("listNode").setStyle("display","none")}else{t.store("isExpended",true);t.retrieve("expendNode").setStyles(i.css.categoryExpendNode);t.retrieve("listNode").setStyle("display","")}}.bind({categoryNaviNode:t}));var s=new Element("div.categoryNaviTextNode",{styles:this.css.categoryNaviTextNode,text:e}).inject(t);var a=new Element("div.viewNaviListNode",{styles:this.css.viewNaviListNode}).inject(this.naviNode);t.store("isExpended",true);t.store("expendNode",n);t.store("textNode",s);t.store("listNode",a);return a},resizeNode:function(){if(this.app.inContainer){var e=this.app.container.getSize()}else{var e=this.app.node.getSize()}this.node.setStyle("height",e.y-80);this.naviContainer.setStyle("height",e.y-122)}});MWF.xApplication.Calendar.NaviItem=new Class({Implements:[Options,Events],options:{style:"default",index:0,isSelected:true},initialize:function(e,t,i,n){this.setOptions(n);this.navi=e;this.app=e.app;this.data=i;this.container=$(t);this.css=this.app.css;this.load()},load:function(){this.isSelected=this.options.isSelected;var t=this;this.node=new Element("div.naviItemNode",{styles:this.css.naviItemNode}).inject(this.container);this.node.addEvents({mouseover:function(){this.setStyles(t.css.naviItemNode_over);t.actionNode.fade("in")},mouseout:function(){this.setStyles(t.css.naviItemNode);t.actionNode.fade("out")},click:function(e){if(t.isSelected){t.cancelSelect(true)}else{t.select(true)}}});this.actionNode=new Element("div.naviItemActionNode",{styles:this.css.naviItemActionNode,events:{click:function(e){e.stopPropagation()}.bind(this)}}).inject(this.node);this.colorNode=new Element("div",{styles:this.css.naviColorNode}).inject(this.node);this.colorNode.setStyle("border-color",this.data.color);this.textNode=new Element("div.naviItemTextNode",{styles:this.css.naviItemTextNode,text:this.data.name,title:this.data.name}).inject(this.node);if(this.isSelected){this.select()}this.loadActionsMenu()},select:function(e){this.isSelected=true;this.colorNode.setStyle("background-color",this.data.color);this.colorNode.setStyles(this.css.naviColorNode_selected);if(e)this.app.reloadView()},cancelSelect:function(e){this.isSelected=false;this.colorNode.setStyle("background-color","transparent");this.colorNode.setStyles(this.css.naviColorNode);this.colorNode.setStyle("border-color",this.data.color);if(e)this.app.reloadView()},loadActionsMenu:function(){this.menu=new MWF.xApplication.Calendar.CalendarMenu(this.actionNode,{},this.app,{},this.app.node);this.menu.calendarData=this.data;this.menu.load()}});MWF.xDesktop.requireApp("Template","MSelector",null,false);MWF.xApplication.Calendar.CalendarMenu=new Class({Extends:MSelector,options:{style:"arrow",width:"150px",height:"36px",defaultOptionLp:"字体",textField:"name",valueField:"val",event:"mouseenter",isSetSelectedValue:false,isChangeOptionStyle:false,emptyOptionEnable:false,containerIsTarget:true,tooltipsOptions:{axis:"x",hasArrow:true}},_selectItem:function(e,t,i){if(this[t.val]){this[t.val](i)}},showThis:function(){this.app.leftNavi.selectSingleCalendar(this.calendarData.id)},createEvent:function(){this.app.addCalendarEvent(null,null,null,this.calendarData.id)},openCalendar:function(){this.app.actions.getCalendar(this.calendarData.id,function(e){this.app.openCalendar(e.data)}.bind(this))},editCalendar:function(){this.app.actions.getCalendar(this.calendarData.id,function(e){this.app.editCalendar(e.data)}.bind(this))},deleteCalendar:function(e){var t=this;t.app.confirm("warn",e,"删除确认","删除后无法恢复,确定要删除“"+t.calendarData.name+"”?",300,120,function(){t.app.actions.deleteCalendar(t.calendarData.id,function(e){t.app.notice("删除成功");t.app.leftNavi.reload()}.bind(this));this.close()},function(){this.close()},null)},_loadData:function(e){var t=[{name:"只显示当前日历",val:"showThis"}];if(this.calendarData.publishable||this.calendarData.manageable){t.push({name:"新建日程",val:"createEvent"})}if(this.calendarData.manageable){t.push({name:"编辑日历",val:"editCalendar"},{name:"删除日历",val:"deleteCalendar"})}else{t.push({name:"日历详情",val:"openCalendar"})}if(e)e(t)},_postCreateItem:function(e,t){e.setStyles({cursor:"pointer","font-size":"14px","min-height":"36px","line-height":"36px"})}});MWF.xApplication.Calendar.CalendarMarket=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"meeting",width:"1100",height:"80%",hasTop:true,hasIcon:false,hasBottom:false,hasTopIcon:false,hasTopContent:false,draggable:true,maxAction:true,closeAction:true,title:"日历广场"},_createTableContent:function(){var d=this;this.formTableContainer.setStyles({width:"auto","padding-top":"20px","padding-left":"20px"});this.formTableArea.setStyle("overflow","hidden");this.app.actions.listPublicCalendar(function(e){if(!e.data||e.data.length==0){this.noCalendarNode=new Element("div",{styles:this.css.noCalendarNode,text:"系统内还没有公开日历!"}).inject(this.formTableArea)}else{(e.data||[]).each(function(e){var t=new Element("div",{styles:this.css.marketNode}).inject(this.formTableArea);t.setStyle("border-left","5px solid "+e.color);var i=new Element("div",{styles:this.css.marketItemNode}).inject(t);var n=new Element("div",{styles:this.css.marketItemTopNode}).inject(i);var s=new Element("div",{styles:this.css.marketItemTitleNode,text:e.name}).inject(n);s.setStyle("color",e.color);var a=new Element("div",{styles:this.css.marketItemMiddleNode}).inject(i);new Element("div",{styles:this.css.marketItemTopLable,text:"创建:"}).inject(a);new Element("div",{styles:this.css.marketItemTopInfor,text:e.createor.split("@")[0]+","}).inject(a);new Element("div",{styles:this.css.marketItemTopLable,text:"时间:"}).inject(a);new Element("div",{styles:this.css.marketItemTopInfor,text:e.createTime.split(" ")[0]}).inject(a);var a=new Element("div",{styles:this.css.marketItemMiddleNode}).inject(i);new Element("div",{styles:this.css.marketItemTopLable,text:"类型:"}).inject(a);new Element("div",{styles:this.css.marketItemTopInfor,text:e.type=="PERSON"?"个人":"组织,"}).inject(a);if(e.type=="UNIT"){new Element("div",{styles:this.css.marketItemTopLable,text:"所属:"}).inject(a);new Element("div",{styles:this.css.marketItemTopInfor,text:e.target.split("@")[0],title:e.target.split("@")[0]}).inject(a)}var a=new Element("div",{styles:this.css.marketItemMiddleNode}).inject(i);new Element("div",{styles:this.css.marketItemTopLable,text:"备注:"}).inject(a);new Element("div",{styles:this.css.marketItemDescriptiontInfor,text:e.description,title:e.description}).inject(a);var o,l;var o=new Element("div",{styles:this.css.marketItemFollowedAction,text:"已关注",title:"点击取消关注",events:{click:function(){d.app.actions.followCalendarCancel(e.id,function(){d.app.notice("取消关注成功");d.needReload=true;this.followedAction.setStyle("display","none");this.followAction.setStyle("display","")}.bind({followedAction:o,followAction:l}))}.bind(this)}}).inject(t);if(!e.followed)o.setStyle("display","none");var l=new Element("div",{styles:this.css.marketItemFollowAction,text:"关注",events:{click:function(){d.app.actions.followCalendar(e.id,function(){d.app.notice("关注成功");d.needReload=true;this.followedAction.setStyle("display","");this.followAction.setStyle("display","none")}.bind({followedAction:o,followAction:l}))}.bind(this)}}).inject(t);if(e.followed)l.setStyle("display","none")}.bind(this))}}.bind(this))},_close:function(){if(this.needReload)this.app.reload()}});MWF.xApplication.Calendar.Config=new Class({Implements:[Events],initialize:function(e){this.app=e;this.css=this.app.css;this.lp=this.app.lp;this.configData=this.app.calendarConfig||{};this.process=null;MWF.UD.getPublicData("calendarConfig",function(e){var t=e||{};if(t.weekBegin){this.configData.weekBegin=t.weekBegin}for(var i in t){if(i!="process"&&i!="weekBegin"&&i!="mobileCreateEnable"){this.configData[i]=t[i]}}this.load()}.bind(this))},load:function(){this.node=new Element("div",{styles:this.css.configNode}).inject(this.app.node);this.contentNode=new Element("div",{styles:this.css.configContentNode}).inject(this.node);var e="overflow: hidden;margin-top:6px;margin-left:10px;";var t="float: left; width: 16px; height: 16px; border-radius: 100px; ";var i="float: left; width: 14px; height: 14px; border-radius: 100px; ";var n="margin-left:35px; line-height:16px; height:16px;font-size:14px;color:#666;";var s="font-size:14px;color:#666;heigh:16px;margin-top:6px;margin-left:10px;";var a="float:right; width:120px; border:1px solid #ccc";var o=this.configData;var l=this.lp.config;var d="<div class='configTitle'>"+this.lp.config["default"]+"</div>"+"<div>";if(!o.disableViewList.contains("toMonth")){d+=" <div style='"+s+"'>"+"<input type='radio' name='configSelectDefaultView' "+(o.defaultView=="toMonth"?"checked":"")+" value='toMonth'>"+(o.toMonthViewName||this.lp.month)+" </div>"}if(!o.disableViewList.contains("toWeek")){d+=" <div style='"+s+"'>"+"<input type='radio' name='configSelectDefaultView' "+(o.defaultView=="toWeek"?"checked":"")+" value='toWeek'>"+(o.toWeekViewName||this.lp.week)+" </div>"}if(!o.disableViewList.contains("toDay")){d+=" <div style='"+s+"'>"+"<input type='radio' name='configSelectDefaultView' "+(o.defaultView=="toDay"?"checked":"")+" value='toDay'>"+(o.toDayViewName||this.lp.day)+" </div>"}if(!o.disableViewList.contains("toList")){d+=" <div style='"+s+"'>"+"<input type='radio' name='configSelectDefaultView' "+(o.defaultView=="toList"?"checked":"")+" value='toList'>"+(o.toListViewName||this.lp.list)+" </div>"}d+="</div>";if(MWF.AC.isAdministrator()){o.disableViewList=o.disableViewList||[];d+="<div class='line'></div>"+"<div class='configTitle'>"+this.lp.config.viewSetting+"</div>"+"<div>"+" <div style='"+s+"'>"+"<input type='checkbox' name='configAvailableView' "+(!o.disableViewList.contains("toMonth")?"checked":"")+" value='toMonth'>"+this.lp.month+"<input type='text' name='toMonthViewName' value='"+(o.toMonthViewName||"")+"' style='"+a+"' placeholder='"+this.lp.config.viewCustomName+"' >"+" </div>"+" <div style='"+s+"'>"+"<input type='checkbox' name='configAvailableView' "+(!o.disableViewList.contains("toWeek")?"checked":"")+" value='toWeek'>"+this.lp.week+"<input type='text' name='toWeekViewName' value='"+(o.toWeekViewName||"")+"' style='"+a+"' placeholder='"+this.lp.config.viewCustomName+"' >"+" </div>"+" <div style='"+s+"'>"+"<input type='checkbox' name='configAvailableView' "+(!o.disableViewList.contains("toDay")?"checked":"")+" value='toDay'>"+this.lp.day+"<input type='text' name='toDayViewName' value='"+(o.toDayViewName||"")+"' style='"+a+"' placeholder='"+this.lp.config.viewCustomName+"' >"+" </div>"+" <div style='"+s+"'>"+"<input type='checkbox' name='configAvailableView' "+(!o.disableViewList.contains("toList")?"checked":"")+" value='toList'>"+this.lp.list+"<input type='text' name='toListViewName' value='"+(o.toListViewName||"")+"' style='"+a+"' placeholder='"+this.lp.config.viewCustomName+"' >"+" </div>"+"</div>"+"<div class='line'></div>"+"<div class='configTitle'>"+this.lp.config.weekBegin+"</div>"+"<div><select name='configSelectWeekBeign'>"+"<option value='0' "+(o.weekBegin=="0"?"selected":"")+">"+this.lp.weeks.Sun+"</option>"+"<option value='1' "+(o.weekBegin=="1"?"selected":"")+">"+this.lp.weeks.Mon+"</option>"+"</select></div>"}this.contentNode.set("html",d);this.contentNode.getElements("div.line").setStyles(this.css.configContentLine);this.contentNode.getElements("div.configTitle").setStyles(this.css.configTitleDiv);if(MWF.AC.isAdministrator()){}this.actionNode=new Element("div",{styles:this.css.configActionNode}).inject(this.node);this.cancelNode=new Element("div",{styles:this.css.configActionCancelNode,text:this.app.lp.cancel}).inject(this.actionNode);this.saveNode=new Element("div",{styles:this.css.configActionSaveNode,text:this.app.lp.save}).inject(this.actionNode);this.cancelNode.addEvent("click",this.hide.bind(this));this.saveNode.addEvent("click",this.save.bind(this));this.node.addEvent("mousedown",function(e){e.stopPropagation()}.bind(this));this.setSize();this.show()},setSize:function(){var e=this.node.getSize().y;if(this.app.inContainer){var t=this.app.container.getSize().y}else{var t=this.app.content.getSize().y}if(e>t-50){this.node.setStyle("height",t-50)}},createApplicationSelect:function(){if(this.configData.process){MWF.require("MWF.widget.O2Identity",function(){var e=new MWF.widget.O2Process(this.configData.process,this.processNode)}.bind(this))}this.processNode.addEvent("click",function(){MWF.xDesktop.requireApp("Selector","package",function(){var e={type:"Process",values:[this.process||this.configData.process],count:1,onComplete:function(t){this.processNode.empty();this.process=null;this.configData.process=null;if(t.length){MWF.require("MWF.widget.O2Identity",function(){var e=new MWF.widget.O2Process(t[0].data,this.processNode);this.process={name:t[0].data.name,id:t[0].data.id,application:t[0].data.application,applicationName:t[0].data.applicationName,alias:t[0].data.alias};this.configData.process=this.process}.bind(this))}}.bind(this)};var t=new MWF.O2Selector(this.app.content,e)}.bind(this))}.bind(this))},save:function(){var e="toMyCalendar";var t=null;var i=this.contentNode.getElements("input[name='configSelectDefaultView']");for(var n=0;n<i.length;n++){if(i[n].checked){e=i[n].get("value");break}}MWF.UD.putData("calendarConfig",{defaultView:e},null,false);if(MWF.AC.isAdministrator()){var s=[];var a=this.contentNode.getElements("input[name='configAvailableView']");for(var n=0;n<a.length;n++){if(!a[n].checked){s.push(a[n].get("value"))}}var o=this.contentNode.getElement("select[name='configSelectWeekBeign']");var l="0";if(o){l=o.options[o.selectedIndex].get("value")}MWF.UD.putPublicData("calendarConfig",{weekBegin:l,disableViewList:s,toMonthViewName:this.contentNode.getElement("input[name='toMonthViewName']").get("value"),toWeekViewName:this.contentNode.getElement("input[name='toWeekViewName']").get("value"),toDayViewName:this.contentNode.getElement("input[name='toDayViewName']").get("value"),toListViewName:this.contentNode.getElement("input[name='toListViewName']").get("value")},null,false)}this.app.notice(this.app.lp.config_saveSuccess,"success");this.hide()},show:function(){this.node.setStyles(this.css.configNode);var e=new Fx.Morph(this.node,{duration:"500",transition:Fx.Transitions.Expo.easeOut});e.start({opacity:1}).chain(function(){this.hideFun=this.hide.bind(this);this.app.node.addEvent("mousedown",this.hideFun)}.bind(this))},hide:function(){this.node.destroy();this.app.node.removeEvent("mousedown",this.hideFun);MWF.release(this)}});
|