only fire stack-item-added when and item was actually added. closes #368
This commit is contained in:
		
							parent
							
								
									0ec2753313
								
							
						
					
					
						commit
						931a37a331
					
				@ -186,6 +186,7 @@ export class UndoManager extends Observable {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      const now = time.getUnixTime()
 | 
					      const now = time.getUnixTime()
 | 
				
			||||||
 | 
					      let didAdd = false
 | 
				
			||||||
      if (now - this.lastChange < captureTimeout && stack.length > 0 && !undoing && !redoing) {
 | 
					      if (now - this.lastChange < captureTimeout && stack.length > 0 && !undoing && !redoing) {
 | 
				
			||||||
        // append change to last stack op
 | 
					        // append change to last stack op
 | 
				
			||||||
        const lastOp = stack[stack.length - 1]
 | 
					        const lastOp = stack[stack.length - 1]
 | 
				
			||||||
@ -194,6 +195,7 @@ export class UndoManager extends Observable {
 | 
				
			|||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        // create a new stack op
 | 
					        // create a new stack op
 | 
				
			||||||
        stack.push(new StackItem(transaction.deleteSet, insertions))
 | 
					        stack.push(new StackItem(transaction.deleteSet, insertions))
 | 
				
			||||||
 | 
					        didAdd = true
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (!undoing && !redoing) {
 | 
					      if (!undoing && !redoing) {
 | 
				
			||||||
        this.lastChange = now
 | 
					        this.lastChange = now
 | 
				
			||||||
@ -204,7 +206,9 @@ export class UndoManager extends Observable {
 | 
				
			|||||||
          keepItem(item, true)
 | 
					          keepItem(item, true)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      this.emit('stack-item-added', [{ stackItem: stack[stack.length - 1], origin: transaction.origin, type: undoing ? 'redo' : 'undo', changedParentTypes: transaction.changedParentTypes }, this])
 | 
					      if (didAdd) {
 | 
				
			||||||
 | 
					        this.emit('stack-item-added', [{ stackItem: stack[stack.length - 1], origin: transaction.origin, type: undoing ? 'redo' : 'undo', changedParentTypes: transaction.changedParentTypes }, this])
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user