2024-10-28 20:38:41 -04:00
---
links:
- "[[Untitled 1.canvas|Untitled 1]]"
- "[[Big Fish.fountain]]"
- "[[root/Untitled]]"
---
```yaml:data
this: is
some: inline
metadata:
- one
- two
- three
- "[[Big Fish.fountain]]"
- "[[brick& steel.fountain]]"
- lol
```
```datacoretsx
const randProg = () => Math.random() * 100
function SpeshulTable(props) {
let res = dc.useQuery(`@task and $parentLine < 0 and ! contains ( $ file , " series bible " ) and ! contains ( $ file , " periodic notes " ) and ! contains ( $ file , " kanban " ) and ! contains ( $ file , " template " ) ` , { debounce: 0 } ) ;
let sorted = dc.useMemo(() => {
return res.sort((a, b) => {
let aa = a.$file.split("/").toReversed()[0];
let bb = b.$file.split("/").toReversed()[0];
return aa > bb ? 1 : bb > aa ? -1 : 0;
})
}, [res])
let groups = dc.useMemo(() => {
let groups = {}
sorted.map(x => x.$file).filter((b, ind, arr) => ind === arr.indexOf(b)).forEach(x => {
groups[x] = sorted.filter(y => y.$file === x)
})
return groups;
}, [sorted, res])
let el = dc.useMemo(() => {
return < div style = {{ display: " grid ", gridTemplateColumns: `repeat(${props.gridSize}, minMax(0, 1fr))` , justifyItems: " stretch ", alignItems: " stretch ", gap: " 0 . 75em "}} >
{Object.keys(groups).map(x => (
< dc.Card title = {x.split("/").toReversed()[0]} centerTitle collapsible value = {groups[x]} content = {v2 = > (< dc.TaskList rows = {v2} states = {["/", " x " , " " ] } displayedFields = {[
{
key: "completed",
defaultValue: null,
type: "date"
},
{
key: "percentDone",
defaultValue: randProg,
type: "number",
renderAs: "progress"
}
]} />)
}/>
))}
< / div >
}, [sorted, groups, res])
return el
}
return (< dc.Callout collapsible type = "outline" initialOpen = {false} title = {<h6 style = {{color: " # a3fffd " , alignSelf: " start " } } > task demo< / h1 > }>
< SpeshulTable gridSize = {1}/ >
< / dc.Callout > )
```
```datacorejsx
//console.clear()
function IAmOld({children, fac}) {
const div = function div(a, b) { return a / b }
const mul = function mul(a, b) { return a * b }
const [age, setAge] = dc.useState(-Infinity);
const [pdir, setPdir] = dc.useState(0)
const [paused, setPaused] = dc.useState(true)
const [dir, setDir] = dc.useState(-1)
const prevo = (val) => {
setPdir(dir);
setDir(val);
}
const fn = (paused) => {
if(paused) return;
//console.log("aaaa", age)
if(pdir == 0) prevo(dir)
else if(age == Infinity) {
//console.log(-1)
prevo(-1)
} else if(age == -Infinity) {
//console.log(1)
prevo(1)
}
let nage = (age == Infinity ? Number.MAX_VALUE : age == -Infinity ? 0-Number.MAX_VALUE : age)
if(dir < 0 & & nage = = 0 ) {
//prevo(1);
nage -= 1
} else if(dir > 0 & & nage == 0) {
nage += 1
}
let op = mul;
if(nage < 0 ) {
if(dir == -1) {
op = mul
} else if(dir == 1) {
op = div
}
} else if(nage > 0) {
if(dir == -1) {
op = div
} else if(dir == 1) {
op = mul
}
}
//console.log(nage)
let res = op(nage.toFixed(), fac)
if(res == -1) {
res = res + 1;
} else if(res == 1) {
res = res - 1
} else if((res < = 1 & & res > 0) || (res >= -1 & & res < 0 ) ) {
res = 0;
}
setAge(res);
}
dc.useEffect(() => {
const t = setInterval(() => fn(paused), 500)
return () => {
//console.log("clearing")
clearInterval(t)
}
}, [age, dir, pdir])
return (
< div >
{children}
< br / >
< button onClick = {() = > fn(false)}>clicketh< / button >
< button onClick = {() = > setPaused(!paused)}>pause: {paused.toString()}< / button >
< br / >
< sub >
< br / >
{`i am ${age} years old !`}
< / sub >
< / div >
)
}
let elo = < dc.Markdown content = "# **greetings universe !** " sourcePath = {dc.currentPath()}/ >
let cardo = < dc.Card
title="hello world"
centerTitle
collapsible
collapsed
content={< dc.Markdown sourcePath = {dc.currentPath()} content = {`this is **content**
>[!gimme an embed]-
> ![[un]]`}
/>}
/>
let ph = < IAmOld fac = {16} >
{elo}
< / IAmOld >
let pdf = < dc.Embed linkText = "gafbp.pdf" sourcePath = {dc.currentPath()} extension = "pdf" inline = {false}/ >
return [cardo, pdf, ph]
//dc.render(cardo)
//dc.addChild(cardo)
```
> 9W2UPlzHlkgijS
>
```datacorejsx
function Foo() {
const file = dc.useCurrentFile()
return < div > stub !< / div >
}
return < Foo / >
```
97k2E
```datacorejsx
return function TableThing() {
2024-10-30 17:12:26 -04:00
const query = dc.useQuery(`@task and $parentLine < 0 and startswith ( $ file , " data / 02 - " ) ` )
2024-10-28 20:38:41 -04:00
const props = {
filterable: true,
rows: query,
columns: [{
id: "id",
title: "ID",
value: (o) => o.$id
},
{
id: "completed",
title: "completed",
value: (o) => o.$completed
}],
paging: 10
}
return (< >
< h1 > {query.length}< / h1 >
< dc.VanillaTable { . . . props } / >
< />)
}
```
[[]]
- [x] Q7JeURK**X**pU[ratingtest:: 5] [seltest:: 3] [btfash:: true] [multitest:: 1, 3] [completed:: June 30, 2024]
2024-10-30 17:12:26 -04:00
- [x] paG2iURzbCZQb5rrRVFnx5sCYbOQAZl70HeqDrfnN[completed:: June 28, 2024] [btfash:: true] [seltest:: 6] [multitest:: 1]
2024-10-28 20:38:41 -04:00
```datacorejsx
function Maybe() {
const cfc = dc.useCurrentFile().$file
const q = dc.useQuery(dc.parseQuery(`@task and $file = "${cfc}"`), {debounce: 0})
//console.log(q[0]?.$completed, q[0]?.$symbol, q[0]?.$infields, q[0]?.fields)
let props = dc.useMemo(() => ({
rows: q,
displayedFields: [
{
key: "ratingtest",
type: "number",
renderAs: "rating",
defaultValue: 1
},
{
key: "btfash",
type: "boolean",
defaultValue: true
},
{
key: "seltest",
type: "string",
defaultValue: "1",
renderAs: "select",
config: {
options: "brian tatler fucked and abused sean harris!!!!!!!!!!!!!!!".split(" ").map((x, i) => {
return {
value: `${i + 1}` ,
label: `${x}`
}
})
}
},
{
key: "multitest",
type: "string",
renderAs: "select",
config: {
options: "yksi kaksi kolme nelja viisi kuusi seitseman kahdeksan yhdeksan kymmenen".split(" ").map((x, i) => ({
value: i + 1,
label: x
})),
multi: true
}
},
{
key: "completed",
type: "date"
}
]
}), [q, cfc])
return < dc.TaskList { . . . props } / >
}
return < dc.Card content = {() = > < Maybe / > } />
```
[mmtest::]