Skip to content

Commit

Permalink
fix: support indent width (#32)
Browse files Browse the repository at this point in the history
  • Loading branch information
himself65 authored Sep 19, 2022
1 parent 06c886c commit 4f8b32f
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 11 deletions.
3 changes: 2 additions & 1 deletion src/components/DataTypes/Object.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -223,12 +223,13 @@ export const ObjectType: React.FC<DataItemProps<object>> = (props) => {
groupArraysAfterLength,
displayLength,
keyColor])
const indentWidth = useJsonViewerStore(store => store.indentWidth)
return (
<Box
className='data-object'
sx={{
display: props.inspect ? 'block' : 'inline-block',
pl: props.inspect ? 2 : 0,
pl: props.inspect ? indentWidth : 0,
color: keyColor
}}
>
Expand Down
12 changes: 2 additions & 10 deletions src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,12 @@ const JsonViewerInner: React.FC<JsonViewerProps> = (props) => {
setIfNotUndefined('value', props.value)
}, [props.value, setIfNotUndefined])
useEffect(() => {
// setIfNotUndefined('indentWidth', props.indentWidth)
setIfNotUndefined('indentWidth', props.indentWidth)
setIfNotUndefined('onChange', props.onChange)
setIfNotUndefined('groupArraysAfterLength', props.groupArraysAfterLength)
setIfNotUndefined('keyRenderer', props.keyRenderer)
setIfNotUndefined('maxDisplayLength', props.maxDisplayLength)
}, [
api,
props.groupArraysAfterLength,
props.keyRenderer,
props.onChange,
props.value,
props.maxDisplayLength,
setIfNotUndefined
])
}, [api, props.groupArraysAfterLength, props.keyRenderer, props.onChange, props.value, props.maxDisplayLength, setIfNotUndefined, props.indentWidth])

useEffect(() => {
if (props.theme === 'light') {
Expand Down
2 changes: 2 additions & 0 deletions src/stores/JsonViewerStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ DefaultKeyRenderer.when = () => false
export type JsonViewerState<T = unknown> = {
inspectCache: Record<string, boolean>
hoverPath: { path: Path; nestedIndex?: number } | null
indentWidth: number
groupArraysAfterLength: number
maxDisplayLength: number
defaultInspectDepth: number
Expand All @@ -38,6 +39,7 @@ export const createJsonViewerStore = <T = unknown>(props: JsonViewerProps<T>) =>
{
inspectCache: {},
hoverPath: null,
indentWidth: props.indentWidth ?? 2,
groupArraysAfterLength: props.groupArraysAfterLength ?? 100,
maxDisplayLength: props.maxDisplayLength ?? 30,
rootName: 'root',
Expand Down
1 change: 1 addition & 0 deletions src/type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export type JsonViewerProps<T = unknown> = {
value: T
/**
* indent width for nested objects
* @default 2
*/
indentWidth?: number
/**
Expand Down

0 comments on commit 4f8b32f

Please sign in to comment.