@pristy/pristy-libvue 2.10.1 → 2.10.2

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 (33) hide show
  1. package/dist/{ActivityHistory-DQvZaDyj.js → ActivityHistory-DCA_eJnR.js} +67 -39
  2. package/dist/ActivityHistory-DCA_eJnR.js.map +1 -0
  3. package/dist/{BookmarksComponent-4m0LZkN9.js → BookmarksComponent-CvESJUCF.js} +4 -4
  4. package/dist/{BookmarksComponent-4m0LZkN9.js.map → BookmarksComponent-CvESJUCF.js.map} +1 -1
  5. package/dist/{ChartWrapper-BmIm34tY.js → ChartWrapper-C9PVKQ1p.js} +2 -2
  6. package/dist/{ChartWrapper-BmIm34tY.js.map → ChartWrapper-C9PVKQ1p.js.map} +1 -1
  7. package/dist/{DisplayFileInDashboardComponent-CsXEaTRZ.js → DisplayFileInDashboardComponent-CMmRM0WS.js} +17 -17
  8. package/dist/{DisplayFileInDashboardComponent-CsXEaTRZ.js.map → DisplayFileInDashboardComponent-CMmRM0WS.js.map} +1 -1
  9. package/dist/{ExternalApps-BELfVDbB.js → ExternalApps-BVpexen2.js} +9 -9
  10. package/dist/{ExternalApps-BELfVDbB.js.map → ExternalApps-BVpexen2.js.map} +1 -1
  11. package/dist/{FavoriteList-BRVaj1HM.js → FavoriteList-COnDCI00.js} +10 -10
  12. package/dist/{FavoriteList-BRVaj1HM.js.map → FavoriteList-COnDCI00.js.map} +1 -1
  13. package/dist/{MarkdownComponent-CeGPGjnT.js → MarkdownComponent-CxfbrE7J.js} +4 -4
  14. package/dist/{MarkdownComponent-CeGPGjnT.js.map → MarkdownComponent-CxfbrE7J.js.map} +1 -1
  15. package/dist/{SearchInput--mu28rxD.js → SearchInput-C4q6siON.js} +2 -2
  16. package/dist/{SearchInput--mu28rxD.js.map → SearchInput-C4q6siON.js.map} +1 -1
  17. package/dist/{UnknownBlockType-ErfhzhB9.js → UnknownBlockType-xoVike-3.js} +2 -2
  18. package/dist/{UnknownBlockType-ErfhzhB9.js.map → UnknownBlockType-xoVike-3.js.map} +1 -1
  19. package/dist/{index-CI0X7RCX.js → index-BItIdB59.js} +543 -535
  20. package/dist/index-BItIdB59.js.map +1 -0
  21. package/dist/pristy-libvue.css +1 -1
  22. package/dist/pristy-libvue.es.js +1 -1
  23. package/dist/pristy-libvue.umd.js +11 -11
  24. package/dist/pristy-libvue.umd.js.map +1 -1
  25. package/dist/src/components/dashboard/DashboardAdminPage.vue.d.ts +15 -2
  26. package/dist/src/components/dashboard/DashboardComponent.vue.d.ts +15 -2
  27. package/dist/src/components/dashboard/editor/DashboardEditor.vue.d.ts +15 -2
  28. package/dist/src/components/dashboard/widgets/ActivityHistory.vue.d.ts +16 -3
  29. package/dist/src/components/search/SaveViewPopup.vue.d.ts.map +1 -1
  30. package/dist/src/stores/favorites.d.ts.map +1 -1
  31. package/package.json +8 -8
  32. package/dist/ActivityHistory-DQvZaDyj.js.map +0 -1
  33. package/dist/index-CI0X7RCX.js.map +0 -1
@@ -1210,7 +1210,12 @@ declare const _default: DefineComponent<ExtractPropTypes<{
1210
1210
  tooltip: ObjectDirective<any, any, string, any>;
1211
1211
  }, string, ComponentProvideOptions, true, {}, any>;
1212
1212
  }, {}, string, ComponentProvideOptions, true, {}, any>;
1213
- ActivityHistory: DefineComponent<{}, {}, {
1213
+ ActivityHistory: DefineComponent<ExtractPropTypes<{
1214
+ urlResolver: {
1215
+ type: FunctionConstructor;
1216
+ default: any;
1217
+ };
1218
+ }>, {}, {
1214
1219
  activities: any;
1215
1220
  visibleRows: number;
1216
1221
  resizeObserver: any;
@@ -1231,8 +1236,16 @@ declare const _default: DefineComponent<ExtractPropTypes<{
1231
1236
  escapeHtml(text: any): string;
1232
1237
  getActivitiesMessages(): {};
1233
1238
  getActivityMessageHtml(entry: any): any;
1239
+ onActivityClick(event: any): void;
1234
1240
  getActivity(): Promise<void>;
1235
- }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
1241
+ }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
1242
+ urlResolver: {
1243
+ type: FunctionConstructor;
1244
+ default: any;
1245
+ };
1246
+ }>> & Readonly<{}>, {
1247
+ urlResolver: Function;
1248
+ }, {}, {
1236
1249
  PrimeDataView: DefineComponent<DataViewProps<unknown>, DataViewSlots, ((e: "update:first", value: number) => void) & ((e: "update:rows", value: number) => void) & ((e: "page", event: DataViewPageEvent) => void)>;
1237
1250
  }, {
1238
1251
  tooltip: ObjectDirective<any, any, string, any>;
@@ -190,7 +190,12 @@ declare const _default: DefineComponent<ExtractPropTypes<{
190
190
  tooltip: ObjectDirective<any, any, string, any>;
191
191
  }, string, ComponentProvideOptions, true, {}, any>;
192
192
  }, {}, string, ComponentProvideOptions, true, {}, any>;
193
- ActivityHistory: DefineComponent<{}, {}, {
193
+ ActivityHistory: DefineComponent<ExtractPropTypes<{
194
+ urlResolver: {
195
+ type: FunctionConstructor;
196
+ default: any;
197
+ };
198
+ }>, {}, {
194
199
  activities: any;
195
200
  visibleRows: number;
196
201
  resizeObserver: any;
@@ -211,8 +216,16 @@ declare const _default: DefineComponent<ExtractPropTypes<{
211
216
  escapeHtml(text: any): string;
212
217
  getActivitiesMessages(): {};
213
218
  getActivityMessageHtml(entry: any): any;
219
+ onActivityClick(event: any): void;
214
220
  getActivity(): Promise<void>;
215
- }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
221
+ }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
222
+ urlResolver: {
223
+ type: FunctionConstructor;
224
+ default: any;
225
+ };
226
+ }>> & Readonly<{}>, {
227
+ urlResolver: Function;
228
+ }, {}, {
216
229
  PrimeDataView: DefineComponent<DataViewProps<unknown>, DataViewSlots, ((e: "update:first", value: number) => void) & ((e: "update:rows", value: number) => void) & ((e: "page", event: DataViewPageEvent) => void)>;
217
230
  }, {
218
231
  tooltip: ObjectDirective<any, any, string, any>;
@@ -1142,7 +1142,12 @@ declare const _default: DefineComponent<ExtractPropTypes<{
1142
1142
  tooltip: ObjectDirective<any, any, string, any>;
1143
1143
  }, string, ComponentProvideOptions, true, {}, any>;
1144
1144
  }, {}, string, ComponentProvideOptions, true, {}, any>;
1145
- ActivityHistory: DefineComponent<{}, {}, {
1145
+ ActivityHistory: DefineComponent<ExtractPropTypes<{
1146
+ urlResolver: {
1147
+ type: FunctionConstructor;
1148
+ default: any;
1149
+ };
1150
+ }>, {}, {
1146
1151
  activities: any;
1147
1152
  visibleRows: number;
1148
1153
  resizeObserver: any;
@@ -1163,8 +1168,16 @@ declare const _default: DefineComponent<ExtractPropTypes<{
1163
1168
  escapeHtml(text: any): string;
1164
1169
  getActivitiesMessages(): {};
1165
1170
  getActivityMessageHtml(entry: any): any;
1171
+ onActivityClick(event: any): void;
1166
1172
  getActivity(): Promise<void>;
1167
- }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
1173
+ }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
1174
+ urlResolver: {
1175
+ type: FunctionConstructor;
1176
+ default: any;
1177
+ };
1178
+ }>> & Readonly<{}>, {
1179
+ urlResolver: Function;
1180
+ }, {}, {
1168
1181
  PrimeDataView: DefineComponent<DataViewProps<unknown>, DataViewSlots, ((e: "update:first", value: number) => void) & ((e: "update:rows", value: number) => void) & ((e: "page", event: DataViewPageEvent) => void)>;
1169
1182
  }, {
1170
1183
  tooltip: ObjectDirective<any, any, string, any>;
@@ -1,7 +1,12 @@
1
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ObjectDirective, ComponentProvideOptions } from 'vue';
1
+ import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ObjectDirective, ComponentProvideOptions } from 'vue';
2
2
  import { DefineComponent } from '@primevue/core';
3
3
  import { DataViewProps, DataViewSlots, DataViewPageEvent } from 'primevue/dataview';
4
- declare const _default: DefineComponent<{}, {}, {
4
+ declare const _default: DefineComponent<ExtractPropTypes<{
5
+ urlResolver: {
6
+ type: FunctionConstructor;
7
+ default: any;
8
+ };
9
+ }>, {}, {
5
10
  activities: any;
6
11
  visibleRows: number;
7
12
  resizeObserver: any;
@@ -22,8 +27,16 @@ declare const _default: DefineComponent<{}, {}, {
22
27
  escapeHtml(text: any): string;
23
28
  getActivitiesMessages(): {};
24
29
  getActivityMessageHtml(entry: any): any;
30
+ onActivityClick(event: any): void;
25
31
  getActivity(): Promise<void>;
26
- }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
32
+ }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
33
+ urlResolver: {
34
+ type: FunctionConstructor;
35
+ default: any;
36
+ };
37
+ }>> & Readonly<{}>, {
38
+ urlResolver: Function;
39
+ }, {}, {
27
40
  PrimeDataView: DefineComponent<DataViewProps<unknown>, DataViewSlots, ((e: "update:first", value: number) => void) & ((e: "update:rows", value: number) => void) & ((e: "page", event: DataViewPageEvent) => void)>;
28
41
  }, {
29
42
  tooltip: ObjectDirective<any, any, string, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"SaveViewPopup.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/SaveViewPopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;AAgKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4TA,KA5NuC,CA4NvC,aA3Na"}
1
+ {"version":3,"file":"SaveViewPopup.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/search/SaveViewPopup.vue"],"names":[],"mappings":";;;;;;;;;;;;;;AAgKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4TA,KA5NwB,CA4NxB,aA5NsC"}
@@ -1 +1 @@
1
- {"version":3,"file":"favorites.d.ts","sourceRoot":"","sources":["../../../src/stores/favorites.js"],"names":[],"mappings":";AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBI;;;;;OAKG;0BAFQ,OAAO,GACL,OAAO,OAAO;IA0C3B;;;OAGG;;IAKH;;;OAGG;wCADQ,MAAM;IAQjB;;OAEG;;GAQJ"}
1
+ {"version":3,"file":"favorites.d.ts","sourceRoot":"","sources":["../../../src/stores/favorites.js"],"names":[],"mappings":";AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBI;;;;;OAKG;0BAFQ,OAAO,GACL,OAAO,OAAO;IAsD3B;;;OAGG;;IAKH;;;OAGG;wCADQ,MAAM;IAQjB;;OAEG;;GAQJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristy/pristy-libvue",
3
- "version": "2.10.1",
3
+ "version": "2.10.2",
4
4
  "description": "Core library used by all Pristy applications",
5
5
  "homepage": "https://pristy.fr/en/",
6
6
  "author": "JECI SARL",
@@ -48,16 +48,16 @@
48
48
  "@codemirror/lang-xml": "^6.1.0",
49
49
  "@codemirror/lang-yaml": "^6.1.3",
50
50
  "@codemirror/language": "^6.12.3",
51
- "@codemirror/legacy-modes": "^6.5.2",
51
+ "@codemirror/legacy-modes": "^6.5.3",
52
52
  "@codemirror/lint": "^6.9.6",
53
53
  "@codemirror/merge": "^6.12.1",
54
54
  "@codemirror/search": "^6.7.0",
55
55
  "@codemirror/state": "^6.6.0",
56
56
  "@codemirror/theme-one-dark": "^6.1.3",
57
- "@codemirror/view": "^6.42.1",
57
+ "@codemirror/view": "^6.43.0",
58
58
  "codemirror": "6.0.2",
59
59
  "vue": "^3.5.22",
60
- "vue-i18n": "^11.4.2",
60
+ "vue-i18n": "^11.4.4",
61
61
  "vue-router": "^4.6.4"
62
62
  },
63
63
  "resolutions": {
@@ -71,8 +71,8 @@
71
71
  "@tato30/vue-pdf": "^1.11.5",
72
72
  "@vueuse/core": "^12.8.2",
73
73
  "async-retry": "^1.3.3",
74
- "axios": "^1.16.0",
75
- "dompurify": "^3.4.2",
74
+ "axios": "^1.16.1",
75
+ "dompurify": "^3.4.5",
76
76
  "email-validator": "^2.0.4",
77
77
  "highlight.js": "^11.11.1",
78
78
  "jszip": "^3.10.1",
@@ -84,7 +84,7 @@
84
84
  "pinia": "^2.3.1",
85
85
  "primevue": "^4.5.5",
86
86
  "quick-lru": "^7.3.0",
87
- "sanitize-html": "^2.17.3",
87
+ "sanitize-html": "^2.17.4",
88
88
  "type-check": "^0.4.0",
89
89
  "vue-draggable-next": "^2.3.0"
90
90
  },
@@ -92,7 +92,7 @@
92
92
  "@codemirror/collab": "^6.1.1",
93
93
  "@eslint/js": "^9.37.0",
94
94
  "@vitejs/plugin-legacy": "^7.2.1",
95
- "@vitejs/plugin-vue": "^6.0.6",
95
+ "@vitejs/plugin-vue": "^6.0.7",
96
96
  "@vitest/coverage-v8": "^3.2.4",
97
97
  "eslint": "^9.39.4",
98
98
  "eslint-config-prettier": "^10.1.8",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActivityHistory-DQvZaDyj.js","sources":["../src/components/dashboard/widgets/ActivityHistory.vue"],"sourcesContent":["<!--\n Copyright (C) 2022 - Jeci SARL - https://jeci.fr\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU Affero General Public License as\n published by the Free Software Foundation, either version 3 of the\n License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Affero General Public License for more details.\n\n You should have received a copy of the GNU Affero General Public License\n along with this program. If not, see https://www.gnu.org/licenses/agpl-3.0.html.\n-->\n<template>\n <div ref=\"container\" class=\"activity-container\">\n <PrimeDataView\n :value=\"groupedActivities\"\n paginator\n :rows=\"visibleRows\"\n layout=\"list\"\n >\n <template #empty>\n {{ $t(\"emptyActivityHistory\") }}\n </template>\n <template #list=\"slotProps\">\n <div>\n <div\n v-for=\"group in slotProps.items\"\n :key=\"group.entry.id\"\n class=\"activity-row\"\n >\n <i\n :class=\"getIcon(group.entry.activityType)\"\n class=\"activity-icon\"\n aria-hidden=\"true\"\n ></i>\n\n <div class=\"activity-content\">\n <p class=\"activity-text\">\n <strong\n v-tooltip.bottom=\"group.entry.postPersonId\"\n class=\"cursor-default\"\n >\n {{ getUserDisplayName(group.entry) }}\n </strong>\n <!-- eslint-disable-next-line vue/no-v-html -- Activity messages contain safe HTML with escaped user content -->\n <span v-html=\"' ' + getActivityMessageHtml(group.entry)\"></span>\n <span v-if=\"group.count > 1\" class=\"activity-count\">\n (+{{ group.count - 1 }})\n </span>\n </p>\n <p class=\"activity-date\">\n {{ formatDateTime(group.entry.postedAt) }}\n </p>\n </div>\n </div>\n </div>\n </template>\n </PrimeDataView>\n </div>\n</template>\n\n<script>\nimport { activitiesApi } from \"@/AlfrescoApi.js\";\nimport formatService from \"@/services/FormatService.js\";\nimport { useConfigStore } from \"@/stores/config\";\nimport { mapState } from \"pinia\";\nimport DataView from \"primevue/dataview\";\nimport Tooltip from \"primevue/tooltip\";\n\nexport default {\n name: \"ActivityHistory\",\n components: {\n PrimeDataView: DataView,\n },\n directives: {\n tooltip: Tooltip,\n },\n data() {\n return {\n activities: null,\n visibleRows: 5,\n resizeObserver: null,\n };\n },\n computed: {\n ...mapState(useConfigStore, [\"ESPACES_HOST\"]),\n groupedActivities() {\n if (!this.activities) {\n return [];\n }\n const groups = [];\n for (const activity of this.activities) {\n const prev = groups[groups.length - 1];\n if (prev && this.isSameGroup(prev.entry, activity.entry)) {\n prev.count++;\n } else {\n groups.push({ entry: activity.entry, count: 1 });\n }\n }\n return groups;\n },\n },\n mounted() {\n this.getActivity();\n this.resizeObserver = new ResizeObserver(() => this.computeVisibleRows());\n this.resizeObserver.observe(this.$refs.container);\n },\n beforeUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n },\n methods: {\n isSameGroup(a, b) {\n return (\n a.postPersonId === b.postPersonId &&\n a.activitySummary?.objectId === b.activitySummary?.objectId &&\n a.activitySummary?.objectId !== undefined\n );\n },\n computeVisibleRows() {\n const container = this.$refs.container;\n if (!container) {\n return;\n }\n const ROW_HEIGHT = 52;\n const PAGINATOR_HEIGHT = 50;\n const available = container.clientHeight - PAGINATOR_HEIGHT;\n const rows = Math.max(3, Math.floor(available / ROW_HEIGHT));\n this.visibleRows = rows;\n },\n reloadData() {\n this.getActivity();\n },\n formatDateTime(date) {\n return formatService.formatDateTime(date);\n },\n getIcon(type) {\n if (!type) {\n return \"ri-information-line\";\n }\n\n const exactIconMap = {\n \"org.alfresco.documentlibrary.file-downloaded\": \"ri-download-line\",\n \"org.alfresco.documentlibrary.file-added\": \"ri-add-circle-line\",\n \"org.alfresco.site.user-joined\": \"ri-user-add-line\",\n \"org.alfresco.site.user-left\": \"ri-user-unfollow-line\",\n \"org.alfresco.site.user-role-changed\": \"ri-user-settings-line\",\n \"org.alfresco.calendar.event-created\": \"ri-calendar-check-line\",\n \"org.alfresco.calendar.event-updated\": \"ri-calendar-line\",\n \"org.alfresco.calendar.event-deleted\": \"ri-calendar-close-line\",\n \"org.alfresco.blog.post-created\": \"ri-article-line\",\n \"org.alfresco.blog.post-updated\": \"ri-article-line\",\n \"org.alfresco.blog.post-deleted\": \"ri-delete-bin-line\",\n \"org.alfresco.links.link-created\": \"ri-link\",\n \"org.alfresco.links.link-updated\": \"ri-link\",\n \"org.alfresco.links.link-deleted\": \"ri-delete-bin-line\",\n };\n\n if (exactIconMap[type]) {\n return exactIconMap[type];\n }\n\n if (type.includes(\"deleted\")) {\n return \"ri-delete-bin-line\";\n }\n if (type.includes(\"added\") || type.includes(\"created\")) {\n return \"ri-add-circle-line\";\n }\n if (type.includes(\"updated\") || type.includes(\"edited\")) {\n return \"ri-edit-line\";\n }\n if (type.includes(\"downloaded\")) {\n return \"ri-download-line\";\n }\n if (type.includes(\"comment\")) {\n return \"ri-chat-3-line\";\n }\n if (type.includes(\"discussion\") || type.includes(\"reply\")) {\n return \"ri-discuss-line\";\n }\n if (type.includes(\"user-joined\")) {\n return \"ri-user-add-line\";\n }\n if (type.includes(\"user-left\")) {\n return \"ri-user-unfollow-line\";\n }\n if (type.includes(\"role-changed\")) {\n return \"ri-user-settings-line\";\n }\n\n return \"ri-information-line\";\n },\n getUserDisplayName(entry) {\n const summary = entry.activitySummary || {};\n if (\n entry.activityType.includes(\"user-role-changed\") ||\n entry.activityType.includes(\"user-joined\") ||\n entry.activityType.includes(\"user-left\")\n ) {\n const first = summary.memberFirstName || summary.firstName || \"\";\n const last = summary.memberLastName || summary.lastName || \"\";\n return (first + \" \" + last).trim() || entry.postPersonId;\n }\n const first = summary.firstName || \"\";\n const last = summary.lastName || \"\";\n return (first + \" \" + last).trim() || entry.postPersonId;\n },\n getObjectUrl(entry) {\n const summary = entry.activitySummary || {};\n if (!summary.objectId || !this.ESPACES_HOST) {\n return null;\n }\n // Folder activities\n if (entry.activityType.includes(\"folder\")) {\n return `${this.ESPACES_HOST}/espaces/mes-espaces/dossier/${summary.objectId}`;\n }\n // File activities — open as PDF by default\n return `${this.ESPACES_HOST}/espaces/pdf/${summary.objectId}`;\n },\n escapeHtml(text) {\n const div = document.createElement(\"div\");\n div.textContent = text;\n return div.innerHTML;\n },\n getActivitiesMessages() {\n // Activity type keys contain dots (e.g. \"org.alfresco.documentlibrary.file-added\")\n // which $t() interprets as nested path separators.\n // Use $tm() to get the raw message object for the \"activities\" key.\n const raw = this.$tm(\"activities\");\n if (raw && typeof raw === \"object\") {\n // $tm() returns reactive message objects; convert values to plain strings\n const messages = {};\n for (const key of Object.keys(raw)) {\n const val = raw[key];\n messages[key] =\n typeof val === \"string\" ? val : val?.toString?.() || String(val);\n }\n return messages;\n }\n return {};\n },\n getActivityMessageHtml(entry) {\n const summary = entry.activitySummary || {};\n const title = summary.title || \"\";\n const activities = this.getActivitiesMessages();\n\n const params = {\n title: title,\n firstName: summary.firstName || \"\",\n siteName: summary.siteName || \"\",\n newTitle: summary.newTitle || \"\",\n role: this.$t(`role.${summary.role}`, summary.role || \"\"),\n type: entry.activityType,\n };\n\n let message = activities[entry.activityType] || activities[\"unknown\"];\n if (!message) {\n return this.escapeHtml(entry.activityType);\n }\n\n // Interpolate all params except title\n Object.keys(params).forEach((key) => {\n if (key === \"title\") {\n return;\n }\n message = message.replace(\n new RegExp(`\\\\{${key}\\\\}`, \"g\"),\n this.escapeHtml(params[key]),\n );\n });\n\n // Escape the rest of the message\n // Split around {title} placeholders, escape each part, then rejoin with the link\n if (title) {\n const url = this.getObjectUrl(entry);\n const escapedTitle = this.escapeHtml(title);\n const titleHtml = url\n ? `<a href=\"${this.escapeHtml(url)}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"activity-link\">${escapedTitle}</a>`\n : `<strong>${escapedTitle}</strong>`;\n const parts = message.split(\"{title}\");\n message = parts.map((p) => this.escapeHtml(p)).join(titleHtml);\n } else {\n message = this.escapeHtml(message);\n }\n\n return message;\n },\n getActivity() {\n let opts = {};\n return activitiesApi\n .listActivitiesForPerson(\"-me-\", opts)\n .then((data) => {\n this.activities = data.list.entries;\n });\n },\n },\n};\n</script>\n\n<style scoped>\n.activity-container {\n height: 100%;\n}\n\n.activity-row {\n display: flex;\n gap: 0.75rem;\n padding: 0.5rem 0;\n}\n\n.activity-icon {\n font-size: 1.25rem;\n color: var(--p-primary-color);\n margin-top: 0.25rem;\n}\n\n.activity-content {\n flex: 1;\n min-width: 0;\n}\n\n.activity-text {\n font-size: 0.875rem;\n margin: 0;\n}\n\n.activity-count {\n margin-left: 0.25rem;\n font-size: 0.75rem;\n color: var(--p-text-muted-color);\n}\n\n.activity-date {\n font-size: 0.75rem;\n color: var(--p-text-muted-color);\n margin: 0;\n margin-top: 0.25rem;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n:deep(.activity-link) {\n color: var(--p-primary-color);\n text-decoration: none;\n font-weight: 600;\n}\n\n:deep(.activity-link:hover) {\n text-decoration: underline;\n}\n\n:deep(.activity-link:focus-visible) {\n outline: 2px solid var(--p-primary-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n</style>\n"],"names":["_sfc_main","DataView","Tooltip","mapState","useConfigStore","groups","activity","prev","a","b","container","ROW_HEIGHT","available","rows","date","formatService","type","exactIconMap","entry","summary","first","last","text","div","raw","messages","key","val","title","activities","params","message","url","escapedTitle","titleHtml","p","opts","activitiesApi","data","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_7","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_component_PrimeDataView","$options","$data","_ctx","_withCtx","slotProps","_createElementVNode","_Fragment","_renderList","group","_normalizeClass","_withDirectives","_hoisted_6","_toDisplayString"],"mappings":"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"}