Skip to content

Commit 846df3a

Browse files
authored
Merge pull request #34 from CEGRcode/scale-slider
Add scale slider to settings table
2 parents 0cc651e + 0fc2982 commit 846df3a

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

js/widgets/settings_table.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,18 @@ $(function() {
294294
.on("mousedown", function() {$(row.node()).settings_row("toggle_draggable", false)})
295295
.on("mouseup", function() {$(row.node()).settings_row("toggle_draggable", true)})
296296
.on("mouseleave", function() {$(row.node()).settings_row("toggle_draggable", true)});
297+
298+
//creates a new slider for the scale input
299+
scale_col.append("input")
300+
.style("margin-left","10px")
301+
.attr("type", "range")
302+
.classed("scale-slider", true)
303+
.attr("value", 50)
304+
.attr("min", 1)
305+
.attr("max", 100)
306+
.on("input", function() {$(row.node()).settings_row("change_scale", 10 ** ((this.value - 50)/50))})
307+
.on("mouseup", function() {$(row.node()).settings_row("toggle_draggable", true)})
308+
.on("mousedown", function() {$(row.node()).settings_row("toggle_draggable", false)})
297309

298310
// Add opacity input
299311
opacity_col.append("label")
@@ -604,11 +616,13 @@ $(function() {
604616

605617
change_scale: function(new_scale, plot=true) {
606618
if (isNaN(new_scale)) {
607-
d3.select(this.element.context).select("td.scale-col input").node().value = this.scale
619+
d3.select(this.element.context).select("td.scale-col input").node().value = this.scale;
620+
d3.select(this.element.context).select("td.scale-col input.scale-slider").node().value = Math.log10(this.scale) * 50 + 50
608621
} else {
609622
new_scale = new_scale !== "" ? parseFloat(new_scale) : 1;
610623
this.scale = new_scale;
611-
d3.select(this.element.context).select("td.scale-col input").node().value = new_scale;
624+
d3.select(this.element.context).select("td.scale-col input.setting-text").node().value = Math.round(new_scale * 100) / 100;
625+
d3.select(this.element.context).select("td.scale-col input.scale-slider").node().value = Math.log10(new_scale) * 50 + 50;
612626
if (plot) {
613627
this.plot_composite()
614628
}
@@ -817,4 +831,4 @@ $(function() {
817831
});
818832

819833
$("#settings-table").settings_table()
820-
})
834+
})

0 commit comments

Comments
 (0)