Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
blocks
/
checkout
/
inner-blocks
/
checkout-payment-block
:
edit.tsx
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * External dependencies */ import classnames from 'classnames'; import { __ } from '@wordpress/i18n'; import { InspectorControls, useBlockProps } from '@wordpress/block-editor'; import { PanelBody, ExternalLink } from '@wordpress/components'; import { ADMIN_URL, getSetting } from '@woocommerce/settings'; import ExternalLinkCard from '@woocommerce/editor-components/external-link-card'; import { innerBlockAreas } from '@woocommerce/blocks-checkout'; import Noninteractive from '@woocommerce/base-components/noninteractive'; /** * Internal dependencies */ import { FormStepBlock, AdditionalFields, AdditionalFieldsContent, } from '../../form-step'; import Block from './block'; type paymentAdminLink = { id: number; title: string; description: string; }; export const Edit = ( { attributes, setAttributes, }: { attributes: { title: string; description: string; showStepNumber: boolean; className: string; }; setAttributes: ( attributes: Record< string, unknown > ) => void; } ): JSX.Element => { const globalPaymentMethods = getSetting( 'globalPaymentMethods' ) as paymentAdminLink[]; return ( <FormStepBlock attributes={ attributes } setAttributes={ setAttributes } className={ classnames( 'wc-block-checkout__payment-method', attributes?.className ) } > <InspectorControls> { globalPaymentMethods.length > 0 && ( <PanelBody title={ __( 'Methods', 'woo-gutenberg-products-block' ) } > <p className="wc-block-checkout__controls-text"> { __( 'You currently have the following payment integrations active.', 'woo-gutenberg-products-block' ) } </p> { globalPaymentMethods.map( ( method ) => { return ( <ExternalLinkCard key={ method.id } href={ `${ ADMIN_URL }admin.php?page=wc-settings&tab=checkout§ion=${ method.id }` } title={ method.title } description={ method.description } /> ); } ) } <ExternalLink href={ `${ ADMIN_URL }admin.php?page=wc-settings&tab=checkout` } > { __( 'Manage payment methods', 'woo-gutenberg-products-block' ) } </ExternalLink> </PanelBody> ) } </InspectorControls> <Noninteractive> <Block /> </Noninteractive> <AdditionalFields block={ innerBlockAreas.PAYMENT_METHODS } /> </FormStepBlock> ); }; export const Save = (): JSX.Element => { return ( <div { ...useBlockProps.save() }> <AdditionalFieldsContent /> </div> ); };