diff --git a/.eslintrc b/.eslintrc index 914c74e93..2535fa3fe 100644 --- a/.eslintrc +++ b/.eslintrc @@ -58,6 +58,7 @@ "no-warning-comments": "warn", "no-with": "error", "no-use-before-define": ["off", "nofunc"], + "radix": ["error", "always"], "semi": ["error", "always"], "semi-spacing": "error", "space-unary-ops": "error", diff --git a/data/presets.yaml b/data/presets.yaml index 382c41ab8..b5180ed2c 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -321,6 +321,9 @@ en: types: 'cycleway:left': Left side 'cycleway:right': Right side + date: + # date=* + label: Date delivery: # delivery=* label: Delivery @@ -336,6 +339,9 @@ en: diaper: # diaper=* label: Diaper Changing Available + display: + # display=* + label: Display dock: # dock=* label: Type @@ -1040,6 +1046,9 @@ en: supervised: # supervised=* label: Supervised + support: + # support=* + label: Support surface: # surface=* label: Surface @@ -1122,6 +1131,16 @@ en: vending: # vending=* label: Type of Goods + visibility: + # visibility=* + label: Visibility + options: + # visibility=area + area: Over 20m (65ft) + # visibility=house + house: Up to 5m (16ft) + # visibility=street + street: 5 to 20m (16 to 65ft) water: # water=* label: Type @@ -1368,6 +1387,11 @@ en: # amenity=courthouse name: Courthouse terms: '' + amenity/coworking_space: + # amenity=coworking_space + name: Coworking Space + # 'terms: coworking,office' + terms: '' amenity/dentist: # amenity=dentist name: Dentist diff --git a/data/presets/fields.json b/data/presets/fields.json index e16b320bc..3d5ebf5bc 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -418,6 +418,11 @@ } } }, + "date": { + "key": "date", + "type": "check", + "label": "Date" + }, "delivery": { "key": "delivery", "type": "check", @@ -454,6 +459,17 @@ "5" ] }, + "display": { + "key": "display", + "type": "combo", + "label": "Display", + "options": [ + "analog", + "digital", + "sundial", + "unorthodox" + ] + }, "dock": { "key": "dock", "type": "combo", @@ -1391,6 +1407,11 @@ "type": "check", "label": "Supervised" }, + "support": { + "key": "support", + "type": "combo", + "label": "Support" + }, "surface": { "key": "surface", "type": "combo", @@ -1489,6 +1510,18 @@ "type": "combo", "label": "Type of Goods" }, + "visibility": { + "key": "visibility", + "type": "combo", + "label": "Visibility", + "strings": { + "options": { + "house": "Up to 5m (16ft)", + "street": "5 to 20m (16 to 65ft)", + "area": "Over 20m (65ft)" + } + } + }, "water_point": { "key": "water_point", "type": "check", diff --git a/data/presets/fields/date.json b/data/presets/fields/date.json new file mode 100644 index 000000000..e8501e407 --- /dev/null +++ b/data/presets/fields/date.json @@ -0,0 +1,5 @@ +{ + "key": "date", + "type": "check", + "label": "Date" +} diff --git a/data/presets/fields/display.json b/data/presets/fields/display.json new file mode 100644 index 000000000..83d9dc845 --- /dev/null +++ b/data/presets/fields/display.json @@ -0,0 +1,6 @@ +{ + "key": "display", + "type": "combo", + "label": "Display", + "options": ["analog", "digital", "sundial", "unorthodox"] +} diff --git a/data/presets/fields/support.json b/data/presets/fields/support.json new file mode 100644 index 000000000..d01e64ab6 --- /dev/null +++ b/data/presets/fields/support.json @@ -0,0 +1,5 @@ +{ + "key": "support", + "type": "combo", + "label": "Support" +} diff --git a/data/presets/fields/visibility.json b/data/presets/fields/visibility.json new file mode 100644 index 000000000..a36b27396 --- /dev/null +++ b/data/presets/fields/visibility.json @@ -0,0 +1,12 @@ +{ + "key": "visibility", + "type": "combo", + "label": "Visibility", + "strings": { + "options": { + "house": "Up to 5m (16ft)", + "street": "5 to 20m (16 to 65ft)", + "area": "Over 20m (65ft)" + } + } +} diff --git a/data/presets/presets.json b/data/presets/presets.json index 7885fd960..923f44e41 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -906,6 +906,12 @@ "name": "Clinic" }, "amenity/clock": { + "fields": [ + "support", + "display", + "visibility", + "date" + ], "geometry": [ "point", "vertex" @@ -980,6 +986,26 @@ }, "name": "Courthouse" }, + "amenity/coworking_space": { + "icon": "commercial", + "fields": [ + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "coworking", + "office" + ], + "tags": { + "amenity": "coworking_space" + }, + "name": "Coworking Space" + }, "amenity/dentist": { "icon": "dentist", "fields": [ @@ -4231,6 +4257,7 @@ "name": "Defibrillator" }, "emergency/fire_hydrant": { + "icon": "fire-station", "fields": [ "fire_hydrant/type" ], @@ -5836,6 +5863,9 @@ }, "leisure/garden": { "icon": "garden", + "fields": [ + "access_simple" + ], "geometry": [ "point", "vertex", @@ -6051,7 +6081,8 @@ "fields": [ "surface", "hoops", - "lit" + "lit", + "access_simple" ], "geometry": [ "point", @@ -6153,7 +6184,8 @@ "icon": "tennis", "fields": [ "surface", - "lit" + "lit", + "access_simple" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/clock.json b/data/presets/presets/amenity/clock.json index 89b7d5607..f4c1f9bf3 100644 --- a/data/presets/presets/amenity/clock.json +++ b/data/presets/presets/amenity/clock.json @@ -1,4 +1,10 @@ { + "fields": [ + "support", + "display", + "visibility", + "date" + ], "geometry": [ "point", "vertex" @@ -7,4 +13,4 @@ "amenity": "clock" }, "name": "Clock" -} \ No newline at end of file +} diff --git a/data/presets/presets/amenity/coworking_space.json b/data/presets/presets/amenity/coworking_space.json new file mode 100644 index 000000000..d12b7924c --- /dev/null +++ b/data/presets/presets/amenity/coworking_space.json @@ -0,0 +1,20 @@ +{ + "icon": "commercial", + "fields": [ + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "coworking", + "office" + ], + "tags": { + "amenity": "coworking_space" + }, + "name": "Coworking Space" +} diff --git a/data/presets/presets/emergency/fire_hydrant.json b/data/presets/presets/emergency/fire_hydrant.json index 98cff3625..11fb9155f 100644 --- a/data/presets/presets/emergency/fire_hydrant.json +++ b/data/presets/presets/emergency/fire_hydrant.json @@ -1,4 +1,5 @@ { + "icon": "fire-station", "fields": [ "fire_hydrant/type" ], diff --git a/data/presets/presets/leisure/garden.json b/data/presets/presets/leisure/garden.json index 5cd9f7377..c37b8048c 100644 --- a/data/presets/presets/leisure/garden.json +++ b/data/presets/presets/leisure/garden.json @@ -1,5 +1,8 @@ { "icon": "garden", + "fields": [ + "access_simple" + ], "geometry": [ "point", "vertex", diff --git a/data/presets/presets/leisure/pitch/basketball.json b/data/presets/presets/leisure/pitch/basketball.json index 708bf7687..80d49bc2c 100644 --- a/data/presets/presets/leisure/pitch/basketball.json +++ b/data/presets/presets/leisure/pitch/basketball.json @@ -3,7 +3,8 @@ "fields": [ "surface", "hoops", - "lit" + "lit", + "access_simple" ], "geometry": [ "point", diff --git a/data/presets/presets/leisure/pitch/tennis.json b/data/presets/presets/leisure/pitch/tennis.json index b9920471d..48d6a133a 100644 --- a/data/presets/presets/leisure/pitch/tennis.json +++ b/data/presets/presets/leisure/pitch/tennis.json @@ -2,7 +2,8 @@ "icon": "tennis", "fields": [ "surface", - "lit" + "lit", + "access_simple" ], "geometry": [ "point", diff --git a/data/taginfo.json b/data/taginfo.json index 679345bfa..85f0b3531 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -227,6 +227,10 @@ "key": "amenity", "value": "courthouse" }, + { + "key": "amenity", + "value": "coworking_space" + }, { "key": "amenity", "value": "dentist" diff --git a/dist/locales/en.json b/dist/locales/en.json index 9d912e5ec..2345ba686 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -914,6 +914,9 @@ } } }, + "date": { + "label": "Date" + }, "delivery": { "label": "Delivery" }, @@ -929,6 +932,9 @@ "diaper": { "label": "Diaper Changing Available" }, + "display": { + "label": "Display" + }, "dock": { "label": "Type" }, @@ -1499,6 +1505,9 @@ "supervised": { "label": "Supervised" }, + "support": { + "label": "Support" + }, "surface": { "label": "Surface" }, @@ -1564,6 +1573,14 @@ "vending": { "label": "Type of Goods" }, + "visibility": { + "label": "Visibility", + "options": { + "house": "Up to 5m (16ft)", + "street": "5 to 20m (16 to 65ft)", + "area": "Over 20m (65ft)" + } + }, "water_point": { "label": "Water Point" }, @@ -1815,6 +1832,10 @@ "name": "Courthouse", "terms": "" }, + "amenity/coworking_space": { + "name": "Coworking Space", + "terms": "coworking,office" + }, "amenity/dentist": { "name": "Dentist", "terms": "tooth,teeth" diff --git a/modules/core/way.js b/modules/core/way.js index 419c81027..f5c256c32 100644 --- a/modules/core/way.js +++ b/modules/core/way.js @@ -147,11 +147,11 @@ _.extend(Way.prototype, { break; } - if (this.tags.lanes) metadata.count = parseInt(this.tags.lanes); + if (this.tags.lanes) metadata.count = parseInt(this.tags.lanes, 10); metadata.oneway = this.isOneWay(); - if (parseInt(this.tags.oneway) === -1) { + if (parseInt(this.tags.oneway, 10) === -1) { metadata.forward = 0; metadata.bothways = 0; metadata.backward = metadata.count; @@ -161,12 +161,12 @@ _.extend(Way.prototype, { metadata.bothways = 0; metadata.backward = 0; } else { - metadata.bothways = parseInt(this.tags['lanes:both_ways']) > 0 ? 1 : 0; - metadata.forward = parseInt(this.tags['lanes:forward']); - metadata.backward = parseInt(this.tags['lanes:backward']); + metadata.bothways = parseInt(this.tags['lanes:both_ways'], 10) > 0 ? 1 : 0; + metadata.forward = parseInt(this.tags['lanes:forward'], 10); + metadata.backward = parseInt(this.tags['lanes:backward'], 10); if (_.isNaN(metadata.forward) && _.isNaN(metadata.backward)) { - metadata.forward = parseInt((metadata.count - metadata.bothways) / 2); + metadata.forward = (metadata.count - metadata.bothways) / 2; metadata.backward = metadata.count - metadata.bothways - metadata.forward; } else if (_.isNaN(metadata.forward)) { diff --git a/package.json b/package.json index 65b4d698d..383e267e3 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,8 @@ "d3": "4.2.1", "ecstatic": "~2.1.0", "editor-layer-index": "git://github.com/osmlab/editor-layer-index.git#gh-pages", - "eslint": "~3.3.1", "gaze": "~1.1.1", + "eslint": "~3.4.0", "glob": "~7.0.5", "happen": "~0.3.1", "js-yaml": "~3.6.1",