/**
* Hi-School Slide Manager - Admin JavaScript
*/
jQuery(document).ready(function($) {
'use strict';
// Initialize admin functionality
initializeAdmin();
/**
* Initialize admin functionality
*/
function initializeAdmin() {
// Handle form submissions
$('.hssm-settings-form').on('submit', handleFormSubmission);
// Handle media upload buttons
$('.hssm-upload-button').on('click', handleMediaUpload);
// Handle slide preview
$('.hssm-preview-button').on('click', handleSlidePreview);
// Initialize sortable slides if library is available
if (typeof $.fn.sortable !== 'undefined') {
initializeSortable();
}
}
/**
* Handle form submission
*/
function handleFormSubmission(e) {
e.preventDefault();
var $form = $(this);
var $submitBtn = $form.find('[type="submit"]');
var originalText = $submitBtn.text();
// Show loading state
$submitBtn.text('Saving...').prop('disabled', true);
// Simulate form processing (replace with actual AJAX call)
setTimeout(function() {
$submitBtn.text('Saved!').removeClass('hssm-btn').addClass('hssm-btn-success');
setTimeout(function() {
$submitBtn.text(originalText).removeClass('hssm-btn-success').addClass('hssm-btn').prop('disabled', false);
}, 2000);
}, 1000);
}
/**
* Handle media upload
*/
function handleMediaUpload(e) {
e.preventDefault();
var $button = $(this);
var $input = $button.siblings('input[type="hidden"]');
var $preview = $button.siblings('.hssm-image-preview');
// WordPress media uploader
if (typeof wp !== 'undefined' && wp.media) {
var mediaUploader = wp.media({
title: 'Choose Slide Image',
button: {
text: 'Use this image'
},
multiple: false
});
mediaUploader.on('select', function() {
var attachment = mediaUploader.state().get('selection').first().toJSON();
$input.val(attachment.id);
$preview.html('');
});
mediaUploader.open();
}
}
/**
* Handle slide preview
*/
function handleSlidePreview(e) {
e.preventDefault();
var $button = $(this);
var slideData = gatherSlideData($button.closest('.hssm-slide-form'));
// Create preview modal
var $modal = $('