@cerema/cadriciel 1.4.26 → 1.4.29-a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1360) hide show
  1. package/cli/global/init.js +155 -229
  2. package/cli.js +222 -72
  3. package/lib/cadriciel.js +1 -4
  4. package/package.json +3 -1
  5. package/aqtion/.cadriciel/.settings +0 -25
  6. package/aqtion/.cadriciel/bin/.settings +0 -0
  7. package/aqtion/.cadriciel/bin/build.js +0 -106
  8. package/aqtion/.cadriciel/bin/env.js +0 -145
  9. package/aqtion/.cadriciel/bin/gen/api/api.js +0 -886
  10. package/aqtion/.cadriciel/bin/gen/component/component.js +0 -36
  11. package/aqtion/.cadriciel/bin/gen/db/db.js +0 -3
  12. package/aqtion/.cadriciel/bin/gen/db/ext/create.js +0 -124
  13. package/aqtion/.cadriciel/bin/gen/db/ext/ext.js +0 -91
  14. package/aqtion/.cadriciel/bin/gen/db/ext/import.js +0 -636
  15. package/aqtion/.cadriciel/bin/gen/db/ext/models.js +0 -843
  16. package/aqtion/.cadriciel/bin/gen/db/ext/query.js +0 -127
  17. package/aqtion/.cadriciel/bin/gen/db/ext/reverse.js +0 -201
  18. package/aqtion/.cadriciel/bin/gen/db/ext/reverse_lib.js +0 -253
  19. package/aqtion/.cadriciel/bin/gen/db/ext/snapshot.js +0 -112
  20. package/aqtion/.cadriciel/bin/gen/db/ext/sql.js +0 -380
  21. package/aqtion/.cadriciel/bin/gen/page/page.js +0 -163
  22. package/aqtion/.cadriciel/bin/gen/project/project.js +0 -220
  23. package/aqtion/.cadriciel/bin/gen/service/service.js +0 -18
  24. package/aqtion/.cadriciel/bin/gen.js +0 -19
  25. package/aqtion/.cadriciel/bin/lib/cadriciel.js +0 -91
  26. package/aqtion/.cadriciel/bin/lib/convert.js +0 -94
  27. package/aqtion/.cadriciel/bin/lib/docker.js +0 -63
  28. package/aqtion/.cadriciel/bin/lib/global.js +0 -140
  29. package/aqtion/.cadriciel/bin/lib/templates.js +0 -48
  30. package/aqtion/.cadriciel/bin/lib/utils.js +0 -268
  31. package/aqtion/.cadriciel/bin/link.js +0 -139
  32. package/aqtion/.cadriciel/bin/logs.js +0 -42
  33. package/aqtion/.cadriciel/bin/project/_update.js +0 -268
  34. package/aqtion/.cadriciel/bin/project/ext/logo.js +0 -109
  35. package/aqtion/.cadriciel/bin/project/ext/version.js +0 -267
  36. package/aqtion/.cadriciel/bin/project/update.js +0 -3
  37. package/aqtion/.cadriciel/bin/project.js +0 -12
  38. package/aqtion/.cadriciel/bin/reset.js +0 -73
  39. package/aqtion/.cadriciel/bin/rm/api/api.js +0 -244
  40. package/aqtion/.cadriciel/bin/rm/component/component.js +0 -16
  41. package/aqtion/.cadriciel/bin/rm/db/db.js +0 -3
  42. package/aqtion/.cadriciel/bin/rm/db/ext/ext.js +0 -60
  43. package/aqtion/.cadriciel/bin/rm/db/ext/models.js +0 -357
  44. package/aqtion/.cadriciel/bin/rm/page/page.js +0 -62
  45. package/aqtion/.cadriciel/bin/rm/service/service.js +0 -17
  46. package/aqtion/.cadriciel/bin/rm.js +0 -18
  47. package/aqtion/.cadriciel/bin/run/backend.js +0 -122
  48. package/aqtion/.cadriciel/bin/run/frontend.js +0 -52
  49. package/aqtion/.cadriciel/bin/run/stop-backend.js +0 -39
  50. package/aqtion/.cadriciel/bin/run/stop-frontend.js +0 -55
  51. package/aqtion/.cadriciel/bin/start/docker.js +0 -448
  52. package/aqtion/.cadriciel/bin/start/update.js +0 -120
  53. package/aqtion/.cadriciel/bin/start/workspace.js +0 -398
  54. package/aqtion/.cadriciel/bin/start.js +0 -29
  55. package/aqtion/.cadriciel/bin/stop/docker.js +0 -28
  56. package/aqtion/.cadriciel/bin/stop/workspace.js +0 -54
  57. package/aqtion/.cadriciel/bin/stop.js +0 -26
  58. package/aqtion/.cadriciel/bin/templates/angular-prod/main.module.ts +0 -43
  59. package/aqtion/.cadriciel/bin/templates/angular-prod/shared.module.ts +0 -10
  60. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.html +0 -1
  61. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.scss +0 -0
  62. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.ts +0 -15
  63. package/aqtion/.cadriciel/bin/templates/environment.tpl.ts +0 -12
  64. package/aqtion/.cadriciel/bin/templates/idea/compiler.xml +0 -28
  65. package/aqtion/.cadriciel/bin/templates/idea/dataSources.local.xml +0 -20
  66. package/aqtion/.cadriciel/bin/templates/idea/dataSources.xml +0 -12
  67. package/aqtion/.cadriciel/bin/templates/idea/encodings.xml +0 -12
  68. package/aqtion/.cadriciel/bin/templates/idea/jarRepositories.xml +0 -20
  69. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy-datasource.xml +0 -8
  70. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy.xml +0 -7
  71. package/aqtion/.cadriciel/bin/templates/idea/misc.xml +0 -16
  72. package/aqtion/.cadriciel/bin/templates/idea/modules.xml +0 -8
  73. package/aqtion/.cadriciel/bin/templates/idea/vcs.xml +0 -6
  74. package/aqtion/.cadriciel/bin/templates/idea/workspace-docker.xml +0 -114
  75. package/aqtion/.cadriciel/bin/templates/idea/workspace.xml +0 -122
  76. package/aqtion/.cadriciel/bin/templates/java/config.java +0 -59
  77. package/aqtion/.cadriciel/bin/templates/jpb/jpb-settings.xml +0 -12
  78. package/aqtion/.cadriciel/bin/templates/routing.module.ts +0 -30
  79. package/aqtion/.cadriciel/bin/templates/start/backend.sh +0 -15
  80. package/aqtion/.cadriciel/bin/templates/start/frontend.sh +0 -3
  81. package/aqtion/.cadriciel/bin/templates/studio-env.tpl.ts +0 -9
  82. package/aqtion/.cadriciel/bin/templates/{{name}}.component.html +0 -1
  83. package/aqtion/.cadriciel/bin/templates/{{name}}.component.scss +0 -0
  84. package/aqtion/.cadriciel/bin/templates/{{name}}.component.ts +0 -16
  85. package/aqtion/.cadriciel/bin/templates/{{name}}.service.ts +0 -20
  86. package/aqtion/.cadriciel/bin/unlink.js +0 -0
  87. package/aqtion/.cadriciel/bin/upgrade.js +0 -0
  88. package/aqtion/.cadriciel/bin/version.json +0 -4
  89. package/aqtion/.cadriciel/cli/build.js +0 -8
  90. package/aqtion/.cadriciel/cli/env.js +0 -9
  91. package/aqtion/.cadriciel/cli/gen.js +0 -34
  92. package/aqtion/.cadriciel/cli/link.js +0 -8
  93. package/aqtion/.cadriciel/cli/logs.js +0 -8
  94. package/aqtion/.cadriciel/cli/project.js +0 -14
  95. package/aqtion/.cadriciel/cli/reset.js +0 -8
  96. package/aqtion/.cadriciel/cli/restart.js +0 -8
  97. package/aqtion/.cadriciel/cli/rm.js +0 -34
  98. package/aqtion/.cadriciel/cli/start.js +0 -8
  99. package/aqtion/.cadriciel/cli/stop.js +0 -8
  100. package/aqtion/.cadriciel/cli/unlink.js +0 -8
  101. package/aqtion/.cadriciel/cli/upgrade.js +0 -8
  102. package/aqtion/.cadriciel/routes/root.json +0 -1
  103. package/aqtion/.cadriciel/shared/.gitkeep +0 -0
  104. package/aqtion/.cadriciel/watcher/pid +0 -1
  105. package/aqtion/.dockerignore +0 -5
  106. package/aqtion/.gitlab-ci.yml +0 -102
  107. package/aqtion/.jpb/jpb-settings.xml +0 -12
  108. package/aqtion/.project +0 -1
  109. package/aqtion/.vscode/launch.json +0 -23
  110. package/aqtion/.vscode/settings.json +0 -3
  111. package/aqtion/.vscode/tasks.json +0 -55
  112. package/aqtion/Dockerfile +0 -8
  113. package/aqtion/angular.json +0 -208
  114. package/aqtion/backend/.mvn/wrapper/MavenWrapperDownloader.java +0 -116
  115. package/aqtion/backend/.mvn/wrapper/maven-wrapper.properties +0 -4
  116. package/aqtion/backend/Dockerfile +0 -13
  117. package/aqtion/backend/aqtion-data/Readme.md +0 -27
  118. package/aqtion/backend/aqtion-data/pom.xml +0 -36
  119. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/Readme.md +0 -5
  120. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/V2022.06.02.1513__dev-data.sql +0 -7
  121. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/Readme.md +0 -38
  122. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/V2021.10.14.0819__Init.sql +0 -23
  123. package/aqtion/backend/aqtion-data/target/classes/db/dev/Readme.md +0 -5
  124. package/aqtion/backend/aqtion-data/target/classes/db/dev/V2022.06.02.1513__dev-data.sql +0 -7
  125. package/aqtion/backend/aqtion-data/target/classes/db/migration/Readme.md +0 -38
  126. package/aqtion/backend/aqtion-data/target/classes/db/migration/V2021.10.14.0819__Init.sql +0 -23
  127. package/aqtion/backend/aqtion-data/target/maven-archiver/pom.properties +0 -3
  128. package/aqtion/backend/aqtion-metier/pom.xml +0 -110
  129. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/CustomUserDetailsService.java +0 -12
  130. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/ProfilService.java +0 -24
  131. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/UserService.java +0 -36
  132. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/CustomUserDetailsServiceImpl.java +0 -79
  133. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/ProfilServiceImpl.java +0 -27
  134. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/UserServiceImpl.java +0 -75
  135. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/security/UserSecurityServiceUtil.java +0 -30
  136. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericService.java +0 -30
  137. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericServiceImpl.java +0 -62
  138. package/aqtion/backend/aqtion-metier/src/test/java/fr/cerema/dsi/aqtion/services/UserServiceImplTest.java +0 -60
  139. package/aqtion/backend/aqtion-metier/target/maven-archiver/pom.properties +0 -3
  140. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -9
  141. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -9
  142. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +0 -1
  143. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +0 -1
  144. package/aqtion/backend/aqtion-persistance/pom.xml +0 -33
  145. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/ProfilRepository.java +0 -18
  146. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/UserRepository.java +0 -28
  147. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/AbstractDao.java +0 -118
  148. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/GenericRepository.java +0 -101
  149. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/IAbstractDao.java +0 -66
  150. package/aqtion/backend/aqtion-persistance/target/maven-archiver/pom.properties +0 -3
  151. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -5
  152. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -5
  153. package/aqtion/backend/aqtion-presentation/Readme.md +0 -98
  154. package/aqtion/backend/aqtion-presentation/pom.xml +0 -185
  155. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/App.java +0 -20
  156. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AspectJConfiguration.java +0 -58
  157. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AuthenticationTokenFilter.java +0 -134
  158. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/SecurityConfiguration.java +0 -80
  159. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/StaticResourcesWebConfiguration.java +0 -41
  160. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/WebConfiguration.java +0 -59
  161. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/AccountController.java +0 -64
  162. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/ApiOpenController.java +0 -71
  163. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/UserController.java +0 -65
  164. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/GenericDTO.java +0 -20
  165. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/ProfilDTO.java +0 -26
  166. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserDTO.java +0 -57
  167. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserWithCurrentAuthorityDTO.java +0 -31
  168. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/mapper/UserMapper.java +0 -33
  169. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiSubError.java +0 -5
  170. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.java +0 -13
  171. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/JsonApiError.java +0 -308
  172. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.java +0 -67
  173. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/ClientForwardController.java +0 -19
  174. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/CustomErrorController.java +0 -57
  175. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.java +0 -75
  176. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.java +0 -30
  177. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/filters/AppCorsFilter.java +0 -45
  178. package/aqtion/backend/aqtion-presentation/src/main/resources/META-INF/spring.factories +0 -2
  179. package/aqtion/backend/aqtion-presentation/src/main/resources/banner.txt +0 -3
  180. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring-ci.xml +0 -15
  181. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring.xml +0 -15
  182. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application-prod.yml +0 -80
  183. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application.yml +0 -94
  184. package/aqtion/backend/aqtion-presentation/src/test/java/fr/cerema/dsi/aqtion/service/IntegrationTest.java +0 -18
  185. package/aqtion/backend/aqtion-presentation/src/test/resources/application.yml +0 -41
  186. package/aqtion/backend/aqtion-presentation/src/test/resources/db.migration/Readme.md +0 -6
  187. package/aqtion/backend/aqtion-presentation/target/generated-sources/annotations/fr/cerema/dsi/aqtion/mapper/UserMapperImpl.java +0 -134
  188. package/aqtion/backend/aqtion-presentation/target/maven-archiver/pom.properties +0 -3
  189. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -25
  190. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -23
  191. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +0 -1
  192. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +0 -1
  193. package/aqtion/backend/aqtion-transverse/pom.xml +0 -22
  194. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/Profil.java +0 -53
  195. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/User.java +0 -79
  196. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/enums/Role.java +0 -8
  197. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/JwtConfMalformedException.java +0 -9
  198. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/AuthenticationServiceException.java +0 -30
  199. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/NoRoleForUserServiceException.java +0 -29
  200. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/UserNotFoundServiceException.java +0 -29
  201. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/entities/GenericEntity.java +0 -43
  202. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/BadRequestException.java +0 -43
  203. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/EntityNotFoundException.java +0 -9
  204. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericRepositoryException.java +0 -29
  205. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericServiceException.java +0 -29
  206. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UserNotFoundException.java +0 -11
  207. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UtilsException.java +0 -13
  208. package/aqtion/backend/aqtion-transverse/target/maven-archiver/pom.properties +0 -3
  209. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -15
  210. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -14
  211. package/aqtion/backend/mvnw +0 -311
  212. package/aqtion/backend/mvnw.cmd +0 -182
  213. package/aqtion/backend/pom.xml +0 -144
  214. package/aqtion/banner.png +0 -0
  215. package/aqtion/bun.lockb +0 -0
  216. package/aqtion/docker/config/keycloak/realms/export/realm.json +0 -63
  217. package/aqtion/docker/config/keycloak/themes/README.txt +0 -3
  218. package/aqtion/docker/config/keycloak/themes/base/account/account.ftl +0 -70
  219. package/aqtion/docker/config/keycloak/themes/base/account/applications.ftl +0 -76
  220. package/aqtion/docker/config/keycloak/themes/base/account/federatedIdentity.ftl +0 -42
  221. package/aqtion/docker/config/keycloak/themes/base/account/log.ftl +0 -35
  222. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ca.properties +0 -147
  223. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_cs.properties +0 -171
  224. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_da.properties +0 -339
  225. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_de.properties +0 -353
  226. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_en.properties +0 -397
  227. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_es.properties +0 -147
  228. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fi.properties +0 -400
  229. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fr.properties +0 -180
  230. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_hu.properties +0 -334
  231. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_it.properties +0 -336
  232. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ja.properties +0 -335
  233. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lt.properties +0 -154
  234. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lv.properties +0 -197
  235. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_nl.properties +0 -133
  236. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_no.properties +0 -152
  237. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pl.properties +0 -248
  238. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pt_BR.properties +0 -356
  239. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ru.properties +0 -155
  240. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sk.properties +0 -196
  241. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sv.properties +0 -150
  242. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_tr.properties +0 -315
  243. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_zh_CN.properties +0 -153
  244. package/aqtion/docker/config/keycloak/themes/base/account/password.ftl +0 -59
  245. package/aqtion/docker/config/keycloak/themes/base/account/resource-detail.ftl +0 -277
  246. package/aqtion/docker/config/keycloak/themes/base/account/resources.ftl +0 -403
  247. package/aqtion/docker/config/keycloak/themes/base/account/sessions.ftl +0 -44
  248. package/aqtion/docker/config/keycloak/themes/base/account/template.ftl +0 -88
  249. package/aqtion/docker/config/keycloak/themes/base/account/theme.properties +0 -1
  250. package/aqtion/docker/config/keycloak/themes/base/account/totp.ftl +0 -141
  251. package/aqtion/docker/config/keycloak/themes/base/admin/index.ftl +0 -99
  252. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ca.properties +0 -477
  253. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_de.properties +0 -1627
  254. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_en.properties +0 -2030
  255. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_es.properties +0 -479
  256. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fi.properties +0 -1
  257. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fr.properties +0 -155
  258. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_it.properties +0 -0
  259. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ja.properties +0 -1641
  260. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lt.properties +0 -1221
  261. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lv.properties +0 -1
  262. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_nl.properties +0 -0
  263. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_no.properties +0 -1129
  264. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pl.properties +0 -1
  265. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pt_BR.properties +0 -1101
  266. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ru.properties +0 -1279
  267. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_zh_CN.properties +0 -1230
  268. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ca.properties +0 -8
  269. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_de.properties +0 -29
  270. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_en.properties +0 -67
  271. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_es.properties +0 -8
  272. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fi.properties +0 -1
  273. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fr.properties +0 -8
  274. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_it.properties +0 -0
  275. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ja.properties +0 -30
  276. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lt.properties +0 -25
  277. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lv.properties +0 -1
  278. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_nl.properties +0 -27
  279. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_no.properties +0 -14
  280. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pl.properties +0 -1
  281. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pt_BR.properties +0 -18
  282. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ru.properties +0 -26
  283. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_zh_CN.properties +0 -26
  284. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/app.js +0 -3858
  285. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-app.js +0 -569
  286. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-controller.js +0 -2845
  287. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-services.js +0 -218
  288. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/clients.js +0 -4054
  289. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/groups.js +0 -625
  290. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/realm.js +0 -4552
  291. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/roles.js +0 -48
  292. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/users.js +0 -2042
  293. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/loaders.js +0 -587
  294. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/services.js +0 -2265
  295. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flow-bindings.html +0 -83
  296. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flows.html +0 -72
  297. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authenticator-config.html +0 -52
  298. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/broker-permissions.html +0 -40
  299. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-permissions.html +0 -39
  300. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-role-permissions.html +0 -40
  301. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/group-permissions.html +0 -39
  302. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/realm-role-permissions.html +0 -39
  303. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/users-permissions.html +0 -35
  304. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html +0 -131
  305. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html +0 -137
  306. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/resource-server-permission-list.html +0 -118
  307. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html +0 -123
  308. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-detail.html +0 -93
  309. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-scope-detail.html +0 -126
  310. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-group-detail.html +0 -126
  311. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-js-detail.html +0 -68
  312. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-regex-detail.html +0 -100
  313. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-role-detail.html +0 -169
  314. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-time-detail.html +0 -119
  315. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-user-detail.html +0 -93
  316. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate-result.html +0 -72
  317. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate.html +0 -267
  318. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-list.html +0 -117
  319. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-detail.html +0 -77
  320. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-export-settings.html +0 -35
  321. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-list.html +0 -49
  322. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-detail.html +0 -126
  323. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-list.html +0 -169
  324. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-detail.html +0 -50
  325. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-list.html +0 -102
  326. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/brute-force.html +0 -114
  327. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/ciba-policy.html +0 -63
  328. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/claims.html +0 -62
  329. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering-node.html +0 -37
  330. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering.html +0 -76
  331. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-generic.html +0 -14
  332. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-jwt.html +0 -26
  333. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret-jwt.html +0 -55
  334. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret.html +0 -33
  335. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-x509.html +0 -28
  336. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials.html +0 -38
  337. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-detail.html +0 -1080
  338. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-import.html +0 -46
  339. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access-create.html +0 -63
  340. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access.html +0 -55
  341. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-installation.html +0 -36
  342. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-keys.html +0 -146
  343. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-list.html +0 -68
  344. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers-add.html +0 -53
  345. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers.html +0 -55
  346. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-offline-sessions.html +0 -59
  347. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-export.html +0 -57
  348. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-import.html +0 -62
  349. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-keys.html +0 -108
  350. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-json.html +0 -60
  351. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-list.html +0 -74
  352. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit-condition.html +0 -65
  353. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit.html +0 -140
  354. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit-executor.html +0 -65
  355. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit.html +0 -97
  356. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-json.html +0 -60
  357. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-list.html +0 -80
  358. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-protocol-mapper-detail.html +0 -13
  359. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policies.html +0 -106
  360. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policy-detail.html +0 -68
  361. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-create.html +0 -55
  362. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-detail.html +0 -64
  363. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-registration-access-token.html +0 -18
  364. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-revocation.html +0 -30
  365. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-attributes.html +0 -45
  366. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-detail.html +0 -140
  367. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-list.html +0 -64
  368. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-users.html +0 -52
  369. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-export.html +0 -63
  370. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-import.html +0 -62
  371. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-keys.html +0 -66
  372. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-detail.html +0 -102
  373. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-list.html +0 -60
  374. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers-add.html +0 -53
  375. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers.html +0 -55
  376. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappings.html +0 -127
  377. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-protocol-mapper-detail.html +0 -13
  378. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-scope-mappings.html +0 -116
  379. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-evaluate.html +0 -268
  380. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-realm-default.html +0 -99
  381. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-setup.html +0 -123
  382. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-service-account-roles.html +0 -140
  383. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-sessions.html +0 -57
  384. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-generic.html +0 -207
  385. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-list.html +0 -67
  386. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-client.html +0 -72
  387. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-execution.html +0 -31
  388. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow-execution.html +0 -55
  389. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow.html +0 -43
  390. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-group.html +0 -25
  391. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/default-groups.html +0 -91
  392. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/defense-headers.html +0 -71
  393. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/forbidden.html +0 -7
  394. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-attributes.html +0 -41
  395. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-detail.html +0 -28
  396. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-list.html +0 -50
  397. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-members.html +0 -48
  398. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-role-mappings.html +0 -111
  399. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/home.html +0 -4
  400. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mapper-detail.html +0 -84
  401. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mappers.html +0 -49
  402. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/menu.html +0 -26
  403. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/group-selector.html +0 -50
  404. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-auth.html +0 -8
  405. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-representation.html +0 -3
  406. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/role-selector.html +0 -39
  407. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/unregistered-required-action-selector.html +0 -21
  408. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/user-credential-data.html +0 -8
  409. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-key.html +0 -18
  410. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-object.html +0 -3
  411. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/notfound.html +0 -7
  412. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/otp-policy.html +0 -96
  413. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/pagenotfound.html +0 -7
  414. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-export.html +0 -34
  415. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-import.html +0 -130
  416. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/password-policy.html +0 -51
  417. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/protocol-mapper-detail.html +0 -64
  418. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-cache-settings.html +0 -30
  419. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-create.html +0 -45
  420. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-default-roles.html +0 -88
  421. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-detail.html +0 -90
  422. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-admin.html +0 -134
  423. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-config.html +0 -106
  424. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events.html +0 -124
  425. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-bitbucket.html +0 -142
  426. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook-ext.html +0 -7
  427. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook.html +0 -1
  428. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github-ext.html +0 -14
  429. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github.html +0 -1
  430. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-gitlab.html +0 -142
  431. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google-ext.html +0 -21
  432. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google.html +0 -1
  433. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram-ext.html +0 -0
  434. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram.html +0 -1
  435. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-keycloak-oidc.html +0 -1
  436. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin-ext.html +0 -0
  437. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin.html +0 -1
  438. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft-ext.html +0 -0
  439. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft.html +0 -1
  440. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-oidc.html +0 -388
  441. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html +0 -7
  442. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3.html +0 -164
  443. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4-ext.html +0 -7
  444. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4.html +0 -164
  445. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal-ext.html +0 -7
  446. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal.html +0 -1
  447. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-saml.html +0 -435
  448. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-social.html +0 -157
  449. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html +0 -7
  450. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow.html +0 -1
  451. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter-ext.html +0 -0
  452. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter.html +0 -1
  453. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider.html +0 -81
  454. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-disabled.html +0 -70
  455. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-generic.html +0 -69
  456. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-passive.html +0 -70
  457. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-providers.html +0 -75
  458. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys.html +0 -73
  459. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-list.html +0 -20
  460. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-detail.html +0 -50
  461. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-upload.html +0 -37
  462. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization.html +0 -61
  463. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-login-settings.html +0 -107
  464. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-role-users.html +0 -50
  465. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-smtp.html +0 -96
  466. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-theme-settings.html +0 -97
  467. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-tokens.html +0 -401
  468. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-user-profile.html +0 -372
  469. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/required-actions.html +0 -38
  470. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-attributes.html +0 -41
  471. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-detail.html +0 -135
  472. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-list.html +0 -63
  473. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-mappings.html +0 -119
  474. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info-providers.html +0 -55
  475. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info.html +0 -135
  476. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-realm.html +0 -34
  477. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-revocation.html +0 -30
  478. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-attributes.html +0 -41
  479. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-consents.html +0 -41
  480. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-credentials.html +0 -173
  481. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-detail.html +0 -186
  482. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-detail.html +0 -53
  483. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-list.html +0 -41
  484. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federation.html +0 -69
  485. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-group-membership.html +0 -114
  486. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-list.html +0 -69
  487. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-offline-sessions.html +0 -35
  488. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-sessions.html +0 -43
  489. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-generic.html +0 -246
  490. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-kerberos.html +0 -264
  491. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mapper-detail.html +0 -64
  492. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mappers.html +0 -46
  493. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap.html +0 -568
  494. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage.html +0 -45
  495. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy-passwordless.html +0 -177
  496. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy.html +0 -159
  497. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-authz-modal.html +0 -11
  498. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-tabs-resource-server.html +0 -14
  499. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-component-config.html +0 -67
  500. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-copy.html +0 -18
  501. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-dropdown.html +0 -12
  502. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-edit.html +0 -22
  503. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-menu.html +0 -65
  504. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal-message.html +0 -10
  505. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal.html +0 -11
  506. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-paging.html +0 -25
  507. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-provider-config.html +0 -104
  508. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-switch.html +0 -12
  509. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-authentication.html +0 -16
  510. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-role.html +0 -17
  511. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-scope.html +0 -20
  512. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client.html +0 -65
  513. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-clients.html +0 -16
  514. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group-list.html +0 -11
  515. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group.html +0 -17
  516. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-identity-provider.html +0 -16
  517. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-ldap.html +0 -12
  518. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-realm.html +0 -24
  519. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-role.html +0 -16
  520. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user-storage.html +0 -11
  521. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user.html +0 -18
  522. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-users.html +0 -11
  523. package/aqtion/docker/config/keycloak/themes/base/admin/theme.properties +0 -1
  524. package/aqtion/docker/config/keycloak/themes/base/email/html/email-test.ftl +0 -4
  525. package/aqtion/docker/config/keycloak/themes/base/email/html/email-update-confirmation.ftl +0 -5
  526. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification-with-code.ftl +0 -4
  527. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification.ftl +0 -4
  528. package/aqtion/docker/config/keycloak/themes/base/email/html/event-login_error.ftl +0 -4
  529. package/aqtion/docker/config/keycloak/themes/base/email/html/event-remove_totp.ftl +0 -4
  530. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_password.ftl +0 -4
  531. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_totp.ftl +0 -4
  532. package/aqtion/docker/config/keycloak/themes/base/email/html/executeActions.ftl +0 -8
  533. package/aqtion/docker/config/keycloak/themes/base/email/html/identity-provider-link.ftl +0 -4
  534. package/aqtion/docker/config/keycloak/themes/base/email/html/password-reset.ftl +0 -4
  535. package/aqtion/docker/config/keycloak/themes/base/email/html/template.ftl +0 -7
  536. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ca.properties +0 -21
  537. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_cs.properties +0 -60
  538. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_da.properties +0 -47
  539. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_de.properties +0 -43
  540. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_en.properties +0 -55
  541. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_es.properties +0 -21
  542. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fi.properties +0 -46
  543. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fr.properties +0 -46
  544. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_hu.properties +0 -47
  545. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_it.properties +0 -50
  546. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ja.properties +0 -52
  547. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_lt.properties +0 -25
  548. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_nl.properties +0 -38
  549. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_no.properties +0 -24
  550. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pl.properties +0 -56
  551. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pt_BR.properties +0 -51
  552. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ru.properties +0 -25
  553. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sk.properties +0 -48
  554. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sv.properties +0 -25
  555. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_tr.properties +0 -51
  556. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_zh_CN.properties +0 -25
  557. package/aqtion/docker/config/keycloak/themes/base/email/text/email-test.ftl +0 -2
  558. package/aqtion/docker/config/keycloak/themes/base/email/text/email-update-confirmation.ftl +0 -2
  559. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification-with-code.ftl +0 -2
  560. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification.ftl +0 -2
  561. package/aqtion/docker/config/keycloak/themes/base/email/text/event-login_error.ftl +0 -2
  562. package/aqtion/docker/config/keycloak/themes/base/email/text/event-remove_totp.ftl +0 -2
  563. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_password.ftl +0 -2
  564. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_totp.ftl +0 -2
  565. package/aqtion/docker/config/keycloak/themes/base/email/text/executeActions.ftl +0 -4
  566. package/aqtion/docker/config/keycloak/themes/base/email/text/identity-provider-link.ftl +0 -2
  567. package/aqtion/docker/config/keycloak/themes/base/email/text/password-reset.ftl +0 -2
  568. package/aqtion/docker/config/keycloak/themes/base/email/theme.properties +0 -1
  569. package/aqtion/docker/config/keycloak/themes/base/login/cli_splash.ftl +0 -7
  570. package/aqtion/docker/config/keycloak/themes/base/login/code.ftl +0 -19
  571. package/aqtion/docker/config/keycloak/themes/base/login/delete-account-confirm.ftl +0 -33
  572. package/aqtion/docker/config/keycloak/themes/base/login/error.ftl +0 -16
  573. package/aqtion/docker/config/keycloak/themes/base/login/frontchannel-logout.ftl +0 -30
  574. package/aqtion/docker/config/keycloak/themes/base/login/idp-review-user-profile.ftl +0 -23
  575. package/aqtion/docker/config/keycloak/themes/base/login/info.ftl +0 -24
  576. package/aqtion/docker/config/keycloak/themes/base/login/login-config-totp.ftl +0 -108
  577. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-confirm.ftl +0 -13
  578. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-email.ftl +0 -16
  579. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth-grant.ftl +0 -68
  580. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth2-device-verify-user-code.ftl +0 -31
  581. package/aqtion/docker/config/keycloak/themes/base/login/login-otp.ftl +0 -58
  582. package/aqtion/docker/config/keycloak/themes/base/login/login-page-expired.ftl +0 -11
  583. package/aqtion/docker/config/keycloak/themes/base/login/login-password.ftl +0 -43
  584. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-config.ftl +0 -184
  585. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-input.ftl +0 -32
  586. package/aqtion/docker/config/keycloak/themes/base/login/login-reset-password.ftl +0 -39
  587. package/aqtion/docker/config/keycloak/themes/base/login/login-update-password.ftl +0 -71
  588. package/aqtion/docker/config/keycloak/themes/base/login/login-update-profile.ftl +0 -99
  589. package/aqtion/docker/config/keycloak/themes/base/login/login-username.ftl +0 -87
  590. package/aqtion/docker/config/keycloak/themes/base/login/login-verify-email.ftl +0 -14
  591. package/aqtion/docker/config/keycloak/themes/base/login/login-x509-info.ftl +0 -55
  592. package/aqtion/docker/config/keycloak/themes/base/login/login.ftl +0 -105
  593. package/aqtion/docker/config/keycloak/themes/base/login/logout-confirm.ftl +0 -38
  594. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ca.properties +0 -200
  595. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_cs.properties +0 -425
  596. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_da.properties +0 -363
  597. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_de.properties +0 -420
  598. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_en.properties +0 -501
  599. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_es.properties +0 -201
  600. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fi.properties +0 -443
  601. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fr.properties +0 -405
  602. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_hu.properties +0 -356
  603. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_it.properties +0 -354
  604. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ja.properties +0 -356
  605. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lt.properties +0 -216
  606. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lv.properties +0 -254
  607. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_nl.properties +0 -294
  608. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_no.properties +0 -214
  609. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pl.properties +0 -318
  610. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pt_BR.properties +0 -381
  611. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ru.properties +0 -217
  612. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sk.properties +0 -265
  613. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sv.properties +0 -214
  614. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_tr.properties +0 -296
  615. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_zh_CN.properties +0 -216
  616. package/aqtion/docker/config/keycloak/themes/base/login/register-user-profile.ftl +0 -74
  617. package/aqtion/docker/config/keycloak/themes/base/login/register.ftl +0 -141
  618. package/aqtion/docker/config/keycloak/themes/base/login/resources/js/base64url.js +0 -114
  619. package/aqtion/docker/config/keycloak/themes/base/login/saml-post-form.ftl +0 -25
  620. package/aqtion/docker/config/keycloak/themes/base/login/select-authenticator.ftl +0 -43
  621. package/aqtion/docker/config/keycloak/themes/base/login/template.ftl +0 -154
  622. package/aqtion/docker/config/keycloak/themes/base/login/terms.ftl +0 -15
  623. package/aqtion/docker/config/keycloak/themes/base/login/theme.properties +0 -1
  624. package/aqtion/docker/config/keycloak/themes/base/login/update-email.ftl +0 -42
  625. package/aqtion/docker/config/keycloak/themes/base/login/update-user-profile.ftl +0 -28
  626. package/aqtion/docker/config/keycloak/themes/base/login/user-profile-commons.ftl +0 -187
  627. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-authenticate.ftl +0 -168
  628. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-error.ftl +0 -36
  629. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-register.ftl +0 -192
  630. package/aqtion/docker/config/keycloak/themes/cerema/account/account.ftl +0 -93
  631. package/aqtion/docker/config/keycloak/themes/cerema/account/messages/messages_fr.properties +0 -1
  632. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/css/account.css +0 -292
  633. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/favicon.ico +0 -0
  634. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/icon-sidebar-active.png +0 -0
  635. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/keycloak-logo.png +0 -0
  636. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/logo.png +0 -0
  637. package/aqtion/docker/config/keycloak/themes/cerema/account/theme.properties +0 -11
  638. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/css/styles.css +0 -420
  639. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/favicon.ico +0 -0
  640. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.png +0 -0
  641. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.svg +0 -215
  642. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/select-arrow.png +0 -0
  643. package/aqtion/docker/config/keycloak/themes/cerema/admin/theme.properties +0 -3
  644. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/errors.json +0 -150
  645. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/LICENSE +0 -20
  646. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/README.md +0 -128
  647. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.js +0 -97
  648. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.min.js +0 -9
  649. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/css/angular.treeview.css +0 -99
  650. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/file.png +0 -0
  651. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  652. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder.png +0 -0
  653. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +0 -4172
  654. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/version.json +0 -22
  655. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  656. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg +0 -1085
  657. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  658. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  659. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  660. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/filesaver/FileSaver.js +0 -189
  661. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/FileAPI.min.js +0 -72
  662. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +0 -25
  663. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +0 -2
  664. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.js +0 -237
  665. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.min.js +0 -2
  666. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.js +0 -156
  667. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.min.js +0 -2
  668. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/css/patternfly.css +0 -14320
  669. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot +0 -0
  670. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg +0 -2014
  671. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf +0 -0
  672. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff +0 -0
  673. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  674. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg +0 -2019
  675. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
  676. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  677. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
  678. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg +0 -2016
  679. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
  680. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
  681. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  682. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg +0 -2024
  683. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  684. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  685. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot +0 -0
  686. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg +0 -2019
  687. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf +0 -0
  688. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff +0 -0
  689. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot +0 -0
  690. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg +0 -2013
  691. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf +0 -0
  692. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff +0 -0
  693. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  694. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg +0 -2021
  695. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
  696. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  697. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot +0 -0
  698. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg +0 -2017
  699. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf +0 -0
  700. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff +0 -0
  701. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot +0 -0
  702. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg +0 -2015
  703. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  704. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff +0 -0
  705. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  706. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -2019
  707. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  708. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  709. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.eot +0 -0
  710. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.svg +0 -133
  711. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.ttf +0 -0
  712. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.woff +0 -0
  713. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-114-precomposed.png +0 -0
  714. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-144-precomposed.png +0 -0
  715. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-57-precomposed.png +0 -0
  716. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-72-precomposed.png +0 -0
  717. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/bg-login.jpg +0 -0
  718. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-lg.gif +0 -0
  719. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-sm.gif +0 -0
  720. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-xs.gif +0 -0
  721. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner.gif +0 -0
  722. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ace.js +0 -18957
  723. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/ace.js +0 -7950
  724. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/mode-javascript.js +0 -1
  725. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/theme-github.js +0 -1
  726. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/worker-javascript.js +0 -1
  727. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/mode-javascript.js +0 -1140
  728. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/theme-github.js +0 -103
  729. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.js +0 -327
  730. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.min.js +0 -7
  731. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/worker-javascript.js +0 -12651
  732. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.eot +0 -0
  733. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.svg +0 -1108
  734. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.ttf +0 -0
  735. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.woff +0 -0
  736. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial.css +0 -1215
  737. package/aqtion/docker/config/keycloak/themes/cerema/email/html/email-verification.ftl +0 -4
  738. package/aqtion/docker/config/keycloak/themes/cerema/email/html/template.ftl +0 -7
  739. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_en.properties +0 -9
  740. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_fr.properties +0 -9
  741. package/aqtion/docker/config/keycloak/themes/cerema/email/theme.properties +0 -1
  742. package/aqtion/docker/config/keycloak/themes/cerema/login/login-oauth-grant.ftl +0 -57
  743. package/aqtion/docker/config/keycloak/themes/cerema/login/login-reset-password.ftl +0 -32
  744. package/aqtion/docker/config/keycloak/themes/cerema/login/login.ftl +0 -87
  745. package/aqtion/docker/config/keycloak/themes/cerema/login/messages/messages_fr.properties +0 -29
  746. package/aqtion/docker/config/keycloak/themes/cerema/login/register.ftl +0 -169
  747. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/bamboo.css +0 -238
  748. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/main.css +0 -1029
  749. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/util.css +0 -9826
  750. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.eot +0 -0
  751. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.svg +0 -541
  752. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.ttf +0 -0
  753. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff +0 -0
  754. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff2 +0 -0
  755. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/icon-font.min.css +0 -7
  756. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/OFL.txt +0 -95
  757. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Black.ttf +0 -0
  758. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BlackItalic.ttf +0 -0
  759. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Bold.ttf +0 -0
  760. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BoldItalic.ttf +0 -0
  761. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBold.ttf +0 -0
  762. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBoldItalic.ttf +0 -0
  763. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLight.ttf +0 -0
  764. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLightItalic.ttf +0 -0
  765. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Italic.ttf +0 -0
  766. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Light.ttf +0 -0
  767. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-LightItalic.ttf +0 -0
  768. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Medium.ttf +0 -0
  769. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-MediumItalic.ttf +0 -0
  770. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Regular.ttf +0 -0
  771. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBold.ttf +0 -0
  772. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBoldItalic.ttf +0 -0
  773. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Thin.ttf +0 -0
  774. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ThinItalic.ttf +0 -0
  775. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/SIL Open Font License.txt +0 -155
  776. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Black.otf +0 -0
  777. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Bold.otf +0 -0
  778. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldItalic.otf +0 -0
  779. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldUpright.otf +0 -0
  780. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Light.otf +0 -0
  781. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightItalic.otf +0 -0
  782. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightUpright.otf +0 -0
  783. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Regular.otf +0 -0
  784. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularItalic.otf +0 -0
  785. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularUpright.otf +0 -0
  786. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Semibold.otf +0 -0
  787. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldItalic.otf +0 -0
  788. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldUpright.otf +0 -0
  789. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Thin.otf +0 -0
  790. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinItalic.otf +0 -0
  791. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinUpright.otf +0 -0
  792. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/HELP-US-OUT.txt +0 -7
  793. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.css +0 -3049
  794. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.min.css +0 -4
  795. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf +0 -0
  796. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot +0 -0
  797. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +0 -2672
  798. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf +0 -0
  799. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff +0 -0
  800. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
  801. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/animated.less +0 -34
  802. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/bordered-pulled.less +0 -45
  803. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/core.less +0 -12
  804. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/fixed-width.less +0 -6
  805. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/font-awesome.less +0 -18
  806. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/icons.less +0 -2813
  807. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/larger.less +0 -25
  808. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/list.less +0 -24
  809. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/mixins.less +0 -60
  810. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/path.less +0 -15
  811. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/rotated-flipped.less +0 -33
  812. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/screen-reader.less +0 -10
  813. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/stacked.less +0 -30
  814. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/variables.less +0 -800
  815. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_animated.scss +0 -34
  816. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss +0 -45
  817. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_core.scss +0 -12
  818. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_fixed-width.scss +0 -6
  819. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_icons.scss +0 -2813
  820. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_larger.scss +0 -25
  821. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_list.scss +0 -24
  822. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_mixins.scss +0 -60
  823. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_path.scss +0 -15
  824. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss +0 -33
  825. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_screen-reader.scss +0 -10
  826. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_stacked.scss +0 -30
  827. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_variables.scss +0 -800
  828. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/font-awesome.scss +0 -18
  829. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Black.ttf +0 -0
  830. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  831. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  832. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  833. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  834. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  835. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  836. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  837. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  838. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Light.ttf +0 -0
  839. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  840. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  841. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  842. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  843. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  844. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  845. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  846. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  847. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/OFL.txt +0 -93
  848. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Black.ttf +0 -0
  849. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BlackItalic.ttf +0 -0
  850. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Bold.ttf +0 -0
  851. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BoldItalic.ttf +0 -0
  852. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
  853. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  854. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
  855. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLightItalic.ttf +0 -0
  856. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Italic.ttf +0 -0
  857. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Light.ttf +0 -0
  858. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  859. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Medium.ttf +0 -0
  860. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  861. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Regular.ttf +0 -0
  862. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  863. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  864. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Thin.ttf +0 -0
  865. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ThinItalic.ttf +0 -0
  866. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal-hover.svg +0 -39
  867. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal.svg +0 -39
  868. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-01.jpg +0 -0
  869. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-02.jpg +0 -0
  870. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn-hover.svg +0 -13
  871. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn.svg +0 -13
  872. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/icons/favicon.ico +0 -0
  873. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/logo.png +0 -0
  874. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/white_logo.png +0 -0
  875. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/bamboo.js +0 -950
  876. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/main.js +0 -73
  877. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/vendor/jquery/jquery-3.2.1.min.js +0 -4
  878. package/aqtion/docker/config/keycloak/themes/cerema/login/template.ftl +0 -119
  879. package/aqtion/docker/config/keycloak/themes/cerema/login/theme.properties +0 -94
  880. package/aqtion/docker/config/keycloak/themes/cerema/welcome/index.ftl +0 -141
  881. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/admin-console.png +0 -0
  882. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/alert.png +0 -0
  883. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bg.png +0 -0
  884. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bug.png +0 -0
  885. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/css/welcome.css +0 -165
  886. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/favicon.ico +0 -0
  887. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/jboss_community.png +0 -0
  888. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak-project.png +0 -0
  889. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak_logo.png +0 -0
  890. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/logo.png +0 -0
  891. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/mail.png +0 -0
  892. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/user.png +0 -0
  893. package/aqtion/docker/config/keycloak/themes/cerema/welcome/theme.properties +0 -4
  894. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/css/account.css +0 -277
  895. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/icon-sidebar-active.png +0 -0
  896. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/keycloak-logo.png +0 -0
  897. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/logo.png +0 -0
  898. package/aqtion/docker/config/keycloak/themes/keycloak/account/theme.properties +0 -14
  899. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/css/styles.css +0 -505
  900. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.png +0 -0
  901. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.svg +0 -194
  902. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/select-arrow.png +0 -0
  903. package/aqtion/docker/config/keycloak/themes/keycloak/admin/theme.properties +0 -5
  904. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/img/favicon.ico +0 -0
  905. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/errors.json +0 -1
  906. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/LICENSE +0 -20
  907. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.js +0 -95
  908. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.min.js +0 -9
  909. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/css/angular.treeview.css +0 -99
  910. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/file.png +0 -0
  911. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  912. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder.png +0 -0
  913. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +0 -4116
  914. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/version.json +0 -1
  915. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/filesaver/FileSaver.js +0 -188
  916. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/FileAPI.min.js +0 -72
  917. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +0 -25
  918. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +0 -2
  919. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.js +0 -215
  920. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.min.js +0 -2
  921. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.js +0 -156
  922. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.min.js +0 -2
  923. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.css +0 -21
  924. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff +0 -0
  925. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff2 +0 -0
  926. package/aqtion/docker/config/keycloak/themes/keycloak/email/theme.properties +0 -1
  927. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/css/login.css +0 -596
  928. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-arrow-down.png +0 -0
  929. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-sign.png +0 -0
  930. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-arrow-down.png +0 -0
  931. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-sign.png +0 -0
  932. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-arrow-down.png +0 -0
  933. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-sign.png +0 -0
  934. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-bg.png +0 -0
  935. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo-text.png +0 -0
  936. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo.png +0 -0
  937. package/aqtion/docker/config/keycloak/themes/keycloak/login/theme.properties +0 -161
  938. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/index.ftl +0 -132
  939. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/admin-console.png +0 -0
  940. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/alert.png +0 -0
  941. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bg.png +0 -0
  942. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bug.png +0 -0
  943. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/css/welcome.css +0 -140
  944. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak-project.png +0 -0
  945. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak_logo.png +0 -0
  946. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/logo.png +0 -0
  947. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/mail.png +0 -0
  948. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/user.png +0 -0
  949. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/theme.properties +0 -7
  950. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/index.ftl +0 -295
  951. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ca.properties +0 -1
  952. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_cs.properties +0 -1
  953. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_da.properties +0 -1
  954. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_de.properties +0 -129
  955. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_en.properties +0 -167
  956. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_es.properties +0 -1
  957. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_fr.properties +0 -44
  958. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_hu.properties +0 -1
  959. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_it.properties +0 -1
  960. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ja.properties +0 -1
  961. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_lt.properties +0 -1
  962. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_nl.properties +0 -1
  963. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_no.properties +0 -1
  964. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pl.properties +0 -1
  965. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pt_BR.properties +0 -121
  966. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ru.properties +0 -1
  967. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sk.properties +0 -1
  968. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sv.properties +0 -1
  969. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_tr.properties +0 -1
  970. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_zh_CN.properties +0 -1
  971. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js +0 -69
  972. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js.map +0 -1
  973. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js +0 -157
  974. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js.map +0 -1
  975. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js +0 -97
  976. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js.map +0 -1
  977. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js +0 -29
  978. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js.map +0 -1
  979. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js +0 -51
  980. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js.map +0 -1
  981. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js +0 -60
  982. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js.map +0 -1
  983. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js +0 -3
  984. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js.map +0 -1
  985. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js +0 -149
  986. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js.map +0 -1
  987. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js +0 -113
  988. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js.map +0 -1
  989. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js +0 -63
  990. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js.map +0 -1
  991. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js +0 -302
  992. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js.map +0 -1
  993. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js +0 -70
  994. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js.map +0 -1
  995. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js +0 -186
  996. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js.map +0 -1
  997. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js +0 -28
  998. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js.map +0 -1
  999. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js +0 -250
  1000. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js.map +0 -1
  1001. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js +0 -36
  1002. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js.map +0 -1
  1003. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js +0 -310
  1004. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js.map +0 -1
  1005. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js +0 -40
  1006. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js.map +0 -1
  1007. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js +0 -120
  1008. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js.map +0 -1
  1009. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js +0 -284
  1010. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js.map +0 -1
  1011. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js +0 -151
  1012. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js.map +0 -1
  1013. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js +0 -103
  1014. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js.map +0 -1
  1015. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js +0 -313
  1016. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js.map +0 -1
  1017. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js +0 -222
  1018. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js.map +0 -1
  1019. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js +0 -97
  1020. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js.map +0 -1
  1021. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js +0 -16
  1022. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js.map +0 -1
  1023. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js +0 -31
  1024. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js.map +0 -1
  1025. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js +0 -350
  1026. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js.map +0 -1
  1027. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content.json +0 -60
  1028. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_facebook_transparent.svg +0 -19
  1029. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_github_transparent.svg +0 -16
  1030. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_google_transparent.svg +0 -77
  1031. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_instagram_transparent.svg +0 -23
  1032. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_linkedin_transparent.svg +0 -23
  1033. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_microsoft_transparent.svg +0 -34
  1034. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_openshift_transparent.svg +0 -15
  1035. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_stack_transparent.svg +0 -26
  1036. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_twitter_transparent.svg +0 -19
  1037. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js +0 -3
  1038. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js.map +0 -1
  1039. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js +0 -77
  1040. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js.map +0 -1
  1041. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js +0 -33
  1042. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js.map +0 -1
  1043. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js +0 -19
  1044. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js.map +0 -1
  1045. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js +0 -39
  1046. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js.map +0 -1
  1047. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js +0 -50
  1048. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js.map +0 -1
  1049. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/welcome-page-scripts.js +0 -89
  1050. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js +0 -103
  1051. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js.map +0 -1
  1052. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js +0 -38
  1053. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js.map +0 -1
  1054. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js +0 -41
  1055. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js.map +0 -1
  1056. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js +0 -46
  1057. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js.map +0 -1
  1058. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js +0 -69
  1059. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js.map +0 -1
  1060. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js +0 -38
  1061. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js.map +0 -1
  1062. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js +0 -46
  1063. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js.map +0 -1
  1064. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js +0 -2
  1065. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js.map +0 -1
  1066. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/theme.properties +0 -18
  1067. package/aqtion/docker/config/servers.json +0 -14
  1068. package/aqtion/docker/setup/docker-compose.yml +0 -67
  1069. package/aqtion/frontend/app/components/.gitkeep +0 -0
  1070. package/aqtion/frontend/app/interfaces/.gitkeep +0 -0
  1071. package/aqtion/frontend/app/menu.json +0 -41
  1072. package/aqtion/frontend/app/pages/pages-routing.module.ts +0 -19
  1073. package/aqtion/frontend/app/pages/profil/profil.component.html +0 -3
  1074. package/aqtion/frontend/app/pages/profil/profil.component.scss +0 -0
  1075. package/aqtion/frontend/app/pages/profil/profil.component.ts +0 -27
  1076. package/aqtion/frontend/app/pages/root/root.component.html +0 -3
  1077. package/aqtion/frontend/app/pages/root/root.component.scss +0 -22
  1078. package/aqtion/frontend/app/pages/root/root.component.ts +0 -16
  1079. package/aqtion/frontend/app/services/profils.service.ts +0 -25
  1080. package/aqtion/frontend/app-routing.module.ts +0 -61
  1081. package/aqtion/frontend/app.component.css +0 -46
  1082. package/aqtion/frontend/app.component.html +0 -1
  1083. package/aqtion/frontend/app.component.ts +0 -60
  1084. package/aqtion/frontend/app.module.ts +0 -103
  1085. package/aqtion/frontend/assets/favicon.ico +0 -0
  1086. package/aqtion/frontend/assets/i18n/fr.json +0 -33
  1087. package/aqtion/frontend/assets/images/599x157.png +0 -0
  1088. package/aqtion/frontend/assets/images/cerema.png +0 -0
  1089. package/aqtion/frontend/assets/images/dollar.svg +0 -1
  1090. package/aqtion/frontend/assets/images/logo.png +0 -0
  1091. package/aqtion/frontend/assets/images/logo_title.png +0 -0
  1092. package/aqtion/frontend/assets/images/logorobot.png +0 -0
  1093. package/aqtion/frontend/assets/images/work-in-progress.svg +0 -64
  1094. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  1095. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  1096. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  1097. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  1098. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  1099. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  1100. package/aqtion/frontend/assets/layout/images/LogoCerema.svg +0 -226
  1101. package/aqtion/frontend/assets/layout/images/LogoCerema_horizontal.svg +0 -167
  1102. package/aqtion/frontend/assets/layout/images/SpinnerCerema.svg +0 -6
  1103. package/aqtion/frontend/assets/layout/images/Swagger-logo.png +0 -0
  1104. package/aqtion/frontend/assets/layout/images/authentication.svg +0 -1
  1105. package/aqtion/frontend/assets/layout/images/mail.svg +0 -1
  1106. package/aqtion/frontend/assets/layout/images/postgresql.svg +0 -1
  1107. package/aqtion/frontend/assets/layout/images/user.png +0 -0
  1108. package/aqtion/frontend/assets/layout/styles/layout/_breadcrumb.scss +0 -18
  1109. package/aqtion/frontend/assets/layout/styles/layout/_config.scss +0 -33
  1110. package/aqtion/frontend/assets/layout/styles/layout/_content.scss +0 -20
  1111. package/aqtion/frontend/assets/layout/styles/layout/_fonts.scss +0 -29
  1112. package/aqtion/frontend/assets/layout/styles/layout/_footer.scss +0 -25
  1113. package/aqtion/frontend/assets/layout/styles/layout/_main.scss +0 -29
  1114. package/aqtion/frontend/assets/layout/styles/layout/_responsive.scss +0 -160
  1115. package/aqtion/frontend/assets/layout/styles/layout/_sidebar.scss +0 -2
  1116. package/aqtion/frontend/assets/layout/styles/layout/_topbar.scss +0 -250
  1117. package/aqtion/frontend/assets/layout/styles/layout/_typography.scss +0 -63
  1118. package/aqtion/frontend/assets/layout/styles/layout/_utils.scss +0 -19
  1119. package/aqtion/frontend/assets/layout/styles/layout/layout.scss +0 -15
  1120. package/aqtion/frontend/assets/layout/styles/layout/preloading.css +0 -73
  1121. package/aqtion/frontend/assets/layout/styles/layout/preloading.scss +0 -79
  1122. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +0 -132
  1123. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +0 -132
  1124. package/aqtion/frontend/assets/layout/styles/layout/theme/_dark.scss +0 -10
  1125. package/aqtion/frontend/assets/layout/styles/layout/theme/_light.scss +0 -10
  1126. package/aqtion/frontend/assets/layout/styles/layout/theme/_primary.scss +0 -10
  1127. package/aqtion/frontend/assets/layout/styles/layout/theme/_themes.scss +0 -3
  1128. package/aqtion/frontend/assets/layout/styles/theme/designer/_colors.scss +0 -17
  1129. package/aqtion/frontend/assets/layout/styles/theme/designer/_common.scss +0 -68
  1130. package/aqtion/frontend/assets/layout/styles/theme/designer/_components.scss +0 -102
  1131. package/aqtion/frontend/assets/layout/styles/theme/designer/_mixins.scss +0 -203
  1132. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_button.scss +0 -560
  1133. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_speeddial.scss +0 -81
  1134. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +0 -381
  1135. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_carousel.scss +0 -37
  1136. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_datatable.scss +0 -278
  1137. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_dataview.scss +0 -55
  1138. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_filter.scss +0 -138
  1139. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +0 -329
  1140. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_orderlist.scss +0 -103
  1141. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +0 -50
  1142. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_paginator.scss +0 -92
  1143. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_picklist.scss +0 -103
  1144. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_timeline.scss +0 -38
  1145. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_tree.scss +0 -144
  1146. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_treetable.scss +0 -246
  1147. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +0 -28
  1148. package/aqtion/frontend/assets/layout/styles/theme/designer/components/file/_fileupload.scss +0 -58
  1149. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +0 -42
  1150. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +0 -56
  1151. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_dock.scss +0 -86
  1152. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +0 -106
  1153. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menu.scss +0 -45
  1154. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menubar.scss +0 -183
  1155. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +0 -140
  1156. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +0 -59
  1157. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_steps.scss +0 -56
  1158. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +0 -69
  1159. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +0 -60
  1160. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +0 -64
  1161. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_message.scss +0 -102
  1162. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_toast.scss +0 -95
  1163. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_avatar.scss +0 -30
  1164. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_badge.scss +0 -48
  1165. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  1166. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_chip.scss +0 -38
  1167. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_inplace.scss +0 -17
  1168. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +0 -17
  1169. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +0 -20
  1170. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +0 -8
  1171. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_tag.scss +0 -35
  1172. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_terminal.scss +0 -11
  1173. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +0 -139
  1174. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_image.scss +0 -44
  1175. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +0 -65
  1176. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +0 -64
  1177. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +0 -62
  1178. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +0 -23
  1179. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +0 -33
  1180. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_accordion.scss +0 -119
  1181. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_card.scss +0 -30
  1182. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_divider.scss +0 -31
  1183. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +0 -47
  1184. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_panel.scss +0 -58
  1185. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +0 -6
  1186. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_splitter.scss +0 -19
  1187. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_tabview.scss +0 -78
  1188. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +0 -10
  1189. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_extensions.scss +0 -90
  1190. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_variables.scss +0 -867
  1191. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.css +0 -7341
  1192. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.scss +0 -12
  1193. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.css +0 -7341
  1194. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.scss +0 -12
  1195. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +0 -7341
  1196. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +0 -12
  1197. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.css +0 -7341
  1198. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.scss +0 -12
  1199. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.css +0 -7341
  1200. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.scss +0 -12
  1201. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.css +0 -7341
  1202. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.scss +0 -12
  1203. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.css +0 -7341
  1204. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.scss +0 -12
  1205. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.css +0 -7341
  1206. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.scss +0 -12
  1207. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.css +0 -7341
  1208. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.scss +0 -12
  1209. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.css +0 -7341
  1210. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.scss +0 -12
  1211. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_extensions.scss +0 -90
  1212. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_variables.scss +0 -870
  1213. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.css +0 -7540
  1214. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.scss +0 -12
  1215. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.css +0 -7341
  1216. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.scss +0 -12
  1217. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.css +0 -7341
  1218. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +0 -12
  1219. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.css +0 -7341
  1220. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.scss +0 -12
  1221. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.css +0 -7341
  1222. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.scss +0 -12
  1223. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.css +0 -7341
  1224. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.scss +0 -12
  1225. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.css +0 -7341
  1226. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.scss +0 -12
  1227. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.css +0 -7341
  1228. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.scss +0 -12
  1229. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.css +0 -7341
  1230. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.scss +0 -12
  1231. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.css +0 -7341
  1232. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.scss +0 -12
  1233. package/aqtion/frontend/environments/environment.ci.ts +0 -13
  1234. package/aqtion/frontend/environments/environment.dev.ts +0 -12
  1235. package/aqtion/frontend/environments/environment.prod.ts +0 -13
  1236. package/aqtion/frontend/environments/environment.ts +0 -3
  1237. package/aqtion/frontend/index.dev.html +0 -33
  1238. package/aqtion/frontend/index.prod.html +0 -32
  1239. package/aqtion/frontend/layout/api/menuchangeevent.ts +0 -4
  1240. package/aqtion/frontend/layout/api/tabcloseevent.ts +0 -6
  1241. package/aqtion/frontend/layout/app.breadcrumb.component.html +0 -14
  1242. package/aqtion/frontend/layout/app.breadcrumb.component.ts +0 -48
  1243. package/aqtion/frontend/layout/app.footer.component.html +0 -20
  1244. package/aqtion/frontend/layout/app.footer.component.ts +0 -23
  1245. package/aqtion/frontend/layout/app.menu.component.html +0 -3
  1246. package/aqtion/frontend/layout/app.menu.service.ts +0 -23
  1247. package/aqtion/frontend/layout/app.menuitem.component.ts +0 -310
  1248. package/aqtion/frontend/layout/app.sidebar.component.html +0 -5
  1249. package/aqtion/frontend/layout/app.sidebar.component.ts +0 -13
  1250. package/aqtion/frontend/layout/app.topbar.component.html +0 -72
  1251. package/aqtion/frontend/layout/app.topbar.component.ts +0 -73
  1252. package/aqtion/frontend/layout/auto-unsubscribe.decorator.ts +0 -21
  1253. package/aqtion/frontend/layout/common/err-403/err-403.component.html +0 -24
  1254. package/aqtion/frontend/layout/common/err-403/err-403.component.scss +0 -340
  1255. package/aqtion/frontend/layout/common/err-403/err-403.ts +0 -19
  1256. package/aqtion/frontend/layout/common/err-404/err-404.component.html +0 -27
  1257. package/aqtion/frontend/layout/common/err-404/err-404.component.scss +0 -38
  1258. package/aqtion/frontend/layout/common/err-404/err-404.ts +0 -19
  1259. package/aqtion/frontend/layout/common/err-500/err-500.component.html +0 -10
  1260. package/aqtion/frontend/layout/common/err-500/err-500.component.scss +0 -44
  1261. package/aqtion/frontend/layout/common/err-500/err-500.ts +0 -37
  1262. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.html +0 -1
  1263. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.scss +0 -8
  1264. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.ts +0 -14
  1265. package/aqtion/frontend/layout/config/app.config.component.html +0 -86
  1266. package/aqtion/frontend/layout/config/app.config.component.scss +0 -0
  1267. package/aqtion/frontend/layout/config/app.config.component.ts +0 -241
  1268. package/aqtion/frontend/layout/config/config.module.ts +0 -27
  1269. package/aqtion/frontend/layout/error.handler.ts +0 -16
  1270. package/aqtion/frontend/layout/main/main.component.html +0 -15
  1271. package/aqtion/frontend/layout/main/main.component.ts +0 -186
  1272. package/aqtion/frontend/layout/main.module.ts +0 -45
  1273. package/aqtion/frontend/layout/service/app.layout.service.ts +0 -123
  1274. package/aqtion/frontend/layout/service/healthCheck.service.ts +0 -35
  1275. package/aqtion/frontend/layout/shared/components/app.menu.component.ts +0 -69
  1276. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied-routing.module.ts +0 -12
  1277. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.html +0 -10
  1278. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.ts +0 -7
  1279. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.module.ts +0 -17
  1280. package/aqtion/frontend/layout/shared/components/auth/auth-routing.module.ts +0 -14
  1281. package/aqtion/frontend/layout/shared/components/auth/auth.module.ts +0 -13
  1282. package/aqtion/frontend/layout/shared/components/auth/error/error-routing.module.ts +0 -12
  1283. package/aqtion/frontend/layout/shared/components/auth/error/error.component.html +0 -10
  1284. package/aqtion/frontend/layout/shared/components/auth/error/error.component.ts +0 -7
  1285. package/aqtion/frontend/layout/shared/components/auth/error/error.module.ts +0 -12
  1286. package/aqtion/frontend/layout/shared/components/auth/login/login-routing.module.ts +0 -12
  1287. package/aqtion/frontend/layout/shared/components/auth/login/login.component.html +0 -15
  1288. package/aqtion/frontend/layout/shared/components/auth/login/login.component.ts +0 -47
  1289. package/aqtion/frontend/layout/shared/components/auth/login/login.module.ts +0 -21
  1290. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.html +0 -8
  1291. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.scss +0 -21
  1292. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.ts +0 -15
  1293. package/aqtion/frontend/layout/shared/components/auth/logout/logout.module.ts +0 -26
  1294. package/aqtion/frontend/layout/shared/components/code/code.component.ts +0 -17
  1295. package/aqtion/frontend/layout/shared/components/indic/indic.component.html +0 -8
  1296. package/aqtion/frontend/layout/shared/components/indic/indic.component.scss +0 -0
  1297. package/aqtion/frontend/layout/shared/components/indic/indic.component.ts +0 -60
  1298. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.html +0 -70
  1299. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.scss +0 -0
  1300. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.ts +0 -121
  1301. package/aqtion/frontend/layout/shared/components/notfound/notfound-routing.module.ts +0 -12
  1302. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.html +0 -42
  1303. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.ts +0 -7
  1304. package/aqtion/frontend/layout/shared/components/notfound/notfound.module.ts +0 -12
  1305. package/aqtion/frontend/layout/shared/constants/dateFormat.constants.ts +0 -1
  1306. package/aqtion/frontend/layout/shared/constants/pagination.constants.ts +0 -1
  1307. package/aqtion/frontend/layout/shared/core/config/application-config.service.ts +0 -34
  1308. package/aqtion/frontend/layout/shared/core/config/db-config.service.ts +0 -20
  1309. package/aqtion/frontend/layout/shared/core/guard/can-modify.guard.ts +0 -51
  1310. package/aqtion/frontend/layout/shared/core/guard/login.guard.ts +0 -24
  1311. package/aqtion/frontend/layout/shared/core/guard/ui.guard.ts +0 -94
  1312. package/aqtion/frontend/layout/shared/core/interceptor/handle-req.interceptor.ts +0 -31
  1313. package/aqtion/frontend/layout/shared/core/interceptor/index.ts +0 -10
  1314. package/aqtion/frontend/layout/shared/core/request/pageable.model.ts +0 -5
  1315. package/aqtion/frontend/layout/shared/core/request/request-util.ts +0 -21
  1316. package/aqtion/frontend/layout/shared/core/resolver/accueil.resolver.ts +0 -19
  1317. package/aqtion/frontend/layout/shared/core/storage/MyLocalStorageService.ts +0 -22
  1318. package/aqtion/frontend/layout/shared/core/storage/MyStorageService.ts +0 -17
  1319. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.html +0 -30
  1320. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.scss +0 -82
  1321. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.ts +0 -29
  1322. package/aqtion/frontend/layout/shared/dev/dev-routing.module.ts +0 -19
  1323. package/aqtion/frontend/layout/shared/dev/dev.module.ts +0 -76
  1324. package/aqtion/frontend/layout/shared/entities/claims.model.ts +0 -9
  1325. package/aqtion/frontend/layout/shared/entities/user.model.ts +0 -9
  1326. package/aqtion/frontend/layout/shared/i18n/fr.json +0 -74
  1327. package/aqtion/frontend/layout/shared/service/dev.service.ts +0 -16
  1328. package/aqtion/frontend/layout/shared/service/policy.service.ts +0 -22
  1329. package/aqtion/frontend/layout/shared/service/user.service.ts +0 -71
  1330. package/aqtion/frontend/layout/shared/shared.module.ts +0 -11
  1331. package/aqtion/frontend/layout/shared/utils/globals.ts +0 -85
  1332. package/aqtion/frontend/layout/shared/utils/misc.ts +0 -31
  1333. package/aqtion/frontend/main-routing.module.ts +0 -47
  1334. package/aqtion/frontend/main.ts +0 -13
  1335. package/aqtion/frontend/pages.module.ts +0 -76
  1336. package/aqtion/frontend/polyfills.ts +0 -64
  1337. package/aqtion/frontend/styles.scss +0 -43
  1338. package/aqtion/frontend/themes.scss +0 -84
  1339. package/aqtion/kubernetes/Chart.yaml +0 -4
  1340. package/aqtion/kubernetes/config/values.yaml +0 -22
  1341. package/aqtion/kubernetes/templates/api.yaml +0 -74
  1342. package/aqtion/kubernetes/templates/app.yaml +0 -58
  1343. package/aqtion/kubernetes/templates/pgadmin.yaml +0 -115
  1344. package/aqtion/kubernetes/templates/postgres.yaml +0 -67
  1345. package/aqtion/launch.json +0 -21
  1346. package/aqtion/logo.png +0 -0
  1347. package/aqtion/nginx.conf +0 -20
  1348. package/aqtion/package-lock.json +0 -14134
  1349. package/aqtion/package.json +0 -84
  1350. package/aqtion/playwright.config.ts +0 -77
  1351. package/aqtion/pnpm-lock.yaml +0 -9539
  1352. package/aqtion/policies/roles.json +0 -4
  1353. package/aqtion/policies/ui.policy.json +0 -4
  1354. package/aqtion/pom.xml +0 -144
  1355. package/aqtion/run.sh +0 -5
  1356. package/aqtion/tests/example.spec.ts +0 -18
  1357. package/aqtion/tests-examples/demo-todo-app.spec.ts +0 -437
  1358. package/aqtion/tsconfig.app.json +0 -9
  1359. package/aqtion/tsconfig.json +0 -39
  1360. package/aqtion/tsconfig.spec.json +0 -9
@@ -1,4172 +0,0 @@
1
- /*
2
- * angular-ui-bootstrap
3
- * http://angular-ui.github.io/bootstrap/
4
-
5
- * Version: 0.11.0 - 2014-05-01
6
- * License: MIT
7
- */
8
- angular.module("ui.bootstrap", ["ui.bootstrap.tpls", "ui.bootstrap.transition", "ui.bootstrap.collapse", "ui.bootstrap.accordion", "ui.bootstrap.alert", "ui.bootstrap.bindHtml", "ui.bootstrap.buttons", "ui.bootstrap.carousel", "ui.bootstrap.dateparser", "ui.bootstrap.position", "ui.bootstrap.datepicker", "ui.bootstrap.dropdown", "ui.bootstrap.modal", "ui.bootstrap.pagination", "ui.bootstrap.tooltip", "ui.bootstrap.popover", "ui.bootstrap.progressbar", "ui.bootstrap.rating", "ui.bootstrap.tabs", "ui.bootstrap.timepicker", "ui.bootstrap.typeahead"]);
9
- angular.module("ui.bootstrap.tpls", ["template/accordion/accordion-group.html", "template/accordion/accordion.html", "template/alert/alert.html", "template/carousel/carousel.html", "template/carousel/slide.html", "template/datepicker/datepicker.html", "template/datepicker/day.html", "template/datepicker/month.html", "template/datepicker/popup.html", "template/datepicker/year.html", "template/modal/backdrop.html", "template/modal/window.html", "template/pagination/pager.html", "template/pagination/pagination.html", "template/tooltip/tooltip-html-unsafe-popup.html", "template/tooltip/tooltip-popup.html", "template/popover/popover.html", "template/progressbar/bar.html", "template/progressbar/progress.html", "template/progressbar/progressbar.html", "template/rating/rating.html", "template/tabs/tab.html", "template/tabs/tabset.html", "template/timepicker/timepicker.html", "template/typeahead/typeahead-match.html", "template/typeahead/typeahead-popup.html"]);
10
- angular.module('ui.bootstrap.transition', [])
11
-
12
- /**
13
- * $transition service provides a consistent interface to trigger CSS 3 transitions and to be informed when they complete.
14
- * @param {DOMElement} element The DOMElement that will be animated.
15
- * @param {string|object|function} trigger The thing that will cause the transition to start:
16
- * - As a string, it represents the css class to be added to the element.
17
- * - As an object, it represents a hash of style attributes to be applied to the element.
18
- * - As a function, it represents a function to be called that will cause the transition to occur.
19
- * @return {Promise} A promise that is resolved when the transition finishes.
20
- */
21
- .factory('$transition', ['$q', '$timeout', '$rootScope', function ($q, $timeout, $rootScope) {
22
-
23
- var $transition = function (element, trigger, options) {
24
- options = options || {};
25
- var deferred = $q.defer();
26
- var endEventName = $transition[options.animation ? 'animationEndEventName' : 'transitionEndEventName'];
27
-
28
- var transitionEndHandler = function (event) {
29
- $rootScope.$apply(function () {
30
- element.unbind(endEventName, transitionEndHandler);
31
- deferred.resolve(element);
32
- });
33
- };
34
-
35
- if (endEventName) {
36
- element.bind(endEventName, transitionEndHandler);
37
- }
38
-
39
- // Wrap in a timeout to allow the browser time to update the DOM before the transition is to occur
40
- $timeout(function () {
41
- if (angular.isString(trigger)) {
42
- element.addClass(trigger);
43
- } else if (angular.isFunction(trigger)) {
44
- trigger(element);
45
- } else if (angular.isObject(trigger)) {
46
- element.css(trigger);
47
- }
48
- //If browser does not support transitions, instantly resolve
49
- if (!endEventName) {
50
- deferred.resolve(element);
51
- }
52
- });
53
-
54
- // Add our custom cancel function to the promise that is returned
55
- // We can call this if we are about to run a new transition, which we know will prevent this transition from ending,
56
- // i.e. it will therefore never raise a transitionEnd event for that transition
57
- deferred.promise.cancel = function () {
58
- if (endEventName) {
59
- element.unbind(endEventName, transitionEndHandler);
60
- }
61
- deferred.reject('Transition cancelled');
62
- };
63
-
64
- return deferred.promise;
65
- };
66
-
67
- // Work out the name of the transitionEnd event
68
- var transElement = document.createElement('trans');
69
- var transitionEndEventNames = {
70
- 'WebkitTransition': 'webkitTransitionEnd',
71
- 'MozTransition': 'transitionend',
72
- 'OTransition': 'oTransitionEnd',
73
- 'transition': 'transitionend'
74
- };
75
- var animationEndEventNames = {
76
- 'WebkitTransition': 'webkitAnimationEnd',
77
- 'MozTransition': 'animationend',
78
- 'OTransition': 'oAnimationEnd',
79
- 'transition': 'animationend'
80
- };
81
-
82
- function findEndEventName(endEventNames) {
83
- for (var name in endEventNames) {
84
- if (transElement.style[name] !== undefined) {
85
- return endEventNames[name];
86
- }
87
- }
88
- }
89
-
90
- $transition.transitionEndEventName = findEndEventName(transitionEndEventNames);
91
- $transition.animationEndEventName = findEndEventName(animationEndEventNames);
92
- return $transition;
93
- }]);
94
-
95
- angular.module('ui.bootstrap.collapse', ['ui.bootstrap.transition'])
96
-
97
- .directive('collapse', ['$transition', function ($transition) {
98
-
99
- return {
100
- link: function (scope, element, attrs) {
101
-
102
- var initialAnimSkip = true;
103
- var currentTransition;
104
-
105
- function doTransition(change) {
106
- var newTransition = $transition(element, change);
107
- if (currentTransition) {
108
- currentTransition.cancel();
109
- }
110
- currentTransition = newTransition;
111
- newTransition.then(newTransitionDone, newTransitionDone);
112
- return newTransition;
113
-
114
- function newTransitionDone() {
115
- // Make sure it's this transition, otherwise, leave it alone.
116
- if (currentTransition === newTransition) {
117
- currentTransition = undefined;
118
- }
119
- }
120
- }
121
-
122
- function expand() {
123
- if (initialAnimSkip) {
124
- initialAnimSkip = false;
125
- expandDone();
126
- } else {
127
- element.removeClass('collapse').addClass('collapsing');
128
- doTransition({height: element[0].scrollHeight + 'px'}).then(expandDone);
129
- }
130
- }
131
-
132
- function expandDone() {
133
- element.removeClass('collapsing');
134
- element.addClass('collapse in');
135
- element.css({height: 'auto'});
136
- }
137
-
138
- function collapse() {
139
- if (initialAnimSkip) {
140
- initialAnimSkip = false;
141
- collapseDone();
142
- element.css({height: 0});
143
- } else {
144
- // CSS transitions don't work with height: auto, so we have to manually change the height to a specific value
145
- element.css({height: element[0].scrollHeight + 'px'});
146
- //trigger reflow so a browser realizes that height was updated from auto to a specific value
147
- var x = element[0].offsetWidth;
148
-
149
- element.removeClass('collapse in').addClass('collapsing');
150
-
151
- doTransition({height: 0}).then(collapseDone);
152
- }
153
- }
154
-
155
- function collapseDone() {
156
- element.removeClass('collapsing');
157
- element.addClass('collapse');
158
- }
159
-
160
- scope.$watch(attrs.collapse, function (shouldCollapse) {
161
- if (shouldCollapse) {
162
- collapse();
163
- } else {
164
- expand();
165
- }
166
- });
167
- }
168
- };
169
- }]);
170
-
171
- angular.module('ui.bootstrap.accordion', ['ui.bootstrap.collapse'])
172
-
173
- .constant('accordionConfig', {
174
- closeOthers: true
175
- })
176
-
177
- .controller('AccordionController', ['$scope', '$attrs', 'accordionConfig', function ($scope, $attrs, accordionConfig) {
178
-
179
- // This array keeps track of the accordion groups
180
- this.groups = [];
181
-
182
- // Ensure that all the groups in this accordion are closed, unless close-others explicitly says not to
183
- this.closeOthers = function (openGroup) {
184
- var closeOthers = angular.isDefined($attrs.closeOthers) ? $scope.$eval($attrs.closeOthers) : accordionConfig.closeOthers;
185
- if (closeOthers) {
186
- angular.forEach(this.groups, function (group) {
187
- if (group !== openGroup) {
188
- group.isOpen = false;
189
- }
190
- });
191
- }
192
- };
193
-
194
- // This is called from the accordion-group directive to add itself to the accordion
195
- this.addGroup = function (groupScope) {
196
- var that = this;
197
- this.groups.push(groupScope);
198
-
199
- groupScope.$on('$destroy', function (event) {
200
- that.removeGroup(groupScope);
201
- });
202
- };
203
-
204
- // This is called from the accordion-group directive when to remove itself
205
- this.removeGroup = function (group) {
206
- var index = this.groups.indexOf(group);
207
- if (index !== -1) {
208
- this.groups.splice(index, 1);
209
- }
210
- };
211
-
212
- }])
213
-
214
- // The accordion directive simply sets up the directive controller
215
- // and adds an accordion CSS class to itself element.
216
- .directive('accordion', function () {
217
- return {
218
- restrict: 'EA',
219
- controller: 'AccordionController',
220
- transclude: true,
221
- replace: false,
222
- templateUrl: 'template/accordion/accordion.html'
223
- };
224
- })
225
-
226
- // The accordion-group directive indicates a block of html that will expand and collapse in an accordion
227
- .directive('accordionGroup', function () {
228
- return {
229
- require: '^accordion', // We need this directive to be inside an accordion
230
- restrict: 'EA',
231
- transclude: true, // It transcludes the contents of the directive into the template
232
- replace: true, // The element containing the directive will be replaced with the template
233
- templateUrl: 'template/accordion/accordion-group.html',
234
- scope: {
235
- heading: '@', // Interpolate the heading attribute onto this scope
236
- isOpen: '=?',
237
- isDisabled: '=?'
238
- },
239
- controller: function () {
240
- this.setHeading = function (element) {
241
- this.heading = element;
242
- };
243
- },
244
- link: function (scope, element, attrs, accordionCtrl) {
245
- accordionCtrl.addGroup(scope);
246
-
247
- scope.$watch('isOpen', function (value) {
248
- if (value) {
249
- accordionCtrl.closeOthers(scope);
250
- }
251
- });
252
-
253
- scope.toggleOpen = function () {
254
- if (!scope.isDisabled) {
255
- scope.isOpen = !scope.isOpen;
256
- }
257
- };
258
- }
259
- };
260
- })
261
-
262
- // Use accordion-heading below an accordion-group to provide a heading containing HTML
263
- // <accordion-group>
264
- // <accordion-heading>Heading containing HTML - <img src="..."></accordion-heading>
265
- // </accordion-group>
266
- .directive('accordionHeading', function () {
267
- return {
268
- restrict: 'EA',
269
- transclude: true, // Grab the contents to be used as the heading
270
- template: '', // In effect remove this element!
271
- replace: true,
272
- require: '^accordionGroup',
273
- link: function (scope, element, attr, accordionGroupCtrl, transclude) {
274
- // Pass the heading to the accordion-group controller
275
- // so that it can be transcluded into the right place in the template
276
- // [The second parameter to transclude causes the elements to be cloned so that they work in ng-repeat]
277
- accordionGroupCtrl.setHeading(transclude(scope, function () {
278
- }));
279
- }
280
- };
281
- })
282
-
283
- // Use in the accordion-group template to indicate where you want the heading to be transcluded
284
- // You must provide the property on the accordion-group controller that will hold the transcluded element
285
- // <div class="accordion-group">
286
- // <div class="accordion-heading" ><a ... accordion-transclude="heading">...</a></div>
287
- // ...
288
- // </div>
289
- .directive('accordionTransclude', function () {
290
- return {
291
- require: '^accordionGroup',
292
- link: function (scope, element, attr, controller) {
293
- scope.$watch(function () {
294
- return controller[attr.accordionTransclude];
295
- }, function (heading) {
296
- if (heading) {
297
- element.html('');
298
- element.append(heading);
299
- }
300
- });
301
- }
302
- };
303
- });
304
-
305
- angular.module('ui.bootstrap.alert', [])
306
-
307
- .controller('AlertController', ['$scope', '$attrs', function ($scope, $attrs) {
308
- $scope.closeable = 'close' in $attrs;
309
- }])
310
-
311
- .directive('alert', function () {
312
- return {
313
- restrict: 'EA',
314
- controller: 'AlertController',
315
- templateUrl: 'template/alert/alert.html',
316
- transclude: true,
317
- replace: true,
318
- scope: {
319
- type: '@',
320
- close: '&'
321
- }
322
- };
323
- });
324
-
325
- angular.module('ui.bootstrap.bindHtml', [])
326
-
327
- .directive('bindHtmlUnsafe', function () {
328
- return function (scope, element, attr) {
329
- element.addClass('ng-binding').data('$binding', attr.bindHtmlUnsafe);
330
- scope.$watch(attr.bindHtmlUnsafe, function bindHtmlUnsafeWatchAction(value) {
331
- element.html(value || '');
332
- });
333
- };
334
- });
335
- angular.module('ui.bootstrap.buttons', [])
336
-
337
- .constant('buttonConfig', {
338
- activeClass: 'active',
339
- toggleEvent: 'click'
340
- })
341
-
342
- .controller('ButtonsController', ['buttonConfig', function (buttonConfig) {
343
- this.activeClass = buttonConfig.activeClass || 'active';
344
- this.toggleEvent = buttonConfig.toggleEvent || 'click';
345
- }])
346
-
347
- .directive('btnRadio', function () {
348
- return {
349
- require: ['btnRadio', 'ngModel'],
350
- controller: 'ButtonsController',
351
- link: function (scope, element, attrs, ctrls) {
352
- var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
353
-
354
- //model -> UI
355
- ngModelCtrl.$render = function () {
356
- element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, scope.$eval(attrs.btnRadio)));
357
- };
358
-
359
- //ui->model
360
- element.bind(buttonsCtrl.toggleEvent, function () {
361
- var isActive = element.hasClass(buttonsCtrl.activeClass);
362
-
363
- if (!isActive || angular.isDefined(attrs.uncheckable)) {
364
- scope.$apply(function () {
365
- ngModelCtrl.$setViewValue(isActive ? null : scope.$eval(attrs.btnRadio));
366
- ngModelCtrl.$render();
367
- });
368
- }
369
- });
370
- }
371
- };
372
- })
373
-
374
- .directive('btnCheckbox', function () {
375
- return {
376
- require: ['btnCheckbox', 'ngModel'],
377
- controller: 'ButtonsController',
378
- link: function (scope, element, attrs, ctrls) {
379
- var buttonsCtrl = ctrls[0], ngModelCtrl = ctrls[1];
380
-
381
- function getTrueValue() {
382
- return getCheckboxValue(attrs.btnCheckboxTrue, true);
383
- }
384
-
385
- function getFalseValue() {
386
- return getCheckboxValue(attrs.btnCheckboxFalse, false);
387
- }
388
-
389
- function getCheckboxValue(attributeValue, defaultValue) {
390
- var val = scope.$eval(attributeValue);
391
- return angular.isDefined(val) ? val : defaultValue;
392
- }
393
-
394
- //model -> UI
395
- ngModelCtrl.$render = function () {
396
- element.toggleClass(buttonsCtrl.activeClass, angular.equals(ngModelCtrl.$modelValue, getTrueValue()));
397
- };
398
-
399
- //ui->model
400
- element.bind(buttonsCtrl.toggleEvent, function () {
401
- scope.$apply(function () {
402
- ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass) ? getFalseValue() : getTrueValue());
403
- ngModelCtrl.$render();
404
- });
405
- });
406
- }
407
- };
408
- });
409
-
410
- /**
411
- * @ngdoc overview
412
- * @name ui.bootstrap.carousel
413
- *
414
- * @description
415
- * AngularJS version of an image carousel.
416
- *
417
- */
418
- angular.module('ui.bootstrap.carousel', ['ui.bootstrap.transition'])
419
- .controller('CarouselController', ['$scope', '$timeout', '$transition', function ($scope, $timeout, $transition) {
420
- var self = this,
421
- slides = self.slides = $scope.slides = [],
422
- currentIndex = -1,
423
- currentTimeout, isPlaying;
424
- self.currentSlide = null;
425
-
426
- var destroyed = false;
427
- /* direction: "prev" or "next" */
428
- self.select = $scope.select = function (nextSlide, direction) {
429
- var nextIndex = slides.indexOf(nextSlide);
430
- //Decide direction if it's not given
431
- if (direction === undefined) {
432
- direction = nextIndex > currentIndex ? 'next' : 'prev';
433
- }
434
- if (nextSlide && nextSlide !== self.currentSlide) {
435
- if ($scope.$currentTransition) {
436
- $scope.$currentTransition.cancel();
437
- //Timeout so ng-class in template has time to fix classes for finished slide
438
- $timeout(goNext);
439
- } else {
440
- goNext();
441
- }
442
- }
443
-
444
- function goNext() {
445
- // Scope has been destroyed, stop here.
446
- if (destroyed) {
447
- return;
448
- }
449
- //If we have a slide to transition from and we have a transition type and we're allowed, go
450
- if (self.currentSlide && angular.isString(direction) && !$scope.noTransition && nextSlide.$element) {
451
- //We shouldn't do class manip in here, but it's the same weird thing bootstrap does. need to fix sometime
452
- nextSlide.$element.addClass(direction);
453
- var reflow = nextSlide.$element[0].offsetWidth; //force reflow
454
-
455
- //Set all other slides to stop doing their stuff for the new transition
456
- angular.forEach(slides, function (slide) {
457
- angular.extend(slide, {direction: '', entering: false, leaving: false, active: false});
458
- });
459
- angular.extend(nextSlide, {direction: direction, active: true, entering: true});
460
- angular.extend(self.currentSlide || {}, {direction: direction, leaving: true});
461
-
462
- $scope.$currentTransition = $transition(nextSlide.$element, {});
463
- //We have to create new pointers inside a closure since next & current will change
464
- (function (next, current) {
465
- $scope.$currentTransition.then(
466
- function () {
467
- transitionDone(next, current);
468
- },
469
- function () {
470
- transitionDone(next, current);
471
- }
472
- );
473
- }(nextSlide, self.currentSlide));
474
- } else {
475
- transitionDone(nextSlide, self.currentSlide);
476
- }
477
- self.currentSlide = nextSlide;
478
- currentIndex = nextIndex;
479
- //every time you change slides, reset the timer
480
- restartTimer();
481
- }
482
-
483
- function transitionDone(next, current) {
484
- angular.extend(next, {direction: '', active: true, leaving: false, entering: false});
485
- angular.extend(current || {}, {direction: '', active: false, leaving: false, entering: false});
486
- $scope.$currentTransition = null;
487
- }
488
- };
489
- $scope.$on('$destroy', function () {
490
- destroyed = true;
491
- });
492
-
493
- /* Allow outside people to call indexOf on slides array */
494
- self.indexOfSlide = function (slide) {
495
- return slides.indexOf(slide);
496
- };
497
-
498
- $scope.next = function () {
499
- var newIndex = (currentIndex + 1) % slides.length;
500
-
501
- //Prevent this user-triggered transition from occurring if there is already one in progress
502
- if (!$scope.$currentTransition) {
503
- return self.select(slides[newIndex], 'next');
504
- }
505
- };
506
-
507
- $scope.prev = function () {
508
- var newIndex = currentIndex - 1 < 0 ? slides.length - 1 : currentIndex - 1;
509
-
510
- //Prevent this user-triggered transition from occurring if there is already one in progress
511
- if (!$scope.$currentTransition) {
512
- return self.select(slides[newIndex], 'prev');
513
- }
514
- };
515
-
516
- $scope.isActive = function (slide) {
517
- return self.currentSlide === slide;
518
- };
519
-
520
- $scope.$watch('interval', restartTimer);
521
- $scope.$on('$destroy', resetTimer);
522
-
523
- function restartTimer() {
524
- resetTimer();
525
- var interval = +$scope.interval;
526
- if (!isNaN(interval) && interval >= 0) {
527
- currentTimeout = $timeout(timerFn, interval);
528
- }
529
- }
530
-
531
- function resetTimer() {
532
- if (currentTimeout) {
533
- $timeout.cancel(currentTimeout);
534
- currentTimeout = null;
535
- }
536
- }
537
-
538
- function timerFn() {
539
- if (isPlaying) {
540
- $scope.next();
541
- restartTimer();
542
- } else {
543
- $scope.pause();
544
- }
545
- }
546
-
547
- $scope.play = function () {
548
- if (!isPlaying) {
549
- isPlaying = true;
550
- restartTimer();
551
- }
552
- };
553
- $scope.pause = function () {
554
- if (!$scope.noPause) {
555
- isPlaying = false;
556
- resetTimer();
557
- }
558
- };
559
-
560
- self.addSlide = function (slide, element) {
561
- slide.$element = element;
562
- slides.push(slide);
563
- //if this is the first slide or the slide is set to active, select it
564
- if (slides.length === 1 || slide.active) {
565
- self.select(slides[slides.length - 1]);
566
- if (slides.length == 1) {
567
- $scope.play();
568
- }
569
- } else {
570
- slide.active = false;
571
- }
572
- };
573
-
574
- self.removeSlide = function (slide) {
575
- //get the index of the slide inside the carousel
576
- var index = slides.indexOf(slide);
577
- slides.splice(index, 1);
578
- if (slides.length > 0 && slide.active) {
579
- if (index >= slides.length) {
580
- self.select(slides[index - 1]);
581
- } else {
582
- self.select(slides[index]);
583
- }
584
- } else if (currentIndex > index) {
585
- currentIndex--;
586
- }
587
- };
588
-
589
- }])
590
-
591
- /**
592
- * @ngdoc directive
593
- * @name ui.bootstrap.carousel.directive:carousel
594
- * @restrict EA
595
- *
596
- * @description
597
- * Carousel is the outer container for a set of image 'slides' to showcase.
598
- *
599
- * @param {number=} interval The time, in milliseconds, that it will take the carousel to go to the next slide.
600
- * @param {boolean=} noTransition Whether to disable transitions on the carousel.
601
- * @param {boolean=} noPause Whether to disable pausing on the carousel (by default, the carousel interval pauses on hover).
602
- *
603
- * @example
604
- <example module="ui.bootstrap">
605
- <file name="index.html">
606
- <carousel>
607
- <slide>
608
- <img src="http://placekitten.com/150/150" style="margin:auto;">
609
- <div class="carousel-caption">
610
- <p>Beautiful!</p>
611
- </div>
612
- </slide>
613
- <slide>
614
- <img src="http://placekitten.com/100/150" style="margin:auto;">
615
- <div class="carousel-caption">
616
- <p>D'aww!</p>
617
- </div>
618
- </slide>
619
- </carousel>
620
- </file>
621
- <file name="demo.css">
622
- .carousel-indicators {
623
- top: auto;
624
- bottom: 15px;
625
- }
626
- </file>
627
- </example>
628
- */
629
- .directive('carousel', [function () {
630
- return {
631
- restrict: 'EA',
632
- transclude: true,
633
- replace: true,
634
- controller: 'CarouselController',
635
- require: 'carousel',
636
- templateUrl: 'template/carousel/carousel.html',
637
- scope: {
638
- interval: '=',
639
- noTransition: '=',
640
- noPause: '='
641
- }
642
- };
643
- }])
644
-
645
- /**
646
- * @ngdoc directive
647
- * @name ui.bootstrap.carousel.directive:slide
648
- * @restrict EA
649
- *
650
- * @description
651
- * Creates a slide inside a {@link ui.bootstrap.carousel.directive:carousel carousel}. Must be placed as a child of a carousel element.
652
- *
653
- * @param {boolean=} active Model binding, whether or not this slide is currently active.
654
- *
655
- * @example
656
- <example module="ui.bootstrap">
657
- <file name="index.html">
658
- <div ng-controller="CarouselDemoCtrl">
659
- <carousel>
660
- <slide ng-repeat="slide in slides" active="slide.active">
661
- <img ng-src="{{slide.image}}" style="margin:auto;">
662
- <div class="carousel-caption">
663
- <h4>Slide {{$index}}</h4>
664
- <p>{{slide.text}}</p>
665
- </div>
666
- </slide>
667
- </carousel>
668
- Interval, in milliseconds: <input type="number" ng-model="myInterval">
669
- <br />Enter a negative number to stop the interval.
670
- </div>
671
- </file>
672
- <file name="script.js">
673
- function CarouselDemoCtrl($scope) {
674
- $scope.myInterval = 5000;
675
- }
676
- </file>
677
- <file name="demo.css">
678
- .carousel-indicators {
679
- top: auto;
680
- bottom: 15px;
681
- }
682
- </file>
683
- </example>
684
- */
685
-
686
- .directive('slide', function () {
687
- return {
688
- require: '^carousel',
689
- restrict: 'EA',
690
- transclude: true,
691
- replace: true,
692
- templateUrl: 'template/carousel/slide.html',
693
- scope: {
694
- active: '=?'
695
- },
696
- link: function (scope, element, attrs, carouselCtrl) {
697
- carouselCtrl.addSlide(scope, element);
698
- //when the scope is destroyed then remove the slide from the current slides array
699
- scope.$on('$destroy', function () {
700
- carouselCtrl.removeSlide(scope);
701
- });
702
-
703
- scope.$watch('active', function (active) {
704
- if (active) {
705
- carouselCtrl.select(scope);
706
- }
707
- });
708
- }
709
- };
710
- });
711
-
712
- angular.module('ui.bootstrap.dateparser', [])
713
-
714
- .service('dateParser', ['$locale', 'orderByFilter', function ($locale, orderByFilter) {
715
-
716
- this.parsers = {};
717
-
718
- var formatCodeToRegex = {
719
- 'yyyy': {
720
- regex: '\\d{4}',
721
- apply: function (value) {
722
- this.year = +value;
723
- }
724
- },
725
- 'yy': {
726
- regex: '\\d{2}',
727
- apply: function (value) {
728
- this.year = +value + 2000;
729
- }
730
- },
731
- 'y': {
732
- regex: '\\d{1,4}',
733
- apply: function (value) {
734
- this.year = +value;
735
- }
736
- },
737
- 'MMMM': {
738
- regex: $locale.DATETIME_FORMATS.MONTH.join('|'),
739
- apply: function (value) {
740
- this.month = $locale.DATETIME_FORMATS.MONTH.indexOf(value);
741
- }
742
- },
743
- 'MMM': {
744
- regex: $locale.DATETIME_FORMATS.SHORTMONTH.join('|'),
745
- apply: function (value) {
746
- this.month = $locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value);
747
- }
748
- },
749
- 'MM': {
750
- regex: '0[1-9]|1[0-2]',
751
- apply: function (value) {
752
- this.month = value - 1;
753
- }
754
- },
755
- 'M': {
756
- regex: '[1-9]|1[0-2]',
757
- apply: function (value) {
758
- this.month = value - 1;
759
- }
760
- },
761
- 'dd': {
762
- regex: '[0-2][0-9]{1}|3[0-1]{1}',
763
- apply: function (value) {
764
- this.date = +value;
765
- }
766
- },
767
- 'd': {
768
- regex: '[1-2]?[0-9]{1}|3[0-1]{1}',
769
- apply: function (value) {
770
- this.date = +value;
771
- }
772
- },
773
- 'EEEE': {
774
- regex: $locale.DATETIME_FORMATS.DAY.join('|')
775
- },
776
- 'EEE': {
777
- regex: $locale.DATETIME_FORMATS.SHORTDAY.join('|')
778
- }
779
- };
780
-
781
- this.createParser = function (format) {
782
- var map = [], regex = format.split('');
783
-
784
- angular.forEach(formatCodeToRegex, function (data, code) {
785
- var index = format.indexOf(code);
786
-
787
- if (index > -1) {
788
- format = format.split('');
789
-
790
- regex[index] = '(' + data.regex + ')';
791
- format[index] = '$'; // Custom symbol to define consumed part of format
792
- for (var i = index + 1, n = index + code.length; i < n; i++) {
793
- regex[i] = '';
794
- format[i] = '$';
795
- }
796
- format = format.join('');
797
-
798
- map.push({index: index, apply: data.apply});
799
- }
800
- });
801
-
802
- return {
803
- regex: new RegExp('^' + regex.join('') + '$'),
804
- map: orderByFilter(map, 'index')
805
- };
806
- };
807
-
808
- this.parse = function (input, format) {
809
- if (!angular.isString(input)) {
810
- return input;
811
- }
812
-
813
- format = $locale.DATETIME_FORMATS[format] || format;
814
-
815
- if (!this.parsers[format]) {
816
- this.parsers[format] = this.createParser(format);
817
- }
818
-
819
- var parser = this.parsers[format],
820
- regex = parser.regex,
821
- map = parser.map,
822
- results = input.match(regex);
823
-
824
- if (results && results.length) {
825
- var fields = {year: 1900, month: 0, date: 1, hours: 0}, dt;
826
-
827
- for (var i = 1, n = results.length; i < n; i++) {
828
- var mapper = map[i - 1];
829
- if (mapper.apply) {
830
- mapper.apply.call(fields, results[i]);
831
- }
832
- }
833
-
834
- if (isValid(fields.year, fields.month, fields.date)) {
835
- dt = new Date(fields.year, fields.month, fields.date, fields.hours);
836
- }
837
-
838
- return dt;
839
- }
840
- };
841
-
842
- // Check if date is valid for specific month (and year for February).
843
- // Month: 0 = Jan, 1 = Feb, etc
844
- function isValid(year, month, date) {
845
- if (month === 1 && date > 28) {
846
- return date === 29 && ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0);
847
- }
848
-
849
- if (month === 3 || month === 5 || month === 8 || month === 10) {
850
- return date < 31;
851
- }
852
-
853
- return true;
854
- }
855
- }]);
856
-
857
- angular.module('ui.bootstrap.position', [])
858
-
859
- /**
860
- * A set of utility methods that can be use to retrieve position of DOM elements.
861
- * It is meant to be used where we need to absolute-position DOM elements in
862
- * relation to other, existing elements (this is the case for tooltips, popovers,
863
- * typeahead suggestions etc.).
864
- */
865
- .factory('$position', ['$document', '$window', function ($document, $window) {
866
-
867
- function getStyle(el, cssprop) {
868
- if (el.currentStyle) { //IE
869
- return el.currentStyle[cssprop];
870
- } else if ($window.getComputedStyle) {
871
- return $window.getComputedStyle(el)[cssprop];
872
- }
873
- // finally try and get inline style
874
- return el.style[cssprop];
875
- }
876
-
877
- /**
878
- * Checks if a given element is statically positioned
879
- * @param element - raw DOM element
880
- */
881
- function isStaticPositioned(element) {
882
- return (getStyle(element, 'position') || 'static') === 'static';
883
- }
884
-
885
- /**
886
- * returns the closest, non-statically positioned parentOffset of a given element
887
- * @param element
888
- */
889
- var parentOffsetEl = function (element) {
890
- var docDomEl = $document[0];
891
- var offsetParent = element.offsetParent || docDomEl;
892
- while (offsetParent && offsetParent !== docDomEl && isStaticPositioned(offsetParent)) {
893
- offsetParent = offsetParent.offsetParent;
894
- }
895
- return offsetParent || docDomEl;
896
- };
897
-
898
- return {
899
- /**
900
- * Provides read-only equivalent of jQuery's position function:
901
- * http://api.jquery.com/position/
902
- */
903
- position: function (element) {
904
- var elBCR = this.offset(element);
905
- var offsetParentBCR = {top: 0, left: 0};
906
- var offsetParentEl = parentOffsetEl(element[0]);
907
- if (offsetParentEl != $document[0]) {
908
- offsetParentBCR = this.offset(angular.element(offsetParentEl));
909
- offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;
910
- offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;
911
- }
912
-
913
- var boundingClientRect = element[0].getBoundingClientRect();
914
- return {
915
- width: boundingClientRect.width || element.prop('offsetWidth'),
916
- height: boundingClientRect.height || element.prop('offsetHeight'),
917
- top: elBCR.top - offsetParentBCR.top,
918
- left: elBCR.left - offsetParentBCR.left
919
- };
920
- },
921
-
922
- /**
923
- * Provides read-only equivalent of jQuery's offset function:
924
- * http://api.jquery.com/offset/
925
- */
926
- offset: function (element) {
927
- var boundingClientRect = element[0].getBoundingClientRect();
928
- return {
929
- width: boundingClientRect.width || element.prop('offsetWidth'),
930
- height: boundingClientRect.height || element.prop('offsetHeight'),
931
- top: boundingClientRect.top + ($window.pageYOffset || $document[0].documentElement.scrollTop),
932
- left: boundingClientRect.left + ($window.pageXOffset || $document[0].documentElement.scrollLeft)
933
- };
934
- },
935
-
936
- /**
937
- * Provides coordinates for the targetEl in relation to hostEl
938
- */
939
- positionElements: function (hostEl, targetEl, positionStr, appendToBody) {
940
-
941
- var positionStrParts = positionStr.split('-');
942
- var pos0 = positionStrParts[0], pos1 = positionStrParts[1] || 'center';
943
-
944
- var hostElPos,
945
- targetElWidth,
946
- targetElHeight,
947
- targetElPos;
948
-
949
- hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);
950
-
951
- targetElWidth = targetEl.prop('offsetWidth');
952
- targetElHeight = targetEl.prop('offsetHeight');
953
-
954
- var shiftWidth = {
955
- center: function () {
956
- return hostElPos.left + hostElPos.width / 2 - targetElWidth / 2;
957
- },
958
- left: function () {
959
- return hostElPos.left;
960
- },
961
- right: function () {
962
- return hostElPos.left + hostElPos.width;
963
- }
964
- };
965
-
966
- var shiftHeight = {
967
- center: function () {
968
- return hostElPos.top + hostElPos.height / 2 - targetElHeight / 2;
969
- },
970
- top: function () {
971
- return hostElPos.top;
972
- },
973
- bottom: function () {
974
- return hostElPos.top + hostElPos.height;
975
- }
976
- };
977
-
978
- switch (pos0) {
979
- case 'right':
980
- targetElPos = {
981
- top: shiftHeight[pos1](),
982
- left: shiftWidth[pos0]()
983
- };
984
- break;
985
- case 'left':
986
- targetElPos = {
987
- top: shiftHeight[pos1](),
988
- left: hostElPos.left - targetElWidth
989
- };
990
- break;
991
- case 'bottom':
992
- targetElPos = {
993
- top: shiftHeight[pos0](),
994
- left: shiftWidth[pos1]()
995
- };
996
- break;
997
- default:
998
- targetElPos = {
999
- top: hostElPos.top - targetElHeight,
1000
- left: shiftWidth[pos1]()
1001
- };
1002
- break;
1003
- }
1004
-
1005
- return targetElPos;
1006
- }
1007
- };
1008
- }]);
1009
-
1010
- angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootstrap.position'])
1011
-
1012
- .constant('datepickerConfig', {
1013
- formatDay: 'dd',
1014
- formatMonth: 'MMMM',
1015
- formatYear: 'yyyy',
1016
- formatDayHeader: 'EEE',
1017
- formatDayTitle: 'MMMM yyyy',
1018
- formatMonthTitle: 'yyyy',
1019
- datepickerMode: 'day',
1020
- minMode: 'day',
1021
- maxMode: 'year',
1022
- showWeeks: true,
1023
- startingDay: 0,
1024
- yearRange: 20,
1025
- minDate: null,
1026
- maxDate: null
1027
- })
1028
-
1029
- .controller('DatepickerController', ['$scope', '$attrs', '$parse', '$interpolate', '$timeout', '$log', 'dateFilter', 'datepickerConfig', function ($scope, $attrs, $parse, $interpolate, $timeout, $log, dateFilter, datepickerConfig) {
1030
- var self = this,
1031
- ngModelCtrl = {$setViewValue: angular.noop}; // nullModelCtrl;
1032
-
1033
- // Modes chain
1034
- this.modes = ['day', 'month', 'year'];
1035
-
1036
- // Configuration attributes
1037
- angular.forEach(['formatDay', 'formatMonth', 'formatYear', 'formatDayHeader', 'formatDayTitle', 'formatMonthTitle',
1038
- 'minMode', 'maxMode', 'showWeeks', 'startingDay', 'yearRange'], function (key, index) {
1039
- self[key] = angular.isDefined($attrs[key]) ? (index < 8 ? $interpolate($attrs[key])($scope.$parent) : $scope.$parent.$eval($attrs[key])) : datepickerConfig[key];
1040
- });
1041
-
1042
- // Watchable attributes
1043
- angular.forEach(['minDate', 'maxDate'], function (key) {
1044
- if ($attrs[key]) {
1045
- $scope.$parent.$watch($parse($attrs[key]), function (value) {
1046
- self[key] = value ? new Date(value) : null;
1047
- self.refreshView();
1048
- });
1049
- } else {
1050
- self[key] = datepickerConfig[key] ? new Date(datepickerConfig[key]) : null;
1051
- }
1052
- });
1053
-
1054
- $scope.datepickerMode = $scope.datepickerMode || datepickerConfig.datepickerMode;
1055
- $scope.uniqueId = 'datepicker-' + $scope.$id + '-' + Math.floor(Math.random() * 10000);
1056
- this.activeDate = angular.isDefined($attrs.initDate) ? $scope.$parent.$eval($attrs.initDate) : new Date();
1057
-
1058
- $scope.isActive = function (dateObject) {
1059
- if (self.compare(dateObject.date, self.activeDate) === 0) {
1060
- $scope.activeDateId = dateObject.uid;
1061
- return true;
1062
- }
1063
- return false;
1064
- };
1065
-
1066
- this.init = function (ngModelCtrl_) {
1067
- ngModelCtrl = ngModelCtrl_;
1068
-
1069
- ngModelCtrl.$render = function () {
1070
- self.render();
1071
- };
1072
- };
1073
-
1074
- this.render = function () {
1075
- if (ngModelCtrl.$modelValue) {
1076
- var date = new Date(ngModelCtrl.$modelValue),
1077
- isValid = !isNaN(date);
1078
-
1079
- if (isValid) {
1080
- this.activeDate = date;
1081
- } else {
1082
- $log.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
1083
- }
1084
- ngModelCtrl.$setValidity('date', isValid);
1085
- }
1086
- this.refreshView();
1087
- };
1088
-
1089
- this.refreshView = function () {
1090
- if (this.element) {
1091
- this._refreshView();
1092
-
1093
- var date = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : null;
1094
- ngModelCtrl.$setValidity('date-disabled', !date || (this.element && !this.isDisabled(date)));
1095
- }
1096
- };
1097
-
1098
- this.createDateObject = function (date, format) {
1099
- var model = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : null;
1100
- return {
1101
- date: date,
1102
- label: dateFilter(date, format),
1103
- selected: model && this.compare(date, model) === 0,
1104
- disabled: this.isDisabled(date),
1105
- current: this.compare(date, new Date()) === 0
1106
- };
1107
- };
1108
-
1109
- this.isDisabled = function (date) {
1110
- return ((this.minDate && this.compare(date, this.minDate) < 0) || (this.maxDate && this.compare(date, this.maxDate) > 0) || ($attrs.dateDisabled && $scope.dateDisabled({
1111
- date: date,
1112
- mode: $scope.datepickerMode
1113
- })));
1114
- };
1115
-
1116
- // Split array into smaller arrays
1117
- this.split = function (arr, size) {
1118
- var arrays = [];
1119
- while (arr.length > 0) {
1120
- arrays.push(arr.splice(0, size));
1121
- }
1122
- return arrays;
1123
- };
1124
-
1125
- $scope.select = function (date) {
1126
- if ($scope.datepickerMode === self.minMode) {
1127
- var dt = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : new Date(0, 0, 0, 0, 0, 0, 0);
1128
- dt.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
1129
- ngModelCtrl.$setViewValue(dt);
1130
- ngModelCtrl.$render();
1131
- } else {
1132
- self.activeDate = date;
1133
- $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) - 1];
1134
- }
1135
- };
1136
-
1137
- $scope.move = function (direction) {
1138
- var year = self.activeDate.getFullYear() + direction * (self.step.years || 0),
1139
- month = self.activeDate.getMonth() + direction * (self.step.months || 0);
1140
- self.activeDate.setFullYear(year, month, 1);
1141
- self.refreshView();
1142
- };
1143
-
1144
- $scope.toggleMode = function (direction) {
1145
- direction = direction || 1;
1146
-
1147
- if (($scope.datepickerMode === self.maxMode && direction === 1) || ($scope.datepickerMode === self.minMode && direction === -1)) {
1148
- return;
1149
- }
1150
-
1151
- $scope.datepickerMode = self.modes[self.modes.indexOf($scope.datepickerMode) + direction];
1152
- };
1153
-
1154
- // Key event mapper
1155
- $scope.keys = {
1156
- 13: 'enter',
1157
- 32: 'space',
1158
- 33: 'pageup',
1159
- 34: 'pagedown',
1160
- 35: 'end',
1161
- 36: 'home',
1162
- 37: 'left',
1163
- 38: 'up',
1164
- 39: 'right',
1165
- 40: 'down'
1166
- };
1167
-
1168
- var focusElement = function () {
1169
- $timeout(function () {
1170
- self.element[0].focus();
1171
- }, 0, false);
1172
- };
1173
-
1174
- // Listen for focus requests from popup directive
1175
- $scope.$on('datepicker.focus', focusElement);
1176
-
1177
- $scope.keydown = function (evt) {
1178
- var key = $scope.keys[evt.which];
1179
-
1180
- if (!key || evt.shiftKey || evt.altKey) {
1181
- return;
1182
- }
1183
-
1184
- evt.preventDefault();
1185
- evt.stopPropagation();
1186
-
1187
- if (key === 'enter' || key === 'space') {
1188
- if (self.isDisabled(self.activeDate)) {
1189
- return; // do nothing
1190
- }
1191
- $scope.select(self.activeDate);
1192
- focusElement();
1193
- } else if (evt.ctrlKey && (key === 'up' || key === 'down')) {
1194
- $scope.toggleMode(key === 'up' ? 1 : -1);
1195
- focusElement();
1196
- } else {
1197
- self.handleKeyDown(key, evt);
1198
- self.refreshView();
1199
- }
1200
- };
1201
- }])
1202
-
1203
- .directive('datepicker', function () {
1204
- return {
1205
- restrict: 'EA',
1206
- replace: true,
1207
- templateUrl: 'template/datepicker/datepicker.html',
1208
- scope: {
1209
- datepickerMode: '=?',
1210
- dateDisabled: '&'
1211
- },
1212
- require: ['datepicker', '?^ngModel'],
1213
- controller: 'DatepickerController',
1214
- link: function (scope, element, attrs, ctrls) {
1215
- var datepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
1216
-
1217
- if (ngModelCtrl) {
1218
- datepickerCtrl.init(ngModelCtrl);
1219
- }
1220
- }
1221
- };
1222
- })
1223
-
1224
- .directive('daypicker', ['dateFilter', function (dateFilter) {
1225
- return {
1226
- restrict: 'EA',
1227
- replace: true,
1228
- templateUrl: 'template/datepicker/day.html',
1229
- require: '^datepicker',
1230
- link: function (scope, element, attrs, ctrl) {
1231
- scope.showWeeks = ctrl.showWeeks;
1232
-
1233
- ctrl.step = {months: 1};
1234
- ctrl.element = element;
1235
-
1236
- var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1237
-
1238
- function getDaysInMonth(year, month) {
1239
- return ((month === 1) && (year % 4 === 0) && ((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];
1240
- }
1241
-
1242
- function getDates(startDate, n) {
1243
- var dates = new Array(n), current = new Date(startDate), i = 0;
1244
- current.setHours(12); // Prevent repeated dates because of timezone bug
1245
- while (i < n) {
1246
- dates[i++] = new Date(current);
1247
- current.setDate(current.getDate() + 1);
1248
- }
1249
- return dates;
1250
- }
1251
-
1252
- ctrl._refreshView = function () {
1253
- var year = ctrl.activeDate.getFullYear(),
1254
- month = ctrl.activeDate.getMonth(),
1255
- firstDayOfMonth = new Date(year, month, 1),
1256
- difference = ctrl.startingDay - firstDayOfMonth.getDay(),
1257
- numDisplayedFromPreviousMonth = (difference > 0) ? 7 - difference : -difference,
1258
- firstDate = new Date(firstDayOfMonth);
1259
-
1260
- if (numDisplayedFromPreviousMonth > 0) {
1261
- firstDate.setDate(-numDisplayedFromPreviousMonth + 1);
1262
- }
1263
-
1264
- // 42 is the number of days on a six-month calendar
1265
- var days = getDates(firstDate, 42);
1266
- for (var i = 0; i < 42; i++) {
1267
- days[i] = angular.extend(ctrl.createDateObject(days[i], ctrl.formatDay), {
1268
- secondary: days[i].getMonth() !== month,
1269
- uid: scope.uniqueId + '-' + i
1270
- });
1271
- }
1272
-
1273
- scope.labels = new Array(7);
1274
- for (var j = 0; j < 7; j++) {
1275
- scope.labels[j] = {
1276
- abbr: dateFilter(days[j].date, ctrl.formatDayHeader),
1277
- full: dateFilter(days[j].date, 'EEEE')
1278
- };
1279
- }
1280
-
1281
- scope.title = dateFilter(ctrl.activeDate, ctrl.formatDayTitle);
1282
- scope.rows = ctrl.split(days, 7);
1283
-
1284
- if (scope.showWeeks) {
1285
- scope.weekNumbers = [];
1286
- var weekNumber = getISO8601WeekNumber(scope.rows[0][0].date),
1287
- numWeeks = scope.rows.length;
1288
- while (scope.weekNumbers.push(weekNumber++) < numWeeks) {
1289
- }
1290
- }
1291
- };
1292
-
1293
- ctrl.compare = function (date1, date2) {
1294
- return (new Date(date1.getFullYear(), date1.getMonth(), date1.getDate()) - new Date(date2.getFullYear(), date2.getMonth(), date2.getDate()));
1295
- };
1296
-
1297
- function getISO8601WeekNumber(date) {
1298
- var checkDate = new Date(date);
1299
- checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); // Thursday
1300
- var time = checkDate.getTime();
1301
- checkDate.setMonth(0); // Compare with Jan 1
1302
- checkDate.setDate(1);
1303
- return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
1304
- }
1305
-
1306
- ctrl.handleKeyDown = function (key, evt) {
1307
- var date = ctrl.activeDate.getDate();
1308
-
1309
- if (key === 'left') {
1310
- date = date - 1; // up
1311
- } else if (key === 'up') {
1312
- date = date - 7; // down
1313
- } else if (key === 'right') {
1314
- date = date + 1; // down
1315
- } else if (key === 'down') {
1316
- date = date + 7;
1317
- } else if (key === 'pageup' || key === 'pagedown') {
1318
- var month = ctrl.activeDate.getMonth() + (key === 'pageup' ? -1 : 1);
1319
- ctrl.activeDate.setMonth(month, 1);
1320
- date = Math.min(getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth()), date);
1321
- } else if (key === 'home') {
1322
- date = 1;
1323
- } else if (key === 'end') {
1324
- date = getDaysInMonth(ctrl.activeDate.getFullYear(), ctrl.activeDate.getMonth());
1325
- }
1326
- ctrl.activeDate.setDate(date);
1327
- };
1328
-
1329
- ctrl.refreshView();
1330
- }
1331
- };
1332
- }])
1333
-
1334
- .directive('monthpicker', ['dateFilter', function (dateFilter) {
1335
- return {
1336
- restrict: 'EA',
1337
- replace: true,
1338
- templateUrl: 'template/datepicker/month.html',
1339
- require: '^datepicker',
1340
- link: function (scope, element, attrs, ctrl) {
1341
- ctrl.step = {years: 1};
1342
- ctrl.element = element;
1343
-
1344
- ctrl._refreshView = function () {
1345
- var months = new Array(12),
1346
- year = ctrl.activeDate.getFullYear();
1347
-
1348
- for (var i = 0; i < 12; i++) {
1349
- months[i] = angular.extend(ctrl.createDateObject(new Date(year, i, 1), ctrl.formatMonth), {
1350
- uid: scope.uniqueId + '-' + i
1351
- });
1352
- }
1353
-
1354
- scope.title = dateFilter(ctrl.activeDate, ctrl.formatMonthTitle);
1355
- scope.rows = ctrl.split(months, 3);
1356
- };
1357
-
1358
- ctrl.compare = function (date1, date2) {
1359
- return new Date(date1.getFullYear(), date1.getMonth()) - new Date(date2.getFullYear(), date2.getMonth());
1360
- };
1361
-
1362
- ctrl.handleKeyDown = function (key, evt) {
1363
- var date = ctrl.activeDate.getMonth();
1364
-
1365
- if (key === 'left') {
1366
- date = date - 1; // up
1367
- } else if (key === 'up') {
1368
- date = date - 3; // down
1369
- } else if (key === 'right') {
1370
- date = date + 1; // down
1371
- } else if (key === 'down') {
1372
- date = date + 3;
1373
- } else if (key === 'pageup' || key === 'pagedown') {
1374
- var year = ctrl.activeDate.getFullYear() + (key === 'pageup' ? -1 : 1);
1375
- ctrl.activeDate.setFullYear(year);
1376
- } else if (key === 'home') {
1377
- date = 0;
1378
- } else if (key === 'end') {
1379
- date = 11;
1380
- }
1381
- ctrl.activeDate.setMonth(date);
1382
- };
1383
-
1384
- ctrl.refreshView();
1385
- }
1386
- };
1387
- }])
1388
-
1389
- .directive('yearpicker', ['dateFilter', function (dateFilter) {
1390
- return {
1391
- restrict: 'EA',
1392
- replace: true,
1393
- templateUrl: 'template/datepicker/year.html',
1394
- require: '^datepicker',
1395
- link: function (scope, element, attrs, ctrl) {
1396
- var range = ctrl.yearRange;
1397
-
1398
- ctrl.step = {years: range};
1399
- ctrl.element = element;
1400
-
1401
- function getStartingYear(year) {
1402
- return parseInt((year - 1) / range, 10) * range + 1;
1403
- }
1404
-
1405
- ctrl._refreshView = function () {
1406
- var years = new Array(range);
1407
-
1408
- for (var i = 0, start = getStartingYear(ctrl.activeDate.getFullYear()); i < range; i++) {
1409
- years[i] = angular.extend(ctrl.createDateObject(new Date(start + i, 0, 1), ctrl.formatYear), {
1410
- uid: scope.uniqueId + '-' + i
1411
- });
1412
- }
1413
-
1414
- scope.title = [years[0].label, years[range - 1].label].join(' - ');
1415
- scope.rows = ctrl.split(years, 5);
1416
- };
1417
-
1418
- ctrl.compare = function (date1, date2) {
1419
- return date1.getFullYear() - date2.getFullYear();
1420
- };
1421
-
1422
- ctrl.handleKeyDown = function (key, evt) {
1423
- var date = ctrl.activeDate.getFullYear();
1424
-
1425
- if (key === 'left') {
1426
- date = date - 1; // up
1427
- } else if (key === 'up') {
1428
- date = date - 5; // down
1429
- } else if (key === 'right') {
1430
- date = date + 1; // down
1431
- } else if (key === 'down') {
1432
- date = date + 5;
1433
- } else if (key === 'pageup' || key === 'pagedown') {
1434
- date += (key === 'pageup' ? -1 : 1) * ctrl.step.years;
1435
- } else if (key === 'home') {
1436
- date = getStartingYear(ctrl.activeDate.getFullYear());
1437
- } else if (key === 'end') {
1438
- date = getStartingYear(ctrl.activeDate.getFullYear()) + range - 1;
1439
- }
1440
- ctrl.activeDate.setFullYear(date);
1441
- };
1442
-
1443
- ctrl.refreshView();
1444
- }
1445
- };
1446
- }])
1447
-
1448
- .constant('datepickerPopupConfig', {
1449
- datepickerPopup: 'yyyy-MM-dd',
1450
- currentText: 'Today',
1451
- clearText: 'Clear',
1452
- closeText: 'Done',
1453
- closeOnDateSelection: true,
1454
- appendToBody: false,
1455
- showButtonBar: true
1456
- })
1457
-
1458
- .directive('datepickerPopup', ['$compile', '$parse', '$document', '$position', 'dateFilter', 'dateParser', 'datepickerPopupConfig',
1459
- function ($compile, $parse, $document, $position, dateFilter, dateParser, datepickerPopupConfig) {
1460
- return {
1461
- restrict: 'EA',
1462
- require: 'ngModel',
1463
- scope: {
1464
- isOpen: '=?',
1465
- currentText: '@',
1466
- clearText: '@',
1467
- closeText: '@',
1468
- dateDisabled: '&'
1469
- },
1470
- link: function (scope, element, attrs, ngModel) {
1471
- var dateFormat,
1472
- closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection,
1473
- appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody;
1474
-
1475
- scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar;
1476
-
1477
- scope.getText = function (key) {
1478
- return scope[key + 'Text'] || datepickerPopupConfig[key + 'Text'];
1479
- };
1480
-
1481
- attrs.$observe('datepickerPopup', function (value) {
1482
- dateFormat = value || datepickerPopupConfig.datepickerPopup;
1483
- ngModel.$render();
1484
- });
1485
-
1486
- // popup element used to display calendar
1487
- var popupEl = angular.element('<div datepicker-popup-wrap><div datepicker></div></div>');
1488
- popupEl.attr({
1489
- 'ng-model': 'date',
1490
- 'ng-change': 'dateSelection()'
1491
- });
1492
-
1493
- function cameltoDash(string) {
1494
- return string.replace(/([A-Z])/g, function ($1) {
1495
- return '-' + $1.toLowerCase();
1496
- });
1497
- }
1498
-
1499
- // datepicker element
1500
- var datepickerEl = angular.element(popupEl.children()[0]);
1501
- if (attrs.datepickerOptions) {
1502
- angular.forEach(scope.$parent.$eval(attrs.datepickerOptions), function (value, option) {
1503
- datepickerEl.attr(cameltoDash(option), value);
1504
- });
1505
- }
1506
-
1507
- angular.forEach(['minDate', 'maxDate'], function (key) {
1508
- if (attrs[key]) {
1509
- scope.$parent.$watch($parse(attrs[key]), function (value) {
1510
- scope[key] = value;
1511
- });
1512
- datepickerEl.attr(cameltoDash(key), key);
1513
- }
1514
- });
1515
- if (attrs.dateDisabled) {
1516
- datepickerEl.attr('date-disabled', 'dateDisabled({ date: date, mode: mode })');
1517
- }
1518
-
1519
- function parseDate(viewValue) {
1520
- if (!viewValue) {
1521
- ngModel.$setValidity('date', true);
1522
- return null;
1523
- } else if (angular.isDate(viewValue) && !isNaN(viewValue)) {
1524
- ngModel.$setValidity('date', true);
1525
- return viewValue;
1526
- } else if (angular.isString(viewValue)) {
1527
- var date = dateParser.parse(viewValue, dateFormat) || new Date(viewValue);
1528
- if (isNaN(date)) {
1529
- ngModel.$setValidity('date', false);
1530
- return undefined;
1531
- } else {
1532
- ngModel.$setValidity('date', true);
1533
- return date;
1534
- }
1535
- } else {
1536
- ngModel.$setValidity('date', false);
1537
- return undefined;
1538
- }
1539
- }
1540
-
1541
- ngModel.$parsers.unshift(parseDate);
1542
-
1543
- // Inner change
1544
- scope.dateSelection = function (dt) {
1545
- if (angular.isDefined(dt)) {
1546
- scope.date = dt;
1547
- }
1548
- ngModel.$setViewValue(scope.date);
1549
- ngModel.$render();
1550
-
1551
- if (closeOnDateSelection) {
1552
- scope.isOpen = false;
1553
- element[0].focus();
1554
- }
1555
- };
1556
-
1557
- element.bind('input change keyup', function () {
1558
- scope.$apply(function () {
1559
- scope.date = ngModel.$modelValue;
1560
- });
1561
- });
1562
-
1563
- // Outter change
1564
- ngModel.$render = function () {
1565
- var date = ngModel.$viewValue ? dateFilter(ngModel.$viewValue, dateFormat) : '';
1566
- element.val(date);
1567
- scope.date = parseDate(ngModel.$modelValue);
1568
- };
1569
-
1570
- var documentClickBind = function (event) {
1571
- if (scope.isOpen && event.target !== element[0]) {
1572
- scope.$apply(function () {
1573
- scope.isOpen = false;
1574
- });
1575
- }
1576
- };
1577
-
1578
- var keydown = function (evt, noApply) {
1579
- scope.keydown(evt);
1580
- };
1581
- element.bind('keydown', keydown);
1582
-
1583
- scope.keydown = function (evt) {
1584
- if (evt.which === 27) {
1585
- evt.preventDefault();
1586
- evt.stopPropagation();
1587
- scope.close();
1588
- } else if (evt.which === 40 && !scope.isOpen) {
1589
- scope.isOpen = true;
1590
- }
1591
- };
1592
-
1593
- scope.$watch('isOpen', function (value) {
1594
- if (value) {
1595
- scope.$broadcast('datepicker.focus');
1596
- scope.position = appendToBody ? $position.offset(element) : $position.position(element);
1597
- scope.position.top = scope.position.top + element.prop('offsetHeight');
1598
-
1599
- $document.bind('click', documentClickBind);
1600
- } else {
1601
- $document.unbind('click', documentClickBind);
1602
- }
1603
- });
1604
-
1605
- scope.select = function (date) {
1606
- if (date === 'today') {
1607
- var today = new Date();
1608
- if (angular.isDate(ngModel.$modelValue)) {
1609
- date = new Date(ngModel.$modelValue);
1610
- date.setFullYear(today.getFullYear(), today.getMonth(), today.getDate());
1611
- } else {
1612
- date = new Date(today.setHours(0, 0, 0, 0));
1613
- }
1614
- }
1615
- scope.dateSelection(date);
1616
- };
1617
-
1618
- scope.close = function () {
1619
- scope.isOpen = false;
1620
- element[0].focus();
1621
- };
1622
-
1623
- var $popup = $compile(popupEl)(scope);
1624
- if (appendToBody) {
1625
- $document.find('body').append($popup);
1626
- } else {
1627
- element.after($popup);
1628
- }
1629
-
1630
- scope.$on('$destroy', function () {
1631
- $popup.remove();
1632
- element.unbind('keydown', keydown);
1633
- $document.unbind('click', documentClickBind);
1634
- });
1635
- }
1636
- };
1637
- }])
1638
-
1639
- .directive('datepickerPopupWrap', function () {
1640
- return {
1641
- restrict: 'EA',
1642
- replace: true,
1643
- transclude: true,
1644
- templateUrl: 'template/datepicker/popup.html',
1645
- link: function (scope, element, attrs) {
1646
- element.bind('click', function (event) {
1647
- event.preventDefault();
1648
- event.stopPropagation();
1649
- });
1650
- }
1651
- };
1652
- });
1653
-
1654
- angular.module('ui.bootstrap.dropdown', [])
1655
-
1656
- .constant('dropdownConfig', {
1657
- openClass: 'open'
1658
- })
1659
-
1660
- .service('dropdownService', ['$document', function ($document) {
1661
- var openScope = null;
1662
-
1663
- this.open = function (dropdownScope) {
1664
- if (!openScope) {
1665
- $document.bind('click', closeDropdown);
1666
- $document.bind('keydown', escapeKeyBind);
1667
- }
1668
-
1669
- if (openScope && openScope !== dropdownScope) {
1670
- openScope.isOpen = false;
1671
- }
1672
-
1673
- openScope = dropdownScope;
1674
- };
1675
-
1676
- this.close = function (dropdownScope) {
1677
- if (openScope === dropdownScope) {
1678
- openScope = null;
1679
- $document.unbind('click', closeDropdown);
1680
- $document.unbind('keydown', escapeKeyBind);
1681
- }
1682
- };
1683
-
1684
- var closeDropdown = function (evt) {
1685
- if (evt && evt.isDefaultPrevented()) {
1686
- return;
1687
- }
1688
-
1689
- openScope.$apply(function () {
1690
- openScope.isOpen = false;
1691
- });
1692
- };
1693
-
1694
- var escapeKeyBind = function (evt) {
1695
- if (evt.which === 27) {
1696
- openScope.focusToggleElement();
1697
- closeDropdown();
1698
- }
1699
- };
1700
- }])
1701
-
1702
- .controller('DropdownController', ['$scope', '$attrs', '$parse', 'dropdownConfig', 'dropdownService', '$animate', function ($scope, $attrs, $parse, dropdownConfig, dropdownService, $animate) {
1703
- var self = this,
1704
- scope = $scope.$new(), // create a child scope so we are not polluting original one
1705
- openClass = dropdownConfig.openClass,
1706
- getIsOpen,
1707
- setIsOpen = angular.noop,
1708
- toggleInvoker = $attrs.onToggle ? $parse($attrs.onToggle) : angular.noop;
1709
-
1710
- this.init = function (element) {
1711
- self.$element = element;
1712
-
1713
- if ($attrs.isOpen) {
1714
- getIsOpen = $parse($attrs.isOpen);
1715
- setIsOpen = getIsOpen.assign;
1716
-
1717
- $scope.$watch(getIsOpen, function (value) {
1718
- scope.isOpen = !!value;
1719
- });
1720
- }
1721
- };
1722
-
1723
- this.toggle = function (open) {
1724
- return scope.isOpen = arguments.length ? !!open : !scope.isOpen;
1725
- };
1726
-
1727
- // Allow other directives to watch status
1728
- this.isOpen = function () {
1729
- return scope.isOpen;
1730
- };
1731
-
1732
- scope.focusToggleElement = function () {
1733
- if (self.toggleElement) {
1734
- self.toggleElement[0].focus();
1735
- }
1736
- };
1737
-
1738
- scope.$watch('isOpen', function (isOpen, wasOpen) {
1739
- $animate[isOpen ? 'addClass' : 'removeClass'](self.$element, openClass);
1740
-
1741
- if (isOpen) {
1742
- scope.focusToggleElement();
1743
- dropdownService.open(scope);
1744
- } else {
1745
- dropdownService.close(scope);
1746
- }
1747
-
1748
- setIsOpen($scope, isOpen);
1749
- if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
1750
- toggleInvoker($scope, {open: !!isOpen});
1751
- }
1752
- });
1753
-
1754
- $scope.$on('$locationChangeSuccess', function () {
1755
- scope.isOpen = false;
1756
- });
1757
-
1758
- $scope.$on('$destroy', function () {
1759
- scope.$destroy();
1760
- });
1761
- }])
1762
-
1763
- .directive('dropdown', function () {
1764
- return {
1765
- restrict: 'CA',
1766
- controller: 'DropdownController',
1767
- link: function (scope, element, attrs, dropdownCtrl) {
1768
- dropdownCtrl.init(element);
1769
- }
1770
- };
1771
- })
1772
-
1773
- .directive('dropdownToggle', function () {
1774
- return {
1775
- restrict: 'CA',
1776
- require: '?^dropdown',
1777
- link: function (scope, element, attrs, dropdownCtrl) {
1778
- if (!dropdownCtrl) {
1779
- return;
1780
- }
1781
-
1782
- dropdownCtrl.toggleElement = element;
1783
-
1784
- var toggleDropdown = function (event) {
1785
- event.preventDefault();
1786
-
1787
- if (!element.hasClass('disabled') && !attrs.disabled) {
1788
- scope.$apply(function () {
1789
- dropdownCtrl.toggle();
1790
- });
1791
- }
1792
- };
1793
-
1794
- element.bind('click', toggleDropdown);
1795
-
1796
- // WAI-ARIA
1797
- element.attr({'aria-haspopup': true, 'aria-expanded': false});
1798
- scope.$watch(dropdownCtrl.isOpen, function (isOpen) {
1799
- element.attr('aria-expanded', !!isOpen);
1800
- });
1801
-
1802
- scope.$on('$destroy', function () {
1803
- element.unbind('click', toggleDropdown);
1804
- });
1805
- }
1806
- };
1807
- });
1808
-
1809
- angular.module('ui.bootstrap.modal', ['ui.bootstrap.transition'])
1810
-
1811
- /**
1812
- * A helper, internal data structure that acts as a map but also allows getting / removing
1813
- * elements in the LIFO order
1814
- */
1815
- .factory('$$stackedMap', function () {
1816
- return {
1817
- createNew: function () {
1818
- var stack = [];
1819
-
1820
- return {
1821
- add: function (key, value) {
1822
- stack.push({
1823
- key: key,
1824
- value: value
1825
- });
1826
- },
1827
- get: function (key) {
1828
- for (var i = 0; i < stack.length; i++) {
1829
- if (key == stack[i].key) {
1830
- return stack[i];
1831
- }
1832
- }
1833
- },
1834
- keys: function () {
1835
- var keys = [];
1836
- for (var i = 0; i < stack.length; i++) {
1837
- keys.push(stack[i].key);
1838
- }
1839
- return keys;
1840
- },
1841
- top: function () {
1842
- return stack[stack.length - 1];
1843
- },
1844
- remove: function (key) {
1845
- var idx = -1;
1846
- for (var i = 0; i < stack.length; i++) {
1847
- if (key == stack[i].key) {
1848
- idx = i;
1849
- break;
1850
- }
1851
- }
1852
- return stack.splice(idx, 1)[0];
1853
- },
1854
- removeTop: function () {
1855
- return stack.splice(stack.length - 1, 1)[0];
1856
- },
1857
- length: function () {
1858
- return stack.length;
1859
- }
1860
- };
1861
- }
1862
- };
1863
- })
1864
-
1865
- /**
1866
- * A helper directive for the $modal service. It creates a backdrop element.
1867
- */
1868
- .directive('modalBackdrop', ['$timeout', function ($timeout) {
1869
- return {
1870
- restrict: 'EA',
1871
- replace: true,
1872
- templateUrl: 'template/modal/backdrop.html',
1873
- link: function (scope) {
1874
-
1875
- scope.animate = false;
1876
-
1877
- //trigger CSS transitions
1878
- $timeout(function () {
1879
- scope.animate = true;
1880
- });
1881
- }
1882
- };
1883
- }])
1884
-
1885
- .directive('modalWindow', ['$modalStack', '$timeout', function ($modalStack, $timeout) {
1886
- return {
1887
- restrict: 'EA',
1888
- scope: {
1889
- index: '@',
1890
- animate: '='
1891
- },
1892
- replace: true,
1893
- transclude: true,
1894
- templateUrl: function (tElement, tAttrs) {
1895
- return tAttrs.templateUrl || 'template/modal/window.html';
1896
- },
1897
- link: function (scope, element, attrs) {
1898
- element.addClass(attrs.windowClass || '');
1899
- scope.size = attrs.size;
1900
-
1901
- $timeout(function () {
1902
- // trigger CSS transitions
1903
- scope.animate = true;
1904
- // focus a freshly-opened modal
1905
- element[0].focus();
1906
- });
1907
-
1908
- scope.close = function (evt) {
1909
- var modal = $modalStack.getTop();
1910
- if (modal && modal.value.backdrop && modal.value.backdrop != 'static' && (evt.target === evt.currentTarget)) {
1911
- evt.preventDefault();
1912
- evt.stopPropagation();
1913
- $modalStack.dismiss(modal.key, 'backdrop click');
1914
- }
1915
- };
1916
- }
1917
- };
1918
- }])
1919
-
1920
- .factory('$modalStack', ['$transition', '$timeout', '$document', '$compile', '$rootScope', '$$stackedMap',
1921
- function ($transition, $timeout, $document, $compile, $rootScope, $$stackedMap) {
1922
-
1923
- var OPENED_MODAL_CLASS = 'modal-open';
1924
-
1925
- var backdropDomEl, backdropScope;
1926
- var openedWindows = $$stackedMap.createNew();
1927
- var $modalStack = {};
1928
-
1929
- function backdropIndex() {
1930
- var topBackdropIndex = -1;
1931
- var opened = openedWindows.keys();
1932
- for (var i = 0; i < opened.length; i++) {
1933
- if (openedWindows.get(opened[i]).value.backdrop) {
1934
- topBackdropIndex = i;
1935
- }
1936
- }
1937
- return topBackdropIndex;
1938
- }
1939
-
1940
- $rootScope.$watch(backdropIndex, function (newBackdropIndex) {
1941
- if (backdropScope) {
1942
- backdropScope.index = newBackdropIndex;
1943
- }
1944
- });
1945
-
1946
- function removeModalWindow(modalInstance) {
1947
-
1948
- var body = $document.find('body').eq(0);
1949
- var modalWindow = openedWindows.get(modalInstance).value;
1950
-
1951
- //clean up the stack
1952
- openedWindows.remove(modalInstance);
1953
-
1954
- //remove window DOM element
1955
- removeAfterAnimate(modalWindow.modalDomEl, modalWindow.modalScope, 300, function () {
1956
- modalWindow.modalScope.$destroy();
1957
- body.toggleClass(OPENED_MODAL_CLASS, openedWindows.length() > 0);
1958
- checkRemoveBackdrop();
1959
- });
1960
- }
1961
-
1962
- function checkRemoveBackdrop() {
1963
- //remove backdrop if no longer needed
1964
- if (backdropDomEl && backdropIndex() == -1) {
1965
- var backdropScopeRef = backdropScope;
1966
- removeAfterAnimate(backdropDomEl, backdropScope, 150, function () {
1967
- backdropScopeRef.$destroy();
1968
- backdropScopeRef = null;
1969
- });
1970
- backdropDomEl = undefined;
1971
- backdropScope = undefined;
1972
- }
1973
- }
1974
-
1975
- function removeAfterAnimate(domEl, scope, emulateTime, done) {
1976
- // Closing animation
1977
- scope.animate = false;
1978
-
1979
- var transitionEndEventName = $transition.transitionEndEventName;
1980
- if (transitionEndEventName) {
1981
- // transition out
1982
- var timeout = $timeout(afterAnimating, emulateTime);
1983
-
1984
- domEl.bind(transitionEndEventName, function () {
1985
- $timeout.cancel(timeout);
1986
- afterAnimating();
1987
- scope.$apply();
1988
- });
1989
- } else {
1990
- // Ensure this call is async
1991
- $timeout(afterAnimating, 0);
1992
- }
1993
-
1994
- function afterAnimating() {
1995
- if (afterAnimating.done) {
1996
- return;
1997
- }
1998
- afterAnimating.done = true;
1999
-
2000
- domEl.remove();
2001
- if (done) {
2002
- done();
2003
- }
2004
- }
2005
- }
2006
-
2007
- $document.bind('keydown', function (evt) {
2008
- var modal;
2009
-
2010
- if (evt.which === 27) {
2011
- modal = openedWindows.top();
2012
- if (modal && modal.value.keyboard) {
2013
- evt.preventDefault();
2014
- $rootScope.$apply(function () {
2015
- $modalStack.dismiss(modal.key, 'escape key press');
2016
- });
2017
- }
2018
- }
2019
- });
2020
-
2021
- $modalStack.open = function (modalInstance, modal) {
2022
-
2023
- openedWindows.add(modalInstance, {
2024
- deferred: modal.deferred,
2025
- modalScope: modal.scope,
2026
- backdrop: modal.backdrop,
2027
- keyboard: modal.keyboard
2028
- });
2029
-
2030
- var body = $document.find('body').eq(0),
2031
- currBackdropIndex = backdropIndex();
2032
-
2033
- if (currBackdropIndex >= 0 && !backdropDomEl) {
2034
- backdropScope = $rootScope.$new(true);
2035
- backdropScope.index = currBackdropIndex;
2036
- backdropDomEl = $compile('<div modal-backdrop></div>')(backdropScope);
2037
- body.append(backdropDomEl);
2038
- }
2039
-
2040
- var angularDomEl = angular.element('<div modal-window></div>');
2041
- angularDomEl.attr({
2042
- 'template-url': modal.windowTemplateUrl,
2043
- 'window-class': modal.windowClass,
2044
- 'size': modal.size,
2045
- 'index': openedWindows.length() - 1,
2046
- 'animate': 'animate'
2047
- }).html(modal.content);
2048
-
2049
- var modalDomEl = $compile(angularDomEl)(modal.scope);
2050
- openedWindows.top().value.modalDomEl = modalDomEl;
2051
- body.append(modalDomEl);
2052
- body.addClass(OPENED_MODAL_CLASS);
2053
- };
2054
-
2055
- $modalStack.close = function (modalInstance, result) {
2056
- var modalWindow = openedWindows.get(modalInstance).value;
2057
- if (modalWindow) {
2058
- modalWindow.deferred.resolve(result);
2059
- removeModalWindow(modalInstance);
2060
- }
2061
- };
2062
-
2063
- $modalStack.dismiss = function (modalInstance, reason) {
2064
- var modalWindow = openedWindows.get(modalInstance).value;
2065
- if (modalWindow) {
2066
- modalWindow.deferred.reject(reason);
2067
- removeModalWindow(modalInstance);
2068
- }
2069
- };
2070
-
2071
- $modalStack.dismissAll = function (reason) {
2072
- var topModal = this.getTop();
2073
- while (topModal) {
2074
- this.dismiss(topModal.key, reason);
2075
- topModal = this.getTop();
2076
- }
2077
- };
2078
-
2079
- $modalStack.getTop = function () {
2080
- return openedWindows.top();
2081
- };
2082
-
2083
- return $modalStack;
2084
- }])
2085
-
2086
- .provider('$modal', function () {
2087
-
2088
- var $modalProvider = {
2089
- options: {
2090
- backdrop: true, //can be also false or 'static'
2091
- keyboard: true
2092
- },
2093
- $get: ['$injector', '$rootScope', '$q', '$http', '$templateCache', '$controller', '$modalStack',
2094
- function ($injector, $rootScope, $q, $http, $templateCache, $controller, $modalStack) {
2095
-
2096
- var $modal = {};
2097
-
2098
- function getTemplatePromise(options) {
2099
- return options.template ? $q.when(options.template) :
2100
- $http.get(options.templateUrl, {cache: $templateCache}).then(function (result) {
2101
- return result.data;
2102
- });
2103
- }
2104
-
2105
- function getResolvePromises(resolves) {
2106
- var promisesArr = [];
2107
- angular.forEach(resolves, function (value, key) {
2108
- if (angular.isFunction(value) || angular.isArray(value)) {
2109
- promisesArr.push($q.when($injector.invoke(value)));
2110
- }
2111
- });
2112
- return promisesArr;
2113
- }
2114
-
2115
- $modal.open = function (modalOptions) {
2116
-
2117
- var modalResultDeferred = $q.defer();
2118
- var modalOpenedDeferred = $q.defer();
2119
-
2120
- //prepare an instance of a modal to be injected into controllers and returned to a caller
2121
- var modalInstance = {
2122
- result: modalResultDeferred.promise,
2123
- opened: modalOpenedDeferred.promise,
2124
- close: function (result) {
2125
- $modalStack.close(modalInstance, result);
2126
- },
2127
- dismiss: function (reason) {
2128
- $modalStack.dismiss(modalInstance, reason);
2129
- }
2130
- };
2131
-
2132
- //merge and clean up options
2133
- modalOptions = angular.extend({}, $modalProvider.options, modalOptions);
2134
- modalOptions.resolve = modalOptions.resolve || {};
2135
-
2136
- //verify options
2137
- if (!modalOptions.template && !modalOptions.templateUrl) {
2138
- throw new Error('One of template or templateUrl options is required.');
2139
- }
2140
-
2141
- var templateAndResolvePromise =
2142
- $q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));
2143
-
2144
-
2145
- templateAndResolvePromise.then(function resolveSuccess(tplAndVars) {
2146
-
2147
- var modalScope = (modalOptions.scope || $rootScope).$new();
2148
- modalScope.$close = modalInstance.close;
2149
- modalScope.$dismiss = modalInstance.dismiss;
2150
-
2151
- var ctrlInstance, ctrlLocals = {};
2152
- var resolveIter = 1;
2153
-
2154
- //controllers
2155
- if (modalOptions.controller) {
2156
- ctrlLocals.$scope = modalScope;
2157
- ctrlLocals.$modalInstance = modalInstance;
2158
- angular.forEach(modalOptions.resolve, function (value, key) {
2159
- ctrlLocals[key] = tplAndVars[resolveIter++];
2160
- });
2161
-
2162
- ctrlInstance = $controller(modalOptions.controller, ctrlLocals);
2163
- }
2164
-
2165
- $modalStack.open(modalInstance, {
2166
- scope: modalScope,
2167
- deferred: modalResultDeferred,
2168
- content: tplAndVars[0],
2169
- backdrop: modalOptions.backdrop,
2170
- keyboard: modalOptions.keyboard,
2171
- windowClass: modalOptions.windowClass,
2172
- windowTemplateUrl: modalOptions.windowTemplateUrl,
2173
- size: modalOptions.size
2174
- });
2175
-
2176
- }, function resolveError(reason) {
2177
- modalResultDeferred.reject(reason);
2178
- });
2179
-
2180
- templateAndResolvePromise.then(function () {
2181
- modalOpenedDeferred.resolve(true);
2182
- }, function () {
2183
- modalOpenedDeferred.reject(false);
2184
- });
2185
-
2186
- return modalInstance;
2187
- };
2188
-
2189
- return $modal;
2190
- }]
2191
- };
2192
-
2193
- return $modalProvider;
2194
- });
2195
-
2196
- angular.module('ui.bootstrap.pagination', [])
2197
-
2198
- .controller('PaginationController', ['$scope', '$attrs', '$parse', function ($scope, $attrs, $parse) {
2199
- var self = this,
2200
- ngModelCtrl = {$setViewValue: angular.noop}, // nullModelCtrl
2201
- setNumPages = $attrs.numPages ? $parse($attrs.numPages).assign : angular.noop;
2202
-
2203
- this.init = function (ngModelCtrl_, config) {
2204
- ngModelCtrl = ngModelCtrl_;
2205
- this.config = config;
2206
-
2207
- ngModelCtrl.$render = function () {
2208
- self.render();
2209
- };
2210
-
2211
- if ($attrs.itemsPerPage) {
2212
- $scope.$parent.$watch($parse($attrs.itemsPerPage), function (value) {
2213
- self.itemsPerPage = parseInt(value, 10);
2214
- $scope.totalPages = self.calculateTotalPages();
2215
- });
2216
- } else {
2217
- this.itemsPerPage = config.itemsPerPage;
2218
- }
2219
- };
2220
-
2221
- this.calculateTotalPages = function () {
2222
- var totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil($scope.totalItems / this.itemsPerPage);
2223
- return Math.max(totalPages || 0, 1);
2224
- };
2225
-
2226
- this.render = function () {
2227
- $scope.page = parseInt(ngModelCtrl.$viewValue, 10) || 1;
2228
- };
2229
-
2230
- $scope.selectPage = function (page) {
2231
- if ($scope.page !== page && page > 0 && page <= $scope.totalPages) {
2232
- ngModelCtrl.$setViewValue(page);
2233
- ngModelCtrl.$render();
2234
- }
2235
- };
2236
-
2237
- $scope.getText = function (key) {
2238
- return $scope[key + 'Text'] || self.config[key + 'Text'];
2239
- };
2240
- $scope.noPrevious = function () {
2241
- return $scope.page === 1;
2242
- };
2243
- $scope.noNext = function () {
2244
- return $scope.page === $scope.totalPages;
2245
- };
2246
-
2247
- $scope.$watch('totalItems', function () {
2248
- $scope.totalPages = self.calculateTotalPages();
2249
- });
2250
-
2251
- $scope.$watch('totalPages', function (value) {
2252
- setNumPages($scope.$parent, value); // Readonly variable
2253
-
2254
- if ($scope.page > value) {
2255
- $scope.selectPage(value);
2256
- } else {
2257
- ngModelCtrl.$render();
2258
- }
2259
- });
2260
- }])
2261
-
2262
- .constant('paginationConfig', {
2263
- itemsPerPage: 10,
2264
- boundaryLinks: false,
2265
- directionLinks: true,
2266
- firstText: 'First',
2267
- previousText: 'Previous',
2268
- nextText: 'Next',
2269
- lastText: 'Last',
2270
- rotate: true
2271
- })
2272
-
2273
- .directive('pagination', ['$parse', 'paginationConfig', function ($parse, paginationConfig) {
2274
- return {
2275
- restrict: 'EA',
2276
- scope: {
2277
- totalItems: '=',
2278
- firstText: '@',
2279
- previousText: '@',
2280
- nextText: '@',
2281
- lastText: '@'
2282
- },
2283
- require: ['pagination', '?ngModel'],
2284
- controller: 'PaginationController',
2285
- templateUrl: 'template/pagination/pagination.html',
2286
- replace: true,
2287
- link: function (scope, element, attrs, ctrls) {
2288
- var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2289
-
2290
- if (!ngModelCtrl) {
2291
- return; // do nothing if no ng-model
2292
- }
2293
-
2294
- // Setup configuration parameters
2295
- var maxSize = angular.isDefined(attrs.maxSize) ? scope.$parent.$eval(attrs.maxSize) : paginationConfig.maxSize,
2296
- rotate = angular.isDefined(attrs.rotate) ? scope.$parent.$eval(attrs.rotate) : paginationConfig.rotate;
2297
- scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : paginationConfig.boundaryLinks;
2298
- scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : paginationConfig.directionLinks;
2299
-
2300
- paginationCtrl.init(ngModelCtrl, paginationConfig);
2301
-
2302
- if (attrs.maxSize) {
2303
- scope.$parent.$watch($parse(attrs.maxSize), function (value) {
2304
- maxSize = parseInt(value, 10);
2305
- paginationCtrl.render();
2306
- });
2307
- }
2308
-
2309
- // Create page object used in template
2310
- function makePage(number, text, isActive) {
2311
- return {
2312
- number: number,
2313
- text: text,
2314
- active: isActive
2315
- };
2316
- }
2317
-
2318
- function getPages(currentPage, totalPages) {
2319
- var pages = [];
2320
-
2321
- // Default page limits
2322
- var startPage = 1, endPage = totalPages;
2323
- var isMaxSized = (angular.isDefined(maxSize) && maxSize < totalPages);
2324
-
2325
- // recompute if maxSize
2326
- if (isMaxSized) {
2327
- if (rotate) {
2328
- // Current page is displayed in the middle of the visible ones
2329
- startPage = Math.max(currentPage - Math.floor(maxSize / 2), 1);
2330
- endPage = startPage + maxSize - 1;
2331
-
2332
- // Adjust if limit is exceeded
2333
- if (endPage > totalPages) {
2334
- endPage = totalPages;
2335
- startPage = endPage - maxSize + 1;
2336
- }
2337
- } else {
2338
- // Visible pages are paginated with maxSize
2339
- startPage = ((Math.ceil(currentPage / maxSize) - 1) * maxSize) + 1;
2340
-
2341
- // Adjust last page if limit is exceeded
2342
- endPage = Math.min(startPage + maxSize - 1, totalPages);
2343
- }
2344
- }
2345
-
2346
- // Add page number links
2347
- for (var number = startPage; number <= endPage; number++) {
2348
- var page = makePage(number, number, number === currentPage);
2349
- pages.push(page);
2350
- }
2351
-
2352
- // Add links to move between page sets
2353
- if (isMaxSized && !rotate) {
2354
- if (startPage > 1) {
2355
- var previousPageSet = makePage(startPage - 1, '...', false);
2356
- pages.unshift(previousPageSet);
2357
- }
2358
-
2359
- if (endPage < totalPages) {
2360
- var nextPageSet = makePage(endPage + 1, '...', false);
2361
- pages.push(nextPageSet);
2362
- }
2363
- }
2364
-
2365
- return pages;
2366
- }
2367
-
2368
- var originalRender = paginationCtrl.render;
2369
- paginationCtrl.render = function () {
2370
- originalRender();
2371
- if (scope.page > 0 && scope.page <= scope.totalPages) {
2372
- scope.pages = getPages(scope.page, scope.totalPages);
2373
- }
2374
- };
2375
- }
2376
- };
2377
- }])
2378
-
2379
- .constant('pagerConfig', {
2380
- itemsPerPage: 10,
2381
- previousText: '« Previous',
2382
- nextText: 'Next »',
2383
- align: true
2384
- })
2385
-
2386
- .directive('pager', ['pagerConfig', function (pagerConfig) {
2387
- return {
2388
- restrict: 'EA',
2389
- scope: {
2390
- totalItems: '=',
2391
- previousText: '@',
2392
- nextText: '@'
2393
- },
2394
- require: ['pager', '?ngModel'],
2395
- controller: 'PaginationController',
2396
- templateUrl: 'template/pagination/pager.html',
2397
- replace: true,
2398
- link: function (scope, element, attrs, ctrls) {
2399
- var paginationCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2400
-
2401
- if (!ngModelCtrl) {
2402
- return; // do nothing if no ng-model
2403
- }
2404
-
2405
- scope.align = angular.isDefined(attrs.align) ? scope.$parent.$eval(attrs.align) : pagerConfig.align;
2406
- paginationCtrl.init(ngModelCtrl, pagerConfig);
2407
- }
2408
- };
2409
- }]);
2410
-
2411
- /**
2412
- * The following features are still outstanding: animation as a
2413
- * function, placement as a function, inside, support for more triggers than
2414
- * just mouse enter/leave, html tooltips, and selector delegation.
2415
- */
2416
- angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.bindHtml'])
2417
-
2418
- /**
2419
- * The $tooltip service creates tooltip- and popover-like directives as well as
2420
- * houses global options for them.
2421
- */
2422
- .provider('$tooltip', function () {
2423
- // The default options tooltip and popover.
2424
- var defaultOptions = {
2425
- placement: 'top',
2426
- animation: true,
2427
- popupDelay: 0
2428
- };
2429
-
2430
- // Default hide triggers for each show trigger
2431
- var triggerMap = {
2432
- 'mouseenter': 'mouseleave',
2433
- 'click': 'click',
2434
- 'focus': 'blur'
2435
- };
2436
-
2437
- // The options specified to the provider globally.
2438
- var globalOptions = {};
2439
-
2440
- /**
2441
- * `options({})` allows global configuration of all tooltips in the
2442
- * application.
2443
- *
2444
- * var app = angular.module( 'App', ['ui.bootstrap.tooltip'], function( $tooltipProvider ) {
2445
- * // place tooltips left instead of top by default
2446
- * $tooltipProvider.options( { placement: 'left' } );
2447
- * });
2448
- */
2449
- this.options = function (value) {
2450
- angular.extend(globalOptions, value);
2451
- };
2452
-
2453
- /**
2454
- * This allows you to extend the set of trigger mappings available. E.g.:
2455
- *
2456
- * $tooltipProvider.setTriggers( 'openTrigger': 'closeTrigger' );
2457
- */
2458
- this.setTriggers = function setTriggers(triggers) {
2459
- angular.extend(triggerMap, triggers);
2460
- };
2461
-
2462
- /**
2463
- * This is a helper function for translating camel-case to snake-case.
2464
- */
2465
- function snake_case(name) {
2466
- var regexp = /[A-Z]/g;
2467
- var separator = '-';
2468
- return name.replace(regexp, function (letter, pos) {
2469
- return (pos ? separator : '') + letter.toLowerCase();
2470
- });
2471
- }
2472
-
2473
- /**
2474
- * Returns the actual instance of the $tooltip service.
2475
- * TODO support multiple triggers
2476
- */
2477
- this.$get = ['$window', '$compile', '$timeout', '$parse', '$document', '$position', '$interpolate', function ($window, $compile, $timeout, $parse, $document, $position, $interpolate) {
2478
- return function $tooltip(type, prefix, defaultTriggerShow) {
2479
- var options = angular.extend({}, defaultOptions, globalOptions);
2480
-
2481
- /**
2482
- * Returns an object of show and hide triggers.
2483
- *
2484
- * If a trigger is supplied,
2485
- * it is used to show the tooltip; otherwise, it will use the `trigger`
2486
- * option passed to the `$tooltipProvider.options` method; else it will
2487
- * default to the trigger supplied to this directive factory.
2488
- *
2489
- * The hide trigger is based on the show trigger. If the `trigger` option
2490
- * was passed to the `$tooltipProvider.options` method, it will use the
2491
- * mapped trigger from `triggerMap` or the passed trigger if the map is
2492
- * undefined; otherwise, it uses the `triggerMap` value of the show
2493
- * trigger; else it will just use the show trigger.
2494
- */
2495
- function getTriggers(trigger) {
2496
- var show = trigger || options.trigger || defaultTriggerShow;
2497
- var hide = triggerMap[show] || show;
2498
- return {
2499
- show: show,
2500
- hide: hide
2501
- };
2502
- }
2503
-
2504
- var directiveName = snake_case(type);
2505
-
2506
- var startSym = $interpolate.startSymbol();
2507
- var endSym = $interpolate.endSymbol();
2508
- var template =
2509
- '<div ' + directiveName + '-popup ' +
2510
- 'title="' + startSym + 'tt_title' + endSym + '" ' +
2511
- 'content="' + startSym + 'tt_content' + endSym + '" ' +
2512
- 'placement="' + startSym + 'tt_placement' + endSym + '" ' +
2513
- 'animation="tt_animation" ' +
2514
- 'is-open="tt_isOpen"' +
2515
- '>' +
2516
- '</div>';
2517
-
2518
- return {
2519
- restrict: 'EA',
2520
- scope: true,
2521
- compile: function (tElem, tAttrs) {
2522
- var tooltipLinker = $compile(template);
2523
-
2524
- return function link(scope, element, attrs) {
2525
- var tooltip;
2526
- var transitionTimeout;
2527
- var popupTimeout;
2528
- var appendToBody = angular.isDefined(options.appendToBody) ? options.appendToBody : false;
2529
- var triggers = getTriggers(undefined);
2530
- var hasEnableExp = angular.isDefined(attrs[prefix + 'Enable']);
2531
-
2532
- var positionTooltip = function () {
2533
-
2534
- var ttPosition = $position.positionElements(element, tooltip, scope.tt_placement, appendToBody);
2535
- ttPosition.top += 'px';
2536
- ttPosition.left += 'px';
2537
-
2538
- // Now set the calculated positioning.
2539
- tooltip.css(ttPosition);
2540
- };
2541
-
2542
- // By default, the tooltip is not open.
2543
- // TODO add ability to start tooltip opened
2544
- scope.tt_isOpen = false;
2545
-
2546
- function toggleTooltipBind() {
2547
- if (!scope.tt_isOpen) {
2548
- showTooltipBind();
2549
- } else {
2550
- hideTooltipBind();
2551
- }
2552
- }
2553
-
2554
- // Show the tooltip with delay if specified, otherwise show it immediately
2555
- function showTooltipBind() {
2556
- if (hasEnableExp && !scope.$eval(attrs[prefix + 'Enable'])) {
2557
- return;
2558
- }
2559
- if (scope.tt_popupDelay) {
2560
- // Do nothing if the tooltip was already scheduled to pop-up.
2561
- // This happens if show is triggered multiple times before any hide is triggered.
2562
- if (!popupTimeout) {
2563
- popupTimeout = $timeout(show, scope.tt_popupDelay, false);
2564
- popupTimeout.then(function (reposition) {
2565
- reposition();
2566
- });
2567
- }
2568
- } else {
2569
- show()();
2570
- }
2571
- }
2572
-
2573
- function hideTooltipBind() {
2574
- scope.$apply(function () {
2575
- hide();
2576
- });
2577
- }
2578
-
2579
- // Show the tooltip popup element.
2580
- function show() {
2581
-
2582
- popupTimeout = null;
2583
-
2584
- // If there is a pending remove transition, we must cancel it, lest the
2585
- // tooltip be mysteriously removed.
2586
- if (transitionTimeout) {
2587
- $timeout.cancel(transitionTimeout);
2588
- transitionTimeout = null;
2589
- }
2590
-
2591
- // Don't show empty tooltips.
2592
- if (!scope.tt_content) {
2593
- return angular.noop;
2594
- }
2595
-
2596
- createTooltip();
2597
-
2598
- // Set the initial positioning.
2599
- tooltip.css({top: 0, left: 0, display: 'block'});
2600
-
2601
- // Now we add it to the DOM because need some info about it. But it's not
2602
- // visible yet anyway.
2603
- if (appendToBody) {
2604
- $document.find('body').append(tooltip);
2605
- } else {
2606
- element.after(tooltip);
2607
- }
2608
-
2609
- positionTooltip();
2610
-
2611
- // And show the tooltip.
2612
- scope.tt_isOpen = true;
2613
- scope.$digest(); // digest required as $apply is not called
2614
-
2615
- // Return positioning function as promise callback for correct
2616
- // positioning after draw.
2617
- return positionTooltip;
2618
- }
2619
-
2620
- // Hide the tooltip popup element.
2621
- function hide() {
2622
- // First things first: we don't show it anymore.
2623
- scope.tt_isOpen = false;
2624
-
2625
- //if tooltip is going to be shown after delay, we must cancel this
2626
- $timeout.cancel(popupTimeout);
2627
- popupTimeout = null;
2628
-
2629
- // And now we remove it from the DOM. However, if we have animation, we
2630
- // need to wait for it to expire beforehand.
2631
- // FIXME: this is a placeholder for a port of the transitions library.
2632
- if (scope.tt_animation) {
2633
- if (!transitionTimeout) {
2634
- transitionTimeout = $timeout(removeTooltip, 500);
2635
- }
2636
- } else {
2637
- removeTooltip();
2638
- }
2639
- }
2640
-
2641
- function createTooltip() {
2642
- // There can only be one tooltip element per directive shown at once.
2643
- if (tooltip) {
2644
- removeTooltip();
2645
- }
2646
- tooltip = tooltipLinker(scope, function () {
2647
- });
2648
-
2649
- // Get contents rendered into the tooltip
2650
- scope.$digest();
2651
- }
2652
-
2653
- function removeTooltip() {
2654
- transitionTimeout = null;
2655
- if (tooltip) {
2656
- tooltip.remove();
2657
- tooltip = null;
2658
- }
2659
- }
2660
-
2661
- /**
2662
- * Observe the relevant attributes.
2663
- */
2664
- attrs.$observe(type, function (val) {
2665
- scope.tt_content = val;
2666
-
2667
- if (!val && scope.tt_isOpen) {
2668
- hide();
2669
- }
2670
- });
2671
-
2672
- attrs.$observe(prefix + 'Title', function (val) {
2673
- scope.tt_title = val;
2674
- });
2675
-
2676
- attrs.$observe(prefix + 'Placement', function (val) {
2677
- scope.tt_placement = angular.isDefined(val) ? val : options.placement;
2678
- });
2679
-
2680
- attrs.$observe(prefix + 'PopupDelay', function (val) {
2681
- var delay = parseInt(val, 10);
2682
- scope.tt_popupDelay = !isNaN(delay) ? delay : options.popupDelay;
2683
- });
2684
-
2685
- var unregisterTriggers = function () {
2686
- element.unbind(triggers.show, showTooltipBind);
2687
- element.unbind(triggers.hide, hideTooltipBind);
2688
- };
2689
-
2690
- attrs.$observe(prefix + 'Trigger', function (val) {
2691
- unregisterTriggers();
2692
-
2693
- triggers = getTriggers(val);
2694
-
2695
- if (triggers.show === triggers.hide) {
2696
- element.bind(triggers.show, toggleTooltipBind);
2697
- } else {
2698
- element.bind(triggers.show, showTooltipBind);
2699
- element.bind(triggers.hide, hideTooltipBind);
2700
- }
2701
- });
2702
-
2703
- var animation = scope.$eval(attrs[prefix + 'Animation']);
2704
- scope.tt_animation = angular.isDefined(animation) ? !!animation : options.animation;
2705
-
2706
- attrs.$observe(prefix + 'AppendToBody', function (val) {
2707
- appendToBody = angular.isDefined(val) ? $parse(val)(scope) : appendToBody;
2708
- });
2709
-
2710
- // if a tooltip is attached to <body> we need to remove it on
2711
- // location change as its parent scope will probably not be destroyed
2712
- // by the change.
2713
- if (appendToBody) {
2714
- scope.$on('$locationChangeSuccess', function closeTooltipOnLocationChangeSuccess() {
2715
- if (scope.tt_isOpen) {
2716
- hide();
2717
- }
2718
- });
2719
- }
2720
-
2721
- // Make sure tooltip is destroyed and removed.
2722
- scope.$on('$destroy', function onDestroyTooltip() {
2723
- $timeout.cancel(transitionTimeout);
2724
- $timeout.cancel(popupTimeout);
2725
- unregisterTriggers();
2726
- removeTooltip();
2727
- });
2728
- };
2729
- }
2730
- };
2731
- };
2732
- }];
2733
- })
2734
-
2735
- .directive('tooltipPopup', function () {
2736
- return {
2737
- restrict: 'EA',
2738
- replace: true,
2739
- scope: {content: '@', placement: '@', animation: '&', isOpen: '&'},
2740
- templateUrl: 'template/tooltip/tooltip-popup.html'
2741
- };
2742
- })
2743
-
2744
- .directive('tooltip', ['$tooltip', function ($tooltip) {
2745
- return $tooltip('tooltip', 'tooltip', 'mouseenter');
2746
- }])
2747
-
2748
- .directive('tooltipHtmlUnsafePopup', function () {
2749
- return {
2750
- restrict: 'EA',
2751
- replace: true,
2752
- scope: {content: '@', placement: '@', animation: '&', isOpen: '&'},
2753
- templateUrl: 'template/tooltip/tooltip-html-unsafe-popup.html'
2754
- };
2755
- })
2756
-
2757
- .directive('tooltipHtmlUnsafe', ['$tooltip', function ($tooltip) {
2758
- return $tooltip('tooltipHtmlUnsafe', 'tooltip', 'mouseenter');
2759
- }]);
2760
-
2761
- /**
2762
- * The following features are still outstanding: popup delay, animation as a
2763
- * function, placement as a function, inside, support for more triggers than
2764
- * just mouse enter/leave, html popovers, and selector delegatation.
2765
- */
2766
- angular.module('ui.bootstrap.popover', ['ui.bootstrap.tooltip'])
2767
-
2768
- .directive('popoverPopup', function () {
2769
- return {
2770
- restrict: 'EA',
2771
- replace: true,
2772
- scope: {title: '@', content: '@', placement: '@', animation: '&', isOpen: '&'},
2773
- templateUrl: 'template/popover/popover.html'
2774
- };
2775
- })
2776
-
2777
- .directive('popover', ['$tooltip', function ($tooltip) {
2778
- return $tooltip('popover', 'popover', 'click');
2779
- }]);
2780
-
2781
- angular.module('ui.bootstrap.progressbar', [])
2782
-
2783
- .constant('progressConfig', {
2784
- animate: true,
2785
- max: 100
2786
- })
2787
-
2788
- .controller('ProgressController', ['$scope', '$attrs', 'progressConfig', function ($scope, $attrs, progressConfig) {
2789
- var self = this,
2790
- animate = angular.isDefined($attrs.animate) ? $scope.$parent.$eval($attrs.animate) : progressConfig.animate;
2791
-
2792
- this.bars = [];
2793
- $scope.max = angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : progressConfig.max;
2794
-
2795
- this.addBar = function (bar, element) {
2796
- if (!animate) {
2797
- element.css({'transition': 'none'});
2798
- }
2799
-
2800
- this.bars.push(bar);
2801
-
2802
- bar.$watch('value', function (value) {
2803
- bar.percent = +(100 * value / $scope.max).toFixed(2);
2804
- });
2805
-
2806
- bar.$on('$destroy', function () {
2807
- element = null;
2808
- self.removeBar(bar);
2809
- });
2810
- };
2811
-
2812
- this.removeBar = function (bar) {
2813
- this.bars.splice(this.bars.indexOf(bar), 1);
2814
- };
2815
- }])
2816
-
2817
- .directive('progress', function () {
2818
- return {
2819
- restrict: 'EA',
2820
- replace: true,
2821
- transclude: true,
2822
- controller: 'ProgressController',
2823
- require: 'progress',
2824
- scope: {},
2825
- templateUrl: 'template/progressbar/progress.html'
2826
- };
2827
- })
2828
-
2829
- .directive('bar', function () {
2830
- return {
2831
- restrict: 'EA',
2832
- replace: true,
2833
- transclude: true,
2834
- require: '^progress',
2835
- scope: {
2836
- value: '=',
2837
- type: '@'
2838
- },
2839
- templateUrl: 'template/progressbar/bar.html',
2840
- link: function (scope, element, attrs, progressCtrl) {
2841
- progressCtrl.addBar(scope, element);
2842
- }
2843
- };
2844
- })
2845
-
2846
- .directive('progressbar', function () {
2847
- return {
2848
- restrict: 'EA',
2849
- replace: true,
2850
- transclude: true,
2851
- controller: 'ProgressController',
2852
- scope: {
2853
- value: '=',
2854
- type: '@'
2855
- },
2856
- templateUrl: 'template/progressbar/progressbar.html',
2857
- link: function (scope, element, attrs, progressCtrl) {
2858
- progressCtrl.addBar(scope, angular.element(element.children()[0]));
2859
- }
2860
- };
2861
- });
2862
- angular.module('ui.bootstrap.rating', [])
2863
-
2864
- .constant('ratingConfig', {
2865
- max: 5,
2866
- stateOn: null,
2867
- stateOff: null
2868
- })
2869
-
2870
- .controller('RatingController', ['$scope', '$attrs', 'ratingConfig', function ($scope, $attrs, ratingConfig) {
2871
- var ngModelCtrl = {$setViewValue: angular.noop};
2872
-
2873
- this.init = function (ngModelCtrl_) {
2874
- ngModelCtrl = ngModelCtrl_;
2875
- ngModelCtrl.$render = this.render;
2876
-
2877
- this.stateOn = angular.isDefined($attrs.stateOn) ? $scope.$parent.$eval($attrs.stateOn) : ratingConfig.stateOn;
2878
- this.stateOff = angular.isDefined($attrs.stateOff) ? $scope.$parent.$eval($attrs.stateOff) : ratingConfig.stateOff;
2879
-
2880
- var ratingStates = angular.isDefined($attrs.ratingStates) ? $scope.$parent.$eval($attrs.ratingStates) :
2881
- new Array(angular.isDefined($attrs.max) ? $scope.$parent.$eval($attrs.max) : ratingConfig.max);
2882
- $scope.range = this.buildTemplateObjects(ratingStates);
2883
- };
2884
-
2885
- this.buildTemplateObjects = function (states) {
2886
- for (var i = 0, n = states.length; i < n; i++) {
2887
- states[i] = angular.extend({index: i}, {stateOn: this.stateOn, stateOff: this.stateOff}, states[i]);
2888
- }
2889
- return states;
2890
- };
2891
-
2892
- $scope.rate = function (value) {
2893
- if (!$scope.readonly && value >= 0 && value <= $scope.range.length) {
2894
- ngModelCtrl.$setViewValue(value);
2895
- ngModelCtrl.$render();
2896
- }
2897
- };
2898
-
2899
- $scope.enter = function (value) {
2900
- if (!$scope.readonly) {
2901
- $scope.value = value;
2902
- }
2903
- $scope.onHover({value: value});
2904
- };
2905
-
2906
- $scope.reset = function () {
2907
- $scope.value = ngModelCtrl.$viewValue;
2908
- $scope.onLeave();
2909
- };
2910
-
2911
- $scope.onKeydown = function (evt) {
2912
- if (/(37|38|39|40)/.test(evt.which)) {
2913
- evt.preventDefault();
2914
- evt.stopPropagation();
2915
- $scope.rate($scope.value + (evt.which === 38 || evt.which === 39 ? 1 : -1));
2916
- }
2917
- };
2918
-
2919
- this.render = function () {
2920
- $scope.value = ngModelCtrl.$viewValue;
2921
- };
2922
- }])
2923
-
2924
- .directive('rating', function () {
2925
- return {
2926
- restrict: 'EA',
2927
- require: ['rating', 'ngModel'],
2928
- scope: {
2929
- readonly: '=?',
2930
- onHover: '&',
2931
- onLeave: '&'
2932
- },
2933
- controller: 'RatingController',
2934
- templateUrl: 'template/rating/rating.html',
2935
- replace: true,
2936
- link: function (scope, element, attrs, ctrls) {
2937
- var ratingCtrl = ctrls[0], ngModelCtrl = ctrls[1];
2938
-
2939
- if (ngModelCtrl) {
2940
- ratingCtrl.init(ngModelCtrl);
2941
- }
2942
- }
2943
- };
2944
- });
2945
-
2946
- /**
2947
- * @ngdoc overview
2948
- * @name ui.bootstrap.tabs
2949
- *
2950
- * @description
2951
- * AngularJS version of the tabs directive.
2952
- */
2953
-
2954
- angular.module('ui.bootstrap.tabs', [])
2955
-
2956
- .controller('TabsetController', ['$scope', function TabsetCtrl($scope) {
2957
- var ctrl = this,
2958
- tabs = ctrl.tabs = $scope.tabs = [];
2959
-
2960
- ctrl.select = function (selectedTab) {
2961
- angular.forEach(tabs, function (tab) {
2962
- if (tab.active && tab !== selectedTab) {
2963
- tab.active = false;
2964
- tab.onDeselect();
2965
- }
2966
- });
2967
- selectedTab.active = true;
2968
- selectedTab.onSelect();
2969
- };
2970
-
2971
- ctrl.addTab = function addTab(tab) {
2972
- tabs.push(tab);
2973
- // we can't run the select function on the first tab
2974
- // since that would select it twice
2975
- if (tabs.length === 1) {
2976
- tab.active = true;
2977
- } else if (tab.active) {
2978
- ctrl.select(tab);
2979
- }
2980
- };
2981
-
2982
- ctrl.removeTab = function removeTab(tab) {
2983
- var index = tabs.indexOf(tab);
2984
- //Select a new tab if the tab to be removed is selected
2985
- if (tab.active && tabs.length > 1) {
2986
- //If this is the last tab, select the previous tab. else, the next tab.
2987
- var newActiveIndex = index == tabs.length - 1 ? index - 1 : index + 1;
2988
- ctrl.select(tabs[newActiveIndex]);
2989
- }
2990
- tabs.splice(index, 1);
2991
- };
2992
- }])
2993
-
2994
- /**
2995
- * @ngdoc directive
2996
- * @name ui.bootstrap.tabs.directive:tabset
2997
- * @restrict EA
2998
- *
2999
- * @description
3000
- * Tabset is the outer container for the tabs directive
3001
- *
3002
- * @param {boolean=} vertical Whether or not to use vertical styling for the tabs.
3003
- * @param {boolean=} justified Whether or not to use justified styling for the tabs.
3004
- *
3005
- * @example
3006
- <example module="ui.bootstrap">
3007
- <file name="index.html">
3008
- <tabset>
3009
- <tab heading="Tab 1"><b>First</b> Content!</tab>
3010
- <tab heading="Tab 2"><i>Second</i> Content!</tab>
3011
- </tabset>
3012
- <hr />
3013
- <tabset vertical="true">
3014
- <tab heading="Vertical Tab 1"><b>First</b> Vertical Content!</tab>
3015
- <tab heading="Vertical Tab 2"><i>Second</i> Vertical Content!</tab>
3016
- </tabset>
3017
- <tabset justified="true">
3018
- <tab heading="Justified Tab 1"><b>First</b> Justified Content!</tab>
3019
- <tab heading="Justified Tab 2"><i>Second</i> Justified Content!</tab>
3020
- </tabset>
3021
- </file>
3022
- </example>
3023
- */
3024
- .directive('tabset', function () {
3025
- return {
3026
- restrict: 'EA',
3027
- transclude: true,
3028
- replace: true,
3029
- scope: {
3030
- type: '@'
3031
- },
3032
- controller: 'TabsetController',
3033
- templateUrl: 'template/tabs/tabset.html',
3034
- link: function (scope, element, attrs) {
3035
- scope.vertical = angular.isDefined(attrs.vertical) ? scope.$parent.$eval(attrs.vertical) : false;
3036
- scope.justified = angular.isDefined(attrs.justified) ? scope.$parent.$eval(attrs.justified) : false;
3037
- }
3038
- };
3039
- })
3040
-
3041
- /**
3042
- * @ngdoc directive
3043
- * @name ui.bootstrap.tabs.directive:tab
3044
- * @restrict EA
3045
- *
3046
- * @param {string=} heading The visible heading, or title, of the tab. Set HTML headings with {@link ui.bootstrap.tabs.directive:tabHeading tabHeading}.
3047
- * @param {string=} select An expression to evaluate when the tab is selected.
3048
- * @param {boolean=} active A binding, telling whether or not this tab is selected.
3049
- * @param {boolean=} disabled A binding, telling whether or not this tab is disabled.
3050
- *
3051
- * @description
3052
- * Creates a tab with a heading and content. Must be placed within a {@link ui.bootstrap.tabs.directive:tabset tabset}.
3053
- *
3054
- * @example
3055
- <example module="ui.bootstrap">
3056
- <file name="index.html">
3057
- <div ng-controller="TabsDemoCtrl">
3058
- <button class="btn btn-small" ng-click="items[0].active = true">
3059
- Select item 1, using active binding
3060
- </button>
3061
- <button class="btn btn-small" ng-click="items[1].disabled = !items[1].disabled">
3062
- Enable/disable item 2, using disabled binding
3063
- </button>
3064
- <br />
3065
- <tabset>
3066
- <tab heading="Tab 1">First Tab</tab>
3067
- <tab select="alertMe()">
3068
- <tab-heading><i class="icon-bell"></i> Alert me!</tab-heading>
3069
- Second Tab, with alert callback and html heading!
3070
- </tab>
3071
- <tab ng-repeat="item in items"
3072
- heading="{{item.title}}"
3073
- disabled="item.disabled"
3074
- active="item.active">
3075
- {{item.content}}
3076
- </tab>
3077
- </tabset>
3078
- </div>
3079
- </file>
3080
- <file name="script.js">
3081
- function TabsDemoCtrl($scope) {
3082
- $scope.items = [
3083
- { title:"Dynamic Title 1", content:"Dynamic Item 0" },
3084
- { title:"Dynamic Title 2", content:"Dynamic Item 1", disabled: true }
3085
- ];
3086
-
3087
- $scope.alertMe = function() {
3088
- setTimeout(function() {
3089
- alert("You've selected the alert tab!");
3090
- });
3091
- };
3092
- };
3093
- </file>
3094
- </example>
3095
- */
3096
-
3097
- /**
3098
- * @ngdoc directive
3099
- * @name ui.bootstrap.tabs.directive:tabHeading
3100
- * @restrict EA
3101
- *
3102
- * @description
3103
- * Creates an HTML heading for a {@link ui.bootstrap.tabs.directive:tab tab}. Must be placed as a child of a tab element.
3104
- *
3105
- * @example
3106
- <example module="ui.bootstrap">
3107
- <file name="index.html">
3108
- <tabset>
3109
- <tab>
3110
- <tab-heading><b>HTML</b> in my titles?!</tab-heading>
3111
- And some content, too!
3112
- </tab>
3113
- <tab>
3114
- <tab-heading><i class="icon-heart"></i> Icon heading?!?</tab-heading>
3115
- That's right.
3116
- </tab>
3117
- </tabset>
3118
- </file>
3119
- </example>
3120
- */
3121
- .directive('tab', ['$parse', function ($parse) {
3122
- return {
3123
- require: '^tabset',
3124
- restrict: 'EA',
3125
- replace: true,
3126
- templateUrl: 'template/tabs/tab.html',
3127
- transclude: true,
3128
- scope: {
3129
- active: '=?',
3130
- heading: '@',
3131
- onSelect: '&select', //This callback is called in contentHeadingTransclude
3132
- //once it inserts the tab's content into the dom
3133
- onDeselect: '&deselect'
3134
- },
3135
- controller: function () {
3136
- //Empty controller so other directives can require being 'under' a tab
3137
- },
3138
- compile: function (elm, attrs, transclude) {
3139
- return function postLink(scope, elm, attrs, tabsetCtrl) {
3140
- scope.$watch('active', function (active) {
3141
- if (active) {
3142
- tabsetCtrl.select(scope);
3143
- }
3144
- });
3145
-
3146
- scope.disabled = false;
3147
- if (attrs.disabled) {
3148
- scope.$parent.$watch($parse(attrs.disabled), function (value) {
3149
- scope.disabled = !!value;
3150
- });
3151
- }
3152
-
3153
- scope.select = function () {
3154
- if (!scope.disabled) {
3155
- scope.active = true;
3156
- }
3157
- };
3158
-
3159
- tabsetCtrl.addTab(scope);
3160
- scope.$on('$destroy', function () {
3161
- tabsetCtrl.removeTab(scope);
3162
- });
3163
-
3164
- //We need to transclude later, once the content container is ready.
3165
- //when this link happens, we're inside a tab heading.
3166
- scope.$transcludeFn = transclude;
3167
- };
3168
- }
3169
- };
3170
- }])
3171
-
3172
- .directive('tabHeadingTransclude', [function () {
3173
- return {
3174
- restrict: 'A',
3175
- require: '^tab',
3176
- link: function (scope, elm, attrs, tabCtrl) {
3177
- scope.$watch('headingElement', function updateHeadingElement(heading) {
3178
- if (heading) {
3179
- elm.html('');
3180
- elm.append(heading);
3181
- }
3182
- });
3183
- }
3184
- };
3185
- }])
3186
-
3187
- .directive('tabContentTransclude', function () {
3188
- return {
3189
- restrict: 'A',
3190
- require: '^tabset',
3191
- link: function (scope, elm, attrs) {
3192
- var tab = scope.$eval(attrs.tabContentTransclude);
3193
-
3194
- //Now our tab is ready to be transcluded: both the tab heading area
3195
- //and the tab content area are loaded. Transclude 'em both.
3196
- tab.$transcludeFn(tab.$parent, function (contents) {
3197
- angular.forEach(contents, function (node) {
3198
- if (isTabHeading(node)) {
3199
- //Let tabHeadingTransclude know.
3200
- tab.headingElement = node;
3201
- } else {
3202
- elm.append(node);
3203
- }
3204
- });
3205
- });
3206
- }
3207
- };
3208
-
3209
- function isTabHeading(node) {
3210
- return node.tagName && (
3211
- node.hasAttribute('tab-heading') ||
3212
- node.hasAttribute('data-tab-heading') ||
3213
- node.tagName.toLowerCase() === 'tab-heading' ||
3214
- node.tagName.toLowerCase() === 'data-tab-heading'
3215
- );
3216
- }
3217
- })
3218
-
3219
- ;
3220
-
3221
- angular.module('ui.bootstrap.timepicker', [])
3222
-
3223
- .constant('timepickerConfig', {
3224
- hourStep: 1,
3225
- minuteStep: 1,
3226
- showMeridian: true,
3227
- meridians: null,
3228
- readonlyInput: false,
3229
- mousewheel: true
3230
- })
3231
-
3232
- .controller('TimepickerController', ['$scope', '$attrs', '$parse', '$log', '$locale', 'timepickerConfig', function ($scope, $attrs, $parse, $log, $locale, timepickerConfig) {
3233
- var selected = new Date(),
3234
- ngModelCtrl = {$setViewValue: angular.noop}, // nullModelCtrl
3235
- meridians = angular.isDefined($attrs.meridians) ? $scope.$parent.$eval($attrs.meridians) : timepickerConfig.meridians || $locale.DATETIME_FORMATS.AMPMS;
3236
-
3237
- this.init = function (ngModelCtrl_, inputs) {
3238
- ngModelCtrl = ngModelCtrl_;
3239
- ngModelCtrl.$render = this.render;
3240
-
3241
- var hoursInputEl = inputs.eq(0),
3242
- minutesInputEl = inputs.eq(1);
3243
-
3244
- var mousewheel = angular.isDefined($attrs.mousewheel) ? $scope.$parent.$eval($attrs.mousewheel) : timepickerConfig.mousewheel;
3245
- if (mousewheel) {
3246
- this.setupMousewheelEvents(hoursInputEl, minutesInputEl);
3247
- }
3248
-
3249
- $scope.readonlyInput = angular.isDefined($attrs.readonlyInput) ? $scope.$parent.$eval($attrs.readonlyInput) : timepickerConfig.readonlyInput;
3250
- this.setupInputEvents(hoursInputEl, minutesInputEl);
3251
- };
3252
-
3253
- var hourStep = timepickerConfig.hourStep;
3254
- if ($attrs.hourStep) {
3255
- $scope.$parent.$watch($parse($attrs.hourStep), function (value) {
3256
- hourStep = parseInt(value, 10);
3257
- });
3258
- }
3259
-
3260
- var minuteStep = timepickerConfig.minuteStep;
3261
- if ($attrs.minuteStep) {
3262
- $scope.$parent.$watch($parse($attrs.minuteStep), function (value) {
3263
- minuteStep = parseInt(value, 10);
3264
- });
3265
- }
3266
-
3267
- // 12H / 24H mode
3268
- $scope.showMeridian = timepickerConfig.showMeridian;
3269
- if ($attrs.showMeridian) {
3270
- $scope.$parent.$watch($parse($attrs.showMeridian), function (value) {
3271
- $scope.showMeridian = !!value;
3272
-
3273
- if (ngModelCtrl.$error.time) {
3274
- // Evaluate from template
3275
- var hours = getHoursFromTemplate(), minutes = getMinutesFromTemplate();
3276
- if (angular.isDefined(hours) && angular.isDefined(minutes)) {
3277
- selected.setHours(hours);
3278
- refresh();
3279
- }
3280
- } else {
3281
- updateTemplate();
3282
- }
3283
- });
3284
- }
3285
-
3286
- // Get $scope.hours in 24H mode if valid
3287
- function getHoursFromTemplate() {
3288
- var hours = parseInt($scope.hours, 10);
3289
- var valid = ($scope.showMeridian) ? (hours > 0 && hours < 13) : (hours >= 0 && hours < 24);
3290
- if (!valid) {
3291
- return undefined;
3292
- }
3293
-
3294
- if ($scope.showMeridian) {
3295
- if (hours === 12) {
3296
- hours = 0;
3297
- }
3298
- if ($scope.meridian === meridians[1]) {
3299
- hours = hours + 12;
3300
- }
3301
- }
3302
- return hours;
3303
- }
3304
-
3305
- function getMinutesFromTemplate() {
3306
- var minutes = parseInt($scope.minutes, 10);
3307
- return (minutes >= 0 && minutes < 60) ? minutes : undefined;
3308
- }
3309
-
3310
- function pad(value) {
3311
- return (angular.isDefined(value) && value.toString().length < 2) ? '0' + value : value;
3312
- }
3313
-
3314
- // Respond on mousewheel spin
3315
- this.setupMousewheelEvents = function (hoursInputEl, minutesInputEl) {
3316
- var isScrollingUp = function (e) {
3317
- if (e.originalEvent) {
3318
- e = e.originalEvent;
3319
- }
3320
- //pick correct delta variable depending on event
3321
- var delta = (e.wheelDelta) ? e.wheelDelta : -e.deltaY;
3322
- return (e.detail || delta > 0);
3323
- };
3324
-
3325
- hoursInputEl.bind('mousewheel wheel', function (e) {
3326
- $scope.$apply((isScrollingUp(e)) ? $scope.incrementHours() : $scope.decrementHours());
3327
- e.preventDefault();
3328
- });
3329
-
3330
- minutesInputEl.bind('mousewheel wheel', function (e) {
3331
- $scope.$apply((isScrollingUp(e)) ? $scope.incrementMinutes() : $scope.decrementMinutes());
3332
- e.preventDefault();
3333
- });
3334
-
3335
- };
3336
-
3337
- this.setupInputEvents = function (hoursInputEl, minutesInputEl) {
3338
- if ($scope.readonlyInput) {
3339
- $scope.updateHours = angular.noop;
3340
- $scope.updateMinutes = angular.noop;
3341
- return;
3342
- }
3343
-
3344
- var invalidate = function (invalidHours, invalidMinutes) {
3345
- ngModelCtrl.$setViewValue(null);
3346
- ngModelCtrl.$setValidity('time', false);
3347
- if (angular.isDefined(invalidHours)) {
3348
- $scope.invalidHours = invalidHours;
3349
- }
3350
- if (angular.isDefined(invalidMinutes)) {
3351
- $scope.invalidMinutes = invalidMinutes;
3352
- }
3353
- };
3354
-
3355
- $scope.updateHours = function () {
3356
- var hours = getHoursFromTemplate();
3357
-
3358
- if (angular.isDefined(hours)) {
3359
- selected.setHours(hours);
3360
- refresh('h');
3361
- } else {
3362
- invalidate(true);
3363
- }
3364
- };
3365
-
3366
- hoursInputEl.bind('blur', function (e) {
3367
- if (!$scope.invalidHours && $scope.hours < 10) {
3368
- $scope.$apply(function () {
3369
- $scope.hours = pad($scope.hours);
3370
- });
3371
- }
3372
- });
3373
-
3374
- $scope.updateMinutes = function () {
3375
- var minutes = getMinutesFromTemplate();
3376
-
3377
- if (angular.isDefined(minutes)) {
3378
- selected.setMinutes(minutes);
3379
- refresh('m');
3380
- } else {
3381
- invalidate(undefined, true);
3382
- }
3383
- };
3384
-
3385
- minutesInputEl.bind('blur', function (e) {
3386
- if (!$scope.invalidMinutes && $scope.minutes < 10) {
3387
- $scope.$apply(function () {
3388
- $scope.minutes = pad($scope.minutes);
3389
- });
3390
- }
3391
- });
3392
-
3393
- };
3394
-
3395
- this.render = function () {
3396
- var date = ngModelCtrl.$modelValue ? new Date(ngModelCtrl.$modelValue) : null;
3397
-
3398
- if (isNaN(date)) {
3399
- ngModelCtrl.$setValidity('time', false);
3400
- $log.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');
3401
- } else {
3402
- if (date) {
3403
- selected = date;
3404
- }
3405
- makeValid();
3406
- updateTemplate();
3407
- }
3408
- };
3409
-
3410
- // Call internally when we know that model is valid.
3411
- function refresh(keyboardChange) {
3412
- makeValid();
3413
- ngModelCtrl.$setViewValue(new Date(selected));
3414
- updateTemplate(keyboardChange);
3415
- }
3416
-
3417
- function makeValid() {
3418
- ngModelCtrl.$setValidity('time', true);
3419
- $scope.invalidHours = false;
3420
- $scope.invalidMinutes = false;
3421
- }
3422
-
3423
- function updateTemplate(keyboardChange) {
3424
- var hours = selected.getHours(), minutes = selected.getMinutes();
3425
-
3426
- if ($scope.showMeridian) {
3427
- hours = (hours === 0 || hours === 12) ? 12 : hours % 12; // Convert 24 to 12 hour system
3428
- }
3429
-
3430
- $scope.hours = keyboardChange === 'h' ? hours : pad(hours);
3431
- $scope.minutes = keyboardChange === 'm' ? minutes : pad(minutes);
3432
- $scope.meridian = selected.getHours() < 12 ? meridians[0] : meridians[1];
3433
- }
3434
-
3435
- function addMinutes(minutes) {
3436
- var dt = new Date(selected.getTime() + minutes * 60000);
3437
- selected.setHours(dt.getHours(), dt.getMinutes());
3438
- refresh();
3439
- }
3440
-
3441
- $scope.incrementHours = function () {
3442
- addMinutes(hourStep * 60);
3443
- };
3444
- $scope.decrementHours = function () {
3445
- addMinutes(-hourStep * 60);
3446
- };
3447
- $scope.incrementMinutes = function () {
3448
- addMinutes(minuteStep);
3449
- };
3450
- $scope.decrementMinutes = function () {
3451
- addMinutes(-minuteStep);
3452
- };
3453
- $scope.toggleMeridian = function () {
3454
- addMinutes(12 * 60 * ((selected.getHours() < 12) ? 1 : -1));
3455
- };
3456
- }])
3457
-
3458
- .directive('timepicker', function () {
3459
- return {
3460
- restrict: 'EA',
3461
- require: ['timepicker', '?^ngModel'],
3462
- controller: 'TimepickerController',
3463
- replace: true,
3464
- scope: {},
3465
- templateUrl: 'template/timepicker/timepicker.html',
3466
- link: function (scope, element, attrs, ctrls) {
3467
- var timepickerCtrl = ctrls[0], ngModelCtrl = ctrls[1];
3468
-
3469
- if (ngModelCtrl) {
3470
- timepickerCtrl.init(ngModelCtrl, element.find('input'));
3471
- }
3472
- }
3473
- };
3474
- });
3475
-
3476
- angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.position', 'ui.bootstrap.bindHtml'])
3477
-
3478
- /**
3479
- * A helper service that can parse typeahead's syntax (string provided by users)
3480
- * Extracted to a separate service for ease of unit testing
3481
- */
3482
- .factory('typeaheadParser', ['$parse', function ($parse) {
3483
-
3484
- // 00000111000000000000022200000000000000003333333333333330000000000044000
3485
- var TYPEAHEAD_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;
3486
-
3487
- return {
3488
- parse: function (input) {
3489
-
3490
- var match = input.match(TYPEAHEAD_REGEXP);
3491
- if (!match) {
3492
- throw new Error(
3493
- 'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_"' +
3494
- ' but got "' + input + '".');
3495
- }
3496
-
3497
- return {
3498
- itemName: match[3],
3499
- source: $parse(match[4]),
3500
- viewMapper: $parse(match[2] || match[1]),
3501
- modelMapper: $parse(match[1])
3502
- };
3503
- }
3504
- };
3505
- }])
3506
-
3507
- .directive('typeahead', ['$compile', '$parse', '$q', '$timeout', '$document', '$position', 'typeaheadParser',
3508
- function ($compile, $parse, $q, $timeout, $document, $position, typeaheadParser) {
3509
-
3510
- var HOT_KEYS = [9, 13, 27, 38, 40];
3511
-
3512
- return {
3513
- require: 'ngModel',
3514
- link: function (originalScope, element, attrs, modelCtrl) {
3515
-
3516
- //SUPPORTED ATTRIBUTES (OPTIONS)
3517
-
3518
- //minimal no of characters that needs to be entered before typeahead kicks-in
3519
- var minSearch = originalScope.$eval(attrs.typeaheadMinLength) || 1;
3520
-
3521
- //minimal wait time after last character typed before typehead kicks-in
3522
- var waitTime = originalScope.$eval(attrs.typeaheadWaitMs) || 0;
3523
-
3524
- //should it restrict model values to the ones selected from the popup only?
3525
- var isEditable = originalScope.$eval(attrs.typeaheadEditable) !== false;
3526
-
3527
- //binding to a variable that indicates if matches are being retrieved asynchronously
3528
- var isLoadingSetter = $parse(attrs.typeaheadLoading).assign || angular.noop;
3529
-
3530
- //a callback executed when a match is selected
3531
- var onSelectCallback = $parse(attrs.typeaheadOnSelect);
3532
-
3533
- var inputFormatter = attrs.typeaheadInputFormatter ? $parse(attrs.typeaheadInputFormatter) : undefined;
3534
-
3535
- var appendToBody = attrs.typeaheadAppendToBody ? originalScope.$eval(attrs.typeaheadAppendToBody) : false;
3536
-
3537
- //INTERNAL VARIABLES
3538
-
3539
- //model setter executed upon match selection
3540
- var $setModelValue = $parse(attrs.ngModel).assign;
3541
-
3542
- //expressions used by typeahead
3543
- var parserResult = typeaheadParser.parse(attrs.typeahead);
3544
-
3545
- var hasFocus;
3546
-
3547
- //create a child scope for the typeahead directive so we are not polluting original scope
3548
- //with typeahead-specific data (matches, query etc.)
3549
- var scope = originalScope.$new();
3550
- originalScope.$on('$destroy', function () {
3551
- scope.$destroy();
3552
- });
3553
-
3554
- // WAI-ARIA
3555
- var popupId = 'typeahead-' + scope.$id + '-' + Math.floor(Math.random() * 10000);
3556
- element.attr({
3557
- 'aria-autocomplete': 'list',
3558
- 'aria-expanded': false,
3559
- 'aria-owns': popupId
3560
- });
3561
-
3562
- //pop-up element used to display matches
3563
- var popUpEl = angular.element('<div typeahead-popup></div>');
3564
- popUpEl.attr({
3565
- id: popupId,
3566
- matches: 'matches',
3567
- active: 'activeIdx',
3568
- select: 'select(activeIdx)',
3569
- query: 'query',
3570
- position: 'position'
3571
- });
3572
- //custom item template
3573
- if (angular.isDefined(attrs.typeaheadTemplateUrl)) {
3574
- popUpEl.attr('template-url', attrs.typeaheadTemplateUrl);
3575
- }
3576
-
3577
- var resetMatches = function () {
3578
- scope.matches = [];
3579
- scope.activeIdx = -1;
3580
- element.attr('aria-expanded', false);
3581
- };
3582
-
3583
- var getMatchId = function (index) {
3584
- return popupId + '-option-' + index;
3585
- };
3586
-
3587
- // Indicate that the specified match is the active (pre-selected) item in the list owned by this typeahead.
3588
- // This attribute is added or removed automatically when the `activeIdx` changes.
3589
- scope.$watch('activeIdx', function (index) {
3590
- if (index < 0) {
3591
- element.removeAttr('aria-activedescendant');
3592
- } else {
3593
- element.attr('aria-activedescendant', getMatchId(index));
3594
- }
3595
- });
3596
-
3597
- var getMatchesAsync = function (inputValue) {
3598
-
3599
- var locals = {$viewValue: inputValue};
3600
- isLoadingSetter(originalScope, true);
3601
- $q.when(parserResult.source(originalScope, locals)).then(function (matches) {
3602
-
3603
- //it might happen that several async queries were in progress if a user were typing fast
3604
- //but we are interested only in responses that correspond to the current view value
3605
- var onCurrentRequest = (inputValue === modelCtrl.$viewValue);
3606
- if (onCurrentRequest && hasFocus) {
3607
- if (matches.length > 0) {
3608
-
3609
- scope.activeIdx = 0;
3610
- scope.matches.length = 0;
3611
-
3612
- //transform labels
3613
- for (var i = 0; i < matches.length; i++) {
3614
- locals[parserResult.itemName] = matches[i];
3615
- scope.matches.push({
3616
- id: getMatchId(i),
3617
- label: parserResult.viewMapper(scope, locals),
3618
- model: matches[i]
3619
- });
3620
- }
3621
-
3622
- scope.query = inputValue;
3623
- //position pop-up with matches - we need to re-calculate its position each time we are opening a window
3624
- //with matches as a pop-up might be absolute-positioned and position of an input might have changed on a page
3625
- //due to other elements being rendered
3626
- scope.position = appendToBody ? $position.offset(element) : $position.position(element);
3627
- scope.position.top = scope.position.top + element.prop('offsetHeight');
3628
-
3629
- element.attr('aria-expanded', true);
3630
- } else {
3631
- resetMatches();
3632
- }
3633
- }
3634
- if (onCurrentRequest) {
3635
- isLoadingSetter(originalScope, false);
3636
- }
3637
- }, function () {
3638
- resetMatches();
3639
- isLoadingSetter(originalScope, false);
3640
- });
3641
- };
3642
-
3643
- resetMatches();
3644
-
3645
- //we need to propagate user's query so we can higlight matches
3646
- scope.query = undefined;
3647
-
3648
- //Declare the timeout promise var outside the function scope so that stacked calls can be cancelled later
3649
- var timeoutPromise;
3650
-
3651
- //plug into $parsers pipeline to open a typeahead on view changes initiated from DOM
3652
- //$parsers kick-in on all the changes coming from the view as well as manually triggered by $setViewValue
3653
- modelCtrl.$parsers.unshift(function (inputValue) {
3654
-
3655
- hasFocus = true;
3656
-
3657
- if (inputValue && inputValue.length >= minSearch) {
3658
- if (waitTime > 0) {
3659
- if (timeoutPromise) {
3660
- $timeout.cancel(timeoutPromise);//cancel previous timeout
3661
- }
3662
- timeoutPromise = $timeout(function () {
3663
- getMatchesAsync(inputValue);
3664
- }, waitTime);
3665
- } else {
3666
- getMatchesAsync(inputValue);
3667
- }
3668
- } else {
3669
- isLoadingSetter(originalScope, false);
3670
- resetMatches();
3671
- }
3672
-
3673
- if (isEditable) {
3674
- return inputValue;
3675
- } else {
3676
- if (!inputValue) {
3677
- // Reset in case user had typed something previously.
3678
- modelCtrl.$setValidity('editable', true);
3679
- return inputValue;
3680
- } else {
3681
- modelCtrl.$setValidity('editable', false);
3682
- return undefined;
3683
- }
3684
- }
3685
- });
3686
-
3687
- modelCtrl.$formatters.push(function (modelValue) {
3688
-
3689
- var candidateViewValue, emptyViewValue;
3690
- var locals = {};
3691
-
3692
- if (inputFormatter) {
3693
-
3694
- locals['$model'] = modelValue;
3695
- return inputFormatter(originalScope, locals);
3696
-
3697
- } else {
3698
-
3699
- //it might happen that we don't have enough info to properly render input value
3700
- //we need to check for this situation and simply return model value if we can't apply custom formatting
3701
- locals[parserResult.itemName] = modelValue;
3702
- candidateViewValue = parserResult.viewMapper(originalScope, locals);
3703
- locals[parserResult.itemName] = undefined;
3704
- emptyViewValue = parserResult.viewMapper(originalScope, locals);
3705
-
3706
- return candidateViewValue !== emptyViewValue ? candidateViewValue : modelValue;
3707
- }
3708
- });
3709
-
3710
- scope.select = function (activeIdx) {
3711
- //called from within the $digest() cycle
3712
- var locals = {};
3713
- var model, item;
3714
-
3715
- locals[parserResult.itemName] = item = scope.matches[activeIdx].model;
3716
- model = parserResult.modelMapper(originalScope, locals);
3717
- $setModelValue(originalScope, model);
3718
- modelCtrl.$setValidity('editable', true);
3719
-
3720
- onSelectCallback(originalScope, {
3721
- $item: item,
3722
- $model: model,
3723
- $label: parserResult.viewMapper(originalScope, locals)
3724
- });
3725
-
3726
- resetMatches();
3727
-
3728
- //return focus to the input element if a match was selected via a mouse click event
3729
- // use timeout to avoid $rootScope:inprog error
3730
- $timeout(function () {
3731
- element[0].focus();
3732
- }, 0, false);
3733
- };
3734
-
3735
- //bind keyboard events: arrows up(38) / down(40), enter(13) and tab(9), esc(27)
3736
- element.bind('keydown', function (evt) {
3737
-
3738
- //typeahead is open and an "interesting" key was pressed
3739
- if (scope.matches.length === 0 || HOT_KEYS.indexOf(evt.which) === -1) {
3740
- return;
3741
- }
3742
-
3743
- evt.preventDefault();
3744
-
3745
- if (evt.which === 40) {
3746
- scope.activeIdx = (scope.activeIdx + 1) % scope.matches.length;
3747
- scope.$digest();
3748
-
3749
- } else if (evt.which === 38) {
3750
- scope.activeIdx = (scope.activeIdx ? scope.activeIdx : scope.matches.length) - 1;
3751
- scope.$digest();
3752
-
3753
- } else if (evt.which === 13 || evt.which === 9) {
3754
- scope.$apply(function () {
3755
- scope.select(scope.activeIdx);
3756
- });
3757
-
3758
- } else if (evt.which === 27) {
3759
- evt.stopPropagation();
3760
-
3761
- resetMatches();
3762
- scope.$digest();
3763
- }
3764
- });
3765
-
3766
- element.bind('blur', function (evt) {
3767
- hasFocus = false;
3768
- });
3769
-
3770
- // Keep reference to click handler to unbind it.
3771
- var dismissClickHandler = function (evt) {
3772
- if (element[0] !== evt.target) {
3773
- resetMatches();
3774
- scope.$digest();
3775
- }
3776
- };
3777
-
3778
- $document.bind('click', dismissClickHandler);
3779
-
3780
- originalScope.$on('$destroy', function () {
3781
- $document.unbind('click', dismissClickHandler);
3782
- });
3783
-
3784
- var $popup = $compile(popUpEl)(scope);
3785
- if (appendToBody) {
3786
- $document.find('body').append($popup);
3787
- } else {
3788
- element.after($popup);
3789
- }
3790
- }
3791
- };
3792
-
3793
- }])
3794
-
3795
- .directive('typeaheadPopup', function () {
3796
- return {
3797
- restrict: 'EA',
3798
- scope: {
3799
- matches: '=',
3800
- query: '=',
3801
- active: '=',
3802
- position: '=',
3803
- select: '&'
3804
- },
3805
- replace: true,
3806
- templateUrl: 'template/typeahead/typeahead-popup.html',
3807
- link: function (scope, element, attrs) {
3808
-
3809
- scope.templateUrl = attrs.templateUrl;
3810
-
3811
- scope.isOpen = function () {
3812
- return scope.matches.length > 0;
3813
- };
3814
-
3815
- scope.isActive = function (matchIdx) {
3816
- return scope.active == matchIdx;
3817
- };
3818
-
3819
- scope.selectActive = function (matchIdx) {
3820
- scope.active = matchIdx;
3821
- };
3822
-
3823
- scope.selectMatch = function (activeIdx) {
3824
- scope.select({activeIdx: activeIdx});
3825
- };
3826
- }
3827
- };
3828
- })
3829
-
3830
- .directive('typeaheadMatch', ['$http', '$templateCache', '$compile', '$parse', function ($http, $templateCache, $compile, $parse) {
3831
- return {
3832
- restrict: 'EA',
3833
- scope: {
3834
- index: '=',
3835
- match: '=',
3836
- query: '='
3837
- },
3838
- link: function (scope, element, attrs) {
3839
- var tplUrl = $parse(attrs.templateUrl)(scope.$parent) || 'template/typeahead/typeahead-match.html';
3840
- $http.get(tplUrl, {cache: $templateCache}).success(function (tplContent) {
3841
- element.replaceWith($compile(tplContent.trim())(scope));
3842
- });
3843
- }
3844
- };
3845
- }])
3846
-
3847
- .filter('typeaheadHighlight', function () {
3848
-
3849
- function escapeRegexp(queryToEscape) {
3850
- return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
3851
- }
3852
-
3853
- return function (matchItem, query) {
3854
- return query ? ('' + matchItem).replace(new RegExp(escapeRegexp(query), 'gi'), '<strong>$&</strong>') : matchItem;
3855
- };
3856
- });
3857
-
3858
- angular.module("template/accordion/accordion-group.html", []).run(["$templateCache", function ($templateCache) {
3859
- $templateCache.put("template/accordion/accordion-group.html",
3860
- "<div class=\"panel panel-default\">\n" +
3861
- " <div class=\"panel-heading\">\n" +
3862
- " <h4 class=\"panel-title\">\n" +
3863
- " <a class=\"accordion-toggle\" ng-click=\"toggleOpen()\" accordion-transclude=\"heading\"><span ng-class=\"{'text-muted': isDisabled}\">{{heading}}</span></a>\n" +
3864
- " </h4>\n" +
3865
- " </div>\n" +
3866
- " <div class=\"panel-collapse\" collapse=\"!isOpen\">\n" +
3867
- " <div class=\"panel-body\" ng-transclude></div>\n" +
3868
- " </div>\n" +
3869
- "</div>");
3870
- }]);
3871
-
3872
- angular.module("template/accordion/accordion.html", []).run(["$templateCache", function ($templateCache) {
3873
- $templateCache.put("template/accordion/accordion.html",
3874
- "<div class=\"panel-group\" ng-transclude></div>");
3875
- }]);
3876
-
3877
- angular.module("template/alert/alert.html", []).run(["$templateCache", function ($templateCache) {
3878
- $templateCache.put("template/alert/alert.html",
3879
- "<div class=\"alert\" ng-class=\"{'alert-{{type || 'warning'}}': true, 'alert-dismissable': closeable}\" role=\"alert\">\n" +
3880
- " <button ng-show=\"closeable\" type=\"button\" class=\"close\" ng-click=\"close()\">\n" +
3881
- " <span aria-hidden=\"true\">&times;</span>\n" +
3882
- " <span class=\"sr-only\">Close</span>\n" +
3883
- " </button>\n" +
3884
- " <div ng-transclude></div>\n" +
3885
- "</div>\n" +
3886
- "");
3887
- }]);
3888
-
3889
- angular.module("template/carousel/carousel.html", []).run(["$templateCache", function ($templateCache) {
3890
- $templateCache.put("template/carousel/carousel.html",
3891
- "<div ng-mouseenter=\"pause()\" ng-mouseleave=\"play()\" class=\"carousel\" ng-swipe-right=\"prev()\" ng-swipe-left=\"next()\">\n" +
3892
- " <ol class=\"carousel-indicators\" ng-show=\"slides.length > 1\">\n" +
3893
- " <li ng-repeat=\"slide in slides track by $index\" ng-class=\"{active: isActive(slide)}\" ng-click=\"select(slide)\"></li>\n" +
3894
- " </ol>\n" +
3895
- " <div class=\"carousel-inner\" ng-transclude></div>\n" +
3896
- " <a class=\"left carousel-control\" ng-click=\"prev()\" ng-show=\"slides.length > 1\"><span class=\"glyphicon glyphicon-chevron-left\"></span></a>\n" +
3897
- " <a class=\"right carousel-control\" ng-click=\"next()\" ng-show=\"slides.length > 1\"><span class=\"glyphicon glyphicon-chevron-right\"></span></a>\n" +
3898
- "</div>\n" +
3899
- "");
3900
- }]);
3901
-
3902
- angular.module("template/carousel/slide.html", []).run(["$templateCache", function ($templateCache) {
3903
- $templateCache.put("template/carousel/slide.html",
3904
- "<div ng-class=\"{\n" +
3905
- " 'active': leaving || (active && !entering),\n" +
3906
- " 'prev': (next || active) && direction=='prev',\n" +
3907
- " 'next': (next || active) && direction=='next',\n" +
3908
- " 'right': direction=='prev',\n" +
3909
- " 'left': direction=='next'\n" +
3910
- " }\" class=\"item text-center\" ng-transclude></div>\n" +
3911
- "");
3912
- }]);
3913
-
3914
- angular.module("template/datepicker/datepicker.html", []).run(["$templateCache", function ($templateCache) {
3915
- $templateCache.put("template/datepicker/datepicker.html",
3916
- "<div ng-switch=\"datepickerMode\" role=\"application\" ng-keydown=\"keydown($event)\">\n" +
3917
- " <daypicker ng-switch-when=\"day\" tabindex=\"0\"></daypicker>\n" +
3918
- " <monthpicker ng-switch-when=\"month\" tabindex=\"0\"></monthpicker>\n" +
3919
- " <yearpicker ng-switch-when=\"year\" tabindex=\"0\"></yearpicker>\n" +
3920
- "</div>");
3921
- }]);
3922
-
3923
- angular.module("template/datepicker/day.html", []).run(["$templateCache", function ($templateCache) {
3924
- $templateCache.put("template/datepicker/day.html",
3925
- "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3926
- " <thead>\n" +
3927
- " <tr>\n" +
3928
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3929
- " <th colspan=\"{{5 + showWeeks}}\"><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3930
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3931
- " </tr>\n" +
3932
- " <tr>\n" +
3933
- " <th ng-show=\"showWeeks\" class=\"text-center\"></th>\n" +
3934
- " <th ng-repeat=\"label in labels track by $index\" class=\"text-center\"><small aria-label=\"{{label.full}}\">{{label.abbr}}</small></th>\n" +
3935
- " </tr>\n" +
3936
- " </thead>\n" +
3937
- " <tbody>\n" +
3938
- " <tr ng-repeat=\"row in rows track by $index\">\n" +
3939
- " <td ng-show=\"showWeeks\" class=\"text-center h6\"><em>{{ weekNumbers[$index] }}</em></td>\n" +
3940
- " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
3941
- " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default btn-sm\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-muted': dt.secondary, 'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
3942
- " </td>\n" +
3943
- " </tr>\n" +
3944
- " </tbody>\n" +
3945
- "</table>\n" +
3946
- "");
3947
- }]);
3948
-
3949
- angular.module("template/datepicker/month.html", []).run(["$templateCache", function ($templateCache) {
3950
- $templateCache.put("template/datepicker/month.html",
3951
- "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3952
- " <thead>\n" +
3953
- " <tr>\n" +
3954
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3955
- " <th><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3956
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3957
- " </tr>\n" +
3958
- " </thead>\n" +
3959
- " <tbody>\n" +
3960
- " <tr ng-repeat=\"row in rows track by $index\">\n" +
3961
- " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
3962
- " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
3963
- " </td>\n" +
3964
- " </tr>\n" +
3965
- " </tbody>\n" +
3966
- "</table>\n" +
3967
- "");
3968
- }]);
3969
-
3970
- angular.module("template/datepicker/popup.html", []).run(["$templateCache", function ($templateCache) {
3971
- $templateCache.put("template/datepicker/popup.html",
3972
- "<ul class=\"dropdown-menu\" ng-style=\"{display: (isOpen && 'block') || 'none', top: position.top+'px', left: position.left+'px'}\" ng-keydown=\"keydown($event)\">\n" +
3973
- " <li ng-transclude></li>\n" +
3974
- " <li ng-if=\"showButtonBar\" style=\"padding:10px 9px 2px\">\n" +
3975
- " <span class=\"btn-group\">\n" +
3976
- " <button type=\"button\" class=\"btn btn-sm btn-info\" ng-click=\"select('today')\">{{ getText('current') }}</button>\n" +
3977
- " <button type=\"button\" class=\"btn btn-sm btn-danger\" ng-click=\"select(null)\">{{ getText('clear') }}</button>\n" +
3978
- " </span>\n" +
3979
- " <button type=\"button\" class=\"btn btn-sm btn-success pull-right\" ng-click=\"close()\">{{ getText('close') }}</button>\n" +
3980
- " </li>\n" +
3981
- "</ul>\n" +
3982
- "");
3983
- }]);
3984
-
3985
- angular.module("template/datepicker/year.html", []).run(["$templateCache", function ($templateCache) {
3986
- $templateCache.put("template/datepicker/year.html",
3987
- "<table role=\"grid\" aria-labelledby=\"{{uniqueId}}-title\" aria-activedescendant=\"{{activeDateId}}\">\n" +
3988
- " <thead>\n" +
3989
- " <tr>\n" +
3990
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-left\" ng-click=\"move(-1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-left\"></i></button></th>\n" +
3991
- " <th colspan=\"3\"><button id=\"{{uniqueId}}-title\" role=\"heading\" aria-live=\"assertive\" aria-atomic=\"true\" type=\"button\" class=\"btn btn-default btn-sm\" ng-click=\"toggleMode()\" tabindex=\"-1\" style=\"width:100%;\"><strong>{{title}}</strong></button></th>\n" +
3992
- " <th><button type=\"button\" class=\"btn btn-default btn-sm pull-right\" ng-click=\"move(1)\" tabindex=\"-1\"><i class=\"glyphicon glyphicon-chevron-right\"></i></button></th>\n" +
3993
- " </tr>\n" +
3994
- " </thead>\n" +
3995
- " <tbody>\n" +
3996
- " <tr ng-repeat=\"row in rows track by $index\">\n" +
3997
- " <td ng-repeat=\"dt in row track by dt.date\" class=\"text-center\" role=\"gridcell\" id=\"{{dt.uid}}\" aria-disabled=\"{{!!dt.disabled}}\">\n" +
3998
- " <button type=\"button\" style=\"width:100%;\" class=\"btn btn-default\" ng-class=\"{'btn-info': dt.selected, active: isActive(dt)}\" ng-click=\"select(dt.date)\" ng-disabled=\"dt.disabled\" tabindex=\"-1\"><span ng-class=\"{'text-info': dt.current}\">{{dt.label}}</span></button>\n" +
3999
- " </td>\n" +
4000
- " </tr>\n" +
4001
- " </tbody>\n" +
4002
- "</table>\n" +
4003
- "");
4004
- }]);
4005
-
4006
- angular.module("template/modal/backdrop.html", []).run(["$templateCache", function ($templateCache) {
4007
- $templateCache.put("template/modal/backdrop.html",
4008
- "<div class=\"modal-backdrop fade\"\n" +
4009
- " ng-class=\"{in: animate}\"\n" +
4010
- " ng-style=\"{'z-index': 1040 + (index && 1 || 0) + index*10}\"\n" +
4011
- "></div>\n" +
4012
- "");
4013
- }]);
4014
-
4015
- angular.module("template/modal/window.html", []).run(["$templateCache", function ($templateCache) {
4016
- $templateCache.put("template/modal/window.html",
4017
- "<div tabindex=\"-1\" role=\"dialog\" class=\"modal fade\" ng-class=\"{in: animate}\" ng-style=\"{'z-index': 1050 + index*10, display: 'block'}\" ng-click=\"close($event)\">\n" +
4018
- " <div class=\"modal-dialog\" ng-class=\"{'modal-sm': size == 'sm', 'modal-lg': size == 'lg'}\"><div class=\"modal-content\" ng-transclude></div></div>\n" +
4019
- "</div>");
4020
- }]);
4021
-
4022
- angular.module("template/pagination/pager.html", []).run(["$templateCache", function ($templateCache) {
4023
- $templateCache.put("template/pagination/pager.html",
4024
- "<ul class=\"pager\">\n" +
4025
- " <li ng-class=\"{disabled: noPrevious(), previous: align}\"><a href ng-click=\"selectPage(page - 1)\">{{getText('previous')}}</a></li>\n" +
4026
- " <li ng-class=\"{disabled: noNext(), next: align}\"><a href ng-click=\"selectPage(page + 1)\">{{getText('next')}}</a></li>\n" +
4027
- "</ul>");
4028
- }]);
4029
-
4030
- angular.module("template/pagination/pagination.html", []).run(["$templateCache", function ($templateCache) {
4031
- $templateCache.put("template/pagination/pagination.html",
4032
- "<ul class=\"pagination\">\n" +
4033
- " <li ng-if=\"boundaryLinks\" ng-class=\"{disabled: noPrevious()}\"><a href ng-click=\"selectPage(1)\">{{getText('first')}}</a></li>\n" +
4034
- " <li ng-if=\"directionLinks\" ng-class=\"{disabled: noPrevious()}\"><a href ng-click=\"selectPage(page - 1)\">{{getText('previous')}}</a></li>\n" +
4035
- " <li ng-repeat=\"page in pages track by $index\" ng-class=\"{active: page.active}\"><a href ng-click=\"selectPage(page.number)\">{{page.text}}</a></li>\n" +
4036
- " <li ng-if=\"directionLinks\" ng-class=\"{disabled: noNext()}\"><a href ng-click=\"selectPage(page + 1)\">{{getText('next')}}</a></li>\n" +
4037
- " <li ng-if=\"boundaryLinks\" ng-class=\"{disabled: noNext()}\"><a href ng-click=\"selectPage(totalPages)\">{{getText('last')}}</a></li>\n" +
4038
- "</ul>");
4039
- }]);
4040
-
4041
- angular.module("template/tooltip/tooltip-html-unsafe-popup.html", []).run(["$templateCache", function ($templateCache) {
4042
- $templateCache.put("template/tooltip/tooltip-html-unsafe-popup.html",
4043
- "<div class=\"tooltip {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4044
- " <div class=\"tooltip-arrow\"></div>\n" +
4045
- " <div class=\"tooltip-inner\" bind-html-unsafe=\"content\"></div>\n" +
4046
- "</div>\n" +
4047
- "");
4048
- }]);
4049
-
4050
- angular.module("template/tooltip/tooltip-popup.html", []).run(["$templateCache", function ($templateCache) {
4051
- $templateCache.put("template/tooltip/tooltip-popup.html",
4052
- "<div class=\"tooltip {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4053
- " <div class=\"tooltip-arrow\"></div>\n" +
4054
- " <div class=\"tooltip-inner\" ng-bind=\"content\"></div>\n" +
4055
- "</div>\n" +
4056
- "");
4057
- }]);
4058
-
4059
- angular.module("template/popover/popover.html", []).run(["$templateCache", function ($templateCache) {
4060
- $templateCache.put("template/popover/popover.html",
4061
- "<div class=\"popover {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
4062
- " <div class=\"arrow\"></div>\n" +
4063
- "\n" +
4064
- " <div class=\"popover-inner\">\n" +
4065
- " <h3 class=\"popover-title\" ng-bind=\"title\" ng-show=\"title\"></h3>\n" +
4066
- " <div class=\"popover-content\" ng-bind=\"content\"></div>\n" +
4067
- " </div>\n" +
4068
- "</div>\n" +
4069
- "");
4070
- }]);
4071
-
4072
- angular.module("template/progressbar/bar.html", []).run(["$templateCache", function ($templateCache) {
4073
- $templateCache.put("template/progressbar/bar.html",
4074
- "<div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: percent + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" ng-transclude></div>");
4075
- }]);
4076
-
4077
- angular.module("template/progressbar/progress.html", []).run(["$templateCache", function ($templateCache) {
4078
- $templateCache.put("template/progressbar/progress.html",
4079
- "<div class=\"progress\" ng-transclude></div>");
4080
- }]);
4081
-
4082
- angular.module("template/progressbar/progressbar.html", []).run(["$templateCache", function ($templateCache) {
4083
- $templateCache.put("template/progressbar/progressbar.html",
4084
- "<div class=\"progress\">\n" +
4085
- " <div class=\"progress-bar\" ng-class=\"type && 'progress-bar-' + type\" role=\"progressbar\" aria-valuenow=\"{{value}}\" aria-valuemin=\"0\" aria-valuemax=\"{{max}}\" ng-style=\"{width: percent + '%'}\" aria-valuetext=\"{{percent | number:0}}%\" ng-transclude></div>\n" +
4086
- "</div>");
4087
- }]);
4088
-
4089
- angular.module("template/rating/rating.html", []).run(["$templateCache", function ($templateCache) {
4090
- $templateCache.put("template/rating/rating.html",
4091
- "<span ng-mouseleave=\"reset()\" ng-keydown=\"onKeydown($event)\" tabindex=\"0\" role=\"slider\" aria-valuemin=\"0\" aria-valuemax=\"{{range.length}}\" aria-valuenow=\"{{value}}\">\n" +
4092
- " <i ng-repeat=\"r in range track by $index\" ng-mouseenter=\"enter($index + 1)\" ng-click=\"rate($index + 1)\" class=\"glyphicon\" ng-class=\"$index < value && (r.stateOn || 'glyphicon-star') || (r.stateOff || 'glyphicon-star-empty')\">\n" +
4093
- " <span class=\"sr-only\">({{ $index < value ? '*' : ' ' }})</span>\n" +
4094
- " </i>\n" +
4095
- "</span>");
4096
- }]);
4097
-
4098
- angular.module("template/tabs/tab.html", []).run(["$templateCache", function ($templateCache) {
4099
- $templateCache.put("template/tabs/tab.html",
4100
- "<li ng-class=\"{active: active, disabled: disabled}\">\n" +
4101
- " <a ng-click=\"select()\" tab-heading-transclude>{{heading}}</a>\n" +
4102
- "</li>\n" +
4103
- "");
4104
- }]);
4105
-
4106
- angular.module("template/tabs/tabset-titles.html", []).run(["$templateCache", function ($templateCache) {
4107
- $templateCache.put("template/tabs/tabset-titles.html",
4108
- "<ul class=\"nav {{type && 'nav-' + type}}\" ng-class=\"{'nav-stacked': vertical}\">\n" +
4109
- "</ul>\n" +
4110
- "");
4111
- }]);
4112
-
4113
- angular.module("template/tabs/tabset.html", []).run(["$templateCache", function ($templateCache) {
4114
- $templateCache.put("template/tabs/tabset.html",
4115
- "\n" +
4116
- "<div>\n" +
4117
- " <ul class=\"nav nav-{{type || 'tabs'}}\" ng-class=\"{'nav-stacked': vertical, 'nav-justified': justified}\" ng-transclude></ul>\n" +
4118
- " <div class=\"tab-content\">\n" +
4119
- " <div class=\"tab-pane\" \n" +
4120
- " ng-repeat=\"tab in tabs\" \n" +
4121
- " ng-class=\"{active: tab.active}\"\n" +
4122
- " tab-content-transclude=\"tab\">\n" +
4123
- " </div>\n" +
4124
- " </div>\n" +
4125
- "</div>\n" +
4126
- "");
4127
- }]);
4128
-
4129
- angular.module("template/timepicker/timepicker.html", []).run(["$templateCache", function ($templateCache) {
4130
- $templateCache.put("template/timepicker/timepicker.html",
4131
- "<table>\n" +
4132
- " <tbody>\n" +
4133
- " <tr class=\"text-center\">\n" +
4134
- " <td><a ng-click=\"incrementHours()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
4135
- " <td>&nbsp;</td>\n" +
4136
- " <td><a ng-click=\"incrementMinutes()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-up\"></span></a></td>\n" +
4137
- " <td ng-show=\"showMeridian\"></td>\n" +
4138
- " </tr>\n" +
4139
- " <tr>\n" +
4140
- " <td style=\"width:50px;\" class=\"form-group\" ng-class=\"{'has-error': invalidHours}\">\n" +
4141
- " <input type=\"text\" ng-model=\"hours\" ng-change=\"updateHours()\" class=\"form-control text-center\" ng-mousewheel=\"incrementHours()\" ng-readonly=\"readonlyInput\" maxlength=\"2\">\n" +
4142
- " </td>\n" +
4143
- " <td>:</td>\n" +
4144
- " <td style=\"width:50px;\" class=\"form-group\" ng-class=\"{'has-error': invalidMinutes}\">\n" +
4145
- " <input type=\"text\" ng-model=\"minutes\" ng-change=\"updateMinutes()\" class=\"form-control text-center\" ng-readonly=\"readonlyInput\" maxlength=\"2\">\n" +
4146
- " </td>\n" +
4147
- " <td ng-show=\"showMeridian\"><button type=\"button\" class=\"btn btn-default text-center\" ng-click=\"toggleMeridian()\">{{meridian}}</button></td>\n" +
4148
- " </tr>\n" +
4149
- " <tr class=\"text-center\">\n" +
4150
- " <td><a ng-click=\"decrementHours()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
4151
- " <td>&nbsp;</td>\n" +
4152
- " <td><a ng-click=\"decrementMinutes()\" class=\"btn btn-link\"><span class=\"glyphicon glyphicon-chevron-down\"></span></a></td>\n" +
4153
- " <td ng-show=\"showMeridian\"></td>\n" +
4154
- " </tr>\n" +
4155
- " </tbody>\n" +
4156
- "</table>\n" +
4157
- "");
4158
- }]);
4159
-
4160
- angular.module("template/typeahead/typeahead-match.html", []).run(["$templateCache", function ($templateCache) {
4161
- $templateCache.put("template/typeahead/typeahead-match.html",
4162
- "<a tabindex=\"-1\" bind-html-unsafe=\"match.label | typeaheadHighlight:query\"></a>");
4163
- }]);
4164
-
4165
- angular.module("template/typeahead/typeahead-popup.html", []).run(["$templateCache", function ($templateCache) {
4166
- $templateCache.put("template/typeahead/typeahead-popup.html",
4167
- "<ul class=\"dropdown-menu\" ng-if=\"isOpen()\" ng-style=\"{top: position.top+'px', left: position.left+'px'}\" style=\"display: block;\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n" +
4168
- " <li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" ng-mouseenter=\"selectActive($index)\" ng-click=\"selectMatch($index)\" role=\"option\" id=\"{{match.id}}\">\n" +
4169
- " <div typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n" +
4170
- " </li>\n" +
4171
- "</ul>");
4172
- }]);