aboutsummaryrefslogtreecommitdiffstats
path: root/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'main.js')
-rw-r--r--main.js43
1 files changed, 30 insertions, 13 deletions
diff --git a/main.js b/main.js
index 08e8405..eccca7a 100644
--- a/main.js
+++ b/main.js
@@ -3918,14 +3918,25 @@ const infoMetadataAccordions = [];
modal.appendChild(content);
content.classList.add('modal-content');
- const body = document.createElement('div');
- content.appendChild(body);
- body.classList.add('modal-body');
+ const header = document.createElement('div');
+ content.appendChild(header);
+ header.classList.add('modal-header');
const title = document.createElement('div');
title.classList.add('h5');
title.innerHTML = 'Mät i kartan';
- body.appendChild(title);
+ header.appendChild(title);
+
+ const btn_close = document.createElement('button');
+ btn_close.classList.add('btn-close');
+ btn_close.type = 'button';
+ btn_close.title = 'Stäng';
+ btn_close.setAttribute('aria-label', btn_close.title);
+ header.appendChild(btn_close);
+
+ const body = document.createElement('div');
+ content.appendChild(body);
+ body.classList.add('modal-body');
const getMeasureMode = (function() {
const btn_group = document.createElement('div');
@@ -3987,16 +3998,22 @@ const infoMetadataAccordions = [];
btn_group.appendChild(buttons.ok);
})();
- document.getElementById('measure-button')
- .getElementsByTagName('button')[0]
- .addEventListener('click', function(event) {
- if (event.currentTarget.getAttribute('aria-expanded') === 'true') {
- disposePopover();
- setup(getMeasureMode());
- } else {
- setup(null);
+ const button_menu = document.getElementById('measure-button')
+ .getElementsByTagName('button')[0];
+ button_menu.addEventListener('click', function(event) {
+ if (event.currentTarget.getAttribute('aria-expanded') === 'true') {
+ disposePopover();
+ setup(getMeasureMode());
+ } else {
+ setup(null);
+ /* XXX workaround for https://github.com/twbs/bootstrap/issues/41005#issuecomment-2585390544 */
+ const activeElement = document.activeElement;
+ if (activeElement.isEqualNode(btn_close)) {
+ activeElement.blur();
}
- });
+ }
+ });
+ btn_close.onclick = () => button_menu.click();
})();
/* popup and feature overlays */