The item editor

Edit a single item via JSON, a typed form, or DynamoDB attribute-value JSON.

The item editor is a modal for working with one item at a time, offering three synchronized views of the same data: raw JSON, a typed form, and DynamoDB attribute-value JSON.

Opening the editor

You can open the item editor several ways from the data grid:

  • Click + Row to create a new item — it opens prefilled with a skeleton containing the table’s key attributes (PK and SK set to empty strings) so it’s never a bare {}.
  • Double-click a row, or right-click a cell and choose edit item, to edit an existing item.

Saving from the editor stages the change rather than writing it immediately — see /docs/staged-edits/.

The three tabs

The three tabs are different lenses on the same underlying object. Edit in whichever is most convenient; switching tabs re-renders the current value.

JSON

The default tab is a plain JSON editor. Type or paste an object directly. The editor validates as you type:

  • A live error appears for invalid JSON or for a value that isn’t a JSON object (arrays and primitives are rejected).
  • The formatter re-indents valid JSON.
  • The save button is disabled until the JSON is a valid object.
{
  "pk": "USER#42",
  "sk": "PROFILE",
  "name": "Ada",
  "active": true,
  "logins": 17
}

Form

The form tab renders one row per attribute, with a name field, a type selector and a value field. It’s handy for quick, single-attribute tweaks without touching braces.

TypeStored as
SString
NNumber
BOOLBoolean (true / false)

You can rename an attribute, change its type, edit its value, remove it (), or add a new one (+ atributo). Nested objects and lists are shown as edit in the JSON tab — the form intentionally handles only scalar attributes, so use the JSON tab for maps and lists. If the JSON is currently invalid, the form prompts you to fix it first.

DDB

The DDB tab shows the item in DynamoDB attribute-value JSON — the wire format used by the AWS CLI and low-level SDK:

{
  "pk": { "S": "USER#42" },
  "active": { "BOOL": true },
  "logins": { "N": "17" }
}

This view is two-way: editing the DDB JSON unmarshals back into the plain object (and the other tabs), and it’s marshalled from the plain object whenever you switch into the tab. It handles S, N, BOOL, NULL, L, M, and read-side SS/NS sets. It’s the fastest way to paste an item copied from a CLI command, or to grab one for use in a script.

The copy button in the header copies the active tab’s text — plain JSON from the JSON/Form tabs, attribute-value JSON from the DDB tab.

Saving and key changes

When you save, Tablyne compares the item’s key:

  • New item → added to the staged adds.
  • Existing item, same key → staged as an edit.
  • Existing item, changed PK/SK → treated as a rename: the original is staged for deletion and the new item is staged as an add. A plain put would otherwise leave the original behind as a silent duplicate, because DynamoDB has no in-place key change.

Nothing is written to DynamoDB until you commit the staged changes with Ctrl+S.

Limitations to keep in mind

  • Saving writes the whole item back — a commit is a PutItem, so it replaces the existing item entirely and is last-write-wins. Tablyne does not generate partial UpdateItem expressions from the editor.
  • The form tab edits only scalar (S/N/BOOL) attributes; maps, lists and sets must be edited in the JSON tab.
  • The editor does not enforce your table’s schema beyond requiring a JSON object — it’s up to you to keep PK/SK present and correctly typed.