Skip to content

Commit

Permalink
ELEMENTS-1697: update tabindex & lastindex in nuxeo-data-grid
Browse files Browse the repository at this point in the history
  • Loading branch information
rakeshkumar1019 committed Dec 11, 2023
1 parent 936f07c commit 5cfb27e
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion ui/nuxeo-data-grid/nuxeo-data-grid.js
Original file line number Diff line number Diff line change
Expand Up @@ -218,16 +218,40 @@ import { PageProviderDisplayBehavior } from '../nuxeo-page-provider-display-beha
type: Boolean,
value: false,
},
_lastIndex: {
type: Number,
value: 0,
},
_lastIndexValue: {
type: Number,
value: 0,
},
};
}


static get observers() {
return ['_fetchMissingItems(loading)'];
return ['_fetchMissingItems(loading)', '_lastIndexChanged(lastIndex)'];
}

ready() {
super.ready();
this.addEventListener('iron-resize', this._fetchMissingItems);
this.addEventListener('keydown', this._handleKeyDown);
}

_handleKeyDown(event) {
if (event.key === 'Tab') {
if (this.$.list.lastVisibleIndex === this._lastIndexValue ||
this.$.list.lastVisibleIndex === this._lastIndexValue - 1
) {
this.$.list.scrollTop = 0
}
}
}

_lastIndexChanged(lastIndex) {
this._lastIndexValue = lastIndex;
}

// WEBUI-159: Check if there are more items in viewport than the ones set by the provider and load them.
Expand Down

0 comments on commit 5cfb27e

Please sign in to comment.