Commit Graph

104 Commits

Author SHA1 Message Date
Gary Pendergast 2772e5ec06 Admin: Don't use the `keyup` event in addition to the `input` event.
The `keyup` event was used to provide support for IE8, where which doesn't support the `input` event. As we dropped IE8 support some time ago, this was simply adding unnecessary complexity and double-event triggers.

Props dlh, afercia.
Fixes #32882.


Built from https://develop.svn.wordpress.org/trunk@44539


git-svn-id: http://core.svn.wordpress.org/trunk@44370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-10 02:57:50 +00:00
omarreiss bdbaccce37 General: Explicitly assigns all JS globals to the window.
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.

Built from https://develop.svn.wordpress.org/trunk@43577


git-svn-id: http://core.svn.wordpress.org/trunk@43406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-19 13:33:24 +00:00
atimmer bde558be2f Docs: Add file doc `@output` annotations.
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.

Built from https://develop.svn.wordpress.org/trunk@43347


git-svn-id: http://core.svn.wordpress.org/trunk@43175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-06-28 02:30:15 +00:00
atimmer 1f707de9dd Docs: Improve wp-admin JSDoc structural data globally.
JSDoc takes it structural data from `@namespace`, `@lends` and `@memberOf`. This change fixes these tags for all JavaScript files in the wp-admin folder.

* Add jsdoc configuration to parse wp-admin/js files. Use `jsdoc -c jsdoc.conf.json` to generate JSDoc.
* Define all used namespaces using `@namespace`.
* Define each usage of the extend function as a prototype assignment using `@lends`.
* Add `@alias` if JSDoc cannot detect the correct name automatically.

This has previously been corrected for all `wp-includes` JavaScript files: [41351].

Props herregroen.
Fixes #42485.

Built from https://develop.svn.wordpress.org/trunk@42403


git-svn-id: http://core.svn.wordpress.org/trunk@42232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-15 13:42:46 +00:00
Andrea Fercia a029f83fb5 Menus: Visually hide the menu item edit link text in a consistent way.
Fixes a visual glitch visible on Ubuntu. WordPress uses system fonts and they have
different metrics across operating systems. Uses screen-reader-text as a more
solid way to visually hide text.

Props punit5658, afercia.
Fixes #41497.

Built from https://develop.svn.wordpress.org/trunk@41227


git-svn-id: http://core.svn.wordpress.org/trunk@41067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-03 22:12:43 +00:00
Adam Silverstein 8d8f5616b7 Menus: trigger an event when menu items are added or removed.
Fire a `menu-item-added` event after a menu item is added to the DOM. Fire a `menu-removing-item` event before a menu item is removed from the DOM. Enables hooking into and responding to menu changes.

Props welcher, adamsilverstein.
Fixes #31218.

Built from https://develop.svn.wordpress.org/trunk@39928


git-svn-id: http://core.svn.wordpress.org/trunk@39865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-01-20 16:15:42 +00:00
Andrea Fercia 432f5e76b2 Accessibility: Improve the Menus post type meta boxes pagination links.
- adds hidden text to the pagination links
- slightly increases the links clickable area
- fixes a JS error when clicking on the current page number
- avoids to generate nested `<div>` elements at each click 

Props xavortm, cwpnolen, afercia.

Fixes #35577.

Built from https://develop.svn.wordpress.org/trunk@38981


git-svn-id: http://core.svn.wordpress.org/trunk@38924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-27 15:23:31 +00:00
Andrea Fercia 8aef143d80 Menus: Fix the posts-categories quick search.
On the Menus screen, events that trigger the posts-categories search need to be
delegated. This "boxes" may get dynamically rebuilt so events directly attached
to the search input field need to be delegated.

Fixes #38324.

Built from https://develop.svn.wordpress.org/trunk@38799


git-svn-id: http://core.svn.wordpress.org/trunk@38742 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-16 20:03:29 +00:00
Andrea Fercia 1905ea030a Accessibility: Improve the UI controls to move the Menu items.
On the Menus screen, the links to move menu items behave like buttons: they
perform an action so they should be real buttons to be correctly reported to
assistive technologies. Since they're logically grouped controls, they should
also be wrapped in a `<fieldset>` element for better semantics and accessibility.

Props Cheffheid.
Fixes #35578.

Built from https://develop.svn.wordpress.org/trunk@38770


git-svn-id: http://core.svn.wordpress.org/trunk@38713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-10 16:26:12 +00:00
Dominik Schilling 5fd943f49c Menus: Hide controls in the search tab if no items are found.
Props sayedwp, afercia, tywayne, abrightclearweb.
Fixes #35576.
Built from https://develop.svn.wordpress.org/trunk@38754


git-svn-id: http://core.svn.wordpress.org/trunk@38697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-07 20:56:29 +00:00
Pascal Birchler 15df6d24eb Menus: Use strict comparison for the condition added in [38612].
See #37846.
Built from https://develop.svn.wordpress.org/trunk@38613


git-svn-id: http://core.svn.wordpress.org/trunk@38556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-15 16:56:29 +00:00
Pascal Birchler a0ce261a24 Menus: Remove 'sub item' label when removing the sub item's parent.
Props rnoakes3rd, adamsilverstein.
Fixes #37846.
Built from https://develop.svn.wordpress.org/trunk@38612


git-svn-id: http://core.svn.wordpress.org/trunk@38555 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-15 16:10:31 +00:00
Andrea Fercia 0020bcd796 Coding standards after [36510].
Built from https://develop.svn.wordpress.org/trunk@36967


git-svn-id: http://core.svn.wordpress.org/trunk@36935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-10 23:18:26 +00:00
Eric Lewis 2bfc0f5218 Menus: Allow larger menus to be created in the Edit Menu screen.
In the Edit Menu screen, each menu item creates 11 form input elements. In menus with more than 71 menu items, often items after the 71st weren't saved. This was because PHP's runtime configuration `max_input_vars` default value is 1000. Large menus exceed this, so PHP didn't populate the `$_POST` superglobal for the latter menu items.

The entire form is now JSON-encoded into a single input which populates `$_POST` manually on form submission.

This was attempted previously in [36506] which was reverted in [36507]. Some form fields were not being slurped into the form's JSON representation, and it did not scale for a site with many posts. This approach fixes those problems.

Props ocean90, afercia.
See #14134.

Built from https://develop.svn.wordpress.org/trunk@36510


git-svn-id: http://core.svn.wordpress.org/trunk@36477 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-11 19:08:27 +00:00
Eric Lewis a64dbc805b Menus: Revert larger menu support in Edit Menus screen in [36506].
JSON encoding the form as it exists on the page will not scale. 

See #14134.

Built from https://develop.svn.wordpress.org/trunk@36507


git-svn-id: http://core.svn.wordpress.org/trunk@36474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-10 14:11:26 +00:00
Eric Lewis 48fdbf96de Menus: Allow larger menus to be created in the Edit Menu screen.
In the Edit Menu screen, each menu item creates 11 form input elements. In menus with more than 71 menu items, often items after the 71st weren't saved. This was because PHP's runtime configuration `max_input_vars` default value is 1000. Large menus exceed this, so PHP didn't populate the `$_POST` superglobal for the latter menu items.

The entire form is now JSON-encoded into a single input which populates `$_POST` manually on form submission.

See #14134.

Built from https://develop.svn.wordpress.org/trunk@36506


git-svn-id: http://core.svn.wordpress.org/trunk@36473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-10 03:32:25 +00:00
Andrea Fercia c9e5edd637 Menus: Avoid displaying two spinners when adding selected menu items.
Fixes #35682.
Built from https://develop.svn.wordpress.org/trunk@36427


git-svn-id: http://core.svn.wordpress.org/trunk@36394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-31 18:06:27 +00:00
Andrea Fercia 82f59fc6ef Menus: after [36379] prevent "Quick Search" form submission when pressing Enter.
Fixes #35374.
Built from https://develop.svn.wordpress.org/trunk@36426


git-svn-id: http://core.svn.wordpress.org/trunk@36393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-31 14:03:27 +00:00
Andrea Fercia 450cbb3e81 Accessibility: Remove title attributes from the Menus screen.
Also, adds missing labels and improves the existing ones. 
Updates the "custom links" labels and inputs in the Customizer too.
Introduces a generic, reusable, `.wp-initial-focus` CSS class to be used for
the sole purpose of setting the initial focus.
"Quick Search": uniform the attached events and avoids new AJAX requests to
be triggered when the pressed key doesn't change the searched term.

Fixes #35374.
Built from https://develop.svn.wordpress.org/trunk@36379


git-svn-id: http://core.svn.wordpress.org/trunk@36346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-22 14:26:27 +00:00
Dominik Schilling 12b0257a60 Nav menus: Adjust redundant titles in accessibility helpers.
Built from https://develop.svn.wordpress.org/trunk@33540


git-svn-id: http://core.svn.wordpress.org/trunk@33507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-04 04:53:44 +00:00
Dominik Schilling a5aa0dc9fd Nav menus: Make the selector for the edit menu item link more specific. Prevents clashing with other elements which have the same class.
fixes #33129.
Built from https://develop.svn.wordpress.org/trunk@33502


git-svn-id: http://core.svn.wordpress.org/trunk@33469 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 21:30:25 +00:00
Dominik Schilling 78167b8a4c Customizer: Make reordering menu items via drag and drop easier.
Introduce `wpNavMenu.options.targetTolerance` to define a tolerance when dragging items where no margins between the sortable items exists.

props adamsilverstein.
fixes #32821.
Built from https://develop.svn.wordpress.org/trunk@33030


git-svn-id: http://core.svn.wordpress.org/trunk@33001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-01 16:44:24 +00:00
Dominik Schilling fe31ed1e5f Nav menu: Allow the sortable items selector in `wpNavMenu` to be overridden.
props adamsilverstein.
fixes #32633.
Built from https://develop.svn.wordpress.org/trunk@32745


git-svn-id: http://core.svn.wordpress.org/trunk@32716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-13 14:03:25 +00:00
Helen Hou-Sandí 9d0ab29bc4 Nav menus: Provide visual feedback when attempting to add an empty custom link.
props pragunbhutani for the initial patch.
fixes #18517.

Built from https://develop.svn.wordpress.org/trunk@32690


git-svn-id: http://core.svn.wordpress.org/trunk@32660 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-04 04:31:26 +00:00
Gary Pendergast e3f1f8fed1 Ensure post titles are correctly escaped on the Dashboard.
Props helen, ocean90, dd32, pento.


Built from https://develop.svn.wordpress.org/trunk@32175


git-svn-id: http://core.svn.wordpress.org/trunk@32150 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-20 07:39:25 +00:00
Helen Hou-Sandí 3ac1a19529 Spinners: Toggle a class instead of show/hide.
Toggling spinners also now uses visibility instead of display, so that the space is always reserved and nothing moves around unexpectedly.

props cdog, MikeHansenMe, valendesigns.
fixes #22839. see #31875, #30725.

Built from https://develop.svn.wordpress.org/trunk@31996


git-svn-id: http://core.svn.wordpress.org/trunk@31975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-03 04:52:27 +00:00
Helen Hou-Sandí b201f3a5cb Fix some inline doc typos that were missed in [31604]. see #25698.
Built from https://develop.svn.wordpress.org/trunk@31605


git-svn-id: http://core.svn.wordpress.org/trunk@31586 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-03 21:18:25 +00:00
Helen Hou-Sandí 5567d03278 Nav menus: Better JS performance on initial load of edit screen.
The accessibility helpers previously processed all items when editing a menu, which was quite slow to the point of being unresponsive for large menus. They now only process items when they are expanded or a user comes near them in some way, such as hover or focus.

Also simplifies a redundant set of click event handlers down to one, which further enhances performance.

props atimmer, sevenspark.
fixes #25698.

Built from https://develop.svn.wordpress.org/trunk@31604


git-svn-id: http://core.svn.wordpress.org/trunk@31585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-03 21:14:25 +00:00
Sergey Biryukov a82763b7b6 Menus: Don't display "Move" text without direction if there is only one menu item.
props kucrut for initial patch.
fixes #30765.
Built from https://develop.svn.wordpress.org/trunk@31320


git-svn-id: http://core.svn.wordpress.org/trunk@31301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-01 05:29:26 +00:00
Dominik Schilling cdbe551b8c Menus: Improve performance for title live updating. Add `change` event for IE < 9.
props helen, SergeyBiryukov.
fixes #23076.
Built from https://develop.svn.wordpress.org/trunk@29672


git-svn-id: http://core.svn.wordpress.org/trunk@29446 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-02 13:23:18 +00:00
Scott Taylor b964ac0148 Live update the menu item title when the user is editing the "Navigation Label" field.
Props celloexpressions.
See #23076.

Built from https://develop.svn.wordpress.org/trunk@28707


git-svn-id: http://core.svn.wordpress.org/trunk@28523 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-09 18:39:15 +00:00
Andrew Nacin 7ac1f7916f Return some semicolons. fixes #25594.
Built from https://develop.svn.wordpress.org/trunk@26623


git-svn-id: http://core.svn.wordpress.org/trunk@26513 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 19:08:10 +00:00
Andrew Nacin bfc16271ca Nav Menus: Delegate click events for move links.
props ankit.gade.
fixes #25594.

Built from https://develop.svn.wordpress.org/trunk@26613


git-svn-id: http://core.svn.wordpress.org/trunk@26503 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 17:10:11 +00:00
Sergey Biryukov 4e28c278a5 Fix replacement regex in wp-admin/js/nav-menu.js.
props rzen, jeremyfelt.
fixes #26047.
Built from https://develop.svn.wordpress.org/trunk@26233


git-svn-id: http://core.svn.wordpress.org/trunk@26140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-16 07:42:11 +00:00
Andrew Nacin 2c1ccede9d Fix JSHint errors in nav-menu.js.
props atimmer.
fixes #25953.

Built from https://develop.svn.wordpress.org/trunk@26163


git-svn-id: http://core.svn.wordpress.org/trunk@26074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-14 06:09:11 +00:00
Andrew Nacin d2f06ecf48 Optimize the accessibility JS on the Menus screen to avoid browser crashes with very large menus.
props atimmer.
fixes #25112.

Built from https://develop.svn.wordpress.org/trunk@25708


git-svn-id: http://core.svn.wordpress.org/trunk@25622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-07 13:37:08 +00:00
Dominik Schilling 328c4e9a67 Revert [25622]. fixes #25445. see #25122.
Built from https://develop.svn.wordpress.org/trunk@25687


git-svn-id: http://core.svn.wordpress.org/trunk@25603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-03 09:12:08 +00:00
Andrew Nacin 8896aab690 Only show top-level items when adding pages to a User's First Nav Menu. (This is also the title of Dave's first children's book.)
props lessbloat.
fixes #25122.

Built from https://develop.svn.wordpress.org/trunk@25622


git-svn-id: http://core.svn.wordpress.org/trunk@25539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-25 16:23:09 +00:00
Dominik Schilling c2739d12cc Trim leading whitespace from AJAX responses.
This fixes the warning "$(html) HTML strings must start with '<' character" by jQuery Migrate when adding nav menu items, post custom fields or comment replies.

fixes #23681.
Built from https://develop.svn.wordpress.org/trunk@25546


git-svn-id: http://core.svn.wordpress.org/trunk@25466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-21 10:51:09 +00:00
Helen Hou-Sandí 0da48b8335 Tweaks to the accordion:
* Enqueues JS in `do_accordion_sections()`.
* Top and bottom rounded corners for the nav menu accordion.
* Better RTL and no-JS.

props lessbloat, DrewAPicture, aaroncampbell, helen. fixes #23449.


git-svn-id: http://core.svn.wordpress.org/trunk@24680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-12 18:16:29 +00:00
Mark Jaquith 19810a259c Move nav menus to a tabbed interface, so that users with a lot of locations can do bulk assignment.
props DrewAPicture, lessbloat. fixes #23770

git-svn-id: http://core.svn.wordpress.org/trunk@23810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-27 11:46:08 +00:00
Sergey Biryukov 9f26938da3 Use placeholders in menu strings instead of manual concatenation. fixes #14045.
git-svn-id: http://core.svn.wordpress.org/trunk@23761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-20 05:49:29 +00:00
Sergey Biryukov f0a60fb9c9 Fix object name. props GaryJ. see #14045.
git-svn-id: http://core.svn.wordpress.org/trunk@23760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-20 05:46:39 +00:00
Mark Jaquith 9bd740f616 Accessibility revamp for nav menus.
props lessbloat. fixes #14045

git-svn-id: http://core.svn.wordpress.org/trunk@23727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-16 04:47:19 +00:00
Mark Jaquith 83bb916b81 Turn the Nav Menu meta boxes into an accordion. Less sprawling and overwhelming.
* Registration stays the same — they're meta boxes
* Call `do_accordion_sections()` instead of `do_meta_boxes()` and they render as an accordion

props DrewAPicture, lessbloat, jkudish. fixes #23450. see #23449

git-svn-id: http://core.svn.wordpress.org/trunk@23707 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-15 13:16:38 +00:00
Andrew Nacin 1e555a03a1 Remove message slide-down effect on the nav-menus.php page. props lessbloat, fixes #23714.
git-svn-id: http://core.svn.wordpress.org/trunk@23640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-07 17:03:15 +00:00
Mark Jaquith 52c46736df Improve the UX of the Nav Menus screen. Kill the tabs, and change to a
dropdown, unless you have zero or one menus (which is the most common),
in which case you jump right into editing your sole menu.

Do assignment to location using checkboxes in the main menu editing
section instead of the backwards menu => location assignment in a
random meta box.

More to come, but this gets us started.

props lessbloat, DrewAPicture, jkudish. see #23119

git-svn-id: http://core.svn.wordpress.org/trunk@23441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-16 04:53:59 +00:00
Andrew Nacin 1acd8b556f New HiDPI spinner. Uses clean <span class="spinner"></span> markup.
Be on the lookout for weirdness.
props lessbloat. see #21456.



git-svn-id: http://core.svn.wordpress.org/trunk@22019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-26 19:57:44 +00:00
Andrew Nacin 2710bcade1 Switch to .min for compressed JS and CSS files.
* This moves our "development" versions from .dev.js to .js (same for css).
 * The compressed version then moves from .js to .min.js (same for css).

By switching to the standard .min convention, it sets expectations for developers,
and works nicely with existing tools such as ack.

fixes #21633.



git-svn-id: http://core.svn.wordpress.org/trunk@21592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-08-23 00:04:18 +00:00
nacin a14dd3db8b Allow enter to trigger a new custom link on nav-menus.php. props mattwiebe, fixes #18255.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19310 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-11-16 01:45:11 +00:00