kit

Action group

Built revision v17.10.0

React
Topics

Human support

Bring a missing role, layout, or state, or a rendering against the standard, to the session working on kit. Name the package and the entry.

On Shell, Home, List, Record, Form, Stepped flow, Settings, Issued document

Action group

Return to bookings
Add your first roomReturn to setup
Return to the booking

Add the hirer’s email before sending.

Return to invoice

Send invoice is waiting, and More stands before the way back.

Add the hirer’s email before sending.

A sent invoice can’t be changed until it is filed.

Return to invoice

Draft saved.

Invoice actions with resending waiting on an email address.

Add the hirer’s email before sending.

Add the hirer’s email before resending.

Continue is waiting on a field and a choice in its form.

Rooms

Continue needs the hirer’s name and a room.

Invoice actions with a refused step held above them
Return to invoice

Not saved

Source
@react.component
let make = () =>
  <>
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Send invoice")})
      secondary=[
        SecondaryAction({children: React.string("Save as draft")}),
      ]
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to bookings")}</KitReact.Roles.WayBack>}
    />
    <KitReact.Roles.ActionGroup
      lead=EmphasisedNextAction({children: React.string("Add your first room"), href: "#role-action-group"})
      secondary=[
        SecondaryAction({children: React.string("Import rooms from a file")}),
      ]
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to setup")}</KitReact.Roles.WayBack>}
    />
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Confirm the booking and send the invoice")})
      secondary=[
        SecondaryAction({children: React.string("Hold the room without an invoice")}),
        SecondaryAction({children: React.string("Ask Oakmere Primary School for the missing details")}),
      ]
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to the booking")}</KitReact.Roles.WayBack>}
    />
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Send reminder")})
      secondary=[
        SecondaryAction({children: React.string("Mark as paid")}),
      ]
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to invoice")}</KitReact.Roles.WayBack>}
      routes={<>
        <a href="#role-action-group">{React.string("View invoices")}</a>
        <a href="#role-action-group">{React.string("View payments received this month")}</a>
        <a href="#role-action-group">{React.string("View the client's bookings")}</a>
      </>}
    />
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Send invoice"), state: KitReact.ActionState.Inert({id: "action-group-send", words: [KitReact.Words.Text("Add the hirer’s email before sending.")]})})
      secondary=[
        SecondaryAction({children: React.string("Save as draft")}),
      ]
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to invoice")}</KitReact.Roles.WayBack>}
    />
    <p className="specimen-case-line" id="role-action-group-more">{React.string("Send invoice is waiting, and More stands before the way back.")}</p>
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Send invoice"), state: KitReact.ActionState.Inert({id: "action-group-file", words: [KitReact.Words.Text("Add the hirer’s email before sending.")]})})
      secondary=[SecondaryAction({children: React.string("Save as draft")})]
      more={KitReact.Roles.ActionMenu.role({
        id: "action-group-more",
        label: "More actions for this invoice",
        state: Inert({id: "action-group-more-trigger", words: [KitReact.Words.Text("A sent invoice can’t be changed until it is filed.")]}),
        groups: [
          {items: [KitReact.Menu.Item({name: "Edit", icon: KitReact.Icons.iconPencilSimple, keys: ["E"]}), KitReact.Menu.Item({name: "Duplicate", icon: KitReact.Icons.iconCopy, keys: ["Ctrl", "D"]})]},
          {items: [KitReact.Menu.Destructive({name: "Delete invoice", icon: KitReact.Icons.iconTrash})]},
        ],
      })}
      return={<KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to invoice")}</KitReact.Roles.WayBack>}
      statusLines=[{children: React.string("Draft saved.")}]
      routes={<a href="#role-action-group">{React.string("View invoices")}</a>}
    />
    <p className="specimen-case-line" id="role-action-group-fold">{React.string("Invoice actions with resending waiting on an email address.")}</p>
    <KitReact.Roles.ActionGroup
      lead=PrimaryAction({children: React.string("Send invoice"), state: KitReact.ActionState.Inert({id: "action-group-fold-send", words: [KitReact.Words.Text("Add the hirer’s email before sending.")]})})
      secondary=[
        SecondaryAction({children: React.string("Save as draft")}),
        SecondaryAction({children: React.string("Print invoice")}),
        Form({props: {action: "#role-action-group"}, action: SecondaryAction({children: React.string("Resend invoice"), props: {type_: "submit"}, state: KitReact.ActionState.Inert({id: "action-group-fold-resend", words: [KitReact.Words.Text("Add the hirer’s email before resending.")]})})}),
        SecondaryAction({children: React.string("Download invoice")}),
      ]
      more={KitReact.Roles.ActionMenu.role({id: "action-group-fold-more", label: "More actions for this invoice", groups: []})}
    />
    <p className="specimen-case-line" id="role-action-group-waiting">{React.string("Continue is waiting on a field and a choice in its form.")}</p>
    <form>
      <KitReact.Roles.FormGroup id="action-group-hirer"  label={React.string("Hirer’s name")} controlProps={{name: "hirer"}} kind=Text(Medium) />
      <KitReact.Roles.SelectionControl.Group
        id="action-group-rooms"
        legend={React.string("Rooms")}
        choices={[("main-hall", "Main hall"), ("studio", "Studio")]->Array.map(((value, label)): KitReact.Roles.SelectionControl.Group.choice<KitReact.Roles.SelectionControl.Group.kind> => {
          label: React.string(label), kind: KitReact.Roles.SelectionControl.Group.Checkbox, checked: false, printedValue: [KitReact.Words.Text("Not booked")], props: {}, controlProps: {name: "rooms", value}, outputProps: {}, reasonProps: {},
        })}
      />
      <KitReact.Roles.ActionGroup
        lead=PrimaryAction({children: React.string("Continue"), state: KitReact.ActionState.Inert({id: "action-group-continue", words: [KitReact.Words.Text("Continue needs the hirer’s name and a room.")], waitsOn: ["hirer", "rooms"]})})
      />
    </form>
  <KitReact.ActionGroupSaving
    unsaved=Some({state: Attention, standing: [KitReact.Words.Text("Not saved")]})
    group={
      refusal: {id: "action-group-refusal", line: React.string("Issue refund is refused until both transfers on this invoice have arrived.")},
      lead: PrimaryAction({children: React.string("Send invoice")}),
      secondary: [SecondaryAction({children: React.string("Save as draft")})],
      return: <KitReact.Roles.WayBack href="#role-action-group">{React.string("Return to invoice")}</KitReact.Roles.WayBack>,
    }
  />
  </>