@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
76 lines (75 loc) • 2.73 kB
TypeScript
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { PropertyConfiguration, PropertyDefinition, PropertyDefinitionId } from "@omnia/fx-models";
import { PropertyIndexedType } from "../Enums";
import { EnterprisePropertiesDisplaySettings, EnterprisePropertySettings } from "./EnterprisePropertySettings";
import { MultilingualString } from "../MultilingualString";
export interface EnterprisePropertyDataType {
id: GuidValue;
title: string;
uiOptions: EnterprisePropertyUIOptions;
valuePropertyPaths: string[];
indexedType: PropertyIndexedType;
omniaSearchable: boolean;
spSearchable: boolean;
msSearchable?: boolean;
}
export interface IExtendedEnterprisepropertiesPropertyDefinitionSettings extends PropertyConfiguration<PropertyDefinition<any, any, any>> {
readonly propertyDefinitionId: PropertyDefinitionId;
}
export interface ExtendedPropertyEnterprisePropertyDefinition extends EnterprisePropertyDefinition {
settings: IExtendedEnterprisepropertiesPropertyDefinitionSettings;
}
export interface EnterprisePropertyDefinition {
id: GuidValue;
internalName: string;
title: MultilingualString;
enterprisePropertyDataTypeId: GuidValue;
settings: EnterprisePropertySettings;
spSearchable: boolean;
msSearchable?: boolean;
builtIn: boolean;
managedPropertySettings?: ManagedPropertySettings;
msSearchPropertySettings?: ManagedPropertySettings;
enterprisePropertyDataType: EnterprisePropertyDataType;
enterprisePropertyCategoryId?: GuidValue;
multilingualTitle: string;
uniqueMultilingualTitle: string;
deletedAt?: Date;
}
export interface ProvisioningTemplateEnterpriseProperty {
id: GuidValue;
internalName: string;
allowMultipleValues?: boolean;
required?: boolean;
hidden?: boolean;
}
export interface ManagedPropertySettings {
managedProperty: string;
retrievableManagedProperty?: string;
refinableManagedProeprty?: string;
queryableManagedProperty?: string;
sortableManagedProperty?: string;
retrievable: boolean;
refinable: boolean;
queryable: boolean;
sortable: boolean;
}
export interface EnterprisePropertyUIOptions {
settingsElementName?: string;
editModeElementName: string;
displayModeElementName?: string;
valueDefinitionElementName?: string;
}
export interface ExternalPropertySelectionItem {
internalName: string;
multilingualTitle: string;
categoryId?: GuidValue;
}
export interface Property {
title: string;
internalName: string;
value: any;
displayElement: string;
contentProperty: EnterprisePropertyDefinition;
settings: EnterprisePropertiesDisplaySettings;
}