Journey Component Matrix (Data Collection Standards)

This matrix standardizes which Journey components to use for each data collection type.

Core Rule

  1. Use Journey component first.

  2. Reuse existing Mobiloan pattern from similar views.

  3. Custom behavior goes in JS, not by inventing new UI pattern unless required.

Component Selection Matrix

1) Free text / numeric input

  • Use: text-input

  • Use for: names, IDs, amounts, notes, labels

  • Evidence:

    • Income/expense inputs (mobile/origination_affordability.view.xml)

    • Description input (mobile/document_capture.view.xml)

  • Required practices:

    • required="true" where mandatory

    • on-change validation for bounded numeric fields

2) Single option selection (small controlled list)

  • Use: single-choice-dropdown or single-choice-radio

  • Evidence:

    • bank_document_type dropdown (mobile/document_capture.view.xml)

    • average income type radio (mobile/origination_affordability.view.xml)

3) Object/entity selection from query

  • Use: object-dropdown

  • Evidence:

    • Income source/object selection (mobile/origination_affordability.view.xml)

  • Use when selecting records, not static enum values.

4) Multi-select categorical values

  • Use: multiple-choice-checklist

  • Use for schema fields typed as multiple-choice*.

  • Evidence of multi-choice fields in data model: schema.xml (e.g., shared_expenses, authorized_commission_types).

5) Boolean capture

  • Use: toggle

  • Use when value is true/false and immediately understandable.

6) Date capture

  • Use: date-input

  • Use for user-entered dates requiring explicit selection.

7) Tabular/editable collection data

  • Use: object-table + inline editors (edit-text, edit-number, edit-typeahead)

  • Evidence:

    • Expense categorization table (mobile/origination_affordability.view.xml)

  • Required practices:

    • define empty state message

    • define add/edit/delete interaction pattern

    • validate before insert/confirm

8) Document/image capture

  • Use:

    • capture-photo for camera/gallery images

    • capture-file for files/PDF

    • display-photo / display-image for preview

  • Evidence:

    • mobile/document_capture.view.xml

UX Standards for Collection Components

  • Every mandatory field must declare required="true".

  • Every high-risk field must have validation on change or on save.

  • Button labels should be action-explicit: Save, Insert, Done, Delete.

  • Provide empty/loading/error handling for tables/queries.

Anti-Drift Notes

  • Do not mix static option sets and object queries in the same field unless business logic requires it.

  • Do not use free text where categorical option exists in schema.

  • Do not duplicate component behavior across views; extract to shared helper logic.

Evidence References

  • mobile/origination_affordability.view.xml

  • mobile/document_capture.view.xml

  • schema.xml

Last updated