@universis/ngx-tables 0.7.14 → 0.7.19

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 (35) hide show
  1. package/bundles/universis-ngx-tables.umd.js +46 -9
  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/advanced-aggregator.js +2 -0
  6. package/esm2015/lib/components/add-items/add-items.component.js +3 -3
  7. package/esm2015/lib/components/advanced-select/advanced-select.component.js +18 -5
  8. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +7 -2
  9. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +1 -1
  10. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +2 -2
  11. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +15 -5
  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/esm5/lib/advanced-aggregator.js +2 -0
  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/i18n/tables.el.js +4 -1
  23. package/esm5/lib/i18n/tables.en.js +4 -1
  24. package/esm5/lib/tables.module.js +3 -1
  25. package/fesm2015/universis-ngx-tables.js +45 -10
  26. package/fesm2015/universis-ngx-tables.js.map +1 -1
  27. package/fesm5/universis-ngx-tables.js +46 -9
  28. package/fesm5/universis-ngx-tables.js.map +1 -1
  29. package/lib/advanced-aggregator.d.ts +55 -61
  30. package/lib/components/advanced-select/advanced-select.component.d.ts +6 -3
  31. package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +3 -1
  32. package/lib/i18n/tables.el.d.ts +3 -0
  33. package/lib/i18n/tables.en.d.ts +3 -0
  34. package/package.json +1 -1
  35. package/universis-ngx-tables.metadata.json +1 -1
@@ -242,7 +242,7 @@
242
242
  if (options.navigationExtras && typeof options.navigationExtras.skipLocationChange !== 'undefined') {
243
243
  skipLocationChange = options.navigationExtras.skipLocationChange;
244
244
  }
245
- return router.createUrlTree(commands, {
245
+ return router.createUrlTree(commands, options.navigationExtras = {
246
246
  relativeTo: activatedRoute,
247
247
  queryParams: queryParams_1,
248
248
  replaceUrl: replaceUrl,
@@ -2291,6 +2291,11 @@
2291
2291
  this.filterChange.emit(this._filter);
2292
2292
  }
2293
2293
  };
2294
+ AdvancedTableSearchBaseComponent.decorators = [
2295
+ { type: i0.Component, args: [{
2296
+ template: ''
2297
+ }] }
2298
+ ];
2294
2299
  AdvancedTableSearchBaseComponent.propDecorators = {
2295
2300
  filterChange: [{ type: i0.Output }],
2296
2301
  filter: [{ type: i0.Input }]
@@ -2431,7 +2436,7 @@
2431
2436
 
2432
2437
  // important: export this const due to AOT compilation errors
2433
2438
  // see more https://angular.io/guide/aot-metadata-errors#only-initialized-variables
2434
- 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";
2439
+ 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";
2435
2440
  var AdvancedTableModalBaseComponent = /** @class */ (function (_super) {
2436
2441
  __extends(AdvancedTableModalBaseComponent, _super);
2437
2442
  function AdvancedTableModalBaseComponent(_router, _activatedRoute, _context, advancedFilterValueProvider, datePipe) {
@@ -2454,7 +2459,12 @@
2454
2459
  return _this;
2455
2460
  }
2456
2461
  AdvancedTableModalBaseComponent.prototype.ngAfterViewInit = function () {
2457
- //
2462
+ var _this = this;
2463
+ setTimeout(function () {
2464
+ if (_this.searchElement && _this.searchElement.nativeElement) {
2465
+ _this.searchElement.nativeElement.focus();
2466
+ }
2467
+ }, 0);
2458
2468
  };
2459
2469
  AdvancedTableModalBaseComponent.prototype._getInputs = function (componentType) {
2460
2470
  var props = componentType.__prop__metadata__;
@@ -2579,12 +2589,17 @@
2579
2589
  this.advancedTable.dataTable.page.len(value).draw();
2580
2590
  };
2581
2591
  AdvancedTableModalBaseComponent.prototype.onKeyUp = function (event) {
2582
- if (event.code === 'Enter') {
2592
+ if (event.key === 'Enter' || event.key === 'Return') {
2583
2593
  // loading
2584
2594
  this.loading = true;
2585
2595
  this.advancedTable.search(event.target.value);
2586
2596
  }
2587
2597
  };
2598
+ AdvancedTableModalBaseComponent.prototype.onSearch = function () {
2599
+ // loading
2600
+ this.loading = true;
2601
+ this.advancedTable.search(this.searchText);
2602
+ };
2588
2603
  /**
2589
2604
  *
2590
2605
  * Reads the modal table and returns a list of filters to use in the table
@@ -2714,6 +2729,7 @@
2714
2729
  emptyTable: [{ type: i0.ViewChild, args: ['emptyTable',] }],
2715
2730
  dropdownFilter: [{ type: i0.ViewChild, args: ['dropdownFilter',] }],
2716
2731
  dropdownLength: [{ type: i0.ViewChild, args: ['dropdownLength',] }],
2732
+ searchElement: [{ type: i0.ViewChild, args: ['searchElement',] }],
2717
2733
  tableConfig: [{ type: i0.Input, args: ['tableConfig',] }],
2718
2734
  tableConfigSrc: [{ type: i0.Input, args: ['tableConfigSrc',] }],
2719
2735
  pageLength: [{ type: i0.Input, args: ['pageLength',] }],
@@ -2726,12 +2742,22 @@
2726
2742
 
2727
2743
  var AdvancedSelectComponent = /** @class */ (function (_super) {
2728
2744
  __extends(AdvancedSelectComponent, _super);
2729
- function AdvancedSelectComponent(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef) {
2745
+ function AdvancedSelectComponent(router, activatedRoute, context, advancedFilterValueProvider, datePipe, _modalRef, el) {
2730
2746
  var _this = _super.call(this, router, activatedRoute, context, advancedFilterValueProvider, datePipe) || this;
2731
2747
  _this._modalRef = _modalRef;
2748
+ _this.el = el;
2732
2749
  _this.dismiss = new i0.EventEmitter();
2733
2750
  return _this;
2734
2751
  }
2752
+ AdvancedSelectComponent.prototype.ngAfterViewInit = function () {
2753
+ var _this = this;
2754
+ _super.prototype.ngAfterViewInit.call(this);
2755
+ setTimeout(function () {
2756
+ if (_this.searchElement && _this.searchElement.nativeElement) {
2757
+ _this.searchElement.nativeElement.focus();
2758
+ }
2759
+ }, 0);
2760
+ };
2735
2761
  AdvancedSelectComponent.prototype.ok = function () {
2736
2762
  return __awaiter(this, void 0, void 0, function () {
2737
2763
  return __generator(this, function (_a) {
@@ -2754,7 +2780,7 @@
2754
2780
  { type: i0.Component, args: [{
2755
2781
  // tslint:disable-next-line: component-selector
2756
2782
  selector: 'app-advanced-select',
2757
- 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",
2783
+ 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",
2758
2784
  encapsulation: i0.ViewEncapsulation.None,
2759
2785
  styles: ["\n .modal-table .dataTables_wrapper {\n height: 50vh;\n overflow-y: auto;\n }\n "]
2760
2786
  }] }
@@ -2767,9 +2793,13 @@
2767
2793
  { type: i1.AngularDataContext },
2768
2794
  { type: AdvancedFilterValueProvider },
2769
2795
  { type: common.DatePipe },
2770
- { type: modal.BsModalRef }
2796
+ { type: modal.BsModalRef },
2797
+ { type: i0.ElementRef }
2771
2798
  ];
2772
2799
  };
2800
+ AdvancedSelectComponent.propDecorators = {
2801
+ searchElement: [{ type: i0.ViewChild, args: ['searchElement',] }]
2802
+ };
2773
2803
  return AdvancedSelectComponent;
2774
2804
  }(AdvancedTableModalBaseComponent));
2775
2805
 
@@ -4539,14 +4569,14 @@
4539
4569
  if (_this._modalService.modalRef) {
4540
4570
  _this._modalService.modalRef.hide();
4541
4571
  }
4542
- return resolve();
4572
+ return resolve(null);
4543
4573
  }, function (err) {
4544
4574
  _this.loading = false;
4545
4575
  // ensure that loading is hidden
4546
4576
  _this._loadingService.hideLoading();
4547
4577
  // set last error
4548
4578
  _this.lastError = err;
4549
- return resolve();
4579
+ return resolve(null);
4550
4580
  });
4551
4581
  });
4552
4582
  }
@@ -4754,6 +4784,9 @@
4754
4784
  "No": "Όχι"
4755
4785
  }
4756
4786
  },
4787
+ "Settings": {
4788
+ "OperationCompleted": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
4789
+ },
4757
4790
  "AdvancedSearch": {
4758
4791
  "Choose": "<Επιλέξτε μια αναζήτηση>",
4759
4792
  "ChooseDate": "Επιλογή ημερομηνίας",
@@ -4857,6 +4890,9 @@
4857
4890
  "No": "No"
4858
4891
  }
4859
4892
  },
4893
+ "Settings": {
4894
+ "OperationCompleted": "The operation was completed successfully."
4895
+ },
4860
4896
  "AdvancedSearch": {
4861
4897
  "Choose": "<Select a saved search>",
4862
4898
  "ChooseDate": "Choose date",
@@ -5213,6 +5249,7 @@
5213
5249
  ],
5214
5250
  declarations: [
5215
5251
  AdvancedTableComponent,
5252
+ AdvancedTableSearchBaseComponent,
5216
5253
  AdvancedTableSearchComponent,
5217
5254
  BtnExpDirective,
5218
5255
  AdvancedTableSettingsComponent,