Skip to content

AI: Element selection map

This page helps the agent decide which NGX View Builder element to use based on the user's intent.

Quick reference

  • "dynamic table", "editable rows", "add row", "delete row" -> dynamicTable
  • "server-side table", "paging", "sorting", "filtering", "export", "row actions" -> table
  • "repeating block", "repeatable section" -> dynamicPanel
  • "single choice from a list" -> select or radio
  • "search in a large list" -> autocomplete
  • "multiple choices" -> multiSelect or checkbox
  • "yes/no toggle" -> singleCheckbox, toggleSwitch, or toggleButton
  • "handwritten signature" -> signaturePad
  • "time of day" -> timePicker
  • "quantity with +/- buttons" -> numberStepper

Text and input elements

User intentChooseWhen not to choose
A single short text valuetextDo not use for long descriptions
Longer comment or notestextareaDo not use if rich content is needed
Formatted contentrichTextDo not use for plain single-line text
NumbernumberDo not use if it is only a text code
Sliding numeric valuesliderDo not use for precise financial amounts
Phone numberphoneInputDo not use plain text if country-code UX is required
Large searchable listautocompleteDo not use for small static lists
File uploadfileUploadDo not use for plain link text
Triggering an actionbuttonDo not use for data input
Code or JSON fragmentcodeDo not use for plain text
Small bounded quantity with +/- buttonsnumberStepperDo not use for large or precise ranges — prefer number
Handwritten signature capturesignaturePadDo not use for typed text

Choice elements

User intentChooseWhen not to choose
Single choice from several optionsselectIf all options must always be visible, prefer radio
Single choice with all options visibleradioDo not use if there are very many options
Multiple choices from a listmultiSelectDo not use for a yes/no scenario
Multiple choices as a checkbox groupcheckboxDo not use for a single boolean field
Single boolean checkboxsingleCheckboxDo not use if a button-style switch is desired
Boolean toggle switchtoggleSwitchDo not use if checkbox semantics are required
Boolean button-style toggletoggleButtonDo not use if a standard checkbox is needed
Date selectiondatepickerDo not use for a date range
Date rangedateRangeDo not use for a single date
Time of daytimePickerCombine with datepicker if both are needed
Simple dropdown menudropdownDo not use as a substitute for table row actions
Always-visible scrollable selection listlistBoxDo not use if a compact closed control is preferred — use select
Connected button row for 2–4 short optionsselectButtonDo not use for long option lists — prefer radio or select

Tables and repeating data

User intentChooseNote
User must add, delete, and edit rows inlinedynamicTableThis is not table
Repeat an entire block with multiple fieldsdynamicPanelBetter than dynamicTable if it is not a table
Server-side table with paging, sorting, filtering, row actionstableThis is the main data grid
Simple list or card grid displaylistGridNot for an editable table
ChartchartNot for a table or repeating input

Containers and UI structure

User intentChooseNote
Simple block with inner fieldspanelMost common container
Content divided into tabstabs or tabsProDo not use if multiple pages are sufficient
Collapsible sectionsaccordionGood for longer forms
Step flow or progressprogressFlowNot for a plain panel layout
Modal-style contentdialogNot as the primary page-level form container
Two-zone layout with a dividersplitterOnly when two separate regions are needed
Empty placeholder block for a drop zoneemptyBlockInternal layout helper
Visual separatordividerDo not use for data storage
SpacingspacerDo not use as a structural container

Display and media elements

User intentChooseNote
Static HTML templatecustomHtml or htmlSnippetOnly when template HTML is truly needed
Rich text viewerrichTextViewerNot for editing
ImageimageNot for file upload
VideovideoMedia viewing only
External page or contentiframeOnly if the host allows it
AvataravatarNot for general images
IconiconSmall UI symbol
Navigation pathbreadcrumbsNavigation context
Page headingpageTitleHero or page top
BadgebadgeShort status or label
Informational cardmessageCardMessage, warning, info
Statistics cardstatsCardKPI or summary
Toast notificationtoastTemporary notifications
Completion percentageprogressBarNot for step/page navigation — use progressFlow

Internal or system types

The agent should not normally generate these directly as user form elements:

  • row
  • column
  • visibility
  • choices
  • validators
  • dataSourceArguments

They belong to the internal model, property editing, or builder infrastructure.

Keyword map

Prompt phraseChoose
dynamic table, editable rows, add row, delete rowdynamicTable
repeating block, repeatable section, repeatable groupdynamicPanel
data table, server-side table, paging, sorting, filteringtable
search in list, searchable select, autocompleteautocomplete
multiple checkboxes, select multiplecheckbox or multiSelect
yes/no, toggle, switchsingleCheckbox, toggleSwitch, or toggleButton

If you are unsure between two options

  • dynamicTable vs table: does the user edit rows inline, or work with a datasource data grid?
  • dynamicPanel vs dynamicTable: does the data look more like a form/block or like a row-based table?
  • select vs autocomplete: are there few options, or many that require search?
  • singleCheckbox vs toggleSwitch: does checkbox semantics matter, or is a switch style preferred?