https://github.com/landofcoder/module-formbuilder-graph-ql
Magento 2 Form Builder with drag n drop & visual interface lets you build multiple forms in minutes. This module helps to create multiple website forms quickly and effectively to gather customers’ information
https://github.com/landofcoder/module-formbuilder-graph-ql
formbuilder formbuilder-graphql magento magento2 magento2-module pwa-ready
Last synced: 10 months ago
JSON representation
Magento 2 Form Builder with drag n drop & visual interface lets you build multiple forms in minutes. This module helps to create multiple website forms quickly and effectively to gather customers’ information
- Host: GitHub
- URL: https://github.com/landofcoder/module-formbuilder-graph-ql
- Owner: landofcoder
- License: osl-3.0
- Created: 2020-12-05T03:09:52.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-05-31T06:31:48.000Z (about 4 years ago)
- Last Synced: 2025-04-09T07:27:19.111Z (about 1 year ago)
- Topics: formbuilder, formbuilder-graphql, magento, magento2, magento2-module, pwa-ready
- Language: PHP
- Homepage: https://landofcoder.com/magento-2-form-builder.html
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Magento 2 Module Lof_FormbuilderGraphQl
``landofcoder/module-formbuilder-graph-ql``
- [Main Functionalities](#markdown-header-main-functionalities)
- [Installation](#markdown-header-installation)
- [Configuration](#markdown-header-configuration)
- [Specifications](#markdown-header-specifications)
- [Attributes](#markdown-header-attributes)
## Main Functionalities
Support Graph Ql for Form builder extension, ready for PWA
## Require
- Magento version 2.3.5 or latest
- Formbuilder version 1.1.4 or higher
## Installation
\* = in production please use the `--keep-generated` option
### Type 1: Zip file
- Unzip the zip file in `app/code/Lof`
- Enable the module by running `php bin/magento module:enable Lof_FormbuilderGraphQl`
- Apply database updates by running `php bin/magento setup:upgrade`\*
- Flush the cache by running `php bin/magento cache:flush`
### Type 2: Composer
- Make the module available in a composer repository for example:
- private repository `repo.magento.com`
- public repository `packagist.org`
- public github repository as vcs
- Add the composer repository to the configuration by running `composer config repositories.repo.magento.com composer https://repo.magento.com/`
- Install the module composer by running `composer require landofcoder/module-formbuilder-graph-ql`
- enable the module by running `php bin/magento module:enable Lof_FormbuilderGraphQl`
- apply database updates by running `php bin/magento setup:upgrade`\*
- Flush the cache by running `php bin/magento cache:flush`
## TODO
## Support Queries
1. Get Form design by Id
```
query {
lofFormBuilderFormById (form_id: Int!) {
title
identifier
show_captcha
show_toplink
submit_button_text
redirect_link
creation_time
before_form_content
after_form_content
success_message
page_title
meta_keywords
meta_description
submit_text_color
submit_background_color
submit_hover_color
input_hover_color
tags
design_fields {
cid
field_id
label
field_type
required
field_options
fieldcol
wrappercol
inline_css
field_size
font_weight
color_text
font_size
color_label
validation
include_blank_option
options {
label
checked
}
}
stores
}
}
```
2. Get list public form profiles
```
{
lofFormBuilderFormList(filter: {}, pageSize: 5) {
items {
form_id
title
identifier
show_toplink
creation_time
page_title
tags
}
total_count
page_info {
page_size
current_page
total_pages
}
}
}
```
3. Get my submitted messages list
```
{
lofFormBuilderMessageList (filter: {}, pageSize: 10, currentPage: 1) {
items {
message_id
form_id
product_id
subject
email_from
creation_time
message
}
total_count
page_info {
page_size
current_page
total_pages
}
}
}
```
4. Get my submitted message by ID
```
{
lofFormBuilderMessage (message_id: Int!) {
message_id
form_id
product_id
subject
email_from
creation_time
message
}
}
```
5. POST form data - required customer logged in
```
mutation {
lofFormbuilderSubmit (input : SubmitFormInput!)
}
```
SubmitFormInput:
```
form_id: Int!
product_id : Int
captcha: String
fields : [SubmitFormFieldInput]!
```
SubmitFormFieldInput:
```
cid : String!
field_name : String!
value: String!
```
Example:
```
mutation {
lofFormbuilderSubmit(
input: {
form_id: 2
product_id: 0
captcha: ""
fields: [
{
cid: "name"
field_name: "loffield_name2"
value: "test name from api"
}
{
cid: "email"
field_name: "loffield_email2"
value: "testapi@gmail.com"
}
{ cid:
"phone"
field_name: "loffield_phone2"
value: "01243655555"
}
{
cid: "content"
field_name: "loffield_content2"
value: "test content from api"
}
{
cid: "age"
field_name: "loffield_age2"
value: "Yes"
}
{
cid: "c5"
field_name: "loffield_c52"
value: ""
}
{
cid: "agreement"
field_name: "loffield_agreement2"
value: "Yes"
}
]
}
)
}
```
**TODO**: support upload files form field