import { OnDestroy } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable, Subscription } from 'rxjs'; import { FormModel } from './to-share/form-model.interface'; import { FieldItemModel } from './to-share/field-item-model.interface'; import { FormEditorConfigService, SelectableFieldItemModel } from './form-editor-config.service'; import { FormMetaModel } from './to-share/form-meta-model.interface'; import { NzModalService } from 'ng-zorro-antd/modal'; export interface FormTreeModel { title: string; key: string; parentKey?: string; selected?: boolean; children?: FormTreeModel[]; expanded?: boolean; isLeaf?: boolean; isTab?: boolean; } export interface SaveFormModel { type: SaveTypeEnum; data: string; } export declare enum EditorModeEnum { EDIT = "edit", PREVIEW = "preview", NONE = "none" } export declare enum SaveTypeEnum { DRAFT = "draft", PUBLISH = "publish" } export declare enum OrdinalDirectionEnum { UP = 0, DOWN = 1 } export interface CheckFormMetaData { title?: string; allowTitle?: CheckFormMetaDataStatus; titleErrMessage?: string; code?: string; allowCode?: CheckFormMetaDataStatus; codeErrMessage?: string; } export declare enum CheckFormMetaDataStatus { UNSET = -1, PENDING = 0, ALLOW = 1, DISALLOW = 2 } export declare class TfNgFormEditorService implements OnDestroy { private http; private formEditorConfig; private modal; private _froalaKey; formSubscription: Subscription; formUpdateSubscription: Subscription; unsavedItems: boolean; private _form; private _formTree; private _selectedTreeKey; private _editorMode; private _metaUpdated; private _formUpdated; private _save; private _close; private _checkFormMetaOutput; private _checkFormMetaInput; form: Observable; formTree: Observable; selectedTreeKey: Observable; editorMode: Observable; metaUpdated: Observable; formUpdated: Observable; save: Observable; close: Observable; checkFormMetaOutput: Observable; checkFormMetaInput: Observable; constructor(http: HttpClient, formEditorConfig: FormEditorConfigService, modal: NzModalService); set froalaKey(value: string); get froalaKey(): string; addFormItem(item: FieldItemModel, ordinum?: number | null): void; addTabsFormItem(item: FieldItemModel): void; addFormItemToFieldGroup(parentItem: FieldItemModel, item: FieldItemModel, ordinum?: number | null): void; updateFormItemsFieldGroup(formItem: FieldItemModel, fieldGroup: FieldItemModel[]): void; updateFormItem(item: FieldItemModel): void; deleteFormItem(key: string, parentKey?: string): void; getUuid(): any; duplicateFormItem(key: string, parentKey?: string): void; updateFormItemOrdinal(key: string, direction: OrdinalDirectionEnum, parentKey?: string, increment?: number): void; getFieldItemFromTreeKey(key: string): Observable; getTreeItemFromKey(key: string): Observable; findFieldItemFromTreeKey(list: FieldItemModel[], key: string): FieldItemModel; findTreeItemFromKey(list: FormTreeModel[], key: string): FormTreeModel; updateFieldItem(list: FieldItemModel[], updatedItem: FieldItemModel): FieldItemModel; isTreeChildSelected(list: FormTreeModel[]): boolean; removeFieldItemKeys(list: FieldItemModel[]): FieldItemModel[]; getFieldItemFromSelection(selectedField: SelectableFieldItemModel): FieldItemModel; initialiseNewForm(meta: FormMetaModel): void; updateMetaData(meta: FormMetaModel): void; getData(url: string): Observable; setFormFromJson(json: string): void; setFormFromModel(model: FormModel): void; nullifyForm(): Observable; resetForm(): Observable; getFormDataAsJSON(): void; initialiseFormSubscription(): void; forceParseFormToTree(): void; initialiseFormUpdateSubscription(): void; parseFormToTree(schema: FieldItemModel[], currentSelectedKey: string): Observable; parseItemToLeaf(item: FieldItemModel, currentSelectedKey: string, parentKey: string): FormTreeModel; setSelectedTreeKey(key: string): void; nullifySelectedTreeKey(): void; setEditorMode(mode: EditorModeEnum): void; saveForm(type: SaveTypeEnum): void; closeFormEditor(): void; checkFormMetaDataOutput(data: CheckFormMetaData): void; checkFormMetaDataInput(data: CheckFormMetaData): void; canDeactivate(): Promise; ngOnDestroy(): void; }