-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Image block: Revise lightbox UI to remove 'behaviors' #53851
Commits on Aug 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 08bb1ed - Browse repository at this point
Copy the full SHA 08bb1edView commit details -
Configuration menu - View commit details
-
Copy full SHA for c93f1b6 - Browse repository at this point
Copy the full SHA c93f1b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25aa1c6 - Browse repository at this point
Copy the full SHA 25aa1c6View commit details -
Restructured use of global behaviors
Simplified the `__experimentalUseGlobalBehaviors` function by removing the 'source' parameter. Now, the function directly uses 'userConfig' for getting raw data and 'mergedConfig' for variable value.
Configuration menu - View commit details
-
Copy full SHA for a8c09c9 - Browse repository at this point
Copy the full SHA a8c09c9View commit details
Commits on Aug 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fac2e3a - Browse repository at this point
Copy the full SHA fac2e3aView commit details -
Remove the reference to behaviors in Global styles and first iteratio…
…n of updates to the lightbox UI
Configuration menu - View commit details
-
Copy full SHA for dfc1c46 - Browse repository at this point
Copy the full SHA dfc1c46View commit details
Commits on Aug 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 51e4802 - Browse repository at this point
Copy the full SHA 51e4802View commit details
Commits on Aug 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b416558 - Browse repository at this point
Copy the full SHA b416558View commit details -
Adjust schema properties count assertion
Previously, the test was checking whether schema properties array had exactly 10 elements We're now checking for exactly 9 elements instead.
Configuration menu - View commit details
-
Copy full SHA for 321a213 - Browse repository at this point
Copy the full SHA 321a213View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0021116 - Browse repository at this point
Copy the full SHA 0021116View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6951a86 - Browse repository at this point
Copy the full SHA 6951a86View commit details
Commits on Sep 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 92b084f - Browse repository at this point
Copy the full SHA 92b084fView commit details
Commits on Sep 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 232161a - Browse repository at this point
Copy the full SHA 232161aView commit details -
Do not remove
behaviors
attribute from Image block's block.json.Behaviors are deprecated for 2 more releases and will be removed then.
Configuration menu - View commit details
-
Copy full SHA for cabe31b - Browse repository at this point
Copy the full SHA cabe31bView commit details -
Revert "Do not remove
behaviors
attribute from Image block's block.……json." This reverts commit cabe31b.
Configuration menu - View commit details
-
Copy full SHA for aa4450e - Browse repository at this point
Copy the full SHA aa4450eView commit details
Commits on Sep 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 91b86ef - Browse repository at this point
Copy the full SHA 91b86efView commit details -
Configuration menu - View commit details
-
Copy full SHA for f9e48f4 - Browse repository at this point
Copy the full SHA f9e48f4View commit details
Commits on Sep 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8b95f4a - Browse repository at this point
Copy the full SHA 8b95f4aView commit details
Commits on Sep 15, 2023
-
Image block: UI updates for the image lightbox (#54071)
* Add initial implementation of image settings panel * Remove unnecessary code and fix reset functionality * Add UI to image block inspector * Add `lightbox` to the valid `theme.json` settings * Fix a bug with image selector and integrate with global styles * Update `theme.json` schema * Added the `@since`annotation * Refactor image settings panel and screen block Simplified the ImageSettingsPanel and ScreenBlock components. More specific changes: - Removed `name` and `settings` from the ImageSettingsPanel - Use `userSettings` instead of `settings` in the ImageSettingsPanel - Modified `onChangeLightbox` logic, it now takes a new setting instead of a boolean and directly passes to `onChange` - Updated the ScreenBlock component to account for this refactor * Add showUI option to lightbox settings A new option has been added to the lightbox settings in the Theme JSON reference guide and Gutenberg class. This `showUI` option allows users to toggle whether the Lightbox UI is displayed in the block editor or not. Also, updated the JSON schema accordingly to reflect these changes in theme.json files. * Add defaults for the `lightbox` to the GB `theme.json` * Change the falsy checks in image.js * Add filters; add legacy support for behaviors syntax I moved the logic to determine whether the lightbox should display or not to two render_block_data filters. One of these filters is inside of the index.php so that itc can exist in WP core, the other inside of blocks.php in order to offer legacy support for the Behaviors syntax in the Gutenberg plugin. Using the render_block_data instead of render_block allows us to store a 'lightboxEnabled' value on the block, which we can use to determine whether the lightbox should be rendered in these two separate locations relatively cleanly without needing to touch the markup. I added behaviors back to the valid top-level keys so that we can read it to offer legacy support. Lastly, I set the lightbox.enabled attribute to NULL by default so that we can determine whether the Behaviors syntax should override it or not. * Fix linter errors & add more expansive comments. * If no value is set for the lightbox in the Global Styles, then the block editor UI should inherit the value from `theme.json`. Likewise, if no value is set in the block attributes, the block editor UI should inherit the value from the Global Styles of the Image. * Rename `showUI` to `allowEditing` * Fix the `theme.json` schema * Use the globalPath for the settings on the PHP side * Add backwards support for enabling fade animation via the legacy syntax * Fix PHP linter errors * Fix error when checking lightbox['enabled'] value in global settings * Empty commit * Remove the default `false` value for `lightbox.enabled`attribute. * Add deprecation notice for 'behaviors' in image block I needed to add 'behaviors' back to the block.json attributes in order to read them on the JavaScript side in the editor to fire the deprecation notice. * Add deprecation for attribute in image block * Remove obsolete code now that block deprecation is in place * Add support for 'lightbox: true' syntax * Fix lightbox 'checked' attribute being read improperly * Add conditional display for settings panel at image block level * Fix an error with the theme.json schema. * Update docs with `npm run build:docs` * Copy `class-wp-theme-json-schema.php` from core into `class-wp-theme-json-schema-gutenberg.php` * Add a theme.json migration to v3 away from behaviors and to a new, simpler syntax used by the lightbox. * Remove the `null` value from lightbox.enabled in `lib/theme.json` * Remove `behaviors` from VALID_TOP_LEVEL_KEYS & VALID_SETTINGS * Revise backwards compatibility for behaviors; add deprecation to block_supports * Remove outdated comment * Update outdated comment * Update comment and shuffle the lines so the diff is easier on the eyes. * Update comment to explain why we use userSettings in image-settings-panel.js * Remove support for legacy fade configuration * Resolve lint error * Add clarifying comment regarding lightbox markup * Rename the migrate function to reflect that it's not a v3 migration * Add a `@since` in `gutenberg_should_render_lightbox` docblock * Add support for reading top-level 'lightbox' setting in editor By default, we read the lightbox settings underneath the 'core/image' in theme.json; however, the 'enabled' property there is undefined by default, which means it should be possible to declare a top-level setting for the lightbox that overrides an undefined block-level setting. While this appeared to be working on the PHP side, the UI wasn't accurately reflecting this inheritance structure, so this commit fixes that. Users should now be able to define a top-level lightbox setting as either 'lightbox: true' or 'lightbox: { enabled: true }' that will be used if the block-level lightbox setting for 'enabled' is undefined. * Revert "Add support for reading top-level 'lightbox' setting in editor" This reverts commit 2f5f122. * Add correct deprecation mentioning the Gutenberg version * Move 'allowEditing' to top-level settings * Fix top-level lightbox setting not being read properly * Fix 'false' values in theme.json not being stored in settings object * Fix error wherein 'undefined' was being passed to input component * Fix bug wherein lightbox UI would disappear if user value was set * Remove inheritance when determining whether to enable lightbox Rather than trying to check if the 'enabled' has been set or not and falling back to other levels of the theme.json inheritance structure, I decided to just read and use the settings as defined in theme.json. This is the expected behavior in Gutenberg from what I understand and has less edge cases. * Update comment * Update whitespace in theme.json Co-authored-by: Alex Lende <alex+github.com@lende.xyz> * Add docblocks to clarify that `class-wp-theme-json-schema-gutenberg.php` is only put in GB as a temporary migration. * Add comments to clarify that behaviors.php is temporarily added to GB an will be removed in a future version. * Added integration fixtures for the lightbox * Fix incorrect reading of global lightbox settings * Clarify the comment getting the global lightbox settings * Fix PHPCS parenthesis error 🤦♂️ * Move lightbox settings to the block level * Remove support for shorthand * Remove 'lightbox' from hooks.js and add `.enabled` & `.allowEditing` to class-wp-theme-json-gutenberg.php --------- Co-authored-by: Michal Czaplinski <mmczaplinski@gmail.com> Co-authored-by: Alex Lende <alex+github.com@lende.xyz>
Configuration menu - View commit details
-
Copy full SHA for 1b3a480 - Browse repository at this point
Copy the full SHA 1b3a480View commit details -
Revert "Image block: UI updates for the image lightbox (#54071)"
This reverts commit 1b3a480.
Configuration menu - View commit details
-
Copy full SHA for ef8c396 - Browse repository at this point
Copy the full SHA ef8c396View commit details