-
Notifications
You must be signed in to change notification settings - Fork 183
Do not copy div ID on Enter #3011
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
Conversation
| handleExpandedSelectionOnDelete?: boolean; | ||
|
|
||
| /** | ||
| * Whether Rooster should handle the Enter key or not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add more comment to explain how to use this parameter, especially for the callback
| !event.rawEvent.isComposing && | ||
| event.rawEvent.keyCode !== DEAD_KEY | ||
| event.rawEvent.keyCode !== DEAD_KEY && | ||
| this.editor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have passed in editor as parameter, so you can use it and no need to check null for this.editor
| private disposer: (() => void) | null = null; | ||
| private shouldHandleNextInputEvent = false; | ||
| private selectionAfterDelete: DOMSelection | null = null; | ||
| private handleNormalEnter = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer we keep this parameter here and still check it if the one in EditorOptions is not passed. Because it can be used by some team today, so if we remove the check here, it will break their feature
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can save a checker function in the class, initialize it in ctor, so no need to check it everytime when Enter is pressed. for example:
class EditPlugin {
..
private handleNormalEnter: (event: PluginEvent) => boolean;
constructor (..) {
...
switch (typeof options.shouldHandleEnterKey) {
case 'function':
this.handleNormalEnter = options.shouldHandleEnterKey;
break;
case 'undefined':
this.shouldHandleEnterKey = this.createNormalEnterChecker(this.editor.isExperimentalFeatureEnabled('handleEnterKey'));
break;
default:
this.createNormalEnterChecker(!!options.shouldHandlerEnterKey);
break;
}
private createNormalEnterChecker(result: boolean) {
return result ? () => true : () => false;
}When handle enter key, just call this.handleNormalEnter(event), no additional checking needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And add comment in the experimental feature and the new option to explain the priority
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a bit different than what you proposed, I added back the experimental feature check, so it do not break the code of the user that has the experimental features enabled.
|
|
||
| if (context.deleteResult == 'notDeleted' && paraIndex >= 0) { | ||
| const newPara = splitParagraph(context.insertPoint); | ||
| delete newPara.format.id; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- How about move this into function
splitParagraph? I can't think about any scenario that we split paragraph and want the ID to be duplicated - Instead of explicitly delete ID here, suggest we just whitelist all format that we want to copy, then remove everything else.
| const paraIndex = path[0]?.blocks.indexOf(paragraph) ?? -1; | ||
|
|
||
| if (context.deleteResult == 'notDeleted' && paraIndex >= 0) { | ||
| const newPara = splitParagraph(context.insertPoint); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So you didn't pass a new format object here, which means the new paragraph will not have any format?
We should create a list of formats that we want to copy, then remove everything else.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which format we need to pass? Maybe we should pass the ones we need to override?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are the format I think we need to inherit:
- backgroundColor
- direction
- textAlign
- htmlAlign
- lineHeight
- textIndent
- margin* (under
MarginFormat) - padding* (under
PaddingFormat)
And here are the ones that I'd like to remove
- whiteSpace
- isTextIndentApplied
- id
- border* (under
BorderFormat)
* Use FormatContainer to represent DIV with id (#3003) * Fix #3005 (#3007) * Fix a cache issue (#3006) * Refactor getStyleMetadata to not rely on DomCreator and only use String handling (#3010) * Refactor paste plugin to remove unused DOMCreator parameter and enhance style extraction logic * fix test * Change search string to lowercase * Clean image edit when undo (#3015) * undo image * undo image * undo image * Add 'CustomCopyCut' experimental feature to fix some copy cut bugs (#3000) * Add 'CustomCopyCut' experimental feature to enhance copy/cut behavior * Implement pruneUnselectedModel utility for optimizing copy/paste behavior * Try fix iuld * Address comment and fix broken tests * Revert unneeded change * Refactor pruneUnselectedModel --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Demo site: Add preset content for undeleteable anchor (#3014) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Revert "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 5bbab35. * Add API playground for createModelFromHTML (#3019) * Add API playground for createModelFromHTML * imporve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Do not copy div ID on Enter (#3011) * wip * insertCustom * refactor * formatKeys * Add image hidden marker (#3021) Instead of using a dataset to store the isEditing property, a hidden property is now used. To support this, get/set functions and the ImageMarkerFormat were introduced. The imageMarker property can now be accessed through the format property of the image. This change eliminates the need to manually remove the dataset from the image element when extracting content from the DOM. * Include ImageMetadata in FormatState (#3023) * Support List Pasting from PowerPoint Desktop (#3012) * Refactor paste parsers: add removeNegativeTextIndentParser and deprecatedBorderColorParser; update imports and constants for bullet list types * Update packages/roosterjs-content-model-plugins/lib/paste/PowerPoint/processPastedContentFromPowerPoint.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refactor bullet list constants and improve format parser signatures --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove comments `<!--` and `-->` from styles and re apply fix for Word Desktop Pasting (#3024) * Update dependencies and enhance paste functionality by cleaning HTML comments in style tags * Reapply "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 32f47bf. * Enhance cleanHtmlComments to handle both HTML comment formats in style tags * Set original DOMPurify * Update packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/getStyleMetadata.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Ensure headEndIndex is valid * address comment * Address comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Bump main version to 9.27.0 in versions.json * insert link in the image (#3027) When the image is selected, do not replace the image with the link, add the link to image segment. * square (#3029) Instead of using a square character, this change updates the square style to use the 'square' style. * Normalize default format (#3028) * Normalize default format * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * auto link (#3026) * Add margin-inline-start to watermark styles for improved positioning (#3031) --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Use FormatContainer to represent DIV with id (#3003) * Fix #3005 (#3007) * Fix a cache issue (#3006) * Refactor getStyleMetadata to not rely on DomCreator and only use String handling (#3010) * Refactor paste plugin to remove unused DOMCreator parameter and enhance style extraction logic * fix test * Change search string to lowercase * Clean image edit when undo (#3015) * undo image * undo image * undo image * Add 'CustomCopyCut' experimental feature to fix some copy cut bugs (#3000) * Add 'CustomCopyCut' experimental feature to enhance copy/cut behavior * Implement pruneUnselectedModel utility for optimizing copy/paste behavior * Try fix iuld * Address comment and fix broken tests * Revert unneeded change * Refactor pruneUnselectedModel --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Demo site: Add preset content for undeleteable anchor (#3014) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Revert "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 5bbab35. * Add API playground for createModelFromHTML (#3019) * Add API playground for createModelFromHTML * imporve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Do not copy div ID on Enter (#3011) * wip * insertCustom * refactor * formatKeys * Add image hidden marker (#3021) Instead of using a dataset to store the isEditing property, a hidden property is now used. To support this, get/set functions and the ImageMarkerFormat were introduced. The imageMarker property can now be accessed through the format property of the image. This change eliminates the need to manually remove the dataset from the image element when extracting content from the DOM. * Include ImageMetadata in FormatState (#3023) * Support List Pasting from PowerPoint Desktop (#3012) * Refactor paste parsers: add removeNegativeTextIndentParser and deprecatedBorderColorParser; update imports and constants for bullet list types * Update packages/roosterjs-content-model-plugins/lib/paste/PowerPoint/processPastedContentFromPowerPoint.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refactor bullet list constants and improve format parser signatures --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove comments `<!--` and `-->` from styles and re apply fix for Word Desktop Pasting (#3024) * Update dependencies and enhance paste functionality by cleaning HTML comments in style tags * Reapply "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 32f47bf. * Enhance cleanHtmlComments to handle both HTML comment formats in style tags * Set original DOMPurify * Update packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/getStyleMetadata.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Ensure headEndIndex is valid * address comment * Address comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * insert link in the image (#3027) When the image is selected, do not replace the image with the link, add the link to image segment. * square (#3029) Instead of using a square character, this change updates the square style to use the 'square' style. * Normalize default format (#3028) * Normalize default format * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * auto link (#3026) * Add margin-inline-start to watermark styles for improved positioning (#3031) * Allow queryContentModelBlocks to query blocks in entities (#3032) * Allow queryContentModelBlocks to search children of entity * Expect EditorContext instead * Break out createEditorContextForEntity function into separate file and add tests * Fix 353323: Keep indentation when start a list, and refactor (#3033) * 353323 * fix build, add test * improve * Edit plugin Options (#3036) * options * add test * Do not indent on TAB (#3039) * keyboard tab * remove import * Fix 354663 (#3038) * Fix 354663 * export the new function * Fix Word Desktop paste case (#3034) Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Add height property to table rows in paste tests and processor (#3045) * Add height property to table rows in paste tests and processor * Fix build * Remove local change * Fix A11y bug with table selection (#3041) * Fix A11y bug with table selection * Add comment * Fix 341291 (#3046) * Fix Word Desktop pasting when using Safari (#3047) * Enhance paste functionality: support additional document types and extract HTML head content * Fix paste source validations for Safari: update environment handling and improve document detection logic * Add environment param back * Prevent multiple event attachments for mousemove in SelectionPlugin (#3049) * Prevent multiple event attachments for mousemove in SelectionPlugin * Update packages/roosterjs-content-model-core/test/corePlugin/selection/SelectionPluginTest.ts * Refactor mouse event handling in SelectionPlugin to ensure proper cleanup and re-attachment on mouseDown events * Only paste text content of button (#3050) * Enhance paste functionality: Update setProcessor call counts in tests and add pasteButtonProcessor unit tests * Refactor pasteButtonProcessor: Enhance button element processing and add comprehensive unit tests * Support table edit with logical root (#3048) * Support table edit with logical root * fix build and test --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Bump to 9.29.0 * Fix broken code --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: florian-msft <87671048+florian-msft@users.noreply.github.com>
* Use FormatContainer to represent DIV with id (#3003) * Fix #3005 (#3007) * Fix a cache issue (#3006) * Refactor getStyleMetadata to not rely on DomCreator and only use String handling (#3010) * Refactor paste plugin to remove unused DOMCreator parameter and enhance style extraction logic * fix test * Change search string to lowercase * Clean image edit when undo (#3015) * undo image * undo image * undo image * Add 'CustomCopyCut' experimental feature to fix some copy cut bugs (#3000) * Add 'CustomCopyCut' experimental feature to enhance copy/cut behavior * Implement pruneUnselectedModel utility for optimizing copy/paste behavior * Try fix iuld * Address comment and fix broken tests * Revert unneeded change * Refactor pruneUnselectedModel --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Demo site: Add preset content for undeleteable anchor (#3014) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Revert "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 5bbab35. * Add API playground for createModelFromHTML (#3019) * Add API playground for createModelFromHTML * imporve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Do not copy div ID on Enter (#3011) * wip * insertCustom * refactor * formatKeys * Add image hidden marker (#3021) Instead of using a dataset to store the isEditing property, a hidden property is now used. To support this, get/set functions and the ImageMarkerFormat were introduced. The imageMarker property can now be accessed through the format property of the image. This change eliminates the need to manually remove the dataset from the image element when extracting content from the DOM. * Include ImageMetadata in FormatState (#3023) * Support List Pasting from PowerPoint Desktop (#3012) * Refactor paste parsers: add removeNegativeTextIndentParser and deprecatedBorderColorParser; update imports and constants for bullet list types * Update packages/roosterjs-content-model-plugins/lib/paste/PowerPoint/processPastedContentFromPowerPoint.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refactor bullet list constants and improve format parser signatures --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove comments `<!--` and `-->` from styles and re apply fix for Word Desktop Pasting (#3024) * Update dependencies and enhance paste functionality by cleaning HTML comments in style tags * Reapply "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 32f47bf. * Enhance cleanHtmlComments to handle both HTML comment formats in style tags * Set original DOMPurify * Update packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/getStyleMetadata.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Ensure headEndIndex is valid * address comment * Address comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * insert link in the image (#3027) When the image is selected, do not replace the image with the link, add the link to image segment. * square (#3029) Instead of using a square character, this change updates the square style to use the 'square' style. * Normalize default format (#3028) * Normalize default format * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * auto link (#3026) * Add margin-inline-start to watermark styles for improved positioning (#3031) * Allow queryContentModelBlocks to query blocks in entities (#3032) * Allow queryContentModelBlocks to search children of entity * Expect EditorContext instead * Break out createEditorContextForEntity function into separate file and add tests * Fix 353323: Keep indentation when start a list, and refactor (#3033) * 353323 * fix build, add test * improve * Edit plugin Options (#3036) * options * add test * Do not indent on TAB (#3039) * keyboard tab * remove import * Fix 354663 (#3038) * Fix 354663 * export the new function * Fix Word Desktop paste case (#3034) Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Add height property to table rows in paste tests and processor (#3045) * Add height property to table rows in paste tests and processor * Fix build * Remove local change * Fix A11y bug with table selection (#3041) * Fix A11y bug with table selection * Add comment * Fix 341291 (#3046) * Fix Word Desktop pasting when using Safari (#3047) * Enhance paste functionality: support additional document types and extract HTML head content * Fix paste source validations for Safari: update environment handling and improve document detection logic * Add environment param back * Prevent multiple event attachments for mousemove in SelectionPlugin (#3049) * Prevent multiple event attachments for mousemove in SelectionPlugin * Update packages/roosterjs-content-model-core/test/corePlugin/selection/SelectionPluginTest.ts * Refactor mouse event handling in SelectionPlugin to ensure proper cleanup and re-attachment on mouseDown events * Only paste text content of button (#3050) * Enhance paste functionality: Update setProcessor call counts in tests and add pasteButtonProcessor unit tests * Refactor pasteButtonProcessor: Enhance button element processing and add comprehensive unit tests * Support table edit with logical root (#3048) * Support table edit with logical root * fix build and test --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * If font family already has single quote, keep it (#3055) * 9.29.1 --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: florian-msft <87671048+florian-msft@users.noreply.github.com>
* Use FormatContainer to represent DIV with id (#3003) * Fix #3005 (#3007) * Fix a cache issue (#3006) * Refactor getStyleMetadata to not rely on DomCreator and only use String handling (#3010) * Refactor paste plugin to remove unused DOMCreator parameter and enhance style extraction logic * fix test * Change search string to lowercase * Clean image edit when undo (#3015) * undo image * undo image * undo image * Add 'CustomCopyCut' experimental feature to fix some copy cut bugs (#3000) * Add 'CustomCopyCut' experimental feature to enhance copy/cut behavior * Implement pruneUnselectedModel utility for optimizing copy/paste behavior * Try fix iuld * Address comment and fix broken tests * Revert unneeded change * Refactor pruneUnselectedModel --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Demo site: Add preset content for undeleteable anchor (#3014) Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Revert "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 5bbab35. * Add API playground for createModelFromHTML (#3019) * Add API playground for createModelFromHTML * imporve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * Do not copy div ID on Enter (#3011) * wip * insertCustom * refactor * formatKeys * Add image hidden marker (#3021) Instead of using a dataset to store the isEditing property, a hidden property is now used. To support this, get/set functions and the ImageMarkerFormat were introduced. The imageMarker property can now be accessed through the format property of the image. This change eliminates the need to manually remove the dataset from the image element when extracting content from the DOM. * Include ImageMetadata in FormatState (#3023) * Support List Pasting from PowerPoint Desktop (#3012) * Refactor paste parsers: add removeNegativeTextIndentParser and deprecatedBorderColorParser; update imports and constants for bullet list types * Update packages/roosterjs-content-model-plugins/lib/paste/PowerPoint/processPastedContentFromPowerPoint.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Refactor bullet list constants and improve format parser signatures --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Remove comments `<!--` and `-->` from styles and re apply fix for Word Desktop Pasting (#3024) * Update dependencies and enhance paste functionality by cleaning HTML comments in style tags * Reapply "Refactor getStyleMetadata to not rely on DomCreator and only use Stri…" (#3020) This reverts commit 32f47bf. * Enhance cleanHtmlComments to handle both HTML comment formats in style tags * Set original DOMPurify * Update packages/roosterjs-content-model-plugins/lib/paste/WordDesktop/getStyleMetadata.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Ensure headEndIndex is valid * address comment * Address comments --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jiuqing Song <jisong@microsoft.com> * insert link in the image (#3027) When the image is selected, do not replace the image with the link, add the link to image segment. * square (#3029) Instead of using a square character, this change updates the square style to use the 'square' style. * Normalize default format (#3028) * Normalize default format * improve --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * auto link (#3026) * Add margin-inline-start to watermark styles for improved positioning (#3031) * Allow queryContentModelBlocks to query blocks in entities (#3032) * Allow queryContentModelBlocks to search children of entity * Expect EditorContext instead * Break out createEditorContextForEntity function into separate file and add tests * Fix 353323: Keep indentation when start a list, and refactor (#3033) * 353323 * fix build, add test * improve * Edit plugin Options (#3036) * options * add test * Do not indent on TAB (#3039) * keyboard tab * remove import * Fix 354663 (#3038) * Fix 354663 * export the new function * Fix Word Desktop paste case (#3034) Co-authored-by: Jiuqing Song <jisong@microsoft.com> * Add height property to table rows in paste tests and processor (#3045) * Add height property to table rows in paste tests and processor * Fix build * Remove local change * Fix A11y bug with table selection (#3041) * Fix A11y bug with table selection * Add comment * Fix 341291 (#3046) * Fix Word Desktop pasting when using Safari (#3047) * Enhance paste functionality: support additional document types and extract HTML head content * Fix paste source validations for Safari: update environment handling and improve document detection logic * Add environment param back * Prevent multiple event attachments for mousemove in SelectionPlugin (#3049) * Prevent multiple event attachments for mousemove in SelectionPlugin * Update packages/roosterjs-content-model-core/test/corePlugin/selection/SelectionPluginTest.ts * Refactor mouse event handling in SelectionPlugin to ensure proper cleanup and re-attachment on mouseDown events * Only paste text content of button (#3050) * Enhance paste functionality: Update setProcessor call counts in tests and add pasteButtonProcessor unit tests * Refactor pasteButtonProcessor: Enhance button element processing and add comprehensive unit tests * Support table edit with logical root (#3048) * Support table edit with logical root * fix build and test --------- Co-authored-by: Bryan Valverde U <bvalverde@microsoft.com> * If font family already has single quote, keep it (#3055) * Fix announcing in lists (#3058) * Fix announcing in lists * fix tests in FF * Add role="presentation" to generic role elements in list items for better screen reader support * Bump roosterjs-content-model-dom version to 9.29.2 --------- Co-authored-by: Jiuqing Song <jisong@microsoft.com> Co-authored-by: Julia Roldi <87443959+juliaroldi@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: florian-msft <87671048+florian-msft@users.noreply.github.com>
The id of DIV must be unique, then when dividing a paragraph do not copy the id of the div to the new DIV created. This changes also introduce a new component
InsertCustomContainerPanewith a new api 'InsertCustomContainer' that inserts a format container with an id to make it an identifiable block on Content Model. To test this change: