Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
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');
|
||||
};
|
||||
Reference in New Issue
Block a user