diff options
author | Anton Tananaev <anton@traccar.org> | 2024-04-06 09:22:10 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2024-04-06 09:22:10 -0700 |
commit | f418231b6b2f5e030a0d2dcc390c314602b1f740 (patch) | |
tree | 10326adf3792bc2697e06bb5f2b8ef2a8f7e55fe /modern/src/map/notification | |
parent | b392a4af78e01c8e0f50aad5468e9583675b24be (diff) | |
download | trackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.tar.gz trackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.tar.bz2 trackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.zip |
Move modern to the top
Diffstat (limited to 'modern/src/map/notification')
-rw-r--r-- | modern/src/map/notification/MapNotification.js | 49 | ||||
-rw-r--r-- | modern/src/map/notification/notification.css | 13 |
2 files changed, 0 insertions, 62 deletions
diff --git a/modern/src/map/notification/MapNotification.js b/modern/src/map/notification/MapNotification.js deleted file mode 100644 index 81038f95..00000000 --- a/modern/src/map/notification/MapNotification.js +++ /dev/null @@ -1,49 +0,0 @@ -import { useEffect, useMemo } from 'react'; -import { map } from '../core/MapView'; -import './notification.css'; - -const statusClass = (status) => `maplibregl-ctrl-icon maplibre-ctrl-notification maplibre-ctrl-notification-${status}`; - -class NotificationControl { - constructor(eventHandler) { - this.eventHandler = eventHandler; - } - - onAdd() { - this.button = document.createElement('button'); - this.button.className = statusClass('off'); - this.button.type = 'button'; - this.button.onclick = () => this.eventHandler(this); - - this.container = document.createElement('div'); - this.container.className = 'maplibregl-ctrl-group maplibregl-ctrl'; - this.container.appendChild(this.button); - - return this.container; - } - - onRemove() { - this.container.parentNode.removeChild(this.container); - } - - setEnabled(enabled) { - this.button.className = statusClass(enabled ? 'on' : 'off'); - } -} - -const MapNotification = ({ enabled, onClick }) => { - const control = useMemo(() => new NotificationControl(onClick), [onClick]); - - useEffect(() => { - map.addControl(control); - return () => map.removeControl(control); - }, [onClick]); - - useEffect(() => { - control.setEnabled(enabled); - }, [enabled]); - - return null; -}; - -export default MapNotification; diff --git a/modern/src/map/notification/notification.css b/modern/src/map/notification/notification.css deleted file mode 100644 index 73db13bb..00000000 --- a/modern/src/map/notification/notification.css +++ /dev/null @@ -1,13 +0,0 @@ -.maplibre-ctrl-notification { - background-repeat: no-repeat; - background-position: center; - pointer-events: auto; -} - -.maplibre-ctrl-notification-on { - background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23f44336' d='m6.4728 3.4802-1.1412-1.1412c-1.9152 1.4604-3.1761 3.7108-3.2878 6.2645h1.596c0.1197-2.1148 1.205-3.9662 2.833-5.1233zm9.8875 5.1233h1.596c-0.1197-2.5537-1.3806-4.8041-3.2878-6.2645l-1.1332 1.1412c1.612 1.1571 2.7053 3.0085 2.825 5.1233zm-1.5721 0.39901c0-2.4499-1.3088-4.5008-3.5911-5.0435v-0.54265c0-0.66236-0.53467-1.197-1.197-1.197-0.66236 0-1.197 0.53467-1.197 1.197v0.54265c-2.2903 0.54265-3.5911 2.5856-3.5911 5.0435v3.9901l-1.596 1.596v0.79802h12.768v-0.79802l-1.596-1.596zm-4.7881 8.7782c0.11172 0 0.21546-8e-3 0.31921-0.03192 0.51871-0.11172 0.94166-0.46285 1.1491-0.94166 0.0798-0.19152 0.1197-0.39901 0.1197-0.62246h-3.1921c0.00798 0.87782 0.71822 1.596 1.604 1.596z' stroke-width='.79802'/%3E%3C/svg%3E"); -} - -.maplibre-ctrl-notification-off { - background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m6.4728 3.4802-1.1412-1.1412c-1.9152 1.4604-3.1761 3.7108-3.2878 6.2645h1.596c0.1197-2.1148 1.205-3.9662 2.833-5.1233zm9.8875 5.1233h1.596c-0.1197-2.5537-1.3806-4.8041-3.2878-6.2645l-1.1332 1.1412c1.612 1.1571 2.7053 3.0085 2.825 5.1233zm-1.5721 0.39901c0-2.4499-1.3088-4.5008-3.5911-5.0435v-0.54265c0-0.66236-0.53467-1.197-1.197-1.197-0.66236 0-1.197 0.53467-1.197 1.197v0.54265c-2.2903 0.54265-3.5911 2.5856-3.5911 5.0435v3.9901l-1.596 1.596v0.79802h12.768v-0.79802l-1.596-1.596zm-4.7881 8.7782c0.11172 0 0.21546-8e-3 0.31921-0.03192 0.51871-0.11172 0.94166-0.46285 1.1491-0.94166 0.0798-0.19152 0.1197-0.39901 0.1197-0.62246h-3.1921c0.00798 0.87782 0.71822 1.596 1.604 1.596z' stroke-width='.79802'/%3E%3C/svg%3E"); -} |