Вход Регистрация
Файл: static/plugins/base/js/drag_and_drop.js
Строк: 212
<?php
PEEP_Components_DragAndDrop 
= function() {

    var 
self this;

    
this.prepare();
    
this.defaultSettings.handle '.dd_handle';
    
this.initialize();

    $(
this.sectionSelector).each(function(){
        
DND_InterfaceFix.fix(this);
    });


    
this.events.reset = [];

    $(
'#reset_position_btn').click(function(){
        if ( 
confirmPEEP.getLanguageText('base''widgets_reset_position_confirm') ) ) {
            
self.resetCustomization();
        }
    });

};

PEEP_Components_DragAndDrop.prototype = new componentDragAndDrop ({

    
setHandler: function(handler) {
        
this.bind('reset', function(successFnc){
            
handler.reset(successFnc);
        })

        
this.parent_setHandler(handler);
    },

    
/* / Animation */

    
handleRemoveFromSection: function($itemcompleteFnc) {
        var 
self this;

        
$item.find('.action').hide();
        
$item.fadeOut('fast', function(){
            
$item.appendTo(self.$panel);
            
$item.find('.view_component').hide();
            
$item.find('.schem_component').show();

            
self.actionComplete();
            
$item.fadeIn('fast'completeFnc);
        });
    },

    clone: function(
sortable$cloningItem) {
        var 
self this;
        var 
sourceId $cloningItem.attr('id');

        var 
stack = [];
        $(
sortable).find('.component').each(function(){
            
stack.push(this.id);
        });

        var 
section = $(sortable).attr('peep_place_section');
        var 
$destItem = $('<div class="peep_dnd_preloader peep_preloader_content peep_stdmargin"></div>');

        
self.trigger('clone', [sectionstacksourceId, function(id){
            
$destItem.attr('id'id);
            
self.trigger('cloneComplete', [id]);
        }]);
        return 
$destItem;
    },

    
handleStop: function(sortableeui) {
        if ( ! 
this.transfered ) {
            
this.parent_handleStopsortableeui );
            return;
        }
        var 
self this;
        var 
$item = $(ui.item);
        var 
cloning ui.item.cloning;
        var 
$preloader = $('<div class="peep_dnd_preloader peep_preloader_content peep_stdmargin"></div>');
        var 
$view $item.find('.view_component');

        if ( 
$view.length ) {
            
$view.show();
            
$item.find('.schem_component').hide();

            
DND_InterfaceFix.fix($item);

            
this.parent_handleStop(sortableeui);
            return;
        }

        var 
reloadFnc = function( Id ) {
            
self.trigger('reload', [Idtrue, function( markup ){
                if (
markup) {
                    
self.drawComponent(Idmarkup);
                    
$preloader.remove();
                }
            }]);

            
self.complete();
        };

        if ( 
cloning ) {
            
this.unbind('cloneComplete');
            
this.bind('cloneComplete', function( newKey ){
                
$preloader.remove();
                
reloadFncnewKey );
            });
            return;
        }

        
$item.hide().after$preloader );
        
reloadFnc$item.attr('id') );
    },

    
changeScheme: function(schemeId) {
        var 
$left = $('.left_section''#place_sections');
        var 
$right = $('.right_section''#place_sections');

        
DND_InterfaceFix.fix($left);
        
DND_InterfaceFix.fix($right);

        
this.parent_changeScheme(schemeId);
    },

    
isComponentRenderable: function(id) {
        return 
this.isComponentInSection(id);
    },

    
drawComponent: function(cmpIdmarkup) {
        
this.parent_drawComponent(cmpIdmarkup);

        
DND_InterfaceFix.fix('#' cmpId);
    },

    
applyComponentSettings: function(idsettings) {

    },

    
redrawEmbeds: function( containerNode ) {
        var 
configureEmbed = function($embed) {
            
$embed.attr('width''100%')
                .
attr('wmode''transparent');
        };

        var 
configureObject = function($object) {
            
$object.attr('width''100%');
        };

        $(
'embed'containerNode).each(function(){
            var 
$clone = $(this).clone();
            
configureEmbed($clone);
            $(
this).replaceWith($clone);
        });

        $(
'object'containerNode).each(function(){
            var 
$clone = $(this).clone();
            
configureObject($clone);
            
configureEmbed($clone.find('embed'));
            $(
this).replaceWith($clone);
        });
    },

    
resetCustomization: function() {
        
this.trigger('reset', [function(){
            
window.location.reload();
        }]);
    }


});
?>
Онлайн: 2
Реклама