Implement next and preious temporal
This commit is contained in:
@@ -186,6 +186,41 @@ export function reducer(state = initialState, action: mapActions.Actions | commo
|
||||
selectedItemLayer.nextItemLayer = null;
|
||||
return tassign(state,{selectedItemLayer:tassign(state.selectedItemLayer,selectedItemLayer as ItemLayer)});
|
||||
}
|
||||
case mapActions.NEXTTEMPORAL: {
|
||||
let temporalLayer = state.selectedItemLayer as ITemporalItemLayer;
|
||||
if(temporalLayer.temporalItems && temporalLayer.temporalItems.length>0) {
|
||||
let index = temporalLayer.temporalItems.indexOf(temporalLayer.selectedItemLayer.item);
|
||||
if(index == (temporalLayer.temporalItems.length-1)) {
|
||||
return state;
|
||||
} else {
|
||||
temporalLayer.previousItemLayer = temporalLayer.selectedItemLayer;
|
||||
temporalLayer.selectedItemLayer = temporalLayer.nextItemLayer;
|
||||
temporalLayer.nextItemLayer = index+1 < temporalLayer.temporalItems.length? new ItemLayer(temporalLayer.temporalItems[index+1]):null;
|
||||
return tassign(state,{selectedItemLayer:tassign(state.selectedItemLayer,temporalLayer as ItemLayer)});
|
||||
}
|
||||
} else {
|
||||
return state;
|
||||
}
|
||||
}
|
||||
case mapActions.PREVIOUSTEMPORAL: {
|
||||
let temporalLayer = state.selectedItemLayer as ITemporalItemLayer;
|
||||
if(temporalLayer.temporalItems && temporalLayer.temporalItems.length>0) {
|
||||
let index = temporalLayer.temporalItems.indexOf(temporalLayer.selectedItemLayer.item);
|
||||
if(index == 0) {
|
||||
return state;
|
||||
} else {
|
||||
temporalLayer.nextItemLayer = temporalLayer.selectedItemLayer;
|
||||
temporalLayer.selectedItemLayer = temporalLayer.previousItemLayer;
|
||||
temporalLayer.previousItemLayer = index-1 >=0? new ItemLayer(temporalLayer.temporalItems[index-1]):null;
|
||||
return tassign(state,{selectedItemLayer:tassign(state.selectedItemLayer,temporalLayer as ItemLayer)});
|
||||
}
|
||||
} else {
|
||||
return state;
|
||||
}
|
||||
}
|
||||
case mapActions.SELECTTEMPORAL:{
|
||||
//todo implement
|
||||
}
|
||||
case mapActions.STARTSEARCH: {
|
||||
let a = action as mapActions.StartSearch;
|
||||
return tassign(state, {
|
||||
|
Reference in New Issue
Block a user