Recent searches


No recent searches

Kevin Witt's Avatar

Kevin Witt

Joined Apr 16, 2021

·

Last activity Oct 29, 2021

Following

0

Followers

0

Total activity

11

Votes

0

Subscriptions

8

ACTIVITY OVERVIEW

Latest activity by Kevin Witt

Kevin Witt commented,

Community comment Discussion - Tips and best practices from the community

A big thank-you to @..., you saved me allot of time with this.

 

View comment · Posted Oct 21, 2019 · Kevin Witt

0

Followers

0

Votes

0

Comments


Kevin Witt commented,

Community comment Discussion - Tips and best practices from the community

Sure, a configured as per the article (Except I didn't hide the checkbox at this point so I can see what is happening).

I have a drop-down that determines if the attachment is required, with the options "Attachment not required" and "Attachment required".

The error I see in the console is:

The HC is in my sandbox: https://unifydemo1508140682.zendesk.com

The form is called "Attachment Test".

My JS is as follows:

// Callback function to execute when mutations in form attachments or dropdown are observed:
// clear or select Attachment checkbox according to dropdown
var mutationObservedForm = function (mutationsList) {
mutationsList.forEach(function (mutation) {
if (mutation.type == 'childList') {
setFormAttachmentCheckbox();
}
});
};

// Define some variables for requiring form attachments
var attachmentCheckboxField = 'request_custom_fields_360003651537';
var attachmentCheckboxId = '#' + attachmentCheckboxField;
var attachmentErrorNotification = 'Report must be attached';
var formDropdownClass = '.request_custom_fields_360003651357';
var formObserveMutationOptions = { childList: true, subtree: true };

// Clear or select checkbox according to dropdown and attachments:
// Set Attachment checkbox if no attachments required, or if attachments are required and at least one is uploaded, otherwise clear it
function setFormAttachmentCheckbox() {
if (isFormAttachmentRequired()) {
if ($('#request-attachments-pool .upload-item').length) {
selectCheckbox(attachmentCheckboxId);
}
else {
clearCheckbox(attachmentCheckboxId);
}
}
else {
selectCheckbox(attachmentCheckboxId);
}
}

// Return true if dropdown option 'ABCD' is selected
function isFormAttachmentRequired() {
return $(formDropdownClass + ' a.nesty-input').attr('aria-expanded') &&
$(formDropdownClass + ' a.nesty-input').text() === 'Attachment required';
}

// Select checkbox
function selectCheckbox(eltselector) {
$(eltselector).prop('checked', true);
}

// Clear checkbox
function clearCheckbox(eltselector) {
$(eltselector).prop('checked', false);
}

// If attachment checkbox field exists, select it,
// and watch for changes to attachments and dropdown
if ($(attachmentCheckboxId).length) {
selectCheckbox(attachmentCheckboxId);
startObserveMutations('#request-attachments-pool', formObserveMutationOptions, mutationObservedForm);
startObserveMutations(formDropdownClass, formObserveMutationOptions, mutationObservedForm);
}

// Adjust attachment error notification
var attachmentErrorElt = $('.' + attachmentCheckboxField + ' .notification-error');
if (attachmentErrorElt.length) {
attachmentErrorElt.text(attachmentErrorNotification);
}


View comment · Posted Oct 17, 2019 · Kevin Witt

0

Followers

0

Votes

0

Comments


Kevin Witt commented,

Community comment Discussion - Tips and best practices from the community

Great article, but I am having problems with the js.  I get the following error in console "startObserveMutations is not defined".

Am I missing something?

View comment · Posted Oct 17, 2019 · Kevin Witt

0

Followers

0

Votes

0

Comments