A bit of UI niceness in DIMP for the basic search screen
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 14 Sep 2009 21:23:48 +0000 (15:23 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 14 Sep 2009 21:23:48 +0000 (15:23 -0600)
imp/js/DimpBase.js
imp/search-basic.php
imp/templates/search/search-basic.html

index 78c73b9..8ded714 100644 (file)
@@ -1778,6 +1778,17 @@ var DimpBase = {
         }
     },
 
+    changeHandler: function(e)
+    {
+        var elt = e.element();
+
+        if (elt.readAttribute('name') == 'search_criteria' &&
+            elt.descendantOf('RB_window')) {
+            elt.up().nextSiblings().invoke($F(elt) ? 'show' : 'hide');
+            RedBox.setWindowPosition();
+        }
+    },
+
     /* Handle rename folder actions. */
     renameFolder: function(folder)
     {
@@ -2467,6 +2478,7 @@ var DimpBase = {
 
         /* Register global handlers now. */
         document.observe('keydown', this.keydownHandler.bindAsEventListener(this));
+        document.observe('change', this.changeHandler.bindAsEventListener(this));
 
         /* Limit to folders sidebar only. */
         $('foldersSidebar').observe('mouseover', this.mouseoverHandler.bindAsEventListener(this));
index b02d356..5d20d64 100644 (file)
@@ -66,7 +66,9 @@ $t->set('search_title', sprintf(_("Search %s"), htmlspecialchars(IMP::displayFol
 $t->set('s_fields', $s_fields);
 $t->set('f_fields', $f_fields);
 
-if (!$t->get('dimpview')) {
+if ($t->get('dimpview')) {
+    $t->set('hide_criteria', true);
+} else {
     $title = _("Search");
     IMP::prepareMenu();
     require IMP_TEMPLATES . '/common-header.inc';
index 2ef6cbc..24d2cfc 100644 (file)
 </loop:s_fields>
    </select>
   </td>
-  <td>
+  <td<if:hide_criteria> style="display:none"</if:hide_criteria>>
    <input type="text" name="search_criteria_text" size="40" />
   </td>
-  <td>
+  <td<if:hide_criteria> style="display:none"</if:hide_criteria>>
    <input type="checkbox" class="checkbox" name="search_criteria_not" />
    <label for="search_criteria_not"><gettext>Do NOT Match</gettext></label>
   </td>