@paris-ias/list 1.3.7 → 1.3.8

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.
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@paris-ias/list",
3
3
  "configKey": "list",
4
- "version": "1.3.7",
4
+ "version": "1.3.8",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "2.0.0"
@@ -46,41 +46,48 @@
46
46
  class="mt-2"
47
47
  />
48
48
  <MiscMoleculesChipContainer
49
- v-else
50
- :items="[
51
- $t(
52
- 'list.filters.fellowships.fellowshipType.' + item.fellowshipType,
53
- ),
54
- ...(props.item?.disciplines?.map((discipline) =>
55
- $t('list.filters.disciplines.' + discipline),
56
- ) ?? []),
57
- ]"
49
+ v-else-if="fellowshipTypeLabels.length"
50
+ :items="fellowshipTypeLabels"
51
+ class="mt-2"
52
+ />
53
+ <!-- DISCIPLINES -->
54
+ <MiscMoleculesDisciplinesTags
55
+ v-if="loading || (item.disciplines && item.disciplines.length)"
56
+ :disciplines="item.disciplines"
57
+ :loading="loading"
58
+ inline
59
+ class="mt-2"
58
60
  />
59
61
  </template>
60
62
  </v-col>
61
63
 
62
64
  <v-col v-if="mdAndUp" class="d-flex flex-column" cols="1">
63
65
  <v-skeleton-loader v-if="loading" type="chip" width="260" class="mt-2" />
64
- <MiscMoleculesChipContainer
65
- v-else
66
- :items="[
67
- $t('list.filters.fellowships.fellowshipType.' + item.fellowshipType),
68
- ...(props.item?.disciplines.map((discipline) =>
69
- $t('list.filters.disciplines.' + discipline),
70
- ) ?? []),
71
- ]"
72
- class="mt-2"
73
- />
66
+ <template v-else>
67
+ <MiscMoleculesChipContainer
68
+ v-if="fellowshipTypeLabels.length"
69
+ :items="fellowshipTypeLabels"
70
+ class="mt-2"
71
+ />
72
+ <!-- DISCIPLINES -->
73
+ <MiscMoleculesDisciplinesTags
74
+ v-if="item.disciplines && item.disciplines.length"
75
+ :disciplines="item.disciplines"
76
+ inline
77
+ class="mt-2"
78
+ />
79
+ </template>
74
80
  </v-col>
75
81
  </ListMoleculesDenseItemContainer>
76
82
  </template>
77
83
 
78
84
  <script setup>
79
85
  import { useDisplay } from "vuetify"
80
- import { useNuxtApp, useRoute, computed } from "#imports"
86
+ import { useNuxtApp, useRoute, useI18n, computed } from "#imports"
81
87
  import { highlightAndTruncate } from "../../composables/useUtils"
82
88
  const { $rootStore, $stores } = useNuxtApp()
83
89
  const { name } = useRoute()
90
+ const { t } = useI18n()
84
91
  const { mdAndUp, mdAndDown, smAndDown } = useDisplay()
85
92
  const searchQuery = computed(() =>
86
93
  name.startsWith("search")
@@ -102,4 +109,12 @@ const props = defineProps({
102
109
  default: false,
103
110
  },
104
111
  })
112
+
113
+ // fellowshipType is an array in the DB (e.g. ["LONG_STAY"]); translate each
114
+ // value. Tolerates a scalar too. Disciplines are rendered separately as pills.
115
+ const fellowshipTypeLabels = computed(() => {
116
+ const ft = props.item?.fellowshipType
117
+ const values = Array.isArray(ft) ? ft : ft ? [ft] : []
118
+ return values.map((v) => t("list.filters.fellowships.fellowshipType." + v))
119
+ })
105
120
  </script>
@@ -33,6 +33,14 @@
33
33
  :items="item.tags || []"
34
34
  size="small"
35
35
  />
36
+ <!-- DISCIPLINES -->
37
+ <MiscMoleculesDisciplinesTags
38
+ v-if="loading || (item.disciplines && item.disciplines.length)"
39
+ :disciplines="item.disciplines"
40
+ :loading="loading"
41
+ inline
42
+ class="mt-2"
43
+ />
36
44
  <v-skeleton-loader v-if="loading" type="text@2" class="mt-3" />
37
45
  <MDC
38
46
  v-else-if="item.summary && item.summary.length && mdAndUp"
@@ -294,6 +294,31 @@
294
294
  "THESIS": "Thesis",
295
295
  "VIDEO": "Video",
296
296
  "OTHERS": "Others"
297
+ },
298
+ "publicationType": {
299
+ "label": "Type",
300
+ "ARTICLE": "Article",
301
+ "BOOK": "Book",
302
+ "BOOK_CHAPTER": "Book chapter",
303
+ "CONFERENCE_PAPER": "Conference paper",
304
+ "DATA": "Data",
305
+ "REPORT": "Report",
306
+ "SOFTWARE": "Software",
307
+ "THESIS": "Thesis"
308
+ },
309
+ "mediaPublicType": {
310
+ "label": "Type",
311
+ "AUDIO": "Audio",
312
+ "PODCAST": "Podcast",
313
+ "VIDEO": "Video"
314
+ },
315
+ "mediaCategory": {
316
+ "label": "Category",
317
+ "FELLOWS": "Fellows",
318
+ "EVENTS": "Event",
319
+ "IDEAS": "Ideas",
320
+ "CONFERENCE_CYCLE": "Conference cycle",
321
+ "OTHER": "Other"
297
322
  }
298
323
  },
299
324
  "affiliations": {
@@ -103,13 +103,6 @@
103
103
  "WPRN": "WPRN",
104
104
  "WPRN-2021": "WPRN 2021"
105
105
  },
106
- "status": {
107
- "label": "Statut",
108
- "CANCELLED": "Annulé",
109
- "PAST": "Terminé",
110
- "IN_PROGRESS": "En cours",
111
- "UPCOMING": "À venir"
112
- },
113
106
  "organiserCategory": {
114
107
  "label": "Type d'organisateur",
115
108
  "IAS": "IEA de Paris",
@@ -189,7 +182,10 @@
189
182
  "status": {
190
183
  "label": "Statut",
191
184
  "ACTIVE": "Actif",
192
- "INACTIVE": "Inactif"
185
+ "INACTIVE": "Inactif",
186
+ "PAST": "Ancien",
187
+ "IN_PROGRESS": "En cours",
188
+ "PLANNED": "Prévu"
193
189
  }
194
190
  },
195
191
  "projects": {
@@ -291,6 +287,31 @@
291
287
  "THESIS": "Thèse",
292
288
  "VIDEO": "Vidéo",
293
289
  "OTHERS": "Autres"
290
+ },
291
+ "publicationType": {
292
+ "label": "Type",
293
+ "ARTICLE": "Article",
294
+ "BOOK": "Livre",
295
+ "BOOK_CHAPTER": "Chapitre de livre",
296
+ "CONFERENCE_PAPER": "Actes de conférence",
297
+ "DATA": "Données",
298
+ "REPORT": "Rapport",
299
+ "SOFTWARE": "Logiciel",
300
+ "THESIS": "Thèse"
301
+ },
302
+ "mediaPublicType": {
303
+ "label": "Type",
304
+ "AUDIO": "Audio",
305
+ "PODCAST": "Podcast",
306
+ "VIDEO": "Vidéo"
307
+ },
308
+ "mediaCategory": {
309
+ "label": "Catégorie",
310
+ "FELLOWS": "Résidents",
311
+ "EVENTS": "Événements",
312
+ "IDEAS": "Idées",
313
+ "CONFERENCE_CYCLE": "Cycle de conférences",
314
+ "OTHER": "Autres"
294
315
  }
295
316
  },
296
317
  "affiliations": {
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "license": "AGPL-3.0-only",
3
3
  "main": "./dist/module.mjs",
4
- "version": "1.3.7",
4
+ "version": "1.3.8",
5
5
  "name": "@paris-ias/list",
6
6
  "repository": {
7
7
  "url": "git+https://github.com/IEA-Paris/list.git",
8
8
  "type": "git"
9
9
  },
10
10
  "dependencies": {
11
- "@paris-ias/trees": "^2.2.21"
11
+ "@paris-ias/trees": "^2.2.22"
12
12
  },
13
13
  "description": "Paris IAS List Module",
14
14
  "peerDependencies": {