window.addEventListener('DOMContentLoaded',function(){
$('.chosen-select').chosen({width: '70%',
no_results_text: "Nie znaleziono"});
const source = 'index.php?format=raw&option=com_admin_sender&task=';
const stop = document.getElementById('select');
function getData(e,upd){
var id = e.target.id;
if (upd == 'start') {
id = id;
}
else if(upd =='update'){
id = e.target.id.replace('_','');
}
var select_id = '_'+id;
var values = $("#"+select_id).chosen().val();
if (id == 'select') {
var date = document.getElementById('date').value;
}
if (upd == 'start') {
add(values,date);
}
else{
update(values,id);
}
}
function connectString(attr){
switch(attr){
case 'GEN_RD':
return 'Generowanie raportów';
break;
case 'SEND_RD':
return 'Wysyłka raportów';
break;
case 'GEN_NAL':
return 'Generowanie należności';
break;
case 'SEND_NAL_SMS':
return 'Wysyłka należności sms';
break;
case 'SEND_NAL_MAIL':
return 'Wysyłka należności mailem';
}
}
function getSelection(selected){
var select_array = new Array();
var pattern_array = ['GEN_RD','SEND_RD','GEN_NAL','SEND_NAL_SMS','SEND_NAL_MAIL'];
var result_array = new Array();
select_array = selected.split(',');
for (var i = 0;i<=pattern_array.length-1;i++){
result_array[i] = '';
}
return result_array;
}
function createRows(res){
selection = getSelection(res.blocked_actions);
if (res.active == true) {
var is_check ='checked='checked'';
}
else{
var is_check = '';
}
let rows_array = ['
','
','
'];
return rows_array.join().replace(/,/g,'');
}
function addRowsToArray(res){
var result = JSON.parse(res);
const target = document.getElementById('target');
for (let i =0; i<=result.length-1;i++){
var row = document.createElement('tr');
row.id = result[i].id;
row.innerHTML = createRows(result[i]);
if (target.hasChildNodes()) {
target.insertBefore(row,target.childNodes[0]);
}
else{
target.appendChild(row);
}
}
addEvents(null);
}
function removeRow(id){
let tr = document.getElementById(parseInt(id));
tr.parentNode.removeChild(tr);
}
function get(){
var task ='get';
ajax(source+task,'start');
}
function add(select_val,date_val){
var task = 'add&date='+date_val+'&select='+select_val;
ajax(source+task,'add');
}
function update(select_val,id){
var task = 'update&select='+select_val+'&id='+id;
ajax(source+task,'update');
}
function del(e){
var id = 'del&id='+e.target.dataset.id;
ajax(source+id,'del');
}
function ajax(what,param){
var ajax =new XMLHttpRequest();
ajax.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
switch (param){
case 'start':
addRowsToArray(this.responseText);
break;
case 'add':
addRowsToArray(this.responseText);
break;
case 'del':
removeRow(this.responseText);
break;
}
}
};
ajax.open('GET', what, true);
ajax.send();
}
function addEvents(stop){
if(stop){
stop.addEventListener('click', e => {
e.preventDefault();
getData(e,'start');
});
}else{
var del_btn = document.getElementsByClassName('rem');
$('.chosen-select').chosen({width: "100%",
no_results_text: "Nie znaleziono"});
$('.chosen-select').on('change', e => getData(e,'update'));
for (let i = 0;i<=del_btn.length-1;i++){
del_btn[i].addEventListener('click',e => del(e));
}
}
}
addEvents(stop);
get();
});