first commit
This commit is contained in:
485
wp-content/themes/nuzi/framework/assets/js/colorpicker.js
Normal file
485
wp-content/themes/nuzi/framework/assets/js/colorpicker.js
Normal file
@ -0,0 +1,485 @@
|
||||
/**
|
||||
*
|
||||
* Color picker
|
||||
* Author: Stefan Petre www.eyecon.ro
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses
|
||||
*
|
||||
*/
|
||||
(function ($) {
|
||||
var ColorPicker = function () {
|
||||
var
|
||||
ids = {},
|
||||
inAction,
|
||||
charMin = 65,
|
||||
visible,
|
||||
tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
|
||||
defaults = {
|
||||
eventName: 'click',
|
||||
onShow: function () {},
|
||||
onBeforeShow: function(){},
|
||||
onHide: function () {},
|
||||
onChange: function () {},
|
||||
onSubmit: function () {},
|
||||
color: 'ff0000',
|
||||
livePreview: true,
|
||||
flat: false
|
||||
},
|
||||
fillRGBFields = function (hsb, cal) {
|
||||
var rgb = HSBToRGB(hsb);
|
||||
$(cal).data('colorpicker').fields
|
||||
.eq(1).val(rgb.r).end()
|
||||
.eq(2).val(rgb.g).end()
|
||||
.eq(3).val(rgb.b).end();
|
||||
},
|
||||
fillHSBFields = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').fields
|
||||
.eq(4).val(hsb.h).end()
|
||||
.eq(5).val(hsb.s).end()
|
||||
.eq(6).val(hsb.b).end();
|
||||
},
|
||||
fillHexFields = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').fields
|
||||
.eq(0).val(HSBToHex(hsb)).end();
|
||||
},
|
||||
setSelector = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
|
||||
$(cal).data('colorpicker').selectorIndic.css({
|
||||
left: parseInt(150 * hsb.s/100, 10),
|
||||
top: parseInt(150 * (100-hsb.b)/100, 10)
|
||||
});
|
||||
},
|
||||
setHue = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
|
||||
},
|
||||
setCurrentColor = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
|
||||
},
|
||||
setNewColor = function (hsb, cal) {
|
||||
$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
|
||||
},
|
||||
keyDown = function (ev) {
|
||||
var pressedKey = ev.charCode || ev.keyCode || -1;
|
||||
if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
|
||||
return false;
|
||||
}
|
||||
var cal = $(this).parent().parent();
|
||||
if (cal.data('colorpicker').livePreview === true) {
|
||||
change.apply(this);
|
||||
}
|
||||
},
|
||||
change = function (ev) {
|
||||
var cal = $(this).parent().parent(), col;
|
||||
if (this.parentNode.className.indexOf('_hex') > 0) {
|
||||
cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
|
||||
} else if (this.parentNode.className.indexOf('_hsb') > 0) {
|
||||
cal.data('colorpicker').color = col = fixHSB({
|
||||
h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
|
||||
s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
|
||||
b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
|
||||
});
|
||||
} else {
|
||||
cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
|
||||
r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
|
||||
g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
|
||||
b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
|
||||
}));
|
||||
}
|
||||
if (ev) {
|
||||
fillRGBFields(col, cal.get(0));
|
||||
fillHexFields(col, cal.get(0));
|
||||
fillHSBFields(col, cal.get(0));
|
||||
}
|
||||
setSelector(col, cal.get(0));
|
||||
setHue(col, cal.get(0));
|
||||
setNewColor(col, cal.get(0));
|
||||
//cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
|
||||
cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el]);
|
||||
},
|
||||
blur = function (ev) {
|
||||
var cal = $(this).parent().parent();
|
||||
cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
|
||||
},
|
||||
focus = function () {
|
||||
charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
|
||||
$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
|
||||
$(this).parent().addClass('colorpicker_focus');
|
||||
},
|
||||
downIncrement = function (ev) {
|
||||
var field = $(this).parent().find('input').focus();
|
||||
var current = {
|
||||
el: $(this).parent().addClass('colorpicker_slider'),
|
||||
max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
|
||||
y: ev.pageY,
|
||||
field: field,
|
||||
val: parseInt(field.val(), 10),
|
||||
preview: $(this).parent().parent().data('colorpicker').livePreview
|
||||
};
|
||||
$(document).bind('mouseup', current, upIncrement);
|
||||
$(document).bind('mousemove', current, moveIncrement);
|
||||
},
|
||||
moveIncrement = function (ev) {
|
||||
ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
|
||||
if (ev.data.preview) {
|
||||
change.apply(ev.data.field.get(0), [true]);
|
||||
}
|
||||
return false;
|
||||
},
|
||||
upIncrement = function (ev) {
|
||||
change.apply(ev.data.field.get(0), [true]);
|
||||
ev.data.el.removeClass('colorpicker_slider').find('input').focus();
|
||||
$(document).unbind('mouseup', upIncrement);
|
||||
$(document).unbind('mousemove', moveIncrement);
|
||||
return false;
|
||||
},
|
||||
downHue = function (ev) {
|
||||
var current = {
|
||||
cal: $(this).parent(),
|
||||
y: $(this).offset().top
|
||||
};
|
||||
current.preview = current.cal.data('colorpicker').livePreview;
|
||||
$(document).bind('mouseup', current, upHue);
|
||||
$(document).bind('mousemove', current, moveHue);
|
||||
},
|
||||
moveHue = function (ev) {
|
||||
change.apply(
|
||||
ev.data.cal.data('colorpicker')
|
||||
.fields
|
||||
.eq(4)
|
||||
.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
|
||||
.get(0),
|
||||
[ev.data.preview]
|
||||
);
|
||||
return false;
|
||||
},
|
||||
upHue = function (ev) {
|
||||
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
||||
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
||||
$(document).unbind('mouseup', upHue);
|
||||
$(document).unbind('mousemove', moveHue);
|
||||
return false;
|
||||
},
|
||||
downSelector = function (ev) {
|
||||
var current = {
|
||||
cal: $(this).parent(),
|
||||
pos: $(this).offset()
|
||||
};
|
||||
current.preview = current.cal.data('colorpicker').livePreview;
|
||||
$(document).bind('mouseup', current, upSelector);
|
||||
$(document).bind('mousemove', current, moveSelector);
|
||||
},
|
||||
moveSelector = function (ev) {
|
||||
change.apply(
|
||||
ev.data.cal.data('colorpicker')
|
||||
.fields
|
||||
.eq(6)
|
||||
.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
|
||||
.end()
|
||||
.eq(5)
|
||||
.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
|
||||
.get(0),
|
||||
[ev.data.preview]
|
||||
);
|
||||
return false;
|
||||
},
|
||||
upSelector = function (ev) {
|
||||
fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
||||
fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
|
||||
$(document).unbind('mouseup', upSelector);
|
||||
$(document).unbind('mousemove', moveSelector);
|
||||
return false;
|
||||
},
|
||||
enterSubmit = function (ev) {
|
||||
$(this).addClass('colorpicker_focus');
|
||||
},
|
||||
leaveSubmit = function (ev) {
|
||||
$(this).removeClass('colorpicker_focus');
|
||||
},
|
||||
clickSubmit = function (ev) {
|
||||
var cal = $(this).parent();
|
||||
var col = cal.data('colorpicker').color;
|
||||
cal.data('colorpicker').origColor = col;
|
||||
setCurrentColor(col, cal.get(0));
|
||||
cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
|
||||
},
|
||||
show = function (ev) {
|
||||
var cal = $('#' + $(this).data('colorpickerId'));
|
||||
cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
|
||||
var pos = $(this).offset();
|
||||
var viewPort = getViewport();
|
||||
var top = pos.top + this.offsetHeight;
|
||||
var left = pos.left;
|
||||
if (top + 176 > viewPort.t + viewPort.h) {
|
||||
top -= this.offsetHeight + 176;
|
||||
}
|
||||
if (left + 356 > viewPort.l + viewPort.w) {
|
||||
left -= 356;
|
||||
}
|
||||
cal.css({left: left + 'px', top: top + 'px'});
|
||||
if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
|
||||
cal.show();
|
||||
}
|
||||
$(document).bind('mousedown', {cal: cal}, hide);
|
||||
return false;
|
||||
},
|
||||
hide = function (ev) {
|
||||
if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
|
||||
if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
|
||||
ev.data.cal.hide();
|
||||
}
|
||||
$(document).unbind('mousedown', hide);
|
||||
}
|
||||
},
|
||||
isChildOf = function(parentEl, el, container) {
|
||||
if (parentEl == el) {
|
||||
return true;
|
||||
}
|
||||
if (parentEl.contains) {
|
||||
return parentEl.contains(el);
|
||||
}
|
||||
if ( parentEl.compareDocumentPosition ) {
|
||||
return !!(parentEl.compareDocumentPosition(el) & 16);
|
||||
}
|
||||
var prEl = el.parentNode;
|
||||
while(prEl && prEl != container) {
|
||||
if (prEl == parentEl)
|
||||
return true;
|
||||
prEl = prEl.parentNode;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
getViewport = function () {
|
||||
var m = document.compatMode == 'CSS1Compat';
|
||||
return {
|
||||
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
|
||||
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
|
||||
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
|
||||
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
|
||||
};
|
||||
},
|
||||
fixHSB = function (hsb) {
|
||||
return {
|
||||
h: Math.min(360, Math.max(0, hsb.h)),
|
||||
s: Math.min(100, Math.max(0, hsb.s)),
|
||||
b: Math.min(100, Math.max(0, hsb.b))
|
||||
};
|
||||
},
|
||||
fixRGB = function (rgb) {
|
||||
return {
|
||||
r: Math.min(255, Math.max(0, rgb.r)),
|
||||
g: Math.min(255, Math.max(0, rgb.g)),
|
||||
b: Math.min(255, Math.max(0, rgb.b))
|
||||
};
|
||||
},
|
||||
fixHex = function (hex) {
|
||||
var len = 6 - hex.length;
|
||||
if (len > 0) {
|
||||
var o = [];
|
||||
for (var i=0; i<len; i++) {
|
||||
o.push('0');
|
||||
}
|
||||
o.push(hex);
|
||||
hex = o.join('');
|
||||
}
|
||||
return hex;
|
||||
},
|
||||
HexToRGB = function (hex) {
|
||||
var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
|
||||
return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
|
||||
},
|
||||
HexToHSB = function (hex) {
|
||||
return RGBToHSB(HexToRGB(hex));
|
||||
},
|
||||
RGBToHSB = function (rgb) {
|
||||
var hsb = {
|
||||
h: 0,
|
||||
s: 0,
|
||||
b: 0
|
||||
};
|
||||
var min = Math.min(rgb.r, rgb.g, rgb.b);
|
||||
var max = Math.max(rgb.r, rgb.g, rgb.b);
|
||||
var delta = max - min;
|
||||
hsb.b = max;
|
||||
if (max != 0) {
|
||||
|
||||
}
|
||||
hsb.s = max != 0 ? 255 * delta / max : 0;
|
||||
if (hsb.s != 0) {
|
||||
if (rgb.r == max) {
|
||||
hsb.h = (rgb.g - rgb.b) / delta;
|
||||
} else if (rgb.g == max) {
|
||||
hsb.h = 2 + (rgb.b - rgb.r) / delta;
|
||||
} else {
|
||||
hsb.h = 4 + (rgb.r - rgb.g) / delta;
|
||||
}
|
||||
} else {
|
||||
hsb.h = -1;
|
||||
}
|
||||
hsb.h *= 60;
|
||||
if (hsb.h < 0) {
|
||||
hsb.h += 360;
|
||||
}
|
||||
hsb.s *= 100/255;
|
||||
hsb.b *= 100/255;
|
||||
return hsb;
|
||||
},
|
||||
HSBToRGB = function (hsb) {
|
||||
var rgb = {};
|
||||
var h = Math.round(hsb.h);
|
||||
var s = Math.round(hsb.s*255/100);
|
||||
var v = Math.round(hsb.b*255/100);
|
||||
if(s == 0) {
|
||||
rgb.r = rgb.g = rgb.b = v;
|
||||
} else {
|
||||
var t1 = v;
|
||||
var t2 = (255-s)*v/255;
|
||||
var t3 = (t1-t2)*(h%60)/60;
|
||||
if(h==360) h = 0;
|
||||
if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
|
||||
else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
|
||||
else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
|
||||
else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
|
||||
else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
|
||||
else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
|
||||
else {rgb.r=0; rgb.g=0; rgb.b=0}
|
||||
}
|
||||
return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
|
||||
},
|
||||
RGBToHex = function (rgb) {
|
||||
var hex = [
|
||||
rgb.r.toString(16),
|
||||
rgb.g.toString(16),
|
||||
rgb.b.toString(16)
|
||||
];
|
||||
$.each(hex, function (nr, val) {
|
||||
if (val.length == 1) {
|
||||
hex[nr] = '0' + val;
|
||||
}
|
||||
});
|
||||
return hex.join('');
|
||||
},
|
||||
HSBToHex = function (hsb) {
|
||||
return RGBToHex(HSBToRGB(hsb));
|
||||
},
|
||||
restoreOriginal = function () {
|
||||
var cal = $(this).parent();
|
||||
var col = cal.data('colorpicker').origColor;
|
||||
cal.data('colorpicker').color = col;
|
||||
fillRGBFields(col, cal.get(0));
|
||||
fillHexFields(col, cal.get(0));
|
||||
fillHSBFields(col, cal.get(0));
|
||||
setSelector(col, cal.get(0));
|
||||
setHue(col, cal.get(0));
|
||||
setNewColor(col, cal.get(0));
|
||||
};
|
||||
return {
|
||||
init: function (opt) {
|
||||
opt = $.extend({}, defaults, opt||{});
|
||||
if (typeof opt.color == 'string') {
|
||||
opt.color = HexToHSB(opt.color);
|
||||
} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
|
||||
opt.color = RGBToHSB(opt.color);
|
||||
} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
|
||||
opt.color = fixHSB(opt.color);
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
return this.each(function () {
|
||||
if (!$(this).data('colorpickerId')) {
|
||||
var options = $.extend({}, opt);
|
||||
options.origColor = opt.color;
|
||||
var id = 'collorpicker_' + parseInt(Math.random() * 1000);
|
||||
$(this).data('colorpickerId', id);
|
||||
var cal = $(tpl).attr('id', id);
|
||||
if (options.flat) {
|
||||
cal.appendTo(this).show();
|
||||
} else {
|
||||
cal.appendTo(document.body);
|
||||
}
|
||||
options.fields = cal
|
||||
.find('input')
|
||||
.bind('keyup', keyDown)
|
||||
.bind('change', change)
|
||||
.bind('blur', blur)
|
||||
.bind('focus', focus);
|
||||
cal
|
||||
.find('span').bind('mousedown', downIncrement).end()
|
||||
.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
|
||||
options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
|
||||
options.selectorIndic = options.selector.find('div div');
|
||||
options.el = this;
|
||||
options.hue = cal.find('div.colorpicker_hue div');
|
||||
cal.find('div.colorpicker_hue').bind('mousedown', downHue);
|
||||
options.newColor = cal.find('div.colorpicker_new_color');
|
||||
options.currentColor = cal.find('div.colorpicker_current_color');
|
||||
cal.data('colorpicker', options);
|
||||
cal.find('div.colorpicker_submit')
|
||||
.bind('mouseenter', enterSubmit)
|
||||
.bind('mouseleave', leaveSubmit)
|
||||
.bind('click', clickSubmit);
|
||||
fillRGBFields(options.color, cal.get(0));
|
||||
fillHSBFields(options.color, cal.get(0));
|
||||
fillHexFields(options.color, cal.get(0));
|
||||
setHue(options.color, cal.get(0));
|
||||
setSelector(options.color, cal.get(0));
|
||||
setCurrentColor(options.color, cal.get(0));
|
||||
setNewColor(options.color, cal.get(0));
|
||||
if (options.flat) {
|
||||
cal.css({
|
||||
position: 'relative',
|
||||
display: 'block'
|
||||
});
|
||||
} else {
|
||||
$(this).bind(options.eventName, show);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
showPicker: function() {
|
||||
return this.each( function () {
|
||||
if ($(this).data('colorpickerId')) {
|
||||
show.apply(this);
|
||||
}
|
||||
});
|
||||
},
|
||||
hidePicker: function() {
|
||||
return this.each( function () {
|
||||
if ($(this).data('colorpickerId')) {
|
||||
$('#' + $(this).data('colorpickerId')).hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
setColor: function(col) {
|
||||
if (typeof col == 'string') {
|
||||
col = HexToHSB(col);
|
||||
} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
|
||||
col = RGBToHSB(col);
|
||||
} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
|
||||
col = fixHSB(col);
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
return this.each(function(){
|
||||
if ($(this).data('colorpickerId')) {
|
||||
var cal = $('#' + $(this).data('colorpickerId'));
|
||||
cal.data('colorpicker').color = col;
|
||||
cal.data('colorpicker').origColor = col;
|
||||
fillRGBFields(col, cal.get(0));
|
||||
fillHSBFields(col, cal.get(0));
|
||||
fillHexFields(col, cal.get(0));
|
||||
setHue(col, cal.get(0));
|
||||
setSelector(col, cal.get(0));
|
||||
setCurrentColor(col, cal.get(0));
|
||||
setNewColor(col, cal.get(0));
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
}();
|
||||
$.fn.extend({
|
||||
ColorPicker: ColorPicker.init,
|
||||
ColorPickerHide: ColorPicker.hidePicker,
|
||||
ColorPickerShow: ColorPicker.showPicker,
|
||||
ColorPickerSetColor: ColorPicker.setColor
|
||||
});
|
||||
})(jQuery)
|
262
wp-content/themes/nuzi/framework/assets/js/metaboxes.js
Normal file
262
wp-content/themes/nuzi/framework/assets/js/metaboxes.js
Normal file
@ -0,0 +1,262 @@
|
||||
function showHidePostFormatField(){
|
||||
jQuery('#normal-sortables>[id*="tw-format-"]').each(function(){
|
||||
if(jQuery(this).attr('id').replace("tw","post")===jQuery('#post-formats-select input:radio:checked').attr('id').replace('image', '0')){
|
||||
jQuery(this).css('display', 'block');
|
||||
} else {
|
||||
jQuery(this).css('display', 'none');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
jQuery(function(){
|
||||
|
||||
/* Color Picker */
|
||||
jQuery(".color_picker").ColorPicker({
|
||||
onShow: function (colpkr) {
|
||||
jQuery(colpkr).fadeIn(500);
|
||||
return false;
|
||||
},
|
||||
onHide: function (colpkr) {
|
||||
jQuery(colpkr).fadeOut(500);
|
||||
return false;
|
||||
},
|
||||
onChange: function (hsb, hex, rgb, el) {
|
||||
jQuery(el).parent().find('.color_picker_inner').css('backgroundColor', '#' + hex);
|
||||
jQuery(el).parent().find('.color_picker_value').val('#' + hex);
|
||||
}
|
||||
});
|
||||
|
||||
/* Check show hide */
|
||||
jQuery('.check-show-hide').change(function() {
|
||||
var datashow = jQuery(this).attr('data-show');
|
||||
var datahide = jQuery(this).attr('data-hide');
|
||||
if(jQuery(this).is(':checked')) {
|
||||
jQuery(datashow).fadeIn();
|
||||
jQuery(datahide).fadeOut();
|
||||
} else {
|
||||
jQuery(datashow).fadeOut();
|
||||
jQuery(datahide).fadeIn();
|
||||
}
|
||||
});
|
||||
jQuery('.check-show-hide').each(function() {
|
||||
jQuery(this).change();
|
||||
});
|
||||
|
||||
|
||||
/* Select options */
|
||||
jQuery(".tw-metaboxes select").each(function(){
|
||||
$this = jQuery(this);
|
||||
if( $this.attr("data-value") != "" ){
|
||||
$this.val($this.attr("data-value"));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
jQuery("#header_type select").change(function(){
|
||||
$this = jQuery(this);
|
||||
if( $this.val() == "subtitle" ){
|
||||
jQuery(".tw-metaboxes #subtitle").fadeIn();
|
||||
jQuery(".tw-metaboxes #bg_image").fadeIn();
|
||||
jQuery(".tw-metaboxes #slider_id").fadeOut();
|
||||
jQuery(".tw-metaboxes #googlemap").fadeOut();
|
||||
} else if($this.val() == "slider") {
|
||||
jQuery(".tw-metaboxes #slider_id").fadeIn();
|
||||
jQuery(".tw-metaboxes #subtitle").fadeOut();
|
||||
jQuery(".tw-metaboxes #bg_image").fadeOut();
|
||||
jQuery(".tw-metaboxes #googlemap").fadeOut();
|
||||
} else if($this.val() == "map") {
|
||||
jQuery(".tw-metaboxes #googlemap").fadeIn();
|
||||
jQuery(".tw-metaboxes #slider_id").fadeOut();
|
||||
jQuery(".tw-metaboxes #subtitle").fadeOut();
|
||||
jQuery(".tw-metaboxes #bg_image").fadeOut();
|
||||
} else {
|
||||
jQuery(".tw-metaboxes #googlemap").fadeOut();
|
||||
jQuery(".tw-metaboxes #slider_id").fadeOut();
|
||||
jQuery(".tw-metaboxes #subtitle").fadeOut();
|
||||
jQuery(".tw-metaboxes #bg_image").fadeOut();
|
||||
}
|
||||
});
|
||||
jQuery("#header_type select").change();
|
||||
|
||||
|
||||
/* Page layout options */
|
||||
jQuery(".tw-metaboxes .type_layout a").each(function(){
|
||||
$val = jQuery(".tw-metaboxes .type_layout input").val();
|
||||
$this = jQuery(this);
|
||||
if( $this.data("value") == $val ){
|
||||
$this.addClass("active");
|
||||
}
|
||||
});
|
||||
jQuery(".tw-metaboxes .type_layout a").click(function(){
|
||||
jQuery(".tw-metaboxes .type_layout a").removeClass("active");
|
||||
$val = jQuery(this).data('value');
|
||||
jQuery(".tw-metaboxes .type_layout input").val($val);
|
||||
jQuery(this).addClass("active");
|
||||
})
|
||||
|
||||
|
||||
|
||||
/* Post format */
|
||||
showHidePostFormatField();
|
||||
jQuery('#post-formats-select input').change(showHidePostFormatField);
|
||||
|
||||
|
||||
/* Gallery */
|
||||
|
||||
var frame;
|
||||
var images = script_data.image_ids;
|
||||
var selection = loadImages(images);
|
||||
|
||||
jQuery('#gallery_images_upload').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
// Set options for 1st frame render
|
||||
var options = {
|
||||
title: script_data.label_create,
|
||||
state: 'gallery-edit',
|
||||
frame: 'post',
|
||||
selection: selection
|
||||
};
|
||||
|
||||
// Check if frame or gallery already exist
|
||||
if( frame || selection ) {
|
||||
options['title'] = script_data.label_edit;
|
||||
}
|
||||
|
||||
frame = wp.media(options).open();
|
||||
|
||||
// Tweak views
|
||||
frame.menu.get('view').unset('cancel');
|
||||
frame.menu.get('view').unset('separateCancel');
|
||||
frame.menu.get('view').get('gallery-edit').el.innerHTML = script_data.label_edit;
|
||||
frame.content.get('view').sidebar.unset('gallery'); // Hide Gallery Settings in sidebar
|
||||
|
||||
// When we are editing a gallery
|
||||
overrideGalleryInsert();
|
||||
frame.on( 'toolbar:render:gallery-edit', function() {
|
||||
overrideGalleryInsert();
|
||||
});
|
||||
|
||||
frame.on( 'content:render:browse', function( browser ) {
|
||||
if ( !browser ) return;
|
||||
// Hide Gallery Setting in sidebar
|
||||
browser.sidebar.on('ready', function(){
|
||||
browser.sidebar.unset('gallery');
|
||||
});
|
||||
// Hide filter/search as they don't work
|
||||
browser.toolbar.on('ready', function(){
|
||||
if(browser.toolbar.controller._state == 'gallery-library'){
|
||||
browser.toolbar.$el.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// All images removed
|
||||
frame.state().get('library').on( 'remove', function() {
|
||||
var models = frame.state().get('library');
|
||||
if(models.length == 0){
|
||||
selection = false;
|
||||
jQuery.post(ajaxurl, {
|
||||
ids: '',
|
||||
action: 'themewaves_save_images',
|
||||
post_id: script_data.post_id,
|
||||
nonce: script_data.nonce
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Override insert button
|
||||
function overrideGalleryInsert() {
|
||||
frame.toolbar.get('view').set({
|
||||
insert: {
|
||||
style: 'primary',
|
||||
text: script_data.label_save,
|
||||
|
||||
click: function() {
|
||||
var models = frame.state().get('library'),
|
||||
ids = '';
|
||||
|
||||
models.each( function( attachment ) {
|
||||
ids += attachment.id + ','
|
||||
});
|
||||
|
||||
this.el.innerHTML = script_data.label_saving;
|
||||
|
||||
jQuery.ajax({
|
||||
type: 'POST',
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
ids: ids,
|
||||
action: 'themewaves_save_images',
|
||||
post_id: script_data.post_id,
|
||||
nonce: script_data.nonce
|
||||
},
|
||||
success: function(){
|
||||
selection = loadImages(ids);
|
||||
jQuery('#gallery_image_ids').val( ids );
|
||||
frame.close();
|
||||
},
|
||||
dataType: 'html'
|
||||
}).done( function( data ) {
|
||||
jQuery('.gallery-thumbs').html( data );
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Load images
|
||||
function loadImages(images) {
|
||||
if( images ){
|
||||
var shortcode = new wp.shortcode({
|
||||
tag: 'gallery',
|
||||
attrs: { ids: images },
|
||||
type: 'single'
|
||||
});
|
||||
|
||||
var attachments = wp.media.gallery.attachments( shortcode );
|
||||
|
||||
var selection = new wp.media.model.Selection( attachments.models, {
|
||||
props: attachments.props.toJSON(),
|
||||
multiple: true
|
||||
});
|
||||
|
||||
selection.gallery = attachments.gallery;
|
||||
|
||||
// Fetch the query's attachments, and then break ties from the
|
||||
// query to allow for sorting.
|
||||
selection.more().done( function() {
|
||||
// Break ties with the query.
|
||||
selection.props.set({ query: false });
|
||||
selection.unmirror();
|
||||
selection.props.unset('orderby');
|
||||
});
|
||||
|
||||
return selection;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
function browseimage(id){
|
||||
var elementId = id;
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
||||
window.send_to_editor = function(html){
|
||||
if (elementId != undefined) {
|
||||
jQuery(html).find('img').each(function(){
|
||||
var imgurl = jQuery(this).attr('src');
|
||||
jQuery('input[name="'+elementId+'"]').val(imgurl);
|
||||
return;
|
||||
});
|
||||
} else {
|
||||
window.original_send_to_editor(html);
|
||||
}
|
||||
elementId = undefined;
|
||||
};
|
||||
wp.media.editor.open();
|
||||
}
|
||||
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
914
wp-content/themes/nuzi/framework/assets/js/pagebuilder.js
Normal file
914
wp-content/themes/nuzi/framework/assets/js/pagebuilder.js
Normal file
@ -0,0 +1,914 @@
|
||||
var $currentContentEditor='content';
|
||||
var $currentDeleteModal=false;
|
||||
var $pbSavingDone=true;
|
||||
// Reset Content width
|
||||
jQuery(function(){
|
||||
$homeURI+='/';
|
||||
if($homeURI[$homeURI.length-1]==='/'){$homeURI=$homeURI.substring(0,$homeURI.length-1);}
|
||||
twSortDragg();
|
||||
// init Source Datas
|
||||
twInitSourceDatas(jQuery('#pagebuilder-area-source>div'));
|
||||
// Click to Add Item
|
||||
jQuery('#pagebuilder-elements-container>.item').click(function(){
|
||||
jQuery('#pagebuilder-area>div').eq(1).append(jQuery(this).clone());
|
||||
pbSaveData();
|
||||
pbInitEvents();
|
||||
});
|
||||
// Layout Change
|
||||
jQuery('#pagebuilder-select-layout>.sidebar').bind('click').bind('click',function(e){e.preventDefault();
|
||||
var $currentLayout = jQuery(this);
|
||||
var $currentValueArray = $currentLayout.attr('data-value').split(',');
|
||||
var $currentLayoutInput=$currentLayout.siblings('.page-layout');
|
||||
$currentLayout.addClass('active').siblings('.sidebar').removeClass('active');
|
||||
$currentLayoutInput.attr("value",$currentLayout.attr('data-input'));
|
||||
if($currentValueArray[0]!==''){
|
||||
var $currentBuilderArea='';
|
||||
var $currentBuilderAreaClasses='';
|
||||
for(var i = 0, length=$currentValueArray.length ; i<length; i++){
|
||||
$currentBuilderArea=jQuery('#pagebuilder-area').children('.builder-area').eq(i);
|
||||
$currentBuilderAreaClasses=$currentBuilderArea.attr('class').split(' ');
|
||||
for(var ind=0,len=$currentBuilderAreaClasses.length;ind<len;ind++){if($currentBuilderAreaClasses[ind].search('size-')!==-1){$currentBuilderArea.removeClass($currentBuilderAreaClasses[ind]).addClass('size-'+$currentValueArray[i]);break;}}
|
||||
}
|
||||
//START - Sidebar elements moving
|
||||
var $oldSidebar=false;
|
||||
var $newSidebar=false;
|
||||
if($currentLayoutInput.val()=='left'){
|
||||
jQuery('#pagebuilder-area').children('.builder-area').eq(1).removeClass('right-sidebar').removeClass('no-sidebar').addClass('left-sidebar');
|
||||
$oldSidebar=jQuery('#pagebuilder-area').children('.builder-area').eq(-1);
|
||||
$newSidebar=jQuery('#pagebuilder-area').children('.builder-area').eq(0);
|
||||
}else if($currentLayoutInput.val()=='right'){
|
||||
jQuery('#pagebuilder-area').children('.builder-area').eq(1).removeClass('left-sidebar').removeClass('no-sidebar').addClass('right-sidebar');
|
||||
$oldSidebar=jQuery('#pagebuilder-area').children('.builder-area').eq(0);
|
||||
$newSidebar=jQuery('#pagebuilder-area').children('.builder-area').eq(-1);
|
||||
}else{
|
||||
jQuery('#pagebuilder-area').children('.builder-area').eq(1).removeClass('left-sidebar').removeClass('right-sidebar').addClass('no-sidebar');
|
||||
}
|
||||
if($oldSidebar&&$newSidebar){
|
||||
if($newSidebar.children().length===0){
|
||||
$newSidebar.html($oldSidebar.html());
|
||||
$oldSidebar.html('');
|
||||
}
|
||||
}
|
||||
//END - Sidebar elements moving
|
||||
pbSaveData();
|
||||
pbInitEvents();
|
||||
}
|
||||
});
|
||||
jQuery('#pagebuilder-select-layout>.sidebar.active').click();
|
||||
pbInitEvents();
|
||||
pbInitTemplateEvents();
|
||||
pbSaveData();
|
||||
});
|
||||
function pbInitTemplateEvents(){
|
||||
// Template Action
|
||||
jQuery('.template-add').unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $currentTemplateName = prompt('Template Name?');
|
||||
var $currentTemplateLayout = jQuery('input[name="pb-page-layout"]') .val();
|
||||
var $currentTemplateContent=encodeURIComponent(jQuery('#pagebuilder-area').html());
|
||||
if($currentTemplateName==null){
|
||||
return false;
|
||||
}else if($currentTemplateName!='' && $currentTemplateLayout!=''){
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
'action':'template_add',
|
||||
'template_name':$currentTemplateName,
|
||||
'template_content':$currentTemplateContent,
|
||||
'template_layout':$currentTemplateLayout
|
||||
},
|
||||
success: function(response){
|
||||
if(jQuery('.succes',response).text()!=''){
|
||||
jQuery('ul.template-container').append('<li class="template-item"><a class="template-name">'+$currentTemplateName+'</a><span class="template-delete">X</span></li>');
|
||||
pbInitTemplateEvents();
|
||||
// alert(jQuery('.succes',response).text());
|
||||
}else if(jQuery('.error',response).text()!=''){
|
||||
alert(jQuery('.error',response).text());
|
||||
}
|
||||
}
|
||||
});
|
||||
}else{
|
||||
alert('Template name is empty!!! Try again.');
|
||||
}
|
||||
jQuery('#template-save').removeClass('active').children('.template-container').slideUp();
|
||||
});
|
||||
jQuery('.template-name').unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $currentTemplateName = jQuery(this).text();
|
||||
var $currentResponse = 'waitingajax';
|
||||
if($currentTemplateName){
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
'action':'template_get',
|
||||
'template_name':$currentTemplateName
|
||||
},
|
||||
success: function(response){
|
||||
$currentResponse=response;
|
||||
}
|
||||
});
|
||||
if(confirm("Your old contents are will delete ?")){
|
||||
var templateAjaxInt=setInterval(function(){
|
||||
if($currentResponse!=='waitingajax'){
|
||||
clearInterval(templateAjaxInt);
|
||||
if(jQuery('.data',$currentResponse).html()!=''){
|
||||
jQuery('#pagebuilder-select-layout>[data-input="'+jQuery('.data>.layout',$currentResponse).text()+'"]').click();
|
||||
jQuery('#pagebuilder-area').html('');
|
||||
var tmp=jQuery($currentResponse).clone();
|
||||
jQuery('>.data>.content>div',tmp).each(function(){
|
||||
jQuery('#pagebuilder-area').append(jQuery(this).html(''));
|
||||
});
|
||||
twSortDragg();
|
||||
// init Source Datas
|
||||
twInitSourceDatas(jQuery('>.data>.content>div',$currentResponse));
|
||||
pbSaveData();
|
||||
pbInitEvents();
|
||||
}else if(jQuery('.error',$currentResponse).text()!=''){
|
||||
alert(jQuery('.error',$currentResponse).text());
|
||||
}
|
||||
}
|
||||
},100);
|
||||
}
|
||||
}
|
||||
jQuery('#template-save').removeClass('active').children('.template-container').slideUp();
|
||||
});
|
||||
jQuery('.template-delete').unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $this = jQuery(this);
|
||||
var $currentTemplateName = $this.closest('.template-item').find('.template-name').text();
|
||||
if($currentTemplateName && confirm("Are you delete this template ?")){
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
'action':'template_remove',
|
||||
'template_name':$currentTemplateName
|
||||
},
|
||||
success: function(response){
|
||||
$this.closest('.template-item').remove();
|
||||
if(jQuery('.error',response).text()!=''){
|
||||
alert(jQuery('.error',response).text());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
jQuery('#template-save').removeClass('active').children('.template-container').slideUp();
|
||||
});
|
||||
// Template Style
|
||||
jQuery('#template-save>.template').unbind('click').bind('click',function(e){e.preventDefault();
|
||||
if(jQuery('#template-save').hasClass('active')){
|
||||
jQuery('#template-save').removeClass('active').children('.template-container').slideUp();
|
||||
}else{
|
||||
jQuery('#template-save').addClass('active').children('.template-container').slideDown();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function pbInitEvents(){
|
||||
// height repaire
|
||||
var $builderMaxHeight=0;
|
||||
jQuery('#pagebuilder-area>div').css('min-height','');
|
||||
jQuery('#pagebuilder-area>div').each(function(){if(jQuery(this).height()>$builderMaxHeight){$builderMaxHeight=jQuery(this).height();}});
|
||||
jQuery('#pagebuilder-area>div').css('min-height',$builderMaxHeight+'px');
|
||||
// Sortable Draggable
|
||||
twSortDragg();
|
||||
//resize
|
||||
jQuery(".builder-area>.item>.list>.size-sizer-container>.sizer>a.down").unbind("click").bind("click",function(e){e.preventDefault();
|
||||
var $this = jQuery(this);
|
||||
var $sizeList=jQuery('#size-list').clone();
|
||||
var $currentItem = $this.closest('.item');
|
||||
var $currentSizeText = jQuery('.list>.size-sizer-container>.size',$currentItem).text();
|
||||
var $currentSizeList = jQuery('li[data-text="'+$currentSizeText+'"]',$sizeList);
|
||||
$currentItem.removeClass($currentSizeList.attr('data-class'));
|
||||
if($currentItem.attr('data-min')){$sizeList.find('[data-class="'+$currentItem.attr('data-min')+'"]').addClass('min').siblings('.min').removeClass('min');}
|
||||
if($currentSizeList.hasClass('min')){
|
||||
// $currentSizeList=$currentSizeList.siblings('.max');
|
||||
}else{
|
||||
$currentSizeList=$currentSizeList.prev();
|
||||
}
|
||||
$currentItem.addClass($currentSizeList.attr('data-class'));
|
||||
jQuery('.list>.size-sizer-container>.size',$currentItem).text($currentSizeList.attr('data-text'));
|
||||
pbSaveData();
|
||||
});
|
||||
|
||||
jQuery(".builder-area>.item>.list>.size-sizer-container>.sizer>a.up").unbind("click").bind("click",function(e){e.preventDefault();
|
||||
var $this = jQuery(this);
|
||||
var $sizeList=jQuery('#size-list').clone();
|
||||
var $currentItem = $this.closest('.item');
|
||||
var $currentSizeText = jQuery('.list>.size-sizer-container>.size',$currentItem).text();
|
||||
var $currentSizeList = jQuery('li[data-text="'+$currentSizeText+'"]',$sizeList);
|
||||
$currentItem.removeClass($currentSizeList.attr('data-class'));
|
||||
if($currentItem.attr('data-min')){$sizeList.find('[data-class="'+$currentItem.attr('data-min')+'"]').addClass('min').siblings('.min').removeClass('min');}
|
||||
if($currentSizeList.hasClass('max')){
|
||||
// $currentSizeList=$currentSizeList.siblings('.min');
|
||||
}else{
|
||||
$currentSizeList=$currentSizeList.next();
|
||||
}
|
||||
$currentItem.addClass($currentSizeList.attr('data-class'));
|
||||
jQuery('.list>.size-sizer-container>.size',$currentItem).text($currentSizeList.attr('data-text'));
|
||||
pbSaveData();
|
||||
});
|
||||
|
||||
//duplicate
|
||||
jQuery(".builder-area>.item>.list>.actions>a.action-duplicate").unbind("click").bind("click",function(e){e.preventDefault();
|
||||
var $parent = jQuery(this).closest('.item');
|
||||
var $newItem = $parent.clone().addClass('hidded').css('display','none');
|
||||
$parent.after($newItem).promise().done(function(){
|
||||
jQuery('.builder-area>.item.hidded').removeClass('hidded').fadeIn('slow').promise().done(function(){
|
||||
pbSaveData();pbInitEvents();
|
||||
});
|
||||
});
|
||||
});
|
||||
//edit
|
||||
jQuery(".builder-area>.item>.list>.actions>a.action-edit").unbind("click").bind("click",function(e){e.preventDefault();
|
||||
$parent = jQuery(this).closest('.item');
|
||||
$parent.addClass('item-modalled').siblings('.item-modalled').removeClass('item-modalled');
|
||||
var $videoURL = jQuery(this).attr('data-video');
|
||||
html = $parent.children('.data').html();
|
||||
//pbInitModalSave
|
||||
jQuery( '<div id="pb-modal-container" class="'+$parent.attr('data-slug')+'" />' ).append(html).dialog({
|
||||
closeOnEscape: true,
|
||||
title: $parent.children('.list').children('.name').text(),
|
||||
resizable: false,
|
||||
width: 800,
|
||||
modal: true,
|
||||
open: function(event, ui){
|
||||
jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container');
|
||||
jQuery(this).closest('.ui-dialog').focus();
|
||||
if($parent.attr('data-help')){jQuery(this).closest('.ui-dialog').find('.ui-dialog-buttonpane').prepend('<a href="'+$parent.attr('data-help')+'" target="_blank" class="watch-tutorial">LINK</a>');}
|
||||
pbModalInitActions(jQuery(this));
|
||||
},
|
||||
close: function(){
|
||||
$currentContentEditor='content';
|
||||
jQuery('#pb-modal-container').closest('.ui-dialog').remove();
|
||||
jQuery('body>#pb-modal-container').remove();
|
||||
},
|
||||
buttons: {
|
||||
"Save": function() {
|
||||
pbModalSave(jQuery(this));
|
||||
jQuery(this).dialog("close");
|
||||
pbSaveData();
|
||||
},
|
||||
"Cancel": function() {
|
||||
jQuery(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
//remove item
|
||||
jQuery(".builder-area>.item>.list>.actions>a.action-delete").unbind("click").bind("click",function(e){e.preventDefault();
|
||||
$currentDeleteModal = jQuery(this).closest('.item');
|
||||
//pbInitModalSave
|
||||
jQuery( '<div id="pb-delete-modal-container" />' ).append('Are you sure to delete this?').dialog({
|
||||
closeOnEscape: true,
|
||||
title: 'Confirm',
|
||||
resizable: false,
|
||||
width: 800,
|
||||
modal: true,
|
||||
open: function(event, ui){
|
||||
jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container');
|
||||
jQuery(this).closest('.ui-dialog').find('.ui-dialog-buttonset>.ui-button').first().focus();
|
||||
},
|
||||
close: function(){
|
||||
$currentDeleteModal=false;
|
||||
jQuery('#pb-delete-modal-container').closest('.ui-dialog').remove();
|
||||
jQuery('body>#pb-delete-modal-container').remove();
|
||||
},
|
||||
buttons: {
|
||||
"Yes": function() {
|
||||
$currentDeleteModal.remove();
|
||||
$currentDeleteModal=false;
|
||||
pbSaveData();
|
||||
jQuery(this).dialog("close");
|
||||
},
|
||||
"No": function() {
|
||||
jQuery(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function pbSaveData(){
|
||||
var savingInt=setInterval(function(){
|
||||
if($pbSavingDone){
|
||||
$pbSavingDone=false;
|
||||
clearInterval(savingInt);
|
||||
var item = '';
|
||||
jQuery('#pagebuilder-area>div').each(function(iCont){
|
||||
var $currentContainer=jQuery(this);
|
||||
var $size='';
|
||||
var $classes=$currentContainer.attr('class').split(' ');
|
||||
for(var i=0,len=$classes.length;i<len;i++){
|
||||
if($classes[i].search('size-')!==-1){
|
||||
$size=$classes[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(iCont){item += ',';}
|
||||
item += '"'+iCont+'":{"size":"'+$size+'","items":{';
|
||||
$currentContainer.children('.item').each(function(i){
|
||||
var $currentItem=jQuery(this);
|
||||
if(i){item += ',';}
|
||||
item += '"'+i+'":{"slug":"'+$currentItem.attr('data-slug')+'","size":"' + jQuery('.list>.size-sizer-container>.size',$currentItem).text() + '",';
|
||||
jQuery('.data .general-field-container>.field-item>.field-data>.field',$currentItem).each(function(){
|
||||
var $currentField=jQuery(this);
|
||||
item += '"'+$currentField.attr('data-name')+'":"'+$currentField.val()+'",';
|
||||
}).promise().done(function(){
|
||||
item += '"settings":{';
|
||||
jQuery('.data .custom-field-container>.field-item>.field-data>.field',$currentItem).each(function(index){
|
||||
var $currentField=jQuery(this);
|
||||
if(index){item += ',';}
|
||||
if($currentField.attr('data-type')==='container'){
|
||||
item += '"'+$currentField.attr('data-name')+'":{';
|
||||
$currentField.children('.container-item').each(function(itemIndex){
|
||||
var $currentContainerItem=jQuery(this);
|
||||
if(itemIndex){item += ',';}
|
||||
item += '"'+itemIndex+'":{';
|
||||
jQuery('.content>.field-item>.field-data>.field',$currentContainerItem).each(function(fieldIndex){
|
||||
var $currentContainerItemField = jQuery(this);
|
||||
if(fieldIndex){item += ',';}
|
||||
item += '"'+$currentContainerItemField.attr('data-name')+'":"'+encodeURIComponent($currentContainerItemField.val())+'"';
|
||||
});
|
||||
item += '}';
|
||||
});
|
||||
item += '}';
|
||||
}else{
|
||||
item += '"'+$currentField.attr('data-name')+'":"'+encodeURIComponent($currentField.val())+'"';
|
||||
}
|
||||
}).promise().done(function(){
|
||||
item += '}}';
|
||||
});
|
||||
});
|
||||
}).promise().done(function(){
|
||||
item += '}}';
|
||||
});
|
||||
}).promise().done(function(){
|
||||
// jQuery('textarea#pb_content').val('{'+item+'}');
|
||||
jQuery('textarea#pb_content').val(encodeURIComponent('{'+item+'}'));
|
||||
$pbSavingDone=true;
|
||||
});
|
||||
}
|
||||
},500);
|
||||
}
|
||||
function pbModalInitActions($currentModal){
|
||||
//Font Awesome Actions
|
||||
jQuery('[data-name="fa_icon"]',$currentModal).each(function(){
|
||||
var $currIconField = jQuery(this).closest('.field-item');
|
||||
var $currFa = $currIconField.siblings('.field-item.type-fa').hasClass('type-fa')?$currIconField.siblings('.field-item.type-fa'):$currentModal;
|
||||
var $currFaFields = $currIconField.parent().children('.field-item');
|
||||
//Font Awesome Viewer
|
||||
jQuery('[data-name="fa_icon"]',$currFaFields).unbind('input').bind('input',function(){
|
||||
var $style='display:block; text-align:center; margin: 0 auto;';
|
||||
$style +='font-size:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';';
|
||||
$style +='width:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';';
|
||||
$style +='line-height:' +jQuery('[data-name="fa_size"]', $currFaFields).val()+';';
|
||||
$style +='padding:' +jQuery('[data-name="fa_padding"]', $currFaFields).val()+';';
|
||||
$style +='color:' +jQuery('[data-name="fa_color"]', $currFaFields).val()+';';
|
||||
$style +='border-color:'+jQuery('[data-name="fa_bg_color"]',$currFaFields).val()+';';
|
||||
$style +='border-width:' +jQuery('[data-name="fa_rounded"]', $currFaFields).val()+';';
|
||||
jQuery('.fa-viewer',$currFa).html('<i class="'+jQuery('[data-name="fa_icon"]', $currFaFields).val()+'" style="border-radius: 50%;-moz-border-radius: 50%;-webkit-border-radius: 50%; border-style: solid; '+$style+'"></i>').css('padding',jQuery('[data-name="fa_padding"]',$currFaFields).val());
|
||||
});
|
||||
jQuery('[data-name="fa_icon"]',$currFaFields).trigger('input');
|
||||
//Font Awesome Modal
|
||||
jQuery('.remove-fa',$currFa).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
jQuery('[data-name="fa_size"]', $currFaFields).val('');
|
||||
jQuery('[data-name="fa_padding"]', $currFaFields).val('');
|
||||
jQuery('[data-name="fa_color"]', $currFaFields).val('');
|
||||
jQuery('[data-name="fa_bg_color"]',$currFaFields).val('');
|
||||
jQuery('[data-name="fa_rounded"]', $currFaFields).val('');
|
||||
jQuery('[data-name="fa_icon"]', $currFaFields).val('').trigger('input');
|
||||
});
|
||||
//Font Awesome Modal
|
||||
jQuery('.show-fa-modal',$currFa).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $currentButton=jQuery(this);
|
||||
if($currentButton.not('.loading')){
|
||||
$currentButton.addClass('loading');
|
||||
jQuery.ajax({
|
||||
type: "POST",
|
||||
url: ajaxurl,
|
||||
data: {
|
||||
'action':'get_fontawesome'
|
||||
},
|
||||
success: function(response){
|
||||
if(jQuery(response).hasClass('fontawesome-ajax-data')){
|
||||
jQuery( '<div id="fontawesome_container_dialog" data-current="none" />').append(jQuery(response).html()).dialog({
|
||||
title: 'Font Awesome',
|
||||
resizable: true,
|
||||
width: 800,
|
||||
// height: 500,
|
||||
modal: true,
|
||||
open: function(){
|
||||
jQuery(this).closest('.ui-dialog').addClass('tw-pb-main-container');
|
||||
jQuery(this).closest('.ui-dialog').focus();
|
||||
pbModalSaveField($currFaFields,jQuery(this).find('.general-field-container').children('.field-item'));
|
||||
pbModalInitActions(jQuery(this));
|
||||
pbFaModalInitActions(jQuery(this));
|
||||
},
|
||||
close: function(){
|
||||
jQuery('#fontawesome_container_dialog').closest('.ui-dialog').remove();
|
||||
jQuery('body>#fontawesome_container_dialog').remove();
|
||||
},
|
||||
buttons: {
|
||||
"Insert": function() {
|
||||
pbModalSaveField(jQuery(this).find('.general-field-container').children('.field-item'),$currentButton.closest('.field-item').parent().children('.field-item'));
|
||||
$currentButton.closest('.field-item').parent().find('[data-name="fa_icon"]').trigger('input');
|
||||
jQuery(this).dialog("close");
|
||||
},
|
||||
"Cancel": function() {
|
||||
jQuery(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$currentButton.removeClass('loading');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
//Upload Button Item
|
||||
jQuery('.field-item>.field-data>[data-type="button"]',$currentModal).each(function(){
|
||||
var $currentButton=jQuery(this);
|
||||
var $currentButtonSaveTo=$currentButton.attr('data-save-to');
|
||||
if($currentButtonSaveTo!==''){
|
||||
$currentButton.unbind('click').bind('click',function(){
|
||||
var $currentSaveField = $currentButton.closest('.field-item').siblings('.field-item').find('>.field-data>[data-name="'+$currentButtonSaveTo+'"]',$currentModal);
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
||||
window.send_to_editor = function(html){
|
||||
html = jQuery("<div />").html(html);
|
||||
$currentSaveField.val(jQuery(html).find('img').attr('src'));
|
||||
tb_remove();
|
||||
};
|
||||
tb_show('Upload', $homeURI+'/wp-admin/media-upload.php?post_ID=' + pID + '&type=image&TB_iframe=true',false);
|
||||
jQuery('#TB_overlay').css('z-index','9998');
|
||||
jQuery('#TB_window').css('z-index','9999');
|
||||
});
|
||||
}
|
||||
});
|
||||
//TextEditor Item
|
||||
jQuery('.field-item>.field-data>[data-tinymce="true"]',$currentModal).each(function(){
|
||||
var $currentEditor=jQuery(this);
|
||||
var $currentEditorName=$currentEditor.attr('data-name');
|
||||
pbModalContentEditor($currentEditorName,$currentEditor);
|
||||
$currentContentEditor=$currentEditorName;
|
||||
});
|
||||
//CheckBox Item
|
||||
jQuery('.field-item>.field-data>[data-type="checkbox"]',$currentModal).each(function(){
|
||||
var $currentCheck=jQuery(this);
|
||||
var $currentCheckText=$currentCheck.next('.checkbox-text');
|
||||
$currentCheckText.children('.checkbox-true').unbind('click').bind('click',function(){
|
||||
$currentCheck.attr("value",true).attr("checked",true).change();
|
||||
if($currentCheck.closest('.ui-dialog-content.ui-widget-content').hasClass('accordion')){
|
||||
$currentCheck.closest('.container-item').siblings('.container-item').find('.field-item>.field-data>[data-name="'+$currentCheck.attr('data-name')+'"]').next('.checkbox-text').children('.checkbox-false').click();
|
||||
}
|
||||
});
|
||||
$currentCheckText.children('.checkbox-false').unbind('click').bind('click',function(){
|
||||
$currentCheck.attr("value",false).attr("checked",false).change();
|
||||
});
|
||||
$currentCheck.unbind('change').bind('change',function(){
|
||||
var $checked=$currentCheck.is(':checked');
|
||||
var $styleON={
|
||||
color: '#333333',
|
||||
borderColor: '#bebebe',
|
||||
backgroundColor: '#fff'
|
||||
};
|
||||
var $styleOFF=$styleON;
|
||||
|
||||
if($checked){
|
||||
$currentCheckText.removeClass('checked-false').addClass('checked-true');
|
||||
$styleON={
|
||||
color: '#ffffff',
|
||||
borderColor: '#6395c0',
|
||||
backgroundColor: '#9ed5fe'
|
||||
};
|
||||
}else{
|
||||
$currentCheckText.removeClass('checked-true').addClass('checked-false');
|
||||
$styleOFF={
|
||||
color: '#ffffff',
|
||||
borderColor: '#8f8f8f',
|
||||
backgroundColor: '#a4a4a4'
|
||||
};
|
||||
}
|
||||
$currentCheckText.children('.checkbox-true') .animate($styleON, 300);
|
||||
$currentCheckText.children('.checkbox-false').animate($styleOFF,300);
|
||||
});
|
||||
$currentCheck.change();
|
||||
});
|
||||
//Select Item
|
||||
jQuery('.field-item>.field-data>select',$currentModal).each(function(){
|
||||
var $currentSelect=jQuery(this);
|
||||
var $currentSelectText=$currentSelect.next('.select-text');
|
||||
$currentSelectText.width(pbItemRL($currentSelect)+$currentSelect.width()-pbItemRL($currentSelectText));
|
||||
});
|
||||
jQuery('.field-item>.field-data>select',$currentModal).unbind('change').bind('change',function(){
|
||||
var $currentSelect=jQuery(this);
|
||||
var $currentVal=$currentSelect.val();
|
||||
var $currentSelectText=$currentSelect.next('.select-text');
|
||||
var $currentSelectOption=$currentSelect.find('option[value="'+$currentVal+'"]');
|
||||
var $currentHideArray= $currentSelectOption.attr('hide')?$currentSelectOption.attr('hide').split(','):[""];
|
||||
$currentSelectOption.attr('selected','selected').siblings().removeAttr('selected');
|
||||
if($currentHideArray[0]!==''){
|
||||
$currentSelect.closest('.field-item').parent().children('.field-item.hide-for-select').removeClass('hide-for-select').show();
|
||||
for(var i = 0, length=$currentHideArray.length ; i<length; i++){
|
||||
if($currentHideArray[i]==='fa'){
|
||||
$currentSelect.closest('.field-item').siblings('.field-item.type-fa').addClass('hide-for-select').hide();
|
||||
}else{
|
||||
$currentSelect.closest('.field-item').siblings('.field-item').find('>.field-data>[data-name="'+$currentHideArray[i]+'"]').closest('.field-item').addClass('hide-for-select').hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
$currentSelectText.text($currentSelectOption.text());
|
||||
if($currentSelect.attr('id')==='style_shortcode'&&$currentVal!=='none'){
|
||||
$currentSelect.children('option[value="none"]').attr('selected','selected').siblings().removeAttr('selected');
|
||||
twGetShortcode($currentVal);
|
||||
}
|
||||
});
|
||||
jQuery('.field-item>.field-data>select',$currentModal).change();
|
||||
//Color Picker Item
|
||||
jQuery('.field-item>.field-data>[data-type="color"]',$currentModal).each(function(){
|
||||
var $currentInput=jQuery(this);
|
||||
jQuery($currentInput.siblings(".color-info")).ColorPicker({
|
||||
onShow: function (colpkr) {
|
||||
jQuery(colpkr).find('.colorpicker_hex>input').val($currentInput.val().replace('#','')).change();
|
||||
jQuery(colpkr).fadeIn(500);
|
||||
return false;
|
||||
},
|
||||
onHide: function (colpkr) {
|
||||
jQuery(colpkr).fadeOut(500);
|
||||
return false;
|
||||
},
|
||||
onChange: function (hsb, hex, rgb, el) {
|
||||
$currentInput.siblings('.color-info').css('background-color','#' + hex);
|
||||
$currentInput.val('#' + hex).change().trigger('input');
|
||||
}
|
||||
});
|
||||
$currentInput.unbind('input change').bind('input change',function(){
|
||||
if(jQuery(this).val()===''){jQuery(this).val(' ');}
|
||||
$currentInput.siblings('.color-info').css('background-color',jQuery(this).val());
|
||||
});
|
||||
jQuery(this).change();
|
||||
});
|
||||
//Container Item
|
||||
jQuery('.field-item>.field-data>[data-type="container"]',$currentModal).each(function(){
|
||||
var $currentContainer = jQuery(this);
|
||||
jQuery('.field-item>.field-data>[data-name="'+$currentContainer.attr('data-add-button')+'"]',$currentModal).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $currentButton=jQuery(this);
|
||||
var $newElement = $currentButton.next('.data').find('[data-type="container"]');
|
||||
if($currentContainer.attr('data-container-type')==='toggle'){
|
||||
$currentContainer.append($newElement.html());
|
||||
pbModalInitActions($currentModal);
|
||||
}else{
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
||||
window.send_to_editor = function(html){
|
||||
html = jQuery("<div />").html(html);
|
||||
jQuery(html).find('img').each(function(){
|
||||
$newElement.find('.image-src').attr('src',jQuery(this).attr('src'));
|
||||
$newElement.find('[data-name="'+$newElement.attr('data-title-as')+'"]').attr('value',jQuery(this).attr('src'));
|
||||
$currentContainer.append($newElement.html());
|
||||
}).promise().done(function(){
|
||||
tb_remove();
|
||||
pbModalInitActions($currentModal);
|
||||
});
|
||||
};
|
||||
tb_show('Upload', $homeURI+'/wp-admin/media-upload.php?post_ID=' + pID + '&type=image&TB_iframe=true',false);
|
||||
jQuery('#TB_overlay').css('z-index','9998');
|
||||
jQuery('#TB_window').css('z-index','9999');
|
||||
}
|
||||
});
|
||||
if($currentContainer.attr('data-container-type')==='toggle'){
|
||||
jQuery('.container-item>.content>.field-item>.field-data>[data-name="'+$currentContainer.attr('data-title-as')+'"]',$currentContainer).each(function(){
|
||||
var $currentChanger=jQuery(this);
|
||||
var $currentChangerType=$currentChanger.attr('data-type');
|
||||
if($currentChangerType==='select'){
|
||||
$currentChanger.bind('change',function(){
|
||||
$currentChanger.closest('.container-item').children('.list').children('.name').text($currentChanger.val());
|
||||
});
|
||||
$currentChanger.change();
|
||||
}else{
|
||||
$currentChanger.unbind('input').bind('input',function(e){e.preventDefault();
|
||||
$currentChanger.closest('.container-item').children('.list').children('.name').text($currentChanger.val());
|
||||
});
|
||||
$currentChanger.trigger('input');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
jQuery('.container-item>.list',$currentModal).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $containerItem = jQuery(this).closest('.container-item');
|
||||
if($containerItem.closest('.container').attr('data-container-type')==='toggle'){
|
||||
if($containerItem.hasClass('expanded')){
|
||||
jQuery(this).next('.content').slideUp("normal", function(){$containerItem.removeClass('expanded');});
|
||||
}else{
|
||||
jQuery(this).next('.content').slideDown("normal", function(){$containerItem.addClass('expanded');});
|
||||
}
|
||||
}
|
||||
});
|
||||
jQuery('.container-item>.list>.actions>.action-delete',$currentModal).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
jQuery(this).closest('.container-item').remove();
|
||||
});
|
||||
jQuery('.container-item>.list>.actions>.action-duplicate',$currentModal).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $parent = jQuery(this).closest('.container-item');
|
||||
|
||||
var $newItem = $parent.clone().addClass('hidded').css('display','none');
|
||||
$parent.after($newItem).promise().done(function(){
|
||||
$newItem.removeClass('hidded').fadeIn('slow').promise().done(function(){
|
||||
pbModalInitActions($currentModal);
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
jQuery('.field-item>.field-data>[data-type="container"]',$currentModal).sortable({placeholder: 'container-item placeholding'});
|
||||
//Category Item
|
||||
function catReseter($currentCategorySelector, $currentSaveTo){
|
||||
var $currentCategoryList = $currentCategorySelector.siblings('.category-list-container');
|
||||
var $currentSaveToArray=$currentSaveTo.val().split(',');
|
||||
$currentCategorySelector.find('option').show();
|
||||
$currentCategoryList.html('');
|
||||
for (var i = 0, length=$currentSaveToArray.length ; i<length; i++){
|
||||
if($currentSaveToArray[i]!==''){
|
||||
$currentCategoryList.append('<div class="category-list-item clearfix" data-value="'+$currentSaveToArray[i]+'"><div class="name">'+$currentCategorySelector.find('option[value="'+$currentSaveToArray[i]+'"]').hide().text()+'</div><div class="actions"><a href="#" class="action-delete">X</a></div></div>');
|
||||
}
|
||||
}
|
||||
$currentCategoryList.find(".category-list-item .action-delete").unbind('click').bind('click',function(){
|
||||
var $oldArray=$currentSaveTo.val().split(',');
|
||||
var $newArray=[];
|
||||
var $delValue=jQuery(this).closest(".category-list-item").attr('data-value');
|
||||
jQuery(this).closest(".category-list-item").remove();
|
||||
for (var i = 0, length=$oldArray.length ; i<length; i++){
|
||||
if($oldArray[i]!==$delValue && $oldArray[i]!==''){
|
||||
$newArray.push($oldArray[i]);
|
||||
}
|
||||
}
|
||||
$currentSaveTo.val($newArray.join(','));
|
||||
catReseter($currentCategorySelector, $currentSaveTo)
|
||||
});
|
||||
}
|
||||
jQuery('.field-item>.field-data>[data-type="category"]',$currentModal).each(function(){
|
||||
var $currentCategorySelector = jQuery(this);
|
||||
var $currentCategoryList = $currentCategorySelector.siblings('.category-list-container');
|
||||
var $currentSaveTo = jQuery('.field-item>.field-data>[data-selector="'+$currentCategorySelector.attr('data-name')+'"]',$currentModal);
|
||||
$currentCategorySelector.change(function(){
|
||||
var $val = $currentCategorySelector.val();
|
||||
var $noProblem = true;
|
||||
$currentCategoryList.children(".category-list-item").each(function(){
|
||||
if(jQuery(this).attr('data-value') == $val) {
|
||||
$noProblem = false;
|
||||
}
|
||||
});
|
||||
if($val == 0 || $val == '0'){
|
||||
return false;
|
||||
}else{
|
||||
$currentCategorySelector.children('option[value="0"]').attr('selected','selected').siblings().removeAttr('selected');
|
||||
$currentCategorySelector.change();
|
||||
if($noProblem){
|
||||
var $currentSaveToArray = $currentSaveTo.val().split(',');
|
||||
if($currentSaveToArray.indexOf($val)<0){
|
||||
if($currentSaveToArray[0]===''){
|
||||
$currentSaveToArray[0]=$val;
|
||||
}else{
|
||||
$currentSaveToArray.push($val);
|
||||
}
|
||||
$currentSaveTo.val($currentSaveToArray.join(','));
|
||||
}
|
||||
catReseter($currentCategorySelector,$currentSaveTo);
|
||||
}
|
||||
}
|
||||
});
|
||||
catReseter($currentCategorySelector,$currentSaveTo);
|
||||
});
|
||||
jQuery('textarea',$currentModal).each(function(){
|
||||
var $currTextArea=jQuery(this);
|
||||
$currTextArea.unbind('input').bind('input',function(){$currTextArea.html($currTextArea.val());});
|
||||
});
|
||||
}
|
||||
function pbFaModalInitActions($currentFaModal){
|
||||
jQuery('ul.unstyled>li',$currentFaModal).unbind('click').bind('click',function(e){e.preventDefault();
|
||||
var $iconClass=jQuery(this).children('span').not('.muted');
|
||||
|
||||
jQuery('[data-name="fa_icon"]',$currentFaModal).val($iconClass.text().replace(' ','')).trigger('input');
|
||||
});
|
||||
jQuery('[data-name="fa_size"],[data-name="fa_padding"],[data-name="fa_color"],[data-name="fa_bg_color"],[data-name="fa_rounded"]',$currentFaModal).unbind('input').bind('input',function(){
|
||||
jQuery('[data-name="fa_icon"]',$currentFaModal).trigger('input');
|
||||
});
|
||||
}
|
||||
function pbModalSaveField($from,$to){
|
||||
$from.each(function(){
|
||||
var $currentField = jQuery(this).children('.field-data').children('.field');
|
||||
var $currentFieldSlug = $currentField.attr('data-name');
|
||||
var $currentFieldType = $currentField.attr('data-type');
|
||||
var $currentFieldAddButton= $currentField.attr('data-add-button');
|
||||
var $currentFieldValue = $currentField.val();
|
||||
switch($currentFieldType){
|
||||
case 'select':{
|
||||
jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"] option[value="'+$currentFieldValue+'"]',$to).attr('selected','selected').siblings().removeAttr('selected');
|
||||
break;
|
||||
}
|
||||
case 'textArea':{
|
||||
if($currentField.attr('data-tinyMCE')==='true'){
|
||||
tinyMCE.execCommand('mceAddControl', false, $currentContentEditor);
|
||||
jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).html(tinyMCE.get($currentContentEditor).getContent());
|
||||
}else{
|
||||
jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).html($currentFieldValue);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'container':{
|
||||
var $newContainer = jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to);
|
||||
var $template=jQuery('>.field-data>.field[data-name="'+$currentFieldAddButton+'"]',$from).next('.data').children('.field-item').children('.field-data').children('.field').html();
|
||||
$template = jQuery('<div/>').append($template);
|
||||
$newContainer.html('');
|
||||
$currentField.children('.container-item').each(function(){
|
||||
jQuery(this).find('>.content>.field-item>.field-data>.field').each(function(){
|
||||
var $cField = jQuery(this);
|
||||
var $cFieldSlug = $cField.attr('data-name');
|
||||
var $cFieldType = $cField.attr('data-type');
|
||||
var $cFieldValue = $cField.val();
|
||||
switch($cFieldType){
|
||||
case 'select':{
|
||||
jQuery('.field[data-name="'+$cFieldSlug+'"] option[value="'+$cFieldValue+'"]',$template).attr('selected','selected').siblings().removeAttr('selected');
|
||||
break;
|
||||
}
|
||||
case 'textArea':{
|
||||
jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).html($cFieldValue);
|
||||
break;
|
||||
}
|
||||
case 'checkbox':{
|
||||
jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).attr("value",$cField.is(':checked')).attr("checked",$cField.is(':checked'));
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
jQuery('.field[data-name="'+$cFieldSlug+'"]',$template).attr("value",$cFieldValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
$newContainer.append($template.html());
|
||||
});
|
||||
break;
|
||||
}
|
||||
case 'checkbox':{
|
||||
jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).attr("value",$currentField.is(':checked')).attr("checked",$currentField.is(':checked'));
|
||||
break;
|
||||
}
|
||||
default:{
|
||||
jQuery('>.field-data>.field[data-name="'+$currentFieldSlug+'"]',$to).attr("value",$currentFieldValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function pbModalSave($item){
|
||||
var $saveTo = jQuery('.item.item-modalled');
|
||||
$saveTo.removeClass('item-modalled');
|
||||
pbModalSaveField($item.find('.general-field-container').children('.field-item'),$saveTo.find('.general-field-container').children('.field-item'));
|
||||
pbModalSaveField($item.find('.custom-field-container') .children('.field-item'),$saveTo.find('.custom-field-container') .children('.field-item'));
|
||||
}
|
||||
/* Item Right Left Width */
|
||||
/* ------------------------------------------------------------------- */
|
||||
function pbItemRL($item){
|
||||
$item=jQuery($item);
|
||||
var $itemMarginRL = parseInt($item.css('margin-left') .replace('px','')) + parseInt($item.css('margin-right').replace('px',''));
|
||||
var $itemPaddingRL = parseInt($item.css('padding-left').replace('px','')) + parseInt($item.css('padding-right').replace('px',''));
|
||||
var $itemBorderRL = parseInt($item.css('border-left-width').replace('px','')) + parseInt($item.css('border-right-width').replace('px',''));
|
||||
var $itemRL = $itemMarginRL+$itemPaddingRL+$itemBorderRL;
|
||||
return $itemRL;
|
||||
}
|
||||
/* Content Editor */
|
||||
function pbModalContentEditor($id,$currentEditor){
|
||||
var $language = jQuery('html').attr('lang');
|
||||
var $currentField = $currentEditor.closest('.field-data');
|
||||
$language = $language.substr(0,$language.indexOf('-'));
|
||||
var $wpFullscreenContentCSS=$homeURI+"/wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css";
|
||||
var $newEditorDiv= jQuery('<div />').append($currentEditor.clone().attr('id',$id));
|
||||
$currentEditor.hide().closest('.field-data').append(
|
||||
'<div id="wp-content-editor-tools" class="wp-editor-tools tw-editor-menu hide-if-no-js">'+
|
||||
'<a id="content-tmce" class="change-to-html wp-switch-editor switch-html" onclick="switchEditors.switchto(this);">Text</a>'+
|
||||
'<a id="content-html" class="change-to-visual disabled wp-switch-editor switch-tmce" onclick="switchEditors.switchto(this);">Visual</a>'+
|
||||
'</div>'+
|
||||
'<div id="wp-content-editor-container" class="tw-editor-content">'+
|
||||
$newEditorDiv.html()+
|
||||
'</div>'
|
||||
).promise().done(function(){
|
||||
tinyMCE.init({
|
||||
mode:"exact",
|
||||
width:"100%",
|
||||
theme:"advanced",
|
||||
skin:"wp_theme",
|
||||
language:$language,
|
||||
theme_advanced_toolbar_location:"top",
|
||||
theme_advanced_toolbar_align:"left",
|
||||
theme_advanced_statusbar_location:"bottom",
|
||||
theme_advanced_resizing:true,
|
||||
theme_advanced_resize_horizontal:false,
|
||||
dialog_type:"modal",
|
||||
formats:{
|
||||
alignleft:[{
|
||||
selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',
|
||||
styles:{
|
||||
textAlign:'left'
|
||||
}
|
||||
},{
|
||||
selector:'img,table',
|
||||
classes:'alignleft'
|
||||
}],
|
||||
aligncenter:[{
|
||||
selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',
|
||||
styles:{
|
||||
textAlign:'center'
|
||||
}
|
||||
},{
|
||||
selector:'img,table',
|
||||
classes:'aligncenter'
|
||||
}],
|
||||
alignright:[{
|
||||
selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li',
|
||||
styles:{
|
||||
textAlign:'right'
|
||||
}
|
||||
},{
|
||||
selector:'img,table',
|
||||
classes:'alignright'
|
||||
}],
|
||||
strikethrough:{
|
||||
inline:'del'
|
||||
}
|
||||
},
|
||||
relative_urls:false,
|
||||
remove_script_host:false,
|
||||
convert_urls:false,
|
||||
remove_linebreaks:true,
|
||||
fix_list_elements:true,
|
||||
keep_styles:false,
|
||||
entities:"38,amp,60,lt,62,gt",
|
||||
accessibility_focus:true,
|
||||
media_strict:false,
|
||||
paste_remove_styles:true,
|
||||
paste_remove_spans:true,
|
||||
paste_strip_class_attributes:"all",
|
||||
paste_text_use_dialog:true,
|
||||
webkit_fake_resize:false,
|
||||
schema:"html5",
|
||||
wpeditimage_disable_captions:false,
|
||||
wp_fullscreen_content_css:$wpFullscreenContentCSS,
|
||||
// plugins:"inlinepopups,spellchecker,tabfocus,paste,media,wordpress,wpeditimage,wpgallery,wplink,wpdialogs,-twshortcodegenerator",
|
||||
plugins:"inlinepopups,tabfocus,paste,media,wpeditimage,wpgallery,wplink,wpdialogs,-twshortcodegenerator",
|
||||
elements:$id,
|
||||
wpautop:true,
|
||||
apply_source_formatting:false,
|
||||
theme_advanced_buttons1:"bold,italic,strikethrough,bullist,numlist,blockquote,justifyleft,justifycenter,justifyright,link,unlink,wp_more,wp_fullscreen,wp_adv,|,twshortcodegenerator",
|
||||
theme_advanced_buttons2:"formatselect,underline,justifyfull,forecolor,pastetext,pasteword,removeformat,charmap,outdent,indent,undo,redo,wp_help",
|
||||
theme_advanced_buttons3:"",
|
||||
theme_advanced_buttons4:"",
|
||||
tabfocus_elements:"sample-permalink,post-preview",
|
||||
body_class:"content post-type-page",
|
||||
theme_advanced_resizing_use_cookie:false
|
||||
});
|
||||
jQuery('a.change-to-html',$currentField).unbind('click').bind('click',function() {
|
||||
jQuery(this).addClass('disabled').siblings('a').removeClass('disabled');
|
||||
tinyMCE.execCommand('mceRemoveControl', false, $id);
|
||||
});
|
||||
jQuery('a.change-to-visual',$currentField).unbind('click').bind('click',function() {
|
||||
jQuery(this).addClass('disabled').siblings('a').removeClass('disabled');
|
||||
tinyMCE.execCommand('mceAddControl', false, $id);
|
||||
});
|
||||
});
|
||||
}
|
||||
function twInitSourceDatas($from){
|
||||
jQuery('#pagebuilder-area>div').each(function(i){
|
||||
jQuery(this).html($from.eq(i).html());
|
||||
});
|
||||
}
|
||||
function twSortDragg(){
|
||||
//Sortables
|
||||
jQuery("#pagebuilder-area>div").sortable({
|
||||
placeholder: 'item placeholding',
|
||||
connectWith: "#pagebuilder-area>div",
|
||||
// helper:'original',
|
||||
revert: true,
|
||||
update: function(event, ui){
|
||||
pbSaveData();
|
||||
pbInitEvents();
|
||||
},
|
||||
start: function(event, ui) {
|
||||
var plus;
|
||||
if(ui.item.hasClass('size-1-4')) plus = 'size-1-4';
|
||||
else if(ui.item.hasClass('size-1-3')) plus = 'size-1-3';
|
||||
else if(ui.item.hasClass('size-1-2')) plus = 'size-1-2';
|
||||
else if(ui.item.hasClass('size-2-3')) plus = 'size-2-3';
|
||||
else if(ui.item.hasClass('size-3-4')) plus = 'size-3-4';
|
||||
else if(ui.item.hasClass('size-1-1')) plus = 'size-1-1';
|
||||
else plus = 'size-1-3';
|
||||
ui.placeholder.addClass(plus);
|
||||
}
|
||||
});
|
||||
// Draggable
|
||||
try{
|
||||
jQuery('#pagebuilder-elements-container>.item').draggable({
|
||||
connectToSortable: '#pagebuilder-area>div',
|
||||
helper: 'clone',
|
||||
revert: "invalid"
|
||||
});
|
||||
}catch(err){}
|
||||
}
|
89
wp-content/themes/nuzi/framework/assets/js/post-format.js
Normal file
89
wp-content/themes/nuzi/framework/assets/js/post-format.js
Normal file
@ -0,0 +1,89 @@
|
||||
function showHidePostFormatField(){
|
||||
selectedFrmt=(''+jQuery('#post-formats-select input:radio:checked').val());
|
||||
jQuery('#themewaves_custom_post_format > div').each(function(){
|
||||
if(jQuery(this).hasClass('themewaves_format_'+jQuery('#post-formats-select input:radio:checked').val())){
|
||||
jQuery(this).show('fast');
|
||||
}else{
|
||||
jQuery(this).hide('fast');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
jQuery(document).ready(function(){
|
||||
// active tab
|
||||
showHidePostFormatField();
|
||||
jQuery('#post-formats-select input:radio').change(showHidePostFormatField);
|
||||
|
||||
|
||||
jQuery(".gallery-images").sortable({
|
||||
update: function(event, ui){
|
||||
var newimages = '';
|
||||
jQuery('.gallery-images img').each(function(){
|
||||
newimages += jQuery(this).attr('src')+'""';
|
||||
});
|
||||
jQuery("input#gallery_images").val(newimages);
|
||||
}
|
||||
});
|
||||
deleteGalleryImage();
|
||||
|
||||
});
|
||||
|
||||
function deleteGalleryImage() {
|
||||
var elementId = '.gallery-images';
|
||||
var elementVal = '#gallery_images';
|
||||
jQuery('.gallery-delete').unbind('click').bind('click',function(){
|
||||
var newimages = '';
|
||||
jQuery(this).closest('.gallery-block').fadeOut('slow',function(){
|
||||
jQuery(this).remove();
|
||||
jQuery(elementId+' img').each(function(){
|
||||
newimages += jQuery(this).attr('src')+'""';
|
||||
});
|
||||
jQuery("input"+elementVal).val(newimages);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function browseAudio(id){
|
||||
var elementIdd = id;
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
||||
window.send_to_editor = function(html){
|
||||
if (elementIdd != undefined) {
|
||||
var $audio = jQuery(html).attr('href');
|
||||
jQuery('input[name="'+elementIdd+'"]').val($audio);
|
||||
return;
|
||||
} else {
|
||||
window.original_send_to_editor(html);
|
||||
}
|
||||
elementIdd = undefined;
|
||||
};
|
||||
wp.media.editor.open();
|
||||
}
|
||||
|
||||
function browseMediaGallery(post_id){
|
||||
var elementId = '.gallery-images';
|
||||
var elementVal = '#gallery_images';
|
||||
var pID=post_id;
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
||||
window.send_to_editor = function(html){
|
||||
jQuery(elementVal).parent().find('img').fadeIn();
|
||||
if (elementId != undefined) {
|
||||
html = jQuery("<div />").html(html);
|
||||
jQuery(html).find('img').each(function(){
|
||||
var imgurl = jQuery(this).attr('src');
|
||||
var images = imgurl+'""'+jQuery(elementVal).val();
|
||||
jQuery(elementVal).val(images);
|
||||
jQuery(elementId).prepend('<div class="gallery-block" style="position: relative;"><img src="'+imgurl+'" height="100"/><div class="gallery-delete" style="position: absolute;cursor: pointer;top: 0px;width: 15px;height: 15px;background: red;"></div></div>');
|
||||
deleteGalleryImage();
|
||||
}).promise().done( function(){ jQuery(elementVal).parent().find('img').fadeOut(); } );
|
||||
} else {
|
||||
window.original_send_to_editor(html);
|
||||
}
|
||||
elementId = undefined;
|
||||
};
|
||||
wp.media.editor.open();
|
||||
}
|
||||
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
window.custom_editor = true;
|
Reference in New Issue
Block a user