Commit e4f0388f authored by Adrien Pavie's avatar Adrien Pavie

Merge 1.9.5

parents d9817c0a 661c2d4a
......@@ -3,7 +3,7 @@ sudo: false
before_install:
# https://github.com/travis-ci/travis-ci/issues/3225
- mkdir travis-phantomjs
- wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
- wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis-phantomjs
- export PATH=$PWD/travis-phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH
before_script: make
:warning: = Breaking change, may affect downstream projects or sites that embed iD.
## 1.9.5
##### May 25, 2016
* Clean translated combo value when comparing to display value (#3129)
* Change color of Save button as user edits increase (#2749, thanks @tanerochris)
* Migrate to lodash v4 (#3107, thanks @kepta)
* Don't try to snap new ways to offscreen areas (#3114)
* Prevent keypress handlers from being called extra times (#3111)
* Add spacebar click for efficient way drawing (#2784, thanks @brandonreavis)
* Rename `barrier=ditch` preset to "Trench", leave `waterway=ditch` preset as "Ditch"
* Use prison icon for gate-like barriers, roadblock icon for other barriers
* Add Barrier category: wall, fence, ditch (#2344, thanks @Wikiwide)
* Add slight fill to the area icon (#3109)
* Localize phone placeholder for country being edited (#3084, thanks @dobratzp)
* Clicking on scale bar will toggle units from imperial/metric (#2351)
* Use ⌘B for quick background switching, add tooltip, style (#2854, thanks @RoPP)
* Fix greediness of autocompletion (#3077, #3106, thanks @kepta)
* Add preset for `route=horse` relations (#3057, thanks @kepta)
* Keep "move" cursor while adjusting imagery offset (#3101)
* Move generic Building preset to top of Building category list (#3102)
* Update Wikipedia list (#3098, thanks @1ec5)
## 1.9.4
##### May 3, 2016
* Fix bug causing save button to remain disabled even when changeset comment is entered (#3096)
......
......@@ -318,4 +318,4 @@ d3:
@echo 'd3 rebuilt. Please reapply 7e2485d, 4da529f, and 223974d'
lodash:
node_modules/.bin/lodash --development --output js/lib/lodash.js include="any,assign,bind,chunk,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,forOwn,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"
node_modules/.bin/lodash --development --output js/lib/lodash.js include="includes,toPairs,assign,bind,chunk,clone,compact,debounce,difference,each,every,extend,filter,find,first,forEach,forOwn,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,reject,some,throttle,union,uniq,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"
......@@ -20,6 +20,7 @@
## Prerequisites
* [Node.js](http://nodejs.org/) version 0.10.0 or newer
* [PhantomJS](http://phantomjs.org/) version 2 or newer (for running tests)
* Command line development tools (`make`, `git`, and a compiler) for your platform
* Ubuntu:
* `sudo apt-get install build-essential git`
......
......@@ -183,7 +183,7 @@ function generateTranslate(fields, presets) {
_.forEach(translate.presets, function(preset, id) {
var p = presets[id];
if (!_.isEmpty(p.tags))
preset['name#'] = _.pairs(p.tags).map(function(pair) { return pair[0] + '=' + pair[1]; }).join(', ');
preset['name#'] = _.toPairs(p.tags).map(function(pair) { return pair[0] + '=' + pair[1]; }).join(', ');
if (p.terms && p.terms.length)
preset['terms#'] = 'terms: ' + p.terms.join();
preset.terms = "<translate with synonyms or related terms for '" + preset.name + "', separated by commas>";
......@@ -295,7 +295,8 @@ fs.writeFileSync('data/data.js', 'iD.data = ' + JSON.stringify({
locales: r('locales.json'),
en: read('dist/locales/en.json'),
suggestions: r('name-suggestions.json'),
addressFormats: r('address-formats.json')
addressFormats: r('address-formats.json'),
phoneFormats: r('phone-formats.json')
}) + ';');
fs.writeFileSync('dist/presets.js', 'iD.data.presets = ' + JSON.stringify({
......
......@@ -461,7 +461,9 @@ button.save.has-count .count {
display: block;
position: absolute;
top: 5px;
background: rgba(255, 255, 255, .5);
background: #fff;
border-color: #fff;
opacity: 0.5;
color: #333;
padding: 10px;
height: 30px;
......@@ -482,7 +484,9 @@ button.save.has-count .count::before {
bottom: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
border-right: 6px solid rgba(255,255,255,.5);
border-right-width: 6px;
border-right-style: solid;
border-right-color: inherit;
}
/* Icons */
......@@ -1916,7 +1920,8 @@ input.lvl-value:hover {
background-color: #ececec;
}
.layer-list li.active {
.layer-list li.active,
.layer-list li.switch {
background: #E8EBFF;
}
......@@ -2079,6 +2084,17 @@ input.lvl-value:hover {
right: -10px;
}
.nudge-surface {
position: absolute;
z-index: 5000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: transparent;
cursor: move;
}
.background-control .nudge.right::after {
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
......@@ -2279,6 +2295,64 @@ input.lvl-value:hover {
border-radius: 4px;
}
/* Tiles
------------------------------------------------------- */
img.tile {
position:absolute;
transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
opacity: 0;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
-moz-transition: opacity 200ms linear;
}
.tile-label-debug {
background: rgba(0, 0, 0, 0.7);
color: #fff;
position: absolute;
text-align: center;
width: 128px;
border-radius: 3px;
z-index: 2;
transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
img.tile-debug {
border: 1px solid red;
}
img.tile-loaded {
opacity: 1;
}
img.tile-removing {
opacity: 0;
}
/* Map
------------------------------------------------------- */
......@@ -2295,6 +2369,7 @@ input.lvl-value:hover {
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
......@@ -2330,6 +2405,7 @@ input.lvl-value:hover {
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
......@@ -2459,6 +2535,10 @@ input.lvl-value:hover {
max-height: 30px;
float: left;
clear: left;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
#info-block {
......@@ -2471,6 +2551,10 @@ input.lvl-value:hover {
width: 100%;
}
#scale:hover {
cursor: pointer;
}
#scale text {
font: 12px sans-serif;
stroke: none;
......
/* tiles */
img.tile {
position:absolute;
transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
opacity: 0;
-webkit-transition: opacity 200ms linear;
transition: opacity 200ms linear;
-moz-transition: opacity 200ms linear;
}
img.tile-loaded {
opacity: 1;
}
img.tile-removing {
opacity: 0;
}
use { pointer-events: none; }
......@@ -917,6 +895,7 @@ path.stroke.tag-highway-cycleway {
stroke: #58a9ed;
}
.preset-icon .icon.tag-route-horse,
.preset-icon .icon.highway-bridleway {
color: #e06d5f;
fill: #fff;
......
......@@ -274,6 +274,7 @@ en:
percent_brightness: "{opacity}% brightness"
none: None
best_imagery: Best known imagery source for this location
switch: Switch back to this background
custom: Custom
custom_button: Edit custom background
custom_prompt: "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme."
......
......@@ -18,7 +18,8 @@ iD.data = {
path + 'data/locales.json',
path + 'dist/locales/en.json',
path + 'data/name-suggestions.json',
path + 'data/address-formats.json'
path + 'data/address-formats.json',
path + 'data/phone-formats.json'
], d3.json, function (err, data) {
iD.data = {
......@@ -37,7 +38,8 @@ iD.data = {
locales: data[10],
en: data[11],
suggestions: data[12],
addressFormats: data[13]
addressFormats: data[13],
phoneFormats: data[14]
};
callback();
......
......@@ -28045,6 +28045,206 @@
"id": "Mapbox",
"default": true
},
{
"name": "MD 2014 6 Inch Aerial Imagery",
"type": "tms",
"description": "Six Inch resolution aerial imagery for the State of Maryland",
"template": "http://whoots.mapwarper.net/tms/{z}/{x}/{y}/MD_SixInchImagery/http://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer",
"scaleExtent": [
0,
20
],
"polygon": [
[
[
-76.234131,
37.920368
],
[
-76.598053,
38.158317
],
[
-76.940002,
38.270532
],
[
-77.038193,
38.413786
],
[
-77.23526,
38.33627
],
[
-77.312164,
38.410558
],
[
-77.262726,
38.566422
],
[
-77.042999,
38.713376
],
[
-77.049866,
38.793697
],
[
-76.92627,
38.892503
],
[
-77.040939,
38.984499
],
[
-77.12162,
38.925229
],
[
-77.150116,
38.955137
],
[
-77.252426,
38.975425
],
[
-77.259293,
39.024252
],
[
-77.34581,
39.054918
],
[
-77.461853,
39.070379
],
[
-77.537384,
39.139647
],
[
-77.474213,
39.224807
],
[
-77.572746,
39.304284
],
[
-77.723465,
39.328986
],
[
-77.777023,
39.463234
],
[
-77.861481,
39.516225
],
[
-77.840881,
39.608862
],
[
-77.956238,
39.59299
],
[
-78.166351,
39.695564
],
[
-78.270035,
39.621557
],
[
-78.338699,
39.640066
],
[
-78.466415,
39.523641
],
[
-78.662796,
39.540058
],
[
-78.798752,
39.606217
],
[
-78.9814,
39.446799
],
[
-79.06723,
39.476486
],
[
-79.485054,
39.199536
],
[
-79.485569,
39.72158
],
[
-75.788359,
39.721811
],
[
-75.690994,
38.460579
],
[
-75.049238,
38.458159
],
[
-75.049839,
38.402218
],
[
-75.081511,
38.323208
],
[
-75.097733,
38.309066
],
[
-75.186996,
38.097551
],
[
-75.23798,
38.022402
],
[
-75.61821,
37.989669
],
[
-75.863686,
37.909534
],
[
-76.234131,
37.920368
]
]
],
"terms_url": "http://imap.maryland.gov/Pages/imagery-products.aspx",
"terms_text": "DoIT, MD iMap, MDP"
},
{
"name": "New & Misaligned TIGER Roads",
"type": "tms",
{
"us": "+1-202-555-1234",
"ca": "+1-226-555-1234",
"bs": "+1-242-555-1234",
"bb": "+1-246-555-1234",
"ai": "+1-264-555-1234",
"ag": "+1-268-555-1234",
"vg": "+1-284-555-1234",
"vi": "+1-340-555-1234",
"ky": "+1-345-555-1234",
"bm": "+1-441-555-1234",
"gd": "+1-473-555-1234",
"tc": "+1-649-555-1234",
"ms": "+1-664-555-1234",
"mp": "+1-670-555-1234",
"gu": "+1-671-555-1234",
"as": "+1-684-555-1234",
"sx": "+1-721-555-1234",
"lc": "+1-758-555-1234",
"dm": "+1-767-555-1234",
"vc": "+1-784-555-1234",
"pr": "+1-787-555-1234",
"do": "+1-809-555-1234",
"tt": "+1-868-555-1234",
"kn": "+1-869-555-1234",
"jm": "+1-876-555-1234",
"za": "+27 11 907 1111",
"nl": "+31 42 123 4567",
"fr": "+33 1 23 45 67 89",
"es": "+34 989 12 34 56",
"pt": "+351 211 123456",
"fi": "+358 40 123 4567",
"hu": "+36 1 123 45 67",
"hr": "+385 01 123 4567",
"si": "+386 31 123 4567",
"it": "+39 01 123 456",
"va": "+39 01 123 456",
"gb": "+44 207 123456",
"gg": "+44 207 123456",
"im": "+44 207 123456",
"je": "+44 207 123456",
"se": "+46 31 123 4567",
"no": "+47 22 12 34 56",
"sj": "+47 22 12 34 56",
"pl": "+48 42 123 4567",
"de": "+49 89 1234567",
"br": "+55 11 0982 1098",
"ru": "+7 495 1234567",
"kz": "+7 495 1234567",
"vn": "+84 1 234 5678",
"hk": "+852 12345678"
}
en:
presets:
categories:
category-barrier:
name: Barrier Features
category-building:
name: Building Features
category-emergency:
......@@ -1789,8 +1791,8 @@ en:
terms: "<translate with synonyms or related terms for 'Cycle Barrier', separated by commas>"
barrier/ditch:
# barrier=ditch
name: Ditch
terms: "<translate with synonyms or related terms for 'Ditch', separated by commas>"
name: Trench
terms: "<translate with synonyms or related terms for 'Trench', separated by commas>"
barrier/entrance:
# barrier=entrance
name: Entrance
......@@ -4473,6 +4475,10 @@ en:
# 'type=route, route=hiking'
name: Hiking Route
terms: "<translate with synonyms or related terms for 'Hiking Route', separated by commas>"
type/route/horse:
# 'type=route, route=horse'
name: Riding Route
terms: "<translate with synonyms or related terms for 'Riding Route', separated by commas>"
type/route/pipeline:
# 'type=route, route=pipeline'
name: Pipeline Route
......
{
"category-barrier": {
"geometry": "line",
"name": "Barrier Features",
"icon": "roadblock",
"members": [
"barrier/fence",
"barrier/wall",
"barrier/ditch",
"barrier/gate",
"barrier"
]
},
"category-building": {
"geometry": "area",
"name": "Building Features",
"icon": "building",
"members": [
"building",
"building/house",
"building/apartments",
"building/commercial",
"building/industrial",
"building/residential",
"building"
"building/residential"
]
},
"category-emergency": {
......@@ -169,6 +181,7 @@
"type/route/bicycle",
"type/route/foot",
"type/route/hiking",
"type/route/horse",
"type/route/bus",
"type/route/train",
"type/route/tram",
......
{
"geometry": "line",
"name": "Barrier Features",
"icon": "roadblock",
"members": [
"barrier/fence",
"barrier/wall",
"barrier/ditch",
"barrier/gate",
"barrier"
]
}
......@@ -3,11 +3,11 @@
"name": "Building Features",
"icon": "building",
"members": [
"building",
"building/house",
"building/apartments",
"building/commercial",
"building/industrial",
"building/residential",
"building"
"building/residential"
]
}
......@@ -7,6 +7,7 @@
"type/route/bicycle",
"type/route/foot",
"type/route/hiking",
"type/route/horse",
"type/route/bus",
"type/route/train",
"type/route/tram",
......
......@@ -2676,6 +2676,7 @@
"name": "Road Surface"
},
"barrier": {
"icon": "roadblock",
"geometry": [
"point",
"vertex",
......@@ -2691,6 +2692,7 @@
"name": "Barrier"
},
"barrier/block": {
"icon": "roadblock",
"fields": [
"access"
],
......@@ -2704,6 +2706,7 @@
"name": "Block"
},
"barrier/bollard": {
"icon": "roadblock",
"fields": [
"access"
],
......@@ -2718,6 +2721,7 @@
"name": "Bollard"
},
"barrier/cattle_grid": {
"icon": "prison",
"geometry": [
"vertex"
],
......@@ -2740,6 +2744,7 @@
"name": "Checkout"
},
"barrier/city_wall": {
"icon": "prison",
"geometry": [
"line",