From adc36327df080d134ac00b409414ee006e9c5f08 Mon Sep 17 00:00:00 2001 From: Florent Gravin Date: Mon, 18 Sep 2023 10:01:17 +0200 Subject: [PATCH 1/6] geocat: customize runs proxy, nx, docker, github actions --- .github/workflows/artifacts.yml | 20 ++++++++++++-------- .github/workflows/checks.yml | 19 +++++++++++-------- .github/workflows/deploy.yml | 4 ++-- .github/workflows/snyk-security.yml | 2 +- .github/workflows/webcomponents.yml | 8 +++----- nx.json | 2 +- proxy-config.js | 2 +- tools/print-docker-tag.sh | 4 ++-- 8 files changed, 33 insertions(+), 28 deletions(-) diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml index 2e6c8f2c1..347cee686 100644 --- a/.github/workflows/artifacts.yml +++ b/.github/workflows/artifacts.yml @@ -6,7 +6,7 @@ run-name: 📦 Generate artifacts for ${{ github.event_name == 'issue_comment' & on: push: branches: - - main + - geocat release: types: [published] issue_comment: @@ -59,7 +59,7 @@ jobs: - name: Derive appropriate SHAs for base and head for `nx affected` commands uses: nrwl/nx-set-shas@v2 with: - main-branch-name: 'main' + main-branch-name: 'geocat' - name: Install dependencies run: npm ci @@ -95,22 +95,26 @@ jobs: - name: Tag all docker images on main also as latest if: github.event_name == 'push' # only happens when pushing on the main branch - run: docker image ls --format 'docker tag {{.Repository}}:{{.Tag}} {{.Repository}}:latest' --filter=reference='geonetwork/*' | bash - + run: docker image ls --format 'docker tag {{.Repository}}:{{.Tag}} {{.Repository}}:latest' --filter=reference='camptocamp/*' | bash - - - name: Login to DockerHub + - name: Login to Github Packages uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_PASSWORD }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Push all docker images # list all docker images, keep only the ones in the geonetwork org, and call docker push for each of them run: | - docker image ls --format '{{.Repository}}:{{.Tag}}' --filter=reference='geonetwork/*' | \ + docker image ls --format '{{.Repository}}:{{.Tag}}' --filter=reference='camptocamp/*' | \ + xargs -I '{}' docker tag '{}' ghcr.io/'{}' + docker image ls --format '{{.Repository}}:{{.Tag}}' |grep ghcr.io | \ xargs -r -L1 docker push $1 build-npm-package: - if: github.event_name != 'issue_comment' + # if: github.event_name != 'issue_comment' + if: false # disabled for geocat name: Build and publish NPM package runs-on: ubuntu-latest diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 96aeaa13e..0d5fc4986 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -10,7 +10,7 @@ env: on: push: branches: - - main + - geocat pull_request: types: [opened, synchronize, ready_for_review] @@ -18,7 +18,7 @@ on: # on QA checks concurrency: group: checks-${{ github.ref }} - cancel-in-progress: ${{ github.ref_name != 'main' }} + cancel-in-progress: ${{ github.ref_name != 'geocat' }} jobs: format-lint-test: @@ -40,16 +40,16 @@ jobs: - name: Derive appropriate SHAs for base and head for `nx affected` commands uses: nrwl/nx-set-shas@v2 with: - main-branch-name: 'main' + main-branch-name: 'geocat' - run: npm ci - run: npx nx format:check - run: npx nx affected -t lint --parallel=3 - run: npx nx affected -t test --parallel=3 --configuration=ci --ci --codeCoverage --coverageReporters=lcov - - name: Coveralls - uses: coverallsapp/github-action@v2 - with: - allow-empty: true + # - name: Coveralls + # uses: coverallsapp/github-action@v2 + # with: + # allow-empty: true # - name: Archive Code Coverage Results (on main) # if: github.event_name != 'pull_request' @@ -91,7 +91,7 @@ jobs: - name: Derive appropriate SHAs for base and head for `nx affected` commands uses: nrwl/nx-set-shas@v2 with: - main-branch-name: 'main' + main-branch-name: 'geocat' - run: npm ci - run: npx nx affected -t build --parallel=3 @@ -115,6 +115,8 @@ jobs: - name: Derive appropriate SHAs for base and head for `nx affected` commands uses: nrwl/nx-set-shas@v3 + with: + main-branch-name: 'geocat' - name: Install dependencies run: npm ci @@ -145,6 +147,7 @@ jobs: cypress-run: name: End-to-end tests runs-on: ubuntu-latest + if: false # skip for geocat outputs: screenshotsUrl: ${{ steps.upload-screenshots.outputs.artifact-url }} steps: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7320553d0..a0d90ee01 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -9,7 +9,7 @@ env: on: push: branches: - - main + - geocat issue_comment: types: - edited @@ -38,7 +38,7 @@ jobs: name: Deploy Storybook to GitHub Pages runs-on: ubuntu-latest env: - BRANCH_NAME: ${{needs.checks.outputs.ref || 'main'}} + BRANCH_NAME: ${{needs.checks.outputs.ref || 'geocat'}} steps: - name: Dump GitHub event diff --git a/.github/workflows/snyk-security.yml b/.github/workflows/snyk-security.yml index e114be3fe..9948981c1 100644 --- a/.github/workflows/snyk-security.yml +++ b/.github/workflows/snyk-security.yml @@ -21,7 +21,7 @@ run-name: 🐺 Run Snyk on ${{ github.event_name == 'pull_request' && 'PR' || ' on: push: - branches: ['main'] + branches: ['geocat'] pull_request: types: [opened, synchronize, ready_for_review] diff --git a/.github/workflows/webcomponents.yml b/.github/workflows/webcomponents.yml index e090eb78b..87050b2da 100644 --- a/.github/workflows/webcomponents.yml +++ b/.github/workflows/webcomponents.yml @@ -5,9 +5,7 @@ run-name: 🧩 Build Web Components for ${{ github.event_name == 'issue_comment' on: push: branches: - - main - tags: - - 'v*.*.*' + - geocat release: types: [published] @@ -56,10 +54,10 @@ jobs: tag: ${{ github.ref }} overwrite: true - - name: Publish web component to ${{ env.PUBLISH_BRANCH }}-${{ github.ref_name }} branch + - name: Publish web component to ${{ env.PUBLISH_BRANCH }} branch uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} force_orphan: true publish_dir: ./wc-dist - publish_branch: ${{ env.PUBLISH_BRANCH }}-${{ github.ref_name }} + publish_branch: ${{ env.PUBLISH_BRANCH }} diff --git a/nx.json b/nx.json index 561c05319..e8e66f2e9 100644 --- a/nx.json +++ b/nx.json @@ -1,6 +1,6 @@ { "affected": { - "defaultBase": "remotes/origin/main" + "defaultBase": "remotes/geocat/geocat" }, "npmScope": "geonetwork-ui", "tasksRunnerOptions": { diff --git a/proxy-config.js b/proxy-config.js index e492ffdbc..54bae27fa 100644 --- a/proxy-config.js +++ b/proxy-config.js @@ -1,6 +1,6 @@ module.exports = { '/geonetwork': { - target: 'http://localhost:8080', + target: 'https://www.geocat.ch', secure: true, logLevel: 'debug', changeOrigin: true, diff --git a/tools/print-docker-tag.sh b/tools/print-docker-tag.sh index d86b7bb3c..b40c693a3 100755 --- a/tools/print-docker-tag.sh +++ b/tools/print-docker-tag.sh @@ -9,8 +9,8 @@ gitTag=$(git describe --exact-match --tags 2>/dev/null | sed "s/^v//") # remove gitBranch=$(git symbolic-ref --short HEAD) gitRef=$(git rev-parse --short HEAD) dockerTag=${gitTag:-${gitBranch}} -if [ ${dockerTag} == "main" ]; then +if [ ${dockerTag} == "geocat" ]; then dockerTag=${dockerTag}-${gitRef} fi -echo "geonetwork/geonetwork-ui-${appName}:${dockerTag}" +echo "camptocamp/geocat-geonetwork-ui-${appName}:${dockerTag}" From 10d22216daadc3723d271d5ab91e2c17148fd2b9 Mon Sep 17 00:00:00 2001 From: Olivia Guyot Date: Mon, 18 Sep 2023 13:24:34 +0200 Subject: [PATCH 2/6] geocat: add location filter in search & location input in home page --- apps/datahub/src/app/app.module.ts | 5 + .../home-header/home-header.component.html | 17 ++- .../home/home-header/home-header.component.ts | 22 ++- .../elasticsearch.service.spec.ts | 27 ++-- .../elasticsearch/elasticsearch.service.ts | 33 ++--- .../router/src/lib/default/constants.ts | 2 + .../services/router-search.service.spec.ts | 57 +++++++- .../default/services/router-search.service.ts | 21 ++- .../lib/default/state/router.effects.spec.ts | 51 ++++--- .../src/lib/default/state/router.effects.ts | 37 ++++- libs/feature/search/src/index.ts | 4 + .../search/src/lib/feature-search.module.ts | 3 + .../fuzzy-search.component.spec.ts | 3 +- .../fuzzy-search/fuzzy-search.component.ts | 20 ++- .../location-search-result.model.ts | 27 ++++ .../location-search.component.css | 0 .../location-search.component.html | 10 ++ .../location-search.component.spec.ts | 128 ++++++++++++++++++ .../location-search.component.ts | 89 ++++++++++++ .../location-search.service.spec.ts | 118 ++++++++++++++++ .../location-search.service.ts | 44 ++++++ libs/feature/search/src/lib/state/actions.ts | 23 ++++ .../search/src/lib/state/effects.spec.ts | 61 ++++++++- libs/feature/search/src/lib/state/effects.ts | 34 ++++- .../search/src/lib/state/reducer.spec.ts | 27 ++++ libs/feature/search/src/lib/state/reducer.ts | 25 ++++ .../search/src/lib/state/search.facade.ts | 26 ++++ .../feature/search/src/lib/state/selectors.ts | 9 ++ .../lib/utils/service/search.service.spec.ts | 32 +++++ .../src/lib/utils/service/search.service.ts | 11 ++ .../autocomplete/autocomplete.component.html | 2 +- .../autocomplete.component.stories.ts | 19 ++- .../autocomplete/autocomplete.component.ts | 4 +- 33 files changed, 921 insertions(+), 70 deletions(-) create mode 100644 libs/feature/search/src/lib/location-search/location-search-result.model.ts create mode 100644 libs/feature/search/src/lib/location-search/location-search.component.css create mode 100644 libs/feature/search/src/lib/location-search/location-search.component.html create mode 100644 libs/feature/search/src/lib/location-search/location-search.component.spec.ts create mode 100644 libs/feature/search/src/lib/location-search/location-search.component.ts create mode 100644 libs/feature/search/src/lib/location-search/location-search.service.spec.ts create mode 100644 libs/feature/search/src/lib/location-search/location-search.service.ts diff --git a/apps/datahub/src/app/app.module.ts b/apps/datahub/src/app/app.module.ts index 9c4b45833..d8b1524f6 100644 --- a/apps/datahub/src/app/app.module.ts +++ b/apps/datahub/src/app/app.module.ts @@ -80,6 +80,7 @@ import { RecordOtherlinksComponent } from './record/record-otherlinks/record-oth import { RecordDownloadsComponent } from './record/record-downloads/record-downloads.component' import { RecordApisComponent } from './record/record-apis/record-apis.component' import { MatTabsModule } from '@angular/material/tabs' +import { ORGANIZATIONS_STRATEGY } from '@geonetwork-ui/api/repository/gn4' export const metaReducers: MetaReducer[] = !environment.production ? [] : [] // https://github.com/nrwl/nx/issues/191 @@ -201,6 +202,10 @@ export const metaReducers: MetaReducer[] = !environment.production ? [] : [] provide: ORGANIZATION_URL_TOKEN, useValue: `${ROUTER_ROUTE_SEARCH}?${ROUTE_PARAMS.PUBLISHER}=\${name}`, }, + { + provide: ORGANIZATIONS_STRATEGY, + useValue: 'groups', + }, ], bootstrap: [AppComponent], }) diff --git a/apps/datahub/src/app/home/home-header/home-header.component.html b/apps/datahub/src/app/home/home-header/home-header.component.html index f54e1905b..ba867ebcf 100644 --- a/apps/datahub/src/app/home/home-header/home-header.component.html +++ b/apps/datahub/src/app/home/home-header/home-header.component.html @@ -14,11 +14,18 @@ [style.opacity]="expandRatio" [innerHTML]="'datahub.header.title.html' | translate" > - +
+ + +
diff --git a/apps/datahub/src/app/app.module.ts b/apps/datahub/src/app/app.module.ts index d8b1524f6..331d93669 100644 --- a/apps/datahub/src/app/app.module.ts +++ b/apps/datahub/src/app/app.module.ts @@ -81,6 +81,7 @@ import { RecordDownloadsComponent } from './record/record-downloads/record-downl import { RecordApisComponent } from './record/record-apis/record-apis.component' import { MatTabsModule } from '@angular/material/tabs' import { ORGANIZATIONS_STRATEGY } from '@geonetwork-ui/api/repository/gn4' +import { GeocatHeaderComponent } from './home/geocat-header/geocat-header.component' export const metaReducers: MetaReducer[] = !environment.production ? [] : [] // https://github.com/nrwl/nx/issues/191 @@ -105,6 +106,7 @@ export const metaReducers: MetaReducer[] = !environment.production ? [] : [] RecordOtherlinksComponent, RecordDownloadsComponent, RecordApisComponent, + GeocatHeaderComponent, ], imports: [ BrowserModule, diff --git a/apps/datahub/src/app/home/geocat-header/geocat-header.component.html b/apps/datahub/src/app/home/geocat-header/geocat-header.component.html new file mode 100644 index 000000000..7fd1bb832 --- /dev/null +++ b/apps/datahub/src/app/home/geocat-header/geocat-header.component.html @@ -0,0 +1,16 @@ + diff --git a/apps/datahub/src/app/home/geocat-header/geocat-header.component.spec.ts b/apps/datahub/src/app/home/geocat-header/geocat-header.component.spec.ts new file mode 100644 index 000000000..aa591d933 --- /dev/null +++ b/apps/datahub/src/app/home/geocat-header/geocat-header.component.spec.ts @@ -0,0 +1,28 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { GeocatHeaderComponent } from './geocat-header.component' +import { TranslateModule } from '@ngx-translate/core' + +jest.mock('@geonetwork-ui/util/app-config', () => ({ + getGlobalConfig: jest.fn(() => ({ + LANGUAGES: ['de', 'fr'], + })), +})) + +describe('GeocatHeaderComponent', () => { + let component: GeocatHeaderComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [GeocatHeaderComponent], + imports: [TranslateModule.forRoot()], + }) + fixture = TestBed.createComponent(GeocatHeaderComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/apps/datahub/src/app/home/geocat-header/geocat-header.component.ts b/apps/datahub/src/app/home/geocat-header/geocat-header.component.ts new file mode 100644 index 000000000..f12bb19f6 --- /dev/null +++ b/apps/datahub/src/app/home/geocat-header/geocat-header.component.ts @@ -0,0 +1,26 @@ +import { Component } from '@angular/core' +import { TranslateService } from '@ngx-translate/core' +import { LANG_2_TO_3_MAPPER } from '@geonetwork-ui/util/i18n' +import { getGlobalConfig } from '@geonetwork-ui/util/app-config' + +@Component({ + selector: 'datahub-geocat-header', + templateUrl: './geocat-header.component.html', +}) +export class GeocatHeaderComponent { + showLanguageSwitcher = getGlobalConfig().LANGUAGES?.length > 0 + + constructor(private translate: TranslateService) {} + + get docLink() { + return `https://www.geocat.admin.ch/${ + this.translate.currentLang || 'en' + }/home.html` + } + + get gnLink() { + return `/geonetwork/srv/${ + LANG_2_TO_3_MAPPER[this.translate.currentLang] || 'eng' + }/catalog.edit#/board` + } +} diff --git a/apps/datahub/src/app/home/home-header/home-header.component.html b/apps/datahub/src/app/home/home-header/home-header.component.html index ba867ebcf..0897e811d 100644 --- a/apps/datahub/src/app/home/home-header/home-header.component.html +++ b/apps/datahub/src/app/home/home-header/home-header.component.html @@ -84,8 +84,4 @@ > - diff --git a/apps/datahub/src/app/home/home-header/home-header.component.spec.ts b/apps/datahub/src/app/home/home-header/home-header.component.spec.ts index 1d764bdd7..7c92669ae 100644 --- a/apps/datahub/src/app/home/home-header/home-header.component.spec.ts +++ b/apps/datahub/src/app/home/home-header/home-header.component.spec.ts @@ -260,7 +260,8 @@ describe('HeaderComponent', () => { }) }) - describe('language switcher', () => { + // skipped for geocat + describe.skip('language switcher', () => { describe('given predefined languages', () => { it('should display language switcher', () => { const languageSwitcher = fixture.debugElement.queryAll( diff --git a/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html b/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html index ea68c4e4d..7cfe1ea08 100644 --- a/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +++ b/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html @@ -6,5 +6,6 @@ ariaName="languages" [showTitle]="false" extraBtnClass="bg-transparent flex justify-items-center !pl-2 !py-1" + class="text-sm" > From 2072ba1343a2847d4e86ebfef2d019b740d17cc1 Mon Sep 17 00:00:00 2001 From: tkohr Date: Fri, 22 Mar 2024 11:50:06 +0100 Subject: [PATCH 5/6] geocat: adapt UI to latest geocat mockups (#12) --- .../home/navigation-menu/navigation-menu.component.html | 2 +- .../home/navigation-menu/navigation-menu.component.ts | 4 ++-- .../record/header-record/header-record.component.html | 9 +++++---- .../navigation-button/navigation-button.component.html | 9 +++++---- tailwind.base.config.js | 4 ++++ 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.html b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.html index 2e795396d..3b9587fac 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.html +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.html @@ -6,7 +6,7 @@ ? 'decoration-primary' : 'decoration-transparent hover:decoration-primary transition-colors' " - class="hidden sm:block sm:py-4 uppercase truncate underline decoration-4 underline-offset-[19px]" + class="hidden sm:block sm:py-4 uppercase truncate font-title text-sm underline decoration-4 underline-offset-[19px]" [style.color]="foregroundColor" translate > diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts index 5523592a0..c62f391f6 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts @@ -9,7 +9,7 @@ import { ROUTER_ROUTE_NEWS, ROUTER_ROUTE_ORGANISATIONS, } from '../../router/constants' -import { getThemeConfig } from '@geonetwork-ui/util/app-config' +// import { getThemeConfig } from '@geonetwork-ui/util/app-config' marker('datahub.header.news') marker('datahub.header.datasets') @@ -21,7 +21,7 @@ marker('datahub.header.organisations') changeDetection: ChangeDetectionStrategy.OnPush, }) export class NavigationMenuComponent { - foregroundColor = getThemeConfig().HEADER_FOREGROUND_COLOR || '#ffffff' + foregroundColor = /*getThemeConfig().HEADER_FOREGROUND_COLOR ||*/ '#ffffff' displayMobileMenu = false tabLinks = [ { diff --git a/apps/datahub/src/app/record/header-record/header-record.component.html b/apps/datahub/src/app/record/header-record/header-record.component.html index 57c5637e7..732c0240f 100644 --- a/apps/datahub/src/app/record/header-record/header-record.component.html +++ b/apps/datahub/src/app/record/header-record/header-record.component.html @@ -9,6 +9,7 @@ [label]="'datahub.search.back' | translate" [icon]="'arrow_back'" [style.--navigation-button-color]="foregroundColor" + [style.--color-background]="'#ffffff'" > @@ -17,17 +18,17 @@ *ngIf="metadata?.uniqueIdentifier" [record]="metadata" [displayCount]="false" - class="flex text-background content-center" + class="flex text-background content-center bg-white rounded px-2 items-center justify-center font-semibold text-sm leading-5" [style.color]="foregroundColor" [style.--star-toggle-enabled-color]="foregroundColor" [style.--star-toggle-disabled-color]="foregroundColor" > - + > -->
- {{ - icon - }} + {{ icon }} {{ label.toUpperCase() }} Date: Wed, 10 Apr 2024 15:36:07 +0000 Subject: [PATCH 6/6] fix: upgrade @ltd/j-toml from 1.35.3 to 1.38.0 Snyk has created this PR to upgrade @ltd/j-toml from 1.35.3 to 1.38.0. See this package in npm: https://www.npmjs.com/package/@ltd/j-toml See this project in Snyk: https://app.snyk.io/org/renatamuellerc2c/project/db6d34a8-3256-44b7-9ed6-dd51d71c7afe?utm_source=github&utm_medium=referral&page=upgrade-pr --- package/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/package.json b/package/package.json index cf48675b4..f00a05dd6 100644 --- a/package/package.json +++ b/package/package.json @@ -40,7 +40,7 @@ "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@camptocamp/ogc-client": "^0.4.0", "@geospatial-sdk/geocoding": "^0.0.5-alpha.2", - "@ltd/j-toml": "~1.35.2", + "@ltd/j-toml": "~1.38.0", "@messageformat/core": "^3.0.1", "@nx/angular": "16.6.0", "@rgrove/parse-xml": "~4.0.1",