@paris-ias/list 1.0.146 → 1.0.147

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 (41) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/actions/DenseItem.vue +1 -6
  3. package/dist/runtime/components/actions/ExpandedItem.vue +0 -1
  4. package/dist/runtime/components/actions/RowsItem.vue +1 -6
  5. package/dist/runtime/components/affiliation/DenseItem.vue +1 -6
  6. package/dist/runtime/components/affiliation/RowsItem.vue +1 -6
  7. package/dist/runtime/components/apps/ExpandedItem.vue +0 -4
  8. package/dist/runtime/components/apps/RowsItem.vue +1 -6
  9. package/dist/runtime/components/disciplines/DenseItem.vue +1 -6
  10. package/dist/runtime/components/disciplines/ExpandedItem.vue +0 -4
  11. package/dist/runtime/components/disciplines/RowsItem.vue +1 -6
  12. package/dist/runtime/components/events/Badges.vue +0 -4
  13. package/dist/runtime/components/events/DenseItem.vue +3 -12
  14. package/dist/runtime/components/events/ExpandedItem.vue +0 -4
  15. package/dist/runtime/components/events/RowsItem.vue +1 -4
  16. package/dist/runtime/components/events/SlidingItem.vue +1 -9
  17. package/dist/runtime/components/fellowships/ExpandedItem.vue +1 -8
  18. package/dist/runtime/components/fellowships/RowsItem.vue +2 -5
  19. package/dist/runtime/components/files/DenseItem.vue +1 -6
  20. package/dist/runtime/components/files/ExpandedItem.vue +0 -4
  21. package/dist/runtime/components/files/RowsItem.vue +1 -6
  22. package/dist/runtime/components/list/organisms/List.vue +44 -7
  23. package/dist/runtime/components/mailing/DenseItem.vue +0 -4
  24. package/dist/runtime/components/mailing/RowsItem.vue +0 -1
  25. package/dist/runtime/components/news/DenseItem.vue +46 -56
  26. package/dist/runtime/components/news/ExpandedItem.vue +4 -19
  27. package/dist/runtime/components/news/RowsItem.vue +3 -10
  28. package/dist/runtime/components/people/DenseItem.vue +3 -6
  29. package/dist/runtime/components/people/RowsItem.vue +1 -4
  30. package/dist/runtime/components/projects/DenseItem.vue +7 -11
  31. package/dist/runtime/components/projects/RelatedItem.vue +1 -1
  32. package/dist/runtime/components/projects/RowsItem.vue +1 -5
  33. package/dist/runtime/components/publications/DenseItem.vue +8 -12
  34. package/dist/runtime/components/publications/RowsItem.vue +1 -6
  35. package/dist/runtime/components/tags/DenseItem.vue +0 -4
  36. package/dist/runtime/components/tags/ExpandedItem.vue +0 -4
  37. package/dist/runtime/components/tags/RowsItem.vue +1 -6
  38. package/dist/runtime/components/users/DenseItem.vue +1 -6
  39. package/dist/runtime/components/users/ExpandedItem.vue +0 -4
  40. package/dist/runtime/components/users/RowsItem.vue +1 -6
  41. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paris-ias/list",
3
3
  "configKey": "list",
4
- "version": "1.0.146",
4
+ "version": "1.0.147",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "2.0.0"
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="my-2 highlight-on-hover"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="my-2 highlight-on-hover" no-gutters>
7
3
  <v-col v-if="mdAndUp" cols="12" md="2">
8
4
  <MiscAtomsImageContainer
9
5
  :loading="isLoading"
@@ -47,7 +43,6 @@ const rootStore = useRootStore()
47
43
  const props = defineProps({
48
44
  item: { type: Object, required: true },
49
45
  index: { type: Number, required: false, default: 0 },
50
- pathPrefix: { type: String, required: true },
51
46
  loading: { type: Boolean, required: false, default: false },
52
47
  })
53
48
 
@@ -15,7 +15,6 @@ import { useRootStore } from "../../stores/root"
15
15
  const rootStore = useRootStore()
16
16
  const props = defineProps({
17
17
  item: { type: Object, required: true },
18
- pathPrefix: { type: String, required: true },
19
18
  loading: { type: Boolean, default: false },
20
19
  })
21
20
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col v-if="mdAndUp" cols="12" md="3">
8
4
  <MiscAtomsImageContainer
9
5
  cover
@@ -47,7 +43,6 @@ const rootStore = useRootStore()
47
43
  const props = defineProps({
48
44
  item: { type: Object, required: true },
49
45
  index: { type: Number, required: false, default: 0 },
50
- pathPrefix: { type: String, required: true },
51
46
  loading: { type: Boolean, required: false, default: false },
52
47
  })
53
48
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="my-2 highlight-on-hover"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="my-2 highlight-on-hover" no-gutters>
7
3
  <v-col cols="12" class="px-4">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@6" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@8, button" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -10,10 +10,6 @@ const props = defineProps({
10
10
  type: Object,
11
11
  required: true,
12
12
  },
13
- pathPrefix: {
14
- type: String,
15
- required: true,
16
- },
17
13
  })
18
14
  </script>
19
15
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@8, button" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="my-2 highlight-on-hover"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="my-2 highlight-on-hover" no-gutters>
7
3
  <v-col cols="12" class="px-4">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@6" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -10,10 +10,6 @@ const props = defineProps({
10
10
  type: Object,
11
11
  required: true,
12
12
  },
13
- pathPrefix: {
14
- type: String,
15
- required: true,
16
- },
17
13
  })
18
14
  </script>
19
15
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@8, button" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -62,10 +62,6 @@ import { useDisplay } from "vuetify"
62
62
  const { smAndUp } = useDisplay()
63
63
  const props = defineProps({
64
64
  item: { type: Object, required: true },
65
- pathPrefix: {
66
- type: String,
67
- required: true,
68
- },
69
65
  })
70
66
  </script>
71
67
 
@@ -55,13 +55,13 @@
55
55
  :value="`${highlightAndTruncate(
56
56
  85,
57
57
  item.summary,
58
- $rootStore.search.split(' '),
58
+ $rootStore.search.split(' ')
59
59
  )}`"
60
60
  />
61
61
  </v-col>
62
62
 
63
63
  <v-col align-self="center" cols="auto">
64
- <EventsBadges :item :pathPrefix />
64
+ <EventsBadges />
65
65
  </v-col>
66
66
  </v-row>
67
67
  </template>
@@ -84,10 +84,7 @@ const props = defineProps({
84
84
  type: Number,
85
85
  required: true,
86
86
  },
87
- pathPrefix: {
88
- type: String,
89
- required: true,
90
- },
87
+
91
88
  loading: {
92
89
  type: Boolean,
93
90
  required: false,
@@ -97,9 +94,3 @@ const props = defineProps({
97
94
 
98
95
  const isLoading = computed(() => props.loading)
99
96
  </script>
100
- <!-- <NuxtLink
101
- v-if="item && item.slug"
102
- :to="pathPrefix"
103
- class="text-decoration-none text-black"
104
- >
105
- </NuxtLink> -->
@@ -5,10 +5,6 @@
5
5
  <script lang="ts" setup>
6
6
  const props = defineProps({
7
7
  item: { type: Object, required: true },
8
- pathPrefix: {
9
- type: String,
10
- required: true,
11
- },
12
8
  })
13
9
  </script>
14
10
 
@@ -104,10 +104,7 @@ const props = defineProps({
104
104
  type: Number,
105
105
  required: true,
106
106
  },
107
- pathPrefix: {
108
- type: String,
109
- required: true,
110
- },
107
+
111
108
  loading: {
112
109
  type: Boolean,
113
110
  required: false,
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <NuxtLink
3
- v-if="item && item.slug"
4
- :to="pathPrefix"
5
- class="text-decoration-none text-black"
6
- >
2
+ <NuxtLink v-if="item && item.slug" class="text-decoration-none text-black">
7
3
  <v-sheet v-motion class="d-flex sliding-item flex-md-row flex-column px-6">
8
4
  <MiscAtomsDateStamp
9
5
  :date-start="item.start"
@@ -48,10 +44,6 @@ const { name } = useDisplay()
48
44
  defineProps({
49
45
  item: { type: Object, required: true },
50
46
  loading: { type: Boolean, required: true, default: false },
51
- pathPrefix: {
52
- type: String,
53
- required: true,
54
- },
55
47
  })
56
48
  </script>
57
49
  <style lang="scss"></style>
@@ -2,13 +2,6 @@
2
2
  <div></div>
3
3
  </template>
4
4
 
5
- <script lang="ts" setup>
6
- defineProps({
7
- pathPrefix: {
8
- type: String,
9
- required: true,
10
- },
11
- })
12
- </script>
5
+ <script lang="ts" setup></script>
13
6
 
14
7
  <style></style>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <v-col cols="12" md="6" class="highlight-on-hover">
3
3
  <div v-ripple class="border-thin pa-6">
4
- <FellowshipsBadges :item :pathPrefix />
4
+ <FellowshipsBadges />
5
5
  <div class="d-flex">
6
6
  <v-skeleton-loader v-if="isLoading" type="heading" />
7
7
  <div v-else class="text-h4 text-black text-wrap mt-4 pb-4">
@@ -51,10 +51,7 @@ const props = defineProps({
51
51
  type: Number,
52
52
  required: true,
53
53
  },
54
- pathPrefix: {
55
- type: String,
56
- required: true,
57
- },
54
+
58
55
  loading: {
59
56
  type: Boolean,
60
57
  required: false,
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="my-2 highlight-on-hover"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="my-2 highlight-on-hover" no-gutters>
7
3
  <v-col cols="12" class="px-4">
8
4
  <v-skeleton-loader v-if="isLoading" type="avatar, text@6" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -10,10 +10,6 @@ const props = defineProps({
10
10
  type: Object,
11
11
  required: true,
12
12
  },
13
- pathPrefix: {
14
- type: String,
15
- required: true,
16
- },
17
13
  })
18
14
  </script>
19
15
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="avatar, text@8, button" />
9
5
  <template v-else>
@@ -24,7 +20,6 @@ import { useRootStore } from "../../stores/root"
24
20
  const rootStore = useRootStore()
25
21
  const props = defineProps({
26
22
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
23
  loading: { type: Boolean, default: false },
29
24
  })
30
25
 
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <ListMoleculesHeader :type="type" />
3
- <component
3
+ <!-- <component
4
4
  :is="view"
5
5
  :loading="$stores[type] && $stores[type].loading && pending"
6
6
  >
@@ -15,6 +15,36 @@
15
15
  localePath({ name: pathPrefix, params: { slug: item.slug } })
16
16
  "
17
17
  />
18
+ </component> -->
19
+
20
+ <component
21
+ :is="view"
22
+ :loading="$stores[type] && $stores[type].loading && pending"
23
+ >
24
+ <NuxtLink
25
+ v-for="(item, index) in items"
26
+ :key="(item.name || item.lastname) + type + index"
27
+ :to="
28
+ localePath({
29
+ name: pathPrefix,
30
+ params: { slug: JSON.parse(item.slug) },
31
+ })
32
+ "
33
+ class="no-decoration"
34
+ >
35
+ <component
36
+ :is="itemTemplate"
37
+ :item
38
+ :index
39
+ :loading="$stores[type] && $stores[type].loading && pending"
40
+ :path="
41
+ localePath({
42
+ name: pathPrefix,
43
+ params: { slug: JSON.parse(item.slug) },
44
+ })
45
+ "
46
+ />
47
+ </NuxtLink>
18
48
  </component>
19
49
  <div class="text-center">
20
50
  <ListAtomsPerPage :type="type" class="float-right" />
@@ -102,8 +132,8 @@ const view = computed(() =>
102
132
  props.customView
103
133
  ? resolveComponent("ListViews" + capitalize(props.customView))
104
134
  : resolveComponent(
105
- "ListViews" + capitalize($stores[props.type]?.view?.name || "list"),
106
- ),
135
+ "ListViews" + capitalize($stores[props.type]?.view?.name || "list")
136
+ )
107
137
  )
108
138
  const itemTemplate = computed(() =>
109
139
  resolveComponent(
@@ -111,8 +141,8 @@ const itemTemplate = computed(() =>
111
141
  capitalize(props.type) +
112
142
  capitalize($stores[props.type]?.view?.name || "list") +
113
143
  "Item"
114
- ).toString(),
115
- ),
144
+ ).toString()
145
+ )
116
146
  )
117
147
 
118
148
  // Apollo: reactive query using variables computed from store
@@ -130,7 +160,7 @@ const { data, pending, error, refresh } = await useAsyncQuery(
130
160
  {
131
161
  key: `list-${props.type}`, // Unique key for caching
132
162
  server: true, // Enable SSR
133
- },
163
+ }
134
164
  )
135
165
  if (error.value) {
136
166
  console.error("GraphQL query error: ", error.value)
@@ -160,7 +190,7 @@ watch(
160
190
  rootStore.setLoading(false, props.type)
161
191
  }
162
192
  },
163
- { deep: true },
193
+ { deep: true }
164
194
  )
165
195
 
166
196
  // Reactive items computed from the store (single source of truth)
@@ -204,3 +234,10 @@ onUpdated(() => {
204
234
  rootStore.setLoading(false, props.type)
205
235
  }) */
206
236
  </script>
237
+
238
+ <style scoped>
239
+ .no-decoration {
240
+ text-decoration: none !important;
241
+ color: inherit !important;
242
+ }
243
+ </style>
@@ -8,10 +8,6 @@ defineProps({
8
8
  type: Object,
9
9
  required: true,
10
10
  },
11
- pathPrefix: {
12
- type: String,
13
- required: true,
14
- },
15
11
  })
16
12
  </script>
17
13
 
@@ -24,7 +24,6 @@ import { useRootStore } from "../../stores/root"
24
24
  const rootStore = useRootStore()
25
25
  const props = defineProps({
26
26
  item: { type: Object, required: true },
27
- pathPrefix: { type: String, required: true },
28
27
  loading: { type: Boolean, default: false },
29
28
  })
30
29
 
@@ -1,60 +1,53 @@
1
1
  <template>
2
- <NuxtLink
3
- v-if="pathPrefix"
4
- :to="pathPrefix"
5
- class="text-decoration-none text-black"
6
- >
7
- <v-row v-ripple no-gutters class="cursor-pointer highlight-on-hover my-2">
8
- <v-col v-if="mdAndUp" align-self="center" cols="1">
9
- <MiscAtomsImageContainer
10
- cover
11
- :loading="isLoading"
12
- :src="
13
- item && item.image && item.image.url
14
- ? item.image.url
15
- : '/default.png'
2
+ <v-row v-ripple no-gutters class="cursor-pointer highlight-on-hover my-2">
3
+ <v-col v-if="mdAndUp" align-self="center" cols="1">
4
+ <MiscAtomsImageContainer
5
+ cover
6
+ :loading="isLoading"
7
+ :src="
8
+ item && item.image && item.image.url ? item.image.url : '/default.png'
9
+ "
10
+ :ratio="1 / 1"
11
+ width="80px"
12
+ />
13
+ </v-col>
14
+ <v-col align-self="start" class="text-h5 dense px-2 paragraph">
15
+ <v-skeleton-loader v-if="isLoading" type="heading" />
16
+ <template v-else>
17
+ <v-skeleton-loader
18
+ v-if="isLoading"
19
+ :type="
20
+ ['chip', 'chip@2', 'chip@3', 'chip@4', 'chip@4', 'chip@4'][
21
+ ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
22
+ ]
16
23
  "
17
- :ratio="1 / 1"
18
- width="80px"
19
24
  />
20
- </v-col>
21
- <v-col align-self="start" class="text-h5 dense px-2 paragraph">
22
- <v-skeleton-loader v-if="isLoading" type="heading" />
23
- <template v-else>
24
- <v-skeleton-loader
25
- v-if="isLoading"
26
- :type="
27
- ['chip', 'chip@2', 'chip@3', 'chip@4', 'chip@4', 'chip@4'][
28
- ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
29
- ]
30
- "
31
- />
32
25
 
33
- <template v-else>
34
- <v-chip
35
- class="ma-2"
36
- style="background-color: white; color: black"
37
- size="small"
38
- variant="outlined"
39
- >
40
- {{ $t(eventCategory) }}
41
- </v-chip>
42
- <MiscMoleculesChipContainer :items="item.tags || []" size="small" />
43
- </template>
44
- <div
45
- v-html="
46
- $rootStore.search.length
47
- ? highlightAndTruncate(
48
- 300,
49
- item.name,
50
- $rootStore.search.split(' '),
51
- )
52
- : item.name
53
- "
54
- />
26
+ <template v-else>
27
+ <v-chip
28
+ class="ma-2"
29
+ style="background-color: white; color: black"
30
+ size="small"
31
+ variant="outlined"
32
+ >
33
+ {{ $t(eventCategory) }}
34
+ </v-chip>
35
+ <MiscMoleculesChipContainer :items="item.tags || []" size="small" />
55
36
  </template>
56
- </v-col> </v-row
57
- ></NuxtLink>
37
+ <div
38
+ v-html="
39
+ $rootStore.search.length
40
+ ? highlightAndTruncate(
41
+ 300,
42
+ item.name,
43
+ $rootStore.search.split(' ')
44
+ )
45
+ : item.name
46
+ "
47
+ />
48
+ </template>
49
+ </v-col>
50
+ </v-row>
58
51
  </template>
59
52
 
60
53
  <script setup>
@@ -76,10 +69,7 @@ const props = defineProps({
76
69
  type: Number,
77
70
  required: true,
78
71
  },
79
- pathPrefix: {
80
- type: String,
81
- required: true,
82
- },
72
+
83
73
  loading: {
84
74
  type: Boolean,
85
75
  required: false,
@@ -9,13 +9,7 @@
9
9
  cols="12"
10
10
  :md="expanded ? '4' : '2'"
11
11
  class="animated-col"
12
- @click.prevent="
13
- expanded
14
- ? router.push(
15
- pathPrefix
16
- )
17
- : null
18
- "
12
+
19
13
  >
20
14
  <MiscAtomsImageContainer
21
15
  cover
@@ -27,13 +21,7 @@
27
21
  <v-col class="text-h5" cols="12" :md="expanded ? '8' : '9'">
28
22
  <div
29
23
  :class="expanded ? 'text-h4' : 'text-h5'"
30
- @click.prevent="
31
- expanded
32
- ? router.push(
33
- pathPrefix
34
- )
35
- : null
36
- "
24
+
37
25
  >
38
26
  <MDC v-if="item.name" :value="item.name" />
39
27
  </div>
@@ -60,7 +48,7 @@
60
48
  class="mt-4"
61
49
  variant="outlined"
62
50
  tile
63
- :to="pathPrefix"
51
+
64
52
 
65
53
  )
66
54
  "
@@ -93,10 +81,7 @@ const props = defineProps({
93
81
  type: Number,
94
82
  required: true,
95
83
  },
96
- pathPrefix: {
97
- type: String,
98
- required: true,
99
- },
84
+
100
85
  })
101
86
  </script>
102
87
 
@@ -60,13 +60,7 @@
60
60
  >
61
61
  <MDC :value="processedSummary" />
62
62
  </div>
63
- <v-btn
64
- class="mt-4"
65
- variant="outlined"
66
- tile
67
- size="small"
68
- :to="pathPrefix"
69
- >
63
+ <v-btn class="mt-4" variant="outlined" tile size="small">
70
64
  {{ $t("read-more") }}
71
65
  </v-btn>
72
66
  </template>
@@ -94,7 +88,6 @@
94
88
  class="mt-4"
95
89
  variant="outlined"
96
90
  tile
97
- :to="pathPrefix"
98
91
  :size="
99
92
  ['small', 'small', 'small', 'default', 'default', 'large'][
100
93
  ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
@@ -133,7 +126,7 @@ const props = defineProps({
133
126
  type: Number,
134
127
  required: true,
135
128
  },
136
- pathPrefix: {
129
+ path: {
137
130
  type: String,
138
131
  required: true,
139
132
  },
@@ -147,7 +140,7 @@ const props = defineProps({
147
140
  const processedSummary = computed(() => {
148
141
  const raw = props.item.summary || ""
149
142
 
150
- return replaceMarkdownLinksWithSlug(raw, props.pathPrefix)
143
+ return replaceMarkdownLinksWithSlug(raw, props.path)
151
144
  })
152
145
 
153
146
  function replaceMarkdownLinksWithSlug(markdownText, slugPath) {
@@ -20,7 +20,7 @@
20
20
  ? highlightAndTruncate(
21
21
  300,
22
22
  item.firstname + ' ' + item.lastname,
23
- $rootStore.search.split(' '),
23
+ $rootStore.search.split(' ')
24
24
  )
25
25
  : item.firstname + ' ' + item.lastname
26
26
  "
@@ -36,7 +36,7 @@
36
36
  ? highlightAndTruncate(
37
37
  300,
38
38
  item.groups.vintage[0].theme,
39
- $rootStore.search.split(' '),
39
+ $rootStore.search.split(' ')
40
40
  )
41
41
  : item.groups.vintage[0].theme
42
42
  "
@@ -63,10 +63,7 @@ const props = defineProps({
63
63
  type: Number,
64
64
  required: true,
65
65
  },
66
- pathPrefix: {
67
- type: String,
68
- required: true,
69
- },
66
+
70
67
  loading: {
71
68
  type: Boolean,
72
69
  required: false,
@@ -1,9 +1,6 @@
1
1
  <template>
2
2
  <v-divider v-if="index > 0" />
3
- <v-row
4
- class="my-6 ml-md-1 px-3 px-md-0 highlight-on-hover"
5
- @click="$router.push(pathPrefix)"
6
- >
3
+ <v-row class="my-6 ml-md-1 px-3 px-md-0 highlight-on-hover">
7
4
  <v-col v-if="mdAndUp" cols="12" md="3">
8
5
  <MiscAtomsImageContainer
9
6
  cover
@@ -1,10 +1,5 @@
1
1
  <template>
2
- <v-row
3
- v-ripple
4
- no-gutters
5
- class="cursor-pointer highlight-on-hover"
6
- @click="$router.push(pathPrefix)"
7
- >
2
+ <v-row v-ripple no-gutters class="cursor-pointer highlight-on-hover">
8
3
  <v-col v-if="mdAndUp" align-self="center" cols="1">
9
4
  <MiscAtomsImageContainer
10
5
  cover
@@ -39,7 +34,11 @@
39
34
  <MDC
40
35
  v-if="item.summary"
41
36
  class="text-caption font-weight-light paragraph"
42
- :value="`${highlightAndTruncate(150, item.summary, rootStore.search.split(' '))}`"
37
+ :value="`${highlightAndTruncate(
38
+ 150,
39
+ item.summary,
40
+ rootStore.search.split(' ')
41
+ )}`"
43
42
  />
44
43
  </v-col>
45
44
  </v-row>
@@ -64,10 +63,7 @@ const props = defineProps({
64
63
  type: Number,
65
64
  required: true,
66
65
  },
67
- pathPrefix: {
68
- type: String,
69
- required: true,
70
- },
66
+
71
67
  loading: {
72
68
  type: Boolean,
73
69
  required: false,
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <v-sheet :to="pathPrefix">
2
+ <v-sheet>
3
3
  <v-row>
4
4
  <v-col v-if="lgAndUp" cols="3">
5
5
  <MiscAtomsImageContainer
@@ -16,7 +16,6 @@
16
16
  lg="9"
17
17
  xl="10"
18
18
  class="px-6 cursor-pointer"
19
- @click="router.push(pathPrefix)"
20
19
  >
21
20
  <v-skeleton-loader
22
21
  v-if="isLoading"
@@ -92,10 +91,7 @@ const props = defineProps({
92
91
  },
93
92
  required: true,
94
93
  },
95
- pathPrefix: {
96
- type: String,
97
- required: true,
98
- },
94
+
99
95
  loading: {
100
96
  type: Boolean,
101
97
  required: false,
@@ -1,10 +1,5 @@
1
1
  <template>
2
- <v-row
3
- v-ripple
4
- no-gutters
5
- class="cursor-pointer highlight-on-hover my-2"
6
- @click="$router.push(pathPrefix)"
7
- >
2
+ <v-row v-ripple no-gutters class="cursor-pointer highlight-on-hover my-2">
8
3
  <v-col v-if="mdAndUp" cols="1" class="align-center">
9
4
  <MiscAtomsImageContainer
10
5
  cover
@@ -60,14 +55,18 @@
60
55
  ? highlightAndTruncate(
61
56
  300,
62
57
  item.name,
63
- $rootStore.search.split(' '),
58
+ $rootStore.search.split(' ')
64
59
  )
65
60
  : item.name
66
61
  "
67
62
  />
68
63
  <MDC
69
64
  class="text-body-1 font-weight-light paragraph"
70
- :value="`${highlightAndTruncate(150, item.summary, rootStore.search.split(' '))}`"
65
+ :value="`${highlightAndTruncate(
66
+ 150,
67
+ item.summary,
68
+ rootStore.search.split(' ')
69
+ )}`"
71
70
  />
72
71
  </div> </v-col
73
72
  ></v-row>
@@ -90,10 +89,7 @@ const props = defineProps({
90
89
  type: Number,
91
90
  required: true,
92
91
  },
93
- pathPrefix: {
94
- type: String,
95
- required: true,
96
- },
92
+
97
93
  loading: {
98
94
  type: Boolean,
99
95
  required: false,
@@ -15,7 +15,6 @@
15
15
  lg="9"
16
16
  xl="10"
17
17
  class="px-6 cursor-pointer"
18
- @click="router.push(pathPrefix)"
19
18
  >
20
19
  <div>
21
20
  <v-skeleton-loader
@@ -44,7 +43,6 @@
44
43
  class="mt-4"
45
44
  variant="outlined"
46
45
  tile
47
- :to="pathPrefix"
48
46
  :size="
49
47
  ['small', 'small', 'small', 'default', 'default', 'large'][
50
48
  ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].indexOf(name || 'md')
@@ -91,10 +89,7 @@ const props = defineProps({
91
89
  },
92
90
  required: true,
93
91
  },
94
- pathPrefix: {
95
- type: String,
96
- required: true,
97
- },
92
+
98
93
  loading: {
99
94
  type: Boolean,
100
95
  required: false,
@@ -8,10 +8,6 @@ defineProps({
8
8
  type: Object,
9
9
  required: true,
10
10
  },
11
- pathPrefix: {
12
- type: String,
13
- required: true,
14
- },
15
11
  })
16
12
  </script>
17
13
 
@@ -10,10 +10,6 @@ const props = defineProps({
10
10
  type: Object,
11
11
  required: true,
12
12
  },
13
- pathPrefix: {
14
- type: String,
15
- required: true,
16
- },
17
13
  })
18
14
  </script>
19
15
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@6" />
9
5
  <template v-else>
@@ -21,7 +17,6 @@ import { useRootStore } from "../../stores/root"
21
17
  const rootStore = useRootStore()
22
18
  const props = defineProps({
23
19
  item: { type: Object, required: true },
24
- pathPrefix: { type: String, required: true },
25
20
  loading: { type: Boolean, default: false },
26
21
  })
27
22
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="my-2 highlight-on-hover"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="my-2 highlight-on-hover" no-gutters>
7
3
  <v-col cols="12" class="px-4">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@6" />
9
5
  <template v-else>
@@ -22,7 +18,6 @@ import { useRootStore } from "../../stores/root"
22
18
  const rootStore = useRootStore()
23
19
  const props = defineProps({
24
20
  item: { type: Object, required: true },
25
- pathPrefix: { type: String, required: true },
26
21
  loading: { type: Boolean, default: false },
27
22
  })
28
23
 
@@ -10,10 +10,6 @@ const props = defineProps({
10
10
  type: Object,
11
11
  required: true,
12
12
  },
13
- pathPrefix: {
14
- type: String,
15
- required: true,
16
- },
17
13
  })
18
14
  </script>
19
15
 
@@ -1,9 +1,5 @@
1
1
  <template>
2
- <v-row
3
- class="highlight-on-hover pa-3"
4
- no-gutters
5
- @click="$router.push(pathPrefix)"
6
- >
2
+ <v-row class="highlight-on-hover pa-3" no-gutters>
7
3
  <v-col cols="12" class="px-6">
8
4
  <v-skeleton-loader v-if="isLoading" type="heading, text@8, button" />
9
5
  <template v-else>
@@ -22,7 +18,6 @@ import { useRootStore } from "../../stores/root"
22
18
  const rootStore = useRootStore()
23
19
  const props = defineProps({
24
20
  item: { type: Object, required: true },
25
- pathPrefix: { type: String, required: true },
26
21
  loading: { type: Boolean, default: false },
27
22
  })
28
23
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "license": "AGPL-3.0-only",
3
3
  "main": "./dist/module.mjs",
4
- "version": "1.0.146",
4
+ "version": "1.0.147",
5
5
  "name": "@paris-ias/list",
6
6
  "repository": {
7
7
  "url": "git+https://github.com/IEA-Paris/list.git",