Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Master back into fork #2

Merged
merged 186 commits into from
May 15, 2020
Merged

Conversation

fabiankaegy
Copy link
Member

Description

How has this been tested?

Screenshots

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

aduth and others added 30 commits April 29, 2020 14:50
…uggestions (#21873)

* Configure the navigation editor with correct __experimentalFetchLinkSuggestions

* Move __experimentalFetchLinkSuggestions from block-editor to editor

* Update package-lock.json

* Update package-lock.json

* Copy fetchLinkSuggestions over to edit-navigation

* Update formatting in package.json

* Update package-lock.json

* Update package-lock.json
* Add a method for publishing patches to the lerna scripts.

* Spelling is hard.

* Let's swap to  to help with the major.minor.patch semver structure.

* Add a bit to the docs.
* Fix props in example code for Edit Post module

* Fix props in JSDoc for Edit Post module
Adds missing entry that was not included in #21928. Props to @aduth for noticing.
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
No changes in this commit, since the release branch had the changes already cherry-picked. This commit is for book-keeping purposes only.
* Reinitialize the iframe after the parent block is moved around

* Apply eslint
* revert bad merge

* removed author storage

we also set post author on change from the block itself.

* linting

* use sizes to label avatar size

this aloows us to use the sizes as the API serves them

* adds some review suggestions

props @ockham

* removes null coalescing operator
…21973)

* Use React.memo() in BlockStyles

* Replace HOC with hooks
* CustomSelectControl: don't render option list if empty

* Render options list but use aria-hidden
…ange (#21990)

* Avoid rerenders of the entire BlockInspector when block attributes change

* Return null instead of not returning anything
* Rename icons, primitives tsconfig to _tsconfig

[#21613](#21613) "hid"
TypeScript emitted type declarations for `@wordpress/element` when it
was found to conflict with 3rd party type declarations on
DefinitelyTyped.

Disabling `@wordpress/element` cascaded to require disabling type
checking for `@wordpress/icons` and `@wordpress/primitives`, two
dependent packages.

The lint-staged flow is slightly different from the full
`build:package-types` script in that it attempts to do a minimal build
in the interest of speed. This flow checks for the presence of a
`tsconfig.json` file in the root of the package with changes and runs
its package build.

While removing the affected packages from the main tsconfig.json did
remove them from the primary build, changes to primitives and icons
packages will fail because they cannot find the `@wordpress/element`
types as was intended in #21613.

By renaming the package tsconfig.json files, they are excluded from the
lint-staged typechecking as well.

* Update arrow-left, cog, and help icons

* Add "bar chart" icon

* Add "home" icon

* Add "megaphone" icon

* Add "people" icon

* Add "plugin" icon

* Add "support" icon

* Add "tool" icon

* icon definitions

* Update "support" icon dimensions and rename to "lifesaver"

* Update star icons

Replaces old Dashicons stars with g2 equivalents

* Update star icon dimensions

* star-half viewbox

* E2E Tests: Update Plugins snapshots

* Camelcase Path attributes

* Update "tool" icon

* Update icons package changelog

* Update packages/icons/package.json

Co-authored-by: Andrew Duthie <[email protected]>

* Update packages/icons/CHANGELOG.md

Co-authored-by: Andrew Duthie <[email protected]>

Co-authored-by: Jon Surrell <[email protected]>
Co-authored-by: Andrew Duthie <[email protected]>
* moved to sidebar, functional in post editor / hidden in site

* copied over some styles, working in site editor now

* added close button

* added icons and styles

* added selection feature

* refactored store goo

* refactored z-index

* refactored entities saved states

* refactored scss

* added test for actions

* added tests for reducer

* added selector test

* fixing lint

* fixing more lint

* cleanup bad auto-pretty

* last of cleanup?

* renamed select entity button

* added actions/reducers/tests to edit-post

* added store things to edit-site

* restructured to run on isOpen/closePanel props

* removed from editor package store

* created Actions component for post editor layout

* added save panel hidden button to post editor

* added hidden button to site editor

* added styles and class names

* fixed z-index name issue

* restored z-indexes to previous values, no need with non-overlapping panels

* refactor ActionsPanel, always mount entitites"

* removed unnecessary vars and imports

* make save component always mounted in edit site"

* added some comments

* fixed closePanel for selecting entity in small width

* removed entities actions/reducers from edit-site editor

* passed localstate down through props in edit-site

* removed entities goo from edit-site store

* added parentBlockId as dep to callback in entitiy selection

* converted entities to local state in edit-post layout

* set up edit-post save panel on local state props

* removed entities goo from edit-post store

* fixed z-index naming convention

* refactored actions panel

* fixed comment misspellings

* refactored entitiesSavedStates icon enum

* removed unnecessary comments

* added comment to redundant looking useCallback

* updated description titles in test to no longer say 'modal'

* added tests for panels/a11y buttons rendering

* minor name and descriptor changes

* added waitForSelector to failing post-visibility test

* changed waitFor to wait for button to be clickable

* changed 'Select entity' button to 'Select'

* Update packages/base-styles/_z-index.scss

Co-Authored-By: Enrique Piqueras <[email protected]>

* applying some suggestions

* Update packages/edit-post/src/components/layout/actions-panel.js

Co-Authored-By: Enrique Piqueras <[email protected]>

* added comment to setting callback

* updated callback goo

* fixed useCallback for dismissing panel

* updates prop name from closePanel to close

* updated how we clear the callback

* simplified logic on callback setting and open/close

* minor comment nit

Co-authored-by: Enrique Piqueras <[email protected]>
…21987)

This removal fixes the warnings thrown while using the plugin:

```
Warning: Parameter 1 to gutenberg_register_vendor_scripts() expected to be a reference, value given in /wp-includes/class-wp-hook.php on line 287
Warning: Parameter 1 to gutenberg_register_packages_scripts() expected to be a reference, value given in /wp-includes/class-wp-hook.php on line 287
Warning: Parameter 1 to gutenberg_register_packages_styles() expected to be a reference, value given in /wp-includes/class-wp-hook.php on line 287
```

It could be related to https://core.trac.wordpress.org/ticket/44979 which was fixed in WP 5.4, so it should be removed in the plugin as well.
* Use optional catch binding!

* Use optional chaining.

* Update packages/block-editor/src/components/link-control/index.js

Co-authored-by: Andrew Duthie <[email protected]>

Co-authored-by: Andrew Duthie <[email protected]>
* Blocks: Register FSE blocks if experiment enabled

* Framework: Fix arrow alignment of block names
* added isSelected variable to disable button

* comment

* removed toggle dep

* remove unnecessary bracket

* added text change on disabled button
ajlende and others added 29 commits May 13, 2020 20:40
Co-authored-by: Abderrahman <[email protected]>
* adds readme to media replace flow

* updated according to review suggestions
* Fix misspelling and a subject-verb agreement error

Co-authored-by: William Earnhardt <[email protected]>
Renders popover consistent with the toolbar context and other tools.
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
 - @wordpress/[email protected]
* Add missing side-effect declarations

These packages weren't declaring whether or not they were using
side-effects, leading bundlers to potentially assume that every file
does include side-effects.

This change explicitly lists the files making use of side effects in
each package, with some simplifications to reduce the number of globs.

* Switch to exclusive side effect declarations

* Add components dir exclusion to edit-navigation
** Add Controlled Inner Blocks State **
Allows us to tell if a certain block is controlling
its own InnerBlocks. This is helpful for entities
like template parts which persist their blocks
outside of the root block-editor onChange method.

Without this state, it would be hard to tell which
blocks belong to which entity. With this state, we
can easily traverse up the block hierarchy to find
the closest parent block which is an inner block
controller.

Practically, we can use this to make sure that the
dirty state between different entities is consistent.

This commit also updates the tests which refer to
the block state so that they all contain the new
state slice in the before state. Otherwise, some of
those tests were failing some some of the before
state did not exist.

** Add useBlockSync hook to sync block-editor changes **
The useBlockSync hook syncs a component't block-edior changes
with an onChange or onInput handler. The onChange handler is
used for persistent changes, and onInput is used for other
changes. All changes are scoped to the entity provided: e.g.
w.r.t. a root clientId. No changes are included which are
part of other entities. For example, a wp_template containing
a wp_template_part will not be notified of changes within
that template part, but only to changes in the template itself.

In other words, it ignores changes which happen in nested inner
block controllers.

Previously, very similar logic was used for BlockEditorProvider,
but it proved necessary to extract so that it could be integrated
into InnerBlocks later on. At the same time, we have refactored
BlockEditorProvider into a functional component with hooks to
save space and to remove needless higher order components.

** Refactor Inner Blocks to use new blockSync hook **
This changes InnerBlocks into a functional component. Practically,
this should work exactly the same as before.

This allows us to more easily use the useBlockSync hook in order
to set up inner block controllers (i.e. with template parts). We
now specify a ControlledInnerBlocks component which handles block
sync instead of having that logic within InnerBlocks itself.

It also allows us to reuse the same logic as the root BlockEditorProvider,
so that we don't miss any of the logic and race condition fixes
that already exist there. I did try adding similar logic to the
old InnerBlocks component with what existed, but it proved very
prone to breakage and was hard to make compatible with the root
entity controller. It is much more straightforward to keep the
logic in the same place!

We also refactored the react native file for inner blocks, and
added forwardedRef and block context.

** Integrate reducers with controlled inner blocks state **

- Correctly include and exclude clientIDs from
  block reset depending on whether they are
  part of an inner block controller or not.
- Also handle inner block controllers themselves,
  not updating their cache or order when the
  action occurs
- Stop invalidating grandparent controller cache
- Fix undefined index access in selector state
- Handle replaceInnerBlocks action similar to
  the reset blocks action so that we do not
  inadvertently delete a template part from the editor.

There were a lot of bugs around RESET_BLOCKS and
REPLACE_INNER_BLOCKS actions as relating to controlled
inner blocks. This is because those actions tend to delete
all blocks from the editor without providing back all of
the blocks to reinsert. This is because the entity which
dispatches the action does not have access to the inner
blocks of other entities, so they are not dispatched in
the action.

These changes update the reducers to make sure that nested
inner block controllers are not deleted when they should
stay in the editor.

Additionally, there are some fixes for the cache state so
that it does not invalidate when the changes affect a different
entity.

** Wait for inserted blocks to show up in e2e test helper **

** Add e2e tests for multi-entity dirty state **

** Add unit tests for use block sync hook **
* Block Library: Post Author: Refactor edit to use block context

* Block Library: Post Author: Use optional chaining for author property

* Block LIbrary: Post Author: Define selector dependencies

Co-Authored-By: Zebulan Stanphill <[email protected]>

Co-authored-by: Zebulan Stanphill <[email protected]>
* Add Animoto icon

* Clean up pixel alignment of Animoto

* Add Dailymotion icon

* Fix linting errors

Co-authored-by: William Earnhardt <[email protected]>
* Fix <ServerSideRender> 404 link

Current <ServerSideRender> component link in "live rendering in the block editor section leads to a 404.  Suggest replacing it with the editor handbook page on this component?

* Update docs/designers-developers/developers/tutorials/block-tutorial/creating-dynamic-blocks.md

Co-authored-by: Marcus Kazmierczak <[email protected]>

Co-authored-by: Marcus Kazmierczak <[email protected]>
* adds orientation class on front for navigation

* Update packages/block-library/src/navigation/index.php

Co-authored-by: Daniel Richards <[email protected]>

* removes empty space in class names

* removes unused variable

Co-authored-by: Daniel Richards <[email protected]>
- adds a sample notification for saving menus
- fixes a empty menu items crashing the menu page
* Add notices to nav menu page

* Improve styles

* Handle breakpoints
@fabiankaegy fabiankaegy merged commit 52be5aa into js-advancers:master May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.