/
vshmidt
/
cloudbeaver
Обзор
Документация
Войти
/
vshmidt
/
cloudbeaver
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
devel
webapp/packages/plugin-administration/src/ConfigurationWizard/ServerConfiguration/ServerConfigurationFormStateManager.ts
54 строки
1 KB
Alexey Potsetsuev
dbeaver/pro#6744 refactor: migration to `@wroud/di` (#3704)
29 авг 2025, 13:22
Не верифицирован
29 авг 2025, 13:22
80f258b
Код
Авторство
О чём код?
/* * CloudBeaver - Cloud Database Manager * Copyright (C) 2020-2025 DBeaver Corp and others * * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ import { makeObservable, observable } from 'mobx'; import { injectable, IServiceProvider } from '@cloudbeaver/core-di'; import type { IFormState } from '@cloudbeaver/core-ui'; import { ServerConfigurationFormService } from './ServerConfigurationFormService.js'; import { ServerConfigurationFormState } from './ServerConfigurationFormState.js'; @injectable(() => [IServiceProvider, ServerConfigurationFormService]) export class ServerConfigurationFormStateManager { formState: ServerConfigurationFormState | null; constructor( private readonly serviceProvider: IServiceProvider, private readonly serverConfigurationFormService: ServerConfigurationFormService, ) { this.formState = null; makeObservable(this, { formState: observable.ref, }); } create(): IFormState<null> { if (this.formState) { return this.formState; } this.formState = new ServerConfigurationFormState(this.serviceProvider, this.serverConfigurationFormService); return this.formState; } async save(): Promise<boolean> { if (!this.formState) { return false; } return await this.formState.save(); } destroy(): void { if (this.formState) { this.formState?.dispose(); this.formState = null; } } }