Admin backend

This commit is contained in:
baldo 2016-06-04 14:58:11 +02:00
parent bee528f1b8
commit 8f8d78d1df
13 changed files with 129 additions and 5 deletions

55
admin/js/config.js Normal file
View file

@ -0,0 +1,55 @@
'use strict';
var myApp = angular.module('ffffngAdmin', ['ng-admin']);
myApp.config(['NgAdminConfigurationProvider', function(NgAdminConfigurationProvider) {
function formatMoment(unix) {
return unix ? moment.unix(unix).fromNow() : 'N/A';
}
var nga = NgAdminConfigurationProvider;
var admin = nga.application('Knotenverwaltung - Admin-Panel');
admin
.baseApiUrl('/internal/api/')
.debug(true);
var tasks = nga.entity('tasks').label('Background-Jobs');
tasks
.listView()
.title('Background-Jobs')
.actions([])
.batchActions([])
.exportFields([])
.fields([
nga.field('id'),
nga.field('name'),
nga.field('schedule'),
nga.field('runningSince').map(formatMoment),
nga.field('lastRunStarted').map(formatMoment)
])
.listActions(
'<fa-task-action-button action="run" task="entry" label="Run" size="sm"></fa-task-action-button>'
)
;
admin.addEntity(tasks);
admin.menu(
nga.menu()
.addChild(nga
.menu(tasks)
.icon('<span class="glyphicon glyphicon-cog"></span>')
)
.addChild(nga
.menu()
.template(
'<a href="/internal/logs" target="_blank">' +
'<span class="glyphicon glyphicon-list"></span> Logs' +
'</a>'
)
)
);
nga.configure(admin);
}]);

1
admin/js/moment-with-locales.min.js vendored Symbolic link
View file

@ -0,0 +1 @@
../../node_modules/moment/min/moment-with-locales.min.js

1
admin/js/ng-admin.min.js vendored Symbolic link
View file

@ -0,0 +1 @@
../../node_modules/ng-admin/build/ng-admin.min.js

View file

@ -0,0 +1 @@
../../node_modules/ng-admin/build/ng-admin.min.js.map

View file

@ -0,0 +1,39 @@
'use strict';
angular.module('ffffngAdmin')
.directive('faTaskActionButton', function (Restangular, $state, notification) {
var link = function (scope) {
scope.label = scope.label || 'ACTION';
scope.icon = scope.icon || 'play';
scope.perform = function () {
var task = scope.task();
Restangular
.one('/internal/api/tasks/' + scope.action, task.values.id).put()
.then(function () { $state.reload() })
.then(function () { notification.log('Done', { addnCls: 'humane-flatty-success' }); })
.catch(function (e) {
notification.log('Error: ' + e.data, { addnCls: 'humane-flatty-error' });
console.error(e)
});
};
};
return {
'link': link,
'restrict': 'E',
'scope': {
'action': '@',
'icon': '@',
'task': '&',
'size': '@',
'label': '@'
},
'template':
'<a class="btn btn-default" ng-class="size ? \'btn-\' + size : \'\'" ng-click="perform()">' +
'<span class="glyphicon glyphicon-{{ icon }}" aria-hidden="true"></span>&nbsp;<span class="hidden-xs">{{ label }}</span>' +
'</a>'
};
});