mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
CB-4719 fix: sql editor shows lock icon only for scripts (not datasets and etc) (#2404)
Co-authored-by: s.teleshev <s.teleshev@mu.se> Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com>
This commit is contained in:
co-authored by
s.teleshev
Daria Marutkina
parent
379e0cb3db
commit
9ba77f112d
@@ -16,7 +16,13 @@ import { useService } from '@cloudbeaver/core-di';
|
||||
import { ITabData, Tab, TabIcon, TabTitle } from '@cloudbeaver/core-ui';
|
||||
import { CaptureViewContext } from '@cloudbeaver/core-view';
|
||||
import type { TabHandlerTabComponent } from '@cloudbeaver/plugin-navigation-tabs';
|
||||
import { DATA_CONTEXT_SQL_EDITOR_STATE, getSqlEditorName, ISqlEditorTabState, SqlDataSourceService } from '@cloudbeaver/plugin-sql-editor';
|
||||
import {
|
||||
DATA_CONTEXT_SQL_EDITOR_STATE,
|
||||
ESqlDataSourceFeatures,
|
||||
getSqlEditorName,
|
||||
ISqlEditorTabState,
|
||||
SqlDataSourceService,
|
||||
} from '@cloudbeaver/plugin-sql-editor';
|
||||
|
||||
import { DATA_CONTEXT_SQL_EDITOR_TAB } from './DATA_CONTEXT_SQL_EDITOR_TAB';
|
||||
import sqlEditorTabStyles from './SqlEditorTab.m.css';
|
||||
@@ -24,13 +30,13 @@ import sqlEditorTabStyles from './SqlEditorTab.m.css';
|
||||
export const SqlEditorTab: TabHandlerTabComponent<ISqlEditorTabState> = observer(function SqlEditorTab({ tab, onSelect, onClose, style }) {
|
||||
const viewContext = useContext(CaptureViewContext);
|
||||
const tabMenuContext = useDataContext(viewContext);
|
||||
|
||||
|
||||
tabMenuContext.set(DATA_CONTEXT_SQL_EDITOR_TAB, true);
|
||||
tabMenuContext.set(DATA_CONTEXT_SQL_EDITOR_STATE, tab.handlerState);
|
||||
|
||||
|
||||
const sqlDataSourceService = useService(SqlDataSourceService);
|
||||
const connectionInfo = useService(ConnectionInfoResource);
|
||||
|
||||
|
||||
const translate = useTranslate();
|
||||
|
||||
const dataSource = sqlDataSourceService.get(tab.handlerState.editorId);
|
||||
@@ -44,6 +50,7 @@ export const SqlEditorTab: TabHandlerTabComponent<ISqlEditorTabState> = observer
|
||||
const name = getSqlEditorName(tab.handlerState, dataSource, connection);
|
||||
const icon = dataSource?.icon ?? '/icons/sql_script_m.svg';
|
||||
const saved = dataSource?.isSaved !== false;
|
||||
const isScript = dataSource?.hasFeature(ESqlDataSourceFeatures.script);
|
||||
const isReadonly = Boolean(dataSource?.isReadonly());
|
||||
const hasUnsavedMark = !saved && !isReadonly;
|
||||
|
||||
@@ -54,7 +61,9 @@ export const SqlEditorTab: TabHandlerTabComponent<ISqlEditorTabState> = observer
|
||||
<Tab tabId={tab.id} style={style} title={name} menuContext={tabMenuContext} onOpen={handleSelect} onClose={handleClose}>
|
||||
<TabIcon icon={icon} />
|
||||
<TabTitle>{name}</TabTitle>
|
||||
{isReadonly && <IconOrImage title={translate('ui_readonly')} icon="/icons/lock.png" className={s(sqlEditorTabStyles, { readonlyIcon: true })} />}
|
||||
{isReadonly && isScript && (
|
||||
<IconOrImage title={translate('ui_readonly')} icon="/icons/lock.png" className={s(sqlEditorTabStyles, { readonlyIcon: true })} />
|
||||
)}
|
||||
{hasUnsavedMark && <unsaved-mark className={s(sqlEditorTabStyles, { unsavedMark: true })} />}
|
||||
</Tab>,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user