Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // js, angular
- const API_SERVER = 'http://test-api.jashka/'; // local server
- const API_PREFIX = 'api';
- const API_URL = API_SERVER + API_PREFIX;
- var app = angular
- .module('app', [
- 'ngRoute',
- 'ngMaterial',
- 'satellizer'
- ])
- .config(Config)
- .run(Run)
- .controller('BaseController', BaseController)
- .controller('LoginController', LoginController)
- .controller('MainController', MainController)
- .controller('PanelController', PanelController)
- .controller('SigninController', SigninController)
- .controller('MenuController', MenuController)
- .controller('AccountController', AccountController)
- .controller('ResetPasswordController', ResetPasswordController)
- .factory('AuthFactory', AuthFactory)
- .factory('AppSettingsFactory', AppSettingsFactory)
- .factory('flashFactory', flashFactory)
- .factory('JSONSettingsFactory', JSONSettingsFactory)
- .factory('TestFactory', TestFactory)
- .service('JSONEditorService', JSONEditorService)
- .service('RedirectService', RedirectService)
- .service('LogoutService', LogoutService)
- .directive('menu', Menu)
- .directive('back', Back);
- function Menu () {
- return {
- templateUrl: '/js/components/menu/directives/menu.html',
- }
- }
- Back.$inject = ['$window'];
- function Back ($window) {
- return {
- templateUrl: '/js/components/panel/Directive/back.html',
- link: function (scope, element) {
- element.on('click', function () {
- $window.history.back();
- })
- }
- }
- }
- Run.$inject = ['$rootScope', '$location', 'AuthFactory'];
- function Run($rootScope, $location, AuthFactory) {
- $rootScope.$on('$routeChangeStart', function(event, next){
- if (next.security) {
- var isAuth = AuthFactory.getAuthenticated();
- if (!isAuth) {
- $location.path('/login');
- }
- }
- });
- }
- Config.$inject = ['$compileProvider', '$logProvider', '$authProvider', '$locationProvider', '$routeProvider'];
- function Config ( $compileProvider, $logProvider, $authProvider, $locationProvider, $routeProvider) {
- $logProvider.debugEnabled(false);
- $compileProvider.debugInfoEnabled(false);
- $authProvider.loginUrl = API_URL + '/login';
- for( var i = 0; i < ROUTES.routes.length; i++) {
- $routeProvider.when(ROUTES.routes[i].path, ROUTES.routes[i].data);
- }
- $routeProvider
- .otherwise({
- redirectTo: '/'
- });
- $locationProvider.html5Mode({
- enabled: true,
- requireBase: true
- });
- }
- RedirectService.$inject = ['$location', 'AuthFactory'];
- function RedirectService ($location, AuthFactory) {
- var routesAfter = [
- '/',
- '/login',
- '/signin',
- '/logout'
- ];
- if (AuthFactory.getAuthenticated() && (routesAfter.indexOf($location.path()) !== -1))
- $location.url('/my-panel');
- }
- LogoutService.$inject = [ 'AuthFactory', '$auth'];
- function LogoutService (AuthFactory, $auth) {
- $auth.logout().then(function() {
- AuthFactory.setUser({});
- });
- }
- BaseController.$inject = ['$window'];
- function BaseController ($window) {
- var vm = this;
- vm.pageClass = 'page-home';
- vm.back = back;
- function back () {
- $window.history.back();
- }
- }
- LoginController.$inject = ['$mdToast', '$rootScope', '$location', '$auth', '$http', 'AuthFactory'];
- function LoginController ($mdToast, $rootScope, $location, $authService, $http, AuthFactory) {
- var login = this;
- login.password = null;
- login.email = null;
- login.pageClass = 'page-home';
- login.error = null;
- login.loginError = false;
- login.loginErrorText = null;
- login.issetEmail = false;
- login.login = _login;
- login.logout = logout;
- login.showSimpleToast = showSimpleToast;
- login.redirectToSignIn = redirectToSignIn;
- $rootScope.$on('profile-updated', toast);
- function _login() {
- $authService.login({
- email: login.email,
- password: login.password
- }).then(errorAuth, auth);
- }
- function me() {
- return $http.get(API_URL + 'user/me');
- }
- function errorAuth(response) {
- return response;
- }
- function auth(response) {
- switch (response.status) {
- case 200:
- login.loginError = false;
- var user = JSON.stringify(response.data.user);
- AuthFactory.setUser(user);
- $location.url('/my-panel');
- break;
- case 401:
- case 403:
- login.loginError = true;
- login.loginErrorText = response.data.error;
- break;
- default:
- alert('Service unavailable');
- break;
- }
- }
- function logout() {
- $auth.logout().then(setUser);
- }
- function setUser() {
- AuthFactory.setUser({});
- }
- function showSimpleToast(text) {
- text = text || 'Login or Sign In!';
- var toast = $mdToast
- .simple()
- .action('Ok')
- .hideDelay(5000)
- .position('top left')
- .textContent(text);
- $mdToast.show(toast);
- }
- function redirectToSignIn() {
- $location.path('/signin');
- }
- function toast () {
- login.showSimpleToast();
- }
- }
- AppSettingsFactory.$inject = ['$http'];
- function AppSettingsFactory($http){
- return {
- appSettings: appSettings,
- getPlans: getPlans
- };
- function getPlans(callback) {
- $http.get('SERVER/plans.json')
- .success(callback);
- }
- function appSettings(callback) {
- $http.get('SERVER/menu.json')
- .success(callback);
- }
- }
- JSONEditorService.$inject = [ 'JSONSettingsFactory'];
- function JSONEditorService(JSONSettingsFactory) {
- var editor = null;
- __locale = null;
- var jsonEditor = {
- scheme: {},
- locale: {}
- };
- this.initEditor = initEditor;
- this.destroy = destroy;
- this.createNewTest = createNewTest;
- this.getTest = getTest;
- this.getJsonEditorSettings = getJsonEditorSettings;
- function initEditor(locale, scheme) {
- __locale = jLocale;
- __locale.changeLocale(locale);
- editor = new JSONEditor(document.getElementById('editorTest'), scheme);
- editor.on('change',function() {
- var errors = editor.validate();
- var indicator = document.getElementById('valid_indicator');
- if(errors.length) {
- indicator.style.color = 'red';
- indicator.textContent = "not valid";
- }
- else {
- indicator.style.color = 'green';
- indicator.textContent = "valid";
- }
- });
- }
- function destroy() {
- editor.destroy();
- }
- function createNewTest() {
- initEditor(
- jsonEditor.locale,
- jsonEditor.scheme
- );
- }
- function getTest() {
- return editor.getValue();
- }
- function getJsonEditorSettings() {
- var settingsFactory = JSONSettingsFactory;
- settingsFactory.localeJsonEditor(function (response) {
- jsonEditor.locale = response;
- });
- settingsFactory.schemeJsonEditor(function (response) {
- jsonEditor.scheme = response;
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement