Git Product home page Git Product logo

caldera-forms's Introduction

Caldera-Forms

Drag & Drop WordPress Responsive Form Builder

πŸŒ‹πŸ‘€ Docs, Add-ons & More Information:

πŸŒ‹πŸ‘€ Development

Install for development

Requires: git, yarn, Grunt.

Build For Release

To create a build to ship to WordPress.org: yarn package

This creates /build/<version> where <version> is the current version set in package.json. This creates a directory you can ZIP up for testing or whatever.

See "Release To WordPress.org" section below for more details on pushing this build to WordPress.org.

JavaScript Development

See automated testing docs for more information on directory structure, in regards to JavaScript test files

Run watcher for development to auto-compile JavaScript and CSS.

/clients/

This is the new stuff, built with webpack. Eventually everything UI will be here.

  • Clients:
    • pro - The Caldera Forms Pro admin page and tab in the editor.
    • blocks - The Gutenberg block(s).
    • admin - The main admin page. Work in progress, not used in plugin.
    • viewer - The entry viewer. Work not in progress, not used in plugin.
    • editor - Theoretical.

/assets/

This is the old stuff, built with grunt.

  • Build for development and start watcher.
    • yarn dev:grunt
  • Build for production
    • yarn build:legacy

CLI Commands

Composer
  • composer test:php - Run PHP tests -- isolated unit tests and the WordPress integration tests.
  • composer dev:install - Installs dependencies, Docker-based test environment and sets up test forms.
  • composer dev:destroy - Deletes dependencies and the Docker-based test environment.
  • composer wp:install - Installs Docker-based test environment.
  • composer wp:start - Starts Docker-based test environment and echos the server's url.
  • composer wp:server-start - Starts Docker-based test environment.
  • composer wp:server-url - Echos the Docker-based test environment's server url.
  • composer wp:activate - Activate plugins in Docker-based environment.
  • composer wp:tests - Runs the PHP integration tests using phpunit inside Docker-based environment.
  • composer wp:stop - Stops Docker-based test environment, without destroying containers.
  • composer wp:destroy - Removes (including the database) the test environment and destroys containers.
  • composer test:unit - Run php unit tests.
  • composer test:setup - Adds test forms and puts them on pages.
  • composer test:delete - Delete test forms and pages the are on.
  • composer nuke - Deletes dependencies, including lock files --yarn and Composer.
yarn
  • yarn test - Run JavaScript test watcher
  • yarn build - Build all JavaScript and CSS for production
  • yarn build:blocks - Build blocks JavaScript and CSS for production
  • yarn build:clients - Build other JavaScript and CSS for production.
  • yarn start - Start dev server for clients that are not blocks and run watcher.
  • yarn start:blocks - Start dev server for blocks and run watcher.
  • yarn start:clients - Start dev server for other clients and run watcher.
  • yarn test:once - Run JavaScript unit tests once
  • yarn test:e2e - Start Cypress e2e test runner.
  • yarn test:e2e:ci - Trigger Cypress.io test record.
wp-cli

Probably don't use these directly. They will change. Must be prefaced with docker-compose run --rm cli

  • wp cf import-test-forms - Import test forms
  • wp cf delete-test-forms - Delete test forms
  • wp cf create-test-pages - Import test pages
  • wp cf delete-test-pages - Delete test pages

Release To WordPress.org

Requires

Steps

  • Build release file
    • yarn package
  • Push Tag to WordPress.org
    • cd bin
    • bash deploy-wp-org-tag.sh 12345 christiechirinos
  • Install tag using WP Rollback on QA site and re-run Ghost Inspector tests.
  • Copy tag to trunk
    • bash deploy-wp-org-trunk.sh 12345 christiechirinos

Notes

  • This assumes your WordPress.org username is christiechirinos, and your password is 12345.
  • The first argument is password, which is required. The second argument is username, which defaults to Shelob9, which is Josh's username.

caldera-forms's People

Contributors

andrewlimaza avatar danisiz avatar davidcramer avatar deputt avatar devinwalker avatar diegoliv avatar focusjosh avatar iamntz avatar iandunn avatar ictbeheer avatar jojaba avatar kihoshin avatar kjohnson avatar leogermani avatar lynxlynxlynx avatar mecachisenros avatar new0 avatar nigelbyrne82 avatar notecopies avatar pedro-mendonca avatar raftaar1191 avatar rebeccahum avatar rhcarlosweb avatar sglfree avatar shelob9 avatar soumyabrataghosh avatar telwing avatar tmdesigned avatar vinnycaldera avatar wpappdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

caldera-forms's Issues

Rearrange pages

Is there a way to rearrange pages or add a page in between two others? It would also be helpful if there was a way to move a field to a different page.

email Field

If an input field comes with type=email the CSS styles you use for the type=text inputs is missing. The look of the field seems to be broken.
The CSS rules for input[type="email"] are missing.

Is it possible to display the full path instead of the c:/fakepath path?

Hello,
i am trying to build a form with preview of the values directly by the user on the filling form page.

On the backend, I have this configuration :
caldera_backend

And on the front end I got this when i enter data.
caldera_front

The think is that I would like to have access to the full path or a temporary upload path instead of the c:/fakepath.

Is that possible?

Have a nice day guys!

form render functions include

include a render-functions.php that includes functions that extensions can use to render existing forms, eg.

cf_render_form($id)

Allow for multiple mailers

Allow the form builder to create multiple mailers with different content, similar to how multiple processors can be added.

reCAPTCHA not working

Tried in Chrome and Firefox, but every time I attempt to submit using reCAPTCHA it keeps saying "The reCAPTCHA field is required."

Tried different themes, and i'm positive out of the million tries I made, at least one of them should have been correct πŸ‘

Unify all textdomains to "caldera-forms"!

Currently in v1.1.4 (and versions before), 5 (five!) different textdomains are used! These are:

  • 'default' (means, you have added no textdomain yet, WP interprets as "default")
  • "caldera-forms"
  • "cladera-forms" (some typo... :)
  • "caldera-engine"
  • "caldera-core"

That means, only one those above textdomains is loaded and therefore only its strings will be displayed as translations!

You currently load "caldera-forms" -- this is fully correct, as it is also the plugin's slug!

Therefore you should UNIFY all other textdomains/strings to the textdomain "caldera-forms".

Note: using different textdomains in one plugin is possible as long as you load the textdomain for all of them [via load_textdomain()]. However, usability then is a desaster, also management of default .pot files on your end. Also, with WordPress language packs since WP 3.7 only one textdomain, which is the plugin slug, makes sense and provides the plugin with a future proof approach.

Thanks!

Checkbox should not be required & No error color if there is no label

I had a checkbox that was not required but had only one option but it seemed to need to be checked in order for the form's next/previous buttons to work. Since it is a checkbox, there shouldn't be a required value.

Also, unless the "hide label" box is unchecked, the text next to the checkbox does not turn red to indicate that the checkbox needs to be checked in order to proceed.

I'm not sure if this is the case with any other fields.

Can't use quotes in field description

Tried using quotes in field description

Enter a byline for this testimonial (for example: "CEO of Host Tornado")

When editing the form it cuts out at for example:

Hooks

This is to document the intended hooks for extending to start with.
Add to it what you think should be in.

Form Rendering

  • filter: cf_get_form - filters the forms config array
  • action: cf_before_form - fired before form rendering starts
  • filter: cf_form_field - filters the fields location and type
  • filter: cf_form_field_settings - filters the fields settings array
  • filter: cf_form_field_settings-{type} - filters the fields settings array by field type
  • filter: cf_form_field - filters the rendered field HTML
  • filter: cf_form_field-{type} - filters the rendered field HTML by field type
  • filter: cf_form_fields - filters the complete array of rendered fields
  • filter: cf_form_row - filters the rows settings (how many columns etc)
  • filter: cf_form_column - filters the column settings and the HTML going into the column
  • filter: cf_form - filters rendered HTML from
  • action: cf_after_form - fired after the form has been rendered

Form Submission

  • action: cf_before_form_submit - fired before the form submission (technically after but before anything takes place)
  • filter: cf_before_form_process - filters the raw submitted data
  • filter: cf_form_process - filters the stacked filtered submitted data
  • filter: cf_after_form_process - filters the processed submitted data
  • action: cf_after_form_submit - fires after all data is processed
  • filter: cf_result_notice - filters the result notice

WYSIWYG visual thingy

once shortcode is added, show a visual representation of the form (similar to the gallery shortcode) so that you can easily delete the form or edit it.

The edit link takes you to the Form edit page

reCAPTCHA input box styling

The custom styling on the input box for the reCAPTCHA input id recaptcha_response_field has the height style height: 21px !important, with custom styling on one of my sites it's renders the input box unusable.

Basically in Chrome it works fine, but when I pull it up in Firefox you can't even see whatever in in input box, and I believe that's because I have site wide padding on the input.

Would much rather have something that looks a little off than something that can't be used at all πŸ‘

Before removing height css:

After removing:

{ip} magic tag not working in mailer body?

I'd like to track IP addresses of submits but it seems no way to see it in form's entry data. When I tried to place a {ip} magic tag in form's mailer message body the auto mailer failed to send the mail. If just leave the default {summary} it works fine. Is there any misconfiguration in my settings or it's a code bug? It may have other ways to track the IP address in entry record?

Thank you very much for any help!

Auto-Population Issue

Not sure why, but attempting to auto-populate anything using the post type seems to only show the first five entries.

Phone Number

Hi, I find a issue in phone number. The custom option egs. (99999)999-9999 does not work. It only shows the local than. Now I use a text field. It works as well. I guess someone notice it before... But I also want to say thank you for that amazing plugin. I work with smart forms before and I pay for it. But it has many bugs and problems with sending mails to our webserver. After I install caldera forms I was surprized that is is so fantastic. Thanks

Field not displaying in entry list table

Setup demo form for contact us, using name email and message, in the entry list table it shows the email and message, but the name field does not show up. If you click on View it does show up in the modal popup.

caldera form metabox invalid argument

Invalid argument supplied for foreach() in /wp-content/plugins/caldera-form-metabox/core.php on line 102

Couldn't find a repo on GitHub for this plugin so figured I would post here.

Need to add if statement or something to check if there are any forms before pushing through a foreach loop.

Add States/Provinces Field Type

Field type with US States and Canadian Provinces.

Yes it should be less Northerb North America-centric but that's what I need now, so that's what my PR is going to have.

Field Settings

show media manager popup modal when editing field settings

textarea cols option

Hi David,

don't know if this is a problem related with the theme I use or with your plugin.
All text input fields use the available width of the content area where I place the form (width: 100%;). The email input and the textarea inputs don't use width: 100% and so they look too small related to the rest of the form.
A CSS rule or a cols option for the text area would help here.

Thanks,

Detlef

Field Types

List all field types that will be bundled in CF

Phone Number Field - Bug with custom masking

Hey,

First, thanks for this amazing plugin. It's already my go-to solution for complex forms! Simply the best!

I noticed bug with the phone number field. The default and International options works ok at the back end and the front end. But the custom option works only on the back end (when I set a default value, for example, the custom mask is applied). But at the front end, the custom mask is not used and the mask applied is the default one. My custom mask is really simple: (99) 9999-9999.

Can you take a lot at it and see if you can reproduce the issue?

Thanks!

Processors

List all processors that will be bundled in CF

XSS in admin view entry

Reproduce by typing script or html in textfield in one of the forms and view the corresponding entry in the admin area.

Bug if Auto Populate feature and WPML

I've been using Caldera Forms with the auto populate feature, as it's extremely helpful. I got the issue when I've used Caldera Forms with a multilingual website using WPML. When I create, for example, a "select an offer" dropdown, populated by a post type named "offers", at the frontend, all offers are loaded, but on all languages that the website have (i.e.: "Christmas Offer" [en] and "Promoção de Natal" [pt_BR] are the same offer, and both are shown at the dropdown).

Let me know if you need some help to check this issue.

Thanks!

How to get "Label" and not "Value" from a "Select options / Dropdown select" using %field_slug%

Hi,

I'm trying to generate a "Success Message" to enduser when the caldera form is submittet. I would like to get the "Label" and not the "Value" from a "Select options / Dropdown select" using %field_slug%.

If I add {summary} i get both the "Label" and the "Value" like this Label (value).

Need help what to type to get only the "label" information.

Thanks for a great plugin!!!

Feature Request List

David, here's a few features that stand out to me while testing that would be beneficial to have. I made two lists, one for things I think would be major improvements and minor. If these are already available let me know as this is a list just from first glance.

Major features:

  • Ability to auto populate fields from custom meta or through function/filte, etc. Sort of like how GF you can put {user.first_name} to populate with user's first name if that meta key exists and the user is logged in, that way they dont have to type it
  • HTML editor for autoresponder emails
  • Allow using magic tags %user_email% in email fields (ie From Name, From Email) so you can set the email from name as the users name, or from email as users email.
  • User details processor (to create form for updating user details, password, etc)
  • Custom fields processor (to update custom post types, or fields, etc)
  • Code editor in HTML field window

Minor features:

  • Ability to use really simple captcha instead of google captcha
  • Use default from name and from email for auto responder
  • Show available variables to use in email, or small message that says how you can add template vars to email (from field, etc)
  • All fields magic tag to output default list in email of all fields submitted
  • Show shortcode in form list on page

Import/export fails

I'm using the latest version (1.1.9.3) on my development system (UniServer on laptop) and on the live system (Linux). I exported a form from the dev system and then imported it to the live system. There were no error messages but what I got was all the rows of the form, but none of the fields.

I have no way to determine whether the fault is in the export or import routine. Help please.

Thanks,
Peter

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.