"Disapearing" Color Bars in Time Line View

1 reply. Last post: March 11, 2013 4:48 AM by Hans Kristian
Tags :
  • (None)
Frank GaryMember

Gentlemen,

In my webscheduler time line view, I have the time range set from 7am to 12am midnight.

I have recently discovered a problem where users are somehow able to drag resource color bars where the color bars end up before 7am, and before the visible area of the time line view. This is creating problems as the record exists in the database from say 3am to 6am, but does not appear on the timeline view screen.

How can I prevent this from happening?

Thanks - Frank

Answers

Hello,

Thank you for the question.

I use WebScheduler samples, ViewMode_Timeline_Day15Minutes.aspx sample, to replicate your issue on my end.
I attach the video about the result that I get when I am trying to reproduce your issue.
I drag one event to the area before the visible start time of the timeline view.
Please kindly have review on the video and please let me know whether you get the same issue or not.

In order to prevent the event disappear from WebScheduler, you could add validation code on Before Add client side event.
I made the example validation code that you might try to use. Here’s the snippet example validation code:

function WebScheduler1_OnBeforeEdit(controlId, evt){
    var WebScheduler1 = ISGetObject(controlId);
    //Get Start Time of the selected event
    var evtStartTimeHours = evt.StartTime.getHours();
    var evtStartTimeMinutes = evt.StartTime.getMinutes();
    var evtStartTimeString = evtStartTimeHours.toString() + evtStartTimeMinutes.toString();
    if (evtStartTimeMinutes.toString() == "0")
        evtStartTimeString = evtStartTimeString + "0";
    var evtStartTimeInt = parseInt(evtStartTimeString, 10);
    //Get End Time of the selected event
    var evtEndTimeHours = evt.EndTime.getHours();
    var evtEndTimeMinutes = evt.EndTime.getMinutes();
    var evtEndTimeString = evtEndTimeHours.toString() + evtEndTimeMinutes.toString();
    if (evtEndTimeMinutes.toString() == "0")
        evtEndTimeString = evtEndTimeString + "0";
    var evtEndTimeInt = parseInt(evtEndTimeString, 10);
    //Get Start Time of the Timeline View Settings
    var startTime = WebScheduler1.ViewSettings.TimelineView.StartTime;
    var startTimeSplit = startTime.split("t")[1];
    var startTimeInt = parseInt(startTimeSplit, 10);
    //Get End Time of the Timeline View Settings
    var endTime = WebScheduler1.ViewSettings.TimelineView.EndTime;
    var endTimeSplit = endTime.split("t")[1];
    var endTimeInt = parseInt(endTimeSplit, 10);
    if (evtStartTimeInt < startTimeInt || evtEndTimeInt > endTimeInt)
        return false;
    else
        return true;
            
}

I also modify the ViewMode_Timeline_Day15Minutes.aspx sample by adding the validation code.
Please also kindly have review on the sample to see how to implement the code.

Hope this helps and please correct me if I wrong.

Regards,
Hans.

2 attachments

All Replies

Hello,

Thank you for the question.

I use WebScheduler samples, ViewMode_Timeline_Day15Minutes.aspx sample, to replicate your issue on my end.
I attach the video about the result that I get when I am trying to reproduce your issue.
I drag one event to the area before the visible start time of the timeline view.
Please kindly have review on the video and please let me know whether you get the same issue or not.

In order to prevent the event disappear from WebScheduler, you could add validation code on Before Add client side event.
I made the example validation code that you might try to use. Here’s the snippet example validation code:

function WebScheduler1_OnBeforeEdit(controlId, evt){
    var WebScheduler1 = ISGetObject(controlId);
    //Get Start Time of the selected event
    var evtStartTimeHours = evt.StartTime.getHours();
    var evtStartTimeMinutes = evt.StartTime.getMinutes();
    var evtStartTimeString = evtStartTimeHours.toString() + evtStartTimeMinutes.toString();
    if (evtStartTimeMinutes.toString() == "0")
        evtStartTimeString = evtStartTimeString + "0";
    var evtStartTimeInt = parseInt(evtStartTimeString, 10);
    //Get End Time of the selected event
    var evtEndTimeHours = evt.EndTime.getHours();
    var evtEndTimeMinutes = evt.EndTime.getMinutes();
    var evtEndTimeString = evtEndTimeHours.toString() + evtEndTimeMinutes.toString();
    if (evtEndTimeMinutes.toString() == "0")
        evtEndTimeString = evtEndTimeString + "0";
    var evtEndTimeInt = parseInt(evtEndTimeString, 10);
    //Get Start Time of the Timeline View Settings
    var startTime = WebScheduler1.ViewSettings.TimelineView.StartTime;
    var startTimeSplit = startTime.split("t")[1];
    var startTimeInt = parseInt(startTimeSplit, 10);
    //Get End Time of the Timeline View Settings
    var endTime = WebScheduler1.ViewSettings.TimelineView.EndTime;
    var endTimeSplit = endTime.split("t")[1];
    var endTimeInt = parseInt(endTimeSplit, 10);
    if (evtStartTimeInt < startTimeInt || evtEndTimeInt > endTimeInt)
        return false;
    else
        return true;
            
}

I also modify the ViewMode_Timeline_Day15Minutes.aspx sample by adding the validation code.
Please also kindly have review on the sample to see how to implement the code.

Hope this helps and please correct me if I wrong.

Regards,
Hans.

2 attachments
All times are GMT -5. The time now is 11:09 AM.
Previous Next