UNPKG

geopf-extensions-openlayers

Version:

French Geoportal Extensions for OpenLayers libraries

74 lines (64 loc) 2.59 kB
var MeasureAzimuthDOM = { /** * Add uuid to the tag ID * @param {String} id - id selector * @returns {String} uid - id selector with an unique id */ _addUID : function (id) { var uid = (this._uid) ? id + "-" + this._uid : id; return uid; }, /** * Main container (DOM) * * @returns {DOMElement} DOM element */ _createMainContainerElement : function () { var container = document.createElement("div"); container.id = this._addUID("GPmeasureAzimuth"); container.className = "GPwidget gpf-widget gpf-widget-button"; return container; }, // ################################################################### // // ################### Methods of main container ##################### // // ################################################################### // /** * Show control * see event ! * * @returns {DOMElement} DOM element */ _createShowMeasureAzimuthPictoElement : function () { // contexte d'execution var context = this; var button = document.createElement("button"); // INFO: Ajout d'une SPAN pour enlever des marges de 6px dans CHROMIUM (?!) var span = document.createElement("span"); button.appendChild(span); button.id = this._addUID("GPshowMeasureAzimuthPicto"); button.className = "GPshowOpen GPshowAdvancedToolPicto gpf-btn gpf-btn--tertiary gpf-btn-icon gpf-btn-icon-azimuth fr-btn fr-btn--tertiary"; button.setAttribute("aria-label", "Mesurer un azimut"); button.setAttribute("tabindex", "0"); button.setAttribute("aria-pressed", false); button.setAttribute("type", "button"); // gestionnaire d'evenement : // on ouvre le menu de saisie... // L'ouverture/Fermeture permet de faire le menage // (reinitialisation) if (button.addEventListener) { button.addEventListener("click", function (e) { var status = (e.target.ariaPressed === "true"); e.target.setAttribute("aria-pressed", !status); context.onShowMeasureAzimuthClick(e); }); } else if (button.attachEvent) { button.attachEvent("onclick", function (e) { var status = (e.target.ariaPressed === "true"); e.target.setAttribute("aria-pressed", !status); context.onShowMeasureAzimuthClick(e); }); } return button; } }; export default MeasureAzimuthDOM;