傻拖 4 лет назад
Родитель
Сommit
a7c8b1e03d
61 измененных файлов с 969 добавлено и 1 удалено
  1. 5 0
      o2web/source/x_component_portal_PageDesigner/$Main/default/tools.json
  2. 38 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/datagrid$Data.html
  3. 51 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/css.wcss
  4. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/copy.png
  5. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/copy1.png
  6. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/delete.png
  7. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/delete1.png
  8. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteCol.png
  9. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteCol1.png
  10. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteRow.png
  11. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteRow1.png
  12. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertCol.png
  13. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertCol1.png
  14. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertRow.png
  15. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertRow1.png
  16. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/mergerCell.png
  17. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/move.png
  18. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/move1.png
  19. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/splitCell.png
  20. 16 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/insertCol.html
  21. 16 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/insertRow.html
  22. 17 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/mergerCell.html
  23. 72 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/template.json
  24. 53 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/datagrid$Title.html
  25. 49 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/css.wcss
  26. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/copy.png
  27. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/copy1.png
  28. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/delete.png
  29. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/delete1.png
  30. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteCol.png
  31. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteCol1.png
  32. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteRow.png
  33. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteRow1.png
  34. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertCol.png
  35. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertCol1.png
  36. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertRow.png
  37. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertRow1.png
  38. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/mergerCell.png
  39. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/move.png
  40. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/move1.png
  41. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/splitCell.png
  42. 16 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/insertCol.html
  43. 16 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/insertRow.html
  44. 17 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/mergerCell.html
  45. 72 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/template.json
  46. 29 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid.js
  47. 28 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/__datagrid1.html
  48. 64 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/__template.json
  49. 163 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/datagrid.html
  50. 34 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/datagridCreate.html
  51. 81 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/css.wcss
  52. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/copy.png
  53. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/copy1.png
  54. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/delete.png
  55. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/delete1.png
  56. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/mergerCell.png
  57. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/move.png
  58. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/move1.png
  59. BIN
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/splitCell.png
  60. 130 0
      o2web/source/x_component_portal_PageDesigner/Module/Datagrid/template.json
  61. 2 1
      o2web/source/x_component_portal_PageDesigner/Module/Package.js

+ 5 - 0
o2web/source/x_component_portal_PageDesigner/$Main/default/tools.json

@@ -128,5 +128,10 @@
     "icon": "statement.png",
     "text": "嵌入查询视图",
     "className": "Statement"
+  },
+  "datagrid": {
+    "icon": "datagrid.png",
+    "text": "数据网格",
+    "className": "Datagrid"
   }
 }

+ 38 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/datagrid$Data.html

@@ -0,0 +1,38 @@
+<div style="background-color: #FFF; overflow: hidden">
+    <div title="基本" class="MWFTab">
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">标识:</td>
+                <td class="editTableValue">text{$.id}</td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">名称:</td>
+                <td class="editTableValue"><input type="text" name="name" value="text{$.name}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">描述:</td>
+                <td class="editTableValue"><input type="text" name="description" value="text{$.description}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">类型:</td>
+                <td class="editTableValue">
+                    <input class="editTableRadio" name="cellType" text{!($.cellType) || ($.cellType=='content')?'checked':''} type="radio" value="content"/>内容
+                    <input class="editTableRadio" name="cellType" text{($.cellType=='sequence')?'checked':''} type="radio" value="sequence"/>序号
+                </td>
+            </tr>
+        </table>
+
+        <div class="MWFMaplist" name="styles" title="样式"></div>
+        <div class="MWFMaplist" name="properties" title="属性"></div>
+
+    </div>
+    <div title="事件"  class="MWFTab">
+        <div class="MWFEventsArea" name="events"></div>
+    </div>
+    <div title="HTML"  class="MWFTab">
+        <div class="MWFHTMLArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+    <div title="JSON"  class="MWFTab">
+        <div class="MWFJSONArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+</div>

+ 51 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/css.wcss

@@ -0,0 +1,51 @@
+{
+	"moduleNodeMove": {
+		"border": "2px dashed #ffa200",
+		"height": "30px",
+		"width": "80px",
+		"overflow": "hidden",
+		"margin": "3px",
+		"display": "block",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "absolute",
+		"z-index": 10002,
+		"opacity": 0.7,
+		"width": "100px",
+		"cursor": "move"
+	},
+	"moduleNodeShow": {
+		"border": "1px dashed #333",
+		"height": "2px",
+		"cursor": "pointer",
+		"line-height": "22px",
+		"overflow": "hidden",
+		"margin": "3px 3px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"display": "block",
+		"top": "auto",
+		"left": "auto",
+		"width": "auto",
+		"opacity": 0.5,
+		"background": "#ffa200"
+	},
+	"moduleNode": {
+		"border": "1px dashed #999",
+		"height": "20px",
+		"cursor": "pointer",
+		"line-height": "2px",
+		"overflow": "hidden",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"opacity": 1,
+		"background": "transparent"
+	},
+	"sequenceNode": {
+	    "color": "red",
+	    "font-style": "italic"
+	}
+	
+}

BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/copy.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/copy1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/delete.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/delete1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteCol.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteCol1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteRow.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/deleteRow1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertCol.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertCol1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertRow.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/insertRow1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/mergerCell.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/move.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/move1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/default/icon/splitCell.png


+ 16 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/insertCol.html

@@ -0,0 +1,16 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right">列数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFInsertColNumber" type="text" id="MWFInsertColNumber" value="1" style="border:1px solid #999; width: 60px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td>&nbsp;</td>
+    <td>
+      <input name="MWFInsertColPosition" type="radio" value="before" checked="checked" />所选之左<br />
+      <input type="radio" name="MWFInsertColPosition" value="after" />所选之右
+    </td>
+  </tr>
+</table>
+</div>

+ 16 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/insertRow.html

@@ -0,0 +1,16 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right">行数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFInsertRowNumber" type="text" id="MWFInsertRowNumber" value="1" style="border:1px solid #999; width: 60px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td>&nbsp;</td>
+    <td>
+      <input name="MWFInsertRowPosition" type="radio" value="before" checked="checked" />所选之上<br />
+      <input type="radio" name="MWFInsertRowPosition" value="after" />所选之下
+    </td>
+  </tr>
+</table>
+</div>

+ 17 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/mergerCell.html

@@ -0,0 +1,17 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right" style="width:80px">合并单元格数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFMergerCellNumber" type="text" id="MWFMergerCellNumber" value="1" style="border:1px solid #999; width:100px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td colspan="2" align="center">
+      <input name="MWFMergerCellDirection" type="radio" value="right" id="MWFMergerCellDirectionRight"/>向右合并
+      <input type="radio" name="MWFMergerCellDirection" value="left" id="MWFMergerCellDirectionLeft"/>向左合并<br />
+      <input type="radio" name="MWFMergerCellDirection" value="down" id="MWFMergerCellDirectionDown"/>向下合并
+      <input type="radio" name="MWFMergerCellDirection" value="up" id="MWFMergerCellDirectionUp"/>向上合并
+    </td>
+  </tr>
+</table>
+</div>

+ 72 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Data/template.json

@@ -0,0 +1,72 @@
+{
+	"id": "",
+	"name": "",
+	"type": "Datagrid$Data",
+	"description": "",
+	"events": {
+	  "queryLoad": {
+		"code": "",
+		"html": ""
+	  },
+	  "postLoad": {
+		"code": "",
+		"html": ""
+	  },
+		"load": {
+		  "code": "",
+		  "html": ""
+		},
+		"click": {
+			"code": "",
+			"html": ""
+		},
+		"dblclick": {
+			"code": "",
+			"html": ""
+		},
+		"keydown": {
+			"code": "",
+			"html": ""
+		},
+		"keypress": {
+			"code": "",
+			"html": ""
+		},
+		"keyup": {
+			"code": "",
+			"html": ""
+		},
+		"mousedown": {
+			"code": "",
+			"html": ""
+		},
+		"mousemove": {
+			"code": "",
+			"html": ""
+		},
+		"mouseout": {
+			"code": "",
+			"html": ""
+		},
+		"mouseover": {
+			"code": "",
+			"html": ""
+		},
+		"mouseup": {
+			"code": "",
+			"html": ""
+		},
+		"focus": {
+			"code": "",
+			"html": ""
+		},
+		"blur": {
+			"code": "",
+			"html": ""
+		}
+	},
+	"properties": {},
+	"class": "",
+	"styles": {},
+	"container": ""
+}

+ 53 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/datagrid$Title.html

@@ -0,0 +1,53 @@
+<div style="background-color: #FFF; overflow: hidden">
+    <div title="基本" class="MWFTab">
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">标识:</td>
+                <td class="editTableValue"><input type="text" name="id" value="text{$.id}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">名称:</td>
+                <td class="editTableValue"><input type="text" name="name" value="text{$.name}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">描述:</td>
+                <td class="editTableValue"><input type="text" name="description" value="text{$.description}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">合计:</td>
+                <td class="editTableValue">
+                    <input class="editTableRadio" name="total" text{!($.total) || ($.total=='no')?'checked':''} type="radio" value="no"/>不需要 <br/>
+                    <input class="editTableRadio" name="total" text{($.total=='number')?'checked':''} type="radio" value="number"/>合计数值 <br/>
+                    <input class="editTableRadio" name="total" text{($.total=='count')?'checked':''} type="radio" value="count"/>合计数量 <br/>
+                </td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">隐藏:</td>
+                <td class="editTableValue">
+                    <input class="editTableRadio" name="isShow" text{($.isShow!==false)?'checked':''} type="radio" value="true"/>显示该列 <br/>
+                    <input class="editTableRadio" name="isShow" text{($.isShow==false)?'checked':''} type="radio" value="false"/>隐藏该列 <br/>
+                </td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">导入导出:</td>
+                <td class="editTableValue">
+                    <input class="editTableRadio" name="isImpExp" text{($.isImpExp!==false)?'checked':''} type="radio" value="true"/>允许 <br/>
+                    <input class="editTableRadio" name="isImpExp" text{($.isImpExp==false)?'checked':''} type="radio" value="false"/>不允许 <br/>
+                </td>
+            </tr>
+        </table>
+
+        <div class="MWFMaplist" name="styles" title="样式"></div>
+        <div class="MWFMaplist" name="properties" title="属性"></div>
+
+    </div>
+    <div title="事件"  class="MWFTab">
+        <div class="MWFEventsArea" name="events"></div>
+    </div>
+    <div title="HTML"  class="MWFTab">
+        <div class="MWFHTMLArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+    <div title="JSON"  class="MWFTab">
+        <div class="MWFJSONArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+</div>

+ 49 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/css.wcss

@@ -0,0 +1,49 @@
+{
+	"moduleNodeMove": {
+		"border": "2px dashed #ffa200",
+		"height": "30px",
+		"width": "80px",
+		"overflow": "hidden",
+		"margin": "3px",
+		"display": "block",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "absolute",
+		"z-index": 10002,
+		"opacity": 0.7,
+		"width": "100px",
+		"cursor": "move"
+	},
+	"moduleNodeShow": {
+		"border": "1px dashed #333",
+		"height": "2px",
+		"cursor": "pointer",
+		"line-height": "22px",
+		"overflow": "hidden",
+		"margin": "3px 3px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"display": "block",
+		"top": "auto",
+		"left": "auto",
+		"width": "auto",
+		"opacity": 0.5,
+		"background": "#ffa200"
+	},
+	"moduleNode": {
+		"border": "1px dashed #999",
+		"height": "28px",
+		"line-height": "28px",
+		"cursor": "pointer",
+		"line-height": "2px",
+		"overflow": "hidden",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"opacity": 1,
+		"background": "#C3CEEA",
+		//"background": "#efefef"
+	}
+	
+}

BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/copy.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/copy1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/delete.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/delete1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteCol.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteCol1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteRow.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/deleteRow1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertCol.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertCol1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertRow.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/insertRow1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/mergerCell.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/move.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/move1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/default/icon/splitCell.png


+ 16 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/insertCol.html

@@ -0,0 +1,16 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right">列数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFInsertColNumber" type="text" id="MWFInsertColNumber" value="1" style="border:1px solid #999; width: 60px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td>&nbsp;</td>
+    <td>
+      <input name="MWFInsertColPosition" type="radio" value="before" checked="checked" />所选之左<br />
+      <input type="radio" name="MWFInsertColPosition" value="after" />所选之右
+    </td>
+  </tr>
+</table>
+</div>

+ 16 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/insertRow.html

@@ -0,0 +1,16 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right">行数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFInsertRowNumber" type="text" id="MWFInsertRowNumber" value="1" style="border:1px solid #999; width: 60px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td>&nbsp;</td>
+    <td>
+      <input name="MWFInsertRowPosition" type="radio" value="before" checked="checked" />所选之上<br />
+      <input type="radio" name="MWFInsertRowPosition" value="after" />所选之下
+    </td>
+  </tr>
+</table>
+</div>

+ 17 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/mergerCell.html

@@ -0,0 +1,17 @@
+<div style="font-size:12px">
+  <table width="100%" border="0" cellspacing="5" cellpadding="5">
+  <tr>
+    <td align="right" style="width:80px">合并单元格数</td>
+    <td><label for="textfield"></label>
+    <input name="MWFMergerCellNumber" type="text" id="MWFMergerCellNumber" value="1" style="border:1px solid #999; width:100px; height:18px" /></td>
+  </tr>
+  <tr>
+    <td colspan="2" align="center">
+      <input name="MWFMergerCellDirection" type="radio" value="right" id="MWFMergerCellDirectionRight"/>向右合并
+      <input type="radio" name="MWFMergerCellDirection" value="left" id="MWFMergerCellDirectionLeft"/>向左合并<br />
+      <input type="radio" name="MWFMergerCellDirection" value="down" id="MWFMergerCellDirectionDown"/>向下合并
+      <input type="radio" name="MWFMergerCellDirection" value="up" id="MWFMergerCellDirectionUp"/>向上合并
+    </td>
+  </tr>
+</table>
+</div>

+ 72 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid$Title/template.json

@@ -0,0 +1,72 @@
+{
+	"id": "",
+	"name": "",
+	"type": "Datagrid$Title",
+	"description": "",
+	"events": {
+	  "queryLoad": {
+		"code": "",
+		"html": ""
+	  },
+	  "postLoad": {
+		"code": "",
+		"html": ""
+	  },
+		"load": {
+		  "code": "",
+		  "html": ""
+		},
+		"click": {
+			"code": "",
+			"html": ""
+		},
+		"dblclick": {
+			"code": "",
+			"html": ""
+		},
+		"keydown": {
+			"code": "",
+			"html": ""
+		},
+		"keypress": {
+			"code": "",
+			"html": ""
+		},
+		"keyup": {
+			"code": "",
+			"html": ""
+		},
+		"mousedown": {
+			"code": "",
+			"html": ""
+		},
+		"mousemove": {
+			"code": "",
+			"html": ""
+		},
+		"mouseout": {
+			"code": "",
+			"html": ""
+		},
+		"mouseover": {
+			"code": "",
+			"html": ""
+		},
+		"mouseup": {
+			"code": "",
+			"html": ""
+		},
+		"focus": {
+			"code": "",
+			"html": ""
+		},
+		"blur": {
+			"code": "",
+			"html": ""
+		}
+	},
+	"properties": {},
+	"class": "",
+	"styles": {},
+	"container": ""
+}

+ 29 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid.js

@@ -0,0 +1,29 @@
+
+MWF.xDesktop.requireApp("process.FormDesigner", "Module.Datagrid", null, false);
+
+MWF.xApplication.portal.PageDesigner.Module.Datagrid = MWF.PCDatagrid = new Class({
+    Extends: MWF.FCDatagrid,
+    options: {
+        "style": "default",
+        "propertyPath": "../x_component_portal_PageDesigner/Module/Datagrid/datagrid.html"
+    },
+
+    initialize: function(form, options){
+        this.setOptions(options);
+
+        this.path = "../x_component_portal_PageDesigner/Module/Datagrid/";
+        this.cssPath = "../x_component_portal_PageDesigner/Module/Datagrid/"+this.options.style+"/css.wcss";
+
+        this._loadCss();
+        this.moduleType = "component";
+        this.moduleName = "datagrid";
+
+        this.form = form;
+        this.container = null;
+        this.containerNode = null;
+        this.containers = [];
+        this.elements = [];
+        this.selectedMultiTds = [];
+    },
+
+});

+ 28 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/__datagrid1.html

@@ -0,0 +1,28 @@
+<div style="background-color: #FFF; overflow: hidden">
+	<div title="基本" class="MWFTab">
+		<table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+		  <tr>
+		    <td class="editTableTitle">标识:</td>
+		    <td class="editTableValue"><input type="text" name="id" value="text{$.id}" class="editTableInput"/></td>
+		  </tr>
+		  <tr>
+		    <td class="editTableTitle">名称:</td>
+		    <td class="editTableValue"><input type="text" name="name" value="text{$.name}" class="editTableInput"/></td>
+		  </tr>
+		  <tr>
+		    <td class="editTableTitle">描述:</td>
+		    <td class="editTableValue"><input type="text" name="description" value="text{$.description}" class="editTableInput"/></td>
+		  </tr>
+		</table>
+		
+		<div class="MWFMaplist" name="styles" title="样式"></div>
+		<div class="MWFMaplist" name="properties" title="属性"></div>
+
+	</div>
+	<div title="事件"  class="MWFTab">
+		<div class="MWFEventsArea" name="events"></div>
+	</div>
+	<div title="HTML"  class="MWFTab">
+		<div class="MWFHTMLArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+	</div>
+</div>

+ 64 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/__template.json

@@ -0,0 +1,64 @@
+{
+	"id": "",
+	"name": "",
+	"type": "Datagrid",
+	"description": "",
+	"defaultValue": {
+		"code": "",
+		"html": ""
+	},
+	"events": {
+		"click": {
+			"code": "",
+			"html": ""
+		},
+		"dblclick": {
+			"code": "",
+			"html": ""
+		},
+		"keydown": {
+			"code": "",
+			"html": ""
+		},
+		"keypress": {
+			"code": "",
+			"html": ""
+		},
+		"keyup": {
+			"code": "",
+			"html": ""
+		},
+		"mousedown": {
+			"code": "",
+			"html": ""
+		},
+		"mousemove": {
+			"code": "",
+			"html": ""
+		},
+		"mouseout": {
+			"code": "",
+			"html": ""
+		},
+		"mouseover": {
+			"code": "",
+			"html": ""
+		},
+		"mouseup": {
+			"code": "",
+			"html": ""
+		},
+		"focus": {
+			"code": "",
+			"html": ""
+		},
+		"blur": {
+			"code": "",
+			"html": ""
+		}
+	},
+	"properties": {},
+	"class": "",
+	"styles": {},
+	"container": ""
+}

+ 163 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/datagrid.html

@@ -0,0 +1,163 @@
+<div style="background-color: #FFF; overflow: hidden">
+    <div title="基本" class="MWFTab">
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">标识:</td>
+                <td class="editTableValue"><input type="text" name="id" value="text{$.id}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">名称:</td>
+                <td class="editTableValue"><input type="text" name="name" value="text{$.name}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">描述:</td>
+                <td class="editTableValue"><input type="text" name="description" value="text{$.description}" class="editTableInput"/></td>
+            </tr>
+        </table>
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">边框:</td>
+                <td class="editTableValue"><input type="text" name="border" value="text{$.border}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">背景颜色:</td>
+                <td class="editTableValue"><input type="color" name="backgroundColor" value="text{$.backgroundColor}" class="editTableInput"/></td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">交替行:</td>
+                <td class="editTableValue"><input type="color" name="zebraColor" value="text{$.zebraColor}" class="editTableInput"/></td>
+            </tr>
+            <!--<tr>-->
+            <!--<td class="editTableTitle">序号:</td>-->
+            <!--<td class="editTableValue">-->
+            <!--<input type="radio" name="sequence" value="yes" text{($.sequence=='yes')?'checked':''}/>显示-->
+            <!--<input type="radio" name="sequence" value="no" text{($.sequence=='no')?'checked':''}/>不显示-->
+            <!--</td>-->
+            <!--</tr>-->
+        </table>
+
+        <div class="MWFMaplist" name="styles" collapse="true" title="样式"></div>
+        <div class="MWFMaplist" name="tableStyles" collapse="true" title="表格样式"></div>
+
+        <div class="MWFMaplist" name="properties" collapse="true" title="属性"></div>
+        <div class="MWFScriptArea" name="defaultData" title="默认数据(S)"></div>
+
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">允许删除:</td>
+                <td class="editTableValue">
+                    <input type="radio" name="deleteable" value="yes" text{($.deleteable!=='no')?'checked':''}/>是
+                    <input type="radio" name="deleteable" value="no" text{($.deleteable==='no')?'checked':''}/>否
+                </td>
+            </tr>
+            <tr>
+                <td class="editTableTitle">允许添加:</td>
+                <td class="editTableValue">
+                    <input type="radio" name="addable" value="yes" text{($.addable!=='no')?'checked':''}/>是
+                    <input type="radio" name="addable" value="no" text{($.addable==='no')?'checked':''}/>否
+                </td>
+            </tr>
+        </table>
+        <div class="MWFScriptArea" name="editableScript" title="是否可编辑(S)"></div>
+
+        <div style="height:24px; text-align: center; line-height: 24px; background-color: #EEE; border-top: 1px solid #999;">导出导入</div>
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">启用:</td>
+                <td class="editTableValue">
+                    <input type="radio" name="impexpType" value="none" text{(!$.impexpType || $.impexpType==='none')?'checked':''}
+                           onclick="if (this.checked){ $('text{$.pid}impexpArea').setStyle('display', 'none')}" />禁用
+                    <input type="radio" name="impexpType" value="impexp" text{($.impexpType==='impexp')?'checked':''}
+                           onclick="if (this.checked){ $('text{$.pid}impexpArea').setStyle('display', 'block')}" />导出导入
+                    <input type="radio" name="impexpType" value="exp" text{($.impexpType==='exp')?'checked':''}
+                           onclick="if (this.checked){ $('text{$.pid}impexpArea').setStyle('display', 'block')}" />仅导出
+                    <input type="radio" name="impexpType" value="imp" text{($.impexpType==='imp')?'checked':''}
+                           onclick="if (this.checked){ $('text{$.pid}impexpArea').setStyle('display', 'block')}" />仅导入
+                </td>
+            </tr>
+        </table>
+        <div id="text{$.pid}impexpArea" style="display: text{($.impexpType && $.impexpType!=='none')?'block':'none'};">
+            <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+                <tr>
+                    <td class="editTableTitle"></td>
+                    <td class="editTableValue">
+                        注:序号、图片、附件和隐藏列不能导入导出。
+                    </td>
+                </tr>
+                <tr>
+                    <td class="editTableTitle">按钮位置:</td>
+                    <td class="editTableValue">
+                        <input type="radio" name="impexpPosition" value="leftTop" text{(!$.impexpPosition || $.impexpPosition==='leftTop')?'checked':''}/>左上
+                        <input type="radio" name="impexpPosition" value="centerTop" text{($.impexpPosition==='centerTop')?'checked':''}/>中上
+                        <input type="radio" name="impexpPosition" value="rightTop" text{($.impexpPosition==='rightTop')?'checked':''}/>右上
+                        <input type="radio" name="impexpPosition" value="leftBottom" text{($.impexpPosition==='leftBottom')?'checked':''}/>左下
+                        <input type="radio" name="impexpPosition" value="centerBottom" text{($.impexpPosition==='centerBottom')?'checked':''}/>中下
+                        <input type="radio" name="impexpPosition" value="rightBottom" text{($.impexpPosition==='rightBottom')?'checked':''}/>右下
+                    </td>
+                </tr>
+                <tr>
+                    <td class="editTableTitle">导入按钮文本:</td>
+                    <td class="editTableValue"><input type="text" name="importActionText" value="text{$.importActionText || '导入Excel'}" class="editTableInput"/></td>
+                </tr>
+            </table>
+            <div class="MWFMaplist" name="importActionStyles" collapse="true" title="导入按钮样式"></div>
+            <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+                <tr>
+                    <td class="editTableTitle">导出按钮文本:</td>
+                    <td class="editTableValue"><input type="text" name="exportActionText" value="text{$.exportActionText || '导出Excel'}" class="editTableInput"/></td>
+                </tr>
+            </table>
+            <div class="MWFMaplist" name="exportActionStyles" collapse="true" title="导出按钮样式"></div>
+            <div class="MWFFormulaArea" name="excelName" title="导出文件名称"></div>
+        </div>
+
+        <div class="MWFValidation" name="validationConfig"></div>
+        <div class="MWFScriptArea" name="validation" title="校验脚本 (S)"></div>
+    </div>
+    <div title="样式" class="MWFTab">
+        <div class="MWFMaplist" name="titleStyles" collapse="true" title="标题单元格样式"></div>
+        <div class="MWFMaplist" name="contentStyles" collapse="true" title="内容单元格样式"></div>
+        <div class="MWFMaplist" name="actionStyles" collapse="true" title="操作单元格样式"></div>
+        <div class="MWFMaplist" name="editStyles" collapse="true" title="编辑单元格样式"></div>
+        <div class="MWFMaplist" name="amountStyles" collapse="true" title="总计单元格样式"></div>
+        <div class="MWFMaplist" name="itemTitleStyles" collapse="true" title="条目标题样式(仅移动端)"></div>
+    </div>
+    <div title="区段" class="MWFTab">
+        <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+            <tr>
+                <td class="editTableTitle">启用区段:</td>
+                <td class="editTableValue">
+                    <input onclick="if (this.checked){ $('text{$.pid}sectionByEditArea').setStyle('display', 'block')}" type="radio" name="section" value="yes" text{($.section=='yes')?'checked':''}/>是
+                    <input onclick="if (this.checked){ $('text{$.pid}sectionByEditArea').setStyle('display', 'none')}" type="radio" name="section" value="no" text{($.section!='yes')?'checked':''}/>否
+                </td>
+            </tr>
+        </table>
+
+        <div id="text{$.pid}sectionByEditArea" style="display: text{($.section=='yes')?'block':'none'};">
+            <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+                <tr>
+                    <td class="editTableTitle">区段依据:</td>
+                    <td class="editTableValue">
+                        <input class="editTableRadio" onclick="if (this.checked){ $('text{$.pid}sectionByScriptEditArea').setStyle('display', 'none');}" name="sectionBy" text{(($.sectionBy=='person') || ($.sectionBy!='unit' && $.sectionBy!='activity' && $.sectionBy!='script'))?'checked':''} type="radio" value="person"/>处理人<br/>
+                        <input class="editTableRadio" onclick="if (this.checked){ $('text{$.pid}sectionByScriptEditArea').setStyle('display', 'none');}"  name="sectionBy" text{($.sectionBy=='department')?'checked':''} type="radio" value="unit"/>处理人所在组织<br/>
+                        <input class="editTableRadio" onclick="if (this.checked){ $('text{$.pid}sectionByScriptEditArea').setStyle('display', 'none');}"  name="sectionBy" text{($.sectionBy=='activity')?'checked':''} type="radio" value="activity"/>活动ID<br/>
+                        <input class="editTableRadio" onclick="if (this.checked){ $('text{$.pid}sectionByScriptEditArea').setStyle('display', 'none');}"  name="sectionBy" text{($.sectionBy=='splitValue')?'checked':''} type="radio" value="splitValue"/>拆分值<br/>
+                        <input class="editTableRadio" onclick="if (this.checked){ $('text{$.pid}sectionByScriptEditArea').setStyle('display', 'block');}"  name="sectionBy" text{($.sectionBy=='script')?'checked':''} type="radio" value="script"/>脚本<br/>
+                    </td>
+                </tr>
+            </table>
+            <div id="text{$.pid}sectionByScriptEditArea" style="display: text{($.sectionBy=='script')?'block':'none'};">
+                <div class="MWFScriptArea" name="sectionByScript" title="区段依据 (S)"></div>
+            </div>
+        </div>
+    </div>
+    <div title="事件"  class="MWFTab">
+        <div class="MWFEventsArea" name="events"></div>
+    </div>
+    <div title="HTML"  class="MWFTab">
+        <div class="MWFHTMLArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+    <div title="JSON"  class="MWFTab">
+        <div class="MWFJSONArea" style="font-family: Verdana, Geneva, sans-serif; font-size:14px"></div>
+    </div>
+</div>

+ 34 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/datagridCreate.html

@@ -0,0 +1,34 @@
+<div style="font-size:12px">
+  <div style="height:18px; background-color:#EEE; border-bottom: 1px solid #333; maring-bottom:5px">表格大小</div><br/>
+  <table width="100%" border="0" cellspacing="0" cellpadding="3px">
+    <tr>
+      <td align="right">列</td>
+      <td><input type="text" name="MWFNewTableColumn" id="MWFNewTableColumn" value="3" style="border:1px solid #999; width: 60px; height:18px" /></td>
+      <td align="right"></td>
+      <td></td>
+    </tr>
+    <tr>
+      <td align="right">表格宽度</td>
+      <td colspan="3"><input type="text" name="MWFNewTableWidth" id="MWFNewTableWidth" value="100" style="border:1px solid #999; width: 60px; height:18px" />
+        <select name="MWFNewTableWidthUnit" id="MWFNewTableWidthUnit">
+          <option value="px">像素</option>
+          <option value="percent" selected="selected">百分比</option>
+      </select></td>
+    </tr>
+    <tr>
+      <td align="right">边框粗细</td>
+      <td colspan="3"><input type="text" name="MWFNewTableBorder" id="MWFNewTableBorder" value="0" style="border:1px solid #999; width: 60px; height:18px" />
+      像素</td>
+    </tr>
+    <tr>
+      <td align="right">单元格边距</td>
+      <td colspan="3"><input type="text" name="MWFNewTableCellpadding" id="MWFNewTableCellpadding" value="3" style="border:1px solid #999; width: 60px; height:18px" />
+      像素</td>
+    </tr>
+    <tr>
+      <td align="right">单元格间距</td>
+      <td colspan="3"><input type="text" name="MWFNewTableCellspacing" id="MWFNewTableCellspacing" value="0" style="border:1px solid #999; width: 60px; height:18px" />
+      像素</td>
+    </tr>
+  </table>
+</div>

+ 81 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/css.wcss

@@ -0,0 +1,81 @@
+{
+	"moduleNodeMove": {
+		"border": "2px dashed #ffa200",
+		"width": "210px",
+		"overflow": "hidden",
+		"margin": "3px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "absolute",
+		"display": "block",
+		"z-index": 10002,
+		"opacity": 0.7,
+		"cursor": "move"
+	},
+	"moduleNodeMoveTd": {
+		"border-right": "1px dashed #ffa200",
+		"border-bottom": "1px dashed #ffa200",
+		"height": "16px"
+	},
+	"moduleNodeShow": {
+		"border": "1px dashed #333",
+		"height": "2px",
+		"cursor": "pointer",
+		"line-height": "22px",
+		"overflow": "hidden",
+		"margin": "3px 3px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"display": "block",
+		"top": "auto",
+		"left": "auto",
+		"width": "auto",
+		"opacity": 0.5,
+		"background": "#ffa200"
+	},
+	"moduleNode": {
+		"border": "1px dashed #CCC",
+		"cursor": "pointer",
+		"line-height": "22px",
+		"overflow": "auto",
+		"margin": "3px 3px",
+		"-webkit-user-select": "none",
+		"-moz-user-select": "none",
+		"position": "static",
+		"display": "block",
+		"top": "auto",
+		"left": "auto",
+		"width": "",
+		"opacity": 1,
+		"background": "transparent"
+	},
+	sequenceTitleTd: {
+        "border": "1px dashed #999",
+        "height": "20px",
+        "cursor": "pointer",
+        "line-height": "2px",
+        "overflow": "hidden",
+        "-webkit-user-select": "none",
+        "-moz-user-select": "none",
+        "position": "static",
+        "opacity": 1,
+        "width": "10px",
+        "background": "#C3CEEA"
+	},
+	sequenceTd: {
+	    "border": "1px dashed #999",
+        "height": "20px",
+        "cursor": "pointer",
+        "line-height": "2px",
+        "overflow": "hidden",
+        "-webkit-user-select": "none",
+        "-moz-user-select": "none",
+        "position": "static",
+        "opacity": 1,
+        "text-align": "center",
+        "width": "10px",
+        "background": "transparent"
+	}
+	
+}

BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/copy.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/copy1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/delete.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/delete1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/mergerCell.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/move.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/move1.png


BIN
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/default/icon/splitCell.png


+ 130 - 0
o2web/source/x_component_portal_PageDesigner/Module/Datagrid/template.json

@@ -0,0 +1,130 @@
+{
+	"id": "",
+	"name": "",
+	"type": "Datagrid",
+	"description": "",
+    "sequence": "yes",
+    "section": "no",
+    "sectionBy": "person",
+	"importActionText" : "导入Excel",
+	"exportActionText" : "导出Excel",
+    "sectionByScript": {
+      "code": "",
+      "html": ""
+    },
+	"defaultValue": {
+		"code": "",
+		"html": ""
+	},
+	"events": {
+	  "queryLoad": {
+		"code": "",
+		"html": ""
+	  },
+	  "postLoad": {
+		"code": "",
+		"html": ""
+	  },
+	  "load" : {
+		"code": "",
+		"html": ""
+	  },
+		"editCheck": {
+		  "code": "",
+		  "html": ""
+		},
+		"completeLineEdit": {
+		  "code": "",
+		  "html": ""
+		},
+		"addLine": {
+		  "code": "",
+		  "html": ""
+		},
+		"deleteLine": {
+		  "code": "",
+		  "html": ""
+		},
+		"afterDeleteLine": {
+		  "code": "",
+		  "html": ""
+		},
+		"editLine": {
+		  "code": "",
+		  "html": ""
+		},
+		"export": {
+			"code": "",
+			"html": ""
+		},
+		"import": {
+			"code": "",
+			"html": ""
+		},
+		"click": {
+			"code": "",
+			"html": ""
+		},
+		"dblclick": {
+			"code": "",
+			"html": ""
+		},
+		"keydown": {
+			"code": "",
+			"html": ""
+		},
+		"keypress": {
+			"code": "",
+			"html": ""
+		},
+		"keyup": {
+			"code": "",
+			"html": ""
+		},
+		"mousedown": {
+			"code": "",
+			"html": ""
+		},
+		"mousemove": {
+			"code": "",
+			"html": ""
+		},
+		"mouseout": {
+			"code": "",
+			"html": ""
+		},
+		"mouseover": {
+			"code": "",
+			"html": ""
+		},
+		"mouseup": {
+			"code": "",
+			"html": ""
+		},
+		"focus": {
+			"code": "",
+			"html": ""
+		},
+		"blur": {
+			"code": "",
+			"html": ""
+		}
+
+	},
+	"properties": {},
+	"class": "",
+	"styles": {},
+    "tableStyles": {},
+	"border": "",
+	"backgroundColor": "",
+	"zebraColor": "",
+	"editableScript": {
+		"code": "",
+		"html": ""
+	},
+	"defaultData": {
+		"code": "",
+		"html": ""
+	},
+	"container": ""
+}

+ 2 - 1
o2web/source/x_component_portal_PageDesigner/Module/Package.js

@@ -28,4 +28,5 @@ MWF.xDesktop.requireApp("portal.PageDesigner", "Module.SourceText", null, false)
 MWF.xDesktop.requireApp("portal.PageDesigner", "Module.SubSource", null, false);
 MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Widget", null, false);
 MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Widgetmodules", null, false);
-MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Statement", null, false);
+MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Statement", null, false);
+MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Datagrid", null, false);