Loading...
Loading...
Use when building, modifying, or debugging NetSuite UIF SPA components. Provides API/type lookup for `@uif-js/core` and `@uif-js/component` (constructors, methods, props, enums, hooks, and component options).
npx skill4agent add oracle/netsuite-suitecloud-sdk netsuite-uif-spa-reference@uif-js/core@uif-js/componentButton.HierarchyGapSizeDataGrid.ColumnTypereferences/| File | Package | Contents |
|---|---|---|
| | Core framework: Date, ArrayDataSource, Ajax, Router, useState, useEffect, Context, etc. |
| | UI components: DataGrid, StackPanel, Button, Text, Badge, Heading, Card, ContentPanel, Modal, etc. |
Search for `class Date` in the local `references/` directory.Search for `lastOfMonth`, `firstOfMonth`, or `addDay` in `references/core.d.ts`.Search for `enum GapSize`, `enum Hierarchy`, or `enum Type` in `references/component.d.ts`.| Class | Purpose | Key Members |
|---|---|---|
| UIF date wrapper | |
| Data provider for grids | |
| HTTP client | |
| SPA routing | |
| State hook | |
| Effect hook | |
| Context hook | |
| Context provider | |
| Context type string constants | |
| Memoized callback | |
| Memoized value | |
| Mutable ref container | |
| i18n support | |
| Redux-like state container | |
| Creates typed reducers | |
| Dispatch hook | |
| State selector hook | |
| Async operation cancellation | |
| Cancellation check | |
| Hierarchical grid/tree data | |
| On-demand data loading | |
| Immutable array helpers | |
| Immutable object helpers | |
| Locale-aware type formatting | |
| System icon constants (277) | |
| NetSuite record icons (43) | |
| Pub/sub event bus | |
| Keyboard key constants (101) | |
| Component | Purpose | Key Props |
|---|---|---|
| Table/grid display | |
| Layout container | |
| Clickable button | |
| Text display | |
| Status badges | |
| Section headings | |
| Card container | Content wrapper |
| Content wrapper | |
| Page header | |
| Dialog overlay | |
| Loading spinner | |
| CSS Grid layout | |
| Scrollable container | |
| Vertical nav | |
| Select input | |
| Text input | |
| Boolean input | |
| Tab navigation | |
| Hover tooltip | Via component |
| Dashboard card | |
| Loading placeholder | |
| Anchor element | |
| Image display | |
| Rich data list | |
| Date input | |
| Toggle switch | |
| Popup content | |
| Resizable sections | |
| Form field wrapper | |
| Grouped fields | |
| Multi-line text input | |
| Radio button group | |
| Inline alert/feedback | |
| Toast notification container | |
| Single toast message | |
| Collapsible sections | |
| Page navigation | |
| Action button container | |
| Dropdown menu | |
| Button with dropdown | |
| Filter container | |
| Single filter input | |
| Multi-value dropdown | |
| Multi-step wizard | |
| Navigation trail | |
@uif-js/componentitemGapouterGapcontentGapNONEXXXXSXXXSXXSXSSMLXLXXLXXXLXXXXLSPACING1XSPACING12XSMALLMEDIUMLARGEimport { GapSize } from '@uif-js/component';
<StackPanel itemGap={GapSize.M} outerGap={GapSize.L} ... />GapSizeGapSize@uif-js/componentsizeTextBoxDropdownDatePickerTimePickerSwitchAUTOXXSXSSMLXLXXLKpiReminderBannerAvatarBadgeNEUTRALSUCCESSWARNINGDANGERINFOTEALORANGETURQUOISETAUPEGREENPINKBROWNLILACYELLOWPURPLEBLUEPINEDate.now()Date.now().year.month.day.getFullYear().getMonth().getDate().monthDatenew Date()import { Date } from '@uif-js/core'DateDateDate.now(){cond ? <Item>... : null}{emptyArray}for (var i = 0; i < items.length; i++) rootItems.push(items[i]);var items = []; if (x) items.push(<Item>...</Item>);StackPanel.Item<StackPanel.Item>modalItemsBadge.SizeDEFAULTSMALLsize={Badge.Size.SMALL}classListDOMTokenList.add()InvalidCharacterErrorcolumnStretch={true}widthcolumnStretchrootStyle={{ width: '100%' }}widthrootStyleComponentrootStyle={{ ... }}stretchStrategy={{}}contentargs{cell, context}args.cell.valueargs.cell.row.dataItemdataRowHeightrowHeightCHECK_BOXeditable={true}editable: trueeditable={true}CHECK_BOXCELL_UPDATEDataGrid.Event.CELL_UPDATElabel={checked ? '\u2611' : '\u2610'}useRef({})actionsetStatestretchStrategyautoSizebindingControllereditingModepreloaddefaultColumnOptionslockedLevelsbeforeEditCellstripedRowsmultiColumnSortallowUnsortcolumnStretcheditablepagingpageSizepageNumbersortableplaceholdershowHeaderhighlightRowsOnHovermaxViewportWidthmaxViewportHeightstripedRows={true}editingModeDataGrid.EditingMode.CELLDataGrid.EditingMode.ROWmultiColumnSort={true}allowUnsort={true}SelectionColumnDataGrid.SingleSelectionDataGrid.MultiSelectionautoSize()stretchColumns()reload()rowForDataItem(dataItem)scrollTo({cell/row/column})pinRow(row, section)Select@uif-js/componentundefined<Select>DataGrid.ColumnType.DROPDOWNinputMode: DataGrid.InputMode.EDIT_ONLYvalueMember: 'value'displayMember: 'label'bindToValue: truedataSourceArrayDataSourceuseRefdataSourceConfigurator: function(row) { return new ArrayDataSource([...]); }widgetOptions: { allowEmpty: true, placeholder: 'Unassigned' }DropdownDataGrid.Event.CELL_UPDATEoneditable={true}Dropdown@uif-js/componentSelectModal.SizeDEFAULTSMALLMEDIUMLARGEEXTRA_LARGEModal.Size.LARGErootStylesizesizerootStyle<Modal rootStyle={{ width: '80vw', maxWidth: '1200px' }} ... />rootStyle={{ width: '100%' }}onCloseonClose={handler}onClosecloseButton={false}<Button>on={{ [Window.Event.CLOSED]: handler }}MenuButtonButtonlabelicontypehierarchymenuMenuItem.ItemDefinitionMenu.OptionsActionItemDefinition{ label: 'Text', action: function() { ... } }actionlabeliconicon: nullActionItemDefinitionSubmenuItemDefinitionSystemIcon.OVERFLOW<MenuButton icon={SystemIcon.OVERFLOW} type={Button.Type.GHOST} menu={items} />tooltip={null}{ action: function() { myRef.current(item); } }rootStyleComponentRecord<string, string>widthheightminWidthmaxWidth<Text />nullStore.ProvideruseDispatch()useSelector()Reducer.create()(state, action)ImmutableObject.set(state, 'key', value)Store.create()useContext(ContextType.STORE)CancellationTokenSourceuseEffectvar token = source.tokensource.cancel()token.cancelleduseEffect(function() {
var source = new CancellationTokenSource();
var token = source.token;
Ajax.get({ url: '/api/data' }).then(function(result) {
if (token.cancelled) return;
setData(result.data);
});
return function() { source.cancel(); };
}, []);TreeDataSourcenew TreeDataSource({ data: items, childAccessor: (item) => item.children })dataSourceDataGrid.ColumnType.TREETEXT_BOXArrayDataSourceFieldTextBoxTextField.Mode.VIEWFieldGroupStackPanelRadioButtonGroupRadioButtonField.SizeAUTOSMALLMEDIUMLARGEXLARGEXXLARGESTRETCHGrowlPanel.add(msg).addMessage()GrowlMessageModalGrowlMessageBannerBannerGrowlMessagemanual={true}GrowlPanelBanner.ColorBLUEBLUE_DARKGREENORANGEFilterPanel.filtersFilterPanel.filtersVisibilityToggleactiveFiltersshowClearAllFilterChippickerFilterChip.textBoxFilterChip.datestate.items.push(x)ImmutableArray.push(state.items, x)ImmutableObject.set(state, 'loading', true)Object.assign(state, ...)| Prop | Type | Description |
|---|---|---|
| ArrayDataSource | Data provider |
| ColumnDefinition[] | Column definitions |
| Boolean | Stretch columns to fill width (writable) |
| Object | Inline CSS on root element |
| Number (px) | Row height ( |
| Boolean | Hover highlighting |
| Number (px) | Max height before internal scroll |
| Number (px) | Max width before horizontal scroll |
| Boolean | Enables cell editing (required for CHECK_BOX/DROPDOWN columns) |
| | Cell vs row editing mode (constructor-only) |
| Boolean | Alternating row stripes (constructor-only) |
| Boolean | Multi-column sort support (constructor-only) |
| Boolean | Allow unsort back to natural order (constructor-only) |
| | Virtualization preload strategy (constructor-only) |
| Boolean | Show/hide header row (writable) |
| String or Component | Empty grid placeholder (writable) |
| Boolean | Enable pagination (writable) |
| Number | Rows per page (writable) |
| Number | Current page (writable) |
| Boolean | Enable column sorting (writable) |
| SortCallback | Sort event handler |
| Property | Type | Description |
|---|---|---|
| String | Column ID |
| ColumnType enum | Column type (TEXT_BOX, TEMPLATED, DROPDOWN, etc.) |
| String | Data field binding |
| String | Header label |
| Number | Initial pixel width (also serves as proportional weight for stretch) |
| Number | Maximum pixel width (set to 9999 to allow stretch) |
| Number | Minimum pixel width |
| Boolean | Column-level editability |
| Boolean | Column-level sortability |
| Callback | TEMPLATED column render function: |
| Number | Relative stretch weight (alternative to width) |
| Boolean | Whether column participates in stretching |
| | Cell content alignment |
| | Cell vertical alignment |
| | When editable widgets are shown |
| Boolean | Mandatory field indicator |
| Callback | Per-cell customization function |
| VisibilityBreakpoint enum | Responsive column visibility |
| Enum | Values | Access |
|---|---|---|
| | Column |
| | Column/grid |
| | Grid |
| | Column sort |
| | Grid |
| | Grid |
| | Grid visual style |
| | Row pinning target |
| | Column section |
| | Auto-size strategy |
| | Column alignment |
| | Column vertical alignment |
| | Responsive visibility |
| Event | Fires When | Access |
|---|---|---|
| Cell value changes | |
| Row added/removed/moved | Row lifecycle |
| Column changes | Column lifecycle |
| Row selection changes | Selection tracking |
| Cursor moves | Cursor tracking |
| Sort direction changes | Sort handling |
| Scroll state changed | Scroll tracking |
| Data binding complete (inherited) | Data lifecycle |