nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit e7a67c2c6c68e88457533a0f1a32818579c01f00
parent d01e771647e8aab8279b48015017ff1be620a992
Author: Sergey Orlov <wladimirych@gmail.com>
Date:   Sat,  2 May 2020 10:22:31 +0200

panoramas: move "date label" from mapillary to common lib #379

Diffstat:
Msrc/lib/leaflet.control.panoramas/lib/common/index.js | 18+++++++++++++++++-
Msrc/lib/leaflet.control.panoramas/lib/mapillary/index.js | 14++++----------
2 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/src/lib/leaflet.control.panoramas/lib/common/index.js b/src/lib/leaflet.control.panoramas/lib/common/index.js @@ -12,4 +12,20 @@ const CloseButtonMixin = { }, }; -export {CloseButtonMixin}; +function formatDateTime(ts) { + const d = new Date(ts); + const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + return `${d.getDate()} ${months[d.getMonth()]} ${d.getFullYear()}`; +} + +const DateLabelMixin = { + createDateLabel: function(container) { + this.dateLabel = L.DomUtil.create('div', 'mapillary-viewer-date-overlay', container); + }, + + updateDateLabel: function(timestamp) { + this.dateLabel.innerHTML = formatDateTime(timestamp); + } +}; + +export {CloseButtonMixin, DateLabelMixin}; diff --git a/src/lib/leaflet.control.panoramas/lib/mapillary/index.js b/src/lib/leaflet.control.panoramas/lib/mapillary/index.js @@ -3,7 +3,7 @@ import {MapillaryCoverage} from './mapillary-coverage-layer'; import {fetch} from '~/lib/xhr-promise'; import config from '~/config'; import './style.css'; -import {CloseButtonMixin} from '../common'; +import {CloseButtonMixin, DateLabelMixin} from '../common'; function getCoverageLayer(options) { return new MapillaryCoverage(options); @@ -28,14 +28,8 @@ async function getPanoramaAtPos(latlng, searchRadiusMeters) { return {found: false}; } -function formatDateTime(ts) { - const d = new Date(ts); - const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - return `${d.getDate()} ${months[d.getMonth()]} ${d.getFullYear()}`; -} - const Viewer = L.Evented.extend({ - includes: [CloseButtonMixin], + includes: [CloseButtonMixin, DateLabelMixin], initialize: function(mapillary, container) { const id = `container-${L.stamp(container)}`; @@ -48,7 +42,7 @@ const Viewer = L.Evented.extend({ ); viewer.on('nodechanged', this.onNodeChanged.bind(this)); viewer.on('bearingchanged', this.onBearingChanged.bind(this)); - this.dateLabel = L.DomUtil.create('div', 'mapillary-viewer-date-overlay', container); + this.createDateLabel(container); this.createCloseButton(container); this._bearing = 0; this._zoom = 0; @@ -71,7 +65,7 @@ const Viewer = L.Evented.extend({ } this._node = node; this.fireChangeEvent(); - this.dateLabel.innerHTML = formatDateTime(node.capturedAt); + this.updateDateLabel(node.capturedAt); }, getBearingCorrection: function() {