summaryrefslogtreecommitdiff
path: root/client/lib/scales.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/lib/scales.js')
-rw-r--r--client/lib/scales.js15
1 files changed, 11 insertions, 4 deletions
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 }