115 lines
2.1 KiB
HTML
Executable File
115 lines
2.1 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html ng-app="main">
|
|
<meta charset="utf-8">
|
|
<head>
|
|
<title ng-bind="$root.title"></title>
|
|
|
|
<script src="angular.min.js"></script>
|
|
<script>
|
|
const dataSource = "presentation.json"; // JSON input file
|
|
|
|
angular
|
|
.module("main", [])
|
|
.controller("ctrl", ($scope, $http, $rootScope, $location) => {
|
|
$scope.showTable = false;
|
|
$scope.sPresentation = undefined;
|
|
|
|
$scope.strCheck = str => {
|
|
return str == "" || str == undefined || str == null
|
|
? "N/A"
|
|
: str;
|
|
};
|
|
|
|
$http.get(dataSource).then(response => {
|
|
$scope.sPresentation = response.data;
|
|
$scope.showTable = true;
|
|
$rootScope.title = $scope.strCheck(
|
|
$scope.sPresentation.title
|
|
);
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<style>
|
|
body {
|
|
font-family: "Calibri", "Arial";
|
|
}
|
|
table {
|
|
border-collapse: collapse;
|
|
}
|
|
td,
|
|
th {
|
|
padding: 5px;
|
|
text-align: center;
|
|
border: 1px solid black;
|
|
}
|
|
.section {
|
|
font-weight: bold;
|
|
text-decoration: underline;
|
|
}
|
|
#tableContainer {
|
|
position: absolute;
|
|
top: 10px;
|
|
left: 10px;
|
|
}
|
|
#logo {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
max-height: 500px;
|
|
max-width: 50%;
|
|
border: 5px solid white;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body ng-controller="ctrl">
|
|
<div id="tableContainer" ng-show="showTable">
|
|
<br />
|
|
<br />
|
|
<table>
|
|
<tr>
|
|
<th colspan="5">
|
|
{{ strCheck(sPresentation.title) }}
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
Topic ID
|
|
</th>
|
|
<th>
|
|
Topic Start
|
|
</th>
|
|
<th>
|
|
Duration
|
|
</th>
|
|
<th>
|
|
Type
|
|
</th>
|
|
<th>
|
|
Description
|
|
</th>
|
|
</tr>
|
|
<tr ng-repeat="entry in sPresentation.content">
|
|
<td>
|
|
{{ strCheck(entry.topicId) }}
|
|
</td>
|
|
<td>
|
|
{{ strCheck(entry.topicStart) }}
|
|
</td>
|
|
<td>
|
|
{{ strCheck(entry.duration) }}
|
|
</td>
|
|
<td>
|
|
{{ strCheck(entry.type) }}
|
|
</td>
|
|
<td>
|
|
<a ng-href="{{ entry.description.href_local }}">
|
|
{{ strCheck(entry.description.displayName) }}
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</body>
|
|
</html>
|