59 lines
1.5 KiB
JavaScript
Executable File
59 lines
1.5 KiB
JavaScript
Executable File
/**
|
|
* File customizer_sections_order.js
|
|
*
|
|
* The main file for sections order.
|
|
*
|
|
* @package Hester
|
|
*/
|
|
|
|
/* global control_settings */
|
|
/* global wp */
|
|
|
|
jQuery( document ).ready(
|
|
function() {
|
|
'use strict';
|
|
|
|
var sections_container = control_settings.sections_container;
|
|
var blocked_items = control_settings.blocked_items;
|
|
var saved_data_input = control_settings.saved_data_input;
|
|
update_order(); // Do this at the beginning to display sections in customizer that were just added
|
|
|
|
jQuery( sections_container ).sortable(
|
|
{
|
|
axis: 'y',
|
|
items: '> li:not(.panel-meta, ' + blocked_items + ')',
|
|
handle: '> h3',
|
|
update: function() {
|
|
update_order();
|
|
},
|
|
helper: 'clone',
|
|
placeholder: 'ui-state-highlight'
|
|
}
|
|
);
|
|
|
|
function update_order() {
|
|
var values = {};
|
|
var idsInOrder = jQuery( sections_container ).sortable(
|
|
{
|
|
axis: 'y',
|
|
items: '> li:not(.panel-meta, ' + blocked_items + ')',
|
|
handle: '> h3',
|
|
helper: 'clone',
|
|
placeholder: 'ui-state-highlight'
|
|
}
|
|
);
|
|
|
|
var sections = idsInOrder.sortable( 'toArray' );
|
|
for ( var i = 0; i < sections.length; i++ ) {
|
|
var section_id = sections[i].replace( 'accordion-section-', '' );
|
|
var section_priority = ( i + 2 ) * 5;
|
|
wp.customize.section( section_id ).priority( section_priority );
|
|
values[section_id] = section_priority;
|
|
}
|
|
var data_to_send = JSON.stringify( values );
|
|
jQuery( saved_data_input ).val( data_to_send );
|
|
jQuery( saved_data_input ).trigger( 'change' );
|
|
}
|
|
}
|
|
);
|