summaryrefslogtreecommitdiffstatshomepage
path: root/src/js/_enqueues/admin/common.js
Commit message (Collapse)AuthorAge
* Themes: Add filter on bulk action fields.Joe Dolson6 days
| | | | | | | | | Because validation was added in [59134] to prevent submitting bulk actions with no selected action, sites that remove or change the default bulk actions can fail due to the missing required inputs. Add a filter (`bulk_action_observer_ids`) that allows modifying the actions accepted to fulfill validation rules. Props ethitter, kabir93, jorbin, davidbaumwald, joedolson. Fixes #63005. git-svn-id: https://develop.svn.wordpress.org/trunk@60186 602fd350-edb4-49c9-b593-d223f7449a82
* A11y: Add spoken notice when screen options are saved on change.Joe Dolson2025-03-16
| | | | | | | | | When some screen option input fields are changed (post table columns, welcome panel, and metabox visibility), the change is saved to options. Other screen options (e.g. number of items per page) are only saved on submit. The changes that are saved immediately are visibly changed for sighted readers immediately. Change adds a `wp.a11y.speak()` call to inform screen readers that a value change has updated screen options. Props kkmuffme, joedolson, yogeshbhutkar, audrasjb, sourabhjain. Fixes #62550. git-svn-id: https://develop.svn.wordpress.org/trunk@59988 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Fix undefined element JS error in pagination handler.Joe Dolson2025-01-30
| | | | | | | | | Follow up to [59727]. Handle cases where the `#current-page-selector` is not present on the page to prevent a JS warning. Props tobiasbg, mamaduka, jorbin, joedolson. See #62534. git-svn-id: https://develop.svn.wordpress.org/trunk@59746 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Fix pagination in categories, tags, and plugins tables.Joe Dolson2025-01-29
| | | | | | | | | | | Fix an issue introduced in [59134] that prevented manual entry of a page number in the pagination input field from navigating pages. Requiring validation of the bulk actions input also impacted other inputs nested in the same form. Also fixes a pre-existing bug where it was not possible to navigate to page 1 using the input field. Props ffffelix, im3dabasia1, apermo, rishavdutta, joedolson, swissspidy, jorbin, joedolson. Fixes #62534. git-svn-id: https://develop.svn.wordpress.org/trunk@59727 602fd350-edb4-49c9-b593-d223f7449a82
* Quick/Bulk Edit: Add notice if no items selected.Joe Dolson2024-09-30
| | | | | | | | | Add an error notice if a user attempts to apply bulk edits with no items selected. Applies to post lists, comments, taxonomies, and plugins screens. Props garrett-eclipse, nrqsnchz, sumitsingh, nihar007, royho, sabernhardt, oglekler, quadthemes, ankit-k-gupta, fnpen, ukdrahul, joedolson. Fixes #45006, #58479. git-svn-id: https://develop.svn.wordpress.org/trunk@59134 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: A11y: Use `aria-haspopup` only if item has popup behavior.Joe Dolson2024-06-20
| | | | | | | | | Update behavior of admin menu so that the `aria-haspopup` attribute is only applied in responsive mode, when there is a popup behavior present. Add `aria-expanded` attributes to report current popup state. Props afercia, khokansardar, ryokuhi, joedolson. Fixes #43095. git-svn-id: https://develop.svn.wordpress.org/trunk@58449 602fd350-edb4-49c9-b593-d223f7449a82
* Quick/Bulk Edit: Remove the `iedit` class from the row selector in `common.js`.Jb Audras2024-06-10
| | | | | | | | | | | | | | | This changeset fixes an issue where the "Bulk select" option was getting selected when only a single user, comment, media, or plugin was selected. Follow-up to [57745]. Props haritpanchal, swissspidy, sabernhardt, faisal03, sumitbagthariya16, mohitdadhich10. Fixes #61168. git-svn-id: https://develop.svn.wordpress.org/trunk@58375 602fd350-edb4-49c9-b593-d223f7449a82
* Quick/Bulk Edit: Ensure the “All” checkbox is properly toggled in ↵Pascal Birchler2024-02-29
| | | | | | | | | | | certain scenarios. When removing a single item from the bulk edit box or when adding more items, the “All” checkboxes at the top and bottom of the posts list table should be properly toggled. Props hiteshtalpada, oglekler, webcommsat, ugyensupport, chaion07, Toru. Fixes #59121. git-svn-id: https://develop.svn.wordpress.org/trunk@57745 602fd350-edb4-49c9-b593-d223f7449a82
* Script Loader: Switch to JavaScript translations.Peter Wilson2024-02-18
| | | | | | | | | | | Update JavaScript files for tag suggestions and the TinyMCE link plugin to use client side translations. This allows for `_n()` to be used for strings requiring singular and plural versions in which the correct form is only known client side. Props audrasjb, chaion07, costdev, hellofromtonya, johnbillion, marybaum, nicolefurlan, oglekler, rebasaurus, rsiddharth, sergeybiryukov, shaampk1, shahariaazam, swissspidy, tobifjellner. Fixes #48244. git-svn-id: https://develop.svn.wordpress.org/trunk@57654 602fd350-edb4-49c9-b593-d223f7449a82
* Plugins: Prevent `ajaxComplete` listener from observing all events.Joe Dolson2023-10-27
| | | | | | | | | | | Add a conditional to prevent the `prefers-reduced-motion` `ajaxComplete` listener from observing events not occurring in the plugin installation screen. Improve handling of settings data test. The listener observing `ajaxComplete` in [56541] was intercepting all `ajaxComplete` events, creating potential for unexpected errors in unrelated functions. Props bplv, afercia, rudlinkon, hellofromTonya, huzaifaalmesbah, joedolson, jorbin. Fixes #59689. git-svn-id: https://develop.svn.wordpress.org/trunk@57022 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Fix unusable mobile admin menu in Safari.Joe Dolson2023-10-09
| | | | | | | | | Replace the `focusout` event handler added in [55326] with a combination of `blur` and `keyup` handler. This change handles Safari not setting focus on clicked elements. Props afercia, joedolson, travel_girl, oglekler, rajinsharwar, marybaum, rcorrales, binsaifullah, shubhamsedani, ashikur698. Fixes #58912. git-svn-id: https://develop.svn.wordpress.org/trunk@56810 602fd350-edb4-49c9-b593-d223f7449a82
* Docs: Use 3-digit, x.x.x style semantic versioning for two `@since` entries.Sergey Biryukov2023-10-04
| | | | | | | | Follow-up to [41626], [56541]. See #58833. git-svn-id: https://develop.svn.wordpress.org/trunk@56774 602fd350-edb4-49c9-b593-d223f7449a82
* Plugins: Respect `prefers-reduced-motion` on plugin thumbnails.Joe Dolson2023-09-07
| | | | | | | | | Pause animated plugin thumbnails when a user has reduced motion preferences configured in their device or operating system. Props Travel_girl, audrasjb, bordoni, stevejonesdev, joedolson. Fixes #55723. git-svn-id: https://develop.svn.wordpress.org/trunk@56541 602fd350-edb4-49c9-b593-d223f7449a82
* Help/About: Fix closing contextual help when scrolled.Joe Dolson2023-07-16
| | | | | | | | | Change from `scrollIntoView` to `scrollIntoViewIfNeeded` so scrolling will only fire when it is required. `scrollIntoViewIfNeeded` is a proprietary method that is not standardized and not currently on a track towards standards. However, testing has it working well, including in Firefox, which supposedly does not support it. Props mikecho, studionashvegas, mai21, piotrek, Heiko_Mamerow, costdev, joedolson. Fixes #55342. git-svn-id: https://develop.svn.wordpress.org/trunk@56243 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Fix JavaScript test failure.Joe Dolson2023-02-14
| | | | | | | | | Remove unused variable `e` that I removed from Github, but failed to remove before committing. Follow up to [55326]. Unprops joedolson. Fixes #53587. git-svn-id: https://develop.svn.wordpress.org/trunk@55327 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Close admin menu when focus moves to body.Joe Dolson2023-02-14
| | | | | | | | | | | User should not have to reach the admin menu toggle in order to close the menu. This can be a problem for one-handed mobile use, users with small hands, and numerous other situational usages. Close the admin menu when focus moves anywhere other than the menu or the menu toggle and the current document is active. Props kaneva, sabernhardt, costdev, ryokuhi, hellofromtonya, dhusakovic, thelovekesh, joedolson. Fixes #53587. git-svn-id: https://develop.svn.wordpress.org/trunk@55326 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Avoid menu/sub-menu overlap on small screens.Jb Audras2022-10-04
| | | | | | | | | | This changeset fixes overlapping glitches discovered in WordPress Admin menu behavior when used on small screens. Props turtlepod, collieit, chaion07, hilayt24, mehedi890, markparnell, webcommsat, mehedi890, ryokuhi, sabernhardt, ironprogrammer, audrasjb, costdev, ugyensupport. Fixes #32747. git-svn-id: https://develop.svn.wordpress.org/trunk@54392 602fd350-edb4-49c9-b593-d223f7449a82
* Help/About: Remove `.hidden` class when the Help Tab panel is displayed.Jb Audras2022-09-15
| | | | | | | | | | It is obviously more logical and semantic to remove the `hidden` class when the panel is displayed. Plus, it prevents from weird behavior occurring when plugins also use the `hidden` class to hide stuff. Props grabmedia, SergeyBiryukov, helen, sabernhardt, costdev, audrasjb. Fixes #27697. git-svn-id: https://develop.svn.wordpress.org/trunk@54177 602fd350-edb4-49c9-b593-d223f7449a82
* Permalinks: Fix aria-live text when removing custom structure.Joe Dolson2022-08-19
| | | | | | | | | Change the notification announced when a custom structure is removed. Previously, the notification incorrectly indicated that the structure was added for both actions. This changes the notification to correctly announce removals when structures are removed. Props joedolson, kebbet, SergeyBiryukov. Fixes #56230. git-svn-id: https://develop.svn.wordpress.org/trunk@53911 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Revert [51946].Tonya Mork2022-01-17
| | | | | | | | | Reverting changeset due to reported issue of menu being hidden after clicking on certain mobile devices. Props dhusakovic, audrasjb, SergeyBiryukov, costdev, joedolson. See #54837, #53587. git-svn-id: https://develop.svn.wordpress.org/trunk@52591 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Add "File" to Theme/Plugin Editor menu names and relocate ↵Tonya Mork2021-12-21
| | | | | | | | | | | | | | | "Plugin File Editor" to Tools for block themes. [52232] relocated the Theme Editor menu item from Appearance to Tools for block themes. This commit relocates the Plugin Editor menu item from Plugins to Tools for block themes for a consistent workflow. Both the Theme Editor and Plugin Editor menu items are renamed to "Theme File Editor" and "Plugin File Editor" respectively. Why? To better identify their purpose, i.e. to directly edit the code in the theme or plugin files. The rename is not limited to only block themes. Follow-up to [52232]. Props poena, annezazu, audrasjb, clorith, courane01, costdev, dryanpress, desrosj, hellofromTonya, ipstenu, jameskoster, joen, johnbillion, joyously, manfcarlo, marybaum, pbiron, SergeyBiryukov, walbo, youknowriad. Fixes #54382. git-svn-id: https://develop.svn.wordpress.org/trunk@52406 602fd350-edb4-49c9-b593-d223f7449a82
* External Libraries: Further fix jQuery deprecations in WordPress core.Tonya Mork2021-11-30
| | | | | | | | | Follow-up to [50001], [50270], [50367], [50383], [50410], [50420], [50429], [50547]. Props chaion07, Clorith, costdev, desrosj, malthert, peterwilsoncc, presskopp, promz, sabernhardt, SergeyBiryukov, toro_unit, wpnomad. Fixes #51519. git-svn-id: https://develop.svn.wordpress.org/trunk@52285 602fd350-edb4-49c9-b593-d223f7449a82
* Admin/Menu: include `960` exact pixel width in collapse measurements.John James Jacoby2021-11-02
| | | | | | | | | | | | This change removes a 1 pixel gap in the measurement of the viewport width when clicking the "Collapse menu" button (at the bottom of the admin menu UI) when already collapsed, causing the menu not to open as intended when exactly 960 pixels wide. Before this change, the menu would be stuck in the collapsed position. After this change, the menu opens as expected. Props abesell132, ankit-k-gupta, audrasjb, boniu91, mai21, sabernhardt, webaxones. Fixes #54210. git-svn-id: https://develop.svn.wordpress.org/trunk@51977 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Hide mobile menu on focusout.Joe Dolson2021-10-28
| | | | | | | | | Closes the admin menu on mobile devices when keyboard focus moves outside of the menu or menu toggle elements. Improves the usability of the menu on mobile by allowing closure anywhere outside the menu rather than only on the toggle. Props kaneva, costdev, sabernhardt Fixes #53587. git-svn-id: https://develop.svn.wordpress.org/trunk@51946 602fd350-edb4-49c9-b593-d223f7449a82
* External Libraries: Further fix jQuery deprecations in WordPress core.Sergey Biryukov2021-03-18
| | | | | | | | | Follow-up to [50001], [50270], [50367], [50383], [50410], [50420], [50429]. Props Clorith. See #51812. git-svn-id: https://develop.svn.wordpress.org/trunk@50547 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Revert the change to `click` event handler for fly-out submenus.Sergey Biryukov2021-02-24
| | | | | | | | | | | | | The `click()` method there is not the jQuery method, but is an HTML DOM method instead. This makes the fly-out submenu header clickable again when the menu is folded. Follow-up to [50420]. Props peterwilsoncc. Fixes #52638. See #51812. git-svn-id: https://develop.svn.wordpress.org/trunk@50429 602fd350-edb4-49c9-b593-d223f7449a82
* External Libraries: Further fix jQuery deprecations in WordPress core.Sergey Biryukov2021-02-23
| | | | | | | | | | | This includes many minor adjustments to a wide array of core files to replace shorthands with full declarations. Follow-up to [50001], [50270], [50367]. Props Clorith, hellofromTonya, peterwilsoncc, adamsilverstein, aristath. See #51812. git-svn-id: https://develop.svn.wordpress.org/trunk@50420 602fd350-edb4-49c9-b593-d223f7449a82
* External Libraries: First pass at fixing jQuery deprecations in WordPress ↵Sergey Biryukov2021-01-22
| | | | | | | | | | | | | | | | | core and bundled themes. To be able to disable jQuery Migrate as step 3 of updating the jQuery version shipped with WordPress, all `JQMIGRATE` warnings in the browser console will have to be addressed. This includes many minor adjustments to a wide array of core files. Follow-up to: * Step 1: Disabling jQuery Migrate 1.4.1 in WordPress 5.5: [48323], [48324] * Step 2: Updating jQuery to 3.5.1 and adding jQuery Migrate 3.3.x in WordPress 5.6: [49101], [49338], [49615], [49649] Props Clorith, azaozz. See #51812. git-svn-id: https://develop.svn.wordpress.org/trunk@50001 602fd350-edb4-49c9-b593-d223f7449a82
* Quick/Bulk Edit: By the power vested in me, I hereby declare the top bulk ↵John Blackbourn2021-01-07
| | | | | | | | | | | | | actions and the bottom bulk actions joined forever in MatrimonyScript. This joyous marriage means that users will no longer find a selected top bulk action on a list table unexpectedly being applied instead of their selected bottom bulk action. The top and bottom controls for changing user roles are equally wedded forever too. Props clayray, subrataemfluence, garrett-eclipse, pbiron, hareesh-pillai Fixes #46872 git-svn-id: https://develop.svn.wordpress.org/trunk@49944 602fd350-edb4-49c9-b593-d223f7449a82
* Customize: Temporary fix for autosave restore notice not being removedRobert Anderson2020-11-17
| | | | | | | | | | | | | | | | | | | | | | | | Fixes the "There is a more recent autosave of your changes" notice from not being removed when the dismiss button is clicked. The problem is caused by the notice being initialized twice: once by the `common` script and then again by the `customize-controls` script. This temporary fix prevents `customize-controls` from initializing a notice if it has already been initialized. A better fix would be to not initialize notices twice. This can be done by removing `common` as a dependency of `updates` when `deprecateL10nObject` is removed. When this happens (est: 5.7), this temporary fix should be reverted. Fixes #51425. See #51317. Props karthikbhatb, dlh, SergeyBiryukov. git-svn-id: https://develop.svn.wordpress.org/trunk@49625 602fd350-edb4-49c9-b593-d223f7449a82
* I18N: Use `wp.i18n` for translatable strings in `wp-admin/js/dashboard.js`.Dominik Schilling2020-10-14
| | | | | | | | | | * Deprecate the `l10n` property on `communityEventsData`. * Introduce `version` parameter for `deprecateL10nObject` and backfill the version for deprecated objects in 5.5.0. * Add a noop version of `deprecateL10nObject` for QUnit testing. Fixes #51498. git-svn-id: https://develop.svn.wordpress.org/trunk@49151 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Make sure list table row actions in Extended view stay ↵Sergey Biryukov2020-10-14
| | | | | | | | | | | visible when a single row gets focus. Follow-up to [48398], [48423], [48424], [48450], [48670]. Props ryelle. Fixes #51516. See #49715. git-svn-id: https://develop.svn.wordpress.org/trunk@49142 602fd350-edb4-49c9-b593-d223f7449a82
* Script Loader: Add backward compatibility for JavaScript i18n globals and ↵Sergey Biryukov2020-08-31
| | | | | | | | | | | | | | | properties deprecated in WordPress 5.5. The recommended approach for any plugins using these globals or properties is to switch to the newer `wp.i18n` functions. In the meantime, this ensures that accessing any of these globals does not break the rest of the code on the page, and an appropriate warning message is logged to the JavaScript console. Follow-up to: https://core.trac.wordpress.org/query?summary=~wp.i18n&milestone=5.5 Props omarreiss, peterwilsoncc, kbjohnson90, johnbillion, TimothyBlynJacobs, joostdevalk, ocean90, desrosj, SergeyBiryukov. Fixes #51123. git-svn-id: https://develop.svn.wordpress.org/trunk@48923 602fd350-edb4-49c9-b593-d223f7449a82
* Build/Test Tools: Enable JSDocs to be linted with ESLint.Jake Spurlock2020-07-27
| | | | | | | | | | | | | | | | As part of the [Javascript Inline Docs Initiative](https://make.wordpress.org/core/handbook/docs/inline/js/) this add some tooling to lint Javascript docblocks. Two new commands: * `npm run lint:jsdoc` * `npm run lint:jsdoc:fix` The latter will run the linter and try to fix an possible issues automatically. Fixes #43828. Props netweb, atimmer, kamataryo, whyisjake. git-svn-id: https://develop.svn.wordpress.org/trunk@48650 602fd350-edb4-49c9-b593-d223f7449a82
* Docs: Improve description for the JS function that hides the update button ↵Sergey Biryukov2020-07-10
| | | | | | | | | | | | for expired plugin or theme uploads. Add missing `@since` tag. Follow-up to [48417]. See #50612. git-svn-id: https://develop.svn.wordpress.org/trunk@48427 602fd350-edb4-49c9-b593-d223f7449a82
* Upgrade/Install: Ensure cleanup after canceled update.Jake Spurlock2020-07-10
| | | | | | | | | | | Ensure that the uploaded zip is hidden from the media library, where a task will remove failed installs after two hours. Fixes #50612. Props psykro, desrosj, joyously, azaozz, noisysocks, whyisjake. git-svn-id: https://develop.svn.wordpress.org/trunk@48417 602fd350-edb4-49c9-b593-d223f7449a82
* I18N: Use `wp.i18n` for translatable strings in `wp-admin/js/common.js`.Dominik Schilling2020-07-01
| | | | | | | | | | This removes the usage of `wp_localize_script()` for passing translations to the script and instead adds the translatable strings in the script directly through the use of `wp.i18n` and its utilities. Props swissspidy, ocean90. See #20491. Fixes #50526. git-svn-id: https://develop.svn.wordpress.org/trunk@48267 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Remove any CSS related to Internet Explorer versions 6 – 10.Dominik Schilling2020-05-06
| | | | | | | | | | | | | | In WordPress 3.2 support for IE6 was dropped, IE7 followed a few versions later. With the 4.8 release, WordPress officially ended support for Internet Explorer versions 8, 9, and 10. Yet, we still have shipped CSS for the unsupported IE versions....until now! Goodbye to ie.css and star hacks! * Removes ie.css and `ie` style handle. * Removes IE specific class names and any related CSS. * Drops support for IE8 and older in `wp_customize_support_script()`. * Updates compatibility mode for CSS minification to `ie11`. Props ayeshrajans, isabel_brison, afercia, netweb, peterwilsoncc, ocean90. Fixes #17232, #46015. git-svn-id: https://develop.svn.wordpress.org/trunk@47771 602fd350-edb4-49c9-b593-d223f7449a82
* Docs: Improve inline comments per the documentation standards.Sergey Biryukov2020-01-29
| | | | | | | | Includes minor code layout fixes for better readability. See #48303. git-svn-id: https://develop.svn.wordpress.org/trunk@47122 602fd350-edb4-49c9-b593-d223f7449a82
* Docs: Replace `@returns` tags in JS docs with `@return`.Sergey Biryukov2019-11-29
| | | | | | | | | Per the documentation standards, `@returns` is an unsupported synonym, `@return` should be used instead: https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/javascript/ See #48303. git-svn-id: https://develop.svn.wordpress.org/trunk@46800 602fd350-edb4-49c9-b593-d223f7449a82
* Accessibility: Make sortable meta boxes non sortable when there are no ↵Andrea Fercia2019-09-23
| | | | | | | | | | | | | | | locations they can be dragged to. Depending on the amount of meta boxes and the layout settings under Screen Options, sortable meta boxes may not be actually sortable. In these cases, jQuery UI sortable needs to be disabled and the user interface shouldn't use a CSS `cursor: move`. The use of consistent and relevant cursors may be important for users who have a cognitive disability, since cursors give a visual clue as to an element's functionality. Using the move cursor for elements which cannot be moved may be confusing or counter-intuitive for users. Props adamsilverstein, antpb, anevins. Fixes #47131. git-svn-id: https://develop.svn.wordpress.org/trunk@46250 602fd350-edb4-49c9-b593-d223f7449a82
* Administration: Save column visibility on small screens.peterwilsoncc2019-02-01
| | | | | | | | | | | | | Modifies the jQuery selector for determining hidden columns to ensure they are detected when the expanded columns details are closed. Adds high-specificity selectors specifically for setting screen options in the comments and plugins lists. Props afercia. Fixes #46005. git-svn-id: https://develop.svn.wordpress.org/trunk@44722 602fd350-edb4-49c9-b593-d223f7449a82
* General: Explicitly assigns all JS globals to the window.Omar Reiss2018-08-19
| | | | | | | | | Many variables in the JavaScript were defined in the global scope without being explicitly assigned to the window. When built with Webpack, the code gets encapsulated in anonymous functions and those implicit globals get assigned to the wrong scope. This patch prevents that from happening. Fixes #44371. See #43731. git-svn-id: https://develop.svn.wordpress.org/trunk@43577 602fd350-edb4-49c9-b593-d223f7449a82
* Docs: Add file doc `@output` annotations.Anton Timmermans2018-06-15
| | | | | | | | | | | | | | | | | | These annotations make it clear to the reader of a JavaScript source where the build process outputs to. These annotations can later be integrated in a webpack configuration. This way there is one source of truth. The `build` folder is omitted from the paths, because a single JS file shouldn't not be responsible of knowing where outputs in general will end up at. A file only knows its output location relative to the project. Props adamsilverstein, herregroen, omarreiss, pento. Fixes #44361. git-svn-id: https://develop.svn.wordpress.org/trunk@43347 602fd350-edb4-49c9-b593-d223f7449a82
* Once upon a midnight dreary, while I coded, weak and weary,Gary Pendergast2018-05-23
In many a strange and curious file of forgotten lore— While I pondered, blaming Nacin, my notifications suddenly awakened, As of someone quietly DMing;—DMing me, I can’t ignore. “’Tis some contributor,” I muttered, “DMing me an idea or four— Only this and nothing more.” Ah, distinctly I remember, at WordCamp US, last December; A mad proposal nearly laid me—down out cold—upon the floor. Curious, I listened closely;—to a plan I agreed with, mostly— A way to make our JavaScript—JavaScript which was a chore— Maintainable, extendable, for the future, is what I saw. Guten-ready for evermore. Open here I switch to Slack, when, with many a patch and hack, In there stepped Omar, a JavaScript developer hardcore; Pronouncing all the changes fit; ready now to be commit; “There’s nothing else for us to do,” DMing me, “It’s done!” he swore— “No longer random guessing at which file need next be explored— Let’s move on, we’re all aboard.” Moved all together, grouped and managed, in folders all is packaged, The code had all been cleaned and tidied, important parts moved to the fore, “Though this change be useful here,” I said, “it is too large, I fear, We couldn’t manage such a patch, we’ve done nothing like this before— Tell me where doth go this change, change to make our codebase soar!” Quoth Omar, “In WordPress Core.” Props omarreis for shepherding this significant change. Props adamsilverstein, aduth, atimmer, dingo_bastard, frank-klein, gziolo, herregroen, jaswrks, jeremyfelt, jipmoors, jorbin, netweb, ocean90, pento, tjnowell, and youknowriad for testing, feedback, discussion, encouragement, commiserations, etc. I make no apologies for this commit message. Fixes #43055. git-svn-id: https://develop.svn.wordpress.org/trunk@43309 602fd350-edb4-49c9-b593-d223f7449a82