├── README.md ├── build.gradle ├── gradle.properties └── src └── main ├── java └── br │ └── eti │ └── mertz │ └── springangular │ ├── application │ ├── controllers │ │ ├── AuthenticationCtrl.java │ │ ├── UserCtrl.java │ │ └── advice │ │ │ ├── ErrorCtrl.java │ │ │ └── ServerException.java │ ├── domain │ │ └── access │ │ │ ├── Password.java │ │ │ ├── Profile.java │ │ │ └── User.java │ ├── repositories │ │ ├── jpa │ │ │ └── UserRepository.java │ │ └── mongo │ │ │ └── UserRepository.java │ └── services │ │ ├── TokenUtils.java │ │ ├── UserService.java │ │ └── impl │ │ ├── TokenUtilsImpl.java │ │ └── UserServiceImpl.java │ └── infrastructure │ └── configs │ ├── ApplicationConfiguration.java │ ├── JpaConfiguration.java │ ├── MongoConfiguration.java │ ├── PropertySourceConfiguration.java │ ├── SecurityConfiguration.java │ ├── WebAppBootstrap.java │ ├── WebConfig.java │ └── security │ ├── AuthenticationTokenProcessingFilter.java │ └── UnauthorizedEntryPoint.java ├── resources ├── config.properties ├── logback.xml └── spring-security.xml └── webapp ├── bower.json ├── bower_components ├── AngularJS-Toaster │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── toaster.css │ └── toaster.js ├── angular-animate │ ├── .bower.json │ ├── README.md │ ├── angular-animate.js │ ├── angular-animate.min.js │ ├── angular-animate.min.js.map │ └── bower.json ├── angular-bootstrap │ ├── .bower.json │ ├── bower.json │ ├── ui-bootstrap-tpls.js │ ├── ui-bootstrap-tpls.min.js │ ├── ui-bootstrap.js │ └── ui-bootstrap.min.js ├── angular-cookies │ ├── .bower.json │ ├── README.md │ ├── angular-cookies.js │ ├── angular-cookies.min.js │ ├── angular-cookies.min.js.map │ └── bower.json ├── angular-local-storage │ ├── .bower.json │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── angular-local-storage.js │ ├── angular-local-storage.min.js │ ├── bower.json │ ├── demo │ │ ├── demo-app.js │ │ ├── demo-style.css │ │ └── demo.html │ └── package.json ├── angular-mocks │ ├── .bower.json │ ├── README.md │ ├── angular-mocks.js │ └── bower.json ├── angular-resource │ ├── .bower.json │ ├── README.md │ ├── angular-resource.js │ ├── angular-resource.min.js │ ├── angular-resource.min.js.map │ └── bower.json ├── angular-route │ ├── .bower.json │ ├── README.md │ ├── angular-route.js │ ├── angular-route.min.js │ ├── angular-route.min.js.map │ └── bower.json ├── angular-sanitize │ ├── .bower.json │ ├── README.md │ ├── angular-sanitize.js │ ├── angular-sanitize.min.js │ ├── angular-sanitize.min.js.map │ └── bower.json ├── angular-scenario │ ├── .bower.json │ ├── README.md │ ├── angular-scenario.js │ ├── bower.json │ ├── jstd-scenario-adapter-config.js │ └── jstd-scenario-adapter.js ├── angular │ ├── .bower.json │ ├── README.md │ ├── angular-csp.css │ ├── angular.js │ ├── angular.min.js │ ├── angular.min.js.gzip │ ├── angular.min.js.map │ └── bower.json ├── bootstrap │ ├── .bower.json │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ └── bootstrap.min.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ └── js │ │ │ ├── bootstrap.js │ │ │ └── bootstrap.min.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ ├── grunt │ │ ├── bs-glyphicons-data-generator.js │ │ ├── bs-lessdoc-parser.js │ │ ├── bs-raw-files-generator.js │ │ └── shrinkwrap.js │ ├── js │ │ ├── affix.js │ │ ├── alert.js │ │ ├── button.js │ │ ├── carousel.js │ │ ├── collapse.js │ │ ├── dropdown.js │ │ ├── modal.js │ │ ├── popover.js │ │ ├── scrollspy.js │ │ ├── tab.js │ │ ├── tooltip.js │ │ └── transition.js │ ├── less │ │ ├── alerts.less │ │ ├── badges.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── glyphicons.less │ │ ├── grid.less │ │ ├── input-groups.less │ │ ├── jumbotron.less │ │ ├── labels.less │ │ ├── list-group.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── normalize.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── panels.less │ │ ├── popovers.less │ │ ├── print.less │ │ ├── progress-bars.less │ │ ├── responsive-utilities.less │ │ ├── scaffolding.less │ │ ├── tables.less │ │ ├── theme.less │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ ├── package.json │ └── test-infra │ │ ├── README.md │ │ ├── npm-shrinkwrap.canonical.json │ │ ├── requirements.txt │ │ ├── s3_cache.py │ │ ├── sauce_browsers.yml │ │ └── uncached-npm-install.sh ├── es5-shim │ ├── .bower.json │ ├── .gitignore │ ├── CHANGES │ ├── CONTRIBUTORS.md │ ├── LICENSE │ ├── README.md │ ├── es5-sham.js │ ├── es5-sham.map │ ├── es5-sham.min.js │ ├── es5-shim.js │ ├── es5-shim.map │ ├── es5-shim.min.js │ ├── package.json │ └── tests │ │ ├── helpers │ │ ├── h-kill.js │ │ ├── h-matchers.js │ │ └── h.js │ │ ├── index.html │ │ ├── index.min.html │ │ ├── lib │ │ ├── jasmine-html.js │ │ ├── jasmine.css │ │ ├── jasmine.js │ │ ├── jasmine_favicon.png │ │ └── json2.js │ │ └── spec │ │ ├── s-array.js │ │ ├── s-date.js │ │ ├── s-function.js │ │ ├── s-number.js │ │ ├── s-object.js │ │ └── s-string.js ├── jquery │ ├── .bower.json │ ├── .editorconfig │ ├── .gitattributes │ ├── .gitignore │ ├── .gitmodules │ ├── .jshintrc │ ├── .mailmap │ ├── AUTHORS.txt │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── MIT-LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── build │ │ ├── release-notes.js │ │ └── release.js │ ├── component.json │ ├── composer.json │ ├── jquery-migrate.js │ ├── jquery-migrate.min.js │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── package.json │ ├── speed │ │ ├── benchmark.js │ │ ├── benchmarker.css │ │ ├── benchmarker.js │ │ ├── closest.html │ │ ├── css.html │ │ ├── event.html │ │ ├── filter.html │ │ ├── find.html │ │ ├── index.html │ │ ├── jquery-basis.js │ │ └── slice.vs.concat.html │ ├── src │ │ ├── .jshintrc │ │ ├── ajax.js │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── script.js │ │ │ └── xhr.js │ │ ├── attributes.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── css.js │ │ ├── data.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── event-alias.js │ │ ├── event.js │ │ ├── exports.js │ │ ├── intro.js │ │ ├── manipulation.js │ │ ├── offset.js │ │ ├── outro.js │ │ ├── queue.js │ │ ├── serialize.js │ │ ├── sizzle-jquery.js │ │ ├── support.js │ │ ├── traversing.js │ │ └── wrap.js │ └── test │ │ ├── .jshintignore │ │ ├── .jshintrc │ │ ├── data │ │ ├── 1x1.jpg │ │ ├── ajax │ │ │ └── unreleasedXHR.html │ │ ├── atom+xml.php │ │ ├── badcall.js │ │ ├── badjson.js │ │ ├── cleanScript.html │ │ ├── core │ │ │ └── cc_on.html │ │ ├── dashboard.xml │ │ ├── dimensions │ │ │ ├── documentLarge.html │ │ │ └── documentSmall.html │ │ ├── echoData.php │ │ ├── echoQuery.php │ │ ├── errorWithJSON.php │ │ ├── errorWithText.php │ │ ├── etag.php │ │ ├── evalScript.php │ │ ├── event │ │ │ ├── focusElem.html │ │ │ ├── longLoadScript.php │ │ │ ├── promiseReady.html │ │ │ └── syncReady.html │ │ ├── headers.php │ │ ├── if_modified_since.php │ │ ├── iframe.html │ │ ├── jquery-1.9.1.ajax_xhr.min.js │ │ ├── json.php │ │ ├── json_obj.js │ │ ├── jsonp.php │ │ ├── manipulation │ │ │ └── iframe-denied.html │ │ ├── name.html │ │ ├── name.php │ │ ├── nocontent.php │ │ ├── offset │ │ │ ├── absolute.html │ │ │ ├── body.html │ │ │ ├── fixed.html │ │ │ ├── relative.html │ │ │ ├── scroll.html │ │ │ ├── static.html │ │ │ └── table.html │ │ ├── params_html.php │ │ ├── readywaitasset.js │ │ ├── readywaitloader.js │ │ ├── script.php │ │ ├── selector │ │ │ ├── html5_selector.html │ │ │ └── sizzle_cache.html │ │ ├── statusText.php │ │ ├── support │ │ │ ├── bodyBackground.html │ │ │ ├── boxSizing.html │ │ │ ├── csp.js │ │ │ ├── csp.php │ │ │ ├── shrinkWrapBlocks.html │ │ │ └── testElementCrash.html │ │ ├── test.html │ │ ├── test.js │ │ ├── test.php │ │ ├── test2.html │ │ ├── test3.html │ │ ├── testinit.js │ │ ├── testrunner.js │ │ ├── testsuite.css │ │ ├── text.php │ │ ├── ua.txt │ │ ├── with_fries.xml │ │ └── with_fries_over_jsonp.php │ │ ├── delegatetest.html │ │ ├── hovertest.html │ │ ├── index.html │ │ ├── jquery.js │ │ ├── localfile.html │ │ ├── networkerror.html │ │ ├── readywait.html │ │ ├── unit │ │ ├── ajax.js │ │ ├── attributes.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── css.js │ │ ├── data.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── event.js │ │ ├── exports.js │ │ ├── manipulation.js │ │ ├── offset.js │ │ ├── queue.js │ │ ├── selector.js │ │ ├── serialize.js │ │ ├── support.js │ │ ├── traversing.js │ │ └── wrap.js │ │ └── xhtml.php ├── json3 │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── bower.json │ └── lib │ │ ├── json3.js │ │ └── json3.min.js ├── ng-table │ ├── .bower.json │ ├── .bowerrc │ ├── .editorconfig │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── Gruntfile.coffee │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── karma.conf.js │ ├── ng-table.css │ ├── ng-table.js │ ├── ng-table.less │ ├── ng-table.map │ ├── ng-table.src.js │ ├── package.json │ └── test │ │ ├── tableControllerSpec.js │ │ ├── tableParamsSpec.js │ │ └── tableSpec.js ├── requirejs-domready │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── domReady.js │ └── package.json ├── requirejs │ ├── .bower.json │ ├── README.md │ ├── bower.json │ └── require.js └── sizzle │ ├── .bower.json │ ├── dist │ ├── sizzle.js │ ├── sizzle.min.js │ └── sizzle.min.map │ ├── tasks │ ├── commit.js │ ├── compile.js │ ├── dist.js │ ├── release.js │ ├── tag.js │ └── version.js │ └── test │ ├── data │ ├── empty.js │ ├── mixed_sort.html │ └── testinit.js │ ├── index.html │ ├── jquery.js │ ├── libs │ └── qunit │ │ ├── qunit.css │ │ └── qunit.js │ └── unit │ ├── extending.js │ ├── selector.js │ └── utilities.js ├── fonts ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf └── glyphicons-halflings-regular.woff ├── index.html ├── scripts ├── app.js ├── bootstrap.js ├── controllers │ ├── index.js │ ├── login.js │ ├── module.js │ └── users.js ├── directives │ ├── equals.js │ ├── index.js │ ├── module.js │ └── navBar.js ├── filters │ ├── index.js │ └── module.js ├── main.js ├── routes.js └── services │ ├── index.js │ ├── module.js │ ├── tables.js │ └── user.js ├── styles └── angular-csp.css └── views ├── errors ├── 400.html ├── 403.html ├── 404.html └── 500.html ├── login.html ├── main.html └── users ├── user-edit.html ├── user-form.html └── users.html /build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'war' 2 | apply plugin: 'java' 3 | apply plugin: 'eclipse-wtp' 4 | 5 | sourceCompatibility = 1.7 6 | 7 | repositories { 8 | mavenCentral() 9 | } 10 | 11 | dependencies { 12 | compile "org.springframework:spring-webmvc:$springVersion" 13 | compile "org.springframework:spring-test:$springVersion" 14 | 15 | compile "org.springframework.data:spring-data-jpa:$springDataVersion" 16 | 17 | compile "commons-collections:commons-collections:$commonsCollectionsVersion" 18 | 19 | compile("org.springframework.security:spring-security-web:$springSecurityVersion") 20 | compile("org.springframework.security:spring-security-config:$springSecurityVersion") 21 | 22 | providedCompile "javax.servlet:javax.servlet-api:$servletVersion" 23 | testCompile "junit:junit:$junitVersion" 24 | 25 | compile "org.slf4j:slf4j-api:$slf4jVersion" 26 | runtime "org.slf4j:jul-to-slf4j:$slf4jVersion" 27 | runtime "org.slf4j:jcl-over-slf4j:$slf4jVersion" 28 | runtime "ch.qos.logback:logback-classic:$logbackVersion" 29 | 30 | compile "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion" 31 | compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:$jacksonVersion" 32 | 33 | compile "org.hibernate:hibernate-entitymanager:$hibernateVersion" 34 | compile "org.hibernate:hibernate-c3p0:$hibernateVersion" 35 | 36 | runtime "com.mchange:c3p0:$c3p0Version" 37 | runtime "org.postgresql:postgresql:$postgresqlVersion" 38 | 39 | compile "joda-time:joda-time:$jodatimeVersion" 40 | 41 | compile "org.springframework.data:spring-data-mongodb:1.3.3.RELEASE" 42 | } 43 | 44 | test { 45 | systemProperties 'property': 'value' 46 | } 47 | 48 | uploadArchives { 49 | repositories { 50 | flatDir { 51 | dirs 'repos' 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | version = 0.1-SNAPSHOT 2 | 3 | springVersion = 4.0.0.RELEASE 4 | springSecurityVersion = 3.2.0.RELEASE 5 | springDataVersion = 1.4.3.RELEASE 6 | commonsCollectionsVersion = 3.2 7 | servletVersion = 3.0.1 8 | c3p0Version = 0.9.2-pre2-RELEASE 9 | postgresqlVersion = 9.2-1003-jdbc4 10 | jodatimeVersion = 2.3 11 | logbackVersion = 1.0.13 12 | junitVersion = 4.+ 13 | jacksonVersion = 2.3.0 14 | slf4jVersion = 1.7.5 15 | cglibVersion = 3.0 16 | hibernateVersion = 4.2.5.Final -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/controllers/advice/ServerException.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.controllers.advice; 2 | 3 | import com.fasterxml.jackson.annotation.JsonPropertyOrder; 4 | 5 | @SuppressWarnings("serial") 6 | @JsonPropertyOrder({"message", "key", "cause"}) 7 | public class ServerException extends Exception { 8 | 9 | private String key; 10 | 11 | public ServerException(String message) { 12 | super(message); 13 | } 14 | 15 | public ServerException(String message, Throwable cause) { 16 | super(message, cause); 17 | } 18 | 19 | public ServerException(String message, String key, Throwable cause) { 20 | super(message, cause); 21 | this.key = key; 22 | } 23 | 24 | public ServerException(Throwable cause) { 25 | super(cause); 26 | } 27 | 28 | public String getKey() { 29 | return key; 30 | } 31 | 32 | public void setKey(String key) { 33 | this.key = key; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/domain/access/Password.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.domain.access; 2 | 3 | import java.io.Serializable; 4 | 5 | 6 | public class Password implements Serializable { 7 | 8 | private static final long serialVersionUID = 8824155423348403064L; 9 | 10 | private String value; 11 | 12 | private String confirm; 13 | 14 | private String older; 15 | 16 | public String getValue() { 17 | return value; 18 | } 19 | 20 | public void setValue(String value) { 21 | this.value = value; 22 | } 23 | 24 | public String getConfirm() { 25 | return confirm; 26 | } 27 | 28 | public void setConfirm(String confirm) { 29 | this.confirm = confirm; 30 | } 31 | 32 | public String getOlder() { 33 | return older; 34 | } 35 | 36 | public void setOlder(String older) { 37 | this.older = older; 38 | } 39 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/domain/access/Profile.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.domain.access; 2 | 3 | public enum Profile { 4 | ADMINISTRATOR, 5 | OPERATOR; 6 | 7 | public String getBundleName() { 8 | return "profile.role." + this; 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/repositories/jpa/UserRepository.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.repositories.jpa; 2 | 3 | import javax.persistence.NoResultException; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import br.eti.mertz.springangular.application.domain.access.User; 8 | 9 | public interface UserRepository extends JpaRepository { 10 | public User findByUsername(String username) throws NoResultException; 11 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/repositories/mongo/UserRepository.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.repositories.mongo; 2 | 3 | import javax.persistence.NoResultException; 4 | 5 | import org.springframework.data.mongodb.repository.MongoRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import br.eti.mertz.springangular.application.domain.access.User; 9 | 10 | @Repository("userRepositoryMongo") 11 | public interface UserRepository extends MongoRepository { 12 | public User findByUsername(String username) throws NoResultException; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/services/TokenUtils.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.services; 2 | 3 | import org.springframework.security.core.userdetails.UserDetails; 4 | 5 | 6 | public interface TokenUtils { 7 | 8 | public String createToken(UserDetails userDetails); 9 | public String computeSignature(UserDetails userDetails, long expires); 10 | public String getUserNameFromToken(String authToken); 11 | public boolean validateToken(String authToken, UserDetails userDetails); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/application/services/UserService.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.application.services; 2 | 3 | import org.springframework.security.core.userdetails.UserDetailsService; 4 | import org.springframework.transaction.annotation.Propagation; 5 | import org.springframework.transaction.annotation.Transactional; 6 | 7 | import br.eti.mertz.springangular.application.controllers.advice.ServerException; 8 | import br.eti.mertz.springangular.application.domain.access.User; 9 | 10 | @Transactional(propagation=Propagation.REQUIRED) 11 | public interface UserService extends UserDetailsService { 12 | public User persist(User user); 13 | public User update(User user); 14 | public void remove(User user); 15 | public User getCurrentUser(); 16 | public User findById(Long id); 17 | public long count(); 18 | public boolean checkCorrectPassword(User user, String password); 19 | public User save(User user) throws ServerException; 20 | public void delete(Long userId) throws ServerException; 21 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/ApplicationConfiguration.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import javax.annotation.PostConstruct; 4 | 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.context.annotation.Configuration; 9 | 10 | import br.eti.mertz.springangular.application.domain.access.Profile; 11 | import br.eti.mertz.springangular.application.domain.access.User; 12 | import br.eti.mertz.springangular.application.services.UserService; 13 | 14 | @Configuration 15 | public class ApplicationConfiguration { 16 | 17 | private Logger log = LoggerFactory.getLogger(ApplicationConfiguration.class); 18 | 19 | @Autowired 20 | private UserService userService; 21 | 22 | @PostConstruct 23 | public void init() { 24 | createUsers(); 25 | } 26 | 27 | private void createUsers() { 28 | log.debug("Verifying if there are users..."); 29 | 30 | if (userService.count() == 0) { 31 | createUser("Administrator", "admin", "admin", Profile.ADMINISTRATOR); 32 | createUser("Operator", "oper", "oper", Profile.OPERATOR); 33 | } 34 | 35 | log.debug("Users OK."); 36 | } 37 | 38 | private void createUser(String name, String username, String password, Profile profile) { 39 | log.debug("Creating user: {}", name); 40 | User user = new User(); 41 | user.setProfile(profile); 42 | user.setPassword(password); 43 | user.setUsername(username); 44 | user.setEnabled(true); 45 | user.setName(name); 46 | userService.persist(user); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/MongoConfiguration.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import org.springframework.beans.factory.annotation.Value; 4 | import org.springframework.context.annotation.Bean; 5 | import org.springframework.context.annotation.Configuration; 6 | import org.springframework.dao.DataAccessException; 7 | import org.springframework.data.mongodb.MongoDbFactory; 8 | import org.springframework.data.mongodb.core.MongoTemplate; 9 | import org.springframework.data.mongodb.core.SimpleMongoDbFactory; 10 | import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; 11 | 12 | import com.mongodb.DB; 13 | import com.mongodb.DBCollection; 14 | import com.mongodb.MongoClient; 15 | 16 | @Configuration 17 | @EnableMongoRepositories(basePackages = { "br.eti.mertz.springangular.application.repositories.mongo" }) 18 | public class MongoConfiguration { 19 | 20 | @Value("${config.mongodb.url}") 21 | private String url; 22 | 23 | @Value("${config.mongodb.db}") 24 | private String db; 25 | 26 | public @Bean 27 | MongoDbFactory mongoDbFactory() throws Exception { 28 | return new SimpleMongoDbFactory(new MongoClient(url), db); 29 | } 30 | 31 | public @Bean 32 | DBCollection mongoDB() throws DataAccessException, Exception { 33 | DB db = mongoDbFactory().getDb(); 34 | 35 | DBCollection collection = db.getCollection("users"); 36 | return collection; 37 | } 38 | 39 | public @Bean 40 | MongoTemplate mongoTemplate() throws Exception { 41 | 42 | MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory()); 43 | 44 | return mongoTemplate; 45 | 46 | } 47 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/PropertySourceConfiguration.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.PropertySource; 6 | import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; 7 | 8 | @Configuration 9 | @PropertySource({"classpath:config.properties"}) 10 | public class PropertySourceConfiguration { 11 | 12 | @Bean 13 | public static PropertySourcesPlaceholderConfigurer propertyPlaceHolder() { 14 | return new PropertySourcesPlaceholderConfigurer(); 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/SecurityConfiguration.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.context.annotation.ImportResource; 6 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; 7 | import org.springframework.security.crypto.password.PasswordEncoder; 8 | import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer; 9 | 10 | @Configuration 11 | @ImportResource({"classpath:/spring-security.xml"}) 12 | public class SecurityConfiguration extends AbstractSecurityWebApplicationInitializer{ 13 | 14 | @Bean 15 | public PasswordEncoder passwordEncoder() { 16 | return new BCryptPasswordEncoder(); 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/WebAppBootstrap.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import javax.servlet.ServletContext; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.ServletRegistration; 6 | 7 | import org.springframework.web.WebApplicationInitializer; 8 | import org.springframework.web.context.ContextLoaderListener; 9 | import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; 10 | import org.springframework.web.servlet.DispatcherServlet; 11 | 12 | public class WebAppBootstrap implements WebApplicationInitializer { 13 | 14 | @Override 15 | public void onStartup(ServletContext container) 16 | throws ServletException { 17 | // Spring application context 18 | AnnotationConfigWebApplicationContext context; 19 | context = new AnnotationConfigWebApplicationContext(); 20 | context.scan("br.eti.mertz.springangular.infrastructure.configs"); 21 | // Manage lifecycle application context 22 | container.addListener(new ContextLoaderListener(context)); 23 | // Spring MVC 24 | ServletRegistration.Dynamic dispatcher = container 25 | .addServlet("dispatcher", new DispatcherServlet(context)); 26 | dispatcher.setLoadOnStartup(1); 27 | dispatcher.addMapping("/"); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/WebConfig.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs; 2 | 3 | import org.springframework.context.annotation.ComponentScan; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; 6 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 7 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 8 | 9 | @Configuration 10 | @EnableWebMvc 11 | @ComponentScan(basePackages="br.eti.mertz.springangular.application") 12 | public class WebConfig extends WebMvcConfigurerAdapter { 13 | 14 | @Override 15 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 16 | String[] resources = {"**/*.js", "**/*.css", "**/*.html", "**/*.png", "**/*.ico", "**/*.woff", "**/*.ttf", "**/*.svg", "**/*.eot"}; 17 | registry.addResourceHandler(resources).addResourceLocations("/"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/br/eti/mertz/springangular/infrastructure/configs/security/UnauthorizedEntryPoint.java: -------------------------------------------------------------------------------- 1 | package br.eti.mertz.springangular.infrastructure.configs.security; 2 | 3 | import java.io.IOException; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | import org.springframework.security.core.AuthenticationException; 10 | import org.springframework.security.web.AuthenticationEntryPoint; 11 | import org.springframework.stereotype.Component; 12 | 13 | 14 | @Component("unauthorizedEntryPoint") 15 | public class UnauthorizedEntryPoint implements AuthenticationEntryPoint { 16 | 17 | @Override 18 | public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) 19 | throws IOException, ServletException { 20 | 21 | response.sendError( 22 | HttpServletResponse.SC_UNAUTHORIZED, 23 | "Unauthorized: Authentication token was either missing or invalid."); 24 | } 25 | } -------------------------------------------------------------------------------- /src/main/resources/config.properties: -------------------------------------------------------------------------------- 1 | # DB - DATASOURCE # 2 | config.db.dialect = org.hibernate.dialect.PostgreSQLDialect 3 | config.db.driverClass = org.postgresql.Driver 4 | config.db.packagesToScan = br.eti.mertz.springangular.application.domain.access 5 | config.db.jdbcUrl = jdbc:postgresql://localhost/inovatic 6 | config.db.username = admin 7 | config.db.password = admin 8 | 9 | config.db.showSql = true 10 | config.db.formatSql = true 11 | config.db.hbm2ddl = create 12 | config.db.pool.minPoolSize = 1 13 | config.db.pool.maxPoolSize = 5 14 | config.db.pool.acquireIncrement = 1 15 | config.db.pool.idleConnectionTestPeriod = 5000 16 | config.db.pool.maxStatements = 50 17 | config.db.cache.secondLevel = true 18 | config.db.cache.query = true 19 | config.db.cache.factory = net.sf.ehcache.hibernate.EhCacheRegionFactory 20 | 21 | config.mongodb.url = localhost:27017 22 | config.mongodb.db = yourdb -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 9 | 10 | %date %5p %40.40c:%4L - %m%n 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/spring-security.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/webapp/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web-app", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "angular": "~1.2.13", 6 | "json3": "~3.2.4", 7 | "jquery": "~1.10.0", 8 | "bootstrap": "~3.1.1", 9 | "es5-shim": "~2.1.0", 10 | "angular-resource": "~1.2.13", 11 | "angular-cookies": "~1.2.13", 12 | "angular-sanitize": "~1.2.13", 13 | "angular-route": "~1.2.13", 14 | "angular-local-storage": "*", 15 | "requirejs": "~2.1.9", 16 | "requirejs-domready": "~2.0.1", 17 | "angular-bootstrap": "~0.10.0", 18 | "ng-table": "~0.3.1", 19 | "AngularJS-Toaster": "~0.4.3", 20 | }, 21 | "devDependencies": { 22 | "angular-mocks": "~1.2.13", 23 | "angular-scenario": "~1.2.13" 24 | }, 25 | "resolutions": { 26 | "angular": "~1.2.13" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/AngularJS-Toaster/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AngularJS-Toaster", 3 | "version": "0.4.3", 4 | "main": [ 5 | "toaster.js", 6 | "toaster.css" 7 | ], 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "components" 12 | ], 13 | "dependencies": { 14 | "angular": "~1.2.13", 15 | "angular-animate": "~1.2.13", 16 | "bootstrap": "~3.1.1" 17 | }, 18 | "homepage": "https://github.com/jirikavi/AngularJS-Toaster", 19 | "_release": "0.4.3", 20 | "_resolution": { 21 | "type": "version", 22 | "tag": "0.4.3", 23 | "commit": "2447d5ac551ef5b300d97ee2837d943ec052a47b" 24 | }, 25 | "_source": "git://github.com/jirikavi/AngularJS-Toaster.git", 26 | "_target": "~0.4.3", 27 | "_originalSource": "AngularJS-Toaster" 28 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/AngularJS-Toaster/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 jirikavi 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 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/AngularJS-Toaster/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AngularJS-Toaster", 3 | "version": "0.4.3", 4 | "main": [ 5 | "toaster.js", 6 | "toaster.css" 7 | ], 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "components" 12 | ], 13 | "dependencies": { 14 | "angular": "~1.2.13", 15 | "angular-animate": "~1.2.13", 16 | "bootstrap": "~3.1.1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-animate/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-animate", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-animate.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-animate", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "e64ad9315a51881d1e717818c0b48c19c505c253" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-animate.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-animate" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-animate/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-animate 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngAnimate). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-animate 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | And add `ngAnimate` as a dependency for your app: 22 | 23 | ```javascript 24 | angular.module('myApp', ['ngAnimate']); 25 | ``` 26 | 27 | ## Documentation 28 | 29 | Documentation is available on the 30 | [AngularJS docs site](http://docs.angularjs.org/api/ngAnimate). 31 | 32 | ## License 33 | 34 | The MIT License 35 | 36 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy 39 | of this software and associated documentation files (the "Software"), to deal 40 | in the Software without restriction, including without limitation the rights 41 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | copies of the Software, and to permit persons to whom the Software is 43 | furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in 46 | all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | THE SOFTWARE. 55 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-animate/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-animate", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-animate.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "https://github.com/angular-ui/bootstrap/graphs/contributors" 4 | }, 5 | "name": "angular-bootstrap", 6 | "version": "0.10.0", 7 | "main": [ 8 | "./ui-bootstrap-tpls.js" 9 | ], 10 | "dependencies": { 11 | "angular": ">=1" 12 | }, 13 | "homepage": "https://github.com/angular-ui/bootstrap-bower", 14 | "_release": "0.10.0", 15 | "_resolution": { 16 | "type": "version", 17 | "tag": "0.10.0", 18 | "commit": "f486d33d6f4c60d905ed0792eacbba2456a32b87" 19 | }, 20 | "_source": "git://github.com/angular-ui/bootstrap-bower.git", 21 | "_target": "~0.10.0", 22 | "_originalSource": "angular-bootstrap" 23 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "https://github.com/angular-ui/bootstrap/graphs/contributors" 4 | }, 5 | "name": "angular-bootstrap", 6 | "version": "0.10.0", 7 | "main": ["./ui-bootstrap-tpls.js"], 8 | "dependencies": { 9 | "angular": ">=1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-cookies/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-cookies", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-cookies.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-cookies", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "c724e187f075066cbda7f3ffcbefc6de38a3ee1e" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-cookies.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-cookies" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-cookies/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-cookies 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngCookies). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-cookies 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | And add `ngCookies` as a dependency for your app: 22 | 23 | ```javascript 24 | angular.module('myApp', ['ngCookies']); 25 | ``` 26 | 27 | ## Documentation 28 | 29 | Documentation is available on the 30 | [AngularJS docs site](http://docs.angularjs.org/api/ngCookies). 31 | 32 | ## License 33 | 34 | The MIT License 35 | 36 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy 39 | of this software and associated documentation files (the "Software"), to deal 40 | in the Software without restriction, including without limitation the rights 41 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | copies of the Software, and to permit persons to whom the Software is 43 | furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in 46 | all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | THE SOFTWARE. 55 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-cookies/angular-cookies.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.2.14-build.2287+sha.1b74e5e 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 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-cookies/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-cookies", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-cookies.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-local-storage", 3 | "version": "0.0.1", 4 | "homepage": "http://gregpike.net/demos/angular-local-storage/demo.html", 5 | "authors": [ 6 | "grevory " 7 | ], 8 | "description": "An Angular module that gives you access to the browser's local storage", 9 | "main": "angular-local-storage.js", 10 | "keywords": [ 11 | "AngularJS", 12 | "Local Storage" 13 | ], 14 | "license": "MIT", 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ], 22 | "devDependencies": { 23 | "angularjs": "*", 24 | "angular-mocks": "~1.2.1" 25 | }, 26 | "_release": "0.0.1", 27 | "_resolution": { 28 | "type": "version", 29 | "tag": "0.0.1", 30 | "commit": "4eff3c2377404a472909588e49abd647f2ac3ab8" 31 | }, 32 | "_source": "git://github.com/grevory/angular-local-storage.git", 33 | "_target": "*", 34 | "_originalSource": "angular-local-storage" 35 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 'use strict'; 3 | 4 | // Load the grunt tasks 5 | require('load-grunt-tasks')(grunt); 6 | 7 | // Time the grunt tasks 8 | require('time-grunt')(grunt); 9 | 10 | grunt.initConfig({ 11 | karma: { 12 | options: { 13 | autowatch: true, 14 | browsers: [ 15 | 'PhantomJS' 16 | ], 17 | configFile: 'test/karma.conf.js', 18 | reporters: ['dots'], 19 | singleRun: false 20 | }, 21 | unit: {} 22 | }, 23 | jshint: { 24 | grunt: { 25 | src: ['Gruntfile.js'], 26 | options: { 27 | node: true 28 | } 29 | }, 30 | dev: { 31 | src: ['angular-local-storage.js'], 32 | options: { 33 | jshintrc: '.jshintrc', 34 | } 35 | }, 36 | test: { 37 | src: ['test/spec/**/*.js'], 38 | options: { 39 | jshintrc: 'test/.jshintrc', 40 | } 41 | } 42 | }, 43 | uglify: { 44 | dist: { 45 | files: { 46 | 'angular-local-storage.min.js': 'angular-local-storage.js' 47 | } 48 | } 49 | } 50 | }); 51 | 52 | grunt.registerTask('test', [ 53 | 'karma' 54 | ]); 55 | 56 | grunt.registerTask('default', [ 57 | 'jshint', 58 | 'test' 59 | ]); 60 | 61 | grunt.registerTask('dist', [ 62 | 'uglify' 63 | ]); 64 | }; 65 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/LICENSE: -------------------------------------------------------------------------------- 1 | Angular Local Storage 2 | Copyright 2013 Gregory Pike 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/README.md: -------------------------------------------------------------------------------- 1 | angular-local-storage 2 | ===================== 3 | 4 | An Angular module that gives you access to the browsers local storage 5 | 6 | [![Build Status](https://secure.travis-ci.org/grevory/angular-local-storage.png?branch=master)](https://travis-ci.org/grevory/) 7 | 8 | Example use: 9 | 10 | ```javascript 11 | angular.module('yourModule', ['LocalStorageModule']) 12 | .controller('yourCtrl', [ 13 | '$scope', 14 | 'localStorageService', 15 | function($scope, localStorageService) { 16 | // Start fresh 17 | localStorageService.clearAll(); 18 | localStorageService.add('Favorite Sport','Ultimate Frisbee'); 19 | }]); 20 | 21 | /* 22 | To set the prefix of your localStorage name, you can use the setPrefix method 23 | available on the localStorageServiceProvider 24 | */ 25 | angular.module('yourModule', ['LocalStorageModule']) 26 | .config(['localStorageServiceProvider', function(localStorageServiceProvider){ 27 | localStorageServiceProvider.setPrefix('newPrefix'); 28 | }]); 29 | ``` 30 | Check out the full demo and documentation at http://gregpike.net/demos/angular-local-storage/demo.html 31 | 32 | To do: 33 | - Add tests 34 | - Expand Readme 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-local-storage", 3 | "version": "0.0.1", 4 | "homepage": "http://gregpike.net/demos/angular-local-storage/demo.html", 5 | "authors": [ 6 | "grevory " 7 | ], 8 | "description": "An Angular module that gives you access to the browser's local storage", 9 | "main": "angular-local-storage.js", 10 | "keywords": [ 11 | "AngularJS", 12 | "Local Storage" 13 | ], 14 | "license": "MIT", 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ], 22 | "devDependencies": { 23 | "angularjs": "*", 24 | "angular-mocks": "~1.2.1" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/demo/demo-app.js: -------------------------------------------------------------------------------- 1 | angular.module('demoModule', ['LocalStorageModule']) 2 | .config(['localStorageServiceProvider', function(localStorageServiceProvider){ 3 | localStorageServiceProvider.setPrefix('demoPrefix'); 4 | // localStorageServiceProvider.setStorageCookieDomain('example.com'); 5 | // localStorageServiceProvider.setStorageType('sessionStorage'); 6 | }]) 7 | .controller('DemoCtrl', [ 8 | '$scope', 9 | 'localStorageService', 10 | function($scope, localStorageService) { 11 | // Start fresh 12 | localStorageService.clearAll(); 13 | 14 | $scope.$watch('localStorageDemo', function(value){ 15 | localStorageService.add('localStorageDemo',value); 16 | $scope.localStorageDemoValue = localStorageService.get('localStorageDemo'); 17 | }); 18 | 19 | $scope.storageType = 'Local storage'; 20 | 21 | if (localStorageService.getStorageType().indexOf('session') >= 0) { 22 | $scope.storageType = 'Session storage' 23 | } 24 | 25 | if (!localStorageService.isSupported) { 26 | $scope.storageType = 'Cookie'; 27 | } 28 | } 29 | ]); -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/demo/demo-style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 10px; 3 | } 4 | 5 | body .navbar .brand { 6 | color: #FFFFFF; 7 | } 8 | 9 | .hero-unit h1 { 10 | margin: 0 0 10px 0; 11 | } 12 | 13 | pre.prettyprint { 14 | padding: 10px; 15 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-local-storage/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-local-storage", 3 | "version": "0.0.2", 4 | "description": "An Angular module that gives you access to the browsers local storage", 5 | "main": "angular-local-storage.js", 6 | "scripts": { 7 | "test": "grunt test" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/grevory/angular-local-storage.git" 12 | }, 13 | "keywords": [ 14 | "AngularJS", 15 | "local", 16 | "storage" 17 | ], 18 | "author": "grevory ", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/grevory/angular-local-storage/issues" 22 | }, 23 | "dependencies": { 24 | "grunt": "~0.4.1", 25 | "grunt-cli": "~0.1.9" 26 | }, 27 | "devDependencies": { 28 | "time-grunt": "~0.2.9", 29 | "load-grunt-tasks": "~0.3.0", 30 | "grunt-contrib-jshint": "~0.8.0", 31 | "grunt": "~0.4.2", 32 | "grunt-contrib-uglify": "~0.3.2", 33 | "karma": "~0.8", 34 | "grunt-karma": "~0.6.2", 35 | "karma-jasmine": "*" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-mocks/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-mocks.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-mocks", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "c7ed01f01ce4f75b5700844a5f864baaaa0bda85" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-mocks.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-mocks" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-mocks/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-mocks 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngMock). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-mocks 13 | ``` 14 | 15 | ## Documentation 16 | 17 | Documentation is available on the 18 | [AngularJS docs site](http://docs.angularjs.org/guide/dev_guide.unit-testing). 19 | 20 | ## License 21 | 22 | The MIT License 23 | 24 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 25 | 26 | Permission is hereby granted, free of charge, to any person obtaining a copy 27 | of this software and associated documentation files (the "Software"), to deal 28 | in the Software without restriction, including without limitation the rights 29 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 30 | copies of the Software, and to permit persons to whom the Software is 31 | furnished to do so, subject to the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be included in 34 | all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 37 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 39 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 40 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 41 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 42 | THE SOFTWARE. 43 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-mocks/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-mocks.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-resource/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-resource", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-resource.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-resource", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "3040e7e1d2386614604c6b01db3c4be2190db291" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-resource.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-resource" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-resource/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-resource 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngResource). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-resource 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | And add `ngResource` as a dependency for your app: 22 | 23 | ```javascript 24 | angular.module('myApp', ['ngResource']); 25 | ``` 26 | 27 | ## Documentation 28 | 29 | Documentation is available on the 30 | [AngularJS docs site](http://docs.angularjs.org/api/ngResource). 31 | 32 | ## License 33 | 34 | The MIT License 35 | 36 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy 39 | of this software and associated documentation files (the "Software"), to deal 40 | in the Software without restriction, including without limitation the rights 41 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | copies of the Software, and to permit persons to whom the Software is 43 | furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in 46 | all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | THE SOFTWARE. 55 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-resource/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-resource", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-resource.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-route/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-route", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-route.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-route", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "0a8292f4c5cfb570350e69b881676502adadabc3" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-route.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-route" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-route/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-route 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngRoute). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-route 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | And add `ngRoute` as a dependency for your app: 22 | 23 | ```javascript 24 | angular.module('myApp', ['ngRoute']); 25 | ``` 26 | 27 | ## Documentation 28 | 29 | Documentation is available on the 30 | [AngularJS docs site](http://docs.angularjs.org/api/ngRoute). 31 | 32 | ## License 33 | 34 | The MIT License 35 | 36 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy 39 | of this software and associated documentation files (the "Software"), to deal 40 | in the Software without restriction, including without limitation the rights 41 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | copies of the Software, and to permit persons to whom the Software is 43 | furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in 46 | all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | THE SOFTWARE. 55 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-route/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-route", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-route.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-sanitize/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-sanitize", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-sanitize.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-sanitize", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "2ef44da7fed0b0cce3f3b2058e4b2e1c9c514815" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-sanitize.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-sanitize" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-sanitize/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-sanitize 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngSanitize). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-sanitize 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | And add `ngSanitize` as a dependency for your app: 22 | 23 | ```javascript 24 | angular.module('myApp', ['ngSanitize']); 25 | ``` 26 | 27 | ## Documentation 28 | 29 | Documentation is available on the 30 | [AngularJS docs site](http://docs.angularjs.org/api/ngSanitize). 31 | 32 | ## License 33 | 34 | The MIT License 35 | 36 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining a copy 39 | of this software and associated documentation files (the "Software"), to deal 40 | in the Software without restriction, including without limitation the rights 41 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 42 | copies of the Software, and to permit persons to whom the Software is 43 | furnished to do so, subject to the following conditions: 44 | 45 | The above copyright notice and this permission notice shall be included in 46 | all copies or substantial portions of the Software. 47 | 48 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 49 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 50 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 51 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 52 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 53 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 54 | THE SOFTWARE. 55 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-sanitize/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-sanitize", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-sanitize.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-scenario/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-scenario", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-scenario.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | }, 8 | "homepage": "https://github.com/angular/bower-angular-scenario", 9 | "_release": "1.2.14-build.2287+sha.1b74e5e", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 13 | "commit": "e39eb9d53f70a5a2b65a6620ea9d0fdcb67be554" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular-scenario.git", 16 | "_target": "~1.2.13", 17 | "_originalSource": "angular-scenario" 18 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-scenario/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular-scenario 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngScenario). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular-scenario 13 | ``` 14 | 15 | ## Documentation 16 | 17 | Documentation is available on the 18 | [AngularJS docs site](http://docs.angularjs.org/). 19 | 20 | ## License 21 | 22 | The MIT License 23 | 24 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 25 | 26 | Permission is hereby granted, free of charge, to any person obtaining a copy 27 | of this software and associated documentation files (the "Software"), to deal 28 | in the Software without restriction, including without limitation the rights 29 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 30 | copies of the Software, and to permit persons to whom the Software is 31 | furnished to do so, subject to the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be included in 34 | all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 37 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 38 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 39 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 40 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 41 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 42 | THE SOFTWARE. 43 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-scenario/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-scenario", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular-scenario.js", 5 | "dependencies": { 6 | "angular": "1.2.14-build.2287+sha.1b74e5e" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular-scenario/jstd-scenario-adapter-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Configuration for jstd scenario adapter 3 | */ 4 | var jstdScenarioAdapter = { 5 | relativeUrlPrefix: '/build/docs/' 6 | }; 7 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular.js", 5 | "dependencies": {}, 6 | "homepage": "https://github.com/angular/bower-angular", 7 | "_release": "1.2.14-build.2287+sha.1b74e5e", 8 | "_resolution": { 9 | "type": "version", 10 | "tag": "v1.2.14-build.2287+sha.1b74e5e", 11 | "commit": "767c98314f1c5a3a6f7a68407364177b7f387bad" 12 | }, 13 | "_source": "git://github.com/angular/bower-angular.git", 14 | "_target": "1.2.14-build.2287+sha.1b74e5e", 15 | "_originalSource": "angular" 16 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular/README.md: -------------------------------------------------------------------------------- 1 | # bower-angular 2 | 3 | This repo is for distribution on `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | Install with `bower`: 10 | 11 | ```shell 12 | bower install angular 13 | ``` 14 | 15 | Add a ` 19 | ``` 20 | 21 | ## Documentation 22 | 23 | Documentation is available on the 24 | [AngularJS docs site](http://docs.angularjs.org/). 25 | 26 | ## License 27 | 28 | The MIT License 29 | 30 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 31 | 32 | Permission is hereby granted, free of charge, to any person obtaining a copy 33 | of this software and associated documentation files (the "Software"), to deal 34 | in the Software without restriction, including without limitation the rights 35 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 36 | copies of the Software, and to permit persons to whom the Software is 37 | furnished to do so, subject to the following conditions: 38 | 39 | The above copyright notice and this permission notice shall be included in 40 | all copies or substantial portions of the Software. 41 | 42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 43 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 47 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 48 | THE SOFTWARE. 49 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/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 | .ng-animate-block-transitions { 16 | transition:0s all!important; 17 | -webkit-transition:0s all!important; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular/angular.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/angular/angular.min.js.gzip -------------------------------------------------------------------------------- /src/main/webapp/bower_components/angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.2.14-build.2287+sha.1b74e5e", 4 | "main": "./angular.js", 5 | "dependencies": { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "version": "3.1.1", 4 | "main": [ 5 | "./dist/css/bootstrap.css", 6 | "./dist/js/bootstrap.js", 7 | "./dist/fonts/glyphicons-halflings-regular.eot", 8 | "./dist/fonts/glyphicons-halflings-regular.svg", 9 | "./dist/fonts/glyphicons-halflings-regular.ttf", 10 | "./dist/fonts/glyphicons-halflings-regular.woff" 11 | ], 12 | "ignore": [ 13 | "**/.*", 14 | "_config.yml", 15 | "CNAME", 16 | "composer.json", 17 | "CONTRIBUTING.md", 18 | "docs", 19 | "js/tests" 20 | ], 21 | "dependencies": { 22 | "jquery": ">= 1.9.0" 23 | }, 24 | "homepage": "https://github.com/twbs/bootstrap", 25 | "_release": "3.1.1", 26 | "_resolution": { 27 | "type": "version", 28 | "tag": "v3.1.1", 29 | "commit": "a365d8689c3f3cee7f1acf86b61270ecca8e106d" 30 | }, 31 | "_source": "git://github.com/twbs/bootstrap.git", 32 | "_target": "~3.1.1", 33 | "_originalSource": "bootstrap" 34 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2014 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all 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, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "version": "3.1.1", 4 | "main": [ 5 | "./dist/css/bootstrap.css", 6 | "./dist/js/bootstrap.js", 7 | "./dist/fonts/glyphicons-halflings-regular.eot", 8 | "./dist/fonts/glyphicons-halflings-regular.svg", 9 | "./dist/fonts/glyphicons-halflings-regular.ttf", 10 | "./dist/fonts/glyphicons-halflings-regular.woff" 11 | ], 12 | "ignore": [ 13 | "**/.*", 14 | "_config.yml", 15 | "CNAME", 16 | "composer.json", 17 | "CONTRIBUTING.md", 18 | "docs", 19 | "js/tests" 20 | ], 21 | "dependencies": { 22 | "jquery": ">= 1.9.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grunt task for Glyphicons data generation 3 | * http://getbootstrap.com 4 | * Copyright 2014 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 'use strict'; 8 | var fs = require('fs'); 9 | 10 | module.exports = function generateGlyphiconsData() { 11 | // Pass encoding, utf8, so `readFileSync` will return a string instead of a 12 | // buffer 13 | var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8'); 14 | var glpyhiconsLines = glyphiconsFile.split('\n'); 15 | 16 | // Use any line that starts with ".glyphicon-" and capture the class name 17 | var iconClassName = /^\.(glyphicon-[^\s]+)/; 18 | var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.**\n' + 19 | '# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n'; 20 | for (var i = 0, len = glpyhiconsLines.length; i < len; i++) { 21 | var match = glpyhiconsLines[i].match(iconClassName); 22 | 23 | if (match !== null) { 24 | glyphiconsData += '- ' + match[1] + '\n'; 25 | } 26 | } 27 | 28 | // Create the `_data` directory if it doesn't already exist 29 | if (!fs.existsSync('docs/_data')) { 30 | fs.mkdirSync('docs/_data'); 31 | } 32 | 33 | fs.writeFileSync('docs/_data/glyphicons.yml', glyphiconsData); 34 | }; 35 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/grunt/bs-raw-files-generator.js: -------------------------------------------------------------------------------- 1 | /* global btoa: true */ 2 | /*! 3 | * Bootstrap Grunt task for generating raw-files.min.js for the Customizer 4 | * http://getbootstrap.com 5 | * Copyright 2014 Twitter, Inc. 6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 7 | */ 8 | 'use strict'; 9 | var btoa = require('btoa'); 10 | var fs = require('fs'); 11 | 12 | function getFiles(type) { 13 | var files = {}; 14 | fs.readdirSync(type) 15 | .filter(function (path) { 16 | return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path); 17 | }) 18 | .forEach(function (path) { 19 | var fullPath = type + '/' + path; 20 | files[path] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8')); 21 | }); 22 | return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'; 23 | } 24 | 25 | module.exports = function generateRawFilesJs(banner) { 26 | if (!banner) { 27 | banner = ''; 28 | } 29 | var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts'); 30 | fs.writeFileSync('docs/assets/js/raw-files.min.js', files); 31 | }; 32 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/grunt/shrinkwrap.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grunt task for generating npm-shrinkwrap.canonical.json 3 | * http://getbootstrap.com 4 | * Copyright 2014 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | /* 8 | This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache. 9 | This task should be run and the updated file should be committed whenever Bootstrap's dependencies change. 10 | */ 11 | 'use strict'; 12 | var canonicallyJsonStringify = require('canonical-json'); 13 | var NON_CANONICAL_FILE = 'npm-shrinkwrap.json'; 14 | var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json'; 15 | 16 | 17 | function updateShrinkwrap(grunt) { 18 | // Assumption: Non-canonical shrinkwrap already generated by prerequisite Grunt task 19 | var shrinkwrapData = grunt.file.readJSON(NON_CANONICAL_FILE); 20 | grunt.log.writeln('Deleting ' + NON_CANONICAL_FILE.cyan + '...'); 21 | grunt.file.delete(NON_CANONICAL_FILE); 22 | // Output as Canonical JSON in correct location 23 | grunt.file.write(DEST_FILE, canonicallyJsonStringify(shrinkwrapData)); 24 | grunt.log.writeln('File ' + DEST_FILE.cyan + ' updated.'); 25 | } 26 | 27 | 28 | module.exports = updateShrinkwrap; 29 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/js/transition.js: -------------------------------------------------------------------------------- 1 | /* ======================================================================== 2 | * Bootstrap: transition.js v3.1.1 3 | * http://getbootstrap.com/javascript/#transitions 4 | * ======================================================================== 5 | * Copyright 2011-2014 Twitter, Inc. 6 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 7 | * ======================================================================== */ 8 | 9 | 10 | +function ($) { 11 | 'use strict'; 12 | 13 | // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) 14 | // ============================================================ 15 | 16 | function transitionEnd() { 17 | var el = document.createElement('bootstrap') 18 | 19 | var transEndEventNames = { 20 | 'WebkitTransition' : 'webkitTransitionEnd', 21 | 'MozTransition' : 'transitionend', 22 | 'OTransition' : 'oTransitionEnd otransitionend', 23 | 'transition' : 'transitionend' 24 | } 25 | 26 | for (var name in transEndEventNames) { 27 | if (el.style[name] !== undefined) { 28 | return { end: transEndEventNames[name] } 29 | } 30 | } 31 | 32 | return false // explicit for ie8 ( ._.) 33 | } 34 | 35 | // http://blog.alexmaccaw.com/css-transitions 36 | $.fn.emulateTransitionEnd = function (duration) { 37 | var called = false, $el = this 38 | $(this).one($.support.transition.end, function () { called = true }) 39 | var callback = function () { if (!called) $($el).trigger($.support.transition.end) } 40 | setTimeout(callback, duration) 41 | return this 42 | } 43 | 44 | $(function () { 45 | $.support.transition = transitionEnd() 46 | }) 47 | 48 | }(jQuery); 49 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/alerts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: @alert-padding; 11 | margin-bottom: @line-height-computed; 12 | border: 1px solid transparent; 13 | border-radius: @alert-border-radius; 14 | 15 | // Headings for larger alerts 16 | h4 { 17 | margin-top: 0; 18 | // Specified for the h4 to prevent conflicts of changing @headings-color 19 | color: inherit; 20 | } 21 | // Provide class for links that match alerts 22 | .alert-link { 23 | font-weight: @alert-link-font-weight; 24 | } 25 | 26 | // Improve alignment and spacing of inner content 27 | > p, 28 | > ul { 29 | margin-bottom: 0; 30 | } 31 | > p + p { 32 | margin-top: 5px; 33 | } 34 | } 35 | 36 | // Dismissable alerts 37 | // 38 | // Expand the right padding and account for the close button's positioning. 39 | 40 | .alert-dismissable { 41 | padding-right: (@alert-padding + 20); 42 | 43 | // Adjust close link position 44 | .close { 45 | position: relative; 46 | top: -2px; 47 | right: -21px; 48 | color: inherit; 49 | } 50 | } 51 | 52 | // Alternate styles 53 | // 54 | // Generate contextual modifier classes for colorizing the alert. 55 | 56 | .alert-success { 57 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); 58 | } 59 | .alert-info { 60 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); 61 | } 62 | .alert-warning { 63 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); 64 | } 65 | .alert-danger { 66 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); 67 | } 68 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/badges.less: -------------------------------------------------------------------------------- 1 | // 2 | // Badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base classes 7 | .badge { 8 | display: inline-block; 9 | min-width: 10px; 10 | padding: 3px 7px; 11 | font-size: @font-size-small; 12 | font-weight: @badge-font-weight; 13 | color: @badge-color; 14 | line-height: @badge-line-height; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-align: center; 18 | background-color: @badge-bg; 19 | border-radius: @badge-border-radius; 20 | 21 | // Empty badges collapse automatically (not available in IE8) 22 | &:empty { 23 | display: none; 24 | } 25 | 26 | // Quick fix for badges in buttons 27 | .btn & { 28 | position: relative; 29 | top: -1px; 30 | } 31 | .btn-xs & { 32 | top: 0; 33 | padding: 1px 5px; 34 | } 35 | } 36 | 37 | // Hover state, but only for links 38 | a.badge { 39 | &:hover, 40 | &:focus { 41 | color: @badge-link-hover-color; 42 | text-decoration: none; 43 | cursor: pointer; 44 | } 45 | } 46 | 47 | // Account for counters in navs 48 | a.list-group-item.active > .badge, 49 | .nav-pills > .active > a > .badge { 50 | color: @badge-active-color; 51 | background-color: @badge-active-bg; 52 | } 53 | .nav-pills > li > a > .badge { 54 | margin-left: 3px; 55 | } 56 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/bootstrap.less: -------------------------------------------------------------------------------- 1 | // Core variables and mixins 2 | @import "variables.less"; 3 | @import "mixins.less"; 4 | 5 | // Reset 6 | @import "normalize.less"; 7 | @import "print.less"; 8 | 9 | // Core CSS 10 | @import "scaffolding.less"; 11 | @import "type.less"; 12 | @import "code.less"; 13 | @import "grid.less"; 14 | @import "tables.less"; 15 | @import "forms.less"; 16 | @import "buttons.less"; 17 | 18 | // Components 19 | @import "component-animations.less"; 20 | @import "glyphicons.less"; 21 | @import "dropdowns.less"; 22 | @import "button-groups.less"; 23 | @import "input-groups.less"; 24 | @import "navs.less"; 25 | @import "navbar.less"; 26 | @import "breadcrumbs.less"; 27 | @import "pagination.less"; 28 | @import "pager.less"; 29 | @import "labels.less"; 30 | @import "badges.less"; 31 | @import "jumbotron.less"; 32 | @import "thumbnails.less"; 33 | @import "alerts.less"; 34 | @import "progress-bars.less"; 35 | @import "media.less"; 36 | @import "list-group.less"; 37 | @import "panels.less"; 38 | @import "wells.less"; 39 | @import "close.less"; 40 | 41 | // Components w/ JavaScript 42 | @import "modals.less"; 43 | @import "tooltip.less"; 44 | @import "popovers.less"; 45 | @import "carousel.less"; 46 | 47 | // Utility classes 48 | @import "utilities.less"; 49 | @import "responsive-utilities.less"; 50 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button& { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/code.less: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and block) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | kbd, 9 | pre, 10 | samp { 11 | font-family: @font-family-monospace; 12 | } 13 | 14 | // Inline code 15 | code { 16 | padding: 2px 4px; 17 | font-size: 90%; 18 | color: @code-color; 19 | background-color: @code-bg; 20 | white-space: nowrap; 21 | border-radius: @border-radius-base; 22 | } 23 | 24 | // User input typically entered via keyboard 25 | kbd { 26 | padding: 2px 4px; 27 | font-size: 90%; 28 | color: @kbd-color; 29 | background-color: @kbd-bg; 30 | border-radius: @border-radius-small; 31 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); 32 | } 33 | 34 | // Blocks of code 35 | pre { 36 | display: block; 37 | padding: ((@line-height-computed - 1) / 2); 38 | margin: 0 0 (@line-height-computed / 2); 39 | font-size: (@font-size-base - 1); // 14px to 13px 40 | line-height: @line-height-base; 41 | word-break: break-all; 42 | word-wrap: break-word; 43 | color: @pre-color; 44 | background-color: @pre-bg; 45 | border: 1px solid @pre-border-color; 46 | border-radius: @border-radius-base; 47 | 48 | // Account for some code outputs that place code tags in pre tags 49 | code { 50 | padding: 0; 51 | font-size: inherit; 52 | color: inherit; 53 | white-space: pre-wrap; 54 | background-color: transparent; 55 | border-radius: 0; 56 | } 57 | } 58 | 59 | // Enable scrollable blocks of code 60 | .pre-scrollable { 61 | max-height: @pre-scrollable-max-height; 62 | overflow-y: scroll; 63 | } 64 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | &.in { 21 | display: block; 22 | } 23 | } 24 | .collapsing { 25 | position: relative; 26 | height: 0; 27 | overflow: hidden; 28 | .transition(height .35s ease); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container widths 7 | // 8 | // Set the container width, and override it for fixed navbars in media queries. 9 | 10 | .container { 11 | .container-fixed(); 12 | 13 | @media (min-width: @screen-sm-min) { 14 | width: @container-sm; 15 | } 16 | @media (min-width: @screen-md-min) { 17 | width: @container-md; 18 | } 19 | @media (min-width: @screen-lg-min) { 20 | width: @container-lg; 21 | } 22 | } 23 | 24 | 25 | // Fluid container 26 | // 27 | // Utilizes the mixin meant for fixed width containers, but without any defined 28 | // width for fluid, full width layouts. 29 | 30 | .container-fluid { 31 | .container-fixed(); 32 | } 33 | 34 | 35 | // Row 36 | // 37 | // Rows contain and clear the floats of your columns. 38 | 39 | .row { 40 | .make-row(); 41 | } 42 | 43 | 44 | // Columns 45 | // 46 | // Common styles for small and large grid columns 47 | 48 | .make-grid-columns(); 49 | 50 | 51 | // Extra small grid 52 | // 53 | // Columns, offsets, pushes, and pulls for extra small devices like 54 | // smartphones. 55 | 56 | .make-grid(xs); 57 | 58 | 59 | // Small grid 60 | // 61 | // Columns, offsets, pushes, and pulls for the small device range, from phones 62 | // to tablets. 63 | 64 | @media (min-width: @screen-sm-min) { 65 | .make-grid(sm); 66 | } 67 | 68 | 69 | // Medium grid 70 | // 71 | // Columns, offsets, pushes, and pulls for the desktop device range. 72 | 73 | @media (min-width: @screen-md-min) { 74 | .make-grid(md); 75 | } 76 | 77 | 78 | // Large grid 79 | // 80 | // Columns, offsets, pushes, and pulls for the large desktop device range. 81 | 82 | @media (min-width: @screen-lg-min) { 83 | .make-grid(lg); 84 | } 85 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/jumbotron.less: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: @jumbotron-padding; 8 | margin-bottom: @jumbotron-padding; 9 | color: @jumbotron-color; 10 | background-color: @jumbotron-bg; 11 | 12 | h1, 13 | .h1 { 14 | color: @jumbotron-heading-color; 15 | } 16 | p { 17 | margin-bottom: (@jumbotron-padding / 2); 18 | font-size: @jumbotron-font-size; 19 | font-weight: 200; 20 | } 21 | 22 | .container & { 23 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container 24 | } 25 | 26 | .container { 27 | max-width: 100%; 28 | } 29 | 30 | @media screen and (min-width: @screen-sm-min) { 31 | padding-top: (@jumbotron-padding * 1.6); 32 | padding-bottom: (@jumbotron-padding * 1.6); 33 | 34 | .container & { 35 | padding-left: (@jumbotron-padding * 2); 36 | padding-right: (@jumbotron-padding * 2); 37 | } 38 | 39 | h1, 40 | .h1 { 41 | font-size: (@font-size-base * 4.5); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/labels.less: -------------------------------------------------------------------------------- 1 | // 2 | // Labels 3 | // -------------------------------------------------- 4 | 5 | .label { 6 | display: inline; 7 | padding: .2em .6em .3em; 8 | font-size: 75%; 9 | font-weight: bold; 10 | line-height: 1; 11 | color: @label-color; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | border-radius: .25em; 16 | 17 | // Add hover effects, but only for links 18 | &[href] { 19 | &:hover, 20 | &:focus { 21 | color: @label-link-hover-color; 22 | text-decoration: none; 23 | cursor: pointer; 24 | } 25 | } 26 | 27 | // Empty labels collapse automatically (not available in IE8) 28 | &:empty { 29 | display: none; 30 | } 31 | 32 | // Quick fix for labels in buttons 33 | .btn & { 34 | position: relative; 35 | top: -1px; 36 | } 37 | } 38 | 39 | // Colors 40 | // Contextual variations (linked labels get darker on :hover) 41 | 42 | .label-default { 43 | .label-variant(@label-default-bg); 44 | } 45 | 46 | .label-primary { 47 | .label-variant(@label-primary-bg); 48 | } 49 | 50 | .label-success { 51 | .label-variant(@label-success-bg); 52 | } 53 | 54 | .label-info { 55 | .label-variant(@label-info-bg); 56 | } 57 | 58 | .label-warning { 59 | .label-variant(@label-warning-bg); 60 | } 61 | 62 | .label-danger { 63 | .label-variant(@label-danger-bg); 64 | } 65 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/media.less: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | zoom: 1; 14 | } 15 | 16 | // Proper spacing between instances of .media 17 | .media, 18 | .media .media { 19 | margin-top: 15px; 20 | } 21 | .media:first-child { 22 | margin-top: 0; 23 | } 24 | 25 | // For images and videos, set to block 26 | .media-object { 27 | display: block; 28 | } 29 | 30 | // Reset margins on headings for tighter default spacing 31 | .media-heading { 32 | margin: 0 0 5px; 33 | } 34 | 35 | 36 | // Media image alignment 37 | // ------------------------- 38 | 39 | .media { 40 | > .pull-left { 41 | margin-right: 10px; 42 | } 43 | > .pull-right { 44 | margin-left: 10px; 45 | } 46 | } 47 | 48 | 49 | // Media list variation 50 | // ------------------------- 51 | 52 | // Undo default ul/ol styles 53 | .media-list { 54 | padding-left: 0; 55 | list-style: none; 56 | } 57 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: @line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | &:extend(.clearfix all); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: @pager-bg; 19 | border: 1px solid @pager-border; 20 | border-radius: @pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: @pager-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: @pager-disabled-color; 50 | background-color: @pager-bg; 51 | cursor: not-allowed; 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/progress-bars.less: -------------------------------------------------------------------------------- 1 | // 2 | // Progress bars 3 | // -------------------------------------------------- 4 | 5 | 6 | // Bar animations 7 | // ------------------------- 8 | 9 | // WebKit 10 | @-webkit-keyframes progress-bar-stripes { 11 | from { background-position: 40px 0; } 12 | to { background-position: 0 0; } 13 | } 14 | 15 | // Spec and IE10+ 16 | @keyframes progress-bar-stripes { 17 | from { background-position: 40px 0; } 18 | to { background-position: 0 0; } 19 | } 20 | 21 | 22 | 23 | // Bar itself 24 | // ------------------------- 25 | 26 | // Outer container 27 | .progress { 28 | overflow: hidden; 29 | height: @line-height-computed; 30 | margin-bottom: @line-height-computed; 31 | background-color: @progress-bg; 32 | border-radius: @border-radius-base; 33 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 34 | } 35 | 36 | // Bar of progress 37 | .progress-bar { 38 | float: left; 39 | width: 0%; 40 | height: 100%; 41 | font-size: @font-size-small; 42 | line-height: @line-height-computed; 43 | color: @progress-bar-color; 44 | text-align: center; 45 | background-color: @progress-bar-bg; 46 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 47 | .transition(width .6s ease); 48 | } 49 | 50 | // Striped bars 51 | .progress-striped .progress-bar { 52 | #gradient > .striped(); 53 | background-size: 40px 40px; 54 | } 55 | 56 | // Call animation for the active one 57 | .progress.active .progress-bar { 58 | .animation(progress-bar-stripes 2s linear infinite); 59 | } 60 | 61 | 62 | 63 | // Variations 64 | // ------------------------- 65 | 66 | .progress-bar-success { 67 | .progress-bar-variant(@progress-bar-success-bg); 68 | } 69 | 70 | .progress-bar-info { 71 | .progress-bar-variant(@progress-bar-info-bg); 72 | } 73 | 74 | .progress-bar-warning { 75 | .progress-bar-variant(@progress-bar-warning-bg); 76 | } 77 | 78 | .progress-bar-danger { 79 | .progress-bar-variant(@progress-bar-danger-bg); 80 | } 81 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(all .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | visibility: hidden !important; 48 | } 49 | 50 | 51 | // For Affix plugin 52 | // ------------------------- 53 | 54 | .affix { 55 | position: fixed; 56 | } 57 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development.", 4 | "version": "3.1.1", 5 | "keywords": [ 6 | "bootstrap", 7 | "css" 8 | ], 9 | "homepage": "http://getbootstrap.com", 10 | "author": "Twitter, Inc.", 11 | "scripts": { 12 | "test": "grunt test" 13 | }, 14 | "style": "./dist/css/bootstrap.css", 15 | "less": "./less/bootstrap.less", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/twbs/bootstrap.git" 19 | }, 20 | "bugs": { 21 | "url": "https://github.com/twbs/bootstrap/issues" 22 | }, 23 | "license": { 24 | "type": "MIT", 25 | "url": "https://github.com/twbs/bootstrap/blob/master/LICENSE" 26 | }, 27 | "devDependencies": { 28 | "btoa": "~1.1.1", 29 | "canonical-json": "~0.0.3", 30 | "grunt": "~0.4.2", 31 | "grunt-banner": "~0.2.0", 32 | "grunt-contrib-clean": "~0.5.0", 33 | "grunt-contrib-concat": "~0.3.0", 34 | "grunt-contrib-connect": "~0.6.0", 35 | "grunt-contrib-copy": "~0.5.0", 36 | "grunt-contrib-csslint": "~0.2.0", 37 | "grunt-contrib-cssmin": "~0.7.0", 38 | "grunt-contrib-jade": "~0.9.1", 39 | "grunt-contrib-jshint": "~0.8.0", 40 | "grunt-contrib-less": "~0.9.0", 41 | "grunt-contrib-qunit": "~0.4.0", 42 | "grunt-contrib-uglify": "~0.3.0", 43 | "grunt-contrib-watch": "~0.5.3", 44 | "grunt-csscomb": "~2.0.1", 45 | "grunt-exec": "0.4.3", 46 | "grunt-html-validation": "~0.1.13", 47 | "grunt-jekyll": "~0.4.1", 48 | "grunt-jscs-checker": "~0.3.0", 49 | "grunt-saucelabs": "~5.0.0", 50 | "grunt-sed": "~0.1.1", 51 | "load-grunt-tasks": "~0.3.0", 52 | "markdown": "~0.5.0" 53 | }, 54 | "jspm": { 55 | "main": "js/bootstrap", 56 | "directories": { 57 | "example": "examples", 58 | "lib": "dist" 59 | }, 60 | "shim": { 61 | "js/bootstrap": { 62 | "imports": "jquery", 63 | "exports": "$" 64 | } 65 | }, 66 | "buildConfig": { 67 | "uglify": true 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/test-infra/requirements.txt: -------------------------------------------------------------------------------- 1 | boto==2.20.0 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/test-infra/sauce_browsers.yml: -------------------------------------------------------------------------------- 1 | [ 2 | # Docs: https://saucelabs.com/docs/platforms/webdriver 3 | 4 | { 5 | browserName: "safari", 6 | platform: "OS X 10.9" 7 | }, 8 | # { 9 | # browserName: "googlechrome", 10 | # platform: "OS X 10.9", 11 | # version: "31" 12 | # }, 13 | { 14 | browserName: "firefox", 15 | platform: "OS X 10.9" 16 | }, 17 | 18 | # Mac Opera not currently supported by Sauce Labs 19 | 20 | { 21 | browserName: "internet explorer", 22 | version: "11", 23 | platform: "Windows 8.1" 24 | }, 25 | { 26 | browserName: "internet explorer", 27 | version: "10", 28 | platform: "Windows 8" 29 | }, 30 | # { 31 | # browserName: "internet explorer", 32 | # version: "9", 33 | # platform: "Windows 7" 34 | # }, 35 | # { 36 | # browserName: "internet explorer", 37 | # version: "8", 38 | # platform: "Windows 7" 39 | # }, 40 | 41 | # { # Unofficial 42 | # browserName: "internet explorer", 43 | # version: "7", 44 | # platform: "Windows XP" 45 | # }, 46 | 47 | { 48 | browserName: "googlechrome", 49 | platform: "Windows 8.1" 50 | }, 51 | { 52 | browserName: "firefox", 53 | platform: "Windows 8.1" 54 | }, 55 | 56 | # Win Opera 15+ not currently supported by Sauce Labs 57 | 58 | { 59 | browserName: "iphone", 60 | platform: "OS X 10.9", 61 | version: "7" 62 | }, 63 | 64 | # iOS Chrome not currently supported by Sauce Labs 65 | 66 | # Linux (unofficial) 67 | { 68 | browserName: "googlechrome", 69 | platform: "Linux" 70 | }, 71 | { 72 | browserName: "firefox", 73 | platform: "Linux" 74 | } 75 | 76 | # Android Chrome not currently supported by Sauce Labs 77 | 78 | # { # Android Browser (super-unofficial) 79 | # browserName: "android", 80 | # version: "4.0", 81 | # platform: "Linux" 82 | # } 83 | ] 84 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/bootstrap/test-infra/uncached-npm-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cp test-infra/npm-shrinkwrap.canonical.json npm-shrinkwrap.json 3 | npm install 4 | rm npm-shrinkwrap.json 5 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "es5-shim", 3 | "homepage": "https://github.com/es-shims/es5-shim", 4 | "version": "2.1.0", 5 | "_release": "2.1.0", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "v2.1.0", 9 | "commit": "07da727ff7db2a3a25d6bc25d13e374b3bbc99c2" 10 | }, 11 | "_source": "git://github.com/es-shims/es5-shim.git", 12 | "_target": "~2.1.0", 13 | "_originalSource": "es5-shim" 14 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | 2 | - kriskowal Kris Kowal Copyright (C) 2009-2011 MIT License 3 | - tlrobinson Tom Robinson Copyright (C) 2009-2010 MIT License (Narwhal 4 | Project) 5 | - dantman Daniel Friesen Copyright (C) 2010 XXX TODO License or CLA 6 | - fschaefer Florian Schäfer Copyright (C) 2010 MIT License 7 | - Gozala Irakli Gozalishvili Copyright (C) 2010 MIT License 8 | - kitcambridge Kit Cambridge Copyright (C) 2011 MIT License 9 | - kossnocorp Sasha Koss XXX TODO License or CLA 10 | - bryanforbes Bryan Forbes XXX TODO License or CLA 11 | - killdream Quildreen Motta Copyright (C) 2011 MIT Licence 12 | - michaelficarra Michael Ficarra Copyright (C) 2011 3-clause BSD 13 | License 14 | - sharkbrainguy Gerard Paapu Copyright (C) 2011 MIT License 15 | - bbqsrc Brendan Molloy (C) 2011 Creative Commons Zero (public domain) 16 | - iwyg XXX TODO License or CLA 17 | - DomenicDenicola Domenic Denicola Copyright (C) 2011 MIT License 18 | - xavierm02 Montillet Xavier Copyright (C) 2011 MIT License 19 | - Raynos Jake Verbaten Copyright (C) 2011 MIT Licence 20 | - samsonjs Sami Samhuri Copyright (C) 2010 MIT License 21 | - rwldrn Rick Waldron Copyright (C) 2011 MIT License 22 | - lexer Alexey Zakharov XXX TODO License or CLA 23 | - 280 North Inc. (Now Motorola LLC, a subsidiary of Google Inc.) 24 | Copyright (C) 2009 MIT License 25 | - Steven Levithan Copyright (C) 2012 MIT License 26 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright 2009, 2010 Kristopher Michael Kowal. All rights reserved. 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "es5-shim", 3 | "version": "2.1.0", 4 | "description": "ES5 as implementable on previous engines", 5 | "homepage": "http://github.com/kriskowal/es5-shim/", 6 | "contributors": [ 7 | "Kris Kowal (http://github.com/kriskowal/)", 8 | "Sami Samhuri (http://samhuri.net/)", 9 | "Florian Schäfer (http://github.com/fschaefer)", 10 | "Irakli Gozalishvili (http://jeditoolkit.com)", 11 | "Kit Cambridge (http://kitcambridge.github.com)" 12 | ], 13 | "bugs": { 14 | "mail": "kris@cixar.com", 15 | "url": "http://github.com/kriskowal/es5-shim/issues" 16 | }, 17 | "licenses": [ 18 | { 19 | "type": "MIT", 20 | "url": "http://github.com/kriskowal/es5-shim/raw/master/LICENSE" 21 | } 22 | ], 23 | "main": "es5-shim.js", 24 | "repository": { 25 | "type": "git", 26 | "url": "http://github.com/kriskowal/es5-shim.git" 27 | }, 28 | "scripts": { 29 | "minify": "uglifyjs es5-shim.js --source-map=es5-shim.map -b ascii_only=true,beautify=false > es5-shim.min.js; uglifyjs es5-sham.js --source-map=es5-sham.map -b ascii_only=true,beautify=false > es5-sham.min.js" 30 | }, 31 | "engines": { 32 | "node": ">=0.2.0" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/helpers/h-kill.js: -------------------------------------------------------------------------------- 1 | // This methods allows the killing of built-in functions, 2 | // so the shim can take over with that implementation 3 | var HLP = (function() { 4 | "use strict"; 5 | var kill; 6 | 7 | kill = function(_class, methods) { 8 | /*if(!Array.isArray(methods)) 9 | return;*/ 10 | if(!_class.originals) 11 | _class.originals = {}; 12 | 13 | for (var i = 0, len = methods.length; i < len; i++) { 14 | var obj = methods[i]; 15 | _class.originals[obj] = _class[obj]; 16 | delete _class[obj]; 17 | if (obj in _class) { 18 | // try something more aggressive since V8 at least 19 | // appears to ignore the delete. 20 | _class[obj] = null; 21 | if (_class[obj]) { 22 | console.log("Couln't overwrite", obj, "of", _class); 23 | } 24 | } 25 | } 26 | }; 27 | return { kill: kill }; 28 | }()); 29 | 30 | HLP.kill(Function.prototype, [ 31 | 'bind' 32 | ]); 33 | 34 | HLP.kill(Array, [ 35 | 'isArray' 36 | ]); 37 | 38 | HLP.kill(String.prototype, [ 39 | "trim" 40 | ]); 41 | 42 | HLP.kill(Object, [ 43 | 'keys' 44 | ]); 45 | 46 | HLP.kill(Number.prototype, [ 47 | 'toFixed' 48 | ]); 49 | 50 | HLP.kill(Date, [ 51 | 'now', 'parse' 52 | ]); 53 | 54 | HLP.kill(Date.prototype, [ 55 | "toJSON", "toISOString" 56 | ]); 57 | 58 | HLP.kill(Array.prototype, [ 59 | 'forEach', 'some', 'every', 60 | 'indexOf', 'lastIndexOf', 61 | 'map', 'filter', 62 | 'reduce', 'reduceRight' 63 | ]); 64 | 65 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/helpers/h-matchers.js: -------------------------------------------------------------------------------- 1 | beforeEach(function() { 2 | this.addMatchers({ 3 | toExactlyMatch: function(expected) { 4 | var a1, a2, 5 | l, i, 6 | key, 7 | actual = this.actual; 8 | 9 | var getKeys = function(o) { 10 | var a = []; 11 | for(key in o) { 12 | if(o.hasOwnProperty(key)) { 13 | a.push(key); 14 | } 15 | } 16 | return a; 17 | } 18 | a1 = getKeys(actual); 19 | a2 = getKeys(expected); 20 | 21 | l = a1.length; 22 | if(l !== a2.length) { 23 | return false; 24 | } 25 | for(i = 0; i < l; i++) { 26 | key = a1[i]; 27 | expect(key).toEqual(a2[i]); 28 | expect(actual[key]).toEqual(expected[key]); 29 | } 30 | 31 | return true; 32 | } 33 | }) 34 | }); 35 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/helpers/h.js: -------------------------------------------------------------------------------- 1 | function implement() { 2 | throw 'Not implemented'; 3 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Jasmine Spec Runner 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/index.min.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Jasmine Spec Runner 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/lib/jasmine_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/es5-shim/tests/lib/jasmine_favicon.png -------------------------------------------------------------------------------- /src/main/webapp/bower_components/es5-shim/tests/spec/s-number.js: -------------------------------------------------------------------------------- 1 | describe('Number', function () { 2 | 'use strict'; 3 | 4 | describe('toFixed', function () { 5 | it('should convert numbers correctly', function () { 6 | expect((0.00008).toFixed(3)).toBe('0.000'); 7 | expect((0.9).toFixed(0)).toBe('1'); 8 | expect((1.255).toFixed(2)).toBe('1.25'); 9 | expect((1843654265.0774949).toFixed(5)).toBe('1843654265.07749'); 10 | expect((1000000000000000128).toFixed(0)).toBe('1000000000000000128'); 11 | }); 12 | }); 13 | 14 | }); 15 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "1.10.2", 4 | "description": "jQuery component", 5 | "keywords": [ 6 | "jquery", 7 | "component" 8 | ], 9 | "main": "jquery.js", 10 | "license": "MIT", 11 | "homepage": "https://github.com/jquery/jquery", 12 | "_release": "1.10.2", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "1.10.2", 16 | "commit": "16b079b164d62bd807c612806842a13bf9b04d17" 17 | }, 18 | "_source": "git://github.com/jquery/jquery.git", 19 | "_target": "~1.10.0", 20 | "_originalSource": "jquery" 21 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | 7 | [*] 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | 13 | # Tabs in JS unless otherwise specified 14 | [**.js] 15 | indent_style = tab 16 | 17 | [Makefile] 18 | indent_style = tab 19 | 20 | 21 | [speed/**.html] 22 | indent_style = tab 23 | 24 | [speed/**.css] 25 | indent_style = tab 26 | 27 | [speed/benchmarker.js] 28 | indent_style = space 29 | indent_size = 2 30 | 31 | 32 | [test/**.xml] 33 | indent_style = tab 34 | 35 | [test/**.php] 36 | indent_style = tab 37 | 38 | [test/**.html] 39 | indent_style = tab 40 | 41 | [test/**.css] 42 | indent_style = space 43 | indent_size = 8 44 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.gitattributes: -------------------------------------------------------------------------------- 1 | * eol=lf 2 | *.jar binary 3 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.gitignore: -------------------------------------------------------------------------------- 1 | src/selector-sizzle.js 2 | src/selector.js 3 | dist 4 | .project 5 | .settings 6 | *~ 7 | *.diff 8 | *.patch 9 | /*.html 10 | .DS_Store 11 | dist/.destination.json 12 | dist/.sizecache.json 13 | build/.sizecache.json 14 | node_modules 15 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/sizzle"] 2 | path = src/sizzle 3 | url = git://github.com/jquery/sizzle.git 4 | [submodule "test/qunit"] 5 | path = test/qunit 6 | url = git://github.com/jquery/qunit.git 7 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "double", 11 | "smarttabs": true, 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "node": true 17 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2013 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "1.10.2", 4 | "description": "jQuery component", 5 | "keywords": [ 6 | "jquery", 7 | "component" 8 | ], 9 | "main": "jquery.js", 10 | "license": "MIT" 11 | } 12 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/build/release-notes.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | * jQuery Release Note Generator 4 | */ 5 | 6 | var fs = require("fs"), 7 | http = require("http"), 8 | extract = /(.*?)<[^"]+"component">\s*(\S+)/g, 9 | categories = [], 10 | version = process.argv[2]; 11 | 12 | if ( !/^\d+\.\d+/.test( version ) ) { 13 | console.error( "Invalid version number: " + version ); 14 | process.exit( 1 ); 15 | } 16 | 17 | http.request({ 18 | host: "bugs.jquery.com", 19 | port: 80, 20 | method: "GET", 21 | path: "/query?status=closed&resolution=fixed&max=400&component=!web&order=component&milestone=" + version 22 | }, function (res) { 23 | var data = []; 24 | 25 | res.on( "data", function( chunk ) { 26 | data.push( chunk ); 27 | }); 28 | 29 | res.on( "end", function() { 30 | var match, 31 | file = data.join(""), 32 | cur; 33 | 34 | while ( (match = extract.exec( file )) ) { 35 | if ( "#" + match[1] !== match[2] ) { 36 | var cat = match[3]; 37 | 38 | if ( !cur || cur !== cat ) { 39 | if ( cur ) { 40 | console.log(""); 41 | } 42 | cur = cat; 43 | console.log( "

" + cat.charAt(0).toUpperCase() + cat.slice(1) + "

" ); 44 | console.log("
"); 55 | } 56 | 57 | }); 58 | }).end(); 59 | 60 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "repo": "components/jquery", 4 | "version": "1.10.2", 5 | "description": "jQuery component", 6 | "keywords": [ 7 | "jquery", 8 | "component" 9 | ], 10 | "main": "jquery.js", 11 | "scripts": [ 12 | "jquery.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "components/jquery", 3 | "description": "jQuery JavaScript Library", 4 | "type": "component", 5 | "homepage": "http://jquery.com", 6 | "license": "MIT", 7 | "support": { 8 | "irc": "irc://irc.freenode.org/jquery", 9 | "issues": "http://bugs.jquery.com", 10 | "forum": "http://forum.jquery.com", 11 | "wiki": "http://docs.jquery.com/", 12 | "source": "https://github.com/jquery/jquery" 13 | }, 14 | "authors": [ 15 | { 16 | "name": "John Resig", 17 | "email": "jeresig@gmail.com" 18 | } 19 | ], 20 | "require": { 21 | "robloach/component-installer": "*" 22 | }, 23 | "extra": { 24 | "component": { 25 | "scripts": [ 26 | "jquery.js" 27 | ], 28 | "files": [ 29 | "jquery.min.js", 30 | "jquery-migrate.js", 31 | "jquery-migrate.min.js" 32 | ] 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "title": "jQuery", 4 | "description": "JavaScript library for DOM operations", 5 | "version": "1.10.2", 6 | "homepage": "http://jquery.com", 7 | "author": { 8 | "name": "jQuery Foundation and other contributors", 9 | "url": "https://github.com/jquery/jquery/blob/master/AUTHORS.txt" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/jquery/jquery.git" 14 | }, 15 | "bugs": { 16 | "url": "http://bugs.jquery.com" 17 | }, 18 | "licenses": [ 19 | { 20 | "type": "MIT", 21 | "url": "https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt" 22 | } 23 | ], 24 | "dependencies": {}, 25 | "devDependencies": { 26 | "grunt-compare-size": "~0.4.0", 27 | "grunt-git-authors": "1.2.0", 28 | "grunt-update-submodules": "0.2.0", 29 | "grunt-contrib-watch": "0.3.1", 30 | "grunt-contrib-jshint": "0.3.0", 31 | "grunt-contrib-uglify": "0.2.0", 32 | "grunt": "0.4.1", 33 | "gzip-js": "0.3.1", 34 | "testswarm": "~1.1.0", 35 | "archiver": "~0.4.2" 36 | }, 37 | "keywords": [] 38 | } 39 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/speed/benchmark.js: -------------------------------------------------------------------------------- 1 | // Runs a function many times without the function call overhead 2 | function benchmark(fn, times, name){ 3 | fn = fn.toString(); 4 | var s = fn.indexOf('{')+1, 5 | e = fn.lastIndexOf('}'); 6 | fn = fn.substring(s,e); 7 | 8 | return benchmarkString(fn, times, name); 9 | } 10 | 11 | function benchmarkString(fn, times, name) { 12 | var fn = new Function("i", "var t=new Date; while(i--) {" + fn + "}; return new Date - t")(times) 13 | fn.displayName = name || "benchmarked"; 14 | return fn; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/speed/benchmarker.css: -------------------------------------------------------------------------------- 1 | 2 | .dialog { 3 | margin-bottom: 1em; 4 | } 5 | a.expand { 6 | background: #e3e3e3; 7 | } 8 | 9 | div#time-test { 10 | font-family: Arial, Helvetica, sans-serif; 11 | font-size: 62.5%; 12 | } 13 | 14 | td.test button { 15 | float: right; 16 | } 17 | 18 | table { 19 | border: 1px solid #000; 20 | } 21 | 22 | table td, table th { 23 | border: 1px solid #000; 24 | padding: 10px; 25 | } 26 | 27 | td.winner { 28 | background-color: #cfc; 29 | } 30 | 31 | td.tie { 32 | background-color: #ffc; 33 | } 34 | 35 | td.fail { 36 | background-color: #f99; 37 | font-weight: bold; 38 | text-align: center; 39 | } 40 | 41 | tfoot td { 42 | text-align: center; 43 | } 44 | 45 | #time-test { 46 | margin: 1em 0; 47 | padding: .5em; 48 | background: #e3e3e3; 49 | } 50 | #time-taken { 51 | font-weight: bold; 52 | } 53 | 54 | span.wins { 55 | color: #330; 56 | } 57 | 58 | span.fails { 59 | color: #900; 60 | } 61 | 62 | div.buttons { 63 | margin-top: 10px; 64 | margin-bottom: 10px; 65 | } 66 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/speed/closest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test .closest() Performance 5 | 6 | 7 | 8 | 9 | 25 | 26 | 27 |
28 |

Hello

29 |
30 |
31 |

lorem ipsum

32 |

dolor sit amet

33 |
34 |
35 |
36 |
    37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/speed/event.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test Event Handling Performance 5 | 6 | 7 | 8 | 9 | 53 | 54 | 55 |

    Move the mouse, please!

    56 |

    57 | 58 | 59 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/speed/slice.vs.concat.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "double", 11 | "smarttabs": true, 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "evil": true, 17 | "sub": true, 18 | 19 | "browser": true, 20 | "wsh": true, 21 | 22 | "globals": { 23 | "define": true, 24 | "module": true, 25 | "jQuery": true 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | // Limit scope pollution from any deprecated API 2 | // (function() { 3 | 4 | // The number of elements contained in the matched element set 5 | jQuery.fn.size = function() { 6 | return this.length; 7 | }; 8 | 9 | jQuery.fn.andSelf = jQuery.fn.addBack; 10 | 11 | // })(); 12 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/dimensions.js: -------------------------------------------------------------------------------- 1 | // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 2 | jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 3 | jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { 4 | // margin is only for outerHeight, outerWidth 5 | jQuery.fn[ funcName ] = function( margin, value ) { 6 | var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 7 | extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 8 | 9 | return jQuery.access( this, function( elem, type, value ) { 10 | var doc; 11 | 12 | if ( jQuery.isWindow( elem ) ) { 13 | // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there 14 | // isn't a whole lot we can do. See pull request at this URL for discussion: 15 | // https://github.com/jquery/jquery/pull/764 16 | return elem.document.documentElement[ "client" + name ]; 17 | } 18 | 19 | // Get document width or height 20 | if ( elem.nodeType === 9 ) { 21 | doc = elem.documentElement; 22 | 23 | // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest 24 | // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. 25 | return Math.max( 26 | elem.body[ "scroll" + name ], doc[ "scroll" + name ], 27 | elem.body[ "offset" + name ], doc[ "offset" + name ], 28 | doc[ "client" + name ] 29 | ); 30 | } 31 | 32 | return value === undefined ? 33 | // Get width or height on the element, requesting but not forcing parseFloat 34 | jQuery.css( elem, type, extra ) : 35 | 36 | // Set width or height on the element 37 | jQuery.style( elem, type, value, extra ); 38 | }, type, chainable ? margin : undefined, chainable, null ); 39 | }; 40 | }); 41 | }); 42 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/event-alias.js: -------------------------------------------------------------------------------- 1 | jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + 2 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 3 | "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { 4 | 5 | // Handle event binding 6 | jQuery.fn[ name ] = function( data, fn ) { 7 | return arguments.length > 0 ? 8 | this.on( name, null, data, fn ) : 9 | this.trigger( name ); 10 | }; 11 | }); 12 | 13 | jQuery.fn.extend({ 14 | hover: function( fnOver, fnOut ) { 15 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 16 | }, 17 | 18 | bind: function( types, data, fn ) { 19 | return this.on( types, null, data, fn ); 20 | }, 21 | unbind: function( types, fn ) { 22 | return this.off( types, null, fn ); 23 | }, 24 | 25 | delegate: function( selector, types, data, fn ) { 26 | return this.on( types, selector, data, fn ); 27 | }, 28 | undelegate: function( selector, types, fn ) { 29 | // ( namespace ) or ( selector, types [, fn] ) 30 | return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); 31 | } 32 | }); 33 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/exports.js: -------------------------------------------------------------------------------- 1 | if ( typeof module === "object" && module && typeof module.exports === "object" ) { 2 | // Expose jQuery as module.exports in loaders that implement the Node 3 | // module pattern (including browserify). Do not create the global, since 4 | // the user will be storing it themselves locally, and globals are frowned 5 | // upon in the Node module world. 6 | module.exports = jQuery; 7 | } else { 8 | // Otherwise expose jQuery to the global object as usual 9 | window.jQuery = window.$ = jQuery; 10 | 11 | // Register as a named AMD module, since jQuery can be concatenated with other 12 | // files that may use define, but not via a proper concatenation script that 13 | // understands anonymous AMD modules. A named AMD is safest and most robust 14 | // way to register. Lowercase jquery is used because AMD module names are 15 | // derived from file names, and jQuery is normally delivered in a lowercase 16 | // file name. Do this after creating the global so that if an AMD module wants 17 | // to call noConflict to hide this version of jQuery, it will work. 18 | if ( typeof define === "function" && define.amd ) { 19 | define( "jquery", [], function () { return jQuery; } ); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/intro.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery JavaScript Library v@VERSION 3 | * http://jquery.com/ 4 | * 5 | * Includes Sizzle.js 6 | * http://sizzlejs.com/ 7 | * 8 | * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors 9 | * Released under the MIT license 10 | * http://jquery.org/license 11 | * 12 | * Date: @DATE 13 | */ 14 | (function( window, undefined ) { 15 | 16 | // Can't do this because several apps including ASP.NET trace 17 | // the stack via arguments.caller.callee and Firefox dies if 18 | // you try to trace through "use strict" call chains. (#13335) 19 | // Support: Firefox 18+ 20 | //"use strict"; 21 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | 2 | })( window ); 3 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/sizzle-jquery.js: -------------------------------------------------------------------------------- 1 | jQuery.find = Sizzle; 2 | jQuery.expr = Sizzle.selectors; 3 | jQuery.expr[":"] = jQuery.expr.pseudos; 4 | jQuery.unique = Sizzle.uniqueSort; 5 | jQuery.text = Sizzle.getText; 6 | jQuery.isXMLDoc = Sizzle.isXML; 7 | jQuery.contains = Sizzle.contains; 8 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/src/wrap.js: -------------------------------------------------------------------------------- 1 | jQuery.fn.extend({ 2 | wrapAll: function( html ) { 3 | if ( jQuery.isFunction( html ) ) { 4 | return this.each(function(i) { 5 | jQuery(this).wrapAll( html.call(this, i) ); 6 | }); 7 | } 8 | 9 | if ( this[0] ) { 10 | // The elements to wrap the target around 11 | var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); 12 | 13 | if ( this[0].parentNode ) { 14 | wrap.insertBefore( this[0] ); 15 | } 16 | 17 | wrap.map(function() { 18 | var elem = this; 19 | 20 | while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { 21 | elem = elem.firstChild; 22 | } 23 | 24 | return elem; 25 | }).append( this ); 26 | } 27 | 28 | return this; 29 | }, 30 | 31 | wrapInner: function( html ) { 32 | if ( jQuery.isFunction( html ) ) { 33 | return this.each(function(i) { 34 | jQuery(this).wrapInner( html.call(this, i) ); 35 | }); 36 | } 37 | 38 | return this.each(function() { 39 | var self = jQuery( this ), 40 | contents = self.contents(); 41 | 42 | if ( contents.length ) { 43 | contents.wrapAll( html ); 44 | 45 | } else { 46 | self.append( html ); 47 | } 48 | }); 49 | }, 50 | 51 | wrap: function( html ) { 52 | var isFunction = jQuery.isFunction( html ); 53 | 54 | return this.each(function(i) { 55 | jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); 56 | }); 57 | }, 58 | 59 | unwrap: function() { 60 | return this.parent().each(function() { 61 | if ( !jQuery.nodeName( this, "body" ) ) { 62 | jQuery( this ).replaceWith( this.childNodes ); 63 | } 64 | }).end(); 65 | } 66 | }); 67 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/.jshintignore: -------------------------------------------------------------------------------- 1 | qunit/ 2 | data/badjson.js 3 | data/jquery-1.9.1.ajax_xhr.min.js 4 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "double", 11 | "smarttabs": true, 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "evil": true, 17 | "sub": true, 18 | 19 | "browser": true, 20 | "devel": true, 21 | "wsh": true, 22 | 23 | "predef": [ 24 | "DOMParser", 25 | "jQuery", 26 | "QUnit", 27 | "module", 28 | "ok", 29 | "equal", 30 | "test", 31 | "asyncTest", 32 | "notEqual", 33 | "deepEqual", 34 | "strictEqual", 35 | "notStrictEqual", 36 | "start", 37 | "stop", 38 | "expect", 39 | "raises", 40 | "ajaxTest", 41 | "testIframe", 42 | "testIframeWithCallback", 43 | "createDashboardXML", 44 | "createXMLFragment", 45 | "moduleTeardown", 46 | "testFoo", 47 | "url", 48 | "t", 49 | "q", 50 | "amdDefined", 51 | "fireNative", 52 | "Globals", 53 | "hasPHP", 54 | "isLocal", 55 | "originaljQuery", 56 | "$", 57 | "original$", 58 | "externalHost" 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/1x1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/jquery/test/data/1x1.jpg -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/ajax/unreleasedXHR.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Attempt to block tests because of dangling XHR requests (IE) 6 | 7 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/atom+xml.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/badcall.js: -------------------------------------------------------------------------------- 1 | undefined(); 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/badjson.js: -------------------------------------------------------------------------------- 1 | {bad: toTheBone} 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/cleanScript.html: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/core/cc_on.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/dashboard.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/dimensions/documentLarge.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 |
    14 | 15 |
    16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/dimensions/documentSmall.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 |
    18 | 19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/echoData.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/echoQuery.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/errorWithJSON.php: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/evalScript.php: -------------------------------------------------------------------------------- 1 | ok( "" === "GET", "request method is " ); -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/event/focusElem.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .focus() (activeElement access #13393) 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/event/longLoadScript.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/event/promiseReady.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test case for jQuery ticket #11470 6 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/event/syncReady.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test case for jQuery ticket #10067 6 | 7 | 8 | 9 | 10 | 15 | 16 | 20 | 21 |
    22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/headers.php: -------------------------------------------------------------------------------- 1 | $value ) { 10 | 11 | $key = str_replace( "_" , "-" , substr( $key , 0 , 5 ) == "HTTP_" ? substr( $key , 5 ) : $key ); 12 | $headers[ $key ] = $value; 13 | 14 | } 15 | 16 | foreach( explode( "_" , $_GET[ "keys" ] ) as $key ) { 17 | echo "$key: " . @$headers[ strtoupper( $key ) ] . "\n"; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/if_modified_since.php: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/iframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | iframe 4 | 5 | 6 |
    span text
    7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/json.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/json_obj.js: -------------------------------------------------------------------------------- 1 | { "data": {"lang": "en", "length": 25} } 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/jsonp.php: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/manipulation/iframe-denied.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | body 6 | 7 | 8 |
    9 | 10 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/name.html: -------------------------------------------------------------------------------- 1 | ERROR 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/name.php: -------------------------------------------------------------------------------- 1 | $xml$result"; 12 | die(); 13 | } 14 | $name = $_REQUEST['name']; 15 | if($name == 'foo') { 16 | echo "bar"; 17 | die(); 18 | } else if($name == 'peter') { 19 | echo "pan"; 20 | die(); 21 | } 22 | 23 | echo 'ERROR '; 24 | ?> -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/nocontent.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/absolute.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | absolute 7 | 18 | 19 | 29 | 30 | 31 |
    absolute-1 32 |
    absolute-1-1 33 |
    absolute-1-1-1
    34 |
    35 |
    36 |
    absolute-2
    37 |
    Has absolute position but no values set for the location ('auto').
    38 |
    39 |

    Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

    40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/body.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | body 7 | 12 | 13 | 21 | 22 | 23 |
    24 |
    25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/fixed.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | fixed 7 | 15 | 16 | 25 | 26 | 27 |
    28 |
    29 |
    30 |
    31 |
    32 |

    Click the white box to move the marker to it.

    33 | 34 | 35 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/relative.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | relative 7 | 13 | 14 | 24 | 25 | 26 |
    27 |
    28 |
    29 |

    Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

    30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/scroll.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | scroll 7 | 16 | 17 | 28 | 29 | 30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 |

    Click the white box to move the marker to it.

    38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/static.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | static 7 | 13 | 14 | 24 | 25 | 26 |
    27 |
    28 |
    29 |

    Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

    30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/offset/table.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | table 7 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
    th-1th-2th-3
    td-1td-2td-3
    40 |
    41 |

    Click the white box to move the marker to it.

    42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/params_html.php: -------------------------------------------------------------------------------- 1 |
    2 | $value ) 4 | echo "$value"; 5 | ?> 6 |
    7 |
    8 | $value ) 10 | echo "$value"; 11 | ?> 12 |
    -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/readywaitasset.js: -------------------------------------------------------------------------------- 1 | var delayedMessage = "It worked!"; 2 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/readywaitloader.js: -------------------------------------------------------------------------------- 1 | // Simple script loader that uses jQuery.readyWait via jQuery.holdReady() 2 | 3 | //Hold on jQuery! 4 | jQuery.holdReady(true); 5 | 6 | var readyRegExp = /^(complete|loaded)$/; 7 | 8 | function assetLoaded( evt ){ 9 | var node = evt.currentTarget || evt.srcElement; 10 | if ( evt.type === "load" || readyRegExp.test(node.readyState) ) { 11 | jQuery.holdReady(false); 12 | } 13 | } 14 | 15 | setTimeout( function() { 16 | var script = document.createElement("script"); 17 | script.type = "text/javascript"; 18 | if ( script.addEventListener ) { 19 | script.addEventListener( "load", assetLoaded, false ); 20 | } else { 21 | script.attachEvent( "onreadystatechange", assetLoaded ); 22 | } 23 | script.src = "data/readywaitasset.js"; 24 | document.getElementsByTagName("head")[0].appendChild(script); 25 | }, 2000 ); 26 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/script.php: -------------------------------------------------------------------------------- 1 | 11 | ok( true, "Script executed correctly." ); 12 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/selector/sizzle_cache.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery selector - sizzle cache 6 | 7 | 8 | 14 | 15 | 16 | 17 |
    18 | Worlds collide 19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/statusText.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/bodyBackground.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 17 | 18 | 19 |
    20 | 21 |
    22 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/boxSizing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/csp.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | parent.iframeCallback( jQuery.support ); 3 | }); 4 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/csp.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | CSP Test Page 16 | 17 | 18 | 19 | 20 |

    CSP Test Page

    21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/shrinkWrapBlocks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 |
    15 | 16 |
    17 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/support/testElementCrash.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/test.html: -------------------------------------------------------------------------------- 1 | html text
    2 | 6 | 7 | blabla 8 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/test.js: -------------------------------------------------------------------------------- 1 | this.testBar = "bar"; 2 | jQuery("#ap").html("bar"); 3 | ok( true, "test.js executed"); 4 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/test.php: -------------------------------------------------------------------------------- 1 | html text
    2 | 6 | 7 | blabla -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/test2.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/test3.html: -------------------------------------------------------------------------------- 1 |
    This is a user
    2 |
    This is a user
    3 |
    This is a teacher
    4 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/text.php: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolor sit amet 2 | consectetuer adipiscing elit 3 | Sed lorem leo 4 | lorem leo consectetuer adipiscing elit 5 | Sed lorem leo 6 | rhoncus sit amet 7 | elementum at 8 | bibendum at, eros 9 | Cras at mi et tortor egestas vestibulum 10 | sed Cras at mi vestibulum 11 | Phasellus sed felis sit amet 12 | orci dapibus semper. 13 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/with_fries.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 1 14 | 15 | 16 | 17 | 18 | foo 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/data/with_fries_over_jsonp.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/jquery.js: -------------------------------------------------------------------------------- 1 | // Use the right jQuery source in iframe tests 2 | document.write( " 19 | 36 | 37 | 38 |

    39 | jQuery Network Error Test for Firefox 40 |

    41 |
    42 | This is a test page for 43 | 44 | #8135 45 | 46 | which was reported in Firefox when accessing properties 47 | of an XMLHttpRequest object after a network error occurred. 48 |
    49 |
    Take the following steps:
    50 |
      51 |
    1. 52 | make sure you accessed this page through a web server, 53 |
    2. 54 |
    3. 55 | stop the web server, 56 |
    4. 57 |
    5. 58 | open the console, 59 |
    6. 60 |
    7. 61 | click this 62 | 63 | , 64 |
    8. 65 |
    9. 66 | wait for both requests to fail. 67 |
    10. 68 |
    69 |
    70 | Test passes if you get two log lines: 71 |
      72 |
    • 73 | the first starting with "abort", 74 |
    • 75 |
    • 76 | the second starting with "complete", 77 |
    • 78 |
    79 |
    80 |
    81 | Test fails if the browser notifies an exception. 82 |
    83 | 84 | 85 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/readywait.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | jQuery.holdReady Test 11 | 12 | 17 | 18 | 19 | 21 | 22 | 23 | 34 | 35 | 36 |

    37 | jQuery.holdReady Test 38 |

    39 |

    40 | This is a test page for jQuery.readyWait and jQuery.holdReady, 41 | see 42 | #6781 43 | and 44 | #8803. 45 |

    46 |

    47 | Test for jQuery.holdReady, which can be used 48 | by plugins and other scripts to indicate something 49 | important to the page is still loading and needs 50 | to block the DOM ready callbacks that are registered 51 | with jQuery. 52 |

    53 |

    54 | Script loaders are the most likely kind of script 55 | to use jQuery.holdReady, but it could be used by 56 | other things like a script that loads a CSS file 57 | and wants to pause the DOM ready callbacks. 58 |

    59 |

    60 | Expected Result: The text 61 | It Worked! 62 | appears below after about 2 seconds. 63 |

    64 |

    65 | If there is an error in the console, 66 | or the text does not show up, then the test failed. 67 |

    68 |
    69 | 70 | 71 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/unit/deprecated.js: -------------------------------------------------------------------------------- 1 | module("deprecated", { teardown: moduleTeardown }); 2 | 3 | if ( jQuery.fn.size ) { 4 | test("size()", function() { 5 | expect(1); 6 | equal( jQuery("#qunit-fixture p").size(), 6, "Get Number of Elements Found" ); 7 | }); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/unit/exports.js: -------------------------------------------------------------------------------- 1 | module("exports", { teardown: moduleTeardown }); 2 | 3 | test("amdModule", function() { 4 | expect(1); 5 | 6 | equal( jQuery, amdDefined, "Make sure defined module matches jQuery" ); 7 | }); 8 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/jquery/test/xhtml.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/json3/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json3", 3 | "version": "3.2.6", 4 | "main": "lib/json3.min.js", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/bestiejs/json3.git" 8 | }, 9 | "ignore": [ 10 | ".*", 11 | "build.js", 12 | "index.html", 13 | "index.js", 14 | "component.json", 15 | "package.json", 16 | "benchmark", 17 | "page", 18 | "test", 19 | "vendor" 20 | ], 21 | "homepage": "https://github.com/bestiejs/json3", 22 | "_release": "3.2.6", 23 | "_resolution": { 24 | "type": "version", 25 | "tag": "v3.2.6", 26 | "commit": "7b89fd94939f970f316420e157a836cc68aa2207" 27 | }, 28 | "_source": "git://github.com/bestiejs/json3.git", 29 | "_target": "~3.2.4", 30 | "_originalSource": "json3" 31 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/json3/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013 Kit Cambridge. 2 | http://kitcambridge.be/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. -------------------------------------------------------------------------------- /src/main/webapp/bower_components/json3/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json3", 3 | "version": "3.2.6", 4 | "main": "lib/json3.min.js", 5 | "repository": { 6 | "type": "git", 7 | "url": "git://github.com/bestiejs/json3.git" 8 | }, 9 | "ignore": [ 10 | ".*", 11 | "build.js", 12 | "index.html", 13 | "index.js", 14 | "component.json", 15 | "package.json", 16 | "benchmark", 17 | "page", 18 | "test", 19 | "vendor" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ng-table", 3 | "version": "0.3.1", 4 | "main": [ 5 | "ng-table.js", 6 | "ng-table.css" 7 | ], 8 | "ignore": [ 9 | "examples", 10 | "src" 11 | ], 12 | "dependencies": { 13 | "angular": "=1.2.3" 14 | }, 15 | "devDependencies": { 16 | "angular-mocks": "1.2.3" 17 | }, 18 | "homepage": "https://github.com/esvit/ng-table", 19 | "_release": "0.3.1", 20 | "_resolution": { 21 | "type": "version", 22 | "tag": "v0.3.1", 23 | "commit": "268d113300ae58f1d669c625c514f2dca4bbd636" 24 | }, 25 | "_source": "git://github.com/esvit/ng-table.git", 26 | "_target": "~0.3.1", 27 | "_originalSource": "ng-table" 28 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components", 3 | "json": "bower.json" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 4 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.gitignore: -------------------------------------------------------------------------------- 1 | .temp 2 | .idea 3 | node_modules 4 | bower_components 5 | out -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "camelcase" : true, 3 | "indent": 4, 4 | "strict": true, 5 | "undef": true, 6 | "unused": true, 7 | "quotmark": "single", 8 | "maxlen": 120, 9 | "trailing": true, 10 | "curly": true, 11 | 12 | "devel": true, 13 | 14 | "browser":true, 15 | "jquery":true, 16 | "predef": [ 17 | "angular", 18 | "define", 19 | "require" 20 | ] 21 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | 5 | before_script: 6 | - export DISPLAY=:99.0 7 | - sh -e /etc/init.d/xvfb start 8 | - npm install -g karma 9 | - npm install -g grunt-cli 10 | - npm install -g bower 11 | - npm install 12 | - bower install 13 | - grunt 14 | 15 | script: 16 | - karma start --no-auto-watch --single-run --browsers Firefox 17 | 18 | after_success: 19 | cat out/coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, esvit. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | Neither the name of the esvit nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 9 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ng-table", 3 | "version": "0.3.1", 4 | "main": [ 5 | "ng-table.js", 6 | "ng-table.css" 7 | ], 8 | "ignore": [ 9 | "examples", 10 | "src" 11 | ], 12 | "dependencies": { 13 | "angular": "=1.2.3" 14 | }, 15 | "devDependencies": { 16 | "angular-mocks": "1.2.3" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file 2 | // See http://karma-runner.github.io/0.10/config/configuration-file.html 3 | module.exports = function(config) { 4 | config.set({ 5 | basePath: '', 6 | 7 | frameworks: ['jasmine'], 8 | 9 | // list of files / patterns to load in the browser 10 | files: [ 11 | // libraries 12 | 'bower_components/angular/angular.js', 13 | 'bower_components/angular-mocks/angular-mocks.js', 14 | 15 | // directive 16 | 'ng-table.src.js', 17 | 18 | // tests 19 | 'test/*.js' 20 | //'test/tableParamsSpec.js' 21 | //'test/tableControllerSpec.js' 22 | ], 23 | 24 | // generate js files from html templates 25 | preprocessors: { 26 | '*.js': 'coverage' 27 | }, 28 | 29 | reporters: ['progress', 'coverage'], 30 | 31 | autoWatch: true, 32 | browsers: ['PhantomJS'], 33 | coverageReporter: { 34 | type: 'lcov', 35 | dir : 'out/coverage' 36 | } 37 | }); 38 | }; 39 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ng-table", 3 | "version": "0.3.1", 4 | "author": "Vitalii Savchuk ", 5 | "license": "BSD", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/esvit/ng-table.git" 9 | }, 10 | "devDependencies": { 11 | "coffee-script": "~1.6.2", 12 | "grunt-regarde": "~0.1.1", 13 | "grunt-contrib-jade": "~0.5.0", 14 | "grunt-hustler": "0.11.2", 15 | "grunt-contrib-copy": "~0.4.1", 16 | "grunt-contrib-coffee": "~0.7.0", 17 | "grunt-contrib-clean": "~0.4.0", 18 | "grunt-contrib-concat": "~0.3.0", 19 | "grunt-contrib-requirejs": "~0.4.0", 20 | "grunt-contrib-uglify": "~0.2.1", 21 | "grunt": "~0.4.1", 22 | "grunt-contrib-less": "~0.5.2", 23 | "grunt-contrib-cssmin": "~0.6.1", 24 | "karma": "~0.10", 25 | "karma-jasmine": "*", 26 | "karma-chrome-launcher": "*", 27 | "karma-firefox-launcher": "*", 28 | "karma-ng-html2js-preprocessor": "*", 29 | "coveralls": "", 30 | "karma-coverage": "~0.1.0" 31 | }, 32 | "scripts": { 33 | "test": "karma start --single-run --no-auto-watch" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/ng-table/test/tableControllerSpec.js: -------------------------------------------------------------------------------- 1 | describe('ngTableParams', function () { 2 | var scope, ctrl, params, data = [ 3 | {name: "Moroni", age: 50, role: 'Administrator'}, 4 | {name: "Tiancum", age: 43, role: 'Administrator'}, 5 | {name: "Jacob", age: 27, role: 'Administrator'}, 6 | {name: "Nephi", age: 29, role: 'Moderator'}, 7 | {name: "Enos", age: 34, role: 'User'}, 8 | {name: "Tiancum", age: 43, role: 'User'}, 9 | {name: "Jacob", age: 27, role: 'User'}, 10 | {name: "Nephi", age: 29, role: 'Moderator'}, 11 | {name: "Enos", age: 34, role: 'User'}, 12 | {name: "Tiancum", age: 43, role: 'Moderator'}, 13 | {name: "Jacob", age: 27, role: 'User'}, 14 | {name: "Nephi", age: 29, role: 'User'}, 15 | {name: "Enos", age: 34, role: 'Moderator'}, 16 | {name: "Tiancum", age: 43, role: 'User'}, 17 | {name: "Jacob", age: 27, role: 'User'}, 18 | {name: "Nephi", age: 29, role: 'User'}, 19 | {name: "Enos", age: 34, role: 'User'} 20 | ]; 21 | beforeEach(module('ngTable')); 22 | 23 | /*beforeEach(inject(function ($controller, $rootScope, ngTableParams) { 24 | scope = $rootScope.$new(); 25 | params = scope.params = new ngTableParams(); 26 | ctrl = $controller(ngTableController, { 27 | $scope: scope 28 | }); 29 | })); 30 | 31 | it('ngTableController should have parameters', inject(function (ngTableParams) { 32 | var params = new ngTableParams(); 33 | expect(ngTableParams).toBeDefined(); 34 | }));*/ 35 | }); -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs-domready/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "requirejs-domready", 3 | "homepage": "https://github.com/requirejs/domReady", 4 | "version": "2.0.1", 5 | "_release": "2.0.1", 6 | "_resolution": { 7 | "type": "version", 8 | "tag": "2.0.1", 9 | "commit": "850d9c92541afac5d9c64506736272cdbf7a3ae5" 10 | }, 11 | "_source": "git://github.com/requirejs/domReady.git", 12 | "_target": "~2.0.1", 13 | "_originalSource": "requirejs-domready" 14 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs-domready/README.md: -------------------------------------------------------------------------------- 1 | # text 2 | 3 | An AMD loader plugin for detecting DOM ready. 4 | 5 | Known to work in RequireJS, but should work in other 6 | AMD loaders that support the same loader plugin API. 7 | 8 | ## Docs 9 | 10 | See the [RequireJS API text section](http://requirejs.org/docs/api.html#pageload). 11 | 12 | ## Latest release 13 | 14 | The latest release will be available from the "latest" tag. 15 | 16 | ## License 17 | 18 | Dual-licensed -- new BSD or MIT. 19 | 20 | ## Where are the tests? 21 | 22 | They are in the [requirejs](https://github.com/jrburke/requirejs) and 23 | [r.js](https://github.com/jrburke/r.js) repos. 24 | 25 | ## History 26 | 27 | This plugin was in the [requirejs repo](https://github.com/jrburke/requirejs) 28 | up until the requirejs 2.0 release. 29 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs-domready/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "volo": { 3 | "url": "https://raw.github.com/requirejs/domReady/{version}/domReady.js" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "requirejs", 3 | "version": "2.1.11", 4 | "homepage": "http://requirejs.org", 5 | "authors": [ 6 | "jrburke.com" 7 | ], 8 | "description": "A file and module loader for JavaScript", 9 | "main": "require.js", 10 | "keywords": [ 11 | "AMD" 12 | ], 13 | "license": "new BSD, and MIT", 14 | "_release": "2.1.11", 15 | "_resolution": { 16 | "type": "version", 17 | "tag": "2.1.11", 18 | "commit": "fc97e49f1ec9fb2f204bef2b60ed21a32d6a2e05" 19 | }, 20 | "_source": "git://github.com/jrburke/requirejs-bower.git", 21 | "_target": "~2.1.9", 22 | "_originalSource": "requirejs" 23 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs/README.md: -------------------------------------------------------------------------------- 1 | # requirejs-bower 2 | 3 | Bower packaging for [RequireJS](http://requirejs.org). 4 | 5 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/requirejs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "requirejs", 3 | "version": "2.1.11", 4 | "homepage": "http://requirejs.org", 5 | "authors": [ 6 | "jrburke.com" 7 | ], 8 | "description": "A file and module loader for JavaScript", 9 | "main": "require.js", 10 | "keywords": [ 11 | "AMD" 12 | ], 13 | "license": "new BSD, and MIT" 14 | } 15 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sizzle", 3 | "version": "1.10.16", 4 | "main": "./dist/sizzle.js", 5 | "devDependencies": { 6 | "qunit": "~1.12.0", 7 | "benchmark": "~1.0.0", 8 | "requirejs": "~2.1.8", 9 | "requirejs-domready": "~2.0.1", 10 | "requirejs-text": "~2.0.10" 11 | }, 12 | "ignore": [ 13 | "**/.*", 14 | "package.json", 15 | "bower.json", 16 | "speed", 17 | "Makefile", 18 | "*.md", 19 | "*.txt", 20 | "src", 21 | "Gruntfile.js" 22 | ], 23 | "homepage": "https://github.com/jquery/sizzle", 24 | "_release": "1.10.16", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "1.10.16", 28 | "commit": "0fd151739d05648118002914c7a638411bbd0dbe" 29 | }, 30 | "_source": "git://github.com/jquery/sizzle.git", 31 | "_target": "1.10.16", 32 | "_originalSource": "sizzle" 33 | } -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/commit.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var exec = require( "child_process" ).exec; 4 | 5 | module.exports = function( grunt ) { 6 | grunt.registerTask( "commit", "Add and commit changes", function( message ) { 7 | // Always add dist directory 8 | exec( "git add dist && git commit -m " + message, this.async() ); 9 | }); 10 | }; 11 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/compile.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = function( grunt ) { 4 | grunt.registerMultiTask( 5 | "compile", 6 | "Compile sizzle.js to the dist directory. Embed date/version.", 7 | function() { 8 | var data = this.data, 9 | dest = data.dest, 10 | src = data.src, 11 | version = grunt.config( "pkg.version" ), 12 | compiled = grunt.file.read( src ); 13 | 14 | // Embed version and date 15 | compiled = compiled 16 | .replace( /@VERSION/g, version ) 17 | .replace( "@DATE", function() { 18 | var date = new Date(); 19 | 20 | // YYYY-MM-DD 21 | return [ 22 | date.getFullYear(), 23 | ( "0" + ( date.getMonth() + 1 ) ).slice( -2 ), 24 | ( "0" + date.getDate() ).slice( -2 ) 25 | ].join( "-" ); 26 | }); 27 | 28 | // Write source to file 29 | grunt.file.write( dest, compiled ); 30 | 31 | grunt.log.ok( "File written to " + dest ); 32 | } 33 | ); 34 | }; 35 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/dist.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var fs = require( "fs" ); 4 | 5 | module.exports = function( grunt ) { 6 | grunt.registerTask( "dist", "Process files for distribution", function() { 7 | var files = grunt.file.expand( { filter: "isFile" }, "dist/*" ); 8 | 9 | files.forEach(function( filename ) { 10 | var map, 11 | text = fs.readFileSync( filename, "utf8" ); 12 | 13 | // Modify map/min so that it points to files in the same folder; 14 | // see https://github.com/mishoo/UglifyJS2/issues/47 15 | if ( /\.map$/.test( filename ) ) { 16 | text = text.replace( /"dist\//g, "\"" ); 17 | fs.writeFileSync( filename, text, "utf-8" ); 18 | } else if ( /\.min\.js$/.test( filename ) ) { 19 | // Wrap sourceMap directive in multiline comments (#13274) 20 | text = text.replace( /\n?(\/\/@\s*sourceMappingURL=)(.*)/, 21 | function( _, directive, path ) { 22 | map = "\n" + directive + path.replace( /^dist\//, "" ); 23 | return ""; 24 | }); 25 | if ( map ) { 26 | text = text.replace( /(^\/\*[\w\W]*?)\s*\*\/|$/, 27 | function( _, comment ) { 28 | return ( comment || "\n/*" ) + map + "\n*/"; 29 | }); 30 | } 31 | fs.writeFileSync( filename, text, "utf-8" ); 32 | } 33 | }); 34 | }); 35 | }; 36 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/release.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var exec = require( "child_process" ).exec; 4 | 5 | module.exports = function( grunt ) { 6 | var rpreversion = /(\d\.\d+\.\d+)-pre/; 7 | 8 | grunt.registerTask( "release", 9 | "Release a version of sizzle, updates a pre version to released, " + 10 | "inserts `next` as the new pre version", function( next ) { 11 | 12 | if ( !rpreversion.test( next ) ) { 13 | grunt.fatal( "Next version should be a -pre version (x.x.x-pre): " + next ); 14 | return; 15 | } 16 | 17 | var done, 18 | version = grunt.config( "pkg.version" ); 19 | if ( !rpreversion.test( version ) ) { 20 | grunt.fatal( "Existing version is not a pre version: " + version ); 21 | return; 22 | } 23 | version = version.replace( rpreversion, "$1" ); 24 | 25 | done = this.async(); 26 | exec( "git diff --quiet HEAD", function( err ) { 27 | if ( err ) { 28 | grunt.fatal( "The working directory should be clean when releasing. Commit or stash changes." ); 29 | return; 30 | } 31 | // Build to dist directories along with a map and tag the release 32 | grunt.task.run([ 33 | // Commit new version 34 | "version:" + version, 35 | // Tag new version 36 | "tag:" + version, 37 | // Commit next version 38 | "version:" + next 39 | ]); 40 | done(); 41 | }); 42 | }); 43 | }; 44 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/tag.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var exec = require( "child_process" ).exec; 4 | 5 | module.exports = function( grunt ) { 6 | grunt.registerTask( "tag", "Tag the specified version", function( version ) { 7 | exec( "git tag " + version, this.async() ); 8 | }); 9 | }; 10 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/tasks/version.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var exec = require( "child_process" ).exec; 4 | 5 | module.exports = function( grunt ) { 6 | grunt.registerTask( "version", "Commit a new version", function( version ) { 7 | if ( !/\d\.\d+\.\d+(?:-pre)?/.test( version ) ) { 8 | grunt.fatal( "Version must follow semver release format: " + version ); 9 | return; 10 | } 11 | 12 | var done = this.async(), 13 | files = grunt.config( "version.files" ), 14 | rversion = /("version":\s*")[^"]+/; 15 | 16 | // Update version in specified files 17 | files.forEach(function( filename ) { 18 | var text = grunt.file.read( filename ); 19 | text = text.replace( rversion, "$1" + version ); 20 | grunt.file.write( filename, text ); 21 | }); 22 | 23 | // Add files to git index 24 | exec( "git add -A", function( err ) { 25 | if ( err ) { 26 | grunt.fatal( err ); 27 | return; 28 | } 29 | // Commit next pre version 30 | grunt.config( "pkg.version", version ); 31 | grunt.task.run([ "build", "uglify", "dist", "commit:'Update version to " + version + "'" ]); 32 | done(); 33 | }); 34 | }); 35 | }; 36 | -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/test/data/empty.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/bower_components/sizzle/test/data/empty.js -------------------------------------------------------------------------------- /src/main/webapp/bower_components/sizzle/test/data/mixed_sort.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhonnymertz/spring-angular-integration/3dcfde458c475045798a6dd32628b76529aae2a4/src/main/webapp/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/scripts/bootstrap.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'require', 3 | 'angular', 4 | 'app', 5 | 'routes' 6 | ], function (require, ng) { 7 | 'use strict'; 8 | 9 | require(['domReady!'], function (document) { 10 | ng.bootstrap(document, ['WebApp']); 11 | }); 12 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/controllers/index.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './users', 3 | './login' 4 | ], function() {}); -------------------------------------------------------------------------------- /src/main/webapp/scripts/controllers/login.js: -------------------------------------------------------------------------------- 1 | define(['./module'], function(controllers) { 2 | 'use strict'; 3 | controllers.controller('LoginCtrl', function($scope, $rootScope, $location, $http, $cookieStore, loginService, toaster) { 4 | 5 | $scope.authenticate = function() { 6 | loginService.authenticate($.param({username: $scope.username, password: $scope.password}), function success(user) { 7 | 8 | toaster.pop('success', 'Autenticação', 'Usuário autenticado com sucesso!'); 9 | 10 | $rootScope.user = user; 11 | $http.defaults.headers.common['X-Auth-Token'] = user.token; 12 | $cookieStore.put('user', user); 13 | 14 | if($rootScope.redirectUrl != null && $rootScope.redirectUrl.indexOf('/login') == -1) 15 | $location.url($rootScope.redirectUrl); 16 | else 17 | $location.path("/"); 18 | 19 | $rootScope.redirectUrl = null; 20 | $rootScope.redirectStatus = null; 21 | }, function err(data) { 22 | if($rootScope.redirectStatus == 401) 23 | toaster.pop('error', 'Autenticação', 'Usuário ou senha incorretos!'); 24 | }); 25 | }; 26 | }); 27 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/controllers/module.js: -------------------------------------------------------------------------------- 1 | define(['angular'], function(ng) { 2 | 'use strict'; 3 | return ng.module('WebApp.controllers', []); 4 | }) -------------------------------------------------------------------------------- /src/main/webapp/scripts/directives/equals.js: -------------------------------------------------------------------------------- 1 | define(['./module'], function(directives) { 2 | 'use strict'; 3 | /** 4 | * http://stackoverflow.com/questions/14012239/password-check-directive-in-angularjs 5 | */ 6 | directives.directive('equals', function() { 7 | return { 8 | restrict: 'A', // only activate on element attribute 9 | require: '?ngModel', // get a hold of NgModelController 10 | link: function(scope, elem, attrs, ngModel) { 11 | if(!ngModel) return; // do nothing if no ng-model 12 | 13 | // watch own value and re-validate on change 14 | scope.$watch(attrs.ngModel, function() { 15 | validate(); 16 | }); 17 | 18 | // observe the other value and re-validate on change 19 | attrs.$observe('equals', function (val) { 20 | validate(); 21 | }); 22 | 23 | var validate = function() { 24 | // values 25 | var val1 = ngModel.$viewValue; 26 | var val2 = attrs.equals; 27 | 28 | // set validity 29 | ngModel.$setValidity('equals', val1 === val2); 30 | }; 31 | } 32 | } 33 | }); 34 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/directives/index.js: -------------------------------------------------------------------------------- 1 | define([ 2 | './navBar', 3 | './equals' 4 | ], function() {}); -------------------------------------------------------------------------------- /src/main/webapp/scripts/directives/module.js: -------------------------------------------------------------------------------- 1 | define(['angular'], function(ng) { 2 | 'use strict'; 3 | return ng.module('WebApp.directives', []); 4 | }) -------------------------------------------------------------------------------- /src/main/webapp/scripts/directives/navBar.js: -------------------------------------------------------------------------------- 1 | define(['./module'], function(directives) { 2 | 'use strict'; 3 | /** 4 | * http://stackoverflow.com/questions/16199418/how-do-i-implement-the-bootstrap-navbar-active-class-with-angular-js 5 | */ 6 | directives.directive('navbar', function($location) { 7 | return { 8 | restrict: 'A', 9 | link: function postLink(scope, element, attrs, controller) { 10 | // Watch for the $location 11 | scope.$watch(function() { 12 | return $location.path(); 13 | }, function(newValue, oldValue) { 14 | $('li[data-match-route]', element).each(function(k, li) { 15 | var $li = angular.element(li), 16 | // data('match-rout') does not work with dynamic attributes 17 | pattern = $li.attr('data-match-route'), 18 | regexp = new RegExp('^' + pattern + '$', ['i']); 19 | 20 | if(regexp.test(newValue)) { 21 | $li.addClass('active'); 22 | } else { 23 | $li.removeClass('active'); 24 | } 25 | 26 | }); 27 | }); 28 | } 29 | }; 30 | }); 31 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/filters/index.js: -------------------------------------------------------------------------------- 1 | define([], function() {}); -------------------------------------------------------------------------------- /src/main/webapp/scripts/filters/module.js: -------------------------------------------------------------------------------- 1 | define(['angular'], function(ng) { 2 | 'use strict'; 3 | return ng.module('WebApp.filters', []); 4 | }) -------------------------------------------------------------------------------- /src/main/webapp/scripts/main.js: -------------------------------------------------------------------------------- 1 | require.config({ 2 | paths: { 3 | 'angular': '../bower_components/angular/angular', 4 | 'angular-route': '../bower_components/angular-route/angular-route', 5 | 'angular-local-storage': '../bower_components/angular-local-storage/angular-local-storage', 6 | 'angular-mocks': '../bower_components/angular-mocks/angular-mocks', 7 | 'angular-cookies': '../bower_components/angular-cookies/angular-cookies', 8 | 'angular-resource': '../bower_components/angular-resource/angular-resource', 9 | 'angular-animate': '../bower_components/angular-animate/angular-animate', 10 | 'domReady': '../bower_components/requirejs-domready/domReady', 11 | 'jquery': '../bower_components/jquery/jquery.min', 12 | 'twbootstrap': '../bower_components/bootstrap/dist/js/bootstrap', 13 | 'angular-bootstrap' : '../bower_components/angular-bootstrap/ui-bootstrap-tpls', 14 | 'ng-table': '../bower_components/ng-table/ng-table', 15 | 'angular-toaster': '../bower_components/AngularJS-Toaster/toaster', 16 | }, 17 | shim: { 18 | 'angular': { 19 | exports: 'angular' 20 | }, 21 | 'angular-route': { 22 | deps: ['angular'] 23 | }, 24 | 'angular-local-storage': { 25 | deps: ['angular'] 26 | }, 27 | 'angular-mocks': { 28 | deps: ['angular'] 29 | }, 30 | 'angular-bootstrap': { 31 | deps: ['jquery','angular'] 32 | }, 33 | 'angular-cookies':{ 34 | deps: ['angular'] 35 | }, 36 | 'angular-resource':{ 37 | deps: ['angular'] 38 | }, 39 | 'angular-animate':{ 40 | deps: ['angular'] 41 | }, 42 | 'angular-toaster':{ 43 | deps: ['angular'] 44 | }, 45 | 'ng-table':{ 46 | deps: ['angular'] 47 | }, 48 | 'jquery': { 49 | exports: 'jquery' 50 | }, 51 | 'twbootstrap': { 52 | deps: ['jquery'] 53 | }, 54 | }, 55 | deps: ['./bootstrap'] 56 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/services/index.js: -------------------------------------------------------------------------------- 1 | define([ './user', './tables'], function() { 2 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/services/module.js: -------------------------------------------------------------------------------- 1 | define(['angular'], function(ng) { 2 | 'use strict'; 3 | return ng.module('WebApp.services', []); 4 | }) -------------------------------------------------------------------------------- /src/main/webapp/scripts/services/tables.js: -------------------------------------------------------------------------------- 1 | define(['./module'], function(services) { 2 | 'use strict'; 3 | 4 | services.factory('tables', function($filter, ngTableParams) { 5 | return { 6 | getUsersTable: function(data){ 7 | return new ngTableParams({ 8 | page : 1, // show first page 9 | count : 10, // count per page 10 | sorting: { 11 | name: 'asc' // initial sorting 12 | } 13 | }, { 14 | total : data.length, // length of data 15 | getData : function($defer, params) { 16 | // use build-in angular filter 17 | var orderedData = params.sorting() ? $filter('orderBy')( 18 | data, params.orderBy()) : data; 19 | $defer.resolve(orderedData.slice((params.page() - 1) 20 | * params.count(), params.page() * params.count())); 21 | } 22 | }); 23 | } 24 | }; 25 | }); 26 | 27 | }); -------------------------------------------------------------------------------- /src/main/webapp/scripts/services/user.js: -------------------------------------------------------------------------------- 1 | define(['./module'], function(services) { 2 | 'use strict'; 3 | 4 | services.service('userData', function() { 5 | var users = null; 6 | return { 7 | setUsers: function(usersToSet) { 8 | users = usersToSet; 9 | }, 10 | getUsers: function() { 11 | return users; 12 | }, 13 | findById: function(id) { 14 | for (var i = 0; i < users.length; i++) { 15 | if (users[i].id == id) return users[i]; 16 | } 17 | return null; 18 | } 19 | }; 20 | }); 21 | 22 | services.service('userService', function($resource) { 23 | return $resource( 24 | "services/users/:Id", 25 | {Id: "@Id" }, 26 | { 27 | "update": {method: "PUT"}, 28 | } 29 | ); 30 | }); 31 | 32 | services.factory('loginService', function($resource) { 33 | 34 | return $resource('services/:action', {}, 35 | { 36 | authenticate: { 37 | method: 'POST', 38 | params: {'action' : 'authenticate'}, 39 | headers : {'Content-Type': 'application/x-www-form-urlencoded'} 40 | }, 41 | } 42 | ); 43 | }); 44 | 45 | }); -------------------------------------------------------------------------------- /src/main/webapp/styles/angular-csp.css: -------------------------------------------------------------------------------- 1 | [ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak 2 | { 3 | display: none !important; 4 | } -------------------------------------------------------------------------------- /src/main/webapp/views/errors/400.html: -------------------------------------------------------------------------------- 1 |
    2 |

    3 | Parâmetros incorretos 4 |

    5 |

    Desculpe, mas foram encontrados erros de parâmetros na solicitação.

    6 |

    Essa mensagem pode ser resultado de:

    7 |
      8 |
    • falta de parâmetros obrigatórios
    • 9 |
    • parâmetros em formato distinto do esperado
    • 10 |
    11 | 12 | Retornar a página inicial 13 |
    -------------------------------------------------------------------------------- /src/main/webapp/views/errors/403.html: -------------------------------------------------------------------------------- 1 |
    2 |

    3 | Acesso negado 4 |

    5 |

    Desculpe, mas {{user.name}} não possui permissões de acesso a este conteúdo.

    6 | 7 | Retornar a página inicial 8 | Logar com outro usuário 9 |
    -------------------------------------------------------------------------------- /src/main/webapp/views/errors/404.html: -------------------------------------------------------------------------------- 1 |
    2 |

    3 | Página não encontrada 4 |

    5 |

    Desculpe, mas a página solicitada não foi encontrada.

    6 |

    Essa mensagem pode ser resultado de:

    7 |
      8 |
    • endereço ou parâmetros incorretos
    • 9 |
    • endereço antigo e/ou não mais utilizado
    • 10 |
    11 |
    12 | -------------------------------------------------------------------------------- /src/main/webapp/views/errors/500.html: -------------------------------------------------------------------------------- 1 |
    2 |

    3 | Erro interno no servidor 4 |

    5 |

    Por favor, contate o administrador do sistema.

    6 | 7 | Retornar a página inicial 8 |
    -------------------------------------------------------------------------------- /src/main/webapp/views/login.html: -------------------------------------------------------------------------------- 1 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/views/main.html: -------------------------------------------------------------------------------- 1 |

    2 | This is the main page 3 |

    -------------------------------------------------------------------------------- /src/main/webapp/views/users/user-form.html: -------------------------------------------------------------------------------- 1 |
    2 |

    Users form

    3 |
    4 |
    5 | 6 |
    7 |
    9 |
    10 |
    11 | 14 |
    15 |
    16 | 19 |
    20 | 21 |
    22 | 25 |
    26 |
    27 | 31 |
    32 | 33 |
    34 | 37 |
    38 |
    39 | 44 |
    45 | 47 |
    48 | 49 |
    50 |
    -------------------------------------------------------------------------------- /src/main/webapp/views/users/users.html: -------------------------------------------------------------------------------- 1 | 6 | 7 |
    8 |

    Users

    9 |
    10 |
    11 | 12 |
    13 | 14 |

    15 | New User 17 | 18 |

    19 | 20 |

    21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 35 | 36 |
    {{user.name}}{{user.username}}{{user.profile}} 30 |
    37 |

    38 | 39 | Delete users 40 | 41 |

    42 |
    --------------------------------------------------------------------------------