From 2f0922d2f4cf9bc2d877d0f69e0afb93406be599 Mon Sep 17 00:00:00 2001 From: "Visal .In" Date: Fri, 14 Mar 2025 09:58:21 +0700 Subject: [PATCH 1/3] refactor: rename table file name to lower case --- src/components/board/board-chart-editor.tsx | 2 +- .../aggregate-result/aggregate-result-button.tsx | 10 +++++----- src/components/gui/export/export-result-button.tsx | 2 +- src/components/gui/query-result-table.tsx | 2 +- .../gui/table-cell/create-editable-cell.tsx | 14 +++++++------- src/components/gui/table-optimized/index.tsx | 6 +++--- ...mizeTableState.tsx => optimize-table-state.tsx} | 2 +- src/components/gui/table-optimized/table-cell.tsx | 5 +++-- .../gui/table-optimized/table-header-list.tsx | 6 ++---- .../table-header-resize-handler.tsx | 4 ++-- .../gui/table-optimized/table-header.tsx | 4 ++-- .../gui/table-optimized/table-state-actions.ts | 2 +- ...alculation.ts => use-visibility-calculation.ts} | 6 +++--- src/components/gui/table-result/context-menu.tsx | 2 +- src/components/gui/table-result/filter-column.tsx | 13 ++++++++----- .../gui/tabs-result/query-result-tab.tsx | 2 +- src/components/gui/tabs/table-data-tab.tsx | 2 +- src/core/extension-manager.tsx | 2 +- src/extensions/data-decorator/editor.tsx | 2 +- src/lib/export-helper.ts | 8 ++++++-- src/lib/sql/sql-execute-helper.ts | 2 +- 21 files changed, 52 insertions(+), 46 deletions(-) rename src/components/gui/table-optimized/{OptimizeTableState.tsx => optimize-table-state.tsx} (99%) rename src/components/gui/table-optimized/{useTableVisibilityRecalculation.ts => use-visibility-calculation.ts} (97%) diff --git a/src/components/board/board-chart-editor.tsx b/src/components/board/board-chart-editor.tsx index 3c0274c5..f5b66491 100644 --- a/src/components/board/board-chart-editor.tsx +++ b/src/components/board/board-chart-editor.tsx @@ -12,7 +12,7 @@ import { ChartValue } from "../chart/chart-type"; import EditChartMenu from "../chart/edit-chart-menu"; import ResultTable from "../gui/query-result-table"; import SqlEditor from "../gui/sql-editor"; -import OptimizeTableState from "../gui/table-optimized/OptimizeTableState"; +import OptimizeTableState from "../gui/table-optimized/optimize-table-state"; import { Button } from "../orbit/button"; import { MenuBar } from "../orbit/menu-bar"; import { createAutoBoardChartValue } from "./board-auto-value"; diff --git a/src/components/gui/aggregate-result/aggregate-result-button.tsx b/src/components/gui/aggregate-result/aggregate-result-button.tsx index 4bd6cd47..e9988dfc 100644 --- a/src/components/gui/aggregate-result/aggregate-result-button.tsx +++ b/src/components/gui/aggregate-result/aggregate-result-button.tsx @@ -1,11 +1,11 @@ +import { LucideCheck, LucideChevronDown } from "lucide-react"; +import { useCallback, useEffect, useState } from "react"; import { buttonVariants } from "../../ui/button"; import { Popover, PopoverContent, PopoverTrigger } from "../../ui/popover"; +import ListButtonItem from "../list-button-item"; import OptimizeTableState, { AggregateFunction, -} from "../table-optimized/OptimizeTableState"; -import { useCallback, useEffect, useState } from "react"; -import ListButtonItem from "../list-button-item"; -import { LucideCheck, LucideChevronDown } from "lucide-react"; +} from "../table-optimized/optimize-table-state"; export interface AggregateResult { sum: number | string | undefined; avg: number | string | undefined; @@ -74,7 +74,7 @@ export default function AggregateResultButton({
{displayResult}{" "} - {!!displayResult && } + {!!displayResult && }
diff --git a/src/components/gui/export/export-result-button.tsx b/src/components/gui/export/export-result-button.tsx index 7ec4bccf..59c083cf 100644 --- a/src/components/gui/export/export-result-button.tsx +++ b/src/components/gui/export/export-result-button.tsx @@ -14,7 +14,7 @@ import { useCallback, useEffect, useMemo, useState } from "react"; import { Popover, PopoverContent, PopoverTrigger } from "../../ui/popover"; import OptimizeTableState, { TableSelectionRange, -} from "../table-optimized/OptimizeTableState"; +} from "../table-optimized/optimize-table-state"; export type ExportTarget = "clipboard" | "file"; type ExportFormat = "csv" | "delimited" | "json" | "sql" | "xlsx"; diff --git a/src/components/gui/query-result-table.tsx b/src/components/gui/query-result-table.tsx index 7ecba951..e46a6c16 100644 --- a/src/components/gui/query-result-table.tsx +++ b/src/components/gui/query-result-table.tsx @@ -1,7 +1,7 @@ import OptimizeTable, { OptimizeTableHeaderWithIndexProps, } from "@/components/gui/table-optimized"; -import OptimizeTableState from "@/components/gui/table-optimized/OptimizeTableState"; +import OptimizeTableState from "@/components/gui/table-optimized/optimize-table-state"; import { useStudioContext } from "@/context/driver-provider"; import { ColumnSortOption } from "@/drivers/base-driver"; import { exportDataAsDelimitedText } from "@/lib/export-helper"; diff --git a/src/components/gui/table-cell/create-editable-cell.tsx b/src/components/gui/table-cell/create-editable-cell.tsx index 77516121..c404002e 100644 --- a/src/components/gui/table-cell/create-editable-cell.tsx +++ b/src/components/gui/table-cell/create-editable-cell.tsx @@ -1,11 +1,11 @@ -import { useState, useEffect, useCallback, useRef } from "react"; -import GenericCell from "./generic-cell"; import { DatabaseValue } from "@/drivers/base-driver"; -import OptimizeTableState from "../table-optimized/OptimizeTableState"; -import { useFullEditor } from "../providers/full-editor-provider"; -import { OptimizeTableHeaderWithIndexProps } from "../table-optimized"; import { cn } from "@/lib/utils"; import { ColumnType } from "@outerbase/sdk-transform"; +import { useCallback, useEffect, useRef, useState } from "react"; +import { useFullEditor } from "../providers/full-editor-provider"; +import { OptimizeTableHeaderWithIndexProps } from "../table-optimized"; +import OptimizeTableState from "../table-optimized/optimize-table-state"; +import GenericCell from "./generic-cell"; export interface TableEditableCell { value: DatabaseValue; @@ -92,8 +92,8 @@ function InputCellEditor({ type="text" className={ align === "right" - ? "h-full w-full border-0 bg-inherit pl-2 pr-2 text-right font-mono outline-hidden" - : "h-full w-full border-0 bg-inherit pl-2 pr-2 font-mono outline-hidden" + ? "h-full w-full border-0 bg-inherit pr-2 pl-2 text-right font-mono outline-hidden" + : "h-full w-full border-0 bg-inherit pr-2 pl-2 font-mono outline-hidden" } value={value ?? ""} /> diff --git a/src/components/gui/table-optimized/index.tsx b/src/components/gui/table-optimized/index.tsx index fb012a57..6b61ce9a 100644 --- a/src/components/gui/table-optimized/index.tsx +++ b/src/components/gui/table-optimized/index.tsx @@ -12,12 +12,12 @@ import React, { useRef, useState, } from "react"; -import OptimizeTableState from "./OptimizeTableState"; +import OptimizeTableState from "./optimize-table-state"; import OptimizeTableCell from "./table-cell"; import TableFakeBodyPadding from "./table-fake-body-padding"; import TableFakeRowPadding from "./table-fake-row-padding"; import TableHeaderList from "./table-header-list"; -import useTableVisibilityRecalculation from "./useTableVisibilityRecalculation"; +import useTableVisibilityRecalculation from "./use-visibility-calculation"; export type TableCellDecorator = (value: unknown) => ReactElement | null; @@ -138,7 +138,7 @@ function renderCellList({ headers.map((header) => headerSizes[header.index] + "px").join(" "); const onHeaderSizeWithRemap = (idx: number, newWidth: number) => { - onHeaderResize(headerSizes[headers[idx]?.index ?? 0] ?? 150, newWidth); + onHeaderResize(headers[idx]?.index ?? 0, newWidth); }; const windowArray = new Array(rowEnd - rowStart) diff --git a/src/components/gui/table-optimized/OptimizeTableState.tsx b/src/components/gui/table-optimized/optimize-table-state.tsx similarity index 99% rename from src/components/gui/table-optimized/OptimizeTableState.tsx rename to src/components/gui/table-optimized/optimize-table-state.tsx index 5f6529ce..8c794dad 100644 --- a/src/components/gui/table-optimized/OptimizeTableState.tsx +++ b/src/components/gui/table-optimized/optimize-table-state.tsx @@ -495,7 +495,7 @@ export default class OptimizeTableState { } setHeaderWidth(idx: number, newWidth: number) { - return (this.headerWidth[idx] = newWidth); + this.headerWidth[idx] = newWidth; } getHeaderWidth() { diff --git a/src/components/gui/table-optimized/table-cell.tsx b/src/components/gui/table-optimized/table-cell.tsx index 06e946cc..467a0568 100644 --- a/src/components/gui/table-optimized/table-cell.tsx +++ b/src/components/gui/table-optimized/table-cell.tsx @@ -2,7 +2,7 @@ import { cn } from "@/lib/utils"; import { useMemo } from "react"; import { OptimizeTableHeaderWithIndexProps } from "."; import tableResultCellRenderer from "../table-result/render-cell"; -import OptimizeTableState from "./OptimizeTableState"; +import OptimizeTableState from "./optimize-table-state"; export default function OptimizeTableCell({ state, @@ -53,7 +53,8 @@ export default function OptimizeTableCell({ isSelected && "border-neutral-950 dark:border-neutral-50", isBorderBottom && "border-b border-b-neutral-950 dark:border-b-neutral-50", isBorderRight && "border-r border-r-neutral-950 dark:border-r-neutral-50", - isFocus && "shadow-[0_0_0_1px_rgba(0,0,0,0.5)_inset] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.5)_inset]", + isFocus && + "shadow-[0_0_0_1px_rgba(0,0,0,0.5)_inset] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.5)_inset]", isSticky && "sticky", cellBackgroundColor ); diff --git a/src/components/gui/table-optimized/table-header-list.tsx b/src/components/gui/table-optimized/table-header-list.tsx index 5459bd04..1ec81d1f 100644 --- a/src/components/gui/table-optimized/table-header-list.tsx +++ b/src/components/gui/table-optimized/table-header-list.tsx @@ -1,6 +1,6 @@ import { ReactElement } from "react"; import { OptimizeTableHeaderWithIndexProps } from "."; -import OptimizeTableState from "./OptimizeTableState"; +import OptimizeTableState from "./optimize-table-state"; import TableHeader from "./table-header"; export default function TableHeaderList({ @@ -28,9 +28,7 @@ export default function TableHeaderList({ -
- -
+
{headers.map((header, idx) => { return ( diff --git a/src/components/gui/table-optimized/table-header-resize-handler.tsx b/src/components/gui/table-optimized/table-header-resize-handler.tsx index 918c9fb1..623da513 100644 --- a/src/components/gui/table-optimized/table-header-resize-handler.tsx +++ b/src/components/gui/table-optimized/table-header-resize-handler.tsx @@ -1,4 +1,4 @@ -import { useRef, useState, useEffect } from "react"; +import { useEffect, useRef, useState } from "react"; export default function TableHeaderResizeHandler({ idx, @@ -58,7 +58,7 @@ export default function TableHeaderResizeHandler({ tableWrapper.scrollLeft += gain; } - onResize(idx, width); + onResize(idx - 1, width); if (table) { const columns = table.style.gridTemplateColumns.split(" "); diff --git a/src/components/gui/table-optimized/table-header.tsx b/src/components/gui/table-optimized/table-header.tsx index c35ebd9e..80cbbc8f 100644 --- a/src/components/gui/table-optimized/table-header.tsx +++ b/src/components/gui/table-optimized/table-header.tsx @@ -1,8 +1,8 @@ +import { cn } from "@/lib/utils"; import React, { type ReactElement } from "react"; import type { OptimizeTableHeaderWithIndexProps } from "."; +import OptimizeTableState from "./optimize-table-state"; import TableHeaderResizeHandler from "./table-header-resize-handler"; -import OptimizeTableState from "./OptimizeTableState"; -import { cn } from "@/lib/utils"; export default function TableHeader({ idx, diff --git a/src/components/gui/table-optimized/table-state-actions.ts b/src/components/gui/table-optimized/table-state-actions.ts index 9ec4e57e..a6119a74 100644 --- a/src/components/gui/table-optimized/table-state-actions.ts +++ b/src/components/gui/table-optimized/table-state-actions.ts @@ -1,4 +1,4 @@ -import OptimizeTableState from "./OptimizeTableState"; +import OptimizeTableState from "./optimize-table-state"; export default class TableStateActions { static duplicateRow(state: OptimizeTableState) { diff --git a/src/components/gui/table-optimized/useTableVisibilityRecalculation.ts b/src/components/gui/table-optimized/use-visibility-calculation.ts similarity index 97% rename from src/components/gui/table-optimized/useTableVisibilityRecalculation.ts rename to src/components/gui/table-optimized/use-visibility-calculation.ts index d646b3b4..c3fa5872 100644 --- a/src/components/gui/table-optimized/useTableVisibilityRecalculation.ts +++ b/src/components/gui/table-optimized/use-visibility-calculation.ts @@ -1,8 +1,8 @@ +import useElementResize from "@/components/hooks/useElementResize"; import { useCallback, useEffect, useState } from "react"; -import { getVisibleCellRange } from "./helper"; import { OptimizeTableHeaderWithIndexProps } from "."; -import useElementResize from "@/components/hooks/useElementResize"; -import OptimizeTableState from "./OptimizeTableState"; +import { getVisibleCellRange } from "./helper"; +import OptimizeTableState from "./optimize-table-state"; export default function useTableVisibilityRecalculation({ containerRef, diff --git a/src/components/gui/table-result/context-menu.tsx b/src/components/gui/table-result/context-menu.tsx index 27b809de..6e075dc5 100644 --- a/src/components/gui/table-result/context-menu.tsx +++ b/src/components/gui/table-result/context-menu.tsx @@ -10,7 +10,7 @@ import { KEY_BINDING } from "@/lib/key-matcher"; import { LucidePlus, LucideTrash2 } from "lucide-react"; import { useCallback } from "react"; import { useFullEditor } from "../providers/full-editor-provider"; -import OptimizeTableState from "../table-optimized/OptimizeTableState"; +import OptimizeTableState from "../table-optimized/optimize-table-state"; import TableStateActions from "../table-optimized/table-state-actions"; export default function useTableResultContextMenu({ diff --git a/src/components/gui/table-result/filter-column.tsx b/src/components/gui/table-result/filter-column.tsx index 37e57607..48d87c22 100644 --- a/src/components/gui/table-result/filter-column.tsx +++ b/src/components/gui/table-result/filter-column.tsx @@ -14,11 +14,10 @@ import { import { cn } from "@/lib/utils"; import { Check, ListChecks, LucideSettings2 } from "lucide-react"; import { useEffect, useState } from "react"; -import OptimizeTableState from "../table-optimized/OptimizeTableState"; +import OptimizeTableState from "../table-optimized/optimize-table-state"; import { Button } from "@/components/orbit/button"; - export default function useTableResultColumnFilter({ state, }: { @@ -39,11 +38,15 @@ export default function useTableResultColumnFilter({ const filterColumnButton = ( -