@universis/ngx-tables 0.6.20 → 0.6.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -779,6 +779,9 @@
779
779
  this.init = new i0.EventEmitter();
780
780
  this.reload = new i0.EventEmitter();
781
781
  this.select = new i0.EventEmitter();
782
+ this.draw = new i0.EventEmitter();
783
+ this.page = new i0.EventEmitter();
784
+ this.scroll = new i0.EventEmitter();
782
785
  this.selectedItems = new i0.EventEmitter();
783
786
  this.scrollable = true;
784
787
  this.serverSide = true;
@@ -1303,6 +1306,20 @@
1303
1306
  }, 0);
1304
1307
  }
1305
1308
  });
1309
+ tableElement_1.on('draw.dt', function (event) {
1310
+ _this.draw.emit();
1311
+ if (_this.dataTable) {
1312
+ var info = _this.dataTable.page.info();
1313
+ _this.page.emit(info);
1314
+ try {
1315
+ _this.dataTable.columns.adjust();
1316
+ }
1317
+ catch (err) {
1318
+ console.error('ERROR', 'An error occurred while adjusting table columns');
1319
+ console.error(err);
1320
+ }
1321
+ }
1322
+ });
1306
1323
  // allow selection
1307
1324
  if (this.selectable) {
1308
1325
  // get first column (as row primary key)
@@ -1327,10 +1344,6 @@
1327
1344
  // user interface additions
1328
1345
  // handle page change event (a trick for firing draw.dt events)
1329
1346
  tableElement_1
1330
- // for each page
1331
- .on('page.dt', function ($event) {
1332
- var info = _this.dataTable.page.info();
1333
- })
1334
1347
  // handle draw events
1335
1348
  .on('draw.dt', function () {
1336
1349
  if (_this.customSelect) {
@@ -1435,7 +1448,7 @@
1435
1448
  // get page size param
1436
1449
  var top = aoData[4].value;
1437
1450
  // get search value
1438
- var searchText = aoData[5].value;
1451
+ var search = aoData[5].value;
1439
1452
  // get data queryable
1440
1453
  var q = self._query instanceof client.ClientDataQueryable ? self._query : self._context.model(self.config.model).asQueryable();
1441
1454
  // apply paging params
@@ -1562,15 +1575,22 @@
1562
1575
  }
1563
1576
  if (this.selectable) ;
1564
1577
  // handle init.dt event and emit local event
1565
- this.dataTable = tableElement_1.DataTable(settings);
1566
- tableElement_1.on('init.dt', function () {
1567
- if (_this.dataTable == null) {
1568
- return;
1569
- }
1570
- // restore default empty table html
1571
- // (due to ng async binding)
1572
- _this.init.emit(_this.dataTable);
1573
- });
1578
+ this.dataTable = tableElement_1.on('init.dt', function (event) {
1579
+ var scroller = jQuery(event.target).parent();
1580
+ // handle scrolling
1581
+ scroller.on('scroll', function (scrollEvent) {
1582
+ var target = jQuery(scrollEvent.target);
1583
+ var top = target.scrollTop();
1584
+ var left = target.scrollLeft();
1585
+ if (_this.dataTable) {
1586
+ _this.scroll.emit({
1587
+ top: top,
1588
+ left: left
1589
+ });
1590
+ }
1591
+ });
1592
+ _this.init.emit();
1593
+ }).DataTable(settings);
1574
1594
  // show or hide header
1575
1595
  if (!this.showHeader) {
1576
1596
  this._element.nativeElement
@@ -1589,6 +1609,16 @@
1589
1609
  }
1590
1610
  }
1591
1611
  };
1612
+ AdvancedTableComponent.prototype.scrollTop = function (value) {
1613
+ if (this.dataTable) {
1614
+ this.dataTable.parent().scrollTop(value);
1615
+ }
1616
+ };
1617
+ AdvancedTableComponent.prototype.scrollLeft = function (value) {
1618
+ if (this.dataTable) {
1619
+ this.dataTable.parent().scrollLeft(value);
1620
+ }
1621
+ };
1592
1622
  Object.defineProperty(AdvancedTableComponent.prototype, "lastQuery", {
1593
1623
  get: function () {
1594
1624
  var _this = this;
@@ -1821,6 +1851,9 @@
1821
1851
  init: [{ type: i0.Output, args: ['init',] }],
1822
1852
  reload: [{ type: i0.Input, args: ['reload',] }],
1823
1853
  select: [{ type: i0.Output, args: ['select',] }],
1854
+ draw: [{ type: i0.Output, args: ['draw',] }],
1855
+ page: [{ type: i0.Output, args: ['page',] }],
1856
+ scroll: [{ type: i0.Output, args: ['scroll',] }],
1824
1857
  selectedItems: [{ type: i0.Output, args: ['selectedItems',] }],
1825
1858
  scrollable: [{ type: i0.Input }],
1826
1859
  serverSide: [{ type: i0.Input }],