@seniorsistemas/angular-components 17.17.5 → 17.17.7
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.
- package/bundles/seniorsistemas-angular-components.umd.js +101 -12
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/configurations/fields/field.d.ts +2 -0
- package/components/table/table-paging/table-paging.component.d.ts +26 -2
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +2 -2
- package/esm2015/components/dynamic-form/configurations/fields/field.js +1 -1
- package/esm2015/components/dynamic-form/configurations/fields/text-field.js +2 -1
- package/esm2015/components/table/table-column/table-columns.component.js +6 -2
- package/esm2015/components/table/table-paging/table-paging.component.js +70 -19
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +2 -2
- package/esm5/components/dynamic-form/configurations/fields/field.js +1 -1
- package/esm5/components/dynamic-form/configurations/fields/text-field.js +2 -1
- package/esm5/components/table/table-column/table-columns.component.js +6 -2
- package/esm5/components/table/table-paging/table-paging.component.js +98 -13
- package/fesm2015/seniorsistemas-angular-components.js +74 -19
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +101 -12
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -6231,6 +6231,7 @@
|
|
|
6231
6231
|
_this.onFocus = config.onFocus;
|
|
6232
6232
|
_this.onComplete = config.onComplete;
|
|
6233
6233
|
_this.onInput = config.onInput;
|
|
6234
|
+
_this.sortableColumnName = config.sortableColumnName;
|
|
6234
6235
|
return _this;
|
|
6235
6236
|
}
|
|
6236
6237
|
return TextField;
|
|
@@ -6874,7 +6875,7 @@
|
|
|
6874
6875
|
core.Injectable(),
|
|
6875
6876
|
core.Component({
|
|
6876
6877
|
selector: "s-lookup",
|
|
6877
|
-
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]=\"autocompleteForceSelection\"\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 <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\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<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </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 || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div>\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\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: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </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 <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </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 <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 <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 <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 <ng-container *ngSwitchCase=\"'LocalDateTime'\">\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 <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 <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\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 <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\">\n <ng-container *ngIf=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options); then withBadge; else withoutBadge\"></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"getLabelForValue(getFieldValue(rowData, col.name), col.options)\"\n [color]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).color\"\n [type]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).type\"\n [iconClass]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconClass\"\n [iconPosition]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconPosition\">\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-template>\n </ng-container>\n </ng-container>\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 {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\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 || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
|
|
6878
|
+
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]=\"autocompleteForceSelection\"\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 <ng-template let-item pTemplate=\"selectedItem\">\n <span\n class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\"\n [sTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\"\n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\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<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle || 'platform.angular_components.advanced_search' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog>\n <div\n *ngIf=\"dialogVisible\"\n class=\"s-lookup-modal-container\">\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter\"\n [@collapseContent]=\"collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\">\n <div\n *ngIf=\"!collapsed\"\n class=\"form-content\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\">\n <div class=\"filter-title sds-section-title\">\n {{ filterTitle || \"platform.angular_components.filters\" | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [fields]=\"searchFields\"\n [form]=\"formGroupDialog\">\n </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 || 'platform.angular_components.filter' | translate\"\n (onClick)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel || 'platform.angular_components.clear' | translate\"\n (onClick)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div\n *ngIf=\"searchFields && searchFields.length\"\n class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\">\n <span\n class=\"fa\"\n [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\">\n </span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div\n class=\"content\"\n [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\">\n </s-empty-state>\n\n <div>\n <s-button\n *ngIf=\"showAddOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (onClick)=\"onAdd.emit()\">\n </s-button>\n <s-button\n *ngIf=\"showEditOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (onClick)=\"onEdit.emit(this.selected[0])\">\n </s-button>\n <s-button\n *ngIf=\"showRemoveOption\"\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (onClick)=\"onRemove.emit(this.selected)\">\n </s-button>\n </div>\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: loading, indicator: 'logo' }\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col\n *ngIf=\"multiple\"\n style=\"width: 50px\" />\n <col\n *ngFor=\"let col of columns\"\n [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th\n *ngIf=\"multiple\"\n style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps ? false : true\"\n [rowProps]=\"lookupRowProps\">\n </s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.sortableColumnName ? col.sortableColumnName : col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon\n [field]=\"col.name\"\n *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\">\n </p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\">\n <td\n *ngIf=\"multiple\"\n style=\"width: 50px\"\n tabindex=\"0\">\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\">\n </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 <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 <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 <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 <ng-container *ngSwitchCase=\"'LocalDateTime'\">\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 <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 <ng-container *ngSwitchCase=\"'Integer'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getIntegerMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getDoubleMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getMoneyMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\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 <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\">\n <ng-container *ngIf=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options); then withBadge; else withoutBadge\"></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"getLabelForValue(getFieldValue(rowData, col.name), col.options)\"\n [color]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).color\"\n [type]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).type\"\n [iconClass]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconClass\"\n [iconPosition]=\"getBadgeFromValue(getFieldValue(rowData, col.name), col.options).iconPosition\">\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-template>\n </ng-container>\n </ng-container>\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 {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel || 'platform.angular_components.select' | translate\"\n (onClick)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n tooltipPosition=\"top\"\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 || 'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n tooltipPosition=\"top\"\n showDelay=\"500\">\n </s-button>\n </p-footer>\n</p-dialog>\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">\n {{ emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n",
|
|
6878
6879
|
providers: [
|
|
6879
6880
|
{
|
|
6880
6881
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -9919,7 +9920,11 @@
|
|
|
9919
9920
|
return ((_a = attributeValue === null || attributeValue === void 0 ? void 0 : attributeValue.options) === null || _a === void 0 ? void 0 : _a.numberFormatOptions) ? _this.numericService.instant(attributeValue.value, {
|
|
9920
9921
|
numberFormatOptions: attributeValue.options.numberFormatOptions,
|
|
9921
9922
|
})
|
|
9922
|
-
:
|
|
9923
|
+
: column.numberFormatOptions
|
|
9924
|
+
? _this.numericService.instant(attributeValue, {
|
|
9925
|
+
numberFormatOptions: column.numberFormatOptions,
|
|
9926
|
+
})
|
|
9927
|
+
: ng2CurrencyMask.applyMask(attributeValue, numberConfigs, _this.isNumber(attributeValue));
|
|
9923
9928
|
case exports.EnumColumnFieldType.DATE:
|
|
9924
9929
|
var dateFormat = _this.getDateFormat(column, locale);
|
|
9925
9930
|
return moment$4(attributeValue).format(dateFormat);
|
|
@@ -10119,7 +10124,7 @@
|
|
|
10119
10124
|
var _a;
|
|
10120
10125
|
if ((_a = changes.totalRecords) === null || _a === void 0 ? void 0 : _a.currentValue) {
|
|
10121
10126
|
this.totalRecordsText = this.translate.instant(this.getTranslatePrefix() + "total_records", {
|
|
10122
|
-
value: changes.totalRecords.currentValue
|
|
10127
|
+
value: changes.totalRecords.currentValue,
|
|
10123
10128
|
});
|
|
10124
10129
|
}
|
|
10125
10130
|
};
|
|
@@ -10136,28 +10141,28 @@
|
|
|
10136
10141
|
{
|
|
10137
10142
|
id: "exportCurrentPage",
|
|
10138
10143
|
label: this.translate.instant(this.getTranslatePrefix() + "export_current_page"),
|
|
10139
|
-
command: function () { return _this.exportCurrentPage(); }
|
|
10140
|
-
}
|
|
10144
|
+
command: function () { return _this.exportCurrentPage(); },
|
|
10145
|
+
},
|
|
10141
10146
|
];
|
|
10142
10147
|
if (this.enableExportSelectedRecords) {
|
|
10143
10148
|
actions.push({
|
|
10144
10149
|
id: "exportSelected",
|
|
10145
10150
|
label: this.translate.instant(this.getTranslatePrefix() + "export_selected_records"),
|
|
10146
|
-
command: function () { return _this.exportSelectedRecords(); }
|
|
10151
|
+
command: function () { return _this.exportSelectedRecords(); },
|
|
10147
10152
|
});
|
|
10148
10153
|
}
|
|
10149
10154
|
if (this.loadAllRecords) {
|
|
10150
10155
|
actions.push({
|
|
10151
10156
|
id: "exportAll",
|
|
10152
10157
|
label: this.translate.instant(this.getTranslatePrefix() + "export_all_records"),
|
|
10153
|
-
command: function () { return _this.exportAllRecords(); }
|
|
10158
|
+
command: function () { return _this.exportAllRecords(); },
|
|
10154
10159
|
});
|
|
10155
10160
|
}
|
|
10156
10161
|
if ((_a = this.customActions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
10157
10162
|
var customMenus = this.customActions.map(function (p, index) { return ({
|
|
10158
10163
|
id: "customAction_" + index,
|
|
10159
10164
|
label: p.label,
|
|
10160
|
-
command: p.command
|
|
10165
|
+
command: p.command,
|
|
10161
10166
|
}); });
|
|
10162
10167
|
actions.push.apply(actions, __spread(customMenus));
|
|
10163
10168
|
}
|
|
@@ -10177,7 +10182,7 @@
|
|
|
10177
10182
|
field: column.field,
|
|
10178
10183
|
separator: (_a = column.separator) !== null && _a !== void 0 ? _a : " - ",
|
|
10179
10184
|
enumPrefix: column.enumPrefix,
|
|
10180
|
-
customExport: column.customExport
|
|
10185
|
+
customExport: column.customExport,
|
|
10181
10186
|
};
|
|
10182
10187
|
if (column.exportable === false) {
|
|
10183
10188
|
exportColumn.exportable = false;
|
|
@@ -10199,6 +10204,7 @@
|
|
|
10199
10204
|
tableData = this.loadCurrentPageRecords();
|
|
10200
10205
|
}
|
|
10201
10206
|
tableData = this.mapCustomExport(columns, tableData);
|
|
10207
|
+
tableData = this.mapNumberFormatOptionsExport(columns, tableData);
|
|
10202
10208
|
return this.mapColumnsTranslations(columns, tableData);
|
|
10203
10209
|
};
|
|
10204
10210
|
TablePagingComponent.prototype.getSelectedRowsToExport = function (columns) {
|
|
@@ -10207,6 +10213,7 @@
|
|
|
10207
10213
|
tableData = this.loadSelectedRecords();
|
|
10208
10214
|
}
|
|
10209
10215
|
tableData = this.mapCustomExport(columns, tableData);
|
|
10216
|
+
tableData = this.mapNumberFormatOptionsExport(columns, tableData);
|
|
10210
10217
|
return this.mapColumnsTranslations(columns, tableData);
|
|
10211
10218
|
};
|
|
10212
10219
|
TablePagingComponent.prototype.getPropertyValue = function (obj, path) {
|
|
@@ -10221,7 +10228,7 @@
|
|
|
10221
10228
|
obj[key] = value;
|
|
10222
10229
|
return obj;
|
|
10223
10230
|
}
|
|
10224
|
-
obj[key] =
|
|
10231
|
+
obj[key] = this.recursionSetValue((obj === null || obj === void 0 ? void 0 : obj[key]) || {}, keysList.slice(1), value);
|
|
10225
10232
|
return obj;
|
|
10226
10233
|
};
|
|
10227
10234
|
TablePagingComponent.prototype.mapColumnsTranslations = function (columns, rows) {
|
|
@@ -10246,6 +10253,88 @@
|
|
|
10246
10253
|
return newRow;
|
|
10247
10254
|
});
|
|
10248
10255
|
};
|
|
10256
|
+
/**
|
|
10257
|
+
* The purpose of this method is to map values
|
|
10258
|
+
* from the TableColumnsComponent, which uses the numberFormatOptions
|
|
10259
|
+
* field, along with rows that have a custom numberFormatOptions,
|
|
10260
|
+
* to ensure the correct values are exported by the TablePagingComponent.
|
|
10261
|
+
*
|
|
10262
|
+
* @returns Returns the correctly mapped tableData.
|
|
10263
|
+
*/
|
|
10264
|
+
TablePagingComponent.prototype.mapNumberFormatOptionsExport = function (columns, tableData) {
|
|
10265
|
+
var hasNumberFormatOptionsColumns = columns.some(function (column) { return column.numberFormatOptions; });
|
|
10266
|
+
var hasNumberFormatOptionsRows = tableData.some(function (rowData) {
|
|
10267
|
+
return Object.keys(rowData).some(function (key) { var _a; return (_a = rowData[key].options) === null || _a === void 0 ? void 0 : _a.numberFormatOptions; });
|
|
10268
|
+
});
|
|
10269
|
+
if (!hasNumberFormatOptionsColumns && !hasNumberFormatOptionsRows)
|
|
10270
|
+
return tableData;
|
|
10271
|
+
var mappedTableData = __spread(tableData);
|
|
10272
|
+
if (hasNumberFormatOptionsColumns) {
|
|
10273
|
+
mappedTableData = mappedTableData.map(function (rowData) {
|
|
10274
|
+
var e_1, _a, e_2, _b;
|
|
10275
|
+
var _c;
|
|
10276
|
+
var row = __assign({}, rowData);
|
|
10277
|
+
var columnsWithNumberFormatOptions = columns.filter(function (column) { return column.numberFormatOptions; });
|
|
10278
|
+
try {
|
|
10279
|
+
for (var columnsWithNumberFormatOptions_1 = __values(columnsWithNumberFormatOptions), columnsWithNumberFormatOptions_1_1 = columnsWithNumberFormatOptions_1.next(); !columnsWithNumberFormatOptions_1_1.done; columnsWithNumberFormatOptions_1_1 = columnsWithNumberFormatOptions_1.next()) {
|
|
10280
|
+
var _d = columnsWithNumberFormatOptions_1_1.value, attributes = _d.attributes, numberFormatOptions = _d.numberFormatOptions;
|
|
10281
|
+
try {
|
|
10282
|
+
for (var attributes_1 = (e_2 = void 0, __values(attributes)), attributes_1_1 = attributes_1.next(); !attributes_1_1.done; attributes_1_1 = attributes_1.next()) {
|
|
10283
|
+
var attribute = attributes_1_1.value;
|
|
10284
|
+
if ((_c = row[attribute].options) === null || _c === void 0 ? void 0 : _c.numberFormatOptions)
|
|
10285
|
+
continue;
|
|
10286
|
+
var value = row[attribute];
|
|
10287
|
+
var mappedValue = numberFormatOptions.style === "percent" ? new BigNumber__default(value).times(100) : new BigNumber__default(value);
|
|
10288
|
+
var numberFormat = new Intl.NumberFormat("en-US", __assign(__assign({}, numberFormatOptions), { style: "decimal", useGrouping: false }));
|
|
10289
|
+
row[attribute] = numberFormat.format(mappedValue.toNumber());
|
|
10290
|
+
}
|
|
10291
|
+
}
|
|
10292
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
10293
|
+
finally {
|
|
10294
|
+
try {
|
|
10295
|
+
if (attributes_1_1 && !attributes_1_1.done && (_b = attributes_1.return)) _b.call(attributes_1);
|
|
10296
|
+
}
|
|
10297
|
+
finally { if (e_2) throw e_2.error; }
|
|
10298
|
+
}
|
|
10299
|
+
}
|
|
10300
|
+
}
|
|
10301
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
10302
|
+
finally {
|
|
10303
|
+
try {
|
|
10304
|
+
if (columnsWithNumberFormatOptions_1_1 && !columnsWithNumberFormatOptions_1_1.done && (_a = columnsWithNumberFormatOptions_1.return)) _a.call(columnsWithNumberFormatOptions_1);
|
|
10305
|
+
}
|
|
10306
|
+
finally { if (e_1) throw e_1.error; }
|
|
10307
|
+
}
|
|
10308
|
+
return row;
|
|
10309
|
+
});
|
|
10310
|
+
}
|
|
10311
|
+
if (hasNumberFormatOptionsRows) {
|
|
10312
|
+
mappedTableData = tableData.map(function (rowData) {
|
|
10313
|
+
var e_3, _a;
|
|
10314
|
+
var row = __assign({}, rowData);
|
|
10315
|
+
var keysWithNumberFormatOptions = Object.keys(row).filter(function (key) { var _a; return (_a = row[key].options) === null || _a === void 0 ? void 0 : _a.numberFormatOptions; });
|
|
10316
|
+
try {
|
|
10317
|
+
for (var keysWithNumberFormatOptions_1 = __values(keysWithNumberFormatOptions), keysWithNumberFormatOptions_1_1 = keysWithNumberFormatOptions_1.next(); !keysWithNumberFormatOptions_1_1.done; keysWithNumberFormatOptions_1_1 = keysWithNumberFormatOptions_1.next()) {
|
|
10318
|
+
var key = keysWithNumberFormatOptions_1_1.value;
|
|
10319
|
+
var value = rowData[key].value;
|
|
10320
|
+
var numberFormatOptions = rowData[key].options.numberFormatOptions;
|
|
10321
|
+
var mappedValue = numberFormatOptions.style === "percent" ? new BigNumber__default(value).times(100) : new BigNumber__default(value);
|
|
10322
|
+
var numberFormat = new Intl.NumberFormat("en-US", __assign(__assign({}, numberFormatOptions), { style: "decimal", useGrouping: false }));
|
|
10323
|
+
row[key] = numberFormat.format(mappedValue.toNumber());
|
|
10324
|
+
}
|
|
10325
|
+
}
|
|
10326
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
10327
|
+
finally {
|
|
10328
|
+
try {
|
|
10329
|
+
if (keysWithNumberFormatOptions_1_1 && !keysWithNumberFormatOptions_1_1.done && (_a = keysWithNumberFormatOptions_1.return)) _a.call(keysWithNumberFormatOptions_1);
|
|
10330
|
+
}
|
|
10331
|
+
finally { if (e_3) throw e_3.error; }
|
|
10332
|
+
}
|
|
10333
|
+
return row;
|
|
10334
|
+
});
|
|
10335
|
+
}
|
|
10336
|
+
return mappedTableData;
|
|
10337
|
+
};
|
|
10249
10338
|
TablePagingComponent.prototype.mapCustomExport = function (columns, rows) {
|
|
10250
10339
|
var _this = this;
|
|
10251
10340
|
var customColumns = columns.filter(function (p) { return p.customExport; });
|
|
@@ -10287,8 +10376,7 @@
|
|
|
10287
10376
|
return translatedValue;
|
|
10288
10377
|
};
|
|
10289
10378
|
TablePagingComponent.prototype.convertToSnakeCase = function (str) {
|
|
10290
|
-
return str.replace(/([A-Z])/g, function (match, group) { return "_" + group.toLowerCase(); })
|
|
10291
|
-
.replace(/^_/, '');
|
|
10379
|
+
return str.replace(/([A-Z])/g, function (match, group) { return "_" + group.toLowerCase(); }).replace(/^_/, "");
|
|
10292
10380
|
};
|
|
10293
10381
|
TablePagingComponent.prototype.getExportFileName = function () {
|
|
10294
10382
|
var _a, _b;
|
|
@@ -10323,6 +10411,7 @@
|
|
|
10323
10411
|
serverData = _a.sent();
|
|
10324
10412
|
columns = this.getColumnsToExport();
|
|
10325
10413
|
serverData = this.mapCustomExport(columns, serverData);
|
|
10414
|
+
serverData = this.mapNumberFormatOptionsExport(columns, serverData);
|
|
10326
10415
|
dataToExport = this.mapColumnsTranslations(columns, serverData);
|
|
10327
10416
|
ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());
|
|
10328
10417
|
return [2 /*return*/];
|