Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by SHolmes on 20-Jul-17.
- */
- angular.module('canvasApp', ['ngStorage', 'ui.router'])
- .config(function ($stateProvider, $urlRouterProvider) {
- // $locationProvider.html5Mode(true).hashPrefix('!');
- $urlRouterProvider.otherwise('/');
- $stateProvider
- .state('index', {
- url: '/',
- templateUrl: 'partial-index.html'
- })
- .state('dashboard', {
- url: '/dashboard',
- templateUrl: 'partial-dashboard.html',
- controller: 'DashboardController'
- // resolve: function ($q, $state, LoginFactory) {
- // var defer = $q.defer;
- //
- // if (LoginFactory.auth1()) {
- // defer.resolve();
- // } else {
- // // $state.go('index');
- // defer.reject();
- // }
- // return defer.promise;
- // }
- });
- })
- .factory('LoginFactory', ['$http', '$localStorage', function ($http, $localStorage) {
- var baseUrl = "http://localhost/CanvasFlip";
- function changeUser(user) {
- angular.extend(currentUser, user);
- }
- function urlBase64Decode(str) {
- var output = str.replace('-', '+').replace('_', '/');
- switch (output.length % 4) {
- case 0:
- break;
- case 2:
- output += '==';
- break;
- case 3:
- output += '=';
- break;
- default:
- throw 'Illegal base64url string!';
- }
- return window.atob(output);
- }
- function getUserFromToken() {
- var token = $localStorage.token;
- var user = {};
- if (typeof token !== 'undefined') {
- var encoded = token.split('.')[1];
- user = JSON.parse(urlBase64Decode(encoded));
- }
- return user;
- }
- var currentUser = getUserFromToken();
- var config = {
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': $localStorage.token ? $localStorage.token : null
- }
- };
- return {
- register: function (data, success, error) {
- $http.post(baseUrl + '/signup.php', data, config).then(success, error);
- },
- login: function (data, success, error) {
- $http.post(baseUrl + '/signin.php', data, config).then(success, error);
- },
- auth: function (success, error) {
- $http.get(baseUrl + '/plans.php', config).then(success, error);
- },
- auth1: function ($q) {
- var defer = $q.defer;
- $http.get(baseUrl + '/plans.php', config).then(function (res) {
- if (res.status === 200 && res.data.success) {
- defer.resolve();
- } else {
- defer.reject();
- }
- }, function (err) {
- defer.reject();
- });
- return defer.promise;
- },
- logout: function (success) {
- changeUser({});
- delete $localStorage.token;
- success();
- }
- };
- }])
- .controller('DashboardController', ['$scope', '$q', 'LoginFactory', function ($scope, $q, LoginFactory) {
- $scope.hello = 'ds';
- console.log(LoginFactory.auth1($q));
- console.log('ghjkl');
- }])
- .controller('LoginController', ['$scope', '$localStorage', '$location', 'LoginFactory', function ($scope, $localStorage, $location, LoginFactory) {
- var loginCtrl = this;
- loginCtrl.loginBtn = "Login";
- loginCtrl.loginFailed = false;
- loginCtrl.submitForm = function () {
- //@TODO dont use jQuery
- $("#loginSubmitBtn").hide();
- //language=JQuery-CSS
- $("#loadingImg").show();
- var formData = {
- email: loginCtrl.email,
- password: loginCtrl.password
- };
- // console.log(formData);
- LoginFactory.login(formData, function (res) {
- // console.log(res);
- if (res.status === 200) {
- $localStorage.token = res.data.token;
- // $location.path('');
- // alert(res.data.error);
- } else {
- loginCtrl.loginFailed = true;
- loginCtrl.loginFailedReason = res.data.error ? res.data.error : 'Login Failed...';
- $('#loginSubmitBtn').show();
- $('#loadingImg').hide();
- // $location.path = "/";
- }
- }, function (error) {
- loginCtrl.loginFailed = true;
- console.log(error.data);
- loginCtrl.loginFailedReason = (error.data.error) ? error.data.error : 'Login Failed...';
- $('#loginSubmitBtn').show();
- $('#loadingImg').hide();
- });
- }
- }])
- .controller('SignupController', ['$scope', '$localStorage', 'LoginFactory', function ($scope, $localStorage, LoginFactory) {
- var signupCtrl = this;
- //signupCtrl.email = "sdasd";
- signupCtrl.cpassword = "";
- signupCtrl.password = "";
- signupCtrl.email = "";
- signupCtrl.fullName = "";
- signupCtrl.plan = "";
- signupCtrl.signupBtn = "Register";
- signupCtrl.valo = (signupForm.$valid) ? '' : 'disabled';
- signupCtrl.submitForm = function () {
- $('#signupSubmitBtn').hide();
- $('#loadingImg').show();
- signupCtrl.signupBtn = "Register";
- var formData = {
- email: signupCtrl.email,
- name: signupCtrl.fullName,
- password: signupCtrl.password,
- plan: signupCtrl.plan
- };
- LoginFactory.register(formData, function (res) {
- console.log(res);
- $('#signupSubmitBtn').show();
- $('#loadingImg').hide();
- signupCtrl.signupFailed = true;
- if (res.status === 200 && res.data.success) {
- signupCtrl.signupSuccess = true;
- signupCtrl.signupFailed = false;
- signupCtrl.signupSuccessReason = res.data.message;
- } else {
- $('#signupSubmitBtn').show();
- $('#loadingImg').hide();
- signupCtrl.signupSuccess = false;
- signupCtrl.signupFailed = true;
- signupCtrl.signupFailedReason = res.data.error;
- }
- }, function (error) {
- signupCtrl.signupFailed = true;
- });
- }
- }])
- .directive("compareTo", function () {
- return {
- require: "ngModel",
- scope: {
- otherModelValue: "=compareTo"
- },
- link: function (scope, element, attributes, ngModel) {
- ngModel.$validators.compareTo = function (modelValue) {
- return modelValue == scope.otherModelValue;
- };
- scope.$watch("otherModelValue", function () {
- ngModel.$validate();
- });
- }
- }
- })
- .directive('passwordVerify', function passwordVerify() {
- return {
- restrict: 'A', // only activate on element attribute
- require: '?ngModel', // get a hold of NgModelController
- link: function (scope, elem, attrs, ngModel) {
- if (!ngModel) return; // do nothing if no ng-model
- // watch own value and re-validate on change
- scope.$watch(attrs.ngModel, function () {
- validate();
- });
- // observe the other value and re-validate on change
- attrs.$observe('passwordVerify', function (val) {
- validate();
- });
- var validate = function () {
- // values
- var val1 = ngModel.$viewValue;
- var val2 = attrs.passwordVerify;
- // set validity
- ngModel.$setValidity('passwordVerify', val1 === val2);
- };
- }
- }
- });
Add Comment
Please, Sign In to add comment