diff options
Diffstat (limited to 'frontend/views/page/page.actions.js')
| -rw-r--r-- | frontend/views/page/page.actions.js | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/frontend/views/page/page.actions.js b/frontend/views/page/page.actions.js index c382081..255275f 100644 --- a/frontend/views/page/page.actions.js +++ b/frontend/views/page/page.actions.js @@ -15,8 +15,8 @@ export const toggleAddTileForm = () => dispatch => { dispatch({ type: types.page.toggle_add_tile_form }) } -export const showEditTileForm = () => dispatch => { - dispatch({ type: types.page.show_edit_tile_form }) +export const showEditTileForm = tile_id => dispatch => { + dispatch({ type: types.page.show_edit_tile_form, tile_id }) } export const hideEditTileForm = () => dispatch => { @@ -67,13 +67,24 @@ export const showGraphIfUnloaded = ({ graph_name }) => dispatch => ( }) ) -export const setTileSortOrder = (tiles, oldTiles) => dispatch => { +export const setTileSortOrder = (tiles) => dispatch => { dispatch({ type: types.page.set_tile_sort_order, tiles }) - updateTileSortOrder(tiles, oldTiles) + updateTileSortOrder(tiles) } -export const updateTileSortOrder = debounce((tiles, oldTiles) => { - if (tiles !== oldTiles) { - console.log('update tile sort order') +export const isSameTileOrder = (newTiles, oldTiles) => { + for (let i = 0; i < newTiles.length; i++) { + if (newTiles[i].id !== oldTiles[i].id) { + return false + } } + return true +} + +export const updateTileSortOrder = debounce((tiles) => { + let oldTiles = store.getState().page.show.res.tiles + if (isSameTileOrder(tiles, oldTiles)) return + console.log('update tile sort order') + const newOrder = tiles.map((tile, i) => ({ id: tile.id, sort_order: i })) + console.log(newOrder) }, 1000) |
