zazu-app-table
Version:
A simple table app for zazu dashboard engine.
45 lines (37 loc) • 1.76 kB
JavaScript
(function () {
angular.module('zazu-app-table', ['appProvider'])
.directive('table', GithubCommitsDirective);
GithubCommitsDirective.$inject = ['appBaseUrlFactory', '$http', '$timeout', '$log'];
function GithubCommitsDirective(appBaseUrlFactory, $http, $timeout, $log) {
return {
restrict: 'A',
templateUrl: appBaseUrlFactory.getAssetUrl('table') + '/views/app.tmpl.html',
link: function ($scope) {
var appBaseUrl = appBaseUrlFactory.getBaseUrl($scope),
timeout;
$http.get(appBaseUrl + '/config').then(function (config) {
var reloadInterval = config.data.reloadInterval * 1000;
if (!angular.isNumber(reloadInterval) || isNaN(reloadInterval) || 1000 >= reloadInterval) {
reloadInterval = 600000; // default to 10 minutes
}
$scope.showTitleBar = config.data.showTitleBar;
$scope.firstColumnContainHeader = config.data.firstColumnContainHeader;
function getData () {
$http.get(appBaseUrl + '/data').then(function (data) {
$scope.data = data.data;
timeout = $timeout(getData, reloadInterval);
}, function (err) {
$log.error(err);
});
}
getData.apply(this);
}, function (err) {
$log.error(err);
});
$scope.$on('$destroy', function() {
$timeout.cancel(timeout);
});
}
};
}
}());