@universis/ngx-tables 0.7.13 → 0.7.17

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.
Files changed (37) hide show
  1. package/bundles/universis-ngx-tables.umd.js +49 -11
  2. package/bundles/universis-ngx-tables.umd.js.map +1 -1
  3. package/bundles/universis-ngx-tables.umd.min.js +1 -1
  4. package/bundles/universis-ngx-tables.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/add-items/add-items.component.js +3 -3
  6. package/esm2015/lib/components/advanced-select/advanced-select.component.js +18 -5
  7. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +7 -2
  8. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +1 -1
  9. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +2 -2
  10. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +15 -5
  11. package/esm2015/lib/directives/btnexp.directive.js +5 -2
  12. package/esm2015/lib/i18n/tables.el.js +4 -1
  13. package/esm2015/lib/i18n/tables.en.js +4 -1
  14. package/esm2015/lib/tables.module.js +3 -1
  15. package/esm2015/public_api.js +2 -1
  16. package/esm5/lib/components/add-items/add-items.component.js +3 -3
  17. package/esm5/lib/components/advanced-select/advanced-select.component.js +19 -5
  18. package/esm5/lib/components/advanced-table/advanced-table-search-base.js +7 -2
  19. package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +1 -1
  20. package/esm5/lib/components/advanced-table/advanced-table.formatters.js +2 -2
  21. package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +15 -4
  22. package/esm5/lib/directives/btnexp.directive.js +4 -3
  23. package/esm5/lib/i18n/tables.el.js +4 -1
  24. package/esm5/lib/i18n/tables.en.js +4 -1
  25. package/esm5/lib/tables.module.js +3 -1
  26. package/esm5/public_api.js +2 -1
  27. package/fesm2015/universis-ngx-tables.js +54 -12
  28. package/fesm2015/universis-ngx-tables.js.map +1 -1
  29. package/fesm5/universis-ngx-tables.js +49 -11
  30. package/fesm5/universis-ngx-tables.js.map +1 -1
  31. package/lib/components/advanced-select/advanced-select.component.d.ts +6 -3
  32. package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +3 -1
  33. package/lib/i18n/tables.el.d.ts +3 -0
  34. package/lib/i18n/tables.en.d.ts +3 -0
  35. package/package.json +1 -1
  36. package/public_api.d.ts +0 -1
  37. package/universis-ngx-tables.metadata.json +1 -1
@@ -90,7 +90,7 @@ var AdvancedColumnFormatter = /** @class */ (function () {
90
90
  if (options.navigationExtras && typeof options.navigationExtras.skipLocationChange !== 'undefined') {
91
91
  skipLocationChange = options.navigationExtras.skipLocationChange;
92
92
  }
93
- return router.createUrlTree(commands, {
93
+ return router.createUrlTree(commands, options.navigationExtras = {
94
94
  relativeTo: activatedRoute,
95
95
  queryParams: queryParams_1,
96
96
  replaceUrl: replaceUrl,
@@ -2108,6 +2108,11 @@ var AdvancedTableSearchBaseComponent = /** @class */ (function () {
2108
2108
  this.filterChange.emit(this._filter);
2109
2109
  }
2110
2110
  };
2111
+ AdvancedTableSearchBaseComponent.decorators = [
2112
+ { type: Component, args: [{
2113
+ template: ''
2114
+ }] }
2115
+ ];
2111
2116
  AdvancedTableSearchBaseComponent.propDecorators = {
2112
2117
  filterChange: [{ type: Output }],
2113
2118
  filter: [{ type: Input }]
@@ -2246,7 +2251,7 @@ var AdvancedSearchFormComponent = /** @class */ (function (_super) {
2246
2251
 
2247
2252
  // important: export this const due to AOT compilation errors
2248
2253
  // see more https://angular.io/guide/aot-metadata-errors#only-initialized-variables
2249
- var AdvancedTableModalBaseTemplate = "\n<div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\"\n (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\"\n placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\" aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\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\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div #dropdownFilter class=\"dropdown ml-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\" dropdownToggle>\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <button type=\"button\" class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\" (click)=\"onFilterSelect(filter)\">\n {{ filter.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0 d-none\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit()\"\n (load)=\"onDataLoad($event)\"\n [selectable]=\"true\"\n [multipleSelect]=\"true\"\n [scrollX]=\"false\" [scrollY]=\"320\"\n [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\"\n [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div #dropdownLength class=\"dropdown mr-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownPageSize\" data-toggle=\"dropdown\"\n dropdownToggle>\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\"\n class=\"dropdown-item dropdown-item-theme\"\n type=\"button\" *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\" (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n";
2254
+ var AdvancedTableModalBaseTemplate = "\n<div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" #searchElement\n (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\"\n placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\" aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\" (click)=\"onSearch()\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\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\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div #dropdownFilter class=\"dropdown ml-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\" dropdownToggle>\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <button type=\"button\" class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\" (click)=\"onFilterSelect(filter)\">\n {{ filter.name | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0 d-none\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit()\"\n (load)=\"onDataLoad($event)\"\n [selectable]=\"true\"\n [multipleSelect]=\"true\"\n [scrollX]=\"false\" [scrollY]=\"320\"\n [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\"\n [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div #dropdownLength class=\"dropdown mr-3\">\n <button class=\"btn btn-gray-100 dropdown-toggle\"\n type=\"button\" id=\"dropdownPageSize\" data-toggle=\"dropdown\"\n dropdownToggle>\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\"\n class=\"dropdown-item dropdown-item-theme\"\n type=\"button\" *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\" (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n";
2250
2255
  var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2251
2256
  __extends(AdvancedTableModalBaseComponent, _super);
2252
2257
  function AdvancedTableModalBaseComponent(_router, _activatedRoute, _context, advancedFilterValueProvider, datePipe) {
@@ -2269,7 +2274,12 @@ var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2269
2274
  return _this;
2270
2275
  }
2271
2276
  AdvancedTableModalBaseComponent.prototype.ngAfterViewInit = function () {
2272
- //
2277
+ var _this = this;
2278
+ setTimeout(function () {
2279
+ if (_this.searchElement && _this.searchElement.nativeElement) {
2280
+ _this.searchElement.nativeElement.focus();
2281
+ }
2282
+ }, 0);
2273
2283
  };
2274
2284
  AdvancedTableModalBaseComponent.prototype._getInputs = function (componentType) {
2275
2285
  var props = componentType.__prop__metadata__;
@@ -2394,12 +2404,17 @@ var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2394
2404
  this.advancedTable.dataTable.page.len(value).draw();
2395
2405
  };
2396
2406
  AdvancedTableModalBaseComponent.prototype.onKeyUp = function (event) {
2397
- if (event.code === 'Enter') {
2407
+ if (event.key === 'Enter' || event.key === 'Return') {
2398
2408
  // loading
2399
2409
  this.loading = true;
2400
2410
  this.advancedTable.search(event.target.value);
2401
2411
  }
2402
2412
  };
2413
+ AdvancedTableModalBaseComponent.prototype.onSearch = function () {
2414
+ // loading
2415
+ this.loading = true;
2416
+ this.advancedTable.search(this.searchText);
2417
+ };
2403
2418
  /**
2404
2419
  *
2405
2420
  * Reads the modal table and returns a list of filters to use in the table
@@ -2525,6 +2540,7 @@ var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2525
2540
  emptyTable: [{ type: ViewChild, args: ['emptyTable',] }],
2526
2541
  dropdownFilter: [{ type: ViewChild, args: ['dropdownFilter',] }],
2527
2542
  dropdownLength: [{ type: ViewChild, args: ['dropdownLength',] }],
2543
+ searchElement: [{ type: ViewChild, args: ['searchElement',] }],
2528
2544
  tableConfig: [{ type: Input, args: ['tableConfig',] }],
2529
2545
  tableConfigSrc: [{ type: Input, args: ['tableConfigSrc',] }],
2530
2546
  pageLength: [{ type: Input, args: ['pageLength',] }],
@@ -2537,12 +2553,22 @@ var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2537
2553
 
2538
2554
  var AdvancedSelectComponent = /** @class */ (function (_super) {
2539
2555
  __extends(AdvancedSelectComponent, _super);
2540
- function AdvancedSelectComponent(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef) {
2556
+ function AdvancedSelectComponent(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef, el) {
2541
2557
  var _this = _super.call(this, router, activatedRoute, context, advancedFilterValueProvider, datePipe) || this;
2542
2558
  _this._modalRef = _modalRef;
2559
+ _this.el = el;
2543
2560
  _this.dismiss = new EventEmitter();
2544
2561
  return _this;
2545
2562
  }
2563
+ AdvancedSelectComponent.prototype.ngAfterViewInit = function () {
2564
+ var _this = this;
2565
+ _super.prototype.ngAfterViewInit.call(this);
2566
+ setTimeout(function () {
2567
+ if (_this.searchElement && _this.searchElement.nativeElement) {
2568
+ _this.searchElement.nativeElement.focus();
2569
+ }
2570
+ }, 0);
2571
+ };
2546
2572
  AdvancedSelectComponent.prototype.ok = function () {
2547
2573
  return __awaiter(this, void 0, void 0, function () {
2548
2574
  return __generator(this, function (_a) {
@@ -2565,7 +2591,7 @@ var AdvancedSelectComponent = /** @class */ (function (_super) {
2565
2591
  { type: Component, args: [{
2566
2592
  // tslint:disable-next-line: component-selector
2567
2593
  selector: 'app-advanced-select',
2568
- template: "<div class=\"modal-header\" *ngIf=\"modalTitle\">\n <h5 class=\"modal-title\">{{modalTitle | translate}}</h5>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" class=\"close\" data-dismiss=\"modal\"\n aria-label=\"Cancel\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\"\n class=\"form-control bg-gray-100 border-0\" placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\"\n aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\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\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div class=\"dropdown ml-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\">\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <a class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\"\n (click)=\"advancedSearch(filter.filter ? filter : '')\">\n {{ filter.name | translate }}\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0 d-none\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit()\" (load)=\"onDataLoad($event)\"\n [autoLoad]=\"true\"\n [selectable]=\"true\" [multipleSelect]=\"true\" [scrollX]=\"false\" [scrollY]=\"320\" [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\" [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div class=\"dropdown mr-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownPageSize\"\n data-toggle=\"dropdown\">\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\" class=\"dropdown-item dropdown-item-theme\" type=\"button\"\n *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\"\n (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\" type=\"button\" [ngClass]=\"okButtonClass\">\n {{okButtonText | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\"\n data-dismiss=\"modal\">\n {{ cancelButtonText | translate}}\n </button>\n</div>\n",
2594
+ template: "<div class=\"modal-header\" *ngIf=\"modalTitle\">\n <h5 class=\"modal-title\">{{modalTitle | translate}}</h5>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" class=\"close\" data-dismiss=\"modal\"\n aria-label=\"Cancel\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div>\n <!-- search -->\n <div class=\"row mt-3\">\n <div class=\"col-12 col-lg-3\">\n <div class=\"input-group mb-3\">\n <input spellcheck=\"false\" type=\"text\" #searchElement (keyup)=\"onKeyUp($event)\" [(ngModel)]=\"searchText\" \n class=\"form-control bg-gray-100 border-0\" placeholder=\"{{'Tables.SearchPlaceholder' | translate}}\"\n aria-label=\"Search\" aria-describedby=\"basic-addon2\">\n <div class=\"input-group-append\">\n <button class=\"btn btn-default bg-gray-100 border-0\" type=\"button\" (click)=\"onSearch()\">\n <i class=\"fa fa-search text-secondary\"></i>\n </button>\n </div>\n </div>\n </div>\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\n </div>\n </div>\n <div class=\"col-12 col-lg-5\">\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-gray-100\">\n <i class=\"fa fa-sliders-h pr-2 text-secondary\" aria-hidden=\"true\"></i>{{'Tables.Filters' | translate}}\n </button>\n <div class=\"dropdown ml-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownDefaultFilters\"\n data-toggle=\"dropdown\">\n {{ this.defaultFilter.name | translate }}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownDefaultFilters\">\n <a class=\"dropdown-item\" *ngFor=\"let filter of defaultFilters\"\n (click)=\"advancedSearch(filter.filter ? filter : '')\">\n {{ filter.name | translate }}\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col text-lg-right mt-3 mt-lg-0 d-none\">\n <button [disabled]=\"true\" class=\"btn rounded-pill btn-outline-theme\">\n <span class=\"pr-2 font-lg\">+</span><span [translate]=\"'Tables.AddItem'\"></span>\n </button>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\" [ngClass]=\"{ 'component-loading': loading}\">\n <app-advanced-table #advancedTable (init)=\"onTableInit()\" (load)=\"onDataLoad($event)\"\n [autoLoad]=\"true\"\n [selectable]=\"true\" [multipleSelect]=\"true\" [scrollX]=\"false\" [scrollY]=\"320\" [pageLength]=\"pageLength\"\n [scrollable]=\"false\" [showFooter]=\"false\" [showActions]=\"false\" [lengthMenu]=\"lengthMenu\"\n [config]=\"tableConfig\" [configSrc]=\"tableConfigSrc\"></app-advanced-table>\n </div>\n </div>\n <div class=\"row mt-3 table-custom-pager\">\n <div class=\"col-12 d-flex\" *ngIf=\"recordsTotal\">\n <div class=\"mt-2 ml-auto mr-3 text-secondary\" [translate]=\"'Tables.RecordsPerPage'\"></div>\n <div class=\"dropdown mr-3\">\n <button dropdownToggle class=\"btn btn-gray-100 dropdown-toggle\" type=\"button\" id=\"dropdownPageSize\"\n data-toggle=\"dropdown\">\n {{pageLength}}\n </button>\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownPageSize\">\n <button (click)=\"setLength(item)\" class=\"dropdown-item dropdown-item-theme\" type=\"button\"\n *ngFor=\"let item of lengthMenu\">{{item}}</button>\n </div>\n </div>\n <div class=\"mt-2 mr-2\" [translate]=\"'Tables.PageInfo'\" [translateParams]=\"pageInfo\"></div>\n <button [disabled]=\"pageInfo && pageInfo.page === 0\" class=\"btn text-nowrap\" (click)=\"firstPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===0\" class=\"btn\" (click)=\"previousPage()\">\n <i class=\"fa fa-chevron-left text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn\" (click)=\"nextPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n <button [disabled]=\"pageInfo && pageInfo.page===pageInfo.pages-1\" class=\"btn text-nowrap\"\n (click)=\"lastPage()\">\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n <i class=\"fa fa-chevron-right text-color-theme\"></i>\n </button>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer justify-content-end\">\n <button [disabled]=\"okButtonDisabled\" (click)=\"ok()\" type=\"button\" [ngClass]=\"okButtonClass\">\n {{okButtonText | translate}}\n </button>\n <button [disabled]=\"cancelButtonDisabled\" (click)=\"cancel()\" type=\"button\" [ngClass]=\"cancelButtonClass\"\n data-dismiss=\"modal\">\n {{ cancelButtonText | translate}}\n </button>\n</div>\n",
2569
2595
  encapsulation: ViewEncapsulation.None,
2570
2596
  styles: ["\n .modal-table .dataTables_wrapper {\n height: 50vh;\n overflow-y: auto;\n }\n "]
2571
2597
  }] }
@@ -2577,8 +2603,12 @@ var AdvancedSelectComponent = /** @class */ (function (_super) {
2577
2603
  { type: AngularDataContext },
2578
2604
  { type: AdvancedFilterValueProvider },
2579
2605
  { type: DatePipe },
2580
- { type: BsModalRef }
2606
+ { type: BsModalRef },
2607
+ { type: ElementRef }
2581
2608
  ]; };
2609
+ AdvancedSelectComponent.propDecorators = {
2610
+ searchElement: [{ type: ViewChild, args: ['searchElement',] }]
2611
+ };
2582
2612
  return AdvancedSelectComponent;
2583
2613
  }(AdvancedTableModalBaseComponent));
2584
2614
 
@@ -3623,7 +3653,7 @@ var BtnExpDirective = /** @class */ (function () {
3623
3653
  }
3624
3654
  BtnExpDirective.prototype.clickEvent = function (event) {
3625
3655
  return __awaiter(this, void 0, void 0, function () {
3626
- var lastQuery, tableConfig, serviceHeaders, queryModel, query, queryParams, maxExportItems, url;
3656
+ var lastQuery, tableConfig, serviceHeaders, queryModel, query, queryParams, exportSettings, maxExportItems, url;
3627
3657
  return __generator(this, function (_a) {
3628
3658
  event.preventDefault();
3629
3659
  event.stopPropagation();
@@ -3635,7 +3665,8 @@ var BtnExpDirective = /** @class */ (function () {
3635
3665
  query = this._context.model(queryModel).asQueryable();
3636
3666
  queryParams = lastQuery.getParams();
3637
3667
  query = this.constructQuery(query, queryParams, tableConfig, serviceHeaders);
3638
- maxExportItems = 1000;
3668
+ exportSettings = this._config.settings;
3669
+ maxExportItems = exportSettings && exportSettings.tables && exportSettings.tables.exportLimit;
3639
3670
  if (maxExportItems && typeof maxExportItems === 'number' && maxExportItems > 0) {
3640
3671
  query.skip(0).take(maxExportItems);
3641
3672
  }
@@ -4283,14 +4314,14 @@ var AddItemsComponent = /** @class */ (function (_super) {
4283
4314
  if (_this._modalService.modalRef) {
4284
4315
  _this._modalService.modalRef.hide();
4285
4316
  }
4286
- return resolve();
4317
+ return resolve(null);
4287
4318
  }, function (err) {
4288
4319
  _this.loading = false;
4289
4320
  // ensure that loading is hidden
4290
4321
  _this._loadingService.hideLoading();
4291
4322
  // set last error
4292
4323
  _this.lastError = err;
4293
- return resolve();
4324
+ return resolve(null);
4294
4325
  });
4295
4326
  });
4296
4327
  }
@@ -4494,6 +4525,9 @@ var TABLES_EL = {
4494
4525
  "No": "Όχι"
4495
4526
  }
4496
4527
  },
4528
+ "Settings": {
4529
+ "OperationCompleted": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
4530
+ },
4497
4531
  "AdvancedSearch": {
4498
4532
  "Choose": "<Επιλέξτε μια αναζήτηση>",
4499
4533
  "ChooseDate": "Επιλογή ημερομηνίας",
@@ -4597,6 +4631,9 @@ var TABLES_EN = {
4597
4631
  "No": "No"
4598
4632
  }
4599
4633
  },
4634
+ "Settings": {
4635
+ "OperationCompleted": "The operation was completed successfully."
4636
+ },
4600
4637
  "AdvancedSearch": {
4601
4638
  "Choose": "<Select a saved search>",
4602
4639
  "ChooseDate": "Choose date",
@@ -4945,6 +4982,7 @@ var TablesModule = /** @class */ (function () {
4945
4982
  ],
4946
4983
  declarations: [
4947
4984
  AdvancedTableComponent,
4985
+ AdvancedTableSearchBaseComponent,
4948
4986
  AdvancedTableSearchComponent,
4949
4987
  BtnExpDirective,
4950
4988
  AdvancedTableSettingsComponent,