Repository navigation
Conversation
The form to add or configure a widget is rendered from the schema the server defines for its type, so a new widget type needs a schema and a renderer rather than its own dialog. The data widget shows the rows of a table or view inside a grid. Co-authored-by: Ruben van der Linde <ruben@conduction.nl> Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: Remko <remko@conduction.nl>
…get is empty - configuring a widget no longer resets its content to the defaults of the type picked before; only a type the user picks starts from defaults, and a widget of an unknown type is neither configured nor converted - a data widget whose target the server marked broken says it no longer exists instead of loading it, a failed load has its own message, and the prompt to pick a target only shows while editing - an empty widget title stays empty, the card shows the type name in the viewer's language - the dialog loads the widget types itself and imports the helpers from gridLayout.js - integer fields refuse fractions, booleans render as a switch, the colour swatch is empty for the theme colour and the view label is translatable Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: Remko <remko@conduction.nl>
- an invalid number in the widget form now blocks saving instead of keeping the last valid value - the dialog fills the form before it renders when the widget types are already loaded - the view label in the target picker is no longer HTML-escaped - the theme colour swatch has a max-contrast border, field data-cy names are camelCase, and every method has JSDoc Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: Remko <remko@conduction.nl>
Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: Remko <remko@conduction.nl>
remko48
added this pull request to stack #3080
October 12, 2026 15:00
remko48
force-pushed
the
feat/noid/grid-widget-forms
branch
from
October 12, 2026 15:37
a7b54a4 to
5c1ac35
Compare
Signed-off-by: Remko <remko@conduction.nl>
Signed-off-by: Remko <remko@conduction.nl> Assisted-by: ClaudeCode:claude-opus-5-5
remko48
force-pushed
the
feat/noid/grid-widget-forms
branch
from
October 14, 2026 09:00
5c1ac35 to
6dc871c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The dialog to add or configure a widget, and the widget that shows a table or view inside a grid.
What changes
SchemaForm: renders the content form of a widget from the schema the server sends (text, long text, whole number, switch, choice, color, table/view picker). A new widget type needs a schema on the server and a component that renders it, not a new dialog. The table/view picker offers the user's loaded tables and views, without grid views.AddWidgetdialog: pick a type, set the title and whether it is shown, then fill in the content form. Missing required fields and invalid numbers block saving. Configuring an existing widget opens it with its own content, and its type cannot be changed.DataWidget: shows the rows of the chosen table or view with the existing table components, loading columns, rows and relations through the normal API. A widget the server markedbrokensays its table or view no longer exists and is not loaded; a failed load says so too.GridWidget: a widget of a type the server does not know can still be shown and removed, but not configured.🖼️ Screenshots
No visible change yet, since the dialog opens from the grid view page in the next PR.
🏁 Checklist
/backport to stableX.X🤖 AI (if applicable)