@finos/legend-application-repl 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/LegendREPLFrameworkProvider.js +1 -1
- package/lib/components/LegendREPLFrameworkProvider.js.map +1 -1
- package/lib/components/REPLStoreProvider.d.ts +1 -1
- package/lib/components/REPLStoreProvider.d.ts.map +1 -1
- package/lib/components/REPLStoreProvider.js +1 -1
- package/lib/components/REPLStoreProvider.js.map +1 -1
- package/lib/components/REPLWindow.d.ts +33 -0
- package/lib/components/REPLWindow.d.ts.map +1 -0
- package/lib/components/REPLWindow.js +117 -0
- package/lib/components/REPLWindow.js.map +1 -0
- package/lib/components/dataCube/DataCube.js +1 -1
- package/lib/components/dataCube/DataCube.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditor.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditor.js +12 -91
- package/lib/components/dataCube/editor/DataCubeEditor.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorCodePanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js +161 -87
- package/lib/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js +0 -1
- package/lib/components/dataCube/editor/DataCubeEditorColumnsSelector.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorDeveloperPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorFilterPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js +96 -55
- package/lib/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorHPivotsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts +1 -0
- package/lib/components/dataCube/editor/DataCubeEditorShared.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorShared.js +44 -27
- package/lib/components/dataCube/editor/DataCubeEditorShared.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorSortsPanel.js.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.d.ts.map +1 -1
- package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js +3 -2
- package/lib/components/dataCube/editor/DataCubeEditorVPivotsPanel.js.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGrid.d.ts +3 -0
- package/lib/components/dataCube/grid/DataCubeGrid.d.ts.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGrid.js +186 -75
- package/lib/components/dataCube/grid/DataCubeGrid.js.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGridShared.d.ts +1 -1
- package/lib/components/dataCube/grid/DataCubeGridShared.d.ts.map +1 -1
- package/lib/components/dataCube/grid/DataCubeGridShared.js +1 -1
- package/lib/components/dataCube/grid/DataCubeGridShared.js.map +1 -1
- package/lib/components/dataCube/grid/menu/DataCubeGridMenu.d.ts.map +1 -1
- package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js +60 -29
- package/lib/components/dataCube/grid/menu/DataCubeGridMenu.js.map +1 -1
- package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.d.ts.map +1 -1
- package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js +10 -10
- package/lib/components/dataCube/grid/menu/DataCubeGridSortsMenu.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +14 -14
- package/lib/stores/{dataCube/REPLStore.d.ts → REPLStore.d.ts} +5 -3
- package/lib/stores/REPLStore.d.ts.map +1 -0
- package/lib/stores/{dataCube/REPLStore.js → REPLStore.js} +5 -2
- package/lib/stores/REPLStore.js.map +1 -0
- package/lib/stores/dataCube/{core/DataCubeEngine.d.ts → DataCubeInfrastructure.d.ts} +20 -4
- package/lib/stores/dataCube/DataCubeInfrastructure.d.ts.map +1 -0
- package/lib/stores/dataCube/{core/DataCubeEngine.js → DataCubeInfrastructure.js} +31 -3
- package/lib/stores/dataCube/DataCubeInfrastructure.js.map +1 -0
- package/lib/stores/dataCube/DataCubeState.d.ts +4 -4
- package/lib/stores/dataCube/DataCubeState.d.ts.map +1 -1
- package/lib/stores/dataCube/DataCubeState.js +7 -8
- package/lib/stores/dataCube/DataCubeState.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts +42 -38
- package/lib/stores/dataCube/core/DataCubeConfiguration.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfiguration.js +84 -78
- package/lib/stores/dataCube/core/DataCubeConfiguration.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js +2 -1
- package/lib/stores/dataCube/core/DataCubeConfigurationBuilder.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeCoreState.d.ts +1 -1
- package/lib/stores/dataCube/core/DataCubeCoreState.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeCoreState.js +1 -1
- package/lib/stores/dataCube/core/DataCubeCoreState.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js +6 -6
- package/lib/stores/dataCube/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts +46 -29
- package/lib/stores/dataCube/core/DataCubeQueryEngine.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQueryEngine.js +68 -50
- package/lib/stores/dataCube/core/DataCubeQueryEngine.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js +5 -5
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts +1 -3
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.d.ts.map +1 -1
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js +2 -3
- package/lib/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +3 -0
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js +9 -0
- package/lib/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts +8 -7
- package/lib/stores/dataCube/editor/DataCubeEditorState.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeEditorState.js +21 -17
- package/lib/stores/dataCube/editor/DataCubeEditorState.js.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts +43 -38
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.d.ts.map +1 -1
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js +209 -128
- package/lib/stores/dataCube/editor/DataCubeMutableConfiguration.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts +32 -0
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js +34 -1
- package/lib/stores/dataCube/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts +4 -1
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js +327 -36
- package/lib/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.js.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts +16 -2
- package/lib/stores/dataCube/grid/DataCubeGridState.d.ts.map +1 -1
- package/lib/stores/dataCube/grid/DataCubeGridState.js +51 -21
- package/lib/stores/dataCube/grid/DataCubeGridState.js.map +1 -1
- package/package.json +20 -20
- package/src/components/LegendREPLFrameworkProvider.tsx +1 -1
- package/src/components/REPLStoreProvider.tsx +1 -1
- package/src/components/REPLWindow.tsx +179 -0
- package/src/components/dataCube/DataCube.tsx +1 -1
- package/src/components/dataCube/editor/DataCubeEditor.tsx +79 -190
- package/src/components/dataCube/editor/DataCubeEditorCodePanel.tsx +3 -1
- package/src/components/dataCube/editor/DataCubeEditorColumnPropertiesPanel.tsx +480 -279
- package/src/components/dataCube/editor/DataCubeEditorColumnsPanel.tsx +1 -1
- package/src/components/dataCube/editor/DataCubeEditorColumnsSelector.tsx +0 -1
- package/src/components/dataCube/editor/DataCubeEditorDeveloperPanel.tsx +3 -1
- package/src/components/dataCube/editor/DataCubeEditorExtendedColumnsPanel.tsx +3 -1
- package/src/components/dataCube/editor/DataCubeEditorFilterPanel.tsx +3 -1
- package/src/components/dataCube/editor/DataCubeEditorGeneralPropertiesPanel.tsx +235 -174
- package/src/components/dataCube/editor/DataCubeEditorHPivotsPanel.tsx +3 -1
- package/src/components/dataCube/editor/DataCubeEditorShared.tsx +69 -33
- package/src/components/dataCube/editor/DataCubeEditorSortsPanel.tsx +1 -1
- package/src/components/dataCube/editor/DataCubeEditorVPivotsPanel.tsx +3 -1
- package/src/components/dataCube/grid/DataCubeGrid.tsx +310 -149
- package/src/components/dataCube/grid/DataCubeGridShared.tsx +5 -1
- package/src/components/dataCube/grid/menu/DataCubeGridMenu.tsx +76 -29
- package/src/components/dataCube/grid/menu/DataCubeGridSortsMenu.tsx +10 -11
- package/src/stores/{dataCube/REPLStore.ts → REPLStore.ts} +6 -3
- package/src/stores/dataCube/{core/DataCubeEngine.ts → DataCubeInfrastructure.ts} +40 -3
- package/src/stores/dataCube/DataCubeState.ts +9 -9
- package/src/stores/dataCube/core/DataCubeConfiguration.ts +106 -86
- package/src/stores/dataCube/core/DataCubeConfigurationBuilder.ts +5 -1
- package/src/stores/dataCube/core/DataCubeCoreState.ts +4 -1
- package/src/stores/dataCube/core/DataCubeQueryBuilder.ts +11 -11
- package/src/stores/dataCube/core/DataCubeQueryEngine.ts +70 -49
- package/src/stores/dataCube/core/DataCubeQuerySnapshotBuilder.ts +6 -7
- package/src/stores/dataCube/core/DataCubeQuerySnapshotSubscriber.ts +6 -5
- package/src/stores/dataCube/editor/DataCubeEditorColumnPropertiesPanelState.ts +14 -0
- package/src/stores/dataCube/editor/DataCubeEditorState.ts +26 -19
- package/src/stores/dataCube/editor/DataCubeMutableConfiguration.ts +247 -139
- package/src/stores/dataCube/grid/DataCubeGridClientEngine.ts +55 -1
- package/src/stores/dataCube/grid/DataCubeGridQuerySnapshotAnalyzer.tsx +491 -43
- package/src/stores/dataCube/grid/DataCubeGridState.ts +73 -20
- package/tsconfig.json +3 -2
- package/lib/stores/dataCube/REPLStore.d.ts.map +0 -1
- package/lib/stores/dataCube/REPLStore.js.map +0 -1
- package/lib/stores/dataCube/core/DataCubeEngine.d.ts.map +0 -1
- package/lib/stores/dataCube/core/DataCubeEngine.js.map +0 -1
|
@@ -18,6 +18,7 @@ import { cn, DataCubeIcon, useDropdownMenu } from '@finos/legend-art';
|
|
|
18
18
|
import { observer } from 'mobx-react-lite';
|
|
19
19
|
import { useREPLStore } from '../../REPLStoreProvider.js';
|
|
20
20
|
import {
|
|
21
|
+
Advanced_Badge,
|
|
21
22
|
DataCubeEditorCheckbox,
|
|
22
23
|
DataCubeEditorColorPickerButton,
|
|
23
24
|
DataCubeEditorDropdownMenu,
|
|
@@ -31,28 +32,29 @@ import {
|
|
|
31
32
|
import {
|
|
32
33
|
DataCubeAggregateFunction,
|
|
33
34
|
DataCubeColumnDataType,
|
|
35
|
+
DataCubeColumnKind,
|
|
34
36
|
DataCubeColumnPinPlacement,
|
|
35
37
|
DataCubeFont,
|
|
36
|
-
|
|
38
|
+
DataCubeFontCase,
|
|
39
|
+
DataCubeFontFormatUnderlineVariant,
|
|
37
40
|
DataCubeFontTextAlignment,
|
|
38
41
|
DataCubeNumberScale,
|
|
39
|
-
DEFAULT_BACKGROUND_COLOR,
|
|
40
42
|
DEFAULT_COLUMN_MAX_WIDTH,
|
|
41
43
|
DEFAULT_COLUMN_MIN_WIDTH,
|
|
42
44
|
DEFAULT_COLUMN_WIDTH,
|
|
43
|
-
|
|
44
|
-
DEFAULT_FOREGROUND_COLOR,
|
|
45
|
-
DEFAULT_NEGATIVE_FOREGROUND_COLOR,
|
|
46
|
-
DEFAULT_ZERO_FOREGROUND_COLOR,
|
|
45
|
+
DEFAULT_URL_LABEL_QUERY_PARAM,
|
|
47
46
|
} from '../../../stores/dataCube/core/DataCubeQueryEngine.js';
|
|
48
47
|
|
|
49
48
|
export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
50
49
|
const replStore = useREPLStore();
|
|
51
50
|
const dataCube = replStore.dataCube;
|
|
52
|
-
const panel = dataCube.editor.
|
|
51
|
+
const panel = dataCube.editor.columnProperties;
|
|
52
|
+
const gridConfiguration = dataCube.editor.generalProperties.configuration;
|
|
53
53
|
const selectedColumn = panel.selectedColumn;
|
|
54
54
|
const [openColumnsDropdown, closeColumnsDropdown, columnsDropdownProps] =
|
|
55
55
|
useDropdownMenu();
|
|
56
|
+
const [openKindDropdown, closeKindDropdown, kindDropdownProps] =
|
|
57
|
+
useDropdownMenu();
|
|
56
58
|
const [
|
|
57
59
|
openAggregationTypeDropdown,
|
|
58
60
|
closeAggregationTypeDropdown,
|
|
@@ -74,25 +76,39 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
74
76
|
openFontSizeDropdownProps,
|
|
75
77
|
] = useDropdownMenu();
|
|
76
78
|
const [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
openFontFormatUnderlineVariantDropdown,
|
|
80
|
+
closeFontFormatUnderlineVariantDropdown,
|
|
81
|
+
fontFormatUnderlineVariantDropdownProps,
|
|
80
82
|
] = useDropdownMenu();
|
|
81
83
|
const [
|
|
82
84
|
openColumnPinDropdown,
|
|
83
85
|
closeColumnPinDropdown,
|
|
84
86
|
columnPinDropdownProps,
|
|
85
87
|
] = useDropdownMenu();
|
|
88
|
+
const [openFontCaseDropdown, closeFontCaseDropdown, fontCaseDropdownProps] =
|
|
89
|
+
useDropdownMenu();
|
|
86
90
|
|
|
87
91
|
return (
|
|
88
92
|
<div className="h-full w-full select-none p-2">
|
|
89
|
-
<div className="flex h-6">
|
|
90
|
-
<div className="
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
+
<div className="flex h-6 justify-between">
|
|
94
|
+
<div className="flex h-full">
|
|
95
|
+
<div className="relative flex h-6 items-center text-xl font-medium">
|
|
96
|
+
<DataCubeIcon.TableColumn />
|
|
97
|
+
<DataCubeIcon.TableColumnOptions__Settings className="absolute bottom-1 right-0 bg-white text-xs" />
|
|
98
|
+
</div>
|
|
99
|
+
<div className="ml-1 flex h-6 items-center text-xl font-medium">
|
|
100
|
+
Column Properties
|
|
101
|
+
</div>
|
|
93
102
|
</div>
|
|
94
|
-
<div className="
|
|
95
|
-
|
|
103
|
+
<div className="flex h-full items-center pr-2">
|
|
104
|
+
<DataCubeEditorCheckbox
|
|
105
|
+
label="Show advanced settings"
|
|
106
|
+
checked={panel.showAdvancedSettings}
|
|
107
|
+
onChange={() =>
|
|
108
|
+
panel.setShowAdvancedSettings(!panel.showAdvancedSettings)
|
|
109
|
+
}
|
|
110
|
+
/>
|
|
111
|
+
<Advanced_Badge />
|
|
96
112
|
</div>
|
|
97
113
|
</div>
|
|
98
114
|
<div className="flex h-[calc(100%_-_24px)] w-full">
|
|
@@ -105,7 +121,16 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
105
121
|
className="w-80"
|
|
106
122
|
onClick={openColumnsDropdown}
|
|
107
123
|
>
|
|
108
|
-
|
|
124
|
+
<div className="flex h-full w-full items-center">
|
|
125
|
+
<div className="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
|
126
|
+
{selectedColumn?.name ?? '(None)'}
|
|
127
|
+
</div>
|
|
128
|
+
{selectedColumn && (
|
|
129
|
+
<div className="ml-1.5 mr-0.5 flex h-3.5 w-12 flex-shrink-0 items-center justify-center rounded-sm border border-neutral-300 bg-neutral-100 text-xs font-medium uppercase text-neutral-600">
|
|
130
|
+
{selectedColumn.dataType}
|
|
131
|
+
</div>
|
|
132
|
+
)}
|
|
133
|
+
</div>
|
|
109
134
|
</DataCubeEditorDropdownMenuTrigger>
|
|
110
135
|
<DataCubeEditorDropdownMenu
|
|
111
136
|
className="w-80"
|
|
@@ -119,23 +144,50 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
119
144
|
closeColumnsDropdown();
|
|
120
145
|
}}
|
|
121
146
|
>
|
|
122
|
-
|
|
147
|
+
<div className="overflow-hidden overflow-ellipsis whitespace-nowrap">
|
|
148
|
+
{column.name}
|
|
149
|
+
</div>
|
|
150
|
+
<div className="ml-1.5 mr-0.5 flex h-3.5 w-12 flex-shrink-0 items-center justify-center rounded-sm border border-neutral-300 bg-neutral-100 text-xs font-medium uppercase text-neutral-600">
|
|
151
|
+
{column.dataType}
|
|
152
|
+
</div>
|
|
123
153
|
</DataCubeEditorDropdownMenuItem>
|
|
124
154
|
))}
|
|
125
155
|
</DataCubeEditorDropdownMenu>
|
|
126
|
-
{selectedColumn && (
|
|
127
|
-
// TODO: if this is an extended column, show the info and link it
|
|
128
|
-
// e.g. `Extended Column (Leaf)`, `Extended Column (Group)`
|
|
129
|
-
// with arrow button to go to the extended column editor
|
|
156
|
+
{panel.showAdvancedSettings && selectedColumn && (
|
|
130
157
|
<>
|
|
131
|
-
<div className="
|
|
132
|
-
<div className="
|
|
133
|
-
<div className="
|
|
134
|
-
|
|
158
|
+
<div className="mx-2 h-[1px] w-4 flex-shrink-0 bg-neutral-400" />
|
|
159
|
+
<div className="flex h-6 items-center">
|
|
160
|
+
<div className="flex h-full flex-shrink-0 items-center text-sm">
|
|
161
|
+
Kind:
|
|
135
162
|
</div>
|
|
136
|
-
<
|
|
163
|
+
<DataCubeEditorDropdownMenuTrigger
|
|
164
|
+
className="ml-1 w-20"
|
|
165
|
+
onClick={openKindDropdown}
|
|
166
|
+
disabled={true}
|
|
167
|
+
>
|
|
137
168
|
{selectedColumn.kind}
|
|
138
|
-
</
|
|
169
|
+
</DataCubeEditorDropdownMenuTrigger>
|
|
170
|
+
<DataCubeEditorDropdownMenu
|
|
171
|
+
className="w-20"
|
|
172
|
+
{...kindDropdownProps}
|
|
173
|
+
>
|
|
174
|
+
{[
|
|
175
|
+
DataCubeColumnKind.DIMENSION,
|
|
176
|
+
DataCubeColumnKind.MEASURE,
|
|
177
|
+
].map((kind) => (
|
|
178
|
+
<DataCubeEditorDropdownMenuItem
|
|
179
|
+
key={kind}
|
|
180
|
+
onClick={() => {
|
|
181
|
+
selectedColumn.setKind(kind);
|
|
182
|
+
closeKindDropdown();
|
|
183
|
+
}}
|
|
184
|
+
>
|
|
185
|
+
{kind}
|
|
186
|
+
</DataCubeEditorDropdownMenuItem>
|
|
187
|
+
))}
|
|
188
|
+
</DataCubeEditorDropdownMenu>
|
|
189
|
+
<Advanced_Badge />
|
|
190
|
+
<WIP_Badge />
|
|
139
191
|
</div>
|
|
140
192
|
</>
|
|
141
193
|
)}
|
|
@@ -145,7 +197,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
145
197
|
|
|
146
198
|
{selectedColumn && (
|
|
147
199
|
<>
|
|
148
|
-
<div className="mt-
|
|
200
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
149
201
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
150
202
|
Display Name:
|
|
151
203
|
</div>
|
|
@@ -163,7 +215,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
163
215
|
|
|
164
216
|
{selectedColumn.dataType === DataCubeColumnDataType.NUMBER && (
|
|
165
217
|
<>
|
|
166
|
-
<div className="mt-2 flex h-
|
|
218
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
167
219
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
168
220
|
Number Format:
|
|
169
221
|
</div>
|
|
@@ -201,7 +253,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
201
253
|
/>
|
|
202
254
|
</div>
|
|
203
255
|
|
|
204
|
-
<div className="mt-2 flex h-
|
|
256
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
205
257
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
206
258
|
Number Scale:
|
|
207
259
|
</div>
|
|
@@ -222,6 +274,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
222
274
|
DataCubeNumberScale.THOUSANDS,
|
|
223
275
|
DataCubeNumberScale.MILLIONS,
|
|
224
276
|
DataCubeNumberScale.BILLIONS,
|
|
277
|
+
DataCubeNumberScale.TRILLIONS,
|
|
225
278
|
DataCubeNumberScale.AUTO,
|
|
226
279
|
].map((scale) => (
|
|
227
280
|
<DataCubeEditorDropdownMenuItem
|
|
@@ -237,7 +290,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
237
290
|
</DataCubeEditorDropdownMenu>
|
|
238
291
|
</div>
|
|
239
292
|
|
|
240
|
-
<div className="mt-2 flex h-
|
|
293
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
241
294
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
242
295
|
Aggregation Type:
|
|
243
296
|
</div>
|
|
@@ -271,20 +324,9 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
271
324
|
))}
|
|
272
325
|
</DataCubeEditorDropdownMenu>
|
|
273
326
|
<WIP_Badge />
|
|
274
|
-
<div className="ml-2 h-[1px] w-4 bg-neutral-400" />
|
|
275
|
-
<div className="mx-2 flex h-full flex-shrink-0 items-center text-sm">
|
|
276
|
-
Weight Column:
|
|
277
|
-
</div>
|
|
278
|
-
<DataCubeEditorDropdownMenuTrigger
|
|
279
|
-
className="w-32"
|
|
280
|
-
disabled={true}
|
|
281
|
-
>
|
|
282
|
-
{selectedColumn.weightColumn ?? '(None)'}
|
|
283
|
-
</DataCubeEditorDropdownMenuTrigger>
|
|
284
|
-
<WIP_Badge />
|
|
285
327
|
</div>
|
|
286
328
|
|
|
287
|
-
<div className="mt-2 flex h-
|
|
329
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
288
330
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
289
331
|
Exclude from HPivot?
|
|
290
332
|
</div>
|
|
@@ -304,7 +346,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
304
346
|
|
|
305
347
|
{selectedColumn.dataType === DataCubeColumnDataType.TEXT && (
|
|
306
348
|
<>
|
|
307
|
-
<div className="mt-2 flex h-
|
|
349
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
308
350
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
309
351
|
Dislay as Link?
|
|
310
352
|
</div>
|
|
@@ -316,13 +358,194 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
316
358
|
)
|
|
317
359
|
}
|
|
318
360
|
/>
|
|
361
|
+
<div className="ml-1 h-[1px] w-2 flex-shrink-0 bg-neutral-400" />
|
|
362
|
+
<div className="ml-2 mr-1.5 flex h-full flex-shrink-0 items-center text-sm">
|
|
363
|
+
Use Parameter in Link as Label:
|
|
364
|
+
</div>
|
|
365
|
+
<DataCubeEditorTextInput
|
|
366
|
+
className="w-48"
|
|
367
|
+
placeholder={DEFAULT_URL_LABEL_QUERY_PARAM}
|
|
368
|
+
value={selectedColumn.linkLabelParameter ?? ''}
|
|
369
|
+
onChange={(event) => {
|
|
370
|
+
const value = event.target.value.trim();
|
|
371
|
+
selectedColumn.setLinkLabelParameter(
|
|
372
|
+
value !== '' ? value : undefined,
|
|
373
|
+
);
|
|
374
|
+
}}
|
|
375
|
+
/>
|
|
319
376
|
</div>
|
|
320
377
|
</>
|
|
321
378
|
)}
|
|
322
379
|
|
|
380
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
381
|
+
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
382
|
+
Visibility:
|
|
383
|
+
</div>
|
|
384
|
+
<DataCubeEditorCheckbox
|
|
385
|
+
label="Blur content"
|
|
386
|
+
checked={selectedColumn.blur}
|
|
387
|
+
onChange={() => selectedColumn.setBlur(!selectedColumn.blur)}
|
|
388
|
+
disabled={selectedColumn.hideFromView}
|
|
389
|
+
/>
|
|
390
|
+
<DataCubeEditorCheckbox
|
|
391
|
+
className="ml-3"
|
|
392
|
+
label="Hide from view"
|
|
393
|
+
checked={selectedColumn.hideFromView}
|
|
394
|
+
onChange={() =>
|
|
395
|
+
selectedColumn.setHideFromView(!selectedColumn.hideFromView)
|
|
396
|
+
}
|
|
397
|
+
disabled={true}
|
|
398
|
+
/>
|
|
399
|
+
<WIP_Badge />
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
403
|
+
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
404
|
+
Pin:
|
|
405
|
+
</div>
|
|
406
|
+
<DataCubeEditorDropdownMenuTrigger
|
|
407
|
+
className="w-14"
|
|
408
|
+
onClick={openColumnPinDropdown}
|
|
409
|
+
>
|
|
410
|
+
{selectedColumn.pinned ?? '(None)'}
|
|
411
|
+
</DataCubeEditorDropdownMenuTrigger>
|
|
412
|
+
<DataCubeEditorDropdownMenu
|
|
413
|
+
className="w-14"
|
|
414
|
+
{...columnPinDropdownProps}
|
|
415
|
+
>
|
|
416
|
+
{[
|
|
417
|
+
undefined,
|
|
418
|
+
DataCubeColumnPinPlacement.LEFT,
|
|
419
|
+
DataCubeColumnPinPlacement.RIGHT,
|
|
420
|
+
].map((placement) => (
|
|
421
|
+
<DataCubeEditorDropdownMenuItem
|
|
422
|
+
key={placement ?? ''}
|
|
423
|
+
onClick={() => {
|
|
424
|
+
selectedColumn.setPinned(placement);
|
|
425
|
+
closeColumnPinDropdown();
|
|
426
|
+
}}
|
|
427
|
+
>
|
|
428
|
+
{placement ?? '(None)'}
|
|
429
|
+
</DataCubeEditorDropdownMenuItem>
|
|
430
|
+
))}
|
|
431
|
+
</DataCubeEditorDropdownMenu>
|
|
432
|
+
</div>
|
|
433
|
+
|
|
434
|
+
<div className="mt-1.5 flex h-6 w-full items-center">
|
|
435
|
+
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
436
|
+
Width:
|
|
437
|
+
</div>
|
|
438
|
+
<DataCubeEditorCheckbox
|
|
439
|
+
label="(Any)"
|
|
440
|
+
checked={
|
|
441
|
+
selectedColumn.fixedWidth === undefined &&
|
|
442
|
+
selectedColumn.minWidth === undefined &&
|
|
443
|
+
selectedColumn.maxWidth === undefined
|
|
444
|
+
}
|
|
445
|
+
onChange={() => {
|
|
446
|
+
if (
|
|
447
|
+
selectedColumn.fixedWidth === undefined &&
|
|
448
|
+
selectedColumn.minWidth === undefined &&
|
|
449
|
+
selectedColumn.maxWidth === undefined
|
|
450
|
+
) {
|
|
451
|
+
selectedColumn.setFixedWidth(DEFAULT_COLUMN_WIDTH);
|
|
452
|
+
selectedColumn.setMinWidth(undefined);
|
|
453
|
+
selectedColumn.setMaxWidth(undefined);
|
|
454
|
+
} else {
|
|
455
|
+
selectedColumn.setFixedWidth(undefined);
|
|
456
|
+
selectedColumn.setMinWidth(undefined);
|
|
457
|
+
selectedColumn.setMaxWidth(undefined);
|
|
458
|
+
}
|
|
459
|
+
}}
|
|
460
|
+
/>
|
|
461
|
+
|
|
462
|
+
<DataCubeEditorCheckbox
|
|
463
|
+
className="ml-3"
|
|
464
|
+
label="Fixed"
|
|
465
|
+
checked={selectedColumn.fixedWidth !== undefined}
|
|
466
|
+
onChange={() => {
|
|
467
|
+
selectedColumn.setFixedWidth(
|
|
468
|
+
selectedColumn.fixedWidth !== undefined
|
|
469
|
+
? undefined
|
|
470
|
+
: DEFAULT_COLUMN_WIDTH,
|
|
471
|
+
);
|
|
472
|
+
selectedColumn.setMinWidth(undefined);
|
|
473
|
+
selectedColumn.setMaxWidth(undefined);
|
|
474
|
+
}}
|
|
475
|
+
/>
|
|
476
|
+
<div className="ml-1 h-[1px] w-2 flex-shrink-0 bg-neutral-400" />
|
|
477
|
+
<DataCubeEditorNumberInput
|
|
478
|
+
className="ml-1 w-16 text-sm"
|
|
479
|
+
min={0}
|
|
480
|
+
step={50}
|
|
481
|
+
defaultValue={undefined}
|
|
482
|
+
isValid={(value) => value !== undefined && value > 0}
|
|
483
|
+
value={selectedColumn.fixedWidth}
|
|
484
|
+
setValue={(value) => {
|
|
485
|
+
selectedColumn.setFixedWidth(value);
|
|
486
|
+
}}
|
|
487
|
+
disabled={
|
|
488
|
+
selectedColumn.minWidth !== undefined ||
|
|
489
|
+
selectedColumn.maxWidth !== undefined
|
|
490
|
+
}
|
|
491
|
+
/>
|
|
492
|
+
|
|
493
|
+
<DataCubeEditorCheckbox
|
|
494
|
+
className="ml-3"
|
|
495
|
+
label="In range"
|
|
496
|
+
checked={
|
|
497
|
+
selectedColumn.minWidth !== undefined ||
|
|
498
|
+
selectedColumn.maxWidth !== undefined
|
|
499
|
+
}
|
|
500
|
+
onChange={() => {
|
|
501
|
+
if (
|
|
502
|
+
selectedColumn.minWidth === undefined &&
|
|
503
|
+
selectedColumn.maxWidth === undefined
|
|
504
|
+
) {
|
|
505
|
+
selectedColumn.setMinWidth(DEFAULT_COLUMN_MIN_WIDTH);
|
|
506
|
+
selectedColumn.setMaxWidth(DEFAULT_COLUMN_MAX_WIDTH);
|
|
507
|
+
selectedColumn.setFixedWidth(undefined);
|
|
508
|
+
} else {
|
|
509
|
+
selectedColumn.setMinWidth(undefined);
|
|
510
|
+
selectedColumn.setMaxWidth(undefined);
|
|
511
|
+
selectedColumn.setFixedWidth(undefined);
|
|
512
|
+
}
|
|
513
|
+
}}
|
|
514
|
+
/>
|
|
515
|
+
<div className="ml-1 h-[1px] w-2 flex-shrink-0 bg-neutral-400" />
|
|
516
|
+
<DataCubeEditorNumberInput
|
|
517
|
+
className="ml-1 w-16 text-sm"
|
|
518
|
+
min={0}
|
|
519
|
+
step={50}
|
|
520
|
+
defaultValue={undefined}
|
|
521
|
+
isValid={(value) => value !== undefined && value > 0}
|
|
522
|
+
value={selectedColumn.minWidth}
|
|
523
|
+
setValue={(value) => {
|
|
524
|
+
selectedColumn.setMinWidth(value);
|
|
525
|
+
}}
|
|
526
|
+
disabled={selectedColumn.fixedWidth !== undefined}
|
|
527
|
+
/>
|
|
528
|
+
<div className="ml-1 h-[1px] w-1 flex-shrink-0 bg-neutral-400" />
|
|
529
|
+
<DataCubeEditorNumberInput
|
|
530
|
+
className="ml-1 w-16 text-sm"
|
|
531
|
+
min={selectedColumn.minWidth ?? 0}
|
|
532
|
+
step={50}
|
|
533
|
+
defaultValue={undefined}
|
|
534
|
+
isValid={(value) =>
|
|
535
|
+
value !== undefined &&
|
|
536
|
+
value >= (selectedColumn.minWidth ?? 0)
|
|
537
|
+
}
|
|
538
|
+
value={selectedColumn.maxWidth}
|
|
539
|
+
setValue={(value) => {
|
|
540
|
+
selectedColumn.setMaxWidth(value);
|
|
541
|
+
}}
|
|
542
|
+
disabled={selectedColumn.fixedWidth !== undefined}
|
|
543
|
+
/>
|
|
544
|
+
</div>
|
|
545
|
+
|
|
323
546
|
<div className="my-2 h-[1px] w-full bg-neutral-200" />
|
|
324
547
|
|
|
325
|
-
<div className="mt-
|
|
548
|
+
<div className="mt-2 flex h-5 w-full items-center">
|
|
326
549
|
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
327
550
|
Font:
|
|
328
551
|
</div>
|
|
@@ -330,7 +553,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
330
553
|
className="w-28"
|
|
331
554
|
onClick={openFontFamilyDropdown}
|
|
332
555
|
>
|
|
333
|
-
{selectedColumn.fontFamily}
|
|
556
|
+
{selectedColumn.fontFamily ?? gridConfiguration.fontFamily}
|
|
334
557
|
</DataCubeEditorDropdownMenuTrigger>
|
|
335
558
|
<DataCubeEditorDropdownMenu
|
|
336
559
|
className="w-28"
|
|
@@ -389,7 +612,7 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
389
612
|
className="ml-1 w-10"
|
|
390
613
|
onClick={openFontSizeDropdown}
|
|
391
614
|
>
|
|
392
|
-
{selectedColumn.fontSize}
|
|
615
|
+
{selectedColumn.fontSize ?? gridConfiguration.fontSize}
|
|
393
616
|
</DataCubeEditorDropdownMenuTrigger>
|
|
394
617
|
<DataCubeEditorDropdownMenu
|
|
395
618
|
className="w-10"
|
|
@@ -417,11 +640,16 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
417
640
|
className={cn(
|
|
418
641
|
'relative flex h-5 w-5 items-center justify-center rounded-bl-sm rounded-tl-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
419
642
|
{
|
|
420
|
-
'bg-neutral-200':
|
|
643
|
+
'bg-neutral-200':
|
|
644
|
+
selectedColumn.fontBold ?? gridConfiguration.fontBold,
|
|
421
645
|
},
|
|
422
646
|
)}
|
|
423
647
|
onClick={() =>
|
|
424
|
-
selectedColumn.setFontBold(
|
|
648
|
+
selectedColumn.setFontBold(
|
|
649
|
+
!(
|
|
650
|
+
selectedColumn.fontBold ?? gridConfiguration.fontBold
|
|
651
|
+
),
|
|
652
|
+
)
|
|
425
653
|
}
|
|
426
654
|
>
|
|
427
655
|
<DataCubeIcon.FontBold />
|
|
@@ -431,57 +659,79 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
431
659
|
className={cn(
|
|
432
660
|
'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
433
661
|
{
|
|
434
|
-
'bg-neutral-200':
|
|
662
|
+
'bg-neutral-200':
|
|
663
|
+
selectedColumn.fontItalic ??
|
|
664
|
+
gridConfiguration.fontItalic,
|
|
435
665
|
},
|
|
436
666
|
)}
|
|
437
667
|
onClick={() =>
|
|
438
|
-
selectedColumn.setFontItalic(
|
|
668
|
+
selectedColumn.setFontItalic(
|
|
669
|
+
!(
|
|
670
|
+
selectedColumn.fontItalic ??
|
|
671
|
+
gridConfiguration.fontItalic
|
|
672
|
+
),
|
|
673
|
+
)
|
|
439
674
|
}
|
|
440
675
|
>
|
|
441
676
|
<DataCubeIcon.FontItalic />
|
|
442
677
|
</button>
|
|
443
678
|
<button
|
|
444
|
-
title={`Underline${selectedColumn.
|
|
679
|
+
title={`Underline${selectedColumn.fontUnderline ?? gridConfiguration.fontUnderline ? ` (${selectedColumn.fontUnderline ?? gridConfiguration.fontUnderline})` : ''}`}
|
|
445
680
|
className={cn(
|
|
446
681
|
'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-r-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
447
682
|
{
|
|
448
683
|
'bg-neutral-200':
|
|
449
|
-
selectedColumn.
|
|
684
|
+
(selectedColumn.fontUnderline ??
|
|
685
|
+
gridConfiguration.fontUnderline) !== undefined,
|
|
450
686
|
},
|
|
451
687
|
)}
|
|
452
|
-
onClick={() =>
|
|
453
|
-
|
|
454
|
-
selectedColumn.
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
688
|
+
onClick={() => {
|
|
689
|
+
if (
|
|
690
|
+
(selectedColumn.fontUnderline ??
|
|
691
|
+
gridConfiguration.fontUnderline) === undefined
|
|
692
|
+
) {
|
|
693
|
+
selectedColumn.setFontUnderline(
|
|
694
|
+
DataCubeFontFormatUnderlineVariant.SOLID,
|
|
695
|
+
);
|
|
696
|
+
selectedColumn.setFontStrikethrough(false);
|
|
697
|
+
} else {
|
|
698
|
+
selectedColumn.setFontUnderline(undefined);
|
|
699
|
+
}
|
|
700
|
+
}}
|
|
459
701
|
>
|
|
460
|
-
<DataCubeIcon.
|
|
702
|
+
<DataCubeIcon.FontUnderline />
|
|
461
703
|
</button>
|
|
462
704
|
<button
|
|
463
|
-
className="text-2xs relative -ml-[1px] flex h-5 w-2.5 items-center justify-center border border-
|
|
464
|
-
onClick={
|
|
705
|
+
className="text-2xs relative -ml-[1px] flex h-5 w-2.5 items-center justify-center border border-l-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-600 focus-visible:z-[1]"
|
|
706
|
+
onClick={openFontFormatUnderlineVariantDropdown}
|
|
465
707
|
>
|
|
708
|
+
<div
|
|
709
|
+
className={cn('h-4 w-[0.5px] bg-neutral-200', {
|
|
710
|
+
'opacity-0':
|
|
711
|
+
(selectedColumn.fontUnderline ??
|
|
712
|
+
gridConfiguration.fontUnderline) !== undefined,
|
|
713
|
+
})}
|
|
714
|
+
/>
|
|
466
715
|
<DataCubeIcon.CaretDown />
|
|
467
716
|
</button>
|
|
468
717
|
<DataCubeEditorDropdownMenu
|
|
469
718
|
className="w-14"
|
|
470
|
-
{...
|
|
719
|
+
{...fontFormatUnderlineVariantDropdownProps}
|
|
471
720
|
>
|
|
472
721
|
{[
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
722
|
+
DataCubeFontFormatUnderlineVariant.SOLID,
|
|
723
|
+
DataCubeFontFormatUnderlineVariant.DASHED,
|
|
724
|
+
DataCubeFontFormatUnderlineVariant.DOTTED,
|
|
725
|
+
DataCubeFontFormatUnderlineVariant.DOUBLE,
|
|
726
|
+
DataCubeFontFormatUnderlineVariant.WAVY,
|
|
478
727
|
].map((variant) => (
|
|
479
728
|
<DataCubeEditorDropdownMenuItem
|
|
480
729
|
className="relative"
|
|
481
730
|
key={variant}
|
|
482
731
|
onClick={() => {
|
|
483
|
-
selectedColumn.
|
|
484
|
-
|
|
732
|
+
selectedColumn.setFontUnderline(variant);
|
|
733
|
+
selectedColumn.setFontStrikethrough(false);
|
|
734
|
+
closeFontFormatUnderlineVariantDropdown();
|
|
485
735
|
}}
|
|
486
736
|
>
|
|
487
737
|
<div
|
|
@@ -490,21 +740,23 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
490
740
|
{
|
|
491
741
|
'!hover:decoration-solid !decoration-solid':
|
|
492
742
|
variant ===
|
|
493
|
-
|
|
743
|
+
DataCubeFontFormatUnderlineVariant.SOLID,
|
|
494
744
|
'!hover:decoration-dashed !decoration-dashed':
|
|
495
745
|
variant ===
|
|
496
|
-
|
|
746
|
+
DataCubeFontFormatUnderlineVariant.DASHED,
|
|
497
747
|
'!hover:decoration-dotted !decoration-dotted':
|
|
498
748
|
variant ===
|
|
499
|
-
|
|
749
|
+
DataCubeFontFormatUnderlineVariant.DOTTED,
|
|
500
750
|
'!hover:decoration-double !decoration-double':
|
|
501
751
|
variant ===
|
|
502
|
-
|
|
752
|
+
DataCubeFontFormatUnderlineVariant.DOUBLE,
|
|
503
753
|
'!hover:decoration-wavy !decoration-wavy':
|
|
504
754
|
variant ===
|
|
505
|
-
|
|
755
|
+
DataCubeFontFormatUnderlineVariant.WAVY,
|
|
506
756
|
'text-sky-600':
|
|
507
|
-
variant ===
|
|
757
|
+
variant ===
|
|
758
|
+
(selectedColumn.fontUnderline ??
|
|
759
|
+
gridConfiguration.fontUnderline),
|
|
508
760
|
},
|
|
509
761
|
)}
|
|
510
762
|
>
|
|
@@ -516,19 +768,97 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
516
768
|
<button
|
|
517
769
|
title="Strikethrough"
|
|
518
770
|
className={cn(
|
|
519
|
-
'relative -ml-[1px] flex h-5 w-5 items-center justify-center
|
|
771
|
+
'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
520
772
|
{
|
|
521
|
-
'bg-neutral-200':
|
|
773
|
+
'bg-neutral-200':
|
|
774
|
+
selectedColumn.fontStrikethrough ??
|
|
775
|
+
gridConfiguration.fontStrikethrough,
|
|
522
776
|
},
|
|
523
777
|
)}
|
|
524
|
-
onClick={() =>
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
778
|
+
onClick={() => {
|
|
779
|
+
if (
|
|
780
|
+
selectedColumn.fontStrikethrough ??
|
|
781
|
+
gridConfiguration.fontStrikethrough
|
|
782
|
+
) {
|
|
783
|
+
selectedColumn.setFontStrikethrough(false);
|
|
784
|
+
} else {
|
|
785
|
+
selectedColumn.setFontStrikethrough(true);
|
|
786
|
+
selectedColumn.setFontUnderline(undefined);
|
|
787
|
+
}
|
|
788
|
+
}}
|
|
529
789
|
>
|
|
530
790
|
<DataCubeIcon.FontStrikethrough />
|
|
531
791
|
</button>
|
|
792
|
+
<button
|
|
793
|
+
title={`Case${selectedColumn.fontCase ?? gridConfiguration.fontCase ? ` (${selectedColumn.fontCase ?? gridConfiguration.fontCase})` : ''}`}
|
|
794
|
+
className={cn(
|
|
795
|
+
'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-r-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
796
|
+
{
|
|
797
|
+
'bg-neutral-200':
|
|
798
|
+
(selectedColumn.fontCase ??
|
|
799
|
+
gridConfiguration.fontCase) !== undefined,
|
|
800
|
+
},
|
|
801
|
+
)}
|
|
802
|
+
onClick={() => {
|
|
803
|
+
if (
|
|
804
|
+
(selectedColumn.fontCase ??
|
|
805
|
+
gridConfiguration.fontCase) === undefined
|
|
806
|
+
) {
|
|
807
|
+
selectedColumn.setFontCase(DataCubeFontCase.UPPERCASE);
|
|
808
|
+
} else {
|
|
809
|
+
selectedColumn.setFontCase(undefined);
|
|
810
|
+
}
|
|
811
|
+
}}
|
|
812
|
+
>
|
|
813
|
+
<DataCubeIcon.FontCase className="stroke-[0.5px]" />
|
|
814
|
+
</button>
|
|
815
|
+
<button
|
|
816
|
+
className="text-2xs relative -ml-[1px] flex h-5 w-2.5 items-center justify-center rounded-br-sm rounded-tr-sm border border-l-0 border-neutral-400 bg-neutral-50 p-0 text-neutral-600 focus-visible:z-[1]"
|
|
817
|
+
onClick={openFontCaseDropdown}
|
|
818
|
+
>
|
|
819
|
+
<div
|
|
820
|
+
className={cn('h-4 w-[0.5px] bg-neutral-200', {
|
|
821
|
+
'opacity-0':
|
|
822
|
+
(selectedColumn.fontCase ??
|
|
823
|
+
gridConfiguration.fontCase) !== undefined,
|
|
824
|
+
})}
|
|
825
|
+
/>
|
|
826
|
+
<DataCubeIcon.CaretDown />
|
|
827
|
+
</button>
|
|
828
|
+
<DataCubeEditorDropdownMenu
|
|
829
|
+
className="w-20"
|
|
830
|
+
{...fontCaseDropdownProps}
|
|
831
|
+
>
|
|
832
|
+
{[
|
|
833
|
+
DataCubeFontCase.LOWERCASE,
|
|
834
|
+
DataCubeFontCase.UPPERCASE,
|
|
835
|
+
DataCubeFontCase.CAPITALIZE,
|
|
836
|
+
].map((fontCase) => (
|
|
837
|
+
<DataCubeEditorDropdownMenuItem
|
|
838
|
+
className="relative"
|
|
839
|
+
key={fontCase}
|
|
840
|
+
onClick={() => {
|
|
841
|
+
selectedColumn.setFontCase(fontCase);
|
|
842
|
+
closeFontCaseDropdown();
|
|
843
|
+
}}
|
|
844
|
+
>
|
|
845
|
+
<div
|
|
846
|
+
className={cn({
|
|
847
|
+
lowercase: fontCase === DataCubeFontCase.LOWERCASE,
|
|
848
|
+
uppercase: fontCase === DataCubeFontCase.UPPERCASE,
|
|
849
|
+
capitalize:
|
|
850
|
+
fontCase === DataCubeFontCase.CAPITALIZE,
|
|
851
|
+
'text-sky-600':
|
|
852
|
+
fontCase ===
|
|
853
|
+
(selectedColumn.fontCase ??
|
|
854
|
+
gridConfiguration.fontCase),
|
|
855
|
+
})}
|
|
856
|
+
>
|
|
857
|
+
{fontCase}
|
|
858
|
+
</div>
|
|
859
|
+
</DataCubeEditorDropdownMenuItem>
|
|
860
|
+
))}
|
|
861
|
+
</DataCubeEditorDropdownMenu>
|
|
532
862
|
</div>
|
|
533
863
|
|
|
534
864
|
<div className="relative ml-2 flex h-5">
|
|
@@ -538,7 +868,8 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
538
868
|
'relative flex h-5 w-5 items-center justify-center rounded-bl-sm rounded-tl-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
539
869
|
{
|
|
540
870
|
'bg-neutral-200':
|
|
541
|
-
selectedColumn.textAlign
|
|
871
|
+
(selectedColumn.textAlign ??
|
|
872
|
+
gridConfiguration.textAlign) ===
|
|
542
873
|
DataCubeFontTextAlignment.LEFT,
|
|
543
874
|
},
|
|
544
875
|
)}
|
|
@@ -556,7 +887,8 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
556
887
|
'relative -ml-[1px] flex h-5 w-5 items-center justify-center border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
557
888
|
{
|
|
558
889
|
'bg-neutral-200':
|
|
559
|
-
selectedColumn.textAlign
|
|
890
|
+
(selectedColumn.textAlign ??
|
|
891
|
+
gridConfiguration.textAlign) ===
|
|
560
892
|
DataCubeFontTextAlignment.CENTER,
|
|
561
893
|
},
|
|
562
894
|
)}
|
|
@@ -574,7 +906,8 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
574
906
|
'relative -ml-[1px] flex h-5 w-5 items-center justify-center rounded-br-sm rounded-tr-sm border border-neutral-400 bg-neutral-50 p-0 text-neutral-700 focus-visible:z-[1]',
|
|
575
907
|
{
|
|
576
908
|
'bg-neutral-200':
|
|
577
|
-
selectedColumn.textAlign
|
|
909
|
+
(selectedColumn.textAlign ??
|
|
910
|
+
gridConfiguration.textAlign) ===
|
|
578
911
|
DataCubeFontTextAlignment.RIGHT,
|
|
579
912
|
},
|
|
580
913
|
)}
|
|
@@ -615,37 +948,49 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
615
948
|
</div>
|
|
616
949
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
617
950
|
<DataCubeEditorColorPickerButton
|
|
618
|
-
color={
|
|
619
|
-
|
|
951
|
+
color={
|
|
952
|
+
selectedColumn.normalForegroundColor ??
|
|
953
|
+
gridConfiguration.normalForegroundColor
|
|
954
|
+
}
|
|
955
|
+
defaultColor={gridConfiguration.normalForegroundColor}
|
|
620
956
|
onChange={(value) =>
|
|
621
|
-
selectedColumn.
|
|
957
|
+
selectedColumn.setNormalForegroundColor(value)
|
|
622
958
|
}
|
|
623
959
|
/>
|
|
624
960
|
</div>
|
|
625
961
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
626
962
|
<DataCubeEditorColorPickerButton
|
|
627
|
-
color={
|
|
628
|
-
|
|
963
|
+
color={
|
|
964
|
+
selectedColumn.negativeForegroundColor ??
|
|
965
|
+
gridConfiguration.negativeForegroundColor
|
|
966
|
+
}
|
|
967
|
+
defaultColor={gridConfiguration.negativeForegroundColor}
|
|
629
968
|
onChange={(value) =>
|
|
630
|
-
selectedColumn.
|
|
969
|
+
selectedColumn.setNegativeForegroundColor(value)
|
|
631
970
|
}
|
|
632
971
|
/>
|
|
633
972
|
</div>
|
|
634
973
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
635
974
|
<DataCubeEditorColorPickerButton
|
|
636
|
-
color={
|
|
637
|
-
|
|
975
|
+
color={
|
|
976
|
+
selectedColumn.zeroForegroundColor ??
|
|
977
|
+
gridConfiguration.zeroForegroundColor
|
|
978
|
+
}
|
|
979
|
+
defaultColor={gridConfiguration.zeroForegroundColor}
|
|
638
980
|
onChange={(value) =>
|
|
639
|
-
selectedColumn.
|
|
981
|
+
selectedColumn.setZeroForegroundColor(value)
|
|
640
982
|
}
|
|
641
983
|
/>
|
|
642
984
|
</div>
|
|
643
985
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
644
986
|
<DataCubeEditorColorPickerButton
|
|
645
|
-
color={
|
|
646
|
-
|
|
987
|
+
color={
|
|
988
|
+
selectedColumn.errorForegroundColor ??
|
|
989
|
+
gridConfiguration.errorForegroundColor
|
|
990
|
+
}
|
|
991
|
+
defaultColor={gridConfiguration.errorForegroundColor}
|
|
647
992
|
onChange={(value) =>
|
|
648
|
-
selectedColumn.
|
|
993
|
+
selectedColumn.setErrorForegroundColor(value)
|
|
649
994
|
}
|
|
650
995
|
/>
|
|
651
996
|
</div>
|
|
@@ -656,37 +1001,49 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
656
1001
|
</div>
|
|
657
1002
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
658
1003
|
<DataCubeEditorColorPickerButton
|
|
659
|
-
color={
|
|
660
|
-
|
|
1004
|
+
color={
|
|
1005
|
+
selectedColumn.normalBackgroundColor ??
|
|
1006
|
+
gridConfiguration.normalBackgroundColor
|
|
1007
|
+
}
|
|
1008
|
+
defaultColor={gridConfiguration.normalBackgroundColor}
|
|
661
1009
|
onChange={(value) =>
|
|
662
|
-
selectedColumn.
|
|
1010
|
+
selectedColumn.setNormalBackgroundColor(value)
|
|
663
1011
|
}
|
|
664
1012
|
/>
|
|
665
1013
|
</div>
|
|
666
1014
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
667
1015
|
<DataCubeEditorColorPickerButton
|
|
668
|
-
color={
|
|
669
|
-
|
|
1016
|
+
color={
|
|
1017
|
+
selectedColumn.negativeBackgroundColor ??
|
|
1018
|
+
gridConfiguration.negativeBackgroundColor
|
|
1019
|
+
}
|
|
1020
|
+
defaultColor={gridConfiguration.negativeBackgroundColor}
|
|
670
1021
|
onChange={(value) =>
|
|
671
|
-
selectedColumn.
|
|
1022
|
+
selectedColumn.setNegativeBackgroundColor(value)
|
|
672
1023
|
}
|
|
673
1024
|
/>
|
|
674
1025
|
</div>
|
|
675
1026
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
676
1027
|
<DataCubeEditorColorPickerButton
|
|
677
|
-
color={
|
|
678
|
-
|
|
1028
|
+
color={
|
|
1029
|
+
selectedColumn.zeroBackgroundColor ??
|
|
1030
|
+
gridConfiguration.zeroBackgroundColor
|
|
1031
|
+
}
|
|
1032
|
+
defaultColor={gridConfiguration.zeroBackgroundColor}
|
|
679
1033
|
onChange={(value) =>
|
|
680
|
-
selectedColumn.
|
|
1034
|
+
selectedColumn.setZeroBackgroundColor(value)
|
|
681
1035
|
}
|
|
682
1036
|
/>
|
|
683
1037
|
</div>
|
|
684
1038
|
<div className="flex h-full w-12 flex-shrink-0 items-center justify-center">
|
|
685
1039
|
<DataCubeEditorColorPickerButton
|
|
686
|
-
color={
|
|
687
|
-
|
|
1040
|
+
color={
|
|
1041
|
+
selectedColumn.errorBackgroundColor ??
|
|
1042
|
+
gridConfiguration.errorBackgroundColor
|
|
1043
|
+
}
|
|
1044
|
+
defaultColor={gridConfiguration.errorBackgroundColor}
|
|
688
1045
|
onChange={(value) =>
|
|
689
|
-
selectedColumn.
|
|
1046
|
+
selectedColumn.setErrorBackgroundColor(value)
|
|
690
1047
|
}
|
|
691
1048
|
/>
|
|
692
1049
|
</div>
|
|
@@ -694,174 +1051,18 @@ export const DataCubeEditorColumnPropertiesPanel = observer(() => {
|
|
|
694
1051
|
</div>
|
|
695
1052
|
</div>
|
|
696
1053
|
|
|
697
|
-
<div className="mt-2 flex
|
|
698
|
-
<div className="flex h-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
selectedColumn.
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
<WIP_Badge />
|
|
709
|
-
</div>
|
|
710
|
-
|
|
711
|
-
<div className="mt-2 flex h-6 w-full items-center">
|
|
712
|
-
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
713
|
-
Pin:
|
|
714
|
-
</div>
|
|
715
|
-
<DataCubeEditorDropdownMenuTrigger
|
|
716
|
-
className="w-14"
|
|
717
|
-
onClick={openColumnPinDropdown}
|
|
718
|
-
>
|
|
719
|
-
{selectedColumn.pinned ?? '(None)'}
|
|
720
|
-
</DataCubeEditorDropdownMenuTrigger>
|
|
721
|
-
<DataCubeEditorDropdownMenu
|
|
722
|
-
className="w-14"
|
|
723
|
-
{...columnPinDropdownProps}
|
|
724
|
-
>
|
|
725
|
-
{[
|
|
726
|
-
undefined,
|
|
727
|
-
DataCubeColumnPinPlacement.LEFT,
|
|
728
|
-
DataCubeColumnPinPlacement.RIGHT,
|
|
729
|
-
].map((placement) => (
|
|
730
|
-
<DataCubeEditorDropdownMenuItem
|
|
731
|
-
key={placement ?? ''}
|
|
732
|
-
onClick={() => {
|
|
733
|
-
selectedColumn.setPinned(placement);
|
|
734
|
-
closeColumnPinDropdown();
|
|
735
|
-
}}
|
|
736
|
-
>
|
|
737
|
-
{placement ?? '(None)'}
|
|
738
|
-
</DataCubeEditorDropdownMenuItem>
|
|
739
|
-
))}
|
|
740
|
-
</DataCubeEditorDropdownMenu>
|
|
741
|
-
</div>
|
|
742
|
-
|
|
743
|
-
<div className="mt-2 flex h-6 w-full items-center">
|
|
744
|
-
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
745
|
-
Width:
|
|
746
|
-
</div>
|
|
747
|
-
<DataCubeEditorCheckbox
|
|
748
|
-
label="(Any)"
|
|
749
|
-
checked={
|
|
750
|
-
selectedColumn.fixedWidth === undefined &&
|
|
751
|
-
selectedColumn.minWidth === undefined &&
|
|
752
|
-
selectedColumn.maxWidth === undefined
|
|
753
|
-
}
|
|
754
|
-
onChange={() => {
|
|
755
|
-
if (
|
|
756
|
-
selectedColumn.fixedWidth === undefined &&
|
|
757
|
-
selectedColumn.minWidth === undefined &&
|
|
758
|
-
selectedColumn.maxWidth === undefined
|
|
759
|
-
) {
|
|
760
|
-
selectedColumn.setFixedWidth(DEFAULT_COLUMN_WIDTH);
|
|
761
|
-
selectedColumn.setMinWidth(undefined);
|
|
762
|
-
selectedColumn.setMaxWidth(undefined);
|
|
763
|
-
} else {
|
|
764
|
-
selectedColumn.setFixedWidth(undefined);
|
|
765
|
-
selectedColumn.setMinWidth(undefined);
|
|
766
|
-
selectedColumn.setMaxWidth(undefined);
|
|
767
|
-
}
|
|
768
|
-
}}
|
|
769
|
-
/>
|
|
770
|
-
|
|
771
|
-
<DataCubeEditorCheckbox
|
|
772
|
-
className="ml-2"
|
|
773
|
-
label="Fixed"
|
|
774
|
-
checked={selectedColumn.fixedWidth !== undefined}
|
|
775
|
-
onChange={() => {
|
|
776
|
-
selectedColumn.setFixedWidth(
|
|
777
|
-
selectedColumn.fixedWidth !== undefined
|
|
778
|
-
? undefined
|
|
779
|
-
: DEFAULT_COLUMN_WIDTH,
|
|
780
|
-
);
|
|
781
|
-
selectedColumn.setMinWidth(undefined);
|
|
782
|
-
selectedColumn.setMaxWidth(undefined);
|
|
783
|
-
}}
|
|
784
|
-
/>
|
|
785
|
-
<div className="ml-1 h-[1px] w-2 bg-neutral-400" />
|
|
786
|
-
<DataCubeEditorNumberInput
|
|
787
|
-
className="ml-1 w-16 text-sm"
|
|
788
|
-
min={0}
|
|
789
|
-
step={50}
|
|
790
|
-
defaultValue={undefined}
|
|
791
|
-
isValid={(value) => value !== undefined && value > 0}
|
|
792
|
-
value={selectedColumn.fixedWidth}
|
|
793
|
-
setValue={(value) => {
|
|
794
|
-
selectedColumn.setFixedWidth(value);
|
|
795
|
-
}}
|
|
796
|
-
disabled={
|
|
797
|
-
selectedColumn.minWidth !== undefined ||
|
|
798
|
-
selectedColumn.maxWidth !== undefined
|
|
799
|
-
}
|
|
800
|
-
/>
|
|
801
|
-
|
|
802
|
-
<DataCubeEditorCheckbox
|
|
803
|
-
className="ml-3"
|
|
804
|
-
label="In range"
|
|
805
|
-
checked={
|
|
806
|
-
selectedColumn.minWidth !== undefined ||
|
|
807
|
-
selectedColumn.maxWidth !== undefined
|
|
808
|
-
}
|
|
809
|
-
onChange={() => {
|
|
810
|
-
if (
|
|
811
|
-
selectedColumn.minWidth === undefined &&
|
|
812
|
-
selectedColumn.maxWidth === undefined
|
|
813
|
-
) {
|
|
814
|
-
selectedColumn.setMinWidth(DEFAULT_COLUMN_MIN_WIDTH);
|
|
815
|
-
selectedColumn.setMaxWidth(DEFAULT_COLUMN_MAX_WIDTH);
|
|
816
|
-
selectedColumn.setFixedWidth(undefined);
|
|
817
|
-
} else {
|
|
818
|
-
selectedColumn.setMinWidth(undefined);
|
|
819
|
-
selectedColumn.setMaxWidth(undefined);
|
|
820
|
-
selectedColumn.setFixedWidth(undefined);
|
|
821
|
-
}
|
|
822
|
-
}}
|
|
823
|
-
/>
|
|
824
|
-
<div className="ml-1 h-[1px] w-2 bg-neutral-400" />
|
|
825
|
-
<DataCubeEditorNumberInput
|
|
826
|
-
className="ml-1 w-16 text-sm"
|
|
827
|
-
min={0}
|
|
828
|
-
step={50}
|
|
829
|
-
defaultValue={undefined}
|
|
830
|
-
isValid={(value) => value !== undefined && value > 0}
|
|
831
|
-
value={selectedColumn.minWidth}
|
|
832
|
-
setValue={(value) => {
|
|
833
|
-
selectedColumn.setMinWidth(value);
|
|
834
|
-
}}
|
|
835
|
-
disabled={selectedColumn.fixedWidth !== undefined}
|
|
836
|
-
/>
|
|
837
|
-
<div className="ml-1 h-[1px] w-1 bg-neutral-400" />
|
|
838
|
-
<DataCubeEditorNumberInput
|
|
839
|
-
className="ml-1 w-16 text-sm"
|
|
840
|
-
min={selectedColumn.minWidth ?? 0}
|
|
841
|
-
step={50}
|
|
842
|
-
defaultValue={undefined}
|
|
843
|
-
isValid={(value) =>
|
|
844
|
-
value !== undefined &&
|
|
845
|
-
value >= (selectedColumn.minWidth ?? 0)
|
|
846
|
-
}
|
|
847
|
-
value={selectedColumn.maxWidth}
|
|
848
|
-
setValue={(value) => {
|
|
849
|
-
selectedColumn.setMaxWidth(value);
|
|
850
|
-
}}
|
|
851
|
-
disabled={selectedColumn.fixedWidth !== undefined}
|
|
852
|
-
/>
|
|
853
|
-
</div>
|
|
854
|
-
|
|
855
|
-
<div className="mt-2 flex h-4 w-full items-center">
|
|
856
|
-
<div className="flex h-full w-32 flex-shrink-0 items-center text-sm">
|
|
857
|
-
Blur Content?
|
|
1054
|
+
<div className="mt-2 flex w-full">
|
|
1055
|
+
<div className="flex h-6 w-32 flex-shrink-0 items-center text-sm" />
|
|
1056
|
+
<div className="w-80">
|
|
1057
|
+
<div className="mb-2 h-[1px] w-full bg-neutral-200" />
|
|
1058
|
+
<button
|
|
1059
|
+
className="flex h-5 items-center justify-center rounded-sm border border-neutral-400 bg-neutral-200 p-0 px-1 text-sm text-neutral-700 disabled:text-neutral-400"
|
|
1060
|
+
disabled={selectedColumn.isUsingDefaultStyling}
|
|
1061
|
+
onClick={() => selectedColumn.useDefaultStyling()}
|
|
1062
|
+
>
|
|
1063
|
+
Use Default Styling
|
|
1064
|
+
</button>
|
|
858
1065
|
</div>
|
|
859
|
-
<DataCubeEditorCheckbox
|
|
860
|
-
checked={selectedColumn.blur}
|
|
861
|
-
onChange={() => selectedColumn.setBlur(!selectedColumn.blur)}
|
|
862
|
-
disabled={true}
|
|
863
|
-
/>
|
|
864
|
-
<WIP_Badge />
|
|
865
1066
|
</div>
|
|
866
1067
|
</>
|
|
867
1068
|
)}
|