From 3dd6934103626f60ee13bd7e9643752346c40c26 Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Mon, 20 Nov 2023 10:17:50 +0100 Subject: [PATCH 01/18] search by subtheme --- src/components/TopicSearch.vue | 117 +++++++++++++++++++++++++++++++++ src/model.ts | 40 ++++++++++- 2 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 src/components/TopicSearch.vue diff --git a/src/components/TopicSearch.vue b/src/components/TopicSearch.vue new file mode 100644 index 000000000..76f45a0b8 --- /dev/null +++ b/src/components/TopicSearch.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/model.ts b/src/model.ts index 4a37fddf8..9f6e0b8e0 100644 --- a/src/model.ts +++ b/src/model.ts @@ -8,4 +8,42 @@ interface Subtheme { name: string } -export type { Theme, Subtheme } +interface SelectOption { + value: string + text: string + disabled?: boolean +} + +interface BreadcrumbItem { + text: string + to?: string +} + +interface Topic { + created_at: string + datasets: Dataset[] + description: string + extras: { + 'ecospheres:datasets_properties': {} + 'ecospheres:informations': { subtheme: string; theme: string }[] + } + featured: boolean + id: string + name: string + organisation: any + owner: any + page: string + private: boolean + reuses: [] + slug: string + tags: string[] + uri: string +} + +interface Dataset { + // to improve +} + +export const NoOptionSelected = 'no_option_selected' + +export type { Theme, Subtheme, SelectOption, BreadcrumbItem, Topic } From b7a6f941bf47b52a0fb2c742c4803f85a709d829 Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Mon, 20 Nov 2023 10:18:07 +0100 Subject: [PATCH 02/18] list results --- src/components/TopicList.vue | 116 +++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/components/TopicList.vue diff --git a/src/components/TopicList.vue b/src/components/TopicList.vue new file mode 100644 index 000000000..b8172bbb8 --- /dev/null +++ b/src/components/TopicList.vue @@ -0,0 +1,116 @@ + + + From f7551a00c91b0892bd7b7cd4cd815263c470f946 Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Mon, 20 Nov 2023 10:18:41 +0100 Subject: [PATCH 03/18] combine list and filter --- src/services/routerUtils.js | 6 +- src/views/bouquets/BouquetsListView.vue | 100 ++++++++++++++---------- 2 files changed, 64 insertions(+), 42 deletions(-) diff --git a/src/services/routerUtils.js b/src/services/routerUtils.js index 41741b9cc..7433d6cc6 100644 --- a/src/services/routerUtils.js +++ b/src/services/routerUtils.js @@ -42,7 +42,11 @@ export default class RouterFetch { items.push({ path: item.linkPage, name: item.id, - component: BouquetsListView + component: BouquetsListView, + props: (route) => ({ + initThemeName: route.query.theme, + initSubthemeName: route.query.subtheme + }) }) items.push({ path: `${item.linkPage}/:bid`, diff --git a/src/views/bouquets/BouquetsListView.vue b/src/views/bouquets/BouquetsListView.vue index bcdcd34b7..2acee3270 100644 --- a/src/views/bouquets/BouquetsListView.vue +++ b/src/views/bouquets/BouquetsListView.vue @@ -1,46 +1,64 @@ - - + + From 9a01015937f1583cb3b092f97a9423ca76f0aecf Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Mon, 20 Nov 2023 10:18:58 +0100 Subject: [PATCH 04/18] call from home --- src/assets/main.css | 24 ++++++++++++++++++++++++ src/components/HomeThemes.vue | 2 +- src/views/HomeView.vue | 13 +++++++++---- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/assets/main.css b/src/assets/main.css index 47d6bf015..01d8dd1a4 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -49,3 +49,27 @@ text-align: left; } } + +.theme_without_breadcrumb { + margin: 128px 0 0; +} + +.theme_with_breadcrumb { + margin: 60px 0 0; +} + +.home-selection-breadcrumb { + text-align: left; +} + +.topicListView { + margin-top: 128px; +} + +.actionTile { + background: #000092; + a { + color: white; + + } +} \ No newline at end of file diff --git a/src/components/HomeThemes.vue b/src/components/HomeThemes.vue index 522cbdbf1..34438b68e 100644 --- a/src/components/HomeThemes.vue +++ b/src/components/HomeThemes.vue @@ -64,7 +64,7 @@ export default { return `box-shadow: rgb(221, 221, 221) 0px 0px 0px 1px inset, #${color} 0px -4px 0px 0px inset` }, goToTopicList(subtheme: Subtheme): string { - return 'link to topic list' // TO DO redirect to search result once the page is created + return `/?theme=${this.selectedTheme.name}&subtheme=${subtheme.name}` }, getThemeDescription(theme: Theme): string { const nbSubthemes = theme.subthemes.length diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 4a97741bf..4817efa82 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -9,6 +9,7 @@ import HomeButtons from '../components/HomeButtons.vue' import HomeCharts from '../components/HomeCharts.vue' import HomeThemes from '../components/HomeThemes.vue' import HomeTopics from '../components/HomeTopics.vue' +import BouquetsListView from './bouquets/BouquetsListView.vue' const router = useRouter() const query = ref('') @@ -43,10 +44,14 @@ const showTopicChart = config.website.show_topic_charts @search="doSearch" @update:modelValue="updateQuery" /> - +
+ + +
From 6a7af23a8a4cc7a91b0debeaac3280aea781385d Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Wed, 22 Nov 2023 09:56:44 +0100 Subject: [PATCH 05/18] fix details --- src/assets/main.css | 1 - src/model.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/assets/main.css b/src/assets/main.css index 01d8dd1a4..97ca84932 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -70,6 +70,5 @@ background: #000092; a { color: white; - } } \ No newline at end of file diff --git a/src/model.ts b/src/model.ts index 9f6e0b8e0..7bb02c667 100644 --- a/src/model.ts +++ b/src/model.ts @@ -41,7 +41,7 @@ interface Topic { } interface Dataset { - // to improve + // TODO -- add list of properties for Dataset } export const NoOptionSelected = 'no_option_selected' From 851a520d32f8c6cf9fdd00ec1fe8e82c7682ed13 Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Wed, 22 Nov 2023 10:26:25 +0100 Subject: [PATCH 06/18] apply css --- src/assets/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/main.css b/src/assets/main.css index 97ca84932..df4680a2e 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -68,7 +68,7 @@ .actionTile { background: #000092; - a { + .fr-tile__link { color: white; } } \ No newline at end of file From 45eb56c36a120ebafb11016860f2b6a6188e5dac Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Wed, 22 Nov 2023 15:07:05 +0100 Subject: [PATCH 07/18] redirect to bouquet instead of home --- src/assets/main.css | 2 +- src/components/HomeThemes.vue | 2 +- src/views/HomeView.vue | 10 +--------- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/assets/main.css b/src/assets/main.css index df4680a2e..9b6497d0d 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -63,7 +63,7 @@ } .topicListView { - margin-top: 128px; + margin-top: 50px; } .actionTile { diff --git a/src/components/HomeThemes.vue b/src/components/HomeThemes.vue index 34438b68e..6068c5d80 100644 --- a/src/components/HomeThemes.vue +++ b/src/components/HomeThemes.vue @@ -64,7 +64,7 @@ export default { return `box-shadow: rgb(221, 221, 221) 0px 0px 0px 1px inset, #${color} 0px -4px 0px 0px inset` }, goToTopicList(subtheme: Subtheme): string { - return `/?theme=${this.selectedTheme.name}&subtheme=${subtheme.name}` + return `/bouquets/?theme=${this.selectedTheme.name}&subtheme=${subtheme.name}` }, getThemeDescription(theme: Theme): string { const nbSubthemes = theme.subthemes.length diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 4817efa82..5793709e4 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -9,7 +9,6 @@ import HomeButtons from '../components/HomeButtons.vue' import HomeCharts from '../components/HomeCharts.vue' import HomeThemes from '../components/HomeThemes.vue' import HomeTopics from '../components/HomeTopics.vue' -import BouquetsListView from './bouquets/BouquetsListView.vue' const router = useRouter() const query = ref('') @@ -44,14 +43,7 @@ const showTopicChart = config.website.show_topic_charts @search="doSearch" @update:modelValue="updateQuery" /> -
- - -
+ From 98589382f5a8cd83d10663208534d2cce69b5bff Mon Sep 17 00:00:00 2001 From: Erica Delagnier Date: Wed, 22 Nov 2023 15:22:33 +0100 Subject: [PATCH 08/18] change breadcrumb behavior --- src/components/TopicSearch.vue | 11 ++++++++--- src/views/bouquets/BouquetsListView.vue | 18 +++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/components/TopicSearch.vue b/src/components/TopicSearch.vue index 76f45a0b8..a6ab5e30e 100644 --- a/src/components/TopicSearch.vue +++ b/src/components/TopicSearch.vue @@ -106,11 +106,16 @@ export default defineComponent({ }, methods: { switchTheme(event) { - this.$emit('update:subthemeName', NoOptionSelected) - this.$emit('update:themeName', event.target.value) + this.$router.push({ + path: '/bouquets', + query: { theme: event.target.value, subtheme: NoOptionSelected } + }) }, switchSubtheme(event) { - this.$emit('update:subthemeName', event.target.value) + this.$router.push({ + path: '/bouquets', + query: { theme: this.themeName, subtheme: event.target.value } + }) } } }) diff --git a/src/views/bouquets/BouquetsListView.vue b/src/views/bouquets/BouquetsListView.vue index 2acee3270..414786c9e 100644 --- a/src/views/bouquets/BouquetsListView.vue +++ b/src/views/bouquets/BouquetsListView.vue @@ -1,4 +1,5 @@