chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
Mautic.integrationsConfigOnLoad = function () {
mQuery('.integration-keyword-filter').each(function() {
mQuery(this).off("keyup.integration-filter").on("keyup.integration-filter", function (event) {
var integration = mQuery(this).attr('data-integration');
var object = mQuery(this).attr('data-object');
Mautic.getPaginatedIntegrationFields(
{
'integration': integration,
'object': object,
'keyword': mQuery(this).val()
},
1,
this
);
});
});
Mautic.activateIntegrationFieldUpdateActions();
};
Mautic.getPaginatedIntegrationFields = function(settings, page, element) {
var requestName = settings.integration + '-' + settings.object;
var action = mauticBaseUrl + 's/integration/' + settings.integration + '/config/' + settings.object + '/' + page;
if (settings.keyword) {
action = action + '?keyword=' + settings.keyword;
}
if (typeof Mautic.activeActions == 'undefined') {
Mautic.activeActions = {};
} else if (typeof Mautic.activeActions[requestName] != 'undefined') {
Mautic.activeActions[requestName].abort();
}
var object = settings.object;
var fieldsTab = '#field-mappings-'+object+'-container';
if (element && mQuery(element).is('input')) {
Mautic.activateLabelLoadingIndicator(mQuery(element).attr('id'));
}
var fieldsContainer = '#field-mappings-'+object;
var modalId = '#'+mQuery(fieldsContainer).closest('.modal').attr('id');
Mautic.startModalLoadingBar(modalId);
Mautic.activeActions[requestName] = mQuery.ajax({
showLoadingBar: false,
url: action,
type: "POST",
dataType: "json",
success: function (response) {
if (response.success) {
mQuery(fieldsContainer).html(response.html);
Mautic.onPageLoad(fieldsContainer);
Mautic.activateIntegrationFieldUpdateActions();
if (mQuery(fieldsTab).length) {
mQuery(fieldsTab).removeClass('hide');
}
} else if (mQuery(fieldsTab).length) {
mQuery(fieldsTab).addClass('hide');
}
if (element) {
Mautic.removeLabelLoadingIndicator();
}
Mautic.stopModalLoadingBar(modalId);
},
error: function (request, textStatus, errorThrown) {
Mautic.processAjaxError(request, textStatus, errorThrown);
},
complete: function () {
delete Mautic.activeActions[requestName]
}
});
};
Mautic.updateIntegrationField = function(integration, object, field, fieldOption, fieldValue) {
var action = mauticBaseUrl + 's/integration/' + integration + '/config/' + object + '/field/' + field;
var modal = mQuery('form[name=integration_config]').closest('.modal');
var requestName = integration + object + field + fieldOption;
// Disable submit buttons until the action is done so nothing is lost
mQuery(modal).find('.modal-form-buttons .btn').prop('disabled', true);
if (typeof Mautic.activeActions == 'undefined') {
Mautic.activeActions = {};
} else if (typeof Mautic.activeActions[requestName] != 'undefined') {
Mautic.activeActions[requestName].abort();
}
Mautic.startModalLoadingBar(mQuery(modal).attr('id'));
// Must use bracket notation to use variable for key
var obj = {};
obj[fieldOption] = fieldValue;
Mautic.activeActions[requestName] = mQuery.ajax({
showLoadingBar: false,
url: action,
type: "POST",
dataType: "json",
data: obj,
error: function (request, textStatus, errorThrown) {
Mautic.processAjaxError(request, textStatus, errorThrown);
},
complete: function () {
modal.find('.modal-form-buttons .btn').prop('disabled', false);
delete Mautic.activeActions[requestName];
}
});
};
Mautic.activateIntegrationFieldUpdateActions = function () {
mQuery('.integration-mapped-field').each(function() {
mQuery(this).off("change.integration-mapped-field").on("change.integration-mapped-field", function (event) {
var integration = mQuery(this).attr('data-integration');
var object = mQuery(this).attr('data-object');
var field = mQuery(this).attr('data-field');
Mautic.updateIntegrationField(integration, object, field, 'mappedField', mQuery(this).val());
});
});
mQuery('.integration-sync-direction').each(function() {
mQuery(this).off("change.integration-sync-direction").on("change.integration-sync-direction", function (event) {
var integration = mQuery(this).attr('data-integration');
var object = mQuery(this).attr('data-object');
var field = mQuery(this).attr('data-field');
Mautic.updateIntegrationField(integration, object, field, 'syncDirection', mQuery(this).val());
});
});
};
Mautic.authorizeIntegration = function () {
mQuery('#integration_details_in_auth').val(1);
Mautic.postForm(mQuery('form[name="integration_config"]'), 'loadIntegrationAuthWindow');
};