diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-09-26 14:56:02 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-09-26 14:56:02 +0200 |
| commit | a17b76ac75f506f5da6fe8adf9c36632b60d4226 (patch) | |
| tree | abb0af0c4409b830dea2ef808c146223ee973933 /frontend/views/page/page.actions.js | |
| parent | 2231a6e1c05b07bb7ec5906716aedec93d02429c (diff) | |
refactor to use app-rooted js imports
Diffstat (limited to 'frontend/views/page/page.actions.js')
| -rw-r--r-- | frontend/views/page/page.actions.js | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/frontend/views/page/page.actions.js b/frontend/views/page/page.actions.js deleted file mode 100644 index 42bd232..0000000 --- a/frontend/views/page/page.actions.js +++ /dev/null @@ -1,110 +0,0 @@ -import * as types from '../../types' -import { store } from '../../store' -import actions from '../../actions' -import { default as debounce } from 'lodash.debounce' -import { post } from '../../util' - -const url = { - sortTiles: (id) => '/api/v1/page/' + id + '/sort', -} - -// Add tile form - -export const showAddTileForm = () => dispatch => { - dispatch({ type: types.page.show_add_tile_form }) -} - -export const hideAddTileForm = () => dispatch => { - dispatch({ type: types.page.hide_add_tile_form }) -} - -export const toggleAddTileForm = () => dispatch => { - dispatch({ type: types.page.toggle_add_tile_form }) -} - -// Edit tile form - -export const showEditTileForm = tile_id => dispatch => { - dispatch({ type: types.page.show_edit_tile_form, tile_id }) -} - -export const hideEditTileForm = () => dispatch => { - dispatch({ type: types.page.hide_edit_tile_form }) -} - -export const toggleEditTileForm = () => dispatch => { - dispatch({ type: types.page.toggle_edit_tile_form }) -} - -// Tile list - -export const showTileList = () => dispatch => { - dispatch({ type: types.page.show_tile_list }) -} - -export const hideTileList = () => dispatch => { - dispatch({ type: types.page.hide_tile_list }) -} - -export const toggleTileList = () => dispatch => { - dispatch({ type: types.page.toggle_tile_list }) -} - -// Update local page tile state when we change it - -export const updatePageTile = tile => dispatch => { - dispatch({ type: types.page.update_page_tile, tile }) -} - -// Fetch graph/page when loading a new URL - -export const showGraphAndPageIfUnloaded = ({ graph_name, page_name }) => dispatch => ( - new Promise((resolve, reject) => { - showGraphIfUnloaded({ graph_name })(dispatch) - .then(graph => ( - actions.page.show('name/' + graph_name + '/' + page_name) - .then(resolve) - .catch(reject) - )) - .catch(reject) - }) -) - -export const showGraphIfUnloaded = ({ graph_name }) => dispatch => ( - new Promise((resolve, reject) => { - const { res: graph } = store.getState().graph.show - if (graph && graph.path === graph_name) { - return resolve(graph) - } - actions.graph.show('name/' + graph_name) - .then(resolve) - .catch(reject) - }) -) - -// Sorting tiles in the tile list - -export const setTileSortOrder = (tiles) => dispatch => { - let oldTiles = store.getState().page.show.res.tiles - if (!isSameTileOrder(tiles, oldTiles)) { - updateTileSortOrder(tiles, dispatch) - } - dispatch({ type: types.page.set_tile_sort_order, tiles }) -} - -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, dispatch) => { - const { page_id } = tiles[0] - const order = tiles.map(tile => (tile.id)) - console.log(page_id, order) - post(dispatch, types.page, 'sort', url.sortTiles(page_id), order) -}, 1000) - |
