@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
162 lines (160 loc) • 4.69 kB
TypeScript
import { ControlElement, JsonSchema, UISchemaElement, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, Translator, BaseUISchemaElement, RankedTester, CombinatorTranslations } from '@jsonforms/core';
import { DefineComponent, PropType, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
import { IconAliases, Styles } from '..';
interface SchemaRenderInfo {
schema: JsonSchema;
resolvedSchema: JsonSchema;
uischema: UISchemaElement;
label: string;
}
export declare function getJsonDataType(value: any): string | null;
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;
};
}, {
nullable: ComputedRef<boolean>;
mixedRenderInfos: ComputedRef<(SchemaRenderInfo & {
index: number;
})[]>;
selectedIndex: Ref<number | null | undefined>;
t: ComputedRef<Translator>;
valueType: Ref<string | null>;
schema: ComputedRef<JsonSchema | undefined>;
resolvedSchema: ComputedRef<JsonSchema | undefined>;
uischema: ComputedRef< BaseUISchemaElement | undefined>;
path: string;
icons: {
current: ComputedRef<IconAliases>;
};
currentlyExpanded: Ref<number | null>;
control: ComputedRef<{
uischema: ControlElement;
schema: NonNullable<JsonSchema>;
path: string;
enabled: boolean;
renderers: JsonFormsRendererRegistryEntry[];
cells: JsonFormsCellRendererRegistryEntry[] & {
tester: RankedTester;
cell: any;
}[];
config: any;
label: string;
description: string;
required: NonNullable<boolean | undefined>;
i18nKeyPrefix: string;
errors: string;
data: any;
rootSchema: NonNullable<JsonSchema>;
id: string;
visible: boolean;
}> & ComputedRef<{
uischema: ControlElement;
path: string;
config: any;
label: string;
description: string;
required: boolean;
errors: string;
id: string;
visible: boolean;
} & {
errors: string;
}> & ComputedRef<{
i18nKeyPrefix: string;
label: string;
} & {
translations: CombinatorTranslations;
}>;
handleChange(path: string, value: any): void;
styles: Styles;
isFocused: Ref<boolean>;
appliedOptions: ComputedRef<any>;
controlWrapper: ComputedRef<{
id: string;
description: string;
errors: string;
label: string;
visible: boolean;
required: boolean;
}>;
onChange: (value: any) => void;
vuetifyProps: (path: string) => any;
persistentHint: () => boolean;
computedLabel: ComputedRef<string>;
touched: Ref<boolean>;
handleBlur: () => void;
handleFocus: () => void;
rawErrors: ComputedRef<string>;
}, unknown, {}, {
setToNull(): void;
handleSelectChange(newIndex: number): void;
}, 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;