diff options
Diffstat (limited to 'frontend/app/views/page')
| -rw-r--r-- | frontend/app/views/page/components/page.editor.js | 2 | ||||
| -rw-r--r-- | frontend/app/views/page/page.actions.js | 14 | ||||
| -rw-r--r-- | frontend/app/views/page/page.container.js | 1 | ||||
| -rw-r--r-- | frontend/app/views/page/page.reducer.js | 12 |
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, } } |
