import { createElement, Component, useEffect, useState, Fragment, } from '@wordpress/element' import Downshift from 'downshift' import { __ } from 'ct-i18n' import classnames from 'classnames' const ListPicker = ({ listId, provider, apiKey, apiUrl, onChange }) => { const [lists, setLists] = useState([]) const [isLoadingLists, setListsLoading] = useState(false) let [{ controller }, setAbortState] = useState({ controller: null, }) const maybeFetchLists = async () => { if (controller) { controller.abort() } setListsLoading(true) if ('AbortController' in window) { controller = new AbortController() setAbortState({ controller, }) } const body = new FormData() body.append('api_key', apiKey) body.append('api_url', apiUrl) body.append('provider', provider) body.append( 'action', 'blocksy_ext_newsletter_subscribe_maybe_get_lists' ) body.append('nonce', ctDashboardLocalizations.dashboard_actions_nonce) try { const response = await fetch(ctDashboardLocalizations.ajax_url, { method: 'POST', signal: controller.signal, body, }) if (response.status === 200) { const body = await response.json() if (body.success) { if (body.data.result !== 'api_key_invalid') { setListsLoading(false) setLists( body.data.result.map((list) => ({ ...list, id: list.id.toString(), })) ) return } } } } catch (e) {} setLists([]) setListsLoading(false) } useEffect(() => { if (!apiKey && !['mailpoet', 'fluentcrm'].includes(provider)) { setLists([]) return } maybeFetchLists() }, [provider, apiKey, apiUrl]) return lists.length === 0 ? (
) : ( id === listId) ? listId : ''} onChange={(selection) => onChange(selection)} itemToString={(item) => item ? (lists.find(({ id }) => id === item) || {}).name : '' }> {({ getInputProps, getItemProps, getLabelProps, getMenuProps, isOpen, inputValue, highlightedIndex, selectedItem, openMenu, }) => (
openMenu(), onClick: () => openMenu(), })} placeholder={__('Select list...', 'blocksy-companion')} readOnly /> {isOpen && (
{lists.map((item, index) => (
{item.name}
))}
)}
)}
) } export default ListPicker JITO AT A Glance – Welcome to JITO UK

Welcome to JITO UK

Glimpses

JITO Chapters

Ahmedabad
Ahmednagar
Ajmer
Aurangabad
Ballari
Bangalore
Bangalore Plus
Beawar
Belgaum
Bhavnagar
Bhilwara
Bhopal
Bijapur
Bikaner
Chennai
Chinchwad-Pimpri
Chittorgarh
Coimbatore
Davangere
East Delhi
Erode
Faridabad
Gandhidham
Guntur
Gurugram
Guwahati
Hosapete
Hubballi
Hyderabad
Ichalkaranji
Indore
Jabalpur
Jaipur
Jalgaon
Jodhpur
Kolhapur
Kolkata
Kota
Ludhiana
Malegaon
Mumbai-Bhiwandi
Mumbai-Byculla
Mumbai-Ghatkopar
Mumbai-Goregaon
Mumbai-Gowalia Tank
Mumbai-Juhu
Mumbai-Kalyan-Dombivli
Mumbai-Mulund
Mumbai-Queen’s Necklace
Mumbai-Walkeshwar
Mumbai-Thane
Mysore
Nagpur
Nashik
Navi Mumbai
New Delhi
North Delhi
Pali
Pune
Raipur
Ranchi
Ratlam
Surat
Udaipur
Vadodara
Vapi
Vijayawada
Visakhapatnam

JITO Project /Wings

JITO Administrative Training Foundation (JATF)

Shraman Arogyam