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

Content Model: insertEntity API #1800

Merged
merged 34 commits into from
Aug 11, 2023
Merged

Content Model: insertEntity API #1800

merged 34 commits into from
Aug 11, 2023

Conversation

JiuqingSong
Copy link
Collaborator

@JiuqingSong JiuqingSong commented May 15, 2023

Implement Content Model version of insertEntity API.

Compare to the original API, Content Model insertEntity API has the following difference:

  1. Add an options parameter for all those optional things
  2. Move contentNode parameter into options, and make it optional. When not passed, we will just insert an empty entity, then plugin can change its content later
  3. For position parameter, we merged End and DomEnd parameter into one parameter end since in Content Model there is not difference between End and DomEnd
  4. Remove isReadonly parameter, we now only support readonly entity
  5. Move focusAfterEntity into options
  6. Add wrapperDisplay parameter in options, caller can directly set display style for wrapper via this parameter
  7. Add skipUndoSnapshot parameter in options. By default insertEntity will add undo snapshot now and trigger ContentChangedEvent. Pass true to this parameter to skip this behavior
  8. For block entity, we now check if we need to add an empty paragraph after it, and only add empty paragraph if necessary.

Related test cases added.

@hipanwar
Copy link

Can we please add support to avoid adding a new line after the entity? Without it, clients have to resort to hacking up code to remove the new line.

@JiuqingSong JiuqingSong changed the title draft: Content Model insertEntity Content Model: insertEntity API Aug 4, 2023
@JiuqingSong JiuqingSong marked this pull request as ready for review August 9, 2023 18:05
@JiuqingSong JiuqingSong marked this pull request as draft August 9, 2023 19:35
@JiuqingSong JiuqingSong marked this pull request as ready for review August 9, 2023 19:57
@JiuqingSong
Copy link
Collaborator Author

Can we please add support to avoid adding a new line after the entity? Without it, clients have to resort to hacking up code to remove the new line.

New line will only be added when necessary now. That means, if there is no place to put focus after the entity, we will add an empty line.

@JiuqingSong JiuqingSong merged commit a8a9592 into master Aug 11, 2023
7 checks passed
@JiuqingSong JiuqingSong deleted the u/jisong/insertentity branch August 11, 2023 06:01
Andres-CT98 added a commit that referenced this pull request Aug 18, 2023
* Content Model: Improve cache behavior (#1999)

* Content Model: Improve cache behavior

* fix build

* fix comment

* Skip Trigger plugin event on plain text paste (#2011)

* init

* remove unneeded change

* Update return type

* Fix 218869: Do not allow dragging on readonly content (#2010)

* Fix 218869: Do not allow dragging readonly content

* fix test

* Content Model: Fix 194024 and 220289 (#2012)

* Content Model: Fix 221290 Support float for image (#2013)

* Content Model: improve formatWithContentModel 1 (#2001)

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2 (#2002)

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2

* fix format

* WIP

* fix handles

* MergeModel, do not inherit the styles of table when splitting the param (#2016)

* init

* init

* address comment

* update test names

* fixes

* Demo site: Fix insert link button in Content Model ribbon (#2018)

* Content Model: insertEntity API (#1800)

* Content Model insertEntity

* improve

* improve

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2

* Improve

* fix build

* fix build

* improve

* add test

* add test

* add test

* add test

* fix dark color

* fix test

* fix build and test

* crop

* fix xase

* check cell exist

* Fix #1752, rename header to heading (#2020)

* fix cell empty cells

* fix flipped image

* Update logic to decide if we need to merge a table on paste. (#2022)

* Fix TableSelectionCopy

* update unit tests

* Fix 2

* address comment

* Content Model: Rename a test file (#2029)

* Fix Triple clicking a single cell selecting more than one (#2024)

* fix triple click, optimisation

* Remove `display: flex` style on paste (#2031)

* init

* Fix

* Replace first cell content if input while on cell selection (#2030)

* select first cell content and empty, add undo if change

* Content Model: Fix 222135 (#2035)

* Fix 222135

* fix build

* Content Model: Fix 219312 (#2036)

* Fix regression when creating the BeforePasteEvent (#2039)

* init

* fix build

* Content Model: Fix 220050 (#2037)

* Content Model: Fix 220050

* Fix build

* improve

* improve

* Simplify the domToModel call in `paste.ts` (#2040)

* add more changes

* fix build

* fix test

* Content Model: Support vertical-align for image (#2041)

* Content Model: Support vertical-align for image

* fix build and test

---------

Co-authored-by: Bryan Valverde U <[email protected]>

* version bump

---------

Co-authored-by: Jiuqing Song <[email protected]>
Co-authored-by: Bryan Valverde U <[email protected]>
Co-authored-by: Júlia Roldi <[email protected]>
Co-authored-by: Julia Roldi <[email protected]>
ianeli1 added a commit that referenced this pull request Sep 11, 2023
* Content Model: Improve cache behavior (#1999)

* Content Model: Improve cache behavior

* fix build

* fix comment

* Skip Trigger plugin event on plain text paste (#2011)

* init

* remove unneeded change

* Update return type

* Fix 218869: Do not allow dragging on readonly content (#2010)

* Fix 218869: Do not allow dragging readonly content

* fix test

* Content Model: Fix 194024 and 220289 (#2012)

* Content Model: Fix 221290 Support float for image (#2013)

* Content Model: improve formatWithContentModel 1 (#2001)

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2 (#2002)

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2

* fix format

* WIP

* fix handles

* MergeModel, do not inherit the styles of table when splitting the param (#2016)

* init

* init

* address comment

* update test names

* fixes

* Demo site: Fix insert link button in Content Model ribbon (#2018)

* Content Model: insertEntity API (#1800)

* Content Model insertEntity

* improve

* improve

* Content Model: Improve cache behavior

* fix build

* Content Model: improve formatWithContentModel

* Content Model: improve formatWithContentModel 2

* Improve

* fix build

* fix build

* improve

* add test

* add test

* add test

* add test

* fix dark color

* fix test

* fix build and test

* crop

* fix xase

* check cell exist

* Fix #1752, rename header to heading (#2020)

* fix cell empty cells

* fix flipped image

* Update logic to decide if we need to merge a table on paste. (#2022)

* Fix TableSelectionCopy

* update unit tests

* Fix 2

* address comment

* Content Model: Rename a test file (#2029)

* Fix Triple clicking a single cell selecting more than one (#2024)

* fix triple click, optimisation

* Remove `display: flex` style on paste (#2031)

* init

* Fix

* Replace first cell content if input while on cell selection (#2030)

* select first cell content and empty, add undo if change

* Content Model: Fix 222135 (#2035)

* Fix 222135

* fix build

* Content Model: Fix 219312 (#2036)

* Fix regression when creating the BeforePasteEvent (#2039)

* init

* fix build

* Content Model: Fix 220050 (#2037)

* Content Model: Fix 220050

* Fix build

* improve

* improve

* Simplify the domToModel call in `paste.ts` (#2040)

* add more changes

* fix build

* fix test

* Content Model: Support vertical-align for image (#2041)

* Content Model: Support vertical-align for image

* fix build and test

---------

Co-authored-by: Bryan Valverde U <[email protected]>

* Remove deprecated colors from borders, text and background. (#2045)

* Support more border styles

* init

* Revert  unrelated change

* Fix dependencies

* address comments

* try fix build

* reselection

* add space

* Content Model: Improve insertEntity (#2047)

* Content Model: Improve insertEntity

* fix test

* Content Model: Fix selection of entity (#2051)

* Content Model: Always return size in pt when getFormatState (#2052)

* Content Model: trigger ShadowEdit events (#2053)

* Content Model: trigger ShadowEdit events

* improve

* Content Model: Add solid paragraph in new table cell (#2055)

* Content Model: Do color transform for entity when copy/paste (#2056)

* Content Model: Do color transform for entity when copy/paste

* Call normalizeContentModel

* Content Model: Paste plain text applies current format (#2057)

* Content Model: Paste plain text applies current format

* fix build

* Content Model: Fix a regression of shadow edit (#2058)

* Update versions

* Fix double import

* Double import 2

---------

Co-authored-by: Jiuqing Song <[email protected]>
Co-authored-by: Bryan Valverde U <[email protected]>
Co-authored-by: Júlia Roldi <[email protected]>
Co-authored-by: Julia Roldi <[email protected]>
Co-authored-by: Andres-CT98 <[email protected]>
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.

3 participants