Files
improvise/whatever.improv
Ed L 413601517d Fix cursor getting stuck when Enter pressed on last row
move_selection() only clamped at 0, letting the row/col index go past
the last valid item. Selected_cell_key() would then return None, leaving
the cursor in a phantom position with no selectable cell.

Now clamp both row and col against the actual item count so pressing
Enter on the last row keeps the cursor on that row.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 23:05:57 -07:00

319 lines
4.9 KiB
Plaintext

{
"name": "New Model",
"categories": {
"Type": {
"id": 0,
"name": "Type",
"items": {
"Food": {
"id": 0,
"name": "Food",
"group": null
},
"Clothing": {
"id": 1,
"name": "Clothing",
"group": null
},
"Gas": {
"id": 2,
"name": "Gas",
"group": null
},
"Medical": {
"id": 3,
"name": "Medical",
"group": null
}
},
"groups": [],
"next_item_id": 4
},
"Month": {
"id": 1,
"name": "Month",
"items": {
"Janury": {
"id": 0,
"name": "Janury",
"group": null
},
"February": {
"id": 1,
"name": "February",
"group": null
},
"March": {
"id": 2,
"name": "March",
"group": null
}
},
"groups": [],
"next_item_id": 3
},
"Recipient": {
"id": 2,
"name": "Recipient",
"items": {
"Bob": {
"id": 0,
"name": "Bob",
"group": null
},
"Joe": {
"id": 1,
"name": "Joe",
"group": null
},
"Mary": {
"id": 2,
"name": "Mary",
"group": null
},
"Jane": {
"id": 3,
"name": "Jane",
"group": null
},
"Will": {
"id": 4,
"name": "Will",
"group": null
}
},
"groups": [],
"next_item_id": 5
},
"Payer": {
"id": 3,
"name": "Payer",
"items": {
"Bernadette": {
"id": 0,
"name": "Bernadette",
"group": null
},
"Ed": {
"id": 1,
"name": "Ed",
"group": null
}
},
"groups": [],
"next_item_id": 2
}
},
"data": [
[
[
[
"Month",
"Janury"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Clothing"
]
],
{
"Number": 3.0
}
],
[
[
[
"Month",
"Janury"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Gas"
]
],
{
"Number": 4.0
}
],
[
[
[
"Month",
"Janury"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Medical"
]
],
{
"Number": 5.0
}
],
[
[
[
"Month",
"February"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Medical"
]
],
{
"Number": 33.0
}
],
[
[
[
"Month",
"February"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Gas"
]
],
{
"Number": 55.0
}
],
[
[
[
"Month",
"February"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Food"
]
],
{
"Number": 4.0
}
],
[
[
[
"Month",
"February"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Clothing"
]
],
{
"Text": "i5"
}
],
[
[
[
"Month",
"Janury"
],
[
"Payer",
"Bernadette"
],
[
"Recipient",
"Bob"
],
[
"Type",
"Food"
]
],
{
"Number": 12.0
}
]
],
"formulas": [],
"views": {
"Default": {
"name": "Default",
"category_axes": {
"Type": "Row",
"Month": "Column",
"Recipient": "Page",
"Payer": "Page"
},
"page_selections": {
"Recipient": "Bob"
},
"hidden_items": {},
"collapsed_groups": {},
"number_format": ",.0",
"row_offset": 0,
"col_offset": 0,
"selected": [
6,
2
]
}
},
"active_view": "Default",
"next_category_id": 4
}