Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. this.gridNode = null;
  2.  
  3. ...
  4.  
  5. componentDidUpdate(prevProps) {
  6. const node = this.getGridWrapperNode();
  7. if (!isEqual(this.props.data, prevProps.data) && (node && node.scrollTop > 0)) {
  8. node.scrollTop = 0;
  9. }
  10. }
  11.  
  12. ...
  13.  
  14. getGridWrapperNode = () => (
  15. this.gridNode && this.gridNode.getElementsByClassName('datagrid-grid-wrapper')[0]);
  16.  
  17. it('should reset gridWrapperNode scrollTop position if data has changed', () => {
  18. const mounted = mount(<Grid {...props} />);
  19.  
  20. const element = document.createElement('div');
  21. element.classList.add('datagrid-grid-wrapper');
  22. element.scrollTop = 46;
  23.  
  24. mounted.instance().gridNode = element;
  25.  
  26. mounted.setProps({
  27. ...props,
  28. data: [{ val: 'ya' }],
  29. });
  30.  
  31. wrapper.update();
  32.  
  33. const el = mounted.instance().gridNode;
  34. expect(el.scrollTop).toEqual(0);
  35. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement