├── example ├── css │ ├── .gitkeep │ └── app.css ├── img │ └── .gitkeep ├── partials │ ├── .gitkeep │ ├── partial1.html │ ├── partial2.html │ ├── verify-email.html │ ├── set-password.html │ ├── reset-password.html │ ├── login.html │ └── signup.html ├── lib │ └── angular │ │ ├── version.txt │ │ ├── version.json │ │ ├── angular-cookies.min.js │ │ ├── angular-csp.css │ │ ├── angular-loader.min.js │ │ ├── i18n │ │ ├── angular-locale_ms.js │ │ ├── angular-locale_id.js │ │ ├── angular-locale_in.js │ │ ├── angular-locale_ms-my.js │ │ ├── angular-locale_id-id.js │ │ ├── angular-locale_en-bz.js │ │ ├── angular-locale_en.js │ │ ├── angular-locale_en-be.js │ │ ├── angular-locale_en-as.js │ │ ├── angular-locale_en-au.js │ │ ├── angular-locale_en-bb.js │ │ ├── angular-locale_en-bm.js │ │ ├── angular-locale_en-bw.js │ │ ├── angular-locale_en-fm.js │ │ ├── angular-locale_en-gb.js │ │ ├── angular-locale_en-gu.js │ │ ├── angular-locale_en-gy.js │ │ ├── angular-locale_en-hk.js │ │ ├── angular-locale_en-iso.js │ │ ├── angular-locale_en-jm.js │ │ ├── angular-locale_en-mh.js │ │ ├── angular-locale_en-mp.js │ │ ├── angular-locale_en-mu.js │ │ ├── angular-locale_en-na.js │ │ ├── angular-locale_en-nz.js │ │ ├── angular-locale_en-ph.js │ │ ├── angular-locale_en-pk.js │ │ ├── angular-locale_en-pr.js │ │ ├── angular-locale_en-pw.js │ │ ├── angular-locale_en-sg.js │ │ ├── angular-locale_en-tc.js │ │ ├── angular-locale_en-tt.js │ │ ├── angular-locale_en-um.js │ │ ├── angular-locale_en-us.js │ │ ├── angular-locale_en-vg.js │ │ ├── angular-locale_en-vi.js │ │ ├── angular-locale_en-zw.js │ │ ├── angular-locale_af-na.js │ │ ├── angular-locale_af.js │ │ ├── angular-locale_en-ca.js │ │ ├── angular-locale_en-mt.js │ │ ├── angular-locale_fil.js │ │ ├── angular-locale_sw.js │ │ ├── angular-locale_tl.js │ │ ├── angular-locale_tr.js │ │ ├── angular-locale_af-za.js │ │ ├── angular-locale_en-ie.js │ │ ├── angular-locale_en-za.js │ │ ├── angular-locale_fil-ph.js │ │ ├── angular-locale_nl.js │ │ ├── angular-locale_sw-tz.js │ │ ├── angular-locale_zu.js │ │ ├── angular-locale_en-in.js │ │ ├── angular-locale_nl-cw.js │ │ ├── angular-locale_nl-nl.js │ │ ├── angular-locale_nl-sx.js │ │ ├── angular-locale_tr-tr.js │ │ ├── angular-locale_zu-za.js │ │ ├── angular-locale_de-ch.js │ │ ├── angular-locale_gl.js │ │ ├── angular-locale_de.js │ │ ├── angular-locale_gl-es.js │ │ ├── angular-locale_de-be.js │ │ ├── angular-locale_de-de.js │ │ ├── angular-locale_de-li.js │ │ ├── angular-locale_de-lu.js │ │ ├── angular-locale_no.js │ │ ├── angular-locale_da.js │ │ ├── angular-locale_it.js │ │ ├── angular-locale_da-dk.js │ │ ├── angular-locale_de-at.js │ │ ├── angular-locale_es-419.js │ │ ├── angular-locale_eu.js │ │ ├── angular-locale_it-it.js │ │ ├── angular-locale_it-sm.js │ │ ├── angular-locale_sv.js │ │ ├── angular-locale_es-co.js │ │ ├── angular-locale_sq.js │ │ ├── angular-locale_sv-se.js │ │ ├── angular-locale_es-cl.js │ │ ├── angular-locale_es-ec.js │ │ ├── angular-locale_es-gt.js │ │ ├── angular-locale_es-pe.js │ │ ├── angular-locale_es-us.js │ │ ├── angular-locale_es.js │ │ └── angular-locale_eu-es.js │ │ └── angular-cookies.min.js.map ├── js │ ├── controllers.js │ ├── services.js │ ├── directives.js │ ├── filters.js │ └── app.js ├── index.html └── README.md ├── bower.json └── LICENSE /example/css/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/img/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/partials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/lib/angular/version.txt: -------------------------------------------------------------------------------- 1 | 1.2.3 -------------------------------------------------------------------------------- /example/partials/partial1.html: -------------------------------------------------------------------------------- 1 |

This is the partial for view 1.

2 | -------------------------------------------------------------------------------- /example/lib/angular/version.json: -------------------------------------------------------------------------------- 1 | {"full":"1.2.3","major":"1","minor":"2","dot":"3","codename":"unicorn-zapper","cdn":"1.2.2"} -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "userapp-angular", 3 | "version": "2.0.4", 4 | "main": "./angularjs.userapp.js", 5 | "dependencies": { 6 | "userapp": "latest" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /example/partials/partial2.html: -------------------------------------------------------------------------------- 1 |

This is the partial for view 2.

2 |

3 | Showing of 'interpolate' filter: 4 | {{ 'Current version is v%VERSION%.' | interpolate }} 5 |

6 | -------------------------------------------------------------------------------- /example/js/controllers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* Controllers */ 4 | 5 | angular.module('myApp.controllers', []) 6 | .controller('MyCtrl1', function() { 7 | 8 | }) 9 | .controller('MyCtrl2', function() { 10 | 11 | }); -------------------------------------------------------------------------------- /example/js/services.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* Services */ 4 | 5 | 6 | // Demonstrate how to register services 7 | // In this case it is a simple value service. 8 | angular.module('myApp.services', []). 9 | value('version', '0.1'); 10 | -------------------------------------------------------------------------------- /example/js/directives.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* Directives */ 4 | 5 | 6 | angular.module('myApp.directives', []). 7 | directive('appVersion', ['version', function(version) { 8 | return function(scope, elm, attrs) { 9 | elm.text(version); 10 | }; 11 | }]); 12 | -------------------------------------------------------------------------------- /example/js/filters.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* Filters */ 4 | 5 | angular.module('myApp.filters', []). 6 | filter('interpolate', ['version', function(version) { 7 | return function(text) { 8 | return String(text).replace(/\%VERSION\%/mg, version); 9 | } 10 | }]); 11 | -------------------------------------------------------------------------------- /example/partials/verify-email.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | Verifying your email address, please wait... 4 |
5 |
6 | Your email address has been verified, click here to log in. 7 |
8 |
9 |

{{ error.message }}

-------------------------------------------------------------------------------- /example/partials/set-password.html: -------------------------------------------------------------------------------- 1 |

Set new password

2 | 3 |
4 |
5 | 6 | 7 |

8 |

{{ error.message }}

9 |
10 | 11 |

Your new password has been saved, now log in!

-------------------------------------------------------------------------------- /example/css/app.css: -------------------------------------------------------------------------------- 1 | /* app css stylesheet */ 2 | 3 | .menu { 4 | list-style: none; 5 | border-bottom: 0.1em solid black; 6 | margin-bottom: 2em; 7 | padding: 0 0 0.5em; 8 | } 9 | 10 | .menu:before { 11 | content: "["; 12 | } 13 | 14 | .menu:after { 15 | content: "]"; 16 | } 17 | 18 | .menu > li { 19 | display: inline; 20 | } 21 | 22 | .menu > li:before { 23 | content: "|"; 24 | padding-right: 0.3em; 25 | } 26 | 27 | .menu > li:nth-child(1):before { 28 | content: ""; 29 | padding: 0; 30 | } 31 | -------------------------------------------------------------------------------- /example/partials/reset-password.html: -------------------------------------------------------------------------------- 1 |

Reset password

2 | 3 |
4 |
5 | 6 | 7 |

8 |

{{ error.message }}

9 |
10 | 11 |

An email has been sent to your inbox. Click on the link to set a new password.

12 |

Log in

-------------------------------------------------------------------------------- /example/partials/login.html: -------------------------------------------------------------------------------- 1 |

Please log in

2 | 3 |
4 |
5 |
6 |

or Log in with Google

7 | 8 |

9 |

{{ error.message }}

10 |
11 | 12 |

Sign up

13 |

Reset password

-------------------------------------------------------------------------------- /example/partials/signup.html: -------------------------------------------------------------------------------- 1 |

Sign up

2 | 3 |
4 |
5 |
6 |
7 |

or Sign up with Google

8 | 9 |

10 |

{{ error.message }}

11 |
12 | 13 |

An email has been sent to your inbox. Click on the link to verify your account.

14 |

Log in

-------------------------------------------------------------------------------- /example/lib/angular/angular-cookies.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.2.3 3 | (c) 2010-2014 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&d.$apply())})();k=!0;d.$watch(function(){var a,e,d;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)(e=c[a],f.isString(e))?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(m(e[a])?delete c[a]:c[a]=e[a])}); 7 | return c}]).factory("$cookieStore",["$cookies",function(d){return{get:function(b){return(b=d[b])?f.fromJson(b):b},put:function(b,c){d[b]=f.toJson(c)},remove:function(b){delete d[b]}}}])})(window,window.angular); 8 | //# sourceMappingURL=angular-cookies.min.js.map 9 | -------------------------------------------------------------------------------- /example/lib/angular/angular-csp.css: -------------------------------------------------------------------------------- 1 | /* Include this file in your html if you are using the CSP mode. */ 2 | 3 | @charset "UTF-8"; 4 | 5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 6 | .ng-cloak, .x-ng-cloak, 7 | .ng-hide { 8 | display: none !important; 9 | } 10 | 11 | ng\:form { 12 | display: block; 13 | } 14 | 15 | /* The styles below ensure that the CSS transition will ALWAYS 16 | * animate and close. A nasty bug occurs with CSS transitions where 17 | * when the active class isn't set, or if the active class doesn't 18 | * contain any styles to transition to, then, if ngAnimate is used, 19 | * it will appear as if the webpage is broken due to the forever hanging 20 | * animations. The border-spacing (!ie) and zoom (ie) CSS properties are 21 | * used below since they trigger a transition without making the browser 22 | * animate anything and they're both highly underused CSS properties */ 23 | .ng-animate-start { border-spacing:1px 1px; -ms-zoom:1.0001; } 24 | .ng-animate-active { border-spacing:0px 0px; -ms-zoom:1; } 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 UserApp 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My AngularJS App 6 | 7 | 8 | 9 | 14 | 15 |
16 | 17 |
Angular seed app: v
18 |
Email: {{ user.email }}
19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /example/js/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | // Declare app level module which depends on filters, and services 5 | angular.module('myApp', [ 6 | 'ngRoute', 7 | 'myApp.filters', 8 | 'myApp.services', 9 | 'myApp.directives', 10 | 'myApp.controllers', 11 | 'UserApp' 12 | ]). 13 | config(['$routeProvider', function($routeProvider) { 14 | $routeProvider.when('/login', {templateUrl: 'partials/login.html', login: true}); 15 | $routeProvider.when('/signup', {templateUrl: 'partials/signup.html', public: true}); 16 | $routeProvider.when('/verify-email', {templateUrl: 'partials/verify-email.html', verify_email: true}); 17 | $routeProvider.when('/reset-password', {templateUrl: 'partials/reset-password.html', public: true}); 18 | $routeProvider.when('/set-password', {templateUrl: 'partials/set-password.html', set_password: true}); 19 | $routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'}); 20 | $routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'}); 21 | $routeProvider.otherwise({redirectTo: '/view1'}); 22 | }]) 23 | .run(function($rootScope, user) { 24 | // Initiate the user service with your UserApp App Id 25 | // https://help.userapp.io/customer/portal/articles/1322336-how-do-i-find-my-app-id- 26 | user.init({ appId: 'YOUR-USERAPP-APP-ID' }); 27 | }); 28 | -------------------------------------------------------------------------------- /example/lib/angular/angular-loader.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.2.3 3 | (c) 2010-2014 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(){'use strict';function d(a){return function(){var c=arguments[0],b,c="["+(a?a+":":"")+c+"] http://errors.angularjs.org/1.2.3/"+(a?a+"/":"")+c;for(b=1;b