feat: black magic

add config for `order` array, which determines the order in which all passed config functions for explorer will get executed in.

functions will now dynamically be called on `fileTree` via array accessor (e.g. fileTree["sort"].call(...)) with corresponding function from options being passed to call)
This commit is contained in:
Ben Schlegel 2023-09-16 21:58:38 +02:00
parent fea352849c
commit f7029012df
No known key found for this signature in database
GPG key ID: 8BDB8891C1575E22
2 changed files with 29 additions and 9 deletions
quartz/components

View file

@ -2,6 +2,8 @@
import { QuartzPluginData } from "../plugins/vfile"
import { resolveRelative } from "../util/path"
type OrderEntries = "sort" | "filter" | "map"
export interface Options {
title: string
folderDefaultState: "collapsed" | "open"
@ -10,6 +12,7 @@ export interface Options {
sortFn: (a: FileNode, b: FileNode) => number
filterFn?: (node: FileNode) => boolean
mapFn?: (node: FileNode) => void
order?: OrderEntries[]
}
type DataWrapper = {