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); });
Import HTML Content
Visão Geral
Conteúdo das Ferramentas