import { ComponentFactoryResolver, ComponentRef, ViewContainerRef } from "@angular/core"; import { Store } from "@ngrx/store"; import { Router } from "@angular/router"; import { Observable } from "rxjs"; import { IAppState } from "../../../store/app-store/state/app.state"; import { IApplicationParametersState } from "../../../store/app-store/state/application-parameters/application-parameters.state"; import { IResourcesState } from "../../../store/app-store/state/resources/resources.state"; import { IAuthenticationState } from "../../../store/app-store/state/security/authentication.state"; import { IAuthenticatedUserState } from "../../../store/app-store/state/security/authenticated-user.state"; import { IMDMState } from "../../../store/app-store/state/mdm/mdm.state"; import { IViewElementsState } from "../../../store/app-store/state/system/system.state"; import { IPartnersState } from "../../../store/app-store/state/partners/partners.state"; import { IConfigurationState } from "../../../store/app-store/state/configuration/configuration.state"; import { ITopPanelState } from "../../../store/app-store/state/top-panel/top-panel.state"; import { DisplayMode, ViewMode } from "../../../store/app-store/actions/system/system.actions"; import { IMDMElement, IMDMHierarchy, IMDMLevel, IMDMType } from "@retail-data-factory/rdf-angular-types-api"; import { IAppParamData } from "../../../store/app-store/models/application-parameters/application-parameters.interface"; import { IPartner } from "../../../store/app-store/models/partners/partners.interface"; import { IUser } from "@retail-data-factory/rdf-angular-types-api"; import { AssistTranslationService } from "@retail-data-factory/rdf-angular-translation-service"; import * as i0 from "@angular/core"; export declare type RouteStatus = 'started' | 'canceled' | 'finished'; export interface IRouteState { id: number; url: string; urlAfterRedirects: string; status: RouteStatus; } export declare class Presenter { _store: Store; private resolver; private assistTranslationService; private router; authentication$: Observable; authenticationState: IAuthenticationState; authenticatedUser$: Observable; authenticatedUserState: IAuthenticatedUserState; partners$: Observable; partnersState: IPartnersState; accounting$: Observable; accountOperations$: Observable; resources$: Observable; resourcesState: IResourcesState; currentResource$: Observable; router$: Observable; mdm$: Observable; mdmState: IMDMState; configuration$: Observable; mdm2$: any; reports$: Observable; parameters$: Observable; parametersState: IApplicationParametersState; displayMode$: Observable; viewElementsState$: Observable; topPanel$: Observable; queryParameters: object; marketplace$: Observable; marketplaceDatasourceProviders$: Observable; constructor(_store: Store, resolver: ComponentFactoryResolver, assistTranslationService: AssistTranslationService, router: Router); /** * Получить текущий токен */ get accessToken(): string; /** * Получить текущий токен WF */ get workflowToken(): string; /** * Полуить ID текущей пати */ get currentPartyId(): string; get currentDatasourcePartyId(): string; /** * Получить логин аунтентифицированного пользователя */ get login(): string; get currentUser(): IUser; setToken(accessToken: string): void; destroyToken(): void; /** * Аунтентификация пользователя по паре логин-пароль * @param login * @param password */ authenticateByLogin(login: string, password: string): void; authenticateByGoogle(oidcToken: string): void; /** * Logout */ logout(): void; setUserEmail(email: string): void; getPartners(): void; getPartnersList(): Array; getPartnerById(partyId: string): IPartner; getAccounts(): void; getAccountOperations(): void; clearAccountOperations(): void; getSelectedDataSourcePartner(): IPartner; getReportStockRotation(clear?: boolean): void; getReportMarketShare(clear?: boolean): void; getReportKeyIndicators(clear?: boolean): void; getReportProfitability(clear?: boolean): void; getReportPromo(clear?: boolean): void; getReportBestItems(clear?: boolean): void; getReportAvgPrice(clear?: boolean): void; getReportKeyIndicatorsSuppliers(clear?: boolean): void; getReportServiceLevel(clear?: boolean): void; getTasksListReport(clear?: boolean): void; getScanningsReport(clear?: boolean): void; select(selector: any): Observable; initMdmStore(): void; loadMdmTypes(): void; getMdmState(): IMDMState; getMdmType(typeCode: any): IMDMType; getConfigurationState(): IConfigurationState; setAppParamNomenclature(param: { code: string; level: string; }): void; setAppParamNomenclatureList(param: { list: Array; level: string; }): void; setAppParamOrganisation(param: { code: string; level: string; }): void; setAppParamOrganisationList(param: { list: Array; level: string; }): void; setAppParamDate(param: { from: string; to: string; periodType: string; }): void; setAppParamSupplier(param: string): void; setAppParamDatasourcePartyId(param: string): void; setAppParamFinDepartment(param: string): void; setAppParamOsaIncidentSelection(param: string): void; setAppParamOsaIncidentKind(param: string): void; setAppParamOsaIncidentType(param: Array>): void; getAppParam(): IApplicationParametersState; clearReportParameters(): void; setReportParameter(param: IAppParamData): void; removeReportParameter(param: string): void; getReportParameter(parameterType: string): IAppParamData; getReportParameters(): IApplicationParametersState; /** * Получить текущее состояние ветки хранилища * @param state$ */ getCurrentStateValue(state$: any): any; getMDMDefaultHierarchy(typeCode: string): IMDMHierarchy; getMDMLevel(typeCode: string, levelNum: number): IMDMLevel; /** * Возвращает список элементов MDM указанного типа на указанном уровне иерархии. Есть поддержка фильтрации на основании атрибутной безопасности в подписках * @param typeCode - тип справочника * @param levelNum - уровень справочника * @param resourceCode - код ресурса, по которому произвести ограничение атрибутной безопасности */ getMDMElements(typeCode: string, levelNum: number, resourceCode?: string): Array; setDisplayMode(mode: DisplayMode): void; getDisplayMode(): DisplayMode; setViewMode(mode: ViewMode): void; getViewMode(): ViewMode; getViewElementsState(): IViewElementsState; /** * Получить текущий URL */ getCurrentUrl(): string; /** * Получить URL текущего приложения, то есть первый сегмент всего URL */ getCurrentApplicationUrl(): string; checkLocalStorageToken(): void; setDisplaySize(size: { width: number; height: number; }): void; setStoredValue(componentName: string, value: object): void; removeStoredValue(componentName: string): void; getStoredValue(componentName: string): object; clearStoredValues(): void; setQueryParameters(queryParam: object): void; getQueryParameters(): object; /** * Cоздание компонента по его классу и размещение его в контейнере * Данный метод не будет работать в продуктиве, поскольку настройки минификациии TenserPlugin также минифицируют имена классов, * и соответсвенно нет возиможности найти фабрику по имени класса * @param className - имя класса компонента * @param container - контейнер, в котором будет размещен создаваемый компонент */ createComponentByClassName(className: string, container: ViewContainerRef): ComponentRef; /** * Cоздание компонента по его селектору и размещение его в контейнере * @param selectorName - имя селектора создаваемого компонента * @param container - контейнер, в котором будет размещен создаваемый компонент */ createComponentBySelector(selectorName: string, container: ViewContainerRef): ComponentRef; /** * Есть ли у текущей пати свои данные? */ hasOwnData(): boolean; get isPartyAreSubdivisionOfAdminParty(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }