}\r
\r
function schedulerGetLeases(slotSpan, granularity) {\r
+ granularity = granularity / 60;\r
if (slotSpan == 0) slotSpan = 10;\r
var slots = [];\r
var d = new Date(2014, 1, 1, 0, 0, 0, 0);\r
//\r
//GetSlotId from time\r
function schedulerGetSlotId(startTime, duration, granularity) {\r
+ //granularity in seconds\r
startTime = parseInt(startTime);\r
var d = new Date(startTime * 1000);\r
var timespan = 60 / schedulerSlotsPerHour;\r
slotid += d.getMinutes() / timespan;\r
return slotid;\r
}\r
+//\r
+//GetSlotId from time\r
+function schedulerGetDateTimeFromSlotId(slotId, tmpDateTime) {\r
+ \r
+ var timespan = 60 / schedulerSlotsPerHour;\r
+ var totalMinutes = slotId * timespan;\r
+ var totalHours = totalMinutes / 60;\r
+ if (totalHours >= 1) {\r
+ totalHours = Math.floor(totalHours);\r
+ totalMinutes = totalMinutes - totalHours * 60;\r
+ } else {\r
+ totalHours = 0;\r
+ }\r
+ tmpDateTime.setHours(totalHours, totalMinutes, 0, 0);\r
+\r
+ return tmpDateTime;\r
+}\r
+//\r
+//GetSlotId from time\r
+function schedulerFindDuration(startTime, endTime, granularity) {\r
+ var duration = 0;\r
+ var fd = new Date(startTime * 1000);\r
+ var td = new Date(endTime * 1000);\r
+ while (fd < td) {\r
+ duration++;\r
+ fd.setMinutes(fd.getMinutes() + granularity);\r
+ }\r
+ return duration;\r
+}\r
\r
+//\r
+// Set Select - Free Slots *******Start\r
function schedulerSelectSlot(slotId, rowIndex, resourceIndex) {\r
- SchedulerDataViewData[rowIndex].leases[slotId].status = 'selected';\r
- SchedulerData[resourceIndex].leases[slotId].status = 'selected';\r
+ console.log('timeslot selected');\r
+ _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'selected');\r
}\r
function schedulerFreeSlot(slotId, rowIndex, resourceIndex) {\r
- SchedulerDataViewData[rowIndex].leases[slotId].status = 'free';\r
- SchedulerData[resourceIndex].leases[slotId].status = 'free';\r
+ _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'free');\r
+}\r
+\r
+function _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, classText) {\r
+ var tmpVS = SchedulerDataViewData[rowIndex].leases[slotId]; // for the display\r
+ var tmpS = SchedulerData[resourceIndex].leases[slotId]; // for the data\r
+ console.log(SchedulerData[resourceIndex].id);\r
+ tmpVS.status = classText;\r
+ tmpS.status = classText;\r
+ //select other from the group in the same granularity\r
+ var slotSpan = 60 / schedulerSlotsPerHour;\r
+ var maxg = (SchedulerData[resourceIndex].granularity / 60) / slotSpan;\r
+\r
+ var startSlotId = tmpVS.groupIndex == 0 ? 0 : slotId - tmpVS.groupIndex;\r
+ for (var s = 0; s < maxg; s++) {\r
+ if (tmpVS.groupIndex != s) {\r
+ SchedulerDataViewData[rowIndex].leases[startSlotId].status = classText;\r
+ SchedulerData[resourceIndex].leases[startSlotId].status = classText;\r
+ }\r
+ startSlotId++;\r
+ }\r
+\r
}\r
+//\r
+// Set Select - Free Slots *******End\r
+\r
//\r
//Find Resource By Id\r
function schedulerFindResourceById(Resources, id) {\r
} else if (dateOne > dateTwo) {\r
return -1;\r
} else {\r
- return 0;\r
+ return 1;\r
}\r
\r
-}
\ No newline at end of file
+}\r