1
1
import React , { useRef , useEffect , useState } from "react"
2
2
import PropTypes from "prop-types"
3
- import get from "lodash/get"
4
- import isFunction from "lodash/isFunction"
5
3
import { CopyToClipboard } from "react-copy-to-clipboard"
6
4
7
5
const style = {
@@ -34,9 +32,7 @@ const activeStyle = {
34
32
borderBottom : "none"
35
33
}
36
34
37
- const RequestSnippets = ( { request, requestSnippetsSelectors, getConfigs, getComponent } ) => {
38
- const config = isFunction ( getConfigs ) ? getConfigs ( ) : null
39
- const canSyntaxHighlight = get ( config , "syntaxHighlight" ) !== false && get ( config , "syntaxHighlight.activated" , true )
35
+ const RequestSnippets = ( { request, requestSnippetsSelectors, getComponent } ) => {
40
36
const rootRef = useRef ( null )
41
37
42
38
const ArrowIcon = getComponent ( "ArrowUpIcon" )
@@ -45,24 +41,6 @@ const RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs, getCom
45
41
46
42
const [ activeLanguage , setActiveLanguage ] = useState ( requestSnippetsSelectors . getSnippetGenerators ( ) ?. keySeq ( ) . first ( ) )
47
43
const [ isExpanded , setIsExpanded ] = useState ( requestSnippetsSelectors ?. getDefaultExpanded ( ) )
48
- useEffect ( ( ) => {
49
- const doIt = ( ) => {
50
-
51
- }
52
- doIt ( )
53
- } , [ ] )
54
- useEffect ( ( ) => {
55
- const childNodes = Array
56
- . from ( rootRef . current . childNodes )
57
- . filter ( node => ! ! node . nodeType && node . classList ?. contains ( "curl-command" ) )
58
- // eslint-disable-next-line no-use-before-define
59
- childNodes . forEach ( node => node . addEventListener ( "mousewheel" , handlePreventYScrollingBeyondElement , { passive : false } ) )
60
-
61
- return ( ) => {
62
- // eslint-disable-next-line no-use-before-define
63
- childNodes . forEach ( node => node . removeEventListener ( "mousewheel" , handlePreventYScrollingBeyondElement ) )
64
- }
65
- } , [ request ] )
66
44
67
45
const snippetGenerators = requestSnippetsSelectors . getSnippetGenerators ( )
68
46
const activeGenerator = snippetGenerators . get ( activeLanguage )
@@ -99,6 +77,26 @@ const RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs, getCom
99
77
}
100
78
}
101
79
80
+ useEffect ( ( ) => {
81
+ const doIt = ( ) => {
82
+
83
+ }
84
+ doIt ( )
85
+ } , [ ] )
86
+
87
+ useEffect ( ( ) => {
88
+ const childNodes = Array
89
+ . from ( rootRef . current . childNodes )
90
+ . filter ( node => ! ! node . nodeType && node . classList ?. contains ( "curl-command" ) )
91
+ // eslint-disable-next-line no-use-before-define
92
+ childNodes . forEach ( node => node . addEventListener ( "mousewheel" , handlePreventYScrollingBeyondElement , { passive : false } ) )
93
+
94
+ return ( ) => {
95
+ // eslint-disable-next-line no-use-before-define
96
+ childNodes . forEach ( node => node . removeEventListener ( "mousewheel" , handlePreventYScrollingBeyondElement ) )
97
+ }
98
+ } , [ request ] )
99
+
102
100
const SnippetComponent = canSyntaxHighlight ? (
103
101
< SyntaxHighlighter
104
102
language = { activeGenerator . get ( "syntax" ) }
@@ -142,7 +140,15 @@ const RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs, getCom
142
140
</ CopyToClipboard >
143
141
</ div >
144
142
< div >
145
- { SnippetComponent }
143
+ < SyntaxHighlighter
144
+ language = { activeGenerator . get ( "syntax" ) }
145
+ className = "curl microlight"
146
+ renderPlainText = { ( { children, PlainTextViewer } ) => (
147
+ < PlainTextViewer className = "curl" > </ PlainTextViewer >
148
+ ) }
149
+ >
150
+ { snippet }
151
+ </ SyntaxHighlighter >
146
152
</ div >
147
153
</ div >
148
154
}
@@ -153,7 +159,6 @@ const RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs, getCom
153
159
RequestSnippets . propTypes = {
154
160
request : PropTypes . object . isRequired ,
155
161
requestSnippetsSelectors : PropTypes . object . isRequired ,
156
- getConfigs : PropTypes . object . isRequired ,
157
162
getComponent : PropTypes . func . isRequired ,
158
163
requestSnippetsActions : PropTypes . object ,
159
164
}
0 commit comments