Logger
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div style="margin: 10px" ng-app="app" ng-controller="MainController as vm">
<form novalidate class="form-inline">
<div class="form-group">
<input type="text" placeholder="Digite um texto..." class="form-control" ng-model="vm.logs" />
<button type="submit" class="btn btn-primary" ng-click="vm.logar()">Testar Log</button>
</div>
</form>
<hr/>
<span class="label" ng-class="{'label-info': vm.resultado.type == 'success', 'label-danger': vm.resultado.type == 'error'}" style="padding: 10px" ng-show="vm.resultado">{{vm.resultado.msg}}</span>
JavaScript
(function() {
var app = angular.module('app', []);
app.factory('logApi', ['fileManager', LogApi]);
function LogApi(fileManager) {
var self = this;
self.processarLog = function(logs) {
var ret = fileManager.upload(logs).then(function(msg) {
return { type: 'success', msg: msg };
}, function(error) {
return { type: 'error', msg: error };
});
return ret;
}
return self;
}
app.factory('fileManager', ['$q', FileManager]);
function FileManager($q) {
var self = this;
self.upload = function(dados) {
return $q(function(resolve, reject) {
if (dados) {
resolve('Executado com sucesso.');
} else {
reject('Nao funcionou o upload');
}
});
}
return self;
}
app.controller('MainController', ['logApi', MainController])
function MainController(logApi) {
var self = this;
self.logs = '';
self.resultado = '';
self.logar = function() {
logApi.processarLog(self.logs).then(function(value) { self.resultado = value });
}
}
})();