Dotclear


Ignore:
Timestamp:
12/21/16 11:58:09 (9 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Update CKEditor from 4.6.0 to 4.6.1

Location:
plugins/dcCKEditor/js/ckeditor
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • plugins/dcCKEditor/js/ckeditor/CHANGES.md

    r3410 r3464  
    11CKEditor 4 Changelog 
    22==================== 
     3 
     4## CKEditor 4.6.1 
     5 
     6New Features: 
     7 
     8* [#16639](http://dev.ckeditor.com/ticket/16639): The `callback` parameter in the [CKEDITOR.ajax.post](http://docs.ckeditor.com/#!/api/CKEDITOR.ajax-method-post) method became optional. 
     9 
     10Fixed Issues: 
     11 
     12* [#11064](http://dev.ckeditor.com/ticket/11064): [Blink, WebKit] Fixed: Cannot select all editor content when a widget or a non-editable element is the first or last element of the content. Also fixes this issue in the [Select All](http://ckeditor.com/addon/selectall) plugin. 
     13* [#14755](http://dev.ckeditor.com/ticket/14755): [Blink, WebKit, IE8] Fixed: Browser hangs when a table is inserted in the place of a selected list with an empty last item. 
     14* [#16624](http://dev.ckeditor.com/ticket/16624): Fixed: Improved the [Color Button](http://ckeditor.com/addon/colorbutton) plugin which will now normalize the CSS `background` property if it only contains a color value. This fixes missing background colors when using [Paste from Word](http://ckeditor.com/addon/pastefromword). 
     15* [#16600](http://dev.ckeditor.com/ticket/16600): [Blink, WebKit] Fixed: Error thrown occasionally by an uninitialized editable for multiple CKEditor instances on the same page. 
    316 
    417## CKEditor 4.6 
     
    1326     * Major improvements in preservation of list numbering, styling and indentation (nested lists with multiple levels). 
    1427     * Major improvements in document structure parsing that fix plenty of issues with distorted or missing content after paste. 
    15 * Added new translation: Occitan. Thanks to Cédric Valmary! 
     28* Added new translation: Occitan. Thanks to [Cédric Valmary](https://totenoc.eu/)! 
    1629* [#10015](http://dev.ckeditor.com/ticket/10015): Keyboard shortcuts (relevant to the operating system in use) will now be displayed in tooltips and context menus. 
    1730* [#13794](http://dev.ckeditor.com/ticket/13794): The [Upload Image](http://ckeditor.com/addon/uploadimage) feature now uses `uploaded.width/height` if set. 
  • plugins/dcCKEditor/js/ckeditor/ckeditor.js

    r3413 r3464  
    4747               // for each release and generated by the releaser. 
    4848               // (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122) 
    49                timestamp: 'GAKA', 
     49               timestamp: 'GBLA', 
    5050 
    5151               /** 
     
    5454                *        alert( CKEDITOR.version ); // e.g. 'CKEditor 3.4.1' 
    5555                */ 
    56                version: '4.6.0', 
     56               version: '4.6.1', 
    5757 
    5858               /** 
     
    28062806 
    28072807               return selector; 
     2808          }, 
     2809 
     2810          /** 
     2811           * A set of functions for operations on styles. 
     2812           * 
     2813           * @property {CKEDITOR.tools.style} 
     2814           */ 
     2815          style: { 
     2816               /** 
     2817                * Methods to parse miscellaneous CSS properties. 
     2818                * 
     2819                * @property {CKEDITOR.tools.style.parse} 
     2820                * @member CKEDITOR.tools.style 
     2821                */ 
     2822               parse: { 
     2823                    // Color list based on https://www.w3.org/TR/css-color-4/#named-colors. 
     2824                    _colors: { 
     2825                         aliceblue: '#F0F8FF', 
     2826                         antiquewhite: '#FAEBD7', 
     2827                         aqua: '#00FFFF', 
     2828                         aquamarine: '#7FFFD4', 
     2829                         azure: '#F0FFFF', 
     2830                         beige: '#F5F5DC', 
     2831                         bisque: '#FFE4C4', 
     2832                         black: '#000000', 
     2833                         blanchedalmond: '#FFEBCD', 
     2834                         blue: '#0000FF', 
     2835                         blueviolet: '#8A2BE2', 
     2836                         brown: '#A52A2A', 
     2837                         burlywood: '#DEB887', 
     2838                         cadetblue: '#5F9EA0', 
     2839                         chartreuse: '#7FFF00', 
     2840                         chocolate: '#D2691E', 
     2841                         coral: '#FF7F50', 
     2842                         cornflowerblue: '#6495ED', 
     2843                         cornsilk: '#FFF8DC', 
     2844                         crimson: '#DC143C', 
     2845                         cyan: '#00FFFF', 
     2846                         darkblue: '#00008B', 
     2847                         darkcyan: '#008B8B', 
     2848                         darkgoldenrod: '#B8860B', 
     2849                         darkgray: '#A9A9A9', 
     2850                         darkgreen: '#006400', 
     2851                         darkgrey: '#A9A9A9', 
     2852                         darkkhaki: '#BDB76B', 
     2853                         darkmagenta: '#8B008B', 
     2854                         darkolivegreen: '#556B2F', 
     2855                         darkorange: '#FF8C00', 
     2856                         darkorchid: '#9932CC', 
     2857                         darkred: '#8B0000', 
     2858                         darksalmon: '#E9967A', 
     2859                         darkseagreen: '#8FBC8F', 
     2860                         darkslateblue: '#483D8B', 
     2861                         darkslategray: '#2F4F4F', 
     2862                         darkslategrey: '#2F4F4F', 
     2863                         darkturquoise: '#00CED1', 
     2864                         darkviolet: '#9400D3', 
     2865                         deeppink: '#FF1493', 
     2866                         deepskyblue: '#00BFFF', 
     2867                         dimgray: '#696969', 
     2868                         dimgrey: '#696969', 
     2869                         dodgerblue: '#1E90FF', 
     2870                         firebrick: '#B22222', 
     2871                         floralwhite: '#FFFAF0', 
     2872                         forestgreen: '#228B22', 
     2873                         fuchsia: '#FF00FF', 
     2874                         gainsboro: '#DCDCDC', 
     2875                         ghostwhite: '#F8F8FF', 
     2876                         gold: '#FFD700', 
     2877                         goldenrod: '#DAA520', 
     2878                         gray: '#808080', 
     2879                         green: '#008000', 
     2880                         greenyellow: '#ADFF2F', 
     2881                         grey: '#808080', 
     2882                         honeydew: '#F0FFF0', 
     2883                         hotpink: '#FF69B4', 
     2884                         indianred: '#CD5C5C', 
     2885                         indigo: '#4B0082', 
     2886                         ivory: '#FFFFF0', 
     2887                         khaki: '#F0E68C', 
     2888                         lavender: '#E6E6FA', 
     2889                         lavenderblush: '#FFF0F5', 
     2890                         lawngreen: '#7CFC00', 
     2891                         lemonchiffon: '#FFFACD', 
     2892                         lightblue: '#ADD8E6', 
     2893                         lightcoral: '#F08080', 
     2894                         lightcyan: '#E0FFFF', 
     2895                         lightgoldenrodyellow: '#FAFAD2', 
     2896                         lightgray: '#D3D3D3', 
     2897                         lightgreen: '#90EE90', 
     2898                         lightgrey: '#D3D3D3', 
     2899                         lightpink: '#FFB6C1', 
     2900                         lightsalmon: '#FFA07A', 
     2901                         lightseagreen: '#20B2AA', 
     2902                         lightskyblue: '#87CEFA', 
     2903                         lightslategray: '#778899', 
     2904                         lightslategrey: '#778899', 
     2905                         lightsteelblue: '#B0C4DE', 
     2906                         lightyellow: '#FFFFE0', 
     2907                         lime: '#00FF00', 
     2908                         limegreen: '#32CD32', 
     2909                         linen: '#FAF0E6', 
     2910                         magenta: '#FF00FF', 
     2911                         maroon: '#800000', 
     2912                         mediumaquamarine: '#66CDAA', 
     2913                         mediumblue: '#0000CD', 
     2914                         mediumorchid: '#BA55D3', 
     2915                         mediumpurple: '#9370DB', 
     2916                         mediumseagreen: '#3CB371', 
     2917                         mediumslateblue: '#7B68EE', 
     2918                         mediumspringgreen: '#00FA9A', 
     2919                         mediumturquoise: '#48D1CC', 
     2920                         mediumvioletred: '#C71585', 
     2921                         midnightblue: '#191970', 
     2922                         mintcream: '#F5FFFA', 
     2923                         mistyrose: '#FFE4E1', 
     2924                         moccasin: '#FFE4B5', 
     2925                         navajowhite: '#FFDEAD', 
     2926                         navy: '#000080', 
     2927                         oldlace: '#FDF5E6', 
     2928                         olive: '#808000', 
     2929                         olivedrab: '#6B8E23', 
     2930                         orange: '#FFA500', 
     2931                         orangered: '#FF4500', 
     2932                         orchid: '#DA70D6', 
     2933                         palegoldenrod: '#EEE8AA', 
     2934                         palegreen: '#98FB98', 
     2935                         paleturquoise: '#AFEEEE', 
     2936                         palevioletred: '#DB7093', 
     2937                         papayawhip: '#FFEFD5', 
     2938                         peachpuff: '#FFDAB9', 
     2939                         peru: '#CD853F', 
     2940                         pink: '#FFC0CB', 
     2941                         plum: '#DDA0DD', 
     2942                         powderblue: '#B0E0E6', 
     2943                         purple: '#800080', 
     2944                         rebeccapurple: '#663399', 
     2945                         red: '#FF0000', 
     2946                         rosybrown: '#BC8F8F', 
     2947                         royalblue: '#4169E1', 
     2948                         saddlebrown: '#8B4513', 
     2949                         salmon: '#FA8072', 
     2950                         sandybrown: '#F4A460', 
     2951                         seagreen: '#2E8B57', 
     2952                         seashell: '#FFF5EE', 
     2953                         sienna: '#A0522D', 
     2954                         silver: '#C0C0C0', 
     2955                         skyblue: '#87CEEB', 
     2956                         slateblue: '#6A5ACD', 
     2957                         slategray: '#708090', 
     2958                         slategrey: '#708090', 
     2959                         snow: '#FFFAFA', 
     2960                         springgreen: '#00FF7F', 
     2961                         steelblue: '#4682B4', 
     2962                         tan: '#D2B48C', 
     2963                         teal: '#008080', 
     2964                         thistle: '#D8BFD8', 
     2965                         tomato: '#FF6347', 
     2966                         turquoise: '#40E0D0', 
     2967                         violet: '#EE82EE', 
     2968                         wheat: '#F5DEB3', 
     2969                         white: '#FFFFFF', 
     2970                         whitesmoke: '#F5F5F5', 
     2971                         yellow: '#FFFF00', 
     2972                         yellowgreen: '#9ACD32' 
     2973                    }, 
     2974 
     2975                    _rgbaRegExp: /rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi, 
     2976 
     2977                    _hslaRegExp: /hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi, 
     2978 
     2979                    /** 
     2980                     * Parses the `value` used as a `background` property shorthand and returns information as an object. 
     2981                     * 
     2982                     * **Note:** Currently only the `color` property is extracted. Any other parts will go into the `unprocessed` property. 
     2983                     * 
     2984                     *        var background = CKEDITOR.tools.style.parse.background( '#0C0 url(foo.png)' ); 
     2985                     *        console.log( background ); 
     2986                     *        // Logs: { color: '#0C0', unprocessed: 'url(foo.png)' } 
     2987                     * 
     2988                     * @param {String} value The value of the `background` property. 
     2989                     * @returns {Object} An object with information extracted from the background. 
     2990                     * @returns {String} return.color The **first** color value found. The color format remains the same as in input. 
     2991                     * @returns {String} return.unprocessed The remaining part of the `value` that has not been processed. 
     2992                     * @member CKEDITOR.tools.style.parse 
     2993                     */ 
     2994                    background: function( value ) { 
     2995                         var ret = [], 
     2996                              colors = []; 
     2997 
     2998                         colors = this._findColor( value ); 
     2999 
     3000                         if ( colors.length ) { 
     3001                              ret.color = colors[ 0 ]; 
     3002 
     3003                              CKEDITOR.tools.array.forEach( colors, function( colorToken ) { 
     3004                                   value = value.replace( colorToken, '' ); 
     3005                              } ); 
     3006                         } 
     3007 
     3008                         value = CKEDITOR.tools.trim( value ); 
     3009 
     3010                         if ( value ) { 
     3011                              // If anything was left unprocessed include it as unprocessed part. 
     3012                              ret.unprocessed = value; 
     3013                         } 
     3014 
     3015                         return ret; 
     3016                    }, 
     3017 
     3018                    /** 
     3019                     * Parses the `margin` CSS property shorthand format. 
     3020                     * 
     3021                     *        console.log( CKEDITOR.tools.parse.margin( '3px 0 2' ) ); 
     3022                     *        // Logs: { top: "3px", right: "0", bottom: "2", left: "0" } 
     3023                     * 
     3024                     * @param {String} value The `margin` property value. 
     3025                     * @returns {Object} 
     3026                     * @returns {Number} return.top Top margin. 
     3027                     * @returns {Number} return.right Right margin. 
     3028                     * @returns {Number} return.bottom Bottom margin. 
     3029                     * @returns {Number} return.left Left margin. 
     3030                     * @member CKEDITOR.tools.style.parse 
     3031                     */ 
     3032                    margin: function( value ) { 
     3033                         var ret = {}; 
     3034 
     3035                         var widths = value.match( /(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g ) || [ '0px' ]; 
     3036 
     3037                         switch ( widths.length ) { 
     3038                              case 1: 
     3039                                   // element.styles.margin = widths[0]; 
     3040                                   mapStyles( [ 0, 0, 0, 0 ] ); 
     3041                                   break; 
     3042                              case 2: 
     3043                                   mapStyles( [ 0, 1, 0, 1 ] ); 
     3044                                   break; 
     3045                              case 3: 
     3046                                   mapStyles( [ 0, 1, 2, 1 ] ); 
     3047                                   break; 
     3048                              case 4: 
     3049                                   mapStyles( [ 0, 1, 2, 3 ] ); 
     3050                                   break; 
     3051                         } 
     3052 
     3053                         function mapStyles( map ) { 
     3054                              ret.top = widths[ map[ 0 ] ]; 
     3055                              ret.right = widths[ map[ 1 ] ]; 
     3056                              ret.bottom = widths[ map[ 2 ] ]; 
     3057                              ret.left = widths[ map[ 3 ] ]; 
     3058                         } 
     3059 
     3060                         return ret; 
     3061                    }, 
     3062 
     3063                    /** 
     3064                     * Searches the `value` for any CSS color occurrences and returns it. 
     3065                     * 
     3066                     * @private 
     3067                     * @param {String} value 
     3068                     * @returns {String[]} An array of matched results. 
     3069                     * @member CKEDITOR.tools.style.parse 
     3070                     */ 
     3071                    _findColor: function( value ) { 
     3072                         var ret = [], 
     3073                              arrayTools = CKEDITOR.tools.array; 
     3074 
     3075 
     3076                         // Check for rgb(a). 
     3077                         ret = ret.concat( value.match( this._rgbaRegExp ) || [] ); 
     3078 
     3079                         // Check for hsl(a). 
     3080                         ret = ret.concat( value.match( this._hslaRegExp ) || [] ); 
     3081 
     3082                         ret = ret.concat( arrayTools.filter( value.split( /\s+/ ), function( colorEntry ) { 
     3083                              // Check for hex format. 
     3084                              if ( colorEntry.match( /^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi ) ) { 
     3085                                   return true; 
     3086                              } 
     3087 
     3088                              // Check for preset names. 
     3089                              return colorEntry.toLowerCase() in CKEDITOR.tools.style.parse._colors; 
     3090                         } ) ); 
     3091 
     3092                         return ret; 
     3093                    } 
     3094               } 
     3095          }, 
     3096 
     3097          /** 
     3098           * A set of array helpers. 
     3099           * 
     3100           * @property {CKEDITOR.tools.array} 
     3101           * @member CKEDITOR.tools 
     3102           */ 
     3103          array: { 
     3104               /** 
     3105                * Returns a copy of `array` filtered using the `fn` function. Any elements that the `fn` will return `false` for 
     3106                * will get removed from the returned array. 
     3107                * 
     3108                *        var filtered = this.array.filter( [ 0, 1, 2, 3 ], function( value ) { 
     3109                *             // Leave only values equal or greater than 2. 
     3110                *             return value >= 2; 
     3111                *        } ); 
     3112                *        console.log( filtered ); 
     3113                *        // Logs: [ 2, 3 ] 
     3114                * 
     3115                * @param {Array} array 
     3116                * @param {Function} fn A function that gets called with each `array` item. Any item that `fn` 
     3117                * returned a `false`-alike value for will be filtered out of the `array`. 
     3118                * @param {Mixed} fn.value The currently iterated array value. 
     3119                * @param {Number} fn.index The index of the currently iterated value in an array. 
     3120                * @param {Array} fn.array The original array passed as the `array` variable. 
     3121                * @param {Mixed} [thisArg=undefined] A context object for `fn`. 
     3122                * @returns {Array} The filtered array. 
     3123                * @member CKEDITOR.tools.array 
     3124                */ 
     3125               filter: function( array, fn, thisArg ) { 
     3126                    var ret = []; 
     3127 
     3128                    this.forEach( array, function( val, i ) { 
     3129                         if ( fn.call( thisArg, val, i, array ) ) { 
     3130                              ret.push( val ); 
     3131                         } 
     3132                    } ); 
     3133 
     3134                    return ret; 
     3135               }, 
     3136 
     3137               /** 
     3138                * Iterates over every element in the `array`. 
     3139                * 
     3140                * @param {Array} array An array to be iterated over. 
     3141                * @param {Function} fn The function called for every `array` element. 
     3142                * @param {Mixed} fn.value The currently iterated array value. 
     3143                * @param {Number} fn.index The index of the currently iterated value in an array. 
     3144                * @param {Array} fn.array The original array passed as an `array` variable. 
     3145                * @param {Mixed} [thisArg=undefined] The context object for `fn`. 
     3146                * @member CKEDITOR.tools.array 
     3147                */ 
     3148               forEach: function( array, fn, thisArg ) { 
     3149                    var len = array.length, 
     3150                         i; 
     3151 
     3152                    for ( i = 0; i < len; i++ ) { 
     3153                         fn.call( thisArg, array[ i ], i, array ); 
     3154                    } 
     3155               } 
    28083156          } 
    28093157     }; 
     
    28343182          return result; 
    28353183     } 
     3184 
     3185     /** 
     3186      * @member CKEDITOR.tools.array 
     3187      * @method indexOf 
     3188      * @inheritdoc CKEDITOR.tools#indexOf 
     3189      */ 
     3190     CKEDITOR.tools.array.indexOf = CKEDITOR.tools.indexOf; 
     3191 
     3192     /** 
     3193      * @member CKEDITOR.tools.array 
     3194      * @method isArray 
     3195      * @inheritdoc CKEDITOR.tools#isArray 
     3196      */ 
     3197     CKEDITOR.tools.array.isArray = CKEDITOR.tools.isArray; 
     3198 
     3199 
     3200 
     3201     /** 
     3202      * The namespace containing functions to work on CSS properties. 
     3203      * 
     3204      * @since 4.6.1 
     3205      * @class CKEDITOR.tools.style 
     3206      */ 
     3207 
     3208     /** 
     3209      * The namespace with helper functions to parse some common CSS properties. 
     3210      * 
     3211      * @since 4.6.1 
     3212      * @class CKEDITOR.tools.style.parse 
     3213      */ 
     3214 
     3215     /** 
     3216      * The namespace with helper functions and polyfills for arrays. 
     3217      * 
     3218      * @since 4.6.1 
     3219      * @class CKEDITOR.tools.array 
     3220      */ 
    28363221} )(); 
    28373222 
     
    70237408                         editable = instance.editable(); 
    70247409 
    7025                          if ( editable.equals( this ) || editable.contains( this ) ) { 
     7410                         if ( editable && ( editable.equals( this ) || editable.contains( this ) ) ) { 
    70267411                              return instance; 
    70277412                         } 
     
    2241622801( function() { 
    2241722802     var isNotWhitespace, isNotBookmark, isEmpty, isBogus, emptyParagraphRegexp, 
    22418           insert, fixTableAfterContentsDeletion, getHtmlFromRangeHelpers, extractHtmlFromRangeHelpers; 
     22803          insert, fixTableAfterContentsDeletion, fixListAfterContentsDelete, getHtmlFromRangeHelpers, extractHtmlFromRangeHelpers; 
    2241922804 
    2242022805     /** 
     
    2284023225                    range.deleteContents( 1 ); 
    2284123226 
    22842                     // If range is placed in inermediate element (not td or th), we need to do three things: 
    22843                     // * fill emptied <td/th>s with if browser needs them, 
    22844                     // * remove empty text nodes so IE8 won't crash (http://dev.ckeditor.com/ticket/11183#comment:8), 
    22845                     // * fix structure and move range into the <td/th> element. 
    22846                     if ( range.startContainer.type == CKEDITOR.NODE_ELEMENT && range.startContainer.is( { tr: 1, table: 1, tbody: 1, thead: 1, tfoot: 1 } ) ) 
    22847                          fixTableAfterContentsDeletion( range ); 
     23227                    if ( range.startContainer.type == CKEDITOR.NODE_ELEMENT ) { 
     23228                         // If range is placed in intermediate element (not td or th), we need to do three things: 
     23229                         // * fill emptied <td/th>s with if browser needs them, 
     23230                         // * remove empty text nodes so IE8 won't crash 
     23231                         // (http://dev.ckeditor.com/ticket/11183#comment:8), 
     23232                         // * fix structure and move range into the <td/th> element. 
     23233                         if ( range.startContainer.is( { tr: 1, table: 1, tbody: 1, thead: 1, tfoot: 1 } ) ) { 
     23234                              fixTableAfterContentsDeletion( range ); 
     23235                         } else if ( range.startContainer.is( CKEDITOR.dtd.$list ) ) { 
     23236                              // Similarly there's a need for lists. 
     23237                              fixListAfterContentsDelete( range ); 
     23238                         } 
     23239                    } 
    2284823240 
    2284923241                    // If we're inserting a block at dtd-violated position, split 
     
    2478025172 
    2478125173               range.moveToPosition( deeperSibling, appendToStart ? CKEDITOR.POSITION_AFTER_START : CKEDITOR.POSITION_BEFORE_END ); 
     25174          }; 
     25175     } )(); 
     25176 
     25177     fixListAfterContentsDelete = ( function() { 
     25178          // Creates an element walker which operates only within lists. 
     25179          function getFixListSelectionWalker( testRange ) { 
     25180               var walker = new CKEDITOR.dom.walker( testRange ); 
     25181               walker.guard = function( node, isMovingOut ) { 
     25182                    if ( isMovingOut ) 
     25183                         return false; 
     25184                    if ( node.type == CKEDITOR.NODE_ELEMENT ) 
     25185                         return node.is( CKEDITOR.dtd.$list ) || node.is( CKEDITOR.dtd.$listItem ); 
     25186               }; 
     25187               walker.evaluator = function( node ) { 
     25188                    return node.type == CKEDITOR.NODE_ELEMENT && node.is( CKEDITOR.dtd.$listItem ); 
     25189               }; 
     25190 
     25191               return walker; 
     25192          } 
     25193 
     25194          return function( range ) { 
     25195               var container = range.startContainer, 
     25196                    appendToStart = false, 
     25197                    testRange, 
     25198                    deeperSibling; 
     25199 
     25200               // Look left. 
     25201               testRange = range.clone(); 
     25202               testRange.setStart( container, 0 ); 
     25203               deeperSibling = getFixListSelectionWalker( testRange ).lastBackward(); 
     25204 
     25205               // If left is empty, look right. 
     25206               if ( !deeperSibling ) { 
     25207                    testRange = range.clone(); 
     25208                    testRange.setEndAt( container, CKEDITOR.POSITION_BEFORE_END ); 
     25209                    deeperSibling = getFixListSelectionWalker( testRange ).lastForward(); 
     25210                    appendToStart = true; 
     25211               } 
     25212 
     25213               // If there's no deeper nested element in both direction - container is empty - we'll use it then. 
     25214               if ( !deeperSibling ) 
     25215                    deeperSibling = container; 
     25216 
     25217               // We found a list what means that it's empty - remove it completely. 
     25218               if ( deeperSibling.is( CKEDITOR.dtd.$list ) ) { 
     25219                    range.setStartAt( deeperSibling, CKEDITOR.POSITION_BEFORE_START ); 
     25220                    range.collapse( true ); 
     25221                    deeperSibling.remove(); 
     25222                    return; 
     25223               } 
     25224 
     25225               // To avoid setting selection after bogus, remove it from the target list item. 
     25226               // We can safely do that, because we'll insert element into that cell. 
     25227               var bogus = deeperSibling.getBogus(); 
     25228               if ( bogus ) 
     25229                    bogus.remove(); 
     25230 
     25231               range.moveToPosition( deeperSibling, appendToStart ? CKEDITOR.POSITION_AFTER_START : CKEDITOR.POSITION_BEFORE_END ); 
     25232               range.select(); 
    2478225233          }; 
    2478325234     } )(); 
     
    3620836659          // List of available localizations. 
    3620936660          // jscs:disable 
    36210           availableLangs: { af:1,ar:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,'fr-ca':1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,pl:1,pt:1,'pt-br':1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,'sr-latn':1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 }, 
     36661          availableLangs: { af:1,ar:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,'fr-ca':1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,'pt-br':1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,'sr-latn':1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 }, 
    3621136662          // jscs:enable 
    3621236663 
     
    4101741468                    ] 
    4101841469               } ); 
    41019                addButton( 'BGColor', 'back', lang.bgColorTitle, 20 ); 
     41470 
     41471               var  bgOptions = {}, 
     41472                    normalizeBackground = editor.config.colorButton_normalizeBackground; 
     41473 
     41474               if ( normalizeBackground === undefined || normalizeBackground ) { 
     41475                    // If background contains only color, then we want to convert it into background-color so that it's 
     41476                    // correctly picked by colorbutton plugin. 
     41477                    bgOptions.contentTransformations = [ 
     41478                         [ 
     41479                              { 
     41480                                   // Transform span that specify background with color only to background-color. 
     41481                                   element: 'span', 
     41482                                   left: function( element ) { 
     41483                                        var tools = CKEDITOR.tools; 
     41484                                        if ( element.name != 'span' || !element.styles || !element.styles.background ) { 
     41485                                             return false; 
     41486                                        } 
     41487 
     41488                                        var background = tools.style.parse.background( element.styles.background ); 
     41489 
     41490                                        // We return true only if background specifies **only** color property, and there's only one background directive. 
     41491                                        return background.color && tools.objectKeys( background ).length === 1; 
     41492                                   }, 
     41493                                   right: function( element ) { 
     41494                                        var style = new CKEDITOR.style( editor.config.colorButton_backStyle, { 
     41495                                                  color: element.styles.background 
     41496                                             } ), 
     41497                                             definition = style.getDefinition(); 
     41498 
     41499                                        // Align the output object with the template used in config. 
     41500                                        element.name = definition.element; 
     41501                                        element.styles = definition.styles; 
     41502                                        element.attributes = definition.attributes || {}; 
     41503 
     41504                                        return element; 
     41505                                   } 
     41506                              } 
     41507                         ] 
     41508                    ]; 
     41509               } 
     41510 
     41511               addButton( 'BGColor', 'back', lang.bgColorTitle, 20, bgOptions ); 
    4102041512          } 
    4102141513 
     
    4131241804 * 
    4131341805 * @cfg {Boolean} [colorButton_enableAutomatic=true] 
     41806 * @member CKEDITOR.config 
     41807 */ 
     41808 
     41809/** 
     41810 * Whether the plugin should convert `background` CSS properties with color only, to a `background-color` property, 
     41811 * allowing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin to edit these styles. 
     41812 * 
     41813 *        config.colorButton_normalizeBackground = false; 
     41814 * 
     41815 * @since 4.6.1 
     41816 * @cfg {Boolean} [colorButton_normalizeBackground=true] 
    4131441817 * @member CKEDITOR.config 
    4131541818 */ 
     
    5162752130     // List of available localizations. 
    5162852131     // jscs:disable 
    51629      availableLangs: { af:1,ar:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fr:1,'fr-ca':1,gl:1,he:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,nb:1,nl:1,no:1,pl:1,pt:1,'pt-br':1,ru:1,si:1,sk:1,sl:1,sq:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 }, 
     52132     availableLangs: { af:1,ar:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,'de-ch':1,el:1,en:1,'en-gb':1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fr:1,'fr-ca':1,gl:1,he:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,'pt-br':1,ru:1,si:1,sk:1,sl:1,sq:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,'zh-cn':1 }, 
    5163052133     // jscs:enable 
    5163152134     requires: 'dialog', 
  • plugins/dcCKEditor/js/ckeditor/lang/da.js

    r3410 r3464  
    500500     { 
    501501          '8' : 'Backspace', 
    502           '13' : 'Enter', 
     502          '13' : 'Retur', 
    503503          '16' : 'Shift', 
    504504          '17' : 'Ctrl', 
    505505          '18' : 'Alt', 
    506           '32' : 'Space', 
     506          '32' : 'Mellemrum', 
    507507          '35' : 'End', 
    508508          '36' : 'Home', 
    509           '46' : 'Delete', 
     509          '46' : 'Slet', 
    510510          '224' : 'Command' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'Tastatur genvej' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/ja.js

    r3410 r3464  
    510510          '224' : 'Command' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'キーボードショートカット' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/nb.js

    r3410 r3464  
    162162    { 
    163163     armenian : 'Armensk nummerering', 
    164      bulletedTitle : 'Egenskaper for punktmerket liste', 
     164     bulletedTitle : 'Egenskaper for punktliste', 
    165165     circle : 'Sirkel', 
    166166     decimal : 'Tall (1, 2, 3, osv.)', 
     
    183183    list :  
    184184    { 
    185      bulletedlist : 'Legg til / fjern punktmerket liste', 
     185     bulletedlist : 'Legg til / fjern punktliste', 
    186186     numberedlist : 'Legg til / fjern nummerert liste' 
    187187    }, 
     
    194194     anchor :  
    195195     { 
    196           toolbar : 'Sett inn/Rediger anker', 
    197           menu : 'Egenskaper for anker', 
     196          toolbar : 'Anker', 
     197          menu : 'Rediger anker', 
    198198          title : 'Egenskaper for anker', 
    199199          name : 'Ankernavn', 
     
    205205     charset : 'Lenket tegnsett', 
    206206     cssClasses : 'Stilarkklasser', 
    207      download : 'Force Download', 
     207     download : 'Tving nedlasting', 
    208208     displayText : 'Tekst som skal vises', 
    209209     emailAddress : 'E-postadresse', 
     
    214214     langCode : 'Språkkode', 
    215215     langDir : 'Språkretning', 
    216      langDirLTR : 'Venstre til høyre (VTH)', 
    217      langDirRTL : 'Høyre til venstre (HTV)', 
     216     langDirLTR : 'Venstre til høyre (LTR)', 
     217     langDirRTL : 'Høyre til venstre (RTL)', 
    218218     menu : 'Rediger lenke', 
    219219     name : 'Navn', 
     
    246246     toEmail : 'E-post', 
    247247     toUrl : 'URL', 
    248      toolbar : 'Sett inn/Rediger lenke', 
     248     toolbar : 'Lenke', 
    249249     type : 'Lenketype', 
    250250     unlink : 'Fjern lenke', 
     
    324324     edit : 'Rediger Div', 
    325325     inlineStyleInputLabel : 'Inlinestiler', 
    326      langDirLTRLabel : 'Venstre til høyre (VTH)', 
     326     langDirLTRLabel : 'Venstre til høyre (LTR)', 
    327327     langDirLabel : 'Språkretning', 
    328      langDirRTLLabel : 'Høyre til venstre (HTV)', 
     328     langDirRTLLabel : 'Høyre til venstre (RTL)', 
    329329     languageCodeInputLabel : ' Språkkode', 
    330330     remove : 'Fjern Div', 
     
    348348          '2F4F4F' : 'Grønnsvart', 
    349349          '008080' : 'Blågrønn', 
    350           '000080' : 'Marineblått', 
     350          '000080' : 'Marineblå', 
    351351          '4B0082' : 'Indigo', 
    352352          '696969' : 'Mørk grå', 
     
    372372          '00FF00' : 'Lime', 
    373373          AFEEEE : 'Svak turkis', 
    374           ADD8E6 : 'Lys Blå', 
     374          ADD8E6 : 'Lys blå', 
    375375          DDA0DD : 'Plomme', 
    376376          D3D3D3 : 'Lys grå', 
     
    379379          FFFFE0 : 'Lys gul', 
    380380          F0FFF0 : 'Honningmelon', 
    381           F0FFFF : 'Svakt asurblått', 
     381          F0FFFF : 'Svak asurblå', 
    382382          F0F8FF : 'Svak cyan', 
    383383          E6E6FA : 'Lavendel', 
     
    451451     name : 'Navn', 
    452452     langDir : 'Språkretning', 
    453      langDirLtr : 'Venstre til høyre (VTH)', 
    454      langDirRtl : 'Høyre til venstre (HTV)', 
     453     langDirLtr : 'Venstre til høyre (LTR)', 
     454     langDirRtl : 'Høyre til venstre (RTL)', 
    455455     langCode : 'Språkkode', 
    456456     longDescr : 'Utvidet beskrivelse', 
     
    471471     target : 'Mål', 
    472472     targetNew : 'Nytt vindu (_blank)', 
    473      targetTop : 'Hele vindu (_top)', 
     473     targetTop : 'Hele vinduet (_top)', 
    474474     targetSelf : 'Samme vindu (_self)', 
    475475     targetParent : 'Foreldrevindu (_parent)', 
     
    504504          '17' : 'Ctrl', 
    505505          '18' : 'Alt', 
    506           '32' : 'Space', 
     506          '32' : 'Mellomrom', 
    507507          '35' : 'End', 
    508508          '36' : 'Home', 
     
    510510          '224' : 'Command' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'Tastatursnarvei' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/nl.js

    r3410 r3464  
    205205     charset : 'Karakterset van gelinkte bron', 
    206206     cssClasses : 'Stylesheet-klassen', 
    207      download : 'Force Download', 
    208      displayText : 'Display Text', 
     207     download : 'Download forceren', 
     208     displayText : 'Weergavetekst', 
    209209     emailAddress : 'E-mailadres', 
    210210     emailBody : 'Inhoud bericht', 
     
    504504          '17' : 'Ctrl', 
    505505          '18' : 'Alt', 
    506           '32' : 'Space', 
     506          '32' : 'Spatie', 
    507507          '35' : 'End', 
    508508          '36' : 'Home', 
     
    510510          '224' : 'Command' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'Sneltoets' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/pt-br.js

    r3410 r3464  
    205205     charset : 'Charset do Link', 
    206206     cssClasses : 'Classe de CSS', 
    207      download : 'Force Download', 
    208      displayText : 'Display Text', 
     207     download : 'Forçar Download', 
     208     displayText : 'Exibir Texto', 
    209209     emailAddress : 'Endereço E-Mail', 
    210210     emailBody : 'Corpo da Mensagem', 
     
    499499     keyboard :  
    500500     { 
    501           '8' : 'Backspace', 
     501          '8' : 'Tecla Retroceder', 
    502502          '13' : 'Enter', 
    503503          '16' : 'Shift', 
    504504          '17' : 'Ctrl', 
    505505          '18' : 'Alt', 
    506           '32' : 'Space', 
     506          '32' : 'Tecla Espaço', 
    507507          '35' : 'End', 
    508508          '36' : 'Home', 
    509509          '46' : 'Delete', 
    510           '224' : 'Command' 
    511      }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     510          '224' : 'Comando' 
     511     }, 
     512     keyboardShortcut : 'Atalho do teclado' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/ru.js

    r3410 r3464  
    510510          '224' : 'Command' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'Комбинация клавиш' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/lang/sv.js

    r3410 r3464  
    2727          tools : 'Verktyg' 
    2828     }, 
    29      toolbars : 'Redigera verktygsfält' 
     29     toolbars : 'Editorns verktygsfält' 
    3030    }, 
    3131    templates :  
     
    114114    stylescombo :  
    115115    { 
    116      label : 'Anpassad stil', 
    117      panelTitle : 'Formatmallar', 
    118      panelTitle1 : 'Blockstil', 
    119      panelTitle2 : 'Inbäddad stil', 
    120      panelTitle3 : 'Objektets stil' 
     116     label : 'Stilar', 
     117     panelTitle : 'Formateringsstilar', 
     118     panelTitle1 : 'Blockstilar', 
     119     panelTitle2 : 'Inbäddade stilar', 
     120     panelTitle3 : 'Objektstilar' 
    121121    }, 
    122122    specialchar :  
     
    205205     charset : 'Teckenuppställning', 
    206206     cssClasses : 'Stilmall', 
    207      download : 'Force Download', 
    208      displayText : 'Display Text', 
     207     download : 'Tvinga nerladdning', 
     208     displayText : 'Visningstext', 
    209209     emailAddress : 'E-postadress', 
    210210     emailBody : 'Innehåll', 
     
    228228     popupLocationBar : 'Adressfält', 
    229229     popupMenuBar : 'Menyfält', 
    230      popupResizable : 'Resizable', 
     230     popupResizable : 'Skalbart', 
    231231     popupScrollBars : 'Scrolllista', 
    232232     popupStatusBar : 'Statusfält', 
     
    422422     dlgTitle : 'Om CKEditor', 
    423423     help : 'Se $1 för hjälp.', 
    424      moreInfo : 'För information av licensiering besök vår hemsida:', 
     424     moreInfo : 'För information om licensiering besök vår hemsida:', 
    425425     title : 'Om CKEditor', 
    426      userGuide : 'CKEditor User\'s Guide' 
    427     }, 
    428     editor : 'Rich Text Editor', 
    429     editorPanel : 'Rich Text Editor panel', 
     426     userGuide : 'CKEditor användarmanual' 
     427    }, 
     428    editor : 'Rich Text-editor', 
     429    editorPanel : 'Panel till Rich Text-editor', 
    430430    common :  
    431431    { 
     
    510510          '224' : 'Kommando' 
    511511     }, 
    512      keyboardShortcut : 'Keyboard shortcut' 
     512     keyboardShortcut : 'Kortkommando' 
    513513    } };  
  • plugins/dcCKEditor/js/ckeditor/plugins/a11yhelp/dialogs/lang/da.js

    r3410 r3464  
    2323 
    2424               { 
    25                name: 'Editor Context Menu', // MISSING 
    26                legend: 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING 
     25               name: 'Redaktør kontekstmenu', 
     26               legend: 'Tryk ${contextMenu} eller APPLICATION KEY for at åbne kontekstmenuen. Flyt derefter til næste menuvalg med TAB eller PIL NED. Flyt til forrige valg med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge menu-muligheder. Åben under-menu af aktuelle valg med MELLEMRUM eller RETUR eller HØJRE PIL. Gå tilbage til overliggende menu-emne med ESC eller VENSTRE PIL. Luk kontekstmenu med ESC.' 
    2727          }, 
    2828 
    2929               { 
    30                name: 'Editor List Box', // MISSING 
    31                legend: 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING 
     30               name: 'Redaktør listeboks', 
     31               legend: 'Flyt til næste emne med TAB eller PIL NED inde i en listeboks. Flyt til forrige listeemne med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge liste-muligheder. Tryk ESC for at lukke liste-boksen.' 
    3232          }, 
    3333 
    3434               { 
    35                name: 'Editor Element Path Bar', // MISSING 
    36                legend: 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING 
     35               name: 'Redaktør elementsti-bar', 
     36               legend: 'Tryk ${elementsPathFocus} for at navigere til elementernes sti-bar. Flyt til næste element-knap med TAB eller HØJRE PIL. Flyt til forrige knap med SHIFT+TAB eller VENSTRE PIL. Klik MELLEMRUM eller RETUR for at vælge element i editoren.' 
    3737          } 
    3838          ] 
     
    6666          }, 
    6767               { 
    68                name: ' Toolbar Collapse command', // MISSING 
     68               name: 'Klap værktøjslinje sammen kommando ', 
    6969               legend: 'Klik ${toolbarCollapse}' 
    7070          }, 
    7171               { 
    72                name: ' Access previous focus space command', // MISSING 
     72               name: 'Adgang til forrige fokusområde kommando', 
    7373               legend: 'Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces.' // MISSING 
    7474          }, 
  • plugins/dcCKEditor/js/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js

    r3410 r3464  
    1919               name: 'Dialoog tekstverwerker', 
    2020               legend: 
    21                     'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.'  // MISSING 
     21                    'In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Bij dialoogvensters met meerdere tabbladen kan de tabset bereikt worden met ALT+F10 of met TAB als onderdeel van de tabvolgorde in het dialoogvenster. Als de tabset focus heeft, kun je schakalen naar het volgende en vorige tabblad met respectievelijk PIJL RECHTS en PIJL LINKS.' 
    2222          }, 
    2323 
  • plugins/dcCKEditor/js/ckeditor/plugins/templates/templates/default.js

    r3175 r3464  
    2727          title: 'Strange Template', 
    2828          image: 'template2.gif', 
    29           description: 'A template that defines two colums, each one with a title, and some text.', 
     29          description: 'A template that defines two columns, each one with a title, and some text.', 
    3030          html: '<table cellspacing="0" cellpadding="0" style="width:100%" border="0">' + 
    3131               '<tr>' + 
Note: See TracChangeset for help on using the changeset viewer.

Sites map