nz-json-schema-form
Version:
Schema form for JSON schema
44 lines (43 loc) • 1.3 kB
TypeScript
import { NgClassType, NgStyleInterface } from 'ng-zorro-antd/core/types';
import { JSONSchema } from './json-schema';
export interface UISchema<T extends Record<string, unknown> = {
[p: string]: any;
}> {
widget?: string;
messages?: Record<string, unknown>;
placeholder?: string;
disabled?: boolean;
size?: 'large' | 'default' | 'small';
klass?: NgClassType;
style?: NgStyleInterface | null;
type?: string;
widgetData?: any;
options?: T;
}
export type NZSchemaDefinition = NzSchema;
export interface NzSchema extends JSONSchema {
ui?: UISchema;
items?: NZSchemaDefinition | NZSchemaDefinition[];
additionalItems?: NZSchemaDefinition;
properties?: {
[key: string]: NZSchemaDefinition;
};
patternProperties?: {
[key: string]: NZSchemaDefinition;
};
additionalProperties?: NZSchemaDefinition;
dependencies?: {
[key: string]: NZSchemaDefinition | string[];
};
propertyNames?: NZSchemaDefinition;
if?: NZSchemaDefinition;
then?: NZSchemaDefinition;
else?: NZSchemaDefinition;
allOf?: NZSchemaDefinition[];
anyOf?: NZSchemaDefinition[];
oneOf?: NZSchemaDefinition[];
not?: NZSchemaDefinition;
definitions?: {
[key: string]: NZSchemaDefinition;
};
}