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