@acorex/components 18.14.1-next.5 → 18.15.1
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/comment/lib/comment-container/comment-container.component.d.ts +1 -0
- package/common/lib/components/value-component.class.d.ts +1 -0
- package/common/lib/directives/auto-focus.directive.d.ts +1 -0
- package/common/lib/directives/ripple.directive.d.ts +1 -0
- package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -0
- package/data-table/lib/data-table/data-table.component.d.ts +61 -60
- package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +7 -6
- package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +2 -0
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +79 -14
- package/esm2022/avatar/lib/avatar.component.mjs +2 -2
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar-range.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.component.mjs +3 -3
- package/esm2022/comment/lib/comment-container/comment-container.component.mjs +7 -3
- package/esm2022/common/lib/components/value-component.class.mjs +4 -2
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +5 -3
- package/esm2022/common/lib/directives/inverted-color.directive.mjs +1 -1
- package/esm2022/common/lib/directives/ripple.directive.mjs +5 -3
- package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +2 -2
- package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +2 -2
- package/esm2022/cron-job/index.mjs +1 -1
- package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +3 -3
- package/esm2022/cron-job/lib/day/day.component.mjs +3 -3
- package/esm2022/cron-job/lib/hours/hours.component.mjs +3 -3
- package/esm2022/cron-job/lib/minutes/minutes.component.mjs +3 -3
- package/esm2022/cron-job/lib/month/month.component.mjs +3 -3
- package/esm2022/cron-job/lib/seconds/seconds.component.mjs +3 -3
- package/esm2022/cron-job/lib/year/year.component.mjs +3 -3
- package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +9 -7
- package/esm2022/data-table/lib/data-table/data-table.component.mjs +71 -67
- package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +16 -11
- package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +5 -2
- package/esm2022/list/lib/list.component.mjs +17 -5
- package/esm2022/loading/lib/loading-spinner.component.mjs +2 -2
- package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +2 -2
- package/esm2022/menu/lib/context-menu.component.mjs +28 -21
- package/esm2022/password-box/lib/password-box.component.mjs +13 -5
- package/esm2022/password-box/lib/password-box.module.mjs +19 -3
- package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +36 -14
- package/esm2022/popover/lib/popover.component.mjs +5 -3
- package/esm2022/popup/lib/popup.component.mjs +2 -2
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +7 -5
- package/fesm2022/acorex-components-audio-wave.mjs +78 -13
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-calendar.mjs +4 -4
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +7 -4
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +6 -3
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +14 -14
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +89 -81
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +4 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +16 -4
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
- package/fesm2022/acorex-components-loading.mjs +2 -2
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +24 -18
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +65 -19
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +4 -3
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +2 -2
- package/fesm2022/acorex-components-uploader.mjs +7 -6
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/menu/lib/context-menu.component.d.ts +2 -1
- package/package.json +1 -1
- package/password-box/lib/password-box.component.d.ts +9 -1
- package/password-box/lib/password-box.module.d.ts +3 -1
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +23 -1
- package/popover/lib/popover.component.d.ts +1 -0
- package/uploader/lib/uploader-zone.directive.d.ts +1 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as i5$1 from '@acorex/components/common';
|
|
2
2
|
import { MXBaseComponent, convertArrayToDataSource, AXListDataSource, AXPagedComponent, AXCommonModule, AXRippleDirective } from '@acorex/components/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { EventEmitter, signal, Injectable, Input, Output, Directive, HostListener,
|
|
4
|
+
import { EventEmitter, signal, Injectable, Input, Output, inject, Directive, HostListener, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ChangeDetectorRef, NgZone, computed, ContentChildren, NgModule } from '@angular/core';
|
|
5
5
|
import { isBrowser } from '@acorex/core/platform';
|
|
6
|
+
import * as i1$1 from '@angular/common';
|
|
7
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
6
8
|
import { Subject, debounceTime, buffer, filter } from 'rxjs';
|
|
7
9
|
import { __decorate, __metadata } from 'tslib';
|
|
8
10
|
import * as i2 from '@acorex/core/format';
|
|
@@ -17,8 +19,6 @@ import { AXButtonModule } from '@acorex/components/button';
|
|
|
17
19
|
import * as i4 from '@acorex/components/dropdown';
|
|
18
20
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
19
21
|
import { AXUnsubscriber, AXHtmlUtil } from '@acorex/core/utils';
|
|
20
|
-
import * as i1$1 from '@angular/common';
|
|
21
|
-
import { CommonModule } from '@angular/common';
|
|
22
22
|
import * as i6 from '@acorex/components/data-pager';
|
|
23
23
|
import { AXDataPagerModule } from '@acorex/components/data-pager';
|
|
24
24
|
import { AXResultModule } from '@acorex/components/result';
|
|
@@ -112,6 +112,7 @@ class AXDataTableColumnResizableDirective {
|
|
|
112
112
|
this.renderer = renderer;
|
|
113
113
|
this.ngZone = ngZone;
|
|
114
114
|
this.cdr = cdr;
|
|
115
|
+
this.document = inject(DOCUMENT);
|
|
115
116
|
this.resize$ = new Subject();
|
|
116
117
|
this.onMouseMoveRawBound = this.onMouseMoveRaw.bind(this);
|
|
117
118
|
this.onMouseUpBound = this.onMouseUp.bind(this);
|
|
@@ -123,8 +124,8 @@ class AXDataTableColumnResizableDirective {
|
|
|
123
124
|
this.ngZone.runOutsideAngular(() => {
|
|
124
125
|
this.startX = event.pageX;
|
|
125
126
|
this.startWidth = this.el?.nativeElement?.parentElement.offsetWidth;
|
|
126
|
-
document.addEventListener('mousemove', this.onMouseMoveRawBound);
|
|
127
|
-
document.addEventListener('mouseup', this.onMouseUpBound);
|
|
127
|
+
this.document.addEventListener('mousemove', this.onMouseMoveRawBound);
|
|
128
|
+
this.document.addEventListener('mouseup', this.onMouseUpBound);
|
|
128
129
|
});
|
|
129
130
|
this.cdr.detach(); // Detach the change detector
|
|
130
131
|
}
|
|
@@ -140,8 +141,8 @@ class AXDataTableColumnResizableDirective {
|
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
onMouseUp() {
|
|
143
|
-
document.removeEventListener('mousemove', this.onMouseMoveRawBound);
|
|
144
|
-
document.removeEventListener('mouseup', this.onMouseUpBound);
|
|
144
|
+
this.document.removeEventListener('mousemove', this.onMouseMoveRawBound);
|
|
145
|
+
this.document.removeEventListener('mouseup', this.onMouseUpBound);
|
|
145
146
|
this.cdr.reattach(); // Reattach the change detector
|
|
146
147
|
}
|
|
147
148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXDataTableColumnResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -911,6 +912,7 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
911
912
|
super(...arguments);
|
|
912
913
|
this._unsubscriber = inject(AXUnsubscriber);
|
|
913
914
|
this._zone = inject(NgZone);
|
|
915
|
+
this.document = inject(DOCUMENT);
|
|
914
916
|
/**
|
|
915
917
|
* @ignore
|
|
916
918
|
*/
|
|
@@ -992,73 +994,73 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
992
994
|
*/
|
|
993
995
|
this.fixedHeader = true;
|
|
994
996
|
/**
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
997
|
+
* Indicates if the table footer should be displayed.
|
|
998
|
+
*
|
|
999
|
+
* @defaultValue `false`
|
|
1000
|
+
*/
|
|
999
1001
|
this.showFooter = false;
|
|
1000
1002
|
/**
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1003
|
+
* Indicates if the table footer should be fixed.
|
|
1004
|
+
*
|
|
1005
|
+
* @defaultValue `true`
|
|
1006
|
+
*/
|
|
1005
1007
|
this.fixedFooter = true;
|
|
1006
1008
|
/**
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1009
|
+
* Specifies the height of each item in the table.
|
|
1010
|
+
*
|
|
1011
|
+
* @defaultValue `40`
|
|
1012
|
+
*/
|
|
1011
1013
|
this.itemHeight = 40;
|
|
1012
1014
|
/**
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1015
|
+
* Enables or disables row reordering.
|
|
1016
|
+
*
|
|
1017
|
+
* @defaultValue `false`
|
|
1018
|
+
*/
|
|
1017
1019
|
this.allowReordering = false;
|
|
1018
1020
|
/**
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1021
|
+
* Enables or disables paging.
|
|
1022
|
+
*
|
|
1023
|
+
* @defaultValue `true`
|
|
1024
|
+
*/
|
|
1023
1025
|
this.paging = true;
|
|
1024
1026
|
/**
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1027
|
+
* Specifies how data should be fetched.
|
|
1028
|
+
*
|
|
1029
|
+
* @defaultValue `'auto'`
|
|
1030
|
+
*/
|
|
1029
1031
|
this.fetchDataMode = 'auto';
|
|
1030
1032
|
/**
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1033
|
+
* Configuration for loading state.
|
|
1034
|
+
*
|
|
1035
|
+
* @defaultValue `{ enabled: true, animation: true }`
|
|
1036
|
+
*/
|
|
1035
1037
|
this.loading = {
|
|
1036
1038
|
enabled: true,
|
|
1037
1039
|
animation: true,
|
|
1038
1040
|
};
|
|
1039
1041
|
/**
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1042
|
+
* Emits when the focused row changes.
|
|
1043
|
+
*
|
|
1044
|
+
* @event
|
|
1045
|
+
*/
|
|
1044
1046
|
this.focusedRowChange = new EventEmitter();
|
|
1045
1047
|
/**
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1048
|
+
* Emits when a row is clicked.
|
|
1049
|
+
*
|
|
1050
|
+
* @event onRowClick
|
|
1051
|
+
*/
|
|
1050
1052
|
this.onRowClick = new EventEmitter();
|
|
1051
1053
|
/**
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1054
|
+
* Emits when a row is double-clicked.
|
|
1055
|
+
*
|
|
1056
|
+
* @event onRowDbClick
|
|
1057
|
+
*/
|
|
1056
1058
|
this.onRowDbClick = new EventEmitter();
|
|
1057
1059
|
/**
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1060
|
+
* Emits when the order of columns changes.
|
|
1061
|
+
*
|
|
1062
|
+
* @event onColumnsOrderChanged
|
|
1063
|
+
*/
|
|
1062
1064
|
this.onColumnsOrderChanged = new EventEmitter();
|
|
1063
1065
|
/**
|
|
1064
1066
|
* @ignore
|
|
@@ -1069,7 +1071,9 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1069
1071
|
*/
|
|
1070
1072
|
this.onResizeColumnMove = (event) => {
|
|
1071
1073
|
const diffX = event.pageX - this.resizeColumnProp.startX;
|
|
1072
|
-
const newWidth = this.rtl
|
|
1074
|
+
const newWidth = this.rtl
|
|
1075
|
+
? this.resizeColumnProp.startWidth - diffX
|
|
1076
|
+
: this.resizeColumnProp.startWidth + diffX;
|
|
1073
1077
|
this.resizeColumnProp.thElement.style.width = `${Math.max(100, newWidth)}px`;
|
|
1074
1078
|
this.resizeColumnProp.thElement.setAttribute('new-width', `${newWidth}`);
|
|
1075
1079
|
};
|
|
@@ -1077,24 +1081,24 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1077
1081
|
* @ignore
|
|
1078
1082
|
*/
|
|
1079
1083
|
this.onResizeColumnEnd = () => {
|
|
1080
|
-
document.removeEventListener('mousemove', this.onResizeColumnMove);
|
|
1081
|
-
document.removeEventListener('mouseup', this.onResizeColumnEnd);
|
|
1084
|
+
this.document.removeEventListener('mousemove', this.onResizeColumnMove);
|
|
1085
|
+
this.document.removeEventListener('mouseup', this.onResizeColumnEnd);
|
|
1082
1086
|
const newWidth = parseInt(this.resizeColumnProp.thElement.attributes.getNamedItem('new-width').value);
|
|
1083
1087
|
this.columns.get(this.resizeColumnProp.columnIndex).width = `${Math.max(100, newWidth)}px`;
|
|
1084
1088
|
this.resetResizingProcess();
|
|
1085
1089
|
};
|
|
1086
1090
|
}
|
|
1087
1091
|
/**
|
|
1088
|
-
|
|
1089
|
-
|
|
1092
|
+
* Gets the currently focused row.
|
|
1093
|
+
*/
|
|
1090
1094
|
get focusedRow() {
|
|
1091
1095
|
return this._focusedRow;
|
|
1092
1096
|
}
|
|
1093
1097
|
/**
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
+
* Sets the currently focused row and emits the change event.
|
|
1099
|
+
*
|
|
1100
|
+
* @param v - The row to be focused.
|
|
1101
|
+
*/
|
|
1098
1102
|
set focusedRow(v) {
|
|
1099
1103
|
this._focusedRow = v;
|
|
1100
1104
|
this.focusedRowChange.emit(v);
|
|
@@ -1208,13 +1212,13 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1208
1212
|
});
|
|
1209
1213
|
}
|
|
1210
1214
|
/**
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1215
|
+
* Handles the click event on a column header.
|
|
1216
|
+
* Toggles the sorting direction or removes the sort if already sorted.
|
|
1217
|
+
*
|
|
1218
|
+
* @param e - The mouse event triggered by the click.
|
|
1219
|
+
* @param column - The column that was clicked.
|
|
1220
|
+
* @ignore
|
|
1221
|
+
*/
|
|
1218
1222
|
handleColumnClick(e, column) {
|
|
1219
1223
|
if (column instanceof AXDataTableTextColumnComponent) {
|
|
1220
1224
|
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|
|
@@ -1246,9 +1250,9 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1246
1250
|
return undefined;
|
|
1247
1251
|
}
|
|
1248
1252
|
/**
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1253
|
+
* Refreshes the data in the data source and resets the data pager to the first page.
|
|
1254
|
+
* @ignore
|
|
1255
|
+
*/
|
|
1252
1256
|
refresh() {
|
|
1253
1257
|
this.dataSource.refresh();
|
|
1254
1258
|
if (this.dataPager) {
|
|
@@ -1272,8 +1276,8 @@ class AXDataTableComponent extends AXBaseDataTable {
|
|
|
1272
1276
|
this.resizeColumnProp.startWidth = parseInt(this.resizeColumnProp.thElement.style.width);
|
|
1273
1277
|
this.resizeColumnProp.columnIndex = columnIndex;
|
|
1274
1278
|
this._zone.runOutsideAngular(() => {
|
|
1275
|
-
document.addEventListener('mousemove', this.onResizeColumnMove);
|
|
1276
|
-
document.addEventListener('mouseup', this.onResizeColumnEnd);
|
|
1279
|
+
this.document.addEventListener('mousemove', this.onResizeColumnMove);
|
|
1280
|
+
this.document.addEventListener('mouseup', this.onResizeColumnEnd);
|
|
1277
1281
|
});
|
|
1278
1282
|
}
|
|
1279
1283
|
/**
|
|
@@ -1398,6 +1402,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
1398
1402
|
class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
1399
1403
|
constructor() {
|
|
1400
1404
|
super(...arguments);
|
|
1405
|
+
this.document = inject(DOCUMENT);
|
|
1401
1406
|
this.ngZone = inject(NgZone);
|
|
1402
1407
|
/**
|
|
1403
1408
|
* Emits an event when the page changes.
|
|
@@ -1607,14 +1612,17 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
1607
1612
|
* @ignore
|
|
1608
1613
|
*/
|
|
1609
1614
|
updateHeight() {
|
|
1610
|
-
this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) +
|
|
1615
|
+
this.height = `calc(100% - ${(this.headerContainer?.nativeElement.clientHeight ?? 0) +
|
|
1616
|
+
(this.footerContainer?.nativeElement.clientHeight ?? 0)}px)`;
|
|
1611
1617
|
}
|
|
1612
1618
|
/**
|
|
1613
1619
|
* @ignore
|
|
1614
1620
|
*/
|
|
1615
1621
|
updateWidth() {
|
|
1616
1622
|
if (this.columns && this.columns.length) {
|
|
1617
|
-
const sumPx = sum(this.columns
|
|
1623
|
+
const sumPx = sum(this.columns
|
|
1624
|
+
.toArray()
|
|
1625
|
+
.map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))));
|
|
1618
1626
|
this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;
|
|
1619
1627
|
}
|
|
1620
1628
|
}
|
|
@@ -1640,7 +1648,7 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
1640
1648
|
fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());
|
|
1641
1649
|
for (const row of originalRows) {
|
|
1642
1650
|
const fixedCells = Array.from(row.querySelectorAll('[data-fixed="start"]'));
|
|
1643
|
-
const fixedRow = document.createElement('tr');
|
|
1651
|
+
const fixedRow = this.document.createElement('tr');
|
|
1644
1652
|
for (const cell of fixedCells) {
|
|
1645
1653
|
const clonedCell = cell.cloneNode(true);
|
|
1646
1654
|
fixedRow.appendChild(clonedCell);
|
|
@@ -1705,12 +1713,12 @@ class AXInfiniteScrollDataTableComponent extends AXBaseDataTable {
|
|
|
1705
1713
|
});
|
|
1706
1714
|
}
|
|
1707
1715
|
/**
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1716
|
+
* Handles column header clicks to toggle sorting on the column.
|
|
1717
|
+
*
|
|
1718
|
+
* @param e - The mouse event triggered by the click.
|
|
1719
|
+
* @param column - The column that was clicked.
|
|
1720
|
+
* @ignore
|
|
1721
|
+
*/
|
|
1714
1722
|
handleColumnClick(e, column) {
|
|
1715
1723
|
if (column instanceof AXDataTableTextColumnComponent) {
|
|
1716
1724
|
const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);
|