From 934d7dd83b34fd338b28d95da0397f4016516b82 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 27 Apr 2017 00:44:29 -0400 Subject: bpm and scale select --- client/lib/scales.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'client/lib/scales.js') diff --git a/client/lib/scales.js b/client/lib/scales.js index 1462504..fd7b5a7 100644 --- a/client/lib/scales.js +++ b/client/lib/scales.js @@ -120,6 +120,7 @@ const scales = [ ].map( (opt) => new Intonation(opt) ) let scale = scales[0] +let handleChange = function(){} function build () { scales.forEach( (scale, i) => { @@ -127,24 +128,30 @@ function build () { scale.heading.innerHTML = scale.name scale.heading.classList.add('heading') scale.heading.addEventListener('click', function(){ - set_scale(i) + pick(i) }) scale_list.appendChild(scale.heading) }) - set_scale(0) + pick(0) } -function set_scale (i){ +function pick (i){ if (scale) { scale.heading.classList.remove('selected') } scale = scales[i] scale.heading.classList.add('selected') + handleChange(scale) } function current () { return scale } -export default { scales, current, build } +function onChange (fn) { + handleChange = fn +} + + +export default { scales, current, build, pick, onChange } -- cgit v1.2.3-70-g09d2