@pisell/private-materials 6.11.115 → 6.11.117
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 +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +0 -1
- package/es/components/booking/hooks/useClearCart.d.ts +0 -1
- package/es/components/booking/info/notes/index.d.ts +0 -1
- package/es/components/ecocup/components/AddCustomerModal/index.d.ts +1 -0
- package/es/components/ecocup/components/CupActionList/index.d.ts +1 -0
- package/es/components/ecocup/components/CupActionModal/index.d.ts +1 -0
- package/es/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
- package/es/components/ecocup/components/CupStatusModal/index.d.ts +1 -0
- package/es/components/ecocup/components/CustomerAndCupModal/index.d.ts +1 -0
- package/es/components/ecocup/components/CustomerCard/index.d.ts +1 -0
- package/es/components/ecocup/components/MoreDropdown/index.d.ts +1 -0
- package/es/components/ecocup/components/SearchBar/index.d.ts +1 -0
- package/es/components/ecocup/components/SettingModal/index.d.ts +1 -0
- package/es/components/ecocup/cupList/hooks/useColumns.d.ts +1 -0
- package/es/components/ecocup/cupList/hooks/useSummary.d.ts +1 -0
- package/es/components/eftpos/hooks.d.ts +1 -0
- package/es/components/eftpos/index.d.ts +1 -0
- package/es/components/eftposPay/component/fail/network.d.ts +0 -1
- package/es/components/eftposPay/component/fail/unknow.d.ts +0 -1
- package/es/components/eftposPay/component/signature/index.d.ts +0 -1
- package/es/components/eftposPay/store/index.d.ts +1 -1
- package/es/components/eftposPay/tip.d.ts +0 -1
- package/es/components/eftposPay/windcave/receiptAction.d.ts +0 -1
- package/es/components/shoppingCart/hooks/useClearCart.d.ts +0 -1
- package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
- package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
- package/es/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
- package/es/plus/orderList/components/HandleActions.d.ts +1 -0
- package/es/plus/orderList/components/QuickFilter.d.ts +1 -0
- package/es/plus/orderList/components/Reset.d.ts +1 -0
- package/es/plus/orderList/components/Toolbar.d.ts +1 -0
- package/es/plus/pisellReservation/PisellReservation.js +369 -41
- package/es/plus/pisellReservation/components/PisellReservationSubcomponents.d.ts +7 -6
- package/es/plus/pisellReservation/components/PisellReservationSubcomponents.js +25 -12
- package/es/plus/pisellReservation/components/ReservationResourceWallResourceSelect.d.ts +14 -0
- package/es/plus/pisellReservation/components/ReservationResourceWallResourceSelect.js +30 -0
- package/es/plus/pisellReservation/components/bookingDetailModal/ReservationBookingDetailModal.js +5 -5
- package/es/plus/pisellReservation/data/bookingToReservationTables.d.ts +4 -0
- package/es/plus/pisellReservation/data/bookingToReservationTables.js +12 -4
- package/es/plus/pisellReservation/data/mapReservationToVenueWallCards.d.ts +6 -0
- package/es/plus/pisellReservation/data/mapReservationToVenueWallCards.js +171 -0
- package/es/plus/pisellReservation/data/reservationDataUtils.js +1 -1
- package/es/plus/pisellReservation/floorMap/reservationMock.js +160 -0
- package/es/plus/pisellReservation/floorRoomCard/buildCardBodyViewModel.js +4 -4
- package/es/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.d.ts +18 -0
- package/es/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.js +44 -0
- package/es/plus/pisellReservation/hooks/useReservationScheduleDebounced.d.ts +3 -3
- package/es/plus/pisellReservation/locales/locales-ja.d.ts +5 -0
- package/es/plus/pisellReservation/locales/locales-ja.js +5 -0
- package/es/plus/pisellReservation/locales/locales-pt.d.ts +5 -0
- package/es/plus/pisellReservation/locales/locales-pt.js +5 -0
- package/es/plus/pisellReservation/locales/locales.d.ts +17 -0
- package/es/plus/pisellReservation/locales/locales.js +7 -0
- package/es/plus/pisellReservation/reservationConstants.d.ts +23 -5
- package/es/plus/pisellReservation/reservationConstants.js +7 -0
- package/es/plus/pisellReservation/types.d.ts +4 -0
- package/es/plus/saasAttendance/settings/components/membersField/index.d.ts +1 -0
- package/es/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +1 -0
- package/es/plus/walletPassGallery/components/timelineSection/index.d.ts +1 -0
- package/es/pro/Selector/demo.d.ts +1 -0
- package/es/pro/pisellPhoneKeyboard/index.d.ts +1 -0
- package/lib/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +0 -1
- package/lib/components/booking/hooks/useClearCart.d.ts +0 -1
- package/lib/components/booking/info/notes/index.d.ts +0 -1
- package/lib/components/ecocup/components/AddCustomerModal/index.d.ts +1 -0
- package/lib/components/ecocup/components/CupActionList/index.d.ts +1 -0
- package/lib/components/ecocup/components/CupActionModal/index.d.ts +1 -0
- package/lib/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
- package/lib/components/ecocup/components/CupStatusModal/index.d.ts +1 -0
- package/lib/components/ecocup/components/CustomerAndCupModal/index.d.ts +1 -0
- package/lib/components/ecocup/components/CustomerCard/index.d.ts +1 -0
- package/lib/components/ecocup/components/MoreDropdown/index.d.ts +1 -0
- package/lib/components/ecocup/components/SearchBar/index.d.ts +1 -0
- package/lib/components/ecocup/components/SettingModal/index.d.ts +1 -0
- package/lib/components/ecocup/cupList/hooks/useColumns.d.ts +1 -0
- package/lib/components/ecocup/cupList/hooks/useSummary.d.ts +1 -0
- package/lib/components/eftpos/hooks.d.ts +1 -0
- package/lib/components/eftpos/index.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/network.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/unknow.d.ts +0 -1
- package/lib/components/eftposPay/component/signature/index.d.ts +0 -1
- package/lib/components/eftposPay/store/index.d.ts +1 -1
- package/lib/components/eftposPay/tip.d.ts +0 -1
- package/lib/components/eftposPay/windcave/receiptAction.d.ts +0 -1
- package/lib/components/shoppingCart/hooks/useClearCart.d.ts +0 -1
- package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
- package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
- package/lib/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
- package/lib/plus/orderList/components/HandleActions.d.ts +1 -0
- package/lib/plus/orderList/components/QuickFilter.d.ts +1 -0
- package/lib/plus/orderList/components/Reset.d.ts +1 -0
- package/lib/plus/orderList/components/Toolbar.d.ts +1 -0
- package/lib/plus/pisellReservation/PisellReservation.js +312 -12
- package/lib/plus/pisellReservation/components/PisellReservationSubcomponents.d.ts +7 -6
- package/lib/plus/pisellReservation/components/PisellReservationSubcomponents.js +18 -5
- package/lib/plus/pisellReservation/components/ReservationResourceWallResourceSelect.d.ts +14 -0
- package/lib/plus/pisellReservation/components/ReservationResourceWallResourceSelect.js +60 -0
- package/lib/plus/pisellReservation/components/bookingDetailModal/ReservationBookingDetailModal.js +1 -1
- package/lib/plus/pisellReservation/data/bookingToReservationTables.d.ts +4 -0
- package/lib/plus/pisellReservation/data/bookingToReservationTables.js +16 -9
- package/lib/plus/pisellReservation/data/mapReservationToVenueWallCards.d.ts +6 -0
- package/lib/plus/pisellReservation/data/mapReservationToVenueWallCards.js +160 -0
- package/lib/plus/pisellReservation/data/reservationDataUtils.js +2 -1
- package/lib/plus/pisellReservation/floorMap/reservationMock.js +151 -0
- package/lib/plus/pisellReservation/floorRoomCard/buildCardBodyViewModel.js +5 -2
- package/lib/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.d.ts +18 -0
- package/lib/plus/pisellReservation/floorRoomCard/floorRoomCardUtils.js +40 -0
- package/lib/plus/pisellReservation/hooks/useReservationScheduleDebounced.d.ts +3 -3
- package/lib/plus/pisellReservation/locales/locales-ja.d.ts +5 -0
- package/lib/plus/pisellReservation/locales/locales-ja.js +5 -0
- package/lib/plus/pisellReservation/locales/locales-pt.d.ts +5 -0
- package/lib/plus/pisellReservation/locales/locales-pt.js +5 -0
- package/lib/plus/pisellReservation/locales/locales.d.ts +17 -0
- package/lib/plus/pisellReservation/locales/locales.js +7 -0
- package/lib/plus/pisellReservation/reservationConstants.d.ts +23 -5
- package/lib/plus/pisellReservation/reservationConstants.js +12 -0
- package/lib/plus/pisellReservation/types.d.ts +4 -0
- package/lib/plus/saasAttendance/settings/components/membersField/index.d.ts +1 -0
- package/lib/plus/skuOptionsSelection/components/OptionsCard/index.d.ts +1 -0
- package/lib/plus/walletPassGallery/components/timelineSection/index.d.ts +1 -0
- package/lib/pro/Selector/demo.d.ts +1 -0
- package/lib/pro/pisellPhoneKeyboard/index.d.ts +1 -0
- package/package.json +4 -4
|
@@ -21,6 +21,10 @@ export declare function filterBookingsByResourceIds<T extends Record<string, unk
|
|
|
21
21
|
export declare function customerBrief(record: Record<string, unknown>): string;
|
|
22
22
|
/** 单条预约上的日历日,用于平面图卡片进度与合成字段 */
|
|
23
23
|
export declare function bookingReferenceDay(booking: Record<string, unknown>): string | undefined;
|
|
24
|
+
/** 预约行开始时刻 → `HH:mm`(资源墙 / 卡片等共用) */
|
|
25
|
+
export declare function formatBookingTime(record: Record<string, unknown>): string;
|
|
26
|
+
/** 与按桌合并 {@link mergeResourceGroup} 一致:按开始时间升序 */
|
|
27
|
+
export declare function sortBookingsByStartTime(bookings: Record<string, unknown>[]): Record<string, unknown>[];
|
|
24
28
|
/** 宿主 booking.status:empty / 缺省 → 空闲;reserved / occupied / locked → 对应卡片大类 */
|
|
25
29
|
export declare function hostBookingStatusToCardStatus(record: Record<string, unknown>): PisellReservationTableRow['cardStatus'];
|
|
26
30
|
/** 从单条宿主 booking 摘 `reserved_status` / `isTimeout` 信号,供行合并与图元映射 */
|
|
@@ -35,10 +35,12 @@ __export(bookingToReservationTables_exports, {
|
|
|
35
35
|
customerBrief: () => customerBrief,
|
|
36
36
|
extractResourceRecordIds: () => extractResourceRecordIds,
|
|
37
37
|
filterBookingsByResourceIds: () => filterBookingsByResourceIds,
|
|
38
|
+
formatBookingTime: () => formatBookingTime,
|
|
38
39
|
hostBookingStatusToCardStatus: () => hostBookingStatusToCardStatus,
|
|
39
40
|
hostBookingUiPatchFromRecord: () => hostBookingUiPatchFromRecord,
|
|
40
41
|
isMonitorScheduleBookingSkipped: () => isMonitorScheduleBookingSkipped,
|
|
41
|
-
mergeBookingsForResourceRecord: () => mergeBookingsForResourceRecord
|
|
42
|
+
mergeBookingsForResourceRecord: () => mergeBookingsForResourceRecord,
|
|
43
|
+
sortBookingsByStartTime: () => sortBookingsByStartTime
|
|
42
44
|
});
|
|
43
45
|
module.exports = __toCommonJS(bookingToReservationTables_exports);
|
|
44
46
|
var import_dayjs = __toESM(require("dayjs"));
|
|
@@ -128,6 +130,15 @@ function formatBookingTime(record) {
|
|
|
128
130
|
const d = (0, import_dayjs.default)(raw);
|
|
129
131
|
return d.isValid() ? d.format("HH:mm") : "";
|
|
130
132
|
}
|
|
133
|
+
function sortBookingsByStartTime(bookings) {
|
|
134
|
+
return [...bookings].sort(
|
|
135
|
+
(a, b) => (0, import_dayjs.default)(
|
|
136
|
+
a.start_at || `${String(a.start_date ?? "")} ${String(a.start_time ?? "")}`.trim()
|
|
137
|
+
).valueOf() - (0, import_dayjs.default)(
|
|
138
|
+
b.start_at || `${String(b.start_date ?? "")} ${String(b.start_time ?? "")}`.trim()
|
|
139
|
+
).valueOf()
|
|
140
|
+
);
|
|
141
|
+
}
|
|
131
142
|
function hostBookingStatusToCardStatus(record) {
|
|
132
143
|
const s = String(record.status ?? "");
|
|
133
144
|
if (s === "occupied") return "occupied";
|
|
@@ -210,13 +221,7 @@ function singleBookingToRow(rowId, booking, codeOverride) {
|
|
|
210
221
|
function mergeResourceGroup(recordId, group) {
|
|
211
222
|
const named = group.find((g) => g.relation_form_name);
|
|
212
223
|
const code = (named == null ? void 0 : named.relation_form_name) ? String(named.relation_form_name) : resourceDisplayCode(group[0]);
|
|
213
|
-
const sorted =
|
|
214
|
-
(a, b) => (0, import_dayjs.default)(
|
|
215
|
-
a.start_at || `${a.start_date || ""} ${a.start_time || ""}`.trim()
|
|
216
|
-
).valueOf() - (0, import_dayjs.default)(
|
|
217
|
-
b.start_at || `${b.start_date || ""} ${b.start_time || ""}`.trim()
|
|
218
|
-
).valueOf()
|
|
219
|
-
);
|
|
224
|
+
const sorted = sortBookingsByStartTime(group);
|
|
220
225
|
if (sorted.length === 1) {
|
|
221
226
|
return singleBookingToRow(recordId, sorted[0], code);
|
|
222
227
|
}
|
|
@@ -299,8 +304,10 @@ function bookingListToReservationTableRows(bookings) {
|
|
|
299
304
|
customerBrief,
|
|
300
305
|
extractResourceRecordIds,
|
|
301
306
|
filterBookingsByResourceIds,
|
|
307
|
+
formatBookingTime,
|
|
302
308
|
hostBookingStatusToCardStatus,
|
|
303
309
|
hostBookingUiPatchFromRecord,
|
|
304
310
|
isMonitorScheduleBookingSkipped,
|
|
305
|
-
mergeBookingsForResourceRecord
|
|
311
|
+
mergeBookingsForResourceRecord,
|
|
312
|
+
sortBookingsByStartTime
|
|
306
313
|
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RecordBoardResourceWallCardModel } from '@pisell/materials';
|
|
2
|
+
import type { PisellReservationTableRow } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 合并桌位行 → 大屏资源墙卡片(首版:与平面图/列表展示字段对齐,灯控等可后续接接口)。
|
|
5
|
+
*/
|
|
6
|
+
export declare function mapReservationRowsToVenueWallCards(rows: PisellReservationTableRow[]): RecordBoardResourceWallCardModel[];
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/plus/pisellReservation/data/mapReservationToVenueWallCards.ts
|
|
20
|
+
var mapReservationToVenueWallCards_exports = {};
|
|
21
|
+
__export(mapReservationToVenueWallCards_exports, {
|
|
22
|
+
mapReservationRowsToVenueWallCards: () => mapReservationRowsToVenueWallCards
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(mapReservationToVenueWallCards_exports);
|
|
25
|
+
var import_floorRoomCardUtils = require("../floorRoomCard/floorRoomCardUtils");
|
|
26
|
+
var import_mapRowToFloorRoomCardData = require("../floorRoomCard/mapRowToFloorRoomCardData");
|
|
27
|
+
function mapReservationRowsToVenueWallCards(rows) {
|
|
28
|
+
return rows.map(mapReservationTableRowToVenueWallCard);
|
|
29
|
+
}
|
|
30
|
+
function formatResourceWallContactLine(row) {
|
|
31
|
+
const roomTitle = String(row.code || row.main_field || row.id || "").trim();
|
|
32
|
+
const data = (0, import_mapRowToFloorRoomCardData.mapPisellReservationRowToFloorRoomCardData)(row, roomTitle);
|
|
33
|
+
const primary = (0, import_floorRoomCardUtils.getFloorRoomCardPrimaryBooking)(data);
|
|
34
|
+
const showPhoneOnRow = row.cardStatus === "booked";
|
|
35
|
+
const primaryLine = primary ? (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(primary.holder, showPhoneOnRow).trim() : "";
|
|
36
|
+
if (primaryLine) return primaryLine;
|
|
37
|
+
for (const b of data.bookings) {
|
|
38
|
+
const t = (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(b.holder, true).trim();
|
|
39
|
+
if (t) return t;
|
|
40
|
+
}
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
43
|
+
function formatResourceWallNextBookingGuestLine(row, nextBooking) {
|
|
44
|
+
const showPhoneOnRow = row.cardStatus === "booked";
|
|
45
|
+
const fromModel = (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(
|
|
46
|
+
nextBooking.holder,
|
|
47
|
+
showPhoneOnRow
|
|
48
|
+
).trim() || (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(nextBooking.holder, true).trim();
|
|
49
|
+
if (fromModel) return fromModel;
|
|
50
|
+
const raw = resolveFloorRawForNextBooking(row, nextBooking);
|
|
51
|
+
if (raw) {
|
|
52
|
+
const h = (0, import_mapRowToFloorRoomCardData.resolveFloorRoomCardHolder)(raw);
|
|
53
|
+
const fromRaw = (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(h, showPhoneOnRow).trim() || (0, import_floorRoomCardUtils.formatFloorRoomCardGuestDisplayLine)(h, true).trim();
|
|
54
|
+
if (fromRaw) return fromRaw;
|
|
55
|
+
}
|
|
56
|
+
return (0, import_floorRoomCardUtils.formatFloorRoomCardNextGuestStripLine)(nextBooking).trim();
|
|
57
|
+
}
|
|
58
|
+
function resolveFloorRawForNextBooking(row, nextBooking) {
|
|
59
|
+
const src = row.floorMapSourceBookings;
|
|
60
|
+
if (!Array.isArray(src) || src.length === 0) return void 0;
|
|
61
|
+
const wantBid = String(nextBooking.booking_id ?? "").trim();
|
|
62
|
+
if (wantBid && !wantBid.startsWith("syn_")) {
|
|
63
|
+
const byId = src.find((x) => {
|
|
64
|
+
const r = x;
|
|
65
|
+
const id = String(r.booking_id ?? r.id ?? "").trim();
|
|
66
|
+
return id !== "" && id === wantBid;
|
|
67
|
+
});
|
|
68
|
+
if (byId) return byId;
|
|
69
|
+
}
|
|
70
|
+
const byNext = src.find((x) => {
|
|
71
|
+
const r = x;
|
|
72
|
+
const n = r.is_next ?? r.isNext;
|
|
73
|
+
return n === true || n === "true" || n === 1 || n === "1";
|
|
74
|
+
});
|
|
75
|
+
return byNext;
|
|
76
|
+
}
|
|
77
|
+
function inferResourceWallNextList(row) {
|
|
78
|
+
const roomTitle = String(row.code || row.main_field || row.id || "").trim();
|
|
79
|
+
const data = (0, import_mapRowToFloorRoomCardData.mapPisellReservationRowToFloorRoomCardData)(row, roomTitle);
|
|
80
|
+
const nextBooking = (0, import_floorRoomCardUtils.resolveFloorRoomCardNextBookingLikeBodyModel)(
|
|
81
|
+
data,
|
|
82
|
+
Date.now()
|
|
83
|
+
);
|
|
84
|
+
if (!nextBooking) return void 0;
|
|
85
|
+
const booking = formatResourceWallNextBookingGuestLine(row, nextBooking).trim();
|
|
86
|
+
const time = (0, import_floorRoomCardUtils.formatFloorRoomCardBookingTimeRange)(nextBooking).trim();
|
|
87
|
+
if (!booking && !time) return void 0;
|
|
88
|
+
return [
|
|
89
|
+
{
|
|
90
|
+
time: time || "—",
|
|
91
|
+
booking: booking || "—",
|
|
92
|
+
startInMin: 0
|
|
93
|
+
}
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
function mapReservationTableRowToVenueWallCard(row) {
|
|
97
|
+
const { cardStatus } = row;
|
|
98
|
+
const isAvailable = cardStatus === "available" || cardStatus === "maintenance";
|
|
99
|
+
const nowMs = Date.now();
|
|
100
|
+
const nextList = inferResourceWallNextList(row);
|
|
101
|
+
const roomTitle = String(row.code || row.main_field || row.id || "").trim();
|
|
102
|
+
const roomData = (0, import_mapRowToFloorRoomCardData.mapPisellReservationRowToFloorRoomCardData)(row, roomTitle);
|
|
103
|
+
const primary = (0, import_floorRoomCardUtils.getFloorRoomCardPrimaryBooking)(roomData);
|
|
104
|
+
const currentTimeFromPrimary = primary ? (0, import_floorRoomCardUtils.formatFloorRoomCardBookingTimeRange)(primary).trim() : "";
|
|
105
|
+
const start = String(row.time ?? "").trim();
|
|
106
|
+
const end = String(row.timeEnd ?? "").trim();
|
|
107
|
+
const currentTimeFallback = start && end ? `${start.replace(/ .*/, "")} - ${end.replace(/ .*/, "")}` : start || "";
|
|
108
|
+
const currentTime = currentTimeFromPrimary || currentTimeFallback;
|
|
109
|
+
let status = "available";
|
|
110
|
+
let remainingMin = void 0;
|
|
111
|
+
let startsInMin = void 0;
|
|
112
|
+
let lateMin = void 0;
|
|
113
|
+
if (!isAvailable && primary) {
|
|
114
|
+
const host = primary.hostBookingStatus;
|
|
115
|
+
if (host === "reserved") {
|
|
116
|
+
const { start: s } = (0, import_floorRoomCardUtils.floorRoomCardBookingStartEndMs)(primary);
|
|
117
|
+
if (Number.isFinite(s)) {
|
|
118
|
+
const diffMin = Math.ceil((s - nowMs) / 6e4);
|
|
119
|
+
if (diffMin <= 0) {
|
|
120
|
+
status = "late";
|
|
121
|
+
lateMin = Math.max(0, Math.ceil((nowMs - s) / 6e4));
|
|
122
|
+
} else {
|
|
123
|
+
status = "boardingSoon";
|
|
124
|
+
startsInMin = Math.max(0, diffMin);
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
status = "boardingSoon";
|
|
128
|
+
}
|
|
129
|
+
} else if (host === "occupied") {
|
|
130
|
+
const { end: e } = (0, import_floorRoomCardUtils.floorRoomCardBookingStartEndMs)(primary);
|
|
131
|
+
if (Number.isFinite(e)) {
|
|
132
|
+
const diffMin = Math.ceil((e - nowMs) / 6e4);
|
|
133
|
+
remainingMin = diffMin;
|
|
134
|
+
if (diffMin <= 0) status = "expired";
|
|
135
|
+
else if (diffMin <= 10) status = "endingSoon";
|
|
136
|
+
else status = "inUse";
|
|
137
|
+
} else {
|
|
138
|
+
status = "inUse";
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} else if (!isAvailable) {
|
|
142
|
+
status = "available";
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
resourceId: String(row.id),
|
|
146
|
+
resource: row.code || row.main_field || String(row.id),
|
|
147
|
+
area: row.area,
|
|
148
|
+
status,
|
|
149
|
+
currentTime,
|
|
150
|
+
currentBooking: isAvailable ? "Available to Book" : formatResourceWallContactLine(row),
|
|
151
|
+
remainingMin,
|
|
152
|
+
startsInMin,
|
|
153
|
+
lateMin,
|
|
154
|
+
nextList
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
158
|
+
0 && (module.exports = {
|
|
159
|
+
mapReservationRowsToVenueWallCards
|
|
160
|
+
});
|
|
@@ -85,7 +85,8 @@ function readBodyViewFromStorageKey(key) {
|
|
|
85
85
|
if (typeof window === "undefined" || !key) return "floorMap";
|
|
86
86
|
try {
|
|
87
87
|
const raw = localStorage.getItem(key);
|
|
88
|
-
if (raw === "grid" || raw === "floorMap" || raw === "calendar"
|
|
88
|
+
if (raw === "grid" || raw === "floorMap" || raw === "calendar" || raw === "resourceWall")
|
|
89
|
+
return raw;
|
|
89
90
|
} catch {
|
|
90
91
|
}
|
|
91
92
|
return "floorMap";
|
|
@@ -332,6 +332,72 @@ var defaultReservationTableRows = [
|
|
|
332
332
|
code: "B-7",
|
|
333
333
|
area: "Bar",
|
|
334
334
|
cardStatus: "maintenance"
|
|
335
|
+
},
|
|
336
|
+
// --- 大屏资源墙演示:名称带 Mock· 前缀,便于在筛选里勾选对比 ---
|
|
337
|
+
{
|
|
338
|
+
id: "mock-rw-available",
|
|
339
|
+
code: "Mock·空场(绿)",
|
|
340
|
+
area: "WallDemo",
|
|
341
|
+
cardStatus: "available"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
id: "mock-rw-ending",
|
|
345
|
+
code: "Mock·将结束(橙)",
|
|
346
|
+
area: "WallDemo",
|
|
347
|
+
cardStatus: "occupied",
|
|
348
|
+
guestName: "倒计时≤10分",
|
|
349
|
+
time: "14:00",
|
|
350
|
+
delayMinutes: 56
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
id: "mock-rw-expired",
|
|
354
|
+
code: "Mock·已超时(红)",
|
|
355
|
+
area: "WallDemo",
|
|
356
|
+
cardStatus: "occupied",
|
|
357
|
+
guestName: "应已清场",
|
|
358
|
+
time: "11:00",
|
|
359
|
+
delayMinutes: 60
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
id: "mock-rw-maint",
|
|
363
|
+
code: "Mock·维护态",
|
|
364
|
+
area: "WallDemo",
|
|
365
|
+
cardStatus: "maintenance",
|
|
366
|
+
capacityLabel: "8p"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
id: "mock-rw-lights-off",
|
|
370
|
+
code: "Mock·灯已关",
|
|
371
|
+
area: "WallDemo",
|
|
372
|
+
cardStatus: "occupied",
|
|
373
|
+
guestName: "场上无人",
|
|
374
|
+
time: "13:00",
|
|
375
|
+
delayMinutes: 30,
|
|
376
|
+
resourceWallLightState: "off"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
id: "mock-rw-lights-off-soon",
|
|
380
|
+
code: "Mock·即将关灯",
|
|
381
|
+
area: "WallDemo",
|
|
382
|
+
cardStatus: "occupied",
|
|
383
|
+
guestName: "场上进行中",
|
|
384
|
+
time: "15:00",
|
|
385
|
+
delayMinutes: 25,
|
|
386
|
+
resourceWallLightState: "on_soon_off",
|
|
387
|
+
resourceWallLightOffInMin: 6
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
id: "mock-rw-lights-on-soon",
|
|
391
|
+
code: "Mock·即将开灯",
|
|
392
|
+
area: "WallDemo",
|
|
393
|
+
cardStatus: "booked",
|
|
394
|
+
guestName: "下一场将开",
|
|
395
|
+
time: "16:00",
|
|
396
|
+
startsInMinutes: 12,
|
|
397
|
+
resourceWallLightState: "off_soon_on",
|
|
398
|
+
resourceWallLightOnInMin: 8,
|
|
399
|
+
nextGuest: "下一场·李娜",
|
|
400
|
+
nextTime: "16:00"
|
|
335
401
|
}
|
|
336
402
|
];
|
|
337
403
|
var DS = "tables";
|
|
@@ -584,6 +650,91 @@ var defaultReservationSceneElements = [
|
|
|
584
650
|
zIndex: 0,
|
|
585
651
|
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
586
652
|
dataBinding: { dataSourceKey: DS, recordId: "b7" }
|
|
653
|
+
},
|
|
654
|
+
// 与 defaultReservationTableRows 中 mock-rw-* 对齐,进入日历/资源墙资源顺序与平面图绑定
|
|
655
|
+
{
|
|
656
|
+
instanceId: "res_mock_rw_available",
|
|
657
|
+
canvasId: CANVAS_MAIN,
|
|
658
|
+
x: 30,
|
|
659
|
+
y: 560,
|
|
660
|
+
width: 100,
|
|
661
|
+
height: 80,
|
|
662
|
+
name: "Mock·空场",
|
|
663
|
+
zIndex: 0,
|
|
664
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
665
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-available" }
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
instanceId: "res_mock_rw_ending",
|
|
669
|
+
canvasId: CANVAS_MAIN,
|
|
670
|
+
x: 148,
|
|
671
|
+
y: 560,
|
|
672
|
+
width: 100,
|
|
673
|
+
height: 80,
|
|
674
|
+
name: "Mock·将结束",
|
|
675
|
+
zIndex: 0,
|
|
676
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
677
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-ending" }
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
instanceId: "res_mock_rw_expired",
|
|
681
|
+
canvasId: CANVAS_MAIN,
|
|
682
|
+
x: 266,
|
|
683
|
+
y: 560,
|
|
684
|
+
width: 100,
|
|
685
|
+
height: 80,
|
|
686
|
+
name: "Mock·超时",
|
|
687
|
+
zIndex: 0,
|
|
688
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
689
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-expired" }
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
instanceId: "res_mock_rw_maint",
|
|
693
|
+
canvasId: CANVAS_MAIN,
|
|
694
|
+
x: 384,
|
|
695
|
+
y: 560,
|
|
696
|
+
width: 100,
|
|
697
|
+
height: 80,
|
|
698
|
+
name: "Mock·维护",
|
|
699
|
+
zIndex: 0,
|
|
700
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
701
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-maint" }
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
instanceId: "res_mock_rw_lights_off",
|
|
705
|
+
canvasId: CANVAS_MAIN,
|
|
706
|
+
x: 502,
|
|
707
|
+
y: 560,
|
|
708
|
+
width: 100,
|
|
709
|
+
height: 80,
|
|
710
|
+
name: "Mock·灯关",
|
|
711
|
+
zIndex: 0,
|
|
712
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
713
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-lights-off" }
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
instanceId: "res_mock_rw_lights_off_soon",
|
|
717
|
+
canvasId: CANVAS_MAIN,
|
|
718
|
+
x: 620,
|
|
719
|
+
y: 560,
|
|
720
|
+
width: 100,
|
|
721
|
+
height: 80,
|
|
722
|
+
name: "Mock·将关灯",
|
|
723
|
+
zIndex: 0,
|
|
724
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
725
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-lights-off-soon" }
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
instanceId: "res_mock_rw_lights_on_soon",
|
|
729
|
+
canvasId: CANVAS_MAIN,
|
|
730
|
+
x: 738,
|
|
731
|
+
y: 560,
|
|
732
|
+
width: 100,
|
|
733
|
+
height: 80,
|
|
734
|
+
name: "Mock·将开灯",
|
|
735
|
+
zIndex: 0,
|
|
736
|
+
elementKind: RESERVATION_BOUND_TABLE_ELEMENT_KIND,
|
|
737
|
+
dataBinding: { dataSourceKey: DS, recordId: "mock-rw-lights-on-soon" }
|
|
587
738
|
}
|
|
588
739
|
];
|
|
589
740
|
var reservationDataSourcePlacements = defaultReservationSceneElements.map((el) => {
|
|
@@ -87,7 +87,10 @@ function buildRoomCardBodyViewModel(params) {
|
|
|
87
87
|
booking.order_payment_status
|
|
88
88
|
);
|
|
89
89
|
const isTimeout = cardType === "timeout";
|
|
90
|
-
const nextBooking = (0, import_floorRoomCardUtils.
|
|
90
|
+
const nextBooking = (0, import_floorRoomCardUtils.resolveFloorRoomCardNextBookingLikeBodyModel)(
|
|
91
|
+
data,
|
|
92
|
+
nowMs
|
|
93
|
+
);
|
|
91
94
|
const holder = booking.holder;
|
|
92
95
|
const name = ((_a = holder == null ? void 0 : holder.name) == null ? void 0 : _a.trim()) ?? "";
|
|
93
96
|
const maskedPhone = showPhone && (holder == null ? void 0 : holder.phone) ? (0, import_floorRoomCardUtils.maskPisellReservationPhoneTail)(holder.phone) : null;
|
|
@@ -95,7 +98,7 @@ function buildRoomCardBodyViewModel(params) {
|
|
|
95
98
|
let nextGuestLine = null;
|
|
96
99
|
let nextTimeRange = null;
|
|
97
100
|
if (nextBooking) {
|
|
98
|
-
nextGuestLine =
|
|
101
|
+
nextGuestLine = (0, import_floorRoomCardUtils.formatFloorRoomCardNextGuestStripLine)(nextBooking) || null;
|
|
99
102
|
nextTimeRange = (0, import_floorRoomCardUtils.formatFloorRoomCardBookingTimeRange)(nextBooking);
|
|
100
103
|
}
|
|
101
104
|
const progressPercent = (0, import_floorRoomCardUtils.resolveFloorRoomCardProgressPercent)(booking);
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { PisellReservationTableRow } from '../types';
|
|
2
2
|
import type { FloorRoomCardBooking, FloorRoomCardData } from './floorRoomCardModel';
|
|
3
|
+
/** 统一的起止毫秒(供资源墙/卡片兼容层复用,避免重复推断) */
|
|
4
|
+
export declare function floorRoomCardBookingStartEndMs(booking: Pick<FloorRoomCardBooking, 'start_date' | 'start_time' | 'end_date' | 'end_time'>): {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
9
|
* 预留态时间行:图元内仅展示时刻 + 文案后缀,不展示开始日期。
|
|
5
10
|
*/
|
|
@@ -65,6 +70,19 @@ export declare function getFloorRoomCardNextAfterPrimaryReserved(data: FloorRoom
|
|
|
65
70
|
* 接口标记 `isNext` 的预约:按开始时间取第一条,供 Next 行展示。
|
|
66
71
|
*/
|
|
67
72
|
export declare function getFloorRoomCardExplicitNextBooking(data: FloorRoomCardData): FloorRoomCardBooking | null;
|
|
73
|
+
/**
|
|
74
|
+
* 与 {@link buildCardBodyViewModel} Next 行同一套优先级:接口 `is_next`/`isNext` →
|
|
75
|
+
* 单 occupied 后一条 → 多条 reserved 第二条 →「进行中」后首条未开始。
|
|
76
|
+
*/
|
|
77
|
+
export declare function resolveFloorRoomCardNextBookingLikeBodyModel(data: FloorRoomCardData, nowMs?: number): FloorRoomCardBooking | null;
|
|
78
|
+
/** Next 条客人一行:与 FloorRoomCardFromData `nextGuestLineForStrip` 一致 */
|
|
79
|
+
export declare function formatFloorRoomCardNextGuestStripLine(b: FloorRoomCardBooking): string;
|
|
80
|
+
/**
|
|
81
|
+
* 联系人展示一行:与 `buildCardBodyViewModel` 的 `guestDisplayLine` 一致。
|
|
82
|
+
* - 优先姓名
|
|
83
|
+
* - 预留态可展示手机号尾号(脱敏)
|
|
84
|
+
*/
|
|
85
|
+
export declare function formatFloorRoomCardGuestDisplayLine(holder: FloorRoomCardBooking['holder'], showPhone: boolean): string;
|
|
68
86
|
/**
|
|
69
87
|
* 主区域展示用:第一条非 `isNext`;若全部为 next 则回退首条。
|
|
70
88
|
*/
|
|
@@ -31,10 +31,13 @@ var floorRoomCardUtils_exports = {};
|
|
|
31
31
|
__export(floorRoomCardUtils_exports, {
|
|
32
32
|
displayRoomShowNameFromRow: () => displayRoomShowNameFromRow,
|
|
33
33
|
displayRoomTitleFromRow: () => displayRoomTitleFromRow,
|
|
34
|
+
floorRoomCardBookingStartEndMs: () => floorRoomCardBookingStartEndMs,
|
|
34
35
|
formatFloorRoomCardBookingEndLine: () => formatFloorRoomCardBookingEndLine,
|
|
35
36
|
formatFloorRoomCardBookingStartLine: () => formatFloorRoomCardBookingStartLine,
|
|
36
37
|
formatFloorRoomCardBookingTimeRange: () => formatFloorRoomCardBookingTimeRange,
|
|
37
38
|
formatFloorRoomCardDurationMinutes: () => formatFloorRoomCardDurationMinutes,
|
|
39
|
+
formatFloorRoomCardGuestDisplayLine: () => formatFloorRoomCardGuestDisplayLine,
|
|
40
|
+
formatFloorRoomCardNextGuestStripLine: () => formatFloorRoomCardNextGuestStripLine,
|
|
38
41
|
getFloorRoomCardArrivalMinutes: () => getFloorRoomCardArrivalMinutes,
|
|
39
42
|
getFloorRoomCardExplicitNextBooking: () => getFloorRoomCardExplicitNextBooking,
|
|
40
43
|
getFloorRoomCardLateTime: () => getFloorRoomCardLateTime,
|
|
@@ -51,6 +54,7 @@ __export(floorRoomCardUtils_exports, {
|
|
|
51
54
|
maskPisellReservationPhoneTail: () => maskPisellReservationPhoneTail,
|
|
52
55
|
reorderBookingsAllReservedChronological: () => reorderBookingsAllReservedChronological,
|
|
53
56
|
reorderBookingsForSingleOccupiedPrimary: () => reorderBookingsForSingleOccupiedPrimary,
|
|
57
|
+
resolveFloorRoomCardNextBookingLikeBodyModel: () => resolveFloorRoomCardNextBookingLikeBodyModel,
|
|
54
58
|
resolveFloorRoomCardProgressPercent: () => resolveFloorRoomCardProgressPercent,
|
|
55
59
|
resolveFloorRoomCardReservedCountdownMinutes: () => resolveFloorRoomCardReservedCountdownMinutes,
|
|
56
60
|
resolveFloorRoomCardReservedCountdownMinutesForBooking: () => resolveFloorRoomCardReservedCountdownMinutesForBooking
|
|
@@ -73,6 +77,14 @@ function bookingStartEndMs(startDate, startTime, endDate, endTime) {
|
|
|
73
77
|
const e = (0, import_dayjs.default)(`${endDate}T${normalizeHmsForDayjs(endTime)}`).valueOf();
|
|
74
78
|
return { start: s, end: e };
|
|
75
79
|
}
|
|
80
|
+
function floorRoomCardBookingStartEndMs(booking) {
|
|
81
|
+
return bookingStartEndMs(
|
|
82
|
+
booking.start_date,
|
|
83
|
+
booking.start_time,
|
|
84
|
+
booking.end_date,
|
|
85
|
+
booking.end_time
|
|
86
|
+
);
|
|
87
|
+
}
|
|
76
88
|
function formatFloorRoomCardBookingStartLine(booking, endSuffix) {
|
|
77
89
|
const hm = String(booking.start_time ?? "").trim();
|
|
78
90
|
if (hm) return `${hm} ${endSuffix}`.trim();
|
|
@@ -270,6 +282,30 @@ function getFloorRoomCardExplicitNextBooking(data) {
|
|
|
270
282
|
if (marked.length === 0) return null;
|
|
271
283
|
return sortFloorRoomCardBookingsByStart(marked)[0] ?? null;
|
|
272
284
|
}
|
|
285
|
+
function resolveFloorRoomCardNextBookingLikeBodyModel(data, nowMs = Date.now()) {
|
|
286
|
+
return getFloorRoomCardExplicitNextBooking(data) ?? getFloorRoomCardNextAfterSingleOccupiedBooking(data) ?? getFloorRoomCardNextAfterPrimaryReserved(data) ?? getFloorRoomCardNextNotStartedBooking(data, nowMs);
|
|
287
|
+
}
|
|
288
|
+
function formatFloorRoomCardNextGuestStripLine(b) {
|
|
289
|
+
var _a, _b, _c;
|
|
290
|
+
const n = (_b = (_a = b.holder) == null ? void 0 : _a.name) == null ? void 0 : _b.trim();
|
|
291
|
+
if (n) return n;
|
|
292
|
+
const ph = (_c = b.holder) == null ? void 0 : _c.phone;
|
|
293
|
+
if (ph) {
|
|
294
|
+
const m = maskPisellReservationPhoneTail(ph);
|
|
295
|
+
if (m) return m;
|
|
296
|
+
}
|
|
297
|
+
return "";
|
|
298
|
+
}
|
|
299
|
+
function formatFloorRoomCardGuestDisplayLine(holder, showPhone) {
|
|
300
|
+
var _a;
|
|
301
|
+
const n = (_a = holder == null ? void 0 : holder.name) == null ? void 0 : _a.trim();
|
|
302
|
+
if (n) return n;
|
|
303
|
+
if (showPhone && (holder == null ? void 0 : holder.phone)) {
|
|
304
|
+
const m = maskPisellReservationPhoneTail(holder.phone);
|
|
305
|
+
if (m) return m;
|
|
306
|
+
}
|
|
307
|
+
return "";
|
|
308
|
+
}
|
|
273
309
|
function getFloorRoomCardPrimaryBooking(data) {
|
|
274
310
|
const non = data.bookings.find((b) => b.isNext !== true);
|
|
275
311
|
return non ?? data.bookings[0];
|
|
@@ -373,10 +409,13 @@ function displayRoomShowNameFromRow(row, sceneElementName) {
|
|
|
373
409
|
0 && (module.exports = {
|
|
374
410
|
displayRoomShowNameFromRow,
|
|
375
411
|
displayRoomTitleFromRow,
|
|
412
|
+
floorRoomCardBookingStartEndMs,
|
|
376
413
|
formatFloorRoomCardBookingEndLine,
|
|
377
414
|
formatFloorRoomCardBookingStartLine,
|
|
378
415
|
formatFloorRoomCardBookingTimeRange,
|
|
379
416
|
formatFloorRoomCardDurationMinutes,
|
|
417
|
+
formatFloorRoomCardGuestDisplayLine,
|
|
418
|
+
formatFloorRoomCardNextGuestStripLine,
|
|
380
419
|
getFloorRoomCardArrivalMinutes,
|
|
381
420
|
getFloorRoomCardExplicitNextBooking,
|
|
382
421
|
getFloorRoomCardLateTime,
|
|
@@ -393,6 +432,7 @@ function displayRoomShowNameFromRow(row, sceneElementName) {
|
|
|
393
432
|
maskPisellReservationPhoneTail,
|
|
394
433
|
reorderBookingsAllReservedChronological,
|
|
395
434
|
reorderBookingsForSingleOccupiedPrimary,
|
|
435
|
+
resolveFloorRoomCardNextBookingLikeBodyModel,
|
|
396
436
|
resolveFloorRoomCardProgressPercent,
|
|
397
437
|
resolveFloorRoomCardReservedCountdownMinutes,
|
|
398
438
|
resolveFloorRoomCardReservedCountdownMinutesForBooking
|
|
@@ -7,10 +7,10 @@ export declare function useReservationScheduleDebounced(options: {
|
|
|
7
7
|
scheduleValueProp: ReservationScheduleBandValue | undefined;
|
|
8
8
|
}): {
|
|
9
9
|
internalSchedule: ReservationScheduleBandValue;
|
|
10
|
-
setInternalSchedule: import("react").Dispatch<
|
|
11
|
-
schedule:
|
|
10
|
+
setInternalSchedule: import("react").Dispatch<import("react").SetStateAction<ReservationScheduleBandValue>>;
|
|
11
|
+
schedule: ReservationScheduleBandValue;
|
|
12
12
|
debouncedSchedule: ReservationScheduleBandValue;
|
|
13
|
-
scheduleRef: import("react").MutableRefObject<
|
|
13
|
+
scheduleRef: import("react").MutableRefObject<ReservationScheduleBandValue>;
|
|
14
14
|
flushCommittedSchedule: (next: ReservationScheduleBandValue) => void;
|
|
15
15
|
queueCommittedSchedule: (next: ReservationScheduleBandValue) => void;
|
|
16
16
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** PisellReservation — 日本語 */
|
|
2
2
|
declare const _default: {
|
|
3
3
|
'pisell-reservation.page-title': string;
|
|
4
|
+
'pisell-reservation.page-title-venue': string;
|
|
4
5
|
'pisell-reservation.new': string;
|
|
5
6
|
'pisell-reservation.new-modal-title': string;
|
|
6
7
|
'pisell-reservation.new-modal-placeholder': string;
|
|
@@ -11,6 +12,8 @@ declare const _default: {
|
|
|
11
12
|
'pisell-reservation.view-grid': string;
|
|
12
13
|
'pisell-reservation.view-floor': string;
|
|
13
14
|
'pisell-reservation.view-calendar': string;
|
|
15
|
+
'pisell-reservation.view-resource-wall': string;
|
|
16
|
+
'pisell-reservation.resource-wall-resources': string;
|
|
14
17
|
'pisell-reservation.calendar-granularity-day': string;
|
|
15
18
|
'pisell-reservation.calendar-granularity-week': string;
|
|
16
19
|
'pisell-reservation.calendar-granularity-month': string;
|
|
@@ -25,6 +28,8 @@ declare const _default: {
|
|
|
25
28
|
'pisell-reservation.at-current-time': string;
|
|
26
29
|
'pisell-reservation.go-current': string;
|
|
27
30
|
'pisell-reservation.schedule-data-loading': string;
|
|
31
|
+
'pisell-reservation.hud-open-table-aria': string;
|
|
32
|
+
'pisell-reservation.hud-table-drawer-title': string;
|
|
28
33
|
'pisell-reservation.hud-sheet-close-aria': string;
|
|
29
34
|
'pisell-reservation.hud-expand-aria': string;
|
|
30
35
|
'pisell-reservation.hud-collapse-aria': string;
|
|
@@ -24,6 +24,7 @@ __export(locales_ja_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(locales_ja_exports);
|
|
25
25
|
var locales_ja_default = {
|
|
26
26
|
"pisell-reservation.page-title": "予約",
|
|
27
|
+
"pisell-reservation.page-title-venue": "会場オペレーション",
|
|
27
28
|
"pisell-reservation.new": "+ 新規",
|
|
28
29
|
"pisell-reservation.new-modal-title": "新規",
|
|
29
30
|
"pisell-reservation.new-modal-placeholder": "利用できるルートがありません",
|
|
@@ -34,6 +35,8 @@ var locales_ja_default = {
|
|
|
34
35
|
"pisell-reservation.view-grid": "表",
|
|
35
36
|
"pisell-reservation.view-floor": "フロア図",
|
|
36
37
|
"pisell-reservation.view-calendar": "カレンダー",
|
|
38
|
+
"pisell-reservation.view-resource-wall": "ウォール",
|
|
39
|
+
"pisell-reservation.resource-wall-resources": "ウォール表示リソース",
|
|
37
40
|
"pisell-reservation.calendar-granularity-day": "日",
|
|
38
41
|
"pisell-reservation.calendar-granularity-week": "週",
|
|
39
42
|
"pisell-reservation.calendar-granularity-month": "月",
|
|
@@ -48,6 +51,8 @@ var locales_ja_default = {
|
|
|
48
51
|
"pisell-reservation.at-current-time": "現在時刻を表示中です",
|
|
49
52
|
"pisell-reservation.go-current": "現在へ",
|
|
50
53
|
"pisell-reservation.schedule-data-loading": "予約データを読み込み中…",
|
|
54
|
+
"pisell-reservation.hud-open-table-aria": "フロアマップ上のバインド済みリソース一覧を開く",
|
|
55
|
+
"pisell-reservation.hud-table-drawer-title": "マップ上のリソース",
|
|
51
56
|
"pisell-reservation.hud-sheet-close-aria": "リソース一覧を閉じる",
|
|
52
57
|
"pisell-reservation.hud-expand-aria": "リソース一覧を展開",
|
|
53
58
|
"pisell-reservation.hud-collapse-aria": "リソース一覧を閉じる",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** PisellReservation — Português */
|
|
2
2
|
declare const _default: {
|
|
3
3
|
'pisell-reservation.page-title': string;
|
|
4
|
+
'pisell-reservation.page-title-venue': string;
|
|
4
5
|
'pisell-reservation.new': string;
|
|
5
6
|
'pisell-reservation.new-modal-title': string;
|
|
6
7
|
'pisell-reservation.new-modal-placeholder': string;
|
|
@@ -11,6 +12,8 @@ declare const _default: {
|
|
|
11
12
|
'pisell-reservation.view-grid': string;
|
|
12
13
|
'pisell-reservation.view-floor': string;
|
|
13
14
|
'pisell-reservation.view-calendar': string;
|
|
15
|
+
'pisell-reservation.view-resource-wall': string;
|
|
16
|
+
'pisell-reservation.resource-wall-resources': string;
|
|
14
17
|
'pisell-reservation.calendar-granularity-day': string;
|
|
15
18
|
'pisell-reservation.calendar-granularity-week': string;
|
|
16
19
|
'pisell-reservation.calendar-granularity-month': string;
|
|
@@ -25,6 +28,8 @@ declare const _default: {
|
|
|
25
28
|
'pisell-reservation.at-current-time': string;
|
|
26
29
|
'pisell-reservation.go-current': string;
|
|
27
30
|
'pisell-reservation.schedule-data-loading': string;
|
|
31
|
+
'pisell-reservation.hud-open-table-aria': string;
|
|
32
|
+
'pisell-reservation.hud-table-drawer-title': string;
|
|
28
33
|
'pisell-reservation.hud-sheet-close-aria': string;
|
|
29
34
|
'pisell-reservation.hud-expand-aria': string;
|
|
30
35
|
'pisell-reservation.hud-collapse-aria': string;
|