Skip to content

0.2.4

Choose a tag to compare

@github-actions github-actions released this 03 Aug 20:18
d2fce2f

Eight fixes to the surfaces around nested properties, all found by playing the feature by hand before filming it rather than by a report.

Fixed

  • A value that isn't a group is no longer thrown away. Give a field the Object type and the value it already held — a plain string, say publisher: Chilton Books — became invisible: the row showed nothing, validation called it fine, the editor opened empty, and the next save replaced it with {} without a word. It is now shown wherever values show, reported as a violation (must be a group of properties), displayed in the editor as Current value, not a group yet, and kept when you save an empty group — removing it takes an explicit Clear. Same for ObjectList, whole and per item
  • A group's children are reachable from the field itself. Children was a button on the schema screen only, so the other doors into a field's definition — Alt-clicking its type icon, above all — couldn't get to them. The field's own settings carry the action now, and it appears as soon as you pick Object or ObjectList rather than after a save and a detour
  • A valid group is no longer painted as a warning. Obsidian can't interpret a nested property, so it colours the value as a warning — right for a value nobody can make sense of, wrong for a group a fileClass declares and validates. The colour is dropped when the field is an Object/ObjectList and the value passes; a group that doesn't fit keeps it, because there the warning is the truth
  • A group's display template reaches Obsidian's Properties panel. A nested property showed there as raw JSON while every Fileclass surface showed the template's summary. The panel now shows that summary too, with the JSON in the tooltip. Obsidian types a mapping as unknown and renders it read-only, so nothing editable is replaced
  • The breadcrumb names the group you are in. Editing the children of a nested group said Book › children at every depth, so two levels of nesting looked identical — and the children of a group are exactly where you need to know which group. It reads Comic › storage › shelf › children now
  • The arrow keys move through a field list. Every row of the schema editor contributes four or five tab stops — fifty-five in a class of a dozen fields — so reaching the eighth field's Edit was thirty-odd presses of Tab. ↓ / ↑ move to the same action on the next field, → / ← between a field's actions, Home / End to the ends, and the whole list is a single tab stop. Moving down keeps the action, not the column: a group carries an extra Children button, so ↓ from Edit lands on Edit rather than sliding onto Remove. In the note-fields modal, the schema editor, a children list, and both value editors
  • Closing a modal with unsaved changes asks instead of discarding. Nothing said whether Save was needed, so Escape or the close button threw a half-filled field definition away in silence. A modal holding a draft shows Unsaved changes at the left of its pinned footer the moment the draft differs from what it opened on — a long list can't scroll the warning out of sight — and closing offers Keep editing, Discard or Save. An untouched modal still closes without a word
  • The first row's focus ring is no longer cut off. A modal's title is sticky and opaque, so it painted over the top of the ring on the first field — an overlap, not a clipping problem, which is why it only ever affected that one row

Learning the plugin

One new take, on the type these fixes are about: a group of fields inside a fieldstorage holding a room and a shelf, the shelf holding a unit and a level, a display template rebuilding the string a plain text field would have stored, and a base that sorts the comics by room and then by level, which is the half no string can do.

Twenty-three videos now, fifty-one minutes: https://mdelobelle.github.io/fileclass/videos/

The documentation's field pages also gained an outline in the right column that marks the section you're reading, and every field type in the table now links to its own section.

Compatibility: minAppVersion 1.12.7. Fileclass builds on the core Bases plugin, which needs to be enabled.