first commit
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
/* global wpforms_gutenberg_form_selector */
|
||||
/*jshint es3: false, esversion: 6 */
|
||||
|
||||
'use strict';
|
||||
|
||||
const { serverSideRender: ServerSideRender = wp.components.ServerSideRender } = wp;
|
||||
const { createElement, Fragment } = wp.element;
|
||||
const { registerBlockType } = wp.blocks;
|
||||
const { InspectorControls } = wp.blockEditor || wp.editor;
|
||||
const { SelectControl, ToggleControl, PanelBody, Placeholder } = wp.components;
|
||||
|
||||
const wpformsIcon = createElement( 'svg', { width: 20, height: 20, viewBox: '0 0 612 612', className: 'dashicon' },
|
||||
createElement( 'path', {
|
||||
fill: 'currentColor',
|
||||
d: 'M544,0H68C30.445,0,0,30.445,0,68v476c0,37.556,30.445,68,68,68h476c37.556,0,68-30.444,68-68V68 C612,30.445,581.556,0,544,0z M464.44,68L387.6,120.02L323.34,68H464.44z M288.66,68l-64.26,52.02L147.56,68H288.66z M544,544H68 V68h22.1l136,92.14l79.9-64.6l79.56,64.6l136-92.14H544V544z M114.24,263.16h95.88v-48.28h-95.88V263.16z M114.24,360.4h95.88 v-48.62h-95.88V360.4z M242.76,360.4h255v-48.62h-255V360.4L242.76,360.4z M242.76,263.16h255v-48.28h-255V263.16L242.76,263.16z M368.22,457.3h129.54V408H368.22V457.3z',
|
||||
} )
|
||||
);
|
||||
|
||||
registerBlockType( 'wpforms/form-selector', {
|
||||
title: wpforms_gutenberg_form_selector.i18n.title,
|
||||
description: wpforms_gutenberg_form_selector.i18n.description,
|
||||
icon: wpformsIcon,
|
||||
keywords: wpforms_gutenberg_form_selector.i18n.form_keywords,
|
||||
category: 'widgets',
|
||||
attributes: {
|
||||
formId: {
|
||||
type: 'string',
|
||||
},
|
||||
displayTitle: {
|
||||
type: 'boolean',
|
||||
},
|
||||
displayDesc: {
|
||||
type: 'boolean',
|
||||
},
|
||||
preview: {
|
||||
type: 'boolean',
|
||||
},
|
||||
},
|
||||
example: {
|
||||
attributes: {
|
||||
preview: true,
|
||||
},
|
||||
},
|
||||
edit( props ) {
|
||||
const { attributes: { formId = '', displayTitle = false, displayDesc = false, preview = false }, setAttributes } = props;
|
||||
const formOptions = wpforms_gutenberg_form_selector.forms.map( value => (
|
||||
{ value: value.ID, label: value.post_title }
|
||||
) );
|
||||
let jsx;
|
||||
|
||||
formOptions.unshift( { value: '', label: wpforms_gutenberg_form_selector.i18n.form_select } );
|
||||
|
||||
function selectForm( value ) {
|
||||
setAttributes( { formId: value } );
|
||||
}
|
||||
|
||||
function toggleDisplayTitle( value ) {
|
||||
setAttributes( { displayTitle: value } );
|
||||
}
|
||||
|
||||
function toggleDisplayDesc( value ) {
|
||||
setAttributes( { displayDesc: value } );
|
||||
}
|
||||
|
||||
jsx = [
|
||||
<InspectorControls key="wpforms-gutenberg-form-selector-inspector-controls">
|
||||
<PanelBody title={ wpforms_gutenberg_form_selector.i18n.form_settings }>
|
||||
<SelectControl
|
||||
label={ wpforms_gutenberg_form_selector.i18n.form_selected }
|
||||
value={ formId }
|
||||
options={ formOptions }
|
||||
onChange={ selectForm }
|
||||
/>
|
||||
<ToggleControl
|
||||
label={ wpforms_gutenberg_form_selector.i18n.show_title }
|
||||
checked={ displayTitle }
|
||||
onChange={ toggleDisplayTitle }
|
||||
/>
|
||||
<ToggleControl
|
||||
label={ wpforms_gutenberg_form_selector.i18n.show_description }
|
||||
checked={ displayDesc }
|
||||
onChange={ toggleDisplayDesc }
|
||||
/>
|
||||
<p className="wpforms-gutenberg-panel-notice">
|
||||
<strong>{ wpforms_gutenberg_form_selector.i18n.panel_notice_head }</strong><br />
|
||||
{ wpforms_gutenberg_form_selector.i18n.panel_notice_text }<br />
|
||||
<a href="https://wpforms.com/docs/how-to-properly-test-your-wordpress-forms-before-launching-checklist/" target="_blank">{ wpforms_gutenberg_form_selector.i18n.panel_notice_link }</a>
|
||||
</p>
|
||||
|
||||
</PanelBody>
|
||||
</InspectorControls>
|
||||
];
|
||||
|
||||
if ( formId ) {
|
||||
jsx.push(
|
||||
<ServerSideRender
|
||||
key="wpforms-gutenberg-form-selector-server-side-renderer"
|
||||
block="wpforms/form-selector"
|
||||
attributes={ props.attributes }
|
||||
/>
|
||||
);
|
||||
} else if ( preview ) {
|
||||
jsx.push(
|
||||
<Fragment
|
||||
key="wpforms-gutenberg-form-selector-fragment-block-preview">
|
||||
<img src={ wpforms_gutenberg_form_selector.block_preview_url }/>
|
||||
</Fragment>
|
||||
);
|
||||
} else {
|
||||
jsx.push(
|
||||
<Placeholder
|
||||
key="wpforms-gutenberg-form-selector-wrap"
|
||||
className="wpforms-gutenberg-form-selector-wrap">
|
||||
<img src={ wpforms_gutenberg_form_selector.logo_url }/>
|
||||
<h3>{ wpforms_gutenberg_form_selector.i18n.title }</h3>
|
||||
<SelectControl
|
||||
key="wpforms-gutenberg-form-selector-select-control"
|
||||
value={ formId }
|
||||
options={ formOptions }
|
||||
onChange={ selectForm }
|
||||
/>
|
||||
</Placeholder>
|
||||
);
|
||||
}
|
||||
|
||||
return jsx;
|
||||
},
|
||||
save() {
|
||||
return null;
|
||||
},
|
||||
} );
|
||||
1
wp-content/plugins/wpforms-lite/assets/js/components/admin/gutenberg/formselector.min.js
vendored
Normal file
1
wp-content/plugins/wpforms-lite/assets/js/components/admin/gutenberg/formselector.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function o(n,l,s){function c(t,e){if(!l[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(i)return i(t,!0);throw new Error("Cannot find module '"+t+"'")}r=l[t]={exports:{}};n[t][0].call(r.exports,function(e){var r=n[t][1][e];return c(r||e)},r,r.exports,o,n,l,s)}return l[t].exports}for(var i="function"==typeof require&&require,e=0;e<s.length;e++)c(s[e]);return c}({1:[function(e,r,t){"use strict";var o=wp.serverSideRender,i=void 0===o?wp.components.ServerSideRender:o,n=wp.element,l=n.createElement,a=n.Fragment,o=wp.blocks.registerBlockType,m=(wp.blockEditor||wp.editor).InspectorControls,n=wp.components,f=n.SelectControl,p=n.ToggleControl,u=n.PanelBody,g=n.Placeholder,l=l("svg",{width:20,height:20,viewBox:"0 0 612 612",className:"dashicon"},l("path",{fill:"currentColor",d:"M544,0H68C30.445,0,0,30.445,0,68v476c0,37.556,30.445,68,68,68h476c37.556,0,68-30.444,68-68V68 C612,30.445,581.556,0,544,0z M464.44,68L387.6,120.02L323.34,68H464.44z M288.66,68l-64.26,52.02L147.56,68H288.66z M544,544H68 V68h22.1l136,92.14l79.9-64.6l79.56,64.6l136-92.14H544V544z M114.24,263.16h95.88v-48.28h-95.88V263.16z M114.24,360.4h95.88 v-48.62h-95.88V360.4z M242.76,360.4h255v-48.62h-255V360.4L242.76,360.4z M242.76,263.16h255v-48.28h-255V263.16L242.76,263.16z M368.22,457.3h129.54V408H368.22V457.3z"}));o("wpforms/form-selector",{title:wpforms_gutenberg_form_selector.i18n.title,description:wpforms_gutenberg_form_selector.i18n.description,icon:l,keywords:wpforms_gutenberg_form_selector.i18n.form_keywords,category:"widgets",attributes:{formId:{type:"string"},displayTitle:{type:"boolean"},displayDesc:{type:"boolean"},preview:{type:"boolean"}},example:{attributes:{preview:!0}},edit:function(e){var r=e.attributes,t=r.formId,o=void 0===t?"":t,n=r.displayTitle,l=void 0!==n&&n,t=r.displayDesc,n=void 0!==t&&t,t=r.preview,r=void 0!==t&&t,s=e.setAttributes,t=wpforms_gutenberg_form_selector.forms.map(function(e){return{value:e.ID,label:e.post_title}});function c(e){s({formId:e})}return t.unshift({value:"",label:wpforms_gutenberg_form_selector.i18n.form_select}),n=[React.createElement(m,{key:"wpforms-gutenberg-form-selector-inspector-controls"},React.createElement(u,{title:wpforms_gutenberg_form_selector.i18n.form_settings},React.createElement(f,{label:wpforms_gutenberg_form_selector.i18n.form_selected,value:o,options:t,onChange:c}),React.createElement(p,{label:wpforms_gutenberg_form_selector.i18n.show_title,checked:l,onChange:function(e){s({displayTitle:e})}}),React.createElement(p,{label:wpforms_gutenberg_form_selector.i18n.show_description,checked:n,onChange:function(e){s({displayDesc:e})}}),React.createElement("p",{className:"wpforms-gutenberg-panel-notice"},React.createElement("strong",null,wpforms_gutenberg_form_selector.i18n.panel_notice_head),React.createElement("br",null),wpforms_gutenberg_form_selector.i18n.panel_notice_text,React.createElement("br",null),React.createElement("a",{href:"https://wpforms.com/docs/how-to-properly-test-your-wordpress-forms-before-launching-checklist/",target:"_blank"},wpforms_gutenberg_form_selector.i18n.panel_notice_link))))],o?n.push(React.createElement(i,{key:"wpforms-gutenberg-form-selector-server-side-renderer",block:"wpforms/form-selector",attributes:e.attributes})):r?n.push(React.createElement(a,{key:"wpforms-gutenberg-form-selector-fragment-block-preview"},React.createElement("img",{src:wpforms_gutenberg_form_selector.block_preview_url}))):n.push(React.createElement(g,{key:"wpforms-gutenberg-form-selector-wrap",className:"wpforms-gutenberg-form-selector-wrap"},React.createElement("img",{src:wpforms_gutenberg_form_selector.logo_url}),React.createElement("h3",null,wpforms_gutenberg_form_selector.i18n.title),React.createElement(f,{key:"wpforms-gutenberg-form-selector-select-control",value:o,options:t,onChange:c}))),n},save:function(){return null}})},{}]},{},[1]);
|
||||
Reference in New Issue
Block a user