| 1 |
- MWF.xApplication.cms=MWF.xApplication.cms||{};MWF.xApplication.cms.Explorer=MWF.xApplication.cms.Explorer||{};MWF.require("MWF.xAction.org.express.RestActions",null,false);MWF.require("MWF.widget.Mask",null,false);MWF.require("MWF.widget.Identity",null,false);MWF.xDesktop.requireApp("cms.Explorer","lp."+MWF.language,null,false);MWF.xDesktop.requireApp("cms.Explorer","package",null,false);MWF.xApplication.cms.Explorer.Explorer=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",status:"published",tooltip:{}},initialize:function(t,e,i,s,o){this.setOptions(o);this.setTooltip();this.path="/x_component_cms_Explorer/$Explorer/";this.cssPath="/x_component_cms_Explorer/$Explorer/"+this.options.style+"/css.wcss";this._loadCss();this.categoryData=s;this.columnData=i;this.actions=e;this.node=$(t);this.initData();if(!this.personActions)this.personActions=new MWF.xAction.org.express.RestActions},setTooltip:function(t){if(t)this.options.tooltip=Object.merge(this.options.tooltip,t)},initData:function(){this.deleteMarkItems=[];this.toolItemNodes=[];this.documents=null;this.items=[];this.documents={};this.isItemsLoaded=false;this.isItemLoadding=false;this.loadItemQueue=0},reload:function(){this.node.empty();this.load()},load:function(){this.toolbarNode=new Element("div",{styles:this.css.toolbarNode});this.toolbarNode.inject(this.node);this.loadStatusBar();this.loadToolbar();this.filterConditionNode=new Element("div",{styles:this.css.filterConditionNode}).inject(this.node);this.loadContentNode();this.setNodeScroll();this.mask=new MWF.widget.Mask({style:"desktop"});this.mask.loadNode(this.node);this.loadElementList()},loadController:function(t){this.controllers=[];this.app.restActions.listColumnController(this.columnData.id,function(e){e.data=e.data||[];e.data.each(function(t){this.controllers.push(t.adminUid)}.bind(this));if(t)t(e)}.bind(this))},loadStatusBar:function(){var t=this;this.statusListNode=new Element("div",{styles:this.css.filterStatusListNode}).inject(this.toolbarNode);this.draftStatusNode=new Element("div",{styles:this.options.status=="draft"?this.css.filterStatusNode_current:this.css.filterStatusNode,text:this.app.lp.draftStatus}).inject(this.statusListNode);this.draftStatusNode.addEvents({click:function(){t.currentStatusNode.setStyles(t.css.filterStatusNode);t.draftStatusNode.setStyles(t.css.filterStatusNode_current);t.currentStatusNode=t.draftStatusNode;t.options.status="draft";t.reloadElementContent();if(t.filter)t.filter.filterConditionNode.empty()}});if(this.options.status=="draft")this.currentStatusNode=this.draftStatusNode;this.publishedStatusNode=new Element("div",{styles:this.options.status=="published"?this.css.filterStatusNode_current:this.css.filterStatusNode,text:this.app.lp.publishedStatus}).inject(this.statusListNode);this.publishedStatusNode.addEvents({click:function(){t.currentStatusNode.setStyles(t.css.filterStatusNode);t.publishedStatusNode.setStyles(t.css.filterStatusNode_current);t.currentStatusNode=t.publishedStatusNode;t.options.status="published";t.reloadElementContent();if(t.filter)t.filter.filterConditionNode.empty()}});if(this.options.status=="published")this.currentStatusNode=this.publishedStatusNode;this.archivedStatusNode=new Element("div",{styles:this.options.status=="archived"?this.css.filterStatusNode_current:this.css.filterStatusNode,text:this.app.lp.archivedStatus}).inject(this.statusListNode);this.archivedStatusNode.addEvents({click:function(){t.currentStatusNode.setStyles(t.css.filterStatusNode);t.archivedStatusNode.setStyles(t.css.filterStatusNode_current);t.currentStatusNode=t.archivedStatusNode;t.options.status="archived";t.reloadElementContent();if(t.filter)t.filter.filterConditionNode.empty()}});if(this.options.status=="archived")this.currentStatusNode=this.archivedStatusNode},loadToolbar:function(){var t=this.path+"toolbar.json";MWF.getJSON(t,function(t){t.each(function(t){this.createToolbarItemNode(t)}.bind(this))}.bind(this))},createToolbarItemNode:function(t){var e=new Element("div",{styles:t.styles&&this.css[t.styles]?this.css[t.styles]:this.css.toolbarItemNode});e.store("toolData",t);var i=new Element("div",{styles:this.css.toolbarItemIconNode}).inject(e);i.setStyle("background-image","url("+this.path+this.options.style+"/icon/"+t.icon+")");var s=new Element("div",{styles:this.css.toolbarItemTextNode,text:t.title});s.inject(e);e.inject(this.toolbarNode);this.toolItemNodes.push(e);this.setToolbarItemEvent(e)},setToolbarItemEvent:function(t){var e=this;t.addEvents({click:function(){var t=this.retrieve("toolData");if(e[t.action])e[t.action].apply(e,[this])}})},loadContentNode:function(){this.elementContentNode=new Element("div",{styles:this.css.elementContentNode}).inject(this.node);this.elementContentListNode=new Element("div",{styles:this.css.elementContentListNode}).inject(this.elementContentNode);this.createElementListHead();this.setContentSize();this.app.addEvent("resize",function(){this.setContentSize()}.bind(this))},setContentSize:function(){var t=this.toolbarNode.getSize();var e=this.node.getSize();var i=this.elementContentNode.getStyle("padding-top").toFloat();var s=this.elementContentNode.getStyle("padding-bottom").toFloat();var o=this.filterConditionNode.getSize();var n=e.y-t.y-i-s-o.y;this.elementContentNode.setStyle("height",""+n+"px");this.pageCount=(n/40).toInt()+5;if(this.items.length<this.pageCount){this.loadElementList(this.pageCount-this.items.length)}},setNodeScroll:function(){var t=this;MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.elementContentNode,{indent:false,style:"xApp_TaskList",where:"before",distance:30,friction:4,axis:{x:false,y:true},onScroll:function(e){var i=t.elementContentNode.getScrollSize();var s=t.elementContentNode.getSize();var o=i.y-s.y;if(e+200>o){if(!t.isItemsLoaded)t.loadElementList()}}})}.bind(this))},clearElementContent:function(){MWF.release(this.items);this.documents=null;this.items=[];this.documents={};this.elementContentListNode.empty();this.isItemsLoaded=false;this.isItemLoadding=false;this.loadItemQueue=0},reloadElementContent:function(){this.clearElementContent();this.createElementListHead();this.loadElementList()},createElementListHead:function(){var t=new Element("div",{styles:this.css.listHeadNode}).inject(this.elementContentListNode);var e=this.path+"listItem.json";MWF.getJSON(e,function(e){this.listItemTemplate=e;e.each(function(e){new Element("div",{styles:this.css[e.styles],text:e.title}).inject(t)}.bind(this))}.bind(this),false)},loadElementList:function(t){if(!this.isItemsLoaded){if(!this.isItemLoadding){this.isItemLoadding=true;this._getCurrentPageData(function(t){this.count=t.count;if(t.count<=this.items.length){this.isItemsLoaded=true}t.data.each(function(t){if(!this.documents[t.id]){var e=this._createItem(t);this.items.push(e);this.documents[t.id]=e}}.bind(this));this.isItemLoadding=false;if(this.loadItemQueue>0){this.loadItemQueue--;this.loadElementList()}if(this.mask)this.mask.hide()}.bind(this),t)}else{this.loadItemQueue++}}},_getCurrentPageData:function(t,e){var i=this.items.length?this.items[this.items.length-1].data.id:"(0)";var s={catagoryIdList:[this.categoryData.id],statusList:[this.options.status]};if(this.filter&&this.filter.filter){var o=this.filter.getFilterResult();for(var n in o){s[n]=o[n]}this.actions.listDocumentFilterNext(i,e||this.pageCount,s,function(e){if(t)t(e)})}else{this.actions.listDocumentFilterNext(i,e||this.pageCount,s,function(e){if(t)t(e)})}},removeDocument:function(t,e){var i=t.data.id;this.actions.removeDocument(i,function(t){this.items.erase(this.documents[i]);this.documents[i].destroy();MWF.release(this.documents[i]);delete this.documents[i];this.app.notice(this.app.lp.deleteDocumentOK,"success")}.bind(this))},_createItem:function(t){return new MWF.xApplication.cms.Explorer.Explorer.Document(t,this)},loadFileter:function(t){this._loadFileter(t)},_loadFileter:function(t){if(!this.filter){this.filter=new MWF.xApplication.cms.Explorer.Explorer.Filter(this.app,this,this.toolbarNode,t,this.filterConditionNode,this.actions,this.css);this.filter.load()}else{this.filter.load()}},createDocument:function(t){var e={catagoryIdList:[this.categoryData.id]};this.actions.listDraftNext("(0)",1,e,function(t){if(t.data.length>0){this._openDocument(t.data[0].id)}else{this._createDocument()}}.bind(this))},_createDocument:function(){if(!this.categoryData.formId||this.categoryData.formId==""){this.app.notice(this.app.lp.noFormSelected,"error");return}MWF.xDesktop.requireApp("cms.Explorer","Starter",function(){var t=new MWF.xApplication.cms.Explorer.Starter(this.columnData,this.categoryData,this.app,{onStarted:function(t,e,i){this.afterStart(t,e,i)}.bind(this)});t.load()}.bind(this))},_openDocument:function(t,e){var i={documentId:t};this.app.desktop.openApplication(e,"cms.Document",i)},afterStart:function(t,e,i){var s={documentId:t.id};this.app.desktop.openApplication(null,"cms.Document",s)}});MWF.xApplication.cms.Explorer.Explorer.Filter=new Class({initialize:function(t,e,i,s,o,n,r){this.app=t;this.explorer=e;this.css=r;this.actions=n;this.filterNode=$(i);this.filterActionNode=$(s);this.filterConditionNode=$(o)},load:function(){var t=this.explorer.path+"filterItem.json";MWF.getJSON(t,function(t){this.filterSetting=t;if(!this.isFilterOpen){if(!this.filterAreaMorph||!this.filterAreaMorph.isRunning())this.showFilter()}else{if(this.filterAreaMorph||!this.filterAreaMorph.isRunning())this.hideFilter()}}.bind(this))},showFilter:function(){if(!this.filterAreaNode)this.createFilterAreaNode();this.filterAreaTipNode.setStyle("display","block");this.filterAreaNode.setStyle("display","block");this.resizeFilterAreaNode();var t={width:"460px",height:"500px"};this.isFilterOpen=true;this.filterAreaMorph.start(t).chain(function(){this.createFilterAreaTitle();this.createFilterAreaContent();this.hideFilterFun=this.hideFilter.bind(this);$(document.body).addEvent("click",this.hideFilterFun)}.bind(this))},hideFilter:function(){if(this.filterAreaNode){var t={width:"460px",height:"0px"};this.filterAreaNode.empty();this.isFilterOpen=false;this.filterAreaMorph.start(t).chain(function(){this.filterAreaNode.eliminate("input");this.filterAreaNode.setStyle("display","none");this.filterAreaTipNode.setStyle("display","none");$(document.body).removeEvent("click",this.hideFilterFun)}.bind(this));$(document.body).removeEvent("click",this.hideFilterFun)}},createFilterAreaNode:function(){this.filterAreaNode=new Element("div",{styles:this.css.filterAreaNode}).inject(this.app.content);this.filterAreaNode.addEvent("click",function(t){t.stopPropagation()});this.filterAreaTipNode=new Element("div",{styles:this.css.filterAreaTipNode}).inject(this.app.content);this.filterAreaNode.setStyles({width:"460px",height:"0px"});this.filterAreaNode.position({relativeTo:this.filterNode,position:"bottomRight",edge:"upperRight",offset:{x:-20,y:-1}});this.filterAreaTipNode.position({relativeTo:this.filterNode,position:"bottomRight",edge:"bottomRight",offset:{x:-38,y:0}});this.app.addEvent("resize",function(){this.resizeFilterAreaNode()}.bind(this));this.filterAreaMorph=new Fx.Morph(this.filterAreaNode,{duration:"100",transition:Fx.Transitions.Sine.easeInOut})},resizeFilterAreaNode:function(){if(this.filterAreaNode){this.filterAreaNode.position({relativeTo:this.filterNode,position:"bottomRight",edge:"upperRight",offset:{x:-20,y:-1}});if(this.filterAreaTipNode){this.filterAreaTipNode.position({relativeTo:this.filterNode,position:"bottomRight",edge:"bottomRight",offset:{x:-38,y:0}})}}},createFilterAreaTitle:function(){var t=new Element("div",{styles:this.css.filterAreaTitleNode}).inject(this.filterAreaNode);var e=new Element("div",{styles:this.css.filterAreaTitleActionOkNode,text:this.app.lp.ok}).inject(t);var i=new Element("div",{styles:this.css.filterAreaTitleActionClearNode,text:this.app.lp.clear}).inject(t);i.addEvent("click",function(){this.filterAreaNode.getElements(".filterItem").each(function(t){this.unSelectedFilterItem(t)}.bind(this));var t=this.filterAreaNode.retrieve("input");t.set("value","");this.filter=null;this.hideFilter();this.setFilterConditions();this.explorer.reloadElementContent()}.bind(this));e.addEvent("click",function(){var t=this.filterAreaNode.retrieve("input");if(!this.filter)this.filter={};var e=t.get("value");if(e&&e!=this.app.lp.searchKey){this.filter.key=e}else{this.filter.key="";delete this.filter.key}this.hideFilter();this.setFilterConditions();this.explorer.reloadElementContent()}.bind(this));var s=new Element("div",{styles:this.css.filterAreaTitleSearchNode}).inject(t);var o=new Element("div",{styles:this.css.filterAreaTitleSearchIconNode}).inject(s);var n=new Element("div",{styles:this.css.filterAreaTitleSearchInputAreaNode}).inject(s);var r=new Element("input",{styles:this.css.filterAreaTitleSearchInputNode,value:this.app.lp.searchKey}).inject(n);if(this.filter){if(this.filter.key)r.set("value",this.filter.key)}this.filterAreaNode.store("input",r);var l=this.app.lp.searchKey;r.addEvents({blur:function(){if(!this.get("value"))this.set("value",l)},focus:function(){if(this.get("value")==l)this.set("value","")},keydown:function(t){if(t.code==13){var e=this.filterAreaNode.retrieve("input");if(!this.filter)this.filter={};var i=e.get("value");if(i&&i!=this.app.lp.searchKey){this.filter.key=i}else{this.filter.key="";delete this.filter.key}this.hideFilter();this.setFilterConditions();this.explorer.reloadElementContent()}}.bind(this)})},createFilterAreaContent:function(){var t=new Element("div",{styles:this.css.applicationFilterAreaContentScrollNode}).inject(this.filterAreaNode);var e=new Element("div",{styles:{overflow:"hidden"}}).inject(t);MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(t,{style:"xApp_filter",where:"after",distance:30,friction:4,axis:{x:false,y:true}})}.bind(this));var i=this;this._getFilterCount(function(t){Object.each(t,function(t,s){var o=new Element("div",{styles:this.css.applicationFilterCategoryNode}).inject(e);o.set("text",t.name);var n=new Element("div",{styles:this.css.applicationFilterItemAreaNode}).inject(e);t.data.each(function(t){var e=new Element("div",{styles:this.css.applicationFilterItemNode}).inject(n);e.set("text",t.name+"("+t.count+")");e.store("value",t.value);e.store("textname",t.name);e.store("key",s);e.store("resultItemName",t.resultItemName);e.addEvent("click",function(){if(this.hasClass("applicationFilterItemNode_over")){i.unSelectedFilterItem(this)}else{i.selectedFilterItem(this)}});if(this.filter){if(this.filter[s]){if(t.value==this.filter[s][0].value){this.selectedFilterItem(e)}}}}.bind(this))}.bind(this))}.bind(this))},_getFilterCount:function(t){var e="listCategoryDraftFilterAttribute";if(this.explorer.options.status=="published"){e="listCategoryPublishFilterAttribute"}else if(this.explorer.options.status=="archived"){e="listCategoryArchiveFilterAttribute"}this.actions[e](this.explorer.categoryData.id,function(e){this.filterAttribute={};Object.each(e.data,function(t,e){var i=this.filterSetting[e];if(i){var s=this.filterAttribute[i.resultListKey]={name:i.categoryTitle,data:[]};t.each(function(t){s.data.push({name:t[i.itemNameKey],value:t[i.itemValueKey],count:t.count,resultItemName:i.resultItemName})})}}.bind(this));if(t)t(this.filterAttribute)}.bind(this))},unSelectedFilterItem:function(t){if(t.hasClass("applicationFilterItemNode_over")){var e=t.retrieve("value");var i=t.retrieve("textname");var s=t.retrieve("key");t.setStyles(this.css.applicationFilterItemNode);t.removeClass("applicationFilterItemNode_over");t.addClass("applicationFilterItemNode");if(!this.filter)this.filter={};this.filter[s]=null;delete this.filter[s];t.getParent().eliminate("current")}},selectedFilterItem:function(t){if(!t.hasClass("applicationFilterItemNode_over")){var e=t.getParent().retrieve("current");if(e)this.unSelectedFilterItem(e);var i=t.retrieve("value");var s=t.retrieve("key");var o=t.retrieve("textname");var n=t.retrieve("resultItemName");t.setStyles(this.css.applicationFilterItemNode_over);t.removeClass("applicationFilterItemNode");t.addClass("applicationFilterItemNode_over");if(!this.filter)this.filter={};this.filter[s]=[{value:i,name:o,resultItemName:n}];t.getParent().store("current",t)}},searchElement:function(){if(!this.filter)this.filter={};var t=this.searchElementInputNode.get("value");if(t&&t!=this.app.lp.searchKey){this.filter.key=t;this.hideFilter();this.setFilterConditions();this.explorer.reloadElementContent()}},setFilterConditions:function(){this.filterConditionNode.empty();if(this.filter){Object.each(this.filter,function(t,e){if(e!="key"){this.createFilterItemNode(e,t[0])}}.bind(this));if(this.filter.key){this.createFilterItemNode("key",{name:this.filter.key})}}},createFilterItemNode:function(t,e){var i=this;var s=new Element("div",{styles:this.css.filterListItemNode}).inject(this.filterConditionNode);var o=new Element("div",{styles:this.css.filterListItemActionNode}).inject(s);var n=new Element("div",{styles:this.css.filterListItemTextNode}).inject(s);if(t!="key"){n.set("text",this.filterAttribute[t].name+": "+e.name)}else{n.set("text",this.filterSetting.key.categoryTitle+": "+e.name)}o.store("key",t);s.addEvents({mouseover:function(){this.setStyles(i.css.filterListItemNode_over);this.getLast().setStyles(i.css.filterListItemTextNode_over);this.getFirst().setStyles(i.css.filterListItemActionNode_over)},mouseout:function(){this.setStyles(i.css.filterListItemNode);this.getLast().setStyles(i.css.filterListItemTextNode);this.getFirst().setStyles(i.css.filterListItemActionNode)}});o.addEvent("click",function(){var t=this.retrieve("key");if(i.filter[t])i.filter[t]=null;delete i.filter[t];this.destroy();i.setFilterConditions();i.explorer.reloadElementContent()})},getFilterResult:function(){var t={};Object.each(this.filter,function(e,i){if(i=="key"&&this.filterSetting.key){t[this.filterSetting.key.resultListKey]=[{name:this.filterSetting.key.resultItemName,value:e}]}else{t[i]=[{name:e[0].resultItemName,value:e[0].value}]}}.bind(this));return t}});MWF.xApplication.cms.Explorer.Explorer.Document=new Class({initialize:function(t,e){this.explorer=e;this.data=t;this.container=this.explorer.elementContentListNode;this.css=this.explorer.css;this.load()},load:function(){this.node=new Element("div",{styles:this.css.documentItemNode});this.node.inject(this.container);this.documentAreaNode=new Element("div",{styles:this.css.documentItemDocumentNode}).inject(this.node);this.explorer.listItemTemplate.each(function(t){this[t.name]=new Element("div",{styles:this.css[t.styles],text:this.data[t.item]?this.data[t.item]:""}).inject(this.documentAreaNode)}.bind(this));this.setPersonData();this.setActions();this.setEvents()},setEvents:function(){this.documentAreaNode.addEvents({mouseover:function(){if(!this.readyRemove)this.documentAreaNode.setStyles(this.css.documentItemDocumentNode_over)}.bind(this),mouseout:function(){if(!this.readyRemove)this.documentAreaNode.setStyles(this.css.documentItemDocumentNode)}.bind(this),click:function(t){this.openDocument(t)}.bind(this)});if(this.setTopNode){this.setTopNode.addEvents({mouseover:function(){this.setTopNode.setStyles(this.css.actionSetTopNode_over)}.bind(this),mouseout:function(){this.setTopNode.setStyles(this.css.actionSetTopNode)}.bind(this),mousedown:function(){this.setTopNode.setStyles(this.css.actionSetTopNode_down)}.bind(this),mouseup:function(){this.setTopNode.setStyles(this.css.actionSetTopNode_over)}.bind(this),click:function(t){this.setTop(t);t.stopPropagation()}.bind(this)})}if(this.shareNode){this.shareNode.addEvents({mouseover:function(){this.shareNode.setStyles(this.css.actionShareNode_over)}.bind(this),mouseout:function(){this.shareNode.setStyles(this.css.actionShareNode)}.bind(this),mousedown:function(){this.shareNode.setStyles(this.css.actionShareNode_down)}.bind(this),mouseup:function(){this.shareNode.setStyles(this.css.actionShareNode_over)}.bind(this),click:function(t){this.share(t);t.stopPropagation()}.bind(this)})}if(this.openNode){this.openNode.addEvents({mouseover:function(){this.openNode.setStyles(this.css.actionOpenNode_over)}.bind(this),mouseout:function(){this.openNode.setStyles(this.css.actionOpenNode)}.bind(this),mousedown:function(){this.openNode.setStyles(this.css.actionOpenNode_down)}.bind(this),mouseup:function(){this.openNode.setStyles(this.css.actionOpenNode_over)}.bind(this),click:function(t){this.openDocument(t);t.stopPropagation()}.bind(this)})}if(this.deleteNode){this.deleteNode.addEvents({mouseover:function(){this.deleteNode.setStyles(this.css.actionDeleteNode_over)}.bind(this),mouseout:function(){this.deleteNode.setStyles(this.css.actionDeleteNode)}.bind(this),mousedown:function(){this.deleteNode.setStyles(this.css.actionDeleteNode_down)}.bind(this),mouseup:function(){this.deleteNode.setStyles(this.css.actionDeleteNode_over)}.bind(this),click:function(t){this.remove(t);t.stopPropagation()}.bind(this)})}},setActions:function(){if(this.explorer.options.status=="draft"){this.openNode=new Element("div",{styles:this.css.actionOpenNode,title:this.explorer.app.lp.open}).inject(this.actionAreaNode);this.deleteNode=new Element("div",{styles:this.css.actionDeleteNode,title:this.explorer.app.lp.delete}).inject(this.actionAreaNode)}else if(this.explorer.options.status=="published"){this.shareNode=new Element("div",{styles:this.css.actionShareNode,title:this.explorer.app.lp.share}).inject(this.actionAreaNode)}else{this.shareNode=new Element("div",{styles:this.css.actionShareNode,title:this.explorer.app.lp.share}).inject(this.actionAreaNode)}},openDocument:function(t){var e={documentId:this.data.id};this.explorer.app.desktop.openApplication(t,"cms.Document",e)},remove:function(t){var e=this.explorer.app.lp;var i=e.deleteDocument.replace(/{title}/g,this.data.title);var s=this;this.documentAreaNode.setStyles(this.css.documentItemDocumentNode_remove);this.readyRemove=true;this.explorer.app.confirm("warn",t,e.deleteDocumentTitle,i,350,120,function(){s.explorer.removeDocument(s,false);this.close()},function(){s.documentAreaNode.setStyles(s.css.documentItemDocumentNode);s.readyRemove=false;this.close()})},destroy:function(){this.node.destroy()},setPersonData:function(){var t={actions:this.explorer.personActions,app:{lp:this.explorer.app.lp}};new MWF.widget.Identity({name:this.data.creatorIdentity},this.personAreaNode,t,false,null,{style:"work"})}});
|