mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 19:16:41 +07:00
possibly fixed routing?
This commit is contained in:
parent
1b720fd40e
commit
d46236672d
4 changed files with 21 additions and 6 deletions
|
@ -13,6 +13,7 @@ export const setActiveSticker = activeSticker => ({ type: ACTIONS.SET_ACTIVE_STI
|
||||||
export const setLogo = logo => ({ type: ACTIONS.SET_LOGO, logo });
|
export const setLogo = logo => ({ type: ACTIONS.SET_LOGO, logo });
|
||||||
export const setTitle = title => ({ type: ACTIONS.SET_TITLE, title });
|
export const setTitle = title => ({ type: ACTIONS.SET_TITLE, title });
|
||||||
export const setAddress = address => ({ type: ACTIONS.SET_ADDRESS, address });
|
export const setAddress = address => ({ type: ACTIONS.SET_ADDRESS, address });
|
||||||
|
export const setAddressOrigin = address_origin => ({ type: ACTIONS.SET_ADDRESS_ORIGIN, address_origin });
|
||||||
export const setPublic = is_public => ({ type: ACTIONS.SET_PUBLIC, is_public });
|
export const setPublic = is_public => ({ type: ACTIONS.SET_PUBLIC, is_public });
|
||||||
export const setSpeed = speed => ({ type: ACTIONS.SET_SPEED, speed });
|
export const setSpeed = speed => ({ type: ACTIONS.SET_SPEED, speed });
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ export const ACTIONS = ({
|
||||||
SET_LOGO: 'SET_LOGO',
|
SET_LOGO: 'SET_LOGO',
|
||||||
SET_TITLE: 'SET_TITLE',
|
SET_TITLE: 'SET_TITLE',
|
||||||
SET_ADDRESS: 'SET_ADDRESS',
|
SET_ADDRESS: 'SET_ADDRESS',
|
||||||
|
SET_ADDRESS_ORIGIN: 'SET_ADDRESS_ORIGIN',
|
||||||
SET_PUBLIC: 'SET_PUBLIC',
|
SET_PUBLIC: 'SET_PUBLIC',
|
||||||
|
|
||||||
START_EDITING: 'START_EDITING',
|
START_EDITING: 'START_EDITING',
|
||||||
|
|
|
@ -39,6 +39,7 @@ const setActiveSticker = (state, { activeSticker }) => ({
|
||||||
const setLogo = (state, { logo }) => ({ ...state, logo });
|
const setLogo = (state, { logo }) => ({ ...state, logo });
|
||||||
const setTitle = (state, { title }) => ({ ...state, title });
|
const setTitle = (state, { title }) => ({ ...state, title });
|
||||||
const setAddress = (state, { address }) => ({ ...state, address });
|
const setAddress = (state, { address }) => ({ ...state, address });
|
||||||
|
const setAddressOrigin = (state, { address_origin }) => ({ ...state, address_origin });
|
||||||
|
|
||||||
const sendSaveRequest = state => ({ ...state, save_processing: true, });
|
const sendSaveRequest = state => ({ ...state, save_processing: true, });
|
||||||
const setSaveError = (state, { save_error }) => ({
|
const setSaveError = (state, { save_error }) => ({
|
||||||
|
@ -169,6 +170,7 @@ const HANDLERS = ({
|
||||||
[ACTIONS.SET_LOGO]: setLogo,
|
[ACTIONS.SET_LOGO]: setLogo,
|
||||||
[ACTIONS.SET_TITLE]: setTitle,
|
[ACTIONS.SET_TITLE]: setTitle,
|
||||||
[ACTIONS.SET_ADDRESS]: setAddress,
|
[ACTIONS.SET_ADDRESS]: setAddress,
|
||||||
|
[ACTIONS.SET_ADDRESS_ORIGIN]: setAddressOrigin,
|
||||||
|
|
||||||
[ACTIONS.SET_SAVE_ERROR]: setSaveError,
|
[ACTIONS.SET_SAVE_ERROR]: setSaveError,
|
||||||
[ACTIONS.SET_SAVE_OVERWRITE]: setSaveOverwrite,
|
[ACTIONS.SET_SAVE_OVERWRITE]: setSaveOverwrite,
|
||||||
|
@ -208,6 +210,7 @@ export const INITIAL_STATE = {
|
||||||
activeSticker: { set: null, sticker: null },
|
activeSticker: { set: null, sticker: null },
|
||||||
title: '',
|
title: '',
|
||||||
address: '',
|
address: '',
|
||||||
|
address_origin: '',
|
||||||
changed: false,
|
changed: false,
|
||||||
provider: DEFAULT_PROVIDER,
|
provider: DEFAULT_PROVIDER,
|
||||||
is_public: false,
|
is_public: false,
|
||||||
|
|
|
@ -17,7 +17,7 @@ import {
|
||||||
setSaveError,
|
setSaveError,
|
||||||
setSaveOverwrite, setSaveSuccess, setTitle,
|
setSaveOverwrite, setSaveSuccess, setTitle,
|
||||||
searchSetTab,
|
searchSetTab,
|
||||||
setUser, setDialog, setPublic,
|
setUser, setDialog, setPublic, setAddressOrigin,
|
||||||
} from '$redux/user/actions';
|
} from '$redux/user/actions';
|
||||||
import { getUrlData, parseQuery, pushLoaderState, pushNetworkInitError, pushPath, replacePath } from '$utils/history';
|
import { getUrlData, parseQuery, pushLoaderState, pushNetworkInitError, pushPath, replacePath } from '$utils/history';
|
||||||
import { editor } from '$modules/Editor';
|
import { editor } from '$modules/Editor';
|
||||||
|
@ -77,7 +77,9 @@ function* startEditingSaga() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function* stopEditingSaga() {
|
function* stopEditingSaga() {
|
||||||
const { changed, editing, mode } = yield select(getState);
|
const {
|
||||||
|
changed, editing, mode, address_origin
|
||||||
|
} = yield select(getState);
|
||||||
const { path } = getUrlData();
|
const { path } = getUrlData();
|
||||||
|
|
||||||
if (!editing) return;
|
if (!editing) return;
|
||||||
|
@ -91,7 +93,7 @@ function* stopEditingSaga() {
|
||||||
yield put(setChanged(false));
|
yield put(setChanged(false));
|
||||||
yield put(setEditing(editor.hasEmptyHistory)); // don't close editor if no previous map
|
yield put(setEditing(editor.hasEmptyHistory)); // don't close editor if no previous map
|
||||||
|
|
||||||
yield pushPath(`/${path}/`);
|
yield pushPath(`/${(address_origin || path)}/`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function* loadMapSaga(path) {
|
function* loadMapSaga(path) {
|
||||||
|
@ -115,6 +117,10 @@ function* iframeLoginVkSaga({ viewer_id, access_token, auth_key }) {
|
||||||
|
|
||||||
|
|
||||||
function* replaceAddressIfItsBusy(destination, original) {
|
function* replaceAddressIfItsBusy(destination, original) {
|
||||||
|
if (original) {
|
||||||
|
yield put(setAddressOrigin(original));
|
||||||
|
}
|
||||||
|
|
||||||
pushPath(`/${destination}/edit`);
|
pushPath(`/${destination}/edit`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +145,9 @@ function* mapInitSaga() {
|
||||||
if (mode && mode === 'edit') {
|
if (mode && mode === 'edit') {
|
||||||
if (map && map.owner && mode === 'edit' && map.owner.id !== id) {
|
if (map && map.owner && mode === 'edit' && map.owner.id !== id) {
|
||||||
hideLoader();
|
hideLoader();
|
||||||
yield call(replaceAddressIfItsBusy, map.random_url);
|
yield call(replaceAddressIfItsBusy, map.random_url, map.address);
|
||||||
|
} else {
|
||||||
|
yield put(setAddressOrigin(''));
|
||||||
}
|
}
|
||||||
|
|
||||||
yield put(setEditing(true));
|
yield put(setEditing(true));
|
||||||
|
@ -396,11 +404,13 @@ function* locationChangeSaga({ location }) {
|
||||||
|
|
||||||
if (map && map.owner && mode === 'edit' && map.owner.id !== id) {
|
if (map && map.owner && mode === 'edit' && map.owner.id !== id) {
|
||||||
// pushPath(`/${map.random_url}/edit`);
|
// pushPath(`/${map.random_url}/edit`);
|
||||||
return yield call(replaceAddressIfItsBusy, map.random_url);
|
return yield call(replaceAddressIfItsBusy, map.random_url, map.address);
|
||||||
}
|
}
|
||||||
} else if (mode === 'edit' && editor.owner.id !== id) {
|
} else if (mode === 'edit' && editor.owner.id !== id) {
|
||||||
// pushPath(`/${random_url}/edit`);
|
// pushPath(`/${random_url}/edit`);
|
||||||
return yield call(replaceAddressIfItsBusy, random_url);
|
return yield call(replaceAddressIfItsBusy, random_url, address);
|
||||||
|
} else {
|
||||||
|
yield put(setAddressOrigin(''));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode !== 'edit') {
|
if (mode !== 'edit') {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue