favorite.blade.php 2.72 KB
<script>
    $(document).ready(function() {
        $(document).on('click', '.js_item_favorites', function () {
            var _this = $(this);
            var id_worker = _this.attr('data-val');

            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)
            }

            var str = $.cookie('favorite_house');
            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_worker', JSON.stringify(arr));
    }

    // удаление элемента из массива в 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_worker', JSON.stringify(unique));
    }

    function read_array(){
        var dataArr=$.cookie('favorite_worker');//считываем данные из куков
        //если массив  не был обнаружен, иницилизируем его
        if(dataArr===null){
            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_house',str);//записываем массив в куки
        return str;
    }
</script>