{
+ const { clickCallback, src, namespace, variableName } = this.props
+
+ clickCallback({
+ variableName: variableName,
+ src: src,
+ namespace: namespace,
+ name: namespace[namespace.length - 1]
+ })
+ }
+
+ getClippyIcon = () => {
+ const { theme } = this.props
+
+ return (
+
+ )
+ }
+
+ render () {
+ const { src, theme, hidden, rowHovered, namespace, variableName, title, className } = this.props;
+ const style = Theme(theme, 'custom-button').style
+ let display = 'inline'
+
+ if (hidden) {
+ display = 'none'
+ }
+
+ return (
+
+
+ {this.getClippyIcon()}
+
+
+ )
+ }
+}
diff --git a/src/js/components/DataTypes/Object.js b/src/js/components/DataTypes/Object.js
index a7a0605..c50573d 100644
--- a/src/js/components/DataTypes/Object.js
+++ b/src/js/components/DataTypes/Object.js
@@ -130,9 +130,9 @@ class RjvObject extends React.PureComponent {
}
getObjectMetaData = src => {
- const { rjvId, theme } = this.props
+ const { rjvId, theme, customButtons } = this.props
const { size, hovered } = this.state
- return
+ return
}
getBraceStart (object_type, expanded) {
diff --git a/src/js/components/JsonViewer.js b/src/js/components/JsonViewer.js
index 41f4b88..b18abcc 100644
--- a/src/js/components/JsonViewer.js
+++ b/src/js/components/JsonViewer.js
@@ -25,7 +25,7 @@ export default class extends React.PureComponent {
return (
)
diff --git a/src/js/components/VariableEditor.js b/src/js/components/VariableEditor.js
index d0bcb32..1caf114 100644
--- a/src/js/components/VariableEditor.js
+++ b/src/js/components/VariableEditor.js
@@ -6,6 +6,7 @@ import dispatcher from './../helpers/dispatcher'
import parseInput from './../helpers/parseInput'
import stringifyVariable from './../helpers/stringifyVariable'
import CopyToClipboard from './CopyToClipboard'
+import CustomButton from './CustomButton'
// data type components
import {
@@ -57,9 +58,11 @@ class VariableEditor extends React.PureComponent {
onSelect,
displayArrayKey,
quotesOnKeys,
- keyModifier
+ keyModifier,
+ customButtons
} = this.props
const { editMode } = this.state
+
return (
)
: null}
+ {customButtons[variable.type]
+ ? (
+
+ )
+ : null}
{onEdit !== false && editMode == false ? this.getEditIcon() : null}
{onDelete !== false && editMode == false ? this.getRemoveIcon() : null}
@@ -331,7 +346,7 @@ class VariableEditor extends React.PureComponent {
if (BigNumber && parsedInput.type === 'bigNumber') {
new_value = new BigNumber(new_value)
}
- }
+ }
this.setState({
editMode: false
})
diff --git a/src/js/components/VariableMeta.js b/src/js/components/VariableMeta.js
index 1da8d9d..337fc76 100644
--- a/src/js/components/VariableMeta.js
+++ b/src/js/components/VariableMeta.js
@@ -2,6 +2,7 @@ import React from 'react'
import dispatcher from './../helpers/dispatcher'
import CopyToClipboard from './CopyToClipboard'
+import CustomButton from './CustomButton'
import { toType } from './../helpers/util'
// icons
@@ -108,7 +109,9 @@ export default class extends React.PureComponent {
enableClipboard,
src,
namespace,
- rowHovered
+ rowHovered,
+ name,
+ customButtons
} = this.props
return (