mirror of
https://github.com/hanzoai/jube-fork.git
synced 2026-11-03 01:01:41 +00:00
261 lines
10 KiB
HTML
Executable File
261 lines
10 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Events</title>
|
|
<meta charset="utf-8">
|
|
<link href="../content/shared/styles/examples-offline.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.common.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.rtl.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.default.min.css" rel="stylesheet">
|
|
<link href="../../styles/kendo.default.mobile.min.css" rel="stylesheet">
|
|
<script src="../../js/jquery.min.js"></script>
|
|
<script src="../../js/jszip.min.js"></script>
|
|
<script src="../../js/kendo.all.min.js"></script>
|
|
<script src="../content/shared/js/console.js"></script>
|
|
<script>
|
|
|
|
</script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<a class="offline-button" href="../index.html">Back</a>
|
|
|
|
<div id="example">
|
|
<div id="gantt"></div>
|
|
|
|
<script>
|
|
function onChange(e) {
|
|
var gantt = e.sender;
|
|
var selection = gantt.select();
|
|
|
|
if (selection.length) {
|
|
var dataItem = gantt.dataItem(selection);
|
|
kendoConsole.log("Gantt selection change :: " + dataItem.title);
|
|
}
|
|
}
|
|
|
|
function onAdd(e) {
|
|
kendoConsole.log("Task added");
|
|
}
|
|
|
|
function onEdit(e) {
|
|
kendoConsole.log("Task about to be edited :: " + e.task.title);
|
|
}
|
|
|
|
function onCancel(e) {
|
|
kendoConsole.log("Cancel task edit :: " + e.task.title);
|
|
}
|
|
|
|
function onRemove(e) {
|
|
if (e.task) {
|
|
kendoConsole.log("Task removed :: " + e.task.title);
|
|
} else {
|
|
kendoConsole.log("Dependancy removed");
|
|
}
|
|
}
|
|
|
|
function onSave(e) {
|
|
kendoConsole.log("Task saved :: " + e.task.title);
|
|
}
|
|
|
|
function onDataBound() {
|
|
kendoConsole.log("Gantt data bound");
|
|
}
|
|
|
|
function onDataBinding() {
|
|
kendoConsole.log("Gantt data binding");
|
|
}
|
|
|
|
function onNavigate(e) {
|
|
kendoConsole.log(kendo.format("navigate:: view:{0};", e.view));
|
|
}
|
|
|
|
function onMoveStart(e) {
|
|
kendoConsole.log("moveStart");
|
|
}
|
|
|
|
function onMove(e) {
|
|
kendoConsole.log("move");
|
|
}
|
|
|
|
function onMoveEnd(e) {
|
|
kendoConsole.log("moveEnd");
|
|
}
|
|
|
|
function onResizeStart(e) {
|
|
kendoConsole.log("resizeStart");
|
|
}
|
|
|
|
function onResize(e) {
|
|
kendoConsole.log("resize");
|
|
}
|
|
|
|
function onResizeEnd(e) {
|
|
kendoConsole.log("resizeEnd");
|
|
}
|
|
|
|
function onColumnResize(e) {
|
|
kendoConsole.log(e.column[0].title + " column resized");
|
|
}
|
|
|
|
function onColumnHide(e) {
|
|
kendoConsole.log(e.column.title + " column has been hidden");
|
|
}
|
|
|
|
function onColumnShow (e) {
|
|
kendoConsole.log(e.column.title + " column has been shown");
|
|
}
|
|
|
|
function onColumnReorder(e) {
|
|
kendoConsole.log(e.column.title + " column reordered");
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
var serviceRoot = "https://demos.telerik.com/kendo-ui/service";
|
|
var tasksDataSource = new kendo.data.GanttDataSource({
|
|
transport: {
|
|
read: {
|
|
url: serviceRoot + "/GanttTasks",
|
|
dataType: "jsonp"
|
|
},
|
|
update: {
|
|
url: serviceRoot + "/GanttTasks/Update",
|
|
dataType: "jsonp",
|
|
timeout: 5000
|
|
},
|
|
destroy: {
|
|
url: serviceRoot + "/GanttTasks/Destroy",
|
|
dataType: "jsonp",
|
|
timeout: 5000
|
|
},
|
|
create: {
|
|
url: serviceRoot + "/GanttTasks/Create",
|
|
dataType: "jsonp",
|
|
timeout: 5000
|
|
},
|
|
parameterMap: function(options, operation) {
|
|
if (operation !== "read") {
|
|
return { models: kendo.stringify(options.models || [options]) };
|
|
}
|
|
}
|
|
},
|
|
schema: {
|
|
model: {
|
|
id: "id",
|
|
fields: {
|
|
id: { from: "ID", type: "number" },
|
|
orderId: { from: "OrderID", type: "number", validation: { required: true } },
|
|
parentId: { from: "ParentID", type: "number", defaultValue: null, nullable: true, validation: { required: true } },
|
|
start: { from: "Start", type: "date" },
|
|
end: { from: "End", type: "date" },
|
|
title: { from: "Title", defaultValue: "", type: "string" },
|
|
percentComplete: { from: "PercentComplete", type: "number" },
|
|
summary: { from: "Summary", type: "boolean" },
|
|
expanded: { from: "Expanded", type: "boolean", defaultValue: true }
|
|
}
|
|
}
|
|
},
|
|
error: function (ev) {
|
|
ev.sender.cancelChanges();
|
|
kendo.alert("Task was not Created, Updated or Destroyed properly!</br></br>" +
|
|
"If you are using this service for local demo or in dojo consider <a href='https://github.com/telerik/kendo-ui-demos-service/tree/master/demos-and-odata-v3'>downloading and running the service locally</a>.</br>" +
|
|
"And make sure to set the <a href='https://github.com/telerik/kendo-ui-demos-service/blob/master/demos-and-odata-v3/KendoCRUDService/Models/Gantt/GanttTaskRepository.cs#L12'>UpdateDatabase</a> flag to true.");
|
|
}
|
|
});
|
|
|
|
var dependenciesDataSource = new kendo.data.GanttDependencyDataSource({
|
|
transport: {
|
|
read: {
|
|
url: serviceRoot + "/GanttDependencies",
|
|
dataType: "jsonp"
|
|
},
|
|
update: {
|
|
url: serviceRoot + "/GanttDependencies/Update",
|
|
dataType: "jsonp"
|
|
},
|
|
destroy: {
|
|
url: serviceRoot + "/GanttDependencies/Destroy",
|
|
dataType: "jsonp"
|
|
},
|
|
create: {
|
|
url: serviceRoot + "/GanttDependencies/Create",
|
|
dataType: "jsonp"
|
|
},
|
|
parameterMap: function(options, operation) {
|
|
if (operation !== "read") {
|
|
return { models: kendo.stringify(options.models || [options]) };
|
|
}
|
|
}
|
|
},
|
|
schema: {
|
|
model: {
|
|
id: "id",
|
|
fields: {
|
|
id: { from: "ID", type: "number" },
|
|
predecessorId: { from: "PredecessorID", type: "number" },
|
|
successorId: { from: "SuccessorID", type: "number" },
|
|
type: { from: "Type", type: "number" }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
var gantt = $("#gantt").kendoGantt({
|
|
dataSource: tasksDataSource,
|
|
dependencies: dependenciesDataSource,
|
|
views: [
|
|
"day",
|
|
{ type: "week", selected: true },
|
|
"month"
|
|
],
|
|
columns: [
|
|
{ field: "id", title: "ID", width: 60 },
|
|
{ field: "title", title: "Title", editable: true, sortable: true },
|
|
{ field: "start", title: "Start Time", format: "{0:MM/dd/yyyy}", width: 100, editable: true, sortable: true },
|
|
{ field: "end", title: "End Time", format: "{0:MM/dd/yyyy}", width: 100, editable: true, sortable: true }
|
|
],
|
|
height: 700,
|
|
|
|
showWorkHours: false,
|
|
showWorkDays: false,
|
|
|
|
reorderable: true,
|
|
resizable: true,
|
|
columnMenu: true,
|
|
|
|
dataBinding: onDataBinding,
|
|
dataBound: onDataBound,
|
|
add: onAdd,
|
|
edit: onEdit,
|
|
cancel: onCancel,
|
|
change: onChange,
|
|
remove: onRemove,
|
|
save: onSave,
|
|
navigate: onNavigate,
|
|
moveStart: onMoveStart,
|
|
move: onMove,
|
|
moveEnd: onMoveEnd,
|
|
resizeStart: onResizeStart,
|
|
resize: onResize,
|
|
resizeEnd: onResizeEnd,
|
|
columnResize: onColumnResize,
|
|
columnHide: onColumnHide,
|
|
columnShow: onColumnShow,
|
|
columnReorder: onColumnReorder
|
|
}).data("kendoGantt");
|
|
|
|
$(document).bind("kendo:skinChange", function() {
|
|
gantt.refresh();
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|