Browse Source

lint

master
parent
commit
f47ede5f49
  1. 7
      package.json
  2. 4
      src/CategoryBase.js
  3. 21
      src/CategoryOverpass.js
  4. 13
      src/OpenStreetBrowserLoader.js
  5. 58
      src/addCategories.js
  6. 6
      src/image.js
  7. 15
      src/index.js
  8. 1
      src/language.js
  9. 5
      src/maki.js
  10. 8
      src/options.js
  11. 2
      src/tagTranslations.js
  12. 8
      src/twigFunctions.js

7
package.json

@ -46,7 +46,7 @@
"targets": {
"browsers": [
"last 2 versions",
"> 0.5%",
"> 0.5%",
"safari >= 7",
"ie >= 11"
]
@ -94,6 +94,9 @@
"currentPath",
"overpassUrl",
"ajax"
]
],
"rules": {
"camelcase": 0
}
}
}

4
src/CategoryBase.js

@ -1,4 +1,5 @@
/* global lang, ui_lang, options, alert */
/* eslint camelcase: 0 */
var OpenStreetBrowserLoader = require('./OpenStreetBrowserLoader')
var tabs = require('modulekit-tabs')
@ -6,8 +7,7 @@ function CategoryBase (options, data) {
if (typeof options === 'string') {
this.id = options
this.options = {}
}
else {
} else {
this.id = options.id
this.options = options
}

21
src/CategoryOverpass.js

@ -1,3 +1,5 @@
/* global showDetails, openstreetbrowserPrefix */
/* eslint camelcase: 0 */
var OpenStreetBrowserLoader = require('./OpenStreetBrowserLoader')
var OverpassLayer = require('overpass-layer')
var OverpassLayerList = require('overpass-layer').List
@ -19,8 +21,8 @@ var defaultValues = {
radius: 12,
pane: 'selected'
},
markerSymbol: "{{ markerPointer({})|raw }}",
listMarkerSymbol: "{{ markerCircle({})|raw }}",
markerSymbol: '{{ markerPointer({})|raw }}',
listMarkerSymbol: '{{ markerCircle({})|raw }}',
preferredZoom: 16
},
queryOptions: {
@ -152,7 +154,7 @@ CategoryOverpass.prototype.updateAssets = function (div) {
var src = img.getAttribute('src')
if (src === null) {
} else if (src.match(/^maki:.*/)) {
let m = src.match(/^maki:([a-z0-9\-]*)(?:\?(.*))?$/)
let m = src.match(/^maki:([a-z0-9-]*)(?:\?(.*))?$/)
if (m) {
let span = document.createElement('span')
img.parentNode.insertBefore(span, img)
@ -211,14 +213,14 @@ CategoryOverpass.prototype.updateStatus = function () {
}
CategoryOverpass.prototype._getMarker = function (origGetMarker, origList, ob) {
if (ob.data[origList.options.prefix + 'MarkerSymbol'].trim() == 'line') {
var div = document.createElement('div')
if (ob.data[origList.options.prefix + 'MarkerSymbol'].trim() === 'line') {
let div = document.createElement('div')
div.className = 'marker'
div.innerHTML = markers.line(ob.data)
return div
} else if (ob.data[origList.options.prefix + 'MarkerSymbol'].trim() == 'polygon') {
var div = document.createElement('div')
} else if (ob.data[origList.options.prefix + 'MarkerSymbol'].trim() === 'polygon') {
let div = document.createElement('div')
div.className = 'marker'
div.innerHTML = markers.polygon(ob.data)
@ -265,6 +267,7 @@ CategoryOverpass.prototype.open = function () {
p.innerHTML = '<i class="fa fa-spinner fa-pulse fa-fw"></i><span class="sr-only">' + lang('loading') + '</span>'
dom.appendChild(p)
let name
if (typeof listData.name === 'undefined') {
name = k
} else if (typeof listData.name === 'object') {
@ -337,7 +340,7 @@ CategoryOverpass.prototype.updateInfo = function () {
global.currentCategory = this
var data = {
layer_id: this.id,
'const': this.data.const,
'const': this.data.const
}
if (this.map) {
data.map = { zoom: map.getZoom() }
@ -482,7 +485,7 @@ CategoryOverpass.prototype.renderTemplate = function (object, templateId, callba
var result = template.render(object.twigData)
callback(null, result)
}.bind(this))
})
}
OpenStreetBrowserLoader.registerType('overpass', CategoryOverpass)

13
src/OpenStreetBrowserLoader.js

@ -1,5 +1,4 @@
var OverpassLayer = require('overpass-layer')
var jsonMultilineStrings = require('json-multiline-strings')
function OpenStreetBrowserLoader () {
this.types = {}
@ -27,7 +26,7 @@ OpenStreetBrowserLoader.prototype.getCategory = function (id, options, callback)
var ids = this.getFullId(id, options)
if (ids === null) {
return callback('invalid id', null)
return callback(new Error('invalid id'), null)
}
if (options.force) {
@ -94,10 +93,10 @@ OpenStreetBrowserLoader.prototype.getRepo = function (repo, options, callback) {
this.repoCache[repo] = [ req.statusText, null ]
} else {
try {
this.repoCache[repo] = [ null, JSON.parse(req.responseText) ]
this.repoCache[repo] = [ null, JSON.parse(req.responseText) ]
} catch (err) {
console.log('couldn\'t parse repository', req.responseText)
this.repoCache[repo] = [ 'couldn\t parse repository', null ]
console.log('couldn\'t parse repository', req.responseText)
this.repoCache[repo] = [ 'couldn\t parse repository', null ]
}
}
@ -207,8 +206,8 @@ OpenStreetBrowserLoader.prototype.getFullId = function (id, options) {
return null
}
var m
if (m = id.match(/^(.*)\/([^\/]*)/)) {
let m = id.match(/^(.*)\/([^/]*)/)
if (m) {
result.id = id
result.repositoryId = m[1]
result.entityId = m[2]

58
src/addCategories.js

@ -1,6 +1,9 @@
var OpenStreetBrowserLoader = require('./OpenStreetBrowserLoader')
/* global OverpassLayer, repositoriesGitea */
require('./addCategories.css')
var weightSort = require('weight-sort')
const weightSort = require('weight-sort')
const OpenStreetBrowserLoader = require('./OpenStreetBrowserLoader')
var content
@ -15,8 +18,11 @@ function addCategoriesShow (repo) {
document.getElementById('content').className = 'addCategories'
OpenStreetBrowserLoader.getRepo(repo, {}, function (err, repoData) {
while(content.firstChild)
content.removeChild(content.firstChild)
if (err) {
alert(err)
}
while (content.firstChild) { content.removeChild(content.firstChild) }
var backLink = document.createElement('a')
backLink.className = 'back'
@ -38,7 +44,7 @@ function addCategoriesShow (repo) {
}
content.appendChild(backLink)
var h = document.createElement('h2')
let h = document.createElement('h2')
h.appendChild(document.createTextNode(repo))
content.appendChild(h)
@ -50,12 +56,12 @@ function addCategoriesShow (repo) {
}
content.appendChild(backLink)
var h = document.createElement('h2')
let h = document.createElement('h2')
h.innerHTML = lang('more_categories')
content.appendChild(h)
if (typeof repositoriesGitea === 'object' && repositoriesGitea.url) {
var a = document.createElement('a')
let a = document.createElement('a')
a.href = repositoriesGitea.url
a.target = '_blank'
a.innerHTML = lang('more_categories_gitea')
@ -75,12 +81,12 @@ function addCategoriesShow (repo) {
var repositoryUrl = null
if (data.repositoryUrl) {
repositoryUrl = OverpassLayer.twig.twig({ data: data.repositoryUrl, autoescape: true })
repositoryUrl = OverpassLayer.twig.twig({ data: data.repositoryUrl, autoescape: true })
}
var li = document.createElement('li')
var a = document.createElement('a')
let a = document.createElement('a')
if (repo) {
a.href = '#categories=' + repo + '/' + id
a.onclick = function () {
@ -97,23 +103,23 @@ function addCategoriesShow (repo) {
li.appendChild(a)
a.appendChild(document.createTextNode('name' in data ? lang(data.name) : id))
var editLink = null
if (repo && categoryUrl) {
editLink = document.createElement('a')
editLink.href = categoryUrl.render({ repositoryId: repo, categoryId: id })
}
if (!repo && repositoryUrl) {
editLink = document.createElement('a')
editLink.href = repositoryUrl.render({ repositoryId: id })
}
if (editLink) {
editLink.className = 'source-code'
editLink.title = 'Show source code'
editLink.target = '_blank'
editLink.innerHTML = '<i class="fa fa-file-code-o" aria-hidden="true"></i>'
li.appendChild(document.createTextNode(' '))
li.appendChild(editLink)
}
var editLink = null
if (repo && categoryUrl) {
editLink = document.createElement('a')
editLink.href = categoryUrl.render({ repositoryId: repo, categoryId: id })
}
if (!repo && repositoryUrl) {
editLink = document.createElement('a')
editLink.href = repositoryUrl.render({ repositoryId: id })
}
if (editLink) {
editLink.className = 'source-code'
editLink.title = 'Show source code'
editLink.target = '_blank'
editLink.innerHTML = '<i class="fa fa-file-code-o" aria-hidden="true"></i>'
li.appendChild(document.createTextNode(' '))
li.appendChild(editLink)
}
ul.appendChild(li)
}

6
src/image.js

@ -16,7 +16,7 @@ function showWikimediaImage (image, dom) {
forceServerLoad: true
},
function (err, result) {
if (!result) {
if (err || !result) {
return
}
@ -70,7 +70,7 @@ register_hook('show-details', function (data, category, dom, callback) {
currentLoader.next({
counter: data.detailsImageCounter,
wrap: true
},function (err, img) {
}, function (err, img) {
div.classList.remove('loading')
if (!img) {
@ -138,7 +138,7 @@ register_hook('show-popup', function (data, category, dom, callback) {
currentLoader.first({
counter: data.popupImageCounter
},function (err, img) {
}, function (err, img) {
div.classList.remove('loading')
if (!img) {

15
src/index.js

@ -1,4 +1,4 @@
/* globals map:true, overpassFrontend:true, currentPath:true, options:true, baseCategory:true, overpassUrl:true */
/* globals map:true, overpassFrontend:true, currentPath:true, options:true, baseCategory:true, overpassUrl:true showDetails */
var LeafletGeoSearch = require('leaflet-geosearch')
@ -53,7 +53,7 @@ function onload2 (initState) {
// Measurement plugin
if (L.control.polylineMeasure) {
L.control.polylineMeasure({
}).addTo(map);
}).addTo(map)
}
// Add Geo Search
@ -117,7 +117,7 @@ function onload2 (initState) {
map.on('popupopen', function (e) {
if (e.popup.object) {
var url = e.popup.object.layer_id + '/' + (e.popup.object.sublayer_id === 'main' ? '': e.popup.object.sublayer_id + ':') + e.popup.object.id
var url = e.popup.object.layer_id + '/' + (e.popup.object.sublayer_id === 'main' ? '' : e.popup.object.sublayer_id + ':') + e.popup.object.id
if (location.hash.substr(1) !== url && location.hash.substr(1, url.length + 1) !== url + '/') {
currentPath = url
// only push state, when last popup close happened >1sec earlier
@ -234,10 +234,6 @@ function show (id, options, callback) {
})
}
function updateShowDetails (ob, data) {
console.log('update', ob, data)
}
window.showDetails = function (data, category) {
var div, h, dt, dd, li, a
var k
@ -257,7 +253,7 @@ window.showDetails = function (data, category) {
dom.appendChild(div)
data.sublayer.updateAssets(div, data)
let div = document.createElement('div')
div = document.createElement('div')
div.className = 'body'
dom.appendChild(div)
@ -277,7 +273,6 @@ window.showDetails = function (data, category) {
data.sublayer.updateAssets(div, data)
}.bind(this, div))
call_hooks_callback('show-details', data, category, dom,
function (err) {
if (err.length) {
@ -329,7 +324,7 @@ window.showDetails = function (data, category) {
dt.appendChild(document.createTextNode('id'))
div.appendChild(dt)
dd = document.createElement('dd')
var a = document.createElement('a')
a = document.createElement('a')
a.appendChild(document.createTextNode(data.object.type + '/' + data.object.osm_id))
a.href = 'https://openstreetmap.org/' + data.object.type + '/' + data.object.osm_id
a.target = '_blank'

1
src/language.js

@ -1,4 +1,5 @@
/* global languages:false, lang_str:false */
/* eslint camelcase:0 */
var tagTranslations = require('./tagTranslations')
function getPreferredDataLanguage () {

5
src/maki.js

@ -1,3 +1,4 @@
/* global openstreetbrowserPrefix */
var loadClash = {}
var cache = {}
@ -14,10 +15,9 @@ function applyOptions (code, options) {
}
function maki (file, options, callback) {
var id
var size = options.size || 15
var m = file.match(/^(.*)\-(11|15)/)
var m = file.match(/^(.*)-(11|15)/)
if (!m) {
file += '-' + size
}
@ -48,7 +48,6 @@ function maki (file, options, callback) {
loadClash[file].forEach(p => p[1](null, applyOptions(cache[file], p[0])))
delete loadClash[file]
return
})
req.open('GET', url)
req.send()

8
src/options.js

@ -1,4 +1,4 @@
/* globals form, ajax, options:true, showRootContent */
/* globals form, ajax, options:true */
var moduleOptions = {}
var prevPage
@ -46,7 +46,7 @@ moduleOptions.open = function () {
input.innerHTML = lang('save')
f.appendChild(input)
var input = document.createElement('button')
input = document.createElement('button')
input.innerHTML = lang('cancel')
f.appendChild(input)
input.onclick = function () {
@ -68,12 +68,12 @@ moduleOptions.submit = function (optionsForm) {
}
ajax('options_save', null, data, function (ret) {
let old_options = options
let oldOptions = options
options = data
document.getElementById('content').className = prevPage
call_hooks('options_save', data, old_options)
call_hooks('options_save', data, oldOptions)
if (reload) {
location.reload()

2
src/tagTranslations.js

@ -1,3 +1,5 @@
/* global lang_str lang_non_translated */
/* eslint camelcase:0 */
var OverpassLayer = require('overpass-layer')
var tagLang = null

8
src/twigFunctions.js

@ -54,7 +54,7 @@ OverpassLayer.twig.extendFilter('natsort', function (values, options) {
})
OverpassLayer.twig.extendFilter('unique', function (values, options) {
// source: https://stackoverflow.com/a/14438954
function onlyUnique(value, index, self) {
function onlyUnique (value, index, self) {
return self.indexOf(value) === index
}
return values.filter(onlyUnique)
@ -67,11 +67,11 @@ OverpassLayer.twig.extendFilter('osmParseDate', function (value) {
return osmParseDate(value)
})
OverpassLayer.twig.extendFilter('md5', function (value) {
if (value in md5cache) {
return md5cache[value]
if (!(value in md5cache)) {
md5cache[value] = md5(value)
}
return md5cache[value] = md5(value)
return md5cache[value]
})
OverpassLayer.twig.extendFunction('evaluate', function (tags) {
var ob = {

Loading…
Cancel
Save