nntc-ui 0.0.46 → 0.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +32 -32
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -2735,6 +2735,32 @@ import { useMemo as useMemo5 } from "react";
2735
2735
  var root18 = "headerDropdown_root";
2736
2736
  var checklistWrap = "headerDropdown_checklistWrap";
2737
2737
 
2738
+ // src/components/view/VirtualTable/utils/alphanumericCompare.ts
2739
+ var alphanumericCompare = (a, b) => {
2740
+ const aParts = a.match(/(\d+|\D+)/g) || [];
2741
+ const bParts = b.match(/(\d+|\D+)/g) || [];
2742
+ const maxLength = Math.max(aParts.length, bParts.length);
2743
+ for (let i = 0; i < maxLength; i++) {
2744
+ const aPart = aParts[i] || "";
2745
+ const bPart = bParts[i] || "";
2746
+ const aIsNumber = /^\d+$/.test(aPart);
2747
+ const bIsNumber = /^\d+$/.test(bPart);
2748
+ if (aIsNumber && bIsNumber) {
2749
+ const numA = parseInt(aPart, 10);
2750
+ const numB = parseInt(bPart, 10);
2751
+ if (numA !== numB) {
2752
+ return numA - numB;
2753
+ }
2754
+ } else {
2755
+ const comparison = aPart.localeCompare(bPart);
2756
+ if (comparison !== 0) {
2757
+ return comparison;
2758
+ }
2759
+ }
2760
+ }
2761
+ return 0;
2762
+ };
2763
+
2738
2764
  // src/components/view/VirtualTable/ui/DateFiltration/DateFiltration.tsx
2739
2765
  import classnames19 from "classnames";
2740
2766
  import { useEffect as useEffect7, useState as useState14 } from "react";
@@ -2923,12 +2949,12 @@ function HeaderDropdown(props) {
2923
2949
  } = props;
2924
2950
  const headerResultName = sortAnotherName ?? headerName;
2925
2951
  const filterItems3 = useMemo5(() => {
2926
- const checklistItems = items2.filter((i) => Object.keys(i).includes(headerResultName)).map(
2952
+ const checklistItems = items2.map(
2927
2953
  (i) => ({
2928
- name: valueFormat ? valueFormat(i[headerResultName].value?.toString() ?? "") : toFixed !== void 0 && !Number.isNaN(parseFloat(i[headerResultName].value)) ? parseFloat(Number(i[headerResultName].value).toFixed(toFixed)) : i[headerResultName].value,
2929
- value: i[headerResultName].value
2954
+ name: i[headerResultName] ? valueFormat ? valueFormat(i[headerResultName].value?.toString() ?? "") : toFixed !== void 0 && !Number.isNaN(parseFloat(i[headerResultName].value)) ? parseFloat(Number(i[headerResultName].value).toFixed(toFixed)) : i[headerResultName].value || "< \u043D\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F >" : "< \u043D\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F >",
2955
+ value: i[headerResultName]?.value || ""
2930
2956
  })
2931
- );
2957
+ ).sort((a, b) => alphanumericCompare(a.name.toString(), b.name.toString()));
2932
2958
  const uniqueChecklistItems = [
2933
2959
  ...checklistItems.reduce((a, c) => {
2934
2960
  a.set(c.value, c);
@@ -3169,39 +3195,13 @@ var recursiveFilter = (rows, filterBy) => {
3169
3195
  const endDate = filterByItem.type === "dateRange" ? dayjs3(filterByItem.values[1]) : null;
3170
3196
  const filtered = filterByItem.values.length ? rows.filter((row) => {
3171
3197
  const dateValue = filterByItem.type === "dateRange" ? dayjs3(row[filterByItem.columnName].value) : null;
3172
- return row[filterByItem.columnName] && (filterByItem.type === "dateRange" ? (dateValue.isAfter(startDate) || dateValue.isSame(startDate)) && (dateValue.isBefore(endDate) || dateValue.isSame(endDate)) : filterByItem.type === "numberRange" ? row[filterByItem.columnName].value >= filterByItem.values[0] && row[filterByItem.columnName].value <= filterByItem.values[1] : filterByItem.values.includes(row[filterByItem.columnName].value?.toString() ?? "")) || row.isNew?.value === 1;
3198
+ return (row[filterByItem.columnName] ? filterByItem.type === "dateRange" ? (dateValue.isAfter(startDate) || dateValue.isSame(startDate)) && (dateValue.isBefore(endDate) || dateValue.isSame(endDate)) : filterByItem.type === "numberRange" ? row[filterByItem.columnName].value >= filterByItem.values[0] && row[filterByItem.columnName].value <= filterByItem.values[1] : filterByItem.values.includes((row[filterByItem.columnName].value || "")?.toString()) : filterByItem.values.includes("")) || row.isNew?.value === 1;
3173
3199
  }) : rows;
3174
3200
  return recursiveFilter(filtered, filterBy.slice(0, filterBy.length - 1));
3175
3201
  }
3176
3202
  return rows;
3177
3203
  };
3178
3204
 
3179
- // src/components/view/VirtualTable/utils/alphanumericCompare.ts
3180
- var alphanumericCompare = (a, b) => {
3181
- const aParts = a.match(/(\d+|\D+)/g) || [];
3182
- const bParts = b.match(/(\d+|\D+)/g) || [];
3183
- const maxLength = Math.max(aParts.length, bParts.length);
3184
- for (let i = 0; i < maxLength; i++) {
3185
- const aPart = aParts[i] || "";
3186
- const bPart = bParts[i] || "";
3187
- const aIsNumber = /^\d+$/.test(aPart);
3188
- const bIsNumber = /^\d+$/.test(bPart);
3189
- if (aIsNumber && bIsNumber) {
3190
- const numA = parseInt(aPart, 10);
3191
- const numB = parseInt(bPart, 10);
3192
- if (numA !== numB) {
3193
- return numA - numB;
3194
- }
3195
- } else {
3196
- const comparison = aPart.localeCompare(bPart);
3197
- if (comparison !== 0) {
3198
- return comparison;
3199
- }
3200
- }
3201
- }
3202
- return 0;
3203
- };
3204
-
3205
3205
  // src/components/view/VirtualTable/utils/recursiveSort.ts
3206
3206
  var recursiveSort = (items2, sortBy) => {
3207
3207
  if (sortBy.length) {
@@ -3260,7 +3260,7 @@ function VirtualTable(props) {
3260
3260
  const endDate = filterByItem.type === "dateRange" ? dayjs4(filterByItem.values[1]) : null;
3261
3261
  return rows.some((row) => {
3262
3262
  const dateValue = filterByItem.type === "dateRange" ? dayjs4(row[filterByItem.columnName].value) : null;
3263
- return row[filterByItem.columnName] && (filterByItem.type === "dateRange" ? (dateValue.isAfter(startDate) || dateValue.isSame(startDate)) && (dateValue.isBefore(endDate) || dateValue.isSame(endDate)) : filterByItem.type === "numberRange" ? row[filterByItem.columnName].value >= filterByItem.values[0] && row[filterByItem.columnName].value <= filterByItem.values[1] : filterByItem.values.includes(row[filterByItem.columnName].value?.toString() ?? ""));
3263
+ return row[filterByItem.columnName] ? filterByItem.type === "dateRange" ? (dateValue.isAfter(startDate) || dateValue.isSame(startDate)) && (dateValue.isBefore(endDate) || dateValue.isSame(endDate)) : filterByItem.type === "numberRange" ? row[filterByItem.columnName].value >= filterByItem.values[0] && row[filterByItem.columnName].value <= filterByItem.values[1] : filterByItem.values.includes((row[filterByItem.columnName].value || "")?.toString()) : filterByItem.values.includes("");
3264
3264
  });
3265
3265
  });
3266
3266
  const filtered = nextFilterBy.length ? recursiveFilter(newRows, nextFilterBy) : filterBy.some(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nntc-ui",
3
- "version": "0.0.46",
3
+ "version": "0.0.47",
4
4
  "author": "NNTC",
5
5
  "description": "React UI-kit for NNTC",
6
6
  "type": "module",