Recent searches
No recent searches

Kevin Witt
Joined Apr 16, 2021
·
Last activity Oct 29, 2021
Following
0
Followers
0
Total activity
11
Votes
0
Subscriptions
8
ACTIVITY OVERVIEW
BADGES
ARTICLES
POSTS
COMMUNITY COMMENTS
ARTICLE COMMENTS
ACTIVITY OVERVIEW
Latest activity by Kevin Witt
Kevin Witt commented,
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,
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,
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