summaryrefslogtreecommitdiff
path: root/static/js/cookbook.js
blob: fc2177cb5ecf5ac45076da48ff5e25dc3e49f823 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"use strict";

// Kindly copied from MartijnBraam's fathub sources
// https://sr.ht/~martijnbraam/fathub.org/

var serve_fraction = 1.0;

function update_ingredient_list() {
    var ingredients = document.querySelectorAll('td[data-amount]');
    for (var i = 0; i < ingredients.length; i++) {
        var ingredient = ingredients[i];
        ingredient.innerText = ingredient.dataset.amount * serve_fraction;
    }
}

function adjust_serves() {
    serve_fraction = this.value / this.dataset.original;
    update_ingredient_list();
}

function add_dynamic_controls() {
    var serves = document.querySelector("td[data-serves]");
    var spinner = document.createElement('INPUT');
    spinner.type = 'number';
    spinner.dataset.original = serves.dataset.serves;
    spinner.value = serves.dataset.serves;
    spinner.addEventListener('change', adjust_serves);
    serves.innerHTML = '';
    serves.appendChild(spinner);
}

document.addEventListener("DOMContentLoaded", function () {
    add_dynamic_controls();
});