Skip to content

Commit

Permalink
Make required fields optional in editor
Browse files Browse the repository at this point in the history
  • Loading branch information
Minstel committed Dec 2, 2018
1 parent a97b320 commit 07f5620
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 16 deletions.
18 changes: 10 additions & 8 deletions js/legalform-html.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,18 @@ function LegalFormHtml($) {
};

this.model = null;
this.isTestEnv = false;
this.disableRequiredFields = false;

/**
* Build form html
* @param {array} definition Form definition
* @param {boolean} isTestEnv If we're building form for testing purposes
* @return {string} Form html
* @param {array} definition Form definition
* @param {object} builderOptions Additional options for buildong form html
* @return {string} Form html
*/
this.build = function(definition, isTestEnv) {
self.isTestEnv = !!isTestEnv;
this.build = function(definition, builderOptions) {
if (typeof builderOptions === 'undefined') builderOptions = {};

self.disableRequiredFields = !!builderOptions.disableRequiredFields;
self.model = (new FormModel(definition)).getModel();

var lines = [];
Expand Down Expand Up @@ -165,7 +167,7 @@ function LegalFormHtml($) {
var type = self.model.getFieldType(data);
var excl = mode === 'build' ?
'data-mask;' :
(self.isTestEnv ? 'required;' : '');
(self.disableRequiredFields ? 'required;' : '');

switch (type) {
case 'number':
Expand Down Expand Up @@ -335,7 +337,7 @@ function LegalFormHtml($) {
var more = value === null ? {checked: data.value} : {name: data.value, value: value};
attrs = $.extend(attrs, more);

if (self.isTestEnv) {
if (self.disableRequiredFields) {
excl += ';required;';
}
} else {
Expand Down
8 changes: 5 additions & 3 deletions js/legalform-validation.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
* Validation for LegalForm
*/
(function($) {
function LegalFormValidation(isTestEnv) {
function LegalFormValidation(builderOptions) {
if (typeof builderOptions === 'undefined') builderOptions = {};

this.ractive = null;
this.el = null;
this.elWizard = null;
this.isTestEnv = !!isTestEnv;
this.disableRequiredFields = !!builderOptions.disableRequiredFields;

//Fields for custom validation
var textFields = 'input[type="text"], input[type="number"], input[type="email"], textarea';
Expand Down Expand Up @@ -235,7 +237,7 @@
const isRequired = !$input.closest('.form-group').find('label > span').length ? false :
$input.closest('.form-group').find('label > span')[0].className === 'required' ? true : false;

if (isRequired && this.isTestEnv) {
if (isRequired && this.disableRequiredFields) {
$allCheckboxes.prop('required', false);
} else {
let checked = 0;
Expand Down
10 changes: 5 additions & 5 deletions js/legalform.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ function LegalForm($) {

/**
* Build form html
* @param {array} definition Form definition
* @param {boolean} isTestEnv If we're building form for testing purposes
* @return {string} Form html
* @param {array} definition Form definition
* @param {object} builderOptions Additional options for buildong form html
* @return {string} Form html
*/
this.build = function(definition, isTestEnv) {
this.build = function(definition, builderOptions) {
var handler = new LegalFormHtml($);
return handler.build(definition, isTestEnv);
return handler.build(definition, builderOptions);
}

/**
Expand Down

0 comments on commit 07f5620

Please sign in to comment.