Вход Регистрация
Файл: concrete5.7.5.6/concrete/js/build/core/sitemap/sitemap-selector.js
Строк: 121
<?php
!function(global, $) {
    
'use strict';

    function 
ConcretePageSitemapSelector($elementoptions) {
        
'use strict';
        var 
my this,
            
options = $.extend({
                
'mode''single',
                
'inputName''cID',
                
'selected'0,
                
'startingPoint'1,
                
'token''',
                
filters: {}
            }, 
options);

        
my.$element = $('<div />', {'class''ccm-page-sitemap-selector-inner'});
        
my.$element.appendTo($element);
        
my.options options;

        
my.$element.concreteSitemap({
            
selectModemy.options.mode,
            
minExpandLevel0,
            
dataSourceCCM_DISPATCHER_FILENAME '/ccm/system/page/select_sitemap',
            
ajaxData: {
                
'startingPoint'my.options.startingPoint,
                
'ccm_token'my.options.token,
                
'selected'my.options.selected,
                
'filters'my.options.filters
            
},
            
onPostInit: function() {
                if (
options.selected) {
                    if (
options.mode == 'multiple') {
                        $.
each(options.selected, function(icID) {
                            var 
node my.$element.dynatree('getTree').getNodeByKey(String(cID));
                            if (
node) {
                                
node.select(true);
                            }
                        });
                    } else {
                        var 
tree my.$element.dynatree('getTree');
                        var 
node tree.getNodeByKey(String(options.selected));
                        if (
node) {
                            
node.select(true);
                        }
                    }
                }
            },
            
onSelectNode: function(nodeflag) {
                if (!
node.data.hideCheckbox) {
                    if (
flag) {
                        if (
my.options.mode == 'single') {
                            
my.deselectAll();
                        }
                        
my.select(node);
                    } else {
                        
my.deselect(node);
                    }
                } else {
                    return 
false;
                }
            }
        });

    }

    
ConcretePageSitemapSelector.prototype = {

        
deselectAll: function() {
            var 
my this;
            var 
$inputs my.$element.find('input[data-sitemap-selector-page-id]');
            
$inputs.remove();
        },

        
deselect: function(node) {
            var 
my this;
            var 
$input my.$element.find('input[data-sitemap-selector-page-id=' node.data.cID ']');
            
$input.remove();
        },

        
select: function(node) {
            var 
my this,
                
name my.options.inputName;

            if (
my.options.mode == 'multiple') {
                
name += '[]';
            }

            var 
$input = $('<input />', {
                
'data-sitemap-selector-page-id'node.data.cID,
                
'type''hidden''name'name
            
});
            
$input.val(node.data.cID)
            
$input.appendTo(my.$element);
        }
    }

    
// jQuery Plugin
    
$.fn.concretePageSitemapSelector = function(options) {
        return $.
each($(this), function(iobj) {
            new 
ConcretePageSitemapSelector($(this), options);
        });
    }

    global.
ConcretePageSitemapSelector ConcretePageSitemapSelector;

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