From 4c4593d0eb95c59432aeb773e63b54b5bf522da1 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 4 Jan 2021 12:32:19 -0500 Subject: [PATCH 1/3] example of how flag to disable array indicies w/flag (needs work being passed in but general idea) --- demo/src/js/components/Demo.js | 3 +++ src/js/components/VariableEditor.js | 13 ++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/demo/src/js/components/Demo.js b/demo/src/js/components/Demo.js index bd4592de..45577591 100644 --- a/demo/src/js/components/Demo.js +++ b/demo/src/js/components/Demo.js @@ -27,6 +27,7 @@ export default class extends React.PureComponent { onDelete: true, displayObjectSize: true, enableClipboard: true, + disableArrayIndicies: true, indentWidth: 4, displayDataTypes: true, iconStyle: "triangle" @@ -40,6 +41,7 @@ export default class extends React.PureComponent { onDelete, displayObjectSize, enableClipboard, + disableArrayIndicies, theme, iconStyle, collapsed, @@ -107,6 +109,7 @@ export default class extends React.PureComponent { } displayObjectSize={displayObjectSize} enableClipboard={enableClipboard} + disableArrayIndicies={disableArrayIndicies} indentWidth={indentWidth} displayDataTypes={displayDataTypes} iconStyle={iconStyle} diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js index 60497bac..b954e3eb 100644 --- a/src/js/components/VariableEditor.js +++ b/src/js/components/VariableEditor.js @@ -58,6 +58,9 @@ class VariableEditor extends React.PureComponent { } = this.props; const { editMode } = this.state; + const disableArrayIndicies = true + + return (
- {type == 'array' ? ( - - {variable.name} -
:
+ {type == 'array' && disableArrayIndicies? ( + + ) : ( From a6aca77152c6f906e4e51ec59802158488dd9409 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 4 Jan 2021 12:56:43 -0500 Subject: [PATCH 2/3] added flag to defaultprops --- index.d.ts | 8 ++++++++ src/js/components/VariableEditor.js | 3 +-- src/js/index.js | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/index.d.ts b/index.d.ts index 4a91dc29..690859e0 100644 --- a/index.d.ts +++ b/index.d.ts @@ -94,6 +94,14 @@ export interface ReactJsonViewProps { * * Default: false */ + + disableArrayIndicies?: boolean; + /** + * Whether or not the indicies/indexes for an array should be disable when JSON is displayed. + * + * + * Default: false + */ onEdit?: ((edit: InteractionProps) => false | any) | false; /** * When a callback function is passed in, add functionality is enabled. diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js index b954e3eb..a1d6ab89 100644 --- a/src/js/components/VariableEditor.js +++ b/src/js/components/VariableEditor.js @@ -51,6 +51,7 @@ class VariableEditor extends React.PureComponent { namespace, indentWidth, enableClipboard, + disableArrayIndicies, onEdit, onDelete, onSelect, @@ -58,7 +59,6 @@ class VariableEditor extends React.PureComponent { } = this.props; const { editMode } = this.state; - const disableArrayIndicies = true return ( @@ -71,7 +71,6 @@ class VariableEditor extends React.PureComponent { > {type == 'array' && disableArrayIndicies? ( - ) : ( diff --git a/src/js/index.js b/src/js/index.js index 64773a3a..41079a62 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -51,6 +51,7 @@ class ReactJsonView extends React.PureComponent { enableClipboard: true, displayObjectSize: true, displayDataTypes: true, + disableArrayIndicies: true, onEdit: false, onDelete: false, onAdd: false, From 7a7521bbb7d08fa3baecdaa023404f1b7c226daf Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 4 Jan 2021 13:44:11 -0500 Subject: [PATCH 3/3] Propagate flag in objectname.js --- src/js/components/ObjectName.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/js/components/ObjectName.js b/src/js/components/ObjectName.js index 05124dbc..f7a646f5 100644 --- a/src/js/components/ObjectName.js +++ b/src/js/components/ObjectName.js @@ -3,18 +3,16 @@ import Theme from './../themes/getStyle'; export default function getObjectName(props) { const { - parent_type, namespace, theme, jsvRoot, name + parent_type, namespace, theme, jsvRoot, name, disableArrayIndicies } = props; const display_name = props.name ? props.name : ''; if (jsvRoot && (name === false || name === null)) { return (); - } else if (parent_type == 'array') { + } else if (parent_type == 'array' && disableArrayIndicies) { return ( - - {display_name} - : + ); } else {