@universis/ngx-tables 0.6.6 → 0.6.7

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('lodash'), require('datatables.net-scroller'), require('rxjs/add/observable/combineLatest'), require('@angular/common/http'), require('@themost/angular'), require('@themost/client'), require('@angular/core'), require('@angular/common'), require('@ngx-translate/core'), require('@angular/forms'), require('@universis/common'), require('@universis/common/routing'), require('@universis/forms'), require('angular-formio'), require('@angular/router'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/progressbar'), require('ngx-pipes')) :
3
- typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', 'rxjs', 'jquery', 'datatables.net', 'lodash', 'datatables.net-scroller', 'rxjs/add/observable/combineLatest', '@angular/common/http', '@themost/angular', '@themost/client', '@angular/core', '@angular/common', '@ngx-translate/core', '@angular/forms', '@universis/common', '@universis/common/routing', '@universis/forms', 'angular-formio', '@angular/router', 'ngx-bootstrap/modal', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/progressbar', 'ngx-pipes'], factory) :
4
- (factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.rxjs,global.jQuery_,null,global.lodash,null,global.rxjs['add/observable/combineLatest'],global.ng.common.http,global.i1,global.client,global.ng.core,global.ng.common,global.core,global.ng.forms,global.i2,global.routing,global.forms$1,global.angularFormio,global.ng.router,global.modal,global.dropdown,global.progressbar,global.ngxPipes));
5
- }(this, (function (exports,ISO6391,rxjs,jQuery_,datatables_net,lodash,datatables_netScroller,combineLatest,http,i1,client,i0,common,core,forms,i2,routing,forms$1,angularFormio,i1$1,modal,dropdown,progressbar,ngxPipes) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('iso-639-1/build'), require('bootstrap'), require('rxjs'), require('jquery'), require('datatables.net'), require('lodash'), require('datatables.net-scroller'), require('rxjs/add/observable/combineLatest'), require('@angular/common/http'), require('@themost/angular'), require('@themost/client'), require('@angular/core'), require('@angular/common'), require('@ngx-translate/core'), require('@angular/forms'), require('@universis/common'), require('@universis/common/routing'), require('@universis/forms'), require('angular-formio'), require('@angular/router'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/progressbar'), require('ngx-pipes')) :
3
+ typeof define === 'function' && define.amd ? define('@universis/ngx-tables', ['exports', 'iso-639-1/build', 'bootstrap', 'rxjs', 'jquery', 'datatables.net', 'lodash', 'datatables.net-scroller', 'rxjs/add/observable/combineLatest', '@angular/common/http', '@themost/angular', '@themost/client', '@angular/core', '@angular/common', '@ngx-translate/core', '@angular/forms', '@universis/common', '@universis/common/routing', '@universis/forms', 'angular-formio', '@angular/router', 'ngx-bootstrap/modal', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/progressbar', 'ngx-pipes'], factory) :
4
+ (factory((global.universis = global.universis || {}, global.universis['ngx-tables'] = {}),global.ISO6391,global.bootstrap,global.rxjs,global.jQuery_,null,global.lodash,null,global.rxjs['add/observable/combineLatest'],global.ng.common.http,global.i1,global.client,global.ng.core,global.ng.common,global.core,global.ng.forms,global.i2,global.routing,global.forms$1,global.angularFormio,global.ng.router,global.modal,global.dropdown,global.progressbar,global.ngxPipes));
5
+ }(this, (function (exports,ISO6391,bootstrap,rxjs,jQuery_,datatables_net,lodash,datatables_netScroller,combineLatest,http,i1,client,i0,common,core,forms,i2,routing,forms$1,angularFormio,i1$1,modal,dropdown,progressbar,ngxPipes) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -676,6 +676,16 @@
676
676
  var AdvancedColumnFormatter = /** @class */ (function () {
677
677
  function AdvancedColumnFormatter() {
678
678
  }
679
+ AdvancedColumnFormatter.template = function (expr) {
680
+ var result = AdvancedColumnFormatter.templateCache.get(expr);
681
+ if (typeof result === 'function') {
682
+ return result;
683
+ }
684
+ result = lodash.template(expr);
685
+ AdvancedColumnFormatter.templateCache.set(expr, result);
686
+ return result;
687
+ };
688
+ AdvancedColumnFormatter.templateCache = new Map();
679
689
  return AdvancedColumnFormatter;
680
690
  }());
681
691
  var NestedPropertyFormatter = /** @class */ (function (_super) {
@@ -726,7 +736,7 @@
726
736
  var router = this.injector.get(i1$1.Router);
727
737
  var commands = this.formatOptions.commands.map(function (command) {
728
738
  if (typeof command === 'string') {
729
- return new i2.TemplatePipe().transform(command, row);
739
+ return AdvancedColumnFormatter.template(command)(row);
730
740
  }
731
741
  if (command.outlets) {
732
742
  var commandOutlets_1 = {};
@@ -739,7 +749,7 @@
739
749
  configurable: true,
740
750
  writable: true,
741
751
  value: outlet.map(function (x) {
742
- return new i2.TemplatePipe().transform(x, row);
752
+ return AdvancedColumnFormatter.template(x)(row);
743
753
  }),
744
754
  });
745
755
  }
@@ -763,7 +773,7 @@
763
773
  var replaceUrl = true;
764
774
  if (this.formatOptions.navigationExtras && this.formatOptions.navigationExtras.queryParams) {
765
775
  Object.keys(this.formatOptions.navigationExtras.queryParams).map(function (key) {
766
- queryParams_1[key] = new i2.TemplatePipe().transform(_this.formatOptions.navigationExtras.queryParams[key], row);
776
+ queryParams_1[key] = AdvancedColumnFormatter.template(_this.formatOptions.navigationExtras.queryParams[key])(row);
767
777
  });
768
778
  }
769
779
  if (this.formatOptions.navigationExtras && typeof this.formatOptions.navigationExtras.replaceUrl !== 'undefined') {
@@ -782,7 +792,7 @@
782
792
  return "<a class=\"" + formatOptions.buttonClass + "\" title=\"" + buttonTitle + "\" href=\"#" + routerLink + "\">" + buttonText + "</a>";
783
793
  }
784
794
  // and return button
785
- var href = new i2.TemplatePipe().transform(this.formatString, row);
795
+ var href = AdvancedColumnFormatter.template(this.formatString)(row);
786
796
  return "<a class=\"" + formatOptions.buttonClass + "\" title=\"" + buttonTitle + "\" href=\"" + href + "\">" + buttonText + "</a>";
787
797
  };
788
798
  return ButtonFormatter;
@@ -796,17 +806,7 @@
796
806
  // get column
797
807
  var column = meta.settings.aoColumns[meta.col];
798
808
  if (column && column.data) {
799
- var templateFunc = void 0;
800
- if (Object.prototype.hasOwnProperty.call(column, 'linkTemplate')) {
801
- templateFunc = column.linkTemplate;
802
- }
803
- else {
804
- templateFunc = lodash.template(this.formatString);
805
- Object.assign(column, {
806
- linkTemplate: templateFunc,
807
- });
808
- }
809
- return "<a href=\"" + (templateFunc(row)) + "\">" + data + "</a>";
809
+ return "<a href=\"" + (AdvancedColumnFormatter.template(this.formatString)(row)) + "\">" + data + "</a>";
810
810
  }
811
811
  return data;
812
812
  };
@@ -819,32 +819,50 @@
819
819
  }
820
820
  ActionLinkFormatter.prototype.render = function (data, type, row, meta) {
821
821
  var _this = this;
822
+ var e_1, _a;
822
823
  // get column
823
824
  var column = meta.settings.aoColumns[meta.col];
824
825
  if (column && column.data) {
825
- this.actions = this.actions || [];
826
- var allowedActions = this.actions.filter(function (x) {
827
- if (x.access && x.access.length > 0) {
828
- var access = x.access;
829
- access = access.filter(function (y) {
830
- if (y.studentStatuses) {
831
- return y.studentStatuses.find(function (z) { return z.alternateName === row.studentStatus; });
832
- }
826
+ var actions = this.actions || [];
827
+ var index = 1;
828
+ try {
829
+ for (var actions_1 = __values(actions), actions_1_1 = actions_1.next(); !actions_1_1.done; actions_1_1 = actions_1.next()) {
830
+ var action = actions_1_1.value;
831
+ Object.assign(action, {
832
+ name: action.name || "action" + index,
833
833
  });
834
- if (access && access.length > 0) {
835
- return x;
836
- }
834
+ index += 1;
837
835
  }
838
- else {
839
- return x;
836
+ }
837
+ catch (e_1_1) {
838
+ e_1 = { error: e_1_1 };
839
+ }
840
+ finally {
841
+ try {
842
+ if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return))
843
+ _a.call(actions_1);
840
844
  }
841
- });
845
+ finally {
846
+ if (e_1)
847
+ throw e_1.error;
848
+ }
849
+ }
842
850
  // return the dropdown menu with 3 dots
843
- return new i2.TemplatePipe().transform("<div class='dropdown details-control' data-id='" + data + "' data-type='student' >\n <a id=\"dropdownMenuButton-" + data + "\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span class=\"fa-2x text-dots\"></span></a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton-" + data + "\">\n " + allowedActions.map(function (x) { return "<a data-name='" + x.name + "' class=\"dropdown-item\" href=\"" + x.href + "\">\n " + _this.injector.get(core.TranslateService).instant(new i2.TemplatePipe().transform(x.title, ({ value: data }))) + "\n </a>"; })
844
- .join('') + "\n </div>\n </div>", row);
851
+ return "<div class='dropdown details-control' data-id='" + data + "' data-type='student' >\n <a id=\"dropdownMenuButton-" + data + "\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span class=\"fa-2x text-dots\"></span></a>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton-" + data + "\">\n " + actions.map(function (x) {
852
+ if (x.type === 'divider') {
853
+ return "<div class=\"dropdown-divider\"></div>";
854
+ }
855
+ return "<a data-name='" + x.name + "' class=\"dropdown-item\" href=\"" + AdvancedColumnFormatter.template(x.href)(row) + "\">\n " + _this.injector.get(core.TranslateService).instant(x.title) + "\n </a>";
856
+ })
857
+ .join('') + "\n </div>\n </div>";
845
858
  }
846
859
  return data;
847
860
  };
861
+ ActionLinkFormatter.prototype.afterRender = function (cell, cellData, rowData, rowIndex, colIndex) {
862
+ // assign bootstrap dropdown
863
+ // tslint:disable-next-line: no-unused-expression
864
+ new bootstrap.Dropdown(cell);
865
+ };
848
866
  return ActionLinkFormatter;
849
867
  }(AdvancedColumnFormatter));
850
868
  var SelectRowFormatter = /** @class */ (function (_super) {
@@ -857,7 +875,7 @@
857
875
  var column = meta.settings.aoColumns[meta.col];
858
876
  if (column && column.data) {
859
877
  var _tpl = "<input class=\"checkbox checkbox-theme\" type=\"checkbox\"\n id=\"s-" + meta.row + "\" /><label for=\"s-" + meta.row + "\">&nbsp;</label>";
860
- return new i2.TemplatePipe().transform(_tpl, row);
878
+ return AdvancedColumnFormatter.template(_tpl)(row);
861
879
  }
862
880
  return data;
863
881
  };
@@ -872,16 +890,7 @@
872
890
  // get column
873
891
  var column = meta.settings.aoColumns[meta.col];
874
892
  if (column && column.data) {
875
- var templateFunc = void 0;
876
- if (Object.prototype.hasOwnProperty.call(column, 'templateTemplate')) {
877
- templateFunc = column.templateTemplate;
878
- return templateFunc(row);
879
- }
880
- templateFunc = lodash.template(this.formatString);
881
- Object.assign(column, {
882
- templateTemplate: templateFunc,
883
- });
884
- return templateFunc(row);
893
+ return AdvancedColumnFormatter.template(this.formatString)(row);
885
894
  }
886
895
  return data;
887
896
  };
@@ -907,16 +916,7 @@
907
916
  // get column
908
917
  var column = meta.settings.aoColumns[meta.col];
909
918
  if (column && data != null) {
910
- // create a compiled template and assign it to column
911
- // in order to call consecutively for each row
912
- var translateTemplate = column.translateTemplate;
913
- if (typeof translateTemplate !== 'function') {
914
- translateTemplate = lodash.template(this.formatString);
915
- Object.assign(column, {
916
- translateTemplate: translateTemplate,
917
- });
918
- }
919
- return this.injector.get(core.TranslateService).instant(translateTemplate({
919
+ return this.injector.get(core.TranslateService).instant(AdvancedColumnFormatter.template(this.formatString)({
920
920
  value: data,
921
921
  }));
922
922
  }
@@ -949,7 +949,7 @@
949
949
  return _super.call(this) || this;
950
950
  }
951
951
  NgClassFormatter.prototype.render = function (data, type, row, meta) {
952
- var e_1, _a;
952
+ var e_2, _a;
953
953
  // get column
954
954
  var column = meta.settings.aoColumns[meta.col];
955
955
  if (column && column.data) {
@@ -958,21 +958,10 @@
958
958
  var ngClass = this.formatOptions.ngClass;
959
959
  // check condition for each key
960
960
  column.ngClassTemplates = column.ngClassTemplates || {};
961
- var templateFunc = void 0;
962
961
  try {
963
962
  for (var _b = __values(Object.keys(ngClass)), _c = _b.next(); !_c.done; _c = _b.next()) {
964
963
  var key = _c.value;
965
- templateFunc = column.ngClassTemplates[key];
966
- if (typeof templateFunc !== 'function') {
967
- templateFunc = lodash.template(ngClass[key]);
968
- Object.defineProperty(column.ngClassTemplates, key, {
969
- configurable: true,
970
- enumerable: true,
971
- writable: true,
972
- value: templateFunc,
973
- });
974
- }
975
- var result = templateFunc(row);
964
+ var result = AdvancedColumnFormatter.template(ngClass[key])(row);
976
965
  var fn = new Function("return " + result + ";");
977
966
  // if condition returns true add class
978
967
  if (fn() === true) {
@@ -980,8 +969,8 @@
980
969
  }
981
970
  }
982
971
  }
983
- catch (e_1_1) {
984
- e_1 = { error: e_1_1 };
972
+ catch (e_2_1) {
973
+ e_2 = { error: e_2_1 };
985
974
  }
986
975
  finally {
987
976
  try {
@@ -989,8 +978,8 @@
989
978
  _a.call(_b);
990
979
  }
991
980
  finally {
992
- if (e_1)
993
- throw e_1.error;
981
+ if (e_2)
982
+ throw e_2.error;
994
983
  }
995
984
  }
996
985
  }
@@ -1590,6 +1579,22 @@
1590
1579
  return result;
1591
1580
  },
1592
1581
  });
1582
+ // check if column formatters export createdCell event
1583
+ var items_1 = column.formatters.filter(function (columnFormatter) {
1584
+ return typeof columnFormatter.afterRender === 'function';
1585
+ });
1586
+ if (items_1.length > 0) {
1587
+ Object.assign(columnDefinition, {
1588
+ afterRender: function (cell, cellData, rowData, rowIndex, colIndex) {
1589
+ items_1.forEach(function (columnFormatter) {
1590
+ var formatter = self._columnFormatters[columnFormatter.formatter];
1591
+ if (formatter && typeof formatter.afterRender === 'function') {
1592
+ formatter.afterRender.bind(column)(cell, cellData, rowData, rowIndex, colIndex);
1593
+ }
1594
+ });
1595
+ },
1596
+ });
1597
+ }
1593
1598
  }
1594
1599
  if (column.formatter) {
1595
1600
  var formatter = self._columnFormatters[column.formatter];
@@ -3775,7 +3780,7 @@
3775
3780
  SelectRowFormatter: new SelectRowFormatter(),
3776
3781
  TemplateFormatter: new TemplateFormatter(),
3777
3782
  TranslationFormatter: new TranslationFormatter(),
3778
- TrueFalseFormatter: new TrueFalseFormatter()
3783
+ TrueFalseFormatter: new TrueFalseFormatter(),
3779
3784
  };
3780
3785
 
3781
3786
  var SimpleHeaderToolsComponent = /** @class */ (function () {