@universis/ngx-tables 0.7.30 → 0.8.0

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.
@@ -827,6 +827,12 @@ DataTablesApi.register('processing()', function (show) {
827
827
  ctx.oApi._fnProcessingDisplay(ctx, show);
828
828
  });
829
829
  });
830
+ var ɵ0 = [];
831
+ var EMPTY_DATASET = {
832
+ recordsTotal: 0,
833
+ recordsFiltered: 0,
834
+ data: ɵ0,
835
+ };
830
836
  var TableTranslationChangeDetector = /** @class */ (function (_super) {
831
837
  __extends(TableTranslationChangeDetector, _super);
832
838
  function TableTranslationChangeDetector() {
@@ -1586,6 +1592,8 @@ var AdvancedTableComponent = /** @class */ (function () {
1586
1592
  return fnCallback(emptyDataSet);
1587
1593
  }
1588
1594
  }
1595
+ // reset error
1596
+ self.toggleError();
1589
1597
  // get activated route params
1590
1598
  var queryParams = self._activatedRoute.snapshot.queryParams;
1591
1599
  // get columns
@@ -1666,7 +1674,7 @@ var AdvancedTableComponent = /** @class */ (function () {
1666
1674
  q.filter(expressions.join(' and '));
1667
1675
  }
1668
1676
  self.lastQueryParams = q.getParams();
1669
- q.getList().then(function (items) {
1677
+ return q.getList().then(function (items) {
1670
1678
  var dataSet = {
1671
1679
  recordsTotal: items.total,
1672
1680
  recordsFiltered: items.total,
@@ -1681,7 +1689,13 @@ var AdvancedTableComponent = /** @class */ (function () {
1681
1689
  return fnCallback(dataSet);
1682
1690
  });
1683
1691
  }).catch(function (err) {
1692
+ // log error to console
1684
1693
  console.error('TABLES', err);
1694
+ // show error
1695
+ self.toggleError(err);
1696
+ // by returning empty dataset
1697
+ self.load.emit(EMPTY_DATASET);
1698
+ return fnCallback(EMPTY_DATASET);
1685
1699
  });
1686
1700
  }
1687
1701
  self.lastQueryParams = q.getParams();
@@ -1699,7 +1713,13 @@ var AdvancedTableComponent = /** @class */ (function () {
1699
1713
  // return data
1700
1714
  return fnCallback(dataSet);
1701
1715
  }).catch(function (err) {
1716
+ // log error to console
1702
1717
  console.error('TABLES', err);
1718
+ // show error
1719
+ self.toggleError(err);
1720
+ // by returning empty dataset
1721
+ self.load.emit(EMPTY_DATASET);
1722
+ return fnCallback(EMPTY_DATASET);
1703
1723
  });
1704
1724
  },
1705
1725
  language: Object.assign({}, self.translator.transform('Tables.DataTable'), { emptyTable: ' ' }),
@@ -1932,9 +1952,28 @@ var AdvancedTableComponent = /** @class */ (function () {
1932
1952
  this.dataTable.context[0].oLanguage.sZeroRecords = this.emptyTable.nativeElement.innerHTML;
1933
1953
  }
1934
1954
  };
1955
+ AdvancedTableComponent.prototype.toggleError = function (err) {
1956
+ if (this.dataTable && this.dataTable.context[0]) {
1957
+ var innerMessage = this.errorTemplate.nativeElement.getElementsByTagName('small').item(0);
1958
+ if (err) {
1959
+ this.lastError = err;
1960
+ if (innerMessage) {
1961
+ innerMessage.innerHTML = err.error && err.error.message ? err.error.message : err.message;
1962
+ }
1963
+ this.dataTable.context[0].oLanguage.sEmptyTable =
1964
+ this.dataTable.context[0].oLanguage.sZeroRecords = this.errorTemplate.nativeElement.innerHTML;
1965
+ }
1966
+ else {
1967
+ if (innerMessage) {
1968
+ innerMessage.innerHTML = '';
1969
+ }
1970
+ this.dataTable.context[0].oLanguage.sEmptyTable = this.dataTable.context[0].oLanguage.sZeroRecords = '';
1971
+ }
1972
+ }
1973
+ };
1935
1974
  AdvancedTableComponent.prototype.clearEmptyTable = function () {
1936
1975
  if (this.dataTable && this.dataTable.context[0]) {
1937
- this.dataTable.context[0].oLanguage.sEmptyTable = '';
1976
+ this.dataTable.context[0].oLanguage.sEmptyTable = this.dataTable.context[0].oLanguage.sZeroRecords = '';
1938
1977
  }
1939
1978
  };
1940
1979
  AdvancedTableComponent.prototype.export = function () {
@@ -2053,9 +2092,9 @@ var AdvancedTableComponent = /** @class */ (function () {
2053
2092
  { type: Component, args: [{
2054
2093
  // tslint:disable-next-line: component-selector
2055
2094
  selector: 'app-advanced-table',
2056
- template: "\n <table #table class=\"dataTable\">\n </table>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n </div>\n </div>\n ",
2095
+ template: "\n <table #table class=\"dataTable\">\n </table>\n <div #emptyTable class=\"d-none\">\n <div>\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-gray-300 border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-dark\" [translate]=\"'Tables.EmptyTableTitle'\"></h4>\n <p class=\"font-lg text-dark\" [translate]=\"'Tables.EmptyTableMessage'\"></p>\n </div>\n </div>\n </div>\n <div #errorTemplate class=\"d-none error-message\">\n <div class=\"text-center\">\n <div class=\"mt-4\">\n <div class=\"icon-circle bg-danger border-gray-100\"></div>\n </div>\n <div class=\"mt-4\">\n <h4 class=\"font-3xl text-secondary\" [translate]=\"'Tables.DataError.Title'\"></h4>\n <p class=\"font-lg text-secondary mb-1\" [translate]=\"'Tables.DataError.Message'\"></p>\n <p class=\"font-lg text-secondary error-inner-message\">\n <small></small>\n </p>\n </div>\n </div>\n </div>\n ",
2057
2096
  encapsulation: ViewEncapsulation.None,
2058
- styles: ["table.dataTable thead .sorting{background-image:none}table.dataTable thead .sorting_asc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAEtJREFUKJFjYBgywAOKMQALFjE/BgaGTCibjYGBYRM+kz0ZGBh2MTAw8DAwMHAxMDBsY2BgCCBGMQzg1IRNMV5NuVAJXIALqmYwAgBBkAlPRCLcLwAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAArzAAAK8wHvFRX1AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAFNJREFUKJHVzTEKgDAQRNGHZfBg2sSTeDMLKwXPYuVJbBKQQEyrH6bZ+cPyWWaElz4kR5cOJ1b0FXnBVRYjjmIUsGGqvX6OmnImYk+JLTkzpPyBGwrtCvfBe56nAAAAAElFTkSuQmCC)}table.dataTable thead th{color:#73818e;font-size:.75rem;font-weight:600;padding-top:16px;padding-bottom:4px;border-bottom:none;padding-left:8px}table.dataTable tbody tr:first-child td:first-child{border-radius:6px 0}table.dataTable tbody tr:first-child td:last-child{border-radius:0 6px}table.dataTable tbody tr{border-radius:6px}table.dataTable tbody tr td:first-child{border-left:1px solid #c2cfd6}table.dataTable tbody tr td:last-child{border-right:1px solid #c2cfd6}table.dataTable tbody tr td{padding-top:8px;padding-bottom:8px;border-top:1px solid #c2cfd6}table.dataTable tbody tr:last-child td:first-child{border-radius:0 0 0 6px}table.dataTable tbody tr:last-child td:last-child{border-radius:0 0 6px}table.dataTable tbody tr:last-child td{border-bottom:1px solid #c2cfd6}table.dataTable td.dataTables_empty{border:none!important}table.dataTable.no-footer{border-bottom:none}.dataTables_paginate .btn.previous{margin-right:8px}.dataTables_paginate .btn.next{margin-left:8px}.dataTables_info,.dataTables_paginate{margin-top:1rem}.dataTables_paginate span .btn{border-radius:1.5rem}.dataTables_filter{display:none}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:0;overflow:auto}.dataTables_paginate{display:none}.dataTable.processing{opacity:15%}.dataTables_wrapper .dataTables_processing{background:0 0;position:absolute;display:inline-block;top:25%;z-index:5;color:#73818e}.text-decoration-line-through{text-decoration:line-through!important}tr.removed .checkbox+label{visibility:hidden}"]
2097
+ styles: ["table.dataTable thead .sorting{background-image:none}table.dataTable thead .sorting_asc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAEtJREFUKJFjYBgywAOKMQALFjE/BgaGTCibjYGBYRM+kz0ZGBh2MTAw8DAwMHAxMDBsY2BgCCBGMQzg1IRNMV5NuVAJXIALqmYwAgBBkAlPRCLcLwAAAABJRU5ErkJggg==)}table.dataTable thead .sorting_desc{background-position:95% 60%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAArzAAAK8wHvFRX1AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAFNJREFUKJHVzTEKgDAQRNGHZfBg2sSTeDMLKwXPYuVJbBKQQEyrH6bZ+cPyWWaElz4kR5cOJ1b0FXnBVRYjjmIUsGGqvX6OmnImYk+JLTkzpPyBGwrtCvfBe56nAAAAAElFTkSuQmCC)}table.dataTable thead th{color:#73818e;font-size:.75rem;font-weight:600;padding-top:16px;padding-bottom:4px;border-bottom:none;padding-left:8px}table.dataTable tbody tr:first-child td:first-child{border-radius:6px 0}table.dataTable tbody tr:first-child td:last-child{border-radius:0 6px}table.dataTable tbody tr{border-radius:6px}table.dataTable tbody tr td:first-child{border-left:1px solid #c2cfd6}table.dataTable tbody tr td:last-child{border-right:1px solid #c2cfd6}table.dataTable tbody tr td{padding-top:8px;padding-bottom:8px;border-top:1px solid #c2cfd6}table.dataTable tbody tr:last-child td:first-child{border-radius:0 0 0 6px}table.dataTable tbody tr:last-child td:last-child{border-radius:0 0 6px}table.dataTable tbody tr:last-child td{border-bottom:1px solid #c2cfd6}table.dataTable td.dataTables_empty{border:none!important}table.dataTable .error-inner-message>small{overflow-wrap:break-word}table.dataTable.no-footer{border-bottom:none}.dataTables_paginate .btn.previous{margin-right:8px}.dataTables_paginate .btn.next{margin-left:8px}.dataTables_info,.dataTables_paginate{margin-top:1rem}.dataTables_paginate span .btn{border-radius:1.5rem}.dataTables_filter{display:none}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:0;overflow:auto}.dataTables_paginate{display:none}.dataTable.processing{opacity:15%}.dataTables_wrapper .dataTables_processing{background:0 0;position:absolute;display:inline-block;top:25%;z-index:5;color:#73818e}.text-decoration-line-through{text-decoration:line-through!important}tr.removed .checkbox+label{visibility:hidden}"]
2059
2098
  }] }
2060
2099
  ];
2061
2100
  /** @nocollapse */
@@ -2075,6 +2114,7 @@ var AdvancedTableComponent = /** @class */ (function () {
2075
2114
  AdvancedTableComponent.propDecorators = {
2076
2115
  table: [{ type: ViewChild, args: ['table',] }],
2077
2116
  emptyTable: [{ type: ViewChild, args: ['emptyTable',] }],
2117
+ errorTemplate: [{ type: ViewChild, args: ['errorTemplate',] }],
2078
2118
  loadingTable: [{ type: ViewChild, args: ['loadingTable',] }],
2079
2119
  height: [{ type: Input }],
2080
2120
  showActions: [{ type: Input }],
@@ -4904,7 +4944,11 @@ var TABLES_EL = {
4904
4944
  "MoveColumnHelp": "Χρησιμοποιήστε τα πλήκτρα 'Επάνω' και 'Κάτω' για να αλλάξετε την σειρά εμφάνισης των στηλών του πίνακα.",
4905
4945
  "UnknownColumn": "Άγνωστο",
4906
4946
  "SelectColumn": "Επιλογή",
4907
- "ActionLinkColumn": "Ενέργειες"
4947
+ "ActionLinkColumn": "Ενέργειες",
4948
+ "DataError": {
4949
+ "Title": "Σφάλμα κατά την παραλαβή των δεδομένων",
4950
+ "Message": "Συνέβη σφάλμα κατά την παραλαβή των δεδομένων. Προσπαθήστε ξανά ή τροποποιήστε τα στοιχεία αναζήτησης."
4951
+ }
4908
4952
  },
4909
4953
  "TrueFalse": {
4910
4954
  "long": {
@@ -5023,7 +5067,11 @@ var TABLES_EN = {
5023
5067
  "MoveColumnHelp": "Use 'Move up' and 'Move down' buttons to change column order.",
5024
5068
  "UnknownColumn": "Unknown",
5025
5069
  "SelectColumn": "Select",
5026
- "ActionLinkColumn": "Actions"
5070
+ "ActionLinkColumn": "Actions",
5071
+ "DataError": {
5072
+ "Title": "Error while getting data",
5073
+ "Message": "An error occurred while getting data. Please try again or change your criteria."
5074
+ }
5027
5075
  },
5028
5076
  "TrueFalse": {
5029
5077
  "long": {
@@ -5337,7 +5385,7 @@ var AdvancedSearchRouterState = /** @class */ (function (_super) {
5337
5385
  return AdvancedSearchRouterState;
5338
5386
  }(AdvancedSearchState));
5339
5387
 
5340
- var ɵ0 = FORMATTERS;
5388
+ var ɵ0$1 = FORMATTERS;
5341
5389
  var TablesModule = /** @class */ (function () {
5342
5390
  function TablesModule(_translateService) {
5343
5391
  this._translateService = _translateService;
@@ -5375,7 +5423,7 @@ var TablesModule = /** @class */ (function () {
5375
5423
  providers: [DatePipe, TemplatePipe,
5376
5424
  {
5377
5425
  provide: COLUMN_FORMATTERS,
5378
- useValue: ɵ0
5426
+ useValue: ɵ0$1
5379
5427
  },
5380
5428
  AdvancedTableConfigurationResolver,
5381
5429
  AdvancedSearchConfigurationResolver,
@@ -5454,6 +5502,6 @@ var TablesModule = /** @class */ (function () {
5454
5502
  * Generated bundle index. Do not edit.
5455
5503
  */
5456
5504
 
5457
- export { AdvancedSearchState as ɵa, AdvancedTableState as ɵc, AdvancedSearchRouterState as ɵd, AdvancedListComponent, AdvancedRowActionComponent, AdvancedSearchFormComponent, AdvancedSelectComponent, AdvancedSelectService, AdvancedTableConfigurationResolver, AdvancedSearchConfigurationResolver, AdvancedColumnFormatter, NestedPropertyFormatter, ButtonFormatter, LinkFormatter, ActionLinkFormatter, ActionButtonFormatter, ActionSplitButtonFormatter, SelectRowFormatter, TemplateFormatter, TrueFalseFormatter, TranslationFormatter, DateTimeFormatter, NgClassFormatter, LanguageFormatter, COLUMN_FORMATTERS, AdvancedTableConfiguration, AdvancedTableComponent, AdvancedTableSettingsComponent, AdvancedTableSearchBaseComponent, AdvancedTableSearchComponent, FORMATTERS, AdvancedFilterValueProvider, AdvancedTableModalBaseTemplate, AdvancedTableModalBaseComponent, SimpleHeaderToolsComponent, TableSimpleHeaderComponent, AdvancedTableNotNullError, AdvancedTableEditorDirective, BtnExpDirective, AdvancedAggregatorComponent, AdvancedAggregatorListComponent, AddItemsComponent, AdvancedAggregatorPipe, ParseTitlePipe, AdvancedAggregatorService, TablesModule, ɵ0, ActivatedTableService, ColumnSelectorService, ColumnSelectorComponent, initialState, tableInitialState, tableReducer, tableReducers, featureName, getTablesState, selectTable };
5505
+ export { AdvancedSearchState as ɵa, AdvancedTableState as ɵc, AdvancedSearchRouterState as ɵd, AdvancedListComponent, AdvancedRowActionComponent, AdvancedSearchFormComponent, AdvancedSelectComponent, AdvancedSelectService, AdvancedTableConfigurationResolver, AdvancedSearchConfigurationResolver, AdvancedColumnFormatter, NestedPropertyFormatter, ButtonFormatter, LinkFormatter, ActionLinkFormatter, ActionButtonFormatter, ActionSplitButtonFormatter, SelectRowFormatter, TemplateFormatter, TrueFalseFormatter, TranslationFormatter, DateTimeFormatter, NgClassFormatter, LanguageFormatter, COLUMN_FORMATTERS, AdvancedTableConfiguration, AdvancedTableComponent, ɵ0, AdvancedTableSettingsComponent, AdvancedTableSearchBaseComponent, AdvancedTableSearchComponent, FORMATTERS, AdvancedFilterValueProvider, AdvancedTableModalBaseTemplate, AdvancedTableModalBaseComponent, SimpleHeaderToolsComponent, TableSimpleHeaderComponent, AdvancedTableNotNullError, AdvancedTableEditorDirective, BtnExpDirective, AdvancedAggregatorComponent, AdvancedAggregatorListComponent, AddItemsComponent, AdvancedAggregatorPipe, ParseTitlePipe, AdvancedAggregatorService, TablesModule, ActivatedTableService, ColumnSelectorService, ColumnSelectorComponent, initialState, tableInitialState, tableReducer, tableReducers, featureName, getTablesState, selectTable };
5458
5506
 
5459
5507
  //# sourceMappingURL=universis-ngx-tables.js.map