jQuery(document).ready(function($) {
mbsEditor = function ()
{
var maxAdmin;
}
mbsEditor.prototype.init = function ()
{
this.maxAdmin = window.maxFoundry.maxadmin;
$(document).on('maxajax_success_network-settings', $.proxy(this.showSettings, this) );
$(document).on('maxajax_success_save-network', $.proxy(this.settingsUpdated, this) );
$(document).on('maxajax_success_remove-networksettings', $.proxy(this.settingsUpdated, this));
$(document).on('maxajax_success_show-customnetworks', $.proxy(this.showCustomNetworks, this));
$(document).on('maxajax_success_import-customnetworks', $.proxy(this.networksImported, this));
}
mbsEditor.prototype.showSettings = function(e, result, status)
{
result = JSON.parse(result);
if (result.output)
{
$('.network_editor .inside').html(result.output);
if (result.title)
{
$('.network_editor .title').html(result.title);
}
}
this.doColorPicker();
$(document).trigger('mbsocial-editor-settings-loaded');
window.maxFoundry.maxadmin.initConditionials();
$('#icon_type').trigger('change'); // manual update, to fix
window.maxFoundry.maxSocial.form_updated = false; // loading is not changing
}
mbsEditor.prototype.doColorPicker = function()
{
colorPalette = (mbpro_options.colorPalette !== '' ? mbpro_options.colorPalette : true);
// colors
$('.maxbuttons-social .network_editor .color-field').wpColorPicker(
{
width: 300,
palettes: colorPalette,
change: $.proxy( _.throttle(function(event, ui) {
event.preventDefault();
var target = $(event.target);
var color = ui.color.toString();
if (color.indexOf('#') === -1)
color = '#' + color;
var id = target.attr('id');
$('#' + id).val(color).trigger('change');
}, 200), this),
}
);
}
mbsEditor.prototype.showCustomNetworks = function (e, result, status)
{
var result = JSON.parse(result);
if (result.status == 'error')
{
$('.network_editor .inside').html('
' + result.message + '
');
}
else {
$('.network_editor .inside').html(result.output);
if (result.title)
{
$('.network_editor .title').html(result.title);
}
$('.network_editor ul li').off();
$('.network_editor ul li').on('click', $.proxy(this.toggleCustom, this));
}
}
mbsEditor.prototype.networksImported = function (e, result)
{
this.notifySaved(e, result);
window.location.reload(true);
}
mbsEditor.prototype.toggleCustom = function (e)
{
var target = $(e.target);
if (! $(target).hasClass('the_network'))
{
target = $(target).parents('.the_network');
}
if ( $(target).hasClass('selected'))
{
$(target).removeClass('selected');
}
else {
$(target).addClass('selected');
}
var selected = $('.network_editor ul li.selected');
var count = $(selected).length;
$('.cns-toolbar .selected').html(count);
if (count > 0)
{
$('.cns-toolbar button').prop('disabled', false);
}
else {
$('.cns-toolbar button').prop('disabled', true);
}
var networks = [];
$(selected).each(function()
{
networks.push($(this).data('network'));
})
$('#selected_custom').val(networks.join(','));
}
mbsEditor.prototype.settingsUpdated = function(e, result, status)
{
if (typeof result !== 'object')
var parsed_result = JSON.parse(result);
if (parsed_result.output)
this.showSettings(e, result, status);
this.notifySaved(e, result, status);
if (parsed_result.reload)
{
window.location.reload(true);
}
}
mbsEditor.prototype.networkRemoved = function(e, result, status)
{
}
mbsEditor.prototype.notifySaved = function(e,result,status)
{
if (typeof result !== 'object')
var result = JSON.parse(result);
var modal = window.maxFoundry.maxmodal;
modal.newModal('save_done');
modal.setTitle(result.title);
modal.setContent('');
modal.show();
this.form_updated = false; // set updated to false
window.maxFoundry.maxSocial.form_updated = false;
window.setTimeout( function () { modal.fadeOut(); }, 1000);
}
if (typeof window.maxFoundry === 'undefined')
window.maxFoundry = {};
window.maxFoundry.maxSocialSettings = new mbsEditor();
window.maxFoundry.maxSocialSettings.init();
}); // jquery