@voyant-travel/operations-react 0.0.0
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/LICENSE +201 -0
- package/README.md +11 -0
- package/dist/admin.d.ts +59 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +165 -0
- package/dist/availability/admin/availability-index-host.d.ts +12 -0
- package/dist/availability/admin/availability-index-host.d.ts.map +1 -0
- package/dist/availability/admin/availability-index-host.js +125 -0
- package/dist/availability/admin/availability-page-data.d.ts +9 -0
- package/dist/availability/admin/availability-page-data.d.ts.map +1 -0
- package/dist/availability/admin/availability-page-data.js +25 -0
- package/dist/availability/admin/index.d.ts +70 -0
- package/dist/availability/admin/index.d.ts.map +1 -0
- package/dist/availability/admin/index.js +140 -0
- package/dist/availability/admin/option-resource-template-seat-map.d.ts +10 -0
- package/dist/availability/admin/option-resource-template-seat-map.d.ts.map +1 -0
- package/dist/availability/admin/option-resource-template-seat-map.js +36 -0
- package/dist/availability/admin/option-resource-templates-panel.d.ts +22 -0
- package/dist/availability/admin/option-resource-templates-panel.d.ts.map +1 -0
- package/dist/availability/admin/option-resource-templates-panel.js +221 -0
- package/dist/availability/admin/pages/availability-rule-detail-page.d.ts +9 -0
- package/dist/availability/admin/pages/availability-rule-detail-page.d.ts.map +1 -0
- package/dist/availability/admin/pages/availability-rule-detail-page.js +11 -0
- package/dist/availability/admin/pages/availability-slot-detail-page.d.ts +9 -0
- package/dist/availability/admin/pages/availability-slot-detail-page.d.ts.map +1 -0
- package/dist/availability/admin/pages/availability-slot-detail-page.js +11 -0
- package/dist/availability/admin/pages/availability-start-time-detail-page.d.ts +9 -0
- package/dist/availability/admin/pages/availability-start-time-detail-page.d.ts.map +1 -0
- package/dist/availability/admin/pages/availability-start-time-detail-page.js +11 -0
- package/dist/availability/admin/rule-detail-host.d.ts +14 -0
- package/dist/availability/admin/rule-detail-host.d.ts.map +1 -0
- package/dist/availability/admin/rule-detail-host.js +27 -0
- package/dist/availability/admin/slot-detail-host.d.ts +29 -0
- package/dist/availability/admin/slot-detail-host.d.ts.map +1 -0
- package/dist/availability/admin/slot-detail-host.js +110 -0
- package/dist/availability/admin/start-time-detail-host.d.ts +15 -0
- package/dist/availability/admin/start-time-detail-host.d.ts.map +1 -0
- package/dist/availability/admin/start-time-detail-host.js +37 -0
- package/dist/availability/allocation/components/seat-map-builder.d.ts +25 -0
- package/dist/availability/allocation/components/seat-map-builder.d.ts.map +1 -0
- package/dist/availability/allocation/components/seat-map-builder.js +133 -0
- package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.d.ts +29 -0
- package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.js +19 -0
- package/dist/availability/allocation/components/slot-allocation-model.d.ts +111 -0
- package/dist/availability/allocation/components/slot-allocation-model.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-model.js +237 -0
- package/dist/availability/allocation/components/slot-allocation-page-panels.d.ts +17 -0
- package/dist/availability/allocation/components/slot-allocation-page-panels.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-page-panels.js +27 -0
- package/dist/availability/allocation/components/slot-allocation-page.d.ts +51 -0
- package/dist/availability/allocation/components/slot-allocation-page.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-page.js +217 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view-rows.d.ts +28 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view-rows.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view-rows.js +90 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view.d.ts +34 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-resource-view.js +35 -0
- package/dist/availability/allocation/components/slot-allocation-seat-view.d.ts +17 -0
- package/dist/availability/allocation/components/slot-allocation-seat-view.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-seat-view.js +97 -0
- package/dist/availability/allocation/components/slot-allocation-shared.d.ts +54 -0
- package/dist/availability/allocation/components/slot-allocation-shared.d.ts.map +1 -0
- package/dist/availability/allocation/components/slot-allocation-shared.js +106 -0
- package/dist/availability/allocation/i18n/index.d.ts +2 -0
- package/dist/availability/allocation/i18n/index.d.ts.map +1 -0
- package/dist/availability/allocation/i18n/index.js +1 -0
- package/dist/availability/allocation/i18n/provider.d.ts +692 -0
- package/dist/availability/allocation/i18n/provider.d.ts.map +1 -0
- package/dist/availability/allocation/i18n/provider.js +320 -0
- package/dist/availability/allocation/index.d.ts +4 -0
- package/dist/availability/allocation/index.d.ts.map +1 -0
- package/dist/availability/allocation/index.js +3 -0
- package/dist/availability/client.d.ts +14 -0
- package/dist/availability/client.d.ts.map +1 -0
- package/dist/availability/client.js +59 -0
- package/dist/availability/components/availability-columns.d.ts +42 -0
- package/dist/availability/components/availability-columns.d.ts.map +1 -0
- package/dist/availability/components/availability-columns.js +182 -0
- package/dist/availability/components/availability-dialogs/closeout-dialog.d.ts +13 -0
- package/dist/availability/components/availability-dialogs/closeout-dialog.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/closeout-dialog.js +60 -0
- package/dist/availability/components/availability-dialogs/pickup-point-dialog.d.ts +12 -0
- package/dist/availability/components/availability-dialogs/pickup-point-dialog.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/pickup-point-dialog.js +58 -0
- package/dist/availability/components/availability-dialogs/rule-dialog.d.ts +12 -0
- package/dist/availability/components/availability-dialogs/rule-dialog.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/rule-dialog.js +76 -0
- package/dist/availability/components/availability-dialogs/shared.d.ts +213 -0
- package/dist/availability/components/availability-dialogs/shared.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/shared.js +16 -0
- package/dist/availability/components/availability-dialogs/slot-dialog.d.ts +14 -0
- package/dist/availability/components/availability-dialogs/slot-dialog.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/slot-dialog.js +138 -0
- package/dist/availability/components/availability-dialogs/start-time-dialog.d.ts +12 -0
- package/dist/availability/components/availability-dialogs/start-time-dialog.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs/start-time-dialog.js +62 -0
- package/dist/availability/components/availability-dialogs.d.ts +7 -0
- package/dist/availability/components/availability-dialogs.d.ts.map +1 -0
- package/dist/availability/components/availability-dialogs.js +6 -0
- package/dist/availability/components/availability-overview.d.ts +54 -0
- package/dist/availability/components/availability-overview.d.ts.map +1 -0
- package/dist/availability/components/availability-overview.js +50 -0
- package/dist/availability/components/availability-page.d.ts +32 -0
- package/dist/availability/components/availability-page.d.ts.map +1 -0
- package/dist/availability/components/availability-page.js +128 -0
- package/dist/availability/components/availability-rule-detail-page.d.ts +251 -0
- package/dist/availability/components/availability-rule-detail-page.d.ts.map +1 -0
- package/dist/availability/components/availability-rule-detail-page.js +74 -0
- package/dist/availability/components/availability-section-header.d.ts +8 -0
- package/dist/availability/components/availability-section-header.d.ts.map +1 -0
- package/dist/availability/components/availability-section-header.js +7 -0
- package/dist/availability/components/availability-skeletons.d.ts +6 -0
- package/dist/availability/components/availability-skeletons.d.ts.map +1 -0
- package/dist/availability/components/availability-skeletons.js +34 -0
- package/dist/availability/components/availability-slot-detail-activity.d.ts +30 -0
- package/dist/availability/components/availability-slot-detail-activity.d.ts.map +1 -0
- package/dist/availability/components/availability-slot-detail-activity.js +82 -0
- package/dist/availability/components/availability-slot-detail-financials.d.ts +27 -0
- package/dist/availability/components/availability-slot-detail-financials.d.ts.map +1 -0
- package/dist/availability/components/availability-slot-detail-financials.js +92 -0
- package/dist/availability/components/availability-slot-detail-meta.d.ts +38 -0
- package/dist/availability/components/availability-slot-detail-meta.d.ts.map +1 -0
- package/dist/availability/components/availability-slot-detail-meta.js +68 -0
- package/dist/availability/components/availability-slot-detail-page.d.ts +963 -0
- package/dist/availability/components/availability-slot-detail-page.d.ts.map +1 -0
- package/dist/availability/components/availability-slot-detail-page.js +159 -0
- package/dist/availability/components/availability-start-time-detail-page.d.ts +246 -0
- package/dist/availability/components/availability-start-time-detail-page.d.ts.map +1 -0
- package/dist/availability/components/availability-start-time-detail-page.js +83 -0
- package/dist/availability/components/availability-tabs/other-tabs.d.ts +58 -0
- package/dist/availability/components/availability-tabs/other-tabs.d.ts.map +1 -0
- package/dist/availability/components/availability-tabs/other-tabs.js +127 -0
- package/dist/availability/components/availability-tabs/shared.d.ts +80 -0
- package/dist/availability/components/availability-tabs/shared.d.ts.map +1 -0
- package/dist/availability/components/availability-tabs/shared.js +6 -0
- package/dist/availability/components/availability-tabs/slots-tab.d.ts +23 -0
- package/dist/availability/components/availability-tabs/slots-tab.d.ts.map +1 -0
- package/dist/availability/components/availability-tabs/slots-tab.js +69 -0
- package/dist/availability/components/availability-tabs.d.ts +4 -0
- package/dist/availability/components/availability-tabs.d.ts.map +1 -0
- package/dist/availability/components/availability-tabs.js +3 -0
- package/dist/availability/components/slot-status-tone.d.ts +15 -0
- package/dist/availability/components/slot-status-tone.d.ts.map +1 -0
- package/dist/availability/components/slot-status-tone.js +18 -0
- package/dist/availability/constants.d.ts +26 -0
- package/dist/availability/constants.d.ts.map +1 -0
- package/dist/availability/constants.js +23 -0
- package/dist/availability/form-resolver.d.ts +4 -0
- package/dist/availability/form-resolver.d.ts.map +1 -0
- package/dist/availability/form-resolver.js +40 -0
- package/dist/availability/hooks/index.d.ts +25 -0
- package/dist/availability/hooks/index.d.ts.map +1 -0
- package/dist/availability/hooks/index.js +15 -0
- package/dist/availability/hooks/use-availability-batch-mutations.d.ts +193 -0
- package/dist/availability/hooks/use-availability-batch-mutations.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-batch-mutations.js +53 -0
- package/dist/availability/hooks/use-availability-closeout-mutation.d.ts +34 -0
- package/dist/availability/hooks/use-availability-closeout-mutation.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-closeout-mutation.js +38 -0
- package/dist/availability/hooks/use-availability-overview.d.ts +46 -0
- package/dist/availability/hooks/use-availability-overview.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-overview.js +9 -0
- package/dist/availability/hooks/use-availability-pickup-point-mutation.d.ts +35 -0
- package/dist/availability/hooks/use-availability-pickup-point-mutation.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-pickup-point-mutation.js +38 -0
- package/dist/availability/hooks/use-availability-rule-mutation.d.ts +52 -0
- package/dist/availability/hooks/use-availability-rule-mutation.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-rule-mutation.js +41 -0
- package/dist/availability/hooks/use-availability-slot-mutation.d.ts +77 -0
- package/dist/availability/hooks/use-availability-slot-mutation.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-slot-mutation.js +41 -0
- package/dist/availability/hooks/use-availability-start-time-mutation.d.ts +43 -0
- package/dist/availability/hooks/use-availability-start-time-mutation.d.ts.map +1 -0
- package/dist/availability/hooks/use-availability-start-time-mutation.js +41 -0
- package/dist/availability/hooks/use-closeouts.d.ts +19 -0
- package/dist/availability/hooks/use-closeouts.d.ts.map +1 -0
- package/dist/availability/hooks/use-closeouts.js +9 -0
- package/dist/availability/hooks/use-pickup-points.d.ts +19 -0
- package/dist/availability/hooks/use-pickup-points.d.ts.map +1 -0
- package/dist/availability/hooks/use-pickup-points.js +9 -0
- package/dist/availability/hooks/use-products.d.ts +20 -0
- package/dist/availability/hooks/use-products.d.ts.map +1 -0
- package/dist/availability/hooks/use-products.js +9 -0
- package/dist/availability/hooks/use-rules.d.ts +25 -0
- package/dist/availability/hooks/use-rules.d.ts.map +1 -0
- package/dist/availability/hooks/use-rules.js +9 -0
- package/dist/availability/hooks/use-slot-allocation.d.ts +306 -0
- package/dist/availability/hooks/use-slot-allocation.d.ts.map +1 -0
- package/dist/availability/hooks/use-slot-allocation.js +211 -0
- package/dist/availability/hooks/use-slot-unit-availability.d.ts +25 -0
- package/dist/availability/hooks/use-slot-unit-availability.d.ts.map +1 -0
- package/dist/availability/hooks/use-slot-unit-availability.js +21 -0
- package/dist/availability/hooks/use-slots.d.ts +32 -0
- package/dist/availability/hooks/use-slots.d.ts.map +1 -0
- package/dist/availability/hooks/use-slots.js +9 -0
- package/dist/availability/hooks/use-start-times.d.ts +22 -0
- package/dist/availability/hooks/use-start-times.d.ts.map +1 -0
- package/dist/availability/hooks/use-start-times.js +9 -0
- package/dist/availability/i18n/index.d.ts +2 -0
- package/dist/availability/i18n/index.d.ts.map +1 -0
- package/dist/availability/i18n/index.js +1 -0
- package/dist/availability/i18n/provider.d.ts +2003 -0
- package/dist/availability/i18n/provider.d.ts.map +1 -0
- package/dist/availability/i18n/provider.js +102 -0
- package/dist/availability/index.d.ts +10 -0
- package/dist/availability/index.d.ts.map +1 -0
- package/dist/availability/index.js +9 -0
- package/dist/availability/provider.d.ts +2 -0
- package/dist/availability/provider.d.ts.map +1 -0
- package/dist/availability/provider.js +1 -0
- package/dist/availability/query-keys.d.ts +69 -0
- package/dist/availability/query-keys.d.ts.map +1 -0
- package/dist/availability/query-keys.js +29 -0
- package/dist/availability/query-options.d.ts +1549 -0
- package/dist/availability/query-options.d.ts.map +1 -0
- package/dist/availability/query-options.js +258 -0
- package/dist/availability/schemas.d.ts +974 -0
- package/dist/availability/schemas.d.ts.map +1 -0
- package/dist/availability/schemas.js +329 -0
- package/dist/availability/ui.d.ts +14 -0
- package/dist/availability/ui.d.ts.map +1 -0
- package/dist/availability/ui.js +13 -0
- package/dist/availability/utils.d.ts +10 -0
- package/dist/availability/utils.d.ts.map +1 -0
- package/dist/availability/utils.js +32 -0
- package/dist/ground/client.d.ts +14 -0
- package/dist/ground/client.d.ts.map +1 -0
- package/dist/ground/client.js +58 -0
- package/dist/ground/hooks/index.d.ts +7 -0
- package/dist/ground/hooks/index.d.ts.map +1 -0
- package/dist/ground/hooks/index.js +6 -0
- package/dist/ground/hooks/use-ground-driver-mutation.d.ts +48 -0
- package/dist/ground/hooks/use-ground-driver-mutation.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-driver-mutation.js +40 -0
- package/dist/ground/hooks/use-ground-drivers.d.ts +23 -0
- package/dist/ground/hooks/use-ground-drivers.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-drivers.js +12 -0
- package/dist/ground/hooks/use-ground-operator-mutation.d.ts +42 -0
- package/dist/ground/hooks/use-ground-operator-mutation.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-operator-mutation.js +40 -0
- package/dist/ground/hooks/use-ground-operators.d.ts +21 -0
- package/dist/ground/hooks/use-ground-operators.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-operators.js +12 -0
- package/dist/ground/hooks/use-ground-vehicle-mutation.d.ts +60 -0
- package/dist/ground/hooks/use-ground-vehicle-mutation.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-vehicle-mutation.js +40 -0
- package/dist/ground/hooks/use-ground-vehicles.d.ts +27 -0
- package/dist/ground/hooks/use-ground-vehicles.d.ts.map +1 -0
- package/dist/ground/hooks/use-ground-vehicles.js +12 -0
- package/dist/ground/index.d.ts +7 -0
- package/dist/ground/index.d.ts.map +1 -0
- package/dist/ground/index.js +6 -0
- package/dist/ground/provider.d.ts +2 -0
- package/dist/ground/provider.d.ts.map +1 -0
- package/dist/ground/provider.js +1 -0
- package/dist/ground/query-keys.d.ts +35 -0
- package/dist/ground/query-keys.d.ts.map +1 -0
- package/dist/ground/query-keys.js +12 -0
- package/dist/ground/query-options.d.ts +417 -0
- package/dist/ground/query-options.d.ts.map +1 -0
- package/dist/ground/query-options.js +63 -0
- package/dist/ground/schemas.d.ts +212 -0
- package/dist/ground/schemas.d.ts.map +1 -0
- package/dist/ground/schemas.js +45 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/places/client.d.ts +14 -0
- package/dist/places/client.d.ts.map +1 -0
- package/dist/places/client.js +58 -0
- package/dist/places/components/facility-badge.d.ts +13 -0
- package/dist/places/components/facility-badge.d.ts.map +1 -0
- package/dist/places/components/facility-badge.js +22 -0
- package/dist/places/components/facility-combobox.d.ts +16 -0
- package/dist/places/components/facility-combobox.d.ts.map +1 -0
- package/dist/places/components/facility-combobox.js +61 -0
- package/dist/places/components/place-badge.d.ts +2 -0
- package/dist/places/components/place-badge.d.ts.map +1 -0
- package/dist/places/components/place-badge.js +1 -0
- package/dist/places/components/place-combobox.d.ts +2 -0
- package/dist/places/components/place-combobox.d.ts.map +1 -0
- package/dist/places/components/place-combobox.js +1 -0
- package/dist/places/hooks/index.d.ts +23 -0
- package/dist/places/hooks/index.d.ts.map +1 -0
- package/dist/places/hooks/index.js +22 -0
- package/dist/places/hooks/use-facilities.d.ts +31 -0
- package/dist/places/hooks/use-facilities.d.ts.map +1 -0
- package/dist/places/hooks/use-facilities.js +12 -0
- package/dist/places/hooks/use-facility-feature-mutation.d.ts +37 -0
- package/dist/places/hooks/use-facility-feature-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-facility-feature-mutation.js +38 -0
- package/dist/places/hooks/use-facility-features.d.ts +21 -0
- package/dist/places/hooks/use-facility-features.d.ts.map +1 -0
- package/dist/places/hooks/use-facility-features.js +12 -0
- package/dist/places/hooks/use-facility-mutation.d.ts +74 -0
- package/dist/places/hooks/use-facility-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-facility-mutation.js +45 -0
- package/dist/places/hooks/use-facility-operation-schedule-mutation.d.ts +37 -0
- package/dist/places/hooks/use-facility-operation-schedule-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-facility-operation-schedule-mutation.js +44 -0
- package/dist/places/hooks/use-facility-operation-schedules.d.ts +21 -0
- package/dist/places/hooks/use-facility-operation-schedules.d.ts.map +1 -0
- package/dist/places/hooks/use-facility-operation-schedules.js +12 -0
- package/dist/places/hooks/use-facility.d.ts +25 -0
- package/dist/places/hooks/use-facility.d.ts.map +1 -0
- package/dist/places/hooks/use-facility.js +12 -0
- package/dist/places/hooks/use-properties.d.ts +23 -0
- package/dist/places/hooks/use-properties.d.ts.map +1 -0
- package/dist/places/hooks/use-properties.js +12 -0
- package/dist/places/hooks/use-property-group-member-mutation.d.ts +41 -0
- package/dist/places/hooks/use-property-group-member-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-property-group-member-mutation.js +38 -0
- package/dist/places/hooks/use-property-group-members.d.ts +20 -0
- package/dist/places/hooks/use-property-group-members.d.ts.map +1 -0
- package/dist/places/hooks/use-property-group-members.js +12 -0
- package/dist/places/hooks/use-property-group-mutation.d.ts +50 -0
- package/dist/places/hooks/use-property-group-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-property-group-mutation.js +39 -0
- package/dist/places/hooks/use-property-group.d.ts +17 -0
- package/dist/places/hooks/use-property-group.d.ts.map +1 -0
- package/dist/places/hooks/use-property-group.js +12 -0
- package/dist/places/hooks/use-property-groups.d.ts +23 -0
- package/dist/places/hooks/use-property-groups.d.ts.map +1 -0
- package/dist/places/hooks/use-property-groups.js +12 -0
- package/dist/places/hooks/use-property-mutation.d.ts +50 -0
- package/dist/places/hooks/use-property-mutation.d.ts.map +1 -0
- package/dist/places/hooks/use-property-mutation.js +40 -0
- package/dist/places/hooks/use-property.d.ts +17 -0
- package/dist/places/hooks/use-property.d.ts.map +1 -0
- package/dist/places/hooks/use-property.js +12 -0
- package/dist/places/i18n/en.d.ts +14 -0
- package/dist/places/i18n/en.d.ts.map +1 -0
- package/dist/places/i18n/en.js +13 -0
- package/dist/places/i18n/index.d.ts +5 -0
- package/dist/places/i18n/index.d.ts.map +1 -0
- package/dist/places/i18n/index.js +3 -0
- package/dist/places/i18n/messages.d.ts +15 -0
- package/dist/places/i18n/messages.d.ts.map +1 -0
- package/dist/places/i18n/messages.js +1 -0
- package/dist/places/i18n/provider.d.ts +50 -0
- package/dist/places/i18n/provider.d.ts.map +1 -0
- package/dist/places/i18n/provider.js +44 -0
- package/dist/places/i18n/ro.d.ts +14 -0
- package/dist/places/i18n/ro.d.ts.map +1 -0
- package/dist/places/i18n/ro.js +13 -0
- package/dist/places/index.d.ts +7 -0
- package/dist/places/index.d.ts.map +1 -0
- package/dist/places/index.js +6 -0
- package/dist/places/provider.d.ts +2 -0
- package/dist/places/provider.d.ts.map +1 -0
- package/dist/places/provider.js +1 -0
- package/dist/places/query-keys.d.ts +92 -0
- package/dist/places/query-keys.d.ts.map +1 -0
- package/dist/places/query-keys.js +22 -0
- package/dist/places/query-options.d.ts +814 -0
- package/dist/places/query-options.d.ts.map +1 -0
- package/dist/places/query-options.js +132 -0
- package/dist/places/schemas.d.ts +464 -0
- package/dist/places/schemas.d.ts.map +1 -0
- package/dist/places/schemas.js +84 -0
- package/dist/places/ui.d.ts +4 -0
- package/dist/places/ui.d.ts.map +1 -0
- package/dist/places/ui.js +3 -0
- package/dist/resources/admin/detail-hosts.d.ts +30 -0
- package/dist/resources/admin/detail-hosts.d.ts.map +1 -0
- package/dist/resources/admin/detail-hosts.js +50 -0
- package/dist/resources/admin/index.d.ts +89 -0
- package/dist/resources/admin/index.d.ts.map +1 -0
- package/dist/resources/admin/index.js +148 -0
- package/dist/resources/admin/pages/resource-allocation-detail-page.d.ts +9 -0
- package/dist/resources/admin/pages/resource-allocation-detail-page.d.ts.map +1 -0
- package/dist/resources/admin/pages/resource-allocation-detail-page.js +11 -0
- package/dist/resources/admin/pages/resource-assignment-detail-page.d.ts +9 -0
- package/dist/resources/admin/pages/resource-assignment-detail-page.d.ts.map +1 -0
- package/dist/resources/admin/pages/resource-assignment-detail-page.js +11 -0
- package/dist/resources/admin/pages/resource-detail-page.d.ts +9 -0
- package/dist/resources/admin/pages/resource-detail-page.d.ts.map +1 -0
- package/dist/resources/admin/pages/resource-detail-page.js +11 -0
- package/dist/resources/admin/pages/resource-pool-detail-page.d.ts +9 -0
- package/dist/resources/admin/pages/resource-pool-detail-page.d.ts.map +1 -0
- package/dist/resources/admin/pages/resource-pool-detail-page.js +11 -0
- package/dist/resources/admin/resources-admin-api.d.ts +22 -0
- package/dist/resources/admin/resources-admin-api.d.ts.map +1 -0
- package/dist/resources/admin/resources-admin-api.js +28 -0
- package/dist/resources/admin/resources-dialog-allocation.d.ts +12 -0
- package/dist/resources/admin/resources-dialog-allocation.d.ts.map +1 -0
- package/dist/resources/admin/resources-dialog-allocation.js +77 -0
- package/dist/resources/admin/resources-dialogs-core.d.ts +16 -0
- package/dist/resources/admin/resources-dialogs-core.d.ts.map +1 -0
- package/dist/resources/admin/resources-dialogs-core.js +133 -0
- package/dist/resources/admin/resources-dialogs-ops.d.ts +19 -0
- package/dist/resources/admin/resources-dialogs-ops.d.ts.map +1 -0
- package/dist/resources/admin/resources-dialogs-ops.js +137 -0
- package/dist/resources/admin/resources-dialogs.d.ts +28 -0
- package/dist/resources/admin/resources-dialogs.d.ts.map +1 -0
- package/dist/resources/admin/resources-dialogs.js +23 -0
- package/dist/resources/admin/resources-host.d.ts +11 -0
- package/dist/resources/admin/resources-host.d.ts.map +1 -0
- package/dist/resources/admin/resources-host.js +159 -0
- package/dist/resources/admin/resources-page-data.d.ts +61 -0
- package/dist/resources/admin/resources-page-data.d.ts.map +1 -0
- package/dist/resources/admin/resources-page-data.js +39 -0
- package/dist/resources/admin/resources-page-skeleton.d.ts +5 -0
- package/dist/resources/admin/resources-page-skeleton.d.ts.map +1 -0
- package/dist/resources/admin/resources-page-skeleton.js +22 -0
- package/dist/resources/client.d.ts +14 -0
- package/dist/resources/client.d.ts.map +1 -0
- package/dist/resources/client.js +59 -0
- package/dist/resources/components/resource-allocation-detail-page.d.ts +16 -0
- package/dist/resources/components/resource-allocation-detail-page.d.ts.map +1 -0
- package/dist/resources/components/resource-allocation-detail-page.js +48 -0
- package/dist/resources/components/resource-assignment-detail-page.d.ts +16 -0
- package/dist/resources/components/resource-assignment-detail-page.d.ts.map +1 -0
- package/dist/resources/components/resource-assignment-detail-page.js +50 -0
- package/dist/resources/components/resource-detail-data.d.ts +34 -0
- package/dist/resources/components/resource-detail-data.d.ts.map +1 -0
- package/dist/resources/components/resource-detail-data.js +90 -0
- package/dist/resources/components/resource-detail-page.d.ts +24 -0
- package/dist/resources/components/resource-detail-page.d.ts.map +1 -0
- package/dist/resources/components/resource-detail-page.js +80 -0
- package/dist/resources/components/resource-detail-shared.d.ts +37 -0
- package/dist/resources/components/resource-detail-shared.d.ts.map +1 -0
- package/dist/resources/components/resource-detail-shared.js +51 -0
- package/dist/resources/components/resource-detail-skeletons.d.ts +14 -0
- package/dist/resources/components/resource-detail-skeletons.d.ts.map +1 -0
- package/dist/resources/components/resource-detail-skeletons.js +24 -0
- package/dist/resources/components/resource-pool-detail-page.d.ts +22 -0
- package/dist/resources/components/resource-pool-detail-page.d.ts.map +1 -0
- package/dist/resources/components/resource-pool-detail-page.js +68 -0
- package/dist/resources/components/resources-overview.d.ts +28 -0
- package/dist/resources/components/resources-overview.d.ts.map +1 -0
- package/dist/resources/components/resources-overview.js +32 -0
- package/dist/resources/components/resources-page-filters.d.ts +22 -0
- package/dist/resources/components/resources-page-filters.d.ts.map +1 -0
- package/dist/resources/components/resources-page-filters.js +40 -0
- package/dist/resources/components/resources-page.d.ts +77 -0
- package/dist/resources/components/resources-page.d.ts.map +1 -0
- package/dist/resources/components/resources-page.js +140 -0
- package/dist/resources/components/resources-section-header.d.ts +7 -0
- package/dist/resources/components/resources-section-header.d.ts.map +1 -0
- package/dist/resources/components/resources-section-header.js +6 -0
- package/dist/resources/components/resources-tabs-primary.d.ts +58 -0
- package/dist/resources/components/resources-tabs-primary.d.ts.map +1 -0
- package/dist/resources/components/resources-tabs-primary.js +201 -0
- package/dist/resources/components/resources-tabs-secondary.d.ts +46 -0
- package/dist/resources/components/resources-tabs-secondary.d.ts.map +1 -0
- package/dist/resources/components/resources-tabs-secondary.js +143 -0
- package/dist/resources/constants.d.ts +44 -0
- package/dist/resources/constants.d.ts.map +1 -0
- package/dist/resources/constants.js +20 -0
- package/dist/resources/hooks/index.d.ts +31 -0
- package/dist/resources/hooks/index.d.ts.map +1 -0
- package/dist/resources/hooks/index.js +15 -0
- package/dist/resources/hooks/use-allocation.d.ts +16 -0
- package/dist/resources/hooks/use-allocation.d.ts.map +1 -0
- package/dist/resources/hooks/use-allocation.js +12 -0
- package/dist/resources/hooks/use-allocations.d.ts +20 -0
- package/dist/resources/hooks/use-allocations.d.ts.map +1 -0
- package/dist/resources/hooks/use-allocations.js +12 -0
- package/dist/resources/hooks/use-assignment.d.ts +17 -0
- package/dist/resources/hooks/use-assignment.d.ts.map +1 -0
- package/dist/resources/hooks/use-assignment.js +12 -0
- package/dist/resources/hooks/use-assignments.d.ts +21 -0
- package/dist/resources/hooks/use-assignments.d.ts.map +1 -0
- package/dist/resources/hooks/use-assignments.js +12 -0
- package/dist/resources/hooks/use-bookings.d.ts +14 -0
- package/dist/resources/hooks/use-bookings.d.ts.map +1 -0
- package/dist/resources/hooks/use-bookings.js +12 -0
- package/dist/resources/hooks/use-closeouts.d.ts +19 -0
- package/dist/resources/hooks/use-closeouts.d.ts.map +1 -0
- package/dist/resources/hooks/use-closeouts.js +12 -0
- package/dist/resources/hooks/use-pool.d.ts +15 -0
- package/dist/resources/hooks/use-pool.d.ts.map +1 -0
- package/dist/resources/hooks/use-pool.js +12 -0
- package/dist/resources/hooks/use-pools.d.ts +19 -0
- package/dist/resources/hooks/use-pools.d.ts.map +1 -0
- package/dist/resources/hooks/use-pools.js +12 -0
- package/dist/resources/hooks/use-products.d.ts +14 -0
- package/dist/resources/hooks/use-products.d.ts.map +1 -0
- package/dist/resources/hooks/use-products.js +12 -0
- package/dist/resources/hooks/use-resource.d.ts +16 -0
- package/dist/resources/hooks/use-resource.d.ts.map +1 -0
- package/dist/resources/hooks/use-resource.js +12 -0
- package/dist/resources/hooks/use-resources.d.ts +20 -0
- package/dist/resources/hooks/use-resources.d.ts.map +1 -0
- package/dist/resources/hooks/use-resources.js +12 -0
- package/dist/resources/hooks/use-rules.d.ts +15 -0
- package/dist/resources/hooks/use-rules.d.ts.map +1 -0
- package/dist/resources/hooks/use-rules.js +12 -0
- package/dist/resources/hooks/use-slots.d.ts +16 -0
- package/dist/resources/hooks/use-slots.d.ts.map +1 -0
- package/dist/resources/hooks/use-slots.js +12 -0
- package/dist/resources/hooks/use-start-times.d.ts +16 -0
- package/dist/resources/hooks/use-start-times.d.ts.map +1 -0
- package/dist/resources/hooks/use-start-times.js +12 -0
- package/dist/resources/hooks/use-suppliers.d.ts +14 -0
- package/dist/resources/hooks/use-suppliers.d.ts.map +1 -0
- package/dist/resources/hooks/use-suppliers.js +12 -0
- package/dist/resources/i18n/en.d.ts +3 -0
- package/dist/resources/i18n/en.d.ts.map +1 -0
- package/dist/resources/i18n/en.js +363 -0
- package/dist/resources/i18n/index.d.ts +5 -0
- package/dist/resources/i18n/index.d.ts.map +1 -0
- package/dist/resources/i18n/index.js +3 -0
- package/dist/resources/i18n/messages.d.ts +298 -0
- package/dist/resources/i18n/messages.d.ts.map +1 -0
- package/dist/resources/i18n/messages.js +1 -0
- package/dist/resources/i18n/provider.d.ts +26 -0
- package/dist/resources/i18n/provider.d.ts.map +1 -0
- package/dist/resources/i18n/provider.js +44 -0
- package/dist/resources/i18n/ro.d.ts +3 -0
- package/dist/resources/i18n/ro.d.ts.map +1 -0
- package/dist/resources/i18n/ro.js +363 -0
- package/dist/resources/i18n/utils.d.ts +18 -0
- package/dist/resources/i18n/utils.d.ts.map +1 -0
- package/dist/resources/i18n/utils.js +30 -0
- package/dist/resources/index.d.ts +9 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +8 -0
- package/dist/resources/provider.d.ts +2 -0
- package/dist/resources/provider.d.ts.map +1 -0
- package/dist/resources/provider.js +1 -0
- package/dist/resources/query-keys.d.ts +73 -0
- package/dist/resources/query-keys.d.ts.map +1 -0
- package/dist/resources/query-keys.js +29 -0
- package/dist/resources/query-options.d.ts +801 -0
- package/dist/resources/query-options.d.ts.map +1 -0
- package/dist/resources/query-options.js +237 -0
- package/dist/resources/schemas.d.ts +452 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +126 -0
- package/dist/resources/ui.d.ts +13 -0
- package/dist/resources/ui.d.ts.map +1 -0
- package/dist/resources/ui.js +12 -0
- package/dist/resources/utils.d.ts +14 -0
- package/dist/resources/utils.d.ts.map +1 -0
- package/dist/resources/utils.js +33 -0
- package/package.json +325 -0
- package/src/availability/styles.css +12 -0
- package/src/places/styles.css +11 -0
- package/src/resources/styles.css +11 -0
- package/src/styles.css +3 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type ResourceAllocationRow, type ResourceCloseoutRow, type ResourcePoolRow, type ResourceRow, type ResourceSlotAssignmentRow, type UseAllocationsOptions, type UseAssignmentsOptions, type UseBookingsOptions, type UseCloseoutsOptions, type UsePoolsOptions, type UseProductsOptions, type UseResourcesOptions, type UseRulesOptions, type UseSlotsOptions, type UseStartTimesOptions, type UseSuppliersOptions } from "../index.js";
|
|
3
|
+
export type ResourcesPageTab = "resources" | "pools" | "allocations" | "assignments" | "closeouts";
|
|
4
|
+
export type ResourcesPageActiveFilter = "all" | "active" | "inactive";
|
|
5
|
+
export type ResourcesPageBulkUpdateArgs = {
|
|
6
|
+
ids: string[];
|
|
7
|
+
endpoint: string;
|
|
8
|
+
target: string;
|
|
9
|
+
nounSingular: string;
|
|
10
|
+
nounPlural: string;
|
|
11
|
+
payload: Record<string, unknown>;
|
|
12
|
+
successVerb: string;
|
|
13
|
+
clearSelection: () => void;
|
|
14
|
+
};
|
|
15
|
+
export type ResourcesPageBulkDeleteArgs = {
|
|
16
|
+
ids: string[];
|
|
17
|
+
endpoint: string;
|
|
18
|
+
target: string;
|
|
19
|
+
nounSingular: string;
|
|
20
|
+
nounPlural: string;
|
|
21
|
+
clearSelection: () => void;
|
|
22
|
+
};
|
|
23
|
+
export type ResourcesPageBulkUpdateHandler = (args: ResourcesPageBulkUpdateArgs) => Promise<void>;
|
|
24
|
+
export type ResourcesPageBulkDeleteHandler = (args: ResourcesPageBulkDeleteArgs) => Promise<void>;
|
|
25
|
+
export interface ResourcesPageSlots {
|
|
26
|
+
headerEnd?: ReactNode;
|
|
27
|
+
beforeTabs?: ReactNode;
|
|
28
|
+
afterOverview?: ReactNode;
|
|
29
|
+
afterTabs?: ReactNode;
|
|
30
|
+
dialogs?: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Per-list query options the page's data hooks run with. Hosts that SSR
|
|
34
|
+
* prefetch (route loaders) pass the same filters here so the loader-seeded
|
|
35
|
+
* cache entries and the page's hooks share query keys.
|
|
36
|
+
*/
|
|
37
|
+
export interface ResourcesPageQueryFilters {
|
|
38
|
+
suppliers?: UseSuppliersOptions;
|
|
39
|
+
products?: UseProductsOptions;
|
|
40
|
+
bookings?: UseBookingsOptions;
|
|
41
|
+
slots?: UseSlotsOptions;
|
|
42
|
+
rules?: UseRulesOptions;
|
|
43
|
+
startTimes?: UseStartTimesOptions;
|
|
44
|
+
resources?: UseResourcesOptions;
|
|
45
|
+
pools?: UsePoolsOptions;
|
|
46
|
+
allocations?: UseAllocationsOptions;
|
|
47
|
+
assignments?: UseAssignmentsOptions;
|
|
48
|
+
closeouts?: UseCloseoutsOptions;
|
|
49
|
+
}
|
|
50
|
+
export interface ResourcesPageProps {
|
|
51
|
+
className?: string;
|
|
52
|
+
defaultTab?: ResourcesPageTab;
|
|
53
|
+
bulkActionTarget?: string | null;
|
|
54
|
+
onBulkUpdate: ResourcesPageBulkUpdateHandler;
|
|
55
|
+
onBulkDelete: ResourcesPageBulkDeleteHandler;
|
|
56
|
+
onResourceCreate?: () => void;
|
|
57
|
+
onResourceOpen?: (resourceId: string) => void;
|
|
58
|
+
onResourceEdit?: (resource: ResourceRow) => void;
|
|
59
|
+
onPoolCreate?: () => void;
|
|
60
|
+
onPoolOpen?: (poolId: string) => void;
|
|
61
|
+
onPoolEdit?: (pool: ResourcePoolRow) => void;
|
|
62
|
+
onAllocationCreate?: () => void;
|
|
63
|
+
onAllocationOpen?: (allocationId: string) => void;
|
|
64
|
+
onAllocationEdit?: (allocation: ResourceAllocationRow) => void;
|
|
65
|
+
onAssignmentCreate?: () => void;
|
|
66
|
+
onAssignmentOpen?: (assignmentId: string) => void;
|
|
67
|
+
onAssignmentEdit?: (assignment: ResourceSlotAssignmentRow) => void;
|
|
68
|
+
onCloseoutCreate?: () => void;
|
|
69
|
+
onCloseoutEdit?: (closeout: ResourceCloseoutRow) => void;
|
|
70
|
+
slots?: ResourcesPageSlots;
|
|
71
|
+
/** Options forwarded to the page's list hooks (e.g. to match SSR-prefetched query keys). */
|
|
72
|
+
queryFilters?: ResourcesPageQueryFilters;
|
|
73
|
+
/** Rendered instead of the default loading hint while the list queries resolve. */
|
|
74
|
+
loadingFallback?: ReactNode;
|
|
75
|
+
}
|
|
76
|
+
export declare function ResourcesPage({ className, defaultTab, bulkActionTarget, onBulkUpdate, onBulkDelete, onResourceCreate, onResourceOpen, onResourceEdit, onPoolCreate, onPoolOpen, onPoolEdit, onAllocationCreate, onAllocationOpen, onAllocationEdit, onAssignmentCreate, onAssignmentOpen, onAssignmentEdit, onCloseoutCreate, onCloseoutEdit, slots, queryFilters, loadingFallback, }: ResourcesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
//# sourceMappingURL=resources-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-page.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAE9B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAYzB,MAAM,aAAa,CAAA;AAMpB,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAA;AAElG,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AAErE,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjG,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjG,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,EAAE,8BAA8B,CAAA;IAC5C,YAAY,EAAE,8BAA8B,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAA;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IAC5C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAC9D,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,yBAAyB,KAAK,IAAI,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,4FAA4F;IAC5F,YAAY,CAAC,EAAE,yBAAyB,CAAA;IACxC,mFAAmF;IACnF,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAMD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,UAAwB,EACxB,gBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,gBAAuB,EACvB,cAAuB,EACvB,cAAwB,EACxB,YAAmB,EACnB,UAAmB,EACnB,UAAoB,EACpB,kBAAyB,EACzB,gBAAyB,EACzB,gBAA0B,EAC1B,kBAAyB,EACzB,gBAAyB,EACzB,gBAA0B,EAC1B,gBAAuB,EACvB,cAAwB,EACxB,KAAK,EACL,YAAY,EACZ,eAAe,GAChB,EAAE,kBAAkB,2CAwXpB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Badge, Button, cn, Input, Label } from "@voyant-travel/ui/components";
|
|
4
|
+
import { Popover, PopoverContent, PopoverTrigger } from "@voyant-travel/ui/components/popover";
|
|
5
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, } from "@voyant-travel/ui/components/select";
|
|
6
|
+
import { Tabs, TabsList, TabsTrigger } from "@voyant-travel/ui/components/tabs";
|
|
7
|
+
import { ListFilter, Search, X } from "lucide-react";
|
|
8
|
+
import { useMemo, useState } from "react";
|
|
9
|
+
import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
|
|
10
|
+
import { formatResourceSlotLabel, RESOURCE_KIND_VALUES } from "../i18n/utils.js";
|
|
11
|
+
import { labelById, useAllocations, useAssignments, useBookings, useCloseouts, usePools, useProducts, useResources, useRules, useSlots, useStartTimes, useSuppliers, } from "../index.js";
|
|
12
|
+
import { ResourcesOverview } from "./resources-overview.js";
|
|
13
|
+
import { ResourcesFilterPopover } from "./resources-page-filters.js";
|
|
14
|
+
import { AllocationsTab, PoolsTab, ResourcesTab } from "./resources-tabs-primary.js";
|
|
15
|
+
import { AssignmentsTab, CloseoutsTab } from "./resources-tabs-secondary.js";
|
|
16
|
+
const noop = () => undefined;
|
|
17
|
+
const noopId = (_id) => undefined;
|
|
18
|
+
const noopRow = (_row) => undefined;
|
|
19
|
+
export function ResourcesPage({ className, defaultTab = "resources", bulkActionTarget = null, onBulkUpdate, onBulkDelete, onResourceCreate = noop, onResourceOpen = noopId, onResourceEdit = noopRow, onPoolCreate = noop, onPoolOpen = noopId, onPoolEdit = noopRow, onAllocationCreate = noop, onAllocationOpen = noopId, onAllocationEdit = noopRow, onAssignmentCreate = noop, onAssignmentOpen = noopId, onAssignmentEdit = noopRow, onCloseoutCreate = noop, onCloseoutEdit = noopRow, slots, queryFilters, loadingFallback, }) {
|
|
20
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
21
|
+
const m = i18n.messages;
|
|
22
|
+
const page = m.resourcesPage;
|
|
23
|
+
const [search, setSearch] = useState("");
|
|
24
|
+
const [kindFilter, setKindFilter] = useState("all");
|
|
25
|
+
const [activeTab, setActiveTab] = useState(defaultTab);
|
|
26
|
+
const [filterPopoverOpen, setFilterPopoverOpen] = useState(false);
|
|
27
|
+
const [supplierFilter, setSupplierFilter] = useState(null);
|
|
28
|
+
const [selectedSupplierOption, setSelectedSupplierOption] = useState(null);
|
|
29
|
+
const [productFilter, setProductFilter] = useState(null);
|
|
30
|
+
const [selectedProductOption, setSelectedProductOption] = useState(null);
|
|
31
|
+
const [activeFilter, setActiveFilter] = useState("all");
|
|
32
|
+
const [assignmentStatusFilter, setAssignmentStatusFilter] = useState("all");
|
|
33
|
+
const [resourceSelection, setResourceSelectionState] = useState({});
|
|
34
|
+
const [poolSelection, setPoolSelectionState] = useState({});
|
|
35
|
+
const [allocationSelection, setAllocationSelectionState] = useState({});
|
|
36
|
+
const [assignmentSelection, setAssignmentSelectionState] = useState({});
|
|
37
|
+
const [closeoutSelection, setCloseoutSelectionState] = useState({});
|
|
38
|
+
const suppliersQuery = useSuppliers(queryFilters?.suppliers);
|
|
39
|
+
const productsQuery = useProducts(queryFilters?.products);
|
|
40
|
+
const bookingsQuery = useBookings(queryFilters?.bookings);
|
|
41
|
+
const slotsQuery = useSlots(queryFilters?.slots);
|
|
42
|
+
const rulesQuery = useRules(queryFilters?.rules);
|
|
43
|
+
const startTimesQuery = useStartTimes(queryFilters?.startTimes);
|
|
44
|
+
const resourcesQuery = useResources(queryFilters?.resources);
|
|
45
|
+
const poolsQuery = usePools(queryFilters?.pools);
|
|
46
|
+
const allocationsQuery = useAllocations(queryFilters?.allocations);
|
|
47
|
+
const assignmentsQuery = useAssignments(queryFilters?.assignments);
|
|
48
|
+
const closeoutsQuery = useCloseouts(queryFilters?.closeouts);
|
|
49
|
+
const suppliers = suppliersQuery.data?.data ?? [];
|
|
50
|
+
const products = productsQuery.data?.data ?? [];
|
|
51
|
+
const bookings = bookingsQuery.data?.data ?? [];
|
|
52
|
+
const slotsData = slotsQuery.data?.data ?? [];
|
|
53
|
+
const rules = rulesQuery.data?.data ?? [];
|
|
54
|
+
const startTimes = startTimesQuery.data?.data ?? [];
|
|
55
|
+
const resources = resourcesQuery.data?.data ?? [];
|
|
56
|
+
const pools = poolsQuery.data?.data ?? [];
|
|
57
|
+
const allocations = allocationsQuery.data?.data ?? [];
|
|
58
|
+
const assignments = assignmentsQuery.data?.data ?? [];
|
|
59
|
+
const closeouts = closeoutsQuery.data?.data ?? [];
|
|
60
|
+
const kindOptions = useMemo(() => RESOURCE_KIND_VALUES.map((value) => ({
|
|
61
|
+
value,
|
|
62
|
+
label: m.common.resourceKindLabels[value],
|
|
63
|
+
})), [m.common.resourceKindLabels]);
|
|
64
|
+
const normalizedSearch = search.trim().toLowerCase();
|
|
65
|
+
const matchesSearch = (...values) => !normalizedSearch ||
|
|
66
|
+
values.some((value) => String(value ?? "")
|
|
67
|
+
.toLowerCase()
|
|
68
|
+
.includes(normalizedSearch));
|
|
69
|
+
const matchesKind = (kind) => kindFilter === "all" || kind === kindFilter;
|
|
70
|
+
const matchesActive = (active) => activeFilter === "all" ||
|
|
71
|
+
(activeFilter === "active" && active) ||
|
|
72
|
+
(activeFilter === "inactive" && !active);
|
|
73
|
+
const filteredResources = resources.filter((resource) => matchesKind(resource.kind) &&
|
|
74
|
+
matchesActive(resource.active) &&
|
|
75
|
+
(!supplierFilter || resource.supplierId === supplierFilter) &&
|
|
76
|
+
matchesSearch(resource.name, resource.code, resource.kind, labelById(suppliers, resource.supplierId), resource.notes));
|
|
77
|
+
const filteredPools = pools.filter((pool) => matchesKind(pool.kind) &&
|
|
78
|
+
matchesActive(pool.active) &&
|
|
79
|
+
(!productFilter || pool.productId === productFilter) &&
|
|
80
|
+
matchesSearch(pool.name, pool.kind, labelById(products, pool.productId), pool.notes));
|
|
81
|
+
const filteredAllocations = allocations.filter((allocation) => {
|
|
82
|
+
const pool = pools.find((entry) => entry.id === allocation.poolId);
|
|
83
|
+
return ((kindFilter === "all" || pool?.kind === kindFilter) &&
|
|
84
|
+
matchesSearch(labelById(pools, allocation.poolId), labelById(products, allocation.productId), allocation.allocationMode, allocation.priority, allocation.quantityRequired, rules.find((rule) => rule.id === allocation.availabilityRuleId)?.recurrenceRule, startTimes.find((startTime) => startTime.id === allocation.startTimeId)?.label));
|
|
85
|
+
});
|
|
86
|
+
const filteredAssignments = assignments.filter((assignment) => {
|
|
87
|
+
const resource = resources.find((entry) => entry.id === assignment.resourceId);
|
|
88
|
+
return ((kindFilter === "all" || resource?.kind === kindFilter) &&
|
|
89
|
+
(assignmentStatusFilter === "all" || assignment.status === assignmentStatusFilter) &&
|
|
90
|
+
matchesSearch(assignment.status, assignment.assignedBy, assignment.notes, labelById(resources, assignment.resourceId), labelById(bookings, assignment.bookingId), formatResourceSlotLabel(slotsData.find((slot) => slot.id === assignment.slotId) ?? {
|
|
91
|
+
id: assignment.slotId,
|
|
92
|
+
productId: "",
|
|
93
|
+
dateLocal: assignment.slotId,
|
|
94
|
+
startsAt: assignment.slotId,
|
|
95
|
+
}, {
|
|
96
|
+
template: m.common.slotLabel,
|
|
97
|
+
formatDate: i18n.formatDate,
|
|
98
|
+
})));
|
|
99
|
+
});
|
|
100
|
+
const filteredCloseouts = closeouts.filter((closeout) => {
|
|
101
|
+
const resource = resources.find((entry) => entry.id === closeout.resourceId);
|
|
102
|
+
return ((kindFilter === "all" || resource?.kind === kindFilter) &&
|
|
103
|
+
matchesSearch(labelById(resources, closeout.resourceId), closeout.dateLocal, closeout.reason, closeout.createdBy));
|
|
104
|
+
});
|
|
105
|
+
const liveAssignments = filteredAssignments.filter((assignment) => assignment.status === "reserved" || assignment.status === "assigned");
|
|
106
|
+
const resourcesWithoutSupplier = filteredResources.filter((resource) => !resource.supplierId);
|
|
107
|
+
const unassignedReservations = liveAssignments.filter((assignment) => !assignment.resourceId);
|
|
108
|
+
const activeFilterCount = (kindFilter !== "all" ? 1 : 0) +
|
|
109
|
+
(activeFilter !== "all" ? 1 : 0) +
|
|
110
|
+
(supplierFilter !== null ? 1 : 0) +
|
|
111
|
+
(productFilter !== null ? 1 : 0) +
|
|
112
|
+
(assignmentStatusFilter !== "all" ? 1 : 0);
|
|
113
|
+
const hasFilters = search.length > 0 || activeFilterCount > 0;
|
|
114
|
+
const clearAllFilters = () => {
|
|
115
|
+
setSearch("");
|
|
116
|
+
setKindFilter("all");
|
|
117
|
+
setActiveFilter("all");
|
|
118
|
+
setSupplierFilter(null);
|
|
119
|
+
setSelectedSupplierOption(null);
|
|
120
|
+
setProductFilter(null);
|
|
121
|
+
setSelectedProductOption(null);
|
|
122
|
+
setAssignmentStatusFilter("all");
|
|
123
|
+
};
|
|
124
|
+
const queries = [
|
|
125
|
+
suppliersQuery,
|
|
126
|
+
productsQuery,
|
|
127
|
+
bookingsQuery,
|
|
128
|
+
slotsQuery,
|
|
129
|
+
rulesQuery,
|
|
130
|
+
startTimesQuery,
|
|
131
|
+
resourcesQuery,
|
|
132
|
+
poolsQuery,
|
|
133
|
+
allocationsQuery,
|
|
134
|
+
assignmentsQuery,
|
|
135
|
+
closeoutsQuery,
|
|
136
|
+
];
|
|
137
|
+
const isLoading = queries.some((query) => query.isPending);
|
|
138
|
+
const isError = queries.some((query) => query.isError);
|
|
139
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-6 p-6", className), children: [_jsxs("div", { className: "flex flex-col gap-3 md:flex-row md:items-start md:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: page.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: page.description })] }), slots?.headerEnd] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative min-w-[14rem] flex-1", children: [_jsx(Label, { htmlFor: "resources-search", className: "sr-only", children: page.filters.searchPlaceholder }), _jsx(Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground", "aria-hidden": "true" }), _jsx(Input, { id: "resources-search", placeholder: page.filters.searchPlaceholder, value: search, onChange: (event) => setSearch(event.target.value), className: "pl-9" })] }), _jsxs(Select, { value: kindFilter, onValueChange: (value) => setKindFilter(value ?? "all"), children: [_jsx(SelectTrigger, { className: "w-44", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectItem, { value: "all", children: m.common.allKinds }), kindOptions.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value)))] }) })] }), _jsxs(Popover, { open: filterPopoverOpen, onOpenChange: setFilterPopoverOpen, children: [_jsx(PopoverTrigger, { render: _jsxs(Button, { variant: "outline", children: [_jsx(ListFilter, { "data-icon": "inline-start", "aria-hidden": "true" }), page.filters.button, activeFilterCount > 0 ? (_jsx(Badge, { variant: "secondary", className: "ml-1 px-1.5", children: activeFilterCount })) : null] }) }), _jsx(PopoverContent, { align: "end", className: "w-[22rem] p-4", children: _jsx(ResourcesFilterPopover, { activeTab: activeTab, suppliers: suppliers, products: products, supplierFilter: supplierFilter, setSupplierFilter: setSupplierFilter, selectedSupplierOption: selectedSupplierOption, setSelectedSupplierOption: setSelectedSupplierOption, productFilter: productFilter, setProductFilter: setProductFilter, selectedProductOption: selectedProductOption, setSelectedProductOption: setSelectedProductOption, activeFilter: activeFilter, setActiveFilter: setActiveFilter, assignmentStatusFilter: assignmentStatusFilter, setAssignmentStatusFilter: setAssignmentStatusFilter }) })] }), hasFilters ? (_jsxs(Button, { variant: "ghost", size: "sm", onClick: clearAllFilters, children: [_jsx(X, { "data-icon": "inline-start", "aria-hidden": "true" }), page.filters.clear] })) : null] }), isLoading ? ((loadingFallback ?? (_jsx("div", { className: "rounded-md border p-6 text-sm text-muted-foreground", children: page.loading })))) : isError ? (_jsx("div", { className: "rounded-md border p-6 text-sm text-muted-foreground", children: page.loadFailed })) : (_jsxs(_Fragment, { children: [_jsx(ResourcesOverview, { bookings: bookings, slots: slotsData, closeouts: closeouts, filteredResources: filteredResources, filteredPools: filteredPools, liveAssignments: liveAssignments, resourcesWithoutSupplier: resourcesWithoutSupplier, unassignedReservations: unassignedReservations, search: search, setSearch: setSearch, kindFilter: kindFilter, setKindFilter: setKindFilter, hasFilters: hasFilters, onClearFilters: clearAllFilters, onOpenAssignment: onAssignmentOpen, onOpenResource: onResourceOpen, showFilters: false }), slots?.afterOverview, slots?.beforeTabs, _jsxs(Tabs, { value: activeTab, onValueChange: (value) => setActiveTab((value ?? "resources")), children: [_jsxs(TabsList, { className: "flex w-full justify-start overflow-x-auto", children: [_jsx(TabsTrigger, { value: "resources", children: page.tabs.resources }), _jsx(TabsTrigger, { value: "pools", children: page.tabs.pools }), _jsx(TabsTrigger, { value: "allocations", children: page.tabs.allocations }), _jsx(TabsTrigger, { value: "assignments", children: page.tabs.assignments }), _jsx(TabsTrigger, { value: "closeouts", children: page.tabs.closeouts })] }), _jsx(ResourcesTab, { suppliers: suppliers, filteredResources: filteredResources, resourceSelection: resourceSelection, setResourceSelection: setResourceSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onResourceCreate, onOpenRoute: onResourceOpen, onEdit: (row) => onResourceEdit(row) }), _jsx(PoolsTab, { products: products, filteredPools: filteredPools, poolSelection: poolSelection, setPoolSelection: setPoolSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onPoolCreate, onOpenRoute: onPoolOpen, onEdit: (row) => onPoolEdit(row) }), _jsx(AllocationsTab, { pools: pools, products: products, filteredAllocations: filteredAllocations, allocationSelection: allocationSelection, setAllocationSelection: setAllocationSelectionState, bulkActionTarget: bulkActionTarget, handleBulkDelete: onBulkDelete, onCreate: onAllocationCreate, onOpenRoute: onAllocationOpen, onEdit: (row) => onAllocationEdit(row) }), _jsx(AssignmentsTab, { slots: slotsData, resources: resources, bookings: bookings, filteredAssignments: filteredAssignments, assignmentSelection: assignmentSelection, setAssignmentSelection: setAssignmentSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onAssignmentCreate, onOpenRoute: onAssignmentOpen, onEdit: (row) => onAssignmentEdit(row) }), _jsx(CloseoutsTab, { resources: resources, filteredCloseouts: filteredCloseouts, closeoutSelection: closeoutSelection, setCloseoutSelection: setCloseoutSelectionState, bulkActionTarget: bulkActionTarget, handleBulkDelete: onBulkDelete, onCreate: onCloseoutCreate, onEdit: (row) => onCloseoutEdit(row) })] }), slots?.afterTabs] })), slots?.dialogs] }));
|
|
140
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function ResourcesSectionHeader({ title, description, actionLabel, onAction, }: {
|
|
2
|
+
title: string;
|
|
3
|
+
description: string;
|
|
4
|
+
actionLabel: string;
|
|
5
|
+
onAction: () => void;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=resources-section-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-section-header.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-section-header.tsx"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,WAAW,EACX,WAAW,EACX,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,2CAaA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@voyant-travel/ui/components";
|
|
3
|
+
import { Plus } from "lucide-react";
|
|
4
|
+
export function ResourcesSectionHeader({ title, description, actionLabel, onAction, }) {
|
|
5
|
+
return (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }), _jsxs(Button, { onClick: onAction, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), actionLabel] })] }));
|
|
6
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { OnChangeFn, RowSelectionState } from "@tanstack/react-table";
|
|
2
|
+
import { type ProductOption, type ResourceAllocationRow, type ResourcePoolRow, type ResourceRow, type SupplierOption } from "../index.js";
|
|
3
|
+
type BulkFn = (args: {
|
|
4
|
+
ids: string[];
|
|
5
|
+
endpoint: string;
|
|
6
|
+
target: string;
|
|
7
|
+
nounSingular: string;
|
|
8
|
+
nounPlural: string;
|
|
9
|
+
payload: Record<string, unknown>;
|
|
10
|
+
successVerb: string;
|
|
11
|
+
clearSelection: () => void;
|
|
12
|
+
}) => Promise<void>;
|
|
13
|
+
type DeleteFn = (args: {
|
|
14
|
+
ids: string[];
|
|
15
|
+
endpoint: string;
|
|
16
|
+
target: string;
|
|
17
|
+
nounSingular: string;
|
|
18
|
+
nounPlural: string;
|
|
19
|
+
clearSelection: () => void;
|
|
20
|
+
}) => Promise<void>;
|
|
21
|
+
export declare function ResourcesTab(props: {
|
|
22
|
+
suppliers: SupplierOption[];
|
|
23
|
+
filteredResources: ResourceRow[];
|
|
24
|
+
resourceSelection: RowSelectionState;
|
|
25
|
+
setResourceSelection: OnChangeFn<RowSelectionState>;
|
|
26
|
+
bulkActionTarget: string | null;
|
|
27
|
+
handleBulkUpdate: BulkFn;
|
|
28
|
+
handleBulkDelete: DeleteFn;
|
|
29
|
+
onCreate: () => void;
|
|
30
|
+
onOpenRoute: (resourceId: string) => void;
|
|
31
|
+
onEdit: (row: ResourceRow) => void;
|
|
32
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function PoolsTab(props: {
|
|
34
|
+
products: ProductOption[];
|
|
35
|
+
filteredPools: ResourcePoolRow[];
|
|
36
|
+
poolSelection: RowSelectionState;
|
|
37
|
+
setPoolSelection: OnChangeFn<RowSelectionState>;
|
|
38
|
+
bulkActionTarget: string | null;
|
|
39
|
+
handleBulkUpdate: BulkFn;
|
|
40
|
+
handleBulkDelete: DeleteFn;
|
|
41
|
+
onCreate: () => void;
|
|
42
|
+
onOpenRoute: (poolId: string) => void;
|
|
43
|
+
onEdit: (row: ResourcePoolRow) => void;
|
|
44
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare function AllocationsTab(props: {
|
|
46
|
+
pools: ResourcePoolRow[];
|
|
47
|
+
products: ProductOption[];
|
|
48
|
+
filteredAllocations: ResourceAllocationRow[];
|
|
49
|
+
allocationSelection: RowSelectionState;
|
|
50
|
+
setAllocationSelection: OnChangeFn<RowSelectionState>;
|
|
51
|
+
bulkActionTarget: string | null;
|
|
52
|
+
handleBulkDelete: DeleteFn;
|
|
53
|
+
onCreate: () => void;
|
|
54
|
+
onOpenRoute: (allocationId: string) => void;
|
|
55
|
+
onEdit: (row: ResourceAllocationRow) => void;
|
|
56
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=resources-tabs-primary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-tabs-primary.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-tabs-primary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAcrF,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAGpB,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE;IACnB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AA6NnB,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACnD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;CACnC,2CAoHA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,aAAa,EAAE,eAAe,EAAE,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;IAChC,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAA;CACvC,2CAoHA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,mBAAmB,EAAE,qBAAqB,EAAE,CAAA;IAC5C,mBAAmB,EAAE,iBAAiB,CAAA;IACtC,sBAAsB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAC7C,2CAgEA"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { formatMessage } from "@voyant-travel/i18n";
|
|
3
|
+
import { Badge, Button, ConfirmActionButton, SelectionActionBar, } from "@voyant-travel/ui/components";
|
|
4
|
+
import { DataTable } from "@voyant-travel/ui/components/data-table";
|
|
5
|
+
import { DataTableColumnHeader } from "@voyant-travel/ui/components/data-table-column-header";
|
|
6
|
+
import { TabsContent } from "@voyant-travel/ui/components/tabs";
|
|
7
|
+
import { ExternalLink } from "lucide-react";
|
|
8
|
+
import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
|
|
9
|
+
import { formatSelectionLabel, formatSelectionSummary } from "../i18n/utils.js";
|
|
10
|
+
import { labelById, } from "../index.js";
|
|
11
|
+
import { ResourcesSectionHeader } from "./resources-section-header.js";
|
|
12
|
+
const resourceColumns = (i18n, suppliers, onView) => [
|
|
13
|
+
{
|
|
14
|
+
accessorKey: "name",
|
|
15
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.name })),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
accessorKey: "kind",
|
|
19
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.kind })),
|
|
20
|
+
cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.resourceKindLabels[row.original.kind] })),
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
accessorKey: "supplierId",
|
|
24
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.supplier })),
|
|
25
|
+
cell: ({ row }) => labelById(suppliers, row.original.supplierId),
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
accessorKey: "capacity",
|
|
29
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.capacity })),
|
|
30
|
+
cell: ({ row }) => row.original.capacity === null ? "-" : i18n.formatNumber(row.original.capacity),
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
accessorKey: "active",
|
|
34
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.status })),
|
|
35
|
+
cell: ({ row }) => (_jsx(Badge, { variant: row.original.active ? "default" : "secondary", children: row.original.active ? i18n.messages.common.active : i18n.messages.common.inactive })),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "view",
|
|
39
|
+
header: i18n.messages.tabsPrimary.columns.resources.view,
|
|
40
|
+
cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
onView(row.original.id);
|
|
43
|
+
}, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
const poolColumns = (i18n, products, onView) => [
|
|
47
|
+
{
|
|
48
|
+
accessorKey: "name",
|
|
49
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.name })),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
accessorKey: "kind",
|
|
53
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.kind })),
|
|
54
|
+
cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.resourceKindLabels[row.original.kind] })),
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
accessorKey: "productId",
|
|
58
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.product })),
|
|
59
|
+
cell: ({ row }) => labelById(products, row.original.productId),
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
accessorKey: "sharedCapacity",
|
|
63
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.sharedCapacity })),
|
|
64
|
+
cell: ({ row }) => row.original.sharedCapacity === null ? "-" : i18n.formatNumber(row.original.sharedCapacity),
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: "view",
|
|
68
|
+
header: i18n.messages.tabsPrimary.columns.pools.view,
|
|
69
|
+
cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
|
|
70
|
+
event.stopPropagation();
|
|
71
|
+
onView(row.original.id);
|
|
72
|
+
}, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
const allocationColumns = (i18n, pools, products, onView) => [
|
|
76
|
+
{
|
|
77
|
+
accessorKey: "poolId",
|
|
78
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.pool })),
|
|
79
|
+
cell: ({ row }) => labelById(pools, row.original.poolId),
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
accessorKey: "productId",
|
|
83
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.product })),
|
|
84
|
+
cell: ({ row }) => labelById(products, row.original.productId),
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
accessorKey: "allocationMode",
|
|
88
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.mode })),
|
|
89
|
+
cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.allocationModeLabels[row.original.allocationMode] })),
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
accessorKey: "quantityRequired",
|
|
93
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.quantityRequired })),
|
|
94
|
+
cell: ({ row }) => i18n.formatNumber(row.original.quantityRequired),
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
accessorKey: "priority",
|
|
98
|
+
header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.priority })),
|
|
99
|
+
cell: ({ row }) => i18n.formatNumber(row.original.priority),
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "view",
|
|
103
|
+
header: i18n.messages.tabsPrimary.columns.allocations.view,
|
|
104
|
+
cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
|
|
105
|
+
event.stopPropagation();
|
|
106
|
+
onView(row.original.id);
|
|
107
|
+
}, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
|
|
108
|
+
},
|
|
109
|
+
];
|
|
110
|
+
export function ResourcesTab(props) {
|
|
111
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
112
|
+
const m = i18n.messages;
|
|
113
|
+
const section = m.tabsPrimary.sections.resources;
|
|
114
|
+
const selection = m.common.selectionNouns.resource;
|
|
115
|
+
return (_jsxs(TabsContent, { value: "resources", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: resourceColumns(i18n, props.suppliers, props.onOpenRoute), data: props.filteredResources, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.resourceSelection, onRowSelectionChange: props.setResourceSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsxs(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: [_jsx(ConfirmActionButton, { buttonLabel: section.actions.activate.buttonLabel, confirmLabel: section.actions.activate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.activate.title, {
|
|
116
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
117
|
+
}), description: section.actions.activate.description, disabled: props.bulkActionTarget === "resources-activate", onConfirm: () => props.handleBulkUpdate({
|
|
118
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
119
|
+
endpoint: "/v1/operations/resources",
|
|
120
|
+
target: "resources-activate",
|
|
121
|
+
nounSingular: "resource",
|
|
122
|
+
nounPlural: "resources",
|
|
123
|
+
payload: { active: true },
|
|
124
|
+
successVerb: section.actions.activate.successVerb,
|
|
125
|
+
clearSelection,
|
|
126
|
+
}) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.deactivate.buttonLabel, confirmLabel: section.actions.deactivate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.deactivate.title, {
|
|
127
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
128
|
+
}), description: section.actions.deactivate.description, disabled: props.bulkActionTarget === "resources-deactivate", onConfirm: () => props.handleBulkUpdate({
|
|
129
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
130
|
+
endpoint: "/v1/operations/resources",
|
|
131
|
+
target: "resources-deactivate",
|
|
132
|
+
nounSingular: "resource",
|
|
133
|
+
nounPlural: "resources",
|
|
134
|
+
payload: { active: false },
|
|
135
|
+
successVerb: section.actions.deactivate.successVerb,
|
|
136
|
+
clearSelection,
|
|
137
|
+
}) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
|
|
138
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
139
|
+
}), description: section.actions.delete.description, disabled: props.bulkActionTarget === "resources-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
|
|
140
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
141
|
+
endpoint: "/v1/operations/resources",
|
|
142
|
+
target: "resources-delete",
|
|
143
|
+
nounSingular: "resource",
|
|
144
|
+
nounPlural: "resources",
|
|
145
|
+
clearSelection,
|
|
146
|
+
}) })] })), onRowClick: (row) => props.onEdit(row.original) })] }));
|
|
147
|
+
}
|
|
148
|
+
export function PoolsTab(props) {
|
|
149
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
150
|
+
const m = i18n.messages;
|
|
151
|
+
const section = m.tabsPrimary.sections.pools;
|
|
152
|
+
const selection = m.common.selectionNouns.pool;
|
|
153
|
+
return (_jsxs(TabsContent, { value: "pools", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: poolColumns(i18n, props.products, props.onOpenRoute), data: props.filteredPools, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.poolSelection, onRowSelectionChange: props.setPoolSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsxs(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: [_jsx(ConfirmActionButton, { buttonLabel: section.actions.activate.buttonLabel, confirmLabel: section.actions.activate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.activate.title, {
|
|
154
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
155
|
+
}), description: section.actions.activate.description, disabled: props.bulkActionTarget === "pools-activate", onConfirm: () => props.handleBulkUpdate({
|
|
156
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
157
|
+
endpoint: "/v1/operations/pools",
|
|
158
|
+
target: "pools-activate",
|
|
159
|
+
nounSingular: "pool",
|
|
160
|
+
nounPlural: "pools",
|
|
161
|
+
payload: { active: true },
|
|
162
|
+
successVerb: section.actions.activate.successVerb,
|
|
163
|
+
clearSelection,
|
|
164
|
+
}) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.deactivate.buttonLabel, confirmLabel: section.actions.deactivate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.deactivate.title, {
|
|
165
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
166
|
+
}), description: section.actions.deactivate.description, disabled: props.bulkActionTarget === "pools-deactivate", onConfirm: () => props.handleBulkUpdate({
|
|
167
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
168
|
+
endpoint: "/v1/operations/pools",
|
|
169
|
+
target: "pools-deactivate",
|
|
170
|
+
nounSingular: "pool",
|
|
171
|
+
nounPlural: "pools",
|
|
172
|
+
payload: { active: false },
|
|
173
|
+
successVerb: section.actions.deactivate.successVerb,
|
|
174
|
+
clearSelection,
|
|
175
|
+
}) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
|
|
176
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
177
|
+
}), description: section.actions.delete.description, disabled: props.bulkActionTarget === "pools-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
|
|
178
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
179
|
+
endpoint: "/v1/operations/pools",
|
|
180
|
+
target: "pools-delete",
|
|
181
|
+
nounSingular: "pool",
|
|
182
|
+
nounPlural: "pools",
|
|
183
|
+
clearSelection,
|
|
184
|
+
}) })] })), onRowClick: (row) => props.onEdit(row.original) })] }));
|
|
185
|
+
}
|
|
186
|
+
export function AllocationsTab(props) {
|
|
187
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
188
|
+
const m = i18n.messages;
|
|
189
|
+
const section = m.tabsPrimary.sections.allocations;
|
|
190
|
+
const selection = m.common.selectionNouns.allocation;
|
|
191
|
+
return (_jsxs(TabsContent, { value: "allocations", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: allocationColumns(i18n, props.pools, props.products, props.onOpenRoute), data: props.filteredAllocations, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.allocationSelection, onRowSelectionChange: props.setAllocationSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsx(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
|
|
192
|
+
selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
|
|
193
|
+
}), description: section.actions.delete.description, disabled: props.bulkActionTarget === "allocations-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
|
|
194
|
+
ids: selectedRows.map((row) => row.original.id),
|
|
195
|
+
endpoint: "/v1/operations/allocations",
|
|
196
|
+
target: "allocations-delete",
|
|
197
|
+
nounSingular: "allocation",
|
|
198
|
+
nounPlural: "allocations",
|
|
199
|
+
clearSelection,
|
|
200
|
+
}) }) })), onRowClick: (row) => props.onEdit(row.original) })] }));
|
|
201
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { OnChangeFn, RowSelectionState } from "@tanstack/react-table";
|
|
2
|
+
import { type BookingOption, type ResourceCloseoutRow, type ResourceRow, type ResourceSlotAssignmentRow, type SlotOption } from "../index.js";
|
|
3
|
+
type BulkFn = (args: {
|
|
4
|
+
ids: string[];
|
|
5
|
+
endpoint: string;
|
|
6
|
+
target: string;
|
|
7
|
+
nounSingular: string;
|
|
8
|
+
nounPlural: string;
|
|
9
|
+
payload: Record<string, unknown>;
|
|
10
|
+
successVerb: string;
|
|
11
|
+
clearSelection: () => void;
|
|
12
|
+
}) => Promise<void>;
|
|
13
|
+
type DeleteFn = (args: {
|
|
14
|
+
ids: string[];
|
|
15
|
+
endpoint: string;
|
|
16
|
+
target: string;
|
|
17
|
+
nounSingular: string;
|
|
18
|
+
nounPlural: string;
|
|
19
|
+
clearSelection: () => void;
|
|
20
|
+
}) => Promise<void>;
|
|
21
|
+
export declare function AssignmentsTab(props: {
|
|
22
|
+
slots: SlotOption[];
|
|
23
|
+
resources: ResourceRow[];
|
|
24
|
+
bookings: BookingOption[];
|
|
25
|
+
filteredAssignments: ResourceSlotAssignmentRow[];
|
|
26
|
+
assignmentSelection: RowSelectionState;
|
|
27
|
+
setAssignmentSelection: OnChangeFn<RowSelectionState>;
|
|
28
|
+
bulkActionTarget: string | null;
|
|
29
|
+
handleBulkUpdate: BulkFn;
|
|
30
|
+
handleBulkDelete: DeleteFn;
|
|
31
|
+
onCreate: () => void;
|
|
32
|
+
onOpenRoute: (assignmentId: string) => void;
|
|
33
|
+
onEdit: (row: ResourceSlotAssignmentRow) => void;
|
|
34
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare function CloseoutsTab(props: {
|
|
36
|
+
resources: ResourceRow[];
|
|
37
|
+
filteredCloseouts: ResourceCloseoutRow[];
|
|
38
|
+
closeoutSelection: RowSelectionState;
|
|
39
|
+
setCloseoutSelection: OnChangeFn<RowSelectionState>;
|
|
40
|
+
bulkActionTarget: string | null;
|
|
41
|
+
handleBulkDelete: DeleteFn;
|
|
42
|
+
onCreate: () => void;
|
|
43
|
+
onEdit: (row: ResourceCloseoutRow) => void;
|
|
44
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=resources-tabs-secondary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-tabs-secondary.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-tabs-secondary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAmBrF,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAGpB,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE;IACnB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAiKnB,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,mBAAmB,EAAE,yBAAyB,EAAE,CAAA;IAChD,mBAAmB,EAAE,iBAAiB,CAAA;IACtC,sBAAsB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACjD,2CA0HA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACnD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAC3C,2CAgEA"}
|