import { OnDestroy } from '@angular/core'; import { Router } from '@angular/router'; import { Observable, Subject, Subscription } from 'rxjs'; import { ApiCallerService } from './api-caller.service'; import { BuilderDriverService } from './builder-driver.service'; import { NzModalService } from 'ng-zorro-antd/modal'; import { NzDrawerService } from 'ng-zorro-antd/drawer'; import { PageBuilderGuiService } from './page-builder-gui.service'; import { FormApiCallerService } from '@alfercom/dynamic-form'; import { TranslateService } from '@ngx-translate/core'; import { ActionButton } from '../types/external-types/actionButton'; import { ViewStructure } from '../types/external-types/viewStructure'; import { ExternalApiPBCaller, ExternalApiPBDriver } from '../types/pb-types/external-api-driver.interface'; import { PageBuilderDrawerResponse, PageBuilderForm, PageBuilderInstanceParameters, PageBuilderModalResponse, PageBuilderDefaultInput, ActionButtonResponse } from '../types/pb-types/page-builder.type'; import * as i0 from "@angular/core"; export declare class PageBuilderService implements OnDestroy, ExternalApiPBCaller { private pageBuilderGuiService; private builderDriverService; private apiCallerService; private router; private modalService; private drawerService; private formApiCaller; private translateService; messageLoadingId: string | null; messageLoadingPool: { loadingMessageId: string; timeoutSub: Subscription; }[]; messageLoadingTimeout: number; externalApiPBDriver: ExternalApiPBDriver; constructor(pageBuilderGuiService: PageBuilderGuiService, builderDriverService: BuilderDriverService, apiCallerService: ApiCallerService, router: Router, modalService: NzModalService, drawerService: NzDrawerService, formApiCaller: FormApiCallerService, translateService: TranslateService); /** * * @param viewId */ openPageBuilderDrawer(viewId: string): Observable; openPageBuilderDrawer(viewId: string, ...parameters: string[]): Observable; openPageBuilderDrawer(structure: PageBuilderForm): Observable; /** * * @param input */ drawerPageBuilder(input: PageBuilderInstanceParameters): Subject; /** * * @param viewId */ openPageBuilderModal(viewId: string): Observable; openPageBuilderModal(viewId: string, ...parameters: string[]): Observable; openPageBuilderModal(structure: PageBuilderForm): Observable; /** * * @param input */ modalPageBuilder(input: PageBuilderInstanceParameters): Subject; /** * * @param defaultInput * @param loadingSub */ getStructureFromDefaultInput(defaultInput: PageBuilderDefaultInput, loadingSub?: Subject): Observable<{ result: boolean; structure?: ViewStructure; error?: { messages: string[]; }; }>; /** * * @param defaultInput * @param loadingSub */ getInstanceParametersAndStructureFromDefaultInput(defaultInput: PageBuilderDefaultInput, loadingSub?: Subject): Observable<{ result: boolean; instanceParameters?: PageBuilderInstanceParameters; error?: { messages: string[]; }; }>; private handleNextOperation; /** * * @param btn * @param param */ handlerActionButton(btn: ActionButton, paramIN?: any): Observable; /** * Metodo che cerca nel bottone eventuali campi con parametri e si appoggia a * getParametricValuesAndAssign per trovare e assegnare i valori * @param btn ActionButton in cui cercare * @param values oggetto o array in cui cercare i valori */ translateParametricBtnParams(btn: ActionButton, values: any): ActionButton; /** * Dato un bottone torna lo stesso botton con eventuali parametri parametrici (che iniziano con ':' [non si applica ai queryParams negli url]) sostituiti dai valori trovati nei value * eventuali valori non parametrici resteranno inalterati, se qualche controllo blocca l'operazione torna il btn passato come input senza modifiche * @param value oggetto o array in cui cercare i valori * @param parameters campi in cui cercare e inserire i valori mappati da translateParametricBtnParams * @param btn ActionButton sul quale agire */ getParametricValuesAndAssign(value: any | any[], parameters: any, btn: ActionButton): ActionButton; private loadingMessage; private startLoading; private stopLoading; private stopLoadingById; ngOnDestroy(): void; setExternalDriver(externalDriver: ExternalApiPBDriver): void; getGuiService(): PageBuilderGuiService; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }