Skip to content

Commit c0e5236

Browse files
committed
chore: form plugin component pro trigger task added
1 parent 57d0e24 commit c0e5236

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

frontend-dev/src/components/Triggers/FormPlugin.jsx

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,43 @@
1+
import { create } from 'mutative'
12
import { useState } from 'react'
23
import MultiSelect from 'react-multiple-select-dropdown-lite'
34
import 'react-multiple-select-dropdown-lite/dist/index.css'
4-
import { useRecoilState, useSetRecoilState } from 'recoil'
5-
import { $flowStep, $formFields, $newFlow } from '../../GlobalStates'
5+
import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'
6+
import { $btcbi, $flowStep, $formFields, $newFlow } from '../../GlobalStates'
67
import useFetch from '../../hooks/useFetch'
78
import bitsFetch from '../../Utils/bitsFetch'
89
import { __ } from '../../Utils/i18nwrap'
910
import Loader from '../Loaders/Loader'
1011
import LoaderSm from '../Loaders/LoaderSm'
1112
import Note from '../Utilities/Note'
1213
import SnackMsg from '../Utilities/SnackMsg'
13-
import TriggerMultiOption from './TriggerMultiOption'
1414
import { FormPluginStateHelper } from './TriggerHelpers/TriggerStateHelper'
15-
import { create } from 'mutative'
15+
import TriggerMultiOption from './TriggerMultiOption'
1616

1717
const FormPlugin = () => {
1818
const [newFlow, setNewFlow] = useRecoilState($newFlow)
1919
const setFlowStep = useSetRecoilState($flowStep)
2020
const setFormFields = useSetRecoilState($formFields)
21+
const [snack, setSnackbar] = useState({ show: false, msg: '' })
22+
const [isLoad, setIsLoad] = useState(false)
23+
const btcbi = useRecoilValue($btcbi)
24+
const { isPro } = btcbi
25+
2126
const { data, isLoading } = useFetch({
2227
payload: {},
2328
action: newFlow.triggerDetail.list.action,
2429
method: newFlow.triggerDetail.list.method
2530
})
26-
const [snack, setSnackbar] = useState({ show: false, msg: '' })
27-
const [isLoad, setIsLoad] = useState(false)
2831

2932
const setFlowData = (val, type) => {
30-
setNewFlow((prevState) =>
31-
create(prevState, (draft) => {
33+
setNewFlow(prevState =>
34+
create(prevState, draft => {
3235
draft.triggerData[type] = val
3336
})
3437
)
3538
}
3639

37-
const setTriggerData = (val) => {
40+
const setTriggerData = val => {
3841
const tmpNewFlow = { ...newFlow }
3942

4043
if (!val) {
@@ -49,11 +52,11 @@ const FormPlugin = () => {
4952
newFlow?.triggerDetail?.name === 'PiotnetAddon' ||
5053
newFlow?.triggerDetail?.name === 'CartFlow'
5154
) {
52-
const filterData = data?.data?.filter((item) => item.id === val)[0]?.post_id || null
55+
const filterData = data?.data?.filter(item => item.id === val)[0]?.post_id || null
5356
queryData = { ...queryData, postId: filterData }
5457
}
5558

56-
bitsFetch(queryData, newFlow.triggerDetail.fields.action).then((resp) => {
59+
bitsFetch(queryData, newFlow.triggerDetail.fields.action).then(resp => {
5760
if (resp.success) {
5861
tmpNewFlow.triggerData = {
5962
formID: val,
@@ -80,7 +83,7 @@ const FormPlugin = () => {
8083
let taskNote = ''
8184

8285
if (newFlow.triggerData?.formID) {
83-
const selectedTask = data?.data?.filter((item) => item.id == newFlow.triggerData?.formID)
86+
const selectedTask = data?.data?.filter(item => item.id == newFlow.triggerData?.formID)
8487
if (selectedTask?.length > 0 && selectedTask[0]?.note) {
8588
taskNote = selectedTask[0].note
8689
}
@@ -111,11 +114,14 @@ const FormPlugin = () => {
111114
<MultiSelect
112115
className="msl-wrp-options"
113116
defaultValue={newFlow.triggerData?.formID}
114-
options={data?.data?.map((form) => ({
115-
label: form.title,
116-
value: form.id.toString()
117+
options={data?.data?.map(form => ({
118+
label: isFormSelectable(isPro, form?.isPro || false)
119+
? form?.title
120+
: form?.title + ' (Pro)',
121+
value: form.id.toString(),
122+
disabled: !isFormSelectable(isPro, form?.isPro || false)
117123
}))}
118-
onChange={(val) => setTriggerData(val)}
124+
onChange={val => setTriggerData(val)}
119125
singleSelect
120126
style={{ width: '100%', minWidth: 400, maxWidth: 450 }}
121127
/>
@@ -150,3 +156,5 @@ const FormPlugin = () => {
150156
)
151157
}
152158
export default FormPlugin
159+
160+
const isFormSelectable = (isProPluginActivated, formIsPro = false) => !formIsPro || isProPluginActivated

0 commit comments

Comments
 (0)