@eui/cli 21.0.0-alpha.3 → 21.0.0-alpha.5

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 (289) hide show
  1. package/.version.properties +1 -0
  2. package/bin/eui-cli.js +47 -0
  3. package/lib/build.js +155 -0
  4. package/lib/cli.js +123 -0
  5. package/lib/config.js +58 -0
  6. package/lib/generators.js +75 -0
  7. package/lib/install.js +45 -0
  8. package/lib/maven-build/build.xml +115 -0
  9. package/lib/maven-build/lib/ant-contrib-20061014.jar +0 -0
  10. package/lib/maven-build/pom.xml +64 -0
  11. package/lib/post-build.js +33 -0
  12. package/lib/skeletons/_angular/base/.browserslistrc +16 -0
  13. package/lib/skeletons/_angular/base/.editorconfig +16 -0
  14. package/lib/skeletons/_angular/base/.euirc.json +8 -0
  15. package/lib/skeletons/_angular/base/README.md +26 -0
  16. package/lib/skeletons/_angular/base/angular.json +158 -0
  17. package/lib/skeletons/_angular/base/gitignore_TO_REPLACE +51 -0
  18. package/lib/skeletons/_angular/base/mock/app/models/user.js +6 -0
  19. package/lib/skeletons/_angular/base/mock/app/routes/index.js +5 -0
  20. package/lib/skeletons/_angular/base/mock/app/routes/user_routes.js +44 -0
  21. package/lib/skeletons/_angular/base/mock/db/db.json +10 -0
  22. package/lib/skeletons/_angular/base/mock/server.js +23 -0
  23. package/lib/skeletons/_angular/base/package.json +38 -0
  24. package/lib/skeletons/_angular/base/proxy-mock.conf.json +6 -0
  25. package/lib/skeletons/_angular/base/proxy.conf.json +6 -0
  26. package/lib/skeletons/_angular/base/src/.eslintrc.json +121 -0
  27. package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +68 -0
  28. package/lib/skeletons/_angular/base/src/app/app-starter.service.ts +68 -0
  29. package/lib/skeletons/_angular/base/src/app/app.component.html +35 -0
  30. package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +60 -0
  31. package/lib/skeletons/_angular/base/src/app/app.component.ts +35 -0
  32. package/lib/skeletons/_angular/base/src/app/app.config.ts +84 -0
  33. package/lib/skeletons/_angular/base/src/app/app.routes.ts +9 -0
  34. package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +41 -0
  35. package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +17 -0
  36. package/lib/skeletons/_angular/base/src/app/features/home/home.routes.ts +6 -0
  37. package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +7 -0
  38. package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.ts +10 -0
  39. package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +7 -0
  40. package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.ts +10 -0
  41. package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +7 -0
  42. package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.ts +10 -0
  43. package/lib/skeletons/_angular/base/src/app/features/module1/module1.routes.ts +10 -0
  44. package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +7 -0
  45. package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.ts +10 -0
  46. package/lib/skeletons/_angular/base/src/app/features/module2/module2.routes.ts +6 -0
  47. package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +18 -0
  48. package/lib/skeletons/_angular/base/src/assets/config/env-json-config-dev.json +8 -0
  49. package/lib/skeletons/_angular/base/src/assets/config/env-json-config-prod.json +8 -0
  50. package/lib/skeletons/_angular/base/src/assets/config/env-json-config.json +7 -0
  51. package/lib/skeletons/_angular/base/src/assets/i18n/en.json +7 -0
  52. package/lib/skeletons/_angular/base/src/assets/i18n/fr.json +7 -0
  53. package/lib/skeletons/_angular/base/src/config/global.ts +33 -0
  54. package/lib/skeletons/_angular/base/src/config/index.ts +8 -0
  55. package/lib/skeletons/_angular/base/src/config/modules.ts +7 -0
  56. package/lib/skeletons/_angular/base/src/dummy.spec.ts +6 -0
  57. package/lib/skeletons/_angular/base/src/environments/environment.prod.ts +11 -0
  58. package/lib/skeletons/_angular/base/src/environments/environment.ts +15 -0
  59. package/lib/skeletons/_angular/base/src/favicon.ico +0 -0
  60. package/lib/skeletons/_angular/base/src/index.html +20 -0
  61. package/lib/skeletons/_angular/base/src/karma.conf.js +7 -0
  62. package/lib/skeletons/_angular/base/src/main.ts +20 -0
  63. package/lib/skeletons/_angular/base/src/styles.scss +1 -0
  64. package/lib/skeletons/_angular/base/src/tsconfig.app.json +18 -0
  65. package/lib/skeletons/_angular/base/src/tsconfig.spec.json +14 -0
  66. package/lib/skeletons/_angular/base/tsconfig.json +27 -0
  67. package/lib/skeletons/_angular/base-mobile/angular.json +156 -0
  68. package/lib/skeletons/_angular/base-mobile/ionic.config.json +5 -0
  69. package/lib/skeletons/_angular/base-mobile/ngsw-config.json +33 -0
  70. package/lib/skeletons/_angular/base-mobile/package.json +27 -0
  71. package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +18 -0
  72. package/lib/skeletons/_angular/base-mobile/src/app/app-starter.service.ts +73 -0
  73. package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +47 -0
  74. package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +81 -0
  75. package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +81 -0
  76. package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +44 -0
  77. package/lib/skeletons/_angular/base-mobile/src/app/core/components/.gitkeep +0 -0
  78. package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +89 -0
  79. package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +32 -0
  80. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about-routing.module.ts +45 -0
  81. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +70 -0
  82. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +19 -0
  83. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +30 -0
  84. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.html +11 -0
  85. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +102 -0
  86. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.html +20 -0
  87. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +75 -0
  88. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +12 -0
  89. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +8 -0
  90. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.html +48 -0
  91. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +7 -0
  92. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.html +11 -0
  93. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +31 -0
  94. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +11 -0
  95. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +103 -0
  96. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +15 -0
  97. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +11 -0
  98. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +9 -0
  99. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +18 -0
  100. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +11 -0
  101. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +8 -0
  102. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +11 -0
  103. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +8 -0
  104. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1-routing.module.ts +18 -0
  105. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +15 -0
  106. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +17 -0
  107. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +21 -0
  108. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +16 -0
  109. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +11 -0
  110. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +7 -0
  111. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +17 -0
  112. package/lib/skeletons/_angular/base-mobile/src/app/shared/shared.module.ts +16 -0
  113. package/lib/skeletons/_angular/base-mobile/src/app/shared/testing/router.mock.ts +18 -0
  114. package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
  115. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/en.json +25 -0
  116. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/es.json +24 -0
  117. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/fr.json +25 -0
  118. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/tr.json +25 -0
  119. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
  120. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
  121. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
  122. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
  123. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
  124. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
  125. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
  126. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
  127. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
  128. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
  129. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
  130. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
  131. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
  132. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
  133. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
  134. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
  135. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
  136. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
  137. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
  138. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
  139. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
  140. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
  141. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
  142. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
  143. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
  144. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
  145. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
  146. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
  147. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
  148. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
  149. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
  150. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
  151. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
  152. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
  153. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
  154. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
  155. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
  156. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
  157. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
  158. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
  159. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
  160. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
  161. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
  162. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
  163. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
  164. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
  165. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
  166. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
  167. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
  168. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
  169. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
  170. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
  171. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
  172. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +10 -0
  173. package/lib/skeletons/_angular/base-mobile/src/config/global.ts +39 -0
  174. package/lib/skeletons/_angular/base-mobile/src/config/index.ts +8 -0
  175. package/lib/skeletons/_angular/base-mobile/src/config/modules.ts +7 -0
  176. package/lib/skeletons/_angular/base-mobile/src/index.html +76 -0
  177. package/lib/skeletons/_angular/base-mobile/src/main.ts +23 -0
  178. package/lib/skeletons/_angular/base-mobile/src/manifest.webmanifest +66 -0
  179. package/lib/skeletons/_angular/base-mobile/src/tsconfig.app.json +20 -0
  180. package/lib/skeletons/_angular/options/ecl-ec/angular.json +181 -0
  181. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +237 -0
  182. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +65 -0
  183. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +84 -0
  184. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.html +71 -0
  185. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +20 -0
  186. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.html +1 -0
  187. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.ts +7 -0
  188. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.html +1 -0
  189. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.ts +7 -0
  190. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.html +1 -0
  191. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.ts +7 -0
  192. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.html +1 -0
  193. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.ts +7 -0
  194. package/lib/skeletons/_angular/options/ecl-ec/src/config/global.ts +23 -0
  195. package/lib/skeletons/_angular/options/ecl-eu/angular.json +181 -0
  196. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +203 -0
  197. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +65 -0
  198. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +84 -0
  199. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.html +71 -0
  200. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +20 -0
  201. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.html +1 -0
  202. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.ts +7 -0
  203. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.html +1 -0
  204. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.ts +7 -0
  205. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.html +1 -0
  206. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.ts +7 -0
  207. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.html +1 -0
  208. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.ts +7 -0
  209. package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +19 -0
  210. package/lib/skeletons/_angular/options/ecl-eu/src/config/global.ts +23 -0
  211. package/lib/skeletons/web-maven/package.json +17 -0
  212. package/lib/skeletons/web-maven/pom.xml +55 -0
  213. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/servlet/SpringWebApplicationInitializer.java +22 -0
  214. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/SpringRestConfiguration.java +24 -0
  215. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/rest/UserDetailsResource.java +23 -0
  216. package/lib/skeletons/web-maven/src/main/resources/ecas-config-application-name.xml +7 -0
  217. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/dispatcher-servlet.xml +11 -0
  218. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/web.xml +38 -0
  219. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/weblogic.xml +16 -0
  220. package/lib/skeletons/web-maven/src/main/webapp/index.jsp +30 -0
  221. package/lib/skeletons/web-spring-boot/myapp-web/pom.xml +83 -0
  222. package/lib/skeletons/web-spring-boot/myapp-web-rest/pom.xml +83 -0
  223. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java +46 -0
  224. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Address.java +65 -0
  225. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Building.java +44 -0
  226. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/repositories/BuildingRepository.java +11 -0
  227. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/BuildingResource.java +26 -0
  228. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/SwaggerConfig.java +16 -0
  229. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HateoasPageableHandlerMethodArgumentResolver.java +45 -0
  230. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HypermediaSupport.java +25 -0
  231. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/PageJsonSerializer.java +17 -0
  232. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CachingPreventionFilter.java +29 -0
  233. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CsrfPreventionFilter.java +35 -0
  234. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/FakeAuthenticationFilter.java +372 -0
  235. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/SecurityConfig.java +47 -0
  236. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingSearchCriteria.java +26 -0
  237. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingService.java +10 -0
  238. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingServiceImpl.java +26 -0
  239. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/application.properties +0 -0
  240. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/data.sql +11 -0
  241. package/lib/skeletons/web-spring-boot/pom.xml +30 -0
  242. package/lib/skeletons/web-symfony/myapp-web/angular.json +169 -0
  243. package/lib/skeletons/web-symfony/myapp-web/package.json +23 -0
  244. package/lib/skeletons/web-symfony/myapp-web/src/app/app-routing.module.ts +18 -0
  245. package/lib/skeletons/web-symfony/myapp-web/src/app/app.component.ts +77 -0
  246. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.html +160 -0
  247. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.scss +0 -0
  248. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/components/products.component.ts +104 -0
  249. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/models/product.model.ts +6 -0
  250. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/products-routing.module.ts +16 -0
  251. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/products.module.ts +16 -0
  252. package/lib/skeletons/web-symfony/myapp-web/src/app/features/products/services/products.service.ts +29 -0
  253. package/lib/skeletons/web-symfony/myapp-web/src/environments/environment.ts +17 -0
  254. package/lib/skeletons/web-symfony/myapp-web-rest/.env +28 -0
  255. package/lib/skeletons/web-symfony/myapp-web-rest/bin/console +42 -0
  256. package/lib/skeletons/web-symfony/myapp-web-rest/composer.json +67 -0
  257. package/lib/skeletons/web-symfony/myapp-web-rest/composer.lock +3572 -0
  258. package/lib/skeletons/web-symfony/myapp-web-rest/config/bootstrap.php +21 -0
  259. package/lib/skeletons/web-symfony/myapp-web-rest/config/bundles.php +12 -0
  260. package/lib/skeletons/web-symfony/myapp-web-rest/config/config.yml +0 -0
  261. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/cache.yaml +19 -0
  262. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/dev/routing.yaml +3 -0
  263. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/doctrine.yaml +29 -0
  264. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/doctrine_migrations.yaml +5 -0
  265. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/framework.yaml +17 -0
  266. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/prod/doctrine.yaml +32 -0
  267. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/routing.yaml +4 -0
  268. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/sensio_framework_extra.yaml +3 -0
  269. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/test/framework.yaml +4 -0
  270. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/test/routing.yaml +3 -0
  271. package/lib/skeletons/web-symfony/myapp-web-rest/config/packages/twig.yaml +4 -0
  272. package/lib/skeletons/web-symfony/myapp-web-rest/config/routes/annotations.yaml +3 -0
  273. package/lib/skeletons/web-symfony/myapp-web-rest/config/routes/dev/twig.yaml +3 -0
  274. package/lib/skeletons/web-symfony/myapp-web-rest/config/routes.yaml +3 -0
  275. package/lib/skeletons/web-symfony/myapp-web-rest/config/services.yaml +27 -0
  276. package/lib/skeletons/web-symfony/myapp-web-rest/public/index.php +27 -0
  277. package/lib/skeletons/web-symfony/myapp-web-rest/src/Controller/ProductController.php +196 -0
  278. package/lib/skeletons/web-symfony/myapp-web-rest/src/Entity/Product.php +99 -0
  279. package/lib/skeletons/web-symfony/myapp-web-rest/src/Kernel.php +53 -0
  280. package/lib/skeletons/web-symfony/myapp-web-rest/src/Migrations/Version20190604101623.php +31 -0
  281. package/lib/skeletons/web-symfony/myapp-web-rest/src/Migrations/Version20190604101638.php +35 -0
  282. package/lib/skeletons/web-symfony/myapp-web-rest/src/Repository/ProductRepository.php +51 -0
  283. package/lib/skeletons/web-symfony/myapp-web-rest/symfony.lock +274 -0
  284. package/lib/skeletons/web-symfony/myapp-web-rest/templates/base.html.twig +12 -0
  285. package/lib/skeletons/web-symfony/myapp-web-rest/templates/lucky/number.html.twig +1 -0
  286. package/lib/skeletons/web-symfony/myapp-web-rest/templates/product/index.html.twig +20 -0
  287. package/lib/utils.js +13 -0
  288. package/package.json +1 -1
  289. package/sonar-project.properties +14 -0
@@ -0,0 +1,181 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+ "version": 1,
4
+ "newProjectRoot": "projects",
5
+ "cli": {
6
+ "analytics": false
7
+ },
8
+ "projects": {
9
+ "app": {
10
+ "root": "",
11
+ "sourceRoot": "src",
12
+ "projectType": "application",
13
+ "prefix": "app",
14
+ "schematics": {
15
+ "@schematics/angular:component": {
16
+ "style": "scss"
17
+ },
18
+ "@schematics/angular:application": {
19
+ "strict": true
20
+ }
21
+ },
22
+ "architect": {
23
+ "build": {
24
+ "builder": "@angular-devkit/build-angular:application",
25
+ "options": {
26
+ "outputPath": "dist",
27
+ "index": "src/index.html",
28
+ "browser": "src/main.ts",
29
+ "polyfills": ["zone.js"],
30
+ "tsConfig": "src/tsconfig.app.json",
31
+ "inlineStyleLanguage": "scss",
32
+ "assets": [
33
+ "src/favicon.ico",
34
+ "src/assets",
35
+ {
36
+ "glob": "**/*",
37
+ "input": "node_modules/@eui/core/assets/",
38
+ "output": "./assets"
39
+ },
40
+ {
41
+ "glob": "**/*",
42
+ "input": "node_modules/@eui/styles/dist/assets/ecl",
43
+ "output": "./assets/images/ecl"
44
+ },
45
+ {
46
+ "glob": "**/*",
47
+ "input": "node_modules/@eui/styles/dist/assets",
48
+ "output": "./assets"
49
+ },
50
+ {
51
+ "glob": "**/*",
52
+ "input": "node_modules/@eui/ecl/assets/",
53
+ "output": "./assets"
54
+ },
55
+ {
56
+ "glob": "**/*",
57
+ "input": "node_modules/@eui/styles/dist/styles",
58
+ "output": "./assets"
59
+ }
60
+ ],
61
+ "styles": [
62
+ "node_modules/@eui/styles/dist/eui-ecl-eu.css",
63
+ "src/styles.scss"
64
+ ]
65
+ },
66
+ "configurations": {
67
+ "production": {
68
+ "fileReplacements": [
69
+ {
70
+ "replace": "src/environments/environment.ts",
71
+ "with": "src/environments/environment.prod.ts"
72
+ }
73
+ ],
74
+ "optimization": false,
75
+ "outputHashing": "all",
76
+ "sourceMap": false,
77
+ "aot": true,
78
+ "extractLicenses": true,
79
+ "budgets": [
80
+ {
81
+ "type": "initial",
82
+ "maximumWarning": "1mb",
83
+ "maximumError": "2mb"
84
+ }
85
+ ]
86
+ },
87
+ "production-optimized": {
88
+ "fileReplacements": [
89
+ {
90
+ "replace": "src/environments/environment.ts",
91
+ "with": "src/environments/environment.prod.ts"
92
+ }
93
+ ],
94
+ "optimization": {
95
+ "scripts": true,
96
+ "styles": {
97
+ "minify": false,
98
+ "inlineCritical": true
99
+ },
100
+ "fonts": true
101
+ },
102
+ "outputHashing": "all",
103
+ "sourceMap": false,
104
+ "extractLicenses": true,
105
+ "budgets": [
106
+ {
107
+ "type": "initial",
108
+ "maximumWarning": "2mb",
109
+ "maximumError": "6mb"
110
+ }
111
+ ]
112
+ },
113
+ "development": {
114
+ "optimization": false,
115
+ "extractLicenses": false,
116
+ "sourceMap": true
117
+ }
118
+ },
119
+ "defaultConfiguration": "production"
120
+ },
121
+ "serve": {
122
+ "builder": "@angular-devkit/build-angular:dev-server",
123
+ "options": {
124
+ "buildTarget": "app:build"
125
+ },
126
+ "configurations": {
127
+ "proxy-mock": {
128
+ "buildTarget": "app:build:development",
129
+ "proxyConfig": "proxy-mock.conf.json"
130
+ },
131
+ "production": {
132
+ "buildTarget": "app:build:production"
133
+ },
134
+ "development": {
135
+ "buildTarget": "app:build:development"
136
+ }
137
+ },
138
+ "defaultConfiguration": "development"
139
+ },
140
+ "lint": {
141
+ "builder": "@angular-eslint/builder:lint",
142
+ "options": {
143
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"],
144
+ "eslintConfig": "src/.eslintrc.json"
145
+ }
146
+ },
147
+ "test": {
148
+ "builder": "@angular-devkit/build-angular:karma",
149
+ "options": {
150
+ "polyfills": ["zone.js", "zone.js/testing"],
151
+ "tsConfig": "src/tsconfig.spec.json",
152
+ "karmaConfig": "src/karma.conf.js",
153
+ "inlineStyleLanguage": "scss",
154
+ "assets": [
155
+ {
156
+ "glob": "**/*",
157
+ "input": "node_modules/@eui/core/assets/",
158
+ "output": "./assets"
159
+ },
160
+ {
161
+ "glob": "**/*",
162
+ "input": "node_modules/@eui/styles/dist/assets/ecl",
163
+ "output": "./assets/images/ecl"
164
+ },
165
+ {
166
+ "glob": "**/*",
167
+ "input": "node_modules/@eui/styles/dist/assets",
168
+ "output": "./assets"
169
+ },
170
+ {
171
+ "glob": "**/*",
172
+ "input": "node_modules/@eui/ecl/assets/",
173
+ "output": "./assets"
174
+ }
175
+ ]
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
@@ -0,0 +1,203 @@
1
+ <ecl-app>
2
+ <ecl-site-header siteName="Site name">
3
+
4
+ <div eclSiteHeaderEnvironment>Environment</div>
5
+
6
+ <ecl-site-header-action>
7
+ <ecl-site-header-login
8
+ [isLoggedIn]="isLoggedIn"
9
+ (login)="onLogin($event)">
10
+ <p eclSiteHeaderLoginDescription>
11
+ {{ 'ecl.site-header.LOGGED-IN-AS' | translate }} {{ userInfos?.fullName }}
12
+ </p>
13
+ <hr eclSiteHeaderLoginSeparator />
14
+ <a eclLink variant="standalone" href="#" (click)="onLogout($event)">
15
+ {{ 'ecl.site-header.LOGOUT' | translate }}
16
+ </a>
17
+ </ecl-site-header-login>
18
+
19
+ <ecl-site-header-language></ecl-site-header-language>
20
+
21
+ <ecl-site-header-search (search)="onSearch($event)"></ecl-site-header-search>
22
+ </ecl-site-header-action>
23
+
24
+ <ecl-menu (menuItemSelect)="onMenuItemSelected($event)" aria-label="Main navigation">
25
+ <ecl-menu-item label="Home"></ecl-menu-item>
26
+ <ecl-menu-item label="Item 1">
27
+ <ecl-menu-mega>
28
+ <ecl-menu-mega-item label="Item 1.1"></ecl-menu-mega-item>
29
+ <ecl-menu-mega-item label="Item 1.2"></ecl-menu-mega-item>
30
+ <ecl-menu-mega-item label="Item 1.3" [isCurrent]="true"></ecl-menu-mega-item>
31
+ </ecl-menu-mega>
32
+
33
+ </ecl-menu-item>
34
+
35
+ <ecl-menu-item label="Item 2">
36
+ <ecl-menu-mega>
37
+ <ecl-menu-mega-item label="Item 2.1"></ecl-menu-mega-item>
38
+ <ecl-menu-mega-item label="Item 2.2"></ecl-menu-mega-item>
39
+ <ecl-menu-mega-item label="Item 2.3"></ecl-menu-mega-item>
40
+ </ecl-menu-mega>
41
+ </ecl-menu-item>
42
+
43
+ <ecl-menu-item label="Item 3">
44
+ <ecl-menu-mega>
45
+ <ecl-menu-mega-item label="Item 3.1"></ecl-menu-mega-item>
46
+ <ecl-menu-mega-item label="Item 3.2"></ecl-menu-mega-item>
47
+ <ecl-menu-mega-item label="Item 3.3"></ecl-menu-mega-item>
48
+ </ecl-menu-mega>
49
+ </ecl-menu-item>
50
+ </ecl-menu>
51
+ </ecl-site-header>
52
+
53
+ <ecl-page-header>
54
+ <ecl-breadcrumb>
55
+ <ecl-breadcrumb-segment>Home</ecl-breadcrumb-segment>
56
+ <ecl-breadcrumb-segment>European Commission</ecl-breadcrumb-segment>
57
+ <ecl-breadcrumb-segment [isCurrentPage]="true">ECL</ecl-breadcrumb-segment>
58
+ </ecl-breadcrumb>
59
+
60
+ <div eclPageHeaderInfo>
61
+ <div eclPageHeaderMeta>
62
+ <span eclPageHeaderMetaItem>
63
+ Auto generated template
64
+ </span>
65
+ </div>
66
+ <h1 eclPageHeaderTitle>Europa Component Library</h1>
67
+ </div>
68
+ <div eclPageHeaderDescriptionContainer>
69
+ <p eclPageHeaderDescription>
70
+ The Europa Component Library (ECL) is a comprehensive style guide containing the design elements and visual standards that make up all Europa websites and applications.
71
+ </p>
72
+ </div>
73
+ </ecl-page-header>
74
+
75
+ <div class="ecl-u-pv-xl">
76
+ <router-outlet></router-outlet>
77
+ </div>
78
+
79
+ <ecl-site-footer>
80
+ <div eclSiteFooterRow>
81
+ <div eclSiteFooterColumn>
82
+ <div eclSiteFooterSection isSiteInfo>
83
+ <div eclSiteFooterTitle>
84
+ <a eclLink
85
+ variant="standalone"
86
+ eclSiteFooterTitleLink
87
+ routerLink="/">Site name
88
+ </a>
89
+ </div>
90
+ <div eclSiteFooterDescription>
91
+ This site is managed by <a routerLink="/" eclLink variant="standalone">site owner name</a>
92
+ and is an official website of the European Union
93
+ </div>
94
+ </div>
95
+ </div>
96
+ <div eclSiteFooterColumn>
97
+ <div eclSiteFooterSection>
98
+ <div eclSiteFooterTitle
99
+ [isSeparator]="true">
100
+ Contact site name
101
+ </div>
102
+ <ul eclSiteFooterList>
103
+ <li eclSiteFooterListItem>
104
+ <a eclLink
105
+ eclSiteFooterLink
106
+ variant="standalone"
107
+ routerLink="/">
108
+ Link
109
+ </a>
110
+ </li>
111
+ </ul>
112
+ </div>
113
+ <div eclSiteFooterSection>
114
+ <div eclSiteFooterTitle
115
+ [isSeparator]="true">
116
+ Follow us
117
+ </div>
118
+ <ul eclSiteFooterList
119
+ [isInline]="true">
120
+ <li eclSiteFooterListItem>
121
+ <a eclLink
122
+ eclSiteFooterLink
123
+ variant="standalone"
124
+ routerLink="/">
125
+ <ecl-icon iconSet="social-media"
126
+ icon="facebook"
127
+ size="xs">
128
+ </ecl-icon>
129
+ <span eclLinkLabel>Social 1</span>
130
+ </a>
131
+ </li>
132
+ <li eclSiteFooterListItem>
133
+ <a eclLink
134
+ eclSiteFooterLink
135
+ variant="standalone"
136
+ routerLink="/">
137
+ <ecl-icon iconSet="social-media"
138
+ icon="twitter"
139
+ size="xs">
140
+ </ecl-icon>
141
+ <span eclLinkLabel>Social 2</span>
142
+ </a>
143
+ </li>
144
+ <li eclSiteFooterListItem>
145
+ <a eclLink
146
+ eclSiteFooterLink
147
+ variant="standalone"
148
+ routerLink="/">
149
+ <ecl-icon iconSet="social-media"
150
+ icon="mastodon"
151
+ size="xs">
152
+ </ecl-icon>
153
+ <span eclLinkLabel>Social 3</span>
154
+ </a>
155
+ </li>
156
+ </ul>
157
+ </div>
158
+ </div>
159
+ <div eclSiteFooterColumn>
160
+ <div eclSiteFooterSection>
161
+ <div eclSiteFooterTitle
162
+ [isSeparator]="true">
163
+ Optional links
164
+ </div>
165
+ <ul eclSiteFooterList>
166
+ <li eclSiteFooterListItem>
167
+ <a eclLink
168
+ eclSiteFooterLink
169
+ variant="standalone"
170
+ routerLink="/">
171
+ {{ 'ecl.footer.ACCESSIBILITY' | translate }}
172
+ </a>
173
+ </li>
174
+ <li eclSiteFooterListItem>
175
+ <a eclLink
176
+ eclSiteFooterLink
177
+ variant="standalone"
178
+ routerLink="/">
179
+ Link 2
180
+ </a>
181
+ </li>
182
+ <li eclSiteFooterListItem>
183
+ <a eclLink
184
+ eclSiteFooterLink
185
+ variant="standalone"
186
+ routerLink="/">
187
+ Link 3
188
+ </a>
189
+ </li>
190
+ <li eclSiteFooterListItem>
191
+ <a eclLink
192
+ eclSiteFooterLink
193
+ variant="standalone"
194
+ routerLink="/">
195
+ Link 4
196
+ </a>
197
+ </li>
198
+ </ul>
199
+ </div>
200
+ </div>
201
+ </div>
202
+ </ecl-site-footer>
203
+ </ecl-app>
@@ -0,0 +1,65 @@
1
+ import { Component, OnInit, Signal } from '@angular/core';
2
+ import { RouterOutlet } from '@angular/router';
3
+ import {
4
+ UserService,
5
+ UserState,
6
+ } from '@eui/core';
7
+ import { EclAppModule } from '@eui/ecl/components/ecl-app';
8
+ import { EclBreadcrumbModule } from '@eui/ecl/components/ecl-breadcrumb';
9
+ import { EclIconModule } from '@eui/ecl/components/ecl-icon';
10
+ import { EclMenuItemSelectEvent, EclMenuModule } from '@eui/ecl/components/ecl-menu';
11
+ import { EclLinkModule } from '@eui/ecl/components/ecl-link';
12
+ import { EclPageHeaderModule } from '@eui/ecl/components/ecl-page-header';
13
+ import { EclSiteFooterModule } from '@eui/ecl/components/ecl-site-footer';
14
+ import { EclSiteHeaderLoginEvent, EclSiteHeaderModule, EclSiteHeaderSearchEvent } from '@eui/ecl/components/ecl-site-header';
15
+ import { TranslateModule } from '@ngx-translate/core';
16
+
17
+ @Component({
18
+ selector: 'app-root',
19
+ templateUrl: './app.component.html',
20
+ standalone: true,
21
+ imports: [
22
+ EclAppModule,
23
+ EclBreadcrumbModule,
24
+ EclIconModule,
25
+ EclLinkModule,
26
+ EclMenuModule,
27
+ EclPageHeaderModule,
28
+ EclSiteHeaderModule,
29
+ EclSiteFooterModule,
30
+ RouterOutlet,
31
+ TranslateModule,
32
+ ]
33
+ })
34
+ export class AppComponent implements OnInit {
35
+
36
+ isLoggedIn = false;
37
+ userState: Signal<UserState>;
38
+ userInfos: UserState;
39
+
40
+ constructor(private userService: UserService<UserState>,) { }
41
+
42
+ ngOnInit(): void {
43
+ this.userState = this.userService.getSignal();
44
+ this.userInfos = this.userState();
45
+ }
46
+
47
+ onLogin(evt: EclSiteHeaderLoginEvent): void {
48
+ this.isLoggedIn = true;
49
+ console.log(evt);
50
+ }
51
+
52
+ onLogout(evt: MouseEvent): void {
53
+ this.isLoggedIn = false;
54
+ evt.preventDefault();
55
+ console.log('logout');
56
+ }
57
+
58
+ onSearch(evt: EclSiteHeaderSearchEvent): void {
59
+ console.log(evt);
60
+ }
61
+
62
+ onMenuItemSelected(evt: EclMenuItemSelectEvent): void {
63
+ console.log('menu item selected', evt);
64
+ }
65
+ }
@@ -0,0 +1,84 @@
1
+ import { inject, provideAppInitializer } from '@angular/core';
2
+ import { ApplicationConfig, importProvidersFrom } from '@angular/core';
3
+ import { provideRouter } from '@angular/router';
4
+ import { Observable } from 'rxjs';
5
+
6
+ import { routes } from './app.routes';
7
+ import { AppStarterService } from './app-starter.service';
8
+
9
+ import { TranslateModule } from '@ngx-translate/core';
10
+
11
+ import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
12
+ import {
13
+ CachePreventionInterceptor,
14
+ CorsSecurityInterceptor,
15
+ CsrfPreventionInterceptor,
16
+ EuLoginSessionTimeoutHandlingInterceptor,
17
+ CoreModule as EuiCoreModule,
18
+ translateConfig,
19
+ EUI_CONFIG_TOKEN,
20
+ provideEuiInitializer,
21
+ EuiServiceStatus,
22
+ } from '@eui/core';
23
+
24
+ import { appConfig as euiAppConfig} from '../config';
25
+ import { environment } from '../environments/environment';
26
+ import { provideAnimations } from '@angular/platform-browser/animations';
27
+
28
+ /**
29
+ * The provided function is injected at application startup and executed during
30
+ * app initialization. If the function returns a Promise or an Observable, initialization
31
+ * does not complete until the Promise is resolved or the Observable is completed.
32
+ */
33
+ const init = (): Observable<EuiServiceStatus> => {
34
+ const appStarter = inject(AppStarterService);
35
+ return appStarter.start();
36
+ };
37
+
38
+ export const appConfig: ApplicationConfig = {
39
+ providers: [
40
+ {
41
+ provide: EUI_CONFIG_TOKEN,
42
+ useValue: { appConfig: euiAppConfig, environment }
43
+ },
44
+ {
45
+ // Sets the withCredentials on Ajax Request to send the JSESSIONID cookie to another domain.
46
+ // This is necessary when a request is being made to another domain that is protected by EU Login.
47
+ provide: HTTP_INTERCEPTORS,
48
+ useClass: CorsSecurityInterceptor,
49
+ multi: true,
50
+ },
51
+ {
52
+ // When the authentication session is invalid, we need to re-authenticate. The browser refreshes the current URL,
53
+ // and lets the EU Login client redirect to the official EU Login page.
54
+ provide: HTTP_INTERCEPTORS,
55
+ useClass: EuLoginSessionTimeoutHandlingInterceptor,
56
+ multi: true,
57
+ },
58
+ {
59
+ // Adds HTTP header to each Ajax request that ensures the request is set by a piece of JavaScript code in the application.
60
+ // This prevents dynamically-loaded content from forging a request in the name of the currently logged-in user.
61
+ // Be aware that this assumes that cross-site scripting (XSS) is already put in place, (default setting in Angular).
62
+ provide: HTTP_INTERCEPTORS,
63
+ useClass: CsrfPreventionInterceptor,
64
+ multi: true,
65
+ },
66
+ {
67
+ // Asks the intermediate proxies not to return a cache copy of the resource.
68
+ // In matter of fact forces each server in the chain to validate the freshness of the resource.
69
+ provide: HTTP_INTERCEPTORS,
70
+ useClass: CachePreventionInterceptor,
71
+ multi: true,
72
+ },
73
+ provideEuiInitializer(),
74
+ provideAppInitializer(init),
75
+ provideHttpClient(withInterceptorsFromDi()),
76
+ importProvidersFrom(
77
+ EuiCoreModule.forRoot(),
78
+ TranslateModule.forRoot(translateConfig)
79
+ ),
80
+ AppStarterService,
81
+ provideRouter(routes),
82
+ provideAnimations(),
83
+ ],
84
+ };
@@ -0,0 +1,71 @@
1
+ <div class="ecl-container">
2
+ <div class="ecl-row">
3
+ <div class="ecl-col-12">
4
+ <main>
5
+ <h2 class="ecl-u-type-heading-2 ecl-u-mv-none">Purpose</h2>
6
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-none">
7
+ This library contains useful components that you can use to build your own website, following DG COMM guidelines.
8
+ </p>
9
+
10
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-m">All library elements are accompanied by</p>
11
+ <ul eclUnorderedList>
12
+ <li eclUnorderedListItem>documentation explaining what a component is and how it should be used</li>
13
+ <li eclUnorderedListItem>a visual demonstration</li>
14
+ <li eclUnorderedListItem>HTML/CSS code for implementation</li>
15
+ </ul>
16
+
17
+
18
+ <h2 class="ecl-u-type-heading-2 ecl-u-mt-xl ecl-u-mb-none">eUI/ECL integration</h2>
19
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-none">
20
+ eUI provides <a eclLink href="http://www.angular.io">Angular</a> implementation of <a eclLink href="https://ec.europa.eu/component-library/">ECL components,</a> enabling projects based on angular, get all benefints of having ECL compliant web application.
21
+ </p>
22
+
23
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-none">
24
+ It is also possible to use all eUI components in eui/ECL application by importing specific component module
25
+ or by importing all components pulling UxAllModule / EuiAllModule
26
+ </p>
27
+
28
+ <h2 class="ecl-u-type-heading-2 ecl-u-mt-xl ecl-u-mb-none">Documentation</h2>
29
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-m">
30
+ Documentation can be found as live showcase of all components available, as well as other building blocks, such
31
+ as utility css classes, typography, colors etc.
32
+ </p>
33
+
34
+ <ul eclUnorderedList>
35
+ <li eclUnorderedListItem><a eclLink href="https://ec.europa.eu/component-library">ECL reference documentation</a></li>
36
+ <li eclUnorderedListItem><a eclLink href="https://eui.ecdevops.eu/">eUI library</a></li>
37
+ </ul>
38
+
39
+ <h2 class="ecl-u-type-heading-2 ecl-u-mt-xl ecl-u-mb-none">Support</h2>
40
+ <p class="ecl-u-type-paragraph ecl-u-mt-m ecl-u-mb-none">
41
+ For support in building a European Commission website using the ECL, please contact <a eclLink href="mailto:Europamanagement&#64;ec.europa.eu">COMM Europa Management</a> (CEM)
42
+ </p>
43
+
44
+ <p>For support in building a European Commission website using the eui/ECL integration, please contact
45
+ <a eclLink href="DIGIT-EUI-SUPPORT@ec.europa.eu">DIGIT eUI Support</a> team.
46
+ </p>
47
+
48
+ <h2 class="ecl-u-type-heading-2 ecl-u-mt-xl ecl-u-mb-none">Contact</h2>
49
+
50
+ <dl eclDescriptionList [isHorizontal]="true" class="ecl-u-mt-m">
51
+ <dt eclDescriptionListTerm>Microsoft Teams</dt>
52
+ <dd eclDescriptionListDefinition>
53
+ <a eclLink href="https://teams.microsoft.com/l/team/19%3a2f5bb6b7d1e24c4aabaa62229d3e1955%40thread.tacv2/conversations?groupId=fb6def72-c57b-4e8f-a82e-49be65d6e1f5&tenantId=b24c8b06-522c-46fe-9080-70926f8dddb1">
54
+ https://teams.microsoft.com
55
+ </a>
56
+ </dd>
57
+
58
+ <dt eclDescriptionListTerm>DIGIT eUI Support</dt>
59
+ <dd eclDescriptionListDefinition>
60
+ <a eclLink href="mailto:DIGIT-EUI-SUPPORT@ec.europa.eu">DIGIT-EUI-SUPPORT&#64;ec.europa.eu</a>
61
+ </dd>
62
+
63
+ <dt eclDescriptionListTerm>COMM Europa Management</dt>
64
+ <dd eclDescriptionListDefinition>
65
+ <a eclLink href="mailto:Europamanagement@ec.europa.eu">Europamanagement&#64;ec.europa.eu</a>
66
+ </dd>
67
+ </dl>
68
+ </main>
69
+ </div>
70
+ </div>
71
+ </div>
@@ -0,0 +1,20 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { CONFIG_TOKEN, EuiAppConfig } from '@eui/core';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { EclListModule } from '@eui/ecl/components/ecl-list';
5
+ import { EclLinkModule } from '@eui/ecl/components/ecl-link';
6
+
7
+ @Component({
8
+ templateUrl: './home.component.html',
9
+ standalone: true,
10
+ imports: [
11
+ TranslateModule,
12
+ EclLinkModule,
13
+ EclListModule,
14
+ ],
15
+ })
16
+ export class HomeComponent {
17
+ constructor(@Inject(CONFIG_TOKEN) protected config: EuiAppConfig) {
18
+ console.log(config);
19
+ }
20
+ }
@@ -0,0 +1,7 @@
1
+ import { Component } from '@angular/core';
2
+
3
+ @Component({
4
+ templateUrl: './page1.component.html',
5
+ standalone: true,
6
+ })
7
+ export class Page1Component {}
@@ -0,0 +1,7 @@
1
+ import { Component } from '@angular/core';
2
+
3
+ @Component({
4
+ templateUrl: './page2.component.html',
5
+ standalone: true,
6
+ })
7
+ export class Page2Component {}
@@ -0,0 +1,7 @@
1
+ import { Component } from '@angular/core';
2
+
3
+ @Component({
4
+ templateUrl: './module1.component.html',
5
+ standalone: true,
6
+ })
7
+ export class Module1Component {}