Ticket #7154: 7154.patch

File 7154.patch, 3.6 KB (added by Garry Yao, 9 years ago)
  • _source/plugins/dialog/plugin.js

     
    27512751                 */
    27522752                isEnabled : function()
    27532753                {
    2754                         return !this.getInputElement().getAttribute( 'disabled' );
     2754                        return !this.getElement().getAttribute( 'disabled' );
    27552755                },
    27562756
    27572757                /**
  • _source/lang/en.js

     
    6666        {
    6767                browseServer    : 'Browse Server',
    6868                url                             : 'URL',
     69                displayTxt : 'Display Text',
    6970                protocol                : 'Protocol',
    7071                upload                  : 'Upload',
    7172                uploadSubmit    : 'Send it to the Server',
     
    191192                emailBody               : 'Message Body',
    192193                noAnchors               : '(No anchors available in the document)',
    193194                noUrl                   : 'Please type the link URL',
    194                 noEmail                 : 'Please type the e-mail address'
     195                noEmail                 : 'Please type the e-mail address',
     196                linkTextFromSelection           : '<< Selection in Document>>'
    195197        },
    196198
    197199        // Anchor dialog
  • _source/plugins/link/dialogs/link.js

     
    379379                                title : linkLang.info,
    380380                                elements :
    381381                                [
     382                                        // Text to display, only available when link is text-only.
    382383                                        {
     384                                                type : 'text',
     385                                                id : 'linkTxt',
     386                                                label : commonLang.displayTxt,
     387                                                setup : function()
     388                                                {
     389                                                        this.enable();
     390
     391                                                        // Load existed link if it's text-only.
     392                                                        var editLink = this._.dialog._.selectedElement;
     393                                                        if ( editLink )
     394                                                        {
     395                                                                var innerHtml = editLink.getHtml(),
     396                                                                        innerText = editLink.getText();
     397
     398                                                                if ( innerHtml == innerText )
     399                                                                {
     400                                                                        this.setValue( innerText );
     401                                                                        return;
     402                                                                }
     403                                                        }
     404
     405                                                        // Collapsed selection indicate we're creating a new link.
     406                                                        if ( editor.getSelection().getRanges()[ 0 ].collapsed )
     407                                                                return;
     408
     409                                                        this.setValue(  linkLang.linkTextFromSelection );
     410                                                        this.disable();
     411                                                },
     412                                                commit : function( data )
     413                                                {
     414                                                        data.linkText = this.isEnabled() ? this.getValue() : '';
     415                                                }
     416                                        },
     417                                        {
    383418                                                id : 'linkType',
    384419                                                type : 'select',
    385420                                                label : linkLang.type,
     
    13141349                                if ( ranges.length == 1 && ranges[0].collapsed )
    13151350                                {
    13161351                                        // Short mailto link text view (#5736).
    1317                                         var text = new CKEDITOR.dom.text( data.type == 'email' ?
    1318                                                         data.email.address : attributes[ 'data-cke-saved-href' ], editor.document );
     1352                                        var text = new CKEDITOR.dom.text( data.linkText  || ( data.type == 'email' ?
     1353                                                        data.email.address : attributes[ 'data-cke-saved-href' ] ), editor.document );
    13191354                                        ranges[0].insertNode( text );
    13201355                                        ranges[0].selectNodeContents( text );
    13211356                                        selection.selectRanges( ranges );
     
    13391374                                if ( data.adv && data.adv.advName && CKEDITOR.plugins.link.synAnchorSelector )
    13401375                                        element.addClass( element.getChildCount() ? 'cke_anchor' : 'cke_anchor_empty' );
    13411376
    1342                                 // Update text view when user changes protocol (#4612).
    1343                                 if ( href == textView || data.type == 'email' && textView.indexOf( '@' ) != -1 )
    1344                                 {
    1345                                         // Short mailto link text view (#5736).
    1346                                         element.setHtml( data.type == 'email' ?
    1347                                                 data.email.address : attributes[ 'data-cke-saved-href' ] );
    1348                                 }
     1377                                data.linkText && element.setHtml( data.linkText );
    13491378
    13501379                                delete this._.selectedElement;
    13511380                        }
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy