Your IP : 18.227.209.249


Current Path : /data/web/virtuals/51568/virtual/www/www/zpravy/
Upload File :
Current File : /data/web/virtuals/51568/virtual/www/www/zpravy/zpravy.js

class Zprava {
   setZprava (id, titulek, text, datumod, datumdo, typ){
     this.id = id; 
     this.titulek = titulek; 
     this.text = text; 
     this.datumod = datumod; 
     this.datumdo = datumdo; 
     this.typ = typ;
   }
}

let zprava = new Zprava();

function nastavBorder(id){
  $('[id^="radekZprava"]').css("background-color", "transparent");
  $("#radekZprava"+id).css("background-color", "#dee2e6");
}

function datum2CZ(s){
   let d = new Date(s);        
   d = d.toISOString();
   d = d.substring(0, 16);
   return d;
}

function zpravaData(id){
  $.ajax({
    url: "www/zpravy/zpravy-nacti.php",
    type: 'POST',
    dataType: 'HTML',
    data: {
      'id' : id,
    },
    success: function (result) {
         let zDB = JSON.parse(result);
         $("#zpravaCardNadpis").html("Detail zprávy ").attr("idzpravy", zDB.id);
         $("#titulek").val(zDB.titulek);
         $("#text").val(zDB.text);        
         $("#datumod").val(datum2CZ(zDB.datumod));
         $("#datumdo").val(datum2CZ(zDB.datumdo)); 
         $("input[name='typsdeleni'][value=" + zDB.typ + "]").prop('checked', true);                 
       }
 });
}

function editujZpravu(id){
  nastavBorder(id);
  $("#errMsg").html("").addClass('d-none');
  let element = document.getElementById("zpravaCardNadpis");  
  if (typeof(element) == 'undefined' || element == null){
    $.get( "www/zpravy/zpravy-detail.php", function (data) {
      $("#zpravyDetail").html(data);
      zpravaData(id);
    });
  } else {
    zpravaData(id);
  } 
}

function kontrola(){
  $("#errMsg").html("").addClass('d-none');
  let id = $("#zpravaCardNadpis").attr("idzpravy"),
      titulek = $("#titulek").val(),
      text = $("#text").val(),
      datumod = $("#datumod").val(),
      datumdo = $("#datumdo").val(),
      typ = $('input[name=typsdeleni]:checked').val(),
      errMsg = [];
      
    if (titulek.length < 1){
      errMsg.push('zpráva musí mít titulek');
    }  
    if (typ === undefined){
      errMsg.push('zvol typ zprávy');
    }
    if (errMsg.length > 0){
      let errHtml = '<div class="alert alert-danger mb-0 pb-1"><ul class="mb-1">';
      errMsg.forEach(function(item){
         errHtml += `<li>${item}</li>`;
      });
      errHtml += '</ul></div>';
      $("#errMsg").html(errHtml).removeClass('d-none');
      return false;
    } else {
      zprava.setZprava (id, titulek, text, datumod, datumdo, typ);
      return true;
    }   
}

function ulozitZpravu(){
  if (kontrola()){
    $("#zmena").addClass('d-none');
    $.ajax({
        url: "www/zpravy/zpravy-uloz.php",
        type: 'POST',
        dataType: 'HTML',
        data: {
          'zprava': JSON.stringify(zprava),
        },
        success: function (result) {
           let datumod = zprava.datumod.substr(0, 10),
               datsplit = datumod.split('-');
               datumod = datsplit[2] + '.' + datsplit[1] + '.' + datsplit[0];
           let milisecOd = Date.parse(zprava.datumod),
               milisecDo = Date.parse(zprava.datumdo),
               ted = new Date();
            ted = ted.getTime();
            let jeAktualni = (ted >= milisecOd) && (ted <= milisecDo);
           if (zprava.id > 0){
             let id = zprava.id;
              $("#zpravaNadpis"+id).html(zprava.titulek);  
              $("#zpravaDatod"+id).html(datumod); 
              $("#zpravaTyp"+id).html((zprava.typ == 'w') ? '<i class="text-warning fas fa-exclamation-triangle"></i>' : '<i class="text-success far fa-thumbs-up"></i>');
              $("#zpravaAktualni"+id).html((jeAktualni) ? '<i class="far fa-eye"></i>' : '<i class="far fa-eye-slash"></i>');               
           } else {
             let id = result;
             $.ajax({
                url: "www/zpravy/zpravy-seznam.php",
                type: 'POST',
                dataType: 'HTML',
                success: function (result) {
                  $("#zpravySeznam").html(result);
                  editujZpravu(id);
                }
             });            
           }  
        }
     }); 
  }
}

function doplnNuly(s){
  s = s.trim();
  if (s.length < 2) {s = '0' + s};
  return s;
}

function pripravDatum(datCas){
   datCas = datCas.toLocaleString().replaceAll('. ', '.');
   let [dat, cas] = datCas.split(' '),
       datsplit = dat.split('.'),
       datumCas = datsplit[2].trim() + '-' + doplnNuly(datsplit[1]) + '-' + doplnNuly(datsplit[0]),
       casSplit = cas.split(':'), 
       hodMin = casSplit[0] + ':' + casSplit[1]; 
    datumCas += 'T' + hodMin;
    return datumCas;
}

function novaZpravaNastav(){
   $("#zpravaCardNadpis").html("NOVÁ ZPRÁVA ").attr("idzpravy", 0);
   $("#titulek").val("");
   $("#text").val(""); 
   let ted = new Date(),
       potom = new Date();
   ted.setMinutes(ted.getMinutes() + 1);
   potom.setMonth(potom.getMonth() + 1);
          
   $("#datumod").val(pripravDatum(ted));
   $("#datumdo").val(pripravDatum(potom)); 
   $("input[name='typsdeleni']").prop('checked', false);  
}

function novaZprava(){
  $("#errMsg").html("").addClass('d-none');
  let element = document.getElementById("zpravaCardNadpis");  
  if (typeof(element) == 'undefined' || element == null){
    $.get( "www/zpravy/zpravy-detail.php", function (data) {
      $("#zpravyDetail").html(data);
      novaZpravaNastav();
    });
  } else {
    novaZpravaNastav();
  } 
}

function smazZpravu(id){
   nemazatZpravu();
   editujZpravu(id);
   let nadpis = $("#zpravaNadpis"+id).text(),
       htm =`
   <tr id="dotazMazatZpravu">
       <td colspan="6"> 
           <div class="m-1 alert alert-danger row">
                <div class="col-8">Chceš smazat zprávu "${nadpis}" ?</div>
                <div class="col-2">
                     <button class="btn btn-info rounded-0 mt-1" onclick="nemazatZpravu()">Storno</button>
                </div>                         
                <div class="col-2">
                     <button class="btn btn-danger rounded-0  mt-1" onclick="smazZpravuPotvrzeno(${id})">Smazat</button>
                </div>
           </div>
       </td>
   </tr>`; 
   $("#radekZprava"+id).after(htm)
}

function nemazatZpravu(){
  $('#dotazMazatZpravu').remove();
}

function smazZpravuPotvrzeno(id){
  $.ajax({
      url: "www/zpravy/zpravy-smaz.php",
      type: 'POST',
      dataType: 'HTML',
      data: {
        'id': id,           
      },
      success: function (result) {
         $('#dotazMazatZpravu').remove();
         $("#radekZprava"+id).remove();
         if (result > 0){
           editujZpravu(result);
         } else {
           $("#zpravyDetail").html("");
           $.ajax({
              url: "www/zpravy/zpravy-seznam.php",
              type: 'POST',
              dataType: 'HTML',
              success: function (result) {
                $("#zpravySeznam").html(result);
              }
           });            
         }        
      }
  });   
}