1. #421
    Ext User
    Join Date
    Jan 2009
    Posts
    1
    Vote Rating
    0
    zeos is on a distinguished road

      0  

    Default


    Privet,

    I am trying to use your very nice plugin Ext.ux.TinyMCE v0.8.5
    with Ext JS Library 3.1.0 with ext-base adapter and latest tinyMCE 3.3.8,
    it works perfect when I load it first time, but when I try to open another ajax form within the same page containing the Ext.ux.TinyMCE it does load, but does not load the data, also does block the data loading to the rest of the form fields.

    Any ideas?

    P.S. QUICK(dirty) WORKAROUND without your addon:

    xtype:'textarea',
    listeners: {
    render: function(){
    tinyMCE.execCommand('mceAddControl', true, this.id);
    ed = tinyMCE.get(this.id);
    if(ed) ed.show();
    },
    beforeDestroy: function(){
    var ed = tinyMCE.get(this.id);
    if(ed) tinyMCE.remove( ed );
    }
    }


    all the best and
    thank you for your efforts!
    -- Zeos

  2. #422
    Ext JS Premium Member
    Join Date
    Mar 2007
    Location
    Germany
    Posts
    652
    Vote Rating
    0
    Dumbledore is on a distinguished road

      0  

    Default Suggestion: Extra flag to determine plugin-usage

    Suggestion: Extra flag to determine plugin-usage


    Hi,

    i use the extension inside an Ext.Editor. My page contains several editors (textfield, tinymce) and i want a consistent handling for all editors.
    For a textfield editor i use something like this configuration:

    Code:
            this.inputfieldEditor = new Ext.Editor(new Ext.form.TextField(),{
                autoSize        : 'both',
                allowBlur       : true,
                ignoreNoChange  : true,
                updateEl        : true,
                cls             : 'x-inline-editor'
            });
    When i use tinymce inside i want also complete the edit when the Ext.Editor blurs. But the blur event is also fired when a plugin open a new window. So then i have no more editor but the window with the plugin inside.
    I can´t figure out to determine open plugin-windows insode tinymce so i decided to patch the extension. Below the declartion of "WindowManager = Ext.extend( tinymce.WindowManager" i add following:

    Code:
                        open: function(s, p) {
                            this.editor.pluginInUse = true;
    
                            s = s || {};
                            p = p || {};
    
                            ...
    
    
    		    /** ----------------------------------------------------------
    		    */
    		    close: function(win) {
                            this.editor.pluginInUse = false;
    After that i can determine and canceling the blur event inside the beforecomplete event of the Ext.Editor:

    Code:
    		var htmlEditor = new Ext.Editor(
    			tinymce,
    			{
    			    autoSize        : 'both',
    		        allowBlur       : true,    // ! Beim TinyMCE wichtig! Sonst schließt der Editor beim Aufruf eines Plugins
    		        ignoreNoChange  : true,
    		        updateEl        : true,
    		        cls             : 'x-inline-editor',
    		        listeners: {
                                beforecomplete : function(ed, value, startValue ){
                                    if (tinymce.getEd().pluginInUse){
                                        tinymce.getEd().focus();
    
                                        return false;
                                    }
                                },...

    Perhaps someone find it useful or have a nicer solution?

    Bye, Dumbledore

  3. #423
    Sencha User
    Join Date
    Dec 2009
    Posts
    20
    Vote Rating
    0
    countdown is on a distinguished road

      0  

    Default


    Hi
    I use the Ext.ux.TinyMCE and the MCE image and filemanagers.
    And they don't seem to mesh very well, if someone could explain the strange behaviours or any help would be much appreciated!

    If I run the filemanager it works well! It opens in a new window though (normal behaviour I guess)
    Then if the Ext.ux.TinyMCE is rendered the filemanager starts opening in an Ext window!
    After closing (destroying) the Ext.ux.TinyMCE, the file and image managers stop working( this.editor.selection is null error on line 555)!

    How could I prevent this error and make imagemanager to always open in an Ext window?
    Thanks for all help!

  4. #424
    Sencha User
    Join Date
    Jan 2010
    Posts
    20
    Vote Rating
    0
    cstansbury is on a distinguished road

      0  

    Default


    I'm not sure if it's related to your problem or not, but I found that (when running TinyMCE v3.3.8+ and Ext.ux.TinyMCE v0.8.5) I was getting errors when trying to save after having closed one of the Ext.ux.TinyMCE instances. This problem appears to be due to the fact that the TinyMCE editor is being registered *twice*:
    - Once when the Editor instance is created (Ext will auto-register the editor instance in the Editor's "init" function)
    - A second time when Ext.ux.TinyMCE adds it (in line 176 of Ext.ux.TinyMCE-v.0.8.5).

    What happens is that when you close the instance, the editor is only being unregistered once, and therefore leaves a "stale" editor instance registered with TinyMCE which will cause a lot of trouble for subsequent editors...

    I have temporarily fixed this by commenting out line 176 of Ext.ux.TinyMCE... but have to do some more research to make sure that this is the appropriate fix (it seems to work so far).

  5. #425
    Ext User
    Join Date
    Mar 2008
    Posts
    59
    Vote Rating
    0
    blow is on a distinguished road

      0  

    Default


    Hi There,


    I have a problem with the minified Tinymce source. If i use the minified version no editor is shown. ( no errors also ).

    I've tried the minified version also on your demo pages but with the same result.

    Any ideas?

  6. #426
    Sencha User
    Join Date
    Oct 2010
    Location
    Cusco
    Posts
    11
    Vote Rating
    0
    jorgelive is on a distinguished road

      0  

    Wink Some modificatios for a fixed string lenght validation (Cakephp) and others

    Some modificatios for a fixed string lenght validation (Cakephp) and others


    All my modifications are under comments //Jg
    1. Validation was giving problems
    2. I need to set initiial size
    3. I need to consider lengths with tags.

    Working on ext 3.3

    So here the code:

    PHP Code:
    /** ************************************************************
        Ext.ux.TinyMCE v0.8.5
        ExtJS form field containing TinyMCE v3.
        
        Author: Andrew Mayorov et al.
        http://blogs.byte-force.com/xor
        
        Copyright (c)2008-2010 BYTE-force
        www.byte-force.com
        
        License: LGPLv2.1 or later
    */

    (function() {

        
    Ext.namespace("Ext.ux");

        var 
    tmceInitialized false;

        
    // Lazy references to classes. To be filled in the initTinyMCE method.
        
    var WindowManager;
        var 
    ControlManager;

        
    // Create a new Windows Group for the dialogs
        /*var windowGroup = new Ext.WindowGroup();
        windowGroup.zseed = 12000;*/


        /** ----------------------------------------------------------
        Ext.ux.TinyMCE
        */
        
    Ext.ux.TinyMCE Ext.extendExt.form.Field, {

            
    // TinyMCE Settings specified for this instance of the editor.
            
    tinymceSettingsnull,

            
    // Validation properties
            //Jg
            
    tagMatters:false,
            
    tagMattersText:'(Los caracteres HTML son considerados)',
            
    //End Jg
            
    allowBlanktrue,
            
    invalidText"El valor en este campo es inválido",
            
    invalidClass"invalid-content-body",
            
    minLengthText "El tamaño mínimo para el campo es {0} caracteres",
            
    minLength 3,
            
    maxLengthText 'El tamaño mánimo para el campo es {0} caracteres',
            
    maxLength 8,
            
    blankText 'Este campo es obligatorio',

            
    // HTML markup for this field
            
    hideMode'offsets',
            
    defaultAutoCreate: {
                
    tag"textarea",
                
    style"width:1px;height:1px;",
                
    autocomplete"off"
            
    },

            
    /** ----------------------------------------------------------
            */
            
    constructor: function(cfg) {

                var 
    config = {
                    
    tinymceSettings: {
                        
    accessibility_focusfalse
                    
    }
                };

                
    Ext.apply(configcfg);

                
    // Add events
                
    this.addEvents({
                    
    "editorcreated"true
                
    });

                
    Ext.ux.TinyMCE.superclass.constructor.call(thisconfig);
            },

            
    /** ----------------------------------------------------------
            */
            
    initComponent: function() {
                
    this.tinymceSettings this.tinymceSettings || {};
                
    Ext.ux.TinyMCE.initTinyMCE({ languagethis.tinymceSettings.language });
            },

            
    /** ----------------------------------------------------------
            */
            
    initEvents: function() {
                
    this.originalValue this.getValue();
            },

            
    /** ----------------------------------------------------------
            */
            
    onRender: function(ctposition) {
                
    Ext.ux.TinyMCE.superclass.onRender.call(thisctposition);

                
    // Fix size if it was specified in config
                
    if (Ext.type(this.width) == "number") {
                    
    this.tinymceSettings.width this.width;
                }
                if (
    Ext.type(this.height) == "number") {
                    
    this.tinymceSettings.height this.height;
                }

                
    //this.el.dom.style.border = '0 none';
                
    this.el.dom.setAttribute('tabIndex', -1);
                
    this.el.addClass('x-hidden');
                
                
    // Wrap textarea into DIV
                
    this.textareaEl this.el;
                var 
    wrapElStyle = { overflow"hidden" };
                if( 
    Ext.isIE ) { // fix IE 1px bogus margin
                    
    wrapElStyle["margin-top"] = "-1px";
                    
    wrapElStyle["margin-bottom"] = "-1px";
                }
                
    this.wrapEl this.el.wrap({ stylewrapElStyle });
                
    this.actionMode "wrapEl"// Set action element to the new wrapper
                
    this.positionEl this.wrapEl;
                
                var 
    id this.getId();

                
    // Create TinyMCE editor.
                
    this.ed = new tinymce.Editor(idthis.tinymceSettings);
                
                
    // Validate value onKeyPress
                
    var validateContentTask = new Ext.util.DelayedTaskthis.validatethis );
                
    this.ed.onKeyPress.add(function(edcontrolManager) {
                    
    validateContentTask.delay250 );
                } .
    createDelegate(this));

                
    // Set up editor events' handlers
                
    this.ed.onBeforeRenderUI.add(function(edcontrolManager) {
                    
    // Replace control manager
                    
    ed.controlManager = new ControlManager(thised);
                } .
    createDelegate(this));

                
    this.ed.onPostRender.add(function(edcontrolManager) {
                    var 
    ed.settings;

                    
    // Modify markup.
                    
    var tbar Ext.get(Ext.DomQuery.selectNode("#" this.ed.id "_tbl td.mceToolbar"));
                    if( 
    tbar != null ) {
                        
    // If toolbar is present
                        
    var tbars tbar.select("> table.mceToolbar");
                        
    Ext.DomHelper
                            
    .appendtbar,
                                { 
    tag"div"idthis.ed.id "_xtbar"style: { overflow"hidden"} }
                                , 
    true )
                            .
    appendChild(tbars);
                    }
                    
                    
    // Change window manager
                    
    ed.windowManager = new WindowManager({
                        
    editorthis.ed,
                        
    managerthis.manager
                    
    });
                    
    // Patch css-style for validation body like ExtJS
                    
    Ext.get(ed.getContentAreaContainer()).addClass('patch-content-body');

                    
    // Event of focused body
                    
    Ext.Element.fly(s.content_editable ed.getBody() : ed.getWin())
                        .
    on("focus"this.onFocusthis);

                    
    // Event of blur body
                    
    Ext.Element.fly(s.content_editable ed.getBody() : ed.getWin())
                        .
    on("blur"this.onBlurthis,
                            
    this.inEditor && Ext.isWindows && Ext.isGecko ? { buffer10} : null
                        
    );

                } .
    createDelegate(this));

                
    // Set event handler on editor init.
                //this.ed.onInit.add(function() {
                //} .createDelegate(this));

                // Wire "change" event
                
    this.ed.onChange.add(function(edl) {
                    
    this.fireEvent("change"edl);
                } .
    createDelegate(this));

                
    // Render the editor
                
    this.ed.render();
                
    tinyMCE.add(this.ed);
                
                
    // Fix editor size when control will be visible
                
    (function fixEditorSize() {
                
                    
    // If element is not visible yet, wait.
                    
    if( !this.isVisible() ) {
                        
    arguments.callee.defer50this );
                        return;
                    }
                    
                    var 
    size this.getSize();
                    
    this.withEd( function() {
                        
    this._setEditorSizesize.widthsize.height );
                        
                        
    // Indicate that editor is created
                        
    this.fireEvent("editorcreated");
                    });
                }).
    callthis );
            },

            
    /** ----------------------------------------------------------
            */
            
    getResizeEl: function() {
                return 
    this.wrapEl;
            },

            
    /** ----------------------------------------------------------
            * Returns the name attribute of the field if available
            * @return {String} name The field name
            */
            
    getName: function() {
                return 
    this.rendered && this.textareaEl.dom.name
                    
    this.textareaEl.dom.name : (this.name || '');
            },

            
    /** ----------------------------------------------------------
            */
            
    initValue: function() {

                if (!
    this.rendered)
                    
    Ext.ux.TinyMCE.superclass.initValue.call(this);
                else {
                    if (
    this.value !== undefined) {
                        
    this.setValue(this.value);
                    }
                    else {
                        var 
    this.textareaEl.value
                        if ( 
    )
                            
    this.setValue);
                    }
                }
            },

            
    /** ----------------------------------------------------------
            */
            
    beforeDestroy: function() {
                if( 
    this.ed tinyMCE.removethis.ed );
                if( 
    this.wrapEl Ext.destroythis.wrapEl );
                
    Ext.ux.TinyMCE.superclass.beforeDestroy.callthis );
            },

            
    /** ----------------------------------------------------------
            */
            
    getRawValue : function(){

                if( !
    this.rendered || !this.ed.initialized )
                    return 
    Ext.valuethis.value'' );
                    
                var 
    this.ed.getContent();
                if(
    === this.emptyText){
                    
    '';
                }
                return 
    v;
            },

            
    /** ----------------------------------------------------------
            */
            
    getValue: function() {

                if( !
    this.rendered || !this.ed.initialized )
                    return 
    Ext.valuethis.value'' );

                var 
    this.ed.getContent();
                if( 
    === this.emptyText || === undefined ){
                    
    '';
                }
                return 
    v;
            },

            
    /** ----------------------------------------------------------
            */
            
    setRawValue: function(v) {
                
    this.value v;
                if (
    this.rendered)
                    
    this.withEd(function() {
                        
    this.ed.undoManager.clear();
                        
    this.ed.setContent(=== null || === undefined '' v);
                        
    this.ed.startContent this.ed.getContent({ format'raw' });
                    });
            },

            
    /** ----------------------------------------------------------
            */
            
    setValue: function(v) {
                
    this.value v;
                if (
    this.rendered)
                    
    this.withEd(function() {
                        
    this.ed.undoManager.clear();
                        
    this.ed.setContent(=== null || === undefined '' v);
                        
    this.ed.startContent this.ed.getContent({ format'raw' });
                        
    this.validate();
                        
    //this.ed.resizeToContent();
                    
    });
            },

            
    /** ----------------------------------------------------------
            */
            
    isDirty: function() {
                if (
    this.disabled || !this.rendered) {
                    return 
    false;
                }
                return 
    this.ed && this.ed.initialized && this.ed.isDirty();
            },

            
    /** ----------------------------------------------------------
            */
            
    syncValue: function() {
                if (
    this.rendered && this.ed.initialized)
                    
    this.ed.save();
            },

            
    /** ----------------------------------------------------------
            */
            
    getEd: function() {
                return 
    this.ed;
            },

            
    /** ----------------------------------------------------------
            */
            
    disable: function() {
                
    this.withEd(function() {
                    var 
    bodyEl this.ed.getBody();
                    
    bodyEl Ext.get(bodyEl);

                    if (
    bodyEl.hasClass('mceContentBody')) {
                        
    bodyEl.removeClass('mceContentBody');
                        
    bodyEl.addClass('mceNonEditable');
                    }
                });
            },

            
    /** ----------------------------------------------------------
            */
            
    enable: function() {
                
    this.withEd(function() {
                    var 
    bodyEl this.ed.getBody();
                    
    bodyEl Ext.get(bodyEl);

                    if (
    bodyEl.hasClass('mceNonEditable')) {
                        
    bodyEl.removeClass('mceNonEditable');
                        
    bodyEl.addClass('mceContentBody');
                    }
                });
            },

            
    /** ----------------------------------------------------------
            */
            
    onResize: function(awah) {
                if( 
    Ext.typeaw ) != "number" ){
                    
    aw this.getWidth();
                }
                if( 
    Ext.type(ah) != "number" ){
                    
    ah this.getHeight();
                }
                if (
    aw == || ah == 0)
                    return;

                if( 
    this.rendered && this.isVisible() ) {
                    
    this.withEd(function() { this._setEditorSizeawah ); });
                }
            },
            
            
    /** ----------------------------------------------------------
                Sets control size to the given width and height
            */
            
    _setEditorSize: function( widthheight ) {
            
                
    // We currently support only advanced theme resize
                
    if( !this.ed.theme.AdvancedTheme ) return;
                
    //Jg
                
    if (this.iHeight&&this.iWidth){
                    
    width=this.iWidth;
                    
    height=this.iHeight;
                }
                
    //end Jg
                // Minimal width and height for advanced theme
                
    if( width 300 width 300;
                if( 
    height 100 height 100;
                
                
    // Set toolbar div width
                
    var edTable Ext.get(this.ed.id "_tbl"), 
                    
    edIframe Ext.get(this.ed.id "_ifr"),
                    
    edToolbar Ext.get(this.ed.id "_xtbar");
                
                var 
    toolbarWidth width;
                if( 
    edTable 
                    
    toolbarWidth width edTable.getFrameWidth"lr" );        
                var 
    toolbarHeight 0;
                if( 
    edToolbar ) {
                    
    toolbarHeight edToolbar.getHeight();
                    var 
    toolbarTd edToolbar.findParent"td"5true );
                    
    toolbarHeight += toolbarTd.getFrameWidth"tb" );
                    
    edToolbar.setWidthtoolbarWidth );
                }
                var 
    edStatusbarTd edTable.child".mceStatusbar" );
                var 
    statusbarHeight 0;
                if( 
    edStatusbarTd ) {
                    
    statusbarHeight += edStatusbarTd.getHeight();
                }
                var 
    iframeHeight height toolbarHeight statusbarHeight;
                var 
    iframeTd edIframe.findParent"td"5true );
                if( 
    iframeTd )
                    
    iframeHeight -= iframeTd.getFrameWidth"tb" );
                
    // Resize iframe and container
                
    edTable.setSizewidthheight );
                
    edIframe.setSizetoolbarWidthiframeHeight );
            },

            
    /** ----------------------------------------------------------
            */
            
    focus: function(selectTextdelay) {
                if (
    delay) {
                    
    this.focus.defer(typeof delay == 'number' delay 10this, [selectTextfalse]);
                    return;
                }

                
    this.withEd(function() {
                    
    this.ed.focus();
                    
    /*if (selectText === true) {
                    // TODO: Select editor's content
                    }*/
                
    });

                return 
    this;
            },

            
    /** ----------------------------------------------------------
            */
            
            //Jg
            
    processValue : function( value ){
                if (!
    this.tagMatters==true){
                    return 
    Ext.util.Format.stripTagsvalue );
                }else{
                    return 
    value;    
                }
            },
            
    //End Jg
            
            /** ----------------------------------------------------------
            */
            //Jg
            
    validateValue: function( value ) {
                var 
    valido=false;
                if(
    Ext.isFunction(this.validator)){
                    var 
    msg this.validator(value);
                    if(
    msg !== true){
                        
    this.markInvalid(msg);
                        return 
    false;
                    }
                }
                var 
    afterText='';
                if (
    this.tagMatters==true){
                    
    afterText=' '+this.tagMattersText;
                }
                if(
    value.length || value === this.emptyText){ // if it's blank
                     
    if(this.allowBlank){
                         
    valido=true;
                         
    this.minLength=0;
                     }else{
                         
    this.markInvalid(this.blankText);
                         return 
    false;
                     }
                }
                if(
    this.minLength!=0){
                    if(
    value.length this.minLength){
                        
    this.markInvalid(String.format(this.minLengthText+afterTextthis.minLength));
                        return 
    false;
                    }else{
                        
    valido=true;
                    }
                }else{
                    
    valido=true;
                }
                if(
    this.maxLength!=0){
                    if(
    value.length this.maxLength){
                        
    this.markInvalid(String.format(this.maxLengthText+afterTextthis.minLength));
                        return 
    false;
                    }else{
                        
    valido=true;
                    }
                }else{
                    
    valido=true;
                }
                if (
    valido==true){
                    
    this.clearInvalid();
                    return 
    true;
                }else{
                    
    this.markInvalid('Invalido por razon desconocida');
                    return 
    false;
                }
            },
            
    //End Jg

            /** ----------------------------------------------------------
            If ed (local editor instance) is already initilized, calls
            specified function directly. Otherwise - adds it to ed.onInit event.
            */
            
    withEd: function(func) {

                
    // If editor is not created yet, reschedule this call.
                
    if (!this.edthis.on(
                    
    "editorcreated",
                    function() { 
    this.withEd(func); },
                    
    this);

                
    // Else if editor is created and initialized
                
    else if (this.ed.initializedfunc.call(this);

                
    // Else if editor is created but not initialized yet.
                
    else this.ed.onInit.add(function() { func.defer(10this); } .createDelegate(this));
            }
        });

        
    // Add static members
        
    Ext.apply(Ext.ux.TinyMCE, {

            
    /**
            Static field with all the plugins that should be loaded by TinyMCE.
            Should be set before first component would be created.
            @static
            */
            
    tinymcePlugins"pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

            
    /** ----------------------------------------------------------
                Inits TinyMCE and other necessary dependencies.
            */
            
    initTinyMCE: function(settings) {
                if (!
    tmceInitialized) {

                    
    // Create lazy classes
                    /** ----------------------------------------------------------
                    WindowManager
                    */
                    
    WindowManager Ext.extendtinymce.WindowManager, {

                        
    /** ----------------------------------------------------------
                            Config parameters:
                            editor - reference to TinyMCE intstance.
                            mangager - WindowGroup to use for the popup window. Could be empty.
                        */
                        
    constructor: function( cfg ) {
                            
    WindowManager.superclass.constructor.call(thiscfg.editor);

                            
    // Set window group
                            
    this.manager cfg.manager;
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    alert: function(txtcbs) {
                            
    Ext.MessageBox.alert(""txt, function() {
                                if (!
    Ext.isEmpty(cb)) {
                                    
    cb.call(this);
                                }
                            }, 
    s);
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    confirm: function(txtcbs) {
                            
    Ext.MessageBox.confirm(""txt, function(btn) {
                                if (!
    Ext.isEmpty(cb)) {
                                    
    cb.call(thisbtn == "yes");
                                }
                            }, 
    s);
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    open: function(sp) {

                            
    || {};
                            
    || {};

                            if (!
    s.type)
                                
    this.bookmark this.editor.selection.getBookmark('simple');

                            
    s.width parseInt(s.width || 320);
                            
    s.height parseInt(s.height || 240) + (tinymce.isIE 0);
                            
    s.min_width parseInt(s.min_width || 150);
                            
    s.min_height parseInt(s.min_height || 100);
                            
    s.max_width parseInt(s.max_width || 2000);
                            
    s.max_height parseInt(s.max_height || 2000);
                            
    s.movable true;
                            
    s.resizable true;
                            
    p.mce_width s.width;
                            
    p.mce_height s.height;
                            
    p.mce_inline true;

                            
    this.features s;
                            
    this.params p;

                            var 
    win = new Ext.Window(
                            {
                                
    titles.name,
                                
    widths.width,
                                
    heights.height,
                                
    minWidths.min_width,
                                
    minHeights.min_height,
                                
    resizabletrue,
                                
    maximizables.maximizable,
                                
    minimizables.minimizable,
                                
    modaltrue,
                                
    statefulfalse,
                                
    constraintrue,
                                
    managerthis.manager,
                                
    layout"fit",
                                
    items: [
                                    new 
    Ext.BoxComponent({
                                        
    autoEl: {
                                            
    tag'iframe',
                                            
    srcs.url || s.file
                                        
    },
                                        
    style 'border-width: 0px;'
                                    
    })
                                ]
                            });

                            
    p.mce_window_id win.getId();

                            
    win.show(null,
                                function() {
                                    if (
    s.left && s.top)
                                        
    win.setPagePosition(s.lefts.top);
                                    var 
    pos win.getPosition();
                                    
    s.left pos[0];
                                    
    s.top pos[1];
                                    
    this.onOpen.dispatch(thissp);
                                },
                                
    this
                            
    );

                            return 
    win;
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    close: function(win) {

                            
    // Probably not inline
                            
    if (!win.tinyMCEPopup || !win.tinyMCEPopup.id) {
                                
    WindowManager.superclass.close.call(thiswin);
                                return;
                            }

                            var 
    Ext.getCmp(win.tinyMCEPopup.id);
                            if (
    w) {
                                
    this.onClose.dispatch(this);
                                
    w.close();
                            }
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    setTitle: function(winti) {

                            
    // Probably not inline
                            
    if (!win.tinyMCEPopup || !win.tinyMCEPopup.id) {
                                
    WindowManager.superclass.setTitle.call(thiswinti);
                                return;
                            }

                            var 
    Ext.getCmp(win.tinyMCEPopup.id);
                            if (
    ww.setTitle(ti);
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    resizeBy: function(dwdhid) {

                            var 
    Ext.getCmp(id);
                            if (
    w) {
                                var 
    size w.getSize();
                                
    w.setSize(size.width dwsize.height dh);
                            }
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    focus: function(id) {
                            var 
    Ext.getCmp(id);
                            if (
    ww.setActive(true);
                        }
                        
                    });

                    
    /** ----------------------------------------------------------
                    ControlManager
                    */
                    
    ControlManager Ext.extendtinymce.ControlManager, {

                        
    // Reference to ExtJS control Ext.ux.TinyMCE.
                        
    controlnull,

                        
    /** ----------------------------------------------------------
                        */
                        
    constructor: function(controleds) {
                            
    this.control control;
                            
    ControlManager.superclass.constructor.call(thiseds);
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    createDropMenu: function(ids) {
                            
    // Call base method
                            
    var res ControlManager.superclass.createDropMenu.call(thisids);

                            
    // Modify returned result
                            
    var orig res.showMenu;
                            
    res.showMenu = function(xypx) {
                                
    orig.call(thisxypx);
                                
    Ext.fly('menu_' this.id).setStyle("z-index"200001);
                            };

                            return 
    res;
                        },

                        
    /** ----------------------------------------------------------
                        */
                        
    createColorSplitButton: function(ids) {
                            
    // Call base method
                            
    var res ControlManager.superclass.createColorSplitButton.call(thisids);

                            
    // Modify returned result
                            
    var orig res.showMenu;
                            
    res.showMenu = function(xypx) {
                                
    orig.call(thisxypx);
                                
    Ext.fly(this.id '_menu').setStyle("z-index"200001);
                            };

                            return 
    res;
                        }
                    });

                    
    // Init TinyMCE
                    
    var = {
                        
    mode"none",
                        
    pluginsExt.ux.TinyMCE.tinymcePlugins,
                        
    theme"advanced"
                    
    };
                    
    Ext.apply(ssettings);

                    if (!
    tinymce.dom.Event.domLoaded)
                        
    tinymce.dom.Event._pageInit();

                    
    tinyMCE.init(s);
                    
    tmceInitialized true;
                }
            }
        });

        
    Ext.ComponentMgr.registerType("tinymce"Ext.ux.TinyMCE);

    })(); 

  7. #427
    Sencha User
    Join Date
    Jun 2007
    Posts
    15
    Vote Rating
    0
    kmiyashiro is on a distinguished road

      0  

    Default


    Quote Originally Posted by cstansbury View Post
    I have temporarily fixed this by commenting out line 176 of Ext.ux.TinyMCE... but have to do some more research to make sure that this is the appropriate fix (it seems to work so far).
    Thanks for your debugging. I actually had to comment out line 177:
    Code:
    tinyMCE.add(this.ed);

  8. #428
    Sencha User
    Join Date
    Jun 2008
    Posts
    288
    Vote Rating
    16
    Qtx will become famous soon enough

      0  

    Default


    //signalbook_edit.js

    Yes, this file is absent. Also in the examples on your page, it is absent. Please give this file.

    Is it possible to toggle the wysiwyg editor with text area for html code mode? Like here

    http://tinymce.moxiecode.com/tryit/toggle_editor.php

  9. #429
    Ext JS Premium Member
    Join Date
    Jul 2009
    Posts
    122
    Vote Rating
    0
    andynuss is on a distinguished road

      0  

    Default extjs 4

    extjs 4


    Hi,

    Are there plans for having a version of your extension compatible with extjs 4, or is it already compatible with extjs 4?

    Thanks,
    Andy

  10. #430
    Sencha User
    Join Date
    Apr 2007
    Location
    Yaroslavl, Russia
    Posts
    184
    Vote Rating
    0
    xor is on a distinguished road

      0  

    Default


    @andynuss

    It definitely will work with Ext 4. But, I afraid, only after we'll start migrating our application to Ext 4. We didn't try yet.

    Best,
    Andrew
    Andrew Mayorov (blog)
    BYTE-force
    We can provide paid remote consultancy on ExtJS or our components.

Thread Participants: 127

  1. galdaka (1 Post)
  2. Dumbledore (26 Posts)
  3. mystix (1 Post)
  4. dawesi (1 Post)
  5. albeva (7 Posts)
  6. ludoo (1 Post)
  7. bloudon (2 Posts)
  8. MarkB (4 Posts)
  9. Cipher (2 Posts)
  10. Hani (3 Posts)
  11. Pagebaker (2 Posts)
  12. DigitalSkyline (1 Post)
  13. thesilentman (5 Posts)
  14. marcing (1 Post)
  15. mschering (5 Posts)
  16. Konstantin (1 Post)
  17. temporary (1 Post)
  18. tobiu (1 Post)
  19. billeatman (1 Post)
  20. kmiyashiro (2 Posts)
  21. cmendez21 (4 Posts)
  22. 6epcepk (2 Posts)
  23. ZooKeeper (6 Posts)
  24. Yossi (5 Posts)
  25. JNason (4 Posts)
  26. ko0kiE (1 Post)
  27. Fredric Berling (2 Posts)
  28. Dongluan (2 Posts)
  29. w011117 (4 Posts)
  30. cnelissen (5 Posts)
  31. cmarin (2 Posts)
  32. lvanderree (21 Posts)
  33. kavih7 (4 Posts)
  34. hjf1223 (1 Post)
  35. AVerta (2 Posts)
  36. MuratCorlu (1 Post)
  37. vironitronox (1 Post)
  38. saJoshua (1 Post)
  39. Kannabismus (1 Post)
  40. supawat (1 Post)
  41. nikatwork (3 Posts)
  42. scipio (1 Post)
  43. neenhouse (2 Posts)
  44. tfrugia (2 Posts)
  45. asugama (2 Posts)
  46. liuliming (1 Post)
  47. marco76 (1 Post)
  48. yaroslav (1 Post)
  49. dverkade (1 Post)
  50. scottco (1 Post)
  51. broutard (1 Post)
  52. cybertaz (2 Posts)
  53. jwendt@iscinternational.com (1 Post)
  54. kai5263499 (1 Post)
  55. sirioz10 (6 Posts)
  56. jenner (5 Posts)
  57. EMP (1 Post)
  58. joao_candido (2 Posts)
  59. uros (1 Post)
  60. craigharmonic (3 Posts)
  61. serff (1 Post)
  62. vishee (4 Posts)
  63. walldorff (3 Posts)
  64. blow (1 Post)
  65. genius3k (1 Post)
  66. ehask71 (2 Posts)
  67. pauleee (1 Post)
  68. illuminum (1 Post)
  69. basti (1 Post)
  70. Qtx (1 Post)
  71. Cravi (1 Post)
  72. uwolfer (5 Posts)
  73. alex-t.de (1 Post)
  74. Denny Crane (2 Posts)
  75. lucasmarin (1 Post)
  76. dayext (1 Post)
  77. adamadax (2 Posts)
  78. ben_dog (2 Posts)
  79. paulyb263 (1 Post)
  80. iLoLo21 (2 Posts)
  81. queej (5 Posts)
  82. arnab_ghosh (2 Posts)
  83. vanadium (1 Post)
  84. emmadi (5 Posts)
  85. pablitobs (4 Posts)
  86. mstroeve (2 Posts)
  87. mschwartz (5 Posts)
  88. armagedon (1 Post)
  89. Stju (3 Posts)
  90. elderotaku (1 Post)
  91. ahwin (6 Posts)
  92. lakilevi (2 Posts)
  93. zeos (1 Post)
  94. sergiu079 (1 Post)
  95. Toon (2 Posts)
  96. Jangla (4 Posts)
  97. mjh (3 Posts)
  98. treadmill (3 Posts)
  99. joejernst (2 Posts)
  100. alumb (1 Post)
  101. Aniruddha (1 Post)
  102. hansl1963 (5 Posts)
  103. andynuss (9 Posts)
  104. davidbuzatto (3 Posts)
  105. slsmithtx (2 Posts)
  106. asagala (11 Posts)
  107. juste_millieu (1 Post)
  108. skunk (2 Posts)
  109. mrjoltcola (1 Post)
  110. damo (2 Posts)
  111. ivanatora (3 Posts)
  112. JeanNiBee (2 Posts)
  113. lj2008 (1 Post)
  114. countdown (1 Post)
  115. cstansbury (2 Posts)
  116. Boxcopter (1 Post)
  117. mjbohn (3 Posts)
  118. ajlaluan (1 Post)
  119. Tpona (1 Post)
  120. omerfarooq123 (2 Posts)
  121. sraghavachari (1 Post)
  122. jorgelive (1 Post)
  123. wboard (2 Posts)
  124. wpoosanguansit (1 Post)
  125. DaviPresentia (1 Post)
  126. aa0 (1 Post)
  127. odaihatim (1 Post)

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar