MCPcopy Index your code
hub / github.com/TabularisDB/tabularis / ModifyColumnModal

Function ModifyColumnModal

src/components/modals/ModifyColumnModal.tsx:34–416  ·  view source on GitHub ↗
({
  isOpen,
  onClose,
  onSuccess,
  connectionId,
  tableName,
  driver,
  column,
}: ModifyColumnModalProps)

Source from the content-addressed store, hash-verified

32}
33
34export const ModifyColumnModal = ({
35 isOpen,
36 onClose,
37 onSuccess,
38 connectionId,
39 tableName,
40 driver,
41 column,
42}: ModifyColumnModalProps) => {
43 const { t } = useTranslation();
44 const { activeSchema } = useDatabase();
45 const { dataTypes } = useDataTypes(driver);
46 const { allDrivers } = useDrivers();
47 const driverManifest = allDrivers.find((d) => d.id === driver);
48 const driverCapabilities = driverManifest?.capabilities ?? null;
49 const canAlterPk = driverCapabilities?.alter_primary_key !== false;
50 const canAlterColumn = supportsAlterColumn(driverCapabilities);
51 const isEdit = !!column;
52
53 const availableTypes = useMemo(
54 () => dataTypes?.types || [],
55 [dataTypes],
56 );
57
58 const initial = useMemo(() => {
59 if (column) {
60 const { type, length } = parseColumnType(column.data_type, availableTypes);
61 return {
62 name: column.name,
63 type,
64 length,
65 isNullable: column.is_nullable,
66 defaultValue: "",
67 isPk: column.is_pk || false,
68 isAutoInc: column.is_auto_increment || false,
69 };
70 }
71 return {
72 name: "",
73 type: "VARCHAR",
74 length: "255",
75 isNullable: true,
76 defaultValue: "",
77 isPk: false,
78 isAutoInc: false,
79 };
80 }, [column, availableTypes]);
81
82 const [form, setForm] = useState<ColumnDef>(initial);
83 const [loading, setLoading] = useState(false);
84 const [error, setError] = useState("");
85 const [sqlPreview, setSqlPreview] = useState("-- ...");
86
87 // Reset form when modal opens/changes
88 useEffect(() => {
89 setForm(initial);
90 setError("");
91 setSqlPreview("-- ...");

Callers

nothing calls this directly

Calls 6

useDatabaseFunction · 0.90
useDataTypesFunction · 0.90
useDriversFunction · 0.90
supportsAlterColumnFunction · 0.90
parseColumnTypeFunction · 0.90
buildColumnDefinitionFunction · 0.90

Tested by

no test coverage detected