If I disable edit.destroy, in popup details the delete button is still visible...
To solve the problem, I remove the button in the edit event, but is there any another solution? Am I doing something wrong?
<!-- JAVASCRIPT -->
$(function () {
$("#scheduler").kendoScheduler({
startTime: new Date("2013/1/1 00:00"),
editable: {
template: $("#editor").html(),
destroy: false,
update: true,
create: false,
confirmation: false
},
date: new Date(),
workDayStart: new Date("2013/1/1 09:00"),
workDayEnd: new Date("2013/1/1 19:00"),
height: 500,
timezone: "Etc/UTC",
views: [
"day",
"week",
{ type: "month", selected: true },
{
type: "agenda",
eventTimeTemplate: $("#event-time-template").html()
}
],
dataSource: {
transport: {
read: {
url: "@Url.Action("Read", "Agenda")",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST"
},
update: {
url: "@Url.Action("Update", "Agenda")",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST"
},
parameterMap: function (options, operation) {
if (operation === "read") {
var scheduler = $("#scheduler").data("kendoScheduler");
var result = {
start: scheduler.view().startDate(),
end: scheduler.view().endDate()
}
return kendo.stringify(result);
}
return kendo.stringify(options);
}
},
serverFiltering: true,
schema: {
model: {
id: "taskID",
fields: {
taskID: { from: "TaskID", type: "number" },
title: { from: "Title", defaultValue: "No title", validation: { required: true } },
titleClean: { from: "TitleClean", defaultValue: "Desconhecido" },
start: { type: "date", from: "Start" },
end: { type: "date", from: "End" },
startTimezone: { from: "StartTimezone" },
endTimezone: { from: "EndTimezone" },
description: { from: "Description" },
recurrenceId: { from: "RecurrenceID" },
recurrenceRule: { from: "RecurrenceRule" },
recurrenceException: { from: "RecurrenceException" },
ownerId: { from: "OwnerID", defaultValue: -1 },
isAllDay: { type: "boolean", from: "IsAllDay" },
}
}
},
error: function (e) {
alert("Erro."); // displays "Invalid query"
},
},
edit: function (e) {
$('a.k-button.k-scheduler-delete').remove();
}
});
});
<!-- Template -- >
<script id="editor" type="text/x-kendo-template">
<div class="container">
<h3><a href="/Agenda/Details/#:data.titleClean#">Event #:data.title#</a></h3>
<p>
<label>Name: </label> #:data.description#
</p>
<p>
<label>Begin: <input data-role="datetimepicker" name="start" /></label>
</p>
<p>
<label>End: <input data-role="datetimepicker" name="end" /></label>
</p>
</div>
</script>
To solve the problem, I remove the button in the edit event, but is there any another solution? Am I doing something wrong?
<!-- JAVASCRIPT -->
$(function () {
$("#scheduler").kendoScheduler({
startTime: new Date("2013/1/1 00:00"),
editable: {
template: $("#editor").html(),
destroy: false,
update: true,
create: false,
confirmation: false
},
date: new Date(),
workDayStart: new Date("2013/1/1 09:00"),
workDayEnd: new Date("2013/1/1 19:00"),
height: 500,
timezone: "Etc/UTC",
views: [
"day",
"week",
{ type: "month", selected: true },
{
type: "agenda",
eventTimeTemplate: $("#event-time-template").html()
}
],
dataSource: {
transport: {
read: {
url: "@Url.Action("Read", "Agenda")",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST"
},
update: {
url: "@Url.Action("Update", "Agenda")",
dataType: "json",
contentType: "application/json; charset=utf-8",
type: "POST"
},
parameterMap: function (options, operation) {
if (operation === "read") {
var scheduler = $("#scheduler").data("kendoScheduler");
var result = {
start: scheduler.view().startDate(),
end: scheduler.view().endDate()
}
return kendo.stringify(result);
}
return kendo.stringify(options);
}
},
serverFiltering: true,
schema: {
model: {
id: "taskID",
fields: {
taskID: { from: "TaskID", type: "number" },
title: { from: "Title", defaultValue: "No title", validation: { required: true } },
titleClean: { from: "TitleClean", defaultValue: "Desconhecido" },
start: { type: "date", from: "Start" },
end: { type: "date", from: "End" },
startTimezone: { from: "StartTimezone" },
endTimezone: { from: "EndTimezone" },
description: { from: "Description" },
recurrenceId: { from: "RecurrenceID" },
recurrenceRule: { from: "RecurrenceRule" },
recurrenceException: { from: "RecurrenceException" },
ownerId: { from: "OwnerID", defaultValue: -1 },
isAllDay: { type: "boolean", from: "IsAllDay" },
}
}
},
error: function (e) {
alert("Erro."); // displays "Invalid query"
},
},
edit: function (e) {
$('a.k-button.k-scheduler-delete').remove();
}
});
});
<!-- Template -- >
<script id="editor" type="text/x-kendo-template">
<div class="container">
<h3><a href="/Agenda/Details/#:data.titleClean#">Event #:data.title#</a></h3>
<p>
<label>Name: </label> #:data.description#
</p>
<p>
<label>Begin: <input data-role="datetimepicker" name="start" /></label>
</p>
<p>
<label>End: <input data-role="datetimepicker" name="end" /></label>
</p>
</div>
</script>