| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787 |
- MWF.xApplication.cms = MWF.xApplication.cms || {};
- MWF.xApplication.cms.Module = MWF.xApplication.cms.Module || {};
- MWF.require("MWF.xAction.org.express.RestActions", null,false);
- MWF.xDesktop.requireApp("cms.Module", "lp."+MWF.language, null, false);
- MWF.xDesktop.requireApp("cms.Module", "package", null, false);
- MWF.xDesktop.requireApp("process.Application", "Viewer", null, false);
- MWF.xDesktop.requireApp("query.Query", "Viewer", null, false);
- MWF.xApplication.cms.Module.ViewExplorer = new Class({
- Extends: MWF.widget.Common,
- Implements: [Options, Events],
- options: {
- "style": "default",
- "isAdmin": false,
- "searchKey" : ""
- },
- initialize: function( node, app, columnData, categoryData, revealData, options, searchNode ){
- this.setOptions(options);
- this.node = node;
- this.app = app;
- this.columnData = columnData;
- this.categoryData = categoryData;
- this.revealData = revealData;
- this.searchNode = searchNode;
- this.path = "/x_component_cms_Module/$ViewExplorer/";
- this.cssPath = "/x_component_cms_Module/$ViewExplorer/"+this.options.style+"/css.wcss";
- this._loadCss();
- },
- load : function(){
- this.loadContentNode();
- if( this.revealData.viewType ){
- this.loadQuryView(); //QeuryView
- }else{
- this.loadView(); //CMSView
- }
- },
- loadContentNode: function(){
- this.elementContentNode = new Element("div", {
- "styles": this.css.elementContentNode
- }).inject(this.node);
- this.searchContainer = new Element("div",{
- "styles" : this.css.searchContainer
- }).inject( this.searchNode );
- this.app.addEvent("resize", function(){this.setContentSize();}.bind(this));
- },
- loadQuryView : function(){
- var viewJson = {
- "application": this.revealData.appName,
- "viewName": this.revealData.name,
- "isTitle": "yes",
- "select": "none",
- "titleStyles": this.css.normalThNode,
- "itemStyles": {},
- "isExpand": "no",
- "filter": []
- };
- this.view = new MWF.xApplication.cms.Module.QueryViewer(this.elementContentNode, viewJson, {
- "hasAction" : this.options.isAdmin,
- "resizeNode": true,
- "onSelect": function(){
- this.fireEvent("select");
- }.bind(this)
- }, this.app, this.searchContainer);
- this.setContentSize();
- },
- loadView : function(){
- var viewJson = {
- "application": this.columnData.id,
- "viewName": this.revealData.name,
- "isTitle": "yes",
- "select": "none", //none , single, multi
- "titleStyles": this.css.normalThNode,
- "isExpand": "no",
- "itemStyles": {}
- };
- this.view = new MWF.xApplication.cms.Module.Viewer(this.elementContentNode, viewJson, {
- "type" : "cms",
- "hasAction" : this.options.isAdmin,
- "actions": {
- "lookup": {"uri": "/jaxrs/queryview/flag/{view}/application/flag/{application}/execute", "method":"PUT"},
- "getView": {"uri": "/jaxrs/queryview/flag/{view}/application/flag/{application}"},
- "deleteDocument" : {"uri":"/jaxrs/document/{id}","method": "DELETE"}
- },
- "actionRoot": "x_cms_assemble_control",
- "resizeNode": true,
- "onSelect": function(){
- this.fireEvent("select");
- }.bind(this)
- }, this.app, this.searchContainer);
- this.setContentSize();
- },
- setContentSize: function(){
- var toolbarSize = this.toolbarNode ? this.toolbarNode.getSize() : {"x":0,"y":0};
- var titlebarSize = {"x":0,"y":0}; //this.app.titleBar ? this.app.titleBar.getSize() : {"x":0,"y":0};
- var nodeSize = this.app.node.getSize();
- var pt = 0; //this.elementContentNode.getStyle("padding-top").toFloat();
- var pb = 0; // this.elementContentNode.getStyle("padding-bottom").toFloat();
- var filterConditionSize = this.filterConditionNode ? this.filterConditionNode.getSize() : {"x":0,"y":0};
- var height = nodeSize.y-toolbarSize.y-pt-pb-filterConditionSize.y-titlebarSize.y;
- this.elementContentNode.setStyle("height", ""+height+"px");
- if( this.view )this.view.setContentHeight();
- }
- });
- MWF.xApplication.cms.Module.Viewer = new Class({
- Implements: [Options, Events],
- Extends: MWF.xApplication.process.Application.Viewer,
- options: {
- "style": "default",
- "hasAction" : false, //cxy add
- "resizeNode": true,
- "actions": {
- "lookup": {"uri": "/jaxrs/queryview/flag/{view}/application/flag/{application}/execute", "method":"PUT"},
- "getView": {"uri": "/jaxrs/queryview/flag/{view}/application/flag/{application}"},
- "listWorkByJob": {"uri": "/jaxrs/job/{job}/find/work/workcompleted"},
- "listTaskByWork": {"uri": "/jaxrs/work/{id}/assignment/manage"}
- },
- "actionRoot": "x_processplatform_assemble_surface"
- },
- initialize: function(container, json, options, app, searchContainer){
- this.setOptions(options);
- this.app = app;
- this.searchContainer = searchContainer;
- this.path = "/x_component_cms_Module/$ViewExplorer/";
- this.cssPath = "/x_component_cms_Module/$ViewExplorer/"+this.options.style+"/viewer.wcss";
- this._loadCss();
- this.lp = MWF.xApplication.process.Application.LP;
- this.container = $(container);
- this.json = json;
- this.viewJson = null;
- this.filterItems = [];
- this.searchStatus = "none"; //none, custom, default
- this.items = [];
- this.selectedItems = [];
- this.hideColumns = [];
- this.openColumns = [];
- this.gridJson = null;
- this.init(function(){
- this.load();
- }.bind(this));
- },
- createViewNode: function(data){
- this.viewAreaNode.empty();
- this.contentAreaNode = new Element("div", {"styles": this.css.contentAreaNode}).inject(this.viewAreaNode);
- this.viewTable = new Element("table", {
- "styles": this.css.viewTitleTableNode,
- "border": "0px",
- "cellPadding": "0",
- "cellSpacing": "0"
- }).inject(this.contentAreaNode);
- this.createLoadding();
- if (this.json.isTitle!=="no"){
- this.viewTitleLine = new Element("tr", {"styles": this.css.viewTitleLineNode}).inject(this.viewTable);
- //if (this.json.select==="single" || this.json.select==="multi") {
- this.selectTitleCell = new Element("td", {
- "styles": this.css.viewTitleCellNode
- }).inject(this.viewTitleLine);
- this.selectTitleCell.setStyle("width", "10px");
- if (this.json.titleStyles) this.selectTitleCell.setStyles(this.json.titleStyles);
- //}
- this.entries = {};
- this.viewJson.selectEntryList.each(function(column){
- this.entries[column.column] = column;
- if (!column.hideColumn){
- var viewCell = new Element("td", {
- "styles": this.css.viewTitleCellNode,
- "text": column.displayName
- }).inject(this.viewTitleLine);
- if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
- }else{
- this.hideColumns.push(column.column);
- }
- if (column.allowOpen) this.openColumns.push(column.column);
- }.bind(this));
- if( this.options.hasAction ){
- var viewCell = new Element("td", {
- "styles": this.css.viewTitleCellNode,
- "text": "操作"
- }).inject(this.viewTitleLine);
- viewCell.setStyle("width","40px");
- if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
- }
- this.lookup(data);
- }else{
- this.viewJson.selectEntryList.each(function(column){
- if (column.hideColumn) this.hideColumns.push(column.column);
- if (!column.allowOpen) this.openColumns.push(column.column);
- }.bind(this));
- this.lookup(data);
- }
- },
- loadLayout: function(){
- this.node = new Element("div", {"styles": this.css.node}).inject(this.container);
- this.searchAreaNode = new Element("div", {"styles": this.css.searchAreaNode}).inject(this.searchContainer || this.node );
- this.viewAreaNode = new Element("div", {"styles": this.css.viewAreaNode}).inject(this.node);
- },
- loadData: function(){
- if (this.gridJson.length){
- this.gridJson.each(function(line, i){
- this.items.push(new MWF.xApplication.cms.Module.Viewer.Item(this, line, null, i));
- }.bind(this));
- }
- },
- loadGroupData: function(){
- if (this.selectTitleCell){
- this.selectTitleCell.set("html", "<span style='font-family: Webdings'>"+"<img src='/x_component_process_Application/$Viewer/"+this.options.style+"/icon/expand.png'/>"+"</span>");
- this.selectTitleCell.setStyle("cursor", "pointer");
- this.selectTitleCell.addEvent("click", this.expandOrCollapseAll.bind(this));
- }
- if (this.gridJson.length){
- this.gridJson.each(function(data){
- this.items.push(new MWF.xApplication.cms.Module.Viewer.ItemCategory(this, data));
- }.bind(this));
- if (this.json.isExpand=="yes")this.expandOrCollapseAll();
- }
- },
- setContentHeight: function(){
- if( this.node && this.searchAreaNode && this.viewAreaNode ){
- var size = this.node.getSize();
- var searchSize = this.searchAreaNode.getSize();
- var h = size.y-searchSize.y;
- this.viewAreaNode.setStyle("height", ""+h+"px");
- }
- }
- });
- MWF.xApplication.cms.Module.Viewer.Item = new Class({
- Extends : MWF.xApplication.process.Application.Viewer.Item,
- load: function(){
- var _self = this;
- this.node = new Element("tr", {"styles": this.css.viewContentTrNode});
- if (this.prev){
- this.node.inject(this.prev.node, "after");
- }else{
- this.node.inject(this.view.viewTable);
- }
- this.node.addEvents({
- mouseover : function(){ this.setStyles(_self.css.viewContentTrNode_over) },
- mouseout : function(){ this.setStyles(_self.css.viewContentTrNode) }
- });
- //if (this.view.json.select==="single" || this.view.json.select==="multi"){
- this.selectTd = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- this.selectTd.setStyles({"cursor": "pointer"});
- if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
- //}
- Object.each(this.data.data, function(cell, k){
- if (this.view.hideColumns.indexOf(k)===-1){
- var td = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- if (k!== this.view.viewJson.groupEntry.column){
- var v = (this.view.entries[k].code) ? MWF.Macro.exec(this.view.entries[k].code, {"value": cell, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : cell;
- td.set("text", v);
- }
- if (this.view.openColumns.indexOf(k)!==-1){
- this.setOpenWork(td)
- }
- if (this.view.json.itemStyles) td.setStyles(this.view.json.itemStyles);
- }
- }.bind(this));
- if( this.view.options.hasAction ){
- var td = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- this.loadActions( td );
- if (this.view.json.itemStyles) td.setStyles(this.view.json.itemStyles);
- }
- this.setEvent();
- },
- loadActions : function( container ){
- this.deleteNode = new Element("div", {"styles": this.css.actionDeleteNode, "title": "删除"}).inject(container);
- 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(e){
- this.remove(e);
- e.stopPropagation();
- }.bind(this)
- });
- this.editNode = new Element("div", {"styles": this.css.actionEditNode, "title": "编辑"}).inject(container);
- this.editNode.addEvents({
- "mouseover": function(){this.editNode.setStyles(this.css.actionEditNode_over);}.bind(this),
- "mouseout": function(){this.editNode.setStyles(this.css.actionEditNode);}.bind(this),
- "mousedown": function(){this.editNode.setStyles(this.css.actionEditNode_down);}.bind(this),
- "mouseup": function(){this.editNode.setStyles(this.css.actionEditNode_over);}.bind(this),
- "click": function(e){
- this.editCMSDocument();
- e.stopPropagation();
- }.bind(this)
- });
- },
- setOpenWork: function(td){
- td.setStyle("cursor", "pointer");
- td.addEvent("click", function(){
- this.openCMSDocument()
- }.bind(this));
- },
- openCMSDocument : function( isEdited ){
- var appId = "cms.Document"+this.data.job;
- if (layout.desktop.apps[appId]){
- layout.desktop.apps[appId].setCurrent();
- }else {
- var options = {
- "documentId": this.data.job,
- "readonly" : !isEdited
- };
- layout.desktop.openApplication(null, "cms.Document", options);
- }
- },
- editCMSDocument : function(){
- this.openCMSDocument( true );
- },
- remove: function(e){
- var text = "删除后不能恢复,你确定要删除该文档?";
- var _self = this;
- this.node.setStyles(this.css.viewContentTrNode_delete);
- this.readyRemove = true;
- this.view.app.confirm("warn", e, "删除确认", text, 350, 120, function(){
- _self.removeCMSDocument(_self, false);
- this.close();
- }, function(){
- _self.node.setStyles(_self.css.viewContentTrNode );
- _self.readyRemove = false;
- this.close();
- });
- },
- removeCMSDocument: function(){
- var id = this.data.job;
- MWF.Actions.get("x_cms_assemble_control").removeDocument(id, function(json){
- //this.viewJson = JSON.decode(json.data.data);
- //this.json = Object.merge(this.json, json.data);
- this.readyRemove = false;
- this.node.destroy();
- this.view.app.notice("删除成功", "success");
- MWF.release(this);
- }.bind(this));
- }
- });
- MWF.xApplication.cms.Module.Viewer.ItemCategory = new Class({
- Extends : MWF.xApplication.process.Application.Viewer.ItemCategory,
- load: function(){
- this.node = new Element("tr", {"styles": this.css.viewContentTrNode}).inject(this.view.viewTable);
- //if (this.view.json.select==="single" || this.view.json.select==="multi"){
- this.selectTd = new Element("td", {"styles": this.css.viewContentCategoryTdNode}).inject(this.node);
- if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
- //}
- var colsapn = this.view.viewJson.selectEntryList.length;
- if( this.view.options.hasAction ){
- colsapn ++
- }
- this.categoryTd = new Element("td", {
- "styles": this.css.viewContentCategoryTdNode,
- "colspan": colsapn
- }).inject(this.node);
- this.groupColumn = null;
- for (var c = 0; c<this.view.viewJson.selectEntryList.length; c++){
- if (this.view.viewJson.selectEntryList[c].column === this.view.viewJson.groupEntry.column){
- this.groupColumn = this.view.viewJson.selectEntryList[c];
- break;
- }
- }
- if (this.groupColumn){
- var text = (this.groupColumn.code) ? MWF.Macro.exec(this.groupColumn.code, {"value": this.data.group, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : this.data.group;
- }else{
- var text = this.data.group;
- }
- this.categoryTd.set("html", "<span style='font-family: Webdings'><img src='/x_component_process_Application/$Viewer/"+this.view.options.style+"/icon/expand.png'/></span> "+text);
- if (this.view.json.itemStyles) this.categoryTd.setStyles(this.view.json.itemStyles);
- this.setEvent();
- },
- expand: function(){
- this.items.each(function(item){
- item.node.setStyle("display", "table-row");
- }.bind(this));
- this.node.getElement("span").set("html", "<img src='/x_component_process_Application/$Viewer/"+this.view.options.style+"/icon/down.png'/>");
- if (!this.loadChild){
- //window.setTimeout(function(){
- this.data.list.each(function(line){
- this.items.push(new MWF.xApplication.cms.Module.Viewer.Item(this.view, line, this));
- }.bind(this));
- this.loadChild = true;
- //}.bind(this), 10);
- }
- }
- });
- MWF.xApplication.cms.Module.QueryViewer = new Class({
- Implements: [Options, Events],
- Extends: MWF.QViewer,
- options: {
- "style": "default",
- "hasAction" : false, //cxy add
- "resizeNode": true,
- "paging" : "scroll",
- "perPageCount" : 50
- },
- initialize: function(container, json, options, app, searchContainer){
- this.setOptions(options);
- this.app = app;
- this.searchContainer = searchContainer;
- this.path = "/x_component_cms_Module/$ViewExplorer/";
- this.cssPath = "/x_component_cms_Module/$ViewExplorer/"+this.options.style+"/viewer.wcss";
- this._loadCss();
- this.lp = MWF.xApplication.query.Query.LP;
- this.container = $(container);
- this.json = json;
- this.viewJson = null;
- this.filterItems = [];
- this.searchStatus = "none"; //none, custom, default
- this.items = [];
- this.selectedItems = [];
- this.hideColumns = [];
- this.openColumns = [];
- this.gridJson = null;
- this.init(function(){
- this.load();
- }.bind(this));
- },
- createViewNode: function(data){
- this.viewAreaNode.empty();
- this.contentAreaNode = new Element("div.contentAreaNode", {"styles": this.css.contentAreaNode}).inject(this.viewAreaNode);
- this.viewTable = new Element("table.viewTable", {
- "styles": this.css.viewTitleTableNode,
- "border": "0px",
- "cellPadding": "0",
- "cellSpacing": "0"
- }).inject(this.contentAreaNode);
- this.createLoadding();
- if (this.json.isTitle!=="no"){
- this.viewTitleLine = new Element("tr", {"styles": this.css.viewTitleLineNode}).inject(this.viewTable);
- //if (this.json.select==="single" || this.json.select==="multi") {
- this.selectTitleCell = new Element("td", {
- "styles": this.css.viewTitleCellNode
- }).inject(this.viewTitleLine);
- this.selectTitleCell.setStyle("width", "10px");
- if (this.json.titleStyles) this.selectTitleCell.setStyles(this.json.titleStyles);
- //}
- this.entries = {};
- this.viewJson.selectList.each(function(column){
- this.entries[column.column] = column;
- if (!column.hideColumn){
- var viewCell = new Element("td", {
- "styles": this.css.viewTitleCellNode,
- "text": column.displayName
- }).inject(this.viewTitleLine);
- var size = MWF.getTextSize(column.displayName, this.css.viewTitleCellNode);
- viewCell.setStyle("min-width", ""+size.x+"px");
- if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
- }else{
- this.hideColumns.push(column.column);
- }
- if (column.allowOpen) this.openColumns.push(column.column);
- }.bind(this));
- if( this.options.hasAction ){
- var viewCell = new Element("td", {
- "styles": this.css.viewTitleCellNode,
- "text": "操作"
- }).inject(this.viewTitleLine);
- viewCell.setStyle("width","40px");
- if (this.json.titleStyles) viewCell.setStyles(this.json.titleStyles);
- }
- this.lookup(data);
- }else{
- this.viewJson.selectList.each(function(column){
- if (column.hideColumn) this.hideColumns.push(column.column);
- if (!column.allowOpen) this.openColumns.push(column.column);
- }.bind(this));
- this.lookup(data);
- }
- },
- loadLayout: function(){
- this.node = new Element("div", {"styles": this.css.node}).inject(this.container);
- this.searchAreaNode = new Element("div", {"styles": this.css.searchAreaNode}).inject(this.searchContainer || this.node );
- this.viewAreaNode = new Element("div.viewAreaNode", {"styles": this.css.viewAreaNode}).inject(this.node);
- },
- //loadData: function(){
- // if (this.gridJson.length){
- // this.gridJson.each(function(line, i){
- // this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this, line, null, i));
- // }.bind(this));
- // }
- //},
- loadData: function(){
- if (this.gridJson.length){
- if( !this.options.paging ){
- this.gridJson.each(function(line, i){
- this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this, line, null, i));
- }.bind(this));
- }else{
- this.loadPaging();
- }
- }
- },
- loadPaging : function(){
- this.isItemsLoading = false;
- this.pageNumber = 0;
- this.isItemsLoaded = false;
- this.isSetedScroll = false;
- this.setScroll();
- this.loadDataByPaging()
- },
- setScroll : function(){
- if( this.options.paging && !this.isSetedScroll ){
- this.contentAreaNode.setStyle("overflow","auto");
- this.scrollContainerFun = function(){
- var scrollSize = this.contentAreaNode.getScrollSize();
- var clientSize = this.contentAreaNode.getSize();
- var scrollHeight = scrollSize.y - clientSize.y;
- //alert( "clientSize.y=" + clientSize.y + " scrollSize.y="+scrollSize.y + " this.contentAreaNode.scrollTop="+this.contentAreaNode.scrollTop);
- if (this.contentAreaNode.scrollTop + 150 > scrollHeight ) {
- if (!this.isItemsLoaded) this.loadDataByPaging();
- }
- }.bind(this);
- this.isSetedScroll = true;
- this.contentAreaNode.addEvent("scroll", this.scrollContainerFun )
- }
- },
- loadDataByPaging : function(){
- if( this.isItemsLoading )return;
- if( !this.isItemsLoaded ){
- var from = Math.min( this.pageNumber * this.options.perPageCount , this.gridJson.length);
- var to = Math.min( ( this.pageNumber + 1 ) * this.options.perPageCount + 1 , this.gridJson.length);
- this.isItemsLoading = true;
- for( var i = from; i<to; i++ ){
- this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this, this.gridJson[i], null, i));
- }
- this.isItemsLoading = false;
- this.pageNumber ++;
- if( to == this.gridJson.length )this.isItemsLoaded = true;
- }
- },
- loadGroupData: function(){
- if (this.selectTitleCell){
- this.selectTitleCell.set("html", "<span style='font-family: Webdings'>"+"<img src='/x_component_process_Application/$Viewer/"+this.options.style+"/icon/expand.png'/>"+"</span>");
- this.selectTitleCell.setStyle("cursor", "pointer");
- this.selectTitleCell.addEvent("click", this.expandOrCollapseAll.bind(this));
- }
- if (this.gridJson.length){
- this.gridJson.each(function(data){
- this.items.push(new MWF.xApplication.cms.Module.QueryViewer.ItemCategory(this, data));
- }.bind(this));
- if (this.json.isExpand=="yes")this.expandOrCollapseAll();
- }
- },
- setContentHeight: function(){
- if( this.node && this.searchAreaNode && this.viewAreaNode ){
- var size = this.node.getSize();
- var searchSize = this.searchAreaNode.getSize();
- var h = size.y-searchSize.y;
- this.viewAreaNode.setStyle("height", ""+h+"px");
- }
- }
- });
- MWF.xApplication.cms.Module.QueryViewer.Item = new Class({
- Extends : MWF.xApplication.query.Query.Viewer.Item,
- load: function(){
- var _self = this;
- this.node = new Element("tr", {"styles": this.css.viewContentTrNode});
- if (this.prev){
- this.node.inject(this.prev.node, "after");
- }else{
- this.node.inject(this.view.viewTable);
- }
- this.node.addEvents({
- mouseover : function(){ this.setStyles(_self.css.viewContentTrNode_over) },
- mouseout : function(){ this.setStyles(_self.css.viewContentTrNode) }
- });
- //if (this.view.json.select==="single" || this.view.json.select==="multi"){
- this.selectTd = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- this.selectTd.setStyles({"cursor": "pointer"});
- if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
- //}
- Object.each(this.data.data, function(cell, k){
- if (this.view.hideColumns.indexOf(k)===-1){
- var td = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- if (k!== this.view.viewJson.group.column){
- var v = (this.view.entries[k].code) ? MWF.Macro.exec(this.view.entries[k].code, {"value": cell, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : cell;
- td.set("text", v);
- }
- if (this.view.openColumns.indexOf(k)!==-1){
- this.setOpenWork(td)
- }
- if (this.view.json.itemStyles) td.setStyles(this.view.json.itemStyles);
- }
- }.bind(this));
- if( this.view.options.hasAction ){
- var td = new Element("td", {"styles": this.css.viewContentTdNode}).inject(this.node);
- this.loadActions( td );
- if (this.view.json.itemStyles) td.setStyles(this.view.json.itemStyles);
- }
- this.setEvent();
- },
- loadActions : function( container ){
- this.deleteNode = new Element("div", {"styles": this.css.actionDeleteNode, "title": "删除"}).inject(container);
- 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(e){
- this.remove(e);
- e.stopPropagation();
- }.bind(this)
- });
- this.editNode = new Element("div", {"styles": this.css.actionEditNode, "title": "编辑"}).inject(container);
- this.editNode.addEvents({
- "mouseover": function(){this.editNode.setStyles(this.css.actionEditNode_over);}.bind(this),
- "mouseout": function(){this.editNode.setStyles(this.css.actionEditNode);}.bind(this),
- "mousedown": function(){this.editNode.setStyles(this.css.actionEditNode_down);}.bind(this),
- "mouseup": function(){this.editNode.setStyles(this.css.actionEditNode_over);}.bind(this),
- "click": function(e){
- this.editCMSDocument();
- e.stopPropagation();
- }.bind(this)
- });
- },
- setOpenWork: function(td){
- td.setStyle("cursor", "pointer");
- td.addEvent("click", function(){
- this.openCMSDocument()
- }.bind(this));
- },
- openCMSDocument : function( isEdited ){
- var appId = "cms.Document"+this.data.bundle;
- if (layout.desktop.apps[appId]){
- layout.desktop.apps[appId].setCurrent();
- }else {
- var options = {
- "documentId": this.data.bundle,
- "readonly" : !isEdited
- };
- layout.desktop.openApplication(null, "cms.Document", options);
- }
- },
- editCMSDocument : function(){
- this.openCMSDocument( true );
- },
- remove: function(e){
- var text = "删除后不能恢复,你确定要删除该文档?";
- var _self = this;
- this.node.setStyles(this.css.viewContentTrNode_delete);
- this.readyRemove = true;
- this.view.app.confirm("warn", e, "删除确认", text, 350, 120, function(){
- _self.removeCMSDocument(_self, false);
- this.close();
- }, function(){
- _self.node.setStyles(_self.css.viewContentTrNode );
- _self.readyRemove = false;
- this.close();
- });
- },
- removeCMSDocument: function(){
- var id = this.data.bundle;
- //this.view.lookupAction.invoke({"name": "deleteDocument","async": true, "parameter": {"id": id },"success": function(json){
- // this.readyRemove = false;
- // this.node.destroy();
- // this.view.app.notice("删除成功", "success");
- // MWF.release(this);
- //}.bind(this)});
- MWF.Actions.get("x_cms_assemble_control").removeDocument(id, function(json){
- this.readyRemove = false;
- this.node.destroy();
- this.view.app.notice("删除成功", "success");
- MWF.release(this);
- }.bind(this));
- }
- });
- MWF.xApplication.cms.Module.QueryViewer.ItemCategory = new Class({
- Extends : MWF.xApplication.query.Query.Viewer.ItemCategory,
- load: function(){
- this.node = new Element("tr", {"styles": this.css.viewContentTrNode}).inject(this.view.viewTable);
- //if (this.view.json.select==="single" || this.view.json.select==="multi"){
- this.selectTd = new Element("td", {"styles": this.css.viewContentCategoryTdNode}).inject(this.node);
- if (this.view.json.itemStyles) this.selectTd.setStyles(this.view.json.itemStyles);
- //}
- var colsapn = this.view.viewJson.selectList.length;
- if( this.view.options.hasAction ){
- colsapn ++
- }
- this.categoryTd = new Element("td", {
- "styles": this.css.viewContentCategoryTdNode,
- "colspan": colsapn
- }).inject(this.node);
- this.groupColumn = null;
- for (var c = 0; c<this.view.viewJson.selectList.length; c++){
- if (this.view.viewJson.selectList[c].column === this.view.viewJson.group.column){
- this.groupColumn = this.view.viewJson.selectList[c];
- break;
- }
- }
- if (this.groupColumn){
- var text = (this.groupColumn.code) ? MWF.Macro.exec(this.groupColumn.code, {"value": this.data.group, "gridData": this.view.gridJson, "data": this.view.viewData, "entry": this.data}) : this.data.group;
- }else{
- var text = this.data.group;
- }
- this.categoryTd.set("html", "<span style='font-family: Webdings'><img src='/x_component_query_Query/$Viewer/"+this.view.options.style+"/icon/expand.png'/></span> "+text);
- if (this.view.json.itemStyles) this.categoryTd.setStyles(this.view.json.itemStyles);
- this.setEvent();
- },
- expand: function(){
- this.items.each(function(item){
- item.node.setStyle("display", "table-row");
- }.bind(this));
- this.node.getElement("span").set("html", "<img src='/x_component_process_Application/$Viewer/"+this.view.options.style+"/icon/down.png'/>");
- if (!this.loadChild){
- //window.setTimeout(function(){
- this.data.list.each(function(line){
- this.items.push(new MWF.xApplication.cms.Module.QueryViewer.Item(this.view, line, this));
- }.bind(this));
- this.loadChild = true;
- //}.bind(this), 10);
- }
- }
- });
|