Árvore de páginas

O controller é responsável por validar as informações passadas pelo usuário no template de execução, ao clicar em executar a diretiva vai procurar no controller a função exec(), a partir dela deve ser feita a validação das informações e se necessário a sua "transformação" (parser de cada produto) antes do envio para o servidor.

execution.controller.js
define(['index', 'directive-base', 'directive-crud', 'directive-execution'], function(index) {

    'use strict';

	var executionController = function ($rootScope, $scope, appViewService, executionFactory) {
		var self = this;
		
		// *********************************************************************************
		// *** Variables
		// *********************************************************************************
        self.model = {};
		
		// *********************************************************************************
		// *** Functions
		// *********************************************************************************
		self.loadDefault = function () {
            
            // Define valores padrões para "Notificação"
            self.model.notify = true;
            self.model.notifyEmail = true;
            self.model.notifyEmailList = '[email protected]; [email protected]';
            
            // Define valores padrões para "Execução"
            self.model.path = 'c:\\tmp';
            self.model.filename = 'arquivo.log';
            self.model.servidor = 'SERVIDOR 1';
            
            self.model.schedule = {};
            self.model.schedule.type = 'TODAY';
            self.model.schedule.repeat = false;
		};
        
        self.exec = function () {
            // tratar os dados
			...
			// enviar os dados
			executionFactory.send(self.model);

            console.log('Exec of execution');
        };
        self.cancel = function () {
            self.model = {};

            console.log('Cancel of execution');
        };
		// *********************************************************************************
		// *** Control Initialize
		// *********************************************************************************
		self.init = function () {
			
			appViewService.startView('Execution', 'totvs-html-framework-sample.execution.Control', self);
			self.loadDefault();
		};
		if ($rootScope.currentuserLoaded) {
            self.init();
        }
		// *********************************************************************************
		// *** Events Listners
		// *********************************************************************************
		$scope.$on(TOTVSEvent.rootScopeInitialize, function () {
			self.init();
		});
	};
 
    executionController.$inject = [ '$rootScope',                      					// $rootScope é utilizado para enviar eventos e buscar dados do usuario
                               		'$scope',                          					// $scope é utilizado para criar um listener de eventos
                               		'totvs.app-main-view.Service',     					// serviço para controlar a abertura da aba e quando a aba é reativada
                               		'totvs-html-framework-sample.execution.Factory'];   // Serviço de execução que envia os dados para o servidor

	index.register.controller('totvs-html-framework-sample.execution.Control', executionController);
});
  • Sem rótulos