mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 19:16:41 +07:00
fixed some provider issues
This commit is contained in:
parent
d46236672d
commit
8a90c50352
6 changed files with 30 additions and 23 deletions
|
@ -5,7 +5,7 @@ import classnames from 'classnames';
|
||||||
import { MODES } from '$constants/modes';
|
import { MODES } from '$constants/modes';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
setProvider: Function,
|
changeProvider: Function,
|
||||||
setMode: Function,
|
setMode: Function,
|
||||||
provider: String,
|
provider: String,
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@ export class ProviderDialog extends React.Component<Props, void> {
|
||||||
closeDialog = () => this.props.setMode(MODES.NONE);
|
closeDialog = () => this.props.setMode(MODES.NONE);
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { provider, setProvider } = this.props;
|
const { provider, changeProvider } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="control-dialog top right control-dialog-provider">
|
<div className="control-dialog top right control-dialog-provider">
|
||||||
|
@ -26,7 +26,7 @@ export class ProviderDialog extends React.Component<Props, void> {
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `url(${replaceProviderUrl(item, { x: 5980, y: 2589, zoom: 13 })})`,
|
backgroundImage: `url(${replaceProviderUrl(item, { x: 5980, y: 2589, zoom: 13 })})`,
|
||||||
}}
|
}}
|
||||||
onClick={() => setProvider(item)}
|
onClick={() => changeProvider(item)}
|
||||||
key={PROVIDERS[item].name}
|
key={PROVIDERS[item].name}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,7 +24,7 @@ import {
|
||||||
stopEditing,
|
stopEditing,
|
||||||
setEditing,
|
setEditing,
|
||||||
sendSaveRequest,
|
sendSaveRequest,
|
||||||
setProvider,
|
changeProvider,
|
||||||
} from '$redux/user/actions';
|
} from '$redux/user/actions';
|
||||||
import { ProviderDialog } from '$components/dialogs/ProviderDialog';
|
import { ProviderDialog } from '$components/dialogs/ProviderDialog';
|
||||||
import { ShotPrefetchDialog } from '$components/dialogs/ShotPrefetchDialog';
|
import { ShotPrefetchDialog } from '$components/dialogs/ShotPrefetchDialog';
|
||||||
|
@ -70,7 +70,7 @@ const mapDispatchToProps = dispatch => bindActionCreators({
|
||||||
setEditing,
|
setEditing,
|
||||||
setMode,
|
setMode,
|
||||||
sendSaveRequest,
|
sendSaveRequest,
|
||||||
setProvider,
|
changeProvider,
|
||||||
}, dispatch);
|
}, dispatch);
|
||||||
|
|
||||||
export const EditorDialog = connect(
|
export const EditorDialog = connect(
|
||||||
|
|
|
@ -9,6 +9,7 @@ import { DEFAULT_LOGO, LOGOS } from '$constants/logos';
|
||||||
import { getUrlData } from '$utils/history';
|
import { getUrlData } from '$utils/history';
|
||||||
import { store } from '$redux/store';
|
import { store } from '$redux/store';
|
||||||
import {
|
import {
|
||||||
|
changeProvider,
|
||||||
resetSaveDialog,
|
resetSaveDialog,
|
||||||
setActiveSticker,
|
setActiveSticker,
|
||||||
setAddress,
|
setAddress,
|
||||||
|
@ -16,7 +17,7 @@ import {
|
||||||
setDistance,
|
setDistance,
|
||||||
setLogo,
|
setLogo,
|
||||||
setMode,
|
setMode,
|
||||||
setProvider, setPublic,
|
setPublic,
|
||||||
setRouterPoints,
|
setRouterPoints,
|
||||||
setTitle,
|
setTitle,
|
||||||
} from '$redux/user/actions';
|
} from '$redux/user/actions';
|
||||||
|
@ -99,6 +100,7 @@ export class Editor {
|
||||||
|
|
||||||
getUser = () => store.getState().user.user;
|
getUser = () => store.getState().user.user;
|
||||||
getMode = () => store.getState().user.mode;
|
getMode = () => store.getState().user.mode;
|
||||||
|
getProvider = () => store.getState().user.provider;
|
||||||
getTitle = () => store.getState().user.title;
|
getTitle = () => store.getState().user.title;
|
||||||
getEditing = () => store.getState().user.editing;
|
getEditing = () => store.getState().user.editing;
|
||||||
getChanged = () => store.getState().user.changed;
|
getChanged = () => store.getState().user.changed;
|
||||||
|
@ -316,10 +318,10 @@ export class Editor {
|
||||||
dumpData = () => ({
|
dumpData = () => ({
|
||||||
route: this.poly.dumpData(),
|
route: this.poly.dumpData(),
|
||||||
stickers: this.stickers.dumpData(),
|
stickers: this.stickers.dumpData(),
|
||||||
provider: this.provider,
|
provider: this.getProvider(),
|
||||||
});
|
});
|
||||||
|
|
||||||
setProvider = provider => store.dispatch(setProvider(provider));
|
setProvider = provider => store.dispatch(changeProvider(provider));
|
||||||
|
|
||||||
get isEmpty() {
|
get isEmpty() {
|
||||||
const { route, stickers } = this.dumpData();
|
const { route, stickers } = this.dumpData();
|
||||||
|
|
|
@ -41,6 +41,7 @@ export const takeAShot = () => ({ type: ACTIONS.TAKE_A_SHOT });
|
||||||
export const cropAShot = payload => ({ type: ACTIONS.CROP_A_SHOT, ...payload });
|
export const cropAShot = payload => ({ type: ACTIONS.CROP_A_SHOT, ...payload });
|
||||||
|
|
||||||
export const setProvider = provider => ({ type: ACTIONS.SET_PROVIDER, provider });
|
export const setProvider = provider => ({ type: ACTIONS.SET_PROVIDER, provider });
|
||||||
|
export const changeProvider = provider => ({ type: ACTIONS.CHANGE_PROVIDER, provider });
|
||||||
|
|
||||||
export const setDialog = dialog => ({ type: ACTIONS.SET_DIALOG, dialog });
|
export const setDialog = dialog => ({ type: ACTIONS.SET_DIALOG, dialog });
|
||||||
export const setDialogActive = dialog_active => ({ type: ACTIONS.SET_DIALOG_ACTIVE, dialog_active });
|
export const setDialogActive = dialog_active => ({ type: ACTIONS.SET_DIALOG_ACTIVE, dialog_active });
|
||||||
|
|
|
@ -42,6 +42,7 @@ export const ACTIONS = ({
|
||||||
CROP_A_SHOT: 'CROP_A_SHOT',
|
CROP_A_SHOT: 'CROP_A_SHOT',
|
||||||
|
|
||||||
SET_PROVIDER: 'SET_PROVIDER',
|
SET_PROVIDER: 'SET_PROVIDER',
|
||||||
|
CHANGE_PROVIDER: 'CHANGE_PROVIDER',
|
||||||
|
|
||||||
SET_DIALOG: 'SET_DIALOG',
|
SET_DIALOG: 'SET_DIALOG',
|
||||||
SET_DIALOG_ACTIVE: 'SET_DIALOG_ACTIVE',
|
SET_DIALOG_ACTIVE: 'SET_DIALOG_ACTIVE',
|
||||||
|
|
|
@ -17,7 +17,7 @@ import {
|
||||||
setSaveError,
|
setSaveError,
|
||||||
setSaveOverwrite, setSaveSuccess, setTitle,
|
setSaveOverwrite, setSaveSuccess, setTitle,
|
||||||
searchSetTab,
|
searchSetTab,
|
||||||
setUser, setDialog, setPublic, setAddressOrigin,
|
setUser, setDialog, setPublic, setAddressOrigin, setProvider, changeProvider,
|
||||||
} 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';
|
||||||
|
@ -34,7 +34,7 @@ import {
|
||||||
imageFetcher
|
imageFetcher
|
||||||
} from '$utils/renderer';
|
} from '$utils/renderer';
|
||||||
import { LOGOS } from '$constants/logos';
|
import { LOGOS } from '$constants/logos';
|
||||||
import { DEFAULT_PROVIDER } from '$constants/providers';
|
import { DEFAULT_PROVIDER, PROVIDERS } from '$constants/providers';
|
||||||
import { DIALOGS } from '$constants/dialogs';
|
import { DIALOGS } from '$constants/dialogs';
|
||||||
|
|
||||||
const getUser = state => (state.user.user);
|
const getUser = state => (state.user.user);
|
||||||
|
@ -55,7 +55,7 @@ function* generateGuestSaga() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function* startEmptyEditorSaga() {
|
function* startEmptyEditorSaga() {
|
||||||
const { id, random_url, provider = DEFAULT_PROVIDER } = yield select(getUser);
|
const { user: { id, random_url }, provider = DEFAULT_PROVIDER } = yield select(getState);
|
||||||
|
|
||||||
pushPath(`/${random_url}/edit`);
|
pushPath(`/${random_url}/edit`);
|
||||||
|
|
||||||
|
@ -111,11 +111,6 @@ function* loadMapSaga(path) {
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
function* iframeLoginVkSaga({ viewer_id, access_token, auth_key }) {
|
|
||||||
return yield console.log('GOT', { viewer_id, access_token, auth_key });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function* replaceAddressIfItsBusy(destination, original) {
|
function* replaceAddressIfItsBusy(destination, original) {
|
||||||
if (original) {
|
if (original) {
|
||||||
yield put(setAddressOrigin(original));
|
yield put(setAddressOrigin(original));
|
||||||
|
@ -128,7 +123,10 @@ function* mapInitSaga() {
|
||||||
pushLoaderState(90);
|
pushLoaderState(90);
|
||||||
|
|
||||||
const { path, mode, hash } = getUrlData();
|
const { path, mode, hash } = getUrlData();
|
||||||
const { user: { id } } = yield select(getState);
|
const { provider, user: { id } } = yield select(getState);
|
||||||
|
|
||||||
|
editor.map.setProvider(provider);
|
||||||
|
yield put(changeProvider(provider));
|
||||||
|
|
||||||
if (hash && /^#map/.test(hash)) {
|
if (hash && /^#map/.test(hash)) {
|
||||||
const [, newUrl] = hash.match(/^#map[:/?!](.*)$/);
|
const [, newUrl] = hash.match(/^#map[:/?!](.*)$/);
|
||||||
|
@ -382,13 +380,18 @@ function* cropAShotSaga(params) {
|
||||||
return yield put(hideRenderer());
|
return yield put(hideRenderer());
|
||||||
}
|
}
|
||||||
|
|
||||||
function* setProviderSaga({ provider }) {
|
function* changeProviderSaga({ provider }) {
|
||||||
// editor.setProvider(provider);
|
const { provider: current_provider } = yield select(getState);
|
||||||
editor.provider = provider;
|
|
||||||
editor.map.setProvider(provider);
|
yield put(setProvider(provider));
|
||||||
|
|
||||||
|
if (current_provider === provider) return;
|
||||||
|
|
||||||
yield put(setChanged(true));
|
yield put(setChanged(true));
|
||||||
|
|
||||||
|
editor.provider = provider;
|
||||||
|
editor.map.setProvider(provider);
|
||||||
|
|
||||||
return put(setMode(MODES.NONE));
|
return put(setMode(MODES.NONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -559,13 +562,13 @@ export function* userSaga() {
|
||||||
yield takeLatest(ACTIONS.TAKE_A_SHOT, takeAShotSaga);
|
yield takeLatest(ACTIONS.TAKE_A_SHOT, takeAShotSaga);
|
||||||
yield takeLatest(ACTIONS.CROP_A_SHOT, cropAShotSaga);
|
yield takeLatest(ACTIONS.CROP_A_SHOT, cropAShotSaga);
|
||||||
|
|
||||||
yield takeEvery(ACTIONS.SET_PROVIDER, setProviderSaga);
|
yield takeEvery(ACTIONS.CHANGE_PROVIDER, changeProviderSaga);
|
||||||
yield takeLatest(ACTIONS.LOCATION_CHANGED, locationChangeSaga);
|
yield takeLatest(ACTIONS.LOCATION_CHANGED, locationChangeSaga);
|
||||||
|
|
||||||
yield takeLatest(ACTIONS.GOT_VK_USER, gotVkUserSaga);
|
yield takeLatest(ACTIONS.GOT_VK_USER, gotVkUserSaga);
|
||||||
yield takeLatest(ACTIONS.KEY_PRESSED, keyPressedSaga);
|
yield takeLatest(ACTIONS.KEY_PRESSED, keyPressedSaga);
|
||||||
|
|
||||||
yield takeLatest(ACTIONS.IFRAME_LOGIN_VK, iframeLoginVkSaga);
|
// yield takeLatest(ACTIONS.IFRAME_LOGIN_VK, iframeLoginVkSaga);
|
||||||
|
|
||||||
yield takeLatest([
|
yield takeLatest([
|
||||||
ACTIONS.SEARCH_SET_TITLE,
|
ACTIONS.SEARCH_SET_TITLE,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue