Subversion Repositories SmartDukaan

Rev

Rev 11269 | Rev 11344 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10582 lgm 1
      <script src="<?php echo base_url();?>assets/js/jquery.js" type="text/javascript"></script>
2
      <script src="<?php echo base_url();?>assets/js/jquery.nouislider.js" type="text/javascript"></script>
3
      <script src="<?php echo base_url();?>assets/css/jquery.nouislider.css" type="text/css"></script>
4
 
5
 
6
      <?php //print_r($search_list);
7
      if(isset($search_list[0]->result->results) && (!empty($search_list[0]->result->results))) {
8
        $selectedFilters = array();
9
        $results = $search_list[0]->result?>
10
      <div class="pd-info-head ">
11
        <div class="name-hldr clearfix">
12
          <div>
13
            <?php if(isset($results->label) && !empty($results->label))?>
14
            <span><?php echo $results->label;?></span>
15
            <?php if((isset($results->totalCount)) && (!empty($results->totalCount))){
16
              $TotalPage = ceil($results->totalCount/10);?>
17
            <span>&#40;<?php echo $results->totalCount;?> results&#41;</span></div>
18
            <?php } ?>
19
          <div onclick="toggleListview(event);"></div>
20
        </div>
21
      </div><!--pd-info-head-->
22
      <div class="filter-div clearfix">
23
          <div onclick="toggleRefine(event)" class="sort">
24
            <span>
25
              <?php
26
              if(isset($results->sortedBy) && !empty($results->sortedBy)){               
27
              foreach($results->sortOptions as $key=>$value){ 
28
                if($results->sortedBy == $key){
10961 lgm 29
                  $sortedBy = $results->sortedBy;
30
                  echo $value;  
10582 lgm 31
                }
32
                 }
33
              }else{ echo "sort by";}  ?>
34
            </span>
35
          </div>
36
          <div onclick="toggleRefine(event)" class="filter">
37
            <span>
38
              Filter
39
            </span>
40
          </div>
41
          <!-- <div onclick="toggleRefine(event)" class="deals">
42
            <span>
43
             All
44
            </span>
45
          </div> -->
46
                   <div class="sort-by" style="display:none;" onclick="fireSort(event)">
47
         <?php foreach($results->sortOptions as $key=>$value){ ?>
10961 lgm 48
              <div <?php if(isset($sortedBy) && $sortedBy == $key){ echo 'class="opt selected"';}?> data-val="<?php echo $key;?>" ><?php echo $value;?></div>
10582 lgm 49
          <?php }?>
50
        </div><!--sort-by-->
51
        <div class="filter-by" style="display:none" onclick="fireFilter(event)">
52
          <div class="filter-head clearfix">
53
            <div class="clear" onclick="clearfilter(event)">Clear</div>
54
            <div class="apply" onclick="applyFilter1(event)">Apply</div>
55
          </div><!--btn-hldr-->
56
           <div class="filter-name">Price(Rs.)<span>+</span></div>
57
          <div class="filter-options clearfix" style="display:none" >
11269 lgm 58
          <div style="position:relative; height:40px;padding:10px;box-sizing: border-box;-webkit-box-sizing: border-box;width: 85%;left: 6%;">
10582 lgm 59
            <span id="exTO" class="slider-input"><?php echo $results->minPrice; ?></span>
60
            <span id="exFR" class="slider-input"><?php echo $results->maxPrice; ?></span>
61
          </div>
62
          <div class="clear"></div>
63
 
64
            <div class="noUiSlider"></div>
65
            <div id="minprice" class="oprice" style="display:<?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)){echo 'block';}else{echo 'none';} ?>"><?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)) { echo $results->dynamicPriceMap->min; } else { echo $results->minPrice; }?></div>
66
            <div id="maxprice" class="oprice max" style="display:<?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)){echo 'block';}else{echo 'none';} ?>"><?php if(isset($results->dynamicPriceMap) && !empty($results->dynamicPriceMap)) { echo $results->dynamicPriceMap->max; } else { echo $results->maxPrice; } ?></div>
67
          </div><!--filter-options -->
68
          <?php foreach($results->facets as $facets){ ?>
69
          <div class="filter-name"><?php if(isset($facets->displayText) && !empty($facets->displayText)) echo $facets->displayText;?><span>+</span></div>
70
          <div class="filter-options" style="display:none" >
71
          <?php $i=0;
72
          foreach($facets->filterOptions as $filterOptions){ ?>
11269 lgm 73
            <div id="<?php echo $filterOptions->value;?>" <?php if(($filterOptions->value == 'Mobile Accessories') || ($filterOptions->value == 'Mobile Phone') || ($filterOptions->value == 'Cameras') || ($filterOptions->value == 'Tablets') || ($filterOptions->value == 'Laptop Accessories') || ($filterOptions->value == 'Smart Watches')){ ?> onclick="filterAccess('main',event)"<?php }else{ ?> onclick="filterAccess('brand',event)" <?php }?> data-parent="<?php echo $facets->displayText;?>" data-key="<?php echo $filterOptions->key; ?>" data-value="<?php echo $filterOptions->value; ?>" 
10582 lgm 74
              <?php if($filterOptions->selected == 'true'){ 
75
                $selectedFilters[$i] = $filterOptions->value; $i++;?> 
76
                class="opt selected" <?php } else{?> class="opt"  <?php }?> >
77
                <?php  if(isset($filterOptions->nestedOptions) && !empty($filterOptions->nestedOptions)){ ?>
78
                +
79
                <?php }else{ ?>
80
                &#9633; 
81
                <?php } ?>
82
              <?php echo $filterOptions->value; ?>
83
             <span>&#40;<?php if($filterOptions->count != 1) echo $filterOptions->count." items";  else echo $filterOptions->count." item"; ?>&#41;</span></div>
84
 
85
 
86
                <?php  if(isset($filterOptions->nestedOptions) && !empty($filterOptions->nestedOptions)){ ?>
87
                  <div class='sub-filter' <?php if($filterOptions->selected == 'true'){ ?>style='display:block' <?php } else {?> style="display:none"<?php } ?>>
88
                <?php
89
                            foreach($filterOptions->nestedOptions as $nestedOptions){ ?>
90
                              <div data-key="<?php echo $nestedOptions->key; ?>" data-parent="<?php echo $filterOptions->value;?>" data-value="<?php echo $nestedOptions->value; ?>" 
91
                                 class="opt" <?php if($filterOptions->value == 'Mobile Accessories'){ ?> onclick="filterAccess('sub')" <?php }else{ ?> onclick="filter(brand)" <?php } ?> >
92
                                &#9633; <?php echo $nestedOptions->value;?>
93
                                <span>
94
                                  &#40;<?php if($nestedOptions->count != 1) echo $nestedOptions->count." items";  else echo $nestedOptions->count." item"; ?>&#41;
95
                                </span>
96
                              </div>
97
                            <?php } ?>
98
                    </div>  
99
                          <?php }
100
                  } ?>
101
 
102
          </div>
103
          <?php } ?>
104
          <div class="filter-head clearfix">
105
            <div class="clear" onclick="clearfilter(event)">Clear</div>
106
            <div class="apply" onclick="applyFilter1(event)">Apply</div>
107
          </div><!--btn-hldr-->
108
        </div><!--filter-by-->
109
      <div class="refine-mask" onclick="toggleRefine(event)"></div>
110
      </div><!--filter-div-->
111
 
112
      <div id="page" style="display:none">1</div>
113
      <input type = "hidden" id="count" value="<?=$TotalPage?>"/>
114
      <div id="appendlist" class="pd-list-hldr clearfix" >
115
        <?php foreach ($results->results as $result) { ?>
10796 lgm 116
        <a class="pd-list" href="<?php echo base_url().$result->url;?>">
117
          <div class="pd-image" style='background:url("<?php echo str_replace("'","&#039;",$result->image_url);?>")no-repeat center center;background-size:contain;'></div>
10582 lgm 118
          <div class="pd-info">
119
            <div class="pdt-name"><?php echo $result->title;?></div>
10796 lgm 120
            <div class="pdt-price">
121
              <?php if(isset($result->price) || isset($result->mrp)){?>
122
              <span class="pr">Rs</span>
123
              <?php if(isset($result->mrp) && $result->mrp != 0){ echo "<span class='pr-linethrough'>".$result->mrp. "</span>"; } ?>
124
              <?php if(isset($result->price) && $result->price != 0){?><span class="pr-original"><?php echo $result->price;?></span><?php }?>
125
            <?php }?>
126
            </div>
10582 lgm 127
            <div class="pdt-spec"><?php echo $result->description;?> </div>
128
          </div> 
129
        </a>
130
        <?php } ?>
131
      </div>
132
      <div id="showmorebutton" class="load-more" style="display:none" onclick="showMore('<?php echo $_GET['q']?>');">Show More</div>
133
      <?php } ?>
134
      <script type="text/javascript">
135
      var items = <?php echo json_encode($selectedFilters);?>
136
      </script>
137
       <script>
138
      //max, min values for slider initialization
139
         var max = document.getElementById("maxprice").innerHTML;
140
         max = parseInt(max);
141
        var min = document.getElementById("minprice").innerHTML;
142
        min = parseInt(min);
143
          var smin = document.getElementById("exTO").innerHTML
144
          smin = parseInt(smin);
145
          var smax = document.getElementById("exFR").innerHTML
146
          smax = parseInt(smax);
147
        // Run noUiSlider
148
 
11269 lgm 149
         $("#exTO").css({
150
                  left: 0 + '%'
151
                });
152
                $("#exFR").css({
153
                  left: 94 + '%'
154
                })
10582 lgm 155
 
11269 lgm 156
 
10582 lgm 157
        $('.noUiSlider').noUiSlider({
158
          set: function(){
159
                var left = $($(".noUiSlider").find("a")[0]).offset().left;
160
                var right = $($(".noUiSlider").find("a")[1]).offset().left;
161
                var width = $(".noUiSlider").width();
162
 
163
 
164
            $("#exTO").css({
165
              left: ((left/width * 100) - 8 ) + '%'
166
            });
167
              $("#exFR").css({
11269 lgm 168
                left: ((right/width * 100) - 15 ) + '%'
10582 lgm 169
              });  
170
          },
171
           range: [min, max],
172
           start: [smin, smax],
173
           step: 1,
174
           handles: 2,
175
           slide:function(){
176
             var maxWidth = document.getElementsByClassName('filter-by')[0].clientWidth;
177
             var value = $(this).val();
178
              var from = value[0];
179
              var to = value[1];
180
 
181
            $("#exTO").text(value[0]);
182
            $("#exFR").text(value[1]);
183
 
184
          left = $($(".noUiSlider").find("a")[0]).offset().left;
185
          right = $($(".noUiSlider").find("a")[1]).offset().left;
186
          width = $(".noUiSlider").width();
187
 
188
          if(left < 0){
189
            left = 1;
190
          }
191
 
192
          if((right - left) > 70)
193
          {
194
            $("#exTO").css({
195
              left: ((left/width * 100) - 8 ) + '%'
196
            });
197
            if(right < maxWidth){
198
              $("#exFR").css({
11269 lgm 199
                left: ((right/width * 100) - 15 ) + '%'
10582 lgm 200
              })  
201
            }
202
          }
203
           }
204
 
205
        });
11227 lgm 206
 
207
        var ominVal = document.getElementById('minprice').innerHTML;
208
        var omaxVal = document.getElementById('maxprice').innerHTML;
209
        var minVal = document.getElementById('exTO').innerHTML;
210
        var maxVal = document.getElementById('exFR').innerHTML;
10582 lgm 211
 
11269 lgm 212
         function filterAccess(el,e){
213
 
214
           if(e.currentTarget.className.indexOf('selected') != -1){
215
             e.currentTarget.className =  event.toElement.className.replace('selected', '');
216
             e.currentTarget.nextElementSibling.style.display = 'none'
10582 lgm 217
              return false;
218
           }else{
11269 lgm 219
             e.currentTarget.className = e.currentTarget.className + ' selected'; 
10582 lgm 220
           }
11269 lgm 221
           var url1, sp = e.currentTarget.getAttribute('data-value').replace(' ','+');
10582 lgm 222
           if(el == 'main'){
11269 lgm 223
               url1 = window.location.href.split('&')[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;  
10582 lgm 224
           }else if(el == 'brand'){
11269 lgm 225
             url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 226
           }else if(el == 'sub'){
227
             eUrl = window.location.href;
228
             if( (localStorage.getItem("prev") != null) && (eUrl.indexOf(localStorage.getItem('prev').replace(' ','+')) != -1) ){
229
               url1 = eUrl.replace(localStorage.getItem('prev').replace(' ','+') , sp);
230
             }else{
11269 lgm 231
               url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 232
             }
11269 lgm 233
            localStorage.setItem("prev", e.currentTarget.getAttribute('data-value') );
10582 lgm 234
           }else{
235
            url1 = window.location.href
236
            url1 = url1.split('&');
11269 lgm 237
            url1 = url1[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 238
           }
11227 lgm 239
           if((window.location.href.indexOf('minPrice') != -1) ){
240
             if((url1.indexOf('minPrice') == -1)){
241
                url1 = url1+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;  
242
             }
243
           }
244
 
10582 lgm 245
           window.location.assign(url1);
11269 lgm 246
           e.stopPropagation();
10582 lgm 247
 
248
         }
11227 lgm 249
 
250
 
11312 lgm 251
         function applyFilter1(e){
11227 lgm 252
 
253
        var ominVal = document.getElementById('minprice').innerHTML;
254
        var omaxVal = document.getElementById('maxprice').innerHTML;
255
        var minVal = document.getElementById('exTO').innerHTML;
256
        var maxVal = document.getElementById('exFR').innerHTML;
257
        var url1;
258
          if(window.location.href.indexOf('minPrice') != -1){
259
              if((<?php echo $results->minPrice; ?> != minVal) || (<?php echo $results->maxPrice; ?> !=maxVal)){
260
                  url1 =  window.location.href.replace(<?php echo $results->minPrice; ?>,document.getElementById('exTO').innerHTML);
261
                  url1 =  url1.replace(<?php echo $results->maxPrice; ?>,document.getElementById('exFR').innerHTML);  
11312 lgm 262
              }else{
263
                return false;
11227 lgm 264
              }
265
          }else{
266
              url1 = window.location.href+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;
267
            }
268
          window.location.assign(url1);
11312 lgm 269
          e.stopPropagation();
10582 lgm 270
         }
11227 lgm 271
 
11312 lgm 272
      </script>