naive-ui
Version:
A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast
22 lines • 641 B
JavaScript
import { ref } from 'vue';
import { isColumnResizable } from "./utils.mjs";
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
export function useResizable() {
const resizableWidthsRef = ref({});
function getResizableWidth(key) {
return resizableWidthsRef.value[key];
}
function doUpdateResizableWidth(column, width) {
if (isColumnResizable(column) && 'key' in column) {
resizableWidthsRef.value[column.key] = width;
}
}
function clearResizableWidth() {
resizableWidthsRef.value = {};
}
return {
getResizableWidth,
doUpdateResizableWidth,
clearResizableWidth
};
}