import { Controller } from 'stimulus';
const loader = require("./../components/loader.js");
const helper = require("./../components/helper.js");

/*
 * This is an example Stimulus controller!
 *
 * Any element with a data-controller="priceList" attribute will cause
 * this controller to be executed. The name "priceList" comes from the filename:
 * priceList_controller.js -> "priceList"
 *
 * Delete this file or adapt it for your use!
 */
export default class extends Controller {
    connect() {
        var wrap = this.element;
        var priceListSelect = document.getElementById('price_list_admin_form_groupId');
        var select = priceListSelect.cloneNode(true);
            select.id = 'price_list_update_form';
            select.name = 'groupId';

        var priceList = this.element.querySelector('.group-update');
            priceList.appendChild(select);
        
        var btnUpdatePriceList = this.element.querySelector('#update-price-list');
        
        btnUpdatePriceList.addEventListener('click', function() {
            if (select.value == '') {
                select.classList.add('is-invalid');
            } else {
                select.classList.remove('is-invalid');
                var msg = wrap.querySelector('.msg');
                    msg.innerHTML = "Пожалуйста ждите, идет обновление цен!";
                    msg.classList.add('text-danger');

                loader.btnLoader(btnUpdatePriceList, true);
                helper.sendRequest({groupId: select.value}, '/update/price-list', "POST").then(function (response) {
                    loader.btnLoader(btnUpdatePriceList, false);
                    
                    if (response.status == true) {
                        msg.innerHTML = "Обновление успешно завершено! <br> Нажмите на кнопку \"Search\" для отображения в таблице.";
                        msg.classList.remove('text-danger');   
                        msg.classList.add('text-success');
                    } else {
                        msg.innerHTML = "Упс, что то пошло не так, попробуйте позже или обратитесь к Администратору.";
                    }
                })
            }
        });
    }
}
