]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/custom-background.js
Wordpress 3.5
[autoinstalls/wordpress.git] / wp-admin / js / custom-background.js
index 66b8bbfd406c33e7c038fb61d8b6f6527a962c85..c41ca6b00b211068e825e9d8a720b1e8fa6ce590 100644 (file)
@@ -1 +1,74 @@
-var farbtastic,pickColor;(function(b){var a="";pickColor=function(c){farbtastic.setColor(c);b("#background-color").val(c);b("#custom-background-image").css("background-color",c);if((a&&c===a)||(!a&&(""===c||"#"===c))){b("#clearcolor").hide()}else{b("#clearcolor").show()}};b(document).ready(function(){a=b("#defaultcolor").val();b("#pickcolor").click(function(){b("#colorPickerDiv").show();return false});b("#clearcolor a").click(function(c){pickColor(a);c.preventDefault()});b("#background-color").keyup(function(){var d=b("#background-color").val(),c=d;if(c.charAt(0)!="#"){c="#"+c}c=c.replace(/[^#a-fA-F0-9]+/,"");if(c!=d){b("#background-color").val(c)}if(c.length==4||c.length==7){pickColor(c)}});b('input[name="background-position-x"]').change(function(){b("#custom-background-image").css("background-position",b(this).val()+" top")});b('input[name="background-repeat"]').change(function(){b("#custom-background-image").css("background-repeat",b(this).val())});farbtastic=b.farbtastic("#colorPickerDiv",function(c){pickColor(c)});pickColor(b("#background-color").val());b(document).mousedown(function(){b("#colorPickerDiv").each(function(){var c=b(this).css("display");if(c=="block"){b(this).fadeOut(2)}})})})})(jQuery);
\ No newline at end of file
+(function($) {
+       $(document).ready(function() {
+               var bgImage = $("#custom-background-image"),
+                       frame;
+
+               $('#background-color').wpColorPicker({
+                       change: function( event, ui ) {
+                               bgImage.css('background-color', ui.color.toString());
+                       },
+                       clear: function() {
+                               bgImage.css('background-color', '');
+                       }
+               });
+
+               $('input[name="background-position-x"]').change(function() {
+                       bgImage.css('background-position', $(this).val() + ' top');
+               });
+
+               $('input[name="background-repeat"]').change(function() {
+                       bgImage.css('background-repeat', $(this).val());
+               });
+
+               $('#choose-from-library-link').click( function( event ) {
+                       var $el = $(this);
+
+                       event.preventDefault();
+
+                       // If the media frame already exists, reopen it.
+                       if ( frame ) {
+                               frame.open();
+                               return;
+                       }
+
+                       // Create the media frame.
+                       frame = wp.media.frames.customBackground = wp.media({
+                               // Set the title of the modal.
+                               title: $el.data('choose'),
+
+                               // Tell the modal to show only images.
+                               library: {
+                                       type: 'image'
+                               },
+
+                               // Customize the submit button.
+                               button: {
+                                       // Set the text of the button.
+                                       text: $el.data('update'),
+                                       // Tell the button not to close the modal, since we're
+                                       // going to refresh the page when the image is selected.
+                                       close: false
+                               }
+                       });
+
+                       // When an image is selected, run a callback.
+                       frame.on( 'select', function() {
+                               // Grab the selected attachment.
+                               var attachment = frame.state().get('selection').first();
+
+                               // Run an AJAX request to set the background image.
+                               $.post( ajaxurl, {
+                                       action: 'set-background-image',
+                                       attachment_id: attachment.id,
+                                       size: 'full'
+                               }).done( function() {
+                                       // When the request completes, reload the window.
+                                       window.location.reload();
+                               });
+                       });
+
+                       // Finally, open the modal.
+                       frame.open();
+               });
+       });
+})(jQuery);
\ No newline at end of file