Variables
Const ArrayLayoutToolbar
Array
LayoutToolbar: NamedExoticComponent<ArrayLayoutToolbarProps> = React.memo(function ArrayLayoutToolbar({label,errors,addItem,path,enabled,createDefault,translations,}: ArrayLayoutToolbarProps) {return (<Toolbar disableGutters={true}><Grid container alignItems='center' justifyContent='space-between'><Grid item><GridcontainerjustifyContent={'flex-start'}alignItems={'center'}spacing={2}><Grid item><Typography variant={'h6'}>{label}</Typography></Grid><Grid item>{errors.length !== 0 && (<Grid item><ValidationIconid='tooltip-validation'errorMessages={errors}/></Grid>)}</Grid></Grid></Grid>{enabled && (<Grid item><Grid container><Grid item><Tooltipid='tooltip-add'title={translations.addTooltip}placement='bottom'><IconButtonaria-label={translations.addTooltip}onClick={addItem(path, createDefault())}size='large'><AddIcon /></IconButton></Tooltip></Grid></Grid></Grid>)}</Grid></Toolbar>);})
Const DeleteDialog
Delete
Dialog: NamedExoticComponent<DeleteDialogProps> = React.memo(function DeleteDialog({open,onClose,onConfirm,onCancel,title,message,acceptText,declineText,}: DeleteDialogProps) {return (<Dialogopen={open}keepMountedonClose={onClose}aria-labelledby='alert-dialog-confirmdelete-title'aria-describedby='alert-dialog-confirmdelete-description'><DialogTitle id='alert-dialog-confirmdelete-title'>{title}</DialogTitle><DialogContent><DialogContentText id='alert-dialog-confirmdelete-description'>{message}</DialogContentText></DialogContent><DialogActions><Button onClick={onCancel} color='primary'>{declineText}</Button><Button onClick={onConfirm} color='primary'>{acceptText}</Button></DialogActions></Dialog>);})
Const ExpandPanelRenderer
Const GroupComponent
Group
Component: NamedExoticComponent<MaterialLabelableLayoutRendererProps> = React.memo(function GroupComponent({visible,enabled,uischema,label,...props}: MaterialLabelableLayoutRendererProps) {const groupLayout = uischema as GroupLayout;return (<Hidden xsUp={!visible}><Card style={style}>{!isEmpty(label) && <CardHeader title={label} />}<CardContent><MaterialLayoutRenderer{...props}visible={visible}enabled={enabled}elements={groupLayout.elements}/></CardContent></Card></Hidden>);})
Const MaterialArrayLayout
Const MaterialLayoutRenderer
Const MuiCheckbox
Mui
Checkbox: NamedExoticComponent<CellProps & WithClassname & MuiCheckboxInputProps> = React.memo(function MuiCheckbox(props: CellProps & WithClassname & MuiCheckboxInputProps) {const {data,className,id,enabled,uischema,path,handleChange,config,inputProps,} = props;const appliedUiSchemaOptions = merge({}, config, uischema.options);const inputPropsMerged = merge({}, inputProps, {autoFocus: !!appliedUiSchemaOptions.focus,});// !! causes undefined value to be converted to false, otherwise has no effectconst checked = !!data;return (<Checkboxchecked={checked}onChange={(_ev, isChecked) => handleChange(path, isChecked)}className={className}id={id}disabled={!enabled}inputProps={inputPropsMerged}/>);})
Const MuiInputInteger
MuiInputInteger: NamedExoticComponent<CellProps & WithClassname> = React.memo(function MuiInputInteger(props: CellProps & WithClassname) {const { data, className, id, enabled, uischema, path, handleChange, config } =props;const inputProps = { step: '1' };const appliedUiSchemaOptions = merge({}, config, uischema.options);const [inputValue, onChange] = useDebouncedChange(handleChange,'',data,path,eventToValue);return (<Inputtype='number'value={inputValue}onChange={onChange}className={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}inputProps={inputProps}fullWidth={true}/>);})
Const MuiInputNumber
MuiInputNumber: NamedExoticComponent<CellProps & WithClassname> = React.memo(function MuiInputNumber(props: CellProps & WithClassname) {const { data, className, id, enabled, uischema, path, handleChange, config } =props;const inputProps = { step: '0.1' };const appliedUiSchemaOptions = merge({}, config, uischema.options);const [inputValue, onChange] = useDebouncedChange(handleChange,'',data,path,eventToValue);return (<Inputtype='number'value={inputValue}onChange={onChange}className={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}inputProps={inputProps}fullWidth={true}/>);})
Const MuiInputNumberFormat
MuiInputNumberFormat: NamedExoticComponent<CellProps & WithClassname & Formatted<number>> = React.memo(function MuiInputNumberFormat(props: CellProps & WithClassname & Formatted<number>) {const {className,id,enabled,uischema,isValid,path,handleChange,schema,config,} = props;const maxLength = schema.maxLength;const appliedUiSchemaOptions = merge({}, config, uischema.options);let inputProps;if (appliedUiSchemaOptions.restrict) {inputProps = { maxLength: maxLength };} else {inputProps = {};}const formattedNumber = props.toFormatted(props.data);const validStringNumber = useCallback((ev: any) => props.fromFormatted(ev.currentTarget.value),[props.fromFormatted]);const [inputValue, onChange] = useDebouncedChange(handleChange,'',formattedNumber,path,validStringNumber);return (<Inputtype='text'value={inputValue}onChange={onChange}className={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}multiline={appliedUiSchemaOptions.multi}fullWidth={!appliedUiSchemaOptions.trim || maxLength === undefined}inputProps={inputProps}error={!isValid}/>);})
Const MuiInputText
Mui
InputText: NamedExoticComponent<CellProps & WithClassname & MuiTextInputProps> = React.memo(function MuiInputText(props: CellProps & WithClassname & MuiTextInputProps) {const [showAdornment, setShowAdornment] = useState(false);const {data,config,className,id,enabled,uischema,isValid,path,handleChange,schema,muiInputProps,inputComponent,} = props;const maxLength = schema.maxLength;const appliedUiSchemaOptions = merge({}, config, uischema.options);let inputProps: InputBaseComponentProps;if (appliedUiSchemaOptions.restrict) {inputProps = { maxLength: maxLength };} else {inputProps = {};}inputProps = merge(inputProps, muiInputProps);if (appliedUiSchemaOptions.trim && maxLength !== undefined) {inputProps.size = maxLength;}const [inputText, onChange, onClear] = useDebouncedChange(handleChange,'',data,path,eventToValue);const onPointerEnter = () => setShowAdornment(true);const onPointerLeave = () => setShowAdornment(false);const theme: JsonFormsTheme = useTheme();const closeStyle = {background:theme.jsonforms?.input?.delete?.background ||theme.palette.background.default,borderRadius: '50%',};return (<Inputtype={appliedUiSchemaOptions.format === 'password' ? 'password' : 'text'}value={inputText}onChange={onChange}className={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}multiline={appliedUiSchemaOptions.multi}fullWidth={!appliedUiSchemaOptions.trim || maxLength === undefined}inputProps={inputProps}error={!isValid}onPointerEnter={onPointerEnter}onPointerLeave={onPointerLeave}endAdornment={<InputAdornmentposition='end'style={{display:!showAdornment || !enabled || data === undefined? 'none': 'flex',position: 'absolute',right: 0,}}><IconButtonaria-label='Clear input field'onClick={onClear}size='large'><Close style={closeStyle} /></IconButton></InputAdornment>}inputComponent={inputComponent}/>);})
Const MuiInputTime
MuiInputTime: NamedExoticComponent<CellProps & WithClassname> = React.memo(function MuiInputTime(props: CellProps & WithClassname) {const { data, className, id, enabled, uischema, path, handleChange, config } =props;const appliedUiSchemaOptions = merge({}, config, uischema.options);const [inputValue, onChange] = useDebouncedChange(handleChange,'',data,path);return (<Inputtype='time'value={inputValue}onChange={onChange}className={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}fullWidth={true}/>);})
Const MuiSelect
MuiSelect: NamedExoticComponent<EnumCellProps & WithClassname & TranslateProps> = React.memo(function MuiSelect(props: EnumCellProps & WithClassname & TranslateProps) {const {data,className,id,enabled,schema,uischema,path,handleChange,options,config,t,} = props;const appliedUiSchemaOptions = merge({}, config, uischema.options);const noneOptionLabel = useMemo(() => t('enum.none', i18nDefaults['enum.none'], { schema, uischema, path }),[t, schema, uischema, path]);return (<SelectclassName={className}id={id}disabled={!enabled}autoFocus={appliedUiSchemaOptions.focus}value={data !== undefined ? data : ''}onChange={(ev) => handleChange(path, ev.target.value || undefined)}fullWidth={true}variant={'standard'}>{[<MenuItem value={''} key=JSON Forms React Material Renderersforms.enum.none'><em>{noneOptionLabel}</em></MenuItem>,].concat(options.map((optionValue) => (<MenuItem value={optionValue.value} key={optionValue.value}>{optionValue.label}</MenuItem>)))}</Select>);})
Const MuiToggle
Mui
Toggle: NamedExoticComponent<CellProps & WithClassname & MuiToggleInputProps> = React.memo(function MuiToggle(props: CellProps & WithClassname & MuiToggleInputProps) {const {data,className,id,enabled,uischema,path,handleChange,config,inputProps,} = props;const appliedUiSchemaOptions = merge({}, config, uischema.options);const inputPropsMerged = merge({}, inputProps, {autoFocus: !!appliedUiSchemaOptions.focus,});const checked = !!data;return (<Switchchecked={checked}onChange={(_ev, isChecked) => handleChange(path, isChecked)}className={className}id={id}disabled={!enabled}inputProps={inputPropsMerged}/>);})
Const NonEmptyCellComponent
Non
EmptyCellComponent: NamedExoticComponent<NonEmptyCellComponentProps> = React.memo(function NonEmptyCellComponent({path,propName,schema,rootSchema,errors,enabled,renderers,cells,isValid,}: NonEmptyCellComponentProps) {return (<NoBorderTableCell>{schema.properties ? (<DispatchCellschema={Resolve.schema(schema,`#/properties/${encode(propName)}`,rootSchema)}uischema={controlWithoutLabel(`#/properties/${encode(propName)}`)}path={path}enabled={enabled}renderers={renderers}cells={cells}/>) : (<DispatchCellschema={schema}uischema={controlWithoutLabel('#')}path={path}enabled={enabled}renderers={renderers}cells={cells}/>)}<FormHelperText error={!isValid}>{!isValid && errors}</FormHelperText></NoBorderTableCell>);})
Const NonEmptyRow
Const StyledBadge
StyledBadge: StyledComponent<{ anchorOrigin?: BadgeOrigin; classes?: Partial<BadgeClasses>; color?: OverridableStringUnion<"primary" | "secondary" | "default" | "error" | "info" | "success" | "warning", BadgePropsColorOverrides>; components?: { Badge?: React.ElementType; Root?: React.ElementType }; componentsProps?: BaseBadgeTypeMap["props"]["slotProps"]; overlap?: "rectangular" | "circular"; sx?: SxProps<Theme>; variant?: OverridableStringUnion<"standard" | "dot", BadgePropsVariantOverrides> } & BadgeOwnProps & CommonProps & Omit<Pick<DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "style" | "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & { ref?: Exclude<R, string> | undefined }, "className" | "style" | "classes" | "color" | "children" | "anchorOrigin" | "componentsProps" | "components" | "overlap" | "sx" | "variant" | "badgeContent" | "invisible" | "max" | "slotProps" | "slots" | "showZero"> & MUIStyledCommonProps<Theme>, {}, {}> = styled(Badge)(({ theme }: any) => ({color: theme.palette.error.main,}))
Const StyledTableCell
StyledTableCell: StyledComponent<TableCellProps & MUIStyledCommonProps<Theme>, {}, {}> = styled(TableCell)({borderBottom: 'none',})
Const TableHeaderCell
Table
HeaderCell: NamedExoticComponent<TableHeaderCellProps> = React.memo(function TableHeaderCell({title,}: TableHeaderCellProps) {return <TableCell>{title}</TableCell>;})
Const TableToolbar
Table
Toolbar: NamedExoticComponent<MaterialTableToolbarProps> = React.memo(function TableToolbar({numColumns,errors,label,path,addItem,schema,enabled,translations,}: MaterialTableToolbarProps) {return (<TableRow><NoBorderTableCell colSpan={numColumns}><GridcontainerjustifyContent={'flex-start'}alignItems={'center'}spacing={2}><Grid item><Typography variant={'h6'}>{label}</Typography></Grid><Grid item>{errors.length !== 0 && (<Grid item><ValidationIconid='tooltip-validation'errorMessages={errors}/></Grid>)}</Grid></Grid></NoBorderTableCell>{enabled ? (<NoBorderTableCell align='right' style={fixedCellSmall}><Tooltipid='tooltip-add'title={translations.addTooltip}placement='bottom'><IconButtonaria-label={translations.addAriaLabel}onClick={addItem(path, createDefaultValue(schema))}size='large'><AddIcon /></IconButton></Tooltip></NoBorderTableCell>) : null}</TableRow>);})
Const groupTester
groupTester: RankedTester = rankWith(1, uiTypeIs('Group'))
Const isSingleLevelCategorization
isSingleLevelCategorization: Tester = and(uiTypeIs('Categorization'),(uischema: UISchemaElement): boolean => {const categorization = uischema as Categorization;return (categorization.elements &&categorization.elements.reduce((acc, e) => acc && e.type === 'Category',true));})
Const materialAllOfControlTester
materialAllOfControlTester: RankedTester = rankWith(3,isAllOfControl)
Const materialAnyOfControlTester
materialAnyOfControlTester: RankedTester = rankWith(3,isAnyOfControl)
Const materialAnyOfStringOrEnumControlTester
materialAnyOfStringOrEnumControlTester: RankedTester = rankWith(5,simpleAnyOf)
Const materialArrayControlTester
materialArrayControlTester: RankedTester = rankWith(3,or(isObjectArrayControl, isPrimitiveArrayControl))
Const materialArrayLayoutTester
materialArrayLayoutTester: RankedTester = rankWith(4,isObjectArrayWithNesting)
Const materialBooleanCellTester
materialBooleanCellTester: RankedTester = rankWith(2,isBooleanControl)
Const materialBooleanControlTester
materialBooleanControlTester: RankedTester = rankWith(2,isBooleanControl)
Const materialBooleanToggleCellTester
materialBooleanToggleCellTester: RankedTester = rankWith(3,and(isBooleanControl, optionIs('toggle', true)))
Const materialBooleanToggleControlTester
materialBooleanToggleControlTester: RankedTester = rankWith(3,and(isBooleanControl, optionIs('toggle', true)))
Const materialCategorizationStepperTester
materialCategorizationStepperTester: RankedTester = rankWith(2,and(uiTypeIs('Categorization'),categorizationHasCategory,optionIs('variant', 'stepper')))
Const materialCategorizationTester
materialCategorizationTester: RankedTester = rankWith(1,isSingleLevelCategorization)
Const materialCells
materialCells: JsonFormsCellRendererRegistryEntry[] = [{ tester: materialBooleanCellTester, cell: MaterialBooleanCell },{ tester: materialBooleanToggleCellTester, cell: MaterialBooleanToggleCell },{ tester: materialDateCellTester, cell: MaterialDateCell },{ tester: materialEnumCellTester, cell: MaterialEnumCell },{ tester: materialIntegerCellTester, cell: MaterialIntegerCell },{ tester: materialNumberCellTester, cell: MaterialNumberCell },{ tester: materialNumberFormatCellTester, cell: MaterialNumberFormatCell },{ tester: materialOneOfEnumCellTester, cell: MaterialOneOfEnumCell },{ tester: materialTextCellTester, cell: MaterialTextCell },{ tester: materialTimeCellTester, cell: MaterialTimeCell },]
Const materialDateCellTester
materialDateCellTester: RankedTester = rankWith(2, isDateControl)
Const materialDateControlTester
materialDateControlTester: RankedTester = rankWith(4,isDateControl)
Const materialDateTimeControlTester
materialDateTimeControlTester: RankedTester = rankWith(2,isDateTimeControl)
Const materialEnumArrayRendererTester
materialEnumArrayRendererTester: RankedTester = rankWith(5,and(uiTypeIs('Control'),and(schemaMatches((schema) =>hasType(schema, 'array') &&!Array.isArray(schema.items) &&schema.uniqueItems === true),schemaSubPathMatches('items', (schema) => {return hasOneOfItems(schema) || hasEnumItems(schema);}))))
Const materialEnumCellTester
materialEnumCellTester: RankedTester = rankWith(2, isEnumControl)
Const materialEnumControlTester
materialEnumControlTester: RankedTester = rankWith(2,isEnumControl)
Const materialGroupTester
materialGroupTester: RankedTester = withIncreasedRank(1,groupTester)
Const materialHorizontalLayoutTester
materialHorizontalLayoutTester: RankedTester = rankWith(2,uiTypeIs('HorizontalLayout'))
Const materialIntegerCellTester
materialIntegerCellTester: RankedTester = rankWith(2,isIntegerControl)
Const materialIntegerControlTester
materialIntegerControlTester: RankedTester = rankWith(2,isIntegerControl)
Const materialLabelRendererTester
materialLabelRendererTester: RankedTester = rankWith(1,uiTypeIs('Label'))
Const materialListWithDetailTester
materialListWithDetailTester: RankedTester = rankWith(4,and(uiTypeIs('ListWithDetail'), isObjectArray))
Const materialNativeControlTester
materialNativeControlTester: RankedTester = rankWith(2,or(isDateControl, isTimeControl))
Const materialNumberCellTester
materialNumberCellTester: RankedTester = rankWith(2,isNumberControl)
Const materialNumberControlTester
materialNumberControlTester: RankedTester = rankWith(2,isNumberControl)
Const materialNumberFormatCellTester
materialNumberFormatCellTester: RankedTester = rankWith(4,isNumberFormatControl)
Const materialObjectControlTester
materialObjectControlTester: RankedTester = rankWith(2,isObjectControl)
Const materialOneOfControlTester
materialOneOfControlTester: RankedTester = rankWith(3,isOneOfControl)
Const materialOneOfEnumCellTester
materialOneOfEnumCellTester: RankedTester = rankWith(2,isOneOfEnumControl)
Const materialOneOfEnumControlTester
materialOneOfEnumControlTester: RankedTester = rankWith(5,isOneOfEnumControl)
Const materialOneOfRadioGroupControlTester
materialOneOfRadioGroupControlTester: RankedTester = rankWith(20,and(isOneOfEnumControl, optionIs('format', 'radio')))
Const materialRadioGroupControlTester
materialRadioGroupControlTester: RankedTester = rankWith(20,and(isEnumControl, optionIs('format', 'radio')))
Const materialRenderers
materialRenderers: JsonFormsRendererRegistryEntry[] = [// controls{tester: materialArrayControlTester,renderer: MaterialArrayControlRenderer,},{ tester: materialBooleanControlTester, renderer: MaterialBooleanControl },{tester: materialBooleanToggleControlTester,renderer: MaterialBooleanToggleControl,},{ tester: materialNativeControlTester, renderer: MaterialNativeControl },{ tester: materialEnumControlTester, renderer: MaterialEnumControl },{ tester: materialIntegerControlTester, renderer: MaterialIntegerControl },{ tester: materialNumberControlTester, renderer: MaterialNumberControl },{ tester: materialTextControlTester, renderer: MaterialTextControl },{ tester: materialDateTimeControlTester, renderer: MaterialDateTimeControl },{ tester: materialDateControlTester, renderer: MaterialDateControl },{ tester: materialTimeControlTester, renderer: MaterialTimeControl },{ tester: materialSliderControlTester, renderer: MaterialSliderControl },{ tester: materialObjectControlTester, renderer: MaterialObjectRenderer },{ tester: materialAllOfControlTester, renderer: MaterialAllOfRenderer },{ tester: materialAnyOfControlTester, renderer: MaterialAnyOfRenderer },{ tester: materialOneOfControlTester, renderer: MaterialOneOfRenderer },{tester: materialRadioGroupControlTester,renderer: MaterialRadioGroupControl,},{tester: materialOneOfRadioGroupControlTester,renderer: MaterialOneOfRadioGroupControl,},{tester: materialOneOfEnumControlTester,renderer: MaterialOneOfEnumControl,},// layouts{ tester: materialGroupTester, renderer: MaterialGroupLayout },{tester: materialHorizontalLayoutTester,renderer: MaterialHorizontalLayout,},{ tester: materialVerticalLayoutTester, renderer: MaterialVerticalLayout },{tester: materialCategorizationTester,renderer: MaterialCategorizationLayout,},{tester: materialCategorizationStepperTester,renderer: MaterialCategorizationStepperLayout,},{ tester: materialArrayLayoutTester, renderer: MaterialArrayLayout },// additional{ tester: materialLabelRendererTester, renderer: MaterialLabelRenderer },{tester: materialListWithDetailTester,renderer: MaterialListWithDetailRenderer,},{tester: materialAnyOfStringOrEnumControlTester,renderer: MaterialAnyOfStringOrEnumControl,},{tester: materialEnumArrayRendererTester,renderer: MaterialEnumArrayRenderer,},]
Const materialSliderControlTester
materialSliderControlTester: RankedTester = rankWith(4,isRangeControl)
Const materialTextCellTester
materialTextCellTester: RankedTester = rankWith(1,isStringControl)
Const materialTextControlTester
materialTextControlTester: RankedTester = rankWith(1,isStringControl)
Const materialTimeCellTester
materialTimeCellTester: RankedTester = rankWith(2, isTimeControl)
Const materialTimeControlTester
materialTimeControlTester: RankedTester = rankWith(4,isTimeControl)
Const materialVerticalLayoutTester
materialVerticalLayoutTester: RankedTester = rankWith(1,uiTypeIs('VerticalLayout'))
Const simpleAnyOf
simpleAnyOf: Tester = and(uiTypeIs('Control'),schemaMatches((schema) =>Object.prototype.hasOwnProperty.call(schema, 'anyOf') &&hasEnumAndText(schema.anyOf)))
Default tester for enum controls.