@eui/cli 21.0.0-alpha.4 → 21.0.0-alpha.40
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.
- package/README.md +1 -1
- package/bin/eui-cli.js +67 -0
- package/bin/scripts/build-app.js +12 -0
- package/bin/scripts/lint-app.js +22 -0
- package/bin/scripts/new.js +39 -0
- package/bin/scripts/serve-app.js +12 -0
- package/lib/app-utils/build.js +176 -0
- package/lib/app-utils/projects.js +41 -0
- package/lib/app-utils/serve.js +78 -0
- package/lib/build.js +130 -0
- package/lib/cli.js +140 -0
- package/lib/config.js +59 -0
- package/lib/generators.js +72 -0
- package/lib/install.js +45 -0
- package/lib/maven-build/build.xml +115 -0
- package/lib/maven-build/lib/ant-contrib-20061014.jar +0 -0
- package/lib/maven-build/pom.xml +64 -0
- package/lib/post-build.js +31 -0
- package/lib/skeletons/_angular/base/.browserslistrc +16 -0
- package/lib/skeletons/_angular/base/.editorconfig +16 -0
- package/lib/skeletons/_angular/base/README.md +26 -0
- package/lib/skeletons/_angular/base/angular.json +129 -0
- package/lib/skeletons/_angular/base/gitignore_TO_REPLACE +51 -0
- package/lib/skeletons/_angular/base/mock/app/models/user.js +6 -0
- package/lib/skeletons/_angular/base/mock/app/routes/index.js +5 -0
- package/lib/skeletons/_angular/base/mock/app/routes/user_routes.js +44 -0
- package/lib/skeletons/_angular/base/mock/db/db.json +10 -0
- package/lib/skeletons/_angular/base/mock/server.js +23 -0
- package/lib/skeletons/_angular/base/package.json +39 -0
- package/lib/skeletons/_angular/base/proxy-mock.conf.json +6 -0
- package/lib/skeletons/_angular/base/proxy.conf.json +6 -0
- package/lib/skeletons/_angular/base/src/.eslintrc.json +121 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app.component.html +35 -0
- package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +60 -0
- package/lib/skeletons/_angular/base/src/app/app.component.ts +35 -0
- package/lib/skeletons/_angular/base/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/base/src/app/app.routes.ts +9 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +41 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +17 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.routes.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-dev.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-prod.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/en.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/fr.json +7 -0
- package/lib/skeletons/_angular/base/src/config/global.ts +33 -0
- package/lib/skeletons/_angular/base/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base/src/dummy.spec.ts +6 -0
- package/lib/skeletons/_angular/base/src/environments/environment.prod.ts +11 -0
- package/lib/skeletons/_angular/base/src/environments/environment.ts +15 -0
- package/lib/skeletons/_angular/base/src/favicon.ico +0 -0
- package/lib/skeletons/_angular/base/src/index.html +20 -0
- package/lib/skeletons/_angular/base/src/karma.conf.js +47 -0
- package/lib/skeletons/_angular/base/src/main.ts +20 -0
- package/lib/skeletons/_angular/base/src/styles.scss +1 -0
- package/lib/skeletons/_angular/base/src/tsconfig.app.json +18 -0
- package/lib/skeletons/_angular/base/src/tsconfig.spec.json +10 -0
- package/lib/skeletons/_angular/base/tsconfig.json +27 -0
- package/lib/skeletons/_angular/base-mobile/angular.json +156 -0
- package/lib/skeletons/_angular/base-mobile/ionic.config.json +5 -0
- package/lib/skeletons/_angular/base-mobile/ngsw-config.json +33 -0
- package/lib/skeletons/_angular/base-mobile/package.json +27 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-starter.service.ts +73 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +47 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +44 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/components/.gitkeep +0 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +89 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +32 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about-routing.module.ts +45 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +70 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +19 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +30 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +102 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.html +20 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +75 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +12 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.html +48 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +31 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +103 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +9 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +21 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/shared.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/en.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/es.json +24 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/fr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/tr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +10 -0
- package/lib/skeletons/_angular/base-mobile/src/config/global.ts +39 -0
- package/lib/skeletons/_angular/base-mobile/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/index.html +76 -0
- package/lib/skeletons/_angular/base-mobile/src/main.ts +23 -0
- package/lib/skeletons/_angular/base-mobile/src/manifest.webmanifest +66 -0
- package/lib/skeletons/_angular/base-mobile/src/tsconfig.app.json +20 -0
- package/lib/skeletons/_angular/base-mobile/tsconfig.json +27 -0
- package/lib/skeletons/_angular/options/ecl-ec/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +237 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/config/global.ts +23 -0
- package/lib/skeletons/_angular/options/ecl-eu/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +203 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +15 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/config/global.ts +23 -0
- package/lib/skeletons/_angular/options/pnpm/package.json +72 -0
- package/lib/skeletons/web-maven/package.json +17 -0
- package/lib/skeletons/web-maven/pom.xml +55 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/servlet/SpringWebApplicationInitializer.java +22 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/SpringRestConfiguration.java +24 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/rest/UserDetailsResource.java +23 -0
- package/lib/skeletons/web-maven/src/main/resources/ecas-config-application-name.xml +7 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/dispatcher-servlet.xml +11 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/web.xml +38 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/weblogic.xml +16 -0
- package/lib/skeletons/web-maven/src/main/webapp/index.jsp +30 -0
- package/lib/skeletons/web-spring-boot/myapp-web/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java +46 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Address.java +65 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Building.java +44 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/repositories/BuildingRepository.java +11 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/BuildingResource.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/SwaggerConfig.java +16 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HateoasPageableHandlerMethodArgumentResolver.java +45 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HypermediaSupport.java +25 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/PageJsonSerializer.java +17 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CachingPreventionFilter.java +29 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CsrfPreventionFilter.java +35 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/FakeAuthenticationFilter.java +372 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/SecurityConfig.java +47 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingSearchCriteria.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingService.java +10 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingServiceImpl.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/application.properties +0 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/data.sql +11 -0
- package/lib/skeletons/web-spring-boot/pom.xml +30 -0
- package/lib/utils.js +217 -0
- package/package.json +10 -13
- 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 { EUI_ECL_APP } from '@eui/ecl/components/ecl-app';
|
|
8
|
+
import { EUI_ECL_BREADCRUMB } from '@eui/ecl/components/ecl-breadcrumb';
|
|
9
|
+
import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
10
|
+
import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
11
|
+
import { EclMenuItemSelectEvent, EUI_ECL_MENU } from '@eui/ecl/components/ecl-menu';
|
|
12
|
+
import { EUI_ECL_PAGE_HEADER } from '@eui/ecl/components/ecl-page-header';
|
|
13
|
+
import { EUI_ECL_SITE_FOOTER } from '@eui/ecl/components/ecl-site-footer';
|
|
14
|
+
import { EclSiteHeaderLoginEvent, EclSiteHeaderSearchEvent, EUI_ECL_SITE_HEADER } 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
|
+
...EUI_ECL_APP,
|
|
23
|
+
...EUI_ECL_BREADCRUMB,
|
|
24
|
+
...EUI_ECL_ICON,
|
|
25
|
+
...EUI_ECL_LINK,
|
|
26
|
+
...EUI_ECL_MENU,
|
|
27
|
+
...EUI_ECL_PAGE_HEADER,
|
|
28
|
+
...EUI_ECL_SITE_HEADER,
|
|
29
|
+
...EUI_ECL_SITE_FOOTER,
|
|
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@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@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@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 { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
4
|
+
import { EUI_ECL_LIST } from '@eui/ecl/components/ecl-list';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
templateUrl: './home.component.html',
|
|
9
|
+
standalone: true,
|
|
10
|
+
imports: [
|
|
11
|
+
TranslateModule,
|
|
12
|
+
...EUI_ECL_LINK,
|
|
13
|
+
...EUI_ECL_LIST,
|
|
14
|
+
],
|
|
15
|
+
})
|
|
16
|
+
export class HomeComponent {
|
|
17
|
+
constructor(@Inject(CONFIG_TOKEN) protected config: EuiAppConfig) {
|
|
18
|
+
console.log(config);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h2>Module1 - Page 1</h2>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h2>Module 1 - page 2</h2>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h2>Module1 - HOME</h2>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h2>Module2 - HOME</h2>
|