automizy-email-editor
Version:
Design mobile friendly HTML emails in your application.
145 lines (130 loc) • 7.08 kB
JavaScript
define([
"js/functions/core/ready",
"js/settings/common"
], function () {
$AEE.ready(function(){
$AEE.blocks.push({
icon:'share.gif',
name:'share',
category:'content',
title:$A.translate('Share'),
drop:function($block, $contentCell, $topCell, $rightCell, $bottomCell, $leftCell){
$block.addClass('aee-share-block-item').attr('data-space', 6);
var $table = $('<table cellpadding="0" cellspacing="0" border="0" class="aee-share-block-content" style="width:100%"></table>').appendTo($contentCell);
var $tr = $('<tr></tr>').appendTo($table);
var $textCell = $('<td style="width:50%" class="aee-share-block-content-cell-text"></td>').appendTo($tr);
var $iconsCell = $('<td style="width:50%; padding:0 12px 0 12px; text-align:left" class="aee-share-block-content-cell-icons"></td>').appendTo($tr);
var html = '<div style="text-align: right;"><b><span style="font-family: arial, helvetica, sans-serif; font-size: 16pt;">' + $A.translate('Share this email!') + '</span></b></div>';
var $content = $('<div contenteditable class="aee-text-block-content"></div>').html(html).appendTo($textCell);
$AEE.inputs.blockSettingsShareFacebook.check();
$AEE.inputs.blockSettingsShareTwitter.check();
$AEE.inputs.blockSettingsShareGoogleplus.check();
$AEE.inputs.blockSettingsShareLinkedin.check();
$AEE.inputs.blockSettingsShareDistanceBetween.val(6);
$AEE.rebuildIcons();
$AEE.settings.tinymceBlock.oninit = function(editor){editor.focus()};
$content.tinymce($AEE.settings.tinymceBlock);
}
});
});
$AEE.layoutReady(function(){
$AEE.elements.$blockSettingsShareBox = $('<div id="aee-block-settings-share-box" class="aee-block-settings-box"></div>').appendTo($AEE.elements.$blockSettingsContent);
$AEE.elements.$shareFacebookIcon = $('<img src="' + $AEE.d.config.dir + '/images/social-facebook.gif" />');
$AEE.elements.$shareTwitterIcon = $('<img src="' + $AEE.d.config.dir + '/images/social-twitter.gif" />');
$AEE.elements.$shareGoogleplusIcon = $('<img src="' + $AEE.d.config.dir + '/images/social-googleplus.gif" />');
$AEE.elements.$shareLinkedinIcon = $('<img src="' + $AEE.d.config.dir + '/images/social-linkedin.gif" />');
$AEE.rebuildIcons = function($block, options){
var $block = $block || $AEE.elements.$activeBlock;
var options = options || {};
var $textCell = $block.find('.aee-share-block-content-cell-text:first');
var $iconsCell = $block.find('.aee-share-block-content-cell-icons:first');
var $icons = $('<div class="aee-share-block-icons"></div>');
var icons = [];
var distance = $AEE.inputs.blockSettingsShareDistanceBetween.val();
if(options.facebook || $AEE.inputs.blockSettingsShareFacebook.checked()){
icons.push('<a href="[{share_facebook}]" style="text-decoration:none"><img src="' + $AEE.d.config.url + '/images/social-facebook.gif" class="aee-share-block-icons-facebook" /></a>');
}
if(options.twitter || $AEE.inputs.blockSettingsShareTwitter.checked()){
icons.push('<a href="[{share_twitter}]" style="text-decoration:none"><img src="' + $AEE.d.config.url + '/images/social-twitter.gif" class="aee-share-block-icons-twitter" /></a>');
}
if(options.googleplus || $AEE.inputs.blockSettingsShareGoogleplus.checked()){
icons.push('<a href="[{share_gplus}]" style="text-decoration:none"><img src="' + $AEE.d.config.url + '/images/social-googleplus.gif" class="aee-share-block-icons-googleplus" /></a>');
}
if(options.linkedin || $AEE.inputs.blockSettingsShareLinkedin.checked()){
icons.push('<a href="[{share_linkedin}]" style="text-decoration:none"><img src="' + $AEE.d.config.url + '/images/social-linkedin.gif" class="aee-share-block-icons-linkedin" /></a>');
}
$block.attr('data-space', distance);
var html = icons.join('<img src="' + $AEE.d.config.url + '/images/spacer.gif" height="1" width="'+distance+'" style="height:1px; width:'+distance+'px" />');
$iconsCell.html(html);
};
$AEE.inputs.blockSettingsShareFacebook = $A.newInput({
type:'checkbox',
label:$AEE.elements.$shareFacebookIcon,
labelWidth:'40px',
change:function(){
$AEE.rebuildIcons();
},
create:function(){
this.widget().css('padding', 0);
}
});
$AEE.inputs.blockSettingsShareTwitter = $A.newInput({
type:'checkbox',
label:$AEE.elements.$shareTwitterIcon,
labelWidth:'40px',
change:function(){
$AEE.rebuildIcons();
},
create:function(){
this.widget().css('padding', 0);
}
});
$AEE.inputs.blockSettingsShareGoogleplus = $A.newInput({
type:'checkbox',
label:$AEE.elements.$shareGoogleplusIcon,
labelWidth:'40px',
change:function(){
$AEE.rebuildIcons();
},
create:function(){
this.widget().css('padding', 0);
}
});
$AEE.inputs.blockSettingsShareLinkedin = $A.newInput({
type:'checkbox',
label:$AEE.elements.$shareLinkedinIcon,
labelWidth:'40px',
change:function(){
$AEE.rebuildIcons();
},
create:function(){
this.widget().css('padding', 0);
}
});
$AEE.inputs.blockSettingsShareDistanceBetween = $A.newInput({
type:'number',
label:$A.translate('Space between icons'),
labelAfter:'px',
value:6,
enter:function(){
$AEE.rebuildIcons();
return false;
},
change:function(){
$AEE.rebuildIcons();
},
create:function(){
this.widget().css('padding-top', '12px');
this.input().attr('min', 0);
this.input().pbmInput();
}
});
$AEE.forms.blockSettingsShare = $A.newForm().addInputs([
$AEE.inputs.blockSettingsShareFacebook,
$AEE.inputs.blockSettingsShareTwitter,
$AEE.inputs.blockSettingsShareGoogleplus,
$AEE.inputs.blockSettingsShareLinkedin,
$AEE.inputs.blockSettingsShareDistanceBetween
]).drawTo($AEE.elements.$blockSettingsShareBox);
})
});