Skip to content

Commit 1487e87

Browse files
authored
Merge pull request mac-s-g#284 from imdanielsp/master
Add displayArrayKey property that hides the array keys
2 parents f224c39 + 6b50e71 commit 1487e87

File tree

5 files changed

+34
-12
lines changed

5 files changed

+34
-12
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Name|Type|Default|Description
6161
`sortKeys`|`boolean`|`false`|set to true to sort object keys
6262
`quotesOnKeys`|`boolean`|`true`|set to false to remove quotes from keys (eg. `"name":` vs. `name:`)
6363
`validationMessage`|`string`|"Validation Error"|Custom message for validation failures to `onEdit`, `onAdd`, or `onDelete` callbacks
64+
`displayArrayKey`|`boolean`|`true`|When set to `true`, the index of the elements prefix values
6465

6566
### Features
6667
* `onEdit`, `onAdd` and `onDelete` props allow users to edit the `src` variable

src/js/components/ObjectName.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,22 @@ export default function getObjectName(props) {
88
quotesOnKeys,
99
theme,
1010
jsvRoot,
11-
name
11+
name,
12+
displayArrayKey
1213
} = props;
1314

1415
const display_name = props.name ? props.name : '';
1516

1617
if (jsvRoot && (name === false || name === null)) {
1718
return <span />;
1819
} else if (parent_type == 'array') {
19-
return (
20+
return displayArrayKey ? (
2021
<span {...Theme(theme, 'array-key')} key={namespace}>
2122
<span class="array-key">{display_name}</span>
2223
<span {...Theme(theme, 'colon')}>:</span>
2324
</span>
25+
) : (
26+
<span />
2427
);
2528
} else {
2629
return (

src/js/components/VariableEditor.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ class VariableEditor extends React.PureComponent {
5353
enableClipboard,
5454
onEdit,
5555
onDelete,
56-
onSelect
56+
onSelect,
57+
displayArrayKey
5758
} = this.props;
5859
const { editMode } = this.state;
59-
6060
return (
6161
<div
6262
{...Theme(theme, 'objectKeyVal', {
@@ -72,13 +72,15 @@ class VariableEditor extends React.PureComponent {
7272
key={variable.name}
7373
>
7474
{type == 'array' ? (
75-
<span
76-
{...Theme(theme, 'array-key')}
77-
key={variable.name + '_' + namespace}
78-
>
79-
{variable.name}
80-
<div {...Theme(theme, 'colon')}>:</div>
81-
</span>
75+
displayArrayKey ? (
76+
<span
77+
{...Theme(theme, 'array-key')}
78+
key={variable.name + '_' + namespace}
79+
>
80+
{variable.name}
81+
<div {...Theme(theme, 'colon')}>:</div>
82+
</span>
83+
) : null
8284
) : (
8385
<span>
8486
<span

src/js/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ class ReactJsonView extends React.PureComponent {
5555
iconStyle: 'triangle',
5656
style: {},
5757
validationMessage: 'Validation Error',
58-
defaultValue: null
58+
defaultValue: null,
59+
displayArrayKey: true
5960
};
6061

6162
// will trigger whenever setState() is called, or parent passes in new props.

test/tests/js/components/ObjectName-test.js

+15
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ describe("<ObjectName />", function() {
2525
parent_type="array"
2626
theme="rjv-default"
2727
jsvRoot={false}
28+
displayArrayKey={true}
2829
/>
2930
)
3031
expect(wrapper.find(".array-key")).to.have.length(1)
@@ -67,4 +68,18 @@ describe("<ObjectName />", function() {
6768
)
6869
expect(wrapper.find(".object-key").children('span')).to.have.length(1)
6970
})
71+
72+
it("ObjectName array hides key", function() {
73+
const wrapper = render(
74+
<ObjectName
75+
namespace={"test"}
76+
name="test"
77+
parent_type="array"
78+
theme="rjv-default"
79+
jsvRoot={false}
80+
displayArrayKey={false}
81+
/>
82+
)
83+
expect(wrapper.find(".array-key")).to.have.length(0)
84+
})
7085
})

0 commit comments

Comments
 (0)