@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
@@ -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
 
@@ -4284,14 +4314,14 @@ var AddItemsComponent = /** @class */ (function (_super) {
4284
4314
  if (_this._modalService.modalRef) {
4285
4315
  _this._modalService.modalRef.hide();
4286
4316
  }
4287
- return resolve();
4317
+ return resolve(null);
4288
4318
  }, function (err) {
4289
4319
  _this.loading = false;
4290
4320
  // ensure that loading is hidden
4291
4321
  _this._loadingService.hideLoading();
4292
4322
  // set last error
4293
4323
  _this.lastError = err;
4294
- return resolve();
4324
+ return resolve(null);
4295
4325
  });
4296
4326
  });
4297
4327
  }
@@ -4495,6 +4525,9 @@ var TABLES_EL = {
4495
4525
  "No": "Όχι"
4496
4526
  }
4497
4527
  },
4528
+ "Settings": {
4529
+ "OperationCompleted": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
4530
+ },
4498
4531
  "AdvancedSearch": {
4499
4532
  "Choose": "<Επιλέξτε μια αναζήτηση>",
4500
4533
  "ChooseDate": "Επιλογή ημερομηνίας",
@@ -4598,6 +4631,9 @@ var TABLES_EN = {
4598
4631
  "No": "No"
4599
4632
  }
4600
4633
  },
4634
+ "Settings": {
4635
+ "OperationCompleted": "The operation was completed successfully."
4636
+ },
4601
4637
  "AdvancedSearch": {
4602
4638
  "Choose": "<Select a saved search>",
4603
4639
  "ChooseDate": "Choose date",
@@ -4946,6 +4982,7 @@ var TablesModule = /** @class */ (function () {
4946
4982
  ],
4947
4983
  declarations: [
4948
4984
  AdvancedTableComponent,
4985
+ AdvancedTableSearchBaseComponent,
4949
4986
  AdvancedTableSearchComponent,
4950
4987
  BtnExpDirective,
4951
4988
  AdvancedTableSettingsComponent,