Skip to content

Commit

Permalink
Merge pull request #672 from geonetwork/sanitize-html-whitespaces
Browse files Browse the repository at this point in the history
Datahub: Fix abstract display in record preview
  • Loading branch information
tkohr authored Nov 6, 2023
2 parents dbc10d3 + 8875d8e commit 499c9ac
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ import {
Output,
TemplateRef,
} from '@angular/core'
import { propagateToDocumentOnly, stripHtml } from '@geonetwork-ui/util/shared'
import {
propagateToDocumentOnly,
stripHtml,
removeWhitespace,
} from '@geonetwork-ui/util/shared'
import { MetadataQualityDisplay } from '@geonetwork-ui/ui/elements'
import { fromEvent, Subscription } from 'rxjs'
import {
Expand Down Expand Up @@ -54,7 +58,7 @@ export class RecordPreviewComponent implements OnInit, OnDestroy {
constructor(protected elementRef: ElementRef) {}

ngOnInit(): void {
this.abstract = stripHtml(this.record?.abstract)
this.abstract = removeWhitespace(stripHtml(this.record?.abstract))
this.subscription.add(
fromEvent(this.elementRef.nativeElement, 'click').subscribe(
(event: Event) => {
Expand Down
1 change: 1 addition & 0 deletions libs/util/shared/src/lib/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export * from './parse'
export * from './strip-html'
export * from './remove-whitespace'
export * from './geojson'
export * from './sort-by'
export * from './url'
Expand Down
16 changes: 16 additions & 0 deletions libs/util/shared/src/lib/utils/remove-whitespace.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { removeWhitespace } from './remove-whitespace'

describe('#removeWhitespace', () => {
it('removes superfluent whitespace for a single word', () => {
const html = ' hello '
expect(removeWhitespace(html)).toBe('hello')
})
it('removes superfluent whitespace for a paragraph', () => {
const html = `Service WFS pour les concentrations moyennes journalières des principaux polluants.
Concentrations moyennes journalières issues du réseau fixe des principaux polluants réglementés dans l’air sur la région Hauts-de-France : dioxyde de soufre SO2, monoxyde d’azote NO et dioxyde d’azote NO2, particules en suspension PM10, particules en suspension PM2.5, ozone O3, benzène C6H6, monoxyde de carbone CO. Toutes les données fournies sont en μg/m³ (microgramme par mètre cube) sauf CO (mg/m³). Généalogie au sens Inspire : Mesures de terrain automatiques. Les concentrations moyennes ont été calculées conformément au guide méthodologique pour le calcul des statistiques relative à la qualité de l’air (LCSQA 2016) à partir des données mesurées selon`
expect(removeWhitespace(html)).toBe(
`Service WFS pour les concentrations moyennes journalières des principaux polluants. Concentrations moyennes journalières issues du réseau fixe des principaux polluants réglementés dans l’air sur la région Hauts-de-France : dioxyde de soufre SO2, monoxyde d’azote NO et dioxyde d’azote NO2, particules en suspension PM10, particules en suspension PM2.5, ozone O3, benzène C6H6, monoxyde de carbone CO. Toutes les données fournies sont en μg/m³ (microgramme par mètre cube) sauf CO (mg/m³). Généalogie au sens Inspire : Mesures de terrain automatiques. Les concentrations moyennes ont été calculées conformément au guide méthodologique pour le calcul des statistiques relative à la qualité de l’air (LCSQA 2016) à partir des données mesurées selon`
)
})
})
3 changes: 3 additions & 0 deletions libs/util/shared/src/lib/utils/remove-whitespace.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const removeWhitespace = function (str: string): string {
return str.replace(/\s+/g, ' ').trim()
}

0 comments on commit 499c9ac

Please sign in to comment.