tanmoklepasha

mshia

Jun 29th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 6.72 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>MshiApp</title>
  6.  
  7.     {% load staticfiles %}
  8.     <link rel="stylesheet" type="text/css" href="{% static 'js/chosen/chosen.css' %}" />
  9.     <link rel="stylesheet" type="text/css" href="{% static 'css/index.css' %}" />
  10.  
  11.     <script src="{% static 'js/jquery.js' %}"></script>
  12.     <script src="{% static 'js/chosen/chosen.jquery.min.js' %}"></script>
  13.     <link href="{% static 'js/select2/css/select2.min.css' %}" rel="stylesheet" />
  14.     <script src="{% static 'js/select2/js/select2.min.js' %}"></script>
  15.     <script src="{% static 'js/app.js' %}"></script>
  16.  
  17. </head>
  18. <body>
  19.  
  20. <div id="top">
  21.     <div class="button" id="back">
  22.         <img src="{% static 'img/back.png' %}" />
  23.     </div>
  24.  
  25.     <div class="title">Mshia</div>
  26. </div>
  27. <div id="middle">
  28.     <div class="content">
  29.         <div id="home" class="tab">
  30.             <div class="caption">
  31.                 <h3 class="legend">მოგშივდა?</h3>
  32.                 <h2>გააკეთე არჩევანი</h2>
  33.             </div>
  34.  
  35.             <div class="searchBar">
  36.                 <select data-placeholder="შეიყვანეთ ინგრედიენტები (ქართული შრიფტით)" id="searchBox" multiple="multiple" class="chosen-select"></select>
  37.             </div>
  38.  
  39.             <button id="search">მოძებნე რეცეპტი</button>
  40.         </div>
  41.  
  42.         <div id="results" class="tab" style="right: -100%;">
  43.             <div class="inner"></div>
  44.         </div>
  45.  
  46.         <div id="full" class="tab" style="right: -100%;">
  47.             <div class="inner"></div>
  48.         </div>
  49.     </div>
  50. </div>
  51. <div id="bottom">
  52.  <!-- TOP.GE COUNTER CODE -->
  53. <script language="JavaScript" type="text/javascript" src="//counter.top.ge/cgi-bin/cod?100+104996"></script>
  54. <noscript>
  55. <a target="_top" href="http://counter.top.ge/cgi-bin/showtop?104996">
  56. <img src="//counter.top.ge/cgi-bin/count?ID:104996+JS:false" border="0" alt="TOP.GE" /></a>
  57. </noscript>
  58. <!-- / END OF TOP.GE COUNTER CODE -->
  59. </div>
  60.  
  61. <script>app.init();</script>
  62. <script>
  63.     var results = $('#results .inner'), full = $('#full .inner');
  64.     var tab = 1;
  65.     var s = document.createElement('span');
  66.     window.cache = [];
  67.     function getResults() {
  68.         results.html('');
  69.         window.cache = [];S
  70.         $.ajax({
  71.             url: '/mshiapp/get/?query=' + searchBox.val().join(','),
  72.             success: function(data) {
  73.                 for (var i = 0, l = data.length; i < l; i++) {
  74.                    var v = data[i];
  75.                    var c = v[2];
  76.  
  77.                    s.innerHTML = c;
  78.                    v[0] = v[0].replace('( ვიდეო)', '');
  79.                    v[2] = c = (s.textContent || s.innerText).replace(/\n+/g, '');
  80.                    window.cache.push(v);
  81.  
  82.                    if (c.length > 100) {
  83.                         c = c.substring(0, 97) + '...';
  84.                     }
  85.  
  86.                     results.append('<div class="result"><div class="image"><img src="' + v[3] + '" /></div>'
  87.                         + '<div class="data"><div class="title">' + v[0] + '</div><div class="description">' + c
  88.                          + '<button class="read-more" onclick="readMore(' + i + ');">სრულად ნახვა</button></div></div><div style="clear: both;"></div></div>');
  89.                 }
  90.  
  91.                 tab = 2;
  92.             }
  93.         });
  94.  
  95.         $('#home').animate({
  96.             right: '100%'
  97.         }, 200, function() {
  98.             $('#results').animate({
  99.                 right: '0%'
  100.             }, 200);
  101.         });
  102.     }
  103.  
  104.     function readMore(i) {
  105.         $('#results').animate({
  106.             right: '100%'
  107.         }, 200, function() {
  108.             $('#full').animate({
  109.                 right: '0%'
  110.             }, 200);
  111.  
  112.             var v = window.cache[i];
  113.             console.log('v', v);
  114.             var rules = v[1].split(/\n{3,}/g);
  115.             var ruleList = '';
  116.  
  117.             if (rules.length > 0) {
  118.                 ruleList = '<div class="rules">ინგრედიენტები:<ul>';
  119.  
  120.                 for (var j = 0, l = rules.length; j < l; j++) {
  121.                    ruleList += '<li>' + rules[j] + '</li>';
  122.                 }
  123.  
  124.                 ruleList += '</ul></div>';
  125.             }
  126.  
  127.             console.log(rules);
  128.             full.html('<div class="result"><div class="image"><img src="' + v[3] + '" /></div>'
  129.                         + '<div class="data"><div class="title">' + v[0] + '</div><div class="description">' + ruleList + '<span>მომზადების წესი:</span><br>' + v[2]
  130.                          + '</div></div><div style="clear: both;"></div></div>');
  131.         });
  132.         tab = 3;
  133.     }
  134.  
  135.     $('#back').on('click', function() {
  136.         if (tab > 1) {
  137.             if (tab === 2) {
  138.                 $('#results').animate({
  139.                     right: '-100%'
  140.                 }, 200, function() {
  141.                     $('#home').animate({
  142.                         right: '0%'
  143.                     }, 200);
  144.                 });
  145.             } else if (tab === 3) {
  146.                 $('#full').animate({
  147.                     right: '-100%'
  148.                 }, 200, function() {
  149.                     $('#results').animate({
  150.                         right: '0%'
  151.                     }, 200);
  152.                 });
  153.             }
  154.  
  155.             tab--;
  156.         }
  157.     });
  158.  
  159.     var searchBox = $('#searchBox');
  160.     searchBox.select2({
  161.         width: '100%',
  162.         ajax: {
  163.             url: '/mshiapp/ingredients/',
  164.             dataType: 'json',
  165.             delay: 250,
  166.             data: function (params) {
  167.               return {
  168.                 query: params.term
  169.               };
  170.             },
  171.             processResults: function (data, params) {
  172.               for (i in data) {
  173.                   data[i] = { id: data[i][0], text: data[i][0] };
  174.               }
  175.  
  176.               return {
  177.                 results: data
  178.               };
  179.             },
  180.             cache: true
  181.         }
  182.     });
  183.     var prevVal, i = 0
  184.     $('input.select2-search__field').first().attr('onkeyup', 'onSearchFieldKeyUp.call(this, event);')
  185.         .attr('onkeydown', 'onSearchFieldKeyDown.call(this, event);');
  186.  
  187.     var canSubmit = false;
  188.     window.onSearchFieldKeyDown = function(e) {
  189.         var v = searchBox.val();
  190.         canSubmit = e.keyCode === 13 && v && v.length > 0 && !this.value;
  191.     };
  192.     window.onSearchFieldKeyUp = function(e) {
  193.         if (e.keyCode === 13 && canSubmit) {
  194.            getResults();
  195.         }
  196.     };
  197.     $('#search').on('click', function() {
  198.         if (searchBox.val()) {
  199.             getResults();
  200.         }
  201.     });
  202. </script>
  203. </body>
  204. </html>
Advertisement
Add Comment
Please, Sign In to add comment