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

94 lines
3.1 KiB
HTML
Executable File

<div data-role="view" data-show="rebindListView" id="hierarchical-view" data-transition="slide" data-title="Employees">
<header data-role="header">
<div data-role="navbar" id="employee-navbar">
<a data-role="backbutton" id="employee-back" data-align="left">Back</a>
<span data-role="view-title"></span>
<a data-align="right" data-icon="source-code" data-click="goToSourceCode" data-role="button" title="Show this demo source code"></a>
<a data-align="right" data-role="button" class="nav-button" data-icon="home" href="#/"></a>
</div>
</header>
<ul id="hierarchical-listview" data-role="listview" data-template="hierarchicalMobileListViewTemplate"></ul>
</div>
<style>
#hierarchical-listview h2 {
margin: .6em;
}
.km-android #hierarchical-listview .parent:after {
display: inline-block;
border-color: #ffffff;
}
.km-wp #hierarchical-listview .parent:after {
display: inline-block;
border-color: #cccccc;
}
</style>
<script id="hierarchicalMobileListViewTemplate" type="text/x-kendo-template">
# if (data.HasEmployees) { #
<a href="\#hierarchical-view?parent=#: data.id #" class="parent">
<img class="km-thumbnail" src="content/web/Employees/#: id #.jpg" />
<h2> #: FullName # </h2>
</a>
# } else { #
<img class="km-thumbnail" src="content/web/Employees/#: id #.jpg" />
<h2> #: FullName # </h2>
# } #
</script>
<script>
var serviceRoot = "https://demos.telerik.com/kendo-ui/service";
var employees = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: serviceRoot + "/Employees",
dataType: "jsonp"
}
},
schema: {
model: {
id: "EmployeeId",
hasChildren: "HasEmployees"
}
}
});
function rebindListView(e) {
var parentID = e.view.params.parent,
element = e.view.element,
backButton = element.find('#employee-back'),
scButton = element.find('[data-icon="source-code"]');
listView = element.find("#hierarchical-listview").data('kendoMobileListView'),
navBar = element.find('#employee-navbar').data('kendoMobileNavBar');
if (parentID) {
employees.fetch(function() {
var item = employees.get(parentID);
if (item) {
backButton.show();
navBar.title(item.FullName);
listView.setDataSource(item.children);
} else {
// redirect to root
setTimeout(function() {
kendo.mobile.application.navigate('#hierarchical-view');
}, 0);
}
});
scButton.hide();
} else {
backButton.hide();
scButton.show();
navBar.title('Employees');
listView.setDataSource(employees);
}
e.view.scroller.scrollTo(0, 0);
}
</script>