1- 'use client'
2- import {
3- renderCodeTable ,
4- renderExamples ,
5- formatShortHandAnchorIds ,
6- formatAnchorIds ,
7- } from '../../../utils'
8- import { Layout } from '../../../components/_layout'
9- import props from '../../../../schema/javascript.json'
10- import { OnThisPageContent } from '@/components/_onThisPage'
11- import { useEffect , useState } from 'react'
121import { Metadata } from 'next'
2+ import JavaScriptArticle from './javascript'
133
144export const metadata : Metadata = {
155 title : 'TerminusDB Javascript Client API Reference' ,
@@ -21,76 +11,9 @@ export const metadata: Metadata = {
2111}
2212
2313export default function JavaScript ( ) {
24- const [ onPageContent , setOnPageContent ] = useState < JSX . Element | null > ( null )
25- useEffect ( ( ) => {
26- setOnPageContent ( < OnThisPageContent /> )
27- } , [ ] )
28- const modules = props . modules
29- const layout = modules . map ( ( mod ) => {
30- const classes = mod . classes
31- . filter ( ( x ) => x . memberFunctions . length > 0 )
32- . map ( ( class_ ) => {
33- const functions = class_ . memberFunctions . map ( ( func ) => {
34- let args = null
35- let shortArgs = null
36- if (
37- typeof func . parameters !== 'undefined' &&
38- func . parameters . length > 0
39- ) {
40- args = renderCodeTable ( func . parameters )
41- shortArgs = func . parameters . map ( ( x ) => x . name ) . join ( ', ' )
42- }
43- let examples = null
44- if (
45- typeof func . examples !== 'undefined' &&
46- func . examples . length > 0
47- ) {
48- examples = renderExamples ( func . examples , 'javascript' , func . name )
49- }
50- return (
51- < div key = { func . name } >
52- < h4
53- className = "divider"
54- id = { formatAnchorIds (
55- formatShortHandAnchorIds ( func . name , shortArgs ) ,
56- ) }
57- >
58- { func . name } ({ shortArgs } )
59- </ h4 >
60- < div data-accordion = "collapse" >
61- < p > { func . summary } </ p >
62- { args }
63- { examples }
64- </ div >
65- </ div >
66- )
67- } )
68- return (
69- < div key = { class_ . name } >
70- < h3 id = { formatAnchorIds ( class_ . name ) } > { class_ . name } </ h3 >
71- { functions }
72- </ div >
73- )
74- } )
75- return < div key = { mod . name } > { classes } </ div >
76- } )
7714 return (
7815 < main id = "content-wrapper" className = "w-full max-w-2xl min-w-0 flex-auto px-4 py-16 lg:max-w-none lg:pr-0 lg:pl-8 xl:px-16" >
79- < article className = "w-full flex flex-row" >
80- < div id = "mainContent" className = "overflow-x-scroll" >
81- < h1 className = "tdb__subtitle font-display text-3xl tracking-tight text-slate-900 dark:text-white" >
82- JavaScript
83- </ h1 >
84- < div className = "prose dark:prose-invert" >
85- { layout }
86- </ div >
87- </ div >
88- < div className = 'hidden lg:block sm:mr-64 w-32 lg:mr-40 relative ' >
89- </ div >
90- < div className = "fixed scroll-mt-[8.5rem] md:right-12 top-24 lg:right-12 w-64 flex-none pl-8 text-xs xl:block xl:text-sm" >
91- { onPageContent }
92- </ div >
93- </ article >
16+ < JavaScriptArticle />
9417 </ main >
9518 )
9619}
0 commit comments