Files
Trilium/src/public/app/services/resizer.ts

66 lines
1.6 KiB
TypeScript
Raw Normal View History

import options from "./options.js";
let leftInstance: ReturnType<typeof Split> | null;
let rightInstance: ReturnType<typeof Split> | null;
function setupLeftPaneResizer(leftPaneVisible: boolean) {
if (leftInstance) {
leftInstance.destroy();
leftInstance = null;
}
$("#left-pane").toggle(leftPaneVisible);
if (!leftPaneVisible) {
2025-01-09 18:07:02 +02:00
$("#rest-pane").css("width", "100%");
return;
}
2025-01-09 18:07:02 +02:00
let leftPaneWidth = options.getInt("leftPaneWidth");
if (!leftPaneWidth || leftPaneWidth < 5) {
leftPaneWidth = 5;
}
if (leftPaneVisible) {
2025-01-09 18:07:02 +02:00
leftInstance = Split(["#left-pane", "#rest-pane"], {
sizes: [leftPaneWidth, 100 - leftPaneWidth],
gutterSize: 5,
2025-01-09 18:07:02 +02:00
onDragEnd: (sizes) => options.save("leftPaneWidth", Math.round(sizes[0]))
});
}
}
function setupRightPaneResizer() {
if (rightInstance) {
2021-06-05 22:40:17 +02:00
rightInstance.destroy();
rightInstance = null;
}
const rightPaneVisible = $("#right-pane").is(":visible");
if (!rightPaneVisible) {
2025-01-09 18:07:02 +02:00
$("#center-pane").css("width", "100%");
return;
}
2025-01-09 18:07:02 +02:00
let rightPaneWidth = options.getInt("rightPaneWidth");
if (!rightPaneWidth || rightPaneWidth < 5) {
rightPaneWidth = 5;
}
if (rightPaneVisible) {
2025-01-09 18:07:02 +02:00
rightInstance = Split(["#center-pane", "#right-pane"], {
sizes: [100 - rightPaneWidth, rightPaneWidth],
gutterSize: 5,
2025-01-09 18:07:02 +02:00
onDragEnd: (sizes) => options.save("rightPaneWidth", Math.round(sizes[1]))
});
}
}
export default {
setupLeftPaneResizer,
2025-01-09 18:07:02 +02:00
setupRightPaneResizer
};