geonetwork-ui 2.2.0-dev.3678ce55 → 2.2.0-dev.81737006

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 (49) hide show
  1. package/esm2022/libs/api/repository/src/index.mjs +2 -1
  2. package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
  3. package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
  4. package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
  5. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  6. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
  7. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
  8. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
  9. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +10 -3
  10. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
  11. package/esm2022/libs/util/i18n/src/index.mjs +2 -1
  12. package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
  13. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  14. package/fesm2022/geonetwork-ui.mjs +42 -18
  15. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  16. package/libs/api/repository/src/index.d.ts +1 -0
  17. package/libs/api/repository/src/index.d.ts.map +1 -1
  18. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
  19. package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
  20. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -1
  21. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  22. package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
  23. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  24. package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
  25. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  26. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts +1 -0
  27. package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
  28. package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
  29. package/libs/util/i18n/src/index.d.ts +1 -0
  30. package/libs/util/i18n/src/index.d.ts.map +1 -1
  31. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
  32. package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
  33. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  34. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/libs/api/repository/src/index.ts +1 -0
  37. package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
  38. package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
  39. package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
  40. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -4
  41. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
  42. package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
  43. package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
  44. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +93 -27
  45. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
  46. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
  47. package/src/libs/util/i18n/src/index.ts +1 -0
  48. package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
  49. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
@@ -1,3 +1,4 @@
1
1
  export * from './lib/metadata-language';
2
2
  export * from './lib/repository-url';
3
+ export * from './lib/gn4';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/repository/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/repository/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
@@ -22,7 +22,6 @@ export declare class OrganisationsComponent {
22
22
  protected setFilterBy(value: string): void;
23
23
  protected setSortBy(value: SortByField): void;
24
24
  private filterOrganisations;
25
- private normalizeString;
26
25
  private sortOrganisations;
27
26
  trackByIndex(index: number): number;
28
27
  getOrganisationUrl(organisation: Organization): string;
@@ -1 +1 @@
1
- {"version":3,"file":"organisations.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/catalog/src/lib/organisations/organisations.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAKb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AACxF,OAAO,EAAE,eAAe,EAAiB,UAAU,EAAE,MAAM,MAAM,CAAA;AAGjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8EAA8E,CAAA;AAC5H,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;;AAEvF,qBAMa,sBAAsB;IAK/B,OAAO,CAAC,oBAAoB;IAG5B,OAAO,CAAC,WAAW;IAPZ,WAAW,SAAK;IACf,SAAS,6BAAmC;gBAG5C,oBAAoB,EAAE,6BAA6B,EAGnD,WAAW,EAAE,MAAM;IAG7B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,0BAAyB;IACrC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAuC;IAC5E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAA0B;IAC5D,mBAAmB,qBAAgD;IACnE,+BAA+B,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAc1D;IAED,cAAc,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAczC;IAED,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5C,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAI7C,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAwBzB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;yCA/G3C,sBAAsB;2CAAtB,sBAAsB;CAmHlC"}
1
+ {"version":3,"file":"organisations.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/catalog/src/lib/organisations/organisations.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAKb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAA;AACxF,OAAO,EAAE,eAAe,EAAiB,UAAU,EAAE,MAAM,MAAM,CAAA;AAGjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8EAA8E,CAAA;AAC5H,OAAO,EAAE,WAAW,EAAE,MAAM,2DAA2D,CAAA;;AAGvF,qBAMa,sBAAsB;IAK/B,OAAO,CAAC,oBAAoB;IAG5B,OAAO,CAAC,WAAW;IAPZ,WAAW,SAAK;IACf,SAAS,6BAAmC;gBAG5C,oBAAoB,EAAE,6BAA6B,EAGnD,WAAW,EAAE,MAAM;IAG7B,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,0BAAyB;IACrC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAuC;IAC5E,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAA0B;IAC5D,mBAAmB,qBAAgD;IACnE,+BAA+B,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAc1D;IAED,cAAc,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAczC;IAED,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5C,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAI7C,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAwBzB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;yCAhG3C,sBAAsB;2CAAtB,sBAAsB;CAoGlC"}
@@ -2,7 +2,7 @@ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy } from '@angula
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import { Observable, Subscription } from 'rxjs';
4
4
  import { CatalogRecord } from '../../../../../../../libs/common/domain/src/lib/model/record';
5
- import { AuthService, FavoritesService } from '../../../../../../../libs/api/repository/src/lib/gn4';
5
+ import { AuthService, FavoritesService } from '../../../../../../../libs/api/repository/src';
6
6
  import { PlatformServiceInterface } from '../../../../../../../libs/common/domain/src/lib/platform.service.interface';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class FavoriteStarComponent implements AfterViewInit, OnDestroy {
@@ -1 +1 @@
1
- {"version":3,"file":"favorite-star.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,iBAAiB,EAEjB,UAAU,EAEV,SAAS,EAEV,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AAC5F,OAAO,EACL,WAAW,EACX,gBAAgB,EACjB,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4EAA4E,CAAA;;AAErH,qBAMa,qBAAsB,YAAW,aAAa,EAAE,SAAS;IAmClE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,gBAAgB;IAtC1B,IAAa,MAAM,CAAC,KAAK,eAAA,EAMxB;IACD,IAAI,MAAM,kBAET;IACD,WAAW,sBAEV;IACD,YAAY,sBAAqC;IACjD,OAAO,EAAE,aAAa,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,UAAQ;IACf,QAAQ,SAA4B;IACpC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAKhC;IAED,aAAa,EAAE,UAAU,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,iBAAiB,EAAE,YAAY,CAAA;IAE/B,IAAI,gBAAgB,YAEnB;gBAGS,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EACzC,cAAc,EAAE,iBAAiB,EACjC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB;IAG5C,eAAe,IAAI,IAAI;IAoCvB,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,UAAU,KAAA;yCAnFd,qBAAqB;2CAArB,qBAAqB;CAqGjC"}
1
+ {"version":3,"file":"favorite-star.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,iBAAiB,EAEjB,UAAU,EAEV,SAAS,EAEV,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AAC5F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4EAA4E,CAAA;;AAErH,qBAMa,qBAAsB,YAAW,aAAa,EAAE,SAAS;IAmClE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,gBAAgB;IAtC1B,IAAa,MAAM,CAAC,KAAK,eAAA,EAMxB;IACD,IAAI,MAAM,kBAET;IACD,WAAW,sBAEV;IACD,YAAY,sBAAqC;IACjD,OAAO,EAAE,aAAa,CAAA;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,UAAQ;IACf,QAAQ,SAA4B;IACpC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAKhC;IAED,aAAa,EAAE,UAAU,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,iBAAiB,EAAE,YAAY,CAAA;IAE/B,IAAI,gBAAgB,YAEnB;gBAGS,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EACzC,cAAc,EAAE,iBAAiB,EACjC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB;IAG5C,eAAe,IAAI,IAAI;IAoCvB,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,UAAU,KAAA;yCAnFd,qBAAqB;2CAArB,qBAAqB;CAqGjC"}
@@ -4,7 +4,7 @@ import { Paginate, PatchResultsAggregations, RequestNewResults, SearchActions }
4
4
  import { SearchState } from './reducer';
5
5
  import { Geometry } from 'geojson';
6
6
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
7
- import { FavoritesService } from '../../../../../../libs/api/repository/src/lib/gn4';
7
+ import { FavoritesService } from '../../../../../../libs/api/repository/src';
8
8
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class SearchEffects {
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/state/effects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAwB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAA;AAU3C,OAAO,EAIL,QAAQ,EAER,wBAAwB,EAKxB,iBAAiB,EACjB,aAAa,EAad,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAqB,MAAM,WAAW,CAAA;AAI1D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AACjI,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yEAAyE,CAAA;;AAGlH,qBACa,aAAa;IAMtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IAGvB,OAAO,CAAC,cAAc;IAZxB,eAAe,sCAEF;gBAGH,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,EAC1B,iBAAiB,EAAE,0BAA0B,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EAGzC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG3C,gBAAgB,qFAWf;IAED,OAAO,CAAC,sBAAsB,CAW7B;IAED,kBAAkB,8FAajB;IAED,YAAY,0FA+FX;IAED,yBAAyB,qGA2BvB;yCArLS,aAAa;6CAAb,aAAa;CAsLzB"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/search/src/lib/state/effects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAwB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAA;AAU3C,OAAO,EAIL,QAAQ,EAER,wBAAwB,EAKxB,iBAAiB,EACjB,aAAa,EAad,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAqB,MAAM,WAAW,CAAA;AAI1D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAA;AACjI,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yEAAyE,CAAA;;AAGlH,qBACa,aAAa;IAMtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,eAAe;IAGvB,OAAO,CAAC,cAAc;IAZxB,eAAe,sCAEF;gBAGH,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,EAC1B,iBAAiB,EAAE,0BAA0B,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,wBAAwB,EAGzC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC;IAG3C,gBAAgB,qFAWf;IAED,OAAO,CAAC,sBAAsB,CAW7B;IAED,kBAAkB,8FAajB;IAED,YAAY,0FA+FX;IAED,yBAAyB,qGA2BvB;yCArLS,aAAa;6CAAb,aAAa;CAsLzB"}
@@ -3,7 +3,7 @@ import { Injector } from '@angular/core';
3
3
  import { RecordsRepositoryInterface } from '../../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
4
4
  import { PlatformServiceInterface } from '../../../../../../../libs/common/domain/src/lib/platform.service.interface';
5
5
  import { AggregationsParams, FieldFilters, TermBucket } from '../../../../../../../libs/common/domain/src/lib/model/search';
6
- import { ElasticsearchService } from '../../../../../../../libs/api/repository/src/lib/gn4';
6
+ import { ElasticsearchService } from '../../../../../../../libs/api/repository/src';
7
7
  export type FieldValue = string | number;
8
8
  export interface FieldAvailableValue {
9
9
  value: FieldValue;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/utils/service/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/feature/search/src/lib/utils/service/fields.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class MetadataContactComponent {
7
7
  contactClick: EventEmitter<Individual>;
8
8
  get shownOrganization(): Organization;
9
9
  get contacts(): Individual[];
10
+ get address(): string[];
10
11
  onOrganizationClick(): void;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MetadataContactComponent, never>;
12
13
  static ɵcmp: i0.ɵɵComponentDeclaration<MetadataContactComponent, "gn-ui-metadata-contact", never, { "metadata": { "alias": "metadata"; "required": false; }; }, { "organizationClick": "organizationClick"; "contactClick": "contactClick"; }, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-contact.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2DAA2D,CAAA;;AAElE,qBAMa,wBAAwB;IAC1B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,iBAAiB,6BAAmC;IACpD,YAAY,2BAAiC;IAEvD,IAAI,iBAAiB,iBAEpB;IAED,IAAI,QAAQ,iBAMX;IAED,mBAAmB;yCAjBR,wBAAwB;2CAAxB,wBAAwB;CAoBpC"}
1
+ {"version":3,"file":"metadata-contact.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAGb,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACb,MAAM,2DAA2D,CAAA;;AAElE,qBAMa,wBAAwB;IAC1B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,iBAAiB,6BAAmC;IACpD,YAAY,2BAAiC;IAEvD,IAAI,iBAAiB,iBAEpB;IAED,IAAI,QAAQ,iBAMX;IAED,IAAI,OAAO,aAKV;IAED,mBAAmB;yCAxBR,wBAAwB;2CAAxB,wBAAwB;CA2BpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-multiselect.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,YAAY,EAGZ,SAAS,EAGV,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;;AAGrD,qBAMa,4BAA4B;IA8D3B,OAAO,CAAC,gBAAgB;IA7D3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAK;IACxB,WAAW,UAAO;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,SAAK;IACpB,YAAY,0BAAgC;IAC1B,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAE5D,gBAAgB,EAAE,UAAU,CAAA;IAE5B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE9C,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IACjC,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IACD,cAAc,0DAAqC;IACnD,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,EAAE,SAA8D;IAEhE,IAAI,kBAAkB,YAErB;IAED,IAAI,eAAe,aAIlB;IAED,IAAI,qBAAqB,aAIxB;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC,CAM9B;gBAEmB,gBAAgB,EAAE,qBAAqB;IAE3D,OAAO,CAAC,QAAQ;IAMhB,WAAW;IAiBX,YAAY;IAIN,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAqB/C,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAgBzC,cAAc;IAId,aAAa;IAIb,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAOxC,MAAM,CAAC,MAAM,EAAE,MAAM;IAIrB,cAAc,CAAC,KAAK,EAAE,KAAK;IAK3B,qBAAqB,CAAC,KAAK,EAAE,KAAK;yCArKvB,4BAA4B;2CAA5B,4BAA4B;CA0KxC"}
1
+ {"version":3,"file":"dropdown-multiselect.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,YAAY,EAGZ,SAAS,EAGV,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;;AAMrD,qBAMa,4BAA4B;IA8D3B,OAAO,CAAC,gBAAgB;IA7D3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAK;IACxB,WAAW,UAAO;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,SAAK;IACpB,YAAY,0BAAgC;IAC1B,aAAa,EAAE,gBAAgB,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;IAE5D,gBAAgB,EAAE,UAAU,CAAA;IAE5B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAE9C,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;IACjC,gBAAgB,EAAE,iBAAiB,EAAE,CAepC;IACD,cAAc,0DAAqC;IACnD,WAAW,UAAQ;IACnB,YAAY,SAAS;IACrB,gBAAgB,SAAS;IACzB,EAAE,SAA8D;IAEhE,IAAI,kBAAkB,YAErB;IAED,IAAI,eAAe,aAIlB;IAED,IAAI,qBAAqB,aAIxB;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,CAAC,CAAC,CAM9B;gBAEmB,gBAAgB,EAAE,qBAAqB;IAE3D,OAAO,CAAC,QAAQ;IAMhB,WAAW;IAiBX,YAAY;IAIN,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAqB/C,oBAAoB,CAAC,KAAK,EAAE,aAAa;IAgBzC,cAAc;IAId,aAAa;IAIb,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B,UAAU,CAAC,MAAM,EAAE,MAAM;IAIzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAOxC,MAAM,CAAC,MAAM,EAAE,MAAM;IAIrB,cAAc,CAAC,KAAK,EAAE,KAAK;IAK3B,qBAAqB,CAAC,KAAK,EAAE,KAAK;yCArKvB,4BAA4B;2CAA5B,4BAA4B;CA0KxC"}
@@ -5,4 +5,5 @@ export * from './lib/lang.service';
5
5
  export * from './lib/file.translate.loader';
6
6
  export * from './lib/testing/test.translate.module';
7
7
  export * from './lib/embedded.translate.loader';
8
+ export * from './lib/translate.loader.utils';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/i18n/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/util/i18n/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,9 @@
1
+ type FuzzyFilter = (input: string) => boolean;
2
+ /**
3
+ * This creates a filter function based on a pattern (typically a user-input
4
+ * search text).
5
+ * @param pattern
6
+ */
7
+ export declare function createFuzzyFilter(pattern: string): FuzzyFilter;
8
+ export {};
9
+ //# sourceMappingURL=fuzzy-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fuzzy-filter.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/fuzzy-filter.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;AAkB7C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAQ9D"}
@@ -5,4 +5,5 @@ export * from './geojson';
5
5
  export * from './sort-by';
6
6
  export * from './url';
7
7
  export * from './event';
8
+ export * from './fuzzy-filter';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/util/shared/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.2.0-dev.3678ce55",
3
+ "version": "2.2.0-dev.81737006",
4
4
  "engines": {
5
5
  "node": ">=14.17.0"
6
6
  },
@@ -1,2 +1,3 @@
1
1
  export * from './lib/metadata-language'
2
2
  export * from './lib/repository-url'
3
+ export * from './lib/gn4'
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common'
3
3
  import {
4
4
  AvatarServiceInterface,
5
5
  GravatarService,
6
- } from '../../../../../libs/api/repository/src/lib/gn4'
6
+ } from '../../../../../libs/api/repository/src'
7
7
 
8
8
  @NgModule({
9
9
  imports: [CommonModule],
@@ -20,7 +20,7 @@ import {
20
20
  OrganizationsFromGroupsService,
21
21
  OrganizationsFromMetadataService,
22
22
  OrganizationsStrategy,
23
- } from '../../../../../libs/api/repository/src/lib/gn4'
23
+ } from '../../../../../libs/api/repository/src'
24
24
  import { PlatformServiceInterface } from '../../../../../libs/common/domain/src/lib/platform.service.interface'
25
25
 
26
26
  // expects the replacement key ${name}
@@ -13,6 +13,7 @@ import { map, startWith, tap } from 'rxjs/operators'
13
13
  import { ORGANIZATION_URL_TOKEN } from '../feature-catalog.module'
14
14
  import { OrganizationsServiceInterface } from '../../../../../../libs/common/domain/src/lib/organizations.service.interface'
15
15
  import { SortByField } from '../../../../../../libs/common/domain/src/lib/model/search'
16
+ import { createFuzzyFilter } from '../../../../../../libs/util/shared/src'
16
17
 
17
18
  @Component({
18
19
  selector: 'gn-ui-organisations',
@@ -84,23 +85,8 @@ export class OrganisationsComponent {
84
85
 
85
86
  private filterOrganisations(organisations: Organization[], filterBy: string) {
86
87
  if (!filterBy) return organisations
87
- const filterRegex = new RegExp(
88
- this.normalizeString(filterBy) //ignore accents and case
89
- .replace(/[^a-z0-9\s]/g, ' ') //ignore special characters (also without spaces like l')
90
- .replace(/\s(?=.)/g, '.*') //replace whitespaces by "AND" separator
91
- .replace(/\s/g, ''), //remove potential whitespaces left
92
- 'i'
93
- )
94
- return [...organisations].filter((org) => {
95
- return this.normalizeString(org.name).match(filterRegex)
96
- })
97
- }
98
-
99
- private normalizeString(str: string) {
100
- return str
101
- .normalize('NFD')
102
- .replace(/[\u0300-\u036f]/g, '')
103
- .toLowerCase()
88
+ const filter = createFuzzyFilter(filterBy)
89
+ return organisations.filter((org) => filter(org.name))
104
90
  }
105
91
 
106
92
  private sortOrganisations(
@@ -14,10 +14,7 @@ import { TranslateService } from '@ngx-translate/core'
14
14
  import { StarToggleComponent } from '../../../../../../../libs/ui/inputs/src'
15
15
  import { Observable, Subscription } from 'rxjs'
16
16
  import { CatalogRecord } from '../../../../../../../libs/common/domain/src/lib/model/record'
17
- import {
18
- AuthService,
19
- FavoritesService,
20
- } from '../../../../../../../libs/api/repository/src/lib/gn4'
17
+ import { AuthService, FavoritesService } from '../../../../../../../libs/api/repository/src'
21
18
  import { PlatformServiceInterface } from '../../../../../../../libs/common/domain/src/lib/platform.service.interface'
22
19
 
23
20
  @Component({
@@ -23,7 +23,7 @@ import { FilterDropdownComponent } from './filter-dropdown/filter-dropdown.compo
23
23
  import { Geometry } from 'geojson'
24
24
  import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
25
25
  import { RecordsRepositoryInterface } from '../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
26
- import { Gn4Repository } from '../../../../../libs/api/repository/src/lib/gn4'
26
+ import { Gn4Repository } from '../../../../../libs/api/repository/src'
27
27
 
28
28
  // this geometry will be used to filter & boost results accordingly
29
29
  export const FILTER_GEOMETRY = new InjectionToken<Promise<Geometry>>(
@@ -43,7 +43,7 @@ import { switchMapWithSearchId } from '../utils/operators/search.operator'
43
43
  import { Geometry } from 'geojson'
44
44
  import { FILTER_GEOMETRY } from '../feature-search.module'
45
45
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface'
46
- import { FavoritesService } from '../../../../../../libs/api/repository/src/lib/gn4'
46
+ import { FavoritesService } from '../../../../../../libs/api/repository/src'
47
47
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface'
48
48
  import { valid as validGeoJson } from 'geojson-validation'
49
49
 
@@ -13,7 +13,7 @@ import {
13
13
  FieldFilters,
14
14
  TermBucket,
15
15
  } from '../../../../../../../libs/common/domain/src/lib/model/search'
16
- import { ElasticsearchService } from '../../../../../../../libs/api/repository/src/lib/gn4'
16
+ import { ElasticsearchService } from '../../../../../../../libs/api/repository/src'
17
17
  import { LangService } from '../../../../../../../libs/util/i18n/src'
18
18
 
19
19
  export type FieldValue = string | number
@@ -1,32 +1,98 @@
1
- <div *ngIf="shownOrganization" class="mb-6 sm:mb-12">
2
- <p class="text-gray-700 text-xs mb-3 uppercase" translate>
3
- record.metadata.contact
4
- </p>
5
- <div class="flex mb-1">
1
+ <div class="py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12">
2
+ <div class="grid gap-3">
3
+ <div>
4
+ <p class="text-sm font-medium" translate>record.metadata.contact</p>
5
+ </div>
6
6
  <div
7
- class="text-primary font-title text-21 mr-2 cursor-pointer hover:underline"
8
- (click)="onOrganizationClick()"
7
+ *ngIf="shownOrganization?.logoUrl?.href"
8
+ class="flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden"
9
9
  >
10
- {{ shownOrganization.name }}
10
+ <gn-ui-thumbnail
11
+ class="relative h-full w-full"
12
+ [thumbnailUrl]="shownOrganization.logoUrl.href"
13
+ fit="contain"
14
+ ></gn-ui-thumbnail>
15
+ </div>
16
+ <div class="grid gap-1">
17
+ <div class="flex">
18
+ <div
19
+ class="text-primary font-title text-21 mr-2 cursor-pointer hover:underline"
20
+ (click)="onOrganizationClick()"
21
+ data-cy="organization-name"
22
+ >
23
+ {{ shownOrganization.name }}
24
+ </div>
25
+ </div>
26
+ <div *ngIf="shownOrganization?.website">
27
+ <a
28
+ [href]="shownOrganization.website"
29
+ target="_blank"
30
+ class="contact-website text-primary text-sm cursor-pointer hover:underline transition-all"
31
+ >{{ shownOrganization.website }}
32
+ <mat-icon
33
+ class="material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0"
34
+ >open_in_new</mat-icon
35
+ >
36
+ </a>
37
+ </div>
38
+ </div>
39
+ <div class="grid gap-5 py-3 overflow-hidden">
40
+ <div *ngIf="contacts[0]?.phone">
41
+ <div class="flex">
42
+ <mat-icon
43
+ class="material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0"
44
+ >call_outline</mat-icon
45
+ >
46
+ <div class="flex flex-col ml-2">
47
+ <p class="text-sm">{{ contacts[0].phone }}</p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div *ngIf="contacts[0]?.email">
52
+ <div class="flex">
53
+ <mat-icon
54
+ class="material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0"
55
+ >
56
+ mail_outline</mat-icon
57
+ >
58
+ <a
59
+ *ngIf="contacts.length"
60
+ [href]="'mailto:' + contacts[0].email"
61
+ class="text-sm hover:underline ml-2"
62
+ target="_blank"
63
+ data-cy="contact-email"
64
+ >{{ contacts[0].email }}</a
65
+ >
66
+ </div>
67
+ </div>
68
+ <div *ngIf="contacts[0]?.firstName || contacts[0]?.lastName">
69
+ <div class="flex">
70
+ <mat-icon
71
+ class="material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0"
72
+ >person_outline</mat-icon
73
+ >
74
+ <div class="flex flex-col ml-2">
75
+ <p class="text-sm">
76
+ {{ contacts[0]?.firstName || '' }}
77
+ {{ contacts[0]?.lastName || '' }}
78
+ </p>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ <div *ngIf="contacts[0]?.address">
83
+ <div class="flex">
84
+ <mat-icon
85
+ class="material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0"
86
+ >
87
+ location_on</mat-icon
88
+ >
89
+ <div class="flex flex-col ml-2">
90
+ <p *ngFor="let addressPart of address" class="text-sm">
91
+ {{ addressPart }}
92
+ </p>
93
+ </div>
94
+ </div>
95
+ </div>
11
96
  </div>
12
- </div>
13
- <a
14
- *ngIf="contacts.length"
15
- [href]="'mailto:' + contacts[0].email"
16
- class="text-gray-700 text-sm hover:underline"
17
- target="_blank"
18
- >{{ contacts[0].email }}</a
19
- >
20
- <div *ngIf="shownOrganization.website" class="mb-2">
21
- <a
22
- [href]="shownOrganization.website"
23
- target="_blank"
24
- class="contact-website text-primary text-sm cursor-pointer hover:underline transition-all"
25
- >{{ shownOrganization.website }}
26
- <mat-icon
27
- class="material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75"
28
- >open_in_new</mat-icon
29
- >
30
- </a>
31
97
  </div>
32
98
  </div>
@@ -34,6 +34,13 @@ export class MetadataContactComponent {
34
34
  )
35
35
  }
36
36
 
37
+ get address() {
38
+ const addressParts = this.contacts[0].address
39
+ .split(',')
40
+ .map((part) => part.trim())
41
+ return addressParts
42
+ }
43
+
37
44
  onOrganizationClick() {
38
45
  this.organizationClick.emit(this.shownOrganization)
39
46
  }
@@ -17,7 +17,10 @@ import {
17
17
  } from '@angular/cdk/overlay'
18
18
  import { take } from 'rxjs/operators'
19
19
  import { Choice } from './dropdown-multiselect.model'
20
- import { propagateToDocumentOnly } from '../../../../../../libs/util/shared/src'
20
+ import {
21
+ createFuzzyFilter,
22
+ propagateToDocumentOnly,
23
+ } from '../../../../../../libs/util/shared/src'
21
24
 
22
25
  @Component({
23
26
  selector: 'gn-ui-dropdown-multiselect',
@@ -74,9 +77,9 @@ export class DropdownMultiselectComponent {
74
77
  }
75
78
 
76
79
  get filteredChoicesByText() {
77
- return this.choices.filter((choice) =>
78
- choice.label.toLowerCase().includes(this.searchInputValue?.toLowerCase())
79
- )
80
+ if (!this.searchInputValue) return this.choices
81
+ const filter = createFuzzyFilter(this.searchInputValue)
82
+ return this.choices.filter((choice) => filter(choice.label))
80
83
  }
81
84
 
82
85
  get focusedIndex(): number | -1 {
@@ -5,3 +5,4 @@ export * from './lib/lang.service'
5
5
  export * from './lib/file.translate.loader'
6
6
  export * from './lib/testing/test.translate.module'
7
7
  export * from './lib/embedded.translate.loader'
8
+ export * from './lib/translate.loader.utils'
@@ -0,0 +1,32 @@
1
+ type FuzzyFilter = (input: string) => boolean
2
+
3
+ function normalize(input: string) {
4
+ return input
5
+ .toLowerCase()
6
+ .normalize('NFD') // explode composite chars (e.g. é) into multiple chars
7
+ .replace(/[\u0300-\u036f]/g, '') // remove accents
8
+ .replace(/œ/g, 'oe') // remove accents
9
+ .replace(/[^a-z0-9\s]/g, ' ') // replace special characters with space
10
+ }
11
+
12
+ function asNormalizedParts(input: string): string[] {
13
+ return normalize(input)
14
+ .split(/\s+/)
15
+ .map((part) => part.trim())
16
+ .filter((part) => part.length > 0)
17
+ }
18
+
19
+ /**
20
+ * This creates a filter function based on a pattern (typically a user-input
21
+ * search text).
22
+ * @param pattern
23
+ */
24
+ export function createFuzzyFilter(pattern: string): FuzzyFilter {
25
+ const patternParts = asNormalizedParts(pattern)
26
+ return (input: string) => {
27
+ const inputParts = asNormalizedParts(input)
28
+ return patternParts.every((patternPart) =>
29
+ inputParts.some((part) => part.includes(patternPart))
30
+ )
31
+ }
32
+ }
@@ -5,3 +5,4 @@ export * from './geojson'
5
5
  export * from './sort-by'
6
6
  export * from './url'
7
7
  export * from './event'
8
+ export * from './fuzzy-filter'