Run of show

A React block (a whole screen) in Beamline's Manufacturing app.

One service or event plan's order, run more than once: sections and items with each occurrence's start time in its own column, each item's length dragged on its bar (value-grip; arrows and the minutes field its twins) so every later start moves, items before or after the service drawn hollow outside it and never added to its length, an item shared by every occurrence or kept to one. The selected item opens beside the order: length, when, which services, leaders, notes and its linked song's key; unlinking leaves the song in the library. Saving, saved and a conflict with someone else's change are said apart.

Use it for

  • An order run more than once with its timings: a church's Sunday services, a conference session repeated, a theatre's matinee and evening cue sheet.
  • Anywhere items before and after the main event must stay out of its length, and one item can belong to one run only.

Not for

Anatomy

  • header: the product's mark, the plan and the title
  • toolbar: each occurrence's length (during items only), the save action with the changes counted; a failed save or a conflict said beside it, Reload after a conflict
  • order (table): one start-time column per occurrence ("not in this service" where an item is kept to another), the item (a song's mark, before/after the service and one-service-only said under it), its length drawn to scale with its grip and the figure
  • sections as row headings
  • inspector (side, or under on a phone): the item's title, length in minutes, When (before, during, after), In which services, a linked song with its key and Unlink, leaders, notes

States

  • item selected
  • shared cue
  • occurrence-specific cue
  • before service, during service, after service (hollow bars, outside the length)
  • linked song, unlinked item (the library record kept, said)
  • saving
  • saved
  • save failed (kept, Try again)
  • save conflict (kept, Reload)
  • look only (canEdit false)
  • loading
  • phone: the order, then the inspector under it
  • right to left: columns and bars mirror
  • reduced motion: the grip's glide off

Keyboard

  • Tab through each item's title (selects it) and its length grip, then the inspector's fields
  • On a grip: Left/Right 15 seconds, Shift a minute, Home/End the scale's ends; Escape puts the length back while held

Motion

While a grip is held the bar follows the hand in the same frame and the scale holds still; every later start time changes as it moves. Nothing runs at rest.

Props

PropTypeDefaultDescription
occurrences (required)ShowOccurrence[]—
itemsShowItem[]—
defaultItemsShowItem[]—
onItemsChange((items: ShowItem[]) => void)—
people{ id: string; name: string; }[]—People who can lead an item.
onSave((items: ShowItem[]) => Promise<unknown>)—Save the order. Reject with an Error named "ConflictError" when the plan changed elsewhere (kept, said, Reload); any other rejection keeps the changes with Try again.
onReload(() => void)—Load the plan as saved elsewhere (after a conflict).
plan (required)string—The plan's name in the header ("Sunday 8 November").
timeZonestring—
canEditboolean—false: look only, the permission said.
loadingboolean—
productstring—Your product's name, shown as its mark.
classNamestring—Classes on the documented visual root; no override by default.
refRef<HTMLDivElement>—Receives the documented native target or imperative handle; omitted by default.

Built from

Dependencies

lucide-react

Import

import { RunOfShow } from "@beamline/run-of-show";

Get it

Run of show 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 Manufacturing

  • Shop floor: A workshop's shop floor at one workstation: each job is a card at its work centre with why it isn't ready said in words (parts short, or the previous…
  • Production plan: A production plan by month: each product's starting stock, forecast demand, replenishment and ending stock, every ending rolling into the next month's…
  • Production and lots: Stock made and stored, with every movement traceable. A batch of a recipe, read as a batch sheet: the recipe, batches (in halves) and day as one sentence…
  • Print scheduler: A print shop's production schedule. The week by station: each station's day holds its runs, with a load bar and minutes used against the station's…
  • Plan readiness: A solar plan on its way to a permit. The design checks (fire setback from the ridge, string voltage in the cold, roof load, eave and rake setbacks, the…
  • Design inputs: What a solar design is checked against, and what the home really uses. Code standards and site conditions (building, electrical and fire codes, wind…
  • Solar quote: A residential solar quote. The system's price at its rate per watt with adders, discounts and incentives each switched on or off: discounts come off one…
  • Roof layout: The roof of a solar design. The roof in plan with every face's panels drawn as they lie under its roof type's rules (projected from the slope), each…
  • Electrical design: The electrical side of a solar design. The existing service set up from a named way of connecting to it (a load-side breaker or a supply-side tap), the…
  • Battery sizing: A home battery sized beside its solar. The model and how many with capacity, power and installed price; how it runs (kept full for an outage, storing…
  • Field conditions: A farm's fields and what each one's conditions are. The fields as a searchable list (each with its outline, crop, area and the layer's value, or Not…
  • Grazing plan: Mobs on a grazing rotation, on the farm's map: with a map base, its parcels are the paddocks, each filled by where it stands in the chosen mob's plan (on…
  • Sound library: A library of sounds (or any media a person auditions before using): a search by words and #tags with facets as filters, a live "3 filters · 12 results"…
  • Tag manager: Tags for one or several items at once (sounds, photos, documents). Nested tag groups are edited in place (rename, new tag), and a folded group still says…

Part of Beamline UI: polished, editable React components and complete screens for custom applications. Build your own style from any look; tokens, fonts, radii, motion; not only colours.