/home/altere25/rmllproject.altereddigital.com/wp-content/plugins/pagelayer/js
Edit: /home/altere25/rmllproject.altereddigital.com/wp-content/plugins/pagelayer/js/pagelayer-pen.js (41129B)
/* Pagelayer Pen editor */
var pagelayer_customColor = ["#000000", "#e60000", "#ff9900", "#ffff00", "#008a00", "#0066cc", "#9933ff", "#ffffff", "#facccc", "#ffebcc", "#ffffcc", "#cce8cc", "#cce0f5", "#ebd6ff", "#bbbbbb", "#f06666", "#ffc266", "#ffff66", "#66b966", "#66a3e0", "#c285ff", "#888888", "#a10000", "#b26b00", "#b2b200", "#006100", "#0047b2", "#6b24b2", "#444444", "#5c0000", "#663d00", "#666600", "#003700", "#002966", "#3d1466"];
var pagelayer_pen_sizeList = ['normal', 'x-small', 'small', 'medium', 'large', 'x-large'];
var pagelayer_pen_lineHeight = ['0.9', '1', '1.5', '2.0', '2.5','3.0', '3.5', '4.0', '4.5', '5.0'];
class PagelayerPen{
constructor(jEle, options) {
var t = this;
t.editor = jQuery(jEle);
t.options = options;
// Get the document of the element. It is used to make the plugin
// compatible with iframes.
t.doc = jEle.ownerDocument || document;
t.tagToButton = {};
t.optionsCounter = 0;
t.destroyEd = true;
t.semantic = null;
t.DEFAULT_SEMANTIC_MAP = {
'b': 'strong',
'i': 'em',
's': 'strike',
//'strike': 'del',
'div': 'p'
};
// Init editor
t.addHandlers();
t.init();
}
init(){
var t = this;
// Init Editor
t.editor.addClass('pagelayer-pen');
t.penHolder = t.addContainer();
t.addEvents();
}
addHandlers(){
// TODO : Add for custom plugins
// TODO remove all execCommands
this.handlers = {
bold:{
tag: 'STRONG',
icon: '
'
},
italic:{
tag: 'EM',
icon: '
'
},
underline:{
tag: 'U',
icon: '
'
},
strike:{
tag: 'strike',
fn: 'strikethrough',
icon: '
'
},
h1:{
fn: 'formatBlock',
icon: '
H1'
},
h2:{
fn: 'formatBlock',
icon: '
H2'
},
h3:{
fn: 'formatBlock',
icon: '
H3'
},
h4:{
fn: 'formatBlock',
icon: '
H4'
},
h5:{
fn: 'formatBlock',
icon: '
H5'
},
h6:{
fn: 'formatBlock',
icon: '
H6'
},
p:{
fn: 'formatBlock',
icon: '
'
},
blockquote:{
fn: 'formatBlock',
icon: '
'
},
formating:{
fn: 'formatBlock',
fixIcon: '
'
},
unorderedlist:{
tag: 'UL',
fn: 'insertUnorderedList',
icon: '
'
},
orderedlist:{
tag: 'OL',
fn: 'insertOrderedList',
icon: '
'
},
sub:{
tag: 'sub',
fn: 'subscript',
icon: '
'
},
super:{
tag: 'sup',
fn: 'superscript',
icon: '
'
},
link:{
fn: 'setLinkHandler',
tag: 'a',
icon: '
',
},
image:{
fn: 'imageBtnHandler',
icon: '
'
},
align:{
style: 'text-align',
fn: 'formatBlock',
icon: {
'left': '
',
'center': '
',
'right': '
',
'justify': '
',
}
},
color:{
class: 'pagelayer-pen-color-picker',
style: 'color',
fn: 'commandHandler',
fixIcon: '
',
buildBtn : 'buildColorBtnHandler',
default : pagelayer_customColor,
customInpute: true
},
background:{
class: 'pagelayer-pen-color-picker',
style: 'background-color',
fn: 'commandHandler',
fixIcon: '
',
buildBtn: 'buildColorBtnHandler',
default : pagelayer_customColor,
customInpute: true
},
size:{
class: 'pagelayer-pen-size-picker',
style: 'font-size',
fn: 'commandHandler',
default : pagelayer_pen_sizeList,
customInpute: true
},
lineheight:{
style: 'line-height',
fn: 'commandHandler',
fixIcon: '
',
default : pagelayer_pen_lineHeight,
customInpute: true
},
font:{
style: 'font-family',
fn: 'commandHandler',
fixIcon: '
',
default : pagelayer_fonts,
buildBtn : 'buildfontBtnHandler',
},
viewHTML:{
fn: 'viewHTMLBtnHandler',
icon: '
'
},
removeformat:{
icon: '
'
}
}
}
addContainer(className){
className = className || false;
// Add Container
var container = jQuery('.pagelayer-pen-holder');
if(container.length < 1){
jQuery('body').append('
');
container = jQuery('.pagelayer-pen-holder');
}
if(!className){
return container;
}
if(container.find('.'+className).length < 1){
container.append('
');
}
return container.find('.'+className);
}
addToolbar(){
// Add Toolbar
var t = this;
var groups = t.options.toolbar;
var toolbar = t.toolbar = t.addContainer('pagelayer-pen-toolbar');
// Make it empty
toolbar.empty();
if (!Array.isArray(groups[0])) {
groups = [groups];
}
var addButton = function(container, format, value){
var btn = t.handlers[format];
var icon = '';
if('icon' in btn){
var _icon = btn['icon'];
if(typeof _icon == 'object' && !pagelayer_empty(_icon[value])){
icon = _icon[value];
}else if(typeof icon == 'string'){
icon = _icon;
}
}
var input = document.createElement('button');
input.setAttribute('type', 'button');
input.setAttribute('data-format', format);
input.classList.add('pagelayer-pen-' + format);
if('class' in btn){
input.classList.add(btn['class']);
}
if( pagelayer_empty(value) && 'default' in btn ){
value = btn['default'];
}
input.innerHTML = icon;
if(value != null) {
input.value = value;
}
container.appendChild(input);
}
var createoption = function(val, lang, type){
type = type || '';
var lang = pagelayer_empty(lang) ? 'Default' : lang;
return '
';
}
var addSelect = function(container, format, values) {
var input = document.createElement('select');
input.classList.add('pagelayer-pen-' + format);
if('class' in t.handlers[format]){
input.classList.add(t.handlers[format]['class']);
}
input.setAttribute('data-format', format);
if( pagelayer_empty(values) && 'default' in t.handlers[format] ){
values = t.handlers[format]['default'];
}
for(var kk in values){
var options = '';
var value = values[kk];
if(typeof value == 'object') {
if(kk != 'default'){
options += '