Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var brojMjeseca = 10;
- let mjeseci = ["VA1", "VA2", "MA", "EE1", "EE2", "0-01","0-02","0-03","0-04","0-05","0-06","0-07","0-08","0-09","1-01","1-02","1-03","1-04","1-05","1-06","1-07","1-08","1-09"];
- let Kalendar = (function(){
- //interne liste
- let redovnaSala;
- let vanrednaSala;
- function obojiZauzecaImpl(kalendarRef, mjesec, sala, pocetak, kraj){
- let postojiSalaRedovna = 0;
- let postojiSalaVanredna = 0;
- let semestar = "";
- if (kalendarRef != null) {
- for (let i = 0; i < redovnaSala.length; i++) {
- if (redovnaSala[i].naziv == sala) {
- postojiSalaRedovna = 1;
- semestar = redovnaSala[i].semestar;
- break;
- }
- }
- if (!postojiSalaRedovna) {
- for (let i = 0; i < vanrednaSala.length; i++) {
- if (vanrednaSala[i].naziv == sala) {
- postojiSalaVanredna = 1;
- semestar = vanrednaSala[i].semestar;
- break;
- }
- }
- }
- if (postojiSalaRedovna == 1 || postojiSalaVanredna == 1) {
- if (semestar == "zimski") {
- if (mjesec >= 9 || mjesec == 0) { //validan zimski mjesec
- if (postojiSalaRedovna == 1) {
- for (let i = 0; i < redovnaSala.length; i++) {
- if (redovnaSala[i].naziv == sala) {
- if (redovnaSala[i].pocetak <= pocetak || redovnaSala[i].kraj > pocetak) {
- if (mjesec === 11) { //decembar ima 6 sedmica
- for(let j = 0; j < 7; j++) //bojenje
- kalendarRef.children[j].children[redovnaSala[i].dan].className = "zauzeta";
- }
- else {
- for (let j = 3; j < 8; j++)
- kalendarRef.children[0].children[j].children[redovnaSala[i].dan].children[0].style.backgroundColor = "orangered";
- }
- }
- }
- }
- }
- else {
- for (let i = 0; i < vanrednaSala.lenght; i++) {
- if (redovnaSala[i].naziv == sala) {
- if (redovnaSala[i].pocetak > pocetak && redovnaSala[i].pocetak >= kraj || redovnaSala[i].kraj < pocetak && redovnaSala[i].pocetak > kraj) {
- }
- }
- }
- }
- }
- }
- if (semestar == "ljetni") {
- if (mjesec >= 1 && mjesec <= 5) { //validan ljetni mjesec
- if (postojiSalaRedovna) {
- for (let i = 0; i < redovnaSala.lenght; i++) {
- if (redovnaSala[i].naziv == sala) {
- if (redovnaSala[i].pocetak > pocetak && redovnaSala[i].pocetak >= kraj || redovnaSala[i].kraj < pocetak && redovnaSala[i].pocetak > kraj) {
- for(let j = 4; j < 8; j++) //bojenje
- kalendarRef.children[j].children[redovnaSala[i].dan].className = "zauzeta";
- }
- }
- }
- }
- }
- }
- }
- }
- else {
- kalendarRef.innerHTML = "";
- Kalendar.iscrtajKalendar(kalendarRef,mjesec);
- }
- };
- function ucitajPodatkeImpl(periodicna, vanredna){
- redovnaSala = periodicna;
- vanrednaSala = vanredna;
- };
- function iscrtajKalendarImpl(kalendarRef, mjesec){
- let tbl = document.createElement("table");
- tbl.style.backgroundColor = "rgb(228,228,228)";
- tbl.style.border = "3 px solid grey";
- let danas = new Date();
- let godina = danas.getFullYear();
- let prviDan = (new Date(godina, mjesec)).getDay();
- let brojDanauMjesecu = 32 - new Date(godina, mjesec,32).getDate();
- let mjeseci = ["Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar"];
- let dani = ["PON", "UTO", "SRI", "ČET", "PET", "SUB", "NED"];
- let datum = 1;
- for (let i = 0; i < 9; i++) {
- let red = document.createElement("tr");
- if (i == 0) {
- //naziv mjeseca, prvi red
- let celija = document.createElement("td");
- let tekst = document.createTextNode(mjeseci[mjesec]);
- let bold = document.createElement('strong');
- bold.appendChild(tekst);
- celija.appendChild(bold);
- celija.colSpan = "7";
- red.appendChild(celija);
- } //drugi red
- else if (i == 1) {
- for (let k = 0; k < 7; k++) {
- if (k == 0) {
- let celija = document.createElement("td");
- let tekst = document.createTextNode("\u00A0");
- celija.appendChild(tekst);
- red.appendChild(celija);
- }
- }
- }
- //naziv dana u mjesecu, treći red
- else if (i == 2) {
- for (let k = 0; k < 7; k++) {
- let celija = document.createElement("td");
- let tekst = document.createTextNode(dani[k]);
- celija.appendChild(tekst);
- celija.style.border = "3px solid steelblue";
- celija.style.textAlign = "center";
- red.appendChild(celija);
- }
- }
- //dani u mjesecu, četvrti do devetog reda
- else {
- for (let j = 0; j < 7; j++) {
- if (prviDan - 1 < 0)
- prviDan += 7;
- //za prazne ćelije
- if (i == 3 && j < prviDan-1) { // ne radi za decembar i septembar
- let celija = document.createElement("td");
- let tekst = document.createTextNode("");
- celija.appendChild(tekst);
- red.appendChild(celija);
- }
- else if (datum > brojDanauMjesecu) {
- break;
- }
- else {
- let celija = document.createElement("td");
- let tekst = document.createTextNode(datum);
- celija.appendChild(tekst);
- celija.style.textAlign = "center";
- celija.style.border = "3px solid steelblue";
- celija.style.backgroundColor = "white";
- for (let k = 0; k < 1; k++) {
- let celija2 = document.createElement("td");
- let tekst2 = document.createTextNode("");
- celija2.appendChild(tekst2);
- celija2.style.padding = "13px";
- celija2.style.alignSelf = "center";
- celija2.style.border = "4px solid steelblue";
- celija2.className = "slobodna";
- celija.appendChild(celija2);
- }
- red.appendChild(celija);
- datum++;
- }
- }
- }
- tbl.appendChild(red); // appending each row into calendar body.
- kalendarRef.appendChild(tbl);
- }
- }
- return {
- obojiZauzeca: obojiZauzecaImpl,
- ucitajPodatke: ucitajPodatkeImpl,
- iscrtajKalendar: iscrtajKalendarImpl
- }
- }());
- let listaR = [{
- dan: 0,
- semestar: "zimski",
- pocetak: "12:00",
- kraj: "14:00",
- naziv: "VA1",
- predavac: "Jurić"
- },
- {
- dan: 6,
- semestar: "ljetni",
- pocetak: "12:00",
- kraj: "14:00",
- naziv: "VA2",
- predavac: "Jurić"
- }];
- let listaVR = [{
- datum: "25.11.2019",
- pocetak: "10:00",
- kraj: "14:00",
- naziv: "MA",
- predavac: "Cizi"
- }];
- Kalendar.ucitajPodatke(listaR,listaVR);
- document.getElementsByClassName("kalendar")[0].innerHTML = "";
- Kalendar.iscrtajKalendar(document.getElementsByClassName("kalendar")[0], 0);
- function prethodni() {
- let kal = document.getElementById('Kalendar');
- kal.innerHTML = "";
- if (brojMjeseca - 1 < 0)
- Kalendar.iscrtajKalendar(kal, 0);
- else {
- brojMjeseca -= 1;
- Kalendar.iscrtajKalendar(kal, brojMjeseca);
- }
- };
- function sljedeci() {
- let kal = document.getElementById('Kalendar');
- kal.innerHTML = "";
- if (brojMjeseca + 1 > 11) {
- Kalendar.iscrtajKalendar(kal, 11);
- }
- else {
- brojMjeseca++;
- Kalendar.iscrtajKalendar(kal, brojMjeseca);
- }
- };
- Kalendar.obojiZauzeca(document.getElementById('Kalendar'),0,"VA1","12:00","14:00");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement