• Как вывести данные из ajax?

    @Pazzetif Автор вопроса
    Может кому пригодится, сделал вот так:
    jQuery.extend({
        getValues: function(url) {
            var result = null;
            $.ajax({
                url: url,
                type: 'get',
                dataType: 'json',
                async: false,
                success: function(data) {
                        result = data;
                    console.log(result)
                }
            });
            return result;
        }
    });
    var results = $.getValues('/heroes');
    
    CKEDITOR.plugins.add( 'hero',
        {
            icons: 'hero',
            requires : ['richcombo'], //, 'styles' ],
            init : function( editor )
            {
                editor.addCommand( 'abbrDialog', new CKEDITOR.dialogCommand( 'abbrDialog' ) );
                editor.ui.addButton( 'Hero',
                    {
                        label: 'Выбрать героя',
                        command: 'abbrDialog',
    
                    } );
    
                CKEDITOR.dialog.add( 'abbrDialog', function ( editor )
                {
                //     var fields;
                //     var tenant_fields = []; //new Array();
                //     $.ajax({
                //         url: '/heroes',
                //         dataType:'json',
                //         success: function(data){
                //             for (var key in data)
                //             {
                //                 $('.cke_dialog_ui_input_select select').html('<option value='+data[key][1]+'>'+data[key][0]+'</option>');
                //
                //         }
                //             console.log(data[1]);
                //     }
                // });
    
                    // tenant_fields[4]=["Invoker", "4"];
                    // tenant_fields[5]=["Axe", "5"];
                    // tenant_fields[6]=["Juggernaut", "6"];
                    // tenant_fields[7]=["Bloodseeker", "7"];
                    // tenant_fields[8]=["Zeus", "8"];
                    // tenant_fields[9]=["Faceless Void", "9"];
                    // tenant_fields[10]=["Legion Commander", "10"];
                    // tenant_fields[11]=["Crystal Maiden", "11"];
    
    
                    return {
                        title : 'Выбор героя',
                        minWidth : 400,
                        minHeight : 200,
    
    
                        // onChange: function (api) {
                        //     // this = CKEDITOR.ui.dialog.select
                        //     alert('Current value: ' + this.getValue());
                        // }
    
                        contents :
                            [
                                {
                                    id : 'tab1',
                                    label : 'Tenants',
                                    elements :
                                        [
                                            {
                                                type : 'select',
                                                id : 'style',
                                                label : 'Style',
                                                setup : '',
                                                items : results,
                                                commit : function( data )
                                                {
                                                    data.style = this.getValue();
                                                }
    
                                            }
                                        ]
                                }
    
                            ],
    
                        onOk : function()
                        {
                            var dialog = this;
                            var abbr = editor.document.createElement( 'span' );
                            abbr.setHtml( dialog.getValueOf( 'tab1', 'style' ) );
    
                            editor.insertElement( abbr );
                        }
    
                    };
                } );
            }
        });
    Ответ написан
    Комментировать
  • Как закрыть меню по клику в не его области?

    @Pazzetif Автор вопроса
    Может кому пригодится, сделал вот так:
    $(document).mouseup(function (e){ // 
        var block = $(".personal-menu__list");
        var block2= $(".personal-menu__main")
        if (!block.is(e.target) 
            && block.has(e.target).length === 0 && !block2.is(e.target)
            && block2.has(e.target).length === 0) {
            block.addClass('toggle-menu-main');
        }
    });
    Ответ написан