1.2.4 • Published 8 days ago

@chumsinc/json-view v1.2.4

Weekly downloads
-
License
ISC
Repository
github
Last release
8 days ago

JSONView Component


A component for rendering data to a collapsible tree

License Latest version Size

Usage

import {solarized} from "base16";
import {JSONView} from 'json-veiw';
import 'json-view/dist/json-view.css';

const myData: any = {test: 'this is a test', success: true};

const previewFunction = (data:any) => {
    if (Array.isArray(data)) {
        return null;
    }
    const keys = Object.keys(data);
    const [key1, key2, ...rest] = keys;
    if (rest.length) {
        return <span>{key1}, {key2 ?? null}, &hellip;</span>
    }
    return (
        <span>{key1},{key2 ?? null}</span>
    )

}

<JSONView data={myData} theme={solarized} dark={true} rootNodeName={'myData'}
          collapsedStringLength={5} defaultOpenLevels={1}
          maxArrayElements={25} maxObjectElements={100}/>

/* optionally can use the JSONViewContext Provider */
<JSONViewContext.Provider data={{...defaultSettings, maxArrayElements: 100}}>
    <JSONView data={data.data} rootNodeName={'myData'} previewFunction={previewFunction} />
</JSONViewContext.Provider>

Requirements

Required packages (required as peerDependencies):

{
  "peerDependencies": {
    "css-loader": "^6.2.0",
    "react": "^18.1.0",
    "react-dom": "^18.1.0",
    "style-loader": "^3.2.1"
  }
}

Install

npm install @chumsinc/json-view

npm install base16 (optional to apply a new theme)

Props

nametypedefaultdescription
data (required)anyn/aAny data to be viewed
themeBase16ThemegoogleColor theme, defaults to Monokai (dark) or Google (light)
rootNodeNamestring"root"Name of the root node
collapsedStringLengthnumber5Number of characters to show on collapsed string (can inherit from context)
defaultOpenLevelsnumber1depth of open nodes(can inherit from context)
maxArrayElementsnumber25Number of array values to show(can inherit from context)
maxObjectElementsnumber100Number of object members to show(can inherit from context)

Styling

1.2.4

8 days ago

1.2.3

12 months ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago