@voyantjs/resources-ui 0.30.7 → 0.31.1
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/README.md +41 -0
- package/dist/components/resource-allocation-detail-page.d.ts +15 -0
- package/dist/components/resource-allocation-detail-page.d.ts.map +1 -0
- package/dist/components/resource-allocation-detail-page.js +45 -0
- package/dist/components/resource-assignment-detail-page.d.ts +15 -0
- package/dist/components/resource-assignment-detail-page.d.ts.map +1 -0
- package/dist/components/resource-assignment-detail-page.js +47 -0
- package/dist/components/resource-detail-data.d.ts +34 -0
- package/dist/components/resource-detail-data.d.ts.map +1 -0
- package/dist/components/resource-detail-data.js +90 -0
- package/dist/components/resource-detail-page.d.ts +23 -0
- package/dist/components/resource-detail-page.d.ts.map +1 -0
- package/dist/components/resource-detail-page.js +77 -0
- package/dist/components/resource-detail-shared.d.ts +37 -0
- package/dist/components/resource-detail-shared.d.ts.map +1 -0
- package/dist/components/resource-detail-shared.js +51 -0
- package/dist/components/resource-pool-detail-page.d.ts +21 -0
- package/dist/components/resource-pool-detail-page.d.ts.map +1 -0
- package/dist/components/resource-pool-detail-page.js +65 -0
- package/dist/components/resources-page.d.ts +55 -0
- package/dist/components/resources-page.d.ts.map +1 -0
- package/dist/components/resources-page.js +174 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +114 -0
- package/dist/i18n/messages.d.ts +114 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/ro.d.ts.map +1 -1
- package/dist/i18n/ro.js +114 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/package.json +7 -7
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { labelById, useAllocations, useAssignments, useBookings, usePool, useProducts, useResources, useSlots, } from "@voyantjs/resources-react";
|
|
4
|
+
import { Badge, Button, Card, CardContent, CardHeader, CardTitle, cn, } from "@voyantjs/ui/components";
|
|
5
|
+
import { Package, Users, Wrench } from "lucide-react";
|
|
6
|
+
import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
|
|
7
|
+
import { formatResourceSlotLabel } from "../i18n/utils.js";
|
|
8
|
+
import { useResourcePoolMembers } from "./resource-detail-data.js";
|
|
9
|
+
import { ResourceAssignmentSummary } from "./resource-detail-page.js";
|
|
10
|
+
import { ResourceDetailSkeleton as BaseResourceDetailSkeleton, ResourceDetailCard, ResourceDetailField, ResourceDetailHeader, ResourceDetailState, } from "./resource-detail-shared.js";
|
|
11
|
+
export function ResourcePoolDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenAllocation, onOpenAssignment, onOpenProduct, onOpenResource, }) {
|
|
12
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
13
|
+
const m = i18n.messages;
|
|
14
|
+
const page = m.detailPages;
|
|
15
|
+
const poolQuery = usePool(id);
|
|
16
|
+
const productsQuery = useProducts({ limit: 25 });
|
|
17
|
+
const membersQuery = useResourcePoolMembers({ poolId: id, limit: 25 });
|
|
18
|
+
const resourcesQuery = useResources({ limit: 25 });
|
|
19
|
+
const allocationsQuery = useAllocations({ poolId: id, limit: 25 });
|
|
20
|
+
const assignmentsQuery = useAssignments({ poolId: id, limit: 25 });
|
|
21
|
+
const slotsQuery = useSlots({ limit: 25 });
|
|
22
|
+
const bookingsQuery = useBookings({ limit: 25 });
|
|
23
|
+
if (poolQuery.isPending) {
|
|
24
|
+
return _jsx(ResourcePoolDetailSkeleton, {});
|
|
25
|
+
}
|
|
26
|
+
if (poolQuery.isError) {
|
|
27
|
+
return (_jsx(ResourceDetailState, { className: className, message: page.pool.loadFailed, onBack: onBack }));
|
|
28
|
+
}
|
|
29
|
+
const pool = poolQuery.data;
|
|
30
|
+
if (!pool) {
|
|
31
|
+
return (_jsx(ResourceDetailState, { className: className, message: page.pool.notFound, onBack: onBack }));
|
|
32
|
+
}
|
|
33
|
+
const products = productsQuery.data?.data ?? [];
|
|
34
|
+
const resources = resourcesQuery.data?.data ?? [];
|
|
35
|
+
const slots = slotsQuery.data?.data ?? [];
|
|
36
|
+
const bookings = bookingsQuery.data?.data ?? [];
|
|
37
|
+
const resourcesById = new Map(resources.map((resource) => [resource.id, resource]));
|
|
38
|
+
const slotsById = new Map(slots.map((slot) => [slot.id, slot]));
|
|
39
|
+
const bookingsById = new Map(bookings.map((booking) => [booking.id, booking]));
|
|
40
|
+
return (_jsxs("div", { "data-slot": "resource-pool-detail-page", className: cn("flex flex-col gap-6 p-6", className), children: [_jsx(ResourceDetailHeader, { title: pool.name, deleteConfirmName: pool.name, deleteConfirmTemplate: page.pool.deleteConfirm, deleteErrorMessage: page.pool.deleteFailed, deleting: deleting, confirmAction: confirmAction, onBack: onBack, onDelete: onDelete ? () => onDelete(pool) : undefined, badges: _jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", children: m.common.resourceKindLabels[pool.kind] }), _jsx(Badge, { variant: pool.active ? "default" : "secondary", children: pool.active ? m.common.active : m.common.inactive })] }), actions: pool.productId && onOpenProduct ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenProduct(pool.productId), children: [_jsx(Package, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openProduct] })) : null }), _jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [_jsxs(ResourceDetailCard, { title: page.pool.detailsTitle, children: [_jsx(ResourceDetailField, { label: page.common.product, children: pool.productId ? labelById(products, pool.productId) : page.common.noValue }), _jsx(ResourceDetailField, { label: page.pool.sharedCapacity, children: pool.sharedCapacity ?? page.common.noValue }), _jsx(ResourceDetailField, { label: page.common.created, children: i18n.formatDateTime(pool.createdAt) }), _jsx(ResourceDetailField, { label: page.common.updated, children: i18n.formatDateTime(pool.updatedAt) })] }), pool.notes ? (_jsx(ResourceDetailCard, { title: page.common.notes, children: _jsx("p", { className: "whitespace-pre-wrap", children: pool.notes }) })) : null] }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-center gap-2", children: [_jsx(Users, { className: "size-4", "aria-hidden": "true" }), _jsx(CardTitle, { children: page.pool.membersTitle })] }), _jsx(CardContent, { className: "flex flex-col gap-3 text-sm", children: (membersQuery.data?.data.length ?? 0) === 0 ? (_jsx("p", { className: "text-muted-foreground", children: page.pool.membersEmpty })) : (membersQuery.data?.data.map((member) => {
|
|
41
|
+
const resource = resourcesById.get(member.resourceId);
|
|
42
|
+
const body = (_jsxs(_Fragment, { children: [_jsx("div", { className: "font-medium", children: resource?.name ?? member.resourceId }), _jsxs("div", { className: "text-muted-foreground", children: [resource ? m.common.resourceKindLabels[resource.kind] : page.pool.noResource, " · ", resource?.active ? m.common.active : m.common.inactive] })] }));
|
|
43
|
+
return onOpenResource && resource ? (_jsx("button", { type: "button", className: "block w-full rounded-md border p-3 text-left hover:bg-muted/40", onClick: () => onOpenResource(resource.id), children: body }, member.id)) : (_jsx("div", { className: "rounded-md border p-3", children: body }, member.id));
|
|
44
|
+
})) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-center gap-2", children: [_jsx(Package, { className: "size-4", "aria-hidden": "true" }), _jsx(CardTitle, { children: page.pool.allocationsTitle })] }), _jsx(CardContent, { className: "flex flex-col gap-3 text-sm", children: (allocationsQuery.data?.data.length ?? 0) === 0 ? (_jsx("p", { className: "text-muted-foreground", children: page.pool.allocationsEmpty })) : (allocationsQuery.data?.data.map((allocation) => (_jsx(PoolAllocationSummary, { allocation: allocation, onOpenAllocation: onOpenAllocation }, allocation.id)))) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-center gap-2", children: [_jsx(Wrench, { className: "size-4", "aria-hidden": "true" }), _jsx(CardTitle, { children: page.pool.liveAssignmentsTitle })] }), _jsx(CardContent, { className: "flex flex-col gap-3 text-sm", children: (assignmentsQuery.data?.data.length ?? 0) === 0 ? (_jsx("p", { className: "text-muted-foreground", children: page.pool.liveAssignmentsEmpty })) : (assignmentsQuery.data?.data.map((assignment) => (_jsx(ResourceAssignmentSummary, { assignment: assignment, bookingLabel: bookingsById.get(assignment.bookingId ?? "")?.bookingNumber ??
|
|
45
|
+
assignment.bookingId ??
|
|
46
|
+
page.common.noBooking, noValue: page.common.noValue, slotLabel: slotsById.get(assignment.slotId)
|
|
47
|
+
? formatResourceSlotLabel(slotsById.get(assignment.slotId), {
|
|
48
|
+
template: m.common.slotLabel,
|
|
49
|
+
formatDate: i18n.formatDate,
|
|
50
|
+
})
|
|
51
|
+
: assignment.slotId, onOpenAssignment: onOpenAssignment }, assignment.id)))) })] })] }));
|
|
52
|
+
}
|
|
53
|
+
export function ResourcePoolDetailSkeleton() {
|
|
54
|
+
return _jsx(BaseResourceDetailSkeleton, { actionCount: 2, detailRows: 4, stackedCards: 3 });
|
|
55
|
+
}
|
|
56
|
+
export function PoolAllocationSummary({ allocation, onOpenAllocation, }) {
|
|
57
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
58
|
+
const m = i18n.messages;
|
|
59
|
+
const page = m.detailPages;
|
|
60
|
+
const content = (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Badge, { variant: "outline", children: m.common.allocationModeLabels[allocation.allocationMode] }), _jsxs("span", { children: [page.common.quantity, " ", i18n.formatNumber(allocation.quantityRequired)] })] }), _jsxs("div", { className: "mt-2 text-muted-foreground", children: [page.common.product, ": ", allocation.productId] }), _jsxs("div", { className: "text-muted-foreground", children: [page.allocation.rule, ": ", allocation.availabilityRuleId ?? page.common.noRule, " · ", page.allocation.startTime, ": ", allocation.startTimeId ?? page.common.noStartTime, " · ", page.allocation.priority, ": ", i18n.formatNumber(allocation.priority)] })] }));
|
|
61
|
+
if (!onOpenAllocation) {
|
|
62
|
+
return _jsx("div", { className: "rounded-md border p-3", children: content });
|
|
63
|
+
}
|
|
64
|
+
return (_jsx("button", { type: "button", className: "block w-full rounded-md border p-3 text-left hover:bg-muted/40", onClick: () => onOpenAllocation(allocation.id), children: content }));
|
|
65
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type ResourceAllocationRow, type ResourceCloseoutRow, type ResourcePoolRow, type ResourceRow, type ResourceSlotAssignmentRow } from "@voyantjs/resources-react";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
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
|
+
export interface ResourcesPageProps {
|
|
33
|
+
className?: string;
|
|
34
|
+
defaultTab?: ResourcesPageTab;
|
|
35
|
+
bulkActionTarget?: string | null;
|
|
36
|
+
onBulkUpdate: ResourcesPageBulkUpdateHandler;
|
|
37
|
+
onBulkDelete: ResourcesPageBulkDeleteHandler;
|
|
38
|
+
onResourceCreate?: () => void;
|
|
39
|
+
onResourceOpen?: (resourceId: string) => void;
|
|
40
|
+
onResourceEdit?: (resource: ResourceRow) => void;
|
|
41
|
+
onPoolCreate?: () => void;
|
|
42
|
+
onPoolOpen?: (poolId: string) => void;
|
|
43
|
+
onPoolEdit?: (pool: ResourcePoolRow) => void;
|
|
44
|
+
onAllocationCreate?: () => void;
|
|
45
|
+
onAllocationOpen?: (allocationId: string) => void;
|
|
46
|
+
onAllocationEdit?: (allocation: ResourceAllocationRow) => void;
|
|
47
|
+
onAssignmentCreate?: () => void;
|
|
48
|
+
onAssignmentOpen?: (assignmentId: string) => void;
|
|
49
|
+
onAssignmentEdit?: (assignment: ResourceSlotAssignmentRow) => void;
|
|
50
|
+
onCloseoutCreate?: () => void;
|
|
51
|
+
onCloseoutEdit?: (closeout: ResourceCloseoutRow) => void;
|
|
52
|
+
slots?: ResourcesPageSlots;
|
|
53
|
+
}
|
|
54
|
+
export declare function ResourcesPage({ className, defaultTab, bulkActionTarget, onBulkUpdate, onBulkDelete, onResourceCreate, onResourceOpen, onResourceEdit, onPoolCreate, onPoolOpen, onPoolEdit, onAllocationCreate, onAllocationOpen, onAllocationEdit, onAssignmentCreate, onAssignmentOpen, onAssignmentEdit, onCloseoutCreate, onCloseoutEdit, slots, }: ResourcesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
//# sourceMappingURL=resources-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-page.d.ts","sourceRoot":"","sources":["../../src/components/resources-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { labelById, useAllocations, useAssignments, useBookings, useCloseouts, usePools, useProducts, useResources, useRules, useSlots, useStartTimes, useSuppliers, } from "@voyantjs/resources-react";
|
|
4
|
+
import { Badge, Button, cn, Input, Label } from "@voyantjs/ui/components";
|
|
5
|
+
import { AsyncCombobox } from "@voyantjs/ui/components/async-combobox";
|
|
6
|
+
import { Popover, PopoverContent, PopoverTrigger } from "@voyantjs/ui/components/popover";
|
|
7
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, } from "@voyantjs/ui/components/select";
|
|
8
|
+
import { Tabs, TabsList, TabsTrigger } from "@voyantjs/ui/components/tabs";
|
|
9
|
+
import { ListFilter, Search, X } from "lucide-react";
|
|
10
|
+
import { useMemo, useState } from "react";
|
|
11
|
+
import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
|
|
12
|
+
import { formatResourceSlotLabel, RESOURCE_KIND_VALUES } from "../i18n/utils.js";
|
|
13
|
+
import { ResourcesOverview } from "./resources-overview.js";
|
|
14
|
+
import { AllocationsTab, PoolsTab, ResourcesTab } from "./resources-tabs-primary.js";
|
|
15
|
+
import { AssignmentsTab, CloseoutsTab } from "./resources-tabs-secondary.js";
|
|
16
|
+
const ASSIGNMENT_STATUSES = ["reserved", "assigned", "released", "completed", "cancelled"];
|
|
17
|
+
const noop = () => undefined;
|
|
18
|
+
const noopId = (_id) => undefined;
|
|
19
|
+
const noopRow = (_row) => undefined;
|
|
20
|
+
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, }) {
|
|
21
|
+
const i18n = useResourcesUiI18nOrDefault();
|
|
22
|
+
const m = i18n.messages;
|
|
23
|
+
const page = m.resourcesPage;
|
|
24
|
+
const [search, setSearch] = useState("");
|
|
25
|
+
const [kindFilter, setKindFilter] = useState("all");
|
|
26
|
+
const [activeTab, setActiveTab] = useState(defaultTab);
|
|
27
|
+
const [filterPopoverOpen, setFilterPopoverOpen] = useState(false);
|
|
28
|
+
const [supplierFilter, setSupplierFilter] = useState(null);
|
|
29
|
+
const [selectedSupplierOption, setSelectedSupplierOption] = useState(null);
|
|
30
|
+
const [productFilter, setProductFilter] = useState(null);
|
|
31
|
+
const [selectedProductOption, setSelectedProductOption] = useState(null);
|
|
32
|
+
const [activeFilter, setActiveFilter] = useState("all");
|
|
33
|
+
const [assignmentStatusFilter, setAssignmentStatusFilter] = useState("all");
|
|
34
|
+
const [resourceSelection, setResourceSelectionState] = useState({});
|
|
35
|
+
const [poolSelection, setPoolSelectionState] = useState({});
|
|
36
|
+
const [allocationSelection, setAllocationSelectionState] = useState({});
|
|
37
|
+
const [assignmentSelection, setAssignmentSelectionState] = useState({});
|
|
38
|
+
const [closeoutSelection, setCloseoutSelectionState] = useState({});
|
|
39
|
+
const suppliersQuery = useSuppliers();
|
|
40
|
+
const productsQuery = useProducts();
|
|
41
|
+
const bookingsQuery = useBookings();
|
|
42
|
+
const slotsQuery = useSlots();
|
|
43
|
+
const rulesQuery = useRules();
|
|
44
|
+
const startTimesQuery = useStartTimes();
|
|
45
|
+
const resourcesQuery = useResources();
|
|
46
|
+
const poolsQuery = usePools();
|
|
47
|
+
const allocationsQuery = useAllocations();
|
|
48
|
+
const assignmentsQuery = useAssignments();
|
|
49
|
+
const closeoutsQuery = useCloseouts();
|
|
50
|
+
const suppliers = suppliersQuery.data?.data ?? [];
|
|
51
|
+
const products = productsQuery.data?.data ?? [];
|
|
52
|
+
const bookings = bookingsQuery.data?.data ?? [];
|
|
53
|
+
const slotsData = slotsQuery.data?.data ?? [];
|
|
54
|
+
const rules = rulesQuery.data?.data ?? [];
|
|
55
|
+
const startTimes = startTimesQuery.data?.data ?? [];
|
|
56
|
+
const resources = resourcesQuery.data?.data ?? [];
|
|
57
|
+
const pools = poolsQuery.data?.data ?? [];
|
|
58
|
+
const allocations = allocationsQuery.data?.data ?? [];
|
|
59
|
+
const assignments = assignmentsQuery.data?.data ?? [];
|
|
60
|
+
const closeouts = closeoutsQuery.data?.data ?? [];
|
|
61
|
+
const kindOptions = useMemo(() => RESOURCE_KIND_VALUES.map((value) => ({
|
|
62
|
+
value,
|
|
63
|
+
label: m.common.resourceKindLabels[value],
|
|
64
|
+
})), [m.common.resourceKindLabels]);
|
|
65
|
+
const normalizedSearch = search.trim().toLowerCase();
|
|
66
|
+
const matchesSearch = (...values) => !normalizedSearch ||
|
|
67
|
+
values.some((value) => String(value ?? "")
|
|
68
|
+
.toLowerCase()
|
|
69
|
+
.includes(normalizedSearch));
|
|
70
|
+
const matchesKind = (kind) => kindFilter === "all" || kind === kindFilter;
|
|
71
|
+
const matchesActive = (active) => activeFilter === "all" ||
|
|
72
|
+
(activeFilter === "active" && active) ||
|
|
73
|
+
(activeFilter === "inactive" && !active);
|
|
74
|
+
const filteredResources = resources.filter((resource) => matchesKind(resource.kind) &&
|
|
75
|
+
matchesActive(resource.active) &&
|
|
76
|
+
(!supplierFilter || resource.supplierId === supplierFilter) &&
|
|
77
|
+
matchesSearch(resource.name, resource.code, resource.kind, labelById(suppliers, resource.supplierId), resource.notes));
|
|
78
|
+
const filteredPools = pools.filter((pool) => matchesKind(pool.kind) &&
|
|
79
|
+
matchesActive(pool.active) &&
|
|
80
|
+
(!productFilter || pool.productId === productFilter) &&
|
|
81
|
+
matchesSearch(pool.name, pool.kind, labelById(products, pool.productId), pool.notes));
|
|
82
|
+
const filteredAllocations = allocations.filter((allocation) => {
|
|
83
|
+
const pool = pools.find((entry) => entry.id === allocation.poolId);
|
|
84
|
+
return ((kindFilter === "all" || pool?.kind === kindFilter) &&
|
|
85
|
+
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));
|
|
86
|
+
});
|
|
87
|
+
const filteredAssignments = assignments.filter((assignment) => {
|
|
88
|
+
const resource = resources.find((entry) => entry.id === assignment.resourceId);
|
|
89
|
+
return ((kindFilter === "all" || resource?.kind === kindFilter) &&
|
|
90
|
+
(assignmentStatusFilter === "all" || assignment.status === assignmentStatusFilter) &&
|
|
91
|
+
matchesSearch(assignment.status, assignment.assignedBy, assignment.notes, labelById(resources, assignment.resourceId), labelById(bookings, assignment.bookingId), formatResourceSlotLabel(slotsData.find((slot) => slot.id === assignment.slotId) ?? {
|
|
92
|
+
id: assignment.slotId,
|
|
93
|
+
productId: "",
|
|
94
|
+
dateLocal: assignment.slotId,
|
|
95
|
+
startsAt: assignment.slotId,
|
|
96
|
+
}, {
|
|
97
|
+
template: m.common.slotLabel,
|
|
98
|
+
formatDate: i18n.formatDate,
|
|
99
|
+
})));
|
|
100
|
+
});
|
|
101
|
+
const filteredCloseouts = closeouts.filter((closeout) => {
|
|
102
|
+
const resource = resources.find((entry) => entry.id === closeout.resourceId);
|
|
103
|
+
return ((kindFilter === "all" || resource?.kind === kindFilter) &&
|
|
104
|
+
matchesSearch(labelById(resources, closeout.resourceId), closeout.dateLocal, closeout.reason, closeout.createdBy));
|
|
105
|
+
});
|
|
106
|
+
const liveAssignments = filteredAssignments.filter((assignment) => assignment.status === "reserved" || assignment.status === "assigned");
|
|
107
|
+
const resourcesWithoutSupplier = filteredResources.filter((resource) => !resource.supplierId);
|
|
108
|
+
const unassignedReservations = liveAssignments.filter((assignment) => !assignment.resourceId);
|
|
109
|
+
const activeFilterCount = (kindFilter !== "all" ? 1 : 0) +
|
|
110
|
+
(activeFilter !== "all" ? 1 : 0) +
|
|
111
|
+
(supplierFilter !== null ? 1 : 0) +
|
|
112
|
+
(productFilter !== null ? 1 : 0) +
|
|
113
|
+
(assignmentStatusFilter !== "all" ? 1 : 0);
|
|
114
|
+
const hasFilters = search.length > 0 || activeFilterCount > 0;
|
|
115
|
+
const clearAllFilters = () => {
|
|
116
|
+
setSearch("");
|
|
117
|
+
setKindFilter("all");
|
|
118
|
+
setActiveFilter("all");
|
|
119
|
+
setSupplierFilter(null);
|
|
120
|
+
setSelectedSupplierOption(null);
|
|
121
|
+
setProductFilter(null);
|
|
122
|
+
setSelectedProductOption(null);
|
|
123
|
+
setAssignmentStatusFilter("all");
|
|
124
|
+
};
|
|
125
|
+
const queries = [
|
|
126
|
+
suppliersQuery,
|
|
127
|
+
productsQuery,
|
|
128
|
+
bookingsQuery,
|
|
129
|
+
slotsQuery,
|
|
130
|
+
rulesQuery,
|
|
131
|
+
startTimesQuery,
|
|
132
|
+
resourcesQuery,
|
|
133
|
+
poolsQuery,
|
|
134
|
+
allocationsQuery,
|
|
135
|
+
assignmentsQuery,
|
|
136
|
+
closeoutsQuery,
|
|
137
|
+
];
|
|
138
|
+
const isLoading = queries.some((query) => query.isPending);
|
|
139
|
+
const isError = queries.some((query) => query.isError);
|
|
140
|
+
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 ? (_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] }));
|
|
141
|
+
}
|
|
142
|
+
function ResourcesFilterPopover({ activeTab, suppliers, products, supplierFilter, setSupplierFilter, selectedSupplierOption, setSelectedSupplierOption, productFilter, setProductFilter, selectedProductOption, setSelectedProductOption, activeFilter, setActiveFilter, assignmentStatusFilter, setAssignmentStatusFilter, }) {
|
|
143
|
+
const { messages } = useResourcesUiI18nOrDefault();
|
|
144
|
+
const page = messages.resourcesPage;
|
|
145
|
+
const activeStatusSelect = (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "resources-filter-active", children: page.filters.activeLabel }), _jsxs(Select, { value: activeFilter, onValueChange: (value) => setActiveFilter((value ?? "all")), children: [_jsx(SelectTrigger, { id: "resources-filter-active", className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectItem, { value: "all", children: page.filters.activeAll }), _jsx(SelectItem, { value: "active", children: page.filters.activeOnly }), _jsx(SelectItem, { value: "inactive", children: page.filters.inactiveOnly })] }) })] })] }));
|
|
146
|
+
if (activeTab === "resources") {
|
|
147
|
+
return (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { children: page.filters.supplierLabel }), _jsx(AsyncCombobox, { value: supplierFilter, onChange: (value) => {
|
|
148
|
+
setSupplierFilter(value);
|
|
149
|
+
if (!value)
|
|
150
|
+
setSelectedSupplierOption(null);
|
|
151
|
+
else {
|
|
152
|
+
const match = suppliers.find((supplier) => supplier.id === value);
|
|
153
|
+
if (match)
|
|
154
|
+
setSelectedSupplierOption(match);
|
|
155
|
+
}
|
|
156
|
+
}, items: suppliers, selectedItem: selectedSupplierOption, getKey: (supplier) => supplier.id, getLabel: (supplier) => supplier.name, placeholder: page.filters.supplierAny, emptyText: page.filters.supplierEmpty, triggerClassName: "w-full" })] }), activeStatusSelect] }));
|
|
157
|
+
}
|
|
158
|
+
if (activeTab === "pools") {
|
|
159
|
+
return (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { children: page.filters.productLabel }), _jsx(AsyncCombobox, { value: productFilter, onChange: (value) => {
|
|
160
|
+
setProductFilter(value);
|
|
161
|
+
if (!value)
|
|
162
|
+
setSelectedProductOption(null);
|
|
163
|
+
else {
|
|
164
|
+
const match = products.find((product) => product.id === value);
|
|
165
|
+
if (match)
|
|
166
|
+
setSelectedProductOption(match);
|
|
167
|
+
}
|
|
168
|
+
}, items: products, selectedItem: selectedProductOption, getKey: (product) => product.id, getLabel: (product) => product.name, placeholder: page.filters.productAny, emptyText: page.filters.productEmpty, triggerClassName: "w-full" })] }), activeStatusSelect] }));
|
|
169
|
+
}
|
|
170
|
+
if (activeTab === "assignments") {
|
|
171
|
+
return (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "resources-filter-status", children: page.filters.assignmentStatusLabel }), _jsxs(Select, { value: assignmentStatusFilter, onValueChange: (value) => setAssignmentStatusFilter(value ?? "all"), children: [_jsx(SelectTrigger, { id: "resources-filter-status", className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectItem, { value: "all", children: page.filters.assignmentStatusAll }), ASSIGNMENT_STATUSES.map((status) => (_jsx(SelectItem, { value: status, children: messages.common.assignmentStatusLabels[status] }, status)))] }) })] })] }));
|
|
172
|
+
}
|
|
173
|
+
return _jsx("p", { className: "text-sm text-muted-foreground", children: page.filters.noAdditionalFilters });
|
|
174
|
+
}
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,aAAa,EAAE,mBAqX3B,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -39,6 +39,37 @@ export const resourcesUiEn = {
|
|
|
39
39
|
closeout: { singular: "closeout", plural: "closeouts" },
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
|
+
resourcesPage: {
|
|
43
|
+
title: "Resources",
|
|
44
|
+
description: "Manage assignable assets, pools, allocation rules, bookings coverage, and closeouts.",
|
|
45
|
+
loading: "Loading resources...",
|
|
46
|
+
loadFailed: "Resources could not be loaded.",
|
|
47
|
+
filters: {
|
|
48
|
+
searchPlaceholder: "Search resources...",
|
|
49
|
+
button: "Filters",
|
|
50
|
+
clear: "Clear filters",
|
|
51
|
+
activeLabel: "Active status",
|
|
52
|
+
activeAll: "Any status",
|
|
53
|
+
activeOnly: "Active only",
|
|
54
|
+
inactiveOnly: "Inactive only",
|
|
55
|
+
supplierLabel: "Supplier",
|
|
56
|
+
supplierAny: "Any supplier",
|
|
57
|
+
supplierEmpty: "No suppliers found.",
|
|
58
|
+
productLabel: "Product",
|
|
59
|
+
productAny: "Any product",
|
|
60
|
+
productEmpty: "No products found.",
|
|
61
|
+
assignmentStatusLabel: "Assignment status",
|
|
62
|
+
assignmentStatusAll: "Any status",
|
|
63
|
+
noAdditionalFilters: "No additional filters for this tab.",
|
|
64
|
+
},
|
|
65
|
+
tabs: {
|
|
66
|
+
resources: "Resources",
|
|
67
|
+
pools: "Pools",
|
|
68
|
+
allocations: "Allocations",
|
|
69
|
+
assignments: "Assignments",
|
|
70
|
+
closeouts: "Closeouts",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
42
73
|
overview: {
|
|
43
74
|
metrics: {
|
|
44
75
|
activeResources: {
|
|
@@ -246,4 +277,87 @@ export const resourcesUiEn = {
|
|
|
246
277
|
},
|
|
247
278
|
},
|
|
248
279
|
},
|
|
280
|
+
detailPages: {
|
|
281
|
+
common: {
|
|
282
|
+
backToResources: "Back to resources",
|
|
283
|
+
booking: "Booking",
|
|
284
|
+
capacity: "Capacity",
|
|
285
|
+
code: "Code",
|
|
286
|
+
created: "Created",
|
|
287
|
+
delete: "Delete",
|
|
288
|
+
noBooking: "No booking",
|
|
289
|
+
noPool: "No pool",
|
|
290
|
+
noResource: "No resource",
|
|
291
|
+
noRule: "No rule",
|
|
292
|
+
noStartTime: "No start time",
|
|
293
|
+
noValue: "-",
|
|
294
|
+
notes: "Notes",
|
|
295
|
+
openPool: "Open Pool",
|
|
296
|
+
openProduct: "Open Product",
|
|
297
|
+
openResource: "Open Resource",
|
|
298
|
+
openSlot: "Open Slot",
|
|
299
|
+
openSupplier: "Open Supplier",
|
|
300
|
+
pool: "Pool",
|
|
301
|
+
product: "Product",
|
|
302
|
+
quantity: "Qty",
|
|
303
|
+
resource: "Resource",
|
|
304
|
+
slot: "Slot",
|
|
305
|
+
supplier: "Supplier",
|
|
306
|
+
to: "to",
|
|
307
|
+
updated: "Updated",
|
|
308
|
+
},
|
|
309
|
+
resource: {
|
|
310
|
+
assignmentsEmpty: "No assignments have been recorded for this resource.",
|
|
311
|
+
assignmentsTitle: "Assignments",
|
|
312
|
+
assignedBy: "Assigned By",
|
|
313
|
+
closeoutsEmpty: "No closeouts block this resource.",
|
|
314
|
+
closeoutsTitle: "Closeouts",
|
|
315
|
+
createdBy: "Created By",
|
|
316
|
+
deleteConfirm: "Delete resource {name}?",
|
|
317
|
+
deleteFailed: "Resource could not be deleted.",
|
|
318
|
+
detailsTitle: "Resource Details",
|
|
319
|
+
loadFailed: "Resource could not be loaded.",
|
|
320
|
+
noSupplierAssigned: "No supplier assigned",
|
|
321
|
+
notFound: "Resource not found.",
|
|
322
|
+
poolMembershipsEmpty: "This resource is not assigned to any pool.",
|
|
323
|
+
poolMembershipsTitle: "Pool Memberships",
|
|
324
|
+
released: "Released",
|
|
325
|
+
},
|
|
326
|
+
pool: {
|
|
327
|
+
allocationsEmpty: "No allocation rules target this pool.",
|
|
328
|
+
allocationsTitle: "Allocations",
|
|
329
|
+
deleteConfirm: "Delete pool {name}?",
|
|
330
|
+
deleteFailed: "Pool could not be deleted.",
|
|
331
|
+
detailsTitle: "Pool Details",
|
|
332
|
+
liveAssignmentsEmpty: "No assignments are currently using this pool.",
|
|
333
|
+
liveAssignmentsTitle: "Live Assignments",
|
|
334
|
+
loadFailed: "Pool could not be loaded.",
|
|
335
|
+
membersEmpty: "No resources are assigned to this pool.",
|
|
336
|
+
membersTitle: "Members",
|
|
337
|
+
noResource: "Resource unavailable",
|
|
338
|
+
notFound: "Resource pool not found.",
|
|
339
|
+
sharedCapacity: "Shared Capacity",
|
|
340
|
+
},
|
|
341
|
+
allocation: {
|
|
342
|
+
deleteConfirm: "Delete allocation {name}?",
|
|
343
|
+
deleteFailed: "Allocation could not be deleted.",
|
|
344
|
+
detailsTitle: "Allocation Details",
|
|
345
|
+
loadFailed: "Allocation could not be loaded.",
|
|
346
|
+
notFound: "Resource allocation not found.",
|
|
347
|
+
pageTitle: "Resource Allocation",
|
|
348
|
+
priority: "Priority",
|
|
349
|
+
rule: "Rule",
|
|
350
|
+
startTime: "Start Time",
|
|
351
|
+
},
|
|
352
|
+
assignment: {
|
|
353
|
+
assignedBy: "Assigned By",
|
|
354
|
+
deleteConfirm: "Delete assignment {name}?",
|
|
355
|
+
deleteFailed: "Assignment could not be deleted.",
|
|
356
|
+
detailsTitle: "Assignment Details",
|
|
357
|
+
loadFailed: "Assignment could not be loaded.",
|
|
358
|
+
notFound: "Resource assignment not found.",
|
|
359
|
+
pageTitle: "Slot Assignment",
|
|
360
|
+
released: "Released",
|
|
361
|
+
},
|
|
362
|
+
},
|
|
249
363
|
};
|
package/dist/i18n/messages.d.ts
CHANGED
|
@@ -38,6 +38,37 @@ export type ResourcesUiMessages = {
|
|
|
38
38
|
closeout: SelectionNoun;
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
|
+
resourcesPage: {
|
|
42
|
+
title: string;
|
|
43
|
+
description: string;
|
|
44
|
+
loading: string;
|
|
45
|
+
loadFailed: string;
|
|
46
|
+
filters: {
|
|
47
|
+
searchPlaceholder: string;
|
|
48
|
+
button: string;
|
|
49
|
+
clear: string;
|
|
50
|
+
activeLabel: string;
|
|
51
|
+
activeAll: string;
|
|
52
|
+
activeOnly: string;
|
|
53
|
+
inactiveOnly: string;
|
|
54
|
+
supplierLabel: string;
|
|
55
|
+
supplierAny: string;
|
|
56
|
+
supplierEmpty: string;
|
|
57
|
+
productLabel: string;
|
|
58
|
+
productAny: string;
|
|
59
|
+
productEmpty: string;
|
|
60
|
+
assignmentStatusLabel: string;
|
|
61
|
+
assignmentStatusAll: string;
|
|
62
|
+
noAdditionalFilters: string;
|
|
63
|
+
};
|
|
64
|
+
tabs: {
|
|
65
|
+
resources: string;
|
|
66
|
+
pools: string;
|
|
67
|
+
allocations: string;
|
|
68
|
+
assignments: string;
|
|
69
|
+
closeouts: string;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
41
72
|
overview: {
|
|
42
73
|
metrics: {
|
|
43
74
|
activeResources: {
|
|
@@ -179,6 +210,89 @@ export type ResourcesUiMessages = {
|
|
|
179
210
|
};
|
|
180
211
|
};
|
|
181
212
|
};
|
|
213
|
+
detailPages: {
|
|
214
|
+
common: {
|
|
215
|
+
backToResources: string;
|
|
216
|
+
booking: string;
|
|
217
|
+
capacity: string;
|
|
218
|
+
code: string;
|
|
219
|
+
created: string;
|
|
220
|
+
delete: string;
|
|
221
|
+
noBooking: string;
|
|
222
|
+
noPool: string;
|
|
223
|
+
noResource: string;
|
|
224
|
+
noRule: string;
|
|
225
|
+
noStartTime: string;
|
|
226
|
+
noValue: string;
|
|
227
|
+
notes: string;
|
|
228
|
+
openPool: string;
|
|
229
|
+
openProduct: string;
|
|
230
|
+
openResource: string;
|
|
231
|
+
openSlot: string;
|
|
232
|
+
openSupplier: string;
|
|
233
|
+
pool: string;
|
|
234
|
+
product: string;
|
|
235
|
+
quantity: string;
|
|
236
|
+
resource: string;
|
|
237
|
+
slot: string;
|
|
238
|
+
supplier: string;
|
|
239
|
+
to: string;
|
|
240
|
+
updated: string;
|
|
241
|
+
};
|
|
242
|
+
resource: {
|
|
243
|
+
assignmentsEmpty: string;
|
|
244
|
+
assignmentsTitle: string;
|
|
245
|
+
assignedBy: string;
|
|
246
|
+
closeoutsEmpty: string;
|
|
247
|
+
closeoutsTitle: string;
|
|
248
|
+
createdBy: string;
|
|
249
|
+
deleteConfirm: string;
|
|
250
|
+
deleteFailed: string;
|
|
251
|
+
detailsTitle: string;
|
|
252
|
+
loadFailed: string;
|
|
253
|
+
noSupplierAssigned: string;
|
|
254
|
+
notFound: string;
|
|
255
|
+
poolMembershipsEmpty: string;
|
|
256
|
+
poolMembershipsTitle: string;
|
|
257
|
+
released: string;
|
|
258
|
+
};
|
|
259
|
+
pool: {
|
|
260
|
+
allocationsEmpty: string;
|
|
261
|
+
allocationsTitle: string;
|
|
262
|
+
deleteConfirm: string;
|
|
263
|
+
deleteFailed: string;
|
|
264
|
+
detailsTitle: string;
|
|
265
|
+
liveAssignmentsEmpty: string;
|
|
266
|
+
liveAssignmentsTitle: string;
|
|
267
|
+
loadFailed: string;
|
|
268
|
+
membersEmpty: string;
|
|
269
|
+
membersTitle: string;
|
|
270
|
+
noResource: string;
|
|
271
|
+
notFound: string;
|
|
272
|
+
sharedCapacity: string;
|
|
273
|
+
};
|
|
274
|
+
allocation: {
|
|
275
|
+
deleteConfirm: string;
|
|
276
|
+
deleteFailed: string;
|
|
277
|
+
detailsTitle: string;
|
|
278
|
+
loadFailed: string;
|
|
279
|
+
notFound: string;
|
|
280
|
+
pageTitle: string;
|
|
281
|
+
priority: string;
|
|
282
|
+
rule: string;
|
|
283
|
+
startTime: string;
|
|
284
|
+
};
|
|
285
|
+
assignment: {
|
|
286
|
+
assignedBy: string;
|
|
287
|
+
deleteConfirm: string;
|
|
288
|
+
deleteFailed: string;
|
|
289
|
+
detailsTitle: string;
|
|
290
|
+
loadFailed: string;
|
|
291
|
+
notFound: string;
|
|
292
|
+
pageTitle: string;
|
|
293
|
+
released: string;
|
|
294
|
+
};
|
|
295
|
+
};
|
|
182
296
|
};
|
|
183
297
|
export {};
|
|
184
298
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/ro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,aAAa,EAAE,mBAsX3B,CAAA"}
|