Histórico da Página
O arquivo de services define os serviços que serão utilizados pelos controllers, geramente nos serviços são definidos factories para acesso a entidades, services para acessar as factories, services de definição de zoom´s ou qualquer outro que seja necessário.
O fonte abaixo está documentado para os serviços da tela de exemplo
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
define(['index', // index é necessário para registrar os serviços
'ng-load!totvs-resource' // como utilizamos o $totvsresource, precisamos importar o modulo que o define
], function(index) {
// *************************************************************************************
// *** FACTORIES
// *************************************************************************************
messageFactory.$inject = ['$totvsresource'];
function messageFactory($totvsresource) {
// definimos uma nova factory a partir do totvsresource, passando a URL do serviço de DBO
var factory = $totvsresource.REST('/datasul-rest/resources/dbo/adbo/boad176na/:method/:id');
// implementamos um metodo findRecords para abstrair a chamada ao resource
factory.findRecords = function (parameters, callback) {
return this.TOTVSQuery(parameters, callback);
};
// implementamos tambem o getRecord e todos os outros metodos de CRUD
factory.getRecord = function (id, callback) {
return this.TOTVSGet({id: id}, callback);
};
factory.saveRecord = function (model, callback) {
return this.TOTVSSave({}, model, callback);
};
factory.updateRecord = function (id, model, callback) {
return this.TOTVSUpdate({id: id}, model, callback);
};
factory.deleteRecord = function (id, callback) {
return this.TOTVSRemove({id: id}, callback);
};
return factory;
}
// factory injeta o valor de retorno da messageFactory
index.register.factory('html-sample.message.Factory', messageFactory);
// **************************************************************************************
// *** SERVICE
// **************************************************************************************
messageService.$inject = ['html-sample.message.Factory'];
function messageService(messageFactory) {
// definimos um service que usa a factory, nesses metodos abstraimos a chamada e tratamos outros detalhes da chamada.
this.findRecords = function (startAt, limitAt, parameters, callback) {
if (!parameters) {
parameters = {};
}
parameters.start = startAt;
parameters.limit = limitAt;
return messageFactory.findRecords(parameters, callback);
};
this.getRecord = function (id, callback) {
return messageFactory.getRecord(id, callback);
};
this.saveRecord = function (model, callback) {
return messageFactory.saveRecord(model, callback);
};
this.updateRecord = function (id, model, callback) {
return messageFactory.updateRecord(id, model, callback);
};
this.deleteRecord = function (id, callback) {
return messageFactory.deleteRecord(id, callback);
};
}
// service injeta uma instancia da função
index.register.service('html-sample.message.Service', messageService);
}); |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas