• Hücreleri sürükleyip bırakarak programda değişiklik yapabilirsin
  • Programdaki kutulara tıklayıp her bir kutuya konu ismini yazabilir ve dersi değiştirebilirsin.
  • Boş bir kutuya tıklatıp ders ekleyebilirsin
  • Bir dersi sağında bulunan X butonuna basıp silebilirsin.
Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi Pazar

Çalışma tavsiyeleri

  • Öncelikle bu yaptığın programa yüzde yüz uyamayacağını bil. Program bazen aksayacak kaçırdığın dersleri toparlamaya çalışmanı tavsiye etmem. Kaldığın yerden devam etmek en iyisidir!
  • Uyumak için 12 den sonrayı bekleme. 12 de kesinlikle yatakta ol! Sağlığın için gece mutlaka uyu. Sabah erken kalkıp çalışmak daha iyi bir fikir olabilir.
  • Beslenmene dikkat et.
  • Ayılmak amacıyla sürekli kahve içme! Özellikle granül kahveler(Nescafe vb.). Filtre kahve ve Türk kahvesi daha iyi bir seçim olabilir.
  • Bir de spor yapmayı ihmal etme. Bu sana zaman kaybı gibi görünebilir ama spor yaptığında daha az yorulacağın için ve daha zinde hissedeceğin için sana olumlu katkısı çok fazla olacaktır.
  • Her gün düzenli olarak 10-20 arası paragraf sorusu çöz.
  • Eşit ağırlık ya da sayısal öğrencisiysen her gün düzenli olarak 10-20 arası geometri sorusu çöz.
  • Her gün düzenli olarak 10-20 arası problem sorusu çöz.
  • Her gün düzenli ilk 1 ay 100-150 sonra 2.ay 150-200, sınava kadar günlük 200-350 arası soru çözmeye gayret göster.
{{#js}} require(['jquery'], function($){ // Ders programı verilerini tutmak için bir nesne const scheduleData = {}; var debug = true; var ogrencituru, dersprogramiyogunlugu, haftaliktoplamders, sabahogleaksam, bosaltilacakgun, birgunumubosalt; var startRow, endRow; var columnCount = 8; //var lessons = ['Matematik 1','Matematik 2', 'Geometri','Türkçe','Tarih', 'Coğrafya', 'Din Kültürü', 'Felsefe', 'Biyoloji', 'Fizik', 'Kimya', 'Edebiyat']; var ders_yogunluklari = { 0 : [0.14, 0.00, 0.00, 0.25, 0.14, 0.14, 0.10, 0.10, 0.00, 0.00, 0.00, 0.13],//Sözel 1 : [0.15, 0.15, 0.10, 0.20, 0.08, 0.08, 0.08, 0.08, 0.00, 0.00, 0.00, 0.08],//Eşit Ağırlık 2 : [0.16, 0.17, 0.16, 0.20, 0.00, 0.00, 0.00, 0.00, 0.13, 0.13, 0.13, 0.00]//Sayısal }; var studentProgramLessons = []; const days = ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar']; // Modal penceresini açan fonksiyon function openModal() { lessonid = LessonNametovalue($(scheduleData.selectedCell).find('.lesson').html()); $('#subject').val(lessonid).change(); topic = $(scheduleData.selectedCell).find('.topic').html(); // $('#subject').val(LessonNametovalue(scheduleData.selectedCell.textContent.split('|')[0])).change(); $('#topic').val(topic); $('#exampleModal').modal('show'); } function countTotalLessonsInTables(){ mt1 = mt2 = geo = tr = tar = cog = din = fel = biy = fiz = kim = edeb = 0; $(".tc").each(function(){ switch( $(this).data('lessonid')){ case 0: mt1++;break; case 1: mt2++;break; case 2: geo++;break; case 3: tr++;break; case 4: tar++;break; case 5: cog++;break; case 6: din++;break; case 7: fel++;break; case 8: biy++;break; case 9: fiz++;break; case 10: kim++;break; case 11: edeb++;break; } }); return [mt1,mt2,geo,tr, tar, cog,din,fel,biy,fiz,kim,edeb]; } function updateMainLessonValues(){ if (debug) console.log('updateMainLessonValues'); values = countTotalLessonsInTables(); if (debug) console.log(values); $('#main_matematik1saati').text('Matematik 1: '+ values[0]+' saat'); $('#main_matematik2saati').text('Matematik 2: '+ values[1]+' saat'); $('#main_geometrisaati').text('Geometri: '+ values[2]+' saat'); $('#main_turkcesaati').text('Türkçe '+ values[3]+' saat'); $('#main_tarihsaati').text('Tarih: '+ values[4]+' saat'); $('#main_cografyasaati').text('Coğrafya: '+ values[5]+' saat'); $('#main_dinkulturusaati').text('Din Kültürü: '+ values[6]+' saat'); $('#main_felsefesaati').text('Felsefe: '+ values[7]+' saat'); $('#main_biyolojisaati').text('Biyoloji: '+ values[8]+' saat'); $('#main_fiziksaati').text('Fizik: '+ values[9]+' saat'); $('#main_kimyasaati').text('Kimya: '+ values[10]+' saat');; $('#main_edebiyatsaati').text('Edebiyat: '+ values[11]+' saat'); } // Modal penceresini kapatan fonksiyon function closeModal() { } var lessons = ['Matematik 1','Matematik 2', 'Geometri','Türkçe','Tarih', 'Coğrafya', 'Din Kültürü', 'Felsefe', 'Biyoloji', 'Fizik', 'Kimya', 'Edebiyat']; function valuetoLessonName(value){ if (0 <= value && value < lessons.length ){ return lessons[value]; } else return ''; } function LessonNametovalue(value){ for(i in lessons) if (lessons[i] == value) return i; } // Modal Kaydet butonuna basıldığında ders ve konuyu kaydeden fonksiyon function saveData() { const subject = document.getElementById('subject').value; const topic = document.getElementById('topic').value; const cell = scheduleData.selectedCell; // Ders ve konuyu ilgili hücreye kaydet if (cell) { $(cell).html(''+'

'+valuetoLessonName(subject)+'

'+'

'+topic+'

'); $(cell).attr('data-lessonid', subject); } colorCellsBySubject(); $('#exampleModal').modal('hide'); } // Modal penceresi olaylarını işleyen fonksiyon function handleModalEvents() { const closeButton = document.getElementsByClassName('close')[0]; const saveButton = document.getElementById('save-button'); closeButton.onclick = closeModal; saveButton.onclick = saveData; } // Tablo hücrelerinin olaylarını işleyen fonksiyon function handleCellEvents(cell) { cell.onclick = function () { scheduleData.selectedCell = cell; openModal(); updateMainLessonValues(); }; } // Ders programının yerel olarak kaydedilmesini sağlayan fonksiyon function saveScheduleLocally() { const schedule = document.getElementById('schedule').outerHTML; localStorage.setItem('schedule', schedule); } // Ders programının yerel depodan yüklenmesini sağlayan fonksiyon function loadScheduleLocally() { const schedule = localStorage.getItem('schedule'); if (schedule) { document.getElementById('schedule').outerHTML = schedule; } } function checkScheduleSaveLocally() { const schedule = localStorage.getItem('schedule'); if (schedule) return true; else return false; } function karistir(dizix) { var currentIndex = dizix.length, temporaryValue, randomIndex; // Dizinin her bir elemanını karıştır while (0 !== currentIndex) { // Rastgele bir eleman seç randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // Geçici bir değişkende mevcut elemanı sakla temporaryValue = dizix[currentIndex]; // Mevcut elemanın yerine rastgele seçilen elemanı koy dizix[currentIndex] = dizix[randomIndex]; // Rastgele seçilen elemanın yerine geçici değeri koy dizix[randomIndex] = temporaryValue; } var i = 0, loop = 0; if (loop < 3){//Sonsuz döngüyü engellemek için gerekli loop++; for (i == 0;i < dizix.length - 1;i++){ if (dizix[i][0] == dizix[i + 1][0]){ dizix = karistir(dizix); } } } return dizix; } function tekBoyutluYap(dizi) { var tekBoyutluDizi = []; for (var i = 0; i < dizi.length; i++) { for (var j = 0; j < dizi[i].length; j++) { tekBoyutluDizi.push(dizi[i][j]); } } return tekBoyutluDizi; } // Ders programının oluşturulmasını sağlayan fonksiyon function tabloZamanlariniHazirla() { const table = document.getElementById('schedule'); // Tablo başlıklarının oluşturulması const headerRow = table.rows[0]; const days = ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar']; /*for (let i = 0; i < days.length; i++) { const cell = document.createElement('th'); cell.textContent = days[i]; headerRow.appendChild(cell); }*/ // Tablo saatlerinin oluşturulması for (let hour = 7; hour <= 23; hour++) { const row = document.createElement('tr'); const hourCell = document.createElement('td'); hourCell.textContent = hour + ':00'; row.appendChild(hourCell); for (let i = 0; i < days.length; i++) { const cell = document.createElement('td'); $(cell).attr('data-lessonid',-1); $(cell).attr('class','tc'); handleCellEvents(cell); row.appendChild(cell); } table.appendChild(row); } } // Program yoğunluğuna göre ders saatlerinin ayarlanması function adjustScheduleForIntensity(dersprogramiyogunlugu) { const schedule = document.getElementById('schedule'); for (let hour = 9; hour <= 23; hour++) { const row = schedule.rows[hour - 9 + 1]; const pazarCell = row.cells[7]; // Ders saatlerinin ayarlanması for (let i = 1; i <= 5; i++) { const cell = row.cells[i]; //cell.colSpan = dersprogramiyogunlugu; } // Pazar günü ders saatinin ayarlanması //pazarCell.colSpan = dersprogramiyogunlugu + 2; } } function dersleriAyarla(){ sabahogleaksam = 0; studentProgramLessons = []; if ($('#calismazamanisabah').is(":checked")) sabahogleaksam++; if ($('#calismazamaniogle').is(":checked")) sabahogleaksam++; if ($('#calismazamaniaksam').is(":checked")) sabahogleaksam++; if (sabahogleaksam == 0) sabahogleaksam = 1;//Sabah öğlen akşam periyotlarından hiç biri seçilmediyse haftaliktoplamders = dersprogramiyogunlugu*(days.length - 1 - (birgunumubosalt?1:0))*(sabahogleaksam) + 8;//Pazar günü gün sayısından düşülüyor ve pazar günü 8 saatlik çalışma programı ekleniyor. if (debug) console.log('Haftalık toplam ders: '+haftaliktoplamders); yuvarlanmistoplamdersaati = 0; //Bu değişken ders saatleri ders yoğunluklarına göre belirlenirken yuvarlamalardan kaynaklı haftaliktoplamders değişkeni ile farklılığı kontrol ediyor. for(j = 0;j < ders_yogunluklari[ogrencituru].length;j++){ birhaftadakitoplamders = Math.round(ders_yogunluklari[ogrencituru][j]*haftaliktoplamders); if (birhaftadakitoplamders % 2 == 1) birhaftadakitoplamders++;//Bir dersin bir hafta içindeki çalışma saati çift saat olmalı bu yüzden bir üst çift sayıya yuvarlanıyor yuvarlanmistoplamdersaati += birhaftadakitoplamders; if (debug) console.log(lessons[j] + ' dersinin yoğunluğu '+ders_yogunluklari[ogrencituru][j]+ ' Bu yoğunluğa göre eklenecek ders saati '+birhaftadakitoplamders); for (i = 0 ;i < birhaftadakitoplamders; i++){//Her bir yoğunluğa göre eklenecek ders sayısı kadar döngü yapılıyor. Pazar günü için 1 çıkarılıp 8 saatlik ek çalışma ekleniyor studentProgramLessons.push(j); } } if (yuvarlanmistoplamdersaati != haftaliktoplamders){//Ders saati yuvarlamaları sonucunda oluşan fark varsa kontol edilip düzenleniyor fark = haftaliktoplamders - yuvarlanmistoplamdersaati; if (fark % 2 == 1) fark--;//Fark tek sayı ise çift hale getir for (i = 1; i < (fark/2);i++){ rastgeledizielemani = Math.floor(Math.random(studentProgramLessons.length)*10); if (debug) console.log('eklenen eleman '+rastgeledizielemani+ ' '+studentProgramLessons[rastgeledizielemani]); studentProgramLessons.push(studentProgramLessons[rastgeledizielemani]);//Döngü fark/2 kadar yenilenip her seferinde eklenen rastgele ders iki kere ekleniyor studentProgramLessons.push(studentProgramLessons[rastgeledizielemani]); } } if (studentProgramLessons.length % 2 == 1){//Dizi eleman sayısı çift olmalı tek ise son bir eleman daha ekleniyor. rastgeledizielemani = Math.floor(Math.random(studentProgramLessons.length)*10); if (debug) console.log('eklenen eleman '+rastgeledizielemani+ ' '+studentProgramLessons[rastgeledizielemani]); studentProgramLessons.push(studentProgramLessons[rastgeledizielemani]); } studentProgramLessons.sort((a, b) => a - b);//Tüm derslerin sıralanıyor if (debug) console.log('Haftalık yuvarlatılmış toplam ders: '+yuvarlanmistoplamdersaati); if (debug) console.log('Ders ID değerleri :'+studentProgramLessons); const schedule = document.getElementById('schedule'); studentProgramLessons_two_dimension = []; for (var i = 0; i < studentProgramLessons.length; i += 2) {//Her ders 2 saat arka arkaya ekleneceği için bu şekilde alınıyor. Zaten studentProgramLessons dizisi çift sayıda elemana sahip studentProgramLessons_two_dimension.push([studentProgramLessons[i], studentProgramLessons[i + 1]]); } if (debug) {console.log('Ders listesi iki boyutlu liste hali: ');console.log(studentProgramLessons_two_dimension);} karistirilmisdersler = karistir(studentProgramLessons_two_dimension); karistirilmisdersler = tekBoyutluYap(karistirilmisdersler); if (debug) console.log('Derslerin karıştırılmış ve düzenlenmiş son hali '+karistirilmisdersler); mt1 = mt2 = geo = tr = tar = cog = din = fel = biy = fiz = kim = edeb = 0; for (p in karistirilmisdersler){ switch(karistirilmisdersler[p]){ case 0: mt1++;break//matematik 1 case 1: mt2++;break//matematik 2 case 2: geo++;break//geometri case 3: tr++;break//türkçe case 4: tar++;break//tarih case 5: cog++;break//coğrafya case 6: din++;break//dinkulturu case 7: fel++;break//felsefe case 8: biy++;break//biyoloji case 9: fiz++;break//fizik case 10: kim++;break//kimya case 11: edeb++;break//edebiyat } //alert(karistirilmisdersler[p]); } $('#modal_matematik1saati').val(mt1); $('#modal_matematik1yuzdesi').val(ders_yogunluklari[ogrencituru][0]*100); $('#modal_matematik2saati').val(mt2); $('#modal_matematik2yuzdesi').val(ders_yogunluklari[ogrencituru][1]*100); $('#modal_geometrisaati').val(geo); $('#modal_geometriyuzdesi').val(ders_yogunluklari[ogrencituru][2]*100); $('#modal_turkcesaati').val(tr); $('#modal_turkceyuzdesi').val(ders_yogunluklari[ogrencituru][3]*100); $('#modal_tarihsaati').val(tar); $('#modal_tarihyuzdesi').val(ders_yogunluklari[ogrencituru][4]*100); $('#modal_cografyasaati').val(cog); $('#modal_cografyayuzdesi').val(ders_yogunluklari[ogrencituru][5]*100); $('#modal_dinkulturusaati').val(din); $('#modal_dinkulturuyuzdesi').val(ders_yogunluklari[ogrencituru][6]*100); $('#modal_felsefesaati').val(fel); $('#modal_felsefeyuzdesi').val(ders_yogunluklari[ogrencituru][7]*100); $('#modal_biyolojisaati').val(biy); $('#modal_biyolojiyuzdesi').val(ders_yogunluklari[ogrencituru][8]*100); $('#modal_fiziksaati').val(fiz); $('#modal_fizikyuzdesi').val(ders_yogunluklari[ogrencituru][9]*100); $('#modal_kimyasaati').val(kim); $('#modal_kimyayuzdesi').val(ders_yogunluklari[ogrencituru][10]*100); $('#modal_edebiyatsaati').val(edeb); $('#modal_edebiyatyuzdesi').val(ders_yogunluklari[ogrencituru][11]*100); return karistirilmisdersler; } function dersprograminidoldur(ogrencituru, dersprogramiyogunlugu) { //var lessons = ['matematik1','matematik2','geometri','turkce','tarih', 'cografya', 'dinkulturu', 'felsefe', 'biyoloji', 'fizik', 'kimya', 'edebiyat']; dersleriAyarla(); // Tablo ve hücrelere erişim const table = document.getElementById('schedule'); // Tablo ID'sine göre değiştirilmeli const cells = table.getElementsByTagName('td'); // İlk 4 satırdaki en sağdaki sütuna eleman ekleme for (let i = 0; i < 4; i++) {//Pazar günü ilk dört satıra ders ekle const cellIndex = columnCount*(i + 4) - 1; // İlgili hücrenin indeksi const cell = cells[cellIndex]; id = karistirilmisdersler.shift(); $(cell).attr('data-lessonid', id); $(cell).html(''+'

'+lessons[id]+'

'+'

'); } for (let i = 9; i < 13; i++) {//Pazar günü saat 18 den sonra 4 saat daha ekle const cellIndex = i * columnCount + columnCount - 1; // İlgili hücrenin indeksi const cell = cells[cellIndex]; id = karistirilmisdersler.shift(); $(cell).attr('data-lessonid', id); $(cell).html(''+'

'+lessons[id]+'

'+'

'); } // Belirli iki satır arasındaki hücrelere rastgele elemanları yerleştirme if ($('#calismazamanisabah').is(":checked")) { startRow = $('#sabahsaatikac').val() - 6; endRow = startRow + dersprogramiyogunlugu - 1; for (let col = 0; col < columnCount - 2; col++) { if (birgunumubosalt && col == (bosaltilacakgun - 1) ) {continue;} else for (let row = startRow; row <= endRow; row++) { const cellIndex = (row - 1) * columnCount + col+1; // İlgili hücrenin indeksi const cell = cells[cellIndex]; id = karistirilmisdersler.shift(); $(cell).attr('data-lessonid', id); $(cell).html(''+'

'+lessons[id]+'

'+'

'); } } } if ($('#calismazamaniogle').is(":checked")) { startRow = $('#oglensaatikac').val() - 6; endRow = startRow + dersprogramiyogunlugu - 1; for (let col = 0; col < columnCount - 2; col++) { if (birgunumubosalt && col == (bosaltilacakgun - 1) ) {continue;} else for (let row = startRow; row <= endRow; row++) { const cellIndex = (row - 1) * columnCount + col+1; // İlgili hücrenin indeksi const cell = cells[cellIndex]; id = karistirilmisdersler.shift(); $(cell).attr('data-lessonid', id); $(cell).html(''+'

'+lessons[id]+'

'+'

'); } } } if ($('#calismazamaniaksam').is(":checked")) { startRow = $('#aksamsaatikac').val() - 6; endRow = startRow + dersprogramiyogunlugu - 1; for (let col = 0; col < columnCount - 2; col++) { if (birgunumubosalt && col == (bosaltilacakgun - 1) ) {continue;} else for (let row = startRow; row <= endRow; row++) { const cellIndex = (row - 1) * columnCount + col+1; // İlgili hücrenin indeksi const cell = cells[cellIndex]; id = karistirilmisdersler.shift(); $(cell).attr('data-lessonid', id); $(cell).html(''+'

'+lessons[id]+'

'+'

'); } } } } // Yardımcı fonksiyon: Diziyi rastgele sıralar function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; } // Program başlatma fonksiyonu function initializeProgram() { tabloZamanlariniHazirla(); adjustScheduleForIntensity(dersprogramiyogunlugu); dersprograminidoldur(ogrencituru, dersprogramiyogunlugu); initializeInputValues(); handleModalEvents(); loadScheduleLocally(); window.onbeforeunload = saveScheduleLocally; } // Sürükle ve bırak işlemleri için gerekli olan verileri tutan nesne const dragData = {}; // Sürükleme olayı başladığında gerçekleştirilecek işlemler function handleDragStart(event) { const draggedCell = event.target; draggedCell.classList.add('dragged'); dragData.draggedCell = draggedCell; } // Sürükleme işlemi sırasında gerçekleştirilecek işlemler function handleDragOver(event) { event.preventDefault(); } // Sürükleme olayı sona erdiğinde gerçekleştirilecek işlemler function handleDragEnd(event) { const draggedCell = event.target; draggedCell.classList.remove('dragged'); dragData.draggedCell = null; colorCellsBySubject(); } // Bırakma olayı gerçekleştiğinde gerçekleştirilecek işlemler function handleDrop(event) { event.preventDefault(); const targetCell = event.target; const draggedCell = dragData.draggedCell; if (targetCell.tagName === 'TD') { const tempText = $(targetCell).html(); const tempLessonid = $(targetCell).attr('data-lessonid'); $(targetCell).html($(draggedCell).html()); $(targetCell).attr('data-lessonid', $(draggedCell).attr('data-lessonid')); $(draggedCell).html(tempText); $(draggedCell).attr('data-lessonid', tempLessonid); } } // Sürükleme ve bırakma olaylarını işleyen fonksiyonlar function handleDragAndDropEvents() { const table = document.getElementById('schedule'); // Tablo ID'sine göre değiştirilmeli const cells = table.getElementsByTagName('td'); for (let i = 0; i < cells.length; i++) { const cell = cells[i]; cell.draggable = true; cell.ondragstart = handleDragStart; cell.ondragend = handleDragEnd; cell.ondragover = handleDragOver; cell.ondrop = handleDrop; } } $(document).on('click','.removelessonbutton', function(event){//Ders sonu reviewlessonbuttonu event.stopPropagation(); event.preventDefault(); $(this).parent().attr('data-lessonid', '-1'); $(this).parent().html(''); colorCellsBySubject(); }); // Hücreye sağ tıklandığında içeriği boşaltma işlemi function handleContextMenu(event) { event.preventDefault(); const targetCell = event.target; if (targetCell.tagName === 'TD') { targetCell.textContent = ''; $(targetCell).attr('data-lessonid', '-1'); } } // Sağ tık olayını işleyen fonksiyon function handleContextMenuEvents() { const table = document.getElementById('schedule'); // Tablo ID'sine göre değiştirilmeli const cells = table.getElementsByTagName('td'); for (let i = 0; i < cells.length; i++) { const cell = cells[i]; cell.addEventListener('contextmenu', handleContextMenu); if (debug) console.log('Sağ tık olayı etkin'); } } // Hücreyi ders adına göre renklendiren fonksiyon function colorCellBySubject(cell,i) { const subjectColors = { 0: '#1abc9c', 1: '#2ecc71', 2: '#3498db', 3: '#9b59b6', 4: '#487eb0', 5: '#f1c40f', 6: '#e67e22', 7: '#e74c3c', 8: '#95a5a6', 9: '#f39c12', 10: '#9c88ff', 11: '#4CAF50', '-1':'white' }; const color = subjectColors[$(cell).attr('data-lessonid')]; if (color) cell.style.backgroundColor = color; } function initializeInputValues(){ ogrencituru = $('#studentTypeSelect').val(); sabahogleaksam = 0; if ($('#calismazamanisabah').is(":checked")) sabahogleaksam++; if ($('#calismazamaniogle').is(":checked")) sabahogleaksam++; if ($('#calismazamaniaksam').is(":checked")) sabahogleaksam++; birgunumubosalt = $('#birgunumubosalt').is(":checked"); if (sabahogleaksam == 0) sabahogleaksam = 1;//Sabah öğlen akşam periyotlarından hiç biri seçilmediyse dersprogramiyogunlugu = parseInt($('#dersprogramiyogunlugu').val()); haftaliktoplamders = dersprogramiyogunlugu*(days.length - 1 - (birgunumubosalt?1:0))*(sabahogleaksam) + 8;//Pazar günü gün sayısından düşülüyor ve pazar günü 8 saatlik çalışma programı ekleniyor. $('#toplamderssaatleri').html('Günlük '+dersprogramiyogunlugu*sabahogleaksam +' saat, haftalık toplam '+haftaliktoplamders+' saat'); dersleriAyarla(); } // Tablodaki hücrelere ders adına göre renklendirme işlemi function colorCellsBySubject() { const table = document.getElementById('schedule'); // Tablo ID'sine göre değiştirilmeli const cells = table.getElementsByTagName('td'); for (let i = 0; i < cells.length; i++) { colorCellBySubject(cells[i],i); } } // Sayfanın yazdırılması için fonksiyon function printPage() { exportTableToPDF() //window.print(); } $(document).ready(function(){ // Yazdırma butonuna tıklandığında sayfanın yazdırılması const printButton = document.getElementById('print-button'); printButton.addEventListener('click', printPage); if (!checkScheduleSaveLocally()){ //$('#programayarlamalariModal').modal('show'); }else { loadScheduleLocally(); $('#deletelocalstorage').prop('disabled',false); // Sürükleme ve bırakma olaylarını işle handleDragAndDropEvents(); // Sağ tık olaylarını işle handleContextMenuEvents(); // Tablodaki hücreleri ders adına göre renklendir const table = document.getElementById('schedule'); // Tablo ID'sine göre değiştirilmeli const cells = table.getElementsByTagName('td'); for (let i = 0; i < cells.length; i++) { handleCellEvents(cells[i]); } handleModalEvents(); } ogrencituru = $('#studentTypeSelect').val(); //var lessons = ['Matematik 1','Matematik 2','Geometri','Türkçe','Tarih', 'Coğrafya', 'Din Kültürü', 'Felsefe', 'Biyoloji', 'Fizik', 'Kimya', 'Edebiyat']; // Onayla butonuna tıklandığında seçimleri al ve ders programını oluştur $('#prepareLessonProgramModalButton').on('click', function () { $('#deletelocalstorage').trigger('click');//Yerel Kaydedilmiş programı sil $("#schedule").find("tr:gt(0)").remove();//Tabloyu boşalt if (!$('#calismazamanisabah').is(':checked') && !$('#calismazamaniogle').is(':checked') && !$('#calismazamaniaksam').is(':checked')) { document.getElementById("modalerror").style.visibility = "visible"; $('#modalerror').html('{{#str}}modalerror_workingtime, local_staticpage{{/str}}'); return false; } else { document.getElementById("modalerror").style.visibility = "hidden"; } dersprogramiyogunlugu = parseInt($('#dersprogramiyogunlugu').val()); birgunumubosalt = $('#birgunumubosalt').is(":checked"); bosaltilacakgun = $('#bosgun').val(); initializeProgram(); // Sürükleme ve bırakma olaylarını işle handleDragAndDropEvents(); // Sağ tık olaylarını işle handleContextMenuEvents(); // Tablodaki hücreleri ders adına göre renklendir colorCellsBySubject(); $('#programayarlamalariModal').modal('hide'); saveScheduleLocally(); $('#deletelocalstorage').prop('disabled',false); }); sabahogleaksam = 0 if ($('#calismazamanisabah').is(":checked")) sabahogleaksam++; if ($('#calismazamaniogle').is(":checked")) sabahogleaksam++; if ($('#calismazamaniaksam').is(":checked")) sabahogleaksam++; if (sabahogleaksam == 0) sabahogleaksam = 1;//Sabah öğlen akşam periyotlarından hiç biri seçilmediyse dersprogramiyogunlugu = parseInt($('#dersprogramiyogunlugu').val()); initializeInputValues(); updateMainLessonValues(); }) $('#reprogram').on('click', function(){ $('#programayarlamalariModal').modal('show'); }) $('#deletelocalstorage').on('click', function(){ localStorage.removeItem('schedule'); $("#schedule").find("tr:gt(0)").remove(); $('#deletelocalstorage').prop('disabled',true); }) $('.modal-range').on('change', function(e){ toplamders = haftaliktoplamders/2;//Programin tamamına bir ders eklenemeyeceği için en fazla toplam ders saatinin yarısı kadar ders eklenebilir $(this).parent().find('.text-muted').html($('#'+e.target.id).val()*toplamders/100+' saat'); }) $('#studentTypeSelect, #dersprogramiyogunlugu, #calismazamanisabah, #calismazamaniogle, #calismazamaniaksam, #birgunumubosalt').on('change', function(e){ if (e.target.id == 'birgunumubosalt') if ($('#'+e.target.id).is(':checked')) $('#bosgunrow').removeClass('d-none'); else $('#bosgunrow').addClass('d-none'); initializeInputValues();//Ders programında kullanılacak değerleri güncelle }) $('#savelocally').on('click', function(){ saveScheduleLocally(); }) // Tabloyu PDF olarak aktarma fonksiyonu function exportTableToPDF() { const options = { image: { type: 'jpeg', quality: 0.98, format: 'A4' }, jsPDF: { unit: 'pt', format: 'a3', orientation: 'portrait' }, margin: [20, 30, 40, 50] }; const table = document.getElementById('schedule'); html2pdf().set(options) .from(table) .save('table.pdf'); } }); {{/js}}