Blame view

resources/views/js/favorite-vacancy.blade.php 3.33 KB
ac606bc38   Андрей Ларионов   Работа на сервере.
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>
ac606bc38   Андрей Ларионов   Работа на сервере.
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');
ac606bc38   Андрей Ларионов   Работа на сервере.
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)
              }
ac606bc38   Андрей Ларионов   Работа на сервере.
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));
ac606bc38   Андрей Ларионов   Работа на сервере.
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));
ac606bc38   Андрей Ларионов   Работа на сервере.
59
          $.cookie("favorit_vacancy", JSON.stringify(unique), { expires: 360, path: '/' });
f3766c7c1   Андрей Ларионов   Коммит по регистр...
60
61
62
63
  
      }
  
      function read_array(){
ac606bc38   Андрей Ларионов   Работа на сервере.
64
          // у-тв-арь
f3766c7c1   Андрей Ларионов   Коммит по регистр...
65
66
67
          var dataArr=$.cookie('favorite_vacancy');//считываем данные из куков
  
          //если массив  не был обнаружен, иницилизируем его
ac606bc38   Андрей Ларионов   Работа на сервере.
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);//записываем массив в куки
ac606bc38   Андрей Ларионов   Работа на сервере.
81
          $.cookie("favorit_vacancy", str, { expires: 360, path: '/' });
f3766c7c1   Андрей Ларионов   Коммит по регистр...
82
83
          return str;
      }
ac606bc38   Андрей Ларионов   Работа на сервере.
84

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