(function( $ ) {
'use strict';
/**
* All of the code for your admin-facing JavaScript source
* should reside in this file.
*
* Note: It has been assumed you will write jQuery code here, so the
* $ function reference has been prepared for usage within the scope
* of this function.
*
* This enables you to define handlers, for when the DOM is ready:
*
* $(function() {
*
* });
*
* When the window is loaded:
*
* $( window ).load(function() {
*
* });
*
* ...and/or other possibilities.
*
* Ideally, it is not considered best practise to attach more than a
* single DOM-ready or window-load handler for a particular page.
* Although scripts in the WordPress core, Plugins and Themes may be
* practising this, we should strive to set a better example in our own work.
*/
jQuery(document).ready(function ($) {
$(document).on( "click", ".upload-media-button", function (e) {
e.preventDefault();
var $button = $(this);
// Create the media frame.
var file_frame = wp.media.frames.file_frame = wp.media({
title: 'Select or upload media',
button: {
text: 'Select'
},
multiple: false // Set to true to allow multiple files to be selected
});
// When an image is selected, run a callback.
file_frame.on('select', function () {
// We set multiple to false so only get one image from the uploader
var attachment = file_frame.state().get('selection').first().toJSON();
$button.siblings('input').val(attachment.url);
$button.siblings('span.image-holder').html('
');
});
// Finally, open the modal
file_frame.open();
});
$('.image-url').each(function(){
$(this).on('keyup', function(){
$(this).siblings('span.image-holder').html('
');
});
});
/* Show More event */
$('.more').on('click', function() {
$(this).next('div.advanced-section').toggle();
});
$(".more").toggle(function() {
$(this).html('Hide Options')
.stop();
}, function() {
$(this).html('More Options')
.stop();
});
$(document).on('widget-added', function(e, widget) {
/* Show More event */
$('.more').on('click', function() {
$(this).next('div.advanced-section').toggle();
});
$(".more").toggle(function() {
$(this).html('Hide Options')
.stop();
}, function() {
$(this).html('More Options')
.stop();
});
});
$(document).on('widget-updated', function(e, widget) {
/* Show More event */
$('.more').on('click', function() {
$(this).next('div.advanced-section').toggle();
});
$(".more").toggle(function() {
$(this).html('Hide Options')
.stop();
}, function() {
$(this).html('More Options')
.stop();
});
});
});
})( jQuery );