diff options
Diffstat (limited to 'www/photo.causal.agency/trips.html')
-rw-r--r-- | www/photo.causal.agency/trips.html | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/www/photo.causal.agency/trips.html b/www/photo.causal.agency/trips.html index 2adf3a71..d65aeaef 100644 --- a/www/photo.causal.agency/trips.html +++ b/www/photo.causal.agency/trips.html @@ -32,15 +32,28 @@ input[type="number"] { width: 5ch; } </select> <label for="roll-film">Film:</label> <input id="roll-film" list="films" required> +<span>Exposures:</span> +<span> +<input id="roll-36" type="radio" name="roll-exposures" value="36" checked> +<label for="roll-36">36</label> +<input id="roll-27" type="radio" name="roll-exposures" value="27"> +<label for="roll-27">27</label> +<input id="roll-24" type="radio" name="roll-exposures" value="24"> +<label for="roll-24">24</label> +<input id="roll-12" type="radio" name="roll-exposures" value="12"> +<label for="roll-12">12</label> +</span> <button type="button" onclick="loadRoll()">Load</button> </form> <datalist id="films"> + <option>Ferrania P30 80</option> + <option>Flic Film Elektra 100</option> + <option>Ilford FP4 Plus 125</option> + <option>Fomapan Creative 200</option> <option>Harman Phoenix 200</option> - <option>Ilford HP5 Plus 400</option> <option>Shanghai Color 400</option> - <option>Fomapan Creative 200</option> - <option>Fomapan Action 400</option> + <option>Reflx Lab 800T</option> </datalist> </section> @@ -205,8 +218,9 @@ function setTrips() { rollB.appendChild(document.createTextNode(rollTrips[0].film)); rollLi.appendChild(rollB); rollLi.appendChild(document.createTextNode(` (${rollTrips[0].body})`)); + let body = bodies.find(body => body.name == rollTrips[0].body); let rollUl = document.createElement("ul"); - for (let trip of rollTrips) { + for (let [index, trip] of rollTrips.entries()) { let li = document.createElement("li"); let b = document.createElement("b"); b.appendChild(document.createTextNode(trip.date)); @@ -214,8 +228,13 @@ function setTrips() { li.appendChild(document.createTextNode( `: ${trip.firstExposure}–${trip.lastExposure}` )); - li.appendChild(document.createElement("br")); - li.appendChild(document.createTextNode(trip.lens)); + if ( + body.mount != body.name && + (!index || trip.lens != rollTrips[index-1].lens) + ) { + li.appendChild(document.createElement("br")); + li.appendChild(document.createTextNode(trip.lens)); + } if (trip.note) { li.appendChild(document.createElement("br")); li.appendChild(document.createTextNode(`“${trip.note}”`)); @@ -238,6 +257,10 @@ function setTripBody() { option.appendChild(document.createTextNode(lensString(lens))); select.appendChild(option); } + let lastTrip = trips.findLast(trip => trip.body == bodyName); + if (lastTrip) { + select.value = lastTrip.lens; + } let roll = rolls[body.name]; if (roll) { document.getElementById("trip-film").value = roll.film; @@ -255,6 +278,7 @@ setTripBody(); function clearForm(form) { let inputs = form.querySelectorAll("input"); for (input of inputs) { + if (input.type == "radio") continue; input.value = null; } } @@ -307,7 +331,8 @@ function loadRoll() { if (!form.checkValidity()) return; let body = document.getElementById("roll-body").value; let film = document.getElementById("roll-film").value; - rolls[body] = { id: nextId++, film, used: 0, exposures: 36 }; + let exposures = +new FormData(form).get("roll-exposures"); + rolls[body] = { id: nextId++, film, exposures, used: 0 }; localStorage.setItem("nextId", nextId); setRolls(); clearForm(form); |