'use strict'; angular.module('ffffngAdmin') .directive('faMailActionButton', function (Restangular, $state, notification, config) { var pathPrefix = config.rootPath === '/' ? '' : config.rootPath; var link = function (scope) { scope.label = scope.label || 'ACTION'; scope.icon = scope.icon || 'envelope'; scope.button = scope.button || 'default'; scope.perform = function () { var mail = scope.mail(); Restangular .one(pathPrefix + '/internal/api/mails/' + scope.action, mail.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': '@', 'mail': '&', 'size': '@', 'label': '@', 'button': '@', 'disabled': '=' }, 'template': '' }; });