From caca26dc1106fe6c01616cd67477f07b8670fc14 Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Fri, 15 Mar 2013 17:31:36 -0400 Subject: [PATCH] Make increment decrement functional. Fixes #990 --- css/app.css | 8 ++++---- js/id/ui/preset/input.js | 20 ++++++++++++++++++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/css/app.css b/css/app.css index 12112a78c..6c157c00b 100644 --- a/css/app.css +++ b/css/app.css @@ -938,8 +938,8 @@ input[type=number] { border-bottom-right-radius: 4px; } -.spin-control button.descend::after, -.spin-control button.ascend::after { +.spin-control button.decrement::after, +.spin-control button.increment::after { content:""; height: 0; width: 0; position: absolute; @@ -947,13 +947,13 @@ input[type=number] { margin: auto; } -.spin-control button.descend::after { +.spin-control button.decrement::after { border-top: 5px solid #CCC; border-left: 5px solid transparent; border-right: 5px solid transparent; } -.spin-control button.ascend::after { +.spin-control button.increment::after { border-bottom: 5px solid #CCC; border-left: 5px solid transparent; border-right: 5px solid transparent; diff --git a/js/id/ui/preset/input.js b/js/id/ui/preset/input.js index c000be5da..fbdc0a147 100644 --- a/js/id/ui/preset/input.js +++ b/js/id/ui/preset/input.js @@ -15,12 +15,28 @@ iD.ui.preset.url = function(field) { .on('change', change) .call(iD.behavior.accept().on('accept', event.close)); + function pm(elem, x) { + var num = elem.value ? + parseInt(elem.value, 10) : 0; + if (!isNaN(num)) elem.value = num + x; + } + if (field.type == 'number') { var numbercontrols = selection.append('div') .attr('class', 'spin-control'); - numbercontrols.append('button').attr('class', 'ascend'); - numbercontrols.append('button').attr('class', 'descend'); + numbercontrols + .append('button') + .attr('class', 'increment') + .on('click', function() { + pm(input.node(), 1); + }); + numbercontrols + .append('button') + .attr('class', 'decrement') + .on('click', function() { + pm(input.node(), -1); + }); } }