Files
cabinet/assets/controllers/priceList_controller.js
2026-05-28 12:09:28 +03:00

52 lines
2.3 KiB
JavaScript

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 = "Упс, что то пошло не так, попробуйте позже или обратитесь к Администратору.";
}
})
}
});
}
}