Files
cloudbeaver/webapp/packages/plugin-navigation-tree/src/NavigationTreeSettingsService.ts
T
2fc9c72908 dbeaver/dbeaver-vscode#77 refactor: yarn & vit migration (#3229)
* dbeaver/vscode#77 refactor: yarn & vit migration

* chore: configure eslint & typescript & prettier

* fix: chunk splitting & assets loading

* fix: enable corepack

* refactor: dev environment

* chore: remove corepack enable from build scripts

* chore: make script executable

* fix: SSL check in vite dev

* chore: update debug launch configs

---------

Co-authored-by: mr-anton-t <42037741+mr-anton-t@users.noreply.github.com>
Co-authored-by: Evgenia <139753579+EvgeniaBzzz@users.noreply.github.com>
2025-02-05 00:20:23 +08:00

57 lines
1.8 KiB
TypeScript

/*
* CloudBeaver - Cloud Database Manager
* Copyright (C) 2020-2024 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 { computed, makeObservable } from 'mobx';
import { Dependency, injectable } from '@cloudbeaver/core-di';
import { SettingsManagerService, SettingsProvider, SettingsProviderService } from '@cloudbeaver/core-settings';
import { schema, schemaExtra } from '@cloudbeaver/core-utils';
const defaultSettings = schema.object({
'plugin.navigation-tree.disabled': schemaExtra.stringedBoolean().default(false),
});
export type NavigationTreeSettings = schema.infer<typeof defaultSettings>;
@injectable()
export class NavigationTreeSettingsService extends Dependency {
get disabled(): boolean {
return this.settings.getValue('plugin.navigation-tree.disabled');
}
readonly settings: SettingsProvider<typeof defaultSettings>;
constructor(
private readonly settingsProviderService: SettingsProviderService,
private readonly settingsManagerService: SettingsManagerService,
) {
super();
this.settings = this.settingsProviderService.createSettings(defaultSettings);
this.registerSettings();
makeObservable(this, {
disabled: computed,
});
}
private registerSettings() {
this.settingsManagerService.registerSettings(this.settings, () => [
// {
// group: NAVIGATION_TREE_SETTINGS_GROUP,
// key: 'plugin.navigation-tree.disabled',
// access: {
// scope: ['server'],
// },
// type: ESettingsValueType.Checkbox,
// name: 'plugin_navigation_tree_settings_disable',
// description: 'plugin_navigation_tree_settings_disable_description',
// },
]);
}
}