@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension
53 lines (52 loc) • 2.11 kB
TypeScript
import { OnInit, EventEmitter, OnChanges } from '@angular/core';
import { Shared, ITargetingDefinition, ITargetingValue } from "../../../models";
import { LocalizationService } from "../services/LocalizationService";
import { TargetingService } from "../services/TargetingService";
export interface ITargetingPickerScope {
mode: string;
targetingDefinitionId: string;
targetingDefinition: ITargetingDefinition;
hasTargeting: boolean;
targetingValues: {
[filterId: string]: ITargetingValue;
};
canSetTargetingValue: boolean;
groupMembershipLookupValues: {
[id: string]: Array<Shared.ILookupValue>;
};
isLoadingTargetingSettings: boolean;
lookupTargetingDefinitions: Array<ITargetingDefinition>;
selectTargetingDefinition: (selectedItem: ITargetingDefinition) => void;
onHasTargetingChange: () => void;
clearWatchTargetingValue: any;
}
export declare class TargetingPicker implements OnInit, OnChanges {
private targetingService;
private localizationService;
mode: string;
targetingDefinitionId: string;
targetingDefinition: ITargetingDefinition;
hasTargeting: boolean;
targetingValues: any;
onDataInitialized: Function;
targetingDefinitionIdChange: EventEmitter<string>;
targetingValuesChange: EventEmitter<any>;
targetingDefinitionChange: EventEmitter<ITargetingDefinition>;
hasTargetingChange: EventEmitter<boolean>;
static templateGuid: string;
scope: ITargetingPickerScope;
constructor(targetingService: TargetingService, localizationService: LocalizationService);
ngOnInit(): void;
ngOnChanges(changes: any): void;
link: () => void;
private onTargetingValuesChange;
private initTargetingDefinition;
private initDataBasedOnTargetingDefinition;
private selectTargetingDefinition;
private loadTargetingDefinitions;
private setGroupMembershipLookupValues;
private onHasTargetingChange;
private setTargetingPlainValue;
private initDefaultValues;
private getPlainValue;
}