Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

JavaScript powered forms and SDK for Form.io

This library is a plain JavaScript form renderer and SDK for Form.io. This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API's. The benefits of this library include.

  • Plain JavaScript implementation using ES6 and Modern practices (no jQuery, Angular, React, or any other framework dependency)
  • Renders a JSON schema as a webform and hooks up that form to the Form.io API's
  • Nested components, layouts, Date/Time, Select, Input Masks, and many more included features
  • Full JavaScript API SDK library on top of Form.io

Examples and Demonstration

To find out more about this library as well as see a demonstration of what you can do with this library, go to the Examples and Demo site @ https://formio.github.io/formio.js

Installation

To install this SDK into your project, you can use the following command within your terminal.

npm install --save formiojs

Simple Example

The following is a simple example on how to render a form within your HTML application.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/example');};</script></head><body><divid='formio'></div></body></html>

This will render the following form within your application.

Alt text

You can also render JSON directly instead of referencing the embed URL from Form.io.

Formio.createForm(document.getElementById('formio'),{components: [{type: 'textfield',key: 'firstName',label: 'First Name',placeholder: 'Enter your first name.',input: true},{type: 'textfield',key: 'lastName',label: 'Last Name',placeholder: 'Enter your last name',input: true},{type: 'button',action: 'submit',label: 'Submit',theme: 'primary'}]});

This will render the JSON schema of the form within your application.

JSFiddle

A great way to play around with this renderer is to use JSFiddle, which serves as a good sandbox environment. Here is an example that you can fork and make your own!

http://jsfiddle.net/travistidwell/v38du9y1/

Wizard Rendering

This library can also be used to render a form wizard within your application using the same method as rendering a form. The determiniation on whether it should render as a wizard or not is based on the display property of the form schema being set to wizard.

<html><head><linkrel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><linkrel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script><scripttype='text/javascript'>window.onload=function(){Formio.createForm(document.getElementById('formio'),'https://examples.form.io/wizard');};</script></head><body><divid='formio'></div></body></html>

Form Embedding

You can also use this library as a JavaScript embedding of the form using a single line of code. For example, to embed the https://examples.form.io/example form within your application you can simply use the following embed code.

<scriptsrc="https://unpkg.com/formiojs@latest/dist/formio.embed.min.js?src=https://examples.form.io/example"></script>

For an example of how this looks and works, check out the following Form.io Form Embedding CodePen

Full Form Renderer Documentation

For a more complete documentation of how to utilize this library within your application go to the Form Renderer documentation within the Wiki

JavaScript SDK

In addition to having a Form Renderer within this application, you can also use this library as a JavaScript SDK in your application. For example, to load a Form, and then submit that form you could do the following within your JavaScript.

<html><head><scriptsrc='https://unpkg.com/formiojs@latest/dist/formio.min.js'></script><scripttype='text/javascript'>varformio=newFormio('https://examples.form.io/example');formio.loadForm().then(function(form){// Log the form schema.console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then(function(submission){// Log the full submission object.console.log(submission);});});</script></head></html>

You can also use this within an ES6 application as follows.

importFormiofrom'formiojs';letformio=newFormio('https://examples.form.io/example');formio.loadForm((form)=>{console.log(form);formio.saveSubmission({data: {firstName: 'Joe',lastName: 'Smith',email: 'joe@example.com'}}).then((submission)=>{console.log(submission);});});

JavaScript SDK Documentation.

For more complete documentation over the JavaScript SDK, please take a look at the JavaScript SDK within the wiki.

Full Developer API Documentation

To view the full SDK Documentation, go to Developer SDK Documentation

About

JavaScript powered forms and SDK for Form.io

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages