]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/gallery.js
WordPress 4.4
[autoinstalls/wordpress.git] / wp-admin / js / gallery.js
index c0be92f8e55bb28ae43d04f20ed48899b00c8ed1..e2131323ea7906019f63abdcd0cad326be5ddd1c 100644 (file)
@@ -1,36 +1,81 @@
-jQuery(function($) {
-       var gallerySortable;
-       var gallerySortableInit = function() {
+/* global unescape, getUserSetting, setUserSetting */
+
+jQuery(document).ready(function($) {
+       var gallerySortable, gallerySortableInit, sortIt, clearAll, w, desc = false;
+
+       gallerySortableInit = function() {
                gallerySortable = $('#media-items').sortable( {
-                       items: '.media-item',
+                       items: 'div.media-item',
                        placeholder: 'sorthelper',
                        axis: 'y',
                        distance: 2,
-                       update: galleryReorder
+                       handle: 'div.filename',
+                       stop: function() {
+                               // When an update has occurred, adjust the order for each item
+                               var all = $('#media-items').sortable('toArray'), len = all.length;
+                               $.each(all, function(i, id) {
+                                       var order = desc ? (len - i) : (1 + i);
+                                       $('#' + id + ' .menu_order input').val(order);
+                               });
+                       }
                } );
-       }
+       };
 
-       // When an update has occurred, adjust the order for each item
-       var galleryReorder = function(e, sort) {
-               jQuery.each(sort['element'].sortable('toArray'), function(i, id) {
-                       jQuery('#' + id + ' .menu_order input')[0].value = (1+i);
+       sortIt = function() {
+               var all = $('.menu_order_input'), len = all.length;
+               all.each(function(i){
+                       var order = desc ? (len - i) : (1 + i);
+                       $(this).val(order);
                });
-       }
+       };
 
-       // initialize sortable
-       gallerySortableInit();
-});
+       clearAll = function(c) {
+               c = c || 0;
+               $('.menu_order_input').each( function() {
+                       if ( this.value === '0' || c ) {
+                               this.value = '';
+                       }
+               });
+       };
 
-jQuery(document).ready(function($){
-       $('.menu_order_input').each(function(){
-               if ( this.value == '0' ) this.value = '';
+       $('#asc').click( function( e ) {
+               e.preventDefault();
+               desc = false;
+               sortIt();
+       });
+       $('#desc').click( function( e ) {
+               e.preventDefault();
+               desc = true;
+               sortIt();
+       });
+       $('#clear').click( function( e ) {
+               e.preventDefault();
+               clearAll(1);
+       });
+       $('#showall').click( function( e ) {
+               e.preventDefault();
+               $('#sort-buttons span a').toggle();
+               $('a.describe-toggle-on').hide();
+               $('a.describe-toggle-off, table.slidetoggle').show();
+               $('img.pinkynail').toggle(false);
+       });
+       $('#hideall').click( function( e ) {
+               e.preventDefault();
+               $('#sort-buttons span a').toggle();
+               $('a.describe-toggle-on').show();
+               $('a.describe-toggle-off, table.slidetoggle').hide();
+               $('img.pinkynail').toggle(true);
        });
 
+       // initialize sortable
+       gallerySortableInit();
+       clearAll();
+
        if ( $('#media-items>*').length > 1 ) {
-               var w = wpgallery.getWin();
+               w = wpgallery.getWin();
 
                $('#save-all, #gallery-settings').show();
-               if ( typeof w.tinyMCE != 'undefined' && w.tinyMCE.activeEditor && ! w.tinyMCE.activeEditor.isHidden() ) {
+               if ( typeof w.tinyMCE !== 'undefined' && w.tinyMCE.activeEditor && ! w.tinyMCE.activeEditor.isHidden() ) {
                        wpgallery.mcemode = true;
                        wpgallery.init();
                } else {
@@ -42,9 +87,9 @@ jQuery(document).ready(function($){
 jQuery(window).unload( function () { tinymce = tinyMCE = wpgallery = null; } ); // Cleanup
 
 /* gallery settings */
-var tinymce = null, tinyMCE;
+var tinymce = null, tinyMCE, wpgallery;
 
-var wpgallery = {
+wpgallery = {
        mcemode : false,
        editor : {},
        dom : {},
@@ -58,7 +103,9 @@ var wpgallery = {
        init: function() {
                var t = this, li, q, i, it, w = t.getWin();
 
-               if ( ! t.mcemode ) return;
+               if ( ! t.mcemode ) {
+                       return;
+               }
 
                li = ('' + document.location.search).replace(/^\?/, '').split('&');
                q = {};
@@ -67,8 +114,9 @@ var wpgallery = {
                        q[unescape(it[0])] = unescape(it[1]);
                }
 
-               if (q.mce_rdomain)
+               if ( q.mce_rdomain ) {
                        document.domain = q.mce_rdomain;
+               }
 
                // Find window & API
                tinymce = w.tinymce;
@@ -82,28 +130,30 @@ var wpgallery = {
                return window.dialogArguments || opener || parent || top;
        },
 
-       restoreSelection : function() {
-               var t = this;
-
-               if (tinymce.isIE)
-                       t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
-       },
-
        setup : function() {
-               var t = this, a, f = document.forms[0], ed = t.editor, el, g;
-               if ( ! t.mcemode ) return;
+               var t = this, a, ed = t.editor, g, columns, link, order, orderby;
+               if ( ! t.mcemode ) {
+                       return;
+               }
 
-               t.restoreSelection();
                t.el = ed.selection.getNode();
 
-               if ( t.el.nodeName != 'IMG' || ! ed.dom.hasClass(t.el, 'wpGallery') ) {
-                       if ( (g = ed.dom.select('img.wpGallery')) && g[0] ) {
+               if ( t.el.nodeName !== 'IMG' || ! ed.dom.hasClass(t.el, 'wpGallery') ) {
+                       if ( ( g = ed.dom.select('img.wpGallery') ) && g[0] ) {
                                t.el = g[0];
                        } else {
-                               if ( getUserSetting('galfile') == '1' ) t.I('linkto-file').checked = "checked";
-                               if ( getUserSetting('galdesc') == '1' ) t.I('order-desc').checked = "checked";
-                               if ( getUserSetting('galcols') ) t.I('columns').value = getUserSetting('galcols');
-                               if ( getUserSetting('galord') ) t.I('orderby').value = getUserSetting('galord');
+                               if ( getUserSetting('galfile') === '1' ) {
+                                       t.I('linkto-file').checked = 'checked';
+                               }
+                               if ( getUserSetting('galdesc') === '1' ) {
+                                       t.I('order-desc').checked = 'checked';
+                               }
+                               if ( getUserSetting('galcols') ) {
+                                       t.I('columns').value = getUserSetting('galcols');
+                               }
+                               if ( getUserSetting('galord') ) {
+                                       t.I('orderby').value = getUserSetting('galord');
+                               }
                                jQuery('#insert-gallery').show();
                                return;
                        }
@@ -116,30 +166,42 @@ var wpgallery = {
                        jQuery('#update-gallery').show();
                        t.is_update = true;
 
-                       var columns = a.match(/columns=['"]([0-9]+)['"]/), link = a.match(/link=['"]([^'"]+)['"]/i);
-                       var order = a.match(/order=['"]([^'"]+)['"]/i), orderby = a.match(/orderby=['"]([^'"]+)['"]/i), all = '';
+                       columns = a.match(/columns=['"]([0-9]+)['"]/);
+                       link = a.match(/link=['"]([^'"]+)['"]/i);
+                       order = a.match(/order=['"]([^'"]+)['"]/i);
+                       orderby = a.match(/orderby=['"]([^'"]+)['"]/i);
 
-                       if ( link && link[1] ) t.I('linkto-file').checked = "checked";
-                       if ( order && order[1] ) t.I('order-desc').checked = "checked";
-                       if ( columns && columns[1] ) t.I('columns').value = ''+columns[1];
-                       if ( orderby && orderby[1] ) t.I('orderby').value = orderby[1];
+                       if ( link && link[1] ) {
+                               t.I('linkto-file').checked = 'checked';
+                       }
+                       if ( order && order[1] ) {
+                               t.I('order-desc').checked = 'checked';
+                       }
+                       if ( columns && columns[1] ) {
+                               t.I('columns').value = '' + columns[1];
+                       }
+                       if ( orderby && orderby[1] ) {
+                               t.I('orderby').value = orderby[1];
+                       }
                } else {
                        jQuery('#insert-gallery').show();
                }
        },
 
        update : function() {
-               var t = this, ed = t.editor, el, all = '';
+               var t = this, ed = t.editor, all = '', s;
 
                if ( ! t.mcemode || ! t.is_update ) {
-                       var s = '[gallery'+t.getSettings()+']';
+                       s = '[gallery' + t.getSettings() + ']';
                        t.getWin().send_to_editor(s);
                        return;
                }
 
-               if (t.el.nodeName != 'IMG') return;
+               if ( t.el.nodeName !== 'IMG' ) {
+                       return;
+               }
 
-               all = ed.dom.decode(ed.dom.getAttrib(t.el, 'title'));
+               all = ed.dom.decode( ed.dom.getAttrib( t.el, 'title' ) );
                all = all.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi, '');
                all += t.getSettings();
 
@@ -160,13 +222,13 @@ var wpgallery = {
                        setUserSetting('galdesc', '1');
                }
 
-               if ( I('columns').value != 3 ) {
-                       s += ' columns="'+I('columns').value+'"';
+               if ( I('columns').value !== 3 ) {
+                       s += ' columns="' + I('columns').value + '"';
                        setUserSetting('galcols', I('columns').value);
                }
 
-               if ( I('orderby').value != 'menu_order' ) {
-                       s += ' orderby="'+I('orderby').value+'"';
+               if ( I('orderby').value !== 'menu_order' ) {
+                       s += ' orderby="' + I('orderby').value + '"';
                        setUserSetting('galord', I('orderby').value);
                }