887d669f80
Remove duplicate disable/enable logic and fetch() calls
...
readoutUnitChanged was manually setting disabled/aria-disabled/tabindex
attributes — duplicating Turbo.StreamElement.prototype.disableElement/
enableElement which already exists for this purpose. Replace with calls
to those methods.
Also replace fetch() in setDefaultUnit and drop with form.requestSubmit()
so Turbo handles CSRF, stream responses and lifecycle natively.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 13:08:21 +00:00
366662a948
Replace JS-generated wide table with ERB partial and Turbo Streams
...
- Add _wide_table.html.erb partial (server-rendered pivot table)
- Add load_measurements helper in controller to prepare @wide_groups and
@wide_quantities for all mutating actions
- Update index view to render the wide_table partial in #measurements-wide
- Add/update create, destroy, update turbo_stream views to refresh the
wide table atomically after each mutation
- Remove buildWideTable() and editMeasurementWide() from application.js
- Fix create.turbo_stream.erb condition (empty readouts are vacuously all persisted)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 12:28:32 +00:00
1bc75f5d40
Fix column header lookup fragility, add fetch error handling, add tests
...
- Replace position-based column header lookup (ths[3]/ths[4]) with
data-column attribute selectors — immune to column reordering
- Add .catch() error handlers to editMeasurementWide and setDefaultUnit
fetch calls so failures surface in the console instead of silently
disappearing
- Add MeasurementsController integration tests covering index auth,
create with taken_at, empty-readout create, destroy, cross-user
destroy isolation, and update
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 10:24:26 +00:00
bfd427c9b2
Add wide view and inline editing to Measurements page
...
The Measurements page gains a compact/wide view toggle (persisted in
localStorage). The wide view is a pivot table: rows = time points,
columns = quantity names (alphabetical), cells = value + delete button.
Clicking a value in either view opens an inline edit panel (Turbo Stream)
without leaving the page. The panel shows the quantity name, value input,
unit selector, taken_at picker, and Update/Cancel buttons.
Changes:
- MeasurementsController: add edit/update actions; order by taken_at desc
- measurements/index: compact table + wide container, view-toggle buttons
- measurements/_readout: data-* attributes for JS pivot builder; edit link
- measurements/_edit_panel, _edit_form, _edit_form_close,
edit.turbo_stream, update.turbo_stream: inline edit views
- application.js: groupMeasurements, buildWideTable (alphabetical cols),
getMeasurementsView / setMeasurementsView, editMeasurementWide,
readoutUnitChanged, setDefaultUnit
- application.css: compact/wide visibility rules, .wide-cell flex layout,
button.link reset, .items-table .form td alignment
- Pictograms: view-rows.svg, view-columns.svg (view-toggle icons)
- Locale: view_compact/view_wide toggle labels, edit link, update.success
- Tests: system tests for compact inline edit and wide view edit panel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 22:03:10 +00:00
83b064ef3c
Merge recover password/resend confirmation forms into sign in/register
...
Closes #65 , #66
2026-03-01 20:04:42 +01:00
675eb0aad8
Optimize styles; clean up <fieldset>
2026-02-03 15:33:37 +01:00
bd1a664caa
Measurement form based on select-styled <details>
2026-01-31 17:22:09 +01:00
9dbcfddf98
Merge corrections provided by Bambuch, cont.
2025-04-26 19:12:56 +02:00
2c0d5af022
Merge Unit and Quantity drag&drop js
...
Closes #55
2025-01-13 02:23:51 +01:00
bd40727231
Focus forms properly on open and close
...
Closes #44
2024-12-28 15:16:37 +01:00
d726e92445
Allow opening multiple new/edit forms
...
Closes #30
2024-12-21 17:52:45 +01:00
f0dab7a5f9
Fix Units new/edit display on validation errors
...
Add test_new_and_edit_on_validation_error
Closes #41
2024-12-17 01:53:25 +01:00
10f866d40b
Remove unused code kept only as reference
2024-02-11 18:37:35 +01:00
1198add901
Rewrite stream rendering to avoid client-side expanding
...
* adding streams in client breaks things (e.g. autofocus)
* some tasks need to be performed in one stream action to avoid
flickering (e.g. table row substitution)
2024-02-11 18:31:06 +01:00
76aae56ed5
Allow stream action to expand into multiple actions
...
e.g. by including 'onclick()' event handler
2024-02-04 20:05:36 +01:00
a7f80a575c
Manage client-side js with turbo_stream actions
2024-01-22 02:14:01 +01:00
0e85a21d2c
Button disabling/enabling
...
Closes #10
2024-01-20 15:02:45 +01:00
9404ec8d17
Enable Drive to send TURBO_STREAM form POSTs
...
Disable Turbo caching for whole site
2024-01-06 03:39:52 +01:00
c96b646087
Hide page content until turbo:load event
...
To avoid cases when Turbo links are processed as normal HTTP requests
2024-01-04 23:06:47 +01:00
8c6d296021
Enable turbo (without Drive)
2023-12-03 23:27:10 +01:00
3509cd409c
Remove turbo and importmap
2023-05-14 16:19:42 +02:00
4a1fe657c0
Disable Turbo application-wide
2023-04-16 03:03:03 +02:00
66f098f479
Add and install 'turbo-rails'
...
bin/rails turbo:install
2023-04-02 00:12:31 +02:00
526c285188
bin/rails importmap:install
2023-04-01 23:53:05 +02:00