Make increment decrement functional. Fixes #990

This commit is contained in:
Tom MacWright
2013-03-15 17:31:36 -04:00
parent cc35dc5ba5
commit caca26dc11
2 changed files with 22 additions and 6 deletions

View File

@@ -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;

View File

@@ -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);
});
}
}