Fix navigation issue
All checks were successful
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
All checks were successful
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
This commit is contained in:
parent
1a3bbf26f2
commit
f82125a486
@ -150,11 +150,11 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
|
|||||||
this.compassHeading$ = this.deviceorientationService.getCurrentCompassHeading();
|
this.compassHeading$ = this.deviceorientationService.getCurrentCompassHeading();
|
||||||
this.styles$ = this.store.select(mapReducers.selectGetStyles);
|
this.styles$ = this.store.select(mapReducers.selectGetStyles);
|
||||||
|
|
||||||
this.mapState$.pipe(withLatestFrom(this.queryState$)).subscribe((state) => {
|
// this.mapState$.pipe(withLatestFrom(this.queryState$)).subscribe((state) => {
|
||||||
this.replaceUrl(state[0], state[1], true);
|
// this.replaceUrl(state[0], state[1], true);
|
||||||
});
|
// });
|
||||||
this.query$.pipe(withLatestFrom(this.mapState$)).subscribe((state) => {
|
this.query$.pipe(withLatestFrom(this.mapState$)).subscribe((state) => {
|
||||||
this.replaceUrl(state[1], state[0],false);
|
this.replaceUrl(state[1], state[0],this.stateSetCount == 0);
|
||||||
});
|
});
|
||||||
this.initCustomStyles();
|
this.initCustomStyles();
|
||||||
}
|
}
|
||||||
@ -210,17 +210,27 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
|
|||||||
queryStateChanged = this.lastQueryState != queryState;
|
queryStateChanged = this.lastQueryState != queryState;
|
||||||
this.lastQueryState = queryState;
|
this.lastQueryState = queryState;
|
||||||
}
|
}
|
||||||
|
this.zone.run(()=> {
|
||||||
if (mapStateChanged && queryStateChanged) {
|
if ( queryStateChanged) {
|
||||||
console.debug("Both states");
|
console.debug("Query state");
|
||||||
this.store.dispatch(new mapActions.SetState(newMapState, newQueryState));
|
this.store.dispatch(new mapActions.SetQueryState(newQueryState));
|
||||||
} else if (mapStateChanged) {
|
} else if (mapStateChanged) {
|
||||||
console.debug("Map state");
|
console.debug("Map state");
|
||||||
this.store.dispatch(new mapActions.SetMapState(newMapState));
|
this.store.dispatch(new mapActions.SetMapState(newMapState));
|
||||||
} else if (queryStateChanged) {
|
|
||||||
console.debug("Query state");
|
|
||||||
this.store.dispatch(new mapActions.SetQueryState(newQueryState));
|
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// if (mapStateChanged && queryStateChanged) {
|
||||||
|
// console.debug("Both states");
|
||||||
|
// this.store.dispatch(new mapActions.SetState(newMapState, newQueryState));
|
||||||
|
// } else if (mapStateChanged) {
|
||||||
|
// console.debug("Map state");
|
||||||
|
// this.store.dispatch(new mapActions.SetMapState(newMapState));
|
||||||
|
// } else if (queryStateChanged) {
|
||||||
|
// console.debug("Query state");
|
||||||
|
// this.store.dispatch(new mapActions.SetQueryState(newQueryState));
|
||||||
|
// }
|
||||||
this.stateSetCount += 1;
|
this.stateSetCount += 1;
|
||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
@ -139,19 +139,7 @@ export class MapEffects {
|
|||||||
startSearchSucces$: Observable<Action> = this.actions$.pipe(
|
startSearchSucces$: Observable<Action> = this.actions$.pipe(
|
||||||
ofType(mapActions.STARTSEARCHSUCCESS),
|
ofType(mapActions.STARTSEARCHSUCCESS),
|
||||||
mergeMap((action: mapActions.StartSearchSuccess) => {
|
mergeMap((action: mapActions.StartSearchSuccess) => {
|
||||||
if (action.query.bboxFilter) {
|
|
||||||
return [new commonActions.SetMenuVisible(false)];
|
return [new commonActions.SetMenuVisible(false)];
|
||||||
} else {
|
|
||||||
var extent = createEmpty();
|
|
||||||
|
|
||||||
if (extent) {
|
|
||||||
for (let f of action.features) {
|
|
||||||
extend(extent, (f as Feature).getGeometry().getExtent());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//return [];
|
|
||||||
return [new mapActions.SetExtent(extent),new commonActions.SetMenuVisible(false)];
|
|
||||||
}
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@Effect()
|
@Effect()
|
||||||
|
@ -10,6 +10,7 @@ import {commonActions} from '@farmmaps/common';
|
|||||||
import { createSelector, createFeatureSelector } from '@ngrx/store';
|
import { createSelector, createFeatureSelector } from '@ngrx/store';
|
||||||
|
|
||||||
import {Feature} from 'ol';
|
import {Feature} from 'ol';
|
||||||
|
import { createEmpty, extend} from 'ol/extent';
|
||||||
|
|
||||||
import { ROUTER_NAVIGATION, RouterNavigationAction } from '@ngrx/router-store';
|
import { ROUTER_NAVIGATION, RouterNavigationAction } from '@ngrx/router-store';
|
||||||
|
|
||||||
@ -124,11 +125,21 @@ export function reducer(state = initialState, action: mapActions.Actions | commo
|
|||||||
}
|
}
|
||||||
case mapActions.STARTSEARCHSUCCESS: {
|
case mapActions.STARTSEARCHSUCCESS: {
|
||||||
let a = action as mapActions.StartSearchSuccess;
|
let a = action as mapActions.StartSearchSuccess;
|
||||||
|
let extent = state.extent;
|
||||||
|
if (action.query.bboxFilter) {
|
||||||
|
extent = createEmpty();
|
||||||
|
if (extent) {
|
||||||
|
for (let f of action.features) {
|
||||||
|
extend(extent, (f as Feature).getGeometry().getExtent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return tassign(state, {
|
return tassign(state, {
|
||||||
panelVisible: true,
|
panelVisible: true,
|
||||||
clearEnabled: true,
|
clearEnabled: true,
|
||||||
searchMinified: true,
|
searchMinified: true,
|
||||||
features: a.features
|
features: a.features,
|
||||||
|
extent:extent
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
case mapActions.SELECTFEATURE: {
|
case mapActions.SELECTFEATURE: {
|
||||||
|
Loading…
Reference in New Issue
Block a user