@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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.js +1 -1
- package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +95 -116
- package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +11 -9
- package/package.json +1 -1
|
@@ -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 =
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
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
|
-
}
|
|
1668
|
-
|
|
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
|
|
1682
|
-
|
|
1660
|
+
var _iterator = _createForOfIteratorHelper(overlays),
|
|
1661
|
+
_step;
|
|
1683
1662
|
try {
|
|
1684
|
-
for (
|
|
1685
|
-
var o =
|
|
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
|
-
|
|
1669
|
+
_iterator.e(err);
|
|
1691
1670
|
} finally {
|
|
1692
|
-
|
|
1671
|
+
_iterator.f();
|
|
1693
1672
|
}
|
|
1694
|
-
var
|
|
1695
|
-
|
|
1673
|
+
var _iterator2 = _createForOfIteratorHelper(byCourt.values()),
|
|
1674
|
+
_step2;
|
|
1696
1675
|
try {
|
|
1697
|
-
for (
|
|
1698
|
-
var _list =
|
|
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
|
|
1705
|
-
|
|
1683
|
+
var _iterator3 = _createForOfIteratorHelper(_list),
|
|
1684
|
+
_step3;
|
|
1706
1685
|
try {
|
|
1707
|
-
for (
|
|
1708
|
-
var _o =
|
|
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
|
-
|
|
1702
|
+
_iterator3.e(err);
|
|
1724
1703
|
} finally {
|
|
1725
|
-
|
|
1704
|
+
_iterator3.f();
|
|
1726
1705
|
}
|
|
1727
1706
|
var maxL = 0;
|
|
1728
|
-
var
|
|
1729
|
-
|
|
1707
|
+
var _iterator4 = _createForOfIteratorHelper(_list),
|
|
1708
|
+
_step4;
|
|
1730
1709
|
try {
|
|
1731
|
-
for (
|
|
1732
|
-
var _o2 =
|
|
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
|
-
|
|
1715
|
+
_iterator4.e(err);
|
|
1737
1716
|
} finally {
|
|
1738
|
-
|
|
1717
|
+
_iterator4.f();
|
|
1739
1718
|
}
|
|
1740
1719
|
var laneCount = Math.max(1, maxL + 1);
|
|
1741
|
-
var
|
|
1742
|
-
|
|
1720
|
+
var _iterator5 = _createForOfIteratorHelper(_list),
|
|
1721
|
+
_step5;
|
|
1743
1722
|
try {
|
|
1744
|
-
for (
|
|
1745
|
-
var _o3 =
|
|
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
|
-
|
|
1728
|
+
_iterator5.e(err);
|
|
1750
1729
|
} finally {
|
|
1751
|
-
|
|
1730
|
+
_iterator5.f();
|
|
1752
1731
|
}
|
|
1753
1732
|
}
|
|
1754
1733
|
} catch (err) {
|
|
1755
|
-
|
|
1734
|
+
_iterator2.e(err);
|
|
1756
1735
|
} finally {
|
|
1757
|
-
|
|
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
|
|
1765
|
-
|
|
1743
|
+
var _iterator6 = _createForOfIteratorHelper(overlays),
|
|
1744
|
+
_step6;
|
|
1766
1745
|
try {
|
|
1767
|
-
for (
|
|
1768
|
-
var o =
|
|
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
|
-
|
|
1759
|
+
_iterator6.e(err);
|
|
1781
1760
|
} finally {
|
|
1782
|
-
|
|
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
|
|
1818
|
-
|
|
1796
|
+
var _iterator7 = _createForOfIteratorHelper(sorted),
|
|
1797
|
+
_step7;
|
|
1819
1798
|
try {
|
|
1820
|
-
for (
|
|
1821
|
-
var o =
|
|
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
|
-
|
|
1817
|
+
_iterator7.e(err);
|
|
1839
1818
|
} finally {
|
|
1840
|
-
|
|
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
|
|
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
|
|
1888
|
+
var _iterator8 = _createForOfIteratorHelper(bookings.filter(function (b) {
|
|
1910
1889
|
return b.courtId === row.id;
|
|
1911
1890
|
})),
|
|
1912
|
-
|
|
1891
|
+
_step8;
|
|
1913
1892
|
try {
|
|
1914
|
-
for (
|
|
1893
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
1915
1894
|
var _item$id;
|
|
1916
|
-
var item =
|
|
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
|
-
|
|
1918
|
+
_iterator8.e(err);
|
|
1940
1919
|
} finally {
|
|
1941
|
-
|
|
1920
|
+
_iterator8.f();
|
|
1942
1921
|
}
|
|
1943
1922
|
};
|
|
1944
1923
|
for (var i = 0; i < visibleCourtRows.length; i++) {
|
|
1945
|
-
if (
|
|
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
|
|
2469
|
-
|
|
2447
|
+
var _iterator9 = _createForOfIteratorHelper(visibleCourtRows),
|
|
2448
|
+
_step9;
|
|
2470
2449
|
try {
|
|
2471
|
-
for (
|
|
2472
|
-
var row =
|
|
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
|
|
2479
|
-
|
|
2457
|
+
var _iterator10 = _createForOfIteratorHelper(clusters),
|
|
2458
|
+
_step10;
|
|
2480
2459
|
try {
|
|
2481
|
-
for (
|
|
2482
|
-
var cluster =
|
|
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
|
|
2495
|
-
|
|
2473
|
+
var _iterator11 = _createForOfIteratorHelper(cluster),
|
|
2474
|
+
_step11;
|
|
2496
2475
|
try {
|
|
2497
|
-
for (
|
|
2498
|
-
var _o4 =
|
|
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
|
-
|
|
2482
|
+
_iterator11.e(err);
|
|
2504
2483
|
} finally {
|
|
2505
|
-
|
|
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
|
-
|
|
2501
|
+
_iterator10.e(err);
|
|
2523
2502
|
} finally {
|
|
2524
|
-
|
|
2503
|
+
_iterator10.f();
|
|
2525
2504
|
}
|
|
2526
2505
|
}
|
|
2527
2506
|
} catch (err) {
|
|
2528
|
-
|
|
2507
|
+
_iterator9.e(err);
|
|
2529
2508
|
} finally {
|
|
2530
|
-
|
|
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 =
|
|
1544
|
-
|
|
1544
|
+
const byType = {};
|
|
1545
|
+
remainder.forEach((court) => {
|
|
1545
1546
|
const label = court.type && String(court.type).trim() !== "" ? String(court.type) : "Resource";
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
if (!items.length)
|
|
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) {
|