Skip to content
Snippets Groups Projects

checkboxList dynamic update

Merged Enis Nuredini requested to merge S13797_checkboxlist_dynamic_update into develop
1 file
+ 48
34
Compare changes
  • Side-by-side
  • Inline
+ 48
34
@@ -1230,6 +1230,7 @@ var QfqNS = QfqNS || {};
*/
n.QfqForm.prototype.applyFormConfiguration = function (configuration) {
var arrayLength = configuration.length;
var countElementArray = 0;
for (var i = 0; i < arrayLength; i++) {
var configurationItem = configuration[i];
var formElementName = configurationItem["form-element"];
@@ -1238,48 +1239,61 @@ var QfqNS = QfqNS || {};
continue;
}
try {
var element = n.Element.getElement(formElementName);
// Cleaner way to set states for tinymce
// This triggers the event on the unaccesable textarea
// The tinymce registers a listener on the textarea
// See helper/tinyMCE.js for details
if(element.$element.hasClass('qfq-tinymce')) {
element.$element.trigger("blur", [configurationItem]);
}
var element = $('[name="' + QfqNS.escapeJqueryIdSelector(formElementName) + '"]:not([type="hidden"])');
// unable to find formgroup throws an error and the checkboxes cant be set to checked. This is a quick workaround.
if(element.length > 1 && element.length !== countElementArray && $(element).attr('type').toLowerCase() ==='checkbox'){
element = element[countElementArray];
if (configurationItem.value !== undefined) {
$(element).prop('checked',configurationItem.value);
}
countElementArray++;
}else {
// For all others form-elements the general script is used. anyway the formgroup error is needed to be fixed.
element = n.Element.getElement(formElementName);
// Cleaner way to set states for tinymce
// This triggers the event on the unaccesable textarea
// The tinymce registers a listener on the textarea
// See helper/tinyMCE.js for details
if (element.$element.hasClass('qfq-tinymce')) {
element.$element.trigger("blur", [configurationItem]);
}
if (configurationItem.value !== undefined) {
element.setValue(configurationItem.value);
}
if (configurationItem.value !== undefined) {
element.setValue(configurationItem.value);
}
if (configurationItem.readonly !== undefined) {
// Readonly and disabled is the same in our domain
element.setEnabled(!configurationItem.readonly);
}
if (configurationItem.readonly !== undefined) {
// Readonly and disabled is the same in our domain
element.setEnabled(!configurationItem.readonly);
}
if (configurationItem.disabled !== undefined) {
// Readonly and disabled is the same in our domain
element.setEnabled(!configurationItem.disabled);
}
if (configurationItem.disabled !== undefined) {
// Readonly and disabled is the same in our domain
element.setEnabled(!configurationItem.disabled);
}
if (configurationItem.hidden !== undefined) {
element.setHidden(configurationItem.hidden);
}
if (configurationItem.hidden !== undefined) {
element.setHidden(configurationItem.hidden);
}
if (configurationItem.required !== undefined) {
element.setRequired(configuration.required);
if(element.$element) {
if(element.$element.is("select")) {
element.$element.prop('required', configurationItem.required);
element.$element.attr('data-required', 'yes');
}
if(element.$element.is("input[type=hidden]")) {
console.log("Update Hidden");
element.$element.prop("required", configurationItem.required);
}
if (configurationItem.required !== undefined) {
element.setRequired(configuration.required);
if (element.$element) {
if (element.$element.is("select")) {
element.$element.prop('required', configurationItem.required);
element.$element.attr('data-required', 'yes');
}
if (element.$element.is("input[type=hidden]")) {
console.log("Update Hidden");
element.$element.prop("required", configurationItem.required);
}
}
}
countElementArray = 0;
}
} catch (e) {
n.Log.error(e.message);
}
Loading