huqi 5 лет назад
Родитель
Сommit
eafb33bc69
32 измененных файлов с 670 добавлено и 383 удалено
  1. BIN
      o2web/source/o2_core/o2/widget/$Tree/findDesigner/icon_sql.png
  2. 171 116
      o2web/source/x_component_FindDesigner/FindWorker.js
  3. 317 241
      o2web/source/x_component_FindDesigner/Main.js
  4. 2 1
      o2web/source/x_component_FindDesigner/lp/zh-cn.js
  5. 14 1
      o2web/source/x_component_cms_Column/$Main/default/css.wcss
  6. BIN
      o2web/source/x_component_cms_Column/$Main/default/icon/icons_find.png
  7. 13 0
      o2web/source/x_component_cms_Column/Main.js
  8. 2 1
      o2web/source/x_component_cms_Column/lp/zh-cn.js
  9. BIN
      o2web/source/x_component_cms_ColumnManager/$Main/default/icon/icons_find.png
  10. 11 1
      o2web/source/x_component_cms_ColumnManager/$Main/startMenu.json
  11. 19 5
      o2web/source/x_component_cms_ColumnManager/Main.js
  12. BIN
      o2web/source/x_component_portal_PortalExplorer/$Main/default/icon/icons_find.png
  13. 12 0
      o2web/source/x_component_portal_PortalExplorer/$Main/default/style.css
  14. 2 1
      o2web/source/x_component_portal_PortalExplorer/$Main/default/view.html
  15. 8 0
      o2web/source/x_component_portal_PortalExplorer/Main.js
  16. 2 1
      o2web/source/x_component_portal_PortalExplorer/lp/zh-cn.js
  17. BIN
      o2web/source/x_component_process_ApplicationExplorer/$Main/default/icon/icons_find.png
  18. 12 0
      o2web/source/x_component_process_ApplicationExplorer/$Main/default/style.css
  19. 1 0
      o2web/source/x_component_process_ApplicationExplorer/$Main/default/view.html
  20. 16 0
      o2web/source/x_component_process_ApplicationExplorer/Main.js
  21. 2 1
      o2web/source/x_component_process_ApplicationExplorer/lp/zh-cn.js
  22. 11 5
      o2web/source/x_component_process_ProcessManager/$DictionaryExplorer/default/css.wcss
  23. 9 4
      o2web/source/x_component_process_ProcessManager/$Explorer/default/css.wcss
  24. BIN
      o2web/source/x_component_process_ProcessManager/$Explorer/default/icon/find.png
  25. 18 2
      o2web/source/x_component_process_ProcessManager/Explorer.js
  26. 3 1
      o2web/source/x_component_process_ProcessManager/lp/zh-cn.js
  27. BIN
      o2web/source/x_component_query_QueryExplorer/$Main/default/icon/icons_find.png
  28. 12 0
      o2web/source/x_component_query_QueryExplorer/$Main/default/style.css
  29. 2 1
      o2web/source/x_component_query_QueryExplorer/$Main/default/view.html
  30. 8 0
      o2web/source/x_component_query_QueryExplorer/Main.js
  31. 2 1
      o2web/source/x_component_query_QueryExplorer/lp/zh-cn.js
  32. 1 0
      o2web/source/x_desktop/js/initialScriptText.js

BIN
o2web/source/o2_core/o2/widget/$Tree/findDesigner/icon_sql.png


+ 171 - 116
o2web/source/x_component_FindDesigner/FindWorker.js

@@ -226,8 +226,8 @@ _worker._parseFindModule = function(moduleList){
                 this.filterOptionList.push(filterOption);
 
                 promiseArr.push(Promise.resolve(""));
-                // promiseArr = promiseArr.concat(_worker["_getDesinger_"+module.moduleType]("invoke"));
-                // promiseArr = promiseArr.concat(_worker["_getDesinger_"+module.moduleType]("agent"));
+                //promiseArr = promiseArr.concat(_worker["_getDesinger_"+module.moduleType]("invoke"));
+                //promiseArr = promiseArr.concat(_worker["_getDesinger_"+module.moduleType]("agent"));
             }else{
                 module.flagList.forEach(function(flag){
                     if (!flag.designerList || !flag.designerList.length){
@@ -245,6 +245,7 @@ _worker._parseFindModule = function(moduleList){
                 var p = _worker._listApplication(module.moduleType);
                 promiseArr.push(p.then(function(json){
 
+                    //按应用进行搜索
                     if (json && json.data) json.data.forEach(function(app){
                         var filterOption = JSON.parse(_worker.filterOptionTemplete);
                         filterOption.moduleList.push({
@@ -254,9 +255,8 @@ _worker._parseFindModule = function(moduleList){
                         this.filterOptionList.push(filterOption);
                     });
                     return Promise.resolve("");
-                    //临时处理
-
 
+                    //按设计元素进行搜索
                     // var pArr = [];
                     // json.data.forEach(function(app){
                     //     pArr = pArr.concat(_worker["_getDesinger_"+module.moduleType](app.id));
@@ -284,19 +284,26 @@ _worker._parseFindModule = function(moduleList){
 }
 
 _worker._findMessageReply = function(data, option){
-    _worker.setTimeout(function(){
+    //_worker.setTimeout(function(){
         _worker.postMessage({
             "type": "find",
             "data": data,
             "option": option
         });
-    }, 200);
+    //}, 10);
 };
 _worker._findOptionReply = function(){
     _worker.postMessage({
         "type": "done"
     });
 };
+_worker._findCompletedReply = function(data, option){
+    _worker.setTimeout(function(){
+        _worker.postMessage({
+            "type": "completed"
+        });
+    }, 100);
+};
 
 
 
@@ -1088,6 +1095,9 @@ _worker._getDesignerData = function(designer, module){
         case "view":
             action = this.findData.actions.getQueryView;
             break;
+        case "statement":
+            action = this.findData.actions.getQueryStatement;
+            break;
     }
 
     if (action){
@@ -1156,45 +1166,55 @@ _worker._findProcessPlatformParse_view = function(designer, option, module){
                         }
                     });
 
-                    viewData.where.type = "View";
-                    viewData.where.name = viewJson.name;
-                    Object.keys(viewData.where).forEach(function(key){
-                        if ( key!=="type" && key!=="name"){
-                            var propertyDefinition = this.designerPropertysData.view[key];
-                            _worker.findInDesignerProperty(key, propertyDefinition, viewData.where, option, module, designer, null, ["data", "where", key]);
-                        }
-                    });
-
-                    viewData.selectList.forEach(function(col, i){
-                        col.type = "column";
-                        col.name =  col.displayName;
-                        Object.keys(col).forEach(function(key){
-                            if (key!=="name" && key!=="type"){
+                    if (viewData.where) {
+                        viewData.where.type = "View";
+                        viewData.where.name = viewJson.name;
+                        Object.keys(viewData.where).forEach(function (key) {
+                            if (key !== "type" && key !== "name") {
                                 var propertyDefinition = this.designerPropertysData.view[key];
-                                _worker.findInDesignerProperty(key, propertyDefinition, col, option, module, designer, null, ["data", "selectList", i, key]);
+                                _worker.findInDesignerProperty(key, propertyDefinition, viewData.where, option, module, designer, null, ["data", "where", key]);
                             }
                         });
-                    });
-                    viewData.actionbarList.forEach(function(item, i){
-                        item.type = "actionbar";
-                        item.name =  item.type;
-                        Object.keys(item).forEach(function(key){
-                            if (key!=="name" && key!=="type"){
-                                var propertyDefinition = this.designerPropertysData.view[key];
-                                _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["data", "actionbarList", i, key]);
-                            }
+                    }
+
+                    if (viewData.selectList) {
+                        viewData.selectList.forEach(function (col, i) {
+                            col.type = "column";
+                            col.name = col.displayName;
+                            Object.keys(col).forEach(function (key) {
+                                if (key !== "name" && key !== "type") {
+                                    var propertyDefinition = this.designerPropertysData.view[key];
+                                    _worker.findInDesignerProperty(key, propertyDefinition, col, option, module, designer, null, ["data", "selectList", i, key]);
+                                }
+                            });
                         });
-                    });
-                    viewData.pagingList.forEach(function(item, i){
-                        item.type = "paging";
-                        item.name =  item.type;
-                        Object.keys(item).forEach(function(key){
-                            if (key!=="name" && key!=="type"){
-                                var propertyDefinition = this.designerPropertysData.view[key];
-                                _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["data", "pagingList", i, key]);
-                            }
+                    }
+
+                    if (viewData.actionbarList) {
+                        viewData.actionbarList.forEach(function (item, i) {
+                            item.type = "actionbar";
+                            item.name = item.type;
+                            Object.keys(item).forEach(function (key) {
+                                if (key !== "name" && key !== "type") {
+                                    var propertyDefinition = this.designerPropertysData.view[key];
+                                    _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["data", "actionbarList", i, key]);
+                                }
+                            });
                         });
-                    });
+                    }
+
+                    if (viewData.pagingList) {
+                        viewData.pagingList.forEach(function (item, i) {
+                            item.type = "paging";
+                            item.name = item.type;
+                            Object.keys(item).forEach(function (key) {
+                                if (key !== "name" && key !== "type") {
+                                    var propertyDefinition = this.designerPropertysData.view[key];
+                                    _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["data", "pagingList", i, key]);
+                                }
+                            });
+                        });
+                    }
 
                 }, function () {
                 });
@@ -1211,6 +1231,7 @@ _worker._findProcessPlatformParse_view = function(designer, option, module){
                             "propertyName": propertyDefinition.name,
                             "name": designer.designerName,
                             "key": pattern.property,
+                            "path": [pattern.property],
                             "value": pattern.propertyValue
                         }), option);
                     }
@@ -1223,91 +1244,117 @@ _worker._findProcessPlatformParse_view = function(designer, option, module){
 _worker._findProcessPlatformParse_statement = function(designer, option, module){
     if (designer.patternList && designer.patternList.length){
         if (!this.designerPropertysData) this.designerPropertysData = _worker.action.sendRequest(_worker._getRequestOption({"url": "../x_component_FindDesigner/propertys.json"}));
-        var patternPropertys = designer.patternList.map(function(a){return a.property;});
-        if (patternPropertys.indexOf("view")!=-1){
-
+        // var patternPropertys = designer.patternList.map(function(a){return a.property;});
+        // if (patternPropertys.indexOf("view")!=-1){
+debugger;
             var p = _worker._getDesignerData(designer, module);
             if (p) {
                 p.then(function (arr) {
                     var statementJson = arr[0].data;
                     this.designerPropertysData = arr[1];
 
-                    if (statementJson.view){
-                        var viewJson = JSON.parse(statementJson.view);
-                        var viewData = viewJson.data;
-                        if (viewData){
-                            viewData.type = "View";
-                            viewData.name = statementJson.name;
-                            Object.keys(viewData).forEach(function(key){
-                                if (key!=="where" && key!=="selectList" && key!=="actionbarList" && key!=="pagingList" && key!=="type" && key!=="name" ){
-                                    var propertyDefinition = this.designerPropertysData.view[key];
-                                    _worker.findInDesignerProperty(key, propertyDefinition, viewData, option, module, designer);
+                    designer.patternList.forEach(function(pattern){
+                        if (pattern.property=="view"){
+                            if ((typeof statementJson.view)=="string"){
+                                statementJson.view = JSON.parse(statementJson.view);
+                            }
+                            var viewData = statementJson.view.data;
+                            if (viewData){
+                                viewData.type = "View";
+                                viewData.name = statementJson.name;
+                                Object.keys(viewData).forEach(function(key){
+                                    if (key!=="where" && key!=="selectList" && key!=="actionbarList" && key!=="pagingList" && key!=="type" && key!=="name" ){
+                                        var propertyDefinition = this.designerPropertysData.view[key];
+                                        _worker.findInDesignerProperty(key, propertyDefinition, viewData, option, module, designer, null, ["view", "data", key]);
+                                    }
+                                });
+
+                                if (viewData.where) {
+                                    viewData.where.type = "View";
+                                    viewData.where.name = viewJson.name;
+                                    Object.keys(viewData.where).forEach(function(key){
+                                        if ( key!=="type" && key!=="name"){
+                                            var propertyDefinition = this.designerPropertysData.view[key];
+                                            _worker.findInDesignerProperty(key, propertyDefinition, viewData.where, option, module, designer, null, ["view", "data", "where", key]);
+                                        }
+                                    });
                                 }
-                            });
 
-                            viewData.where.type = "View";
-                            viewData.where.name = viewJson.name;
-                            Object.keys(viewData.where).forEach(function(key){
-                                if ( key!=="type" && key!=="name"){
-                                    var propertyDefinition = this.designerPropertysData.view[key];
-                                    _worker.findInDesignerProperty(key, propertyDefinition, viewData.where, option, module, designer);
+                                if (viewData.selectList) {
+                                    viewData.selectList.forEach(function (col, i) {
+                                        col.type = "View-column";
+                                        col.name = col.displayName;
+                                        Object.keys(col).forEach(function (key) {
+                                            if (key !== "name" && key !== "type") {
+                                                var propertyDefinition = this.designerPropertysData.view[key];
+                                                _worker.findInDesignerProperty(key, propertyDefinition, col, option, module, designer, null, ["view", "data", "selectList", i, key]);
+                                            }
+                                        });
+                                    });
                                 }
-                            });
 
-                            viewData.selectList.forEach(function(col){
-                                col.type = "View-column";
-                                col.name =  col.displayName;
-                                Object.keys(col).forEach(function(key){
-                                    if (key!=="name" && key!=="type"){
-                                        var propertyDefinition = this.designerPropertysData.view[key];
-                                        _worker.findInDesignerProperty(key, propertyDefinition, col, option, module, designer);
-                                    }
-                                });
-                            });
-                            viewData.actionbarList.forEach(function(item){
-                                item.type = "View-actionbar";
-                                item.name =  item.type;
-                                Object.keys(item).forEach(function(key){
-                                    if (key!=="name" && key!=="type"){
-                                        var propertyDefinition = this.designerPropertysData.view[key];
-                                        _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer);
-                                    }
-                                });
-                            });
-                            viewData.pagingList.forEach(function(item){
-                                item.type = "View-paging";
-                                item.name =  item.type;
-                                Object.keys(item).forEach(function(key){
-                                    if (key!=="name" && key!=="type"){
-                                        var propertyDefinition = this.designerPropertysData.view[key];
-                                        _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer);
-                                    }
-                                });
-                            });
+                                if (viewData.actionbarList) {
+                                    viewData.actionbarList.forEach(function (item, i) {
+                                        item.type = "View-actionbar";
+                                        item.name = item.type;
+                                        Object.keys(item).forEach(function (key) {
+                                            if (key !== "name" && key !== "type") {
+                                                var propertyDefinition = this.designerPropertysData.view[key];
+                                                _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["view", "data", "actionbarList", i, key]);
+                                            }
+                                        });
+                                    });
+                                }
 
+                                if (viewData.pagingList) {
+                                    viewData.pagingList.forEach(function (item, i) {
+                                        item.type = "View-paging";
+                                        item.name = item.type;
+                                        Object.keys(item).forEach(function (key) {
+                                            if (key !== "name" && key !== "type") {
+                                                var propertyDefinition = this.designerPropertysData.view[key];
+                                                _worker.findInDesignerProperty(key, propertyDefinition, item, option, module, designer, null, ["view", "data", "pagingList", i, key]);
+                                            }
+                                        });
+                                    });
+                                }
+                            }
+                        }else{
+                            var propertyDefinition = this.designerPropertysData.statement[pattern.property];
+                            if (propertyDefinition){
+                                _worker.findInDesignerProperty(pattern.property, propertyDefinition, statementJson, option, module, designer, null, [pattern.property]);
+                            }
                         }
-                    }
-                }, function () {
-                });
+                    });
+
+
+                    // if (statementJson.view){
+                    //     var viewJson = JSON.parse(statementJson.view);
+                    //     var viewData = viewJson.data;
+                    //
+                    // }
+                }, function () {});
             }
-        }else{
-            Promise.resolve(this.designerPropertysData).then(function(data){
-                this.designerPropertysData = data;
-                designer.patternList.forEach(function(pattern){
-                    var propertyDefinition = this.designerPropertysData.statement[pattern.property];
-                    if (propertyDefinition){
-                        _worker._findMessageReply(_worker._createFindMessageReplyData(module, designer, "", {
-                            "type": "Statement",
-                            "propertyType": propertyDefinition.type || "text",
-                            "propertyName": propertyDefinition.name,
-                            "name": designer.designerName,
-                            "key": pattern.property,
-                            "value": pattern.propertyValue
-                        }), option);
-                    }
-                });
-            }, function(){});
-        }
+        // }else{
+        //     Promise.resolve(this.designerPropertysData).then(function(data){
+        //         this.designerPropertysData = data;
+        //         designer.patternList.forEach(function(pattern){
+        //             var propertyDefinition = this.designerPropertysData.statement[pattern.property];
+        //             if (propertyDefinition){
+        //                 _worker._findMessageReply(_worker._createFindMessageReplyData(module, designer, "", {
+        //                     "type": "Statement",
+        //                     "propertyType": propertyDefinition.type || "text",
+        //                     "propertyName": propertyDefinition.name,
+        //                     "name": designer.designerName,
+        //                     "key": pattern.property,
+        //                     "mode": null,
+        //                     "path": [pattern.property],
+        //                     "value": pattern.propertyValue
+        //                 }), option);
+        //             }
+        //         });
+        //     }, function(){});
+        // }
     }
 };
 
@@ -1432,7 +1479,12 @@ _worker._doFindDesigner = function(option, idx){
             _worker._findOptionReply();
 
             idx++;
-            if (this.filterOptionList.length>idx)  _worker._doFindDesigner(null, idx);
+            if (this.filterOptionList.length>idx){
+                _worker._doFindDesigner(null, idx);
+            }else{
+                debugger;
+                _worker._findCompletedReply();
+            }
             //this.filterOptionList[idx];
 
             //_worker._findMessageReply(json.data, option);
@@ -1441,11 +1493,13 @@ _worker._doFindDesigner = function(option, idx){
             _worker._findMessageReply(null);
 
             idx++;
-            if (this.filterOptionList.length>idx)  _worker._doFindDesigner(null, idx);
+            if (this.filterOptionList.length>idx){
+                _worker._doFindDesigner(null, idx);
+            }else{
+                _worker._findCompletedReply();
+            }
         });
 
-
-
 },
 
 _worker._doFindDesignerFromFilterOption = function(){
@@ -1470,6 +1524,7 @@ onmessage = function(e) {
         // //_worker._doFindDesigner(this.filterOptionList[0]);
         // this.filterOptionList = [this.filterOptionList[0]];
         _worker._readyMessageReply();
+        debugger;
         _worker._doFindDesignerFromFilterOption();
     });
 

+ 317 - 241
o2web/source/x_component_FindDesigner/Main.js

@@ -10,6 +10,7 @@ MWF.xApplication.FindDesigner.Main = new Class({
 		"icon": "icon.png",
 		"width": "1200",
 		"height": "800",
+		"filter": null,
 		"isResize": true,
 		"isMax": true,
 		"layout": {
@@ -39,9 +40,35 @@ MWF.xApplication.FindDesigner.Main = new Class({
 		this.content.loadHtml(url, {"bind": {"lp": this.lp}, "module": this}, function(){
 			this.setSizeNode();
 			this.createToolbar();
+debugger;
+			this.initFilter();
+
 			if (callback) callback();
 		}.bind(this));
 	},
+	initFilter: function(){
+		if (this.options.filter){
+			if (this.options.filter.moduleList){
+				var inputs = this.rangeContentNode.getElements("input");
+				inputs.forEach(function(input){
+					if (input.get("value").indexOf(this.options.filter.moduleList) !== -1){
+						input.set("checked", true);
+					}else{
+						input.set("checked", false);
+					}
+				}.bind(this));
+			}
+			if (this.options.filter.appList){
+				o2.require("o2.widget.O2Identity", function(){
+					this.options.filter.appList.each(function(app){
+						app.name = this.lp[app.moduleType] + "-" + app.name;
+						var item = new o2.widget.O2Other(app, this.rangeSelectedContentNode, {"canRemove": true, "style": "find", "onRemove": function(item){this.removeRangeItem(item);}.bind(this)});
+						item.node.store("data", item.data);
+					}.bind(this));
+				}.bind(this));
+			}
+		}
+	},
 	createToolbar: function(){
 		o2.require("o2.widget.Toolbar", function(){
 			this.previewToolbar = new o2.widget.Toolbar(this.previewTitleToolbar, {"style": "findDesigner"}, this);
@@ -286,7 +313,8 @@ MWF.xApplication.FindDesigner.Main = new Class({
 						o2.require("o2.widget.O2Identity", function(){
 							list.each(function(app){
 								//this.selectedModules.push(app.data);
-								app.data.name = this.lp.service + "-" + app.data.name;
+								debugger;
+								app.data.name = this.lp[app.data.moduleType] + "-" + app.data.name;
 								var item = new o2.widget.O2Other(app.data, this.rangeSelectedContentNode, {"canRemove": true, "style": "find", "onRemove": function(item){this.removeRangeItem(item);}.bind(this)});
 								item.node.store("data", item.data);
 							}.bind(this));
@@ -364,8 +392,22 @@ MWF.xApplication.FindDesigner.Main = new Class({
 			if (e.data && e.data.type=="ready") this.setReadyMessage(e.data);
 			if (e.data && e.data.type=="done") this.doFindOptionResult(e.data);
 			if (e.data && e.data.type=="find") this.doFindResult(e.data);
+			if (e.data && e.data.type=="completed") this.doFindCompleted(e.data);
 		}.bind(this);
 	},
+	doFindCompleted: function(){
+		if (!this.tree || !this.tree.children.length){
+			//not find
+			this.listContentNode.hide();
+			this.listContentNode.empty();
+			this.listInfoNode.removeClass("loadding");
+			this.listInfoNode.show().getFirst().set("text", this.lp.nothingFind);
+		}
+
+		if (!this.patternCount) this.patternCount = 0;
+		var t = this.lp.findPatternCountCompleted.replace("{n}", this.patternCount);
+		this.listTitleInfoNode.set("text", t);
+	},
 	doFindOptionResult: function(){
 		// this.listInfoNode.hide();
 		// this.listContentNode.show();
@@ -795,7 +837,7 @@ MWF.xApplication.FindDesigner.Main = new Class({
 						break;
 					}
 					if (node.pattern.designerType==="statement"){
-						m = o2.Actions.load("x_portal_assemble_designer").StatementAction.get;
+						m = o2.Actions.load("x_query_assemble_designer").StatementAction.get;
 						break;
 					}
 					break;
@@ -804,11 +846,8 @@ MWF.xApplication.FindDesigner.Main = new Class({
 					//m = (node.pattern.appId==="invoke") ? o2.Actions.load("x_program_center").InvokeAction.get : o2.Actions.load("x_program_center").AgentAction.get;
 					break;
 			}
-
 			if (m) this.openPatternFormWithData(m, node);
-
 		}
-
 	},
 	resetFormEditor: function(pattern){
 		switch (pattern.pattern.propertyType){
@@ -868,6 +907,12 @@ MWF.xApplication.FindDesigner.Main = new Class({
 						d.applicationName = d.queryName;
 						d.data = dataJson;
 					}
+					if (node.pattern.designerType=="statement"){
+						d.application = d.query
+						d.applicationName = d.queryName;
+						var viewJson = JSON.decode(d.view);
+						d.view = viewJson;
+					}
 
 					if (!this.designerDataObject) this.designerDataObject = {};
 					this.designerDataObject[node.pattern.designerId] = d;
@@ -1669,6 +1714,29 @@ debugger;
 					}.bind(this), function(){});
 
 					break;
+
+				case "statement":
+					var action = MWF.Actions.get("x_query_assemble_designer");
+					m = action.saveStatement.bind(action);
+					if (this.designerDataObject && this.designerDataObject[this.editor.pattern.designerId]) {
+						var d = this.designerDataObject[this.editor.pattern.designerId];
+						if (this.editor.getValue){
+							if (this.editor.pattern.pattern.path){
+								var path = this.editor.pattern.pattern.path;
+								for (var i=0; i<path.length-1; i++){
+									d = d[path[i]];
+								}
+							}
+							d[path[path.length-1]] = this.editor.getValue();
+						}
+					}
+					var viewText = JSON.stringify(data.view);
+					data.view = viewText;
+
+					if (m) m(data, function(){
+						this.notice(this.lp.notice.save_success, "success", this.previewContentNode, {"x": "left", "y": "bottom"});
+					}.bind(this), function(){});
+					break;
 			}
 		}
 	},
@@ -1785,7 +1853,6 @@ debugger;
 					layout.openApplication(null, "portal.WidgetDesigner", options);
 					break;
 				case "view":
-					debugger;
 					var _self = this;
 					var options = {
 						"appId": "query.ViewDesigner"+pattern.designerId,
@@ -1797,6 +1864,15 @@ debugger;
 					};
 					layout.openApplication(null, "query.ViewDesigner", options);
 					break;
+				case "statement":
+					var _self = this;
+					var options = {
+						"appId": "query.StatementDesigner"+pattern.designerId,
+						"id": pattern.designerId,
+						"application": pattern.appId
+					};
+					layout.openApplication(null, "query.StatementDesigner", options);
+					break;
 			}
 			if (this.editor.getValue) window.setTimeout(function(){
 				if (this.scriptDesignerDataObject && this.scriptDesignerDataObject[this.editor.pattern.designerId]){
@@ -2084,246 +2160,246 @@ debugger;
 
 
 
-	findDesigner_bak: function(){
-		this.listContentNode.hide();
-		this.listInfoNode.show().getFirst().set("text", "");
-		this.listInfoNode.addClass("loadding")
-		o2.Actions.load("x_query_service_processing").DesignAction.search(this.filterOption, function(json){
-			if ((json.data.processPlatformList && json.data.processPlatformList.length) ||
-				(json.data.cmsList && json.data.cmsList.length) ||
-				(json.data.portalList && json.data.portalList.length) ||
-				(json.data.queryList && json.data.queryList.length) ||
-				(json.data.serviceList && json.data.serviceList.length)){
-
-				this.listInfoNode.hide();
-				this.listFindResult(json.data);
-
-			}else{
-				this.listInfoNode.show().removeClass("loadding").getFirst().set("text", this.lp.nothingFind);
-			}
-		}.bind(this));
-	},
-
-
-	createResultAppItem: function(text, title, tree){
-		var obj = {
-			"title": title,
-			"text": "<span style='font-weight: bold; color: #4A90E2'>"+text+"</span>",
-			"icon": ""
-		}
-		return tree.appendChild(obj);
-	},
-	// createResultDesignerItem: function(designer, tree){
-	// 	var title = this.lp[designer.designerType]+ ": "+ designer.designerName + " ("+designer.designerId+")";
-	// 	var text = this.lp[designer.designerType]+ ": <b>"+ designer.designerName+"</b>";
+	// findDesigner_bak: function(){
+	// 	this.listContentNode.hide();
+	// 	this.listInfoNode.show().getFirst().set("text", "");
+	// 	this.listInfoNode.addClass("loadding")
+	// 	o2.Actions.load("x_query_service_processing").DesignAction.search(this.filterOption, function(json){
+	// 		if ((json.data.processPlatformList && json.data.processPlatformList.length) ||
+	// 			(json.data.cmsList && json.data.cmsList.length) ||
+	// 			(json.data.portalList && json.data.portalList.length) ||
+	// 			(json.data.queryList && json.data.queryList.length) ||
+	// 			(json.data.serviceList && json.data.serviceList.length)){
+	//
+	// 			this.listInfoNode.hide();
+	// 			this.listFindResult(json.data);
+	//
+	// 		}else{
+	// 			this.listInfoNode.show().removeClass("loadding").getFirst().set("text", this.lp.nothingFind);
+	// 		}
+	// 	}.bind(this));
+	// },
+	//
+	//
+	// createResultAppItem: function(text, title, tree){
 	// 	var obj = {
-	// 		"expand": false,
 	// 		"title": title,
-	// 		"text": text,
+	// 		"text": "<span style='font-weight: bold; color: #4A90E2'>"+text+"</span>",
 	// 		"icon": ""
 	// 	}
-	// 	var item = tree.appendChild(obj);
-	// 	item.designer = designer;
-	// 	item.appendChild({ "expand": false, "text": "loading...", "icon": "" });
-	// 	return item;
+	// 	return tree.appendChild(obj);
 	// },
-	listFindResult: function(data){
-		this.listContentNode.empty();
-		this.listContentNode.show();
-		o2.require("o2.widget.Tree", function(){
-			var tree = new o2.widget.Tree(this.listContentNode, {
-				"onQueryExpand": function(item){
-					if (item.designer) this.loadDesignerPattern(item);
-				}.bind(this)
-			});
-			tree.load();
-			if (data.processPlatformList && data.processPlatformList.length){
-				var platformItem = this.createResultCategroyItem(this.lp.processPlatform, this.lp.processPlatform, tree);
-				this.listProcessResult(platformItem, data.processPlatformList, "processPlatform");
-			}
-			if (data.cmsList && data.cmsList.length){
-				var platformItem = this.createResultCategroyItem(this.lp.cms, this.lp.cms, tree);
-				//this.listProcessResult(categroyItem, data.cmsList);
-			}
-			if (data.portalList && data.portalList.length){
-				var platformItem = this.createResultCategroyItem(this.lp.portal, this.lp.portal, tree);
-
-			}
-			if (data.queryList && data.queryList.length){
-				var platformItem = this.createResultCategroyItem(this.lp.query, this.lp.query, tree);
-			}
-			if (data.serviceList && data.serviceList.length){
-				var platformItem = this.createResultCategroyItem(this.lp.service, this.lp.service, tree);
-			}
-
-
-		}.bind(this));
-	},
-	addPatternCount: function(item, count){
-		if (!item.count) item.count = 0;
-		item.count += count;
-		var t = this.lp.patternCount.replace("{n}", item.count);
-		var textDivNode = item.textNode.getElement("div");
-		if (textDivNode){
-			var html = item.options.text;
-			textDivNode.set("html", html+" <span style=''>( "+t+" )</span>");
-		}
-	},
-	listProcessResult: function(platformItem, list, platform){
-		var applicationItems = {};
-		list.each(function(designer){
-			if (designer.patternList && designer.patternList.length){
-				var appItem = applicationItems[designer.appId];
-				if (!appItem){
-					applicationItems[designer.appId] = appItem = this.createResultAppItem(designer.appName, designer.appName+" ("+designer.appId+")", platformItem);
-				}
-				designer.platform = platform;
-				var designerItem = this.createResultDesignerItem(designer, appItem);
-				var count=0;
-				designer.patternList.each(function(p){
-					if (p.lines && p.lines.length){
-						count += p.lines.length;
-					}else{
-						count++;
-					}
-				});
-				// var count = designer.patternList.length;
-
-				this.addPatternCount(designerItem, count);
-				this.addPatternCount(appItem, count);
-				this.addPatternCount(platformItem, count);
-			}
-		}.bind(this));
-	},
-
-	getDesignerObject: function(designer){
-		switch (designer.platform){
-			case "processPlatform":
-				var action = this.Actions.load("x_processplatform_assemble_designer");
-				switch (designer.designerType){
-					case "script":
-						return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
-					case "form":
-						return action.FomrAction.get(designer.designerId, function(json){return json.data;});
-					case "process":
-						return action.ProcessAction.get(designer.designerId, function(json){return json.data;});
-				}
-			case "cms":
-				var action = this.Actions.load("x_cms_assemble_control");
-				switch (designer.designerType){
-					case "script":
-						return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
-					case "form":
-						return action.FormAction.get(designer.designerId, function(json){return json.data;});
-				}
-
-			case "portal":
-				var action = this.Actions.load("x_portal_assemble_designer");
-				switch (designer.designerType){
-					case "script":
-						return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
-					case "page":
-						return action.PageAction.get(designer.designerId, function(json){return json.data;});
-					case "widget":
-						return action.WidgetAction.get(designer.designerId, function(json){return json.data;});
-				}
-			case "query":
-				var action = this.Actions.load("x_query_assemble_designer");
-				switch (designer.designerType){
-					case "view":
-						return action.ViewAction.get(designer.designerId, function(json){return json.data;});
-					case "statement":
-						return action.StatementAction.get(designer.designerId, function(json){return json.data;});
-					case "stat":
-						return action.StatAction.get(designer.designerId, function(json){return json.data;});
-				}
-			case "service":
-				var action = this.Actions.load("x_program_center");
-				switch (designer.appId){
-					case "invoke":
-						return action.InvokeAction.get(designer.designerId, function(json){return json.data;});
-					case "agent":
-						return action.AgentAction.get(designer.designerId, function(json){return json.data;});
-				}
-		}
-	},
-	loadDesignerPattern: function(item){
-		if (item.firstChild && item.firstChild.options.text==="loading..."){
-			item.firstChild.destroy();
-
-			var root, actionName, fun;
-			switch (designer.platform) {
-				case "processPlatform":
-					root = "x_processplatform_assemble_designer";
-					switch (designer.designerType) {
-						case "script": actionName = "ScriptAction"; fun = "listProcessScriptPattern";
-						case "form": actionName = "FomrAction"; fun = "listProcessFormPattern";
-						case "process": actionName = "ProcessAction"; fun = "listProcessProcessPattern";
-					}
-				case "cms":
-					root = "x_cms_assemble_control";
-					switch (designer.designerType) {
-						case "script": actionName = "ScriptAction"; fun = "listCmsScriptPattern";
-						case "form": actionName = "FormAction"; fun = "listCmsFormPattern";
-					}
-
-				case "portal":
-					root = "x_portal_assemble_designer";
-					switch (designer.designerType) {
-						case "script": actionName = "ScriptAction"; fun = "listPortalScriptPattern";
-						case "page": actionName = "PageAction"; fun = "listPortalPagePattern";
-						case "widget": actionName = "WidgetAction"; fun = "listPortalWidgetPattern";
-					}
-				case "query":
-					root = "x_query_assemble_designer";
-					switch (designer.designerType) {
-						case "view": actionName = "ViewAction"; fun = "listQueryViewPattern";
-						case "statement": actionName = "StatementAction"; fun = "listQueryStatementPattern";
-						case "stat": actionName = "StatAction"; fun = "listQueryStatPattern";
-					}
-				case "service":
-					root = "x_program_center";
-					switch (designer.appId) {
-						case "invoke": actionName = "InvokeAction"; fun = "listServiceInvokePattern";
-						case "agent": actionName = "AgentAction"; fun = "listServiceAgentPattern";
-					}
-			}
-			this.Actions.load(root)[actionName].get(designer.designerId, function(json){
-				this[fun](json.data, designer.patternList, item);
-			}.bind(this))
-		}
-	},
-
-	getFindRegExp: function(){
-		var flag = "gm";
-		var keyword = this.filterOption.keyword;
-		if (!this.filterOption.caseSensitive) flag+="i";
-		if (this.filterOption.matchRegExp){
-			return new RegExp(keyword, flag)
-		}else{
-			if (this.filterOption.matchWholeWord) keyword = "\\b"+keyword+"\\b";
-			return new RegExp(keyword, flag)
-		}
-	},
-
-
-	//启动一个webworker处理
-	listProcessScriptPattern: function (data, patternList, item){
-		patternList.each(function(pattern){
-			if (pattern.property == "text"){
-				var textArr = data.split("\n");
-				var regex = this.getFindRegExp();
-				pattern.lines.each(function(line){
-					var text = textArr[line];
-
-
-
-				}.bind(this));
-			}else{
-
-			}
-		}.bind(this));
-	}
+	// // createResultDesignerItem: function(designer, tree){
+	// // 	var title = this.lp[designer.designerType]+ ": "+ designer.designerName + " ("+designer.designerId+")";
+	// // 	var text = this.lp[designer.designerType]+ ": <b>"+ designer.designerName+"</b>";
+	// // 	var obj = {
+	// // 		"expand": false,
+	// // 		"title": title,
+	// // 		"text": text,
+	// // 		"icon": ""
+	// // 	}
+	// // 	var item = tree.appendChild(obj);
+	// // 	item.designer = designer;
+	// // 	item.appendChild({ "expand": false, "text": "loading...", "icon": "" });
+	// // 	return item;
+	// // },
+	// listFindResult: function(data){
+	// 	this.listContentNode.empty();
+	// 	this.listContentNode.show();
+	// 	o2.require("o2.widget.Tree", function(){
+	// 		var tree = new o2.widget.Tree(this.listContentNode, {
+	// 			"onQueryExpand": function(item){
+	// 				if (item.designer) this.loadDesignerPattern(item);
+	// 			}.bind(this)
+	// 		});
+	// 		tree.load();
+	// 		if (data.processPlatformList && data.processPlatformList.length){
+	// 			var platformItem = this.createResultCategroyItem(this.lp.processPlatform, this.lp.processPlatform, tree);
+	// 			this.listProcessResult(platformItem, data.processPlatformList, "processPlatform");
+	// 		}
+	// 		if (data.cmsList && data.cmsList.length){
+	// 			var platformItem = this.createResultCategroyItem(this.lp.cms, this.lp.cms, tree);
+	// 			//this.listProcessResult(categroyItem, data.cmsList);
+	// 		}
+	// 		if (data.portalList && data.portalList.length){
+	// 			var platformItem = this.createResultCategroyItem(this.lp.portal, this.lp.portal, tree);
+	//
+	// 		}
+	// 		if (data.queryList && data.queryList.length){
+	// 			var platformItem = this.createResultCategroyItem(this.lp.query, this.lp.query, tree);
+	// 		}
+	// 		if (data.serviceList && data.serviceList.length){
+	// 			var platformItem = this.createResultCategroyItem(this.lp.service, this.lp.service, tree);
+	// 		}
+	//
+	//
+	// 	}.bind(this));
+	// },
+	// addPatternCount: function(item, count){
+	// 	if (!item.count) item.count = 0;
+	// 	item.count += count;
+	// 	var t = this.lp.patternCount.replace("{n}", item.count);
+	// 	var textDivNode = item.textNode.getElement("div");
+	// 	if (textDivNode){
+	// 		var html = item.options.text;
+	// 		textDivNode.set("html", html+" <span style=''>( "+t+" )</span>");
+	// 	}
+	// },
+	// listProcessResult: function(platformItem, list, platform){
+	// 	var applicationItems = {};
+	// 	list.each(function(designer){
+	// 		if (designer.patternList && designer.patternList.length){
+	// 			var appItem = applicationItems[designer.appId];
+	// 			if (!appItem){
+	// 				applicationItems[designer.appId] = appItem = this.createResultAppItem(designer.appName, designer.appName+" ("+designer.appId+")", platformItem);
+	// 			}
+	// 			designer.platform = platform;
+	// 			var designerItem = this.createResultDesignerItem(designer, appItem);
+	// 			var count=0;
+	// 			designer.patternList.each(function(p){
+	// 				if (p.lines && p.lines.length){
+	// 					count += p.lines.length;
+	// 				}else{
+	// 					count++;
+	// 				}
+	// 			});
+	// 			// var count = designer.patternList.length;
+	//
+	// 			this.addPatternCount(designerItem, count);
+	// 			this.addPatternCount(appItem, count);
+	// 			this.addPatternCount(platformItem, count);
+	// 		}
+	// 	}.bind(this));
+	// },
+	//
+	// getDesignerObject: function(designer){
+	// 	switch (designer.platform){
+	// 		case "processPlatform":
+	// 			var action = this.Actions.load("x_processplatform_assemble_designer");
+	// 			switch (designer.designerType){
+	// 				case "script":
+	// 					return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "form":
+	// 					return action.FomrAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "process":
+	// 					return action.ProcessAction.get(designer.designerId, function(json){return json.data;});
+	// 			}
+	// 		case "cms":
+	// 			var action = this.Actions.load("x_cms_assemble_control");
+	// 			switch (designer.designerType){
+	// 				case "script":
+	// 					return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "form":
+	// 					return action.FormAction.get(designer.designerId, function(json){return json.data;});
+	// 			}
+	//
+	// 		case "portal":
+	// 			var action = this.Actions.load("x_portal_assemble_designer");
+	// 			switch (designer.designerType){
+	// 				case "script":
+	// 					return action.ScriptAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "page":
+	// 					return action.PageAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "widget":
+	// 					return action.WidgetAction.get(designer.designerId, function(json){return json.data;});
+	// 			}
+	// 		case "query":
+	// 			var action = this.Actions.load("x_query_assemble_designer");
+	// 			switch (designer.designerType){
+	// 				case "view":
+	// 					return action.ViewAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "statement":
+	// 					return action.StatementAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "stat":
+	// 					return action.StatAction.get(designer.designerId, function(json){return json.data;});
+	// 			}
+	// 		case "service":
+	// 			var action = this.Actions.load("x_program_center");
+	// 			switch (designer.appId){
+	// 				case "invoke":
+	// 					return action.InvokeAction.get(designer.designerId, function(json){return json.data;});
+	// 				case "agent":
+	// 					return action.AgentAction.get(designer.designerId, function(json){return json.data;});
+	// 			}
+	// 	}
+	// },
+	// loadDesignerPattern: function(item){
+	// 	if (item.firstChild && item.firstChild.options.text==="loading..."){
+	// 		item.firstChild.destroy();
+	//
+	// 		var root, actionName, fun;
+	// 		switch (designer.platform) {
+	// 			case "processPlatform":
+	// 				root = "x_processplatform_assemble_designer";
+	// 				switch (designer.designerType) {
+	// 					case "script": actionName = "ScriptAction"; fun = "listProcessScriptPattern";
+	// 					case "form": actionName = "FomrAction"; fun = "listProcessFormPattern";
+	// 					case "process": actionName = "ProcessAction"; fun = "listProcessProcessPattern";
+	// 				}
+	// 			case "cms":
+	// 				root = "x_cms_assemble_control";
+	// 				switch (designer.designerType) {
+	// 					case "script": actionName = "ScriptAction"; fun = "listCmsScriptPattern";
+	// 					case "form": actionName = "FormAction"; fun = "listCmsFormPattern";
+	// 				}
+	//
+	// 			case "portal":
+	// 				root = "x_portal_assemble_designer";
+	// 				switch (designer.designerType) {
+	// 					case "script": actionName = "ScriptAction"; fun = "listPortalScriptPattern";
+	// 					case "page": actionName = "PageAction"; fun = "listPortalPagePattern";
+	// 					case "widget": actionName = "WidgetAction"; fun = "listPortalWidgetPattern";
+	// 				}
+	// 			case "query":
+	// 				root = "x_query_assemble_designer";
+	// 				switch (designer.designerType) {
+	// 					case "view": actionName = "ViewAction"; fun = "listQueryViewPattern";
+	// 					case "statement": actionName = "StatementAction"; fun = "listQueryStatementPattern";
+	// 					case "stat": actionName = "StatAction"; fun = "listQueryStatPattern";
+	// 				}
+	// 			case "service":
+	// 				root = "x_program_center";
+	// 				switch (designer.appId) {
+	// 					case "invoke": actionName = "InvokeAction"; fun = "listServiceInvokePattern";
+	// 					case "agent": actionName = "AgentAction"; fun = "listServiceAgentPattern";
+	// 				}
+	// 		}
+	// 		this.Actions.load(root)[actionName].get(designer.designerId, function(json){
+	// 			this[fun](json.data, designer.patternList, item);
+	// 		}.bind(this))
+	// 	}
+	// },
+	//
+	// getFindRegExp: function(){
+	// 	var flag = "gm";
+	// 	var keyword = this.filterOption.keyword;
+	// 	if (!this.filterOption.caseSensitive) flag+="i";
+	// 	if (this.filterOption.matchRegExp){
+	// 		return new RegExp(keyword, flag)
+	// 	}else{
+	// 		if (this.filterOption.matchWholeWord) keyword = "\\b"+keyword+"\\b";
+	// 		return new RegExp(keyword, flag)
+	// 	}
+	// },
+	//
+	//
+	// //启动一个webworker处理
+	// listProcessScriptPattern: function (data, patternList, item){
+	// 	patternList.each(function(pattern){
+	// 		if (pattern.property == "text"){
+	// 			var textArr = data.split("\n");
+	// 			var regex = this.getFindRegExp();
+	// 			pattern.lines.each(function(line){
+	// 				var text = textArr[line];
+	//
+	//
+	//
+	// 			}.bind(this));
+	// 		}else{
+	//
+	// 		}
+	// 	}.bind(this));
+	// }
 
 
 });

+ 2 - 1
o2web/source/x_component_FindDesigner/lp/zh-cn.js

@@ -25,7 +25,7 @@ MWF.xApplication.FindDesigner.LP = {
 	"search_placeholder": "请输入查询内容",
 	"dockToBottom": "固定到下方",
 	"dockToRight": "固定到右侧",
-	"nothingFind": "未找到任何结果",
+	"nothingFind": "未找到任何结果, 请修改查询条件",
 	"nothingFind_keyword": "未找到任何结果\n请输入查询关键字",
 	"nothingFind_noFilter": "未找到任何结果\n请输选择查询类型",
 	"nothingFind_noRange": "未找到任何结果\n请确定查询范围",
@@ -37,6 +37,7 @@ MWF.xApplication.FindDesigner.LP = {
 	"receiveToFind": "正在准备查询数据 ...",
 	"readyToFind": "设计元素准备完毕(共{n}个) ...",
 	"findPatternCount": "已找到{n}项匹配",
+	"findPatternCountCompleted": "查询完毕,已找到{n}项匹配",
 
 	"elementPattern": "<b>元素:</b> {element}, <b>属性:</b> {property}: ",
 

+ 14 - 1
o2web/source/x_component_cms_Column/$Main/default/css.wcss

@@ -207,6 +207,19 @@
 //        "color" : "#3c76b7",
 //        "background": "url(../x_component_cms_Index/$Main/default/icon/createDocument_over.png) center center no-repeat"
     },
+    "findNode": {
+        "float": "right",
+        "margin-right": "30px",
+        "width": "56px",
+        "background": "url(../x_component_cms_Column/$Main/default/icon/icons_find.png) 0 center no-repeat",
+        "padding-left": "22px",
+        "height": "50px",
+        "line-height": "50px",
+        "font-size": "14px",
+        "color": "#333333",
+        "cursor": "pointer"
+    },
+
     "columnItemNode": {
         "width": "260px",
         "height" : "360px",
@@ -441,4 +454,4 @@
         "border": "1px solid #999",
         "background": "url(../x_component_cms_Column/$Main/default/icon/editCancel_bg.png) no-repeat"
     }
-}
+}

BIN
o2web/source/x_component_cms_Column/$Main/default/icon/icons_find.png


+ 13 - 0
o2web/source/x_component_cms_Column/Main.js

@@ -118,6 +118,19 @@ MWF.xApplication.cms.Column.Main = new Class({
                     this.createColumn();
                 }.bind(this)
             });
+
+            this.findNode = new Element("div.createColumnNode", {
+                "styles": this.css.findNode,
+                "text": this.lp.column.findDesigner
+            }).inject(this.columnToolbarAreaNode);
+            this.findNode.addEvent("click", function(){
+                var options = {
+                    "filter": {
+                        "moduleList": ["cms"]
+                    }
+                };
+                layout.openApplication(null, "FindDesigner", options);
+            }.bind(this));
         }
 
         this.columnTypeListContaienr = new Element("div.columnTop_category", {

+ 2 - 1
o2web/source/x_component_cms_Column/lp/zh-cn.js

@@ -18,6 +18,7 @@ MWF.xApplication.cms.Column.LP = {
 	"column" : {
 		"title" :"栏目管理",
 		"create" : "新建栏目",
+		"findDesigner": "查找设计",
 		"searchText": "请输入关键字",
 		"loadding": "正在加载……",
 		"loaded": "栏目加载完毕",
@@ -63,4 +64,4 @@ MWF.xApplication.cms.Column.LP = {
 		"delete" : "删除分类",
 		"edit" : "编辑分类"
 	}
-};
+};

BIN
o2web/source/x_component_cms_ColumnManager/$Main/default/icon/icons_find.png


+ 11 - 1
o2web/source/x_component_cms_ColumnManager/$Main/startMenu.json

@@ -85,5 +85,15 @@
     "selectedIcon": "icon_lan_mu_click.png",
     "expand": false,
     "sub": []
+  },
+  {
+    "title": "查找设计",
+    "id": "findDesigner",
+    "action": "findDesigner",
+    "icon": "icons_find.png",
+    "selectedIcon": "icons_find.png",
+    "noSelect": true,
+    "expand": false,
+    "sub": []
   }
-]
+]

+ 19 - 5
o2web/source/x_component_cms_ColumnManager/Main.js

@@ -25,6 +25,18 @@ MWF.xApplication.cms.ColumnManager.Main = new Class({
         this.lp = MWF.xApplication.cms.ColumnManager.LP;
         this.currentContentNode = null;
     },
+    findDesigner: function(){
+        this.options.column.moduleType = "cms";
+        this.options.column.name = this.options.column.appName;
+        //this.options.column.id = this.options.column.appId;
+        var options = {
+            "filter": {
+                "moduleList": ["cms"],
+                "appList": [this.options.column]
+            }
+        };
+        layout.openApplication(null, "FindDesigner", options);
+    },
     loadApplication: function(callback){
 
         this.restActions = MWF.Actions.get("x_cms_assemble_control"); //new MWF.xApplication.cms.ColumnManager.Actions.RestActions();
@@ -749,7 +761,8 @@ MWF.xApplication.cms.ColumnManager.Menu = new Class({
             return;
         }
 
-        if (this.currentNavi){
+        var naviNodeData = (naviNode) ? naviNode.retrieve("naviData") : null;
+        if (this.currentNavi && (!naviNodeData || !naviNodeData.noSelect)){
             this.currentNavi.setStyles(this.app.css.startMenuNaviNode);
             var iconNode = this.currentNavi.retrieve("iconNode");
             var navi = this.currentNavi.retrieve("naviData");
@@ -768,10 +781,11 @@ MWF.xApplication.cms.ColumnManager.Menu = new Class({
         }
 
         if( naviNode ){
-            var navi = naviNode.retrieve("naviData");
+            //var navi = naviNode.retrieve("naviData");
+            var navi = naviNodeData;
             var action = navi.action;
 
-            if( !navi.unselected ){
+            if( !navi.unselected && !navi.noSelect ){
                 naviNode.setStyles(this.app.css.startMenuNaviNode_current);
                 var iconNode = naviNode.retrieve("iconNode");
                 iconNode.setStyle("background-image", "url("+this.app.path+this.app.options.style+"/icon/"+navi.selectedIcon+")");
@@ -802,7 +816,7 @@ MWF.xApplication.cms.ColumnManager.Menu = new Class({
             if (this.app[action]) this.app[action].apply( this.app );
         }
 
-        this.currentNavi = naviNode;
+        if (!navi || !navi.noSelect) this.currentNavi = naviNode;
 
     },
     setContentSize : function(){
@@ -1240,4 +1254,4 @@ MWF.xApplication.cms.ColumnManager.Input = new Class({
 //                "</table>";
 //        return html;
 //    }
-//});
+//});

BIN
o2web/source/x_component_portal_PortalExplorer/$Main/default/icon/icons_find.png


+ 12 - 0
o2web/source/x_component_portal_PortalExplorer/$Main/default/style.css

@@ -59,6 +59,18 @@
     color: #333333;
     cursor: pointer;
 }
+.o2_process_AppExp_find {
+    float: right;
+    margin-right: 30px;
+    width: 56px;
+    background: url("../x_component_portal_PortalExplorer/$Main/default/icon/icons_find.png") 0 center no-repeat;
+    padding-left: 22px;
+    height: 50px;
+    line-height: 50px;
+    font-size: 14px;
+    color: #333333;
+    cursor: pointer;
+}
 .o2_process_AppExp_category {
     background: #FAFAFA;
     height: 50px;

+ 2 - 1
o2web/source/x_component_portal_PortalExplorer/$Main/default/view.html

@@ -6,6 +6,7 @@
         {{end if}}
         {{if $.control.canCreate}}
             <div class="o2_process_AppExp_import">{{ $.lp.import }}</div>
+            <div class="o2_process_AppExp_find">{{ $.lp.find }}</div>
         {{end if}}
         <div class="o2_process_AppExp_category"></div>
 
@@ -17,4 +18,4 @@
         </div>
     </div>
     <div class="o2_process_AppExp_bottom"></div>
-</div>
+</div>

+ 8 - 0
o2web/source/x_component_portal_PortalExplorer/Main.js

@@ -29,6 +29,14 @@ MWF.xApplication.portal.PortalExplorer.Main = new Class({
         this.control.canCreate = MWF.AC.isPortalPlatformCreator();
         this.control.canManage = !!(MWF.AC.isAdministrator() || MWF.AC.isPortalManager());
     },
+    openFindDesigner: function(){
+        var options = {
+            "filter": {
+                "moduleList": ["portal"]
+            }
+        };
+        layout.openApplication(null, "FindDesigner", options);
+    },
     createApplicationItem: function(appData, where){
         var application = new MWF.xApplication.portal.PortalExplorer.Portal(this, appData, where);
         application.load();

+ 2 - 1
o2web/source/x_component_portal_PortalExplorer/lp/zh-cn.js

@@ -4,6 +4,7 @@ MWF.xApplication.portal.PortalExplorer.LP = MWF.PortalLP = {
     "all": "全部",
     "create": "新建门户",
     "import": "导入门户",
+    "find": "查找设计",
 
     "noApplicationCreate": "系统没有门户或没有您有权限管理的门户 <br/> 点击此处创建新门户",
     "noApplication": "系统没有门户或没有您有权限管理的门户",
@@ -75,4 +76,4 @@ MWF.xApplication.portal.PortalExplorer.LP = MWF.PortalLP = {
         // "loadding": "正在加载……",
         "select": "反选"
     }
-};
+};

BIN
o2web/source/x_component_process_ApplicationExplorer/$Main/default/icon/icons_find.png


+ 12 - 0
o2web/source/x_component_process_ApplicationExplorer/$Main/default/style.css

@@ -59,6 +59,18 @@
     color: #333333;
     cursor: pointer;
 }
+.o2_process_AppExp_find {
+    float: right;
+    margin-right: 30px;
+    width: 56px;
+    background: url("../x_component_process_ApplicationExplorer/$Main/default/icon/icons_find.png") 0 center no-repeat;
+    padding-left: 22px;
+    height: 50px;
+    line-height: 50px;
+    font-size: 14px;
+    color: #333333;
+    cursor: pointer;
+}
 .o2_process_AppExp_category {
     background: #FAFAFA;
     height: 50px;

+ 1 - 0
o2web/source/x_component_process_ApplicationExplorer/$Main/default/view.html

@@ -6,6 +6,7 @@
         {{end if}}
         {{if $.control.canCreate}}
             <div class="o2_process_AppExp_import">{{ $.lp.import }}</div>
+            <div class="o2_process_AppExp_find">{{ $.lp.find }}</div>
         {{end if}}
         <div class="o2_process_AppExp_category"></div>
 

+ 16 - 0
o2web/source/x_component_process_ApplicationExplorer/Main.js

@@ -67,6 +67,8 @@ MWF.xApplication.process.ApplicationExplorer.Main = new Class({
 		if (this.createNode) this.createNode.addEvent("click", this.createApplication.bind(this));
 
 		this.importNode = this.content.getElement(".o2_process_AppExp_import");
+		this.findNode = this.content.getElement(".o2_process_AppExp_find");
+
 		this.categoryAreaNode = this.content.getElement(".o2_process_AppExp_category");
 		this.contentArea = this.content.getElement(".o2_process_AppExp_contentArea");
 		this.contentNode = this.content.getElement(".o2_process_AppExp_contentNode");
@@ -76,6 +78,20 @@ MWF.xApplication.process.ApplicationExplorer.Main = new Class({
 				this.importApplicationNew(e);
 			}.bind(this));
 		}
+
+		if (this.findNode){
+			this.findNode.addEvent("click", function(e){
+				this.openFindDesigner();
+			}.bind(this));
+		}
+	},
+	openFindDesigner: function(){
+		var options = {
+			"filter": {
+				"moduleList": ["processPlatform"]
+			}
+		};
+		layout.openApplication(null, "FindDesigner", options);
 	},
 	importApplicationNew: function(e){
 		MWF.xDesktop.requireApp("AppCenter", "", function(){

+ 2 - 1
o2web/source/x_component_process_ApplicationExplorer/lp/zh-cn.js

@@ -4,6 +4,7 @@ MWF.xApplication.process.ApplicationExplorer.LP = {
 	"all": "全部",
 	"create": "新建应用",
 	"import": "导入应用",
+	"find": "查找设计",
 
 	"noApplicationCreate": "系统没有应用或没有您有权限管理的应用 <br/> 点击此处创建新应用",
 	"noApplication": "系统没有应用或没有您有权限管理的应用",
@@ -76,4 +77,4 @@ MWF.xApplication.process.ApplicationExplorer.LP = {
 		// "loadding": "正在加载……",
 		"select": "反选"
 	}
-};
+};

+ 11 - 5
o2web/source/x_component_process_ProcessManager/$DictionaryExplorer/default/css.wcss

@@ -53,10 +53,16 @@
         "font-size": "18px",
         "margin-left": "5px"
 	},
-	"searchElementNode": {
-		"margin-left": "362px",
-		"overflow": "hidden"
-	},
+  "searchElementNode": {
+    "float": "right",
+    "margin-right": "30px",
+    "cursor": "pointer",
+    "margin-top": "10px",
+    "overflow": "hidden",
+    "height": "60px",
+    "width": "60px",
+    "background": "url('../x_component_process_ProcessManager/$Explorer/default/icon/find.png') center center no-repeat"
+  },
 	"searchElementButtonNode": {
 		"float": "right",
 		"width": "80px",
@@ -577,4 +583,4 @@
 
 
 
-}
+}

+ 9 - 4
o2web/source/x_component_process_ProcessManager/$Explorer/default/css.wcss

@@ -55,10 +55,15 @@
         "margin-left": "5px"
 	},
 	"searchElementNode": {
-		"margin-left": "362px",
+        "float": "right",
+      "margin-right": "30px",
+      "cursor": "pointer",
+		"margin-top": "10px",
 		"overflow": "hidden",
-		"height": "60px"
-	},
+		"height": "60px",
+      "width": "60px",
+        "background": "url('../x_component_process_ProcessManager/$Explorer/default/icon/find.png') center center no-repeat"
+    },
 	"categoryElementNode": {
 	    "overflow": "hidden",
 	    "background-color": "#ffffff",
@@ -440,4 +445,4 @@
         "height": "100%",
         "border-radius": "10px"
     }
-}
+}

BIN
o2web/source/x_component_process_ProcessManager/$Explorer/default/icon/find.png


+ 18 - 2
o2web/source/x_component_process_ProcessManager/Explorer.js

@@ -96,11 +96,27 @@ MWF.xApplication.process.ProcessManager.Explorer = new Class({
             "text": this.app.options.application.name
         }).inject(this.toolbarNode);
     },
+    openFindDesigner: function(){
+        this.app.options.application.moduleType = "processPlatform";
+        var options = {
+            "filter": {
+                "moduleList": ["processPlatform"],
+                "appList": [this.app.options.application]
+            }
+        };
+        layout.openApplication(null, "FindDesigner", options);
+    },
     createSearchElementNode: function(){
-        this.searchElementNode = new Element("div", {
-            "styles": this.css.searchElementNode
+        debugger
+        this.searchElementNode = new Element("div.searchElementNode", {
+            "styles": this.css.searchElementNode,
+            "title": this.app.lp.findDesigner
         }).inject(this.toolbarNode);
 
+        this.searchElementNode.addEvent("click", function(){
+            this.openFindDesigner();
+        }.bind(this));
+
         //@todo
         return false;
 

+ 3 - 1
o2web/source/x_component_process_ProcessManager/lp/zh-cn.js

@@ -17,6 +17,8 @@ MWF.xApplication.process.ProcessManager.LP = {
     "copyConfirm_cancel": "取消",
     "copynew": "新",
 
+    "findDesigner": "查找设计",
+
     "ok": "确定",
     "edit": "编辑",
     "save": "保存",
@@ -165,4 +167,4 @@ MWF.xApplication.process.ProcessManager.LP = {
     "alias": "别名",
     "attachment": "附件",
     "upload": "上传附件"
-};
+};

BIN
o2web/source/x_component_query_QueryExplorer/$Main/default/icon/icons_find.png


+ 12 - 0
o2web/source/x_component_query_QueryExplorer/$Main/default/style.css

@@ -59,6 +59,18 @@
     color: #333333;
     cursor: pointer;
 }
+.o2_process_AppExp_find {
+    float: right;
+    margin-right: 30px;
+    width: 56px;
+    background: url("../x_component_process_ApplicationExplorer/$Main/default/icon/icons_find.png") 0 center no-repeat;
+    padding-left: 22px;
+    height: 50px;
+    line-height: 50px;
+    font-size: 14px;
+    color: #333333;
+    cursor: pointer;
+}
 .o2_process_AppExp_category {
     background: #FAFAFA;
     height: 50px;

+ 2 - 1
o2web/source/x_component_query_QueryExplorer/$Main/default/view.html

@@ -6,6 +6,7 @@
         {{end if}}
         {{if $.control.canCreate}}
             <div class="o2_process_AppExp_import">{{ $.lp.import }}</div>
+            <div class="o2_process_AppExp_find">{{ $.lp.find }}</div>
         {{end if}}
         <div class="o2_process_AppExp_category"></div>
 
@@ -17,4 +18,4 @@
         </div>
     </div>
     <div class="o2_process_AppExp_bottom"></div>
-</div>
+</div>

+ 8 - 0
o2web/source/x_component_query_QueryExplorer/Main.js

@@ -30,6 +30,14 @@ MWF.xApplication.query.QueryExplorer.Main = new Class({
         this.control.canCreate = MWF.AC.isQueryPlatformCreator();
         this.control.canManage = !!(MWF.AC.isAdministrator() || MWF.AC.isQueryManager());
     },
+    openFindDesigner: function(){
+        var options = {
+            "filter": {
+                "moduleList": ["query"]
+            }
+        };
+        layout.openApplication(null, "FindDesigner", options);
+    },
     createApplicationItem: function(appData, where){
         var application = new MWF.xApplication.query.QueryExplorer.Query(this, appData, where);
         application.load();

+ 2 - 1
o2web/source/x_component_query_QueryExplorer/lp/zh-cn.js

@@ -4,6 +4,7 @@ MWF.xApplication.query.QueryExplorer.LP = MWF.QueryLP = {
     "all": "全部",
     "create": "新建应用",
     "import": "导入应用",
+    "find": "查找设计",
 
     "noApplicationCreate": "系统没有数据应用或没有您有权限管理的数据应用 <br/> 点击此处创建新数据应用",
     "noApplication": "系统没有数据应用或没有您有权限管理的数据应用",
@@ -79,4 +80,4 @@ MWF.xApplication.query.QueryExplorer.LP = MWF.QueryLP = {
         // "loadding": "正在加载……",
         "select": "反选"
     }
-};
+};

+ 1 - 0
o2web/source/x_desktop/js/initialScriptText.js

@@ -823,6 +823,7 @@ print = function(str, type){
     oPrint(d.format("db")+"."+d.getMilliseconds()+" "+t+" "+l+" "+str);
 }
 bind.print = print;
+bind.oPrint = oPrint;
 
 bind.library = library;
 bind.data = this.data;