trilium/src/public/app/services/split.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

import options from "./options.js";
2019-12-23 23:48:34 +08:00
let instance;
2020-03-02 03:11:40 +08:00
function setupSplit(left, right) {
2019-12-23 23:48:34 +08:00
if (instance) {
instance.destroy();
instance = null;
2019-12-23 23:48:34 +08:00
}
if (!left && !right) {
$("#center-pane").css('width', '100%');
2019-12-23 23:48:34 +08:00
return;
2019-12-23 23:48:34 +08:00
}
const leftPaneWidth = options.getInt('leftPaneWidth');
const rightPaneWidth = options.getInt('rightPaneWidth');
if (left && right) {
instance = Split(['#left-pane', '#center-pane', '#right-pane'], {
sizes: [leftPaneWidth, 100 - leftPaneWidth - rightPaneWidth, rightPaneWidth],
gutterSize: 5,
onDragEnd: sizes => {
options.save('leftPaneWidth', Math.round(sizes[0]));
options.save('rightPaneWidth', Math.round(sizes[2]));
}
});
}
else if (left) {
instance = Split(['#left-pane', '#center-pane'], {
sizes: [leftPaneWidth, 100 - leftPaneWidth],
gutterSize: 5,
onDragEnd: sizes => {
options.save('leftPaneWidth', Math.round(sizes[0]));
}
});
}
else if (right) {
instance = Split(['#center-pane', '#right-pane'], {
sizes: [100 - rightPaneWidth, rightPaneWidth],
gutterSize: 5,
onDragEnd: sizes => {
options.save('rightPaneWidth', Math.round(sizes[1]));
}
});
}
2019-12-23 23:48:34 +08:00
}
export default {
setupSplit
2019-12-23 23:48:34 +08:00
};