|
@(Html.EJS().Schedule("schedule")
.FirstDayOfWeek(1) //query 1
.Width("100%")
.Height("550px")
.SelectedDate(new DateTime(2018, 4, 24))
.Group(group => group.Resources(ViewBag.Resources))
.Resources(res =>
{
res.DataSource(ViewBag.Conferences)
.Field("ConferenceId")
.Title("Attendees")
.Name("Conferences")
.TextField("text")
.IdField("id")
.ColorField("color")
.Add();
})
.ResourceHeaderTemplate("#resourceTemplate") //query 2
.EventSettings(es =>
es.Template("#EventTemplate") //query 4
.DataSource(dataManager =>
{
dataManager.Url("/Home/LoadData")
.CrudUrl("/Home/UpdateData")
.CrossDomain(true)
.Adaptor("UrlAdaptor");
})
.Query("new ej.data.Query().from('Events').addParams('View', 'Week')")
)
.ActionComplete("actionComplete") //query 3
.Render()
) |
|
<div>
@(Html.EJS().Schedule("schedule")
.FirstDayOfWeek(1) //query 1
.Width("100%")
.Height("550px")
.CurrentView(View.TimelineWeek)
.Views(view =>
{
view.Option(View.TimelineDay).Add();
view.Option(View.TimelineWeek).Add();
view.Option(View.TimelineWorkWeek).Add();
view.Option(View.TimelineMonth).Add();
view.Option(View.Agenda).Add();
})
.TimeScale(ts => ts.Enable(true).Interval(1440).SlotCount(2))
.SelectedDate(new DateTime(2018, 4, 24))
.Group(group => group.Resources(ViewBag.Resources))
.Resources(res =>
{
res.DataSource(ViewBag.Conferences)
.Field("ConferenceId")
.Title("Attendees")
.Name("Conferences")
.TextField("text")
.IdField("id")
.ColorField("color")
.Add();
})
.ResourceHeaderTemplate("#resourceTemplate") //query 2
.EventSettings(es =>
es.Template("#EventTemplate") //query 4
.DataSource(dataManager =>
{
dataManager.Url("/Home/LoadData")
.CrudUrl("/Home/UpdateData")
.CrossDomain(true)
.Adaptor("UrlAdaptor");
})
.Query("new ej.data.Query().from('Events').addParams('View', 'Week')")
)
.ActionComplete("actionComplete") //query 3
.Render()
)
</div>
<script id="resourceTemplate" type="text/x-template">
<div class='template-wrap'>
<div class="resource-details">
<div class="resource-name">${getEmployeeName(data)}</div>
<div class="resource-name">${getEmployeeDesignation(data)}</div>
</div>
</div>
</script>
<script type="text/javascript">
//query 3
function actionComplete(args) {
if (args.requestType == "viewNavigate") {
var schObj = document.querySelector('.e-schedule').ej2_instances[0];
schObj.eventSettings.query.params[0].value = schObj.currentView;
schObj.refreshEvents();
}
}
var instance = new ej.base.Internationalization();
function getTimeString(value) {
return instance.formatDate(value, { skeleton: 'hm' });
}
window.getEmployeeName = function (value) {
return (value.resourceData) ? value.resourceData[value.resource.textField] : value.resourceName;
};
window.getEmployeeDesignation = function (value) {
var resourceName = window.getEmployeeName(value);
return (resourceName === 'Margaret') ? 'Sales Representative' : (resourceName === 'Robert') ?
'Vice President, Sales' : 'Inside Sales Coordinator';
};
</script> |
|
<div>
@(Html.EJS().Schedule("schedule")
.FirstDayOfWeek(1) //query 1
.Width("100%")
.Height("550px")
.CurrentView(View.TimelineWeek)
.Views(view =>
{
view.Option(View.TimelineDay).Add();
view.Option(View.TimelineWeek).Add();
view.Option(View.TimelineWorkWeek).Add();
view.Option(View.TimelineMonth).Add();
view.Option(View.Agenda).Add();
})
.TimeScale(ts => ts.Enable(true).Interval(1440).SlotCount(2))
.SelectedDate(new DateTime(2018, 4, 24))
.Group(group => group.Resources(ViewBag.Resources))
.Resources(res =>
{
res.DataSource(ViewBag.Conferences)
.Field("ConferenceId")
.Title("Attendees")
.Name("Conferences")
.TextField("text")
.IdField("id")
.ColorField("color")
.Add();
})
.ResourceHeaderTemplate("#resourceTemplate") //query 2
.EventSettings(es =>
es.Template("#EventTemplate") //query 4
.DataSource(dataManager =>
{
dataManager.Url("/Home/LoadData")
.CrudUrl("/Home/UpdateData")
.CrossDomain(true)
.Adaptor("UrlAdaptor");
})
.Query("new ej.data.Query().from('Events').addParams('View', 'Week')")
)
.ActionComplete("actionComplete") //query 3
.Render()
)
</div>
@*query 4*@
<script id="EventTemplate" type="text/x-template">
<div class='template-wrap'>
<div class="subject">${Subject}</div>
<div class="time">Time: ${getTimeString(data.StartTime)} - ${getTimeString(data.EndTime)}</div>
</div>
</script>
<script type="text/javascript">
//query 3
function actionComplete(args) {
if (args.requestType == "viewNavigate") {
var schObj = document.querySelector('.e-schedule').ej2_instances[0];
schObj.eventSettings.query.params[0].value = schObj.currentView;
schObj.refreshEvents();
}
}
var instance = new ej.base.Internationalization();
function getTimeString(value) {
return instance.formatDate(value, { skeleton: 'hm' });
}
window.getEmployeeName = function (value) {
return (value.resourceData) ? value.resourceData[value.resource.textField] : value.resourceName;
};
window.getEmployeeDesignation = function (value) {
var resourceName = window.getEmployeeName(value);
return (resourceName === 'Margaret') ? 'Sales Representative' : (resourceName === 'Robert') ?
'Vice President, Sales' : 'Inside Sales Coordinator';
};
</script> |
|
function Navigating(args) {
if (args.action == "view") {
this.eventSettings.query.params[0].value = args.currentView;
}
} |