import { GuidValue, MultilingualString, PropertyIndexedType } from "../"; import { RichTextEditorExtension } from "../../ux/richtexteditor"; export interface EnterprisePropertyItemSettings { type: PropertyIndexedType; id: GuidValue; required: boolean; showLabel?: boolean; customLabel?: string; description?: MultilingualString; } export interface EnterprisePropertyNumberItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Number; } export interface EnterprisePropertyBooleanItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Boolean; } export interface EnterprisePropertyTextItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Text; multiLine?: boolean; maxLength?: number; } export interface EnterprisePropertyRichTextItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.RichText; onConfigureExtensions?: (extensions: Array) => RichTextEditorExtension[]; } export interface EnterprisePropertyMediaItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Media; } export interface EnterprisePropertyEnterpriseKeywordsItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.EnterpriseKeywords; allowMultipleValues: boolean; } export interface EnterprisePropertyLanguageItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Language; } export interface EnterprisePropertyTagsItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Tags; allowMultipleValues: boolean; } export interface EnterprisePropertyPersonItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Person; allowMultipleValues: boolean; providerIds?: Array; } export interface EnterprisePropertyTaxonomyItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Taxonomy; allowMultipleValues: boolean; parentEnterprisePropertyDefinitionId?: GuidValue; limitLevel?: number; } export interface EnterprisePropertyDateTimeItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.DateTime; includeTime: boolean; } export interface EnterprisePropertyDataItemSettings extends EnterprisePropertyItemSettings { type: PropertyIndexedType.Data; providerId?: GuidValue; } export interface EnterprisePropertyDataTypeProviderRegistration { id: GuidValue; name: string; editModeElementName: string; displayModeElementName?: string; valueDefinitionElementName?: string; }