@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
@@ -88,7 +88,7 @@ class AdvancedColumnFormatter {
88
88
  if (options.navigationExtras && typeof options.navigationExtras.skipLocationChange !== 'undefined') {
89
89
  skipLocationChange = options.navigationExtras.skipLocationChange;
90
90
  }
91
- return router.createUrlTree(commands, {
91
+ return router.createUrlTree(commands, options.navigationExtras = {
92
92
  relativeTo: activatedRoute,
93
93
  queryParams,
94
94
  replaceUrl,
@@ -2015,6 +2015,11 @@ class AdvancedTableSearchBaseComponent {
2015
2015
  }
2016
2016
  }
2017
2017
  }
2018
+ AdvancedTableSearchBaseComponent.decorators = [
2019
+ { type: Component, args: [{
2020
+ template: ''
2021
+ }] }
2022
+ ];
2018
2023
  AdvancedTableSearchBaseComponent.propDecorators = {
2019
2024
  filterChange: [{ type: Output }],
2020
2025
  filter: [{ type: Input }]
@@ -2156,12 +2161,12 @@ const AdvancedTableModalBaseTemplate = `
2156
2161
  <div class="row mt-3">
2157
2162
  <div class="col-12 col-lg-3">
2158
2163
  <div class="input-group mb-3">
2159
- <input spellcheck="false" type="text"
2164
+ <input spellcheck="false" type="text" #searchElement
2160
2165
  (keyup)="onKeyUp($event)" [(ngModel)]="searchText"
2161
2166
  class="form-control bg-gray-100 border-0"
2162
2167
  placeholder="{{'Tables.SearchPlaceholder' | translate}}" aria-label="Search" aria-describedby="basic-addon2">
2163
2168
  <div class="input-group-append">
2164
- <button class="btn btn-default bg-gray-100 border-0" type="button">
2169
+ <button class="btn btn-default bg-gray-100 border-0" type="button" (click)="onSearch()">
2165
2170
  <i class="fa fa-search text-secondary"></i>
2166
2171
  </button>
2167
2172
  </div>
@@ -2271,7 +2276,11 @@ class AdvancedTableModalBaseComponent extends RouterModalOkCancel {
2271
2276
  this._template = new TemplatePipe();
2272
2277
  }
2273
2278
  ngAfterViewInit() {
2274
- //
2279
+ setTimeout(() => {
2280
+ if (this.searchElement && this.searchElement.nativeElement) {
2281
+ this.searchElement.nativeElement.focus();
2282
+ }
2283
+ }, 0);
2275
2284
  }
2276
2285
  _getInputs(componentType) {
2277
2286
  const props = componentType.__prop__metadata__;
@@ -2395,12 +2404,17 @@ class AdvancedTableModalBaseComponent extends RouterModalOkCancel {
2395
2404
  this.advancedTable.dataTable.page.len(value).draw();
2396
2405
  }
2397
2406
  onKeyUp(event) {
2398
- if (event.code === 'Enter') {
2407
+ if (event.key === 'Enter' || event.key === 'Return') {
2399
2408
  // loading
2400
2409
  this.loading = true;
2401
2410
  this.advancedTable.search(event.target.value);
2402
2411
  }
2403
2412
  }
2413
+ onSearch() {
2414
+ // loading
2415
+ this.loading = true;
2416
+ this.advancedTable.search(this.searchText);
2417
+ }
2404
2418
  /**
2405
2419
  *
2406
2420
  * Reads the modal table and returns a list of filters to use in the table
@@ -2516,6 +2530,7 @@ AdvancedTableModalBaseComponent.propDecorators = {
2516
2530
  emptyTable: [{ type: ViewChild, args: ['emptyTable',] }],
2517
2531
  dropdownFilter: [{ type: ViewChild, args: ['dropdownFilter',] }],
2518
2532
  dropdownLength: [{ type: ViewChild, args: ['dropdownLength',] }],
2533
+ searchElement: [{ type: ViewChild, args: ['searchElement',] }],
2519
2534
  tableConfig: [{ type: Input, args: ['tableConfig',] }],
2520
2535
  tableConfigSrc: [{ type: Input, args: ['tableConfigSrc',] }],
2521
2536
  pageLength: [{ type: Input, args: ['pageLength',] }],
@@ -2525,11 +2540,20 @@ AdvancedTableModalBaseComponent.propDecorators = {
2525
2540
  };
2526
2541
 
2527
2542
  class AdvancedSelectComponent extends AdvancedTableModalBaseComponent {
2528
- constructor(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef) {
2543
+ constructor(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef, el) {
2529
2544
  super(router, activatedRoute, context, advancedFilterValueProvider, datePipe);
2530
2545
  this._modalRef = _modalRef;
2546
+ this.el = el;
2531
2547
  this.dismiss = new EventEmitter();
2532
2548
  }
2549
+ ngAfterViewInit() {
2550
+ super.ngAfterViewInit();
2551
+ setTimeout(() => {
2552
+ if (this.searchElement && this.searchElement.nativeElement) {
2553
+ this.searchElement.nativeElement.focus();
2554
+ }
2555
+ }, 0);
2556
+ }
2533
2557
  ok() {
2534
2558
  return __awaiter(this, void 0, void 0, function* () {
2535
2559
  this._modalRef.hide();
@@ -2547,7 +2571,7 @@ AdvancedSelectComponent.decorators = [
2547
2571
  { type: Component, args: [{
2548
2572
  // tslint:disable-next-line: component-selector
2549
2573
  selector: 'app-advanced-select',
2550
- 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",
2574
+ 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",
2551
2575
  encapsulation: ViewEncapsulation.None,
2552
2576
  styles: [`
2553
2577
  .modal-table .dataTables_wrapper {
@@ -2564,8 +2588,12 @@ AdvancedSelectComponent.ctorParameters = () => [
2564
2588
  { type: AngularDataContext },
2565
2589
  { type: AdvancedFilterValueProvider },
2566
2590
  { type: DatePipe },
2567
- { type: BsModalRef }
2591
+ { type: BsModalRef },
2592
+ { type: ElementRef }
2568
2593
  ];
2594
+ AdvancedSelectComponent.propDecorators = {
2595
+ searchElement: [{ type: ViewChild, args: ['searchElement',] }]
2596
+ };
2569
2597
 
2570
2598
  class AdvancedSelectService {
2571
2599
  constructor(_modal) {
@@ -3504,6 +3532,7 @@ AdvancedTableEditorDirective.propDecorators = {
3504
3532
  dirtyChange: [{ type: Output }]
3505
3533
  };
3506
3534
 
3535
+ const MAX_EXPORT_ITEMS = 500;
3507
3536
  class BtnExpDirective {
3508
3537
  constructor(_activatedTable, _context, _config, _translate, _loadingService, _errorService) {
3509
3538
  this._activatedTable = _activatedTable;
@@ -3525,10 +3554,16 @@ class BtnExpDirective {
3525
3554
  let query = this._context.model(queryModel).asQueryable();
3526
3555
  const queryParams = lastQuery.getParams();
3527
3556
  query = this.constructQuery(query, queryParams, tableConfig, serviceHeaders);
3528
- const maxExportItems = 1000;
3529
- {
3557
+ // get export settings
3558
+ const exportSettings = this._config.settings;
3559
+ // get export limit
3560
+ const maxExportItems = exportSettings && exportSettings.tables && exportSettings.tables.exportLimit;
3561
+ if (maxExportItems && typeof maxExportItems === 'number' && maxExportItems > 0) {
3530
3562
  query.skip(0).take(maxExportItems);
3531
3563
  }
3564
+ else {
3565
+ query.skip(0).take(MAX_EXPORT_ITEMS);
3566
+ }
3532
3567
  // This constructs the URI based on the way @themost does
3533
3568
  const url = this.constructURL(query);
3534
3569
  this.downloadFile(url, query.getService().getHeaders(), query.getModel());
@@ -4074,14 +4109,14 @@ class AddItemsComponent extends RouterModalOkCancel {
4074
4109
  if (this._modalService.modalRef) {
4075
4110
  this._modalService.modalRef.hide();
4076
4111
  }
4077
- return resolve();
4112
+ return resolve(null);
4078
4113
  }, (err) => {
4079
4114
  this.loading = false;
4080
4115
  // ensure that loading is hidden
4081
4116
  this._loadingService.hideLoading();
4082
4117
  // set last error
4083
4118
  this.lastError = err;
4084
- return resolve();
4119
+ return resolve(null);
4085
4120
  });
4086
4121
  });
4087
4122
  }
@@ -4279,6 +4314,9 @@ const TABLES_EL = {
4279
4314
  "No": "Όχι"
4280
4315
  }
4281
4316
  },
4317
+ "Settings": {
4318
+ "OperationCompleted": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
4319
+ },
4282
4320
  "AdvancedSearch": {
4283
4321
  "Choose": "<Επιλέξτε μια αναζήτηση>",
4284
4322
  "ChooseDate": "Επιλογή ημερομηνίας",
@@ -4382,6 +4420,9 @@ const TABLES_EN = {
4382
4420
  "No": "No"
4383
4421
  }
4384
4422
  },
4423
+ "Settings": {
4424
+ "OperationCompleted": "The operation was completed successfully."
4425
+ },
4385
4426
  "AdvancedSearch": {
4386
4427
  "Choose": "<Select a saved search>",
4387
4428
  "ChooseDate": "Choose date",
@@ -4712,6 +4753,7 @@ TablesModule.decorators = [
4712
4753
  ],
4713
4754
  declarations: [
4714
4755
  AdvancedTableComponent,
4756
+ AdvancedTableSearchBaseComponent,
4715
4757
  AdvancedTableSearchComponent,
4716
4758
  BtnExpDirective,
4717
4759
  AdvancedTableSettingsComponent,