@paris-ias/list 1.0.192 → 1.0.194
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/events/DenseItem.vue +3 -12
- package/dist/runtime/components/fellowships/DenseItem.vue +10 -12
- package/dist/runtime/components/list/molecules/DenseItemContainer.vue +5 -0
- package/dist/runtime/components/list/molecules/GlobalSearchInput.vue +12 -4
- package/dist/runtime/components/list/molecules/ResultsContainer.vue +6 -1
- package/dist/runtime/components/list/organisms/Results.vue +10 -9
- package/dist/runtime/components/news/DenseItem.vue +4 -4
- package/dist/runtime/components/people/DenseItem.vue +9 -5
- package/dist/runtime/components/projects/DenseItem.vue +3 -3
- package/dist/runtime/components/publications/DenseItem.vue +5 -5
- package/package.json +2 -2
package/dist/module.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
3
3
|
<v-col v-if="mdAndUp" cols="1">
|
|
4
4
|
<MiscAtomsDateStamp
|
|
5
5
|
v-if="item.start"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
/>
|
|
22
22
|
</v-col>
|
|
23
23
|
|
|
24
|
-
<v-col align-self="start" class="pl-4">
|
|
24
|
+
<v-col align-self="start" class="pl-md-4">
|
|
25
25
|
<v-skeleton-loader v-if="loading" type="chip" class="mr-3" width="120" />
|
|
26
26
|
<v-chip
|
|
27
27
|
v-else
|
|
@@ -82,14 +82,7 @@
|
|
|
82
82
|
)}`"
|
|
83
83
|
/>
|
|
84
84
|
</v-col>
|
|
85
|
-
|
|
86
|
-
<!-- <v-col align-self="center" cols="auto">
|
|
87
|
-
<v-skeleton-loader v-if="loading" type="button" />
|
|
88
|
-
<div v-else>
|
|
89
|
-
<EventsBadges :item />
|
|
90
|
-
</div>
|
|
91
|
-
</v-col> -->
|
|
92
|
-
</v-row>
|
|
85
|
+
</ListMoleculesDenseItemContainer>
|
|
93
86
|
</template>
|
|
94
87
|
|
|
95
88
|
<script setup>
|
|
@@ -124,6 +117,4 @@ const props = defineProps({
|
|
|
124
117
|
default: false,
|
|
125
118
|
},
|
|
126
119
|
})
|
|
127
|
-
|
|
128
|
-
// const loading = computed(() => rootStore.loading || props.loading)
|
|
129
120
|
</script>
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
v-ripple
|
|
4
|
-
no-gutters
|
|
5
|
-
class="cursor-pointer highlight-on-hover pt-2 pl-md-2"
|
|
6
|
-
>
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
7
3
|
<v-col
|
|
8
4
|
v-if="mdAndUp"
|
|
9
|
-
cols="
|
|
5
|
+
cols="auto"
|
|
10
6
|
class="align-center"
|
|
11
7
|
:offset="name.startsWith('search') ? 1 : 0"
|
|
12
8
|
>
|
|
13
9
|
<MiscAtomsImageContainer
|
|
14
10
|
cover
|
|
15
11
|
:loading="loading"
|
|
16
|
-
:src="
|
|
12
|
+
:src="
|
|
13
|
+
item && item.image && item.image.url ? item.image.url : '/default.png'
|
|
14
|
+
"
|
|
17
15
|
:ratio="1 / 1"
|
|
18
16
|
:width="100"
|
|
19
17
|
/>
|
|
@@ -21,8 +19,7 @@
|
|
|
21
19
|
|
|
22
20
|
<v-col
|
|
23
21
|
:cols="mdAndUp ? 8 : undefined"
|
|
24
|
-
class="text-h5 dense d-flex flex-column
|
|
25
|
-
:offset="name.startsWith('search') ? 1 : 0"
|
|
22
|
+
class="text-h5 dense d-flex flex-column"
|
|
26
23
|
>
|
|
27
24
|
<v-skeleton-loader
|
|
28
25
|
v-if="loading"
|
|
@@ -37,6 +34,7 @@
|
|
|
37
34
|
? highlightAndTruncate(300, item.name, searchQuery.split(' '))
|
|
38
35
|
: item.name
|
|
39
36
|
"
|
|
37
|
+
class="pl-md-4"
|
|
40
38
|
/>
|
|
41
39
|
<FellowshipsBadges :item="item" :loading="loading" />
|
|
42
40
|
|
|
@@ -60,7 +58,7 @@
|
|
|
60
58
|
</template>
|
|
61
59
|
</v-col>
|
|
62
60
|
|
|
63
|
-
<v-col v-if="mdAndUp" class="d-flex flex-column">
|
|
61
|
+
<v-col v-if="mdAndUp" class="d-flex flex-column" cols="1">
|
|
64
62
|
<v-skeleton-loader v-if="loading" type="chip" width="260" class="mt-2" />
|
|
65
63
|
<MiscMoleculesChipContainer
|
|
66
64
|
v-else
|
|
@@ -72,7 +70,7 @@
|
|
|
72
70
|
class="mt-2"
|
|
73
71
|
/>
|
|
74
72
|
</v-col>
|
|
75
|
-
</
|
|
73
|
+
</ListMoleculesDenseItemContainer>
|
|
76
74
|
</template>
|
|
77
75
|
|
|
78
76
|
<script setup>
|
|
@@ -81,7 +79,7 @@ import { useNuxtApp, useRoute, computed } from "#imports"
|
|
|
81
79
|
import { highlightAndTruncate } from "../../composables/useUtils"
|
|
82
80
|
const { $rootStore, $stores } = useNuxtApp()
|
|
83
81
|
const { name } = useRoute()
|
|
84
|
-
const { mdAndUp, mdAndDown } = useDisplay()
|
|
82
|
+
const { mdAndUp, mdAndDown, smAndDown } = useDisplay()
|
|
85
83
|
const searchQuery = computed(() =>
|
|
86
84
|
name.startsWith("search")
|
|
87
85
|
? $rootStore.search
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex align-center">
|
|
3
3
|
<v-menu
|
|
4
|
-
v-if="filter"
|
|
4
|
+
v-if="filter && mdAndUp"
|
|
5
5
|
v-model="filterMenuOpen"
|
|
6
6
|
:close-on-content-click="false"
|
|
7
7
|
location="bottom end"
|
|
@@ -150,8 +150,14 @@ const allFilterOptions = computed(() => ({
|
|
|
150
150
|
people: { value: "people", label: capitalize(t("items.people", 2)) },
|
|
151
151
|
events: { value: "events", label: capitalize(t("items.events", 2)) },
|
|
152
152
|
news: { value: "news", label: capitalize(t("items.news", 2)) },
|
|
153
|
-
publications: {
|
|
154
|
-
|
|
153
|
+
publications: {
|
|
154
|
+
value: "publications",
|
|
155
|
+
label: capitalize(t("items.publications", 2)),
|
|
156
|
+
},
|
|
157
|
+
fellowships: {
|
|
158
|
+
value: "fellowships",
|
|
159
|
+
label: capitalize(t("items.fellowships", 2)),
|
|
160
|
+
},
|
|
155
161
|
projects: { value: "projects", label: capitalize(t("items.projects", 2)) },
|
|
156
162
|
}))
|
|
157
163
|
|
|
@@ -159,7 +165,9 @@ const filterOptions = computed(() => {
|
|
|
159
165
|
const map = allFilterOptions.value
|
|
160
166
|
if (props.filterOrder.length > 0) {
|
|
161
167
|
const ordered = props.filterOrder.filter((k) => map[k]).map((k) => map[k])
|
|
162
|
-
const rest = Object.values(map).filter(
|
|
168
|
+
const rest = Object.values(map).filter(
|
|
169
|
+
(o) => !props.filterOrder.includes(o.value),
|
|
170
|
+
)
|
|
163
171
|
return [...ordered, ...rest]
|
|
164
172
|
}
|
|
165
173
|
return Object.values(map)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<div class="d-flex align-center justify-space-between my-2">
|
|
4
4
|
<v-btn
|
|
5
|
+
v-if="mdAndUp"
|
|
5
6
|
variant="text"
|
|
6
7
|
class="mr-2"
|
|
7
8
|
@click="$emit('toggle', type)"
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
@click="$emit('toggle', type)"
|
|
17
18
|
>
|
|
18
19
|
<h3
|
|
20
|
+
class="mt-4 mb-0"
|
|
19
21
|
:class="
|
|
20
22
|
$rootStore.results[type] && $rootStore.results[type].total > 0
|
|
21
23
|
? 'black'
|
|
@@ -24,7 +26,7 @@
|
|
|
24
26
|
>
|
|
25
27
|
{{ capitalize($t("items." + props.type, 2)) }}
|
|
26
28
|
</h3>
|
|
27
|
-
<div class="text-overline">
|
|
29
|
+
<div class="text-overline mb-3">
|
|
28
30
|
{{
|
|
29
31
|
feminine
|
|
30
32
|
? $t(
|
|
@@ -83,8 +85,11 @@
|
|
|
83
85
|
</template>
|
|
84
86
|
<script setup>
|
|
85
87
|
import { useNuxtApp, useLocalePath } from "#imports"
|
|
88
|
+
import { useDisplay } from "vuetify"
|
|
86
89
|
const localePath = useLocalePath()
|
|
87
90
|
|
|
91
|
+
const { mdAndUp } = useDisplay()
|
|
92
|
+
|
|
88
93
|
// Utility function to capitalize first letter
|
|
89
94
|
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1)
|
|
90
95
|
|
|
@@ -61,14 +61,16 @@ import {
|
|
|
61
61
|
computed,
|
|
62
62
|
watch,
|
|
63
63
|
} from "#imports"
|
|
64
|
+
import { useRootStore } from "../../../stores/root"
|
|
64
65
|
import SEARCH from "@paris-ias/trees/dist/graphql/client/misc/query.search.all.gql"
|
|
65
66
|
|
|
66
67
|
const { $rootStore } = useNuxtApp()
|
|
68
|
+
const rootStore = useRootStore()
|
|
67
69
|
const appConfig = useAppConfig()
|
|
68
70
|
const { locale } = useI18n()
|
|
69
71
|
const route = useRoute()
|
|
70
72
|
if (route.query.search) {
|
|
71
|
-
|
|
73
|
+
rootStore.search = String(route.query.search)
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
const open = reactive(
|
|
@@ -109,16 +111,15 @@ const searchTerm = computed(() => $rootStore.search || "")
|
|
|
109
111
|
const currentLocale = computed(() => locale.value)
|
|
110
112
|
|
|
111
113
|
const { data, pending, error } = useAsyncQuery(
|
|
112
|
-
SEARCH,
|
|
113
|
-
computed(() => ({
|
|
114
|
-
search: searchTerm.value,
|
|
115
|
-
appId: "iea",
|
|
116
|
-
lang: currentLocale.value,
|
|
117
|
-
})),
|
|
118
114
|
{
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
query: SEARCH,
|
|
116
|
+
variables: computed(() => ({
|
|
117
|
+
search: searchTerm.value,
|
|
118
|
+
appId: "iea",
|
|
119
|
+
lang: currentLocale.value,
|
|
120
|
+
})),
|
|
121
121
|
},
|
|
122
|
+
{ server: false },
|
|
122
123
|
)
|
|
123
124
|
|
|
124
125
|
watch(data, (newData) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
3
3
|
<v-col v-if="mdAndUp" cols="1">
|
|
4
4
|
<MiscAtomsDateStamp
|
|
5
5
|
v-if="item.date"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
class="mr-4"
|
|
9
9
|
/>
|
|
10
10
|
</v-col>
|
|
11
|
-
<v-col v-if="mdAndUp" align-self="start" cols="
|
|
11
|
+
<v-col v-if="mdAndUp" align-self="start" cols="auto">
|
|
12
12
|
<MiscAtomsImageContainer
|
|
13
13
|
cover
|
|
14
14
|
:loading="loading"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
:width="100"
|
|
20
20
|
/>
|
|
21
21
|
</v-col>
|
|
22
|
-
<v-col align-self="start" class="text-h5 dense pl-4 paragraph">
|
|
22
|
+
<v-col align-self="start" class="text-h5 dense pl-md-4 paragraph">
|
|
23
23
|
<v-skeleton-loader v-if="loading" type="heading" />
|
|
24
24
|
<template v-else>
|
|
25
25
|
<v-skeleton-loader
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
/>
|
|
68
68
|
</template>
|
|
69
69
|
</v-col>
|
|
70
|
-
</
|
|
70
|
+
</ListMoleculesDenseItemContainer>
|
|
71
71
|
</template>
|
|
72
72
|
|
|
73
73
|
<script setup>
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<v-col
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
3
|
+
<v-col
|
|
4
|
+
v-if="mdAndUp"
|
|
5
|
+
cols="auto"
|
|
6
|
+
:offset="name.startsWith('search') ? 1 : 0"
|
|
7
|
+
>
|
|
4
8
|
<MiscAtomsImageContainer
|
|
5
9
|
cover
|
|
6
10
|
:loading="loading"
|
|
@@ -12,11 +16,11 @@
|
|
|
12
16
|
class="ma-1"
|
|
13
17
|
/>
|
|
14
18
|
</v-col>
|
|
15
|
-
<v-col align-self="start" class="
|
|
19
|
+
<v-col align-self="start" class="dense ml-md-4">
|
|
16
20
|
<v-skeleton-loader v-if="loading" type="heading" />
|
|
17
21
|
<div
|
|
18
22
|
v-else
|
|
19
|
-
class="d-flex justify-space-between text-title text-
|
|
23
|
+
class="d-flex justify-space-between text-title text-h5 align-center pt-md-2"
|
|
20
24
|
>
|
|
21
25
|
<span
|
|
22
26
|
v-html="
|
|
@@ -63,7 +67,7 @@
|
|
|
63
67
|
"
|
|
64
68
|
/>
|
|
65
69
|
</v-col>
|
|
66
|
-
</
|
|
70
|
+
</ListMoleculesDenseItemContainer>
|
|
67
71
|
</template>
|
|
68
72
|
|
|
69
73
|
<script setup>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
3
3
|
<v-col
|
|
4
4
|
v-if="mdAndUp"
|
|
5
5
|
align-self="start"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
:width="100"
|
|
17
17
|
/>
|
|
18
18
|
</v-col>
|
|
19
|
-
<v-col align-self="
|
|
19
|
+
<v-col align-self="start" class="text-h5 dense pl-md-4">
|
|
20
20
|
<v-skeleton-loader v-if="loading" type="heading" width="50%" />
|
|
21
21
|
<span
|
|
22
22
|
v-else
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
)}`"
|
|
45
45
|
/>
|
|
46
46
|
</v-col>
|
|
47
|
-
</
|
|
47
|
+
</ListMoleculesDenseItemContainer>
|
|
48
48
|
</template>
|
|
49
49
|
|
|
50
50
|
<script setup>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<ListMoleculesDenseItemContainer>
|
|
3
3
|
<v-col v-if="mdAndUp" cols="1">
|
|
4
4
|
<MiscAtomsDateStamp
|
|
5
5
|
v-if="item.date"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
class="mr-4"
|
|
9
9
|
/>
|
|
10
10
|
</v-col>
|
|
11
|
-
<v-col v-if="mdAndUp" cols="
|
|
11
|
+
<v-col v-if="mdAndUp" cols="auto" class="align-center">
|
|
12
12
|
<MiscAtomsImageContainer
|
|
13
13
|
cover
|
|
14
14
|
:loading="loading"
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
:width="100"
|
|
20
20
|
/>
|
|
21
21
|
</v-col>
|
|
22
|
-
<v-col class="
|
|
23
|
-
<div class="inline-flex flex-row flex-wrap">
|
|
22
|
+
<v-col class="" cols="8">
|
|
23
|
+
<div class="inline-flex flex-row flex-wrap pl-md-4">
|
|
24
24
|
<v-skeleton-loader v-if="loading" :type="heading" />
|
|
25
25
|
|
|
26
26
|
<template v-else>
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
)}`"
|
|
70
70
|
/>
|
|
71
71
|
</div> </v-col
|
|
72
|
-
></
|
|
72
|
+
></ListMoleculesDenseItemContainer>
|
|
73
73
|
</template>
|
|
74
74
|
|
|
75
75
|
<script setup>
|
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.0.
|
|
4
|
+
"version": "1.0.194",
|
|
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.0.
|
|
11
|
+
"@paris-ias/trees": "^2.0.49"
|
|
12
12
|
},
|
|
13
13
|
"description": "Paris IAS List Module",
|
|
14
14
|
"peerDependencies": {
|