@vuu-ui/vuu-utils 0.8.26-debug → 0.8.27-debug

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/esm/index.js CHANGED
@@ -553,7 +553,7 @@ var applyGroupByToColumns = (columns, groupBy, confirmed = true) => {
553
553
  }
554
554
  return columns;
555
555
  };
556
- var applySortToColumns = (colunms, sort) => colunms.map((column) => {
556
+ var applySortToColumns = (columns, sort) => columns.map((column) => {
557
557
  const sorted = getSortType(column, sort);
558
558
  if (sorted !== void 0) {
559
559
  return {
@@ -569,6 +569,8 @@ var applySortToColumns = (colunms, sort) => colunms.map((column) => {
569
569
  return column;
570
570
  }
571
571
  });
572
+ var removeSort = (columns) => columns.map((col) => col.sorted ? { ...col, sorted: void 0 } : col);
573
+ var existingSort = (columns) => columns.some((col) => col.sorted);
572
574
  var applyFilterToColumns = (columns, { filterStruct }) => columns.map((column) => {
573
575
  const filter = extractFilterForColumn(filterStruct, column.name);
574
576
  if (filter !== void 0) {
@@ -3388,20 +3390,33 @@ function splitRange([from, to], itemIndex) {
3388
3390
  }
3389
3391
 
3390
3392
  // src/sort-utils.ts
3391
- var toggle = (sortType) => sortType === "A" ? "D" : "A";
3392
- var applySort = ({ sortDefs }, { name: column }, extendSort = false, sortType) => {
3393
+ var cycleSortType = (sortType) => sortType === "A" ? "D" : sortType === "D" ? void 0 : "A";
3394
+ var NO_SORT = { sortDefs: [] };
3395
+ var toggleOrApplySort = ({ sortDefs }, { name: column }, extendSort = false, sortType) => {
3393
3396
  if (extendSort) {
3394
- return {
3395
- sortDefs: sortDefs.concat({
3396
- column,
3397
- sortType: sortType != null ? sortType : "A"
3398
- })
3399
- };
3397
+ const existingDef = sortDefs.find((sortDef) => sortDef.column === column);
3398
+ if (existingDef) {
3399
+ return {
3400
+ sortDefs: sortDefs.map(
3401
+ (sortDef) => sortDef.column === column ? {
3402
+ column,
3403
+ sortType: sortDef.sortType === "A" ? "D" : "A"
3404
+ } : sortDef
3405
+ )
3406
+ };
3407
+ } else {
3408
+ return {
3409
+ sortDefs: sortDefs.concat({
3410
+ column,
3411
+ sortType: sortType != null ? sortType : "A"
3412
+ })
3413
+ };
3414
+ }
3400
3415
  }
3401
- const newSortType = typeof sortType === "string" ? sortType : sortDefs.length === 1 && sortDefs[0].column === column ? toggle(sortDefs[0].sortType) : "A";
3402
- return {
3416
+ const newSortType = typeof sortType === "string" ? sortType : sortDefs.length === 1 && sortDefs[0].column === column ? cycleSortType(sortDefs[0].sortType) : "A";
3417
+ return newSortType ? {
3403
3418
  sortDefs: [{ column, sortType: newSortType }]
3404
- };
3419
+ } : NO_SORT;
3405
3420
  };
3406
3421
  var setSortColumn = ({ sortDefs }, column, sortType) => {
3407
3422
  if (sortType === void 0) {
@@ -3627,7 +3642,6 @@ export {
3627
3642
  applyDefaultColumnConfig,
3628
3643
  applyFilterToColumns,
3629
3644
  applyGroupByToColumns,
3630
- applySort,
3631
3645
  applySortToColumns,
3632
3646
  applyWidthToColumns,
3633
3647
  asDataSourceRowObject,
@@ -3645,6 +3659,7 @@ export {
3645
3659
  deselectItem,
3646
3660
  dispatchCustomEvent,
3647
3661
  dispatchMouseEvent,
3662
+ existingSort,
3648
3663
  expandSelection,
3649
3664
  extractFilterForColumn,
3650
3665
  extractGroupColumn,
@@ -3784,6 +3799,7 @@ export {
3784
3799
  registerComponent,
3785
3800
  registerConfigurationEditor,
3786
3801
  removeColumnFromFilter,
3802
+ removeSort,
3787
3803
  replaceColumn,
3788
3804
  resetRange,
3789
3805
  roundDecimal,
@@ -3802,6 +3818,7 @@ export {
3802
3818
  toCalendarDate,
3803
3819
  toColumnDescriptor,
3804
3820
  toDataSourceColumns,
3821
+ toggleOrApplySort,
3805
3822
  updateColumn,
3806
3823
  updateColumnFormatting,
3807
3824
  updateColumnRenderProps,