โ† Core
In the workslicense: proprietary

tom_flutter_form_test

tom_flutter_form_test ยท v1.0.0+1

A demonstration and test application exercising the Tom form system and its resource-driven behaviour.

See License
Status
In the works
LOC
342.0k
Tests
363
Test LOC
8.2k

Overview

From the module readme.md file:

What it enables

No downstream modules declared yet.

Relationships

Standalone โ€” no declared relationships.

Tom Flutter Form Test

A Flutter demo application for the Tom Form Framework โ€” the form widgets and field system from tom_flutter_ui, driven by the resource, security, and reflection facilities of tom_core_kernel.

It is a manual, runnable showcase (not a published package โ€” publish_to: none) used to exercise and visually validate the form stack end to end.

What it demonstrates

The app opens on a two-tab shell (RootScreen):

Demos tab

A catalogue of 33 demos, grouped into three sections (each mapped to the upstream feature it validates in doc/demo_catalogue.md):

  • Phase 1 โ€” Spec-aligned demos (Demo Aโ€“Demo D): form lifecycle

(bind / save / discard, pristine behaviour) with sync / async / cross-field validation and error banners, authorization & events, nested forms & theming, and hide-on-authorization. - Phase 2 โ€” Extended field flavours (Demo Eโ€“Demo R): selection and boolean variants, complex breakpoint and authorization scenarios, the master-detail / expandable-row / editable-table / customer-form patterns (Demo H-Aโ€“H-E), numeric and date/time/duration forms, enum / object / lookup, files & nullable variants, Material-vs-Cupertino fields (basics, numeric & date/time, search / lookup / file), family-swap-on-breakpoint, auth / empty / overlay, and tree / radio / infinite-scroll selection. - Supporting reference demos (Demo 1โ€“Demo 10): basic and nested forms, authorization, validation, settings, field-layout options, error placement, breakpoints, the preset showcase, and central JSON-driven styling.

Examples tab

Stripped-down, copy-friendly sample code under lib/examples/ โ€” the same patterns as the demos but reduced to the minimum needed to read and reuse (customer forms, master-detail, expandable rows, editable tables, read-only variants, plus shared scaffolding/resources/authorization helpers).

How to run

flutter pub get

# Reflection glue (lib/main.reflection.dart) is generated and committed.
# Only regenerate it when reflected type signatures change:
./reflection_generation.sh   # wraps `dart run tom_reflection_generator build`

flutter run                  # on any configured device/emulator

On startup the app loads assets/demo_resources.json, merges in the Examples section's resource keys, registers them with TomTextResourceProvider, and initializes reflection before runApp.

Project layout

PathContents
lib/main.dartApp entry point, resource bootstrap, two-tab shell
lib/main.reflection.dart Generated reflection registration (do not hand-edit)
lib/reflection_init.dartReflection initialization wiring
lib/demos/The Demos-tab catalogue (one file per demo)
lib/examples/The Examples-tab stripped-down samples
lib/forms/Form definitions shared across demos
lib/panels/Reusable panel widgets
lib/state/Application/demo state objects
lib/actions/Form action handlers
lib/common/Shared helpers
assets/demo_resources.jsonText resources consumed by the demos
doc/demo_catalogue.md Demo/example โ†’ upstream feature map and launch guide

License

Proprietary and confidential โ€” see LICENSE.

License
Copyright (c) 2024-2026 Peter Nicolai Alexis Kyaw. All rights reserved.

This code is proprietary and confidential. Unauthorized copying, modification,
distribution, or use of this software, via any medium, is strictly prohibited.

For licensing inquiries, find me on LinkedIn under "Alexis Kyaw".