File: /home/elrashedytravel/www/wp-content/themes/bloglo/inc/customizer/controls/spacing/spacing.js
(function ($) {
"use strict";
wp.customize.controlConstructor["bloglo-spacing"] =
wp.customize.Control.extend({
ready: function () {
"use strict";
var control = this;
// Linked button.
control.container.on("click", ".bloglo-spacing-linked", function () {
// Set up variables.
var $this = $(this);
// Remove linked class.
$this.closest("ul").find(".spacing-input").removeClass("linked");
// Remove class.
$this.parent(".spacing-link-values").removeClass("unlinked");
});
// Unlinked button.
control.container.on("click", ".bloglo-spacing-unlinked", function () {
// Set up variables.
var $this = $(this);
// Remove linked class.
$this.closest("ul").find(".spacing-input").addClass("linked");
// Remove class.
$this.parent(".spacing-link-values").addClass("unlinked");
});
// Values linked inputs.
control.container.on("input", ".linked input", function () {
var $val = $(this).val();
$(this)
.closest(".spacing-input")
.siblings(".linked")
.find("input")
.val($val)
.change();
});
// Change unit.
control.container
.find('.bloglo-control-unit input[type="radio"]')
.on("change", function () {
control.save_value();
});
// Store new inputs.
control.container.on(
"change input",
".spacing-input input",
function () {
control.save_value();
}
);
// Reset default values.
control.container.find(".reset-defaults").on("click", function () {
control.container.find('input[type="number"]').each(function () {
$(this).val($(this).data("default"));
});
control.save_value();
});
},
save_value: function () {
var new_val = {},
devices = this.params.responsive,
choices = this.params.choices,
choice,
device,
units = this.container.find(".bloglo-control-unit");
if (devices === undefined || devices.length == 0) {
for (choice in choices) {
new_val[choice] = this.container
.find('[data-spacing-choice="' + choice + '"]')
.val();
}
} else {
for (device in devices) {
new_val[device] = {};
for (choice in choices) {
new_val[device][choice] = this.container
.find(
".control-responsive." +
device +
' [data-spacing-choice="' +
choice +
'"]'
)
.val();
}
}
}
if (units.length) {
new_val.unit = units.find('input[type="radio"]:checked').val();
}
this.setting.set(new_val);
},
});
})(jQuery);