diff --git a/frontend/app/index.html b/frontend/app/index.html index 7bbe0f3..f2429ac 100644 --- a/frontend/app/index.html +++ b/frontend/app/index.html @@ -50,6 +50,7 @@ + diff --git a/frontend/app/scripts/app.js b/frontend/app/scripts/app.js new file mode 100755 index 0000000..ff97da9 --- /dev/null +++ b/frontend/app/scripts/app.js @@ -0,0 +1,39 @@ +'use strict'; + +/** + * @ngdoc overview + * @name clientApp + * @description + * # clientApp + * + * Main module of the application. + */ +var app = angular.module('clientApp', [ + 'ngAnimate', + 'ngCookies', + 'ngSanitize', + 'ngMaterial', + 'ui.router' + ]); + +app.config(function ($stateProvider, $urlRouterProvider) { + + //Set default route + $urlRouterProvider.otherwise('/login'); + + //Common state + $stateProvider + + // Common state ------------------------------------------------------------------ + .state('login', { + url: '/login', + templateUrl: 'views/login.html', + controller: 'LoginCtrl' + }) + + .state('userspace', { + url: '/espace-etudiant', + templateUrl: 'views/userSpace.html', + controller: 'UserSpaceCtrl' + }); + }); \ No newline at end of file diff --git a/frontend/app/scripts/controllers/login.js b/frontend/app/scripts/controllers/login.js new file mode 100755 index 0000000..2ae96c7 --- /dev/null +++ b/frontend/app/scripts/controllers/login.js @@ -0,0 +1,27 @@ +(function () { + 'use strict'; + + /** + * @ngdoc function + * @name frontendApp.controller:MainCtrl + * @description + * # MainCtrl + * Controller of the frontendApp + */ + angular.module('clientApp') + .controller('LoginCtrl', function ($scope, $state) { + + $scope.login = login; + + // Public methods ------------------- + + function login() { + console.log('login'); + + $state.go('userspace'); + } + + // Private methods ------------------ + }); + +})(); \ No newline at end of file diff --git a/frontend/app/scripts/controllers/userSpace.js b/frontend/app/scripts/controllers/userSpace.js new file mode 100755 index 0000000..4b3d101 --- /dev/null +++ b/frontend/app/scripts/controllers/userSpace.js @@ -0,0 +1,22 @@ +(function () { + 'use strict'; + + angular.module('clientApp') + .controller('UserSpaceCtrl', ['$scope', '$state', + function ($scope, $state) { + + init(); + + // --------------------------------------------------------------- + + function init() { + + } + + // --------------------------------------------------------------- + // Public method ------------------------------------------------- + // --------------------------------------------------------------- + + }]); + +})(); diff --git a/frontend/app/scripts/services/DataService.js b/frontend/app/scripts/services/DataService.js new file mode 100755 index 0000000..8387be2 --- /dev/null +++ b/frontend/app/scripts/services/DataService.js @@ -0,0 +1,52 @@ +(function () { + 'use strict'; + + angular.module('clientApp') + .factory('DataService', ['$http', '$q', + function ($http, $q) { + + // --------------------------------------------------------------------------- + // PUBLIC API. + // --------------------------------------------------------------------------- + return ({ + login: login, + logout: logout + }); + + // --------------------------------------------------------------------------- + // PUBLIC METHODS. + // --------------------------------------------------------------------------- + + function login(credentials) { + // var request = $http.post(apiServer + '/api/AppUsers/login', credentials); + // return request.then(handleSuccess, handleError); + } + + function logout() { + // var request = $http.post(apiServer + '/api/AppUsers/logout', {}); + // return request.then(handleSuccess, handleError); + } + + // --------------------------------------------------------------------------- + // PRIVATE METHODS. + // --------------------------------------------------------------------------- + + function handleSuccess(response) { + return response.data; + } + + function handleError(response) { + if (response.data === '' || + !angular.isDefined(response.status) || + response.statusText === '') { + + return ($q.reject("An unknown error occurred.")); + } + + // Otherwise, use expected error message. + return ($q.reject('Error ' + response.status + ' (' + response.statusText + '): ' + response.data)); + } + } + ]); + +})(); \ No newline at end of file