Compare commits
1 Commits
main
...
mhkim-node
| Author | SHA1 | Date |
|---|---|---|
|
|
5e8572954a |
|
|
@ -153,6 +153,7 @@ backend-node/uploads/
|
|||
uploads/
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.png
|
||||
*.gif
|
||||
*.pdf
|
||||
*.doc
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 329 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 342 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
|
|
@ -583,7 +583,7 @@ const RealtimePreviewDynamicComponent: React.FC<RealtimePreviewProps> = ({
|
|||
const needsStripBorder = isV2HorizLabel || isButtonComponent;
|
||||
const safeComponentStyle = needsStripBorder
|
||||
? (() => {
|
||||
const { borderWidth, borderColor, borderStyle, border, borderRadius, ...rest } = componentStyle as any;
|
||||
const { borderWidth, borderColor, borderStyle, border, ...rest } = componentStyle as any;
|
||||
return rest;
|
||||
})()
|
||||
: componentStyle;
|
||||
|
|
|
|||
|
|
@ -379,12 +379,33 @@ export const TableListComponent: React.FC<TableListComponentProps> = ({
|
|||
}
|
||||
}, [tableConfig.selectedTable, currentUserId]);
|
||||
|
||||
// columnVisibility 변경 시 컬럼 순서 및 가시성 적용
|
||||
// columnVisibility 변경 시 컬럼 순서, 가시성, 너비 적용
|
||||
useEffect(() => {
|
||||
if (columnVisibility.length > 0) {
|
||||
const newOrder = columnVisibility.map((cv) => cv.columnName).filter((name) => name !== "__checkbox__"); // 체크박스 제외
|
||||
setColumnOrder(newOrder);
|
||||
|
||||
// 너비 적용
|
||||
const newWidths: Record<string, number> = {};
|
||||
columnVisibility.forEach((cv) => {
|
||||
if (cv.width) {
|
||||
newWidths[cv.columnName] = cv.width;
|
||||
}
|
||||
});
|
||||
if (Object.keys(newWidths).length > 0) {
|
||||
setColumnWidths((prev) => ({ ...prev, ...newWidths }));
|
||||
|
||||
// table_column_widths_* localStorage도 동기화 (초기 너비 로드 시 올바른 값 사용)
|
||||
if (tableConfig.selectedTable && userId) {
|
||||
const widthsKey = `table_column_widths_${tableConfig.selectedTable}_${userId}`;
|
||||
try {
|
||||
const existing = localStorage.getItem(widthsKey);
|
||||
const merged = existing ? { ...JSON.parse(existing), ...newWidths } : newWidths;
|
||||
localStorage.setItem(widthsKey, JSON.stringify(merged));
|
||||
} catch { /* ignore */ }
|
||||
}
|
||||
}
|
||||
|
||||
// localStorage에 저장 (사용자별)
|
||||
if (tableConfig.selectedTable && currentUserId) {
|
||||
const storageKey = `table_column_visibility_${tableConfig.selectedTable}_${currentUserId}`;
|
||||
|
|
|
|||
|
|
@ -570,6 +570,8 @@ export const ButtonPrimaryComponent: React.FC<ButtonPrimaryComponentProps> = ({
|
|||
...restComponentStyle,
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
borderRadius: _br || "0.5rem",
|
||||
overflow: "hidden",
|
||||
};
|
||||
|
||||
// 디자인 모드 스타일
|
||||
|
|
|
|||
|
|
@ -520,12 +520,33 @@ export const TableListComponent: React.FC<TableListComponentProps> = ({
|
|||
}
|
||||
}, [tableConfig.selectedTable, currentUserId]);
|
||||
|
||||
// columnVisibility 변경 시 컬럼 순서 및 가시성 적용
|
||||
// columnVisibility 변경 시 컬럼 순서, 가시성, 너비 적용
|
||||
useEffect(() => {
|
||||
if (columnVisibility.length > 0) {
|
||||
const newOrder = columnVisibility.map((cv) => cv.columnName).filter((name) => name !== "__checkbox__"); // 체크박스 제외
|
||||
setColumnOrder(newOrder);
|
||||
|
||||
// 너비 적용
|
||||
const newWidths: Record<string, number> = {};
|
||||
columnVisibility.forEach((cv) => {
|
||||
if (cv.width) {
|
||||
newWidths[cv.columnName] = cv.width;
|
||||
}
|
||||
});
|
||||
if (Object.keys(newWidths).length > 0) {
|
||||
setColumnWidths((prev) => ({ ...prev, ...newWidths }));
|
||||
|
||||
// table_column_widths_* localStorage도 동기화 (초기 너비 로드 시 올바른 값 사용)
|
||||
if (tableConfig.selectedTable && userId) {
|
||||
const widthsKey = `table_column_widths_${tableConfig.selectedTable}_${userId}`;
|
||||
try {
|
||||
const existing = localStorage.getItem(widthsKey);
|
||||
const merged = existing ? { ...JSON.parse(existing), ...newWidths } : newWidths;
|
||||
localStorage.setItem(widthsKey, JSON.stringify(merged));
|
||||
} catch { /* ignore */ }
|
||||
}
|
||||
}
|
||||
|
||||
// localStorage에 저장 (사용자별)
|
||||
if (tableConfig.selectedTable && currentUserId) {
|
||||
const storageKey = `table_column_visibility_${tableConfig.selectedTable}_${currentUserId}`;
|
||||
|
|
|
|||
Loading…
Reference in New Issue