diff --git a/package-lock.json b/package-lock.json index d58e0f2..390a3bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "geop", - "version": "1.5.11", + "version": "1.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -6217,25 +6217,29 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -6245,13 +6249,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "optional": true, "requires": { @@ -6261,37 +6267,43 @@ }, "chownr": { "version": "1.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true, "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "3.2.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "optional": true, "requires": { @@ -6300,25 +6312,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "optional": true, "requires": { @@ -6327,13 +6343,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -6349,7 +6367,8 @@ }, "glob": { "version": "7.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "optional": true, "requires": { @@ -6363,13 +6382,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -6378,7 +6399,8 @@ }, "ignore-walk": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "dev": true, "optional": true, "requires": { @@ -6387,7 +6409,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -6397,19 +6420,22 @@ }, "inherits": { "version": "2.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -6418,13 +6444,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -6433,13 +6461,15 @@ }, "minimist": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true, "optional": true }, "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "optional": true, "requires": { @@ -6449,7 +6479,8 @@ }, "minizlib": { "version": "1.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "optional": true, "requires": { @@ -6458,7 +6489,8 @@ }, "mkdirp": { "version": "0.5.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "dev": true, "optional": true, "requires": { @@ -6467,13 +6499,15 @@ }, "ms": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "optional": true }, "needle": { "version": "2.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", "dev": true, "optional": true, "requires": { @@ -6484,7 +6518,8 @@ }, "node-pre-gyp": { "version": "0.14.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "dev": true, "optional": true, "requires": { @@ -6502,7 +6537,8 @@ }, "nopt": { "version": "4.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dev": true, "optional": true, "requires": { @@ -6512,7 +6548,8 @@ }, "npm-bundled": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "dev": true, "optional": true, "requires": { @@ -6521,13 +6558,15 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "dev": true, "optional": true, "requires": { @@ -6538,7 +6577,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -6550,19 +6590,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -6571,19 +6614,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -6593,19 +6639,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -6617,7 +6666,8 @@ }, "readable-stream": { "version": "2.3.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "optional": true, "requires": { @@ -6632,7 +6682,8 @@ }, "rimraf": { "version": "2.7.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "optional": true, "requires": { @@ -6641,43 +6692,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -6688,7 +6746,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -6697,7 +6756,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -6706,13 +6766,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": false, + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "dev": true, "optional": true, "requires": { @@ -6727,13 +6789,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -6742,13 +6806,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "optional": true } diff --git a/package.json b/package.json index bfc2c2c..490aadd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "geop", - "version": "1.5.11", + "version": "1.6.0", "description": "Estonian geocaching game", "main": "index.js", "scripts": { diff --git a/src/geop/components/bookmark/Bookmark.js b/src/geop/components/bookmark/Bookmark.js index 79a484c..32fb6ff 100644 --- a/src/geop/components/bookmark/Bookmark.js +++ b/src/geop/components/bookmark/Bookmark.js @@ -9,7 +9,8 @@ import log from 'Utilities/log' import { reloadApp } from 'Root' import JSONP from 'jsonpack' import QRious from 'qrious' -import Modal from 'bootstrap.native' +import Modal from 'bootstrap.native/src/components/modal-native' +import Dropdown from 'bootstrap.native/src/components/dropdown-native' import './Bookmark.styl' const xhr = fetch() @@ -22,6 +23,7 @@ class Bookmark extends Component { id="modal_bookmark"> `) this.modal = null + this.dropdown = null this.state = { bookmarks: getState('app/bookmarks') || [], bookmark: getPermalink('b') @@ -79,6 +81,7 @@ class Bookmark extends Component { this.delete(e.currentTarget.closest('li').dataset.id) }) }) + this.dropdown = new Dropdown(this.$.get('.dropdown-toggle', this.el)) } renderComponents () { @@ -185,7 +188,6 @@ class Bookmark extends Component { size: 200 }) qr.value = this.bookmarkUrl(bookmark) - console.log(Modal) this.modal = new Modal(this.modalEl) this.modal.show() } @@ -239,7 +241,6 @@ function formatState (type = 'down', data = {}, hash = null) { } function setBookmarkState (data) { - console.log(data) return new Promise((resolve, reject) => { const hash = uid() xhr.post(apiUrls.jsonstore + '/' + hash, { diff --git a/src/geop/components/contextmenu/ContextMenu.js b/src/geop/components/contextmenu/ContextMenu.js index 07b3c8f..a19d9ff 100644 --- a/src/geop/components/contextmenu/ContextMenu.js +++ b/src/geop/components/contextmenu/ContextMenu.js @@ -4,6 +4,7 @@ import { closestFeatureTo } from 'Components/map/MapEngine' import Overlay from 'ol/Overlay' import Point from 'ol/geom/Point' import Popper from 'popper.js' +import Popover from 'bootstrap.native/src/components/popover-native' import './ContextMenu.styl' class ContextMenu extends Component { @@ -24,7 +25,8 @@ class ContextMenu extends Component { }), items: items, timeout: null, - disableClick: false + disableClick: false, + popover: null } const map = getState('map') if (map) { @@ -43,8 +45,9 @@ class ContextMenu extends Component { if (e.originalEvent.ctrlKey || this.state.disableClick) { return } - // FIXME - this.el.popover('dispose') + if (this.popover) { + this.popover.dispose() + } }) this.$.on('contextmenu', map.getViewport(), e => { e.preventDefault() @@ -64,20 +67,22 @@ class ContextMenu extends Component { // FIXME Popper.Defaults.modifiers.preventOverflow.enabled = false Popper.Defaults.modifiers.hide.enabled = false - this.el.popover('dispose') + if (this.popover) { + this.popover.dispose() + } this.state.overlay.setPosition(coord) - this.el.popover(popContent.definition) + this.popover = new Popover(this.el, popContent.definition) // when popover's content is shown - this.el.on('shown.bs.popover', e => { - popContent.onShow(e.target.data('bs.popover').tip) + this.$.on('shown.bs.popover', this.el, e => { + popContent.onShow(e.target.Popover.element.childNodes[0]) }) // when popover's content is hidden - this.el.on('hidden.bs.popover', () => { + this.$.on('hidden.bs.popover', this.el, e => { popContent.onHide() Popper.Defaults.modifiers.preventOverflow.enabled = true Popper.Defaults.modifiers.hide.enabled = true }) - this.el.popover('show') + this.popover.show() } getContent (coord, feature) { diff --git a/src/geop/components/geocache/GeocacheGPX.js b/src/geop/components/geocache/GeocacheGPX.js index 5211335..a3d98e8 100644 --- a/src/geop/components/geocache/GeocacheGPX.js +++ b/src/geop/components/geocache/GeocacheGPX.js @@ -10,10 +10,12 @@ export default { const wpt = feature.get('wpt') // format always if (feature.get('isCache')) { + // fstatus + let fstatus = feature.get('sym') if (opts.user && opts.user === feature.get('owner')) { - const fstatus = 'Geocache Owner' - feature.set('fstatus', opts.mapping.fstatusGPX[fstatus] || fstatus) + fstatus = 'Geocache Owner' } + feature.set('fstatus', opts.mapping.fstatusGPX[fstatus] || fstatus) } if (typeof feature.get('isCache') === 'undefined' && wpt['groundspeak:cache']) { const cacheData = {} diff --git a/src/geop/components/geolocation/GeoLocation.js b/src/geop/components/geolocation/GeoLocation.js index d3b1424..32adf71 100644 --- a/src/geop/components/geolocation/GeoLocation.js +++ b/src/geop/components/geolocation/GeoLocation.js @@ -45,37 +45,7 @@ class GeoLocation extends Component { lastHeading: null, minAccuracy: 100, pressStart: null, - pressTimer: null, - eventHandlers: { - down: e => { - e.preventDefault() - this.state.pressStart = new Date().getTime() - this.state.pressTimer = setTimeout(() => { - this.disable() - e.currentTarget.classList.remove(...this.state.status) - }, longPress) - }, - up: e => { - e.preventDefault() - if (new Date().getTime() < (this.state.pressStart + longPress)) { - clearTimeout(this.state.pressTimer) - this.state.active = (this.state.active + 1 >= this.state.status.length) - ? 0 : this.state.active + 1 - if (this.state.active === 0) { - this.disable() - e.currentTarget.classList.remove(...this.state.status) - } else { - this.enable() - e.currentTarget.classList.add(this.state.status[this.state.active]) - } - } - }, - leave: e => { - e.preventDefault() - this.state.pressStart = 0 - clearTimeout(this.state.pressTimer) - } - } + pressTimer: null } this.handlers = { updateView: e => { @@ -83,6 +53,34 @@ class GeoLocation extends Component { }, disableTracking: e => { this.disableTracking() + }, + down: e => { + e.preventDefault() + this.state.pressStart = new Date().getTime() + this.state.pressTimer = setTimeout(() => { + this.disable() + e.currentTarget.classList.remove(...this.state.status) + }, longPress) + }, + up: e => { + e.preventDefault() + if (new Date().getTime() < (this.state.pressStart + longPress)) { + clearTimeout(this.state.pressTimer) + this.state.active = (this.state.active + 1 >= this.state.status.length) + ? 0 : this.state.active + 1 + if (this.state.active === 0) { + this.disable() + e.currentTarget.classList.remove(...this.state.status) + } else { + this.enable() + e.currentTarget.classList.add(this.state.status[this.state.active]) + } + } + }, + leave: e => { + e.preventDefault() + this.state.pressStart = 0 + clearTimeout(this.state.pressTimer) } } if (this.test()) { @@ -100,11 +98,11 @@ class GeoLocation extends Component { this.$.on('contextmenu', this.el, e => { e.preventDefault() }) - this.$.on('mousedown', this.el, e => this.eventHandlers.down(e)) - this.$.on('touchstart', this.el, e => this.eventHandlers.down(e)) - this.$.on('mouseup', this.el, e => this.eventHandlers.up(e)) - this.$.on('touchend', this.el, e => this.eventHandlers.up(e)) - this.$.on('mouseleave', this.el, e => this.eventHandlers.leave(e)) + this.$.on('mousedown', this.el, e => this.handlers.down(e)) + this.$.on('touchstart', this.el, e => this.handlers.down(e)) + this.$.on('mouseup', this.el, e => this.handlers.up(e)) + this.$.on('touchend', this.el, e => this.handlers.up(e)) + this.$.on('mouseleave', this.el, e => this.handlers.leave(e)) } test () { diff --git a/src/geop/components/layer/LayerFromService.js b/src/geop/components/layer/LayerFromService.js index e78053d..d654a40 100644 --- a/src/geop/components/layer/LayerFromService.js +++ b/src/geop/components/layer/LayerFromService.js @@ -4,12 +4,14 @@ import { validURL, parseURL, constructURL, uid } from 'Utilities/util' import { getState } from 'Utilities/store' import log from 'Utilities/log' import Component from 'Geop/Component' +import Modal from 'bootstrap.native/src/components/modal-native' import { createLayer } from './LayerCreator' class LayerFromService extends Component { create () { this.el = this.$.create('
  • ') - this.modal = this.$.get('#modal_wmslayer') + this.modalEl = this.$.get('#modal_wmslayer') + this.modal = null this.isRow = true this.layer_conf = { TileWMS: { @@ -42,19 +44,19 @@ class LayerFromService extends Component { } render () { - if (!this.modal || this.modal.length === 0) { + if (!this.modalEl) { const examples = Object.keys(apiUrls.wmsexamples).map(title => { return ` ${title} ` }) - this.modal = this.$.create(``) - this.$.html(this.modal, `