From 6b966285a63cdcc6e32949796534c4b77b7d36cc Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Thu, 9 Nov 2023 13:49:32 +0100 Subject: [PATCH] make frontend news widget --- .../Controller/DashboardApiController.php | 12 +- .../public/vuejs/HomepageWidget/App.vue | 5 +- .../DashboardWidget/News/News.vue | 0 .../HomepageWidget/DashboardWidgets/News.vue | 106 ++++++++++++++++++ .../public/vuejs/HomepageWidget/MyCustoms.vue | 32 ++++-- .../public/vuejs/HomepageWidget/js/store.js | 17 --- .../Resources/public/vuejs/_js/i18n.ts | 7 +- 7 files changed, 141 insertions(+), 38 deletions(-) delete mode 100644 src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidget/News/News.vue create mode 100644 src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/News.vue diff --git a/src/Bundle/ChillMainBundle/Controller/DashboardApiController.php b/src/Bundle/ChillMainBundle/Controller/DashboardApiController.php index bc045a596..0b618c6f4 100644 --- a/src/Bundle/ChillMainBundle/Controller/DashboardApiController.php +++ b/src/Bundle/ChillMainBundle/Controller/DashboardApiController.php @@ -19,17 +19,17 @@ class DashboardApiController { } + public function indexApi() + { + return $this->getDashboardConfiguration(); + } + + // I dont understand why this method is needed, but if I do a cache clear without this method present, he gives an error saying it needs to be present. public function setCrudConfig() { return null; } - - /** - * Give the user dashboard configuration - * - * @Route("/api/1.0/main/dashboard-config-item.json", methods={"post"}) - */ public function getDashboardConfiguration(): JsonResponse { $data = [ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/App.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/App.vue index 908b9eb1c..ea87277d5 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/App.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/App.vue @@ -97,6 +97,8 @@ import MyNotifications from './MyNotifications'; import MyWorkflows from './MyWorkflows.vue'; import TabCounter from './TabCounter'; import { mapState } from "vuex"; +import { makeFetch } from "ChillMainAssets/lib/api/apiMethods"; + export default { name: "App", @@ -112,7 +114,7 @@ export default { }, data() { return { - activeTab: 'MyCustoms' + activeTab: 'MyCustoms', } }, computed: { @@ -131,7 +133,6 @@ export default { } }, mounted() { - this.$store.dispatch('getDashboardItems', {userId: 1}) for (const m of [ 'MyNotifications', 'MyAccompanyingCourses', diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidget/News/News.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidget/News/News.vue deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/News.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/News.vue new file mode 100644 index 000000000..d6e607810 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/News.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyCustoms.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyCustoms.vue index 4a79ddd49..5df7fb787 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyCustoms.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyCustoms.vue @@ -39,18 +39,11 @@ - -
-
- News - -
-
-
-
- Mon dashboard personnalisé -
-
+
+
+ +
+
@@ -58,14 +51,20 @@ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/store.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/store.js index 1f9527b4f..1579a3d0c 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/store.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/store.js @@ -24,7 +24,6 @@ const store = createStore({ workflows: {}, workflowsCc: {}, errorMsg: [], - dashboardItems: {}, loading: false }, getters: { @@ -98,24 +97,8 @@ const store = createStore({ catchError(state, error) { state.errorMsg.push(error); }, - addDashboardItems(state, dashboardItems) { - state.dashboardItems = dashboardItems; - } }, actions: { - getDashboardItems({commit, getters}, { userId }) { - const url = `/api/1.0/main/dashboard-item/${userId}.json`; - makeFetch('GET', url) - .then((response) => { - console.log('dashboardItems', response.results) - commit('addDashboardItems', response); - }) - .catch((error) => { - commit('catchError', error); - throw error; - }) - ; - }, getByTab({ commit, getters }, { tab, param }) { switch (tab) { // case 'MyWorks': diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_js/i18n.ts b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_js/i18n.ts index c509ac10f..c43586915 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_js/i18n.ts +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_js/i18n.ts @@ -51,7 +51,12 @@ const messages = { years_old: "1 an | {n} an | {n} ans", residential_address: "Adresse de résidence", located_at: "réside chez" - } + }, + widget: { + news: { + title: "Actualités" + } + } } };