// Javascript For the types
jQuery(function($){
// ------------------------- GENERICS ------------------------
/**
* Simple select
*/
$('.wpdreamsSelect .wpdreamsselect').change(function () {
_self.hidden = $(this).next();
var selhidden = $(this).next().next();
var val = $(_self.hidden).val().match(/(.*[\S\s]*?)\|\|(.*)/);
var options = val[1];
var selected = val[2];
$(_self.hidden).val(options + "||" + $(this).val());
selhidden.val($(this).val());
});
$('.wpdreamsSelect .triggerer').bind('click', function () {
var parent = $(this).parent();
var select = $('select', parent);
var hidden = select.next();
var selhidden = hidden.next();
var val = $(hidden).val().replace(/(\r\n|\n|\r)/gm, "").match(/(.*[\S\s]*?)\|\|(.*)/);
var selected = $.trim(val[2]);
select.val(selected);
selhidden.val(selected);
});
/**
* Textarea as parameter
*/
$('.wpdreamsTextareaIsParam .triggerer').bind('click', function () {
$('textarea', $(this).parent()).change();
});
/**
* OnOff button
*/
$('.wpdreamsOnOff .wpdreamsOnOffInner').on('click', function () {
var hidden = $(this).prev();
var val = $(hidden).val();
if (val == 1) {
val = 0;
$(this).parent().removeClass("active");
} else {
val = 1;
$(this).parent().addClass("active");
}
$(hidden).val(val);
$(hidden).change();
});
$('.wpdreamsOnOff .triggerer').on('click', function () {
var hidden = $('input[type=hidden]', $(this).parent());
var div = $(this).parent();
var val = $(hidden).val();
if (val == 0) {
div.removeClass("active");
} else {
div.addClass("active");
}
});
/**
* YesNo button
*/
$('.wpdreamsYesNo .wpdreamsYesNoInner').on('click', function () {
var hidden = $(this).prev();
var val = $(hidden).val();
if (val == 1) {
val = 0;
$(this).parent().removeClass("active");
} else {
val = 1;
$(this).parent().addClass("active");
}
$(hidden).val(val);
$(hidden).change();
});
$('.wpdreamsYesNo .triggerer').on('click', function () {
var hidden = $('input[type=hidden]', $(this).parent());
var div = $(this).parent();
var val = $(hidden).val();
if (val == 0) {
div.removeClass("active");
} else {
div.addClass("active");
}
$(hidden).change();
});
/**
* Up-down arrow
*/
$('.wpdreams-updown .wpdreams-uparrow').click(function () {
var prev = $(this).parent().prev();
while (!prev.is('input')) {
prev = prev.prev();
}
prev.val(parseFloat($(prev).val()) + 1);
prev.change();
});
$('.wpdreams-updown .wpdreams-downarrow').click(function () {
var prev = $(this).parent().prev();
while (!prev.is('input')) {
prev = prev.prev();
}
prev.val(parseFloat($(prev).val()) - 1);
prev.change();
});
/**
* 4 value storage (padding, margin etc..)
*/
$('.wpdreamsFour input[type=text]').change(function () {
var value = "";
$('input[type=text]', $(this).parent()).each(function () {
value += $(this).val() + "||";
});
$('input[isparam=1]', $(this).parent()).val("||" + value);
$('input[isparam=1]', $(this).parent()).change();
});
$('.wpdreamsFour>fieldset>.triggerer').bind('click', function () {
var hidden = $("input[isparam=1]", $(this).parent());
var values = hidden.val().match(/\|\|(.*?)\|\|(.*?)\|\|(.*?)\|\|(.*?)\|\|/);
var i = 1;
$('input[type=text]', $(this).parent()).each(function () {
if ($(this).attr('name') != null) {
$(this).val(values[i]);
i++;
}
});
hidden.change();
});
/**
* DatePicker
*/
$('.wpdreamsDatePicker input').datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
changeYear: true
});
// --------------------- COMPLEX TYPES -----------------------
/**
* Array-chained select
*/
$('.wpdreamsCustomArraySelect select').change(function () {
var $hidden = $('input[isparam=1]', $(this).parent());
var valArr = [];
$('select', $(this).parent()).each(function(index){
valArr.push( $(this).val() );
});
$hidden.val( valArr.join('||') );
});
/**
* Category selector
*/
$('div.wpdreamsCategories').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCategories-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsCategories')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('bid');
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
$('div.wpdreamsSortable').each(function(){
var id = $(this).attr('id').match(/^wpdreamsSortable-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
}, {
update: function (event, ui) {
var parent = $(ui.item).parent();
while (!parent.hasClass('wpdreamsSortable')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).html();
});
val = val.substring(1);
hidden.val(val);
}
}).disableSelection();
});
$('div.wpdreamsTaxonomySelect').each(function(){
var id = $(this).attr('id').match(/^wpdreamsTaxonomySelect-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsTaxonomySelect')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('taxonomy');
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Date interval selector
*/
$('div.wd_DateInterval').each(function() {
var hidden = $('input[isparam=1]', this);
var val = hidden.val();
var $this = $(this);
var o = {
"mode": $("select.wd_di_mode", $this),
"from": $("select.wd_di_from", $this),
"to": $("select.wd_di_to", $this),
"fromDate": $("input.wd_di_fromDate", $this),
"toDate": $("input.wd_di_toDate", $this),
"fromyy": $("input.wd_di_fromyy", $this),
"frommm": $("input.wd_di_frommm", $this),
"fromdd": $("input.wd_di_fromdd", $this),
"toyy": $("input.wd_di_toyy", $this),
"tomm": $("input.wd_di_tomm", $this),
"todd": $("input.wd_di_todd", $this)
}
function showHideOptions() {
if (o.from.val() == "date") {
$(".wd_di_fromreld", $this).addClass("hiddend");
o.fromDate.removeClass("hiddend");
} else if (o.from.val() == "rel_date") {
$(".wd_di_fromreld", $this).removeClass("hiddend");
o.fromDate.addClass("hiddend");
} else {
$(".wd_di_fromreld", $this).add(o.fromDate).addClass("hiddend");
}
if (o.to.val() == "date") {
$(".wd_di_toreld", $this).addClass("hiddend");
o.toDate.removeClass("hiddend");
} else if (o.to.val() == "rel_date") {
$(".wd_di_toreld", $this).removeClass("hiddend");
o.toDate.addClass("hiddend");
} else {
$(".wd_di_toreld", $this).add(o.toDate).addClass("hiddend");
}
}
function init() {
var vals = val.split("|");
var from = vals[5].split(",");
var to = vals[6].split(",");
o.mode.val(vals[0]);
o.from.val(vals[1]);
o.to.val(vals[2]);
o.fromDate.val(vals[3]);
o.toDate.val(vals[4]);
o.fromyy.val(from[0]);
o.frommm.val(from[1]);
o.fromdd.val(from[2]);
o.toyy.val(to[0]);
o.tomm.val(to[1]);
o.todd.val(to[2]);
o.fromDate.datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
changeYear: true,
onSelect: parseParams
});
o.toDate.datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
changeYear: true,
onSelect: parseParams
});
showHideOptions();
}
function parseParams() {
var res = o.mode.val() + "|" + o.from.val() + "|" + o.to.val();
res += "|" + o.fromDate.val() + "|" + o.toDate.val();
res += "|" + ( o.fromyy.val() == "" ? 0 : o.fromyy.val() );
res += "," + ( o.frommm.val() == "" ? 0 : o.frommm.val() );
res += "," + ( o.fromdd.val() == "" ? 0 : o.fromdd.val() );
res += "|" + ( o.toyy.val() == "" ? 0 : o.toyy.val() );
res += "," + ( o.tomm.val() == "" ? 0 : o.tomm.val() );
res += "," + ( o.todd.val() == "" ? 0 : o.todd.val() );
hidden.val(res);
showHideOptions();
}
init();
$("input", $this).on("keyup", function(){
parseParams();
});
$("select", $this).on("change", function(){
parseParams();
});
});
/**
* Date interval selector
*/
$('div.wd_DateFilter').each(function() {
var hidden = $('input[isparam=1]', this);
var val = hidden.val();
var $this = $(this);
var o = {
"state": $("select.wd_di_state", $this),
"date": $("input.wd_di_date", $this),
"yy": $("input.wd_di_yy", $this),
"mm": $("input.wd_di_mm", $this),
"dd": $("input.wd_di_dd", $this)
}
function showHideOptions() {
if (o.state.val() == "date") {
$(".wd_di_rel_date", $this).addClass("hiddend");
o.date.removeClass("hiddend");
} else if (o.state.val() == "rel_date") {
$(".wd_di_rel_date", $this).removeClass("hiddend");
o.date.addClass("hiddend");
} else {
$(".wd_di_rel_date", $this).add(o.date).addClass("hiddend");
}
}
function init() {
var vals = val.split("|");
var rel_date = vals[2].split(",");
o.state.val(vals[0]);
o.date.val(vals[1]);
o.yy.val(rel_date[0]);
o.mm.val(rel_date[1]);
o.dd.val(rel_date[2]);
o.date.datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
changeYear: true,
onSelect: parseParams
});
showHideOptions();
}
function parseParams() {
var res = o.state.val() + "|" + o.date.val();
res += "|" + ( o.yy.val() == "" ? 0 : o.yy.val() );
res += "," + ( o.mm.val() == "" ? 0 : o.mm.val() );
res += "," + ( o.dd.val() == "" ? 0 : o.dd.val() );
hidden.val(res);
showHideOptions();
}
init();
$("input", $this).on("keyup", function(){
parseParams();
});
$("select", $this).on("change", function(){
parseParams();
});
});
/**
* Tag search and select
*/
$('div.wpdreamsSearchTags').each(function() {
function parseParams( $el ) {
var tags = [];
$(".wd_tagSelectContent .wd_tag", $el).each(function(){
tags.push($(this).attr("tagid"));
});
return tags.join("|");
}
function refreshResults( $el ) {
$(".wd_tagSearchResults:not(.hiddend) p span", $el).each(function() {
if ( $(".wd_tagSelectContent:not(.hiddend) span.wd_tag[tagid=" + $(this).attr("termid") + "]", $this).length == 0 ) {
$(this).addClass("not_listed_yo");
} else {
$(this).removeClass("not_listed_yo");
}
});
}
var hidden = $('input[isparam=1]', this);
var $this = $(this);
var t = null;
var post = null;
$(".wd_tagSelSearch input", $this).on("keyup", function(){
var phrase = $(this).val();
var $inp = $(this);
var $loader = $(".loading-small", $inp.parent());
var $x = $(".wd_ts_close", $inp.parent());
clearTimeout(t);
if (post != null)
post.abort();
if (phrase == "") {
$loader.addClass('hiddend');
$(".wd_tagSelSearch .wd_ts_close", $this).click();
return;
}
t = setTimeout(function(){
$loader.removeClass('hiddend');
$x.removeClass('hiddend');
var data = {
'action': 'wd_search_tags',
'wd_tag_phrase': phrase,
'wd_required': 1
};
post = $.post(ajaxurl, data, function(response) {
response = response.replace(/^\s*[\r\n]/gm, "");
response = response.match(/!!WDSTART!!(.*[\s\S]*)!!WDEND!!/)[1];
if (response != "") {
$(".wd_tagSearchResults:not(.hiddend)", $this).html(response);
}
refreshResults($this);
$loader.addClass('hiddend');
}, 'text');
}, 150);
});
$(".wd_tagSelSearch .wd_ts_close", $this).on("click", function(){
if (post != null)
post.abort();
$(".wd_tagSelSearch input", $this).val("");
$(".wd_tagSearchResults:not(.hiddend)", $this).html("");
$(".wd_ts_close", $this).addClass('hiddend');
$(".loading-small", $this).addClass('hiddend');
});
$(".wd_tagSearchResults:not(.hiddend)", $this).on("click", "span.not_listed_yo", function() {
$("" + $(this).parent().text().replace(">>ADD", "") + "")
.appendTo( $(".wd_tagSelectContent:not(.hiddend)", $this) );
//check exists
refreshResults($this);
hidden.val(parseParams($this));
});
/* Tag remove */
$(".wd_tagSelectContent", $this).on("click", "span.wd_tag a", function() {
if ( $(this).hasClass("wd_tag_remove") ) {
// In case of clicking the remove item
$(this).parent().remove();
refreshResults($this);
}
hidden.val(parseParams($this));
});
});
/**
* Tag selector
*/
$('div.wpdreamsSelectTags').each(function(){
function parseParams( $el ) {
var active = $(".wpdreamsYesNoSt", $el).hasClass("active") ? 1 : 0;
var source = $(".wd_tagSelectSource", $el).val();
var dmode = $(".wd_tagDisplayMode", $el).val();
var tags = [];
var selTags = [];
var defTag = "";
var allStatus = $("select.wd_tagAllStatus", $el).val();
$(".wd_tagSelectContent.ts_selected .wd_tag", $el).each(function(){
tags.push($(this).attr("tagid"));
if ( $("a.wd_tag_checked", $(this)).length > 0 )
selTags.push($(this).attr("tagid"));
});
$(".wd_tagSelectContent.ts_all .wd_tag", $el).each(function(){
defTag = $(this).attr("tagid");
});
return active + "|" + dmode + "|" + source+ "|" + allStatus + "|" + tags.join(",") + "|" + selTags.join(",") + "|" + defTag;
}
function showHideStuff( $el ) {
var vals = hidden.val().split("|");
$(".showif_c", $el).each(function(){
var rules = $(this).attr("showif").split("|");
for (var i=0;i -1) && (rules[i].indexOf(vals[2]) > -1) ) {
$(this).removeClass("hiddend");
break;
} else {
$(this).addClass("hiddend");
}
}
});
}
function refreshResults( $el ) {
$(".wd_tagSearchResults:not(.hiddend) p span", $el).each(function() {
if ( $(".wd_tagSelectContent:not(.hiddend) span.wd_tag[tagid=" + $(this).attr("termid") + "]", $this).length == 0 ) {
$(this).addClass("not_listed_yo");
} else {
$(this).removeClass("not_listed_yo");
}
});
}
var $this = $(this);
var id = $(this).attr('id').match(/^wpdreamsSelectTags-(.*)/)[1];
//var selector = "#sortable" + id +", #sortable_conn" + id;
var hidden = $('input[isparam=1]', this);
$(".wd_tagSelectContent", $this).sortable({
items: ".wd_tag",
update: function( event, ui ) {
hidden.val(parseParams($this));
}
});
$(".wpdreamsYesNoSt", $this).on("click", function(){
$(this).toggleClass("active");
hidden.val(parseParams($this));
showHideStuff();
});
$(".wd_tagSelectSource", $this).on("change", function(){
hidden.val(parseParams($this));
showHideStuff();
refreshResults($this);
});
$(".wd_tagDisplayMode", $this).on("change", function(){
hidden.val(parseParams($this));
showHideStuff();
refreshResults($this);
});
$("select.wd_tagAllStatus", $this).on("change", function(){
hidden.val(parseParams($this));
showHideStuff();
refreshResults($this);
});
var t = null;
var post = null;
$(".wd_tagSelSearch input", $this).on("keyup", function(){
var phrase = $(this).val();
var $inp = $(this);
var $loader = $(".loading-small", $inp.parent());
var $x = $(".wd_ts_close", $inp.parent());
clearTimeout(t);
if (post != null)
post.abort();
if (phrase == "") {
$loader.addClass('hiddend');
$(".wd_tagSelSearch .wd_ts_close", $this).click();
return;
}
t = setTimeout(function(){
$loader.removeClass('hiddend');
$x.removeClass('hiddend');
var data = {
'action': 'wd_search_tag',
'wd_tag_phrase': phrase,
'wd_required': 1
};
post = $.post(ajaxurl, data, function(response) {
response = response.replace(/^\s*[\r\n]/gm, "");
response = response.match(/!!WDSTART!!(.*[\s\S]*)!!WDEND!!/)[1];
if (response != "") {
$(".wd_tagSearchResults:not(.hiddend)", $this).html(response);
}
refreshResults($this);
$loader.addClass('hiddend');
}, 'text');
}, 150);
});
$(".wd_tagSelSearch .wd_ts_close", $this).on("click", function(){
if (post != null)
post.abort();
$(".wd_tagSelSearch input", $this).val("");
$(".wd_tagSearchResults:not(.hiddend)", $this).html("");
$(".wd_ts_close", $this).addClass('hiddend');
$(".loading-small", $this).addClass('hiddend');
});
$(".wd_tagSearchResults:not(.hiddend)", $this).on("click", "span.not_listed_yo", function() {
var oneTagOnly = $(".wd_tagSelectContent:not(.hiddend)", $this).hasClass("ts_all");
if ( oneTagOnly ) {
$(".wd_tagSelectContent:not(.hiddend)", $this).html(
("" + $(this).parent().text().replace(">>USE", "") + "")
);
} else {
$("" + $(this).parent().text().replace(">>USE", "") + "")
.appendTo( $(".wd_tagSelectContent:not(.hiddend)", $this) );
}
//check exists
refreshResults($this);
hidden.val(parseParams($this));
});
/* Tag remove */
$(".wd_tagSelectContent", $this).on("click", "span.wd_tag a", function() {
if ( $(this).hasClass("wd_tag_remove") ) {
// In case of clicking the remove item
$(this).parent().remove();
refreshResults($this);
} else {
// In case if clicking the tick
if ( $(this).hasClass("wd_tag_checked") ) {
$(this).removeClass("wd_tag_checked");
$(this).addClass("wd_tag_unchecked")
} else {
$(this).addClass("wd_tag_checked");
$(this).removeClass("wd_tag_unchecked")
}
}
hidden.val(parseParams($this));
});
});
/**
* BuddyPress XProfile fields selector
*/
$('div.wpdreamsBP_XProfileFields').each(function(){
var id = $(this).attr('id').match(/^wpdreamsBP_XProfileFields-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsBP_XProfileFields')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('bid');
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Draggable selector
*/
$('div.wpdreamsDraggable').each(function(){
var id = $(this).attr('id').match(/^wpdreamsDraggable-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsDraggable')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('key');
});
val = val.substring(1);
hidden.val(val);
});
});
/**
* User role select
*/
$('div.wpdreamsUserRoleSelect').each(function(){
var id = $(this).attr('id').match(/^wpdreamsUserRoleSelect-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsUserRoleSelect')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' +name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).html();
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id)
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Custom Post types
*/
$('div.wpdreamsCustomPostTypes').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomPostTypes-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var parent = $(this);
while (!parent.hasClass('wpdreamsCustomPostTypes')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[isparam=1]', this);
function parse_val() {
var val = [];
// Items need to be re-parsed!
var items = $('ul[id*=sortable_conn] li', parent);
items.each(function () {
val.push($(this).data('ptype'));
});
hidden.val("_decode_" + Base64.encode(JSON.stringify(val)));
}
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
parse_val();
}
}).disableSelection();
});
/**
* Custom Post types, built in version
*/
$('div.wpdreamsCustomPostTypesAll').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomPostTypesAll-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsCustomPostTypesAll')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).html();
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Custom post types, editable version
*/
$('div.wpdreamsCustomPostTypesEditable').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomPostTypesEditable-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).keyup(function () {
var parent = $(this).parent();
while (!parent.hasClass('wpdreamsCustomPostTypesEditable')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $('label', this).html() + ";" + $('input', this).val();
});
val = val.substring(1);
hidden.val(val);
});
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
$("#sortable_conn" + id + " li input").keyup(function () {
var parent = $(this).parent();
while (!parent.hasClass('wpdreamsCustomPostTypesEditable')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $('label', this).html() + ";" + $('input', this).val();
});
val = val.substring(1);
hidden.val(val);
});
if ($("#sortable_conn" + id + " li input").length != 0) {
$("#sortable_conn" + id + " li input").keyup();
} else {
$("#sortable_conn" + id).each(function () {
var parent = $(this).parent();
while (!parent.hasClass('wpdreamsCustomPostTypesEditable')) {
parent = $(parent).parent();
}
var hidden = $('input[name=' + name + ']', parent);
hidden.val("");
});
}
}
});
});
/**
* Custom field selectors
*/
window.wd_cf_ajax_callback = function(r, $node, o, parent) {
var $cf_parent = $node.closest('.wpdreamsCustomFields');
var $drg = $(".draggablecontainer ul", $cf_parent);
var id = $cf_parent.attr('id').match(/^wpdreamsCustomFields-(.*)/)[1];
var html = '';
var drag_opts = {
connectToSortable: "#sortable_conn" + id,
update: function (event, ui) {},
cancel: ".ui-state-disabled",
helper: "clone",
items: "> li"
};
if ( r.length > 0 ) {
$.each(r, function(i, v) {
html += ''+v.meta_key+'';
});
$drg.html(html);
$("#sortable" + id + " li").draggable(drag_opts).disableSelection();
$("#sortable" + id + " li").trigger('sortupdate');
$("#sortable_conn" + id).trigger('sortupdate');
} else {
$drg.html('No results for this phrase.');
}
}
$('div.wpdreamsCustomFields').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomFields-(.*)/)[1];
var name = $('input[isparam=1]', this).attr('name');
var parent = $(this);
var hidden = $('input[isparam=1]', this);
function list_update() {
$("#sortable" + id + " li").removeClass("ui-state-disabled");
$('ul[id*=sortable_conn] li', parent).each(function (i, v) {
$("#sortable" + id + " li[cf_name='"+$(this).attr('cf_name')+"']").addClass("ui-state-disabled");
});
}
function data_update() {
var items = $("#sortable_conn" + id + " li")
var val = "";
items.each(function () {
val += "|" + $(this).attr('cf_name');
});
val = val.substring(1);
hidden.val(val);
}
$("#sortable_conn" + id).sortable({
update: function (event, ui) {
var $item = $(ui.item);
$item.css({
"width": "",
"height": ""
});
list_update();
data_update();
},
items: "> li",
cancel: ".ui-state-disabled",
remove: function(event, ui) {}
}).disableSelection();
$("#sortable_conn" + id).on('sortupdate', function(event, ui) {
list_update();
data_update();
});
$("#sortable_conn" + id).on( "click", "li a.deleteIcon", function(e){
e.preventDefault();
$(this).parent().detach();
list_update();
data_update();
});
$("#draggablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li").detach();
$("#sortable_conn" + id).trigger('sortupdate');
});
$("#draggablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend):not(.ui-state-disabled)").clone().appendTo("#sortable_conn" + id);
$("#sortable_conn" + id).trigger('sortupdate');
});
});
/**
* Term Meta selectors
*/
$('div.wwpdreamsTermMeta').each(function(){
var id = $(this).attr('id').match(/^wpdreamsTermMeta-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsTermMeta')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).html();
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id)
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Page parent selector
*/
$('div.wpdreamsPageParents').each(function(){
var id = $(this).attr('id').match(/^wpdreamsPageParents-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsPageParents')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('bid');
});
val = val.substring(1);
hidden.val(val);
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id)
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Taxonomy term selector
*/
$('div.wpdreamsCustomTaxonomyTerm').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomTaxonomyTerm-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$("#taxonomy_selector_" + id).change(function () {
var taxonomy = $(this).val();
$("li", "#sortable" + id).css('display', 'none').addClass('hiddend');
$("li[taxonomy='" + taxonomy + "']", "#sortable" + id).css('display', 'block').removeClass('hiddend');
});
$("#taxonomy_selector_" + id).change();
$(selector).on('sortupdate', function(event, ui) {
if (typeof(ui)!='undefined')
var parent = $(ui.item).parent();
else
var parent = $(event.target);
while (!parent.hasClass('wpdreamsCustomTaxonomyTerm')) {
parent = $(parent).parent();
}
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
items.each(function () {
val += "|" + $(this).attr('term_id') + "-" + $(this).attr('taxonomy');
});
val = val.substring(1);
hidden.val(val);
});
$("#wpdreamsCustomTaxonomyTerm-" + id + " .hide-children").change(function(){
if ($(this).get(0).checked)
$("#sortablecontainer" + id + " li").filter(':not(.termlevel-0)').css('display', 'none');
else
$("#sortablecontainer" + id + " li").filter(':not(.termlevel-0)').css('display', 'block');
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
});
/**
* Taxonomy term selector with checkboxes
*/
$('div.wpdreamsCustomTaxonomyTermSel').each(function(){
var id = $(this).attr('id').match(/^wpdreamsCustomTaxonomyTermSel-(.*)/)[1];
var selector = "#sortable" + id +", #sortable_conn" + id;
var name = $('input[isparam=1]', this).attr('name');
var parent = $(this);
function tt_s_update( parent ) {
var items = $('ul[id*=sortable_conn] li', parent);
var hidden = $('input[name=' + name + ']', parent);
var val = "";
var checked = [];
items.each(function () {
val += "|" + $(this).attr('term_id') + "-" + $(this).attr('taxonomy');
var $checked = $("input:checkbox:not(:checked)", $(this));
if ( $checked.length > 0)
checked.push( $checked.val() );
});
val = val.substring(1) + "|-|" + checked.join("|");
hidden.val(val);
}
$(selector).sortable({
connectWith: ".connectedSortable"
}, {
update: function (event, ui) {
}
}).disableSelection();
$("#taxonomy_selector_" + id).change(function () {
var taxonomy = $(this).val();
$("li", "#sortable" + id).css('display', 'none').addClass('hiddend');
$("li[taxonomy='" + taxonomy + "']", "#sortable" + id).css('display', 'block').removeClass('hiddend');
});
$("#taxonomy_selector_" + id).change();
$(selector).on('sortupdate', function(event, ui) {
tt_s_update( parent );
});
$("#wpdreamsCustomTaxonomyTermSel-" + id + " .hide-children").change(function(){
if ($(this).get(0).checked)
$("#sortablecontainer" + id + " li").filter(':not(.termlevel-0)').css('display', 'none');
else
$("#sortablecontainer" + id + " li").filter(':not(.termlevel-0)').css('display', 'block');
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-left").click(function(){
$("#sortable_conn" + id + " li")
.detach().appendTo("#sortable" + id + "");
$(selector).trigger("sortupdate");
});
$("#sortablecontainer" + id + " .arrow-all-right").click(function(){
$("#sortable" + id + " li:not(.hiddend)")
.detach().appendTo("#sortable_conn" + id);
$(selector).trigger("sortupdate");
});
$("#sortable_conn" + id +" li input").change(function(){
tt_s_update( parent );
})
});
$('div.wd_cf_search').each(function() {
var timeout = null;
var parent = this;
var id = $(this).attr('id').match(/^wd_cf_search-(.*)/)[1];
$("input.wd_cf_search", parent).keyup(function () {
var $this = $(this);
clearTimeout(timeout);
if ( $this.val() == '' ) {
$('.wd_ts_close', parent).addClass("hiddend");
$('.loading-small', parent).addClass("hiddend");
return;
}
timeout = setTimeout(function () {
$('.loading-small', parent).removeClass("hiddend");
$('.wd_ts_close', parent).addClass("hiddend");
var data = {
'action': 'wd_search_cf',
'wd_phrase': $this.val(),
'wd_required': 1,
'wd_args': $("input.wd_args", parent).val()
};
$.post(ajaxurl, data, function (response) {
var o = JSON.parse(Base64.decode($("input.wd_args", parent).val()));
var reg = new RegExp(o.delimiter +'(.*[\s\S]*)'+ o.delimiter);
var data_r = response.match(reg);
data_r = JSON.parse(data_r[1]);
if ( typeof o.callback != 'undefined' && o.callback != '' ) {
if ( typeof window[o.callback] != 'undefined' )
window[o.callback].apply(null, [data_r, $this, o, parent, id]);
} else {
var html = '';
$.each(data_r, function(i, v){
html += '' + v.meta_key + '';
});
if ( html != '')
$('.wd_cf_search_res', parent).html('');
else
$('.wd_cf_search_res', parent).html('No results :(
');
$('.wd_cf_search_res', parent).css({
left: $this.position().left,
top: $this.position().top + $this.outerHeight(true) + 10,
display: 'block',
minWidth: $this.width()
});
$('.wd_cf_search_res li', parent).on('click', function(e){
$this.val($(this).attr('key'));
$('.wd_cf_search_res', parent).css({display: 'none'});
});
}
$('.loading-small', parent).addClass("hiddend");
$('.wd_ts_close', parent).removeClass("hiddend");
}, "text");
}, 350);
});
$('.wd_ts_close', parent).click(function(){
$("input.wd_cf_search", parent).val('');
$(this).addClass("hiddend");
$('.wd_cf_search_res', parent).css({
display: 'none'
});
});
$("input.wd_cf_search", parent).click(function () {
$('.wd_cf_search_res', parent).css({
left: $(this).position().left,
top: $(this).position().top + $(this).outerHeight(true) + 10,
display: 'block'
});
});
$("input.wd_cf_search", parent).on('blur', function () {
$(this).val($(this).val().trim());
});
$(parent).click("click", function (e) {
e.stopImmediatePropagation();
});
$(document).click(function(){
$('.wd_ts_close', parent).addClass("hiddend");
$('.wd_cf_search_res', parent).css({display: 'none'});
});
});
/**
* EXAMPLE HANDLER
window.my_js_function_name = function(r, $node, o) {
//console.log(r, $node, o);
};
*/
// ----------------------- THEME RELATED ---------------------
/**
* Theme Chooser
*
* Since 4.5.4 better load balancing and loading bar implemented.
*/
$('.wpdreamsThemeChooser select').bind('change', function () {
var c = confirm('Do you really want to load this template?');
if (!c) return;
var parent = $(this);
while (parent.is('form') != true) {
parent = parent.parent();
}
var themeDiv = $('div[name="' + $(this).val() + '"]');
var items = JSON.parse( themeDiv.text() );
var itemsCount = $.map(items, function(n, i) { return i; }).length;
// Loader start here
$("#wpd_body_loader").css("display", "block");
$("#wpd_loading_msg").html("Loading " + "0/" + itemsCount);
if ( typeof(items.custom_css_h) == "undefined" )
$('textarea[name="custom_css_h"]', parent).val("");
var count = 0;
var t = null;
// Delay the start by 1 second for the browser to finish all pending operations
setTimeout(function() {
$.each( items, function (key, value) {
param = $('input[name="' + key + '"]', parent);
if (param.length == 0)
param = $('select[name="' + key + '"]', parent);
if (param.length == 0)
param = $('textarea[name="' + key + '"]', parent);
param.val(value);
// Delay execution by 60ms for each item
setTimeout(function(tc, xparam) {
$("#wpd_loading_msg").html("Loading " + tc + "/" + itemsCount);
// Abort the execution of the loading removal
clearTimeout(t);
$( '>.triggerer', xparam.parent() ).trigger("click");
// Give 800 milliseconds to render, until the last one reached
// then remove the loader. The last timeout is not aborted,
// it is executed after 800 ms, finally removing the loading bar.
t = setTimeout(function() {
$("#wpd_body_loader").css("display", "none");
$("#preview .refresh").click();
}, (800));
}, (count * 40), (count +1), param );
count++;
});
}, 1000);
});
/**
* Animation selector
*/
$('.wpdreamsAnimations .wpdreamsanimationselect').change(function () {
var parent = $(this).parent();
$('span', parent).removeClass();
$('span', parent).addClass("asp_an_" + $(this).val());
});
$('.wpdreamsAnimations .triggerer').bind('click', function () {
var parent = $(this).parent();
var select = $('select', parent);
return;
});
/**
* Image Settings
* The name of the separate params determinates the value outputted in the hidden field.
*/
$('.wpdreamsImageSettings input, .wpdreamsImageSettings select').change(function () {
var parent = $(this).parent();
while (parent.hasClass('item') != true) {
parent = parent.parent();
}
var elements = $('input[param!=1], select', parent);
var hidden = $('input[param=1]', parent);
var ret = "";
elements.each(function () {
ret += $(this).attr("name") + ":" + $(this).val() + ";";
});
hidden.val(ret);
});
$('.wpdreamsImageSettings>fieldset>.triggerer').bind("click", function () {
var elements = $('input[param!=1], select', parent);
var hidden = $('input[param=1]', parent);
elements.each(function () {
var name = $(this).attr("name");
var regex = new RegExp(".*" + name + ":(.*?);.*");
val = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(regex);
$(this).val(val[1]);
if ($(this).next().hasClass('triggerer')) $(this).next().click();
});
});
//Image Settings End
/**
* Numeric unit related
*/
$('.wpdreamsNumericUnit select, .wpdreamsNumericUnit input[name=numeric]').change(function () {
var value = "";
var parent = $(this).parent();
while (parent.hasClass('wpdreamsNumericUnit') != true) {
parent = $(parent).parent();
}
var value = $('input[name=numeric]', parent).val() + $('select', parent).val();
$('input[type=hidden]', parent).val(value);
});
$('.wpdreamsNumericUnit .triggerer').bind('click', function () {
var value = "";
var parent = $(this).parent();
while (parent.hasClass('wpdreamsNumericUnit') != true) {
parent = $(parent).parent();
}
var hiddenval = $('input[type=hidden]', parent).val();
var value = hiddenval.match(/([0-9]+)(.*)/)
$('input[name=numeric]', parent).val(value[1]);
$('select', parent).val(value[2]);
});
/**
* Image chooser (radio image)
*/
$('.wpdreamsImageRadio img.radioimage').click(function () {
var $parent = $(this).parent();
var $hidden = $("input[class=realvalue]", $parent);
$('img.selected', $parent).removeClass('selected');
$(this).addClass('selected');
var value = $(this).attr('sel').substring(1);
$hidden.val(value);
$hidden.change();
});
$('.wpdreamsImageRadio .triggerer').bind('click', function () {
var $parent = $(this).parent();
var $hidden = $("input[class=realvalue]", $parent);
$('img.selected', $parent).removeClass('selected');
$('img[src*="' + $hidden.val() + '"]', $parent).addClass('selected');
$hidden.change();
});
/**
* Loader chooser
*/
$('.wpdreamsLoaderSelect .asp-select-loader, .wpdreamsLoaderSelect .asp-select-loader-selected').click(function () {
var $parent = $(this).parent();
var $hidden = $("input[class=realvalue]", $parent);
$('div.asp-select-loader-selected', $parent)
.addClass('asp-select-loader')
.removeClass('asp-select-loader-selected');
$(this).addClass('asp-select-loader-selected').removeClass('asp-select-loader');
var value = $(this).attr('sel');
$hidden.val(value);
$hidden.change();
});
$('.wpdreamsLoaderSelect .triggerer').bind('click', function () {
var $parent = $(this).parent();
var $hidden = $("input[class=realvalue]", $parent);
$('div.asp-select-loader-selected', $parent)
.addClass('asp-select-loader')
.removeClass('asp-select-loader-selected');
$('div[sel*="' + $hidden.val() + '"]', $parent)
.addClass('asp-select-loader-selected')
.removeClass('asp-select-loader');
$hidden.change();
});
/**
* Spectrum: color chooser
*/
$(".wpdreamsColorPicker .color").spectrum({
showInput: true,
showAlpha: true,
showPalette: true,
showSelectionPalette: true
});
$('.wpdreamsColorPicker .triggerer').bind('click', function () {
function hex2rgb(hex, opacity) {
var rgb = hex.replace('#', '').match(/(.{2})/g);
var i = 3;
while (i--) {
rgb[i] = parseInt(rgb[i], 16);
}
if (typeof opacity == 'undefined') {
return 'rgb(' + rgb.join(', ') + ')';
}
return 'rgba(' + rgb.join(', ') + ', ' + opacity + ')';
}
var parent = $(this).parent();
var input = $('input.color', parent);
var val = input.val();
if (val.length <= 7) val = hex2rgb(val, 1);
input.spectrum("set", val);
});
/**
* Gradient chooser
*/
$(".wpdreamsGradient .color, .wpdreamsGradient .grad_type, .wpdreamsGradient .dslider").change(function () {
var $parent = $(this);
while (!$parent.hasClass('wpdreamsGradient')) {
$parent = $parent.parent();
}
var $hidden = $('input.gradient', $parent);
var $colors = $('input.color', $parent);
var $type = $('select.grad_type', $parent);
var $dslider = $('div.dslider', $parent);
var $grad_ex = $('div.grad_ex', $parent);
var $dbg = $('div.dbg', $parent);
var $dtxt = $('div.dtxt', $parent);
$dbg.css({
"-webkit-transform": "rotate(" + $dslider.slider('value') + "deg)",
"-moz-transform": "rotate(" + $dslider.slider('value') + "deg)",
"transform": "rotate(" + $dslider.slider('value') + "deg)"
});
$dtxt.html($dslider.slider('value'));
grad($grad_ex, $($colors[0]).val(), $($colors[1]).val(), $type.val(), $dslider.slider('value'));
$hidden.val(
$type.val() + '-' +
$dslider.slider('value') + '-' +
$($colors[0]).val() + '-' +
$($colors[1]).val()
);
$hidden.change();
});
$(".wpdreamsGradient>.triggerer").click(function () {
var $parent = $(this).parent();
var $hidden = $('input.gradient', $parent);
var $colors = $('input.color', $parent);
var $dslider = $('div.dslider', $parent);
var $type = $('select.grad_type', $parent);
var colors = $hidden.val().match(/(.*?)-(.*?)-(.*?)-(.*)/);
if (colors == null || colors[1] == null) {
//Fallback to older 1 color
$type.val(0);
$dslider.slider('value', 0);
$($colors[0]).spectrum('set', $hidden.val());
$($colors[1]).spectrum('set', $hidden.val());
} else {
$type.val(colors[1]);
$dslider.slider('value', colors[2]);
$($colors[0]).val(colors[3]);
$($colors[1]).val(colors[4]);
$($colors[0]).spectrum('set', colors[3]);
$($colors[1]).spectrum('set', colors[4]);
}
});
function grad(el, c1, c2, t, d) {
if (t != 0) {
$(el).css('background-image', '-webkit-linear-gradient(' + d + 'deg, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-moz-linear-gradient(' + d + 'deg, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-ms-linear-gradient(' + d + 'deg, ' + c1 + ', ' + c2 + ')')
.css('background-image', 'linear-gradient(' + d + 'deg, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-o-linear-gradient(' + d + 'deg, ' + c1 + ', ' + c2 + ')');
} else {
$(el).css('background-image', '-webkit-radial-gradient(center, ellipse cover, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-moz-radial-gradient(center, ellipse cover, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-ms-radial-gradient(center, ellipse cover, ' + c1 + ', ' + c2 + ')')
.css('background-image', 'radial-gradient(ellipse at center, ' + c1 + ', ' + c2 + ')')
.css('background-image', '-o-radial-gradient(center, ellipse cover, ' + c1 + ', ' + c2 + ')');
}
}
/**
* TextShadow chooser
*/
$('.wpdreamsTextShadow input[type=text]').change(function () {
var value = "";
var parent = $(this).parent();
while (parent.hasClass('wpdreamsTextShadow') != true) {
parent = $(parent).parent();
}
var hlength = $.trim($('input[name*="_xx_hlength_xx_"]', parent).val()) + "px ";
var vlength = $.trim($('input[name*="_xx_vlength_xx_"]', parent).val()) + "px ";
var blurradius = $.trim($('input[name*="_xx_blurradius_xx_"]', parent).val()) + "px ";
var color = $.trim($('input[name*="_xx_color_xx_"]', parent).val()) + " ";
var boxshadow = "text-shadow:" + hlength + vlength + blurradius + color;
$('input[type=hidden]', parent).val(boxshadow);
$('input[type=hidden]', parent).change();
});
$('.wpdreamsTextShadow>fieldset>.triggerer').bind('click', function () {
var parent = $(this).parent();
var hidden = $("input[type=hidden]", parent);
var boxshadow = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(/box-shadow:(.*?)px (.*?)px (.*?)px (.*?);/);
$('input[name*="_xx_hlength_xx_"]', parent).val(boxshadow[1]) + "px ";
$('input[name*="_xx_vlength_xx_"]', parent).val(boxshadow[2]) + "px ";
$('input[name*="_xx_blurradius_xx_"]', parent).val(boxshadow[3]) + "px ";
$('input[name*="_xx_color_xx_"]', parent).val(boxshadow[4]) + " ";
$('input[name*="_xx_color_xx_"]', parent).keyup();
});
/**
* BoxShadow chooser
*/
$('.wpdreamsBoxShadow input[type=text], .wpdreamsBoxShadow select').change(function () {
var value = "";
var parent = $(this).parent();
while (parent.hasClass('wpdreamsBoxShadow') != true) {
parent = $(parent).parent();
}
var hlength = $.trim($('input[name*="_xx_hlength_xx_"]', parent).val()) + "px ";
var vlength = $.trim($('input[name*="_xx_vlength_xx_"]', parent).val()) + "px ";
var blurradius = $.trim($('input[name*="_xx_blurradius_xx_"]', parent).val()) + "px ";
var spread = $.trim($('input[name*="_xx_spread_xx_"]', parent).val()) + "px ";
var color = $.trim($('input[name*="_xx_color_xx_"]', parent).val()) + " ";
var inset = $.trim($('select[name*="_xx_inset_xx_"]', parent).val()) + ";";
var boxshadow = "box-shadow:" + hlength + vlength + blurradius + spread + color + inset;
$('input[type=hidden]', parent).val(boxshadow);
$('input[type=hidden]', parent).change();
});
$('.wpdreamsBoxShadow>fieldset>.triggerer').bind('click', function () {
var parent = $(this).parent();
var hidden = $("input[type=hidden]", parent);
var boxshadow = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(/box-shadow:(.*?)px (.*?)px (.*?)px (.*?)px (.*?)\) (.*?);/);
var plus = ")";
if (boxshadow == null) {
boxshadow = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(/box-shadow:(.*?)px (.*?)px (.*?)px (.*?)px (.*?) (.*?);/);
plus = '';
}
$('input[name*="_xx_hlength_xx_"]', parent).val(boxshadow[1]);
$('input[name*="_xx_vlength_xx_"]', parent).val(boxshadow[2]);
$('input[name*="_xx_blurradius_xx_"]', parent).val(boxshadow[3]);
$('input[name*="_xx_spread_xx_"]', parent).val(boxshadow[4]);
$('input[name*="_xx_color_xx_"]', parent).val(boxshadow[5] + plus);
$('select[name*="_xx_inset_xx_"]', parent).val(boxshadow[6]);
$('input[name*="_xx_color_xx_"]', parent).spectrum('set', boxshadow[5] + plus);
});
/**
* Border chooser
*/
$('.wpdreamsBorder input[type=text], .wpdreamsBorder select').on("change", function () {
var parent = $(this).closest('.wpdreamsBorder');
var w = $.trim( parent.find('input._xx_width_xx_').val() ) + "px ";
var s = $.trim( parent.find('select._xx_style_xx_').val() ) + " ";
var c = $.trim( parent.find('input.color').val() ) + ";";
var border = "border:" + w + s + c;
var tl = $.trim( parent.find('input._xx_topleft_xx_').val() ) + "px ";
var tr = $.trim( parent.find('input._xx_topright_xx_').val() ) + "px ";
var br = $.trim( parent.find('input._xx_bottomright_xx_').val() ) + "px ";
var bl = $.trim( parent.find('input._xx_bottomleft_xx_').val() ) + "px;";
var borderradius = "border-radius:" + tl + tr + br + bl;
var value = border + borderradius;
$('input[type=hidden]', parent).val(value).trigger('change');
});
$('.wpdreamsBorder select').on('change', function(){
var parent = $(this).closest('.wpdreamsBorder');
if( $(this).val() == 'none' ) {
parent.find('.wpd_br_to_disable').addClass('disabled');
} else {
parent.find('.wpd_br_to_disable').removeClass('disabled');
}
});
$('.wpdreamsBorder select').trigger('change');
$('.wpdreamsBorder>.triggerer').bind('click', function () {
var parent = $(this).closest('.wpdreamsBorder');
var hidden = parent.find("input[type=hidden]");
var border = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(/border:(.*?)px (.*?) (.*?);/);
parent.find('input._xx_width_xx_').val(border[1]);
parent.find('input.color').val(border[3]);
var borderradius = hidden.val().replace(/(\r\n|\n|\r)/gm, "").match(/border-radius:(.*?)px(.*?)px(.*?)px(.*?)px;/);
parent.find('input._xx_topleft_xx_').val(borderradius[1]);
parent.find('input._xx_topright_xx_').val(borderradius[2]);
parent.find('input._xx_bottomright_xx_').val(borderradius[3]);
parent.find('input._xx_bottomleft_xx_').val(borderradius[4]);
parent.find('select._xx_style_xx_').val(border[2]);
parent.find('input.color').spectrum('set', border[3]);
// Separate trigger! otherwise the loaded value is overridden
parent.find('select._xx_style_xx_').trigger('change');
});
/**
* Border Radius chooser
*/
$('.wpdreamsBorderRadius input[type=text]').change(function () {
var value = "";
$('input[type=text]', $(this).parent()).each(function () {
value += " " + $(this).val() + "px";
});
$('input[type=hidden]', $(this).parent()).val("border-radius:" + value + ";");
$('input[type=hidden]', $(this).parent()).change();
});
$('.wpdreamsBorderRadius>fieldset>.triggerer').bind('click', function () {
var hidden = $("input[type=hidden]", $(this).parent());
var values = hidden.val().match(/(.*?)px(.*?)px(.*?)px(.*?)px;/);
var i = 1;
$('input[type=text]', $(this).parent()).each(function () {
if ($(this).attr('name') != null) {
$(this).val(values[i]);
i++;
}
});
});
/**
* Base64 textarea wd_Textarea_B64
*/
var _wd_tt = null;
$('textarea.wd_textarea_b64').on("keyup paste", function () {
clearTimeout(_wd_tt);
var $this = $(this);
_wd_tt = setTimeout(function(){
$this.prev().val( Base64.encode($this.val()) );
}, 200);
});
// ----------------------- ACCESSIBILITY ---------------------
if ( $('#wpdreams').hasClass('wd-accessible') ) {
$('#wpcontent').addClass('wd-accessible');
$('#wpd_shortcode_modal').addClass('wd-accessible');
}
$('#wpdreams a.wd-accessible-switch').on('click', function(e){
e.preventDefault();
e.stopImmediatePropagation();
if ( $('#wpdreams').hasClass('wd-accessible') ) {
$('#wpcontent').removeClass('wd-accessible');
$('#wpdreams').removeClass('wd-accessible');
$('#wpd_shortcode_modal').removeClass('wd-accessible');
eraseCookie('asl-accessibility');
$(this).html('ENABLE ACCESSIBILITY');
} else {
$('#wpcontent').addClass('wd-accessible');
$('#wpdreams').addClass('wd-accessible');
$('#wpd_shortcode_modal').addClass('wd-accessible');
createCookie('asl-accessibility', 1, 365);
$(this).html('DISABLE ACCESSIBILITY');
}
});
// ----------------------- ETC.. ---------------------
$('.successMsg').each(function () {
$(this).delay(4000).fadeOut();
});
$('img.delete').click(function () {
var del = confirm("Do yo really want to delete this item?");
if (del) {
$(this).next().submit();
}
});
// ----------------------- COOKIES ---------------------
function createCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
});