mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-10-29 18:35:19 +08:00
Merge pull request #409 from dbeaver/feat/boolean-toggle
feat(plugin-data-spreadsheet-new): CB-1047 readonly value panel for boolean columns
This commit is contained in:
+3
-2
@@ -16,7 +16,8 @@ import type { IResultSetElementKey } from './IResultSetElementKey';
|
||||
import { isResultSetContentValue } from './isResultSetContentValue';
|
||||
import { ResultSetDataAction } from './ResultSetDataAction';
|
||||
|
||||
export type IResultSetValue = string | number | Record<string, string | number | Record<string, any> | null> | null;
|
||||
export type IResultSetValue =
|
||||
string | number | boolean | Record<string, string | number | Record<string, any> | null> | null;
|
||||
|
||||
@databaseDataAction()
|
||||
export class ResultSetFormatAction extends DatabaseDataAction<any, IDatabaseResultSet>
|
||||
@@ -71,7 +72,7 @@ export class ResultSetFormatAction extends DatabaseDataAction<any, IDatabaseResu
|
||||
return JSON.stringify(value);
|
||||
}
|
||||
|
||||
if (typeof value === 'number') {
|
||||
if (typeof value === 'number' || typeof value === 'boolean') {
|
||||
return String(value);
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -17,6 +17,7 @@ import { CodeEditorLoader } from '@cloudbeaver/plugin-codemirror';
|
||||
|
||||
import type { IResultSetElementKey } from '../../DatabaseDataModel/Actions/ResultSet/IResultSetElementKey';
|
||||
import { isResultSetContentValue } from '../../DatabaseDataModel/Actions/ResultSet/isResultSetContentValue';
|
||||
import { ResultSetDataAction } from '../../DatabaseDataModel/Actions/ResultSet/ResultSetDataAction';
|
||||
import { ResultSetFormatAction } from '../../DatabaseDataModel/Actions/ResultSet/ResultSetFormatAction';
|
||||
import { ResultSetSelectAction } from '../../DatabaseDataModel/Actions/ResultSet/ResultSetSelectAction';
|
||||
import type { IDatabaseResultSet } from '../../DatabaseDataModel/IDatabaseResultSet';
|
||||
@@ -92,6 +93,7 @@ export const TextValuePresentation: TabContainerPanelComponent<IDataValuePanelPr
|
||||
|
||||
const result = model.getResult(resultIndex);
|
||||
const selection = model.source.getAction(resultIndex, ResultSetSelectAction);
|
||||
const data = model.source.getAction(resultIndex, ResultSetDataAction);
|
||||
|
||||
const selectedCells = selection.getSelectedElements();
|
||||
const focusCell = selection.getFocusedElement();
|
||||
@@ -111,7 +113,8 @@ export const TextValuePresentation: TabContainerPanelComponent<IDataValuePanelPr
|
||||
.getCell(firstSelectedCell.row, firstSelectedCell.column);
|
||||
|
||||
stringValue = format.getText(value) ?? '';
|
||||
readonly = format.isReadOnly(firstSelectedCell);
|
||||
readonly = format.isReadOnly(firstSelectedCell)
|
||||
|| data.getColumn(firstSelectedCell.column)?.dataKind?.toLowerCase() === 'boolean';
|
||||
|
||||
if (isResultSetContentValue(value)) {
|
||||
if (value.contentType) {
|
||||
|
||||
Reference in New Issue
Block a user