diff --git a/src/helpers/cms-adapter.js b/src/helpers/cms-adapter.js new file mode 100644 index 000000000..721569396 --- /dev/null +++ b/src/helpers/cms-adapter.js @@ -0,0 +1,31 @@ +import { storeActions } from "@/constants/store-actions.js"; +import { widgetNames } from "@/constants/widget-names.js"; +import store from "@/store"; + +export function GetContentFromCms(fmgPage) { + return store.dispatch(storeActions.GET_PAGE_DATA, { pageName: fmgPage }).then((response) => { + + const pageDataFromCms = { + isCmsContentReady: false + }; + + response.data.Result.forEach((widget) => { + if (Object.values(widgetNames).includes(widget.Type)) { + // If we already have this widget, push it on the collection + if (widget.Type in pageDataFromCms) { + pageDataFromCms[widget.Type].push(widget.Model); + return; + } + + pageDataFromCms[widget.Type] = [widget.Model]; + + } + }); + + // Our 'Page' is ready because we have data now + pageDataFromCms.isCmsContentReady = true; + + return pageDataFromCms; + }); +} + diff --git a/src/layouts/component-test/component-test.vue b/src/layouts/component-test/component-test.vue index b25a26b8f..506cd317a 100644 --- a/src/layouts/component-test/component-test.vue +++ b/src/layouts/component-test/component-test.vue @@ -211,6 +211,7 @@ /> +<<<<<<< HEAD