terriajs
Version:
Geospatial data visualization platform.
54 lines (44 loc) • 1.27 kB
text/typescript
import { action, computed } from "mobx";
import ViewerMode from "../../../../Models/ViewerMode";
import ViewState from "../../../../ReactViewModels/ViewState";
import Icon from "../../../../Styled/Icon";
import MapNavigationItemController from "../../../../ViewModels/MapNavigation/MapNavigationItemController";
export class ToggleSplitterController extends MapNavigationItemController {
static id = "split-tool";
constructor(private viewState: ViewState) {
super();
}
get glyph(): any {
if (this.active) {
return Icon.GLYPHS.splitterOn;
}
return Icon.GLYPHS.compare;
}
get viewerMode(): ViewerMode | undefined {
return undefined;
}
get visible() {
return super.visible && this.viewState.terria.currentViewer.canShowSplitter;
}
get disabled() {
const toolIsDifference =
this.viewState.currentTool?.toolName === "Difference";
return this.viewState.isToolOpen && toolIsDifference;
}
get active(): boolean {
return this.viewState.terria.showSplitter;
}
activate() {
this.viewState.terria.showSplitter = true;
super.activate();
}
deactivate() {
this.viewState.terria.showSplitter = false;
super.deactivate();
}
}