SILENT KILLERPanel

Current Path: > home > transcarter > public_html > wp-content > > plugins > leadin > scripts > shared > Form >


Operation   : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Software     : Apache
Server IP    : 198.54.126.42 | Your IP: 216.73.216.135
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/transcarter/public_html/wp-content//plugins/leadin/scripts/shared/Form/

NameTypeSizeLast ModifiedActions
hooks Directory - -
FormEdit.tsx File 2659 bytes July 17 2025 21:06:25.
FormSelect.tsx File 2167 bytes July 17 2025 21:06:25.
FormSelector.tsx File 881 bytes July 17 2025 21:06:25.
PreviewForm.tsx File 1587 bytes July 17 2025 21:06:25.

Reading File: /home/transcarter/public_html/wp-content//plugins/leadin/scripts/shared/Form//FormSelect.tsx

import React from 'react';
import FormSelector from './FormSelector';
import LoadingBlock from '../Common/LoadingBlock';
import { __ } from '@wordpress/i18n';
import useForms from './hooks/useForms';
import useCreateFormFromTemplate from './hooks/useCreateFormFromTemplate';
import { FormType, isDefaultForm } from '../../constants/defaultFormOptions';
import ErrorHandler from '../Common/ErrorHandler';

interface IFormSelectProps {
  formId: string;
  formName: string;
  handleChange: Function;
  origin: 'gutenberg' | 'elementor';
  embedVersion?: string;
}

export default function FormSelect({
  formId,
  formName,
  handleChange,
  origin = 'gutenberg',
  embedVersion,
}: IFormSelectProps) {
  const { search, formApiError, reset } = useForms();
  const {
    createFormByTemplate,
    reset: createReset,
    isCreating,
    hasError,
    formApiError: createApiError,
  } = useCreateFormFromTemplate(origin);
  const value =
    formId && formName
      ? {
          label: formName,
          value: formId,
          embedVersion,
        }
      : null;

  const handleLocalChange = (option: { value: FormType }) => {
    if (isDefaultForm(option.value)) {
      createFormByTemplate(option.value).then(({ guid, name }) => {
        handleChange({
          value: guid,
          label: name,
          embedVersion: 'v4',
        });
      });
    } else {
      handleChange(option);
    }
  };

  return isCreating ? (
    <LoadingBlock />
  ) : formApiError || createApiError ? (
    <ErrorHandler
      status={formApiError ? formApiError.status : createApiError.status}
      resetErrorState={() => {
        if (hasError) {
          createReset();
        } else {
          reset();
        }
      }}
      errorInfo={{
        header: __('There was a problem retrieving your forms', 'leadin'),
        message: __(
          'Please refresh your forms or try again in a few minutes',
          'leadin'
        ),
        action: __('Refresh forms', 'leadin'),
      }}
    />
  ) : (
    <FormSelector
      loadOptions={search}
      onChange={(option: { value: FormType }) => handleLocalChange(option)}
      value={value}
    />
  );
}

SILENT KILLER Tool