@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension
44 lines (43 loc) • 1.4 kB
TypeScript
import { Enums } from '../extensibility';
import { ICSOMPeoplePickerPrincipal } from "./ICSOMPeoplePickerPrincipal";
export interface ITargetingDefinitionMembershipMapping {
title?: string;
group?: ICSOMPeoplePickerPrincipal;
}
export interface ITargetingDefinitionFilter {
id?: string;
type?: Enums.TargetingDefinitionFilterType;
displayName?: string;
userProfileProperty?: string;
termStoreId?: string;
termGroupId?: string;
termSetId?: string;
includeChildTerms?: boolean;
membershipMappings?: Array<ITargetingDefinitionMembershipMapping>;
required?: boolean;
defaultValue?: Array<any>;
mappingTitle?: string;
mappingGroup?: Array<ICSOMPeoplePickerPrincipal>;
}
export interface ITargetingDefinitionConditionMapping {
firstFilterId?: string;
secondFilterId?: string;
conditionOperator?: Enums.TargetingDefinitionConditionOperator;
}
export interface ITargetingDefinition {
id?: string;
title?: string;
filters?: Array<ITargetingDefinitionFilter>;
conditions?: Array<ITargetingDefinitionConditionMapping>;
isDeleting?: boolean;
}
export interface ITargetingFilter {
targetingDefinition?: ITargetingDefinition;
filterValues?: {
[filterId: string]: Array<string>;
};
}
export interface ITargetingValue {
value?: any;
plainValue?: string;
}