-
Notifications
You must be signed in to change notification settings - Fork 167
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
RoosterJS: Editor only has list or table, content is not inserted properly for inserting at begin or end #74
Comments
Merged
JiuqingSong
added a commit
that referenced
this issue
Feb 28, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix bad merge
JiuqingSong
added a commit
that referenced
this issue
Mar 5, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix keyboard event issue (#251)
JiuqingSong
added a commit
that referenced
this issue
Mar 14, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix keyboard event issue (#251) * Improve hyperlink onLinkClick option (#255) Allow Hyperlink onLinkClick to fall back to default handling to reduce redundant code. * Bump version (#256) * fix autolink bug (#263) * Filter CTRL+Click for Hyperlink plugin to main button (#262) * 7.2.5 (#265) * Fix some perf issue and some other changes (#272) * 45000 * 7.2.6
JiuqingSong
added a commit
that referenced
this issue
Apr 29, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix keyboard event issue (#251) * Improve hyperlink onLinkClick option (#255) Allow Hyperlink onLinkClick to fall back to default handling to reduce redundant code. * Bump version (#256) * fix autolink bug (#263) * Filter CTRL+Click for Hyperlink plugin to main button (#262) * 7.2.5 (#265) * Fix some perf issue and some other changes (#272) * 45000 * 7.2.6 * init commit * syntax error * remove Input event so doesn't re-autocomplete * StopPropagation for Input event (#276) * Re-implemented the processList API. (#275) * revert unneded changes and add check for char val * ready for pr * forgot 0 case again * export from root * undefined --> null, removes attribute instead of set as undefined * Fix #279 (#281) * take out unwanted change * try that again * 7.3.0 (#282) * Add dark mode publish variant (#284) * Fix #286 (#287) * init commit * add charcodes * Fix #290 (#291) * 7.3.1 (#294) * 7.3.1-darkmode.0 * Fix an issue when call onKeyUp handler in PickerPlugin (#297) * Check isSuggesting for function key in PickerPlugin * 7.3.2 * Fix emoji reappear issue when space after backspace
JiuqingSong
added a commit
that referenced
this issue
Jun 10, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix keyboard event issue (#251) * Improve hyperlink onLinkClick option (#255) Allow Hyperlink onLinkClick to fall back to default handling to reduce redundant code. * Bump version (#256) * fix autolink bug (#263) * Filter CTRL+Click for Hyperlink plugin to main button (#262) * 7.2.5 (#265) * Fix some perf issue and some other changes (#272) * 45000 * 7.2.6 * init commit * syntax error * remove Input event so doesn't re-autocomplete * StopPropagation for Input event (#276) * Re-implemented the processList API. (#275) * revert unneded changes and add check for char val * ready for pr * forgot 0 case again * export from root * undefined --> null, removes attribute instead of set as undefined * Fix #279 (#281) * take out unwanted change * try that again * 7.3.0 (#282) * Add dark mode publish variant (#284) * Fix #286 (#287) * init commit * add charcodes * Fix #290 (#291) * 7.3.1 (#294) * Fix an issue when call onKeyUp handler in PickerPlugin (#297) * Check isSuggesting for function key in PickerPlugin * 7.3.2 * Fix emoji reappear issue when space after backspace * Export code to codepen from demo site (#289) * init commit * move order one down * mouseUp before * Add more comments to improve doc (#302) * Improve doc * Add more comments * Fix cursor stuck at list issue (#303) * Fix cursor stuck at list issue * fix build * Add getTextContent * address comments for getTextContent * Address comment * change some element to use the class param * remove comments * 7.4.0 (#308)
JiuqingSong
added a commit
that referenced
this issue
Jun 11, 2019
* 7.1.1 * 7.1.2 Fix #218 (#219) * 7.1.2 Fix #218 * Fix typo * Track content changed events and report up to PickerPluginDataProvider (#222) * Refactor ReplaceWithNode to use the editor core API (#223) * Address comments raised in #225 but not addressed (#227) * Fix a js error in insertNode (#229) * 7.2.0 (#230) * Fix 4 issues (#234) * Fix #74 (#236) * Fix #74 * Fix #74 * address comments * Replace deprecated TSLint extension with MSFT TSLint (#240) * 7.2.1 (#243) * stopPropagation for key inputs (#245) * Make picker plugin generic (#246) * Make PickerPlugin generic * fix build * Selection Management step 1 (#247) * Selection management step 1: New core API selectRange * Fix build * fix comment * Fix keyboard event issue (#251) * Improve hyperlink onLinkClick option (#255) Allow Hyperlink onLinkClick to fall back to default handling to reduce redundant code. * Bump version (#256) * fix autolink bug (#263) * Filter CTRL+Click for Hyperlink plugin to main button (#262) * 7.2.5 (#265) * Fix some perf issue and some other changes (#272) * 45000 * 7.2.6 * init commit * syntax error * remove Input event so doesn't re-autocomplete * StopPropagation for Input event (#276) * Re-implemented the processList API. (#275) * revert unneded changes and add check for char val * ready for pr * forgot 0 case again * export from root * undefined --> null, removes attribute instead of set as undefined * Fix #279 (#281) * take out unwanted change * try that again * 7.3.0 (#282) * Add dark mode publish variant (#284) * Fix #286 (#287) * init commit * add charcodes * Fix #290 (#291) * 7.3.1 (#294) * Fix an issue when call onKeyUp handler in PickerPlugin (#297) * Check isSuggesting for function key in PickerPlugin * 7.3.2 * Fix emoji reappear issue when space after backspace * Export code to codepen from demo site (#289) * init commit * move order one down * mouseUp before * Add more comments to improve doc (#302) * Improve doc * Add more comments * Fix cursor stuck at list issue (#303) * Fix cursor stuck at list issue * fix build * Add getTextContent * address comments for getTextContent * Address comment * change some element to use the class param * remove comments * 7.4.0 (#308) * Revert #298 since it breaks IE (#310) * revert #298 * 7.4.1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
RoosterJS base its insertion on object model.
For inserting at begin, it finds first block and insert content before it.
For inserting at end, it finds last block and insert content after it.
The current object model in RoosterJS has the block concept which essentially represents a parsing boundary, and is not equipped with Table or List. A List item or a table cell is a block, but beyond that (list or table), object model does not know.
So when you insert at end, and the end happens to be a table cell. The content will be inserted after the cell, but before the closing TR/Table.
A possible fix, as I discussed with Jia is to introduce a ContentBlock concept to representing block larger than block we have, i.e. TR, Table, List. BlockElement cannot be nested, but ContentBlock can be nested. For inserting at end and end is a table cell, we should go from a block element, and find topest Content Block and insert after.
Regards,
Nick Huang
The text was updated successfully, but these errors were encountered: