feat: Add support for RTL (#64)

This commit is contained in:
Deepesh Garg 2019-04-26 13:10:10 +05:30 committed by GitHub
parent 67f9717827
commit e014960e97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 5 deletions

View File

@ -68,7 +68,7 @@ class DataTable {
prepareDom() {
this.wrapper.innerHTML = `
<div class="datatable">
<div class="datatable" dir="${this.options.direction}">
<div class="dt-header"></div>
<div class="dt-scrollable"></div>
<div class="dt-footer"></div>

View File

@ -62,5 +62,6 @@ export default {
checkedRowStatus: true,
dynamicRowHeight: false,
pasteFromClipboard: false,
showTotalRow: false
showTotalRow: false,
direction: 'ltr'
};

View File

@ -48,12 +48,15 @@ export default class Style {
this._settingHeaderPosition = true;
requestAnimationFrame(() => {
const scrollLeft = e.target.scrollLeft;
const { scrollLeft, scrollWidth, clientWidth } = e.target;
let left = this.options.direction === 'rtl' ? scrollWidth - clientWidth - scrollLeft : -scrollLeft;
$.style(this.header, {
transform: `translateX(-${scrollLeft}px)`
transform: `translateX(${left}px)`
});
$.style(this.footer, {
transform: `translateX(-${scrollLeft}px)`
transform: `translateX(${left}px)`
});
this._settingHeaderPosition = false;
});