@pisell/materials 6.11.30 → 6.11.31

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.
@@ -1590,6 +1590,7 @@ function buildGroupedCourtRows(courts) {
1590
1590
  var predefined = ["VIP", "Standard"];
1591
1591
  var rows = [];
1592
1592
  var consumedIds = new Set();
1593
+ console.log(courts, collapsedGroups, 'courts, collapsedGroups = {}');
1593
1594
  predefined.forEach(function (group) {
1594
1595
  var items = courts.filter(function (court) {
1595
1596
  return court.type === group;
@@ -1619,56 +1620,34 @@ function buildGroupedCourtRows(courts) {
1619
1620
  var remainder = courts.filter(function (c) {
1620
1621
  return !consumedIds.has(c.id);
1621
1622
  });
1622
- var byType = new Map();
1623
- var _iterator = _createForOfIteratorHelper(remainder),
1624
- _step;
1625
- try {
1626
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1627
- var court = _step.value;
1628
- var label = court.type && String(court.type).trim() !== "" ? String(court.type) : "Resource";
1629
- var list = byType.get(label) || [];
1630
- list.push(court);
1631
- byType.set(label, list);
1632
- }
1633
- } catch (err) {
1634
- _iterator.e(err);
1635
- } finally {
1636
- _iterator.f();
1637
- }
1638
- var _iterator2 = _createForOfIteratorHelper(byType),
1639
- _step2;
1640
- try {
1641
- var _loop = function _loop() {
1642
- var _step2$value = _slicedToArray(_step2.value, 2),
1643
- label = _step2$value[0],
1644
- items = _step2$value[1];
1645
- if (!items.length) return 1; // continue
1646
- var idSafe = String(label).replace(/\s+/g, "-");
1647
- rows.push({
1648
- kind: "group",
1649
- id: "group-".concat(idSafe),
1650
- label: label,
1651
- count: items.length,
1652
- collapsed: !!collapsedGroups[label]
1623
+ var byType = {};
1624
+ remainder.forEach(function (court) {
1625
+ var label = court.type && String(court.type).trim() !== "" ? String(court.type) : "Resource";
1626
+ if (!byType[label]) byType[label] = [];
1627
+ byType[label].push(court);
1628
+ });
1629
+ Object.keys(byType).forEach(function (label) {
1630
+ var items = byType[label];
1631
+ if (!items.length) return;
1632
+ var idSafe = String(label).replace(/\s+/g, "-");
1633
+ rows.push({
1634
+ kind: "group",
1635
+ id: "group-".concat(idSafe),
1636
+ label: label,
1637
+ count: items.length,
1638
+ collapsed: !!collapsedGroups[label]
1639
+ });
1640
+ if (!collapsedGroups[label]) {
1641
+ items.forEach(function (court) {
1642
+ return rows.push(_objectSpread(_objectSpread({
1643
+ kind: "court"
1644
+ }, court), {}, {
1645
+ group: label
1646
+ }));
1653
1647
  });
1654
- if (!collapsedGroups[label]) {
1655
- items.forEach(function (court) {
1656
- return rows.push(_objectSpread(_objectSpread({
1657
- kind: "court"
1658
- }, court), {}, {
1659
- group: label
1660
- }));
1661
- });
1662
- }
1663
- };
1664
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1665
- if (_loop()) continue;
1666
1648
  }
1667
- } catch (err) {
1668
- _iterator2.e(err);
1669
- } finally {
1670
- _iterator2.f();
1671
- }
1649
+ });
1650
+ console.log(rows, 'rows123');
1672
1651
  return rows;
1673
1652
  }
1674
1653
 
@@ -1678,34 +1657,34 @@ function buildGroupedCourtRows(courts) {
1678
1657
  */
1679
1658
  function assignDayOverlapLanesInPlace(overlays) {
1680
1659
  var byCourt = new Map();
1681
- var _iterator3 = _createForOfIteratorHelper(overlays),
1682
- _step3;
1660
+ var _iterator = _createForOfIteratorHelper(overlays),
1661
+ _step;
1683
1662
  try {
1684
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1685
- var o = _step3.value;
1663
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1664
+ var o = _step.value;
1686
1665
  var list = byCourt.get(o.courtId);
1687
1666
  if (list) list.push(o);else byCourt.set(o.courtId, [o]);
1688
1667
  }
1689
1668
  } catch (err) {
1690
- _iterator3.e(err);
1669
+ _iterator.e(err);
1691
1670
  } finally {
1692
- _iterator3.f();
1671
+ _iterator.f();
1693
1672
  }
1694
- var _iterator4 = _createForOfIteratorHelper(byCourt.values()),
1695
- _step4;
1673
+ var _iterator2 = _createForOfIteratorHelper(byCourt.values()),
1674
+ _step2;
1696
1675
  try {
1697
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
1698
- var _list = _step4.value;
1676
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1677
+ var _list = _step2.value;
1699
1678
  _list.sort(function (a, b) {
1700
1679
  if (a.start !== b.start) return a.start - b.start;
1701
1680
  return b.span - a.span;
1702
1681
  });
1703
1682
  var laneEnds = [];
1704
- var _iterator5 = _createForOfIteratorHelper(_list),
1705
- _step5;
1683
+ var _iterator3 = _createForOfIteratorHelper(_list),
1684
+ _step3;
1706
1685
  try {
1707
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
1708
- var _o = _step5.value;
1686
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1687
+ var _o = _step3.value;
1709
1688
  var oEnd = _o.start + _o.span;
1710
1689
  var lane = 0;
1711
1690
  while (lane < laneEnds.length && laneEnds[lane] > _o.start) {
@@ -1720,52 +1699,52 @@ function assignDayOverlapLanesInPlace(overlays) {
1720
1699
  }
1721
1700
  /** 仅用「实际占到的最大 lane+1」,避免 laneEnds 与真实条数不一致时多留空带 */
1722
1701
  } catch (err) {
1723
- _iterator5.e(err);
1702
+ _iterator3.e(err);
1724
1703
  } finally {
1725
- _iterator5.f();
1704
+ _iterator3.f();
1726
1705
  }
1727
1706
  var maxL = 0;
1728
- var _iterator6 = _createForOfIteratorHelper(_list),
1729
- _step6;
1707
+ var _iterator4 = _createForOfIteratorHelper(_list),
1708
+ _step4;
1730
1709
  try {
1731
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
1732
- var _o2 = _step6.value;
1710
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
1711
+ var _o2 = _step4.value;
1733
1712
  maxL = Math.max(maxL, _o2.lane);
1734
1713
  }
1735
1714
  } catch (err) {
1736
- _iterator6.e(err);
1715
+ _iterator4.e(err);
1737
1716
  } finally {
1738
- _iterator6.f();
1717
+ _iterator4.f();
1739
1718
  }
1740
1719
  var laneCount = Math.max(1, maxL + 1);
1741
- var _iterator7 = _createForOfIteratorHelper(_list),
1742
- _step7;
1720
+ var _iterator5 = _createForOfIteratorHelper(_list),
1721
+ _step5;
1743
1722
  try {
1744
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
1745
- var _o3 = _step7.value;
1723
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
1724
+ var _o3 = _step5.value;
1746
1725
  _o3.laneCount = laneCount;
1747
1726
  }
1748
1727
  } catch (err) {
1749
- _iterator7.e(err);
1728
+ _iterator5.e(err);
1750
1729
  } finally {
1751
- _iterator7.f();
1730
+ _iterator5.f();
1752
1731
  }
1753
1732
  }
1754
1733
  } catch (err) {
1755
- _iterator4.e(err);
1734
+ _iterator2.e(err);
1756
1735
  } finally {
1757
- _iterator4.f();
1736
+ _iterator2.f();
1758
1737
  }
1759
1738
  }
1760
1739
 
1761
1740
  /** 扫描时间轴:同一 court 在任一时刻的最大并行条数(用于行高,与分 lane 一致) */
1762
1741
  function maxConcurrentBookingsOnCourt(overlays, courtId) {
1763
1742
  var ev = [];
1764
- var _iterator8 = _createForOfIteratorHelper(overlays),
1765
- _step8;
1743
+ var _iterator6 = _createForOfIteratorHelper(overlays),
1744
+ _step6;
1766
1745
  try {
1767
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
1768
- var o = _step8.value;
1746
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
1747
+ var o = _step6.value;
1769
1748
  if (o.courtId !== courtId) continue;
1770
1749
  ev.push({
1771
1750
  t: o.start,
@@ -1777,9 +1756,9 @@ function maxConcurrentBookingsOnCourt(overlays, courtId) {
1777
1756
  });
1778
1757
  }
1779
1758
  } catch (err) {
1780
- _iterator8.e(err);
1759
+ _iterator6.e(err);
1781
1760
  } finally {
1782
- _iterator8.f();
1761
+ _iterator6.f();
1783
1762
  }
1784
1763
  ev.sort(function (a, b) {
1785
1764
  if (a.t !== b.t) return a.t - b.t;
@@ -1814,11 +1793,11 @@ function clusterDayCourtOverlaysByOverlap(overlays, courtId) {
1814
1793
  var clusters = [];
1815
1794
  var cur = [];
1816
1795
  var curMaxEnd = -Infinity;
1817
- var _iterator9 = _createForOfIteratorHelper(sorted),
1818
- _step9;
1796
+ var _iterator7 = _createForOfIteratorHelper(sorted),
1797
+ _step7;
1819
1798
  try {
1820
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
1821
- var o = _step9.value;
1799
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
1800
+ var o = _step7.value;
1822
1801
  var oe = o.start + o.span;
1823
1802
  if (!cur.length) {
1824
1803
  cur = [o];
@@ -1835,9 +1814,9 @@ function clusterDayCourtOverlaysByOverlap(overlays, courtId) {
1835
1814
  }
1836
1815
  }
1837
1816
  } catch (err) {
1838
- _iterator9.e(err);
1817
+ _iterator7.e(err);
1839
1818
  } finally {
1840
- _iterator9.f();
1819
+ _iterator7.f();
1841
1820
  }
1842
1821
  if (cur.length) clusters.push(cur);
1843
1822
  return clusters;
@@ -1901,19 +1880,19 @@ function buildOverlayBookings(visibleCourtRows, dayKey, bookings) {
1901
1880
  /** 同一 court + id 只保留一条 overlay,避免数据源重复时出现叠字/重影 */
1902
1881
  var seen = new Set();
1903
1882
  var out = [];
1904
- var _loop2 = function _loop2() {
1883
+ var _loop = function _loop() {
1905
1884
  var _dayRowHeights$i;
1906
1885
  var row = visibleCourtRows[i];
1907
1886
  if (row.kind !== "court") return 1; // continue
1908
1887
  var rowHeight = (_dayRowHeights$i = dayRowHeights[i]) !== null && _dayRowHeights$i !== void 0 ? _dayRowHeights$i : dayRowHeight;
1909
- var _iterator10 = _createForOfIteratorHelper(bookings.filter(function (b) {
1888
+ var _iterator8 = _createForOfIteratorHelper(bookings.filter(function (b) {
1910
1889
  return b.courtId === row.id;
1911
1890
  })),
1912
- _step10;
1891
+ _step8;
1913
1892
  try {
1914
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
1893
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
1915
1894
  var _item$id;
1916
- var item = _step10.value;
1895
+ var item = _step8.value;
1917
1896
  var dedupeKey = "".concat(row.id, "\0").concat((_item$id = item.id) !== null && _item$id !== void 0 ? _item$id : "", "\0").concat(dayKey);
1918
1897
  if (seen.has(dedupeKey)) continue;
1919
1898
  var seg = getBookingSegmentForDate(item, dayKey);
@@ -1936,13 +1915,13 @@ function buildOverlayBookings(visibleCourtRows, dayKey, bookings) {
1936
1915
  });
1937
1916
  }
1938
1917
  } catch (err) {
1939
- _iterator10.e(err);
1918
+ _iterator8.e(err);
1940
1919
  } finally {
1941
- _iterator10.f();
1920
+ _iterator8.f();
1942
1921
  }
1943
1922
  };
1944
1923
  for (var i = 0; i < visibleCourtRows.length; i++) {
1945
- if (_loop2()) continue;
1924
+ if (_loop()) continue;
1946
1925
  }
1947
1926
  assignDayOverlapLanesInPlace(out);
1948
1927
  return out;
@@ -2465,21 +2444,21 @@ export default function BookingCalendarDemo() {
2465
2444
  var courtDayDisplayLaneCount = {};
2466
2445
  var hiddenDayOverlayIdSet = new Set();
2467
2446
  var dayOverlayOverflowPluses = [];
2468
- var _iterator11 = _createForOfIteratorHelper(visibleCourtRows),
2469
- _step11;
2447
+ var _iterator9 = _createForOfIteratorHelper(visibleCourtRows),
2448
+ _step9;
2470
2449
  try {
2471
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
2472
- var row = _step11.value;
2450
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
2451
+ var row = _step9.value;
2473
2452
  if (row.kind !== "court") continue;
2474
2453
  var cid = row.id;
2475
2454
  var rawLc = maxConcurrentBookingsOnCourt(overlays, cid);
2476
2455
  courtDayDisplayLaneCount[cid] = effectiveDayOverlayDisplayLaneCount(rawLc);
2477
2456
  var clusters = clusterDayCourtOverlaysByOverlap(overlays, cid);
2478
- var _iterator12 = _createForOfIteratorHelper(clusters),
2479
- _step12;
2457
+ var _iterator10 = _createForOfIteratorHelper(clusters),
2458
+ _step10;
2480
2459
  try {
2481
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
2482
- var cluster = _step12.value;
2460
+ for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
2461
+ var cluster = _step10.value;
2483
2462
  if (cluster.length <= DAY_OVERLAY_VISIBLE_BOOKING_CAP) continue;
2484
2463
  var sortedByLane = _toConsumableArray(cluster).sort(function (a, b) {
2485
2464
  return a.lane - b.lane || a.start - b.start;
@@ -2491,18 +2470,18 @@ export default function BookingCalendarDemo() {
2491
2470
  var hidden = sortedByLane.slice(DAY_OVERLAY_VISIBLE_BOOKING_CAP);
2492
2471
  var minS = Infinity;
2493
2472
  var maxE = -Infinity;
2494
- var _iterator13 = _createForOfIteratorHelper(cluster),
2495
- _step13;
2473
+ var _iterator11 = _createForOfIteratorHelper(cluster),
2474
+ _step11;
2496
2475
  try {
2497
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
2498
- var _o4 = _step13.value;
2476
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
2477
+ var _o4 = _step11.value;
2499
2478
  minS = Math.min(minS, _o4.start);
2500
2479
  maxE = Math.max(maxE, _o4.start + _o4.span);
2501
2480
  }
2502
2481
  } catch (err) {
2503
- _iterator13.e(err);
2482
+ _iterator11.e(err);
2504
2483
  } finally {
2505
- _iterator13.f();
2484
+ _iterator11.f();
2506
2485
  }
2507
2486
  var anchor = hidden[0];
2508
2487
  dayOverlayOverflowPluses.push({
@@ -2519,15 +2498,15 @@ export default function BookingCalendarDemo() {
2519
2498
  });
2520
2499
  }
2521
2500
  } catch (err) {
2522
- _iterator12.e(err);
2501
+ _iterator10.e(err);
2523
2502
  } finally {
2524
- _iterator12.f();
2503
+ _iterator10.f();
2525
2504
  }
2526
2505
  }
2527
2506
  } catch (err) {
2528
- _iterator11.e(err);
2507
+ _iterator9.e(err);
2529
2508
  } finally {
2530
- _iterator11.f();
2509
+ _iterator9.f();
2531
2510
  }
2532
2511
  return {
2533
2512
  dayRowHeights: expandedHeights,
@@ -1524,6 +1524,7 @@ function buildGroupedCourtRows(courts, collapsedGroups = {}) {
1524
1524
  const predefined = ["VIP", "Standard"];
1525
1525
  const rows = [];
1526
1526
  const consumedIds = /* @__PURE__ */ new Set();
1527
+ console.log(courts, collapsedGroups, "courts, collapsedGroups = {}");
1527
1528
  predefined.forEach((group) => {
1528
1529
  const items = courts.filter((court) => court.type === group);
1529
1530
  if (items.length === 0) return;
@@ -1540,15 +1541,15 @@ function buildGroupedCourtRows(courts, collapsedGroups = {}) {
1540
1541
  }
1541
1542
  });
1542
1543
  const remainder = courts.filter((c) => !consumedIds.has(c.id));
1543
- const byType = /* @__PURE__ */ new Map();
1544
- for (const court of remainder) {
1544
+ const byType = {};
1545
+ remainder.forEach((court) => {
1545
1546
  const label = court.type && String(court.type).trim() !== "" ? String(court.type) : "Resource";
1546
- const list = byType.get(label) || [];
1547
- list.push(court);
1548
- byType.set(label, list);
1549
- }
1550
- for (const [label, items] of byType) {
1551
- if (!items.length) continue;
1547
+ if (!byType[label]) byType[label] = [];
1548
+ byType[label].push(court);
1549
+ });
1550
+ Object.keys(byType).forEach((label) => {
1551
+ const items = byType[label];
1552
+ if (!items.length) return;
1552
1553
  const idSafe = String(label).replace(/\s+/g, "-");
1553
1554
  rows.push({
1554
1555
  kind: "group",
@@ -1560,7 +1561,8 @@ function buildGroupedCourtRows(courts, collapsedGroups = {}) {
1560
1561
  if (!collapsedGroups[label]) {
1561
1562
  items.forEach((court) => rows.push({ kind: "court", ...court, group: label }));
1562
1563
  }
1563
- }
1564
+ });
1565
+ console.log(rows, "rows123");
1564
1566
  return rows;
1565
1567
  }
1566
1568
  function assignDayOverlapLanesInPlace(overlays) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/materials",
3
- "version": "6.11.30",
3
+ "version": "6.11.31",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",