@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
82 lines (81 loc) • 3.22 kB
TypeScript
import { IWebComponentInstance } from "../../..";
import { GuidValue, EnterprisePropertyDefinition, ExternalPropertySelectionItem } from "../../../models";
import { IEnterprisePropertyPicker } from "./IEnterprisePropertyPicker";
import { VueComponentBase, IValidator } from "../..";
import "./EnterprisePropertyPickerStyles.css";
import { EnterprisePropertyStore, EnterprisePropertyCategoryStore, MultilingualStore } from "../../../stores";
import { OmniaUxLocalization } from "../../UxModels";
export declare class EnterprisePropertyPicker extends VueComponentBase implements IWebComponentInstance, IEnterprisePropertyPicker {
preSelectedPropertyInternalName?: string | Array<string>;
propertyItems?: Array<EnterprisePropertyDefinition>;
externalPropertyItems?: Array<ExternalPropertySelectionItem>;
label: string;
disabled: boolean;
multiple: boolean;
clearable: boolean;
excludedPropertyTypeIds?: GuidValue[];
onChange: (propertyInternalName: string | Array<string>) => void;
filled: boolean;
hideDetails: boolean;
requiredWithValidator?: IValidator;
enterprisePropertyStore: EnterprisePropertyStore;
enterprisePropertyCategoryStore: EnterprisePropertyCategoryStore;
multilingualStore: MultilingualStore;
uxLoc: OmniaUxLocalization;
private pickerStyles;
private uiSelectionItems;
private propertyFilterKeyword;
private internalSelectedPropertyNames;
private textboxValue;
private uiSelectedItemIndex;
private uiMultipleExpandedGroups;
private uiAccordionExpandedGroup;
private uiSelectedPropertyInGroupIndexs;
private multipleExpansionPanel;
private uiMultipleSelectedItems;
private uiSingleSelectedPropertyTitle;
private isValid;
private isValidateTrigged;
private isLoading;
private filteringTimewatchKey;
private filteringTimewatch;
private inFilteringMode;
private needToReinitSelectionUI;
private openMenu;
private innerHeight;
private vListKey;
preSelectedEnterpriseProperyIdChanged(model: string | Array<string>): void;
propertyItemsChanged(model: string): void;
externalPropertyItemsChanged(model: string): void;
created(): void;
mounted(): void;
beforeDestroy(): void;
validate(): boolean;
clearValidation(): void;
private validateValue;
private init;
private setInternalSelectedValue;
private triggerOnChange;
private initUISelectionItems;
private resetUIItemSelected;
private resetSelectedItemIndexInGroup;
private restoreSingleSelectedValue;
private restoreAndEliminateMultipleSelectedValues;
private getPropertyDefinitionGroupListing;
private groupPropertiesByCategory;
private onFilterProperty;
private onSelectExternalProperty;
private onSelectPropertyDefinition;
private onPickedProperty;
private onRemoveChip;
private onMenuActivatorClick;
private repositionPopupList;
private onToggleCategory;
private switchToValueMode;
private renderPropertySelections;
private onClearTextboxValue;
private renderPropertyInput;
private renderSingleMode;
private renderMultipleMode;
render(): VueTsxSupport.JSX.Element;
}