Commit Graph

109 Commits

Author SHA1 Message Date
Sergey Biryukov 001ffe81fb Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.
Built from https://develop.svn.wordpress.org/trunk@47122


git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
whyisjake c034f5b4c3 Menus: Replace http with https in placeholders.
Encourage the use of https with the placeholder text in menus.

Fixes #46312
Props aksl95, audrasjb, celloexpressions, SergeyBiryukov, jorbin.

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


git-svn-id: http://core.svn.wordpress.org/trunk@46129 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-26 20:32:55 +00:00
Andrea Fercia e43633b7d0 Accessibility: Menus: Improve the menu items "Select All".
- changes "Select All" from a link to a checkbox
- the new checkbox is available only when JavaScript support is on
- semantically and for accessibility, a checkbox is a better user interface control because the available action is clear to all users and the selected state is communicated natively
- it's consistent with the existing pattern for the admin tables

Props birgire, audrasjb, afercia.
Fixes #47048.

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


git-svn-id: http://core.svn.wordpress.org/trunk@46052 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-23 12:42:58 +00:00
Sergey Biryukov f8fb93cd0d Customizer: Trim whitespace from custom link URLs.
This complements a similar fix for the Menus screen in [45655].

Props donmhico, audrasjb.
Fixes #47888. See #47723.
Built from https://develop.svn.wordpress.org/trunk@45869


git-svn-id: http://core.svn.wordpress.org/trunk@45680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-21 00:27:57 +00:00
Gary Pendergast 445209c9eb Menus: Remove error styling when the user addresses the error.
An error is triggered if a Menu Name isn't given when the user attempts to create a menu. When they go back and add a name, the error styling can be removed.

Props ashokrd2013, piyush9100, welcher, afercia.
Fixes #42321.


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


git-svn-id: http://core.svn.wordpress.org/trunk@44511 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-21 22:10:49 +00:00
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