Вход Регистрация
Файл: concrete5.7.5.6/concrete/js/build/core/app/toolbar.js
Строк: 477
<?php
/**
 * Basic concrete5 toolbar class
 */

var ConcreteToolbar = function() {

    var 
$toolbar = $('#ccm-toolbar');
    var 
$searchInput = $('#ccm-nav-intelligent-search');
    var 
$searchResults = $('#ccm-intelligent-search-results');
    var 
remotesearchqueryajaxtimer;

    if (
$searchInput.length) {
        
$searchResults.css('right', $(window).width() - $searchInput.offset().left $searchResults.width() - 1);
    }

    
setupHelpNotifications = function() {
        $(
'.ccm-notification .dialog-launch').dialog();
        $(
'a[data-help-notification-toggle]').concreteHelpLauncher();
        $(
'a[data-help-launch-dialog=main]').on('click', function(e) {
            
e.preventDefault();
            new 
ConcreteHelpDialog().open();
        });

        var 
manager ConcreteHelpGuideManager.get();
        if (
manager.getGuideToLaunchOnRefresh()) {
            var 
tour ConcreteHelpGuideManager.getGuide(manager.getGuideToLaunchOnRefresh());
            
tour.start();
        }
    }

    
setupPageAlerts = function() {
        $(
document.body).on('click''a[data-dismiss-alert=page-alert]', function(e) {
            
e.stopPropagation();
            $(
'.ccm-notification').queue(function() {
                $(
this).addClass('animated fadeOut');
                $(
this).dequeue();
            }).
delay(500).queue(function() {
                $(
this).remove();
                $(
this).dequeue();
            });
            return 
false;
        });

        $(
'#ccm-notification-page-alert-workflow form').ajaxForm({
            
dataType'json',
            
beforeSubmit: function() {
                
jQuery.fn.dialog.showLoader();
            },
            
success: function(r) {
                if (
r.redirect) {
                    
window.location.href r.redirect;
                }
            }
        });

    }

    
setupTooltips = function() {
        if ($(
"#ccm-tooltip-holder").length == 0) {
            $(
'<div />').attr('id','ccm-tooltip-holder').attr('class''ccm-ui').prependTo(document.body);
        }
        $(
'.launch-tooltip').tooltip({'container''#ccm-tooltip-holder'});
    }

    
setupPanels = function() {
        $(
'<div />', {'id''ccm-panel-overlay'}).appendTo($(document.body));
        $(
'[data-launch-panel]').each(function() {
            $(
this).prepend('<span class="spinner"><div class="double-bounce1"></div><div class="double-bounce2"></div></span>')
        });

        $(
'[data-launch-panel]').unbind().on('click', function() {
            var 
$this = $(this);
            var 
panelID $this.attr('data-launch-panel');
            var 
panel ConcretePanelManager.getByIdentifier(panelID);
            if ( !
panel.willBePinned() ) $this.toggleClass('ccm-launch-panel-loading');
            
            if ( 
panel.isPinable() ) 
            {
                var 
parent = $($this.parent());
                if ( 
panel.willBePinned() || panel.pinned() ) parent.toggleClass("ccm-toolbar-page-edit-mode-pinned ");
                if (
panel.willBePinned()) {
                    
$this.attr('data-original-icon-class'$this.find('i').attr('class'));
                    
$this.find('i').removeClass().addClass('fa fa-lock');
                } else if (
$this.attr('data-original-icon-class')) {
                    
$this.find('i').removeClass().addClass($this.attr('data-original-icon-class'));
                    
$this.removeAttr('data-original-icon-class');
                }
            }
            
panel.toggle();
            return 
false;
        });
        $(
'html').addClass('ccm-panel-ready');

        
ConcreteEvent.subscribe('PanelOpen',function(edata) {
            var 
panel data.panel;
            if (
panel.options.identifier == 'page') {
                $(
'#' panel.getDOMID()).find('[data-launch-panel-detail='page-composer']').click();
            }
            $(
'a[data-toolbar-action=check-in]').on('click.close-check-in', function() {
                
ConcretePanelManager.exitPanelMode();
                return 
false;
            });
        });

        
ConcreteEvent.subscribe('PanelClose',function(e) {
            $(
'a[data-toolbar-action=check-in]').unbind('click.close-check-in');
        });

    };

    
setupIntelligentSearch = function() {
        
$searchInput.bind('keydown.ccm-intelligent-search', function(e) {
            if (
e.keyCode == 13 || e.keyCode == 40 || e.keyCode == 38) {
                
e.preventDefault();
                
e.stopPropagation();

                if (
e.keyCode == 13 && $("a.ccm-intelligent-search-result-selected").length 0) {
                    var 
href = $("a.ccm-intelligent-search-result-selected").attr('href');
                    if (!
href || href == '#' || href == 'javascript:void(0)') {
                        $(
"a.ccm-intelligent-search-result-selected").click();
                    } else {
                        
window.location.href href;
                    }
                }
                var 
visibleitems = $("#ccm-intelligent-search-results li:visible");
                var 
sel;

                if (
e.keyCode == 40 || e.keyCode == 38) {
                    $.
each(visibleitems, function(iitem) {
                        if ($(
item).children('a').hasClass('ccm-intelligent-search-result-selected')) {
                            if (
e.keyCode == 38) {
                                
io visibleitems[i-1];
                            } else {
                                
io visibleitems[i+1];
                            }
                            
sel = $(io).find('a');
                        }
                    });
                    if (
sel && sel.length 0) {
                        $(
"a.ccm-intelligent-search-result-selected").removeClass();
                        $(
sel).addClass('ccm-intelligent-search-result-selected');
                    }
                }
            }
        });

        
$searchInput.liveUpdate('ccm-intelligent-search-results''intelligent-search');
        
$searchInput.bind('keyup.ccm-intelligent-search', function(e) {
            
doRemoteSearchCall($(this).val());
        });
        
$searchInput.bind('click', function(e) { if ( this.value=="") {
            
$searchResults.hide();
        }});

    }

   
setupMobileNav = function(){
        $(
'.ccm-toolbar-mobile-menu-button').click(function(){
            $(
this).toggleClass('ccm-mobile-close');   // slide out mobile nav
            
$('.ccm-mobile-menu-overlay').slideToggle();
        });
        $(
'.ccm-mobile-menu-overlay .parent-ul a').click(function(event) {
            if(!($(
this).parent('li').hasClass('last-li'))) {
                $(
this).parent('li').siblings().children('ul').hide();
                if(!($(
this).parent('li').children('ul').is(':visible'))) {
                    $(
this).next('ul').show();
                    
event.preventDefault();
                }
            }
        });
    }

    
activateIntelligentSearchResults = function() {
        if ($(
"#ccm-intelligent-search-results div:visible").length == 0) {
            $(
"#ccm-intelligent-search-results").hide();
        }
        $(
"#ccm-intelligent-search-results a").hover(function() {
            $(
'a.ccm-intelligent-search-result-selected').removeClass();
            $(
this).addClass('ccm-intelligent-search-result-selected');
        }, function() {
            $(
this).removeClass('ccm-intelligent-search-result-selected');
        });
    }


    
doRemoteSearchCall = function(query) {
        
query jQuery.trim(query);
        if (!
query) {
            return;
        }
        if (
query.length 2) {
            if (
query == remotesearchquery) {
                return;
            }

            if (
ajaxtimer) {
                
window.clearTimeout(ajaxtimer);
            }
            
remotesearchquery query;
            
ajaxtimer window.setTimeout(function() {
                
ajaxtimer null;
                $(
"#ccm-intelligent-search-results-list-marketplace").parent().show();
                $(
"#ccm-intelligent-search-results-list-help").parent().show();
                $(
"#ccm-intelligent-search-results-list-your-site").parent().show();
                $(
"#ccm-intelligent-search-results-list-marketplace").parent().removeClass('ccm-intelligent-search-results-module-loaded');
                $(
"#ccm-intelligent-search-results-list-help").parent().removeClass('ccm-intelligent-search-results-module-loaded');
                $(
"#ccm-intelligent-search-results-list-your-site").parent().removeClass('ccm-intelligent-search-results-module-loaded');

                $.
getJSON(CCM_DISPATCHER_FILENAME '/ccm/system/marketplace/search', {
                    
'q'remotesearchquery
                
},
                function(
r) {
                    $(
"#ccm-intelligent-search-results-list-marketplace").parent().addClass('ccm-intelligent-search-results-module-loaded');
                    $(
"#ccm-intelligent-search-results-list-marketplace").html('');
                    for (
0r.lengthi++) {
                        var 
rrr[i];
                        var 
_onclick "ConcreteMarketplace.getMoreInformation(" rr.mpID ")";
                        $(
"#ccm-intelligent-search-results-list-marketplace").append('<li><a href="javascript:void(0)" onclick="' _onclick '"><img src="' rr.img '" />' rr.name '</a></li>');
                    }
                    if (
r.length == 0) {
                        $(
"#ccm-intelligent-search-results-list-marketplace").parent().hide();
                    }
                    if ($(
'.ccm-intelligent-search-result-selected').length == 0) {
                        $(
"#ccm-intelligent-search-results").find('li a').removeClass('ccm-intelligent-search-result-selected');
                        $(
"#ccm-intelligent-search-results li:visible a:first").addClass('ccm-intelligent-search-result-selected');
                    }
                    
activateIntelligentSearchResults();
                }).
error(function() {
                    $(
"#ccm-intelligent-search-results-list-marketplace").parent().hide();
                });

                $.
getJSON(CCM_DISPATCHER_FILENAME '/ccm/system/backend/get_remote_help', {
                    
'q'remotesearchquery
                
},
                function(
r) {

                    $(
"#ccm-intelligent-search-results-list-help").parent().addClass('ccm-intelligent-search-results-module-loaded');
                    $(
"#ccm-intelligent-search-results-list-help").html('');
                    for (
0r.lengthi++) {
                        var 
rrr[i];
                        $(
"#ccm-intelligent-search-results-list-help").append('<li><a href="' rr.href '">' rr.name '</a></li>');
                    }
                    if (
r.length == 0) {
                        $(
"#ccm-intelligent-search-results-list-help").parent().hide();
                    }
                    if ($(
'.ccm-intelligent-search-result-selected').length == 0) {
                        $(
"#ccm-intelligent-search-results").find('li a').removeClass('ccm-intelligent-search-result-selected');
                        $(
"#ccm-intelligent-search-results li:visible a:first").addClass('ccm-intelligent-search-result-selected');
                    }
                    
activateIntelligentSearchResults();

                }).
error(function() {
                    $(
"#ccm-intelligent-search-results-list-help").parent().hide();
                });

                $.
getJSON(CCM_DISPATCHER_FILENAME '/ccm/system/backend/intelligent_search', {
                    
'q'remotesearchquery
                
},
                function(
r) {

                    $(
"#ccm-intelligent-search-results-list-your-site").parent().addClass('ccm-intelligent-search-results-module-loaded');
                    $(
"#ccm-intelligent-search-results-list-your-site").html('');
                    for (
0r.lengthi++) {
                        var 
rrr[i];
                        $(
"#ccm-intelligent-search-results-list-your-site").append('<li><a href="' rr.href '">' rr.name '</a></li>');
                    }
                    if (
r.length == 0) {
                        $(
"#ccm-intelligent-search-results-list-your-site").parent().hide();
                    }
                    if ($(
'.ccm-intelligent-search-result-selected').length == 0) {
                        $(
"#ccm-intelligent-search-results").find('li a').removeClass('ccm-intelligent-search-result-selected');
                        $(
"#ccm-intelligent-search-results li:visible a:first").addClass('ccm-intelligent-search-result-selected');
                    }
                    
activateIntelligentSearchResults();

                }).
error(function() {
                    $(
"#ccm-intelligent-search-results-list-your-site").parent().hide();
                });
            }, 
500);
        }
    }

    return {
        
start: function() {
            if (
$toolbar.length 0) {

                
$toolbar.find('.dialog-launch').dialog();

                
setupIntelligentSearch();
                
setupPanels();
                
setupTooltips();
                
setupPageAlerts();
                
setupHelpNotifications();
                
setupMobileNav();

            }
        },

        
disable: function() {
            $(
'#ccm-toolbar-disabled').remove();
            $(
'<div />', {'id''ccm-toolbar-disabled'}).appendTo(document.body);
            
setTimeout(function() {
                $(
'#ccm-toolbar-disabled').css('opacity'1);
            }, 
10);
        },

        
enable: function() {
            $(
'#ccm-toolbar-disabled').remove();
        },

        
disableDirectExit: function() {
            var 
$link = $('li.ccm-toolbar-page-edit a');
            if (
$link.attr('data-launch-panel') != 'check-in' && $link.attr('data-disable-panel') != 'check-in') {
                
$link.attr('data-launch-panel''check-in').on('click', function() {
                    $(
this).toggleClass('ccm-launch-panel-active');
                    var 
panel ConcretePanelManager.getByIdentifier('check-in');
                    
panel.toggle();
                    return 
false;
                });
            }
        }


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