Subversion Repositories SmartDukaan

Rev

Rev 11312 | Rev 11441 | 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; ?>" 
11344 lgm 91
                                 <?php if($nestedOptions->selected == 'true'){ ?> class="opt selected" <?php } else {?> class="opt" <?php } ?>
92
                                  <?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('sub',event)"<?php }else{ ?> onclick="filterAccess('brand',event)" <?php }?> >
10582 lgm 93
                                &#9633; <?php echo $nestedOptions->value;?>
94
                                <span>
95
                                  &#40;<?php if($nestedOptions->count != 1) echo $nestedOptions->count." items";  else echo $nestedOptions->count." item"; ?>&#41;
96
                                </span>
97
                              </div>
98
                            <?php } ?>
99
                    </div>  
100
                          <?php }
101
                  } ?>
102
 
103
          </div>
104
          <?php } ?>
105
          <div class="filter-head clearfix">
106
            <div class="clear" onclick="clearfilter(event)">Clear</div>
107
            <div class="apply" onclick="applyFilter1(event)">Apply</div>
108
          </div><!--btn-hldr-->
109
        </div><!--filter-by-->
110
      <div class="refine-mask" onclick="toggleRefine(event)"></div>
111
      </div><!--filter-div-->
112
 
113
      <div id="page" style="display:none">1</div>
114
      <input type = "hidden" id="count" value="<?=$TotalPage?>"/>
115
      <div id="appendlist" class="pd-list-hldr clearfix" >
116
        <?php foreach ($results->results as $result) { ?>
10796 lgm 117
        <a class="pd-list" href="<?php echo base_url().$result->url;?>">
118
          <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 119
          <div class="pd-info">
120
            <div class="pdt-name"><?php echo $result->title;?></div>
10796 lgm 121
            <div class="pdt-price">
122
              <?php if(isset($result->price) || isset($result->mrp)){?>
123
              <span class="pr">Rs</span>
124
              <?php if(isset($result->mrp) && $result->mrp != 0){ echo "<span class='pr-linethrough'>".$result->mrp. "</span>"; } ?>
125
              <?php if(isset($result->price) && $result->price != 0){?><span class="pr-original"><?php echo $result->price;?></span><?php }?>
126
            <?php }?>
127
            </div>
10582 lgm 128
            <div class="pdt-spec"><?php echo $result->description;?> </div>
129
          </div> 
130
        </a>
131
        <?php } ?>
132
      </div>
133
      <div id="showmorebutton" class="load-more" style="display:none" onclick="showMore('<?php echo $_GET['q']?>');">Show More</div>
134
      <?php } ?>
135
      <script type="text/javascript">
136
      var items = <?php echo json_encode($selectedFilters);?>
137
      </script>
138
       <script>
139
      //max, min values for slider initialization
140
         var max = document.getElementById("maxprice").innerHTML;
141
         max = parseInt(max);
142
        var min = document.getElementById("minprice").innerHTML;
143
        min = parseInt(min);
144
          var smin = document.getElementById("exTO").innerHTML
145
          smin = parseInt(smin);
146
          var smax = document.getElementById("exFR").innerHTML
147
          smax = parseInt(smax);
148
        // Run noUiSlider
149
 
11269 lgm 150
         $("#exTO").css({
151
                  left: 0 + '%'
152
                });
153
                $("#exFR").css({
154
                  left: 94 + '%'
155
                })
10582 lgm 156
 
11269 lgm 157
 
10582 lgm 158
        $('.noUiSlider').noUiSlider({
159
          set: function(){
160
                var left = $($(".noUiSlider").find("a")[0]).offset().left;
161
                var right = $($(".noUiSlider").find("a")[1]).offset().left;
162
                var width = $(".noUiSlider").width();
163
 
164
 
165
            $("#exTO").css({
166
              left: ((left/width * 100) - 8 ) + '%'
167
            });
168
              $("#exFR").css({
11269 lgm 169
                left: ((right/width * 100) - 15 ) + '%'
10582 lgm 170
              });  
171
          },
172
           range: [min, max],
173
           start: [smin, smax],
174
           step: 1,
175
           handles: 2,
176
           slide:function(){
177
             var maxWidth = document.getElementsByClassName('filter-by')[0].clientWidth;
178
             var value = $(this).val();
179
              var from = value[0];
180
              var to = value[1];
181
 
182
            $("#exTO").text(value[0]);
183
            $("#exFR").text(value[1]);
184
 
185
          left = $($(".noUiSlider").find("a")[0]).offset().left;
186
          right = $($(".noUiSlider").find("a")[1]).offset().left;
187
          width = $(".noUiSlider").width();
188
 
189
          if(left < 0){
190
            left = 1;
191
          }
192
 
193
          if((right - left) > 70)
194
          {
195
            $("#exTO").css({
196
              left: ((left/width * 100) - 8 ) + '%'
197
            });
198
            if(right < maxWidth){
199
              $("#exFR").css({
11269 lgm 200
                left: ((right/width * 100) - 15 ) + '%'
10582 lgm 201
              })  
202
            }
203
          }
204
           }
205
 
206
        });
11227 lgm 207
 
208
        var ominVal = document.getElementById('minprice').innerHTML;
209
        var omaxVal = document.getElementById('maxprice').innerHTML;
210
        var minVal = document.getElementById('exTO').innerHTML;
211
        var maxVal = document.getElementById('exFR').innerHTML;
10582 lgm 212
 
11269 lgm 213
         function filterAccess(el,e){
214
 
215
           if(e.currentTarget.className.indexOf('selected') != -1){
216
             e.currentTarget.className =  event.toElement.className.replace('selected', '');
217
             e.currentTarget.nextElementSibling.style.display = 'none'
10582 lgm 218
              return false;
219
           }else{
11269 lgm 220
             e.currentTarget.className = e.currentTarget.className + ' selected'; 
10582 lgm 221
           }
11269 lgm 222
           var url1, sp = e.currentTarget.getAttribute('data-value').replace(' ','+');
10582 lgm 223
           if(el == 'main'){
11269 lgm 224
               url1 = window.location.href.split('&')[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;  
10582 lgm 225
           }else if(el == 'brand'){
11269 lgm 226
             url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 227
           }else if(el == 'sub'){
228
             eUrl = window.location.href;
229
             if( (localStorage.getItem("prev") != null) && (eUrl.indexOf(localStorage.getItem('prev').replace(' ','+')) != -1) ){
230
               url1 = eUrl.replace(localStorage.getItem('prev').replace(' ','+') , sp);
231
             }else{
11269 lgm 232
               url1 = window.location.href +'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 233
             }
11269 lgm 234
            localStorage.setItem("prev", e.currentTarget.getAttribute('data-value') );
10582 lgm 235
           }else{
236
            url1 = window.location.href
237
            url1 = url1.split('&');
11269 lgm 238
            url1 = url1[0]+'&fq='+e.currentTarget.getAttribute('data-key')+':'+sp;
10582 lgm 239
           }
11227 lgm 240
           if((window.location.href.indexOf('minPrice') != -1) ){
241
             if((url1.indexOf('minPrice') == -1)){
242
                url1 = url1+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;  
243
             }
244
           }
245
 
10582 lgm 246
           window.location.assign(url1);
11269 lgm 247
           e.stopPropagation();
10582 lgm 248
 
249
         }
11227 lgm 250
 
251
 
11312 lgm 252
         function applyFilter1(e){
11227 lgm 253
 
254
        var ominVal = document.getElementById('minprice').innerHTML;
255
        var omaxVal = document.getElementById('maxprice').innerHTML;
256
        var minVal = document.getElementById('exTO').innerHTML;
257
        var maxVal = document.getElementById('exFR').innerHTML;
258
        var url1;
259
          if(window.location.href.indexOf('minPrice') != -1){
260
              if((<?php echo $results->minPrice; ?> != minVal) || (<?php echo $results->maxPrice; ?> !=maxVal)){
261
                  url1 =  window.location.href.replace(<?php echo $results->minPrice; ?>,document.getElementById('exTO').innerHTML);
262
                  url1 =  url1.replace(<?php echo $results->maxPrice; ?>,document.getElementById('exFR').innerHTML);  
11312 lgm 263
              }else{
264
                return false;
11227 lgm 265
              }
266
          }else{
267
              url1 = window.location.href+'&minPrice='+document.getElementById('exTO').innerHTML+'&maxPrice='+document.getElementById('exFR').innerHTML;
268
            }
269
          window.location.assign(url1);
11312 lgm 270
          e.stopPropagation();
10582 lgm 271
         }
11227 lgm 272
 
11344 lgm 273
      </script>
274
 
275