onActionBegin(args) {
console.log('onActionBegin', args, new Date())
if (args.requestType === "dateNavigate") {
if (typeof this.scheduleObj !== 'undefined') {
setTimeout(() => {
this.funRefreshWorkHours()
this.scheduleObj.scrollTo(defTimeScrollTo)
}, 1000)
}
}
if (args.requestType === 'eventCreate') {
let data = args.data instanceof Array ? args.data[0] : args.data;
if (data.Subject.trim() !== '' && data.Subject !== 'Add title') {
let m_dtMeetingStartDate = getDateFormat(new Date(data.StartTime), new Date(data.StartTime));
let m_dtMeetingEndDate = getDateFormat(new Date(data.EndTime), new Date(data.EndTime));
let meetingdata = {
user_id: this.props.authUser,
meeting_title: data.Subject,
meeting_start_date: m_dtMeetingStartDate,
meeting_end_date: m_dtMeetingEndDate,
is_self_meeting: 'Y',
meetingmode: this.props.category_name === ACTUAL_MEETING ? "A" : "P",
is_full_day: data.IsAllDay === 1 || data.IsAllDay === true ? "1" : null
};
setTimeout(() => { this.props.saveMeeting(meetingdata); }, 0)
// getNotify(SUCCESS, Meeting_Saved_Successfully)
args.cancel = true;
}
else {
args.cancel = true;
getNotify(ERROR, Please_Enter_Meeting_Title)
}
}
if (args.requestType === "eventChange") {
let data = args.data instanceof Array ? args.data[0] : args.data;
switch (data.MeetingMode) {
case "P":
if (data.EditDeleteAccess === 'N') {
getNotify(ERROR, You_Cannot_Change_The_Meeting_Details)
args.cancel = true;
return false;
}
if ((data.StartTime).getTime() < getCurrentDate(new Date()).getTime() || (data.EndTime).getTime() < getCurrentDate(new Date()).getTime()) {
getNotify(ERROR, For_Plan_Meeting_Start_Time_And_End_Time_Must_Be_Greater_Than_Current_Time)
args.cancel = true;
return false;
}
break;
case "A":
if ((data.StartTime).getTime() > getCurrentDate(new Date()).getTime() || (data.EndTime).getTime() > getCurrentDate(new Date()).getTime()) {
getNotify(ERROR, For_Actual_Meeting_Start_Time_And_End_Time_Must_Be_Less_Than_Current_Time)
args.cancel = true;
return false;
} else if (defActualDays > 0) {
let days = getDiffDays((data.StartTime), getCurrentDate(new Date()))
if (days > defActualDays) {
args.cancel = true;
getNotify(WARNING, 'You can only drag ' + defActualDays.toString() + ' days before actula meeting.')
return;
}
} else {
args.cancel = true;
getNotify(WARNING, You_Cannot_Add_Meeting_In_Actual_Section)
return;
}
break;
default:
}
let m_dtMeetingStartDate = getDateFormat((data.StartTime), (data.StartTime));
let m_dtMeetingEndDate = getDateFormat((data.EndTime), (data.EndTime));
let m_iMeeting_id = data.MeetingId;
let meetingdata = {
user_id: this.props.authUser,
meeting_start_date: m_dtMeetingStartDate,
meeting_end_date: m_dtMeetingEndDate,
meeting_id: m_iMeeting_id,
is_drag_meeting: 'Y',
meetingmode: data.MeetingMode
};
// this.scheduleObj.eventSettings.dataSource.forEach(item => {
// if (item.MeetingId === data.MeetingId) {
// console.log('Drag', new Date(item.StartTime), (data.StartTime))
// console.log('Drop', new Date(item.EndTime), (data.EndTime))
// item.StartTime = (data.StartTime);
// item.EndTime = (data.EndTime);
// }
// })
this.props.saveMeeting(meetingdata);
// getNotify(SUCCESS, Meeting_Saved_Successfully)
}
}
onActionComplete(args) {
console.log("args",args);
// removeClass(args.element.childNodes, "e-navigate");
if (typeof this.scheduleObj.activeView !== 'undefined') {
let blnCheck = false
let dates = [];
if (this.scheduleObj.activeView.viewClass !== 'e-agenda-view') {
dates = [addDays(this.scheduleObj.activeView.renderDates[0], 0), addDays(this.scheduleObj.activeView.renderDates[0],6)]
} else {
dates = this.scheduleObj.activeView.renderDates
}
dates.forEach(element => {
if (!((this.startDate).getTime() <= getCurrentDate(element).getTime() &&
(this.endDate).getTime() >= getCurrentDate(element).getTime())) {
blnCheck = true
}
})
if (blnCheck) {
this.startDate = getCurrentDate(dates[0])
this.endDate = getCurrentDate(dates[dates.length - 1])
}
if (blnCheck) {
console.log('onActionComplete', this.startDate, this.endDate)
let m_noStartDate = Math.floor(new Date((this.startDate).getTime() / 1000.0))
let m_noEndDate = Math.floor(new Date((this.endDate).getTime() / 1000.0))
this.funRefreshReport(m_noStartDate, m_noEndDate, this.props.category_name, 0)
}
}
}