From 2059c8346c9bc46173568f10058cee6988c9dc03 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 3 Mar 2016 16:28:53 -0500 Subject: [PATCH] Update to iD v1.9.1 --- vendor/assets/iD/iD.js | 236 +++++++++--------- vendor/assets/iD/iD/locales/ja.json | 40 +++ vendor/assets/iD/iD/locales/pt.json | 83 +++++- .../{traffico.css => traffico.css.erb} | 12 +- 4 files changed, 246 insertions(+), 125 deletions(-) rename vendor/assets/iD/iD/traffico/stylesheets/{traffico.css => traffico.css.erb} (94%) diff --git a/vendor/assets/iD/iD.js b/vendor/assets/iD/iD.js index c8a4af2e0..84eabfdad 100644 --- a/vendor/assets/iD/iD.js +++ b/vendor/assets/iD/iD.js @@ -19034,32 +19034,6 @@ window.iD = function () { } }; - var locale, localePath; - context.locale = function(loc, path) { - locale = loc; - localePath = path; - - // Also set iD.detect().locale (unless we detected 'en-us' and openstreetmap wants 'en').. - if (!(loc.toLowerCase() === 'en' && iD.detect().locale.toLowerCase() === 'en-us')) { - iD.detect().locale = loc; - } - - return context; - }; - - context.loadLocale = function(cb) { - if (locale && locale !== 'en' && iD.data.locales.indexOf(locale) !== -1) { - localePath = localePath || context.assetPath() + 'locales/' + locale + '.json'; - d3.json(localePath, function(err, result) { - window.locale[locale] = result; - window.locale.current(locale); - cb(); - }); - } else { - cb(); - } - }; - /* Straight accessors. Avoid using these if you can. */ var ui, connection, history; @@ -19300,9 +19274,39 @@ window.iD = function () { return context; }; + context.asset = function(_) { + var filename = assetPath + _; + return assetMap[filename] || filename; + }; + context.imagePath = function(_) { - var asset = 'img/' + _; - return assetMap[asset] || assetPath + asset; + return context.asset('img/' + _); + }; + + var locale, localePath; + context.locale = function(loc, path) { + locale = loc; + localePath = path; + + // Also set iD.detect().locale (unless we detected 'en-us' and openstreetmap wants 'en').. + if (!(loc.toLowerCase() === 'en' && iD.detect().locale.toLowerCase() === 'en-us')) { + iD.detect().locale = loc; + } + + return context; + }; + + context.loadLocale = function(cb) { + if (locale && locale !== 'en' && iD.data.locales.indexOf(locale) !== -1) { + localePath = localePath || context.asset('locales/' + locale + '.json'); + d3.json(localePath, function(err, result) { + window.locale[locale] = result; + window.locale.current(locale); + cb(); + }); + } else { + cb(); + } }; @@ -19362,7 +19366,7 @@ window.iD = function () { }; -iD.version = '1.9.0'; +iD.version = '1.9.1'; (function() { var detected = {}; @@ -19465,14 +19469,14 @@ iD.services.mapillary = function() { .append('link') .attr('id', 'traffico') .attr('rel', 'stylesheet') - .attr('href', context.assetPath() + 'traffico/stylesheets/traffico.css'); + .attr('href', context.asset('traffico/stylesheets/traffico.css')); } function loadSignDefs(context) { if (!iD.services.mapillary.sign_defs) { iD.services.mapillary.sign_defs = {}; _.each(['au', 'br', 'ca', 'de', 'us'], function(region) { - d3.json(context.assetPath() + 'traffico/string-maps/' + region + '-map.json', function(err, data) { + d3.json(context.asset('traffico/string-maps/' + region + '-map.json'), function(err, data) { if (err) return; if (region === 'de') region = 'eu'; iD.services.mapillary.sign_defs[region] = data; @@ -34529,7 +34533,7 @@ iD.ui.intro = function(context) { center = context.map().center(), zoom = context.map().zoom(), background = context.background().baseLayerSource(), - opacity = d3.select('.background-layer').style('opacity'), + opacity = d3.selectAll('#map .layer-background').style('opacity'), loadedTiles = context.connection().loadedTiles(), baseEntities = context.history().graph().base().entities, introGraph, name; @@ -34552,7 +34556,7 @@ iD.ui.intro = function(context) { context.history().merge(d3.values(iD.Graph().load(introGraph).entities)); context.background().bing(); - d3.select('.background-layer').style('opacity', 1); + d3.selectAll('#map .layer-background').style('opacity', 1); var curtain = d3.curtain(); selection.call(curtain); @@ -34577,7 +34581,7 @@ iD.ui.intro = function(context) { steps[steps.length - 1].on('startEditing', function() { curtain.remove(); navwrap.remove(); - d3.select('.background-layer').style('opacity', opacity); + d3.selectAll('#map .layer-background').style('opacity', opacity); context.connection().toggle(true).flush().loadedTiles(loadedTiles); context.history().reset().merge(d3.values(baseEntities)); context.background().baseLayerSource(background); @@ -35627,6 +35631,88 @@ iD.ui.Notice = function(context) { disableTooHigh(); }; }; +iD.ui.PresetIcon = function() { + var preset, geometry; + + function presetIcon(selection) { + selection.each(render); + } + + function render() { + var selection = d3.select(this), + p = preset.apply(this, arguments), + geom = geometry.apply(this, arguments), + icon = p.icon || (geom === 'line' ? 'other-line' : 'marker-stroked'), + maki = iD.data.featureIcons.hasOwnProperty(icon + '-24'); + + if (icon === 'dentist') maki = true; // workaround for dentist icon missing in `maki-sprite.json` + + function tag_classes(p) { + var s = ''; + for (var i in p.tags) { + s += ' tag-' + i; + if (p.tags[i] !== '*') { + s += ' tag-' + i + '-' + p.tags[i]; + } + } + return s; + } + + var $fill = selection.selectAll('.preset-icon-fill') + .data([0]); + + $fill.enter().append('div'); + + $fill.attr('class', function() { + return 'preset-icon-fill preset-icon-fill-' + geom + tag_classes(p); + }); + + var $frame = selection.selectAll('.preset-icon-frame') + .data([0]); + + $frame.enter() + .append('div') + .call(iD.svg.Icon('#preset-icon-frame')); + + $frame.attr('class', function() { + return 'preset-icon-frame ' + (geom === 'area' ? '' : 'hide'); + }); + + + var $icon = selection.selectAll('.preset-icon') + .data([0]); + + $icon.enter() + .append('div') + .attr('class', 'preset-icon') + .call(iD.svg.Icon('')); + + $icon + .attr('class', 'preset-icon preset-icon-' + (maki ? '32' : (geom === 'area' ? '44' : '60'))); + + $icon.selectAll('svg') + .attr('class', function() { + return 'icon ' + icon + tag_classes(p); + }); + + $icon.selectAll('use') // workaround: maki parking-24 broken? + .attr('href', '#' + icon + (maki ? ( icon === 'parking' ? '-18' : '-24') : '')); + } + + presetIcon.preset = function(_) { + if (!arguments.length) return preset; + preset = d3.functor(_); + return presetIcon; + }; + + presetIcon.geometry = function(_) { + if (!arguments.length) return geometry; + geometry = d3.functor(_); + return presetIcon; + }; + + return presetIcon; +}; iD.ui.preset = function(context) { var event = d3.dispatch('change'), state, @@ -35894,88 +35980,6 @@ iD.ui.preset = function(context) { return d3.rebind(presets, event, 'on'); }; -iD.ui.PresetIcon = function() { - var preset, geometry; - - function presetIcon(selection) { - selection.each(render); - } - - function render() { - var selection = d3.select(this), - p = preset.apply(this, arguments), - geom = geometry.apply(this, arguments), - icon = p.icon || (geom === 'line' ? 'other-line' : 'marker-stroked'), - maki = iD.data.featureIcons.hasOwnProperty(icon + '-24'); - - if (icon === 'dentist') maki = true; // workaround for dentist icon missing in `maki-sprite.json` - - function tag_classes(p) { - var s = ''; - for (var i in p.tags) { - s += ' tag-' + i; - if (p.tags[i] !== '*') { - s += ' tag-' + i + '-' + p.tags[i]; - } - } - return s; - } - - var $fill = selection.selectAll('.preset-icon-fill') - .data([0]); - - $fill.enter().append('div'); - - $fill.attr('class', function() { - return 'preset-icon-fill preset-icon-fill-' + geom + tag_classes(p); - }); - - var $frame = selection.selectAll('.preset-icon-frame') - .data([0]); - - $frame.enter() - .append('div') - .call(iD.svg.Icon('#preset-icon-frame')); - - $frame.attr('class', function() { - return 'preset-icon-frame ' + (geom === 'area' ? '' : 'hide'); - }); - - - var $icon = selection.selectAll('.preset-icon') - .data([0]); - - $icon.enter() - .append('div') - .attr('class', 'preset-icon') - .call(iD.svg.Icon('')); - - $icon - .attr('class', 'preset-icon preset-icon-' + (maki ? '32' : (geom === 'area' ? '44' : '60'))); - - $icon.selectAll('svg') - .attr('class', function() { - return 'icon ' + icon + tag_classes(p); - }); - - $icon.selectAll('use') // workaround: maki parking-24 broken? - .attr('href', '#' + icon + (maki ? ( icon === 'parking' ? '-18' : '-24') : '')); - } - - presetIcon.preset = function(_) { - if (!arguments.length) return preset; - preset = d3.functor(_); - return presetIcon; - }; - - presetIcon.geometry = function(_) { - if (!arguments.length) return geometry; - geometry = d3.functor(_); - return presetIcon; - }; - - return presetIcon; -}; iD.ui.PresetList = function(context) { var event = d3.dispatch('choose'), id, diff --git a/vendor/assets/iD/iD/locales/ja.json b/vendor/assets/iD/iD/locales/ja.json index fa05efc0f..4d031f41e 100644 --- a/vendor/assets/iD/iD/locales/ja.json +++ b/vendor/assets/iD/iD/locales/ja.json @@ -598,6 +598,38 @@ } }, "presets": { + "categories": { + "category-building": { + "name": "建物" + }, + "category-golf": { + "name": "ゴルフ" + }, + "category-landuse": { + "name": "土地利用" + }, + "category-path": { + "name": "歩道" + }, + "category-rail": { + "name": "線路" + }, + "category-restriction": { + "name": "進行方向制限" + }, + "category-road": { + "name": "車道" + }, + "category-route": { + "name": "ルート" + }, + "category-water-area": { + "name": "水域" + }, + "category-water-line": { + "name": "流水" + } + }, "fields": { "access": { "label": "通行可", @@ -2573,6 +2605,10 @@ "name": "転回場", "terms": "転回場, 車回し" }, + "highway/unclassified": { + "name": "一般道(2車線未満)", + "terms": "一般道(2車線未満)" + }, "historic": { "name": "史跡", "terms": "史跡, 歴史的建造物" @@ -2929,6 +2965,10 @@ "name": "浄水場", "terms": "浄水場" }, + "man_made/works": { + "name": "工場", + "terms": "プラント" + }, "military/airfield": { "name": "軍用飛行場", "terms": "軍用飛行場, 航空基地, 飛行場, 空港, 空軍, 空自, 航空自衛隊, 軍事基地" diff --git a/vendor/assets/iD/iD/locales/pt.json b/vendor/assets/iD/iD/locales/pt.json index 317dccd6b..c5610816e 100644 --- a/vendor/assets/iD/iD/locales/pt.json +++ b/vendor/assets/iD/iD/locales/pt.json @@ -133,7 +133,8 @@ "key": "D", "annotation": "Linhas/áreas desligadas.", "not_connected": "Para desligar é necessário selecionar 1 ponto comum a pelo menos 2 linhas ou áreas.", - "connected_to_hidden": "Não é possível desligar pois este elemento está ligado a outro elemento escondido." + "connected_to_hidden": "Não é possível desligar pois este elemento está ligado a outro elemento escondido.", + "relation": "Isto não pode ser desconectado porque conecta membros de uma relação." }, "merge": { "title": "Combinar", @@ -250,7 +251,8 @@ "warnings": "Avisos", "modified": "Alterado", "deleted": "Eliminado", - "created": "Criado" + "created": "Criado", + "about_changeset_comments": "Sobre comentários de changesets" }, "contributors": { "list": "Edições de {users}", @@ -322,10 +324,12 @@ "description": "Configuração da imagem de fundo", "percent_brightness": "{opacity}% transparente", "none": "Nenhum", + "best_imagery": "Melhor fonte de imagem para esse lugar", "custom": "Personalizado", "custom_button": "Editar fundo personalizando", "custom_prompt": "Introduzir um URL válido. Tokens válidos são {z}, {x}, {y} para esquemas Z/X/Y e {u} para esquemas QuadTile.", "fix_misalignment": "Corrigir alinhamento", + "imagery_source_faq": "De onde essa imagem vem?", "reset": "reiniciar", "minimap": { "description": "Mini-mapa", @@ -448,7 +452,9 @@ "view_on_osm": "Ver no OpenStreetMap", "facebook": "Partilhar no Facebook", "twitter": "Partilhar no Twitter", - "google": "Partilhar no Google+" + "google": "Partilhar no Google+", + "help_html": "Suas mudanças devem aparecer na \"Camada padrão\" em poucos minutos. Outras camadas e determinados recursos podem demorar mais.", + "help_link_text": "Detalhes" }, "confirm": { "okay": "OK", @@ -493,6 +499,14 @@ "zoom": "Enquadrar trilho GPX", "browse": "Procurar por ficheiro .gpx" }, + "mapillary_images": { + "tooltip": "Fotos ao nível da rua do Mapillary", + "title": "Camada de Fotos (Mapillary)" + }, + "mapillary_signs": { + "tooltip": "Placas de trânsito do Mapillary", + "title": "Camada de Placas de Trânsito (Mapillary)" + }, "mapillary": { "view_on_mapillary": "Ver esta imagem no Mapillary" }, @@ -590,6 +604,38 @@ } }, "presets": { + "categories": { + "category-building": { + "name": "Tipos de Edificações" + }, + "category-golf": { + "name": "Recursos de Golfe" + }, + "category-landuse": { + "name": "Tipos de Uso do Solo" + }, + "category-path": { + "name": "Tipos de Caminhos" + }, + "category-rail": { + "name": "Tipos de Ferrovias" + }, + "category-restriction": { + "name": "Tipos de Restrição" + }, + "category-road": { + "name": "Rodovias e Ruas" + }, + "category-route": { + "name": "Tipos de Rotas" + }, + "category-water-area": { + "name": "Elementos de Água" + }, + "category-water-line": { + "name": "Tipos de Cursos d'água" + } + }, "fields": { "access": { "label": "Acesso autorizado", @@ -1329,6 +1375,9 @@ "shop": { "label": "Tipo" }, + "site": { + "label": "Tipo" + }, "sloped_curb": { "label": "Lancil inclinado" }, @@ -2562,6 +2611,10 @@ "name": "Ligação a uma estrada terciária", "terms": "Tertiary Link, Ligação Estrada Municipal, Ligação Rodovia Municipal, Ligação Municipal, Ligação Estrada Terciária, Entrada Estrada Municipal, Entrada Rodovia Municipal, Entrada Municipal, Entrada Estrada Terciária, Saída Municipal, Saída Rodovia Municipal, Saída Municipal, Saída Estrada Municipal" }, + "highway/track": { + "name": "Estrada sem manutenção", + "terms": "Estrada de terra, estrada agrícola" + }, "highway/traffic_signals": { "name": "Semáforos", "terms": "Semáforo, Vermelho, Verde, Amarelo, Sinal, Sinal de Trânsito" @@ -2818,6 +2871,14 @@ "name": "Rampa para barcos", "terms": "Slipway" }, + "leisure/sports_centre": { + "name": "Centro Esportivo / Academia", + "terms": "Ginástica, Academia, Ginásio, Escola, Centro de Treinamento, Treinamento, Esportes, Centro de Esportes" + }, + "leisure/sports_centre/swimming": { + "name": "Academia de Natação", + "terms": "Piscina, Natação, Aquática, Centro Aquático, Saltos ornamentais, Esportes Aquáticos, Polo aquático" + }, "leisure/stadium": { "name": "Estádio", "terms": "Estádio, Stadium" @@ -2830,6 +2891,10 @@ "name": "Circuito de corrida (não motorizada)", "terms": "Racetrack (non-Motorsport), Circuito de Bicicletas" }, + "leisure/water_park": { + "name": "Parque Aquático", + "terms": "Piscina, Parque de diversões, Lazer, Diversão," + }, "line": { "name": "Linha", "terms": "Linha, Line" @@ -3330,6 +3395,10 @@ "name": "Loja de antiguidades", "terms": "Antiques Shop, Antiguidade, Antiguidades, Antigo, Relíquia, Relíquias" }, + "shop/art": { + "name": "Loja de Artes", + "terms": "Artesanato, Decoração, Objetos artísticos, Objetos decorativos, Quadros, Pintura," + }, "shop/baby_goods": { "name": "Loja de acessórios para bebés", "terms": "Baby Goods Store, Loja de Roupa, Carrinho, Brinquedos, Bébé, Bébe, Bebe, bébés" @@ -3674,6 +3743,10 @@ "name": "Papelaria", "terms": "Stationery Store, Loja de Material de Escritório" }, + "shop/storage_rental": { + "name": "Aluguel de Armazenamento", + "terms": "Estoque, Armazenamento, Depósito" + }, "shop/supermarket": { "name": "Supermercado / Hipermercado", "terms": "Hiper-mercado, Hiper mercado, Super-mercado, Super mercado, Compras, Loja, Alimentar, Alimentos" @@ -3774,6 +3847,10 @@ "name": "Chalé / Casa de férias", "terms": "Chalet" }, + "tourism/gallery": { + "name": "Galeria de arte", + "terms": "Centro Cultural, Galeria, Exposição, Arte" + }, "tourism/guest_house": { "name": "Casa de hóspedes", "terms": "Cama e Pequeno Almoço, Cama e Peq. Almoço, Cama e Almoço" diff --git a/vendor/assets/iD/iD/traffico/stylesheets/traffico.css b/vendor/assets/iD/iD/traffico/stylesheets/traffico.css.erb similarity index 94% rename from vendor/assets/iD/iD/traffico/stylesheets/traffico.css rename to vendor/assets/iD/iD/traffico/stylesheets/traffico.css.erb index 849af6e34..15044e8b4 100644 --- a/vendor/assets/iD/iD/traffico/stylesheets/traffico.css +++ b/vendor/assets/iD/iD/traffico/stylesheets/traffico.css.erb @@ -4,11 +4,11 @@ @font-face { font-family: "traffico"; - src: url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.eot"); - src: url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.eot?#iefix") format("embedded-opentype"), - url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.woff") format("woff"), - url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.ttf") format("truetype"), - url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.svg#traffico") format("svg"); + src: url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.eot") %>); + src: url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.eot") %>?#iefix) format("embedded-opentype"), + url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.woff") %>) format("woff"), + url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.ttf") %>) format("truetype"), + url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.svg") %>#traffico) format("svg"); font-weight: normal; font-style: normal; } @@ -16,7 +16,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: "traffico"; - src: url("../fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.svg#traffico") format("svg"); + src: url(<%= asset_path("iD/traffico/fonts/traffico_d596ae6150aa5c55ac14b1e060efc523.svg") %>#traffico) format("svg"); } } -- 2.43.2