Body, Mind & Soul — API Reference
    Preparing search index...

    Multi-target scry arrangement dialog.

    Opens on the granter's client (routed via promptFor). Renders one row per target, each row showing the target's portrait and the top N peeked cards from their default deck. The user can click a row to activate it; the active row enables drag-reorder and discard checkboxes. Other rows are read-only previews.

    For "each" iterator mode, callers loop with a 1-target spec — same dialog, single row, no scroll needed. For "all" iterator mode, all targets are rendered in a vertically scrollable container.

    Returns (via Promise.resolve) the per-target arrangement: [{ actorId, sourceDeckId, keptCardIds: string[], discardedCardIds: string[] }, ...]

    Cancel resolves to null. The granter's user is responsible for surface-level UI; the calling outcome (running on the GM/executor) takes the returned arrangement and applies the writes.

    Hierarchy

    • any
      • ScryArrangeDialog
    Index
    • Parameters

      • opts: {
            iteratorMode?: "each" | "all";
            onResolve: (result: any) => void;
            targets: {
                actorId: any;
                actorImg: any;
                actorName: any;
                cards: { id: any; img: any; name: any; value: any }[];
                deckName: any;
                sourceDeckId: any;
            }[];
            title?: string;
        } = {}

      Returns ScryArrangeDialog

    _dialogTitle: string | undefined
    _iteratorMode: "each" | "all"
    _onResolve: (result: any) => void
    _resolved: boolean
    _targets: {
        actorId: any;
        actorImg: any;
        actorName: any;
        cards: { discard: boolean; id: any; img: any; name: any; value: any }[];
        deckName: any;
        sourceDeckId: any;
    }[]
    _resolved: boolean | undefined
    DEFAULT_OPTIONS: {
        actions: {
            cancel: (_event: any, _button: any) => void;
            confirm: (_event: any, _button: any) => Promise<void>;
        };
        classes: string[];
        id: string;
        position: { height: number; width: number };
        tag: string;
        window: { contentClasses: string[]; resizable: boolean; title: string };
    } = ...
    PARTS: { form: { template: string } } = ...
    • get title(): string

      Returns string

    • Parameters

      • options: any

      Returns void

    • Parameters

      • event: any

      Returns void

    • Parameters

      • event: any

      Returns void

    • Parameters

      • context: any
      • options: any

      Returns void

    • Parameters

      • _options: any

      Returns Promise<
          {
              isAll: boolean;
              iteratorMode: "each"
              | "all";
              targets: {
                  actorId: any;
                  actorImg: any;
                  actorName: any;
                  cards: { discard: boolean; id: any; img: any; name: any; value: any }[];
                  deckName: any;
                  sourceDeckId: any;
              }[];
          },
      >

    • Parameters

      • _event: any
      • _button: any

      Returns void

    • Parameters

      • _event: any
      • _button: any

      Returns Promise<void>