summaryrefslogtreecommitdiff
path: root/frontend/app/views/page
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/views/page')
-rw-r--r--frontend/app/views/page/components/page.editor.js2
-rw-r--r--frontend/app/views/page/page.actions.js14
-rw-r--r--frontend/app/views/page/page.container.js1
-rw-r--r--frontend/app/views/page/page.reducer.js12
4 files changed, 28 insertions, 1 deletions
diff --git a/frontend/app/views/page/components/page.editor.js b/frontend/app/views/page/components/page.editor.js
index 2f14ffb..03190e3 100644
--- a/frontend/app/views/page/components/page.editor.js
+++ b/frontend/app/views/page/components/page.editor.js
@@ -174,6 +174,8 @@ class PageEditor extends Component {
return (
<div className='page' ref={this.pageRef} style={pageStyle}>
{res.tiles && res.tiles.map(tile => {
+ console.log(tile.type, tile.settings.is_popup)
+ if (!this.props.page.editor.showingPopups && tile.settings.is_popup) return
if (temporaryTile && temporaryTile.id === tile.id) {
tile = temporaryTile
}
diff --git a/frontend/app/views/page/page.actions.js b/frontend/app/views/page/page.actions.js
index c584848..0ae38e0 100644
--- a/frontend/app/views/page/page.actions.js
+++ b/frontend/app/views/page/page.actions.js
@@ -52,6 +52,20 @@ export const toggleTileList = () => dispatch => {
// Popups
+export const loadPopups = (page, popups) => dispatch => {
+ const state = store.getState()
+ page = page || state.page.show.res
+ popups = popups || state.page.editor.popups
+ popups = page.tiles.reduce((acc, tile) => {
+ const { is_popup, popup_group } = tile.settings
+ if (is_popup) {
+ acc[popup_group] = acc[popup_group] || false
+ }
+ return acc
+ }, { ...popups })
+ console.log(popups)
+ dispatch({ type: types.page.load_popups, popups })
+}
export const togglePopups = () => dispatch => {
dispatch({ type: types.page.toggle_popups })
}
diff --git a/frontend/app/views/page/page.container.js b/frontend/app/views/page/page.container.js
index decdf79..0ad9806 100644
--- a/frontend/app/views/page/page.container.js
+++ b/frontend/app/views/page/page.container.js
@@ -44,6 +44,7 @@ class PageContainer extends Component {
this.props.pageActions.showGraphAndPageIfUnloaded(this.props.match.params)
.then(data => {
actions.site.setSiteTitle(data.res.title)
+ this.props.pageActions.loadPopups(data.res, {})
if (!data.res.tiles.length) {
this.props.pageActions.showAddTileForm()
} else {
diff --git a/frontend/app/views/page/page.reducer.js b/frontend/app/views/page/page.reducer.js
index b0c4553..a1f281a 100644
--- a/frontend/app/views/page/page.reducer.js
+++ b/frontend/app/views/page/page.reducer.js
@@ -11,6 +11,7 @@ const initialState = crudState('page', {
tileList: false,
showingPopups: true,
sidebarOnRight: true,
+ popups: {},
},
options: {
}
@@ -202,7 +203,16 @@ export default function pageReducer(state = initialState, action) {
...state,
editor: {
...state.editor,
- togglePopups: !state.editor.togglePopups,
+ showingPopups: !state.editor.showingPopups,
+ }
+ }
+
+ case types.page.load_popups:
+ return {
+ ...state,
+ editor: {
+ ...state.editor,
+ popups: action.popups,
}
}