X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/11be8dc178e77d0b46189bbd8e33a216a9b90942..refs/tags/wordpress-4.4:/wp-admin/js/gallery.js diff --git a/wp-admin/js/gallery.js b/wp-admin/js/gallery.js index c0be92f8..e2131323 100644 --- a/wp-admin/js/gallery.js +++ b/wp-admin/js/gallery.js @@ -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); }