WordPress.org

Make WordPress Core

Ticket #42485: jsdoc-admin-namespaces.patch

File jsdoc-admin-namespaces.patch, 90.9 KB (added by herregroen, 3 years ago)
  • jsdoc.conf.json

    diff --git jsdoc.conf.json jsdoc.conf.json
    index b9282788b..be602827a 100644
     
    22        "plugins": [],
    33        "recurseDepth": 10,
    44        "source": {
    5                 "include": ["src/wp-includes/js"],
     5                "include": [
     6                        "src/wp-includes/js",
     7                        "src/wp-admin/js"
     8                ],
    69                "exclude": [
     10                        "src/wp-includes/js/codemirror",
    711                        "src/wp-includes/js/tinymce",
    812                        "src/wp-includes/js/crop",
    913                        "src/wp-includes/js/imgareaselect",
    1014                        "src/wp-includes/js/jcrop",
    1115                        "src/wp-includes/js/jquery",
    12                         "src/wp-includes/js/mediaelement",
     16                        "src/wp-includes/js/mediaelement/mediaelement.js",
     17                        "src/wp-includes/js/mediaelement/mediaelement-and-player.js",
     18                        "src/wp-includes/js/plupload/handlers.js",
     19                        "src/wp-includes/js/plupload/moxie.js",
     20                        "src/wp-includes/js/plupload/plupload.full.min.js",
     21                        "src/wp-includes/js/plupload/plupload.js",
    1322                        "src/wp-includes/js/swfupload",
    1423                        "src/wp-includes/js/thickbox",
    1524                        "src/wp-includes/js/media-audiovideo.js",
     
    3544        },
    3645        "opts": {
    3746                "template": "./node_modules/ink-docstrap/template",
    38                 "recurse": true
     47                "recurse": true,
     48                "private": true
    3949        }
    4050}
  • src/wp-admin/js/code-editor.js

    diff --git src/wp-admin/js/code-editor.js src/wp-admin/js/code-editor.js
    index 5c826726f..3710c3723 100644
     
    11if ( 'undefined' === typeof window.wp ) {
     2        /**
     3         * @namespace wp
     4         */
    25        window.wp = {};
    36}
    47if ( 'undefined' === typeof window.wp.codeEditor ) {
     8        /**
     9         * @namespace wp.codeEditor
     10         */
    511        window.wp.codeEditor = {};
    612}
    713
    if ( 'undefined' === typeof window.wp.codeEditor ) { 
    3339         * @param {object}     settings.codeMirror - Settings for CodeMirror.
    3440         * @param {Function}   settings.onChangeLintingErrors - Callback for when there are changes to linting errors.
    3541         * @param {Function}   settings.onUpdateErrorNotice - Callback to update error notice.
     42         *
    3643         * @returns {void}
    3744         */
    3845        function configureLinting( editor, settings ) { // eslint-disable-line complexity
    if ( 'undefined' === typeof window.wp.codeEditor ) { 
    202209         * @param {object}     settings.codeMirror - Settings for CodeMirror.
    203210         * @param {Function}   settings.onTabNext - Callback to handle tabbing to the next tabbable element.
    204211         * @param {Function}   settings.onTabPrevious - Callback to handle tabbing to the previous tabbable element.
     212         *
    205213         * @returns {void}
    206214         */
    207215        function configureTabbing( codemirror, settings ) {
    if ( 'undefined' === typeof window.wp.codeEditor ) { 
    240248        }
    241249
    242250        /**
    243          * @typedef {object} CodeEditorInstance
     251         * @typedef {object} wp.codeEditor~CodeEditorInstance
    244252         * @property {object} settings - The code editor settings.
    245253         * @property {CodeMirror} codemirror - The CodeMirror instance.
    246254         */
    if ( 'undefined' === typeof window.wp.codeEditor ) { 
    260268         * @param {object}                [settings.csslint] - Rules for CSSLint.
    261269         * @param {object}                [settings.htmlhint] - Rules for HTMLHint.
    262270         * @param {object}                [settings.jshint] - Rules for JSHint.
     271         *
    263272         * @returns {CodeEditorInstance} Instance.
    264273         */
    265274        wp.codeEditor.initialize = function initialize( textarea, settings ) {
  • src/wp-admin/js/color-picker.js

    diff --git src/wp-admin/js/color-picker.js src/wp-admin/js/color-picker.js
    index 7574820c6..8b4bc603f 100644
     
    1414         *
    1515         * Creates a jQuery UI color picker that is used in the theme customizer.
    1616         *
     17         * @class $.widget.wp.wpColorPicker
     18         *
    1719         * @since 3.5.0
    1820         */
    19         ColorPicker = {
     21        ColorPicker = /** @lends $.widget.wp.wpColorPicker.prototype */{
    2022                options: {
    2123                        defaultColor: false,
    2224                        change: false,
     
    5658                                /**
    5759                                 * @summary Handles the onChange event if one has been defined in the options.
    5860                                 *
     61                                 * @ignore
     62                                 *
    5963                                 * @param {Event} event    The event that's being called.
    6064                                 * @param {HTMLElement} ui The HTMLElement containing the color picker.
    6165                                 *
     
    179183                                 *
    180184                                 * @since 3.5.0
    181185                                 *
     186                                 * @ignore
     187                                 *
    182188                                 * @param {Event} event    The event that's being called.
    183189                                 * @param {HTMLElement} ui The HTMLElement containing the color picker.
    184190                                 *
  • src/wp-admin/js/customize-controls.js

    diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
    index 5ff47c499..fe10d0b24 100644
     
    22(function( exports, $ ){
    33        var Container, focus, normalizedTransitionendEventName, api = wp.customize;
    44
    5         /**
    6          * A notification that is displayed in a full-screen overlay.
    7          *
    8          * @since 4.9.0
    9          * @class
    10          * @augments wp.customize.Notification
    11          */
    12         api.OverlayNotification = api.Notification.extend({
     5        api.OverlayNotification = api.Notification.extend(/** @lends wp.customize.OverlayNotification.prototype */{
    136
    147                /**
    158                 * Whether the notification should show a loading spinner.
     
    2013                loading: false,
    2114
    2215                /**
    23                  * Initialize.
     16                 * A notification that is displayed in a full-screen overlay.
     17                 *
     18                 * @constructs wp.customize.OverlayNotification
     19                 * @augments   wp.customize.Notification
    2420                 *
    2521                 * @since 4.9.0
    2622                 *
     
    6864                }
    6965        });
    7066
    71         /**
    72          * A collection of observable notifications.
    73          *
    74          * @since 4.9.0
    75          * @class
    76          * @augments wp.customize.Values
    77          */
    78         api.Notifications = api.Values.extend({
     67        api.Notifications = api.Values.extend(/** @lends wp.customize.Notifications.prototype */{
    7968
    8069                /**
    8170                 * Whether the alternative style should be used.
     
    9483                defaultConstructor: api.Notification,
    9584
    9685                /**
    97                  * Initialize notifications area.
     86                 * A collection of observable notifications.
    9887                 *
    9988                 * @since 4.9.0
    100                  * @constructor
     89                 *
     90                 * @constructs wp.customize.Notifications
     91                 * @augments   wp.customize.Values
     92                 *
    10193                 * @param {object}  options - Options.
    10294                 * @param {jQuery}  [options.container] - Container element for notifications. This can be injected later.
    10395                 * @param {boolean} [options.alt] - Whether alternative style should be used when rendering notifications.
     96                 *
    10497                 * @returns {void}
    105                  * @this {wp.customize.Notifications}
    10698                 */
    10799                initialize: function( options ) {
    108100                        var collection = this;
     
    181173                 * @param {object}  args - Args.
    182174                 * @param {boolean} [args.sort=false] - Whether to return the notifications sorted.
    183175                 * @return {Array.<wp.customize.Notification>} Notifications.
    184                  * @this {wp.customize.Notifications}
    185176                 */
    186177                get: function( args ) {
    187178                        var collection = this, notifications, errorTypePriorities, params;
     
    217208                 *
    218209                 * @since 4.9.0
    219210                 * @returns {void}
    220                  * @this {wp.customize.Notifications}
    221211                 */
    222212                render: function() {
    223213                        var collection = this,
     
    340330                }
    341331        });
    342332
    343         /**
    344          * A Customizer Setting.
    345          *
    346          * A setting is WordPress data (theme mod, option, menu, etc.) that the user can
    347          * draft changes to in the Customizer.
    348          *
    349          * @see PHP class WP_Customize_Setting.
    350          *
    351          * @since 3.4.0
    352          * @class
    353          * @augments wp.customize.Value
    354          * @augments wp.customize.Class
    355          */
    356         api.Setting = api.Value.extend({
     333        api.Setting = api.Value.extend(/** @lends wp.customize.Setting.prototype */{
    357334
    358335                /**
    359336                 * Default params.
     
    367344                },
    368345
    369346                /**
    370                  * Initialize.
     347                 * A Customizer Setting.
     348                 *
     349                 * A setting is WordPress data (theme mod, option, menu, etc.) that the user can
     350                 * draft changes to in the Customizer.
     351                 *
     352                 * @see PHP class WP_Customize_Setting.
     353                 *
     354                 * @constructs wp.customize.Setting
     355                 * @augments   wp.customize.Value
    371356                 *
    372357                 * @since 3.4.0
    373358                 *
     
    448433        /**
    449434         * Current change count.
    450435         *
     436         * @alias wp.customize._latestRevision
     437         *
    451438         * @since 4.7.0
    452439         * @type {number}
    453440         * @protected
     
    457444        /**
    458445         * Last revision that was saved.
    459446         *
     447         * @alias wp.customize._lastSavedRevision
     448         *
    460449         * @since 4.7.0
    461450         * @type {number}
    462451         * @protected
     
    466455        /**
    467456         * Latest revisions associated with the updated setting.
    468457         *
     458         * @alias wp.customize._latestSettingRevision
     459         *
    469460         * @since 4.7.0
    470461         * @type {object}
    471462         * @protected
     
    495486        /**
    496487         * Get the dirty setting values.
    497488         *
     489         * @alias wp.customize.dirtyValues
     490         *
    498491         * @since 4.7.0
    499492         * @access public
    500493         *
     
    526519        /**
    527520         * Request updates to the changeset.
    528521         *
     522         * @alias wp.customize.requestChangesetUpdate
     523         *
    529524         * @since 4.7.0
    530525         * @access public
    531526         *
     
    661656        /**
    662657         * Watch all changes to Value properties, and bubble changes to parent Values instance
    663658         *
     659         * @alias wp.customize.utils.bubbleChildValueChanges
     660         *
    664661         * @since 4.1.0
    665662         *
    666663         * @param {wp.customize.Class} instance
     
    679676        /**
    680677         * Expand a panel, section, or control and focus on the first focusable element.
    681678         *
     679         * @alias wp.customize~focus
     680         *
    682681         * @since 4.1.0
    683682         *
    684683         * @param {Object}   [params]
     
    726725         *
    727726         * If a.priority() === b.priority(), then sort by their respective params.instanceNumber.
    728727         *
     728         * @alias wp.customize.utils.prioritySort
     729         *
    729730         * @since 4.1.0
    730731         *
    731732         * @param {(wp.customize.Panel|wp.customize.Section|wp.customize.Control)} a
     
    743744        /**
    744745         * Return whether the supplied Event object is for a keydown event but not the Enter key.
    745746         *
     747         * @alias wp.customize.utils.isKeydownButNotEnterEvent
     748         *
    746749         * @since 4.1.0
    747750         *
    748751         * @param {jQuery.Event} event
     
    755758        /**
    756759         * Return whether the two lists of elements are the same and are in the same order.
    757760         *
     761         * @alias wp.customize.utils.areElementListsEqual
     762         *
    758763         * @since 4.1.0
    759764         *
    760765         * @param {Array|jQuery} listA
     
    781786         * UI element, after an optional delay. If the user focuses the element
    782787         * before the delay passes, the reminder is canceled.
    783788         *
     789         * @alias wp.customize.utils.highlightButton
     790         *
    784791         * @since 4.9.0
    785792         *
    786793         * @param {jQuery} button - The element to highlight.
     
    834841         *
    835842         * Same functionality as the `current_time( 'mysql', false )` function in PHP.
    836843         *
     844         * @alias wp.customize.utils.getCurrentTimestamp
     845         *
    837846         * @since 4.9.0
    838847         *
    839848         * @returns {int} Current timestamp.
     
    851860        /**
    852861         * Get remaining time of when the date is set.
    853862         *
     863         * @alias wp.customize.utils.getRemainingTime
     864         *
    854865         * @since 4.9.0
    855866         *
    856867         * @param {string|int|Date} datetime - Date time or timestamp of the future date.
     
    876887         *
    877888         * @since 4.7.0
    878889         *
     890         * @ignore
     891         *
    879892         * @returns {string|null} Normalized `transitionend` event name or null if CSS transitions are not supported.
    880893         */
    881894        normalizedTransitionendEventName = (function () {
     
    897910                }
    898911        })();
    899912
    900         /**
    901          * Base class for Panel and Section.
    902          *
    903          * @since 4.1.0
    904          *
    905          * @class
    906          * @augments wp.customize.Class
    907          */
    908         Container = api.Class.extend({
     913        Container = api.Class.extend(/** @lends wp.customize~Container.prototype */{
    909914                defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
    910915                defaultExpandedArguments: { duration: 'fast', completeCallback: $.noop },
    911916                containerType: 'container',
     
    920925                },
    921926
    922927                /**
     928                 * Base class for Panel and Section.
     929                 *
     930                 * @constructs wp.customize~Container
     931                 * @augments   wp.customize.Class
     932                 *
    923933                 * @since 4.1.0
    924934                 *
     935                 * @borrows wp.customize~focus as focus
     936                 *
    925937                 * @param {string}         id - The ID for the container.
    926938                 * @param {object}         options - Object containing one property: params.
    927939                 * @param {string}         options.title - Title shown when panel is collapsed and expanded.
     
    9991011                 *
    10001012                 * @since 4.9.0
    10011013                 * @returns {jQuery} Notification container element.
    1002                  * @this {wp.customize.Control}
    10031014                 */
    10041015                getNotificationsContainerElement: function() {
    10051016                        var container = this;
     
    13051316                        } );
    13061317                },
    13071318
    1308                 /**
    1309                  * Bring the container into view and then expand this and bring it into view
    1310                  * @param {Object} [params]
     1319                /*
     1320                 * is documented using @borrows in the constructor.
    13111321                 */
    13121322                focus: focus,
    13131323
     
    13701380                }
    13711381        });
    13721382
    1373         /**
    1374          * @since 4.1.0
    1375          *
    1376          * @class
    1377          * @augments wp.customize.Class
    1378          */
    1379         api.Section = Container.extend({
     1383        api.Section = Container.extend(/** @lends wp.customize.Section.prototype */{
    13801384                containerType: 'section',
    13811385                containerParent: '#customize-theme-controls',
    13821386                containerPaneParent: '.customize-pane-parent',
     
    13931397                },
    13941398
    13951399                /**
     1400                 * @constructs wp.customize.Section
     1401                 * @augments   wp.customize~Container
     1402                 *
    13961403                 * @since 4.1.0
    13971404                 *
    13981405                 * @param {string}         id - The ID for the section.
     
    16541661                }
    16551662        });
    16561663
    1657         /**
    1658          * wp.customize.ThemesSection
    1659          *
    1660          * Custom section for themes that loads themes by category, and also
    1661          * handles the theme-details view rendering and navigation.
    1662          *
    1663          * @constructor
    1664          * @augments wp.customize.Section
    1665          * @augments wp.customize.Container
    1666          */
    1667         api.ThemesSection = api.Section.extend({
     1664        api.ThemesSection = api.Section.extend(/** @lends wp.customize.ThemesSection.prototype */{
    16681665                currentTheme: '',
    16691666                overlay: '',
    16701667                template: '',
     
    16831680                updateCountDebounced: null,
    16841681
    16851682                /**
    1686                  * Initialize.
     1683                 * wp.customize.ThemesSection
     1684                 *
     1685                 * Custom section for themes that loads themes by category, and also
     1686                 * handles the theme-details view rendering and navigation.
     1687                 *
     1688                 * @constructs wp.customize.ThemesSection
     1689                 * @augments   wp.customize.Section
    16871690                 *
    16881691                 * @since 4.9.0
    16891692                 *
     
    26242627                }
    26252628        });
    26262629
    2627         /**
    2628          * Class wp.customize.OuterSection.
    2629          *
    2630          * Creates section outside of the sidebar, there is no ui to trigger collapse/expand so
    2631          * it would require custom handling.
    2632          *
    2633          * @since 4.9
    2634          *
    2635          * @constructor
    2636          * @augments wp.customize.Section
    2637          * @augments wp.customize.Container
    2638          */
    2639         api.OuterSection = api.Section.extend({
     2630        api.OuterSection = api.Section.extend(/** @lends wp.customize.OuterSection.prototype */{
    26402631
    26412632                /**
    2642                  * Initialize.
     2633                 * Class wp.customize.OuterSection.
     2634                 *
     2635                 * Creates section outside of the sidebar, there is no ui to trigger collapse/expand so
     2636                 * it would require custom handling.
     2637                 *
     2638                 * @constructs wp.customize.OuterSection
     2639                 * @augments   wp.customize.Section
    26432640                 *
    26442641                 * @since 4.9.0
    26452642                 *
     
    27432740                }
    27442741        });
    27452742
    2746         /**
    2747          * @since 4.1.0
    2748          *
    2749          * @class
    2750          * @augments wp.customize.Class
    2751          */
    2752         api.Panel = Container.extend({
     2743        api.Panel = Container.extend(/** @lends wp.customize.Panel.prototype */{
    27532744                containerType: 'panel',
    27542745
    27552746                /**
     2747                 * @constructs wp.customize.Panel
     2748                 * @augments   wp.customize~Container
     2749                 *
    27562750                 * @since 4.1.0
    27572751                 *
    27582752                 * @param {string}         id - The ID for the panel.
     
    30173011                }
    30183012        });
    30193013
    3020         /**
    3021          * Class wp.customize.ThemesPanel.
    3022          *
    3023          * Custom section for themes that displays without the customize preview.
    3024          *
    3025          * @constructor
    3026          * @augments wp.customize.Panel
    3027          * @augments wp.customize.Container
    3028          */
    3029         api.ThemesPanel = api.Panel.extend({
     3014        api.ThemesPanel = api.Panel.extend(/** @lends wp.customize.ThemsPanel.prototype */{
    30303015
    30313016                /**
    3032                  * Initialize.
     3017                 *  Class wp.customize.ThemesPanel.
     3018                 *
     3019                 * Custom section for themes that displays without the customize preview.
     3020                 *
     3021                 * @constructs wp.customize.ThemesPanel
     3022                 * @augments   wp.customize.Panel
    30333023                 *
    30343024                 * @since 4.9.0
    30353025                 *
     
    34483438                }
    34493439        });
    34503440
    3451         /**
    3452          * A Customizer Control.
    3453          *
    3454          * A control provides a UI element that allows a user to modify a Customizer Setting.
    3455          *
    3456          * @see PHP class WP_Customize_Control.
    3457          *
    3458          * @class
    3459          * @augments wp.customize.Class
    3460          */
    3461         api.Control = api.Class.extend({
     3441        api.Control = api.Class.extend(/** @lends wp.customize.Control.prototype */{
    34623442                defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
    34633443
    34643444                /**
     
    34753455                },
    34763456
    34773457                /**
    3478                  * Initialize.
     3458                 * A Customizer Control.
     3459                 *
     3460                 * A control provides a UI element that allows a user to modify a Customizer Setting.
     3461                 *
     3462                 * @see PHP class WP_Customize_Control.
     3463                 *
     3464                 * @constructs wp.customize.Control
     3465                 * @augments   wp.customize.Class
     3466                 *
     3467                 * @borrows wp.customize~focus as focus
     3468                 * @borrows wp.customize~Container.prototype.activate as activate
     3469                 * @borrows wp.customize~Container.prototype.deactivate as deactivate
     3470                 * @borrows wp.customize~Container.prototype._toggleActive as _toggleActive
    34793471                 *
    34803472                 * @param {string} id                       - Unique identifier for the control instance.
    34813473                 * @param {object} options                  - Options hash for the control instance.
     
    37413733                 *
    37423734                 * @since 4.6.0
    37433735                 * @returns {jQuery} Setting validation message element.
    3744                  * @this {wp.customize.Control}
    37453736                 */
    37463737                getNotificationsContainerElement: function() {
    37473738                        var control = this, controlTitle, notificationsContainer;
     
    38853876                        api.section( this.section() ).expand( params );
    38863877                },
    38873878
    3888                 /**
    3889                  * Bring the containing section and panel into view and then
    3890                  * this control into view, focusing on the first input.
     3879                /*
     3880                 * Documented using @borrows in the constructor.
    38913881                 */
    38923882                focus: focus,
    38933883
     
    39313921                        return this.onChangeActive( active, this.defaultActiveArguments );
    39323922                },
    39333923
    3934                 /**
    3935                  * Shorthand way to enable the active state.
    3936                  *
    3937                  * @since 4.1.0
    3938                  *
    3939                  * @param {Object} [params]
    3940                  * @returns {Boolean} false if already active
     3924                /*
     3925                 * Documented using @borrows in the constructor
    39413926                 */
    39423927                activate: Container.prototype.activate,
    39433928
    3944                 /**
    3945                  * Shorthand way to disable the active state.
    3946                  *
    3947                  * @since 4.1.0
    3948                  *
    3949                  * @param {Object} [params]
    3950                  * @returns {Boolean} false if already inactive
     3929                /*
     3930                 * Documented using @borrows in the constructor
    39513931                 */
    39523932                deactivate: Container.prototype.deactivate,
    39533933
    3954                 /**
    3955                  * Re-use _toggleActive from Container class.
    3956                  *
    3957                  * @access private
     3934                /*
     3935                 * Documented using @borrows in the constructor
    39583936                 */
    39593937                _toggleActive: Container.prototype._toggleActive,
    39603938
     
    41284106        /**
    41294107         * A colorpicker control.
    41304108         *
    4131          * @class
     4109         * @class    wp.customize.ColorControl
    41324110         * @augments wp.customize.Control
    4133          * @augments wp.customize.Class
    41344111         */
    4135         api.ColorControl = api.Control.extend({
     4112        api.ColorControl = api.Control.extend(/** @lends wp.customize.ColorControl.prototype */{
    41364113                ready: function() {
    41374114                        var control = this,
    41384115                                isHueSlider = this.params.mode === 'hue',
     
    41924169        /**
    41934170         * A control that implements the media modal.
    41944171         *
    4195          * @class
     4172         * @class    wp.customize.MediaControl
    41964173         * @augments wp.customize.Control
    4197          * @augments wp.customize.Class
    41984174         */
    4199         api.MediaControl = api.Control.extend({
     4175        api.MediaControl = api.Control.extend(/** @lends wp.customize.MediaControl.prototype */{
    42004176
    42014177                /**
    42024178                 * When the control's DOM structure is ready,
     
    43814357        /**
    43824358         * An upload control, which utilizes the media modal.
    43834359         *
    4384          * @class
     4360         * @class    wp.customize.UploadControl
    43854361         * @augments wp.customize.MediaControl
    4386          * @augments wp.customize.Control
    4387          * @augments wp.customize.Class
    43884362         */
    4389         api.UploadControl = api.MediaControl.extend({
     4363        api.UploadControl = api.MediaControl.extend(/** @lends wp.customize.UploadControl.prototype */{
    43904364
    43914365                /**
    43924366                 * Callback handler for when an attachment is selected in the media modal.
     
    44254399         * This control no longer needs to do anything more
    44264400         * than what the upload control does in JS.
    44274401         *
    4428          * @class
     4402         * @class    wp.customize.ImageControl
    44294403         * @augments wp.customize.UploadControl
    4430          * @augments wp.customize.MediaControl
    4431          * @augments wp.customize.Control
    4432          * @augments wp.customize.Class
    44334404         */
    4434         api.ImageControl = api.UploadControl.extend({
     4405        api.ImageControl = api.UploadControl.extend(/** @lends wp.customize.ImageControl.prototype */{
    44354406                // @deprecated
    44364407                thumbnailSrc: function() {}
    44374408        });
     
    44394410        /**
    44404411         * A control for uploading background images.
    44414412         *
    4442          * @class
     4413         * @class    wp.customize.BackgroundControl
    44434414         * @augments wp.customize.UploadControl
    4444          * @augments wp.customize.MediaControl
    4445          * @augments wp.customize.Control
    4446          * @augments wp.customize.Class
    44474415         */
    4448         api.BackgroundControl = api.UploadControl.extend({
     4416        api.BackgroundControl = api.UploadControl.extend(/** @lends wp.customize.BackgroundControl.prototype */{
    44494417
    44504418                /**
    44514419                 * When the control's DOM structure is ready,
     
    44764444         *
    44774445         * @since 4.7.0
    44784446         *
    4479          * @class
     4447         * @class    wp.customize.BackgroundPositionControl
    44804448         * @augments wp.customize.Control
    4481          * @augments wp.customize.Class
    44824449         */
    4483         api.BackgroundPositionControl = api.Control.extend( {
     4450        api.BackgroundPositionControl = api.Control.extend(/** @lends wp.customize.BackgroundPositionControl.prototype */{
    44844451
    44854452                /**
    44864453                 * Set up control UI once embedded in DOM and settings are created.
     
    45154482        /**
    45164483         * A control for selecting and cropping an image.
    45174484         *
    4518          * @class
     4485         * @class    wp.customize.CroppedImageControl
    45194486         * @augments wp.customize.MediaControl
    4520          * @augments wp.customize.Control
    4521          * @augments wp.customize.Class
    45224487         */
    4523         api.CroppedImageControl = api.MediaControl.extend({
     4488        api.CroppedImageControl = api.MediaControl.extend(/** @lends wp.customize.CroppedImageControl.prototype */{
    45244489
    45254490                /**
    45264491                 * Open the media modal to the library state.
     
    47174682        /**
    47184683         * A control for selecting and cropping Site Icons.
    47194684         *
    4720          * @class
     4685         * @class    wp.customize.SiteIconControl
    47214686         * @augments wp.customize.CroppedImageControl
    4722          * @augments wp.customize.MediaControl
    4723          * @augments wp.customize.Control
    4724          * @augments wp.customize.Class
    47254687         */
    4726         api.SiteIconControl = api.CroppedImageControl.extend({
     4688        api.SiteIconControl = api.CroppedImageControl.extend(/** @lends wp.customize.SiteIconControl.prototype */{
    47274689
    47284690                /**
    47294691                 * Create a media modal select frame, and store it so the instance can be reused when needed.
     
    48384800        });
    48394801
    48404802        /**
    4841          * @class
     4803         * @class    wp.customize.HeaderControl
    48424804         * @augments wp.customize.Control
    4843          * @augments wp.customize.Class
    48444805         */
    4845         api.HeaderControl = api.Control.extend({
     4806        api.HeaderControl = api.Control.extend(/** @lends wp.customize.HeaderControl.prototype */{
    48464807                ready: function() {
    48474808                        this.btnRemove = $('#customize-control-header_image .actions .remove');
    48484809                        this.btnNew    = $('#customize-control-header_image .actions .new');
     
    51085069        /**
    51095070         * wp.customize.ThemeControl
    51105071         *
    5111          * @constructor
     5072         * @class    wp.customize.ThemeControl
    51125073         * @augments wp.customize.Control
    5113          * @augments wp.customize.Class
    51145074         */
    5115         api.ThemeControl = api.Control.extend({
     5075        api.ThemeControl = api.Control.extend(/** @lends wp.customize.ThemeControl.prototype */{
    51165076
    51175077                touchDrag: false,
    51185078                screenshotRendered: false,
     
    52605220         *
    52615221         * @since 4.9.0
    52625222         *
    5263          * @constructor
     5223         * @class    wp.customize.CodeEditorControl
    52645224         * @augments wp.customize.Control
    5265          * @augments wp.customize.Class
    52665225         */
    5267         api.CodeEditorControl = api.Control.extend({
     5226        api.CodeEditorControl = api.Control.extend(/** @lends wp.customize.CodeEditorControl.prototype */{
    52685227
    52695228                /**
    52705229                 * Initialize.
     
    55605519         * Class wp.customize.DateTimeControl.
    55615520         *
    55625521         * @since 4.9.0
    5563          * @constructor
     5522         * @class    wp.customize.DateTimeControl
    55645523         * @augments wp.customize.Control
    5565          * @augments wp.customize.Class
    55665524         */
    5567         api.DateTimeControl = api.Control.extend({
     5525        api.DateTimeControl = api.Control.extend(/** @lends wp.customize.DateTimeControl.prototype */{
    55685526
    55695527                /**
    55705528                 * Initialize behaviors.
     
    59155873         * Class PreviewLinkControl.
    59165874         *
    59175875         * @since 4.9.0
    5918          * @constructor
     5876         * @class    wp.customize.DateTimeControl
    59195877         * @augments wp.customize.Control
    5920          * @augments wp.customize.Class
    59215878         */
    5922         api.PreviewLinkControl = api.Control.extend({
     5879        api.PreviewLinkControl = api.Control.extend(/** @lends wp.customize.DateTimeControl.prototype */{
    59235880
    59245881                defaults: _.extend( {}, api.Control.prototype.defaults, {
    59255882                        templateId: 'customize-preview-link-control'
     
    60335990                }
    60345991        });
    60355992
    6036         // Change objects contained within the main customize object to Settings.
     5993        /**
     5994         * Change objects contained within the main customize object to Settings.
     5995         *
     5996         * @alias wp.customize.defaultConstructor
     5997         */
    60375998        api.defaultConstructor = api.Setting;
    60385999
    60396000        /**
    60406001         * Callback for resolved controls.
    60416002         *
    6042          * @callback deferredControlsCallback
     6003         * @callback wp.customize.deferredControlsCallback
    60436004         * @param {wp.customize.Control[]} Resolved controls.
    60446005         */
    60456006
    60466007        /**
    60476008         * Collection of all registered controls.
    60486009         *
     6010         * @alias wp.customize.control
     6011         *
    60496012         * @since 3.4.0
    60506013         *
    60516014         * @type {Function}
     
    60986061        /**
    60996062         * Callback for resolved sections.
    61006063         *
    6101          * @callback deferredSectionsCallback
     6064         * @callback wp.customize.deferredSectionsCallback
    61026065         * @param {wp.customize.Section[]} Resolved sections.
    61036066         */
    61046067
    61056068        /**
    61066069         * Collection of all registered sections.
    61076070         *
     6071         * @alias wp.customize.section
     6072         *
    61086073         * @since 3.4.0
    61096074         *
    61106075         * @type {Function}
     
    61306095        /**
    61316096         * Callback for resolved panels.
    61326097         *
    6133          * @callback deferredPanelsCallback
     6098         * @callback wp.customize.deferredPanelsCallback
    61346099         * @param {wp.customize.Panel[]} Resolved panels.
    61356100         */
    61366101
    61376102        /**
    61386103         * Collection of all registered panels.
    61396104         *
     6105         * @alias wp.customize.panel
     6106         *
    61406107         * @since 4.0.0
    61416108         *
    61426109         * @type {Function}
     
    61626129        /**
    61636130         * Callback for resolved notifications.
    61646131         *
    6165          * @callback deferredNotificationsCallback
     6132         * @callback wp.customize.deferredNotificationsCallback
    61666133         * @param {wp.customize.Notification[]} Resolved notifications.
    61676134         */
    61686135
    61696136        /**
    61706137         * Collection of all global notifications.
    61716138         *
     6139         * @alias wp.customize.notifications
     6140         *
    61726141         * @since 4.9.0
    61736142         *
    61746143         * @type {Function}
     
    61996168         */
    62006169        api.notifications = new api.Notifications();
    62016170
    6202         /**
    6203          * An object that fetches a preview in the background of the document, which
    6204          * allows for seamless replacement of an existing preview.
    6205          *
    6206          * @class
    6207          * @augments wp.customize.Messenger
    6208          * @augments wp.customize.Class
    6209          * @mixes wp.customize.Events
    6210          */
    6211         api.PreviewFrame = api.Messenger.extend({
     6171        api.PreviewFrame = api.Messenger.extend(/** @lends wp.customize.PreviewFrame.prototype */{
    62126172                sensitivity: null, // Will get set to api.settings.timeouts.previewFrameSensitivity.
    62136173
    62146174                /**
    6215                  * Initialize the PreviewFrame.
     6175                 * An object that fetches a preview in the background of the document, which
     6176                 * allows for seamless replacement of an existing preview.
     6177                 *
     6178                 * @constructs wp.customize.PreviewFrame
     6179                 * @augments   wp.customize.Messenger
    62166180                 *
    62176181                 * @param {object} params.container
    62186182                 * @param {object} params.previewUrl
     
    64306394        /**
    64316395         * Set the document title of the customizer.
    64326396         *
     6397         * @alias wp.customize.setDocumentTitle
     6398         *
    64336399         * @since 4.1.0
    64346400         *
    64356401         * @param {string} documentTitle
     
    64426408                api.trigger( 'title', title );
    64436409        };
    64446410
    6445         /**
    6446          * @class
    6447          * @augments wp.customize.Messenger
    6448          * @augments wp.customize.Class
    6449          * @mixes wp.customize.Events
    6450          */
    6451         api.Previewer = api.Messenger.extend({
     6411        api.Previewer = api.Messenger.extend(/** @lends wp.customize.Previewer.prototype */{
    64526412                refreshBuffer: null, // Will get set to api.settings.timeouts.windowRefresh.
    64536413
    64546414                /**
     6415                 * @constructs wp.customize.Previewer
     6416                 * @augments   wp.customize.Messenger
     6417                 *
    64556418                 * @param {array}  params.allowedUrls
    64566419                 * @param {string} params.container   A selector or jQuery element for the preview
    64576420                 *                                    frame to be placed.
     
    69056868         *
    69066869         * Add notifications to the settings and focus on the first control that has an invalid setting.
    69076870         *
     6871         * @alias wp.customize._handleSettingValidities
     6872         *
    69086873         * @since 4.6.0
    69096874         * @private
    69106875         *
     
    69806945        /**
    69816946         * Find all controls associated with the given settings.
    69826947         *
     6948         * @alias wp.customize.findControlsForSettings
     6949         *
    69836950         * @since 4.6.0
    69846951         * @param {string[]} settingIds Setting IDs.
    69856952         * @returns {object<string, wp.customize.Control>} Mapping setting ids to arrays of controls.
     
    70016968        /**
    70026969         * Sort panels, sections, controls by priorities. Hide empty sections and panels.
    70036970         *
     6971         * @alias wp.customize.reflowPaneContents
     6972         *
    70046973         * @since 4.1.0
    70056974         */
    70066975        api.reflowPaneContents = _.bind( function () {
     
    73657334                        }
    73667335                });
    73677336
    7368                 // Initialize Previewer
     7337                /**
     7338                 * Initialize Previewer
     7339                 *
     7340                 * @alias wp.customize.previewer
     7341                 */
    73697342                api.previewer = new api.Previewer({
    73707343                        container:   '#customize-preview',
    73717344                        form:        '#customize-controls',
    73727345                        previewUrl:  api.settings.url.preview,
    73737346                        allowedUrls: api.settings.url.allowed
    7374                 }, {
     7347                },/** @lends wp.customize.previewer */{
    73757348
    73767349                        nonce: api.settings.nonce,
    73777350
     
    80748047                 */
    80758048                ( function checkAndDisplayLockNotice() {
    80768049
    8077                         /**
    8078                          * A notification that is displayed in a full-screen overlay with information about the locked changeset.
    8079                          *
    8080                          * @since 4.9.0
    8081                          * @class
    8082                          * @augments wp.customize.Notification
    8083                          * @augments wp.customize.OverlayNotification
    8084                          */
    8085                         var LockedNotification = api.OverlayNotification.extend({
     8050                        var LockedNotification = api.OverlayNotification.extend(/** @lends wp.customize~LockedNotification.prototype */{
    80868051
    80878052                                /**
    80888053                                 * Template ID.
     
    80998064                                lockUser: null,
    81008065
    81018066                                /**
    8102                                  * Initialize.
     8067                                 * A notification that is displayed in a full-screen overlay with information about the locked changeset.
     8068                                 *
     8069                                 * @constructs wp.customize~LockedNotification
     8070                                 * @augments   wp.customize.Notification
    81038071                                 *
    81048072                                 * @since 4.9.0
    81058073                                 *
  • src/wp-admin/js/customize-nav-menus.js

    diff --git src/wp-admin/js/customize-nav-menus.js src/wp-admin/js/customize-nav-menus.js
    index 3e223825c..a50966efa 100644
     
    1313                this.jQueryExtensions();
    1414        };
    1515
     16        /**
     17         * @namespace wp.customize.Menus
     18         */
    1619        api.Menus = api.Menus || {};
    1720
    1821        // Link settings.
     
    3538         * Newly-created Nav Menus and Nav Menu Items have negative integer IDs which
    3639         * serve as placeholders until Save & Publish happens.
    3740         *
     41         * @alias wp.customize.Menus.generatePlaceholderAutoIncrementId
     42         *
    3843         * @return {number}
    3944         */
    4045        api.Menus.generatePlaceholderAutoIncrementId = function() {
     
    4651         *
    4752         * A single available menu item model. See PHP's WP_Customize_Nav_Menu_Item_Setting class.
    4853         *
    49          * @constructor
     54         * @class    wp.customize.Menus.AvailableItemModel
    5055         * @augments Backbone.Model
    5156         */
    5257        api.Menus.AvailableItemModel = Backbone.Model.extend( $.extend(
     
    6166         *
    6267         * Collection for available menu item models.
    6368         *
    64          * @constructor
     69         * @class    wp.customize.Menus.AvailableItemCollection
    6570         * @augments Backbone.Model
    6671         */
    67         api.Menus.AvailableItemCollection = Backbone.Collection.extend({
     72        api.Menus.AvailableItemCollection = Backbone.Collection.extend(/** @lends wp.customize.Menus.AvailableItemCollection.prototype */{
    6873                model: api.Menus.AvailableItemModel,
    6974
    7075                sort_key: 'order',
     
    8489         * Insert a new `auto-draft` post.
    8590         *
    8691         * @since 4.7.0
    87          * @access public
     92         * @alias wp.customize.Menus.insertAutoDraftPost
    8893         *
    8994         * @param {object} params - Parameters for the draft post to create.
    9095         * @param {string} params.post_type - Post type to add.
     
    141146                return deferred.promise();
    142147        };
    143148
    144         /**
    145          * wp.customize.Menus.AvailableMenuItemsPanelView
    146          *
    147          * View class for the available menu items panel.
    148          *
    149          * @constructor
    150          * @augments wp.Backbone.View
    151          * @augments Backbone.View
    152          */
    153         api.Menus.AvailableMenuItemsPanelView = wp.Backbone.View.extend({
     149        api.Menus.AvailableMenuItemsPanelView = wp.Backbone.View.extend(/** @lends wp.customize.Menus.AvailableMenuItemsPanelView.prototype */{
    154150
    155151                el: '#available-menu-items',
    156152
     
    181177                loading: false,
    182178                addingNew: false,
    183179
     180                /**
     181                 * wp.customize.Menus.AvailableMenuItemsPanelView
     182                 *
     183                 * View class for the available menu items panel.
     184                 *
     185                 * @constructs wp.customize.Menus.AvailableMenuItemsPanelView
     186                 * @augments   wp.Backbone.View
     187                 */
    184188                initialize: function() {
    185189                        var self = this;
    186190
     
    749753         * Customizer panel for menus. This is used only for screen options management.
    750754         * Note that 'menus' must match the WP_Customize_Menu_Panel::$type.
    751755         *
    752          * @constructor
     756         * @class    wp.customize.Menus.MenusPanel
    753757         * @augments wp.customize.Panel
    754758         */
    755         api.Menus.MenusPanel = api.Panel.extend({
     759        api.Menus.MenusPanel = api.Panel.extend(/** @lends wp.customize.Menus.MenusPanel.prototype */{
    756760
    757761                attachEvents: function() {
    758762                        api.Panel.prototype.attachEvents.call( this );
     
    881885         * Customizer section for menus. This is used only for lazy-loading child controls.
    882886         * Note that 'nav_menu' must match the WP_Customize_Menu_Section::$type.
    883887         *
    884          * @constructor
     888         * @class    wp.customize.Menus.MenuSection
    885889         * @augments wp.customize.Section
    886890         */
    887         api.Menus.MenuSection = api.Section.extend({
     891        api.Menus.MenuSection = api.Section.extend(/** @lends wp.customize.Menus.MenuSection.prototype */{
    888892
    889893                /**
    890894                 * Initialize.
     
    12081212         *
    12091213         * Customizer section for new menus.
    12101214         *
    1211          * @constructor
     1215         * @class    wp.customize.Menus.NewMenuSection
    12121216         * @augments wp.customize.Section
    12131217         */
    1214         api.Menus.NewMenuSection = api.Section.extend({
     1218        api.Menus.NewMenuSection = api.Section.extend(/** @lends wp.customize.Menus.NewMenuSection.prototype */{
    12151219
    12161220                /**
    12171221                 * Add behaviors for the accordion section.
     
    14471451         * Customizer control for menu locations (rendered as a <select>).
    14481452         * Note that 'nav_menu_location' must match the WP_Customize_Nav_Menu_Location_Control::$type.
    14491453         *
    1450          * @constructor
     1454         * @class    wp.customize.Menus.MenuLocationControl
    14511455         * @augments wp.customize.Control
    14521456         */
    1453         api.Menus.MenuLocationControl = api.Control.extend({
     1457        api.Menus.MenuLocationControl = api.Control.extend(/** @lends wp.customize.Menus.MenuLocationControl.prototype */{
    14541458                initialize: function( id, options ) {
    14551459                        var control = this,
    14561460                                matches = id.match( /^nav_menu_locations\[(.+?)]/ );
     
    15251529                }
    15261530        });
    15271531
    1528         /**
    1529          * wp.customize.Menus.MenuItemControl
    1530          *
    1531          * Customizer control for menu items.
    1532          * Note that 'menu_item' must match the WP_Customize_Menu_Item_Control::$type.
    1533          *
    1534          * @constructor
    1535          * @augments wp.customize.Control
    1536          */
    1537         api.Menus.MenuItemControl = api.Control.extend({
     1532        api.Menus.MenuItemControl = api.Control.extend(/** @lends wp.customize.Menus.MenuItemControl.prototype */{
    15381533
    15391534                /**
    1540                  * @inheritdoc
     1535                 * wp.customize.Menus.MenuItemControl
     1536                 *
     1537                 * Customizer control for menu items.
     1538                 * Note that 'menu_item' must match the WP_Customize_Menu_Item_Control::$type.
     1539                 *
     1540                 * @constructs wp.customize.Menus.MenuItemControl
     1541                 * @augments   wp.customize.Control
     1542                 *
     1543                 * @inheritDoc
    15411544                 */
    15421545                initialize: function( id, options ) {
    15431546                        var control = this;
     
    23202323         *
    23212324         * Customizer control for a nav menu's name.
    23222325         *
    2323          * @constructor
     2326         * @class    wp.customize.Menus.MenuNameControl
    23242327         * @augments wp.customize.Control
    23252328         */
    2326         api.Menus.MenuNameControl = api.Control.extend({
     2329        api.Menus.MenuNameControl = api.Control.extend(/** @lends wp.customize.Menus.MenuNameControl.prototype */{
    23272330
    23282331                ready: function() {
    23292332                        var control = this;
     
    23602363         * Customizer control for a nav menu's locations.
    23612364         *
    23622365         * @since 4.9.0
    2363          * @constructor
     2366         * @class    wp.customize.Menus.MenuLocationsControl
    23642367         * @augments wp.customize.Control
    23652368         */
    2366         api.Menus.MenuLocationsControl = api.Control.extend({
     2369        api.Menus.MenuLocationsControl = api.Control.extend(/** @lends wp.customize.Menus.MenuLocationsControl.prototype */{
    23672370
    23682371                /**
    23692372                 * Set up the control.
     
    24332436         *
    24342437         * Customizer control for a nav menu's auto add.
    24352438         *
    2436          * @constructor
     2439         * @class    wp.customize.Menus.MenuAutoAddControl
    24372440         * @augments wp.customize.Control
    24382441         */
    2439         api.Menus.MenuAutoAddControl = api.Control.extend({
     2442        api.Menus.MenuAutoAddControl = api.Control.extend(/** @lends wp.customize.Menus.MenuAutoAddControl.prototype */{
    24402443
    24412444                ready: function() {
    24422445                        var control = this,
     
    24862489         * Customizer control for menus.
    24872490         * Note that 'nav_menu' must match the WP_Menu_Customize_Control::$type
    24882491         *
    2489          * @constructor
     2492         * @class    wp.customize.Menus.MenuControl
    24902493         * @augments wp.customize.Control
    24912494         */
    2492         api.Menus.MenuControl = api.Control.extend({
     2495        api.Menus.MenuControl = api.Control.extend(/** @lends wp.customize.Menus.MenuControl.prototype */{
    24932496                /**
    24942497                 * Set up the control.
    24952498                 */
     
    30173020                }
    30183021        } );
    30193022
    3020         /**
    3021          * wp.customize.Menus.NewMenuControl
    3022          *
    3023          * Customizer control for creating new menus and handling deletion of existing menus.
    3024          * Note that 'new_menu' must match the WP_Customize_New_Menu_Control::$type.
    3025          *
    3026          * @constructor
    3027          * @augments wp.customize.Control
    3028          * @deprecated 4.9.0 This class is no longer used due to new menu creation UX.
    3029          */
    3030         api.Menus.NewMenuControl = api.Control.extend({
     3023        api.Menus.NewMenuControl = api.Control.extend(/** @lends wp.customize.Menus.NewMenuControl.prototype */{
    30313024
    30323025                /**
    3033                  * Initialize.
     3026                 * wp.customize.Menus.NewMenuControl
    30343027                 *
    3035                  * @deprecated 4.9.0
     3028                 * Customizer control for creating new menus and handling deletion of existing menus.
     3029                 * Note that 'new_menu' must match the WP_Customize_New_Menu_Control::$type.
     3030                 *
     3031                 * @constructs wp.customize.Menus.NewMenuControl
     3032                 * @augments   wp.customize.Control
     3033                 *
     3034                 * @deprecated 4.9.0 This class is no longer used due to new menu creation UX.
    30363035                 */
    30373036                initialize: function() {
    30383037                        if ( 'undefined' !== typeof console && console.warn ) {
     
    31623161         * When customize_save comes back with a success, make sure any inserted
    31633162         * nav menus and items are properly re-added with their newly-assigned IDs.
    31643163         *
     3164         * @alias wp.customize.Menus.applySavedData
     3165         *
    31653166         * @param {object} data
    31663167         * @param {array} data.nav_menu_updates
    31673168         * @param {array} data.nav_menu_item_updates
     
    33923393        /**
    33933394         * Focus a menu item control.
    33943395         *
     3396         * @alias wp.customize.Menus.focusMenuItemControl
     3397         *
    33953398         * @param {string} menuItemId
    33963399         */
    33973400        api.Menus.focusMenuItemControl = function( menuItemId ) {
     
    34043407        /**
    34053408         * Get the control for a given menu.
    34063409         *
     3410         * @alias wp.customize.Menus.getMenuControl
     3411         *
    34073412         * @param menuId
    34083413         * @return {wp.customize.controlConstructor.menus[]}
    34093414         */
     
    34143419        /**
    34153420         * Given a menu item ID, get the control associated with it.
    34163421         *
     3422         * @alias wp.customize.Menus.getMenuItemControl
     3423         *
    34173424         * @param {string} menuItemId
    34183425         * @return {object|null}
    34193426         */
     
    34223429        };
    34233430
    34243431        /**
     3432         * @alias wp.customize.Menus~menuItemIdToSettingId
     3433         *
    34253434         * @param {String} menuItemId
    34263435         */
    34273436        function menuItemIdToSettingId( menuItemId ) {
     
    34323441         * Apply sanitize_text_field()-like logic to the supplied name, returning a
    34333442         * "unnammed" fallback string if the name is then empty.
    34343443         *
     3444         * @alias wp.customize.Menus~displayNavMenuName
     3445         *
    34353446         * @param {string} name
    34363447         * @returns {string}
    34373448         */
  • src/wp-admin/js/customize-widgets.js

    diff --git src/wp-admin/js/customize-widgets.js src/wp-admin/js/customize-widgets.js
    index b2bd4ae6f..f2cf0d476 100644
     
    77        var api = wp.customize,
    88                l10n;
    99
     10        /**
     11         * @namespace wp.customize.Widgets
     12         */
    1013        api.Widgets = api.Widgets || {};
    1114        api.Widgets.savedWidgetIds = {};
    1215
     
    1922         *
    2023         * A single widget model.
    2124         *
    22          * @constructor
     25         * @class    wp.customize.Widgets.WidgetModel
    2326         * @augments Backbone.Model
    2427         */
    25         api.Widgets.WidgetModel = Backbone.Model.extend({
     28        api.Widgets.WidgetModel = Backbone.Model.extend(/** @lends wp.customize.Widgets.WidgetModel.prototype */{
    2629                id: null,
    2730                temp_id: null,
    2831                classname: null,
     
    4548         *
    4649         * Collection for widget models.
    4750         *
    48          * @constructor
    49          * @augments Backbone.Model
     51         * @class    wp.customize.Widgets.WidgetCollection
     52         * @augments Backbone.Collection
    5053         */
    51         api.Widgets.WidgetCollection = Backbone.Collection.extend({
     54        api.Widgets.WidgetCollection = Backbone.Collection.extend(/** @lends wp.customize.Widgets.WidgetCollection.prototype */{
    5255                model: api.Widgets.WidgetModel,
    5356
    5457                // Controls searching on the current widget collection
     
    103106         *
    104107         * A single sidebar model.
    105108         *
    106          * @constructor
     109         * @class    wp.customize.Widgets.SidebarModel
    107110         * @augments Backbone.Model
    108111         */
    109         api.Widgets.SidebarModel = Backbone.Model.extend({
     112        api.Widgets.SidebarModel = Backbone.Model.extend(/** @lends wp.customize.Widgets.SidebarModel.prototype */{
    110113                after_title: null,
    111114                after_widget: null,
    112115                before_title: null,
     
    123126         *
    124127         * Collection for sidebar models.
    125128         *
    126          * @constructor
     129         * @class    wp.customize.Widgets.SidebarCollection
    127130         * @augments Backbone.Collection
    128131         */
    129         api.Widgets.SidebarCollection = Backbone.Collection.extend({
     132        api.Widgets.SidebarCollection = Backbone.Collection.extend(/** @lends wp.customize.Widgets.SidebarCollection.prototype */{
    130133                model: api.Widgets.SidebarModel
    131134        });
    132135        api.Widgets.registeredSidebars = new api.Widgets.SidebarCollection( api.Widgets.data.registeredSidebars );
    133136
    134         /**
    135          * wp.customize.Widgets.AvailableWidgetsPanelView
    136          *
    137          * View class for the available widgets panel.
    138          *
    139          * @constructor
    140          * @augments wp.Backbone.View
    141          * @augments Backbone.View
    142          */
    143         api.Widgets.AvailableWidgetsPanelView = wp.Backbone.View.extend({
     137        api.Widgets.AvailableWidgetsPanelView = wp.Backbone.View.extend(/** @lends wp.customize.Widgets.AvailableWidgetsPanelView.prototype */{
    144138
    145139                el: '#available-widgets',
    146140
     
    162156                $clearResults: null,
    163157                searchMatchesCount: null,
    164158
     159                /**
     160                 * @constructs wp.customize.Widgets.AvailableWidgetsPanelView
     161                 * @augments   wp.Backbone.View
     162                 */
    165163                initialize: function() {
    166164                        var self = this;
    167165
     
    197195                        api.previewer.bind( 'url', this.close );
    198196                },
    199197
    200                 // Performs a search and handles selected widget
     198                /**
     199                 * Performs a search and handles selected widget.
     200                 */
    201201                search: function( event ) {
    202202                        var firstVisible;
    203203
     
    242242                        }
    243243                },
    244244
    245                 // Update the count of the available widgets that have the `search_matched` attribute.
     245                /**
     246                 * Update the count of the available widgets that have the `search_matched` attribute.
     247                 */
    246248                updateSearchMatchesCount: function() {
    247249                        this.searchMatchesCount = this.collection.where({ search_matched: true }).length;
    248250                },
    249251
    250                 // Send a message to the aria-live region to announce how many search results.
     252                /**
     253                 * Send a message to the aria-live region to announce how many search results.
     254                 */
    251255                announceSearchMatches: _.debounce( function() {
    252256                        var message = l10n.widgetsFound.replace( '%d', this.searchMatchesCount ) ;
    253257
     
    258262                        wp.a11y.speak( message );
    259263                }, 500 ),
    260264
    261                 // Changes visibility of available widgets
     265                /**
     266                 * Changes visibility of available widgets.
     267                 */
    262268                updateList: function() {
    263269                        this.collection.each( function( widget ) {
    264270                                var widgetTpl = $( '#widget-tpl-' + widget.id );
     
    269275                        } );
    270276                },
    271277
    272                 // Highlights a widget
     278                /**
     279                 * Highlights a widget.
     280                 */
    273281                select: function( widgetTpl ) {
    274282                        this.selected = $( widgetTpl );
    275283                        this.selected.siblings( '.widget-tpl' ).removeClass( 'selected' );
    276284                        this.selected.addClass( 'selected' );
    277285                },
    278286
    279                 // Highlights a widget on focus
     287                /**
     288                 * Highlights a widget on focus.
     289                 */
    280290                focus: function( event ) {
    281291                        this.select( $( event.currentTarget ) );
    282292                },
    283293
    284                 // Submit handler for keypress and click on widget
     294                /**
     295                 * Submit handler for keypress and click on widget.
     296                 */
    285297                _submit: function( event ) {
    286298                        // Only proceed with keypress if it is Enter or Spacebar
    287299                        if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
     
    291303                        this.submit( $( event.currentTarget ) );
    292304                },
    293305
    294                 // Adds a selected widget to the sidebar
     306                /**
     307                 * Adds a selected widget to the sidebar.
     308                 */
    295309                submit: function( widgetTpl ) {
    296310                        var widgetId, widget, widgetFormControl;
    297311
     
    319333                        this.close();
    320334                },
    321335
    322                 // Opens the panel
     336                /**
     337                 * Opens the panel.
     338                 */
    323339                open: function( sidebarControl ) {
    324340                        this.currentSidebarControl = sidebarControl;
    325341
     
    346362                        }
    347363                },
    348364
    349                 // Closes the panel
     365                /**
     366                 * Closes the panel.
     367                 */
    350368                close: function( options ) {
    351369                        options = options || {};
    352370
     
    362380                        this.$search.val( '' );
    363381                },
    364382
    365                 // Add keyboard accessiblity to the panel
     383                /**
     384                 * Add keyboard accessiblity to the panel.
     385                 */
    366386                keyboardAccessible: function( event ) {
    367387                        var isEnter = ( event.which === 13 ),
    368388                                isEsc = ( event.which === 27 ),
     
    424444         * Handlers for the widget-synced event, organized by widget ID base.
    425445         * Other widgets may provide their own update handlers by adding
    426446         * listeners for the widget-synced event.
     447         *
     448         * @alias    wp.customize.Widgets.formSyncHandlers
    427449         */
    428450        api.Widgets.formSyncHandlers = {
    429451
     
    446468                }
    447469        };
    448470
    449         /**
    450          * wp.customize.Widgets.WidgetControl
    451          *
    452          * Customizer control for widgets.
    453          * Note that 'widget_form' must match the WP_Widget_Form_Customize_Control::$type
    454          *
    455          * @constructor
    456          * @augments wp.customize.Control
    457          */
    458         api.Widgets.WidgetControl = api.Control.extend({
     471        api.Widgets.WidgetControl = api.Control.extend(/** @lends wp.customize.Widgets.WidgetControl.prototype */{
    459472                defaultExpandedArguments: {
    460473                        duration: 'fast',
    461474                        completeCallback: $.noop
    462475                },
    463476
    464477                /**
     478                 * wp.customize.Widgets.WidgetControl
     479                 *
     480                 * Customizer control for widgets.
     481                 * Note that 'widget_form' must match the WP_Widget_Form_Customize_Control::$type
     482                 *
    465483                 * @since 4.1.0
     484                 *
     485                 * @constructs wp.customize.Widgets.WidgetControl
     486                 * @augments   wp.customize.Control
    466487                 */
    467488                initialize: function( id, options ) {
    468489                        var control = this;
     
    943964                 *
    944965                 * @param {Boolean}   active
    945966                 * @param {Object}    args
    946                  * @param {Callback}  args.completeCallback
     967                 * @param {function}  args.completeCallback
    947968                 */
    948969                onChangeActive: function ( active, args ) {
    949970                        // Note: there is a second 'args' parameter being passed, merged on top of this.defaultActiveArguments
     
    15741595         * Customizer panel containing the widget area sections.
    15751596         *
    15761597         * @since 4.4.0
     1598         *
     1599         * @class    wp.customize.Widgets.WidgetsPanel
     1600         * @augments wp.customize.Panel
    15771601         */
    1578         api.Widgets.WidgetsPanel = api.Panel.extend({
     1602        api.Widgets.WidgetsPanel = api.Panel.extend(/** @lends wp.customize.Widgets.WigetsPanel.prototype */{
    15791603
    15801604                /**
    15811605                 * Add and manage the display of the no-rendered-areas notice.
     
    16951719         * Customizer section representing a widget area widget
    16961720         *
    16971721         * @since 4.1.0
     1722         *
     1723         * @class    wp.customize.Widgets.SidebarSection
     1724         * @augments wp.customize.Section
    16981725         */
    1699         api.Widgets.SidebarSection = api.Section.extend({
     1726        api.Widgets.SidebarSection = api.Section.extend(/** @lends wp.customize.Widgets.SidebarSection.prototype */{
    17001727
    17011728                /**
    17021729                 * Sync the section's active state back to the Backbone model's is_rendered attribute
     
    17221749         *
    17231750         * @since 3.9.0
    17241751         *
    1725          * @constructor
     1752         * @class    wp.customize.Widgets.SidebarControl
    17261753         * @augments wp.customize.Control
    17271754         */
    1728         api.Widgets.SidebarControl = api.Control.extend({
     1755        api.Widgets.SidebarControl = api.Control.extend(/** @lends wp.customize.Widgets.SidebarControl.prototype */{
    17291756
    17301757                /**
    17311758                 * Set up the control
  • src/wp-admin/js/dashboard.js

    diff --git src/wp-admin/js/dashboard.js src/wp-admin/js/dashboard.js
    index a6b56c37e..ab0741c8c 100644
    jQuery( function( $ ) { 
    195195        var communityEventsData = window.communityEventsData || {},
    196196                app;
    197197
    198         app = window.wp.communityEvents = {
     198        /**
     199         * @namespace wp.communityEvents
     200         */
     201        app = window.wp.communityEvents = /** @lends wp.communityEvents */{
    199202                initialized: false,
    200203                model: null,
    201204
  • src/wp-admin/js/editor.js

    diff --git src/wp-admin/js/editor.js src/wp-admin/js/editor.js
    index ed77d3c75..bbe2f9c81 100644
    window.wp = window.wp || {}; 
    12271227        }
    12281228
    12291229        /**
    1230          * @namespace {SwitchEditors} switchEditors
    12311230         * Expose the switch editors to be used globally.
     1231         *
     1232         * @namespace switchEditors
    12321233         */
    12331234        window.switchEditors = new SwitchEditors();
    12341235
  • src/wp-admin/js/image-edit.js

    diff --git src/wp-admin/js/image-edit.js src/wp-admin/js/image-edit.js
    index 0d8eaf081..a570c5429 100644
     
    614614                        /**
    615615                         * @summary Sets the CSS styles and binds events for locking the aspect ratio.
    616616                         *
     617                         * @ignore
     618                         *
    617619                         * @param {jQuery} img The preview image.
    618620                         */
    619621                        onInit: function( img ) {
     
    645647                        /**
    646648                         * @summary Event triggered when starting a selection.
    647649                         *
     650                         * @ignore
     651                         *
    648652                         * @returns {void}
    649653                         */
    650654                        onSelectStart: function() {
     
    653657                        /**
    654658                         * @summary Event triggered when the selection is ended.
    655659                         *
     660                         * @ignore
     661                         *
    656662                         * @param {object} img jQuery object representing the image.
    657663                         * @param {object} c   The selection.
    658664                         *
     
    665671                        /**
    666672                         * @summary Event triggered when the selection changes.
    667673                         *
     674                         * @ignore
     675                         *
    668676                         * @param {object} img jQuery object representing the image.
    669677                         * @param {object} c   The selection.
    670678                         *
  • src/wp-admin/js/inline-edit-post.js

    diff --git src/wp-admin/js/inline-edit-post.js src/wp-admin/js/inline-edit-post.js
    index 0b3d6a881..15ee5d85f 100644
    window.wp = window.wp || {}; 
    1010/**
    1111 * Manages the quick edit and bulk edit windows for editing posts or pages.
    1212 *
    13  * @namespace
    14  *
    1513 * @since 2.7.0
    16  * @access public
     14 * @ignore
    1715 *
    1816 * @type {Object}
    1917 *
  • src/wp-admin/js/inline-edit-tax.js

    diff --git src/wp-admin/js/inline-edit-tax.js src/wp-admin/js/inline-edit-tax.js
    index 797001780..040588bf1 100644
    window.wp = window.wp || {}; 
    88/**
    99 * Consists of functions relevant to the inline taxonomy editor.
    1010 *
    11  * @namespace inlineEditTax
     11 * @ignore
    1212 *
    1313 * @property {string} type The type of inline edit we are currently on.
    1414 * @property {string} what The type property with a hash prefixed and a dash
  • src/wp-admin/js/media.js

    diff --git src/wp-admin/js/media.js src/wp-admin/js/media.js
    index 4c1dc58fc..eecc382ef 100644
     
    55 *
    66 * @since 2.7.0
    77 *
    8  * @global
    9  * @namespace
     8 * @ignore
    109 *
    1110 * @requires jQuery
    1211 */
  • src/wp-admin/js/nav-menu.js

    diff --git src/wp-admin/js/nav-menu.js src/wp-admin/js/nav-menu.js
    index 79a8556db..3d9871baa 100644
    var wpNavMenu; 
    167167                                /**
    168168                                 * Adds selected menu items to the menu.
    169169                                 *
     170                                 * @ignore
     171                                 *
    170172                                 * @param jQuery metabox The metabox jQuery object.
    171173                                 */
    172174                                addSelectedToMenu : function(processMethod) {
  • src/wp-admin/js/plugin-install.js

    diff --git src/wp-admin/js/plugin-install.js src/wp-admin/js/plugin-install.js
    index 9fa218fe3..80e766b55 100644
     
    11/* global plugininstallL10n, tb_click, tb_remove */
    22
    33/**
    4  * Functionality for the plugin install screens.
     4 * @file Functionality for the plugin install screens.
    55 */
    66var tb_position;
    77jQuery( document ).ready( function( $ ) {
  • src/wp-admin/js/post.js

    diff --git src/wp-admin/js/post.js src/wp-admin/js/post.js
    index 662c62bff..620d08982 100644
     
    44/**
    55 * Contains all dynamic functionality needed on post and term pages.
    66 *
    7  * @summary Control page and term functionality.
     7 * @file Control page and term functionality.
    88 */
    99
    1010var commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
    window.wp = window.wp || {}; 
    3434                 * @param {int} total Total number of comments for this post.
    3535                 * @param {int} num   Optional. Number of comments to fetch, defaults to 20.
    3636                 * @returns {boolean} Always returns false.
    37                  *
    38                  * @memberof commentsBox
    3937                 */
    4038                get : function(total, num) {
    4139                        var st = this.st, data;
    jQuery(document).ready( function($) { 
    662660                        /**
    663661                         * Add current post_ID to request to fetch custom fields
    664662                         *
     663                         * @ignore
     664                         *
    665665                         * @param {Object} s Request object.
    666666                         *
    667667                         * @returns {Object} Data modified with post_ID attached.
    jQuery(document).ready( function($) { 
    672672                        },
    673673                        /**
    674674                         * Show the listing of custom fields after fetching.
     675                         *
     676                         * @ignore
    675677                         */
    676678                        addAfter: function() {
    677679                                $('table#list-table').show();
    jQuery(document).ready( function($) { 
    689691                /**
    690692                 * When the visibility of a post changes sub-options should be shown or hidden.
    691693                 *
     694                 * @ignore
     695                 *
    692696                 * @returns void
    693697                 */
    694698                updateVisibility = function() {
    jQuery(document).ready( function($) { 
    711715                /**
    712716                 * Make sure all labels represent the current settings.
    713717                 *
     718                 * @ignore
     719                 *
    714720                 * @returns {boolean} False when an invalid timestamp has been selected, otherwise True.
    715721                 */
    716722                updateText = function() {
    jQuery(document).ready( function($) { 
    930936         *
    931937         * @summary Permalink aka slug aka post_name editing
    932938         *
    933          * @global
     939         * @ignore
    934940         *
    935941         * @returns void
    936942         */
  • src/wp-admin/js/postbox.js

    diff --git src/wp-admin/js/postbox.js src/wp-admin/js/postbox.js
    index bbc73b2a6..d713f333c 100644
     
    1616 *
    1717 * @since 2.7.0
    1818 *
    19  * @namespace postboxes
     19 * @ignore
    2020 *
    2121 * @type {Object}
    2222 */
    var postboxes; 
    8181                         * Contains a jQuery object with the relevant postbox element.
    8282                         *
    8383                         * @since 4.0.0
     84                         * @ignore
     85                         *
    8486                         * @event postboxes#postbox-toggled
    8587                         * @type {Object}
    8688                         */
    var postboxes; 
    137139                         * clicked this function will hide or show the relevant postboxes.
    138140                         *
    139141                         * @since 2.7.0
     142                         * @ignore
     143                         *
    140144                         * @fires postboxes#postbox-toggled
    141145                         *
    142146                         * @returns {void}
    var postboxes; 
    383387                         * Fires when the amount of columns on the post edit page has been changed.
    384388                         *
    385389                         * @since 4.0.0
     390                         * @ignore
     391                         *
    386392                         * @event postboxes#postboxes-columnchange
    387393                         */
    388394                        $( document ).trigger( 'postboxes-columnchange' );
  • src/wp-admin/js/updates.js

    diff --git src/wp-admin/js/updates.js src/wp-admin/js/updates.js
    index 2b5ba9291..0bf27d6bc 100644
     
    22 * Functions for ajaxified updates, deletions and installs inside the WordPress admin.
    33 *
    44 * @version 4.2.0
    5  *
    6  * @package WordPress
    7  * @subpackage Administration
    85 */
    96
    107/* global pagenow */
     
    3835         *
    3936         * @since 4.2.0
    4037         *
    41          * @type {object}
     38         * @namespace wp.updates
    4239         */
    4340        wp.updates = {};
    4441
     
    8481         * @since 4.2.0
    8582         * @since 4.6.0 Added `available` property to indicate whether credentials have been provided.
    8683         *
    87          * @type {object} filesystemCredentials                    Holds filesystem credentials.
    88          * @type {object} filesystemCredentials.ftp                Holds FTP credentials.
    89          * @type {string} filesystemCredentials.ftp.host           FTP host. Default empty string.
    90          * @type {string} filesystemCredentials.ftp.username       FTP user name. Default empty string.
    91          * @type {string} filesystemCredentials.ftp.password       FTP password. Default empty string.
    92          * @type {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
     84         * @type {object}
     85         * @property {object} filesystemCredentials.ftp                Holds FTP credentials.
     86         * @property {string} filesystemCredentials.ftp.host           FTP host. Default empty string.
     87         * @property {string} filesystemCredentials.ftp.username       FTP user name. Default empty string.
     88         * @property {string} filesystemCredentials.ftp.password       FTP password. Default empty string.
     89         * @property {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
    9390         *                                                         Default empty string.
    94          * @type {object} filesystemCredentials.ssh                Holds SSH credentials.
    95          * @type {string} filesystemCredentials.ssh.publicKey      The public key. Default empty string.
    96          * @type {string} filesystemCredentials.ssh.privateKey     The private key. Default empty string.
    97          * @type {string} filesystemCredentials.fsNonce            Filesystem credentials form nonce.
    98          * @type {bool}   filesystemCredentials.available          Whether filesystem credentials have been provided.
     91         * @property {object} filesystemCredentials.ssh                Holds SSH credentials.
     92         * @property {string} filesystemCredentials.ssh.publicKey      The public key. Default empty string.
     93         * @property {string} filesystemCredentials.ssh.privateKey     The private key. Default empty string.
     94         * @property {string} filesystemCredentials.fsNonce            Filesystem credentials form nonce.
     95         * @property {bool}   filesystemCredentials.available          Whether filesystem credentials have been provided.
    9996         *                                                         Default 'false'.
    10097         */
    10198        wp.updates.filesystemCredentials = {
     
    128125         *
    129126         * @since 4.6.0
    130127         *
    131          * @type {function} A function that lazily-compiles the template requested.
     128         * @type {function}
    132129         */
    133130        wp.updates.adminNotice = wp.template( 'wp-updates-admin-notice' );
    134131
     
    407404         * @since 4.2.0
    408405         * @since 4.6.0 More accurately named `updatePluginSuccess`.
    409406         *
    410          * @typedef {object} updatePluginSuccess
    411407         * @param {object} response            Response from the server.
    412408         * @param {string} response.slug       Slug of the plugin to be updated.
    413409         * @param {string} response.plugin     Basename of the plugin to be updated.
     
    452448         * @since 4.2.0
    453449         * @since 4.6.0 More accurately named `updatePluginError`.
    454450         *
    455          * @typedef {object} updatePluginError
    456451         * @param {object}  response              Response from the server.
    457452         * @param {string}  response.slug         Slug of the plugin to be updated.
    458453         * @param {string}  response.plugin       Basename of the plugin to be updated.
     
    574569         *
    575570         * @since 4.6.0
    576571         *
    577          * @typedef {object} installPluginSuccess
    578572         * @param {object} response             Response from the server.
    579573         * @param {string} response.slug        Slug of the installed plugin.
    580574         * @param {string} response.pluginName  Name of the installed plugin.
     
    610604         *
    611605         * @since 4.6.0
    612606         *
    613          * @typedef {object} installPluginError
    614607         * @param {object}  response              Response from the server.
    615608         * @param {string}  response.slug         Slug of the plugin to be installed.
    616609         * @param {string=} response.pluginName   Optional. Name of the plugin to be installed.
     
    661654         *
    662655         * @since 4.6.0
    663656         *
    664          * @typedef {object} installImporterSuccess
    665657         * @param {object} response             Response from the server.
    666658         * @param {string} response.slug        Slug of the installed plugin.
    667659         * @param {string} response.pluginName  Name of the installed plugin.
     
    693685         *
    694686         * @since 4.6.0
    695687         *
    696          * @typedef {object} installImporterError
    697688         * @param {object}  response              Response from the server.
    698689         * @param {string}  response.slug         Slug of the plugin to be installed.
    699690         * @param {string=} response.pluginName   Optional. Name of the plugin to be installed.
     
    768759         *
    769760         * @since 4.6.0
    770761         *
    771          * @typedef {object} deletePluginSuccess
    772762         * @param {object} response            Response from the server.
    773763         * @param {string} response.slug       Slug of the plugin that was deleted.
    774764         * @param {string} response.plugin     Base name of the plugin that was deleted.
     
    783773                                $pluginRow       = $( this ),
    784774                                columnCount      = $form.find( 'thead th:not(.hidden), thead td' ).length,
    785775                                pluginDeletedRow = wp.template( 'item-deleted-row' ),
    786                                 /** @type {object} plugins Base names of plugins in their different states. */
     776                                /**
     777                                 * Plugins Base names of plugins in their different states.
     778                                 *
     779                                 * @type {object}
     780                                 */
    787781                                plugins          = settings.plugins;
    788782
    789783                        // Add a success message after deleting a plugin.
     
    858852         *
    859853         * @since 4.6.0
    860854         *
    861          * @typedef {object} deletePluginError
    862855         * @param {object}  response              Response from the server.
    863856         * @param {string}  response.slug         Slug of the plugin to be deleted.
    864857         * @param {string}  response.plugin       Base name of the plugin to be deleted
     
    971964         *
    972965         * @since 4.6.0
    973966         *
    974          * @typedef {object} updateThemeSuccess
    975967         * @param {object} response
    976968         * @param {string} response.slug       Slug of the theme to be updated.
    977969         * @param {object} response.theme      Updated theme.
     
    10331025         *
    10341026         * @since 4.6.0
    10351027         *
    1036          * @typedef {object} updateThemeError
    10371028         * @param {object} response              Response from the server.
    10381029         * @param {string} response.slug         Slug of the theme to be updated.
    10391030         * @param {string} response.errorCode    Error code for the error that occurred.
     
    11191110         *
    11201111         * @since 4.6.0
    11211112         *
    1122          * @typedef {object} installThemeSuccess
    11231113         * @param {object} response              Response from the server.
    11241114         * @param {string} response.slug         Slug of the theme to be installed.
    11251115         * @param {string} response.customizeUrl URL to the Customizer for the just installed theme.
     
    11701160         *
    11711161         * @since 4.6.0
    11721162         *
    1173          * @typedef {object} installThemeError
    11741163         * @param {object} response              Response from the server.
    11751164         * @param {string} response.slug         Slug of the theme to be installed.
    11761165         * @param {string} response.errorCode    Error code for the error that occurred.
     
    12681257         *
    12691258         * @since 4.6.0
    12701259         *
    1271          * @typedef {object} deleteThemeSuccess
    12721260         * @param {object} response      Response from the server.
    12731261         * @param {string} response.slug Slug of the theme that was deleted.
    12741262         */
     
    13271315         *
    13281316         * @since 4.6.0
    13291317         *
    1330          * @typedef {object} deleteThemeError
    13311318         * @param {object} response              Response from the server.
    13321319         * @param {string} response.slug         Slug of the theme to be deleted.
    13331320         * @param {string} response.errorCode    Error code for the error that occurred.
     
    16011588         *
    16021589         * @since 4.6.0
    16031590         *
    1604          * @typedef {object} maybeHandleCredentialError
    16051591         * @param {object} response              Response from the server.
    16061592         * @param {string} response.errorCode    Error code for the error that occurred.
    16071593         * @param {string} response.errorMessage The error that occurred.
  • src/wp-admin/js/widgets.js

    diff --git src/wp-admin/js/widgets.js src/wp-admin/js/widgets.js
    index 1cb74a310..9268d0cbe 100644
    wpWidgets = { 
    245245                        /**
    246246                         * Open Sidebar when a Widget gets dragged over it.
    247247                         *
     248                         * @ignore
     249                         *
    248250                         * @param {object} event jQuery event object.
    249251                         */
    250252                        over: function( event ) {
    wpWidgets = { 
    268270                        /**
    269271                         * Close Sidebar when the Widget gets dragged out of it.
    270272                         *
     273                         * @ignore
     274                         *
    271275                         * @param {object} event jQuery event object.
    272276                         */
    273277                        out: function( event ) {
  • src/wp-admin/js/widgets/custom-html-widgets.js

    diff --git src/wp-admin/js/widgets/custom-html-widgets.js src/wp-admin/js/widgets/custom-html-widgets.js
    index 6fd642111..a9e405996 100644
     
    11/* global wp */
    22/* eslint consistent-this: [ "error", "control" ] */
    33/* eslint no-magic-numbers: ["error", { "ignore": [0,1,-1] }] */
     4
     5/**
     6 * @namespace wp.customHtmlWidget
     7 * @memberOf wp
     8 */
    49wp.customHtmlWidgets = ( function( $ ) {
    510        'use strict';
    611
    wp.customHtmlWidgets = ( function( $ ) { 
    1520                }
    1621        };
    1722
    18         /**
    19          * Text widget control.
    20          *
    21          * @class CustomHtmlWidgetControl
    22          * @constructor
    23          * @abstract
    24          */
    25         component.CustomHtmlWidgetControl = Backbone.View.extend({
     23        component.CustomHtmlWidgetControl = Backbone.View.extend(/** @lends wp.customHtmlWidget.CustomHtmlWidgetControl.prototype */{
    2624
    2725                /**
    2826                 * View events.
    wp.customHtmlWidgets = ( function( $ ) { 
    3230                events: {},
    3331
    3432                /**
    35                  * Initialize.
     33                 * Text widget control.
     34                 *
     35                 * @constructs wp.customHtmlWidget.CustomHtmlWidgetControl
     36                 * @abstract
    3637                 *
    3738                 * @param {Object} options - Options.
    3839                 * @param {jQuery} options.el - Control field container element.
    3940                 * @param {jQuery} options.syncContainer - Container element where fields are synced for the server.
     41                 *
    4042                 * @returns {void}
    4143                 */
    4244                initialize: function initialize( options ) {
    wp.customHtmlWidgets = ( function( $ ) { 
    171173                                /**
    172174                                 * Handle tabbing to the field before the editor.
    173175                                 *
     176                                 * @ignore
     177                                 *
    174178                                 * @returns {void}
    175179                                 */
    176180                                onTabPrevious: function onTabPrevious() {
    wp.customHtmlWidgets = ( function( $ ) { 
    180184                                /**
    181185                                 * Handle tabbing to the field after the editor.
    182186                                 *
     187                                 * @ignore
     188                                 *
    183189                                 * @returns {void}
    184190                                 */
    185191                                onTabNext: function onTabNext() {
    wp.customHtmlWidgets = ( function( $ ) { 
    190196                                /**
    191197                                 * Disable save button and store linting errors for use in updateFields.
    192198                                 *
     199                                 * @ignore
     200                                 *
    193201                                 * @param {Array} errorAnnotations - Error notifications.
    194202                                 * @returns {void}
    195203                                 */
    wp.customHtmlWidgets = ( function( $ ) { 
    200208                                /**
    201209                                 * Update error notice.
    202210                                 *
     211                                 * @ignore
     212                                 *
    203213                                 * @param {Array} errorAnnotations - Error annotations.
    204214                                 * @returns {void}
    205215                                 */
    wp.customHtmlWidgets = ( function( $ ) { 
    259269        /**
    260270         * Mapping of widget ID to instances of CustomHtmlWidgetControl subclasses.
    261271         *
     272         * @alias wp.customHtmlWidget.widgetControls
     273         *
    262274         * @type {Object.<string, wp.textWidgets.CustomHtmlWidgetControl>}
    263275         */
    264276        component.widgetControls = {};
    wp.customHtmlWidgets = ( function( $ ) { 
    266278        /**
    267279         * Handle widget being added or initialized for the first time at the widget-added event.
    268280         *
     281         * @alias wp.customHtmlWidget.handleWidgetAdded
     282         *
    269283         * @param {jQuery.Event} event - Event.
    270284         * @param {jQuery}       widgetContainer - Widget container element.
     285         *
    271286         * @returns {void}
    272287         */
    273288        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
    wp.customHtmlWidgets = ( function( $ ) { 
    325340        /**
    326341         * Setup widget in accessibility mode.
    327342         *
     343         * @alias wp.customHtmlWidget.setupAccessibleMode
     344         *
    328345         * @returns {void}
    329346         */
    330347        component.setupAccessibleMode = function setupAccessibleMode() {
    wp.customHtmlWidgets = ( function( $ ) { 
    358375         * the widgets admin screen and also via the 'widget-synced' event when making
    359376         * a change to a widget in the customizer.
    360377         *
     378         * @alias wp.customHtmlWidget.handleWidgetUpdated
     379         *
    361380         * @param {jQuery.Event} event - Event.
    362381         * @param {jQuery}       widgetContainer - Widget container element.
    363382         * @returns {void}
    wp.customHtmlWidgets = ( function( $ ) { 
    387406         * When WordPress enqueues this script, it should have an inline script
    388407         * attached which calls wp.textWidgets.init().
    389408         *
     409         * @alias wp.customHtmlWidget.init
     410         *
    390411         * @param {object} settings - Options for code editor, exported from PHP.
     412         *
    391413         * @returns {void}
    392414         */
    393415        component.init = function init( settings ) {
  • src/wp-admin/js/widgets/media-audio-widget.js

    diff --git src/wp-admin/js/widgets/media-audio-widget.js src/wp-admin/js/widgets/media-audio-widget.js
    index 1f98ef70c..e3e53c70f 100644
     
    77        /**
    88         * Custom audio details frame that removes the replace-audio state.
    99         *
    10          * @class AudioDetailsMediaFrame
    11          * @constructor
     10         * @class    wp.mediaWidgets.controlConstructors~AudioDetailsMediaFrame
     11         * @augments wp.media.view.MediaFrame.AudioDetails
    1212         */
    13         AudioDetailsMediaFrame = wp.media.view.MediaFrame.AudioDetails.extend({
     13        AudioDetailsMediaFrame = wp.media.view.MediaFrame.AudioDetails.extend(/** @lends wp.mediaWidgets.controlConstructors~AudioDetailsMediaFrame.prototype */{
    1414
    1515                /**
    1616                 * Create the default states.
     
    4040         *
    4141         * See WP_Widget_Audio::enqueue_admin_scripts() for amending prototype from PHP exports.
    4242         *
    43          * @class AudioWidgetModel
    44          * @constructor
     43         * @class    wp.mediaWidgets.modelConstructors.media_audio
     44         * @augments wp.mediaWidgets.MediaWidgetModel
    4545         */
    4646        AudioWidgetModel = component.MediaWidgetModel.extend({});
    4747
     
    5050         *
    5151         * See WP_Widget_Audio::enqueue_admin_scripts() for amending prototype from PHP exports.
    5252         *
    53          * @class AudioWidgetModel
    54          * @constructor
     53         * @class    wp.mediaWidgets.controlConstructors.media_audio
     54         * @augments wp.mediaWidgets.MediaWidgetControl
    5555         */
    56         AudioWidgetControl = component.MediaWidgetControl.extend({
     56        AudioWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_audio.prototype */{
    5757
    5858                /**
    5959                 * Show display settings.
  • src/wp-admin/js/widgets/media-gallery-widget.js

    diff --git src/wp-admin/js/widgets/media-gallery-widget.js src/wp-admin/js/widgets/media-gallery-widget.js
    index ebba81cf8..e9c5342e8 100644
     
    88         * Custom gallery details frame.
    99         *
    1010         * @since 4.9.0
    11          * @class GalleryDetailsMediaFrame
    12          * @constructor
     11         * @class    wp.mediaWidgets~GalleryDetailsMediaFrame
     12         * @augments wp.media.view.MediaFrame.Post
    1313         */
    14         GalleryDetailsMediaFrame = wp.media.view.MediaFrame.Post.extend( {
     14        GalleryDetailsMediaFrame = wp.media.view.MediaFrame.Post.extend(/** @lends wp.mediaWidgets~GalleryDetailsMediaFrame.prototype */{
    1515
    1616                /**
    1717                 * Create the default states.
     
    5353         * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
    5454         *
    5555         * @since 4.9.0
    56          * @class GalleryWidgetModel
    57          * @constructor
    58          */
    59         GalleryWidgetModel = component.MediaWidgetModel.extend( {} );
    60 
    61         /**
    62          * Gallery widget control.
    63          *
    64          * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
    6556         *
    66          * @since 4.9.0
    67          * @class GalleryWidgetControl
    68          * @constructor
     57         * @class    wp.mediaWidgets.modelConstructors.media_gallery
     58         * @augments wp.mediaWidgets.MediaWidgetModel
    6959         */
    70         GalleryWidgetControl = component.MediaWidgetControl.extend( {
     60        GalleryWidgetModel = component.MediaWidgetModel.extend(/** @lends wp.mediaWidgets.modelConstructors.media_gallery.prototype */{} );
     61
     62        GalleryWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_gallery.prototype */{
    7163
    7264                /**
    7365                 * View events.
     
    8072                } ),
    8173
    8274                /**
    83                  * Initialize.
     75                 * Gallery widget control.
     76                 *
     77                 * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
     78                 *
     79                 * @constructs wp.mediaWidgets.controlConstructors.media_gallery
     80                 * @augments   wp.mediaWidgets.MediaWidgetControl
    8481                 *
    8582                 * @since 4.9.0
    8683                 * @param {Object}         options - Options.
  • src/wp-admin/js/widgets/media-image-widget.js

    diff --git src/wp-admin/js/widgets/media-image-widget.js src/wp-admin/js/widgets/media-image-widget.js
    index 78b257fea..eeebd174f 100644
     
    99         *
    1010         * See WP_Widget_Media_Image::enqueue_admin_scripts() for amending prototype from PHP exports.
    1111         *
    12          * @class ImageWidgetModel
    13          * @constructor
     12         * @class    wp.mediaWidgets.modelConstructors.media_image
     13         * @augments wp.mediaWidgets.MediaWidgetModel
    1414         */
    1515        ImageWidgetModel = component.MediaWidgetModel.extend({});
    1616
     
    1919         *
    2020         * See WP_Widget_Media_Image::enqueue_admin_scripts() for amending prototype from PHP exports.
    2121         *
    22          * @class ImageWidgetModel
    23          * @constructor
     22         * @class    wp.mediaWidgets.controlConstructors.media_audio
     23         * @augments wp.mediaWidgets.MediaWidgetControl
    2424         */
    25         ImageWidgetControl = component.MediaWidgetControl.extend({
     25        ImageWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_image.prototype */{
    2626
    2727                /**
    2828                 * View events.
  • src/wp-admin/js/widgets/media-video-widget.js

    diff --git src/wp-admin/js/widgets/media-video-widget.js src/wp-admin/js/widgets/media-video-widget.js
    index ddaaf5f3f..86ed42994 100644
     
    77        /**
    88         * Custom video details frame that removes the replace-video state.
    99         *
    10          * @class VideoDetailsMediaFrame
    11          * @constructor
     10         * @class    wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame
     11         * @augments wp.media.view.MediaFrame.VideoDetails
     12         *
     13         * @private
    1214         */
    13         VideoDetailsMediaFrame = wp.media.view.MediaFrame.VideoDetails.extend({
     15        VideoDetailsMediaFrame = wp.media.view.MediaFrame.VideoDetails.extend(/** @lends wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame.prototype */{
    1416
    1517                /**
    1618                 * Create the default states.
     
    4951         *
    5052         * See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
    5153         *
    52          * @class VideoWidgetModel
    53          * @constructor
     54         * @class    wp.mediaWidgets.modelConstructors.media_video
     55         * @augments wp.mediaWidgets.MediaWidgetModel
    5456         */
    5557        VideoWidgetModel = component.MediaWidgetModel.extend({});
    5658
     
    5961         *
    6062         * See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
    6163         *
    62          * @class VideoWidgetControl
    63          * @constructor
     64         * @class    wp.mediaWidgets.controlConstructors.media_video
     65         * @augments wp.mediaWidgets.MediaWidgetControl
    6466         */
    65         VideoWidgetControl = component.MediaWidgetControl.extend({
     67        VideoWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_video.prototype */{
    6668
    6769                /**
    6870                 * Show display settings.
  • src/wp-admin/js/widgets/media-widgets.js

    diff --git src/wp-admin/js/widgets/media-widgets.js src/wp-admin/js/widgets/media-widgets.js
    index 6d994add2..07ea42aa3 100644
     
    11/* eslint consistent-this: [ "error", "control" ] */
     2
     3/**
     4 * @namespace wp.mediaWidgets
     5 * @memberOf  wp
     6 */
    27wp.mediaWidgets = ( function( $ ) {
    38        'use strict';
    49
    wp.mediaWidgets = ( function( $ ) { 
    914         *
    1015         * Media widgets register themselves by assigning subclasses of MediaWidgetControl onto this object by widget ID base.
    1116         *
     17         * @memberOf wp.mediaWidgets
     18         *
    1219         * @type {Object.<string, wp.mediaWidgets.MediaWidgetModel>}
    1320         */
    1421        component.controlConstructors = {};
    wp.mediaWidgets = ( function( $ ) { 
    1825         *
    1926         * Media widgets register themselves by assigning subclasses of MediaWidgetControl onto this object by widget ID base.
    2027         *
     28         * @memberOf wp.mediaWidgets
     29         *
    2130         * @type {Object.<string, wp.mediaWidgets.MediaWidgetModel>}
    2231         */
    2332        component.modelConstructors = {};
    2433
    25         /**
    26          * Library which persists the customized display settings across selections.
    27          *
    28          * @class PersistentDisplaySettingsLibrary
    29          * @constructor
    30          */
    31         component.PersistentDisplaySettingsLibrary = wp.media.controller.Library.extend({
     34        component.PersistentDisplaySettingsLibrary = wp.media.controller.Library.extend(/** @lends wp.mediaWidgets.PersistentDisplaySettingsLibrary.prototype */{
    3235
    3336                /**
    34                  * Initialize.
     37                 * Library which persists the customized display settings across selections.
     38                 *
     39                 * @constructs wp.mediaWidgets.PersistentDisplaySettingsLibrary
     40                 * @augments   wp.media.controller.Library
    3541                 *
    3642                 * @param {Object} options - Options.
     43                 *
    3744                 * @returns {void}
    3845                 */
    3946                initialize: function initialize( options ) {
    wp.mediaWidgets = ( function( $ ) { 
    7986        /**
    8087         * Extended view for managing the embed UI.
    8188         *
    82          * @class MediaEmbedView
    83          * @constructor
     89         * @class    wp.mediaWidgets.MediaEmbedView
     90         * @augments wp.media.view.Embed
    8491         */
    85         component.MediaEmbedView = wp.media.view.Embed.extend({
     92        component.MediaEmbedView = wp.media.view.Embed.extend(/** @lends wp.mediaWidgets.MediaEmbedView.prototype */{
    8693
    8794                /**
    8895                 * Initialize.
    wp.mediaWidgets = ( function( $ ) { 
    109116                 * @returns {void}
    110117                 */
    111118                refresh: function refresh() {
     119                        /**
     120                         * @class wp.mediaWidgets~Constructor
     121                         */
    112122                        var Constructor;
    113123
    114124                        if ( 'image' === this.controller.options.mimeType ) {
    wp.mediaWidgets = ( function( $ ) { 
    116126                        } else {
    117127
    118128                                // This should be eliminated once #40450 lands of when this is merged into core.
    119                                 Constructor = wp.media.view.EmbedLink.extend({
     129                                Constructor = wp.media.view.EmbedLink.extend(/** @lends wp.mediaWidgets~Constructor.prototype */{
    120130
    121131                                        /**
    122132                                         * Set the disabled state on the Add to Widget button.
    wp.mediaWidgets = ( function( $ ) { 
    284294        /**
    285295         * Custom media frame for selecting uploaded media or providing media by URL.
    286296         *
    287          * @class MediaFrameSelect
    288          * @constructor
     297         * @class    wp.mediaWidgets.MediaFrameSelect
     298         * @augments wp.media.view.MediaFrame.Post
    289299         */
    290         component.MediaFrameSelect = wp.media.view.MediaFrame.Post.extend({
     300        component.MediaFrameSelect = wp.media.view.MediaFrame.Post.extend(/** @lends wp.mediaWidgets.MediaFrameSelect.prototype */{
    291301
    292302                /**
    293303                 * Create the default states.
    wp.mediaWidgets = ( function( $ ) { 
    357367                                /**
    358368                                 * Handle click.
    359369                                 *
     370                                 * @ignore
     371                                 *
    360372                                 * @fires wp.media.controller.State#insert()
    361373                                 * @returns {void}
    362374                                 */
    wp.mediaWidgets = ( function( $ ) { 
    408420                }
    409421        });
    410422
    411         /**
    412          * Media widget control.
    413          *
    414          * @class MediaWidgetControl
    415          * @constructor
    416          * @abstract
    417          */
    418         component.MediaWidgetControl = Backbone.View.extend({
     423        component.MediaWidgetControl = Backbone.View.extend(/** @lends wp.mediaWidgets.MediaWidgetControl.prototype */{
    419424
    420425                /**
    421426                 * Translation strings.
    wp.mediaWidgets = ( function( $ ) { 
    473478                showDisplaySettings: true,
    474479
    475480                /**
    476                  * Initialize.
     481                 * Media Widget Control.
     482                 *
     483                 * @constructs wp.mediaWidgets.MediaWidgetControl
     484                 * @augments   Backbone.View
     485                 * @abstract
    477486                 *
    478487                 * @param {Object}         options - Options.
    479488                 * @param {Backbone.Model} options.model - Model.
    480489                 * @param {jQuery}         options.el - Control field container element.
    481490                 * @param {jQuery}         options.syncContainer - Container element where fields are synced for the server.
     491                 *
    482492                 * @returns {void}
    483493                 */
    484494                initialize: function initialize( options ) {
    wp.mediaWidgets = ( function( $ ) { 
    961971        /**
    962972         * Media widget model.
    963973         *
    964          * @class MediaWidgetModel
    965          * @constructor
     974         * @class    wp.mediaWidgets.MediaWidgetModel
     975         * @augments Backbone.Model
    966976         */
    967         component.MediaWidgetModel = Backbone.Model.extend({
     977        component.MediaWidgetModel = Backbone.Model.extend(/** @lends wp.mediaWidgets.MediaWidgetModel.prototype */{
    968978
    969979                /**
    970980                 * Id attribute.
    wp.mediaWidgets = ( function( $ ) { 
    10851095        /**
    10861096         * Collection of all widget model instances.
    10871097         *
     1098         * @memberOf wp.mediaWidgets
     1099         *
    10881100         * @type {Backbone.Collection}
    10891101         */
    1090         component.modelCollection = new ( Backbone.Collection.extend({
     1102        component.modelCollection = new ( Backbone.Collection.extend( {
    10911103                model: component.MediaWidgetModel
    10921104        }) )();
    10931105
    10941106        /**
    10951107         * Mapping of widget ID to instances of MediaWidgetControl subclasses.
    10961108         *
     1109         * @memberOf wp.mediaWidgets
     1110         *
    10971111         * @type {Object.<string, wp.mediaWidgets.MediaWidgetControl>}
    10981112         */
    10991113        component.widgetControls = {};
    wp.mediaWidgets = ( function( $ ) { 
    11011115        /**
    11021116         * Handle widget being added or initialized for the first time at the widget-added event.
    11031117         *
     1118         * @memberOf wp.mediaWidgets
     1119         *
    11041120         * @param {jQuery.Event} event - Event.
    11051121         * @param {jQuery}       widgetContainer - Widget container element.
     1122         *
    11061123         * @returns {void}
    11071124         */
    11081125        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
    wp.mediaWidgets = ( function( $ ) { 
    11841201        /**
    11851202         * Setup widget in accessibility mode.
    11861203         *
     1204         * @memberOf wp.mediaWidgets
     1205         *
    11871206         * @returns {void}
    11881207         */
    11891208        component.setupAccessibleMode = function setupAccessibleMode() {
    wp.mediaWidgets = ( function( $ ) { 
    12331252         * the widgets admin screen and also via the 'widget-synced' event when making
    12341253         * a change to a widget in the customizer.
    12351254         *
     1255         * @memberOf wp.mediaWidgets
     1256         *
    12361257         * @param {jQuery.Event} event - Event.
    12371258         * @param {jQuery}       widgetContainer - Widget container element.
     1259         *
    12381260         * @returns {void}
    12391261         */
    12401262        component.handleWidgetUpdated = function handleWidgetUpdated( event, widgetContainer ) {
    wp.mediaWidgets = ( function( $ ) { 
    12671289         * When WordPress enqueues this script, it should have an inline script
    12681290         * attached which calls wp.mediaWidgets.init().
    12691291         *
     1292         * @memberOf wp.mediaWidgets
     1293         *
    12701294         * @returns {void}
    12711295         */
    12721296        component.init = function init() {
  • src/wp-admin/js/widgets/text-widgets.js

    diff --git src/wp-admin/js/widgets/text-widgets.js src/wp-admin/js/widgets/text-widgets.js
    index e75256909..1c928956f 100644
     
    11/* global tinymce, switchEditors */
    22/* eslint consistent-this: [ "error", "control" ] */
     3
     4/**
     5 * @namespace wp.textWidgets
     6 */
    37wp.textWidgets = ( function( $ ) {
    48        'use strict';
    59
    wp.textWidgets = ( function( $ ) { 
    812                idBases: [ 'text' ]
    913        };
    1014
    11         /**
    12          * Text widget control.
    13          *
    14          * @class TextWidgetControl
    15          * @constructor
    16          * @abstract
    17          */
    18         component.TextWidgetControl = Backbone.View.extend({
     15        component.TextWidgetControl = Backbone.View.extend(/** @lends wp.textWidgets.TextWidgetControl.prototype */{
    1916
    2017                /**
    2118                 * View events.
    wp.textWidgets = ( function( $ ) { 
    2522                events: {},
    2623
    2724                /**
    28                  * Initialize.
     25                 * Text widget control.
     26                 *
     27                 * @constructs wp.textWidgets.TextWidgetControl
     28                 * @augments   Backbone.View
     29                 * @abstract
    2930                 *
    3031                 * @param {Object} options - Options.
    3132                 * @param {jQuery} options.el - Control field container element.
    3233                 * @param {jQuery} options.syncContainer - Container element where fields are synced for the server.
     34                 *
    3335                 * @returns {void}
    3436                 */
    3537                initialize: function initialize( options ) {
    wp.textWidgets = ( function( $ ) { 
    357359        /**
    358360         * Mapping of widget ID to instances of TextWidgetControl subclasses.
    359361         *
     362         * @memberOf wp.textWidgets
     363         *
    360364         * @type {Object.<string, wp.textWidgets.TextWidgetControl>}
    361365         */
    362366        component.widgetControls = {};
    wp.textWidgets = ( function( $ ) { 
    364368        /**
    365369         * Handle widget being added or initialized for the first time at the widget-added event.
    366370         *
     371         * @memberOf wp.textWidgets
     372         *
    367373         * @param {jQuery.Event} event - Event.
    368374         * @param {jQuery}       widgetContainer - Widget container element.
     375         *
    369376         * @returns {void}
    370377         */
    371378        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
    wp.textWidgets = ( function( $ ) { 
    429436        /**
    430437         * Setup widget in accessibility mode.
    431438         *
     439         * @memberOf wp.textWidgets
     440         *
    432441         * @returns {void}
    433442         */
    434443        component.setupAccessibleMode = function setupAccessibleMode() {
    wp.textWidgets = ( function( $ ) { 
    467476         * the widgets admin screen and also via the 'widget-synced' event when making
    468477         * a change to a widget in the customizer.
    469478         *
     479         * @memberOf wp.textWidgets
     480         *
    470481         * @param {jQuery.Event} event - Event.
    471482         * @param {jQuery}       widgetContainer - Widget container element.
    472483         * @returns {void}
    wp.textWidgets = ( function( $ ) { 
    496507         * When WordPress enqueues this script, it should have an inline script
    497508         * attached which calls wp.textWidgets.init().
    498509         *
     510         * @memberOf wp.textWidgets
     511         *
    499512         * @returns {void}
    500513         */
    501514        component.init = function init() {
  • src/wp-includes/class-wp-admin-bar.php

    diff --git src/wp-includes/class-wp-admin-bar.php src/wp-includes/class-wp-admin-bar.php
    index 734a04827..3568be078 100644
    class WP_Admin_Bar { 
    434434                if ( $node->type != 'container' || empty( $node->children ) )
    435435                        return;
    436436
    437                 ?><div id="<?php echo esc_attr( 'wp-admin-bar-' . $node->id ); ?>" class="ab-group-container"><?php
    438                         foreach ( $node->children as $group ) {
    439                                 $this->_render_group( $group );
    440                         }
    441                 ?></div><?php
     437                echo '<div id="' . esc_attr( 'wp-admin-bar-' . $node->id ) . '" class="ab-group-container">';
     438                foreach ( $node->children as $group ) {
     439                        $this->_render_group( $group );
     440                }
     441                echo '</div>';
    442442        }
    443443
    444444        /**
    class WP_Admin_Bar { 
    457457                else
    458458                        $class = '';
    459459
    460                 ?><ul id="<?php echo esc_attr( 'wp-admin-bar-' . $node->id ); ?>"<?php echo $class; ?>><?php
    461                         foreach ( $node->children as $item ) {
    462                                 $this->_render_item( $item );
    463                         }
    464                 ?></ul><?php
     460                echo "<ul id='" . esc_attr( 'wp-admin-bar-' . $node->id ) . "'$class>";
     461                foreach ( $node->children as $item ) {
     462                        $this->_render_item( $item );
     463                }
     464                echo '</ul>';
    465465        }
    466466
    467467        /**
    class WP_Admin_Bar { 
    491491                if ( $menuclass )
    492492                        $menuclass = ' class="' . esc_attr( trim( $menuclass ) ) . '"';
    493493
    494                 ?>
     494                echo "<li id='" . esc_attr( 'wp-admin-bar-' . $node->id ) . "'$menuclass>";
    495495
    496                 <li id="<?php echo esc_attr( 'wp-admin-bar-' . $node->id ); ?>"<?php echo $menuclass; ?>><?php
    497                         if ( $has_link ):
    498                                 ?><a class="ab-item"<?php echo $aria_attributes; ?> href="<?php echo esc_url( $node->href ) ?>"<?php
    499                                         if ( ! empty( $node->meta['onclick'] ) ) :
    500                                                 ?> onclick="<?php echo esc_js( $node->meta['onclick'] ); ?>"<?php
    501                                         endif;
    502                                 if ( ! empty( $node->meta['target'] ) ) :
    503                                         ?> target="<?php echo esc_attr( $node->meta['target'] ); ?>"<?php
    504                                 endif;
    505                                 if ( ! empty( $node->meta['title'] ) ) :
    506                                         ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
    507                                 endif;
    508                                 if ( ! empty( $node->meta['rel'] ) ) :
    509                                         ?> rel="<?php echo esc_attr( $node->meta['rel'] ); ?>"<?php
    510                                 endif;
    511                                 if ( ! empty( $node->meta['lang'] ) ) :
    512                                         ?> lang="<?php echo esc_attr( $node->meta['lang'] ); ?>"<?php
    513                                 endif;
    514                                 if ( ! empty( $node->meta['dir'] ) ) :
    515                                         ?> dir="<?php echo esc_attr( $node->meta['dir'] ); ?>"<?php
    516                                 endif;
    517                                 ?>><?php
    518                         else:
    519                                 ?><div class="ab-item ab-empty-item"<?php echo $aria_attributes;
    520                                 if ( ! empty( $node->meta['title'] ) ) :
    521                                         ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
    522                                 endif;
    523                                 if ( ! empty( $node->meta['lang'] ) ) :
    524                                         ?> lang="<?php echo esc_attr( $node->meta['lang'] ); ?>"<?php
    525                                 endif;
    526                                 if ( ! empty( $node->meta['dir'] ) ) :
    527                                         ?> dir="<?php echo esc_attr( $node->meta['dir'] ); ?>"<?php
    528                                 endif;
    529                                 ?>><?php
    530                         endif;
    531 
    532                         echo $node->title;
    533 
    534                         if ( $has_link ) :
    535                                 ?></a><?php
    536                         else:
    537                                 ?></div><?php
    538                         endif;
    539 
    540                         if ( $is_parent ) :
    541                                 ?><div class="ab-sub-wrapper"><?php
    542                                         foreach ( $node->children as $group ) {
    543                                                 $this->_render_group( $group );
    544                                         }
    545                                 ?></div><?php
    546                         endif;
     496                if ( $has_link ) {
     497                        $attributes = array( 'onclick', 'target', 'title', 'rel', 'lang', 'dir' );
     498                        echo "<a class='ab-item'$aria_attributes href='" . esc_url( $node->href ) . "'";
     499                        if ( ! empty( $node->meta['onclick'] ) ) {
     500                                echo ' onclick="' . esc_js( $node->meta['onclick'] ) . '"';
     501                        }
     502                } else {
     503                        $attributes = array( 'onclick', 'target', 'title', 'rel', 'lang', 'dir' );
     504                        echo '<div class="ab-item ab-empty-item"' . $aria_attributes;
     505                }
    547506
    548                         if ( ! empty( $node->meta['html'] ) )
    549                                 echo $node->meta['html'];
     507                foreach ( $attributes as $attribute ) {
     508                        if ( ! empty( $node->meta[ $attribute ] ) ) {
     509                                echo " $attribute='" . esc_attr( $node->meta[ $attribute ] ) . '"';
     510                        }
     511                }
     512
     513                echo ">{$node->title}";
     514
     515                if ( $has_link ) {
     516                        echo '</a>';
     517                } else {
     518                        echo '</div>';
     519                }
     520
     521                if ( $is_parent ) {
     522                        echo '<div class="ab-sub-wrapper">';
     523                        foreach ( $node->children as $group ) {
     524                                $this->_render_group( $group );
     525                        }
     526                        echo '</div>';
     527                }
     528
     529                if ( ! empty( $node->meta['html'] ) ) {
     530                        echo $node->meta['html'];
     531                }
    550532
    551                         ?>
    552                 </li><?php
     533                echo '</li>';
    553534        }
    554535
    555536        /**
  • src/wp-includes/js/comment-reply.js

    diff --git src/wp-includes/js/comment-reply.js src/wp-includes/js/comment-reply.js
    index 3ddf7744c..27b13cea7 100644
     
    33 *
    44 * @since 2.7.0
    55 *
     6 * @ignore
     7 *
    68 * @type {Object}
    79 */
    810var addComment = {
  • src/wp-includes/js/customize-base.js

    diff --git src/wp-includes/js/customize-base.js src/wp-includes/js/customize-base.js
    index 628d26745..374f50300 100644
    window.wp = window.wp || {}; 
    908908        /**
    909909         * Get all customize settings.
    910910         *
    911          * @memberOf wp.customize
     911         * @alias wp.customize.get
    912912         *
    913913         * @return {object}
    914914         */
    window.wp = window.wp || {}; 
    934934         *
    935935         * @since 4.7.0
    936936         * @access public
    937          * @memberOf wp.customize.utils
     937         *
     938         * @alias wp.customize.utils.parseQueryString
    938939         *
    939940         * @param {string} queryString Query string.
    940941         * @returns {object} Parsed query string.
  • src/wp-includes/js/media/views/frame/post.js

    diff --git src/wp-includes/js/media/views/frame/post.js src/wp-includes/js/media/views/frame/post.js
    index 7ea2b8fd3..8c8906e26 100644
    Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{ 
    445445                        requires: { selection: true },
    446446
    447447                        /**
    448                          * @callback
     448                         * @ignore
     449                         *
    449450                         * @fires wp.media.controller.State#insert
    450451                         */
    451452                        click: function() {
  • src/wp-includes/js/mediaelement/wp-mediaelement.js

    diff --git src/wp-includes/js/mediaelement/wp-mediaelement.js src/wp-includes/js/mediaelement/wp-mediaelement.js
    index 058213065..f43c2b836 100644
     
    1212                 * Ensures media elements that have already been initialized won't be
    1313                 * processed again.
    1414                 *
     15                 * @memberOf wp.mediaelement
     16                 *
    1517                 * @since 4.4.0
    1618                 *
    1719                 * @returns {void}
     
    5658                };
    5759        }
    5860
     61        /**
     62         * @namespace wp.mediaelement
     63         * @memberOf wp
     64         */
    5965        window.wp.mediaelement = new wpMediaElement();
    6066
    6167        $( window.wp.mediaelement.initialize );
  • src/wp-includes/js/mediaelement/wp-playlist.js

    diff --git src/wp-includes/js/mediaelement/wp-playlist.js src/wp-includes/js/mediaelement/wp-playlist.js
    index 590da2e74..ddbccc86f 100644
     
    33(function ($, _, Backbone) {
    44        'use strict';
    55
    6         var WPPlaylistView = Backbone.View.extend({
     6        var WPPlaylistView = Backbone.View.extend(/** @lends WPPlaylistView.prototype */{
     7                /**
     8                 * @constructs
     9                 *
     10                 * @param {Object} options          The options to create this playlist view with.
     11                 * @param {Object} options.metadata The metadata
     12                 */
    713                initialize : function (options) {
    814                        this.index = 0;
    915                        this.settings = {};
     
    5965                                this.settings.success = this.bindResetPlayer;
    6066                        }
    6167
    62                         /**
    63                          * This is also our bridge to the outside world
    64                          */
     68                        // This is also our bridge to the outside world
    6569                        this.player = new MediaElementPlayer( this.playerNode.get(0), this.settings );
    6670                },
    6771
  • src/wp-includes/js/plupload/wp-plupload.js

    diff --git src/wp-includes/js/plupload/wp-plupload.js src/wp-includes/js/plupload/wp-plupload.js
    index 39df22e0a..1e947b09a 100644
     
    11/* global pluploadL10n, plupload, _wpPluploadSettings */
    22
     3/**
     4 * @namespace wp
     5 */
    36window.wp = window.wp || {};
    47
    58( function( exports, $ ) {
    window.wp = window.wp || {}; 
    1619         * This object bridges the Plupload API to integrate uploads into the
    1720         * WordPress back end and the WordPress media experience.
    1821         *
     22         * @class
     23         * @memberOf wp
     24         * @alias wp.Uploader
     25         *
    1926         * @param {object} options           The options passed to the new plupload instance.
    2027         * @param {object} options.container The id of uploader container.
    2128         * @param {object} options.browser   The id of button to trigger the file select.
  • src/wp-includes/js/wp-api.js

    diff --git src/wp-includes/js/wp-api.js src/wp-includes/js/wp-api.js
    index 0f5135f3c..d796ddc47 100644
     
    11611161                                         * have to retrieve it again for this session. Then, construct the models and collections based
    11621162                                         * on the schema model data.
    11631163                                         *
    1164                                          * @callback
     1164                                         * @ignore
    11651165                                         */
    11661166                                        success: function( newSchemaModel ) {
    11671167