more options to gc data (undomanager.clear and tryGc)

This commit is contained in:
Kevin Jahns
2020-01-27 03:42:32 +01:00
parent 705dce7838
commit e3c59b0aa7
6 changed files with 113 additions and 63 deletions

View File

@@ -68,10 +68,11 @@ export const followRedone = (store, id) => {
* sending it to other peers
*
* @param {Item|null} item
* @param {boolean} keep
*/
export const keepItem = item => {
while (item !== null && !item.keep) {
item.keep = true
export const keepItem = (item, keep) => {
while (item !== null && item.keep !== keep) {
item.keep = keep
item = item.parent._item
}
}
@@ -220,7 +221,7 @@ export const redoItem = (transaction, item, redoitems) => {
item.content.copy()
)
item.redone = redoneItem.id
keepItem(redoneItem)
keepItem(redoneItem, true)
redoneItem.integrate(transaction)
return redoneItem
}