123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- /* global unescape, getUserSetting, setUserSetting */
- jQuery(document).ready(function($) {
- var gallerySortable, gallerySortableInit, sortIt, clearAll, w, desc = false;
- gallerySortableInit = function() {
- gallerySortable = $('#media-items').sortable( {
- items: 'div.media-item',
- placeholder: 'sorthelper',
- axis: 'y',
- distance: 2,
- 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);
- });
- }
- } );
- };
- sortIt = function() {
- var all = $('.menu_order_input'), len = all.length;
- all.each(function(i){
- var order = desc ? (len - i) : (1 + i);
- $(this).val(order);
- });
- };
- clearAll = function(c) {
- c = c || 0;
- $('.menu_order_input').each( function() {
- if ( this.value === '0' || c ) {
- 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 ) {
- w = wpgallery.getWin();
- $('#save-all, #gallery-settings').show();
- if ( typeof w.tinyMCE !== 'undefined' && w.tinyMCE.activeEditor && ! w.tinyMCE.activeEditor.isHidden() ) {
- wpgallery.mcemode = true;
- wpgallery.init();
- } else {
- $('#insert-gallery').show();
- }
- }
- });
- jQuery(window).unload( function () { tinymce = tinyMCE = wpgallery = null; } ); // Cleanup
- /* gallery settings */
- var tinymce = null, tinyMCE, wpgallery;
- wpgallery = {
- mcemode : false,
- editor : {},
- dom : {},
- is_update : false,
- el : {},
- I : function(e) {
- return document.getElementById(e);
- },
- init: function() {
- var t = this, li, q, i, it, w = t.getWin();
- if ( ! t.mcemode ) {
- return;
- }
- li = ('' + document.location.search).replace(/^\?/, '').split('&');
- q = {};
- for (i=0; i<li.length; i++) {
- it = li[i].split('=');
- q[unescape(it[0])] = unescape(it[1]);
- }
- if ( q.mce_rdomain ) {
- document.domain = q.mce_rdomain;
- }
- // Find window & API
- tinymce = w.tinymce;
- tinyMCE = w.tinyMCE;
- t.editor = tinymce.EditorManager.activeEditor;
- t.setup();
- },
- getWin : function() {
- return window.dialogArguments || opener || parent || top;
- },
- setup : function() {
- var t = this, a, ed = t.editor, g, columns, link, order, orderby;
- if ( ! t.mcemode ) {
- return;
- }
- 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] ) {
- 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');
- }
- jQuery('#insert-gallery').show();
- return;
- }
- }
- a = ed.dom.getAttrib(t.el, 'title');
- a = ed.dom.decode(a);
- if ( a ) {
- jQuery('#update-gallery').show();
- t.is_update = true;
- 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];
- }
- } else {
- jQuery('#insert-gallery').show();
- }
- },
- update : function() {
- var t = this, ed = t.editor, all = '', s;
- if ( ! t.mcemode || ! t.is_update ) {
- s = '[gallery' + t.getSettings() + ']';
- t.getWin().send_to_editor(s);
- return;
- }
- if ( t.el.nodeName !== 'IMG' ) {
- return;
- }
- all = ed.dom.decode( ed.dom.getAttrib( t.el, 'title' ) );
- all = all.replace(/\s*(order|link|columns|orderby)=['"]([^'"]+)['"]/gi, '');
- all += t.getSettings();
- ed.dom.setAttrib(t.el, 'title', all);
- t.getWin().tb_remove();
- },
- getSettings : function() {
- var I = this.I, s = '';
- if ( I('linkto-file').checked ) {
- s += ' link="file"';
- setUserSetting('galfile', '1');
- }
- if ( I('order-desc').checked ) {
- s += ' order="DESC"';
- setUserSetting('galdesc', '1');
- }
- 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 + '"';
- setUserSetting('galord', I('orderby').value);
- }
- return s;
- }
- };
|