Serial allocation
A React block (a whole screen) in Beamline's Inventory app.
A receipt line's serial numbers. Serials generated from a first serial and how many (its digits counted up, padding kept; a first serial without digits said), or pasted one per line or separated by commas; kept and added to, or replacing, the serials the line holds, each choice saying what happens to them. The preview says what is new, kept and removed, in counts and serial by serial, and refuses a serial repeated in the list, already on the line or already on another receipt, with where. More serials than ordered, or units still without one, are said before saving; a save refused because a serial was taken meanwhile keeps the list.
Use it for
- Giving serial numbers to a receipt or delivery line in bulk, from a delivery note's first number or a pasted list.
- Anywhere a bulk change must show what it adds, keeps and removes before it is saved, and refuse duplicates with where they are.
Not for
- Scanning serials one at a time at the dock (scan-station).
- Counting stock (stock-count).
Anatomy
- header: the product's mark, the title, the receipt, product and quantity ordered
- source: Generate or Paste; first serial (an example as its placeholder) and how many, or the pasted list; keep and add, or replace (what each does shows in the preview's counts)
- preview: after saving, the line's count of ordered as the figure (warning-toned when off); new, kept, removed and refused counts; the refused serials with why; each serial as kept, new or removed
- foot: more than ordered or units without a serial, the refusal, saved, and Save with the count
States
- generate: first serial without digits (said); nothing entered
- paste: repeats in the list refused; serials on another receipt refused with where
- add: kept and new; a serial already on the line refused
- replace: kept, new and removed
- count: matches the order; more than ordered (said, still savable); units without a serial (said)
- save: nothing changed (disabled); saving; saved; refused with the reason (list kept)
- phone: the source over the preview
- right to left: the layout mirrors
- reduced motion: through the tokens
Keyboard
- Arrows within Generate and Paste and within the add or replace choice; Tab through the first serial, how many (arrows step) or the list, then Save
Motion
Nothing moves beyond the parts' own feedback. Nothing runs at rest.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
line (required) | SerialLine | — | |
defaultSerials (required) | string[] | — | Serials on the line now. |
takenElsewhere | Record<string, string> | — | Serials already on other lines or receipts, with where ("WH/IN/0219"); a serial there is refused. |
defaultSource | "generate" | "paste" | — | |
defaultFirst | string | — | |
defaultCount | number | null | — | |
defaultPasted | string | — | |
defaultMode | "add" | "replace" | — | |
onSave | ((serials: string[]) => Promise<unknown>) | — | Save the line's serials; reject (a serial taken meanwhile) to keep the draft. |
product | string | — | Your product's name, shown as its mark. |
className | string | — | Classes on the documented visual root; no override by default. |
ref | Ref<HTMLDivElement> | — | Receives the documented native target or imperative handle; omitted by default. |
Built from
- Avatar
- Button
- Empty state
- Input
- Label
- Number field
- Radio group
- Segmented control
- Select
- Skeleton
- Spinner
- Text morph
- Textarea
- Tooltip
Import
import { SerialAllocation } from "@beamline/serial-allocation";
Get it
Serial allocation is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent
More in Inventory
- Stock count: A shelf counted. Count: the products on it with counted units, not counted (an empty field that changes nothing) kept apart from a counted zero, expected…
- Inventory counts: Recurring stock counts from plan to shelf: a phone-first count of one occurrence where an untouched part reads not counted and a zero reads counted, none…
- Goods receiving: Goods received against purchase orders and invoices. Cards grouped by purchase order or invoice, each line once whichever way (a line keeps both sources…
- Purchase order desk: Purchase orders for stock from draft to closed. The list of orders with status (ready for review on warning, approved, ordered and partly received on…
- Restock desk: Restocking from suppliers' own shops. Items low on stock (below the minimum on danger, at it on warning, unknown said) beside the chosen item with how…
- Stock alerts: Alerts on stock counts and expiry dates. Counts of alerts gone off (danger) and close (warning) in the header. A table: item and type, the rule in words…
- Inventory finder: Find stock and act on what's found. A rail of filters: name or SKU; folders with or without their subfolders (folders the person can't see said as not…
- Item setup: Setting items up for scanning and records. Barcodes: scanned codes waiting to be linked, each with its symbology, when and who; Look it up brings a…
- Bulk item edit: Many items corrected at once. Pick a folder, with its subfolders or not (fixed once anything is edited), up to a limit said. The items in a grid: name…
- Kit builder: A kit (bundle) made of standalone products, and how many its parts' stock can make. Sell as a kit; the parts in one kit with units per kit, removable…
- Stock moves: Where stock went, and moving it. The ledger lists movements newest first: moves on info, stock added on success, stock taken out on warning; each with…
- Scan station: A warehouse scanner, phone-first. Home: one scan field that also takes typing (and says so when the scanner isn't connected), each code named as what it…
- Pack station: A packing bench. Scanner, scale and printer each said, on the warning tone when away. Find the shipment by scanning or typing its number (none found…
- Shipment split: An order's lines split across shipments. A table of lines with what was ordered and a column per shipment (new ones marked); a line already shipped can't…
- Route plan: A day's delivery routes in the service's zone. The day at a glance: routes, routes without a driver (warning), stops running late (danger), stops done…
- Job materials: Materials sent out to jobs and pick lists. Jobs: the list (draft, active on info, completed on success) beside the chosen job with its site, dates (the…
- Service tasks: A fleet shop's maintenance setup. Tasks: active and archived, searchable, main tasks and their subtasks told apart in words, archiving refused while…
- Owner records: Who a customer is and what they own, at the front desk. New customer: name, phone and email checked as typed against existing customers; each likely…
- Sample storage: Where physical items are kept (rooms, freezers, shelves, racks, boxes) and acting on several at once. The storage tree is browsed apart from moving: Move…
- Sample ledger: Materials used in a record and the containers they came from, plus pooling. Subtracting a used amount writes a stock movement with its unit and the…