Browse Source

started to mix search form and advanced search form into one unique block, the idea is to switch to one from an other with tabs

Bachir Soussi Chiadmi 6 years ago
parent
commit
55700094a2

+ 50 - 39
sites/all/modules/gui/materiobasemod/materio_search_api.module

@@ -618,17 +618,17 @@ function materio_search_api_search_form($form, &$form_state){
   $args = arg();
   $path = array_shift($args);
   // dsm($args, 'args');
-  if(isset($args[0]) && $args[0] == "advanced"){
-    $advanced = true;
-    array_shift($args);
-    // dsm($args, 'shifted arsg');
-    // foreach ($args as $arg) {
-    //   $typed[] = $arg;//(integer)$arg;
-    // }
-    $keys = implode(' +', $args);
-  }else{
+  // if(isset($args[0]) && $args[0] == "advanced"){
+  //   $advanced = true;
+  //   array_shift($args);
+  //   // dsm($args, 'shifted arsg');
+  //   // foreach ($args as $arg) {
+  //   //   $typed[] = $arg;//(integer)$arg;
+  //   // }
+  //   $keys = implode(' +', $args);
+  // }else{
     $keys = implode('/', $args);
-  }
+  // }
 
 
 
@@ -643,20 +643,6 @@ function materio_search_api_search_form($form, &$form_state){
     $default_value = '';
   }
 
-  // add a back to search/base home bouton if on explore/foo
-  if ($path == 'explore' || $path == 'bookmarks' || $path == 'lists' ) {
-    $link = l('<i class="fi-home"></i>', base_path().'actuality', array(
-      'html'=>true,
-      'attributes'=>array('class'=>'back-search-home')
-    ));
-
-    $form['actu'] = array(
-      '#type' => 'markup',
-      '#markup' => $link,
-      //'<a href="'.base_path().'actuality" class="back-search-home"><i class="fi-home"></i></a>'
-    );
-  }
-
 
   $form['searchfield'] = array(
     '#type' => 'textfield',
@@ -693,6 +679,27 @@ function materio_search_api_search_form($form, &$form_state){
     '#src' => drupal_get_path('module', 'materio_search_api') . '/images/search.png',
     '#value' => t('Search'),
   );
+
+  // add a back to search/base home bouton if on explore/foo
+  if ($path == 'explore' || $path == 'bookmarks' || $path == 'lists' ) {
+    
+    // buttons form container
+    $form['rightcol'] = array(
+      '#type' => 'container',
+    );
+
+    $link = l('<i class="fi-home"></i>', base_path().'actuality', array(
+      'html'=>true,
+      'attributes'=>array('class'=>'back-search-home')
+    ));
+
+    $form['rightcol']['actu'] = array(
+      '#type' => 'markup',
+      '#markup' => $link,
+      //'<a href="'.base_path().'actuality" class="back-search-home"><i class="fi-home"></i></a>'
+    );
+  }
+
   return $form;
 }
 
@@ -742,7 +749,7 @@ function materio_search_api_search_form_submit($form, &$form_state){
  * materio_search_api_advanced_search_form()
  */
 function materio_search_api_advanced_search_form($form, &$form_state){
-  dsm($form_state, 'form_state');
+  // dsm($form_state, 'form_state');
   // dsm($form, 'form');
   // global $user;
   // $form = array();
@@ -858,7 +865,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
     }else{
       $ll = $l;
     }
-    dsm("l : ".$l." | ll : ".$ll);
+    // dsm("l : ".$l." | ll : ".$ll);
 
     $form['filters']['filterline-'.$ll] = array(
       '#type' => 'container',
@@ -877,7 +884,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
     }elseif(isset($args_values[$l][0])){
       $default0 =  $args_values[$l][0];
     }
-    dsm($default0, "default 0");
+    // dsm($default0, "default 0");
 
     // form select element for first level
     $form['filters']['filterline-'.$ll]['filter-'.$ll.'-0'] = array(
@@ -916,7 +923,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
         }elseif(isset($args_values[$l][1])){
           $default1 = $args_values[$l][1];
         }
-        dsm($default1, "default 1");
+        // dsm($default1, "default 1");
 
         // form select element for second level
         $form['filters']['filterline-'.$ll]['filter-'.$ll.'-1'] = array(
@@ -947,7 +954,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
               }elseif(isset($args_values[$l][2])){
                 $default2 =  $args_values[$l][2];
               }
-              dsm($default2, "default 2");
+              // dsm($default2, "default 2");
 
               $level_2_ops = array();
               foreach ($taxotree2 as $index => $term) {
@@ -1008,7 +1015,7 @@ function materio_search_api_advanced_search_form($form, &$form_state){
     ),
   );
 
-  // filters form container
+  // buttons form container
   $form['rightcol'] = array(
     '#type' => 'container',
   );
@@ -1033,29 +1040,29 @@ function materio_search_api_advanced_search_form($form, &$form_state){
     '#return_value' => "search",
   );
 
-  dsm($form, 'form');
+  // dsm($form, 'form');
   return $form;
 }
 
 function materio_search_api_advanced_search_select_callback($form, &$form_state) {
   return $form['filters'];
 }
-
 function materio_search_api_advanced_search_addfilter_callback($form, &$form_state) {
   return $form['filters'];
 }
-
 function materio_search_api_advanced_search_rmline_callback($form, &$form_state) {
   return $form['filters'];
 }
 
 function materio_search_api_advanced_search_form_validate($form, &$form_state){
-  // dsm($form, '$form');
-  // dsm($form_state, '$form_state');
-  // dsm(strlen($form_state['values']['searchfield']));
-  // if (strlen(trim($form_state['values']['searchfield'])) <= 1) {
-  //   form_set_error('searchfield', 'Please enter at least 2 characters keyword.');
-  // }
+  if($form_state['triggering_element']['#name'] == 'search'){
+    // dsm($form, '$form');
+    dsm($form_state, 'form_state');
+
+    if (!isset($form_state['values']['filter-0-1']) || $form_state['values']['filter-0-1'] == '') {
+      form_set_error('filters', 'Please choose at least 1 keyword.');
+    }
+  }
 }
 
 function materio_search_api_advanced_search_form_submit($form, &$form_state){
@@ -1190,7 +1197,11 @@ function materio_search_api_theme($existing, $type, $theme, $path) {
  */
 function template_preprocess_materio_search_api_search_block(&$vars){
   // dsm($vars, '$vars');
+  $vars['search_title'] = t("Text search");
   $vars['searchform'] = drupal_get_form("materio_search_api_search_form");
+
+  $vars['advanced_search_title'] = t("Filtered search");
+  $vars['advanced_searchform'] = drupal_get_form("materio_search_api_advanced_search_form");
 }
 
 /**

+ 9 - 3
sites/all/modules/gui/materiobasemod/templates/materio-search-api-search-block.tpl.php

@@ -1,5 +1,11 @@
 <div class="inner">
+  <div class="msa-search">
+    <h4><?php print $search_title; ?></h4>
+    <?php print render($searchform); ?>
+  </div>
+  <div class="msa-advanced-search">
+    <h4><?php print $advanced_search_title; ?></h4>
+    <?php print render($advanced_searchform); ?>
+  </div>
 
-  <?php print render($searchform); ?>
-
-</div>
+</div>

+ 29 - 38
sites/all/themes/gui/materiobasetheme/css/styles.css

@@ -3824,6 +3824,14 @@ body.home-v2 #main {
       #tool-bar #block-materio-search-api-materio-search-api-search > .inner:active {
         transition: box-shadow 0s ease-out;
         box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); }
+      #tool-bar #block-materio-search-api-materio-search-api-search > .inner > div {
+        padding-top: 0.5em; }
+        #tool-bar #block-materio-search-api-materio-search-api-search > .inner > div h4 {
+          margin: 0;
+          text-align: left;
+          font-size: 14px; }
+        #tool-bar #block-materio-search-api-materio-search-api-search > .inner > div:not(:first-of-type) {
+          margin-top: 0.5em; }
   #tool-bar #materio-search-api-search-form {
     text-align: right;
     display: moz-inline-stack;
@@ -3832,7 +3840,7 @@ body.home-v2 #main {
     zoom: 1;
     *display: inline;
     margin: 0; }
-    #tool-bar #materio-search-api-search-form .form-item, #tool-bar #materio-search-api-search-form input, #tool-bar #materio-search-api-search-form .form-checkboxes {
+    #tool-bar #materio-search-api-search-form .form-item, #tool-bar #materio-search-api-search-form input, #tool-bar #materio-search-api-search-form .form-checkboxes, #tool-bar #materio-search-api-search-form .form-wrapper {
       display: moz-inline-stack;
       display: inline-block;
       vertical-align: top;
@@ -3848,11 +3856,14 @@ body.home-v2 #main {
         margin: 0 5px; }
         #tool-bar #materio-search-api-search-form .form-checkboxes .form-item label {
           font-size: 10px; }
+    #tool-bar #materio-search-api-search-form #edit-rightcol {
+      padding-left: 0.5em;
+      margin-left: 0.5em;
+      border-left: 1px solid #ccc; }
     #tool-bar #materio-search-api-search-form a.back-search-home {
       display: inline-block;
       vertical-align: middle;
-      color: #000;
-      padding: 0 0.5em 0 0.2em; }
+      color: #000; }
       #tool-bar #materio-search-api-search-form a.back-search-home i:before {
         font-size: 1.3em; }
     #tool-bar #materio-search-api-search-form input#edit-searchfield {
@@ -3880,43 +3891,23 @@ body.home-v2 #main {
         width: 16em; }
       #tool-bar #materio-search-api-search-form #edit-bundles-filter {
         display: none; } }
-  #tool-bar #block-materio-search-api-mo-searchapi-advanced-search {
-    float: right; }
-    #tool-bar #block-materio-search-api-mo-searchapi-advanced-search > .inner {
-      display: moz-inline-stack;
-      display: inline-block;
-      vertical-align: top;
-      zoom: 1;
-      *display: inline;
-      margin: 0 0 0 10px;
-      padding: 3px 10px;
-      background-color: #fff;
-      border-radius: 3px;
-      background-clip: padding-box;
-      box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
-      transition: box-shadow 0.3s ease-out; }
-      #tool-bar #block-materio-search-api-mo-searchapi-advanced-search > .inner:hover, #tool-bar #block-materio-search-api-mo-searchapi-advanced-search > .inner:focus {
-        box-shadow: 0 0 5px rgba(0, 0, 0, 0.7); }
-      #tool-bar #block-materio-search-api-mo-searchapi-advanced-search > .inner:active {
-        transition: box-shadow 0s ease-out;
-        box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); }
   #tool-bar #materio-search-api-advanced-search-form > div {
     position: relative; }
-  #tool-bar #materio-search-api-advanced-search-form #advancedsearch-filters, #tool-bar #materio-search-api-advanced-search-form #edit-rightcol {
-    display: inline-block;
-    vertical-align: top; }
-  #tool-bar #materio-search-api-advanced-search-form #edit-rightcol {
-    position: relative;
-    text-align: center; }
-    #tool-bar #materio-search-api-advanced-search-form #edit-rightcol > * {
-      display: block; }
-    #tool-bar #materio-search-api-advanced-search-form #edit-rightcol a.back-search-home {
-      color: #000;
-      padding-top: 0.45em; }
-      #tool-bar #materio-search-api-advanced-search-form #edit-rightcol a.back-search-home i:before {
-        font-size: 1.3em; }
-    #tool-bar #materio-search-api-advanced-search-form #edit-rightcol #edit-search {
-      margin: 1em 0 0.5em; }
+    #tool-bar #materio-search-api-advanced-search-form > div #advancedsearch-filters, #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper {
+      display: inline-block;
+      vertical-align: top; }
+    #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper {
+      position: relative;
+      text-align: center; }
+      #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper > * {
+        display: block; }
+      #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper a.back-search-home {
+        color: #000;
+        padding-top: 0.45em; }
+        #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper a.back-search-home i:before {
+          font-size: 1.3em; }
+      #tool-bar #materio-search-api-advanced-search-form > div > .form-wrapper #edit-search {
+        margin: 1em 0 0.5em; }
   #tool-bar #materio-search-api-advanced-search-form #advancedsearch-filters {
     padding-right: 0.5em;
     margin-right: 0.5em;

+ 99 - 72
sites/all/themes/gui/materiobasetheme/scss/styles.scss

@@ -1030,12 +1030,12 @@ $headerouterheight:$headerheight+$headerpaddingtop+$headerpaddingbottom;
     }
   }
 
-  //    _____                      __
-  //   / ___/___  ____ ___________/ /_
-  //   \__ \/ _ \/ __ `/ ___/ ___/ __ \
-  //  ___/ /  __/ /_/ / /  / /__/ / / /
-  // /____/\___/\__,_/_/   \___/_/ /_/
 
+  //    _____                      __       ____  __           __
+  //   / ___/___  ____ ___________/ /_     / __ )/ /___  _____/ /__
+  //   \__ \/ _ \/ __ `/ ___/ ___/ __ \   / __  / / __ \/ ___/ //_/
+  //  ___/ /  __/ /_/ / /  / /__/ / / /  / /_/ / / /_/ / /__/ ,<
+  // /____/\___/\__,_/_/   \___/_/ /_/  /_____/_/\____/\___/_/|_|
   #block-materio-search-api-materio-search-api-search{
     // @include inlineblock(); vertical-align: middle ;
     // position:absolute; top:10px; right:0;
@@ -1044,14 +1044,33 @@ $headerouterheight:$headerheight+$headerpaddingtop+$headerpaddingbottom;
       @include inlineblock(); margin:0 0 0 10px;
       padding: 3px 10px; background-color:#fff; @include rounded(3px);
       @include shadowBtn(); text-align: right;
+
+      >div{
+        h4{
+          margin:0;
+          text-align: left;
+          @include fs14;
+        }
+        padding-top: 0.5em;
+        &:not(:first-of-type){
+          margin-top: 0.5em;
+          // border-top: 1px solid #ccc;
+        }
+      }
     }
   }
 
+  //    _____                      __
+  //   / ___/___  ____ ___________/ /_
+  //   \__ \/ _ \/ __ `/ ___/ ___/ __ \
+  //  ___/ /  __/ /_/ / /  / /__/ / / /
+  // /____/\___/\__,_/_/   \___/_/ /_/
+
   #materio-search-api-search-form{
     text-align: right;
     @include inlineblock(); margin: 0;
 
-    .form-item, input, .form-checkboxes{@include inlineblock(); margin:0; vertical-align:middle; padding:0;}
+    .form-item, input, .form-checkboxes, .form-wrapper{@include inlineblock(); margin:0; vertical-align:middle; padding:0;}
 
     .form-checkboxes{
       padding: 3px; @include fs12;
@@ -1061,11 +1080,18 @@ $headerouterheight:$headerheight+$headerpaddingtop+$headerpaddingbottom;
       }
     }
 
+    #edit-rightcol{
+      padding-left: 0.5em;
+      margin-left: 0.5em;
+      border-left: 1px solid #ccc;
+    }
     a.back-search-home{
       display:inline-block;
       vertical-align: middle;
       color:#000;
-      padding: 0 0.5em 0 0.2em;
+      // padding: 0 0.2em 0 0.5em;
+      // margin-left: 0.5em;
+      // border-left: 1px solid #ccc;
       i:before{
         font-size:1.3em;
       }
@@ -1086,7 +1112,9 @@ $headerouterheight:$headerheight+$headerpaddingtop+$headerpaddingbottom;
       }
     };
 
-    input#edit-create{ padding: 3px; }
+    input#edit-create{
+      padding: 3px;
+    }
 
     &.loading{
       background: transparent url('../img/ajax-loader.gif') no-repeat 98% center;
@@ -1105,85 +1133,84 @@ $headerouterheight:$headerheight+$headerpaddingtop+$headerpaddingbottom;
   //  / ___ / /_/ /| |/ / /_/ / / / / /__/  __/ /_/ /   ___/ /  __/ /_/ / /  / /__/ / / /
   // /_/  |_\__,_/ |___/\__,_/_/ /_/\___/\___/\__,_/   /____/\___/\__,_/_/   \___/_/ /_/
 
-  #block-materio-search-api-mo-searchapi-advanced-search{
-    // @include inlineblock(); vertical-align: middle ;
-    // position:absolute; top:10px; right:0;
-    float:right;
-    >.inner{
-      @include inlineblock(); margin:0 0 0 10px;
-      padding: 3px 10px; background-color:#fff; @include rounded(3px);
-      @include shadowBtn();
-      // text-align: right;
-    }
-  }
-
-  #materio-search-api-advanced-search-form{
-    >div{
-      position: relative;
-    }
-
-    #advancedsearch-filters, #edit-rightcol{
-      display: inline-block;
-      vertical-align: top;
-    }
+  // #block-materio-search-api-mo-searchapi-advanced-search{
+  //   // @include inlineblock(); vertical-align: middle ;
+  //   // position:absolute; top:10px; right:0;
+  //   float:right;
+  //   >.inner{
+  //     @include inlineblock(); margin:0 0 0 10px;
+  //     padding: 3px 10px; background-color:#fff; @include rounded(3px);
+  //     @include shadowBtn();
+  //     // text-align: right;
+  //   }
 
-    #edit-rightcol{
-      position: relative;
-      text-align: center;
-      >*{display:block;}
-      a.back-search-home{
-        color:#000;
-        padding-top: 0.45em;
-        i:before{
-          font-size:1.3em;
+    #materio-search-api-advanced-search-form{
+      >div{
+        position: relative;
+        #advancedsearch-filters, >.form-wrapper{
+          display: inline-block;
+          vertical-align: top;
+        }
+
+        >.form-wrapper{
+          position: relative;
+          text-align: center;
+          >*{display:block;}
+          a.back-search-home{
+            color:#000;
+            padding-top: 0.45em;
+            i:before{
+              font-size:1.3em;
+            }
+          }
+          #edit-search{
+            margin: 1em 0 0.5em;
+          }
         }
       }
-      #edit-search{
-        margin: 1em 0 0.5em;
-      }
-    }
 
-    #advancedsearch-filters{
-      padding-right: 0.5em;
-      margin-right: 0.5em;
-      border-right: 1px solid #ccc;
 
-      .filter-line{
-        margin:0.3em 0;
-        padding-top:0.3em;
+      #advancedsearch-filters{
+        padding-right: 0.5em;
+        margin-right: 0.5em;
+        border-right: 1px solid #ccc;
 
-        &:not(:first-child){
-          border-top: 1px solid #ccc;
-        }
-        .form-item{
-          display:inline-block;
-          vertical-align: middle;
-          @include fs12; line-height:1;
-          // padding-right:3em;
-          text-transform: capitalize;
-          // min-width : 4em;
-          margin:0 0em 0 0;
-        }
+        .filter-line{
+          margin:0.3em 0;
+          padding-top:0.3em;
 
-        select{
-          width:auto;
+          &:not(:first-child){
+            border-top: 1px solid #ccc;
+          }
+          .form-item{
+            display:inline-block;
+            vertical-align: middle;
+            @include fs12; line-height:1;
+            // padding-right:3em;
+            text-transform: capitalize;
+            // min-width : 4em;
+            margin:0 0em 0 0;
+          }
 
+          select{
+            width:auto;
+          }
         }
-      }
 
-      .rm-btn{
-        float: right;
-        margin:0.4em 0 0.4em 0.4em;
-      }
+        .rm-btn{
+          float: right;
+          margin:0.4em 0 0.4em 0.4em;
+        }
 
-      .add-filter{
-        margin:0.5em 0;
+        .add-filter{
+          margin:0.5em 0;
+        }
       }
-    }
 
 
-  }
+    }
 
+  // }
 }