@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
139 lines (137 loc) • 4.47 kB
TypeScript
import { ControlElement, JsonFormsRendererRegistryEntry, JsonSchema, UISchemaElement, JsonFormsCellRendererRegistryEntry, JsonFormsUISchemaRegistryEntry, ArrayTranslations } from '@jsonforms/core';
import { ErrorObject } from 'ajv';
import { DefineComponent, PropType, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
import { IconAliases, Styles } from '..';
declare const controlRenderer: DefineComponent<{
schema: {
required: true;
type: PropType<JsonSchema>;
};
uischema: {
required: true;
type: PropType<ControlElement>;
};
path: {
required: true;
type: StringConstructor;
};
enabled: {
required: false;
type: BooleanConstructor;
default: undefined;
};
renderers: {
required: boolean;
type: PropType<JsonFormsRendererRegistryEntry[]>;
default: undefined;
};
cells: {
required: boolean;
type: PropType< JsonFormsCellRendererRegistryEntry[]>;
default: undefined;
};
config: {
required: boolean;
type: ObjectConstructor;
default: undefined;
};
}, {
selectedIndex: Ref<number | undefined>;
icons: {
current: ComputedRef<IconAliases>;
};
control: ComputedRef<{
arraySchema: NonNullable<JsonSchema>;
childErrors: ErrorObject<string, Record<string, any>, unknown>[];
uischemas: JsonFormsUISchemaRegistryEntry[];
renderers: JsonFormsRendererRegistryEntry[];
cells: JsonFormsCellRendererRegistryEntry[];
label: string;
description: string;
required: NonNullable<boolean | undefined>;
i18nKeyPrefix: string;
uischema: ControlElement;
errors: string;
data: any;
rootSchema: NonNullable<JsonSchema>;
id: string;
config: any;
schema: NonNullable<JsonSchema>;
enabled: boolean;
visible: boolean;
path: string;
}> & ComputedRef<{
label: string;
required: boolean;
config: any;
uischema: UISchemaElement;
schema: JsonSchema;
data: any;
childErrors: ErrorObject<string, Record<string, any>, unknown>[];
i18nKeyPrefix: string;
} & {
childErrors: ErrorObject<string, Record<string, any>, unknown>[];
translations: ArrayTranslations;
}>;
addItem(path: string, value: any): () => void;
removeItems?(path: string, toDelete: number[]): () => void;
moveUp?(path: string, toMove: number): () => void;
moveDown?(path: string, toMove: number): () => void;
styles: Styles;
appliedOptions: ComputedRef<any>;
childLabelForIndex: (index: number | null) => string;
computedLabel: ComputedRef<string>;
vuetifyProps: (path: string) => any;
rawChildErrors: ErrorObject<string, Record<string, any>, unknown>[];
}, unknown, {
dataLength(): number;
foundUISchema(): UISchemaElement;
arraySchema(): JsonSchema | undefined;
}, {
composePaths: (path1: string, path2: string) => string;
createDefaultValue: (schema: JsonSchema, rootSchema: JsonSchema) => any;
addButtonClick(): void;
moveUpClick(event: Event, toMove: number): void;
moveDownClick(event: Event, toMove: number): void;
removeItemsClick(event: Event, toDelete: number[]): void;
childErrors(index: number): ErrorObject[];
}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
schema: {
required: true;
type: PropType<JsonSchema>;
};
uischema: {
required: true;
type: PropType<ControlElement>;
};
path: {
required: true;
type: StringConstructor;
};
enabled: {
required: false;
type: BooleanConstructor;
default: undefined;
};
renderers: {
required: boolean;
type: PropType<JsonFormsRendererRegistryEntry[]>;
default: undefined;
};
cells: {
required: boolean;
type: PropType< JsonFormsCellRendererRegistryEntry[]>;
default: undefined;
};
config: {
required: boolean;
type: ObjectConstructor;
default: undefined;
};
}>>, {
enabled: boolean;
renderers: JsonFormsRendererRegistryEntry[];
cells: JsonFormsCellRendererRegistryEntry[];
config: Record<string, any>;
}, {}>;
export default controlRenderer;