Blame view

resources/views/js/favorite-vacancy.blade.php 3.33 KB
ad2cc280b   Андрей Ларионов   Правки финальные ...
1
2
  
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
f3766c7c1   Андрей Ларионов   Коммит по регистр...
3
  <script>
ad2cc280b   Андрей Ларионов   Правки финальные ...
4
      console.log('js выполняется...');
f3766c7c1   Андрей Ларионов   Коммит по регистр...
5
6
7
8
9
      console.log(read_array());
      $(document).ready(function() {
          $(document).on('click', '.js_vacancy_favorites', function () {
              var _this = $(this);
              var id_worker = _this.attr('data-val');
ad2cc280b   Андрей Ларионов   Правки финальные ...
10
11
              console.log('Test test test test test...');
              console.log('id_worker='+id_worker);
f3766c7c1   Андрей Ларионов   Коммит по регистр...
12
13
14
15
16
17
18
              if (_this.hasClass('active')) {
                  add_in_array(id_worker);
                  console.log('Добавлено в избранное id=' + id_worker);
              } else {
                  delete_in_array(id_worker);
                  console.log('Удалено из избранных id='+id_worker)
              }
ad2cc280b   Андрей Ларионов   Правки финальные ...
19
              var str = $.cookie('favorit_vacancy');
f3766c7c1   Андрей Ларионов   Коммит по регистр...
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
              console.log("Вывод куков "+str);
  
          });
      });
  
      //помеченный элемент
      function selected_item(obj) {
          var arr = read_array();
          var index = arr.indexOf(obj);
  
          if (index > 0)
              return "active";
          else
              return "";
      }
  
      // запись элемента массива в cookie
      function add_in_array(obj){
          var arr = read_array();//получаем текущее состояние массива
          arr[arr.length]=obj; //добавляем элемент в конец
          //var str = JSON.stringify(arr);//конвертируем в строку
          //$.cookie('arr',str);//записываем массив в куки
          //$.cookie('favorite_vac', JSON.stringify(arr));
ad2cc280b   Андрей Ларионов   Правки финальные ...
43
44
          console.log(arr);
          $.cookie("favorit_vacancy", JSON.stringify(arr), { expires: 360, path: '/' });
f3766c7c1   Андрей Ларионов   Коммит по регистр...
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  
      }
  
      // удаление элемента из массива в cookie
      function delete_in_array(obj) {
          var arr = read_array();
          var unique = [...new Set(arr)]
          var index = unique.indexOf(obj);
  
          unique.splice(index, 1);
  
          //var str = JSON.stringify(arr);//конвертируем в строку
          //$.cookie('arr',str);//записываем массив в куки
          //$.cookie('favorite_vac', JSON.stringify(unique));
ad2cc280b   Андрей Ларионов   Правки финальные ...
59
          $.cookie("favorit_vacancy", JSON.stringify(unique), { expires: 360, path: '/' });
f3766c7c1   Андрей Ларионов   Коммит по регистр...
60
61
62
63
  
      }
  
      function read_array(){
ad2cc280b   Андрей Ларионов   Правки финальные ...
64
          // у-тв-арь
f3766c7c1   Андрей Ларионов   Коммит по регистр...
65
66
67
          var dataArr=$.cookie('favorite_vacancy');//считываем данные из куков
  
          //если массив  не был обнаружен, иницилизируем его
ad2cc280b   Андрей Ларионов   Правки финальные ...
68
          if(dataArr===undefined) {
f3766c7c1   Андрей Ларионов   Коммит по регистр...
69
70
71
72
73
74
75
76
77
78
79
80
              dataArr = init_array(); //возвращаем инициализированный пустой маасив
          }
          //возвращаем полученный массив
          //return JSON.parse(dataArr);
          return JSON.parse(dataArr);
      }
  
      //другими словами создаем пустой массив
      function init_array(){
          //var str = JSON.stringify(new Array());//конвертируем в строку
          var str = JSON.stringify(new Array());
          //$.cookie('favorite_vac',str);//записываем массив в куки
ad2cc280b   Андрей Ларионов   Правки финальные ...
81
          $.cookie("favorit_vacancy", str, { expires: 360, path: '/' });
f3766c7c1   Андрей Ларионов   Коммит по регистр...
82
83
          return str;
      }
ad2cc280b   Андрей Ларионов   Правки финальные ...
84

f3766c7c1   Андрей Ларионов   Коммит по регистр...
85
  </script>