more work on transform display and mangling
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 22 Sep 2006 17:05:50 +0000 (17:05 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 22 Sep 2006 17:05:50 +0000 (17:05 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6193 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/reports/oils_rpt.css
Open-ILS/web/reports/oils_rpt_builder.js
Open-ILS/web/reports/oils_rpt_builder.xhtml
Open-ILS/web/reports/oils_rpt_tform_date.xhtml
Open-ILS/web/reports/oils_rpt_tform_numeric.xhtml
Open-ILS/web/reports/oils_rpt_tform_string.xhtml
Open-ILS/web/reports/oils_rpt_utils.js

index 59d8cfa..0c332da 100644 (file)
@@ -1,4 +1,6 @@
 body { font-size: 9pt; font-family: Helvetica, Arial, Tahoma, sans-serif; font-size: 9pt;} 
+table { border-collapse: collapse; }
+
 .hide_me { display: none; visibility: hidden; }
 .welcome_box { position:absolute; top: 5px; right: 5px; }
 
@@ -130,8 +132,6 @@ button {
 
 .oils_rpt_tree_link_ref {
        color: #A52A2A;
-       /*color: darkblue;*/
-       /*font-family: courier; */
 }
 
 
@@ -139,3 +139,7 @@ button {
        background: red;
 }
 
+#oils_rpt_tform_tbody td {
+       border-bottom: 1px solid #A0A0A0;
+       padding: 4px;
+}
index cfe6844..cc5f8c7 100644 (file)
@@ -335,6 +335,7 @@ function oilsRptDrawTransformWindow(path, col, cls, field) {
        DOM.oils_rpt_tform_label_input.focus();
        DOM.oils_rpt_tform_label_input.select();
        oilsRptHideTformFields();
+       oilsRptUnHideTformFields(dtype);
 
        _debug("Transforming item with datatype "+dtype);
        unHideMe($('oils_rpt_tform_'+dtype+'_div'));
@@ -342,8 +343,22 @@ function oilsRptDrawTransformWindow(path, col, cls, field) {
 }
 
 function oilsRptHideTformFields() {
-       for( var t in oilsRptTransforms ) 
-               hideMe($('oils_rpt_tform_'+t+'_div'));
+       var rows = DOM.oils_rpt_tform_tbody.childNodes;
+       for( var i = 0; i < rows.length; i++ )
+               if( rows[i] && rows[i].nodeType == 1 )
+                       hideMe(rows[i]);
+}
+
+function oilsRptUnHideTformFields(dtype) {
+       var rows = DOM.oils_rpt_tform_tbody.childNodes;
+       for( var i = 0; i < rows.length; i++ ) {
+               var row = rows[i]
+               if( row && row.nodeType == 1 && 
+                       (row.getAttribute('datatype')=='all' 
+                               || row.getAttribute('datatype') == dtype)) {
+                       unHideMe(row);
+               }
+       }
 }
 
 function oilsRptGetTform(datatype) {
@@ -368,7 +383,9 @@ function getRptTformParams(type, tform) {
                case 'string' :
                        switch(tform) {
                                case 'substring' :
-                                       return [];
+                                       return [
+                                               DOM.oils_rpt_tform_string_substring_offset.value, 
+                                               DOM.oils_rpt_tform_string_substring_length.value];
                        }
        }
 }
index 8ab1b19..8e41c59 100644 (file)
                                <input size='28' id='oils_rpt_tform_label_input'/>
                                <div class='oils_rpt_tform_window'>
                                        <div style='margin-bottom: 10px;'>Select how this field should be displayed:</div>
-                                       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_all_raw'/> Raw Data <br/>
-                                       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_all_count'/> Count <br/>
-                                       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_all_count_distinct'/> Count Distinct <br/>
-                                       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_all_min'/> Min <br/>
-                                       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_all_max'/> Max <br/>
-                                       <!--#include virtual="oils_rpt_tform_string.xhtml"-->
-                                       <!--#include virtual="oils_rpt_tform_date.xhtml"-->
-                                       <!--#include virtual="oils_rpt_tform_numeric.xhtml"-->
+                                       <!--#include virtual="oils_rpt_tform_table.xhtml"-->
                                </div>
                                <br/><br/>
                                <button id='oils_rpt_tform_submit'>Add Item</button>
index 748168b..c7c11a5 100644 (file)
@@ -1,46 +1,69 @@
-<div id='oils_rpt_tform_timestamp_div' class='hide_me'>
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_month_trunc'/> Month Trunc <br/>
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_months_ago'/> 
-       <select id='oils_rpt_tform_timestamp_months_ago_selector'  style='padding: 0px;'
-                       onchange='DOM.oils_rpt_tform_timestamp_months_ago_input.value=getSelectorVal(this);'>
-               <option value='1'>1</option>
-               <option value='2'>2</option>
-               <option value='3'>3</option>
-               <option value='4'>4</option>
-               <option value='5'>5</option>
-               <option value='6'>6</option>
-               <option value='7'>7</option>
-               <option value='8'>8</option>
-               <option value='9'>9</option>
-               <option value='10'>10</option>
-               <option value='11'>11</option>
-               <option value='12'>12</option>
-               <option value='18'>18</option>
-               <option value='24'>24</option>
-       </select>
-       <input type='text' size='3' maxlength='3' id='oils_rpt_tform_timestamp_months_ago_input' style='padding:0px'  value='1'/>
-       <span>Month(s) Ago</span> 
-       <br/>
+<tr datatype='timestamp'>
+       <td colspan='2'>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_month_trunc'/> Month Trunc <br/>
+       </td>
+</tr>
+<tr datatype='timestamp'>
+       <td>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_months_ago'/> 
+               <span>Month(s) Ago</span> 
+       </td>
+       <td>
+               <select id='oils_rpt_tform_timestamp_months_ago_selector'  style='padding: 0px;'
+                               onchange='
+                                       DOM.oils_rpt_tform_timestamp_months_ago_input.value=getSelectorVal(this);
+                                       DOM.oils_rpt_tform_timestamp_months_ago.checked=true;
+                               '>
+                       <option value='1'>1</option>
+                       <option value='2'>2</option>
+                       <option value='3'>3</option>
+                       <option value='4'>4</option>
+                       <option value='5'>5</option>
+                       <option value='6'>6</option>
+                       <option value='7'>7</option>
+                       <option value='8'>8</option>
+                       <option value='9'>9</option>
+                       <option value='10'>10</option>
+                       <option value='11'>11</option>
+                       <option value='12'>12</option>
+                       <option value='18'>18</option>
+                       <option value='24'>24</option>
+               </select>
+               <input type='text' size='3' maxlength='3' id='oils_rpt_tform_timestamp_months_ago_input' 
+                       onchange='DOM.oils_rpt_tform_timestamp_months_ago.checked = true;' style='padding:0px'  value='1'/>
+       </td>
+</tr>
+<tr datatype='timestamp'>
+       <td>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_quarters_ago'/> 
+               <span>Quarter(s) Ago</span>
+       </td>
+       <td>
+               <select id='oils_rpt_tform_timestamp_quarters_ago_selector' style='padding:0px'  
+                               onchange='
+                                       DOM.oils_rpt_tform_timestamp_quarters_ago_input.value=getSelectorVal(this);
+                                       DOM.oils_rpt_tform_timestamp_quarters_ago.checked = true;'>
+                       <option value='1'>1</option>
+                       <option value='2'>2</option>
+                       <option value='3'>3</option>
+                       <option value='4'>4</option>
+                       <option value='5'>5</option>
+                       <option value='6'>6</option>
+                       <option value='7'>7</option>
+                       <option value='8'>8</option>
+                       <option value='9'>9</option>
+                       <option value='10'>10</option>
+                       <option value='11'>11</option>
+                       <option value='12'>12</option>
+               </select>
+               <input type='text' size='3' maxlength='3' id='oils_rpt_tform_timestamp_quarters_ago_input' 
+                       onchange='DOM.oils_rpt_tform_timestamp_quarters_ago.checked = true;' style='padding:0px'  value='1'/>
+       </td>
+</tr>
+<tr datatype='timestamp'>
+       <td colspan='2'>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_age'/> Age <br/>
+       </td>
+</tr>
 
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_quarters_ago'/> 
-       <select id='oils_rpt_tform_timestamp_quarters_ago_selector' style='padding:0px'  
-                       onchange='DOM.oils_rpt_tform_timestamp_quarters_ago_input.value=getSelectorVal(this);'>
-               <option value='1'>1</option>
-               <option value='2'>2</option>
-               <option value='3'>3</option>
-               <option value='4'>4</option>
-               <option value='5'>5</option>
-               <option value='6'>6</option>
-               <option value='7'>7</option>
-               <option value='8'>8</option>
-               <option value='9'>9</option>
-               <option value='10'>10</option>
-               <option value='11'>11</option>
-               <option value='12'>12</option>
-       </select>
-       <input type='text' size='3' maxlength='3' id='oils_rpt_tform_timestamp_quarters_ago_input' style='padding:0px'  value='1'/>
-       <span>Quarter(s) Ago</span>
-       <br/>
 
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_timestamp_age'/> Age <br/>
-</div>
index ec90b15..f60949b 100644 (file)
@@ -1,4 +1,8 @@
-<div id='oils_rpt_tform_numeric_div'>
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_numeric_sum'/> Sum <br/>
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_numeric_average'/> Average <br/>
-</div>
+<tr datatype='numeric'>
+       <td colspan='2'>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_numeric_sum'/> Sum <br/>
+       </td>
+       <td colspan='2'>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_numeric_average'/> Average <br/>
+       </td>
+</tr>
index c376924..b106849 100644 (file)
@@ -1,3 +1,14 @@
-<div id='oils_rpt_tform_string_div'>
-       <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_string_substring'/> Substring <br/>
-</div>
+<tr datatype='string'>
+       <td>
+               <input type='radio' name='oils_rpt_tform_input' id='oils_rpt_tform_string_substring'/> 
+               <span>Substring</span>
+       </td>
+       <td>
+               <span style='padding-left: 5px;'>Offset: </span>
+               <input id='oils_rpt_tform_string_substring_offset' size='3' value='1'
+                       onchange='DOM.oils_rpt_tform_string_substring.checked = true;'/>
+               <span style='padding-left: 5px;'>Length: </span>
+               <input id='oils_rpt_tform_string_substring_length' size='3' value='1'
+                       onchange='DOM.oils_rpt_tform_string_substring.checked = true;'/>
+       </td>
+</tr>
index 9672d9f..933ed48 100644 (file)
@@ -86,8 +86,9 @@ function setMousePos(e) {
 
 function buildFloatingDiv(div, width) {
        var left = parseInt((window.innerWidth / 2) - (width/2));
-       var top = oilsMouseY;
-       var dbot = oilsMouseY + div.clientHeight;
+       var halfh = parseInt(div.clientHeight / 2);
+       var top = oilsMouseY - halfh + 50;
+       var dbot = top + halfh;
        if( dbot > window.innerHeight ) {
                top = oilsMouseY - div.clientHeight - 10;
        }