cl01/wp-content/themes/ogma-blog/inc/customizer/custom-controls/tabs/tabs.js
2025-02-24 12:39:24 +08:00

52 lines
1.6 KiB
JavaScript
Executable File

/**
* Custom scripts for Tabs Control
*
* @package Ogma Blog
*/
(function (api) {
// Tab Control
api.Tabs = [];
api.Tab = api.Control.extend({
ready: function () {
var control = this;
control.container.find('li.section-tab-button').click(function (e) {
var key = jQuery(this).data('tab');
e.preventDefault();
control.container.find('li.section-tab-button').removeClass('active');
jQuery(this).addClass('active');
control.toggleActiveControls(key);
});
api.Tabs.push(control.id);
},
toggleActiveControls: function (key) {
var control = this,
currentFields = control.params.choices[key].fields;
_.each(control.params.fields, function (id) {
var tabControl = api.control(id);
if (undefined !== tabControl) {
if (tabControl.active() && jQuery.inArray(id, currentFields) >= 0) {
tabControl.toggle(true);
} else {
tabControl.toggle(false);
}
}
});
}
});
jQuery.extend(api.controlConstructor, {
'ogma-blog-tabs': api.Tab
});
api.bind('ready', function () {
_.each(api.Tabs, function (id) {
var control = api.control(id);
var iniID = control.container.find('li.active').data('tab');
control.toggleActiveControls(iniID);
});
});
})(wp.customize);