chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
raw
history blame contribute delete
14.1 kB
//FormBundle
Mautic.formOnLoad = function (container) {
if (mQuery(container + ' #list-search').length) {
Mautic.activateSearchAutocomplete('list-search', 'form.form');
}
Mautic.formBuilderNewComponentInit();
Mautic.iniNewConditionalField();
var bodyOverflow = {};
if (mQuery('#mauticforms_fields')) {
//make the fields sortable
mQuery('#mauticforms_fields').sortable({
items: '.panel',
cancel: '',
helper: function(e, ui) {
ui.children().each(function() {
mQuery(this).width(mQuery(this).width());
});
// Fix body overflow that messes sortable up
bodyOverflow.overflowX = mQuery('body').css('overflow-x');
bodyOverflow.overflowY = mQuery('body').css('overflow-y');
mQuery('body').css({
overflowX: 'visible',
overflowY: 'visible'
});
return ui;
},
scroll: true,
axis: 'y',
containment: '#mauticforms_fields .drop-here',
stop: function(e, ui) {
// Restore original overflow
mQuery('body').css(bodyOverflow);
mQuery(ui.item).attr('style', '');
mQuery.ajax({
type: "POST",
url: mauticAjaxUrl + "?action=form:reorderFields",
data: mQuery('#mauticforms_fields').sortable("serialize", {attribute: 'data-sortable-id'}) + "&formId=" + mQuery('#mauticform_sessionId').val()
});
}
});
Mautic.initFormFieldButtons();
}
if (mQuery('#mauticforms_actions')) {
//make the fields sortable
mQuery('#mauticforms_actions').sortable({
items: '.panel',
cancel: '',
helper: function(e, ui) {
ui.children().each(function() {
mQuery(this).width(mQuery(this).width());
});
// Fix body overflow that messes sortable up
bodyOverflow.overflowX = mQuery('body').css('overflow-x');
bodyOverflow.overflowY = mQuery('body').css('overflow-y');
mQuery('body').css({
overflowX: 'visible',
overflowY: 'visible'
});
return ui;
},
scroll: true,
axis: 'y',
containment: '#mauticforms_actions .drop-here',
stop: function(e, ui) {
// Restore original overflow
mQuery('body').css(bodyOverflow);
mQuery(ui.item).attr('style', '');
mQuery.ajax({
type: "POST",
url: mauticAjaxUrl + "?action=form:reorderActions",
data: mQuery('#mauticforms_actions').sortable("serialize") + "&formId=" + mQuery('#mauticform_sessionId').val()
});
}
});
mQuery('#mauticforms_actions .mauticform-row').on('dblclick.mauticformactions', function(event) {
event.preventDefault();
mQuery(this).find('.btn-edit').first().click();
});
}
if (mQuery('#mauticform_formType').length && mQuery('#mauticform_formType').val() == '') {
mQuery('body').addClass('noscroll');
}
Mautic.initHideItemButton('#mauticforms_fields');
Mautic.initHideItemButton('#mauticforms_actions');
};
Mautic.formBuilderNewComponentInit = function () {
mQuery('select.form-builder-new-component:not(.initialized)').change(function (e) {
const select = mQuery(this);
select.addClass('initialized');
select.find('option:selected');
Mautic.ajaxifyModal(select.find('option:selected'));
// Reset the dropdown
select.val('');
select.chosen('destroy').chosen();
});
};
Mautic.changeSelectOptions = function(selectEl, options) {
selectEl.empty();
mQuery.each(options, function(key, field) {
selectEl.append(
mQuery('<option></option>')
.attr('value', field.value)
.attr('data-list-type', field.isListType ? 1 : 0)
.text(field.label)
);
});
selectEl.trigger('chosen:updated');
};
Mautic.fetchFieldsOnObjectChange = function() {
var fieldSelect = mQuery('select#formfield_mappedField');
fieldSelect.attr('disable', true);
mQuery.ajax({
url: mauticAjaxUrl + "?action=form:getFieldsForObject",
data: {
mappedObject: mQuery('select#formfield_mappedObject').val(),
mappedField: mQuery('input#formfield_originalMappedField').val(),
formId: mQuery('input#mauticform_sessionId').val()
},
success: function (response) {
Mautic.changeSelectOptions(fieldSelect, response.fields);
},
error: function (response, textStatus, errorThrown) {
Mautic.processAjaxError(response, textStatus, errorThrown);
},
complete: function () {
fieldSelect.removeAttr('disable');
}
});
};
Mautic.updateFormFields = function () {
Mautic.activateLabelLoadingIndicator('campaignevent_properties_field');
var formId = mQuery('#campaignevent_properties_form').val();
Mautic.ajaxActionRequest('form:updateFormFields', {'formId': formId}, function(response) {
if (response.fields) {
var select = mQuery('#campaignevent_properties_field');
select.find('option').remove();
var fieldOptions = {};
mQuery.each(response.fields, function(key, field) {
var option = mQuery('<option></option>')
.attr('value', field.alias)
.text(field.label);
select.append(option);
fieldOptions[field.alias] = field.options;
});
select.attr('data-field-options', JSON.stringify(fieldOptions));
select.trigger('chosen:updated');
Mautic.updateFormFieldValues(select);
}
Mautic.removeLabelLoadingIndicator();
});
};
Mautic.updateFormFieldValues = function (field) {
field = mQuery(field);
var fieldValue = field.val();
var options = jQuery.parseJSON(field.attr('data-field-options'));
var valueField = mQuery('#campaignevent_properties_value');
var valueFieldAttrs = {
'class': valueField.attr('class'),
'id': valueField.attr('id'),
'name': valueField.attr('name'),
'autocomplete': valueField.attr('autocomplete'),
'value': valueField.attr('value')
};
if (typeof options[fieldValue] !== 'undefined' && !mQuery.isEmptyObject(options[fieldValue])) {
var newValueField = mQuery('<select/>')
.attr('class', valueFieldAttrs['class'])
.attr('id', valueFieldAttrs['id'])
.attr('name', valueFieldAttrs['name'])
.attr('autocomplete', valueFieldAttrs['autocomplete'])
.attr('value', valueFieldAttrs['value']);
mQuery.each(options[fieldValue], function(key, optionVal) {
var option = mQuery("<option></option>")
.attr('value', key)
.text(optionVal);
newValueField.append(option);
});
valueField.replaceWith(newValueField);
} else {
var newValueField = mQuery('<input/>')
.attr('type', 'text')
.attr('class', valueFieldAttrs['class'])
.attr('id', valueFieldAttrs['id'])
.attr('name', valueFieldAttrs['name'])
.attr('autocomplete', valueFieldAttrs['autocomplete'])
.attr('value', valueFieldAttrs['value']);
valueField.replaceWith(newValueField);
}
};
Mautic.formFieldOnLoad = function (container, response) {
//new field created so append it to the form
if (response.fieldHtml) {
var newHtml = response.fieldHtml;
var fieldId = '#mauticform_' + response.fieldId;
var fieldContainer = mQuery(fieldId).closest('.form-field-wrapper');
if (mQuery(fieldId).length) {
//replace content
mQuery(fieldContainer).replaceWith(newHtml);
var newField = false;
} else {
var parentContainer = mQuery('#mauticform_'+response.parent);
if (parentContainer.length) {
(parentContainer.parents('.panel:first')).append(newHtml);
}else {
//append content
var panel = mQuery('#mauticforms_fields .mauticform-button-wrapper').closest('.form-field-wrapper');
panel.before(newHtml);
}
var newField = true;
}
// Get the updated element
var fieldContainer = mQuery(fieldId).closest('.form-field-wrapper');
//activate new stuff
mQuery(fieldContainer).find("[data-toggle='ajax']").click(function (event) {
event.preventDefault();
return Mautic.ajaxifyLink(this, event);
});
//initialize tooltips
mQuery(fieldContainer).find("*[data-toggle='tooltip']").tooltip({html: true});
//initialize ajax'd modals
mQuery(fieldContainer).find("[data-toggle='ajaxmodal']").on('click.ajaxmodal', function (event) {
event.preventDefault();
Mautic.ajaxifyModal(this, event);
});
Mautic.initFormFieldButtons(fieldContainer);
Mautic.initHideItemButton(fieldContainer);
//show fields panel
if (!mQuery('#fields-panel').hasClass('in')) {
mQuery('a[href="#fields-panel"]').trigger('click');
}
if (newField) {
mQuery('.bundle-main-inner-wrapper').scrollTop(mQuery('.bundle-main-inner-wrapper').height());
}
if (mQuery('#form-field-placeholder').length) {
mQuery('#form-field-placeholder').remove();
}
Mautic.activateChosenSelect(mQuery('.form-builder-new-component'));
Mautic.formBuilderNewComponentInit();
Mautic.iniNewConditionalField();
}
};
Mautic.iniNewConditionalField = function(){
mQuery('.add-new-conditional-field').click(function (e) {
e.preventDefault();
mQuery(this).parent().next().show('normal');
})
mQuery('.add-new-conditional-field').parent().next().hide();
}
Mautic.initFormFieldButtons = function (container) {
if (typeof container == 'undefined') {
mQuery('#mauticforms_fields .mauticform-row').off(".mauticformfields");
var container = '#mauticforms_fields';
}
mQuery(container).find('.mauticform-row').on('dblclick.mauticformfields', function(event) {
event.preventDefault();
mQuery(this).closest('.form-field-wrapper').find('.btn-edit').first().click();
});
};
Mautic.formActionOnLoad = function (container, response) {
//new action created so append it to the form
if (response.actionHtml) {
var newHtml = response.actionHtml;
var actionId = '#mauticform_action_' + response.actionId;
if (mQuery(actionId).length) {
//replace content
mQuery(actionId).replaceWith(newHtml);
var newField = false;
} else {
//append content
mQuery(newHtml).appendTo('#mauticforms_actions');
var newField = true;
}
//activate new stuff
mQuery(actionId + " [data-toggle='ajax']").click(function (event) {
event.preventDefault();
return Mautic.ajaxifyLink(this, event);
});
//initialize tooltips
mQuery(actionId + " *[data-toggle='tooltip']").tooltip({html: true});
//initialize ajax'd modals
mQuery(actionId + " [data-toggle='ajaxmodal']").on('click.ajaxmodal', function (event) {
event.preventDefault();
Mautic.ajaxifyModal(this, event);
});
Mautic.initHideItemButton(actionId);
mQuery('#mauticforms_actions .mauticform-row').off(".mauticform");
mQuery('#mauticforms_actions .mauticform-row').on('dblclick.mauticformactions', function(event) {
event.preventDefault();
mQuery(this).find('.btn-edit').first().click();
});
//show actions panel
if (!mQuery('#actions-panel').hasClass('in')) {
mQuery('a[href="#actions-panel"]').trigger('click');
}
if (newField) {
mQuery('.bundle-main-inner-wrapper').scrollTop(mQuery('.bundle-main-inner-wrapper').height());
}
if (mQuery('#form-action-placeholder').length) {
mQuery('#form-action-placeholder').remove();
}
}
};
Mautic.initHideItemButton = function(container) {
mQuery(container).find('[data-hide-panel]').click(function(e) {
e.preventDefault();
mQuery(this).closest('.panel,.panel2').hide('fast');
});
}
Mautic.onPostSubmitActionChange = function(value) {
if (value == 'return') {
//remove required class
mQuery('#mauticform_postActionProperty').prev().removeClass('required');
} else {
mQuery('#mauticform_postActionProperty').prev().addClass('required');
}
mQuery('#mauticform_postActionProperty').next().html('');
mQuery('#mauticform_postActionProperty').parent().removeClass('has-error');
};
Mautic.selectFormType = function(formType) {
if (formType == 'standalone') {
mQuery('option.action-standalone-only').removeClass('hide');
mQuery('.page-header h3').text(mauticLang.newStandaloneForm);
} else {
mQuery('option.action-standalone-only').addClass('hide');
mQuery('.page-header h3').text(mauticLang.newCampaignForm);
}
mQuery('.available-actions select').trigger('chosen:updated');
mQuery('#mauticform_formType').val(formType);
mQuery('body').removeClass('noscroll');
mQuery('.form-type-modal').remove();
mQuery('.form-type-modal-backdrop').remove();
};