Files
2022-11-04 13:24:24 +02:00

171 lines
5.4 KiB
HTML
Executable File

<!DOCTYPE html>
<html>
<head>
<title>Overview</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="treelist"></div>
<button id="fab"></button>
<script id="photo-template" type="text/x-kendo-template">
# var src = "../content/web/treelist/people/" + data.EmployeeId + ".jpg"#
# if(data.isNew() || data.EmployeeId > 100) {#
# src = "../content/web/Kendoka-32.png"#
# } #
<div class="k-avatar k-avatar-md k-avatar-image k-avatar-circle employee-photo">
<img src="#=src#"></img>
</div>
<div class="employee-name">#: FirstName #</div>
</script>
<script>
$(document).ready(function () {
var fab = $("#fab").kendoFloatingActionButton({
icon: "plus",
positionMode: "absolute",
alignOffset: {
x: 50,
y: 80
},
themeColor: "primary",
size: "medium",
click: addItem
}).data("kendoFloatingActionButton");
$("#fab").hover(function () {
fab.text("Add New Record");
fab.element.find(".k-fab-text")
.stop().toggle(200);
}, function () {
fab.element.find(".k-fab-text")
.stop()
.toggle(200)
.promise().done(function () {
fab.text("");
});
});
var crudServiceBaseUrl = "https://demos.telerik.com/kendo-ui/service";
var dataSource = new kendo.data.TreeListDataSource({
transport: {
read: {
url: crudServiceBaseUrl + "/EmployeeDirectory/All",
dataType: "jsonp"
},
update: {
url: crudServiceBaseUrl + "/EmployeeDirectory/Update",
dataType: "jsonp"
},
destroy: {
url: crudServiceBaseUrl + "/EmployeeDirectory/Destroy",
dataType: "jsonp"
},
create: {
url: crudServiceBaseUrl + "/EmployeeDirectory/Create",
dataType: "jsonp"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
},
batch: true,
schema: {
model: {
id: "EmployeeId",
parentId: "ReportsTo",
fields: {
EmployeeId: { type: "number", editable: false, nullable: false },
ReportsTo: { nullable: true, type: "number" },
FirstName: { validation: { required: true } },
LastName: { validation: { required: true } },
HireDate: { type: "date" },
Phone: { type: "string" },
HireDate: { type: "date" },
BirthDate: { type: "date" },
Extension: { type: "number", validation: { min: 0, required: true } },
Position: { type: "string" }
},
expanded: true
}
},
pageSize: 15
});
$("#treelist").kendoTreeList({
dataSource: dataSource,
editable: "popup",
height: 500,
columns: [
{
field: "FirstName", title: "First Name", width: 280,
template: $("#photo-template").html()
},
{ field: "LastName", title: "Last Name", width: 160 },
{ field: "Position" },
{ field: "HireDate", title: "Date Hired", format: "{0:dd/MM/yyyy}" },
{ field: "Phone", width: 200 },
],
pageable: {
pageSize: 20,
pageSizes: true
}
});
});
function addItem() {
var treeList = $("#treelist").getKendoTreeList();
treeList.addRow();
}
</script>
<style>
.k-fab-text {
display: none;
}
.employee-photo {
display: inline-block;
width: 32px;
height: 32px;
border-radius: 50%;
background-size: 32px 35px;
background-position: center center;
vertical-align: middle;
line-height: 32px;
box-shadow: inset 0 0 1px #999, inset 0 0 10px rgba(0,0,0,.2);
margin-left: 5px;
}
.employee-name {
display: inline-block;
vertical-align: middle;
line-height: 32px;
padding-left: 3px;
}
</style>
</body>
</html>