mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
* 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>
57 lines
1.8 KiB
TypeScript
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',
|
|
// },
|
|
]);
|
|
}
|
|
}
|