Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/* Social Media */
|
||||
.symbol-hashtag:before {
|
||||
content: '#';
|
||||
}
|
||||
|
||||
.shuffle-item.integration {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.integration-disabled img {
|
||||
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+ */
|
||||
filter: gray; /* IE6-9 */
|
||||
-webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
|
||||
-webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */
|
||||
-webkit-backface-visibility: hidden; /* Fix for transition flickering */
|
||||
}
|
||||
|
||||
.integration-disabled img:hover {
|
||||
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
|
||||
-webkit-filter: grayscale(0%);
|
||||
}
|
||||
.field-selector {
|
||||
width: 500px;
|
||||
}
|
||||
.col-centered{
|
||||
margin: 0 auto;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.placeholder
|
||||
{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.placeholder::after
|
||||
{
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 19px;
|
||||
content: attr(data-placeholder);
|
||||
pointer-events: none;
|
||||
opacity: 0.3;
|
||||
font-size: 9px
|
||||
}
|
||||
|
||||
.integration-fields{
|
||||
font-size: 12px;
|
||||
padding-left: 7px;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,322 @@
|
||||
/* PluginBundle */
|
||||
Mautic.matchedFields = function (index, object, integration) {
|
||||
var compoundMauticFields = ['mauticContactId','mauticContactTimelineLink'];
|
||||
|
||||
if (mQuery('#integration_details_featureSettings_updateDncByDate_0').is(':checked')) {
|
||||
compoundMauticFields.push('mauticContactIsContactableByEmail');
|
||||
}
|
||||
var integrationField = mQuery('#integration_details_featureSettings_'+object+'Fields_i_' + index).attr('data-value');
|
||||
var mauticField = mQuery('#integration_details_featureSettings_'+object+'Fields_m_' + index + ' option:selected').val();
|
||||
|
||||
if(mQuery('.btn-arrow' + index).parent().attr('data-force-direction') != 1) {
|
||||
if (mQuery.inArray(mauticField, compoundMauticFields) >= 0) {
|
||||
mQuery('.btn-arrow' + index).removeClass('active');
|
||||
mQuery('#integration_details_featureSettings_' + object + 'Fields_update_mautic' + index + '_0').attr('checked', 'checked');
|
||||
mQuery('input[name="integration_details[featureSettings][' + object + 'Fields][update_mautic' + index + ']"]').prop('disabled', true).trigger("chosen:updated");
|
||||
mQuery('.btn-arrow' + index).addClass('disabled');
|
||||
}
|
||||
else {
|
||||
mQuery('input[name="integration_details[featureSettings][' + object + 'Fields][update_mautic' + index + ']"]').prop('disabled', false).trigger("chosen:updated");
|
||||
mQuery('.btn-arrow' + index).removeClass('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
if (object == 'lead') {
|
||||
var updateMauticField = mQuery('input[name="integration_details[featureSettings]['+object+'Fields][update_mautic' + index + ']"]:checked').val();
|
||||
} else {
|
||||
var updateMauticField = mQuery('input[name="integration_details[featureSettings]['+object+'Fields][update_mautic_company' + index + ']"]:checked').val();
|
||||
}
|
||||
Mautic.ajaxActionRequest('plugin:matchFields', {object: object, integration: integration, integrationField : integrationField, mauticField: mauticField, updateMautic : updateMauticField}, function(response) {
|
||||
var theMessage = (response.success) ? '<i class="ri-check-line-circle text-success"></i>' : '';
|
||||
mQuery('#matched-' + index + "-" + object).html(theMessage);
|
||||
});
|
||||
};
|
||||
Mautic.initiateIntegrationAuthorization = function() {
|
||||
mQuery('#integration_details_in_auth').val(1);
|
||||
|
||||
Mautic.postForm(mQuery('form[name="integration_details"]'), 'loadIntegrationAuthWindow');
|
||||
};
|
||||
|
||||
Mautic.loadIntegrationAuthWindow = function(response) {
|
||||
if (response.newContent) {
|
||||
Mautic.processModalContent(response, '#IntegrationEditModal');
|
||||
} else {
|
||||
Mautic.stopPageLoadingBar();
|
||||
Mautic.stopIconSpinPostEvent();
|
||||
mQuery('#integration_details_in_auth').val(0);
|
||||
|
||||
if (response.authUrl) {
|
||||
var generator = window.open(response.authUrl, 'integrationauth', 'height=500,width=500');
|
||||
|
||||
if (!generator || generator.closed || typeof generator.closed == 'undefined') {
|
||||
alert(mauticLang.popupBlockerMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Mautic.refreshIntegrationForm = function() {
|
||||
var opener = window.opener;
|
||||
if(opener) {
|
||||
var form = opener.mQuery('form[name="integration_details"]');
|
||||
if (form.length) {
|
||||
var action = form.attr('action');
|
||||
if (action) {
|
||||
opener.Mautic.startModalLoadingBar('#IntegrationEditModal');
|
||||
opener.Mautic.loadAjaxModal('#IntegrationEditModal', action);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.close()
|
||||
};
|
||||
|
||||
Mautic.integrationOnLoad = function(container, response) {
|
||||
if (response && response.name) {
|
||||
var integration = '.integration-' + response.name;
|
||||
if (response.enabled) {
|
||||
mQuery(integration).removeClass('integration-disabled');
|
||||
} else {
|
||||
mQuery(integration).addClass('integration-disabled');
|
||||
}
|
||||
} else {
|
||||
Mautic.filterIntegrations();
|
||||
}
|
||||
mQuery('[data-toggle="tooltip"]').tooltip();
|
||||
};
|
||||
|
||||
Mautic.integrationConfigOnLoad = function(container) {
|
||||
if (mQuery('.fields-container select.integration-field').length) {
|
||||
var selects = mQuery('.fields-container select.integration-field');
|
||||
selects.on('change', function() {
|
||||
var select = mQuery(this),
|
||||
newValue = select.val(),
|
||||
previousValue = select.attr('data-value');
|
||||
select.attr('data-value', newValue);
|
||||
|
||||
var groupSelects = mQuery(this).closest('.fields-container').find('select.integration-field').not(select);
|
||||
|
||||
// Enable old value
|
||||
if (previousValue) {
|
||||
mQuery('option[value="' + previousValue + '"]', groupSelects).each(function() {
|
||||
if (!mQuery(this).closest('select').prop('disabled')) {
|
||||
mQuery(this).prop('disabled', false);
|
||||
mQuery(this).removeAttr('disabled');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (newValue) {
|
||||
mQuery('option[value="' + newValue + '"]', groupSelects).each(function() {
|
||||
if (!mQuery(this).closest('select').prop('disabled')) {
|
||||
mQuery(this).prop('disabled', true);
|
||||
mQuery(this).attr('disabled', 'disabled');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
groupSelects.each(function() {
|
||||
mQuery(this).trigger('chosen:updated');
|
||||
});
|
||||
});
|
||||
|
||||
selects.each(function() {
|
||||
if (!mQuery(this).closest('.field-container').hasClass('hide')) {
|
||||
mQuery(this).trigger('change');
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Mautic.filterIntegrations = function(update) {
|
||||
var filter = mQuery('#integrationFilter').val();
|
||||
|
||||
if (update) {
|
||||
mQuery.ajax({
|
||||
url: mauticAjaxUrl,
|
||||
type: "POST",
|
||||
data: "action=plugin:setIntegrationFilter&plugin=" + filter
|
||||
});
|
||||
}
|
||||
|
||||
//activate shuffles
|
||||
if (mQuery('.native-integrations').length) {
|
||||
//give a slight delay in order for images to load so that shuffle starts out with correct dimensions
|
||||
setTimeout(function () {
|
||||
var Shuffle = window.Shuffle,
|
||||
element = document.querySelector('.native-integrations'),
|
||||
shuffleOptions = {
|
||||
itemSelector: '.shuffle-item'
|
||||
};
|
||||
|
||||
// Using global variable to make it available outside of the scope of this function
|
||||
window.nativeIntegrationsShuffleInstance = new Shuffle(element, shuffleOptions);
|
||||
|
||||
window.nativeIntegrationsShuffleInstance.filter(function($el) {
|
||||
if (filter) {
|
||||
return mQuery($el).hasClass('plugin' + filter);
|
||||
} else {
|
||||
// Shuffle.js has a bug. It hides the first item when we reset the filter.
|
||||
// This fixes it.
|
||||
mQuery(shuffleOptions.itemSelector).first().css('transform', '');
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// Update shuffle on sidebar minimize/maximize
|
||||
mQuery("html")
|
||||
.on("fa.sidebar.minimize", function() {
|
||||
setTimeout(function() {
|
||||
window.nativeIntegrationsShuffleInstance.update();
|
||||
}, 1000);
|
||||
})
|
||||
.on("fa.sidebar.maximize", function() {
|
||||
setTimeout(function() {
|
||||
window.nativeIntegrationsShuffleInstance.update();
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
// This delay is needed so that the tab has time to render and the sizes are correctly calculated
|
||||
mQuery('#plugin-nav-tabs a').click(function () {
|
||||
setTimeout(function() {
|
||||
window.nativeIntegrationsShuffleInstance.update();
|
||||
}, 500);
|
||||
});
|
||||
}, 500);
|
||||
}
|
||||
};
|
||||
|
||||
Mautic.getIntegrationLeadFields = function (integration, el, settings) {
|
||||
|
||||
if (typeof settings == 'undefined') {
|
||||
settings = {};
|
||||
}
|
||||
settings.integration = integration;
|
||||
settings.object = 'lead';
|
||||
|
||||
Mautic.getIntegrationFields(settings, 1, el);
|
||||
};
|
||||
|
||||
Mautic.getIntegrationCompanyFields = function (integration, el, settings) {
|
||||
if (typeof settings == 'undefined') {
|
||||
settings = {};
|
||||
}
|
||||
settings.integration = integration;
|
||||
settings.object = 'company';
|
||||
|
||||
Mautic.getIntegrationFields(settings, 1, el);
|
||||
};
|
||||
|
||||
Mautic.getIntegrationFields = function(settings, page, el) {
|
||||
var object = settings.object ? settings.object : 'lead';
|
||||
var fieldsTab = ('lead' === object) ? '#fields-tab' : '#'+object+'-fields-container';
|
||||
|
||||
if (el && mQuery(el).is('input')) {
|
||||
Mautic.activateLabelLoadingIndicator(mQuery(el).attr('id'));
|
||||
|
||||
var namePrefix = mQuery(el).attr('name').split('[')[0];
|
||||
if ('integration_details' !== namePrefix) {
|
||||
var nameParts = mQuery(el).attr('name').match(/\[.*?\]+/g);
|
||||
nameParts = nameParts.slice(0, -1);
|
||||
settings.prefix = namePrefix + nameParts.join('') + "[" + object + "Fields]";
|
||||
}
|
||||
}
|
||||
var fieldsContainer = '#'+object+'FieldsContainer';
|
||||
|
||||
var inModal = mQuery(fieldsContainer).closest('.modal');
|
||||
if (inModal) {
|
||||
var modalId = '#'+mQuery(fieldsContainer).closest('.modal').attr('id');
|
||||
Mautic.startModalLoadingBar(modalId);
|
||||
}
|
||||
|
||||
Mautic.ajaxActionRequest('plugin:getIntegrationFields',
|
||||
{
|
||||
page: page,
|
||||
integration: (settings.integration) ? settings.integration : null,
|
||||
settings: settings
|
||||
},
|
||||
function(response) {
|
||||
if (response.success) {
|
||||
mQuery(fieldsContainer).replaceWith(response.html);
|
||||
Mautic.onPageLoad(fieldsContainer);
|
||||
Mautic.integrationConfigOnLoad(fieldsContainer);
|
||||
if (mQuery(fieldsTab).length) {
|
||||
mQuery(fieldsTab).removeClass('hide');
|
||||
}
|
||||
} else {
|
||||
if (mQuery(fieldsTab).length) {
|
||||
mQuery(fieldsTab).addClass('hide');
|
||||
}
|
||||
}
|
||||
|
||||
if (el) {
|
||||
Mautic.removeLabelLoadingIndicator();
|
||||
}
|
||||
|
||||
if (inModal) {
|
||||
Mautic.stopModalLoadingBar(modalId);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
Mautic.getIntegrationConfig = function (el, settings) {
|
||||
Mautic.activateLabelLoadingIndicator(mQuery(el).attr('id'));
|
||||
|
||||
if (typeof settings == 'undefined') {
|
||||
settings = {};
|
||||
}
|
||||
|
||||
settings.name = mQuery(el).attr('name');
|
||||
var data = {integration: mQuery(el).val(), settings: settings};
|
||||
mQuery('.integration-campaigns-status').html('');
|
||||
mQuery('.integration-config-container').html('');
|
||||
|
||||
Mautic.ajaxActionRequest('plugin:getIntegrationConfig', data,
|
||||
function (response) {
|
||||
if (response.success) {
|
||||
mQuery('.integration-config-container').html(response.html);
|
||||
Mautic.onPageLoad('.integration-config-container', response);
|
||||
}
|
||||
|
||||
Mautic.integrationConfigOnLoad('.integration-config-container');
|
||||
Mautic.removeLabelLoadingIndicator();
|
||||
},
|
||||
false,
|
||||
false,
|
||||
"GET"
|
||||
);
|
||||
|
||||
|
||||
};
|
||||
|
||||
Mautic.getIntegrationCampaignStatus = function (el, settings) {
|
||||
Mautic.activateLabelLoadingIndicator(mQuery(el).attr('id'));
|
||||
if (typeof settings == 'undefined') {
|
||||
settings = {};
|
||||
}
|
||||
|
||||
// Extract the name and ID prefixes
|
||||
var prefix = mQuery(el).attr('name').split("[")[0];
|
||||
|
||||
settings.name = mQuery('#'+prefix+'_properties_integration').attr('name');
|
||||
var data = {integration:mQuery('#'+prefix+'_properties_integration').val(),campaign: mQuery(el).val(), settings: settings};
|
||||
|
||||
mQuery('.integration-campaigns-status').html('');
|
||||
mQuery('.integration-campaigns-status').removeClass('hide');
|
||||
Mautic.ajaxActionRequest('plugin:getIntegrationCampaignStatus', data,
|
||||
function (response) {
|
||||
|
||||
if (response.success) {
|
||||
mQuery('.integration-campaigns-status').append(response.html);
|
||||
Mautic.onPageLoad('.integration-campaigns-status', response);
|
||||
}
|
||||
|
||||
Mautic.integrationConfigOnLoad('.integration-campaigns-status');
|
||||
Mautic.removeLabelLoadingIndicator();
|
||||
},
|
||||
false,
|
||||
false,
|
||||
"GET"
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user