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

Simple WYSIWYG for description fields and comments #4729

Merged
merged 15 commits into from
Dec 22, 2023

Conversation

ssddanbrown
Copy link
Member

@ssddanbrown ssddanbrown commented Dec 16, 2023

Todo

  • Finish up WYSIWYG implementation.
  • Update entity selector to change details (endpoint, types) dynamically depending on route in.
  • Apply to books, chapters and shelves.
    • Create description_html fields for each.
    • Add handling for formatting to existing compatible text property.
    • Add filtering to field.
    • Parse content for references.
    • Add handling for reference updates.
    • Ensure content still indexed as expected for search.
  • Update API to expose new HTML field.
    • Ensure that updating existing description text still works, in addition to HTML.
    • Update API docs requests and responses for changes made.
  • Update "Update system URL" command to take new HTML fields into account.
  • Update book/chapter export handling of HTML descriptions.
  • Test how existing newlines in descriptions are upgraded.
  • Test content copying works with changes.
  • Test content conversion (promotion) works with changes.
  • Test reference lists relations (and relations shown within like book/chapter breadcrumb) are permission limited.
  • Test across dark mode.
  • Test across browsers.
  • Test RTL.
  • Add/update tests to cover.
    • References from
    • Reference updating
    • API endpoints
    • Export handling
    • URL Command
    • Input display
    • Editing/Creating each

Related issues

#4085, #2354

Just as a draft for prototyping and playing around to get things
started.
Rolled out HTML editor field and store logic across all target entity
types. Cleaned up WYSIWYG input logic and design.
Cleaned up some injected classes while there.
For book, shelves and chapters.
Made much of the existing handling generic to entity types.
Added new MixedEntityListLoader to help load lists somewhat efficiently.
Only manually tested so far.
So that multiple elements on the page can share the same popup, with
different search options.
To ensure consistenent behaviour before/after changes.
Added tests to cover.
Also aligned books, shelves and chapters to return description content
and some relations (where not breaking API) in create/update responses
also so that information can be seen direct from that input in a
request.

API docs and tests not yet updated to match.
Fixed issue where an existing description_html field would not be
updated via 'description' input.
@ssddanbrown ssddanbrown merged commit 529f7bd into development Dec 22, 2023
22 of 23 checks passed
@ssddanbrown ssddanbrown deleted the description_wysiwyg branch December 22, 2023 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

1 participant