| 
      
      
      From: <die...@us...> - 2011-09-29 09:35:20
      
     | 
| Revision: 3670
          http://openutils.svn.sourceforge.net/openutils/?rev=3670&view=rev
Author:   diego_schivo
Date:     2011-09-29 09:35:14 +0000 (Thu, 29 Sep 2011)
Log Message:
-----------
CONTROLS-40 Pate into grid: auto-expand the grid if rows are less than those in clipboard
Modified Paths:
--------------
    trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl
    trunk/openutils-mgnlcontrols/src/main/resources/mgnl-resources/controls/clipboard.html
Modified: trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl
===================================================================
--- trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl	2011-09-16 16:35:27 UTC (rev 3669)
+++ trunk/openutils-mgnlcontrols/src/main/resources/dialogs/grid.ftl	2011-09-29 09:35:14 UTC (rev 3670)
@@ -10,7 +10,7 @@
   <script type="text/javascript">
     // <![CDATA[
 
-function gridPaste(name, text) {
+function gridPaste(name, text, expand) {
   var hidden = document.getElementById(name);
   var grid = hidden._grid;
   var rows, i, I;
@@ -47,10 +47,21 @@
   }
   var row, col;
   var record, field;
+  var rt;
   var e;
   for (i = 0; i < I; i++) {
     row = cell0 + i;
     record = grid.store.getAt(row);
+    if (!record && expand) {
+      if (!rt) {
+        rt = {};
+        for (j = 0; j < J; j++) {
+         rt[''+j] = '';
+        }
+      }
+      record = new grid.store.recordType(rt);
+      grid.store.add(record);
+    }
     if (record) {
       for (j = 0; j < J; j++) {
         col = cell1 + j;
@@ -233,7 +244,7 @@
       icon: '${request.contextPath}/.resources/controls/img/icon-paste.png',
       iconCls: 'button-paste',
       handler: function() {
-        mgnlOpenWindow('/.resources/controls/clipboard.html?name=${name}', 320, 200);
+        mgnlOpenWindow('/.resources/controls/clipboard.html?name=${name}&expand=${addRowsEnabled?string}', 320, 200);
       }
     }, {
       text: 'Move up',
Modified: trunk/openutils-mgnlcontrols/src/main/resources/mgnl-resources/controls/clipboard.html
===================================================================
--- trunk/openutils-mgnlcontrols/src/main/resources/mgnl-resources/controls/clipboard.html	2011-09-16 16:35:27 UTC (rev 3669)
+++ trunk/openutils-mgnlcontrols/src/main/resources/mgnl-resources/controls/clipboard.html	2011-09-29 09:35:14 UTC (rev 3670)
@@ -6,6 +6,14 @@
     <script type="text/javascript" src="../../.magnolia/pages/javascript.js"></script>
     <script type="text/javascript" src="../../.resources/admin-js/dialogs/dialogs.js"></script>
     <link rel="stylesheet" type="text/css" href="../../.resources/admin-css/admin-all.css" />
+    <script type="text/javascript">
+var urlParams={};
+var t=document.location.search.substr(1).split('&');
+for (var i=0;i<t.length;i++) {
+  var s=t[i].split('=');
+  urlParams[decodeURIComponent(s[0])]=decodeURIComponent(s[1]);
+}
+    </script>
   </head>
   <body style="padding:0;margin:0">
     <h1 style="background-color:#F0F2E6; color:#396101; font-size:11pt; border-bottom:1px solid #999;margin:0;padding:3px 10px">Paste from spreadsheet</h1>
@@ -14,7 +22,7 @@
     <textarea id="clipboard" name="clipboard" rows="4" cols="20" style="width: 100%;border: 1px solid #999"></textarea>
     </p>
     <div class="mgnlDialogTabsetSaveBar">
-      <span class="mgnlControlButton" onclick="opener.window.gridPaste(location.search.replace(/^.*[?&]name=([^&]+).*$/, '$1'), document.getElementById('clipboard').value); mgnlShiftPushButtonClick(this); window.top.close();" onmouseout="mgnlShiftPushButtonOut(this);"
+      <span class="mgnlControlButton" onclick="opener.window.gridPaste(urlParams['name'], urlParams['expand'] == 'true'), document.getElementById('clipboard').value); mgnlShiftPushButtonClick(this); window.top.close();" onmouseout="mgnlShiftPushButtonOut(this);"
         onmousedown="mgnlShiftPushButtonDown(this);">
         OK
       </span>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |