@seniorsistemas/angular-components 14.10.2 → 14.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +458 -98
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/components/lookup/lookup.component.d.ts +1 -0
  6. package/components/mouse-events/double-click.directive.d.ts +9 -0
  7. package/components/mouse-events/index.d.ts +1 -0
  8. package/components/table/frozen-position/frozen-position.directive.d.ts +22 -0
  9. package/components/table/index.d.ts +1 -0
  10. package/components/table/table-paging/table-paging.component.d.ts +27 -0
  11. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +6 -2
  12. package/esm2015/components/dynamic-form/dynamic-form.module.js +4 -2
  13. package/esm2015/components/mouse-events/double-click.directive.js +38 -0
  14. package/esm2015/components/mouse-events/index.js +2 -1
  15. package/esm2015/components/mouse-events/mouse-events.module.js +10 -3
  16. package/esm2015/components/table/frozen-position/frozen-position.directive.js +129 -0
  17. package/esm2015/components/table/index.js +2 -1
  18. package/esm2015/components/table/table-paging/table-paging.component.js +111 -0
  19. package/esm2015/components/table/table.module.js +14 -4
  20. package/esm2015/seniorsistemas-angular-components.js +38 -35
  21. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +6 -2
  22. package/esm5/components/dynamic-form/dynamic-form.module.js +4 -2
  23. package/esm5/components/mouse-events/double-click.directive.js +40 -0
  24. package/esm5/components/mouse-events/index.js +2 -1
  25. package/esm5/components/mouse-events/mouse-events.module.js +10 -3
  26. package/esm5/components/table/frozen-position/frozen-position.directive.js +189 -0
  27. package/esm5/components/table/index.js +2 -1
  28. package/esm5/components/table/table-paging/table-paging.component.js +122 -0
  29. package/esm5/components/table/table.module.js +14 -4
  30. package/esm5/seniorsistemas-angular-components.js +38 -35
  31. package/fesm2015/seniorsistemas-angular-components.js +344 -62
  32. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  33. package/fesm5/seniorsistemas-angular-components.js +423 -68
  34. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  35. package/package.json +1 -1
  36. package/seniorsistemas-angular-components.d.ts +37 -34
  37. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -2373,6 +2373,10 @@
2373
2373
  prefix: (_c = col.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol
2374
2374
  };
2375
2375
  };
2376
+ LookupComponent.prototype.onTableRowDoubleClick = function (rowData) {
2377
+ this.selected = [rowData];
2378
+ this.select();
2379
+ };
2376
2380
  var LookupComponent_1;
2377
2381
  LookupComponent.nextId = 0;
2378
2382
  LookupComponent.ctorParameters = function () { return [
@@ -2510,7 +2514,7 @@
2510
2514
  LookupComponent = LookupComponent_1 = __decorate([
2511
2515
  core.Component({
2512
2516
  selector: "s-lookup",
2513
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2517
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2514
2518
  providers: [
2515
2519
  {
2516
2520
  provide: forms.NG_VALUE_ACCESSOR,
@@ -3855,6 +3859,191 @@
3855
3859
  return RowTogllerDirective;
3856
3860
  }(table.RowToggler));
3857
3861
 
3862
+ var TableFrozenPositionDirective = /** @class */ (function () {
3863
+ function TableFrozenPositionDirective(el, host) {
3864
+ var _this = this;
3865
+ this.el = el;
3866
+ this.host = host;
3867
+ this.sTableFrozenPosition = "left";
3868
+ this.host.onColResize.subscribe(function () {
3869
+ _this.handleColResize();
3870
+ });
3871
+ window.addEventListener("resize", this.handleWindowResize.bind(this));
3872
+ var componentId = new Date().getTime();
3873
+ this.resetRowHeightClassName = "resetTableRowsHeight_" + componentId;
3874
+ var styleReset = document.createElement("style");
3875
+ styleReset.innerHTML = "." + this.resetRowHeightClassName + " tbody > tr, ." + this.resetRowHeightClassName + " thead > tr { height: auto; }";
3876
+ document.getElementsByTagName("head")[0].appendChild(styleReset);
3877
+ this.fixBodyRowClassName = "fixTableBodyRowsHeight_" + componentId;
3878
+ this.styleFixBodyRowHeight = document.createElement("style");
3879
+ this.styleFixBodyRowHeight.innerHTML = "." + this.fixBodyRowClassName + " tbody > tr { height: auto; }";
3880
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixBodyRowHeight);
3881
+ this.fixHeadRowClassName = "fixTableHeadRowsHeight_" + componentId;
3882
+ this.styleFixHeadRowHeight = document.createElement("style");
3883
+ this.styleFixHeadRowHeight.innerHTML = "." + this.fixHeadRowClassName + " thead > tr { height: auto; }";
3884
+ document.getElementsByTagName("head")[0].appendChild(this.styleFixHeadRowHeight);
3885
+ }
3886
+ Object.defineProperty(TableFrozenPositionDirective.prototype, "sTableFrozenValue", {
3887
+ set: function (_) {
3888
+ var _this = this;
3889
+ setTimeout(function () {
3890
+ _this.synchronizeRowHeight();
3891
+ });
3892
+ },
3893
+ enumerable: true,
3894
+ configurable: true
3895
+ });
3896
+ TableFrozenPositionDirective.prototype.ngAfterViewInit = function () {
3897
+ if (this.sTableFrozenPosition === "left")
3898
+ return;
3899
+ this.applyStylesForTable();
3900
+ };
3901
+ TableFrozenPositionDirective.prototype.ngOnDestroy = function () {
3902
+ window.removeEventListener("resize", this.handleWindowResize.bind(this));
3903
+ };
3904
+ TableFrozenPositionDirective.prototype.applyStylesForTable = function () {
3905
+ var scrollWrapper = this.el.nativeElement.querySelector(".ui-table-scrollable-wrapper");
3906
+ if (!scrollWrapper) {
3907
+ console.warn("Unable to find scroll-wrapper element from table. Is the table configured with frozen template?");
3908
+ return;
3909
+ }
3910
+ scrollWrapper.style.display = "flex";
3911
+ scrollWrapper.style.flexDirection = "row";
3912
+ var frozenTable = this.el.nativeElement.querySelector(".ui-table-frozen-view");
3913
+ if (!frozenTable) {
3914
+ console.warn("Unable to find frozen element from table. Is the table configured with frozen template?");
3915
+ return;
3916
+ }
3917
+ frozenTable.style.order = "1";
3918
+ frozenTable.style.borderRight = "none";
3919
+ frozenTable.style.borderLeft = "1px solid #dddddd";
3920
+ frozenTable.style.boxShadow = "-5px 0 5px -5px #cccccc";
3921
+ var unfrozenTable = this.el.nativeElement.querySelector(".ui-table-unfrozen-view");
3922
+ if (!unfrozenTable) {
3923
+ console.warn("Unable to find unfrozen element from table. Is the table configured with frozen template?");
3924
+ return;
3925
+ }
3926
+ unfrozenTable.style.position = "unset";
3927
+ };
3928
+ TableFrozenPositionDirective.prototype.handleWindowResize = function () {
3929
+ this.synchronizeRowHeight();
3930
+ };
3931
+ TableFrozenPositionDirective.prototype.handleColResize = function () {
3932
+ this.synchronizeRowHeight();
3933
+ };
3934
+ TableFrozenPositionDirective.prototype.synchronizeRowHeight = function () {
3935
+ var tableBodyWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-body");
3936
+ var tableBodies = __spread(tableBodyWrappers).map(function (divWrapper) { return __spread(divWrapper.childNodes).find(function (p) { return p.tagName === "TABLE"; }); });
3937
+ this.recalculateDefaultRowHeight(tableBodies);
3938
+ this.applyMaxRowHeight(tableBodies);
3939
+ var tableHeadWrappers = this.el.nativeElement.getElementsByClassName("ui-table-scrollable-header-box");
3940
+ var tableHeads = __spread(tableHeadWrappers).map(function (divWrapper) { return __spread(divWrapper.childNodes).find(function (p) { return p.tagName === "TABLE"; }); });
3941
+ this.recalculateDefaultRowHeight(tableHeads);
3942
+ this.applyMaxRowHeight(tableHeads, true);
3943
+ };
3944
+ TableFrozenPositionDirective.prototype.recalculateDefaultRowHeight = function (tables) {
3945
+ var e_1, _a;
3946
+ try {
3947
+ for (var tables_1 = __values(tables), tables_1_1 = tables_1.next(); !tables_1_1.done; tables_1_1 = tables_1.next()) {
3948
+ var table = tables_1_1.value;
3949
+ table.classList.remove(this.fixBodyRowClassName);
3950
+ table.classList.remove(this.fixHeadRowClassName);
3951
+ table.classList.add(this.resetRowHeightClassName);
3952
+ }
3953
+ }
3954
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3955
+ finally {
3956
+ try {
3957
+ if (tables_1_1 && !tables_1_1.done && (_a = tables_1.return)) _a.call(tables_1);
3958
+ }
3959
+ finally { if (e_1) throw e_1.error; }
3960
+ }
3961
+ };
3962
+ TableFrozenPositionDirective.prototype.applyMaxRowHeight = function (tables, isHead) {
3963
+ var e_2, _a, e_3, _b, e_4, _c, e_5, _d;
3964
+ if (isHead === void 0) { isHead = false; }
3965
+ var rowSizes = [];
3966
+ try {
3967
+ for (var tables_2 = __values(tables), tables_2_1 = tables_2.next(); !tables_2_1.done; tables_2_1 = tables_2.next()) {
3968
+ var table = tables_2_1.value;
3969
+ try {
3970
+ for (var _e = (e_3 = void 0, __values(table.rows)), _f = _e.next(); !_f.done; _f = _e.next()) {
3971
+ var tr = _f.value;
3972
+ rowSizes.push(tr.getBoundingClientRect().height);
3973
+ }
3974
+ }
3975
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
3976
+ finally {
3977
+ try {
3978
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
3979
+ }
3980
+ finally { if (e_3) throw e_3.error; }
3981
+ }
3982
+ }
3983
+ }
3984
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3985
+ finally {
3986
+ try {
3987
+ if (tables_2_1 && !tables_2_1.done && (_a = tables_2.return)) _a.call(tables_2);
3988
+ }
3989
+ finally { if (e_2) throw e_2.error; }
3990
+ }
3991
+ if (!rowSizes.length)
3992
+ return;
3993
+ var maxHeight = Math.max.apply(Math, __spread(rowSizes));
3994
+ if (isHead) {
3995
+ this.styleFixHeadRowHeight.innerHTML = "." + this.fixHeadRowClassName + " thead > tr { height: " + maxHeight + "px; }";
3996
+ try {
3997
+ for (var tables_3 = __values(tables), tables_3_1 = tables_3.next(); !tables_3_1.done; tables_3_1 = tables_3.next()) {
3998
+ var table = tables_3_1.value;
3999
+ table.classList.remove(this.resetRowHeightClassName);
4000
+ table.classList.add(this.fixHeadRowClassName);
4001
+ }
4002
+ }
4003
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
4004
+ finally {
4005
+ try {
4006
+ if (tables_3_1 && !tables_3_1.done && (_c = tables_3.return)) _c.call(tables_3);
4007
+ }
4008
+ finally { if (e_4) throw e_4.error; }
4009
+ }
4010
+ }
4011
+ else {
4012
+ this.styleFixBodyRowHeight.innerHTML = "." + this.fixBodyRowClassName + " tbody > tr { height: " + maxHeight + "px; }";
4013
+ try {
4014
+ for (var tables_4 = __values(tables), tables_4_1 = tables_4.next(); !tables_4_1.done; tables_4_1 = tables_4.next()) {
4015
+ var table = tables_4_1.value;
4016
+ table.classList.remove(this.resetRowHeightClassName);
4017
+ table.classList.add(this.fixBodyRowClassName);
4018
+ }
4019
+ }
4020
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
4021
+ finally {
4022
+ try {
4023
+ if (tables_4_1 && !tables_4_1.done && (_d = tables_4.return)) _d.call(tables_4);
4024
+ }
4025
+ finally { if (e_5) throw e_5.error; }
4026
+ }
4027
+ }
4028
+ };
4029
+ TableFrozenPositionDirective.ctorParameters = function () { return [
4030
+ { type: core.ElementRef },
4031
+ { type: table.Table }
4032
+ ]; };
4033
+ __decorate([
4034
+ core.Input()
4035
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenPosition", void 0);
4036
+ __decorate([
4037
+ core.Input()
4038
+ ], TableFrozenPositionDirective.prototype, "sTableFrozenValue", null);
4039
+ TableFrozenPositionDirective = __decorate([
4040
+ core.Directive({
4041
+ selector: "[sTableFrozenPosition]"
4042
+ })
4043
+ ], TableFrozenPositionDirective);
4044
+ return TableFrozenPositionDirective;
4045
+ }());
4046
+
3858
4047
 
3859
4048
  (function (EnumColumnFieldType) {
3860
4049
  EnumColumnFieldType["STRING"] = "STRING";
@@ -4168,6 +4357,122 @@
4168
4357
  return TokenListModule;
4169
4358
  }());
4170
4359
 
4360
+ var TablePagingComponent = /** @class */ (function () {
4361
+ function TablePagingComponent(translate, hostProjectConfigs) {
4362
+ this.translate = translate;
4363
+ this.hostProjectConfigs = hostProjectConfigs;
4364
+ }
4365
+ TablePagingComponent.prototype.ngOnChanges = function (changes) {
4366
+ this.totalRecordsText = this.translate.instant(this.getTranslatePrefix() + "total_records", {
4367
+ value: changes.totalRecords.currentValue
4368
+ });
4369
+ };
4370
+ TablePagingComponent.prototype.getTranslatePrefix = function () {
4371
+ return this.hostProjectConfigs.domain + "." + this.hostProjectConfigs.service + ".";
4372
+ };
4373
+ TablePagingComponent.prototype.getTooltipText = function () {
4374
+ return this.translate.instant(this.getTranslatePrefix() + "export_to_csv");
4375
+ };
4376
+ TablePagingComponent.prototype.getActions = function () {
4377
+ var _this = this;
4378
+ var actions = [
4379
+ {
4380
+ id: "exportCurrentPage",
4381
+ label: this.translate.instant(this.getTranslatePrefix() + "export_current_page"),
4382
+ command: function () { return _this.exportCurrentPage(); }
4383
+ },
4384
+ {
4385
+ id: "exportSelected",
4386
+ label: this.translate.instant(this.getTranslatePrefix() + "export_selected_records"),
4387
+ command: function () { return _this.exportSelectedRecords(); }
4388
+ }
4389
+ ];
4390
+ if (this.loadAllRecords) {
4391
+ actions.push({
4392
+ id: "exportAll",
4393
+ label: this.translate.instant(this.getTranslatePrefix() + "export_all_records"),
4394
+ command: function () { return _this.exportAllRecords(); }
4395
+ });
4396
+ }
4397
+ return actions;
4398
+ };
4399
+ TablePagingComponent.prototype.validateComponent = function () {
4400
+ if (!this.table) {
4401
+ throw new Error("Table component not defined");
4402
+ }
4403
+ };
4404
+ TablePagingComponent.prototype.getColumnsToExport = function () {
4405
+ return __spread(this.table.columns).map(function (column) {
4406
+ if (column.exportable === null || column.exportable === undefined) {
4407
+ column.exportable = true;
4408
+ }
4409
+ return column;
4410
+ });
4411
+ };
4412
+ TablePagingComponent.prototype.getRowsToExport = function () {
4413
+ return this.table.value;
4414
+ };
4415
+ TablePagingComponent.prototype.getSelectedRowsToExport = function () {
4416
+ return this.table.selection;
4417
+ };
4418
+ TablePagingComponent.prototype.getExportFileName = function () {
4419
+ var _a;
4420
+ return (_a = this.exportFileName) !== null && _a !== void 0 ? _a : "download";
4421
+ };
4422
+ TablePagingComponent.prototype.exportCurrentPage = function () {
4423
+ this.validateComponent();
4424
+ ExportUtils.exportCSV(this.getColumnsToExport(), this.getRowsToExport(), undefined, this.getExportFileName());
4425
+ };
4426
+ TablePagingComponent.prototype.exportSelectedRecords = function () {
4427
+ this.validateComponent();
4428
+ ExportUtils.exportCSV(this.getColumnsToExport(), this.getSelectedRowsToExport(), undefined, this.getExportFileName());
4429
+ };
4430
+ TablePagingComponent.prototype.exportAllRecords = function () {
4431
+ return __awaiter(this, void 0, void 0, function () {
4432
+ var data;
4433
+ return __generator(this, function (_a) {
4434
+ switch (_a.label) {
4435
+ case 0:
4436
+ this.validateComponent();
4437
+ return [4 /*yield*/, this.loadAllRecords()];
4438
+ case 1:
4439
+ data = _a.sent();
4440
+ ExportUtils.exportCSV(this.getColumnsToExport(), data, undefined, this.getExportFileName());
4441
+ return [2 /*return*/];
4442
+ }
4443
+ });
4444
+ });
4445
+ };
4446
+ TablePagingComponent.ctorParameters = function () { return [
4447
+ { type: core$1.TranslateService },
4448
+ { type: undefined, decorators: [{ type: core.Inject, args: [HostProjectConfigsInjectionToken,] }] }
4449
+ ]; };
4450
+ __decorate([
4451
+ core.Input()
4452
+ ], TablePagingComponent.prototype, "totalRecords", void 0);
4453
+ __decorate([
4454
+ core.Input()
4455
+ ], TablePagingComponent.prototype, "exportFileName", void 0);
4456
+ __decorate([
4457
+ core.Input()
4458
+ ], TablePagingComponent.prototype, "table", void 0);
4459
+ __decorate([
4460
+ core.Input()
4461
+ ], TablePagingComponent.prototype, "loadAllRecords", void 0);
4462
+ __decorate([
4463
+ core.Output()
4464
+ ], TablePagingComponent.prototype, "totalRecordsText", void 0);
4465
+ TablePagingComponent = __decorate([
4466
+ core.Component({
4467
+ template: "<div class=\"paging-container\">\n <span class=\"total-records\">\n {{totalRecordsText}}\n </span>\n <s-button class=\"export-button\" \n priority=\"default\" \n iconClass=\"fa fa-fw fa-file-export\" \n [disabled]=\"false\" \n [auxiliary]=\"true\" \n [tooltip]=\"getTooltipText()\" \n [model]=\"getActions()\"></s-button>\n</div>\n",
4468
+ selector: "s-table-paging",
4469
+ styles: [".paging-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.export-button{margin-left:6px}"]
4470
+ }),
4471
+ __param(1, core.Inject(HostProjectConfigsInjectionToken))
4472
+ ], TablePagingComponent);
4473
+ return TablePagingComponent;
4474
+ }());
4475
+
4171
4476
  var TableModule = /** @class */ (function () {
4172
4477
  function TableModule() {
4173
4478
  }
@@ -4176,17 +4481,23 @@
4176
4481
  imports: [
4177
4482
  common.CommonModule,
4178
4483
  tooltip.TooltipModule,
4179
- TokenListModule
4484
+ TokenListModule,
4485
+ core$1.TranslateModule,
4486
+ ButtonModule
4180
4487
  ],
4181
4488
  exports: [
4182
4489
  RowTogllerDirective,
4183
4490
  NavigationDirective,
4184
- TableColumnsComponent
4491
+ TableColumnsComponent,
4492
+ TableFrozenPositionDirective,
4493
+ TablePagingComponent
4185
4494
  ],
4186
4495
  declarations: [
4187
4496
  RowTogllerDirective,
4188
4497
  NavigationDirective,
4189
- TableColumnsComponent
4498
+ TableColumnsComponent,
4499
+ TableFrozenPositionDirective,
4500
+ TablePagingComponent
4190
4501
  ],
4191
4502
  })
4192
4503
  ], TableModule);
@@ -4951,6 +5262,108 @@
4951
5262
  return DynamicFormDirective;
4952
5263
  }());
4953
5264
 
5265
+ var LongPressDirective = /** @class */ (function () {
5266
+ function LongPressDirective() {
5267
+ this.sLongPressDelay = 500;
5268
+ this.sLongPress = new core.EventEmitter();
5269
+ this.mouseUp = new rxjs.Subject();
5270
+ this.mouseDown = new rxjs.Subject();
5271
+ this.ngUnsubscribe = new rxjs.Subject();
5272
+ }
5273
+ LongPressDirective.prototype.onMouseUp = function (event) {
5274
+ this.mouseUp.next(event);
5275
+ };
5276
+ LongPressDirective.prototype.onMouseDown = function (event) {
5277
+ this.mouseDown.next(event);
5278
+ };
5279
+ LongPressDirective.prototype.ngOnInit = function () {
5280
+ var _this = this;
5281
+ this.mouseDown
5282
+ .pipe(operators.debounceTime(this.sLongPressDelay), operators.takeUntil(this.mouseUp), operators.repeat(), operators.takeUntil(this.ngUnsubscribe))
5283
+ .subscribe(function (event) { return _this.sLongPress.emit(event); });
5284
+ };
5285
+ LongPressDirective.prototype.ngOnDestroy = function () {
5286
+ this.ngUnsubscribe.next();
5287
+ this.ngUnsubscribe.complete();
5288
+ };
5289
+ __decorate([
5290
+ core.Input()
5291
+ ], LongPressDirective.prototype, "sLongPressDelay", void 0);
5292
+ __decorate([
5293
+ core.Output()
5294
+ ], LongPressDirective.prototype, "sLongPress", void 0);
5295
+ __decorate([
5296
+ core.HostListener("mouseup", ["$event"]),
5297
+ core.HostListener("touchend", ["$event"])
5298
+ ], LongPressDirective.prototype, "onMouseUp", null);
5299
+ __decorate([
5300
+ core.HostListener("mousedown", ["$event"]),
5301
+ core.HostListener("touchstart", ["$event"])
5302
+ ], LongPressDirective.prototype, "onMouseDown", null);
5303
+ LongPressDirective = __decorate([
5304
+ core.Directive({
5305
+ selector: "[sLongPress]",
5306
+ })
5307
+ ], LongPressDirective);
5308
+ return LongPressDirective;
5309
+ }());
5310
+
5311
+ var DoubleClickDirective = /** @class */ (function () {
5312
+ function DoubleClickDirective() {
5313
+ this.onDoubleClick = new core.EventEmitter();
5314
+ this._timeout = null;
5315
+ this._DOUBLE_CLICK_DELAY = 500;
5316
+ }
5317
+ DoubleClickDirective.prototype.onClick = function (event) {
5318
+ this.handleOnClickEvent(event);
5319
+ };
5320
+ DoubleClickDirective.prototype.handleOnClickEvent = function (event) {
5321
+ var _this = this;
5322
+ if (this._timeout) {
5323
+ this.clearTimeout();
5324
+ this.onDoubleClick.emit(event);
5325
+ }
5326
+ else {
5327
+ this._timeout = setTimeout(function () { return _this.clearTimeout(); }, this._DOUBLE_CLICK_DELAY);
5328
+ }
5329
+ };
5330
+ DoubleClickDirective.prototype.clearTimeout = function () {
5331
+ clearTimeout(this._timeout);
5332
+ this._timeout = null;
5333
+ };
5334
+ __decorate([
5335
+ core.Output()
5336
+ ], DoubleClickDirective.prototype, "onDoubleClick", void 0);
5337
+ __decorate([
5338
+ core.HostListener("click", ["$event"])
5339
+ ], DoubleClickDirective.prototype, "onClick", null);
5340
+ DoubleClickDirective = __decorate([
5341
+ core.Directive({
5342
+ selector: '[sDoubleClick]'
5343
+ })
5344
+ ], DoubleClickDirective);
5345
+ return DoubleClickDirective;
5346
+ }());
5347
+
5348
+ var MouseEventsModule = /** @class */ (function () {
5349
+ function MouseEventsModule() {
5350
+ }
5351
+ MouseEventsModule = __decorate([
5352
+ core.NgModule({
5353
+ imports: [common.CommonModule],
5354
+ declarations: [
5355
+ LongPressDirective,
5356
+ DoubleClickDirective
5357
+ ],
5358
+ exports: [
5359
+ LongPressDirective,
5360
+ DoubleClickDirective
5361
+ ],
5362
+ })
5363
+ ], MouseEventsModule);
5364
+ return MouseEventsModule;
5365
+ }());
5366
+
4954
5367
  var DynamicFormModule = /** @class */ (function () {
4955
5368
  function DynamicFormModule() {
4956
5369
  }
@@ -4993,7 +5406,8 @@
4993
5406
  TableModule,
4994
5407
  InfoSignModule,
4995
5408
  MaskFormatterModule,
4996
- angular2Hotkeys.HotkeyModule.forRoot()
5409
+ angular2Hotkeys.HotkeyModule.forRoot(),
5410
+ MouseEventsModule
4997
5411
  ],
4998
5412
  declarations: [
4999
5413
  AutocompleteFieldComponent,
@@ -5983,65 +6397,6 @@
5983
6397
  return ImageCropperService;
5984
6398
  }());
5985
6399
 
5986
- var LongPressDirective = /** @class */ (function () {
5987
- function LongPressDirective() {
5988
- this.sLongPressDelay = 500;
5989
- this.sLongPress = new core.EventEmitter();
5990
- this.mouseUp = new rxjs.Subject();
5991
- this.mouseDown = new rxjs.Subject();
5992
- this.ngUnsubscribe = new rxjs.Subject();
5993
- }
5994
- LongPressDirective.prototype.onMouseUp = function (event) {
5995
- this.mouseUp.next(event);
5996
- };
5997
- LongPressDirective.prototype.onMouseDown = function (event) {
5998
- this.mouseDown.next(event);
5999
- };
6000
- LongPressDirective.prototype.ngOnInit = function () {
6001
- var _this = this;
6002
- this.mouseDown
6003
- .pipe(operators.debounceTime(this.sLongPressDelay), operators.takeUntil(this.mouseUp), operators.repeat(), operators.takeUntil(this.ngUnsubscribe))
6004
- .subscribe(function (event) { return _this.sLongPress.emit(event); });
6005
- };
6006
- LongPressDirective.prototype.ngOnDestroy = function () {
6007
- this.ngUnsubscribe.next();
6008
- this.ngUnsubscribe.complete();
6009
- };
6010
- __decorate([
6011
- core.Input()
6012
- ], LongPressDirective.prototype, "sLongPressDelay", void 0);
6013
- __decorate([
6014
- core.Output()
6015
- ], LongPressDirective.prototype, "sLongPress", void 0);
6016
- __decorate([
6017
- core.HostListener("mouseup", ["$event"]),
6018
- core.HostListener("touchend", ["$event"])
6019
- ], LongPressDirective.prototype, "onMouseUp", null);
6020
- __decorate([
6021
- core.HostListener("mousedown", ["$event"]),
6022
- core.HostListener("touchstart", ["$event"])
6023
- ], LongPressDirective.prototype, "onMouseDown", null);
6024
- LongPressDirective = __decorate([
6025
- core.Directive({
6026
- selector: "[sLongPress]",
6027
- })
6028
- ], LongPressDirective);
6029
- return LongPressDirective;
6030
- }());
6031
-
6032
- var MouseEventsModule = /** @class */ (function () {
6033
- function MouseEventsModule() {
6034
- }
6035
- MouseEventsModule = __decorate([
6036
- core.NgModule({
6037
- imports: [common.CommonModule],
6038
- declarations: [LongPressDirective],
6039
- exports: [LongPressDirective],
6040
- })
6041
- ], MouseEventsModule);
6042
- return MouseEventsModule;
6043
- }());
6044
-
6045
6400
 
6046
6401
  (function (ThumbnailSize) {
6047
6402
  ThumbnailSize["Small"] = "small";
@@ -8764,6 +9119,7 @@
8764
9119
  exports.DEFAULT_CALENDAR_LOCALE_OPTIONS = DEFAULT_CALENDAR_LOCALE_OPTIONS;
8765
9120
  exports.DEFAULT_LOCALE_OPTIONS = DEFAULT_LOCALE_OPTIONS;
8766
9121
  exports.DEFAULT_NUMBER_LOCALE_OPTIONS = DEFAULT_NUMBER_LOCALE_OPTIONS;
9122
+ exports.DoubleClickDirective = DoubleClickDirective;
8767
9123
  exports.DynamicConfig = DynamicConfig;
8768
9124
  exports.DynamicFormComponent = DynamicFormComponent;
8769
9125
  exports.DynamicFormModule = DynamicFormModule;
@@ -8832,6 +9188,7 @@
8832
9188
  exports.StepsComponent = StepsComponent;
8833
9189
  exports.StepsModule = StepsModule;
8834
9190
  exports.Structure = Structure;
9191
+ exports.TableFrozenPositionDirective = TableFrozenPositionDirective;
8835
9192
  exports.TableHeaderCheckboxComponent = TableHeaderCheckboxComponent;
8836
9193
  exports.TableHeaderCheckboxModule = TableHeaderCheckboxModule;
8837
9194
  exports.TableModule = TableModule;
@@ -8846,42 +9203,45 @@
8846
9203
  exports.TokenListModule = TokenListModule;
8847
9204
  exports.ɵa = LocalizedCurrencyImpurePipe;
8848
9205
  exports.ɵb = LocalizedBignumberPipe;
8849
- exports.ɵba = DecimalField;
8850
- exports.ɵbb = StructureModule;
8851
- exports.ɵbc = HeaderComponent;
8852
- exports.ɵbd = FooterComponent;
8853
- exports.ɵbe = InfoSignComponent;
8854
- exports.ɵbf = NumberLocaleOptions;
8855
- exports.ɵbg = ThumbnailService;
8856
- exports.ɵbh = InfiniteScrollModule;
8857
- exports.ɵbi = InfiniteScrollDirective;
8858
- exports.ɵbj = CustomTranslationsModule;
8859
- exports.ɵbk = CodeEditorComponent;
8860
- exports.ɵbl = CoreFacade;
8861
- exports.ɵbm = CodeMirror6Core;
9206
+ exports.ɵba = TextAreaFieldComponent;
9207
+ exports.ɵbb = TextFieldComponent;
9208
+ exports.ɵbd = DecimalField;
9209
+ exports.ɵbe = StructureModule;
9210
+ exports.ɵbf = HeaderComponent;
9211
+ exports.ɵbg = FooterComponent;
9212
+ exports.ɵbh = InfoSignComponent;
9213
+ exports.ɵbi = NumberLocaleOptions;
9214
+ exports.ɵbj = ThumbnailService;
9215
+ exports.ɵbk = InfiniteScrollModule;
9216
+ exports.ɵbl = InfiniteScrollDirective;
9217
+ exports.ɵbm = CustomTranslationsModule;
9218
+ exports.ɵbn = CodeEditorComponent;
9219
+ exports.ɵbo = CoreFacade;
9220
+ exports.ɵbp = CodeMirror6Core;
8862
9221
  exports.ɵc = LocalizedBignumberImpurePipe;
8863
9222
  exports.ɵd = TokenListModule;
8864
- exports.ɵe = TableColumnsComponent;
8865
- exports.ɵf = InfoSignModule;
8866
- exports.ɵg = AutocompleteFieldComponent;
8867
- exports.ɵh = BooleanFieldComponent;
8868
- exports.ɵi = CalendarFieldComponent;
8869
- exports.ɵj = ChipsFieldComponent;
8870
- exports.ɵk = CurrencyFieldComponent;
8871
- exports.ɵl = BaseFieldComponent;
8872
- exports.ɵm = DynamicFieldComponent;
8873
- exports.ɵn = DynamicFormDirective;
8874
- exports.ɵo = FieldsetComponent;
8875
- exports.ɵp = FileUploadComponent$1;
8876
- exports.ɵq = LookupFieldComponent;
8877
- exports.ɵr = NumberFieldComponent;
8878
- exports.ɵs = BignumberFieldComponent;
8879
- exports.ɵt = RadioButtonComponent;
8880
- exports.ɵu = RowComponent;
8881
- exports.ɵv = SectionComponent;
8882
- exports.ɵw = SelectFieldComponent;
8883
- exports.ɵx = TextAreaFieldComponent;
8884
- exports.ɵy = TextFieldComponent;
9223
+ exports.ɵe = ButtonModule;
9224
+ exports.ɵf = TableColumnsComponent;
9225
+ exports.ɵg = TablePagingComponent;
9226
+ exports.ɵh = InfoSignModule;
9227
+ exports.ɵi = MouseEventsModule;
9228
+ exports.ɵj = AutocompleteFieldComponent;
9229
+ exports.ɵk = BooleanFieldComponent;
9230
+ exports.ɵl = CalendarFieldComponent;
9231
+ exports.ɵm = ChipsFieldComponent;
9232
+ exports.ɵn = CurrencyFieldComponent;
9233
+ exports.ɵo = BaseFieldComponent;
9234
+ exports.ɵp = DynamicFieldComponent;
9235
+ exports.ɵq = DynamicFormDirective;
9236
+ exports.ɵr = FieldsetComponent;
9237
+ exports.ɵs = FileUploadComponent$1;
9238
+ exports.ɵt = LookupFieldComponent;
9239
+ exports.ɵu = NumberFieldComponent;
9240
+ exports.ɵv = BignumberFieldComponent;
9241
+ exports.ɵw = RadioButtonComponent;
9242
+ exports.ɵx = RowComponent;
9243
+ exports.ɵy = SectionComponent;
9244
+ exports.ɵz = SelectFieldComponent;
8885
9245
 
8886
9246
  Object.defineProperty(exports, '__esModule', { value: true });
8887
9247