@mui/x-data-grid 5.17.21 → 5.17.23
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/CHANGELOG.md +60 -0
- package/components/toolbar/GridToolbarFilterButton.js +11 -8
- package/hooks/features/export/useGridPrintExport.js +12 -0
- package/hooks/features/rows/useGridRows.js +9 -4
- package/index.js +1 -1
- package/legacy/components/toolbar/GridToolbarFilterButton.js +10 -3
- package/legacy/hooks/features/export/useGridPrintExport.js +12 -0
- package/legacy/hooks/features/rows/useGridRows.js +8 -5
- package/legacy/index.js +1 -1
- package/legacy/locales/frFR.js +1 -1
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/urPK.js +135 -0
- package/legacy/utils/domUtils.js +10 -8
- package/locales/frFR.js +1 -1
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/urPK.d.ts +2 -0
- package/locales/urPK.js +123 -0
- package/models/gridFilterOperator.d.ts +6 -0
- package/modern/components/toolbar/GridToolbarFilterButton.js +8 -1
- package/modern/hooks/features/export/useGridPrintExport.js +12 -0
- package/modern/hooks/features/rows/useGridRows.js +9 -4
- package/modern/index.js +1 -1
- package/modern/locales/frFR.js +1 -1
- package/modern/locales/index.js +1 -0
- package/modern/locales/urPK.js +123 -0
- package/modern/utils/domUtils.js +10 -8
- package/node/components/toolbar/GridToolbarFilterButton.js +11 -8
- package/node/hooks/features/export/useGridPrintExport.js +12 -0
- package/node/hooks/features/rows/useGridRows.js +9 -4
- package/node/index.js +1 -1
- package/node/locales/frFR.js +1 -1
- package/node/locales/index.js +13 -0
- package/node/locales/urPK.js +133 -0
- package/node/utils/domUtils.js +9 -8
- package/package.json +1 -1
- package/utils/domUtils.js +10 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,66 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 5.17.23
|
|
7
|
+
|
|
8
|
+
_Feb 9, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🌍 Improve Brazilian Portuguese (pt-BR) locale
|
|
13
|
+
- 🎉 Add banner and callouts to inform about MUI X v6 beta
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
|
|
16
|
+
### `@mui/x-data-grid@v5.17.23` / `@mui/x-data-grid-pro@v5.17.23` / `@mui/x-data-grid-premium@v5.17.23`
|
|
17
|
+
|
|
18
|
+
#### Changes
|
|
19
|
+
|
|
20
|
+
- [DataGrid] Allow to customize the value displayed in the filter button tooltip (#7816) @ithrforu
|
|
21
|
+
- [DataGrid] Fix `getCellElement` method not working with pinned columns (#7844) @yaredtsy
|
|
22
|
+
- [DataGrid] Fix stale rows issue in `unstable_replaceRows` (#7694) @MBilalShafi
|
|
23
|
+
- [l10n] Improve Brazilian Portuguese (pt-BR) locale (#7850) @ed-ateixeira
|
|
24
|
+
|
|
25
|
+
### `@mui/x-date-pickers@v_5.0.18` / `@mui/x-date-pickers-pro@v_5.0.18`
|
|
26
|
+
|
|
27
|
+
#### Changes
|
|
28
|
+
|
|
29
|
+
- [pickers] Update pickers when new value has a distinct timezone (#7853) @alexfauquette
|
|
30
|
+
|
|
31
|
+
### Docs
|
|
32
|
+
|
|
33
|
+
- [docs] Add messages in v5 doc to inform people about v6 (#7838) @flaviendelangle
|
|
34
|
+
- [docs] Fix 301 link @oliviertassinari
|
|
35
|
+
|
|
36
|
+
### Core
|
|
37
|
+
|
|
38
|
+
- [core] Upgrade monorepo (#7849) @cherniavskii
|
|
39
|
+
|
|
40
|
+
## v5.17.22
|
|
41
|
+
|
|
42
|
+
_Feb 2, 2023_
|
|
43
|
+
|
|
44
|
+
We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
|
|
45
|
+
|
|
46
|
+
- 🌍 Add Urdu (ur-PK) locale
|
|
47
|
+
- 🌍 Improve French (fr-FR) and Italian (it-IT) locales
|
|
48
|
+
- 🐞 Bugfixes
|
|
49
|
+
|
|
50
|
+
### `@mui/x-data-grid@v5.17.22` / `@mui/x-data-grid-pro@v5.17.22` / `@mui/x-data-grid-premium@v5.17.22`
|
|
51
|
+
|
|
52
|
+
#### Changes
|
|
53
|
+
|
|
54
|
+
- [DataGrid] Fix an error when deleting pinned row using the buttons in the `actions` column (#7767) @cherniavskii
|
|
55
|
+
- [DataGrid] Fix print preview regression in Chrome browser (#7405) @cherniavskii
|
|
56
|
+
- [l10n] Add Urdu (ur-PK) locale (#7778) @MBilalShafi
|
|
57
|
+
- [l10n] Improve French (fr-FR) locale (#7795) @Vivek-Prajapatii
|
|
58
|
+
|
|
59
|
+
### `@mui/x-date-pickers@v5.0.17` / `@mui/x-date-pickers-pro@v5.0.17`
|
|
60
|
+
|
|
61
|
+
#### Changes
|
|
62
|
+
|
|
63
|
+
- [TimePicker] Add missing `themeAugmentation` entry (#7732) @LukasTy
|
|
64
|
+
- [l10n] Improve Italian (it-IT) locale (#7761) @simonecervini
|
|
65
|
+
|
|
6
66
|
## v5.17.21
|
|
7
67
|
|
|
8
68
|
_Jan 27, 2023_
|
|
@@ -67,18 +67,21 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
67
67
|
|
|
68
68
|
const getOperatorLabel = item => lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue).label || apiRef.current.getLocaleText(`filterOperator${capitalize(item.operatorValue)}`).toString();
|
|
69
69
|
|
|
70
|
+
const getFilterItemValue = item => {
|
|
71
|
+
const {
|
|
72
|
+
getValueAsString
|
|
73
|
+
} = lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue);
|
|
74
|
+
return getValueAsString ? getValueAsString(item.value) : item.value;
|
|
75
|
+
};
|
|
76
|
+
|
|
70
77
|
return /*#__PURE__*/_jsxs("div", {
|
|
71
78
|
children: [apiRef.current.getLocaleText('toolbarFiltersTooltipActive')(activeFilters.length), /*#__PURE__*/_jsx(GridToolbarFilterListRoot, {
|
|
72
79
|
className: classes.root,
|
|
73
|
-
children: activeFilters.map((item, index) => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return _extends({}, lookup[item.columnField] && /*#__PURE__*/_jsx("li", {
|
|
77
|
-
children: `${lookup[item.columnField].headerName || item.columnField}
|
|
80
|
+
children: activeFilters.map((item, index) => _extends({}, lookup[item.columnField] && /*#__PURE__*/_jsx("li", {
|
|
81
|
+
children: `${lookup[item.columnField].headerName || item.columnField}
|
|
78
82
|
${getOperatorLabel(item)}
|
|
79
|
-
${
|
|
80
|
-
|
|
81
|
-
})
|
|
83
|
+
${item.value ? getFilterItemValue(item) : ''}`
|
|
84
|
+
}, index)))
|
|
82
85
|
})]
|
|
83
86
|
});
|
|
84
87
|
}, [apiRef, preferencePanel.open, activeFilters, lookup, classes]);
|
|
@@ -21,6 +21,11 @@ function raf() {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function getChromeVersion() {
|
|
25
|
+
const raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
|
|
26
|
+
return raw ? parseInt(raw[2], 10) : null;
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
/**
|
|
25
30
|
* @requires useGridColumns (state)
|
|
26
31
|
* @requires useGridFilter (state)
|
|
@@ -96,6 +101,13 @@ export const useGridPrintExport = (apiRef, props) => {
|
|
|
96
101
|
|
|
97
102
|
const gridMain = gridClone.querySelector(`.${gridClasses.main}`);
|
|
98
103
|
gridMain.style.overflow = 'visible';
|
|
104
|
+
const chromeVersion = getChromeVersion();
|
|
105
|
+
|
|
106
|
+
if (chromeVersion && chromeVersion >= 108) {
|
|
107
|
+
// See https://support.google.com/chrome/thread/191619088?hl=en&msgid=193009642
|
|
108
|
+
gridClone.style.contain = 'size';
|
|
109
|
+
}
|
|
110
|
+
|
|
99
111
|
const columnHeaders = gridClone.querySelector(`.${gridClasses.columnHeaders}`);
|
|
100
112
|
const columnHeadersInner = columnHeaders.querySelector(`.${gridClasses.columnHeadersInner}`);
|
|
101
113
|
columnHeadersInner.style.width = '100%';
|
|
@@ -299,14 +299,19 @@ export const useGridRows = (apiRef, props) => {
|
|
|
299
299
|
apiRef.current.unstable_caches.rows.idRowsLookup = updatedIdRowsLookup;
|
|
300
300
|
apiRef.current.unstable_caches.rows.idToIdLookup = updatedIdToIdLookup;
|
|
301
301
|
apiRef.current.unstable_caches.rows.ids = updatedRows;
|
|
302
|
-
apiRef.current.setState(state =>
|
|
303
|
-
|
|
302
|
+
apiRef.current.setState(state => {
|
|
303
|
+
const newRowsState = {
|
|
304
304
|
idRowsLookup: updatedIdRowsLookup,
|
|
305
305
|
idToIdLookup: updatedIdToIdLookup,
|
|
306
306
|
tree: updatedTree,
|
|
307
307
|
ids: updatedRows
|
|
308
|
-
}
|
|
309
|
-
|
|
308
|
+
};
|
|
309
|
+
return _extends({}, state, {
|
|
310
|
+
rows: _extends({}, state.rows, newRowsState, {
|
|
311
|
+
groupingResponseBeforeRowHydration: _extends({}, state.rows.groupingResponseBeforeRowHydration, newRowsState)
|
|
312
|
+
})
|
|
313
|
+
});
|
|
314
|
+
});
|
|
310
315
|
apiRef.current.publishEvent('rowsSet');
|
|
311
316
|
}, [apiRef, props.signature, props.getRowId]);
|
|
312
317
|
const rowApi = {
|
package/index.js
CHANGED
|
@@ -71,14 +71,21 @@ var GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbar
|
|
|
71
71
|
}).label || apiRef.current.getLocaleText("filterOperator".concat(capitalize(item.operatorValue))).toString();
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
+
var getFilterItemValue = function getFilterItemValue(item) {
|
|
75
|
+
var _ref2 = lookup[item.columnField].filterOperators.find(function (operator) {
|
|
76
|
+
return operator.value === item.operatorValue;
|
|
77
|
+
}),
|
|
78
|
+
getValueAsString = _ref2.getValueAsString;
|
|
79
|
+
|
|
80
|
+
return getValueAsString ? getValueAsString(item.value) : item.value;
|
|
81
|
+
};
|
|
82
|
+
|
|
74
83
|
return /*#__PURE__*/_jsxs("div", {
|
|
75
84
|
children: [apiRef.current.getLocaleText('toolbarFiltersTooltipActive')(activeFilters.length), /*#__PURE__*/_jsx(GridToolbarFilterListRoot, {
|
|
76
85
|
className: classes.root,
|
|
77
86
|
children: activeFilters.map(function (item, index) {
|
|
78
|
-
var _item$value;
|
|
79
|
-
|
|
80
87
|
return _extends({}, lookup[item.columnField] && /*#__PURE__*/_jsx("li", {
|
|
81
|
-
children: "".concat(lookup[item.columnField].headerName || item.columnField, "\n ").concat(getOperatorLabel(item), "\n ").concat(
|
|
88
|
+
children: "".concat(lookup[item.columnField].headerName || item.columnField, "\n ").concat(getOperatorLabel(item), "\n ").concat(item.value ? getFilterItemValue(item) : '')
|
|
82
89
|
}, index));
|
|
83
90
|
})
|
|
84
91
|
})]
|
|
@@ -24,6 +24,11 @@ function raf() {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function getChromeVersion() {
|
|
28
|
+
var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
|
|
29
|
+
return raw ? parseInt(raw[2], 10) : null;
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
/**
|
|
28
33
|
* @requires useGridColumns (state)
|
|
29
34
|
* @requires useGridFilter (state)
|
|
@@ -103,6 +108,13 @@ export var useGridPrintExport = function useGridPrintExport(apiRef, props) {
|
|
|
103
108
|
|
|
104
109
|
var gridMain = gridClone.querySelector(".".concat(gridClasses.main));
|
|
105
110
|
gridMain.style.overflow = 'visible';
|
|
111
|
+
var chromeVersion = getChromeVersion();
|
|
112
|
+
|
|
113
|
+
if (chromeVersion && chromeVersion >= 108) {
|
|
114
|
+
// See https://support.google.com/chrome/thread/191619088?hl=en&msgid=193009642
|
|
115
|
+
gridClone.style.contain = 'size';
|
|
116
|
+
}
|
|
117
|
+
|
|
106
118
|
var columnHeaders = gridClone.querySelector(".".concat(gridClasses.columnHeaders));
|
|
107
119
|
var columnHeadersInner = columnHeaders.querySelector(".".concat(gridClasses.columnHeadersInner));
|
|
108
120
|
columnHeadersInner.style.width = '100%';
|
|
@@ -329,12 +329,15 @@ export var useGridRows = function useGridRows(apiRef, props) {
|
|
|
329
329
|
apiRef.current.unstable_caches.rows.idToIdLookup = updatedIdToIdLookup;
|
|
330
330
|
apiRef.current.unstable_caches.rows.ids = updatedRows;
|
|
331
331
|
apiRef.current.setState(function (state) {
|
|
332
|
+
var newRowsState = {
|
|
333
|
+
idRowsLookup: updatedIdRowsLookup,
|
|
334
|
+
idToIdLookup: updatedIdToIdLookup,
|
|
335
|
+
tree: updatedTree,
|
|
336
|
+
ids: updatedRows
|
|
337
|
+
};
|
|
332
338
|
return _extends({}, state, {
|
|
333
|
-
rows: _extends({}, state.rows, {
|
|
334
|
-
|
|
335
|
-
idToIdLookup: updatedIdToIdLookup,
|
|
336
|
-
tree: updatedTree,
|
|
337
|
-
ids: updatedRows
|
|
339
|
+
rows: _extends({}, state.rows, newRowsState, {
|
|
340
|
+
groupingResponseBeforeRowHydration: _extends({}, state.rows.groupingResponseBeforeRowHydration, newRowsState)
|
|
338
341
|
})
|
|
339
342
|
});
|
|
340
343
|
});
|
package/legacy/index.js
CHANGED
package/legacy/locales/frFR.js
CHANGED
|
@@ -62,7 +62,7 @@ var frFRGrid = {
|
|
|
62
62
|
filterOperatorOnOrBefore: 'égal ou antérieur',
|
|
63
63
|
filterOperatorIsEmpty: 'est vide',
|
|
64
64
|
filterOperatorIsNotEmpty: "n'est pas vide",
|
|
65
|
-
filterOperatorIsAnyOf: 'fait
|
|
65
|
+
filterOperatorIsAnyOf: 'fait partie de',
|
|
66
66
|
// Filter values text
|
|
67
67
|
filterValueAny: 'tous',
|
|
68
68
|
filterValueTrue: 'vrai',
|
package/legacy/locales/index.js
CHANGED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { urPKCore } from './coreLocales';
|
|
2
|
+
import { getGridLocalization } from '../utils/getGridLocalization';
|
|
3
|
+
var urPKGrid = {
|
|
4
|
+
// Root
|
|
5
|
+
noRowsLabel: 'کوئی قطاریں نہیں',
|
|
6
|
+
noResultsOverlayLabel: 'کوئی نتائج نہیں',
|
|
7
|
+
errorOverlayDefaultLabel: 'ایک مسئلہ ہو گیا',
|
|
8
|
+
// Density selector toolbar button text
|
|
9
|
+
toolbarDensity: 'کثافت',
|
|
10
|
+
toolbarDensityLabel: 'کثافت',
|
|
11
|
+
toolbarDensityCompact: 'تنگ',
|
|
12
|
+
toolbarDensityStandard: 'درمیانہ',
|
|
13
|
+
toolbarDensityComfortable: 'مناسب',
|
|
14
|
+
// Columns selector toolbar button text
|
|
15
|
+
toolbarColumns: 'کالمز',
|
|
16
|
+
toolbarColumnsLabel: 'کالمز کو منتخب کریں',
|
|
17
|
+
// Filters toolbar button text
|
|
18
|
+
toolbarFilters: 'فلٹرز',
|
|
19
|
+
toolbarFiltersLabel: 'فلٹرز دکھائیں',
|
|
20
|
+
toolbarFiltersTooltipHide: 'فلٹرز چھپائیں',
|
|
21
|
+
toolbarFiltersTooltipShow: 'فلٹرز دکھائیں',
|
|
22
|
+
toolbarFiltersTooltipActive: function toolbarFiltersTooltipActive(count) {
|
|
23
|
+
return count !== 1 ? "".concat(count, " \u0641\u0639\u0627\u0644 \u0641\u0644\u0679\u0631\u0632") : "".concat(count, " \u0641\u0644\u0679\u0631\u0632 \u0641\u0639\u0627\u0644");
|
|
24
|
+
},
|
|
25
|
+
// Quick filter toolbar field
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'تلاش کریں۔۔۔',
|
|
27
|
+
toolbarQuickFilterLabel: 'تلاش کریں',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'کلئیر کریں',
|
|
29
|
+
// Export selector toolbar button text
|
|
30
|
+
toolbarExport: 'ایکسپورٹ',
|
|
31
|
+
toolbarExportLabel: 'ایکسپورٹ',
|
|
32
|
+
toolbarExportCSV: 'CSV کے طور پر ڈاوٴنلوڈ کریں',
|
|
33
|
+
toolbarExportPrint: 'پرنٹ کریں',
|
|
34
|
+
toolbarExportExcel: 'ایکسل کے طور پر ڈاوٴنلوڈ کریں',
|
|
35
|
+
// Columns panel text
|
|
36
|
+
columnsPanelTextFieldLabel: 'کالم کو تلاش کریں',
|
|
37
|
+
columnsPanelTextFieldPlaceholder: 'کالم کا عنوان',
|
|
38
|
+
columnsPanelDragIconLabel: 'کالم کی ترتیب تبدیل کریں',
|
|
39
|
+
columnsPanelShowAllButton: 'سارے دکھائیں',
|
|
40
|
+
columnsPanelHideAllButton: 'سارے چھپائیں',
|
|
41
|
+
// Filter panel text
|
|
42
|
+
filterPanelAddFilter: 'نیا فلٹر',
|
|
43
|
+
filterPanelDeleteIconLabel: 'ختم کریں',
|
|
44
|
+
filterPanelLinkOperator: 'لاجک آپریٹر',
|
|
45
|
+
filterPanelOperators: 'آپریٹر',
|
|
46
|
+
// TODO v6: rename to filterPanelOperator
|
|
47
|
+
filterPanelOperatorAnd: 'اور',
|
|
48
|
+
filterPanelOperatorOr: 'یا',
|
|
49
|
+
filterPanelColumns: 'کالمز',
|
|
50
|
+
filterPanelInputLabel: 'ویلیو',
|
|
51
|
+
filterPanelInputPlaceholder: 'ویلیو کو فلٹر کریں',
|
|
52
|
+
// Filter operators text
|
|
53
|
+
filterOperatorContains: 'شامل ہے',
|
|
54
|
+
filterOperatorEquals: 'برابر ہے',
|
|
55
|
+
filterOperatorStartsWith: 'شروع ہوتا ہے',
|
|
56
|
+
filterOperatorEndsWith: 'ختم ہوتا ہے',
|
|
57
|
+
filterOperatorIs: 'ہے',
|
|
58
|
+
filterOperatorNot: 'نہیں',
|
|
59
|
+
filterOperatorAfter: 'بعد میں ہے',
|
|
60
|
+
filterOperatorOnOrAfter: 'پر یا بعد میں ہے',
|
|
61
|
+
filterOperatorBefore: 'پہلے ہے',
|
|
62
|
+
filterOperatorOnOrBefore: 'پر یا پہلے ہے',
|
|
63
|
+
filterOperatorIsEmpty: 'خالی ہے',
|
|
64
|
+
filterOperatorIsNotEmpty: 'خالی نہیں ہے',
|
|
65
|
+
filterOperatorIsAnyOf: 'ان میں سے کوئی ہے',
|
|
66
|
+
// Filter values text
|
|
67
|
+
filterValueAny: 'کوئی بھی',
|
|
68
|
+
filterValueTrue: 'صحیح',
|
|
69
|
+
filterValueFalse: 'غلط',
|
|
70
|
+
// Column menu text
|
|
71
|
+
columnMenuLabel: 'مینیو',
|
|
72
|
+
columnMenuShowColumns: 'کالم دکھائیں',
|
|
73
|
+
columnMenuFilter: 'فلٹر',
|
|
74
|
+
columnMenuHideColumn: 'چھپائیں',
|
|
75
|
+
columnMenuUnsort: 'sort ختم کریں',
|
|
76
|
+
columnMenuSortAsc: 'ترتیب صعودی',
|
|
77
|
+
columnMenuSortDesc: 'ترتیب نزولی',
|
|
78
|
+
// Column header text
|
|
79
|
+
columnHeaderFiltersTooltipActive: function columnHeaderFiltersTooltipActive(count) {
|
|
80
|
+
return count !== 1 ? "".concat(count, " \u0641\u0639\u0627\u0644 \u0641\u0644\u0679\u0631\u0632") : "".concat(count, " \u0641\u0644\u0679\u0631\u0632 \u0641\u0639\u0627\u0644");
|
|
81
|
+
},
|
|
82
|
+
columnHeaderFiltersLabel: 'فلٹرز دکھائیں',
|
|
83
|
+
columnHeaderSortIconLabel: 'Sort',
|
|
84
|
+
// Rows selected footer text
|
|
85
|
+
footerRowSelected: function footerRowSelected(count) {
|
|
86
|
+
return count !== 1 ? "".concat(count.toLocaleString(), " \u0645\u0646\u062A\u062E\u0628 \u0642\u0637\u0627\u0631\u06CC\u06BA") : "".concat(count.toLocaleString(), " \u0645\u0646\u062A\u062E\u0628 \u0642\u0637\u0627\u0631");
|
|
87
|
+
},
|
|
88
|
+
// Total row amount footer text
|
|
89
|
+
footerTotalRows: 'کل قطاریں:',
|
|
90
|
+
// Total visible row amount footer text
|
|
91
|
+
footerTotalVisibleRows: function footerTotalVisibleRows(visibleCount, totalCount) {
|
|
92
|
+
return "".concat(totalCount.toLocaleString(), " \u0645\u06CC\u06BA \u0633\u06D2 ").concat(visibleCount.toLocaleString());
|
|
93
|
+
},
|
|
94
|
+
// Checkbox selection text
|
|
95
|
+
checkboxSelectionHeaderName: 'چیک باکس منتخب کریں',
|
|
96
|
+
checkboxSelectionSelectAllRows: 'تمام قطاریں منتخب کریں',
|
|
97
|
+
checkboxSelectionUnselectAllRows: 'تمام قطاریں نامنتخب کریں ',
|
|
98
|
+
checkboxSelectionSelectRow: 'قطار منتخب کریں',
|
|
99
|
+
checkboxSelectionUnselectRow: 'قطار نامنتخب کریں',
|
|
100
|
+
// Boolean cell text
|
|
101
|
+
booleanCellTrueLabel: 'ہاں',
|
|
102
|
+
booleanCellFalseLabel: 'نہیں',
|
|
103
|
+
// Actions cell more text
|
|
104
|
+
actionsCellMore: 'ذیادہ',
|
|
105
|
+
// Column pinning text
|
|
106
|
+
pinToLeft: 'بائیں جانب pin کریں',
|
|
107
|
+
pinToRight: 'دائیں جانب pin کریں',
|
|
108
|
+
unpin: 'pin ختم کریں',
|
|
109
|
+
// Tree Data
|
|
110
|
+
treeDataGroupingHeaderName: 'گروپ',
|
|
111
|
+
treeDataExpand: 'شاخیں دیکھیں',
|
|
112
|
+
treeDataCollapse: 'شاخیں چھپائیں',
|
|
113
|
+
// Grouping columns
|
|
114
|
+
groupingColumnHeaderName: 'گروپ',
|
|
115
|
+
groupColumn: function groupColumn(name) {
|
|
116
|
+
return "".concat(name, " \u0633\u06D2 \u06AF\u0631\u0648\u067E \u06A9\u0631\u06CC\u06BA");
|
|
117
|
+
},
|
|
118
|
+
unGroupColumn: function unGroupColumn(name) {
|
|
119
|
+
return "".concat(name, " \u0633\u06D2 \u06AF\u0631\u0648\u067E \u062E\u062A\u0645 \u06A9\u0631\u06CC\u06BA");
|
|
120
|
+
},
|
|
121
|
+
// Master/detail
|
|
122
|
+
detailPanelToggle: 'ڈیٹیل پینل کھولیں / بند کریں',
|
|
123
|
+
expandDetailPanel: 'پھیلائیں',
|
|
124
|
+
collapseDetailPanel: 'تنگ کریں',
|
|
125
|
+
// Row reordering text
|
|
126
|
+
rowReorderingHeaderName: 'قطاروں کی ترتیب تبدیل کریں',
|
|
127
|
+
// Aggregation
|
|
128
|
+
aggregationMenuItemHeader: 'Aggregation',
|
|
129
|
+
aggregationFunctionLabelSum: 'sum',
|
|
130
|
+
aggregationFunctionLabelAvg: 'avg',
|
|
131
|
+
aggregationFunctionLabelMin: 'min',
|
|
132
|
+
aggregationFunctionLabelMax: 'max',
|
|
133
|
+
aggregationFunctionLabelSize: 'size'
|
|
134
|
+
};
|
|
135
|
+
export var urPK = getGridLocalization(urPKGrid, urPKCore);
|
package/legacy/utils/domUtils.js
CHANGED
|
@@ -27,17 +27,19 @@ function escapeOperandAttributeSelector(operand) {
|
|
|
27
27
|
export function getGridColumnHeaderElement(root, field) {
|
|
28
28
|
return root.querySelector("[role=\"columnheader\"][data-field=\"".concat(escapeOperandAttributeSelector(field), "\"]"));
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
function getGridRowElementSelector(id) {
|
|
32
|
+
return ".".concat(gridClasses.row, "[data-id=\"").concat(escapeOperandAttributeSelector(String(id)), "\"]");
|
|
33
|
+
}
|
|
34
|
+
|
|
30
35
|
export function getGridRowElement(root, id) {
|
|
31
|
-
return root.querySelector(
|
|
36
|
+
return root.querySelector(getGridRowElementSelector(id));
|
|
32
37
|
}
|
|
33
38
|
export function getGridCellElement(root, _ref) {
|
|
34
39
|
var id = _ref.id,
|
|
35
40
|
field = _ref.field;
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return row.querySelector(".".concat(gridClasses.cell, "[data-field=\"").concat(escapeOperandAttributeSelector(field), "\"]"));
|
|
41
|
+
var rowSelector = getGridRowElementSelector(id);
|
|
42
|
+
var cellSelector = ".".concat(gridClasses.cell, "[data-field=\"").concat(escapeOperandAttributeSelector(field), "\"]");
|
|
43
|
+
var selector = "".concat(rowSelector, " ").concat(cellSelector);
|
|
44
|
+
return root.querySelector(selector);
|
|
43
45
|
}
|
package/locales/frFR.js
CHANGED
|
@@ -60,7 +60,7 @@ const frFRGrid = {
|
|
|
60
60
|
filterOperatorOnOrBefore: 'égal ou antérieur',
|
|
61
61
|
filterOperatorIsEmpty: 'est vide',
|
|
62
62
|
filterOperatorIsNotEmpty: "n'est pas vide",
|
|
63
|
-
filterOperatorIsAnyOf: 'fait
|
|
63
|
+
filterOperatorIsAnyOf: 'fait partie de',
|
|
64
64
|
// Filter values text
|
|
65
65
|
filterValueAny: 'tous',
|
|
66
66
|
filterValueTrue: 'vrai',
|
package/locales/index.d.ts
CHANGED
package/locales/index.js
CHANGED
package/locales/urPK.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { urPKCore } from './coreLocales';
|
|
2
|
+
import { getGridLocalization } from '../utils/getGridLocalization';
|
|
3
|
+
const urPKGrid = {
|
|
4
|
+
// Root
|
|
5
|
+
noRowsLabel: 'کوئی قطاریں نہیں',
|
|
6
|
+
noResultsOverlayLabel: 'کوئی نتائج نہیں',
|
|
7
|
+
errorOverlayDefaultLabel: 'ایک مسئلہ ہو گیا',
|
|
8
|
+
// Density selector toolbar button text
|
|
9
|
+
toolbarDensity: 'کثافت',
|
|
10
|
+
toolbarDensityLabel: 'کثافت',
|
|
11
|
+
toolbarDensityCompact: 'تنگ',
|
|
12
|
+
toolbarDensityStandard: 'درمیانہ',
|
|
13
|
+
toolbarDensityComfortable: 'مناسب',
|
|
14
|
+
// Columns selector toolbar button text
|
|
15
|
+
toolbarColumns: 'کالمز',
|
|
16
|
+
toolbarColumnsLabel: 'کالمز کو منتخب کریں',
|
|
17
|
+
// Filters toolbar button text
|
|
18
|
+
toolbarFilters: 'فلٹرز',
|
|
19
|
+
toolbarFiltersLabel: 'فلٹرز دکھائیں',
|
|
20
|
+
toolbarFiltersTooltipHide: 'فلٹرز چھپائیں',
|
|
21
|
+
toolbarFiltersTooltipShow: 'فلٹرز دکھائیں',
|
|
22
|
+
toolbarFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
23
|
+
// Quick filter toolbar field
|
|
24
|
+
toolbarQuickFilterPlaceholder: 'تلاش کریں۔۔۔',
|
|
25
|
+
toolbarQuickFilterLabel: 'تلاش کریں',
|
|
26
|
+
toolbarQuickFilterDeleteIconLabel: 'کلئیر کریں',
|
|
27
|
+
// Export selector toolbar button text
|
|
28
|
+
toolbarExport: 'ایکسپورٹ',
|
|
29
|
+
toolbarExportLabel: 'ایکسپورٹ',
|
|
30
|
+
toolbarExportCSV: 'CSV کے طور پر ڈاوٴنلوڈ کریں',
|
|
31
|
+
toolbarExportPrint: 'پرنٹ کریں',
|
|
32
|
+
toolbarExportExcel: 'ایکسل کے طور پر ڈاوٴنلوڈ کریں',
|
|
33
|
+
// Columns panel text
|
|
34
|
+
columnsPanelTextFieldLabel: 'کالم کو تلاش کریں',
|
|
35
|
+
columnsPanelTextFieldPlaceholder: 'کالم کا عنوان',
|
|
36
|
+
columnsPanelDragIconLabel: 'کالم کی ترتیب تبدیل کریں',
|
|
37
|
+
columnsPanelShowAllButton: 'سارے دکھائیں',
|
|
38
|
+
columnsPanelHideAllButton: 'سارے چھپائیں',
|
|
39
|
+
// Filter panel text
|
|
40
|
+
filterPanelAddFilter: 'نیا فلٹر',
|
|
41
|
+
filterPanelDeleteIconLabel: 'ختم کریں',
|
|
42
|
+
filterPanelLinkOperator: 'لاجک آپریٹر',
|
|
43
|
+
filterPanelOperators: 'آپریٹر',
|
|
44
|
+
// TODO v6: rename to filterPanelOperator
|
|
45
|
+
filterPanelOperatorAnd: 'اور',
|
|
46
|
+
filterPanelOperatorOr: 'یا',
|
|
47
|
+
filterPanelColumns: 'کالمز',
|
|
48
|
+
filterPanelInputLabel: 'ویلیو',
|
|
49
|
+
filterPanelInputPlaceholder: 'ویلیو کو فلٹر کریں',
|
|
50
|
+
// Filter operators text
|
|
51
|
+
filterOperatorContains: 'شامل ہے',
|
|
52
|
+
filterOperatorEquals: 'برابر ہے',
|
|
53
|
+
filterOperatorStartsWith: 'شروع ہوتا ہے',
|
|
54
|
+
filterOperatorEndsWith: 'ختم ہوتا ہے',
|
|
55
|
+
filterOperatorIs: 'ہے',
|
|
56
|
+
filterOperatorNot: 'نہیں',
|
|
57
|
+
filterOperatorAfter: 'بعد میں ہے',
|
|
58
|
+
filterOperatorOnOrAfter: 'پر یا بعد میں ہے',
|
|
59
|
+
filterOperatorBefore: 'پہلے ہے',
|
|
60
|
+
filterOperatorOnOrBefore: 'پر یا پہلے ہے',
|
|
61
|
+
filterOperatorIsEmpty: 'خالی ہے',
|
|
62
|
+
filterOperatorIsNotEmpty: 'خالی نہیں ہے',
|
|
63
|
+
filterOperatorIsAnyOf: 'ان میں سے کوئی ہے',
|
|
64
|
+
// Filter values text
|
|
65
|
+
filterValueAny: 'کوئی بھی',
|
|
66
|
+
filterValueTrue: 'صحیح',
|
|
67
|
+
filterValueFalse: 'غلط',
|
|
68
|
+
// Column menu text
|
|
69
|
+
columnMenuLabel: 'مینیو',
|
|
70
|
+
columnMenuShowColumns: 'کالم دکھائیں',
|
|
71
|
+
columnMenuFilter: 'فلٹر',
|
|
72
|
+
columnMenuHideColumn: 'چھپائیں',
|
|
73
|
+
columnMenuUnsort: 'sort ختم کریں',
|
|
74
|
+
columnMenuSortAsc: 'ترتیب صعودی',
|
|
75
|
+
columnMenuSortDesc: 'ترتیب نزولی',
|
|
76
|
+
// Column header text
|
|
77
|
+
columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
78
|
+
columnHeaderFiltersLabel: 'فلٹرز دکھائیں',
|
|
79
|
+
columnHeaderSortIconLabel: 'Sort',
|
|
80
|
+
// Rows selected footer text
|
|
81
|
+
footerRowSelected: count => count !== 1 ? `${count.toLocaleString()} منتخب قطاریں` : `${count.toLocaleString()} منتخب قطار`,
|
|
82
|
+
// Total row amount footer text
|
|
83
|
+
footerTotalRows: 'کل قطاریں:',
|
|
84
|
+
// Total visible row amount footer text
|
|
85
|
+
footerTotalVisibleRows: (visibleCount, totalCount) => `${totalCount.toLocaleString()} میں سے ${visibleCount.toLocaleString()}`,
|
|
86
|
+
// Checkbox selection text
|
|
87
|
+
checkboxSelectionHeaderName: 'چیک باکس منتخب کریں',
|
|
88
|
+
checkboxSelectionSelectAllRows: 'تمام قطاریں منتخب کریں',
|
|
89
|
+
checkboxSelectionUnselectAllRows: 'تمام قطاریں نامنتخب کریں ',
|
|
90
|
+
checkboxSelectionSelectRow: 'قطار منتخب کریں',
|
|
91
|
+
checkboxSelectionUnselectRow: 'قطار نامنتخب کریں',
|
|
92
|
+
// Boolean cell text
|
|
93
|
+
booleanCellTrueLabel: 'ہاں',
|
|
94
|
+
booleanCellFalseLabel: 'نہیں',
|
|
95
|
+
// Actions cell more text
|
|
96
|
+
actionsCellMore: 'ذیادہ',
|
|
97
|
+
// Column pinning text
|
|
98
|
+
pinToLeft: 'بائیں جانب pin کریں',
|
|
99
|
+
pinToRight: 'دائیں جانب pin کریں',
|
|
100
|
+
unpin: 'pin ختم کریں',
|
|
101
|
+
// Tree Data
|
|
102
|
+
treeDataGroupingHeaderName: 'گروپ',
|
|
103
|
+
treeDataExpand: 'شاخیں دیکھیں',
|
|
104
|
+
treeDataCollapse: 'شاخیں چھپائیں',
|
|
105
|
+
// Grouping columns
|
|
106
|
+
groupingColumnHeaderName: 'گروپ',
|
|
107
|
+
groupColumn: name => `${name} سے گروپ کریں`,
|
|
108
|
+
unGroupColumn: name => `${name} سے گروپ ختم کریں`,
|
|
109
|
+
// Master/detail
|
|
110
|
+
detailPanelToggle: 'ڈیٹیل پینل کھولیں / بند کریں',
|
|
111
|
+
expandDetailPanel: 'پھیلائیں',
|
|
112
|
+
collapseDetailPanel: 'تنگ کریں',
|
|
113
|
+
// Row reordering text
|
|
114
|
+
rowReorderingHeaderName: 'قطاروں کی ترتیب تبدیل کریں',
|
|
115
|
+
// Aggregation
|
|
116
|
+
aggregationMenuItemHeader: 'Aggregation',
|
|
117
|
+
aggregationFunctionLabelSum: 'sum',
|
|
118
|
+
aggregationFunctionLabelAvg: 'avg',
|
|
119
|
+
aggregationFunctionLabelMin: 'min',
|
|
120
|
+
aggregationFunctionLabelMax: 'max',
|
|
121
|
+
aggregationFunctionLabelSize: 'size'
|
|
122
|
+
};
|
|
123
|
+
export const urPK = getGridLocalization(urPKGrid, urPKCore);
|
|
@@ -35,6 +35,12 @@ export interface GridFilterOperator<R extends GridValidRowModel = any, V = any,
|
|
|
35
35
|
* The props to pass to the input component in the filter panel for this filter operator.
|
|
36
36
|
*/
|
|
37
37
|
InputComponentProps?: Record<string, any>;
|
|
38
|
+
/**
|
|
39
|
+
* Converts the value of a filter item to a human-readable form.
|
|
40
|
+
* @param {GridFilterItem['value']} value The filter item value.
|
|
41
|
+
* @returns {string} The value formatted to be displayed in the UI of filter button tooltip.
|
|
42
|
+
*/
|
|
43
|
+
getValueAsString?: (value: GridFilterItem['value']) => string;
|
|
38
44
|
/**
|
|
39
45
|
* If `false`, filter operator doesn't require user-entered value to work.
|
|
40
46
|
* Usually should be set to `false` for filter operators that don't have `InputComponent` (for example `isEmpty`)
|
|
@@ -65,13 +65,20 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
65
65
|
|
|
66
66
|
const getOperatorLabel = item => lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue).label || apiRef.current.getLocaleText(`filterOperator${capitalize(item.operatorValue)}`).toString();
|
|
67
67
|
|
|
68
|
+
const getFilterItemValue = item => {
|
|
69
|
+
const {
|
|
70
|
+
getValueAsString
|
|
71
|
+
} = lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue);
|
|
72
|
+
return getValueAsString ? getValueAsString(item.value) : item.value;
|
|
73
|
+
};
|
|
74
|
+
|
|
68
75
|
return /*#__PURE__*/_jsxs("div", {
|
|
69
76
|
children: [apiRef.current.getLocaleText('toolbarFiltersTooltipActive')(activeFilters.length), /*#__PURE__*/_jsx(GridToolbarFilterListRoot, {
|
|
70
77
|
className: classes.root,
|
|
71
78
|
children: activeFilters.map((item, index) => _extends({}, lookup[item.columnField] && /*#__PURE__*/_jsx("li", {
|
|
72
79
|
children: `${lookup[item.columnField].headerName || item.columnField}
|
|
73
80
|
${getOperatorLabel(item)}
|
|
74
|
-
${item.value
|
|
81
|
+
${item.value ? getFilterItemValue(item) : ''}`
|
|
75
82
|
}, index)))
|
|
76
83
|
})]
|
|
77
84
|
});
|
|
@@ -21,6 +21,11 @@ function raf() {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function getChromeVersion() {
|
|
25
|
+
const raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
|
|
26
|
+
return raw ? parseInt(raw[2], 10) : null;
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
/**
|
|
25
30
|
* @requires useGridColumns (state)
|
|
26
31
|
* @requires useGridFilter (state)
|
|
@@ -94,6 +99,13 @@ export const useGridPrintExport = (apiRef, props) => {
|
|
|
94
99
|
|
|
95
100
|
const gridMain = gridClone.querySelector(`.${gridClasses.main}`);
|
|
96
101
|
gridMain.style.overflow = 'visible';
|
|
102
|
+
const chromeVersion = getChromeVersion();
|
|
103
|
+
|
|
104
|
+
if (chromeVersion && chromeVersion >= 108) {
|
|
105
|
+
// See https://support.google.com/chrome/thread/191619088?hl=en&msgid=193009642
|
|
106
|
+
gridClone.style.contain = 'size';
|
|
107
|
+
}
|
|
108
|
+
|
|
97
109
|
const columnHeaders = gridClone.querySelector(`.${gridClasses.columnHeaders}`);
|
|
98
110
|
const columnHeadersInner = columnHeaders.querySelector(`.${gridClasses.columnHeadersInner}`);
|
|
99
111
|
columnHeadersInner.style.width = '100%';
|
|
@@ -291,14 +291,19 @@ export const useGridRows = (apiRef, props) => {
|
|
|
291
291
|
apiRef.current.unstable_caches.rows.idRowsLookup = updatedIdRowsLookup;
|
|
292
292
|
apiRef.current.unstable_caches.rows.idToIdLookup = updatedIdToIdLookup;
|
|
293
293
|
apiRef.current.unstable_caches.rows.ids = updatedRows;
|
|
294
|
-
apiRef.current.setState(state =>
|
|
295
|
-
|
|
294
|
+
apiRef.current.setState(state => {
|
|
295
|
+
const newRowsState = {
|
|
296
296
|
idRowsLookup: updatedIdRowsLookup,
|
|
297
297
|
idToIdLookup: updatedIdToIdLookup,
|
|
298
298
|
tree: updatedTree,
|
|
299
299
|
ids: updatedRows
|
|
300
|
-
}
|
|
301
|
-
|
|
300
|
+
};
|
|
301
|
+
return _extends({}, state, {
|
|
302
|
+
rows: _extends({}, state.rows, newRowsState, {
|
|
303
|
+
groupingResponseBeforeRowHydration: _extends({}, state.rows.groupingResponseBeforeRowHydration, newRowsState)
|
|
304
|
+
})
|
|
305
|
+
});
|
|
306
|
+
});
|
|
302
307
|
apiRef.current.publishEvent('rowsSet');
|
|
303
308
|
}, [apiRef, props.signature, props.getRowId]);
|
|
304
309
|
const rowApi = {
|
package/modern/index.js
CHANGED
package/modern/locales/frFR.js
CHANGED
|
@@ -60,7 +60,7 @@ const frFRGrid = {
|
|
|
60
60
|
filterOperatorOnOrBefore: 'égal ou antérieur',
|
|
61
61
|
filterOperatorIsEmpty: 'est vide',
|
|
62
62
|
filterOperatorIsNotEmpty: "n'est pas vide",
|
|
63
|
-
filterOperatorIsAnyOf: 'fait
|
|
63
|
+
filterOperatorIsAnyOf: 'fait partie de',
|
|
64
64
|
// Filter values text
|
|
65
65
|
filterValueAny: 'tous',
|
|
66
66
|
filterValueTrue: 'vrai',
|
package/modern/locales/index.js
CHANGED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { urPKCore } from './coreLocales';
|
|
2
|
+
import { getGridLocalization } from '../utils/getGridLocalization';
|
|
3
|
+
const urPKGrid = {
|
|
4
|
+
// Root
|
|
5
|
+
noRowsLabel: 'کوئی قطاریں نہیں',
|
|
6
|
+
noResultsOverlayLabel: 'کوئی نتائج نہیں',
|
|
7
|
+
errorOverlayDefaultLabel: 'ایک مسئلہ ہو گیا',
|
|
8
|
+
// Density selector toolbar button text
|
|
9
|
+
toolbarDensity: 'کثافت',
|
|
10
|
+
toolbarDensityLabel: 'کثافت',
|
|
11
|
+
toolbarDensityCompact: 'تنگ',
|
|
12
|
+
toolbarDensityStandard: 'درمیانہ',
|
|
13
|
+
toolbarDensityComfortable: 'مناسب',
|
|
14
|
+
// Columns selector toolbar button text
|
|
15
|
+
toolbarColumns: 'کالمز',
|
|
16
|
+
toolbarColumnsLabel: 'کالمز کو منتخب کریں',
|
|
17
|
+
// Filters toolbar button text
|
|
18
|
+
toolbarFilters: 'فلٹرز',
|
|
19
|
+
toolbarFiltersLabel: 'فلٹرز دکھائیں',
|
|
20
|
+
toolbarFiltersTooltipHide: 'فلٹرز چھپائیں',
|
|
21
|
+
toolbarFiltersTooltipShow: 'فلٹرز دکھائیں',
|
|
22
|
+
toolbarFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
23
|
+
// Quick filter toolbar field
|
|
24
|
+
toolbarQuickFilterPlaceholder: 'تلاش کریں۔۔۔',
|
|
25
|
+
toolbarQuickFilterLabel: 'تلاش کریں',
|
|
26
|
+
toolbarQuickFilterDeleteIconLabel: 'کلئیر کریں',
|
|
27
|
+
// Export selector toolbar button text
|
|
28
|
+
toolbarExport: 'ایکسپورٹ',
|
|
29
|
+
toolbarExportLabel: 'ایکسپورٹ',
|
|
30
|
+
toolbarExportCSV: 'CSV کے طور پر ڈاوٴنلوڈ کریں',
|
|
31
|
+
toolbarExportPrint: 'پرنٹ کریں',
|
|
32
|
+
toolbarExportExcel: 'ایکسل کے طور پر ڈاوٴنلوڈ کریں',
|
|
33
|
+
// Columns panel text
|
|
34
|
+
columnsPanelTextFieldLabel: 'کالم کو تلاش کریں',
|
|
35
|
+
columnsPanelTextFieldPlaceholder: 'کالم کا عنوان',
|
|
36
|
+
columnsPanelDragIconLabel: 'کالم کی ترتیب تبدیل کریں',
|
|
37
|
+
columnsPanelShowAllButton: 'سارے دکھائیں',
|
|
38
|
+
columnsPanelHideAllButton: 'سارے چھپائیں',
|
|
39
|
+
// Filter panel text
|
|
40
|
+
filterPanelAddFilter: 'نیا فلٹر',
|
|
41
|
+
filterPanelDeleteIconLabel: 'ختم کریں',
|
|
42
|
+
filterPanelLinkOperator: 'لاجک آپریٹر',
|
|
43
|
+
filterPanelOperators: 'آپریٹر',
|
|
44
|
+
// TODO v6: rename to filterPanelOperator
|
|
45
|
+
filterPanelOperatorAnd: 'اور',
|
|
46
|
+
filterPanelOperatorOr: 'یا',
|
|
47
|
+
filterPanelColumns: 'کالمز',
|
|
48
|
+
filterPanelInputLabel: 'ویلیو',
|
|
49
|
+
filterPanelInputPlaceholder: 'ویلیو کو فلٹر کریں',
|
|
50
|
+
// Filter operators text
|
|
51
|
+
filterOperatorContains: 'شامل ہے',
|
|
52
|
+
filterOperatorEquals: 'برابر ہے',
|
|
53
|
+
filterOperatorStartsWith: 'شروع ہوتا ہے',
|
|
54
|
+
filterOperatorEndsWith: 'ختم ہوتا ہے',
|
|
55
|
+
filterOperatorIs: 'ہے',
|
|
56
|
+
filterOperatorNot: 'نہیں',
|
|
57
|
+
filterOperatorAfter: 'بعد میں ہے',
|
|
58
|
+
filterOperatorOnOrAfter: 'پر یا بعد میں ہے',
|
|
59
|
+
filterOperatorBefore: 'پہلے ہے',
|
|
60
|
+
filterOperatorOnOrBefore: 'پر یا پہلے ہے',
|
|
61
|
+
filterOperatorIsEmpty: 'خالی ہے',
|
|
62
|
+
filterOperatorIsNotEmpty: 'خالی نہیں ہے',
|
|
63
|
+
filterOperatorIsAnyOf: 'ان میں سے کوئی ہے',
|
|
64
|
+
// Filter values text
|
|
65
|
+
filterValueAny: 'کوئی بھی',
|
|
66
|
+
filterValueTrue: 'صحیح',
|
|
67
|
+
filterValueFalse: 'غلط',
|
|
68
|
+
// Column menu text
|
|
69
|
+
columnMenuLabel: 'مینیو',
|
|
70
|
+
columnMenuShowColumns: 'کالم دکھائیں',
|
|
71
|
+
columnMenuFilter: 'فلٹر',
|
|
72
|
+
columnMenuHideColumn: 'چھپائیں',
|
|
73
|
+
columnMenuUnsort: 'sort ختم کریں',
|
|
74
|
+
columnMenuSortAsc: 'ترتیب صعودی',
|
|
75
|
+
columnMenuSortDesc: 'ترتیب نزولی',
|
|
76
|
+
// Column header text
|
|
77
|
+
columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
78
|
+
columnHeaderFiltersLabel: 'فلٹرز دکھائیں',
|
|
79
|
+
columnHeaderSortIconLabel: 'Sort',
|
|
80
|
+
// Rows selected footer text
|
|
81
|
+
footerRowSelected: count => count !== 1 ? `${count.toLocaleString()} منتخب قطاریں` : `${count.toLocaleString()} منتخب قطار`,
|
|
82
|
+
// Total row amount footer text
|
|
83
|
+
footerTotalRows: 'کل قطاریں:',
|
|
84
|
+
// Total visible row amount footer text
|
|
85
|
+
footerTotalVisibleRows: (visibleCount, totalCount) => `${totalCount.toLocaleString()} میں سے ${visibleCount.toLocaleString()}`,
|
|
86
|
+
// Checkbox selection text
|
|
87
|
+
checkboxSelectionHeaderName: 'چیک باکس منتخب کریں',
|
|
88
|
+
checkboxSelectionSelectAllRows: 'تمام قطاریں منتخب کریں',
|
|
89
|
+
checkboxSelectionUnselectAllRows: 'تمام قطاریں نامنتخب کریں ',
|
|
90
|
+
checkboxSelectionSelectRow: 'قطار منتخب کریں',
|
|
91
|
+
checkboxSelectionUnselectRow: 'قطار نامنتخب کریں',
|
|
92
|
+
// Boolean cell text
|
|
93
|
+
booleanCellTrueLabel: 'ہاں',
|
|
94
|
+
booleanCellFalseLabel: 'نہیں',
|
|
95
|
+
// Actions cell more text
|
|
96
|
+
actionsCellMore: 'ذیادہ',
|
|
97
|
+
// Column pinning text
|
|
98
|
+
pinToLeft: 'بائیں جانب pin کریں',
|
|
99
|
+
pinToRight: 'دائیں جانب pin کریں',
|
|
100
|
+
unpin: 'pin ختم کریں',
|
|
101
|
+
// Tree Data
|
|
102
|
+
treeDataGroupingHeaderName: 'گروپ',
|
|
103
|
+
treeDataExpand: 'شاخیں دیکھیں',
|
|
104
|
+
treeDataCollapse: 'شاخیں چھپائیں',
|
|
105
|
+
// Grouping columns
|
|
106
|
+
groupingColumnHeaderName: 'گروپ',
|
|
107
|
+
groupColumn: name => `${name} سے گروپ کریں`,
|
|
108
|
+
unGroupColumn: name => `${name} سے گروپ ختم کریں`,
|
|
109
|
+
// Master/detail
|
|
110
|
+
detailPanelToggle: 'ڈیٹیل پینل کھولیں / بند کریں',
|
|
111
|
+
expandDetailPanel: 'پھیلائیں',
|
|
112
|
+
collapseDetailPanel: 'تنگ کریں',
|
|
113
|
+
// Row reordering text
|
|
114
|
+
rowReorderingHeaderName: 'قطاروں کی ترتیب تبدیل کریں',
|
|
115
|
+
// Aggregation
|
|
116
|
+
aggregationMenuItemHeader: 'Aggregation',
|
|
117
|
+
aggregationFunctionLabelSum: 'sum',
|
|
118
|
+
aggregationFunctionLabelAvg: 'avg',
|
|
119
|
+
aggregationFunctionLabelMin: 'min',
|
|
120
|
+
aggregationFunctionLabelMax: 'max',
|
|
121
|
+
aggregationFunctionLabelSize: 'size'
|
|
122
|
+
};
|
|
123
|
+
export const urPK = getGridLocalization(urPKGrid, urPKCore);
|
package/modern/utils/domUtils.js
CHANGED
|
@@ -27,18 +27,20 @@ function escapeOperandAttributeSelector(operand) {
|
|
|
27
27
|
export function getGridColumnHeaderElement(root, field) {
|
|
28
28
|
return root.querySelector(`[role="columnheader"][data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
function getGridRowElementSelector(id) {
|
|
32
|
+
return `.${gridClasses.row}[data-id="${escapeOperandAttributeSelector(String(id))}"]`;
|
|
33
|
+
}
|
|
34
|
+
|
|
30
35
|
export function getGridRowElement(root, id) {
|
|
31
|
-
return root.querySelector(
|
|
36
|
+
return root.querySelector(getGridRowElementSelector(id));
|
|
32
37
|
}
|
|
33
38
|
export function getGridCellElement(root, {
|
|
34
39
|
id,
|
|
35
40
|
field
|
|
36
41
|
}) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return row.querySelector(`.${gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
42
|
+
const rowSelector = getGridRowElementSelector(id);
|
|
43
|
+
const cellSelector = `.${gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`;
|
|
44
|
+
const selector = `${rowSelector} ${cellSelector}`;
|
|
45
|
+
return root.querySelector(selector);
|
|
44
46
|
}
|
|
@@ -95,18 +95,21 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
95
95
|
|
|
96
96
|
const getOperatorLabel = item => lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue).label || apiRef.current.getLocaleText(`filterOperator${(0, _utils.capitalize)(item.operatorValue)}`).toString();
|
|
97
97
|
|
|
98
|
+
const getFilterItemValue = item => {
|
|
99
|
+
const {
|
|
100
|
+
getValueAsString
|
|
101
|
+
} = lookup[item.columnField].filterOperators.find(operator => operator.value === item.operatorValue);
|
|
102
|
+
return getValueAsString ? getValueAsString(item.value) : item.value;
|
|
103
|
+
};
|
|
104
|
+
|
|
98
105
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
99
106
|
children: [apiRef.current.getLocaleText('toolbarFiltersTooltipActive')(activeFilters.length), /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarFilterListRoot, {
|
|
100
107
|
className: classes.root,
|
|
101
|
-
children: activeFilters.map((item, index) => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return (0, _extends2.default)({}, lookup[item.columnField] && /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
105
|
-
children: `${lookup[item.columnField].headerName || item.columnField}
|
|
108
|
+
children: activeFilters.map((item, index) => (0, _extends2.default)({}, lookup[item.columnField] && /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
109
|
+
children: `${lookup[item.columnField].headerName || item.columnField}
|
|
106
110
|
${getOperatorLabel(item)}
|
|
107
|
-
${
|
|
108
|
-
|
|
109
|
-
})
|
|
111
|
+
${item.value ? getFilterItemValue(item) : ''}`
|
|
112
|
+
}, index)))
|
|
110
113
|
})]
|
|
111
114
|
});
|
|
112
115
|
}, [apiRef, preferencePanel.open, activeFilters, lookup, classes]);
|
|
@@ -47,6 +47,11 @@ function raf() {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
function getChromeVersion() {
|
|
51
|
+
const raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
|
|
52
|
+
return raw ? parseInt(raw[2], 10) : null;
|
|
53
|
+
}
|
|
54
|
+
|
|
50
55
|
/**
|
|
51
56
|
* @requires useGridColumns (state)
|
|
52
57
|
* @requires useGridFilter (state)
|
|
@@ -121,6 +126,13 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
121
126
|
|
|
122
127
|
const gridMain = gridClone.querySelector(`.${_gridClasses.gridClasses.main}`);
|
|
123
128
|
gridMain.style.overflow = 'visible';
|
|
129
|
+
const chromeVersion = getChromeVersion();
|
|
130
|
+
|
|
131
|
+
if (chromeVersion && chromeVersion >= 108) {
|
|
132
|
+
// See https://support.google.com/chrome/thread/191619088?hl=en&msgid=193009642
|
|
133
|
+
gridClone.style.contain = 'size';
|
|
134
|
+
}
|
|
135
|
+
|
|
124
136
|
const columnHeaders = gridClone.querySelector(`.${_gridClasses.gridClasses.columnHeaders}`);
|
|
125
137
|
const columnHeadersInner = columnHeaders.querySelector(`.${_gridClasses.gridClasses.columnHeadersInner}`);
|
|
126
138
|
columnHeadersInner.style.width = '100%';
|
|
@@ -321,14 +321,19 @@ const useGridRows = (apiRef, props) => {
|
|
|
321
321
|
apiRef.current.unstable_caches.rows.idRowsLookup = updatedIdRowsLookup;
|
|
322
322
|
apiRef.current.unstable_caches.rows.idToIdLookup = updatedIdToIdLookup;
|
|
323
323
|
apiRef.current.unstable_caches.rows.ids = updatedRows;
|
|
324
|
-
apiRef.current.setState(state =>
|
|
325
|
-
|
|
324
|
+
apiRef.current.setState(state => {
|
|
325
|
+
const newRowsState = {
|
|
326
326
|
idRowsLookup: updatedIdRowsLookup,
|
|
327
327
|
idToIdLookup: updatedIdToIdLookup,
|
|
328
328
|
tree: updatedTree,
|
|
329
329
|
ids: updatedRows
|
|
330
|
-
}
|
|
331
|
-
|
|
330
|
+
};
|
|
331
|
+
return (0, _extends2.default)({}, state, {
|
|
332
|
+
rows: (0, _extends2.default)({}, state.rows, newRowsState, {
|
|
333
|
+
groupingResponseBeforeRowHydration: (0, _extends2.default)({}, state.rows.groupingResponseBeforeRowHydration, newRowsState)
|
|
334
|
+
})
|
|
335
|
+
});
|
|
336
|
+
});
|
|
332
337
|
apiRef.current.publishEvent('rowsSet');
|
|
333
338
|
}, [apiRef, props.signature, props.getRowId]);
|
|
334
339
|
const rowApi = {
|
package/node/index.js
CHANGED
package/node/locales/frFR.js
CHANGED
|
@@ -69,7 +69,7 @@ const frFRGrid = {
|
|
|
69
69
|
filterOperatorOnOrBefore: 'égal ou antérieur',
|
|
70
70
|
filterOperatorIsEmpty: 'est vide',
|
|
71
71
|
filterOperatorIsNotEmpty: "n'est pas vide",
|
|
72
|
-
filterOperatorIsAnyOf: 'fait
|
|
72
|
+
filterOperatorIsAnyOf: 'fait partie de',
|
|
73
73
|
// Filter values text
|
|
74
74
|
filterValueAny: 'tous',
|
|
75
75
|
filterValueTrue: 'vrai',
|
package/node/locales/index.js
CHANGED
|
@@ -355,6 +355,19 @@ Object.keys(_ukUA).forEach(function (key) {
|
|
|
355
355
|
});
|
|
356
356
|
});
|
|
357
357
|
|
|
358
|
+
var _urPK = require("./urPK");
|
|
359
|
+
|
|
360
|
+
Object.keys(_urPK).forEach(function (key) {
|
|
361
|
+
if (key === "default" || key === "__esModule") return;
|
|
362
|
+
if (key in exports && exports[key] === _urPK[key]) return;
|
|
363
|
+
Object.defineProperty(exports, key, {
|
|
364
|
+
enumerable: true,
|
|
365
|
+
get: function () {
|
|
366
|
+
return _urPK[key];
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
});
|
|
370
|
+
|
|
358
371
|
var _viVN = require("./viVN");
|
|
359
372
|
|
|
360
373
|
Object.keys(_viVN).forEach(function (key) {
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.urPK = void 0;
|
|
7
|
+
|
|
8
|
+
var _coreLocales = require("./coreLocales");
|
|
9
|
+
|
|
10
|
+
var _getGridLocalization = require("../utils/getGridLocalization");
|
|
11
|
+
|
|
12
|
+
const urPKGrid = {
|
|
13
|
+
// Root
|
|
14
|
+
noRowsLabel: 'کوئی قطاریں نہیں',
|
|
15
|
+
noResultsOverlayLabel: 'کوئی نتائج نہیں',
|
|
16
|
+
errorOverlayDefaultLabel: 'ایک مسئلہ ہو گیا',
|
|
17
|
+
// Density selector toolbar button text
|
|
18
|
+
toolbarDensity: 'کثافت',
|
|
19
|
+
toolbarDensityLabel: 'کثافت',
|
|
20
|
+
toolbarDensityCompact: 'تنگ',
|
|
21
|
+
toolbarDensityStandard: 'درمیانہ',
|
|
22
|
+
toolbarDensityComfortable: 'مناسب',
|
|
23
|
+
// Columns selector toolbar button text
|
|
24
|
+
toolbarColumns: 'کالمز',
|
|
25
|
+
toolbarColumnsLabel: 'کالمز کو منتخب کریں',
|
|
26
|
+
// Filters toolbar button text
|
|
27
|
+
toolbarFilters: 'فلٹرز',
|
|
28
|
+
toolbarFiltersLabel: 'فلٹرز دکھائیں',
|
|
29
|
+
toolbarFiltersTooltipHide: 'فلٹرز چھپائیں',
|
|
30
|
+
toolbarFiltersTooltipShow: 'فلٹرز دکھائیں',
|
|
31
|
+
toolbarFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
32
|
+
// Quick filter toolbar field
|
|
33
|
+
toolbarQuickFilterPlaceholder: 'تلاش کریں۔۔۔',
|
|
34
|
+
toolbarQuickFilterLabel: 'تلاش کریں',
|
|
35
|
+
toolbarQuickFilterDeleteIconLabel: 'کلئیر کریں',
|
|
36
|
+
// Export selector toolbar button text
|
|
37
|
+
toolbarExport: 'ایکسپورٹ',
|
|
38
|
+
toolbarExportLabel: 'ایکسپورٹ',
|
|
39
|
+
toolbarExportCSV: 'CSV کے طور پر ڈاوٴنلوڈ کریں',
|
|
40
|
+
toolbarExportPrint: 'پرنٹ کریں',
|
|
41
|
+
toolbarExportExcel: 'ایکسل کے طور پر ڈاوٴنلوڈ کریں',
|
|
42
|
+
// Columns panel text
|
|
43
|
+
columnsPanelTextFieldLabel: 'کالم کو تلاش کریں',
|
|
44
|
+
columnsPanelTextFieldPlaceholder: 'کالم کا عنوان',
|
|
45
|
+
columnsPanelDragIconLabel: 'کالم کی ترتیب تبدیل کریں',
|
|
46
|
+
columnsPanelShowAllButton: 'سارے دکھائیں',
|
|
47
|
+
columnsPanelHideAllButton: 'سارے چھپائیں',
|
|
48
|
+
// Filter panel text
|
|
49
|
+
filterPanelAddFilter: 'نیا فلٹر',
|
|
50
|
+
filterPanelDeleteIconLabel: 'ختم کریں',
|
|
51
|
+
filterPanelLinkOperator: 'لاجک آپریٹر',
|
|
52
|
+
filterPanelOperators: 'آپریٹر',
|
|
53
|
+
// TODO v6: rename to filterPanelOperator
|
|
54
|
+
filterPanelOperatorAnd: 'اور',
|
|
55
|
+
filterPanelOperatorOr: 'یا',
|
|
56
|
+
filterPanelColumns: 'کالمز',
|
|
57
|
+
filterPanelInputLabel: 'ویلیو',
|
|
58
|
+
filterPanelInputPlaceholder: 'ویلیو کو فلٹر کریں',
|
|
59
|
+
// Filter operators text
|
|
60
|
+
filterOperatorContains: 'شامل ہے',
|
|
61
|
+
filterOperatorEquals: 'برابر ہے',
|
|
62
|
+
filterOperatorStartsWith: 'شروع ہوتا ہے',
|
|
63
|
+
filterOperatorEndsWith: 'ختم ہوتا ہے',
|
|
64
|
+
filterOperatorIs: 'ہے',
|
|
65
|
+
filterOperatorNot: 'نہیں',
|
|
66
|
+
filterOperatorAfter: 'بعد میں ہے',
|
|
67
|
+
filterOperatorOnOrAfter: 'پر یا بعد میں ہے',
|
|
68
|
+
filterOperatorBefore: 'پہلے ہے',
|
|
69
|
+
filterOperatorOnOrBefore: 'پر یا پہلے ہے',
|
|
70
|
+
filterOperatorIsEmpty: 'خالی ہے',
|
|
71
|
+
filterOperatorIsNotEmpty: 'خالی نہیں ہے',
|
|
72
|
+
filterOperatorIsAnyOf: 'ان میں سے کوئی ہے',
|
|
73
|
+
// Filter values text
|
|
74
|
+
filterValueAny: 'کوئی بھی',
|
|
75
|
+
filterValueTrue: 'صحیح',
|
|
76
|
+
filterValueFalse: 'غلط',
|
|
77
|
+
// Column menu text
|
|
78
|
+
columnMenuLabel: 'مینیو',
|
|
79
|
+
columnMenuShowColumns: 'کالم دکھائیں',
|
|
80
|
+
columnMenuFilter: 'فلٹر',
|
|
81
|
+
columnMenuHideColumn: 'چھپائیں',
|
|
82
|
+
columnMenuUnsort: 'sort ختم کریں',
|
|
83
|
+
columnMenuSortAsc: 'ترتیب صعودی',
|
|
84
|
+
columnMenuSortDesc: 'ترتیب نزولی',
|
|
85
|
+
// Column header text
|
|
86
|
+
columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} فعال فلٹرز` : `${count} فلٹرز فعال`,
|
|
87
|
+
columnHeaderFiltersLabel: 'فلٹرز دکھائیں',
|
|
88
|
+
columnHeaderSortIconLabel: 'Sort',
|
|
89
|
+
// Rows selected footer text
|
|
90
|
+
footerRowSelected: count => count !== 1 ? `${count.toLocaleString()} منتخب قطاریں` : `${count.toLocaleString()} منتخب قطار`,
|
|
91
|
+
// Total row amount footer text
|
|
92
|
+
footerTotalRows: 'کل قطاریں:',
|
|
93
|
+
// Total visible row amount footer text
|
|
94
|
+
footerTotalVisibleRows: (visibleCount, totalCount) => `${totalCount.toLocaleString()} میں سے ${visibleCount.toLocaleString()}`,
|
|
95
|
+
// Checkbox selection text
|
|
96
|
+
checkboxSelectionHeaderName: 'چیک باکس منتخب کریں',
|
|
97
|
+
checkboxSelectionSelectAllRows: 'تمام قطاریں منتخب کریں',
|
|
98
|
+
checkboxSelectionUnselectAllRows: 'تمام قطاریں نامنتخب کریں ',
|
|
99
|
+
checkboxSelectionSelectRow: 'قطار منتخب کریں',
|
|
100
|
+
checkboxSelectionUnselectRow: 'قطار نامنتخب کریں',
|
|
101
|
+
// Boolean cell text
|
|
102
|
+
booleanCellTrueLabel: 'ہاں',
|
|
103
|
+
booleanCellFalseLabel: 'نہیں',
|
|
104
|
+
// Actions cell more text
|
|
105
|
+
actionsCellMore: 'ذیادہ',
|
|
106
|
+
// Column pinning text
|
|
107
|
+
pinToLeft: 'بائیں جانب pin کریں',
|
|
108
|
+
pinToRight: 'دائیں جانب pin کریں',
|
|
109
|
+
unpin: 'pin ختم کریں',
|
|
110
|
+
// Tree Data
|
|
111
|
+
treeDataGroupingHeaderName: 'گروپ',
|
|
112
|
+
treeDataExpand: 'شاخیں دیکھیں',
|
|
113
|
+
treeDataCollapse: 'شاخیں چھپائیں',
|
|
114
|
+
// Grouping columns
|
|
115
|
+
groupingColumnHeaderName: 'گروپ',
|
|
116
|
+
groupColumn: name => `${name} سے گروپ کریں`,
|
|
117
|
+
unGroupColumn: name => `${name} سے گروپ ختم کریں`,
|
|
118
|
+
// Master/detail
|
|
119
|
+
detailPanelToggle: 'ڈیٹیل پینل کھولیں / بند کریں',
|
|
120
|
+
expandDetailPanel: 'پھیلائیں',
|
|
121
|
+
collapseDetailPanel: 'تنگ کریں',
|
|
122
|
+
// Row reordering text
|
|
123
|
+
rowReorderingHeaderName: 'قطاروں کی ترتیب تبدیل کریں',
|
|
124
|
+
// Aggregation
|
|
125
|
+
aggregationMenuItemHeader: 'Aggregation',
|
|
126
|
+
aggregationFunctionLabelSum: 'sum',
|
|
127
|
+
aggregationFunctionLabelAvg: 'avg',
|
|
128
|
+
aggregationFunctionLabelMin: 'min',
|
|
129
|
+
aggregationFunctionLabelMax: 'max',
|
|
130
|
+
aggregationFunctionLabelSize: 'size'
|
|
131
|
+
};
|
|
132
|
+
const urPK = (0, _getGridLocalization.getGridLocalization)(urPKGrid, _coreLocales.urPKCore);
|
|
133
|
+
exports.urPK = urPK;
|
package/node/utils/domUtils.js
CHANGED
|
@@ -47,19 +47,20 @@ function getGridColumnHeaderElement(root, field) {
|
|
|
47
47
|
return root.querySelector(`[role="columnheader"][data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
function getGridRowElementSelector(id) {
|
|
51
|
+
return `.${_gridClasses.gridClasses.row}[data-id="${escapeOperandAttributeSelector(String(id))}"]`;
|
|
52
|
+
}
|
|
53
|
+
|
|
50
54
|
function getGridRowElement(root, id) {
|
|
51
|
-
return root.querySelector(
|
|
55
|
+
return root.querySelector(getGridRowElementSelector(id));
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
function getGridCellElement(root, {
|
|
55
59
|
id,
|
|
56
60
|
field
|
|
57
61
|
}) {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return row.querySelector(`.${_gridClasses.gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
62
|
+
const rowSelector = getGridRowElementSelector(id);
|
|
63
|
+
const cellSelector = `.${_gridClasses.gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`;
|
|
64
|
+
const selector = `${rowSelector} ${cellSelector}`;
|
|
65
|
+
return root.querySelector(selector);
|
|
65
66
|
}
|
package/package.json
CHANGED
package/utils/domUtils.js
CHANGED
|
@@ -27,18 +27,20 @@ function escapeOperandAttributeSelector(operand) {
|
|
|
27
27
|
export function getGridColumnHeaderElement(root, field) {
|
|
28
28
|
return root.querySelector(`[role="columnheader"][data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
function getGridRowElementSelector(id) {
|
|
32
|
+
return `.${gridClasses.row}[data-id="${escapeOperandAttributeSelector(String(id))}"]`;
|
|
33
|
+
}
|
|
34
|
+
|
|
30
35
|
export function getGridRowElement(root, id) {
|
|
31
|
-
return root.querySelector(
|
|
36
|
+
return root.querySelector(getGridRowElementSelector(id));
|
|
32
37
|
}
|
|
33
38
|
export function getGridCellElement(root, {
|
|
34
39
|
id,
|
|
35
40
|
field
|
|
36
41
|
}) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return row.querySelector(`.${gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`);
|
|
42
|
+
const rowSelector = getGridRowElementSelector(id);
|
|
43
|
+
const cellSelector = `.${gridClasses.cell}[data-field="${escapeOperandAttributeSelector(field)}"]`;
|
|
44
|
+
const selector = `${rowSelector} ${cellSelector}`;
|
|
45
|
+
return root.querySelector(selector);
|
|
44
46
|
}
|