@@ -21,9 +21,6 @@ - - - @@ -37,22 +34,20 @@ - - + - - - - - - - - - - + + + + + + + + + - - - + + + diff --git a/js/app.js b/js/app.js index 61a9353..9d680ca 100644 --- a/js/app.js +++ b/js/app.js @@ -1,8 +1,8 @@ var app = angular.module('launchpad', ['oauth3.org', 'ui.router', 'LocalStorageModule']); -var redirected = false; -var redirectedURL; -var urlArray = []; -app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){ + +app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', + function($stateProvider, $urlRouterProvider, localStorageServiceProvider){ + localStorageServiceProvider.setPrefix('launchpad').setStorageType('sessionStorage'); $urlRouterProvider.otherwise('/splash-page'); @@ -18,7 +18,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'header': { templateUrl: '/templates/partials/header.html', - controller: 'SignInController', + controller: 'loginCtrl', controllerAs: 'vm' }, 'menu': { @@ -34,7 +34,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/home.html', - controller: 'SignInController', + controller: 'loginCtrl', controllerAs: 'vm' } } @@ -44,7 +44,7 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/bolt.html', - controller: 'BoltController', + controller: 'boltCtrl', controllerAs: 'vm' } } @@ -54,7 +54,8 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/files.html', - controller: 'FilesController' + controller: 'fileCtrl', + controllerAs: 'vm' } } }) @@ -63,20 +64,8 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/contacts.html', - controller: 'ContactController' - } - } - }) - .state('app.contacts.detail', { - url: '/:id', - /* - templateUrl: 'templates/partials/subscriber-detail.html', - controller: 'SubscriberDetailController' - */ - views: { - 'detail@app.contacts': { - templateUrl: 'templates/partials/contact-detail.html', - controller: 'ContactDetailController' + controller: 'contactCtrl', + controllerAs: 'vm' } } }) @@ -85,7 +74,8 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/music.html', - controller: 'MusicController' + controller: 'musicCtrl', + controllerAs: 'vm' } } }) @@ -94,7 +84,8 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/email.html', - controller: 'EmailController' + controller: 'emailCtrl', + controllerAs: 'vm' } } }) @@ -103,7 +94,8 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/website.html', - controller: 'WebsiteController' + controller: 'websiteCtrl', + controllerAs: 'vm' } } }) @@ -112,23 +104,23 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider views: { 'content@': { templateUrl: 'templates/dns.html', - controller: 'DnsController' + controller: 'dnsCtrl', + controllerAs: 'vm' } } }); }]); app.run(['$rootScope', '$state', 'Auth', function($rootScope, $state, Auth) { + $rootScope.urlArray = []; $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { var requiresLogin = toState.data.requiresLogin; - if (!Auth.isLoggedIn()) { redirected = true; } - // set url - redirectedURL = toState.url; - urlArray.push(redirectedURL); - if (urlArray.length > 1) { - redirectedURL = urlArray[0]; - urlArray = []; + $rootScope.redirectedURL = toState.url; + $rootScope.urlArray.push($rootScope.redirectedURL); + if ($rootScope.urlArray.length > 1) { + $rootScope.redirectedURL = $rootScope.urlArray[0]; + $rootScope.urlArray = []; } if (requiresLogin && !Auth.isLoggedIn()) { diff --git a/js/controllers/EmailController.js b/js/controllers/EmailController.js deleted file mode 100644 index 4cbeb8a..0000000 --- a/js/controllers/EmailController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('EmailController', [function($scope) { - -}]); diff --git a/js/controllers/boltController.js b/js/controllers/bolt-controller.js similarity index 59% rename from js/controllers/boltController.js rename to js/controllers/bolt-controller.js index 8940afd..fa8f59c 100644 --- a/js/controllers/boltController.js +++ b/js/controllers/bolt-controller.js @@ -1,4 +1,7 @@ -app.controller('BoltController', ['$scope', 'Auth', function($scope, Auth) { +app.controller('boltCtrl', [ + '$scope', 'Auth', + function($scope, Auth) { + var vm = this; vm.userName = function(profile){ profile = Auth.getProfile(); diff --git a/js/controllers/contact-controller.js b/js/controllers/contact-controller.js new file mode 100644 index 0000000..8e56cc1 --- /dev/null +++ b/js/controllers/contact-controller.js @@ -0,0 +1,6 @@ +app.controller('contactCrtl', [ + '$scope', + function($scope) { + + var vm = this; +}]); diff --git a/js/controllers/contactController.js b/js/controllers/contactController.js deleted file mode 100644 index 324307e..0000000 --- a/js/controllers/contactController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('ContactController', ['$scope', 'ContactsService', function($scope, ContactsService) { - $scope.contacts = ContactsService.list(); -}]); diff --git a/js/controllers/contactDetailController.js b/js/controllers/contactDetailController.js deleted file mode 100644 index c3a9b5e..0000000 --- a/js/controllers/contactDetailController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('ContactDetailController', ['$scope', '$stateParams', 'ContactsService', function($scope, $stateParams, ContactsService) { - $scope.selected = ContactsService.find($stateParams.id); -}]); diff --git a/js/controllers/dns-controller.js b/js/controllers/dns-controller.js new file mode 100644 index 0000000..76bca52 --- /dev/null +++ b/js/controllers/dns-controller.js @@ -0,0 +1,5 @@ +app.controller('DnsController', [ + '$scope', + function($scope) { + var vm = this; +}]); diff --git a/js/controllers/dnsController.js b/js/controllers/dnsController.js deleted file mode 100644 index cc76e1f..0000000 --- a/js/controllers/dnsController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('DnsController', [function($scope) { - -}]); diff --git a/js/controllers/email-controller.js b/js/controllers/email-controller.js new file mode 100644 index 0000000..d39e0e6 --- /dev/null +++ b/js/controllers/email-controller.js @@ -0,0 +1,5 @@ +app.controller('emailCtrl', [ + '$scope', + function($scope) { + var vm = this; +}]); diff --git a/js/controllers/file-controller.js b/js/controllers/file-controller.js new file mode 100644 index 0000000..b579658 --- /dev/null +++ b/js/controllers/file-controller.js @@ -0,0 +1,5 @@ +app.controller('fileCtrl', [ + '$scope', + function($scope) { + var vm = this; +}]); diff --git a/js/controllers/filesController.js b/js/controllers/filesController.js deleted file mode 100644 index aeca5d1..0000000 --- a/js/controllers/filesController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('FilesController', [function($scope) { - -}]); diff --git a/js/controllers/homeController.js b/js/controllers/home-controller.js similarity index 72% rename from js/controllers/homeController.js rename to js/controllers/home-controller.js index 74345ef..068aea5 100644 --- a/js/controllers/homeController.js +++ b/js/controllers/home-controller.js @@ -1,4 +1,4 @@ -app.controller('HomeController', [ +app.controller('homeCtrl', [ '$rootScope', '$scope', 'Auth', 'localStorageService', '$location', 'azp@oauth3.org' , function ($rootScope, $scope, Auth, localStorageService, $location, Oauth3) { @@ -7,11 +7,6 @@ app.controller('HomeController', [ vm.notification = true; - vm.signOut = function () { - localStorageService.remove('userAuth'); - $location.path('/splash-page'); - }; - vm.userName = function(profile){ profile = Auth.getProfile(); return profile.email; diff --git a/js/controllers/signInController.js b/js/controllers/login-controller.js similarity index 94% rename from js/controllers/signInController.js rename to js/controllers/login-controller.js index 1d59a56..f15705a 100644 --- a/js/controllers/signInController.js +++ b/js/controllers/login-controller.js @@ -1,4 +1,4 @@ -app.controller('SignInController', [ +app.controller('loginCtrl', [ '$scope', '$timeout', 'Auth', '$location', 'localStorageService', '$rootScope', 'azp@oauth3.org' , function ($scope, $timeout, Auth, $location, localStorageService, $rootScope, Oauth3) { @@ -13,18 +13,14 @@ app.controller('SignInController', [ vm.sessions = Auth.sessions; vm.showAdvanced = true; + vm.toggleAdvanced = function () { vm.showAdvanced = !vm.showAdvanced; vm.independentIssuer = !vm.independentIssuer; - } + }; vm.notification = true; - vm.signOut = function () { - Auth.signOut(); - $location.path('/splash-page'); - }; - vm._setSubject = function (subject) { vm.currentSubject = vm.newSubject; subject = subject || vm.newSubject; @@ -38,12 +34,14 @@ app.controller('SignInController', [ // ignore error }); }; + vm.setSubject = function (subject) { $timeout.cancel(vm.timers.subject); vm.timers.subject = $timeout(function () { vm._setSubject(subject); }, 300); }; + vm._setIssuer = function (url) { vm.spinner = true; url = (url || vm.newIssuer).replace(/.*@/, ''); @@ -68,12 +66,14 @@ app.controller('SignInController', [ vm.spinner = false; }); }; + vm.setIssuer = function (url) { $timeout.cancel(vm.timers.issuer); vm.timers.issuer = $timeout(function () { vm._setIssuer(url); }, 300); }; + vm.setAudience = function (url) { url = url || vm.audienceUrl; vm.audienceName = url; @@ -96,6 +96,7 @@ app.controller('SignInController', [ }); }); }; + vm.auth = function () { var subject = vm.currentSubject; var issuer = vm.issuerName; @@ -106,6 +107,11 @@ app.controller('SignInController', [ session.subject = subject; session.issuer = issuer; Auth.add(session); + if ($rootScope.redirectedURL === '/splash-page') { + $location.path('/home'); + } else { + $location.path('/' + $rootScope.redirectedURL); + } }, function (err) { console.log('auth error'); console.log(err); @@ -119,4 +125,9 @@ app.controller('SignInController', [ vm.auth(); }; + vm.signOut = function () { + Auth.signOut(); + $location.path('/splash-page'); + }; + }]); diff --git a/js/controllers/music-controller.js b/js/controllers/music-controller.js new file mode 100644 index 0000000..e4087ea --- /dev/null +++ b/js/controllers/music-controller.js @@ -0,0 +1,5 @@ +app.controller('musicCtrl', [ + '$scope', + function($scope) { + var vm = this; +}]); diff --git a/js/controllers/musicController.js b/js/controllers/musicController.js deleted file mode 100644 index dba9f55..0000000 --- a/js/controllers/musicController.js +++ /dev/null @@ -1,3 +0,0 @@ -app.controller('MusicController', [function($scope) { - -}]); diff --git a/js/controllers/websiteController.js b/js/controllers/website-controller.js similarity index 92% rename from js/controllers/websiteController.js rename to js/controllers/website-controller.js index a2759ed..5afe467 100644 --- a/js/controllers/websiteController.js +++ b/js/controllers/website-controller.js @@ -1,4 +1,6 @@ -app.controller('WebsiteController', [ '$scope', 'azp@oauth3.org', function ($scope, Oauth3) { +app.controller('websiteCtrl', [ + '$scope', 'azp@oauth3.org', + function ($scope, Oauth3) { var vm = this; vm.oauth3 = Oauth3.oauth3; diff --git a/js/directives/notificationDirective.js b/js/directives/notification-directive.js similarity index 100% rename from js/directives/notificationDirective.js rename to js/directives/notification-directive.js diff --git a/js/directives/todoDirective.js b/js/directives/todo-directive.js similarity index 100% rename from js/directives/todoDirective.js rename to js/directives/todo-directive.js diff --git a/js/directives/uploadDirective.js b/js/directives/upload-directive.js similarity index 100% rename from js/directives/uploadDirective.js rename to js/directives/upload-directive.js diff --git a/js/lib/lodash/lodash.min.js b/js/lib/lodash/lodash.min.js deleted file mode 100644 index dd25a6f..0000000 --- a/js/lib/lodash/lodash.min.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @license - * Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE - * Build: `lodash modern -o ./dist/lodash.js` - */ -;(function(){function n(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++ea||typeof i=="undefined")return 1;if(ie?0:e);++r=b&&i===n,l=[];if(f){var p=o(r);p?(i=t,r=p):f=false}for(;++ui(r,p)&&l.push(p);return f&&c(r),l}function ut(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r=b&&f===n,h=u||v?a():s; -for(v&&(h=o(h),f=t);++if(h,y))&&((u||v)&&h.push(y),s.push(g))}return v?(l(h.k),c(h)):u&&l(h),s}function lt(n){return function(t,e,r){var u={};e=J.createCallback(e,r,3),r=-1;var o=t?t.length:0;if(typeof o=="number")for(;++re?Ie(0,o+e):e)||0,Te(n)?i=-1o&&(o=a)}}else t=null==t&&kt(n)?r:J.createCallback(t,e,3),St(n,function(n,e,r){e=t(n,e,r),e>u&&(u=e,o=n)});return o}function Dt(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=J.createCallback(t,r,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(e=n[++o]);++oarguments.length;return t=J.createCallback(t,r,4),Et(n,function(n,r,o){e=u?(u=false,n):t(e,n,r,o)}),e}function Tt(n){var t=-1,e=n?n.length:0,r=Xt(typeof e=="number"?e:0);return St(n,function(n){var e=at(0,++t);r[t]=r[e],r[e]=n}),r}function Ft(n,t,e){var r;t=J.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++er?Ie(0,u+r):r||0}else if(r)return r=zt(t,e),t[r]===e?r:-1;return n(t,e,r)}function qt(n,t,e){if(typeof t!="number"&&null!=t){var r=0,u=-1,o=n?n.length:0;for(t=J.createCallback(t,e,3);++u>>1,e(n[r])e?0:e);++t=v; -m?(i&&(i=ve(i)),s=f,a=n.apply(l,o)):i||(i=_e(r,v))}return m&&c?c=ve(c):c||t===h||(c=_e(u,t)),e&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Ut(n){return n}function Gt(n,t,e){var r=true,u=t&&bt(t);t&&(e||u.length)||(null==e&&(e=t),o=Q,t=n,n=J,u=bt(t)),false===e?r=false:wt(e)&&"chain"in e&&(r=e.chain);var o=n,i=dt(o);St(u,function(e){var u=n[e]=t[e];i&&(o.prototype[e]=function(){var t=this.__chain__,e=this.__wrapped__,i=[e];if(be.apply(i,arguments),i=u.apply(n,i),r||t){if(e===i&&wt(i))return this; -i=new o(i),i.__chain__=t}return i})})}function Ht(){}function Jt(n){return function(t){return t[n]}}function Qt(){return this.__wrapped__}e=e?Y.defaults(G.Object(),e,Y.pick(G,A)):G;var Xt=e.Array,Yt=e.Boolean,Zt=e.Date,ne=e.Function,te=e.Math,ee=e.Number,re=e.Object,ue=e.RegExp,oe=e.String,ie=e.TypeError,ae=[],fe=re.prototype,le=e._,ce=fe.toString,pe=ue("^"+oe(ce).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),se=te.ceil,ve=e.clearTimeout,he=te.floor,ge=ne.prototype.toString,ye=vt(ye=re.getPrototypeOf)&&ye,me=fe.hasOwnProperty,be=ae.push,_e=e.setTimeout,de=ae.splice,we=ae.unshift,je=function(){try{var n={},t=vt(t=re.defineProperty)&&t,e=t(n,n,n)&&t -}catch(r){}return e}(),ke=vt(ke=re.create)&&ke,xe=vt(xe=Xt.isArray)&&xe,Ce=e.isFinite,Oe=e.isNaN,Ne=vt(Ne=re.keys)&&Ne,Ie=te.max,Se=te.min,Ee=e.parseInt,Re=te.random,Ae={};Ae[$]=Xt,Ae[T]=Yt,Ae[F]=Zt,Ae[B]=ne,Ae[q]=re,Ae[W]=ee,Ae[z]=ue,Ae[P]=oe,Q.prototype=J.prototype;var De=J.support={};De.funcDecomp=!vt(e.a)&&E.test(s),De.funcNames=typeof ne.name=="string",J.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:N,variable:"",imports:{_:J}},ke||(nt=function(){function n(){}return function(t){if(wt(t)){n.prototype=t; -var r=new n;n.prototype=null}return r||e.Object()}}());var $e=je?function(n,t){M.value=t,je(n,"__bindData__",M)}:Ht,Te=xe||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ce.call(n)==$||false},Fe=Ne?function(n){return wt(n)?Ne(n):[]}:H,Be={"&":"&","<":"<",">":">",'"':""","'":"'"},We=_t(Be),qe=ue("("+Fe(We).join("|")+")","g"),ze=ue("["+Fe(Be).join("")+"]","g"),Pe=ye?function(n){if(!n||ce.call(n)!=q)return false;var t=n.valueOf,e=vt(t)&&(e=ye(t))&&ye(e);return e?n==e||ye(n)==e:ht(n) -}:ht,Ke=lt(function(n,t,e){me.call(n,e)?n[e]++:n[e]=1}),Le=lt(function(n,t,e){(me.call(n,e)?n[e]:n[e]=[]).push(t)}),Me=lt(function(n,t,e){n[e]=t}),Ve=Rt,Ue=vt(Ue=Zt.now)&&Ue||function(){return(new Zt).getTime()},Ge=8==Ee(d+"08")?Ee:function(n,t){return Ee(kt(n)?n.replace(I,""):n,t||0)};return J.after=function(n,t){if(!dt(t))throw new ie;return function(){return 1>--n?t.apply(this,arguments):void 0}},J.assign=U,J.at=function(n){for(var t=arguments,e=-1,r=ut(t,true,false,1),t=t[2]&&t[2][t[1]]===n?1:r.length,u=Xt(t);++e=b&&o(r?e[r]:s)))}var p=e[0],h=-1,g=p?p.length:0,y=[];n:for(;++h(m?t(m,v):f(s,v))){for(r=u,(m||s).push(v);--r;)if(m=i[r],0>(m?t(m,v):f(e[r],v)))continue n;y.push(v)}}for(;u--;)(m=i[u])&&c(m);return l(i),l(s),y},J.invert=_t,J.invoke=function(n,t){var e=p(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,i=Xt(typeof o=="number"?o:0);return St(n,function(n){i[++r]=(u?t:n[t]).apply(n,e)}),i},J.keys=Fe,J.map=Rt,J.mapValues=function(n,t,e){var r={}; -return t=J.createCallback(t,e,3),h(n,function(n,e,u){r[e]=t(n,e,u)}),r},J.max=At,J.memoize=function(n,t){function e(){var r=e.cache,u=t?t.apply(this,arguments):m+arguments[0];return me.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}if(!dt(n))throw new ie;return e.cache={},e},J.merge=function(n){var t=arguments,e=2;if(!wt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3e?Ie(0,r+e):Se(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},J.mixin=Gt,J.noConflict=function(){return e._=le,this},J.noop=Ht,J.now=Ue,J.parseInt=Ge,J.random=function(n,t,e){var r=null==n,u=null==t;return null==e&&(typeof n=="boolean"&&u?(e=n,n=1):u||typeof t!="boolean"||(e=t,u=true)),r&&u&&(t=1),n=+n||0,u?(t=n,n=0):t=+t||0,e||n%1||t%1?(e=Re(),Se(n+e*(t-n+parseFloat("1e-"+((e+"").length-1))),t)):at(n,t) -},J.reduce=Dt,J.reduceRight=$t,J.result=function(n,t){if(n){var e=n[t];return dt(e)?n[t]():e}},J.runInContext=s,J.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Fe(n).length},J.some=Ft,J.sortedIndex=zt,J.template=function(n,t,e){var r=J.templateSettings;n=oe(n||""),e=_({},e,r);var u,o=_({},e.imports,r.imports),r=Fe(o),o=xt(o),a=0,f=e.interpolate||S,l="__p+='",f=ue((e.escape||S).source+"|"+f.source+"|"+(f===N?x:S).source+"|"+(e.evaluate||S).source+"|$","g");n.replace(f,function(t,e,r,o,f,c){return r||(r=o),l+=n.slice(a,c).replace(R,i),e&&(l+="'+__e("+e+")+'"),f&&(u=true,l+="';"+f+";\n__p+='"),r&&(l+="'+((__t=("+r+"))==null?'':__t)+'"),a=c+t.length,t -}),l+="';",f=e=e.variable,f||(e="obj",l="with("+e+"){"+l+"}"),l=(u?l.replace(w,""):l).replace(j,"$1").replace(k,"$1;"),l="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ne(r,"return "+l).apply(v,o)}catch(p){throw p.source=l,p}return t?c(t):(c.source=l,c)},J.unescape=function(n){return null==n?"":oe(n).replace(qe,gt)},J.uniqueId=function(n){var t=++y;return oe(null==n?"":n)+t -},J.all=Ot,J.any=Ft,J.detect=It,J.findWhere=It,J.foldl=Dt,J.foldr=$t,J.include=Ct,J.inject=Dt,Gt(function(){var n={};return h(J,function(t,e){J.prototype[e]||(n[e]=t)}),n}(),false),J.first=Bt,J.last=function(n,t,e){var r=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=J.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,null==r||e)return n?n[u-1]:v;return p(n,Ie(0,u-r))},J.sample=function(n,t,e){return n&&typeof n.length!="number"&&(n=xt(n)),null==t||e?n?n[at(0,n.length-1)]:v:(n=Tt(n),n.length=Se(Ie(0,t),n.length),n) -},J.take=Bt,J.head=Bt,h(J,function(n,t){var e="sample"!==t;J.prototype[t]||(J.prototype[t]=function(t,r){var u=this.__chain__,o=n(this.__wrapped__,t,r);return u||null!=t&&(!r||e&&typeof t=="function")?new Q(o,u):o})}),J.VERSION="2.4.1",J.prototype.chain=function(){return this.__chain__=true,this},J.prototype.toString=function(){return oe(this.__wrapped__)},J.prototype.value=Qt,J.prototype.valueOf=Qt,St(["join","pop","shift"],function(n){var t=ae[n];J.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments); -return n?new Q(e,n):e}}),St(["push","reverse","sort","unshift"],function(n){var t=ae[n];J.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),St(["concat","slice","splice"],function(n){var t=ae[n];J.prototype[n]=function(){return new Q(t.apply(this.__wrapped__,arguments),this.__chain__)}}),J}var v,h=[],g=[],y=0,m=+new Date+"",b=75,_=40,d=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",w=/\b__p\+='';/g,j=/\b(__p\+=)''\+/g,k=/(__e\(.*?\)|\b__t\))\+'';/g,x=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,O=/^\s*function[ \n\r\t]+\w/,N=/<%=([\s\S]+?)%>/g,I=RegExp("^["+d+"]*0+(?=.$)"),S=/($^)/,E=/\bthis\b/,R=/['\n\r\t\u2028\u2029\\]/g,A="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),D="[object Arguments]",$="[object Array]",T="[object Boolean]",F="[object Date]",B="[object Function]",W="[object Number]",q="[object Object]",z="[object RegExp]",P="[object String]",K={}; -K[B]=false,K[D]=K[$]=K[T]=K[F]=K[W]=K[q]=K[z]=K[P]=true;var L={leading:false,maxWait:0,trailing:false},M={configurable:false,enumerable:false,value:null,writable:false},V={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},U={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},G=V[typeof window]&&window||this,H=V[typeof exports]&&exports&&!exports.nodeType&&exports,J=V[typeof module]&&module&&!module.nodeType&&module,Q=J&&J.exports===H&&H,X=V[typeof global]&&global;!X||X.global!==X&&X.window!==X||(G=X); -var Y=s();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(G._=Y, define(function(){return Y})):H&&J?Q?(J.exports=Y)._=Y:H._=Y:G._=Y}).call(this); diff --git a/js/lib/lodash/lodash.underscore.min.js b/js/lib/lodash/lodash.underscore.min.js deleted file mode 100644 index 789cb31..0000000 --- a/js/lib/lodash/lodash.underscore.min.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @license - * Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE - * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` - */ -;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++tf||typeof i=="undefined")return 1;if(it?0:t);++ee(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++eu(f,l))&&(t&&f.push(l),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++eu&&(u=t); -else r=X(r,t,3),D(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function W(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(t=n[++o]);++oarguments.length;return r=X(r,e,4),I(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function C(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return D(n,function(n){var t;t=++r,t=0+Sr(Wr()*(t-0+1)),e[r]=e[t],e[t]=n -}),e}function P(n,r,t){var e;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++te?Mr(0,u+e):e||0}else if(e)return e=J(r,t),r[e]===t?e:-1; -return n(r,t,e)}function H(n,r,t){if(typeof r!="number"&&null!=r){var u=0,o=-1,i=n?n.length:0;for(r=X(r,t,3);++o>>1,t(n[e])=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(h,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function X(n,r,t){var e=typeof n;if(null==n||"function"==e)return a(n,r,t);if("object"!=e)return nr(n);var u=Ur(n);return function(r){for(var t=u.length,e=false;t--&&(e=r[u[t]]===n[u[t]]););return e}}function Y(n){return n}function Z(n){D(x(n),function(r){var t=u[r]=n[r];u.prototype[r]=function(){var n=[this.__wrapped__]; -return Rr.apply(n,arguments),n=t.apply(u,n),this.__chain__?new o(n,true):n}})}function nr(n){return function(r){return r[n]}}var rr,tr=0,er={},ur=+new Date+"",or=/($^)/,ir=/['\n\r\t\u2028\u2029\\]/g,fr="[object Arguments]",ar="[object Array]",lr="[object Boolean]",cr="[object Date]",pr="[object Number]",sr="[object Object]",gr="[object RegExp]",hr="[object String]",vr={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},yr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},mr=vr[typeof window]&&window||this,_r=vr[typeof exports]&&exports&&!exports.nodeType&&exports,dr=vr[typeof module]&&module&&!module.nodeType&&module,br=dr&&dr.exports===_r&&_r,wr=vr[typeof global]&&global; -!wr||wr.global!==wr&&wr.window!==wr||(mr=wr);var jr=[],xr=Object.prototype,Tr=mr._,Er=xr.toString,Ar=RegExp("^"+(Er+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Or=Math.ceil,Sr=Math.floor,Nr=xr.hasOwnProperty,Rr=jr.push,kr=xr.propertyIsEnumerable,Br=_(Br=Object.create)&&Br,Fr=_(Fr=Array.isArray)&&Fr,qr=mr.isFinite,Dr=mr.isNaN,Ir=_(Ir=Object.keys)&&Ir,Mr=Math.max,$r=Math.min,Wr=Math.random;o.prototype=u.prototype;var zr={};!function(){var n={0:1,length:1};zr.spliceObjects=(jr.splice.call(n,0,1),!n[0]) -}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Br||(f=function(){function n(){}return function(r){if(O(r)){n.prototype=r;var t=new n;n.prototype=null}return t||mr.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Nr.call(n,"callee")&&!kr.call(n,"callee")||false});var Cr=Fr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Er.call(n)==ar||false},Pr=function(n){var r,t=[]; -if(!n||!vr[typeof n])return t;for(r in n)Nr.call(n,r)&&t.push(r);return t},Ur=Ir?function(n){return O(n)?Ir(n):[]}:Pr,Vr={"&":"&","<":"<",">":">",'"':""","'":"'"},Gr=T(Vr),Hr=RegExp("("+Ur(Gr).join("|")+")","g"),Jr=RegExp("["+Ur(Vr).join("")+"]","g"),Kr=function(n,r){var t;if(!n||!vr[typeof n])return n;for(t in n)if(r(n[t],t,n)===er)break;return n},Lr=function(n,r){var t;if(!n||!vr[typeof n])return n;for(t in n)if(Nr.call(n,t)&&r(n[t],t,n)===er)break;return n};A(/x/)&&(A=function(n){return typeof n=="function"&&"[object Function]"==Er.call(n) -});var Qr=h(function(n,r,t){Nr.call(n,t)?n[t]++:n[t]=1}),Xr=h(function(n,r,t){(Nr.call(n,t)?n[t]:n[t]=[]).push(r)}),Yr=h(function(n,r,t){n[t]=r}),Zr=M,nt=_(nt=Date.now)&&nt||function(){return(new Date).getTime()};u.after=function(n,r){if(!A(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=L,u.bindAll=function(n){for(var r=1i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},u.invert=T,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return D(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Ur,u.map=M,u.max=$,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):ur+arguments[0];return Nr.call(t,e)?t[e]:t[e]=n.apply(this,arguments) -}},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++or?0:r);++nt?Mr(0,e+t):$r(t,e-1))+1);e--;)if(n[e]===r)return e; -return-1},u.mixin=Z,u.noConflict=function(){return mr._=Tr,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Sr(Wr()*(r-n+1))},u.reduce=W,u.reduceRight=z,u.result=function(n,r){if(n){var t=n[r];return A(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Ur(n).length},u.some=P,u.sortedIndex=J,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||or).source+"|"+(e.interpolate||or).source+"|"+(e.evaluate||or).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(ir,t),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r -}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+"").replace(Hr,d)},u.uniqueId=function(n){var r=++tr+"";return n?n+r:r},u.all=B,u.any=P,u.detect=q,u.findWhere=function(n,r){return U(n,r,true)},u.foldl=W,u.foldr=z,u.include=k,u.inject=W,u.first=V,u.last=function(n,r,t){var u=0,o=n?n.length:0; -if(typeof r!="number"&&null!=r){var i=o;for(r=X(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:rr;return e(n,Mr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=R(n)),null==r||t?n?n[0+Sr(Wr()*(n.length-1-0+1))]:rr:(n=C(n),n.length=$r(Mr(0,r),n.length),n)},u.take=V,u.head=V,Z(u),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},D("pop push reverse shift sort splice unshift".split(" "),function(n){var r=jr[n]; -u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),zr.spliceObjects||0!==n.length||delete n[0],this}}),D(["concat","join","slice"],function(n){var r=jr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(mr._=u, define(function(){return u})):_r&&dr?br?(dr.exports=u)._=u:_r._=u:mr._=u}).call(this); diff --git a/js/services/auth.js b/js/services/auth-service.js similarity index 92% rename from js/services/auth.js rename to js/services/auth-service.js index 17abe97..4090986 100644 --- a/js/services/auth.js +++ b/js/services/auth-service.js @@ -7,11 +7,6 @@ app.factory('Auth', [ var Auth = { setUser: function (currentUser) { - if (redirectedURL === '/splash-page') { - $location.path('/home'); - } else { - $location.path('/' + redirectedURL); - } localStorageService.set('userAuth', JSON.stringify(currentUser)); }, isLoggedIn: function () { @@ -58,6 +53,9 @@ app.factory('Auth', [ return Auth.session; } + , signOut: function () { + localStorage.clear(); + } , sessions: [] , session: null }; diff --git a/js/services/contacts.js b/js/services/contacts.js deleted file mode 100644 index e4b89d5..0000000 --- a/js/services/contacts.js +++ /dev/null @@ -1,33 +0,0 @@ -app.factory('ContactsService', [function(){ - var contacts = [ - { - id: 1, - name:'Jane Doe', - email: 'janedoe@test.com', - description:'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora, repellendus facere expedita, magni cumque, voluptas vero nulla fugit enim ullam repellat earum vitae. Porro repellendus, officia quasi, alias numquam commodi.' - }, - { - id: 2, - name:'John Doe', - email: 'johndoe@gmail.com', - description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.' - }, - { - id: 3, - name:'Johnny Appleseed', - email: 'jappleseed@gmail.com', - description: 'Stuff and things. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.' - } - ]; - - return { - list: function(){ - return contacts; - }, - find: function(id){ - return _.find(contacts,function(contact){ - return contact.id == id; - }); - } - }; -}]); diff --git a/templates/partials/contact-detail.html b/templates/partials/contact-detail.html deleted file mode 100644 index dd7a5ce..0000000 --- a/templates/partials/contact-detail.html +++ /dev/null @@ -1 +0,0 @@ -{{ selected.description }}