Параметры (jobs, crawlers, etc)¶
Кастомные представления для параметров¶
Точка расширения UEParameterItem позволяет реализовывать кастомные представления параметров.
Используется в различных экранах настроек, но не используется в карточке записи.
Описание UEParameterItem:
export type UEParameterItem = UeModuleBase & {
default: {
component: ComponentType<{
parameterValue: IValuedParameter;
parameterDescriptor: IParameterDescriptor;
isReadOnly: boolean;
}>;
resolver: (parameterDescriptor: IParameterDescriptor) => boolean;
};
}
Пример UEParameterItem: отображение настройки в виде поля с подсветкой SQL-синтаксиса.
interface IProps {
parameterValue: IValuedParameter;
parameterDescriptor: IParameterDescriptor;
isReadOnly: boolean;
}
class SqlField extends React.Component<IProps> {
override render () {
const SqlParameter = React.lazy(() => import('./SqlParameter'));
return (
<React.Suspense fallback={''}>
<SqlParameter {...this.props}/>
</React.Suspense>
);
}
}
export const ueSqlField: UEParameterItem = {
'default': {
moduleId: 'sqlParameterItem',
type: UEList.ParameterItem,
active: true,
system: false,
resolver: (parameterDescriptor: IParameterDescriptor) => {
return parameterDescriptor instanceof CrawlerParameterDescriptor &&
parameterDescriptor.viewType.getValue() === ParameterViewType.SQL;
},
meta: {},
component: SqlField
}
};