@@ -21,6 +21,11 @@ import { saveIntegConfig } from '../IntegrationHelpers/IntegrationHelpers'
2121import IntegrationStepThree from '../IntegrationHelpers/IntegrationStepThree'
2222import tutorialLinks from '../../../Utils/StaticData/tutorialLinks'
2323import TutorialLink from '../../Utilities/TutorialLink'
24+ import MultiSelect from 'react-multiple-select-dropdown-lite'
25+ import 'react-multiple-select-dropdown-lite/dist/index.css'
26+ import { useRecoilValue } from 'recoil'
27+ import { $btcbi } from '../../../GlobalStates'
28+ import { ProFeatureTitle } from '../IntegrationHelpers/ActionProFeatureLabels'
2429
2530function Post ( { formFields, setFlow, flow, allIntegURL } ) {
2631 const [ users , setUsers ] = useState ( [ ] )
@@ -34,6 +39,8 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
3439 const [ mb , setMb ] = useState ( { fields : [ ] , files : [ ] } )
3540 const [ jeCPTMeta , setJeCPTMeta ] = useState ( { fields : [ ] , files : [ ] } )
3641 const { postCreation } = tutorialLinks
42+ const btcbi = useRecoilValue ( $btcbi )
43+ const { isPro } = btcbi
3744
3845 const [ postConf , setPostConf ] = useState ( {
3946 name : 'WP Post Creation' ,
@@ -54,51 +61,51 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
5461 }
5562
5663 useEffect ( ( ) => {
57- bitsFetch ( { } , 'user/list' ) . then ( ( res ) => {
64+ bitsFetch ( { } , 'user/list' ) . then ( res => {
5865 const { data } = res
5966 setUsers ( data )
6067 } )
6168
62- bitsFetch ( { } , 'post-types/list' ) . then ( ( res ) => {
69+ bitsFetch ( { } , 'post-types/list' ) . then ( res => {
6370 const { data } = res
6471 setPostTypes ( data )
6572 } )
6673 const newConf = { ...postConf }
6774 newConf . post_map = postFields
68- . filter ( ( fld ) => fld . required )
69- . map ( ( fl ) => ( { formField : '' , postField : fl . key , required : fl . required } ) )
75+ . filter ( fld => fld . required )
76+ . map ( fl => ( { formField : '' , postField : fl . key , required : fl . required } ) )
7077 setPostConf ( newConf )
7178 } , [ ] )
7279
7380 const getCustomFields = ( typ , val ) => {
7481 const tmpData = { ...postConf }
7582 tmpData [ typ ] = val
76- bitsFetch ( { post_type : val } , 'customfield/list' ) . then ( ( res ) => {
83+ bitsFetch ( { post_type : val } , 'customfield/list' ) . then ( res => {
7784 const { data } = res
7885 setAcf ( { fields : data . acf_fields , files : data . acf_files } )
7986 setMb ( { fields : data . mb_fields , files : data . mb_files } )
8087 setJeCPTMeta ( { fields : data . je_cpt_fields , files : data . je_cpt_files } )
8188
8289 if ( data ?. acf_fields ) {
8390 tmpData . acf_map = data . acf_fields
84- . filter ( ( fld ) => fld . required )
85- . map ( ( fl ) => ( { formField : '' , acfField : fl . key , required : fl . required } ) )
91+ . filter ( fld => fld . required )
92+ . map ( fl => ( { formField : '' , acfField : fl . key , required : fl . required } ) )
8693 if ( tmpData . acf_map . length < 1 ) {
8794 tmpData . acf_map = [ { } ]
8895 }
8996 }
9097 if ( data ?. mb_fields ) {
9198 tmpData . metabox_map = data . mb_fields
92- . filter ( ( fld ) => fld . required )
93- . map ( ( fl ) => ( { formField : '' , metaboxField : fl . key , required : fl . required } ) )
99+ . filter ( fld => fld . required )
100+ . map ( fl => ( { formField : '' , metaboxField : fl . key , required : fl . required } ) )
94101 if ( tmpData . metabox_map . length < 1 ) {
95102 tmpData . metabox_map = [ { } ]
96103 }
97104 }
98105 if ( data ?. je_cpt_fields ) {
99106 tmpData . je_cpt_meta_map = data . je_cpt_fields
100- . filter ( ( fld ) => fld . required )
101- . map ( ( fl ) => ( { formField : '' , jeCPTField : fl . key , required : fl . required } ) )
107+ . filter ( fld => fld . required )
108+ . map ( fl => ( { formField : '' , jeCPTField : fl . key , required : fl . required } ) )
102109 }
103110 if ( tmpData . je_cpt_meta_map . length < 1 ) {
104111 tmpData . je_cpt_meta_map = [ { } ]
@@ -110,7 +117,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
110117 // setLoad(false)
111118 }
112119
113- const nextPage = ( stepNo ) => {
120+ const nextPage = stepNo => {
114121 setTimeout ( ( ) => {
115122 document . getElementById ( 'btcd-settings-wrp' ) . scrollTop = 0
116123 } , 300 )
@@ -149,17 +156,8 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
149156
150157 const saveConfig = ( ) => {
151158 setIsLoading ( true )
152- const resp = saveIntegConfig (
153- flow ,
154- setFlow ,
155- allIntegURL ,
156- postConf ,
157- navigate ,
158- '' ,
159- '' ,
160- setIsLoading
161- )
162- resp . then ( ( res ) => {
159+ const resp = saveIntegConfig ( flow , setFlow , allIntegURL , postConf , navigate , '' , '' , setIsLoading )
160+ resp . then ( res => {
163161 if ( res . success ) {
164162 setSnackbar ( { show : true , msg : res . data ?. msg } )
165163 navigate ( allIntegURL )
@@ -190,7 +188,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
190188 </ div >
191189 < input
192190 className = "btcd-paper-inp w-5 mt-1"
193- onChange = { ( e ) => handleInput ( e . target . name , e . target . value ) }
191+ onChange = { e => handleInput ( e . target . name , e . target . value ) }
194192 name = "name"
195193 value = { postConf . name }
196194 type = "text"
@@ -212,7 +210,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
212210 < div >
213211 < select
214212 name = "post_type"
215- onChange = { ( e ) => getCustomFields ( e . target . name , e . target . value ) }
213+ onChange = { e => getCustomFields ( e . target . name , e . target . value ) }
216214 className = "btcd-paper-inp w-5 mt-1" >
217215 < option disabled selected >
218216 { ( 'Select Post Type' , 'bit-integrations' ) }
@@ -246,7 +244,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
246244 </ div >
247245 < select
248246 name = "post_status"
249- onChange = { ( e ) => handleInput ( e . target . name , e . target . value ) }
247+ onChange = { e => handleInput ( e . target . name , e . target . value ) }
250248 className = "btcd-paper-inp w-5 mt-2" >
251249 < option disabled selected >
252250 { __ ( 'Select Status' , 'bit-integrations' ) }
@@ -270,7 +268,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
270268 < div >
271269 < select
272270 name = "post_author"
273- onChange = { ( e ) => handleInput ( e . target . name , e . target . value ) }
271+ onChange = { e => handleInput ( e . target . name , e . target . value ) }
274272 className = "btcd-paper-inp w-5 mt-2" >
275273 < option disabled selected >
276274 { __ ( 'Select Author' , 'bit-integrations' ) }
@@ -289,7 +287,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
289287 </ div >
290288 < select
291289 name = "comment_status"
292- onChange = { ( e ) => handleInput ( e . target . name , e . target . value ) }
290+ onChange = { e => handleInput ( e . target . name , e . target . value ) }
293291 className = "btcd-paper-inp w-5 mt-2" >
294292 < option disabled selected >
295293 { __ ( 'Select Status' , 'bit-integrations' ) }
@@ -298,6 +296,29 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
298296 < option value = "closed" > { __ ( 'Closed' , 'bit-integrations' ) } </ option >
299297 </ select >
300298
299+ < div className = "mt-3" >
300+ < b >
301+ < ProFeatureTitle title = { __ ( 'Add Post Tags' , 'bit-integrations' ) } />
302+ </ b >
303+
304+ < Cooltip width = { 250 } icnSize = { 17 } className = "ml-2" >
305+ < div className = "txt-body" >
306+ { __ ( 'Use commas to separate multiple tags. Example: tag1, tag2, tag3' , 'bit-integrations' ) }
307+ < br />
308+ </ div >
309+ </ Cooltip >
310+ </ div >
311+
312+ < input
313+ className = "btcd-paper-inp w-5 mt-2 "
314+ onChange = { e => handleInput ( e . target . name , e . target . value ) }
315+ name = "post_tags"
316+ value = { postConf . post_tags }
317+ type = "text"
318+ placeholder = { __ ( 'Add Post Tags...' , 'bit-integrations' ) }
319+ disabled = { ! isPro }
320+ />
321+
301322 < div >
302323 < div className = "mt-3 mb-1" >
303324 < b > { __ ( 'Post Field Mapping' , 'bit-integrations' ) } </ b >
@@ -349,9 +370,7 @@ function Post({ formFields, setFlow, flow, allIntegURL }) {
349370 < CustomField
350371 formID = { formID }
351372 formFields = { formFields }
352- handleInput = { ( e ) =>
353- handleInput ( e , postConf , setPostConf , formID , setIsLoading , setSnackbar )
354- }
373+ handleInput = { e => handleInput ( e , postConf , setPostConf , formID , setIsLoading , setSnackbar ) }
355374 postConf = { postConf }
356375 setPostConf = { setPostConf }
357376 isLoading = { isLoading }
0 commit comments