mirror of
https://github.com/hanzoai/jube-fork.git
synced 2026-11-03 01:01:41 +00:00
224 lines
8.6 KiB
HTML
Executable File
224 lines
8.6 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Selected Date and Range</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 class="configurator">
|
|
<div class="header">Configurator</div>
|
|
<div class="box-col">
|
|
<h4>Start date of range</h4>
|
|
<input id="start-range" />
|
|
</div>
|
|
<div class="box-col">
|
|
<h4>End date of range</h4>
|
|
<input id="end-range" />
|
|
</div>
|
|
<div class="box-col">
|
|
<h4>Set Selected Date</h4>
|
|
<input id="date" />
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div id="gantt"></div>
|
|
|
|
<script>
|
|
$(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"
|
|
}
|
|
},
|
|
schema: {
|
|
model: {
|
|
id: "id",
|
|
fields: {
|
|
id: { from: "ID" },
|
|
orderId: { from: "OrderID", type: "number" },
|
|
parentId: { from: "ParentID", type: "number", nullable: true },
|
|
start: { from: "Start", type: "date" },
|
|
end: { from: "End", type: "date" },
|
|
title: { from: "Title", type: "string" },
|
|
percentComplete: { from: "PercentComplete", type: "number" },
|
|
summary: { from: "Summary", type: "boolean" },
|
|
expanded: { from: "Expanded", type: "boolean" }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
var dependenciesDataSource = new kendo.data.GanttDependencyDataSource({
|
|
transport: {
|
|
read: {
|
|
url: serviceRoot + "/GanttDependencies",
|
|
dataType: "jsonp"
|
|
}
|
|
},
|
|
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: [{
|
|
type: "day",
|
|
range: {
|
|
start: new Date("2014/6/2"),
|
|
end: new Date("2014/6/8")
|
|
},
|
|
date: new Date("2014/6/2"),
|
|
}, {
|
|
type: "week",
|
|
selected: true,
|
|
range: {
|
|
start: new Date("2014/6/1"),
|
|
end: new Date("2014/7/13")
|
|
},
|
|
date: new Date("2014/6/1")
|
|
}, {
|
|
type: "month",
|
|
range: {
|
|
start: new Date("2014/5/18"),
|
|
end: new Date("2014/8/3")
|
|
},
|
|
date: new Date("2014/5/18")
|
|
}],
|
|
columns: [
|
|
{ field: "id", title: "ID", width: 60 },
|
|
{ field: "title", title: "Title" },
|
|
{ field: "start", title: "Start Time", format: "{0:MM/dd/yyyy}", width: 100 },
|
|
{ field: "end", title: "End Time", format: "{0:MM/dd/yyyy}", width: 100 }
|
|
],
|
|
|
|
height: 700,
|
|
editable: false,
|
|
showWorkHours: false,
|
|
showWorkDays: false,
|
|
snap: false,
|
|
navigate: function (e) {
|
|
var viewsOptions = e.sender.options.views;
|
|
viewsOptions.forEach(function (view) {
|
|
if (view.type === e.view) {
|
|
startRange.value(view.range.start);
|
|
endRange.value(view.range.end);
|
|
date.value(view.date);
|
|
return;
|
|
}
|
|
})
|
|
}
|
|
}).data("kendoGantt");
|
|
|
|
var startRange = $("#start-range").kendoDatePicker({
|
|
value: new Date("2014/6/1"),
|
|
disableDates: function (date) {
|
|
var end = endRange ? endRange.value() : new Date("2014/7/13");
|
|
|
|
if (date >= end) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
},
|
|
open: function (e) {
|
|
e.sender.setOptions(e.sender.options);
|
|
},
|
|
change: function () {
|
|
var range = gantt.range();
|
|
range.start = this.value();
|
|
gantt.range(range);
|
|
if (this.value() > date.value()) {
|
|
date.value("");
|
|
}
|
|
}
|
|
}).data("kendoDatePicker");
|
|
|
|
var endRange = $("#end-range").kendoDatePicker({
|
|
value: new Date("2014/7/13"),
|
|
disableDates: function (date) {
|
|
var start = startRange ? startRange.value() : new Date("2014/6/1");
|
|
|
|
if (date <= start) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
},
|
|
open: function (e) {
|
|
e.sender.setOptions(e.sender.options);
|
|
},
|
|
change: function () {
|
|
var range = gantt.range();
|
|
range.end = this.value();
|
|
gantt.range(range);
|
|
if (this.value() <= date.value()) {
|
|
date.value("");
|
|
}
|
|
}
|
|
}).data("kendoDatePicker");
|
|
|
|
var date = $("#date").kendoDatePicker({
|
|
value: new Date("2014/6/1"),
|
|
disableDates: function (date) {
|
|
var start = startRange ? startRange.value() : new Date("2014/6/1");
|
|
var end = endRange ? endRange.value() : new Date("2014/7/13");
|
|
|
|
if (date < start || date >= end) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
},
|
|
open: function (e) {
|
|
e.sender.setOptions(e.sender.options);
|
|
},
|
|
change: function () {
|
|
gantt.date(this.value());
|
|
}
|
|
}).data("kendoDatePicker");
|
|
|
|
$(document).bind("kendo:skinChange", function () {
|
|
gantt.refresh();
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
</body>
|
|
</html>
|