mattermost-mobile-upstream/types
Jack Benning 00a40b4c72 Add collapsible section support to interactive dialogs
Mobile had no support for the `collapsible` dialog element: a dialog
using one rendered none of its fields, because the container itself
carries no value and every lookup walked only the top level.

Conversion gains `flattenCollapsible` / `flattenDialogElements` /
`flattenAppFields`, named to match the webapp's helpers. Every path that
resolves a value by field name — submission, `collectFileIds`,
`mergeFileFieldValues`, refresh-source detection, dynamic-select lookup
in the dialog router, and `initValues` — now walks the flattened list, so
a nested field behaves exactly like a top-level one.

`CollapsibleSection` renders the chevron and title. Children unmount
while collapsed; their values live in the form's reducer, so nothing
typed is lost by closing a section, and a value typed into a section
that is then collapsed still submits.

Tested with 199 unit tests. The most complete of them,
dialog_router_collapsible.test.tsx, drives the real payload from the
demo plugin's `/dialog collapsible` sample through the real adapter,
conversion, form and input components, mocking only the network, and
asserts what the server receives on submit.

E2E coverage is added to the existing demo-plugin suite, against the
`/dialog collapsible` sample already present in the pinned demo plugin
release: each section's initial expanded state, opening a nested
section, a value surviving its section being collapsed, and a nested
value surviving a collapse round trip.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-12 14:46:35 -04:00
..
api Add collapsible section support to interactive dialogs 2026-10-12 14:46:35 -04:00
components Migrate from RNN to Expo router (#9402) 2026-05-13 17:44:55 +08:00
credentials MM-65085: Support Pre Shared Password on server connect (#9082) 2025-09-01 11:24:15 +02:00
crt Gekidou CRT - Global threads screen (#6140) 2022-04-28 09:01:36 -04:00
database [MM-62038] Fix urgent mention badge colors (#10119) 2026-09-14 14:03:53 -04:00
global Mm 68296 audit ephemeral mode events (#10139) 2026-09-23 13:48:14 +02:00
launch Easy Login (#9261) 2025-11-20 12:38:06 +01:00
modules replace react-native-incall-manager with @mattermost/calls-native for audio management (#9973) 2026-08-06 07:38:54 +08:00
screens Report a problem not redirect to default email application (#9703) 2026-05-14 09:10:39 -04:00
security_manager feat(iOS): Add Microsoft Intune MAM integration with multi-server support (#9312) 2025-12-10 13:07:28 +02:00
utils Refactor Open Profile (#8746) 2025-05-13 17:07:13 +02:00
vendor Mobile-side for MM-65084 (#9115) 2025-09-29 14:29:37 -07:00