@paris-ias/list 1.3.7 → 1.3.9
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 +1 -1
- package/dist/runtime/components/fellowships/DenseItem.vue +35 -20
- package/dist/runtime/components/projects/DenseItem.vue +8 -0
- package/dist/runtime/stores/factory.js +8 -1
- package/dist/runtime/translations/en.json +26 -0
- package/dist/runtime/translations/fr.json +30 -8
- package/package.json +2 -2
package/dist/module.json
CHANGED
|
@@ -46,41 +46,48 @@
|
|
|
46
46
|
class="mt-2"
|
|
47
47
|
/>
|
|
48
48
|
<MiscMoleculesChipContainer
|
|
49
|
-
v-else
|
|
50
|
-
:items="
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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>
|
|
@@ -28,6 +28,14 @@
|
|
|
28
28
|
class=""
|
|
29
29
|
/>
|
|
30
30
|
|
|
31
|
+
<!-- DISCIPLINES: own row directly below the title (block, not inline) -->
|
|
32
|
+
<MiscMoleculesDisciplinesTags
|
|
33
|
+
v-if="loading || (item.disciplines && item.disciplines.length)"
|
|
34
|
+
:disciplines="item.disciplines"
|
|
35
|
+
:loading="loading"
|
|
36
|
+
class="mt-2"
|
|
37
|
+
/>
|
|
38
|
+
|
|
31
39
|
<MiscMoleculesChipContainer
|
|
32
40
|
v-if="item.tags"
|
|
33
41
|
:items="item.tags || []"
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { defineStore } from "pinia";
|
|
2
2
|
import { reactive, toRefs } from "vue";
|
|
3
|
+
const toMutable = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
return structuredClone(value);
|
|
6
|
+
} catch {
|
|
7
|
+
return JSON.parse(JSON.stringify(value));
|
|
8
|
+
}
|
|
9
|
+
};
|
|
3
10
|
export const createDynamicStore = (storeName, moduleState) => {
|
|
4
11
|
return defineStore(storeName, () => {
|
|
5
12
|
const state = reactive({
|
|
@@ -11,7 +18,7 @@ export const createDynamicStore = (storeName, moduleState) => {
|
|
|
11
18
|
search: "",
|
|
12
19
|
error: null,
|
|
13
20
|
sortKey: null,
|
|
14
|
-
...moduleState
|
|
21
|
+
...toMutable(moduleState)
|
|
15
22
|
});
|
|
16
23
|
return {
|
|
17
24
|
...toRefs(state)
|
|
@@ -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": {
|
|
@@ -333,6 +358,7 @@
|
|
|
333
358
|
"SOCIOLOGY": "Sociology",
|
|
334
359
|
"STUDIES_IN_SCIENCE_AND_TECHNOLOGY": "Studies in science and technology",
|
|
335
360
|
"THEOLOGY": "Theology",
|
|
361
|
+
"OTHER": "Other",
|
|
336
362
|
"OTHERS": "Others",
|
|
337
363
|
"BIOLOGY": "Biology",
|
|
338
364
|
"CHEMISTRY": "Chemistry",
|
|
@@ -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": {
|
|
@@ -330,6 +351,7 @@
|
|
|
330
351
|
"SOCIOLOGY": "Sociologie",
|
|
331
352
|
"STUDIES_IN_SCIENCE_AND_TECHNOLOGY": "Études en sciences et technologies",
|
|
332
353
|
"THEOLOGY": "Théologie",
|
|
354
|
+
"OTHER": "Autre",
|
|
333
355
|
"OTHERS": "Autres",
|
|
334
356
|
"BIOLOGY": "Biologie",
|
|
335
357
|
"CHEMISTRY": "Chimie",
|
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.
|
|
4
|
+
"version": "1.3.9",
|
|
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.
|
|
11
|
+
"@paris-ias/trees": "^2.2.25"
|
|
12
12
|
},
|
|
13
13
|
"description": "Paris IAS List Module",
|
|
14
14
|
"peerDependencies": {
|