diff --git a/jest.config.js b/jest.config.js index 189d9c2deb..d91176ae82 100644 --- a/jest.config.js +++ b/jest.config.js @@ -12,6 +12,7 @@ export default { '/packages/i18n', '/packages/oembed', '/packages/portal', + '/packages/utils', '/packages/vue-router-query', '/packages/vue-session', '/packages/vue-visible-on-scroll' diff --git a/package-lock.json b/package-lock.json index ed363adf9f..5daea9d1f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2778,6 +2778,10 @@ "resolved": "packages/style", "link": true }, + "node_modules/@europeana/utils": { + "resolved": "packages/utils", + "link": true + }, "node_modules/@europeana/vue-router-query": { "resolved": "packages/vue-router-query", "link": true @@ -36155,6 +36159,7 @@ "@elastic/apm-rum-vue": "^1.3.1", "@europeana/i18n": "^1.150.0", "@europeana/oembed": "^1.150.0", + "@europeana/utils": "^1.151.2", "@europeana/vue-router-query": "^1.150.0", "@europeana/vue-session": "^1.150.0", "@europeana/vue-visible-on-scroll": "^1.150.0", @@ -36238,12 +36243,9 @@ } }, "packages/utils": { - "version": "1.149.3", - "extraneous": true, - "license": "EUPL-1.2", - "dependencies": { - "@cospired/i18n-iso-languages": "^4.2.0" - } + "name": "@europeana/utils", + "version": "1.151.2", + "license": "EUPL-1.2" }, "packages/vue-router-query": { "name": "@europeana/vue-router-query", diff --git a/package.json b/package.json index f5224da86e..3842b2d62d 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@europeana/oembed": "link:./packages/oembed", "@europeana/portal": "link:./packages/portal", "@europeana/style": "link:./packages/style", + "@europeana/utils": "link:./packages/utils", "@europeana/vue-router-query": "link:./packages/vue-router-query", "@europeana/vue-session": "link:./packages/vue-session", "@europeana/vue-visible-on-scroll": "link:./packages/vue-visible-on-scroll" diff --git a/packages/portal/package.json b/packages/portal/package.json index c4b4b6471b..0b1d10cda5 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -17,6 +17,7 @@ "@elastic/apm-rum-vue": "^1.3.1", "@europeana/i18n": "^1.150.0", "@europeana/oembed": "^1.150.0", + "@europeana/utils": "^1.151.2", "@europeana/vue-router-query": "^1.150.0", "@europeana/vue-session": "^1.150.0", "@europeana/vue-visible-on-scroll": "^1.150.0", diff --git a/packages/portal/src/components/content/ContentCard.vue b/packages/portal/src/components/content/ContentCard.vue index fbbb0f5403..f3df22528b 100644 --- a/packages/portal/src/components/content/ContentCard.vue +++ b/packages/portal/src/components/content/ContentCard.vue @@ -123,7 +123,7 @@ import SmartLink from '../generic/SmartLink'; import langAttributeMixin from '@/mixins/langAttribute'; import stripMarkdownMixin from '@/mixins/stripMarkdown'; - import truncateMixin from '@/mixins/truncate'; + import { truncate } from '@europeana/utils'; import { langMapValueForLocale } from '@europeana/i18n'; const HIT_TEXT_AFFIX_MAX_WORDS = 15; @@ -139,8 +139,7 @@ mixins: [ langAttributeMixin, - stripMarkdownMixin, - truncateMixin + stripMarkdownMixin ], props: { @@ -420,6 +419,8 @@ }, methods: { + truncate, + cardText(values) { const limited = (this.limitValuesWithinEachText > -1) ? values.slice(0, this.limitValuesWithinEachText) : [].concat(values); if (values.length > limited.length) { @@ -427,7 +428,7 @@ } const joined = limited.join('; '); const stripped = this.stripMarkdown(joined); - return this.truncate(stripped, 255); + return truncate(stripped, 255); }, redrawMasonry() { diff --git a/packages/portal/src/components/download/DownloadSuccessModal.vue b/packages/portal/src/components/download/DownloadSuccessModal.vue index 41f247a34d..cefb73ccac 100644 --- a/packages/portal/src/components/download/DownloadSuccessModal.vue +++ b/packages/portal/src/components/download/DownloadSuccessModal.vue @@ -47,15 +47,11 @@