@universis/ngx-tables 0.8.1 → 0.8.3

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('iso-639-1/build'), require('rxjs'), require('jquery'), require('datatables.net'), require('datatables.net-scroller'), require('datatables.net-colreorder'), require('datatables.net-buttons'), require('rxjs/add/observable/combineLatest'), require('@angular/common/http'), require('@themost/client'), require('@themost/angular'), require('@angular/common'), require('@ngx-translate/core'), require('@angular/forms'), require('@universis/common'), require('@universis/common/routing'), require('@universis/forms'), require('angular-formio'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/progressbar'), require('ngx-pipes'), require('lodash'), require('@angular/core'), require('@angular/router'), require('@ngrx/store'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', 'rxjs', 'jquery', 'datatables.net', 'datatables.net-scroller', 'datatables.net-colreorder', 'datatables.net-buttons', 'rxjs/add/observable/combineLatest', '@angular/common/http', '@themost/client', '@themost/angular', '@angular/common', '@ngx-translate/core', '@angular/forms', '@universis/common', '@universis/common/routing', '@universis/forms', 'angular-formio', 'ngx-bootstrap/modal', 'ngx-bootstrap/progressbar', 'ngx-pipes', 'lodash', '@angular/core', '@angular/router', '@ngrx/store', 'rxjs/operators'], factory) :
4
- (factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.rxjs,global.jQuery_,null,null,null,null,global.rxjs['add/observable/combineLatest'],global.ng.common.http,global.client,global.i1,global.ng.common,global.core,global.ng.forms,global.i2,global.routing,global.forms$1,global.angularFormio,global.modal,global.progressbar,global.ngxPipes,global.lodash,global.ng.core,global.ng.router,global.store,global.rxjs.operators));
5
- }(this, (function (exports,ISO6391,rxjs,jQuery_,datatables_net,datatables_netScroller,datatables_netColreorder,datatables_netButtons,combineLatest,http,client,i1,common,core,forms,i2,routing,forms$1,angularFormio,modal,progressbar,ngxPipes,lodash,i0,i1$1,store,operators) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('iso-639-1/build'), require('jquery'), require('datatables.net'), require('datatables.net-scroller'), require('datatables.net-colreorder'), require('datatables.net-buttons'), require('rxjs'), require('rxjs/add/observable/combineLatest'), require('@angular/common/http'), require('@themost/client'), require('@themost/angular'), require('@angular/common'), require('@ngx-translate/core'), require('@angular/forms'), require('@universis/common'), require('@universis/common/routing'), require('@universis/forms'), require('angular-formio'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/progressbar'), require('ngx-pipes'), require('lodash'), require('@angular/core'), require('@angular/router'), require('@ngrx/store'), require('rxjs/operators')) :
3
+ typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', 'jquery', 'datatables.net', 'datatables.net-scroller', 'datatables.net-colreorder', 'datatables.net-buttons', 'rxjs', 'rxjs/add/observable/combineLatest', '@angular/common/http', '@themost/client', '@themost/angular', '@angular/common', '@ngx-translate/core', '@angular/forms', '@universis/common', '@universis/common/routing', '@universis/forms', 'angular-formio', 'ngx-bootstrap/modal', 'ngx-bootstrap/progressbar', 'ngx-pipes', 'lodash', '@angular/core', '@angular/router', '@ngrx/store', 'rxjs/operators'], factory) :
4
+ (factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.jQuery_,null,null,null,null,global.rxjs,global.rxjs['add/observable/combineLatest'],global.ng.common.http,global.client,global.i1,global.ng.common,global.core,global.ng.forms,global.i2,global.routing,global.forms$1,global.angularFormio,global.modal,global.progressbar,global.ngxPipes,global.lodash,global.ng.core,global.ng.router,global.store,global.rxjs.operators));
5
+ }(this, (function (exports,ISO6391,jQuery_,datatables_net,datatables_netScroller,datatables_netColreorder,datatables_netButtons,rxjs,combineLatest,http,client,i1,common,core,forms,i2,routing,forms$1,angularFormio,modal,progressbar,ngxPipes,lodash,i0,i1$1,store,operators) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -1034,10 +1034,20 @@
1034
1034
  var _this = this;
1035
1035
  this._router = _router;
1036
1036
  this._activatedRoute = _activatedRoute;
1037
+ /**
1038
+ * Get the last table that was set as active
1039
+ * Note: Emitted value may be null (e.g. reset on route changes)
1040
+ */
1041
+ this.lastActiveTable = new rxjs.BehaviorSubject(null);
1042
+ /**
1043
+ * Omit the last emitted value to observe only new active table changes
1044
+ * Note: Emitted value may be null (e.g. reset on route changes)
1045
+ */
1046
+ this.nextActiveTable = this.lastActiveTable.pipe(operators.skip(1));
1037
1047
  _router.events.forEach(function (event) {
1038
1048
  if (event instanceof i1$1.NavigationStart) {
1039
1049
  if (_this._activeTable) {
1040
- _this._activeTable = null;
1050
+ _this.activeTable = null;
1041
1051
  }
1042
1052
  }
1043
1053
  });
@@ -1048,6 +1058,8 @@
1048
1058
  },
1049
1059
  set: function (tableComponent) {
1050
1060
  this._activeTable = tableComponent;
1061
+ // provide change to observers
1062
+ this.lastActiveTable.next(this._activeTable);
1051
1063
  },
1052
1064
  enumerable: true,
1053
1065
  configurable: true
@@ -1994,8 +2006,9 @@
1994
2006
  if (_this.dataTable) {
1995
2007
  var info = _this.dataTable.page.info();
1996
2008
  _this.page.emit(info);
1997
- if (drawIndex_1 > 1)
2009
+ if (drawIndex_1 > 1) {
1998
2010
  return;
2011
+ }
1999
2012
  try {
2000
2013
  drawIndex_1++;
2001
2014
  setTimeout(function () { _this.dataTable.columns.adjust(); }, 1);
@@ -2574,7 +2587,7 @@
2574
2587
  var index = columnOrder.indexOf(i);
2575
2588
  var visible = _this.dataTable.column(index).visible();
2576
2589
  // set title for select column
2577
- if (i == 0 && _this.selectable) {
2590
+ if (i === 0 && _this.selectable) {
2578
2591
  title = '<' + _this._translateService.instant('Tables.SelectColumn') + '>';
2579
2592
  }
2580
2593
  // get column title
@@ -2608,9 +2621,18 @@
2608
2621
  });
2609
2622
  this._columnSelector.selectColumns(columns).then(function (event) {
2610
2623
  if (event.result === 'ok') {
2624
+ var sorted = event.columns
2625
+ .map(function (col) {
2626
+ return {
2627
+ key: col.key,
2628
+ index: col.index
2629
+ };
2630
+ })
2631
+ .sort(function (a, b) { return a.index - b.index; });
2611
2632
  // get column order e.g. [3, 1, 2, 0, 4]
2612
- var indexes = event.columns.map(function (item) {
2613
- return item.index;
2633
+ var indexes = sorted
2634
+ .map(function (item) {
2635
+ return event.columns.findIndex(function (next) { return item.key === next.key; });
2614
2636
  });
2615
2637
  // reset column visibilty
2616
2638
  for (var index = 0; index < event.columns.length; index++) {
@@ -2725,12 +2747,10 @@
2725
2747
  cleanupIndexes.push(index);
2726
2748
  return false;
2727
2749
  }
2728
- // find item by title
2729
- var findItem = _this.config.columns.find(function (column) {
2730
- return column.title && column.title.length && _this._translateService.instant(column.title) === headerItem;
2731
- });
2732
2750
  // exclude hidden columns
2733
- if (findItem && findItem.hidden === true) {
2751
+ // note: use the datatable visible() function
2752
+ // instead of the hidden config property, to satisfy the column selector
2753
+ if (!_this.dataTable.column(index).visible()) {
2734
2754
  cleanupIndexes.push(index);
2735
2755
  return false;
2736
2756
  }
@@ -5633,7 +5653,10 @@
5633
5653
  this.table.stateSave = true;
5634
5654
  this.table.stateLoadCallback = function (settings, callback) {
5635
5655
  _this.store.pipe(store.select(selectTable, { id: _this.tableState }), operators.first()).subscribe(function (state) {
5636
- return callback(state && state.table);
5656
+ callback(state && state.table);
5657
+ if (state && state.table && state.table.ColReorder) {
5658
+ _this.table.dataTable.colReorder.order(state.table.ColReorder, true);
5659
+ }
5637
5660
  });
5638
5661
  };
5639
5662
  var firstDraw = true;