Source: modules/newButton.js

import { Control } from "ol/control.js";

/**
 * @module newButton
 */

/** Extends OpenLayers default Control class to provide button for pin creation process
 * @extends ol.control.Control
 */
class ButtonControl extends Control {
  constructor(opt_options) {
    const options = opt_options || {};

    const button = document.createElement("button");
    button.textContent = "New";
    button.addEventListener("click", newButtonHandler, false);

    function newButtonHandler() {
      window.ReactNativeWebView?.postMessage("new pin start");
    }

    const element = document.createElement("div");
    element.className = "new-button ol-unselectable ol-control";
    element.appendChild(button);

    super({
      element: element,
      target: options.target,
    });
  }
}

export default ButtonControl;