MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / syncColumns

Function syncColumns

frontend/src/components/fu/FuTable.ts:90–115  ·  view source on GitHub ↗
(nextColumns: FuTableColumnConfig[])

Source from the content-addressed store, hash-verified

88 };
89
90 const syncColumns = (nextColumns: FuTableColumnConfig[]) => {
91 if (!props.columns) {
92 return;
93 }
94 ensureStoredColumns();
95 const currentColumns = props.columns as FuTableColumnConfig[];
96 const sourceColumns = currentColumns.length > 0 ? currentColumns : storedColumns.value;
97 const sourceByKey = new Map(sourceColumns.map((column) => [column.key, column]));
98 const sourceOrder = new Map(sourceColumns.map((column, index) => [column.key, index]));
99
100 const mergedColumns = nextColumns
101 .map((column, index) => ({
102 ...column,
103 show: sourceByKey.get(column.key)?.show ?? true,
104 fixed: sourceByKey.get(column.key)?.fixed ?? column.fixed,
105 __order: sourceOrder.get(column.key) ?? index,
106 }))
107 .sort((a, b) => a.__order - b.__order)
108 .map((column) => {
109 const normalizedColumn = { ...column };
110 delete (normalizedColumn as Partial<typeof normalizedColumn> & { __order?: number }).__order;
111 return normalizedColumn;
112 });
113
114 updateArrayInPlace(currentColumns, mergedColumns);
115 };
116
117 const resolvedColumns = computed(() => {
118 if (props.columns && props.columns.length > 0) {

Callers 1

setupFunction · 0.85

Calls 3

updateArrayInPlaceFunction · 0.90
ensureStoredColumnsFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected