terriajs
Version:
Geospatial data visualization platform.
46 lines (39 loc) • 1.06 kB
text/typescript
import { action, computed } from "mobx";
import isDefined from "../../Core/isDefined";
import ViewState from "../../ReactViewModels/ViewState";
import { GLYPHS } from "../../Styled/Icon";
import MapNavigationItemController from "../../ViewModels/MapNavigation/MapNavigationItemController";
export const FEEDBACK_TOOL_ID = "feedback";
export class FeedbackButtonController extends MapNavigationItemController {
constructor(private viewState: ViewState) {
super();
}
get glyph(): any {
return GLYPHS.feedback;
}
get viewerMode() {
return undefined;
}
.bound
activate() {
this.viewState.feedbackFormIsVisible = true;
super.activate();
}
.bound
deactivate() {
this.viewState.feedbackFormIsVisible = false;
super.deactivate();
}
get visible() {
return (
isDefined(this.viewState.terria.configParameters.feedbackUrl) &&
!this.viewState.hideMapUi &&
super.visible
);
}
get active() {
return this.viewState.feedbackFormIsVisible;
}
}