--- /dev/null
+define(['angularAMD', 'Restangular', 'app/routingConfig', 'common/general/finishRender.module', 'app/core/core.services',
+ 'common/general/common.general.services', 'common/config/env.module'], function (ng) {
+ var flows = angular.module('app.flows', ['ui.router.state', 'app.core', 'restangular', 'app.common.finishRender','app.common.general', 'config']);
+
+ flows.config(function($controllerProvider, $compileProvider, $provide, $stateProvider, $translateProvider, NavHelperProvider) {
+ flows.register = {
+ controller : $controllerProvider.register,
+ directive : $compileProvider.directive,
+ service : $provide.service,
+ factory : $provide.factory
+ };
+
+ $translateProvider.useStaticFilesLoader({
+ prefix: 'assets/data/locale-',
+ suffix: '.json'
+ });
+
+ var access = routingConfig.accessLevels;
+ $stateProvider.state('main.flow', {
+
+ url: 'flow',
+ views : {
+ 'content' : {
+ templateUrl: 'src/app/flow/root.tpl.html',
+ controller: 'rootFlowCtrl'
+ }
+ },
+ abstract: true
+ });
+
+ NavHelperProvider.addControllerUrl('app/flow/flows.controller');
+ NavHelperProvider.addToMenu('flow', {
+ "link": "#/flow/index",
+ "active": "flow",
+ "title": "FLOWS",
+ "icon": "icon-level-down",
+ "page": {
+ "title": "FLOWS",
+ "description": "FLOWS"
+ }
+ });
+
+ // List all flow - independant of node.
+ $stateProvider.state('main.flow.index', {
+ url: '/index',
+ access: access.public,
+ views: {
+ '': {
+ templateUrl: 'src/app/flow/index.tpl.html',
+ controller: 'ListAllFlowCtrl'
+ }
+ }
+ });
+
+ $stateProvider.state('main.flow.create', {
+ url: '/create',
+ access: access.public,
+ views: {
+ '': {
+ templateUrl: 'src/app/flow/create.tpl.html',
+ controller: 'FlowCreateCtrl'
+ },
+ 'composer@flow.create': {
+ templateUrl: 'src/app/flow/composer.tpl.html',
+ controller: 'FlowCompositionCtrl'
+ },
+ 'composer@flow.edit': {
+ templateUrl: 'src/app/flow/composer.tpl.html',
+ controller: 'FlowCompositionCtrl'
+ },
+ }
+ });
+
+ // List the flow on a node
+ $stateProvider.state('main.flow.node', {
+ url: '/{nodeType}/{nodeId}',
+ access: access.public,
+ views: {
+ '': {
+ templateUrl: 'flow/node.tpl.html',
+ controller: 'ListNodeFlowCtrl'
+ }
+ }
+ });
+
+ // Show details
+ $stateProvider.state('main.flow.detail', {
+ url: '/:nodeType/:nodeId/:flowName/detail',
+ access: access.public,
+ views: {
+ '': {
+ templateUrl: 'src/app/flow/detail.tpl.html',
+ controller:'ShowDetailCtrl'
+ }
+ }
+ });
+
+ // Edit state which uses the '' view in flow.detail
+ $stateProvider.state('main.flow.edit', {
+ url: '/:nodeType/:nodeId/:flowName/edit',
+ access: access.public,
+ views: {
+ '': {
+ templateUrl: 'src/app/flow/edit.tpl.html',
+ controller: 'EditStateCtrl'
+ }
+ }
+ });
+ });
+
+ return flows;
+});