import: added hash to url translation for old maps support

editor: fixed setProvider
This commit is contained in:
muerwre 2018-12-10 10:48:08 +07:00
parent 7bf737b62b
commit d95f51bd3b
3 changed files with 28 additions and 10 deletions

View file

@ -10,10 +10,13 @@ import { getUrlData } from '$utils/history';
import { store } from '$redux/store';
import {
resetSaveDialog,
setActiveSticker, setAddress,
setActiveSticker,
setAddress,
setChanged,
setDistance, setLogo,
setDistance,
setLogo,
setMode,
setProvider,
setRouterPoints,
setTitle,
} from '$redux/user/actions';
@ -325,12 +328,14 @@ export class Editor {
provider: this.provider,
});
setProvider = provider => {
if (provider === this.provider) return;
// setProvider = provider => {
// if (provider === this.provider) return;
//
// this.provider = provider;
// this.map.setProvider(provider);
// };
this.provider = provider;
this.map.setProvider(provider);
};
setProvider = provider => store.dispatch(setProvider(provider));
get isEmpty() {
const { route, stickers } = this.dumpData();

View file

@ -102,8 +102,19 @@ function* loadMapSaga(path) {
}
function* mapInitSaga() {
const { hash } = getUrlData();
if (hash && /^#map/.test(hash)) {
const [, newUrl] = hash.match(/^#map[:/?!](.*)$/);
if (newUrl) {
yield pushPath(`/${newUrl}`);
}
}
const { path, mode } = getUrlData();
if (path) {
const map = yield call(loadMapSaga, path);
// const map = yield call(getStoredMap, { name: path });
@ -326,7 +337,9 @@ function* cropAShotSaga(params) {
}
function setProviderSaga({ provider }) {
editor.setProvider(provider);
// editor.setProvider(provider);
editor.provider = provider;
editor.map.setProvider(provider);
return put(setMode(MODES.NONE));
}

View file

@ -8,7 +8,7 @@ export const pushPath = url => {
export const getUrlData = (url = getPath()) => {
const [, path, mode] = url.split('/');
const { host } = window.location;
const { host, hash } = window.location;
return { path, mode, host };
return { path, mode, host, hash };
};