Skip to content

Commit 0b5ad4a

Browse files
committed
Quartz sync: Jun 4, 2025, 6:43 PM
1 parent 5f32d57 commit 0b5ad4a

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

quartz/components/Mindmap.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ export interface LocalMindmapConfig {
1414
pan: boolean
1515
spacingHorizontal: number
1616
spacingVertical: number
17+
lineWidth?: number
18+
nodeMinHeight?: number
19+
paddingX?: number
20+
fitRatio?: number
1721
scrollForPan: boolean
1822
zoomInIcon: boolean
1923
zoomOutIcon: boolean
@@ -26,7 +30,6 @@ export interface GlobalMindmapConfig extends LocalMindmapConfig {
2630
closeIcon: boolean
2731
}
2832

29-
3033
interface MindmapOptions {
3134
mode: "view" | "button" | "global"
3235
localOptions: Partial<LocalMindmapConfig> | undefined
@@ -59,6 +62,7 @@ const defaultOptions: MindmapOptions = {
5962
pan: true,
6063
spacingHorizontal: 80,
6164
spacingVertical: 7,
65+
paddingX: 20,
6266
scrollForPan: false,
6367
zoomInIcon: true,
6468
zoomOutIcon: true,

quartz/components/scripts/mindmap.inline.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ function addExternalIcon(svg: SVGSVGElement) {
182182
})
183183
}
184184

185+
function optionMaker(option: LocalMindmapConfig | GlobalMindmapConfig) {
186+
return ({
187+
...deriveOptions(option),
188+
scrollForPan: option.scrollForPan,
189+
...(option.paddingX && { paddingX: option.paddingX }),
190+
...(option.nodeMinHeight && { nodeMinHeight: option.nodeMinHeight }),
191+
...(option.fitRatio && { fitRatio: option.fitRatio }),
192+
})
193+
}
194+
185195
async function renderMindmap(mindmap: HTMLElement, isSafari = false) {
186196
removeAllChildren(mindmap)
187197

@@ -192,8 +202,7 @@ async function renderMindmap(mindmap: HTMLElement, isSafari = false) {
192202
const data: IPureNode = JSON.parse(decodeURIComponent(mindmap.dataset["mindmap"]))
193203

194204
const option = JSON.parse(mindmap.dataset["cfg"]!)
195-
const markmapOptions = deriveOptions(option);
196-
markmapOptions.scrollForPan = option.scrollForPan;
205+
const markmapOptions = optionMaker(option);
197206

198207
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg")
199208
svg.setAttribute("width", "100%")

0 commit comments

Comments
 (0)