(function() { 'use strict'; var app = angular.module('app', [ 'ngRoute', 'ngAnimate' ]); app.factory('Catalogs', function($http) { var CatalogsService = {} CatalogsService.list = function(initFn) { $http.get('/js/catalogs.json').success(function(data){ console.log(data); CatalogsService.data = data; initFn(); }) return CatalogsService; } CatalogsService.getName = function(index) { return CatalogsService.data ? CatalogsService.data[index].name : ''; } CatalogsService.getMetadata = function(index) { return CatalogsService.data ? CatalogsService.data[index] : {}; } return CatalogsService; }); app.controller('CatalogsCtrl', [ '$scope', '$http', 'Catalogs' , function($scope, $http, catalogs) { $scope.formu = {}; $scope.catalogIndex = 0; $scope.catalogs = catalogs.list(function() { $scope.catalogMetadata = catalogs.getMetadata($scope.catalogIndex); }); //['Applications','License types','Users','Organizations','System params']; $scope.catalogMetadata = {}; $scope.selectCatalog = function(index, $event) { $scope.catalogIndex = index; $scope.catalogMetadata = catalogs.getMetadata($scope.catalogIndex); console.log($event); } } ]); app.controller('CatalogFormCtrl', [ '$scope', '$http', function($scope, $http, menuController) { $scope.showForm = false; console.log('Form: currentCatalog:'+ $scope.cataLogIndex); $scope.editNew = function() { $scope.showForm = true; $scope.isNew = true; $scope.formu = {}; } $scope.edit = function() { $scope.showForm = true; $scope.isNew = false; // TODO: Load in formu values for Form $scope.formu = {}; } $scope.cancel = function() { $scope.showForm = false; } } ]); app.controller('CatalogListCtrl', [ '$scope', '$http', function($scope, $http) { console.log('List: currentCatalog: '+ $scope.currentCatalog); } ]); })();