Вход Регистрация
Файл: cms/javascript/AssetAdmin.DragDrop.js
Строк: 91
<?php
/**
 * File: AssetAdmin.DragDrop.js
 */
(function($) {
    $.
entwine('ss', function($){
        
        
/**
         * Class: .AssetTableField.dragdrop
         */
        
$('.AssetTableField.dragdrop').entwine({
            
onmatch: function() {
                var 
self this;
                $(
'.cms-tree li').each(function() {
                        $(
this).droppable({
                            
greedytrue,
                            
hoverClass'over'// same hover effect as normal tree
                            
drop: function(eui) {self.drop(eui);}
                        });
                });
                
                
this._super();
            },
            
onunmatch: function() {
                
this._super();
            },
            
/**
             * Function: drop
             * 
             * Take selected files and move them to a folder target in the tree.
             */
            
drop: function(eui) {
                var 
self this;
                if(
e.target.id.match(/-([^-]+)$/)) {
                    var 
folderId RegExp.$1;
                    $.
post(
                        
this.attr('href') + '/movemarked',
                        
this.parents('form').serialize() + '&DestFolderID=' folderId,
                        function(
datastatus) {
                            
self.refresh();
                        }
                    )
                }
            },
            
            
/**
             * Function: getSelected
             * 
             * Get the IDs of all selected files in the table.
             * Used for drag'n'drop.
             * 
             * Returns:
             *  Array
             */
            
getSelected: function() {
                return 
this.find(':input[name=Files[]]:checked').map(function() {
                    return $(
this).val();
                });
            }
        });
        
        $(
'.AssetTableField .dragfile').entwine({
            
// Constructor: onmatch
            
onmatch: function() {
                var 
self this;
                var 
container this.parents('.AssetTableField');
                
                
this.draggable({
                    
zIndex4000,
                    
appendTo'body',
                    
helper: function() {
                        return $(
                            
'<div class="NumFilesIndicator">' +
                            
ss.i18n.sprintf(ss.i18n._t('AssetTableField.MOVING'),container.getSelected().length) +
                            
'</div>'
                        
);
                    }
                });
                
                
this._super();
            },
            
onunmatch: function() {
                
this._super();
            },
            
/**
             * Function: onmousedown
             * 
             * Parameters:
             * (Event) e
             * 
             * Automatically select the checkbox in the same table row
             * to signify that this element is moved, and hint that
             * all checkboxed elements will be moved along with it.
             */
            
onmousedown: function(e) {
                
this.siblings('.markingcheckbox').find(':input').attr('checked''checked');
            }
        });
    });
}(
jQuery));
?>
Онлайн: 1
Реклама