242 lines
5.9 KiB
TypeScript
242 lines
5.9 KiB
TypeScript
|
import { Action } from '@ngrx/store';
|
||
|
|
||
|
import { IMapState,IItemLayer,IQueryState } from '../models';
|
||
|
import { IItem } from '@farmmaps/common';
|
||
|
import { Feature } from 'ol';
|
||
|
import { Extent } from 'ol/extent';
|
||
|
|
||
|
export const SETSTATE = '[Map] SetState';
|
||
|
export const SETMAPSTATE = '[Map] MapState';
|
||
|
export const SETVIEWEXTENT = '[Map] SetViewExtent';
|
||
|
export const INIT = '[Map] Init';
|
||
|
export const SETPARENT = '[Map] SetParent';
|
||
|
export const STARTSEARCH = '[Map] StartSearch';
|
||
|
export const STARTSEARCHSUCCESS = '[Map] StartSearchSuccess';
|
||
|
export const SELECTFEATURE = '[Map] SelectFeature';
|
||
|
export const SELECTITEM = '[Map] SelectItem';
|
||
|
export const SELECTITEMSUCCESS = '[Map] SelectItemSuccess';
|
||
|
export const ADDFEATURESUCCESS = '[Map] AddFeatureSuccess';
|
||
|
export const UPDATEFEATURESUCCESS = '[Map] UpdateFeatureSuccess';
|
||
|
export const EXPANDSEARCH = '[Map] ExpandSearch';
|
||
|
export const COLLAPSESEARCH = '[Map] CollapseSearch';
|
||
|
export const TOGGLEMENU = '[Map] ToggleMenu';
|
||
|
export const SETEXTENT = '[Map] SetExtent';
|
||
|
export const SETQUERYSTATE = '[Map] SetQueryState';
|
||
|
export const SETTIMESPAN = '[Map] SetTimeSpan';
|
||
|
export const ADDLAYER = '[Map] AddLayer';
|
||
|
export const SETVISIBILITY = '[Map] SetVisibility';
|
||
|
export const SETOPACITY = '[Map] SetOpacity';
|
||
|
export const SETLAYERINDEX = '[Map] SetLayerIndex';
|
||
|
export const REMOVELAYER = '[Map] RemoveLayer';
|
||
|
export const LOADBASELAYERS = '[Map] LoadLayers';
|
||
|
export const LOADBASELAYERSSUCCESS = '[Map] LoadLayersSuccess';
|
||
|
export const SELECTBASELAYER = '[Map] SelectBaseLayers';
|
||
|
export const SELECTOVERLAYLAYER = '[Map] SelectOverlayLayers';
|
||
|
export const ZOOMTOEXTENT = '[Map] ZoomToExtent';
|
||
|
export const DOQUERY = '[Map] DoQuery';
|
||
|
|
||
|
export class SetState implements Action {
|
||
|
readonly type = SETSTATE;
|
||
|
|
||
|
constructor(public mapState: IMapState,public queryState:IQueryState) { }
|
||
|
}
|
||
|
|
||
|
export class SetMapState implements Action {
|
||
|
readonly type = SETMAPSTATE;
|
||
|
|
||
|
constructor(public mapState: IMapState) { }
|
||
|
}
|
||
|
|
||
|
export class SetViewExtent implements Action {
|
||
|
readonly type = SETVIEWEXTENT;
|
||
|
|
||
|
constructor(public extent:number[]) { }
|
||
|
}
|
||
|
|
||
|
export class Init implements Action {
|
||
|
readonly type = INIT;
|
||
|
|
||
|
constructor() { }
|
||
|
}
|
||
|
|
||
|
export class SetParent implements Action {
|
||
|
readonly type = SETPARENT;
|
||
|
|
||
|
constructor(public parentCode:string) { }
|
||
|
}
|
||
|
|
||
|
export class StartSearch implements Action {
|
||
|
readonly type = STARTSEARCH;
|
||
|
|
||
|
constructor(public queryState: IQueryState) { }
|
||
|
}
|
||
|
|
||
|
export class StartSearchSuccess implements Action {
|
||
|
readonly type = STARTSEARCHSUCCESS;
|
||
|
|
||
|
constructor(public features: Array<Feature>, public query:IQueryState) { }
|
||
|
}
|
||
|
|
||
|
export class SelectFeature implements Action {
|
||
|
readonly type = SELECTFEATURE;
|
||
|
|
||
|
constructor(public feature:Feature) { }
|
||
|
}
|
||
|
|
||
|
export class SelectItem implements Action {
|
||
|
readonly type = SELECTITEM;
|
||
|
|
||
|
constructor(public itemCode:string) { }
|
||
|
}
|
||
|
|
||
|
export class SelectItemSuccess implements Action {
|
||
|
readonly type = SELECTITEMSUCCESS;
|
||
|
|
||
|
constructor(public item: IItem) { }
|
||
|
}
|
||
|
|
||
|
export class AddFeatureSuccess implements Action {
|
||
|
readonly type = ADDFEATURESUCCESS;
|
||
|
|
||
|
constructor(public feature: Feature) { }
|
||
|
}
|
||
|
|
||
|
export class UpdateFeatureSuccess implements Action {
|
||
|
readonly type = UPDATEFEATURESUCCESS;
|
||
|
|
||
|
constructor(public feature: Feature) { }
|
||
|
}
|
||
|
|
||
|
export class ExpandSearch implements Action {
|
||
|
readonly type = EXPANDSEARCH;
|
||
|
|
||
|
constructor() { }
|
||
|
}
|
||
|
|
||
|
export class CollapseSearch implements Action {
|
||
|
readonly type = COLLAPSESEARCH;
|
||
|
|
||
|
constructor() { }
|
||
|
}
|
||
|
|
||
|
export class ToggleMenu implements Action {
|
||
|
readonly type = TOGGLEMENU;
|
||
|
|
||
|
constructor() { }
|
||
|
}
|
||
|
|
||
|
export class SetExtent implements Action {
|
||
|
readonly type = SETEXTENT;
|
||
|
|
||
|
constructor(public extent:number[]) { }
|
||
|
}
|
||
|
|
||
|
export class SetQueryState implements Action {
|
||
|
readonly type = SETQUERYSTATE;
|
||
|
|
||
|
constructor(public queryState: IQueryState) { }
|
||
|
}
|
||
|
|
||
|
export class SetTimeSpan implements Action {
|
||
|
readonly type = SETTIMESPAN;
|
||
|
|
||
|
constructor(public startDate: Date, public endDate: Date) { }
|
||
|
}
|
||
|
|
||
|
export class AddLayer implements Action {
|
||
|
readonly type = ADDLAYER;
|
||
|
|
||
|
constructor(public item:IItem,public layerIndex=-1) { }
|
||
|
}
|
||
|
|
||
|
export class SetVisibility implements Action {
|
||
|
readonly type = SETVISIBILITY;
|
||
|
|
||
|
constructor(public itemLayer:IItemLayer,public visibility:boolean) { }
|
||
|
}
|
||
|
|
||
|
export class SetOpacity implements Action {
|
||
|
readonly type = SETOPACITY;
|
||
|
|
||
|
constructor(public itemLayer: IItemLayer, public opacity: number) { }
|
||
|
}
|
||
|
|
||
|
export class SetLayerIndex implements Action {
|
||
|
readonly type = SETLAYERINDEX;
|
||
|
|
||
|
constructor(public layerIndex: number, public itemLayer: IItemLayer = null) { }
|
||
|
}
|
||
|
|
||
|
export class RemoveLayer implements Action {
|
||
|
readonly type = REMOVELAYER;
|
||
|
|
||
|
constructor(public itemLayer: IItemLayer) { }
|
||
|
}
|
||
|
|
||
|
export class LoadBaseLayers implements Action {
|
||
|
readonly type = LOADBASELAYERS;
|
||
|
|
||
|
constructor(public projection: string) { }
|
||
|
}
|
||
|
|
||
|
export class LoadBaseLayersSuccess implements Action {
|
||
|
readonly type = LOADBASELAYERSSUCCESS;
|
||
|
|
||
|
constructor(public items: IItem[] ) { }
|
||
|
}
|
||
|
|
||
|
export class SelectBaseLayer implements Action {
|
||
|
readonly type = SELECTBASELAYER;
|
||
|
|
||
|
constructor(public itemLayer: IItemLayer) { }
|
||
|
}
|
||
|
|
||
|
export class SelectOverlayLayer implements Action {
|
||
|
readonly type = SELECTOVERLAYLAYER;
|
||
|
|
||
|
constructor(public itemLayer: IItemLayer) { }
|
||
|
}
|
||
|
|
||
|
export class ZoomToExtent implements Action {
|
||
|
readonly type = ZOOMTOEXTENT;
|
||
|
|
||
|
constructor(public itemLayer: IItemLayer) { }
|
||
|
}
|
||
|
|
||
|
export class DoQuery implements Action {
|
||
|
readonly type = DOQUERY;
|
||
|
|
||
|
constructor(public query:IQueryState) { }
|
||
|
}
|
||
|
|
||
|
export type Actions = SetMapState
|
||
|
| Init
|
||
|
| SetParent
|
||
|
| StartSearch
|
||
|
| StartSearchSuccess
|
||
|
| SelectFeature
|
||
|
| SelectItem
|
||
|
| SelectItemSuccess
|
||
|
| AddFeatureSuccess
|
||
|
| UpdateFeatureSuccess
|
||
|
| ExpandSearch
|
||
|
| CollapseSearch
|
||
|
| ToggleMenu
|
||
|
| SetExtent
|
||
|
| SetQueryState
|
||
|
| SetTimeSpan
|
||
|
| AddLayer
|
||
|
| RemoveLayer
|
||
|
| SetVisibility
|
||
|
| SetOpacity
|
||
|
| SetLayerIndex
|
||
|
| LoadBaseLayers
|
||
|
| LoadBaseLayersSuccess
|
||
|
| SelectBaseLayer
|
||
|
| SelectOverlayLayer
|
||
|
| ZoomToExtent
|
||
|
| SetState
|
||
|
| SetViewExtent
|
||
|
| DoQuery;
|
||
|
|