diff --git a/css/80_app.css b/css/80_app.css index 3927ee76e..d684f9b59 100644 --- a/css/80_app.css +++ b/css/80_app.css @@ -648,6 +648,19 @@ button.add-note svg.icon { justify-content: center; } +.header-container { + display: flex; + justify-content: space-between; +} + +.header-block-outer { + width: 20%; +} + +.header-block-close { + display: flex; + justify-content: flex-end; +} /* Hide/Toggle collapsable sections (aka Disclosure) ------------------------------------------------------- */ @@ -4075,6 +4088,7 @@ svg.mouseclick use.right { ------------------------------------------------------- */ .settings-modal textarea { height: 70px; + width: 100%; } .settings-custom-background .instructions-template { diff --git a/data/presets.yaml b/data/presets.yaml index f688c2572..ab5770551 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -364,6 +364,11 @@ en: country: # country=* label: Country + couplings: + # couplings=* + label: Couplings + # couplings field placeholder + placeholder: '1, 2, 3...' covered: # covered=* label: Covered @@ -598,26 +603,20 @@ en: fence_type: # fence_type=* label: Type - fire_hydrant/position: - # 'fire_hydrant:position=*' - label: Position - options: - # 'fire_hydrant:position=green' - green: Green - # 'fire_hydrant:position=lane' - lane: Lane - # 'fire_hydrant:position=parking_lot' - parking_lot: Parking Lot - # 'fire_hydrant:position=sidewalk' - sidewalk: Sidewalk + fire_hydrant/diameter: + # 'fire_hydrant:diameter=*' + label: 'Diameter (mm, in, or letters)' + fire_hydrant/pressure: + # 'fire_hydrant:pressure=*' + label: Pressure (bar) fire_hydrant/type: # 'fire_hydrant:type=*' - label: Type + label: Shape options: # 'fire_hydrant:type=pillar' pillar: Pillar/Aboveground - # 'fire_hydrant:type=pond' - pond: Pond + # 'fire_hydrant:type=pipe' + pipe: Capped Pipe # 'fire_hydrant:type=underground' underground: Underground # 'fire_hydrant:type=wall' @@ -1791,6 +1790,9 @@ en: surveillance/zone: # 'surveillance:zone=*' label: Surveillance Zone + survey/date: + # 'survey:date=*' + label: Last Survey Date swimming_pool: # swimming_pool=* label: Type @@ -2020,6 +2022,12 @@ en: water_point: # water_point=* label: Water Point + water_source: + # water_source=* + label: Water Source + water_volume: + # water_volume=* + label: Water Reserve Volume (m³) waterway: # waterway=* label: Type @@ -3643,7 +3651,7 @@ en: emergency/fire_hydrant: # emergency=fire_hydrant name: Fire Hydrant - # 'terms: fire plug' + # 'terms: fire plug,fire water well,hydrant' terms: '' emergency/first_aid_kit: # emergency=first_aid_kit diff --git a/data/presets/fields.json b/data/presets/fields.json index 7fa4892ee..6c10c0cbf 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -63,6 +63,7 @@ "content": {"key": "content", "type": "combo", "label": "Content", "options": ["silage", "water", "oil", "fuel", "slurry", "gas", "manure", "sewage"]}, "conveying": {"key": "conveying", "type": "typeCombo", "label": "Movement Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "reversible": "Reversible"}}}, "country": {"key": "country", "type": "combo", "label": "Country"}, + "couplings": {"key": "couplings", "type": "number", "minValue": 1, "label": "Couplings", "placeholder": "1, 2, 3..."}, "covered": {"key": "covered", "type": "check", "label": "Covered"}, "craft": {"key": "craft", "type": "typeCombo", "label": "Type"}, "crane/type": {"key": "crane:type", "type": "combo", "label": "Crane Type", "strings": {"options": {"portal_crane": "Portal Crane", "floor-mounted_crane": "Floor-mounted Crane", "travel_lift": "Travel Lift"}}}, @@ -104,8 +105,9 @@ "fax": {"key": "fax", "type": "tel", "label": "Fax", "universal": true, "placeholder": "+31 42 123 4567"}, "fee": {"key": "fee", "type": "check", "label": "Fee"}, "fence_type": {"key": "fence_type", "type": "combo", "label": "Type"}, - "fire_hydrant/position": {"key": "fire_hydrant:position", "type": "combo", "label": "Position", "strings": {"options": {"lane": "Lane", "parking_lot": "Parking Lot", "sidewalk": "Sidewalk", "green": "Green"}}}, - "fire_hydrant/type": {"key": "fire_hydrant:type", "type": "combo", "label": "Type", "strings": {"options": {"pillar": "Pillar/Aboveground", "underground": "Underground", "wall": "Wall", "pond": "Pond"}}}, + "fire_hydrant/diameter": {"key": "fire_hydrant:diameter", "type": "combo", "label": "Diameter (mm, in, or letters)", "snake_case": false}, + "fire_hydrant/pressure": {"key": "fire_hydrant:pressure", "type": "combo", "label": "Pressure (bar)", "snake_case": false}, + "fire_hydrant/type": {"key": "fire_hydrant:type", "type": "combo", "label": "Shape", "strings": {"options": {"pillar": "Pillar/Aboveground", "underground": "Underground", "wall": "Wall", "pipe": "Capped Pipe"}}}, "fireplace": {"key": "fireplace", "type": "check", "label": "Fireplace"}, "fitness_station": {"key": "fitness_station", "type": "typeCombo", "label": "Equipment Type"}, "fixme": {"key": "fixme", "type": "textarea", "label": "Fix Me", "universal": true}, @@ -306,6 +308,7 @@ "surveillance": {"key": "surveillance", "type": "combo", "label": "Surveillance Kind"}, "surveillance/type": {"key": "surveillance:type", "type": "combo", "label": "Surveillance Type", "strings": {"options": {"camera": "Camera", "guard": "Guard", "ALPR": "Automatic License Plate Reader"}}}, "surveillance/zone": {"key": "surveillance:zone", "type": "combo", "label": "Surveillance Zone"}, + "survey/date": {"key": "survey:date", "type": "text", "label": "Last Survey Date"}, "swimming_pool": {"key": "swimming_pool", "type": "combo", "label": "Type"}, "switch": {"key": "switch", "type": "combo", "label": "Type", "strings": {"options": {"mechanical": "Mechanical", "circuit_breaker": "Circuit Breaker", "disconnector": "Disconnector", "earthing": "Earthing"}}}, "tactile_paving": {"key": "tactile_paving", "type": "check", "label": "Tactile Paving"}, @@ -340,6 +343,8 @@ "voltage/tertiary": {"key": "voltage:tertiary", "type": "combo", "label": "Tertiary Voltage"}, "wall": {"key": "wall", "type": "combo", "label": "Type"}, "water_point": {"key": "water_point", "type": "check", "label": "Water Point"}, + "water_source": {"key": "water_source", "default": "main", "type": "combo", "label": "Water Source"}, + "water_volume": {"key": "water_volume", "type": "number", "label": "Water Reserve Volume (m³)", "snake_case": false}, "water": {"key": "water", "type": "combo", "label": "Type"}, "waterway": {"key": "waterway", "type": "typeCombo", "label": "Type"}, "website": {"key": "website", "type": "url", "icon": "website", "placeholder": "http://example.com/", "universal": true, "label": "Website"}, diff --git a/data/presets/fields/couplings.json b/data/presets/fields/couplings.json new file mode 100644 index 000000000..cf1ab7fc6 --- /dev/null +++ b/data/presets/fields/couplings.json @@ -0,0 +1,7 @@ +{ + "key": "couplings", + "type": "number", + "minValue": 1, + "label": "Couplings", + "placeholder": "1, 2, 3..." +} diff --git a/data/presets/fields/fire_hydrant/diameter.json b/data/presets/fields/fire_hydrant/diameter.json new file mode 100644 index 000000000..4a2bc9010 --- /dev/null +++ b/data/presets/fields/fire_hydrant/diameter.json @@ -0,0 +1,6 @@ +{ + "key": "fire_hydrant:diameter", + "type": "combo", + "label": "Diameter (mm, in, or letters)", + "snake_case": false +} diff --git a/data/presets/fields/fire_hydrant/position.json b/data/presets/fields/fire_hydrant/position.json deleted file mode 100644 index 0d2e245ec..000000000 --- a/data/presets/fields/fire_hydrant/position.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "key": "fire_hydrant:position", - "type": "combo", - "label": "Position", - "strings": { - "options": { - "lane": "Lane", - "parking_lot": "Parking Lot", - "sidewalk": "Sidewalk", - "green": "Green" - } - } -} diff --git a/data/presets/fields/fire_hydrant/pressure.json b/data/presets/fields/fire_hydrant/pressure.json new file mode 100644 index 000000000..2c6b0354e --- /dev/null +++ b/data/presets/fields/fire_hydrant/pressure.json @@ -0,0 +1,6 @@ +{ + "key": "fire_hydrant:pressure", + "type": "combo", + "label": "Pressure (bar)", + "snake_case": false +} diff --git a/data/presets/fields/fire_hydrant/type.json b/data/presets/fields/fire_hydrant/type.json index 13f5e6cde..9e787ab12 100644 --- a/data/presets/fields/fire_hydrant/type.json +++ b/data/presets/fields/fire_hydrant/type.json @@ -1,13 +1,13 @@ { "key": "fire_hydrant:type", "type": "combo", - "label": "Type", + "label": "Shape", "strings": { "options": { "pillar": "Pillar/Aboveground", "underground": "Underground", "wall": "Wall", - "pond": "Pond" + "pipe": "Capped Pipe" } } } diff --git a/data/presets/fields/survey/date.json b/data/presets/fields/survey/date.json new file mode 100644 index 000000000..e29075eba --- /dev/null +++ b/data/presets/fields/survey/date.json @@ -0,0 +1,5 @@ +{ + "key": "survey:date", + "type": "text", + "label": "Last Survey Date" +} diff --git a/data/presets/fields/water_source.json b/data/presets/fields/water_source.json new file mode 100644 index 000000000..4768b899d --- /dev/null +++ b/data/presets/fields/water_source.json @@ -0,0 +1,6 @@ +{ + "key": "water_source", + "default": "main", + "type": "combo", + "label": "Water Source" +} diff --git a/data/presets/fields/water_volume.json b/data/presets/fields/water_volume.json new file mode 100644 index 000000000..5d5814330 --- /dev/null +++ b/data/presets/fields/water_volume.json @@ -0,0 +1,6 @@ +{ + "key": "water_volume", + "type": "number", + "label": "Water Reserve Volume (m³)", + "snake_case": false +} diff --git a/data/presets/presets.json b/data/presets/presets.json index a942a9075..4fd66887b 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -361,7 +361,7 @@ "emergency/defibrillator": {"icon": "maki-defibrillator", "fields": ["indoor", "ref", "operator"], "geometry": ["point", "vertex"], "terms": ["AED"], "tags": {"emergency": "defibrillator"}, "name": "Defibrillator"}, "emergency/fire_alarm": {"icon": "fas-bell", "fields": ["indoor", "ref", "operator"], "geometry": ["point", "vertex"], "tags": {"emergency": "fire_alarm_box"}, "name": "Fire Alarm Call Box"}, "emergency/fire_extinguisher": {"icon": "fas-fire-extinguisher", "fields": ["indoor", "ref", "operator"], "geometry": ["point", "vertex"], "tags": {"emergency": "fire_extinguisher"}, "name": "Fire Extinguisher"}, - "emergency/fire_hydrant": {"icon": "temaki-fire_hydrant", "fields": ["fire_hydrant/type", "fire_hydrant/position", "ref", "operator"], "geometry": ["point", "vertex"], "terms": ["fire plug"], "tags": {"emergency": "fire_hydrant"}, "name": "Fire Hydrant"}, + "emergency/fire_hydrant": {"icon": "temaki-fire_hydrant", "fields": ["ref", "fire_hydrant/type", "colour", "water_source", "fire_hydrant/pressure", "fire_hydrant/diameter", "couplings", "water_volume", "survey/date"], "geometry": ["point", "vertex"], "terms": ["fire plug", "fire water well", "hydrant"], "tags": {"emergency": "fire_hydrant"}, "name": "Fire Hydrant"}, "emergency/first_aid_kit": {"icon": "fas-medkit", "fields": ["indoor", "ref", "operator"], "geometry": ["point", "vertex"], "terms": ["bandage", "first aid", "med", "med kit", "medic*", "medkit"], "tags": {"emergency": "first_aid_kit"}, "name": "First Aid Kit"}, "emergency/life_ring": {"icon": "fas-life-ring", "fields": ["ref", "operator"], "geometry": ["point", "vertex"], "terms": ["life buoy", "kisby ring", "kisbie ring", "perry buoy"], "tags": {"emergency": "life_ring"}, "name": "Life Ring"}, "emergency/lifeguard": {"icon": "fas-life-ring", "fields": ["ref", "operator", "building_area", "opening_hours"], "geometry": ["point", "area"], "terms": ["CPR", "rescue"], "tags": {"emergency": "lifeguard"}, "name": "Lifeguard"}, diff --git a/data/presets/presets/emergency/fire_hydrant.json b/data/presets/presets/emergency/fire_hydrant.json index 1cdc55205..484713a2e 100644 --- a/data/presets/presets/emergency/fire_hydrant.json +++ b/data/presets/presets/emergency/fire_hydrant.json @@ -1,17 +1,24 @@ { "icon": "temaki-fire_hydrant", "fields": [ - "fire_hydrant/type", - "fire_hydrant/position", "ref", - "operator" + "fire_hydrant/type", + "colour", + "water_source", + "fire_hydrant/pressure", + "fire_hydrant/diameter", + "couplings", + "water_volume", + "survey/date" ], "geometry": [ "point", "vertex" ], "terms": [ - "fire plug" + "fire plug", + "fire water well", + "hydrant" ], "tags": { "emergency": "fire_hydrant" diff --git a/data/taginfo.json b/data/taginfo.json index c15770ca4..5e9d3173c 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -7096,6 +7096,7 @@ "description": "šŸ„µ Movement Direction" }, {"key": "country", "description": "šŸ„µ Country"}, + {"key": "couplings", "description": "šŸ„µ Couplings"}, {"key": "covered", "description": "šŸ„µ Covered"}, { "key": "crane:type", @@ -7228,33 +7229,18 @@ {"key": "fee", "description": "šŸ„µ Fee"}, {"key": "fence_type", "description": "šŸ„µ Type"}, { - "key": "fire_hydrant:position", - "value": "lane", - "description": "šŸ„µ Position" + "key": "fire_hydrant:diameter", + "description": "šŸ„µ Diameter (mm, in, or letters)" }, - { - "key": "fire_hydrant:position", - "value": "parking_lot", - "description": "šŸ„µ Position" - }, - { - "key": "fire_hydrant:position", - "value": "sidewalk", - "description": "šŸ„µ Position" - }, - { - "key": "fire_hydrant:position", - "value": "green", - "description": "šŸ„µ Position" - }, - {"key": "fire_hydrant:type", "value": "pillar", "description": "šŸ„µ Type"}, + {"key": "fire_hydrant:pressure", "description": "šŸ„µ Pressure (bar)"}, + {"key": "fire_hydrant:type", "value": "pillar", "description": "šŸ„µ Shape"}, { "key": "fire_hydrant:type", "value": "underground", - "description": "šŸ„µ Type" + "description": "šŸ„µ Shape" }, - {"key": "fire_hydrant:type", "value": "wall", "description": "šŸ„µ Type"}, - {"key": "fire_hydrant:type", "value": "pond", "description": "šŸ„µ Type"}, + {"key": "fire_hydrant:type", "value": "wall", "description": "šŸ„µ Shape"}, + {"key": "fire_hydrant:type", "value": "pipe", "description": "šŸ„µ Shape"}, {"key": "fireplace", "description": "šŸ„µ Fireplace"}, {"key": "fitness_station", "description": "šŸ„µ Equipment Type"}, {"key": "fixme", "description": "šŸ„µ Fix Me"}, @@ -7923,6 +7909,7 @@ "description": "šŸ„µ Surveillance Type" }, {"key": "surveillance:zone", "description": "šŸ„µ Surveillance Zone"}, + {"key": "survey:date", "description": "šŸ„µ Last Survey Date"}, {"key": "swimming_pool", "description": "šŸ„µ Type"}, {"key": "switch", "value": "mechanical", "description": "šŸ„µ Type"}, {"key": "switch", "value": "circuit_breaker", "description": "šŸ„µ Type"}, @@ -8080,6 +8067,8 @@ {"key": "voltage:tertiary", "description": "šŸ„µ Tertiary Voltage"}, {"key": "wall", "description": "šŸ„µ Type"}, {"key": "water_point", "description": "šŸ„µ Water Point"}, + {"key": "water_source", "description": "šŸ„µ Water Source"}, + {"key": "water_volume", "description": "šŸ„µ Water Reserve Volume (m³)"}, {"key": "water", "description": "šŸ„µ Type"}, {"key": "website", "description": "šŸ„µ Website"}, {"key": "wetland", "description": "šŸ„µ Type"}, diff --git a/dist/locales/en.json b/dist/locales/en.json index c0e35c271..ceaa2675c 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1803,6 +1803,10 @@ "country": { "label": "Country" }, + "couplings": { + "label": "Couplings", + "placeholder": "1, 2, 3..." + }, "covered": { "label": "Covered" }, @@ -2007,22 +2011,19 @@ "fence_type": { "label": "Type" }, - "fire_hydrant/position": { - "label": "Position", - "options": { - "lane": "Lane", - "parking_lot": "Parking Lot", - "sidewalk": "Sidewalk", - "green": "Green" - } + "fire_hydrant/diameter": { + "label": "Diameter (mm, in, or letters)" + }, + "fire_hydrant/pressure": { + "label": "Pressure (bar)" }, "fire_hydrant/type": { - "label": "Type", + "label": "Shape", "options": { "pillar": "Pillar/Aboveground", "underground": "Underground", "wall": "Wall", - "pond": "Pond" + "pipe": "Capped Pipe" } }, "fireplace": { @@ -2982,6 +2983,9 @@ "surveillance/zone": { "label": "Surveillance Zone" }, + "survey/date": { + "label": "Last Survey Date" + }, "swimming_pool": { "label": "Type" }, @@ -3164,6 +3168,12 @@ "water_point": { "label": "Water Point" }, + "water_source": { + "label": "Water Source" + }, + "water_volume": { + "label": "Water Reserve Volume (m³)" + }, "water": { "label": "Type" }, @@ -4656,7 +4666,7 @@ }, "emergency/fire_hydrant": { "name": "Fire Hydrant", - "terms": "fire plug" + "terms": "fire plug,fire water well,hydrant" }, "emergency/first_aid_kit": { "name": "First Aid Kit", diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 4da3acbd9..5d818a152 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -14,6 +14,8 @@ import { uiCommitWarnings } from './commit_warnings'; import { uiRawTagEditor } from './raw_tag_editor'; import { utilDetect } from '../util/detect'; import { utilRebind } from '../util'; +import { modeBrowse } from '../modes'; +import { svgIcon } from '../svg'; var _changeset; @@ -100,11 +102,27 @@ export function uiCommit(context) { var header = selection.selectAll('.header') .data([0]); - header.enter() + var headerTitle = header.enter() .append('div') - .attr('class', 'header fillL') + .attr('class', 'header fillL header-container'); + + headerTitle + .append('div') + .attr('class', 'header-block header-block-outer'); + + headerTitle + .append('div') + .attr('class', 'header-block') .append('h3') .text(t('commit.title')); + + headerTitle + .append('div') + .attr('class', 'header-block header-block-outer header-block-close') + .append('button') + .attr('class', 'close') + .on('click', function() { context.enter(modeBrowse(context)); }) + .call(svgIcon('#iD-icon-close')); var body = selection.selectAll('.body') .data([0]);