Admin backend
This commit is contained in:
parent
bee528f1b8
commit
8f8d78d1df
13 changed files with 129 additions and 5 deletions
55
admin/js/config.js
Normal file
55
admin/js/config.js
Normal 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
1
admin/js/moment-with-locales.min.js
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../node_modules/moment/min/moment-with-locales.min.js
|
1
admin/js/ng-admin.min.js
vendored
Symbolic link
1
admin/js/ng-admin.min.js
vendored
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../node_modules/ng-admin/build/ng-admin.min.js
|
1
admin/js/ng-admin.min.js.map
Symbolic link
1
admin/js/ng-admin.min.js.map
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../node_modules/ng-admin/build/ng-admin.min.js.map
|
39
admin/js/taskActionButton.js
Normal file
39
admin/js/taskActionButton.js
Normal 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> <span class="hidden-xs">{{ label }}</span>' +
|
||||
'</a>'
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue