@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
117 lines (116 loc) • 3.92 kB
TypeScript
import { FeaturesLocalization, OmniaTheming, VueComponentBase } from "..";
import { SubscriptionHandler } from "../../";
import { OmniaContext } from "../../contexts";
import { FeatureInstance, GuidValue } from "../../models";
import { SecurityService } from "../../services";
import { FeatureStore } from "../../stores";
export interface VDataGridHeader {
sortable: boolean;
text: string;
align: string;
}
export interface VDataGridItemScopedSlot<TItem> {
item?: TItem;
selected?: boolean;
isGroupHeader?: boolean;
title?: string;
description?: string;
consentInformation?: string;
category?: string;
needConsent?: boolean;
isBusy?: boolean;
hasError?: boolean;
errorMsg?: string;
}
export interface IFeatureActivationProps {
appInstanceId?: GuidValue;
handleClose: () => void;
handleFeatureAction: (action: string, featureId: GuidValue) => void;
targetResolverType: string;
}
export declare class FeatureActivation extends VueComponentBase<IFeatureActivationProps> {
appInstanceId: GuidValue;
handleClose: () => void;
handleFeatureAction: (action: string, featureId: GuidValue) => void;
targetResolverType: string;
private omniaUxLoc;
loc: FeaturesLocalization.locInterface;
featureStore: FeatureStore;
private appStore;
private themeStore;
omniaTheming: OmniaTheming;
omniaContext: OmniaContext;
subscriptionHandler: SubscriptionHandler;
securityService: SecurityService;
private serviceContainerContext;
key: string;
isLoadingPermissions: boolean;
isLoadingFeatures: boolean;
private isLoadingApp;
isUpgradingFull: boolean;
featuresInstances: Array<VDataGridItemScopedSlot<FeatureInstance>>;
featuresRequireUpgrade: Array<VDataGridItemScopedSlot<FeatureInstance>>;
bindingState: string;
headers: Array<VDataGridHeader>;
allowCheckingStatus: boolean;
private readonly consentDialogHeaders;
private requiredConsentFeatures;
private currentConsentFeatureId;
private consentDialogVisible;
private consentUrlDialogVisible;
private deleteAppDialog;
private featureDeactive;
private azureAdPermissionResourcesPromise;
private resources;
private consentUrl;
private appInstance;
private appTemplate;
private colors;
private styles;
private consentLinkReady;
private pullIntervalHandler;
private checkLastRequiredFeatureLoading;
private lastRquiredPermissionFeature;
private isMissingAdPermission;
created(): void;
beforeDestroy(): void;
get isLoading(): boolean;
private loadData;
private pollingFeatureStatusIfNeeded;
private isPollingNeeded;
private editingFeatureInstance;
private getProvidedParameterValues;
onClose(): void;
onFeatureAction(action: any, featureId: any): void;
private bindFeaturesInstances;
private handlePropertyBlade;
private handleFeatureStatus;
private activateFeature;
private requestConsent;
private removeFeature;
private upgradeFeature;
private doOneFeatureUpgradeAsPromise;
private upgradeAllFeatures;
private getTenantPermissionsResources;
private populateAzureAdPermissionsInfo;
private getConsentUrl;
private buildRedirectUrl;
private getRedirectUrl;
private checkRequestedPermissionsSynced;
private checkRequestedPermissionsReady;
private adminConsentRedirect;
private copyUrlToClipboard;
private showConsentDialog;
private closeConsentDialog;
private isLastRequiredPermissionFeature;
private renderItems;
private renderItemAction;
private renderItemExpansionInfoAndAction;
private renderPermissions;
private renderAvatar;
private renderMissingPermissions;
render(): VueTsxSupport.JSX.Element;
private renderDialog;
private renderConsentUrlDialog;
private renderDeleteDialog;
}