@qrcommunication/gigapdf-lib — SDK API reference - v0.110.3
    Preparing search index...

    Type Alias ModelOp

    ModelOp:
        | { op: "setRunText"; addr: GigaBlockAddr; run: number; text: string }
        | {
            op: "restyleRun";
            addr: GigaBlockAddr;
            run: number;
            style: GigaStylePatch;
        }
        | {
            op: "insertRun";
            addr: GigaBlockAddr;
            run: number;
            text: string;
            style?: GigaStylePatch;
        }
        | { op: "deleteRun"; addr: GigaBlockAddr; run: number }
        | { op: "insertBlock"; addr: GigaBlockAddr; block: GigaBlock }
        | { op: "deleteBlock"; addr: GigaBlockAddr }
        | { op: "moveBlock"; addr: GigaBlockAddr; to: GigaBlockAddr }
        | { op: "setBlockText"; addr: GigaBlockAddr; text: string }
        | { op: "restyleBlock"; addr: GigaBlockAddr; style: GigaStylePatch }
        | {
            op: "setCellText";
            addr: GigaBlockAddr;
            row: number;
            col: number;
            text: string;
        }
        | {
            op: "setSheetCell";
            addr: GigaBlockAddr;
            sheet: number;
            row: number;
            col: number;
            value: GigaCellValue;
        }
        | { op: "insertTableRow"; addr: GigaBlockAddr; at: number }
        | { op: "deleteTableRow"; addr: GigaBlockAddr; at: number }
        | { op: "insertTableColumn"; addr: GigaBlockAddr; at: number }
        | { op: "deleteTableColumn"; addr: GigaBlockAddr; at: number }
        | {
            op: "setCellSpan";
            addr: GigaBlockAddr;
            row: number;
            col: number;
            col_span: number;
            row_span: number;
        }
        | { op: "insertSheetRow"; addr: GigaBlockAddr; sheet: number; at: number }
        | { op: "deleteSheetRow"; addr: GigaBlockAddr; sheet: number; at: number }
        | {
            op: "insertSheetColumn";
            addr: GigaBlockAddr;
            sheet: number;
            at: number;
        }
        | {
            op: "deleteSheetColumn";
            addr: GigaBlockAddr;
            sheet: number;
            at: number;
        }
        | { op: "setParagraphStyle"; addr: GigaBlockAddr; patch: GigaParaPatch }
        | { op: "setListLevel"; addr: GigaBlockAddr; level: number }
        | { op: "setListMarker"; addr: GigaBlockAddr; marker: GigaListMarker }
        | { op: "setListOrdered"; addr: GigaBlockAddr; ordered: boolean }
        | { op: "setBlockFrame"; addr: GigaBlockAddr; rect: GigaRect }
        | { op: "setBlockRotation"; addr: GigaBlockAddr; deg: number }
        | {
            op: "setCellShading";
            addr: GigaBlockAddr;
            row: number;
            col: number;
            color: [number, number, number] | null;
        }
        | { op: "setRowHeight"; addr: GigaBlockAddr; row: number; height: number }
        | { op: "setColWidth"; addr: GigaBlockAddr; col: number; width: number }
        | { op: "setTableBorder"; addr: GigaBlockAddr; border: GigaBorderStyle }

    A single editing operation against a GigaDocument model, mirroring the JSON shape of model::edit::ModelOp. Pass an array to GigaPdfEngine.applyModelOps; ops run in order and out-of-range addresses are no-ops.

    Type Declaration

    • { op: "setRunText"; addr: GigaBlockAddr; run: number; text: string }
    • { op: "restyleRun"; addr: GigaBlockAddr; run: number; style: GigaStylePatch }
    • {
          op: "insertRun";
          addr: GigaBlockAddr;
          run: number;
          text: string;
          style?: GigaStylePatch;
      }
    • { op: "deleteRun"; addr: GigaBlockAddr; run: number }
    • { op: "insertBlock"; addr: GigaBlockAddr; block: GigaBlock }
    • { op: "deleteBlock"; addr: GigaBlockAddr }
    • { op: "moveBlock"; addr: GigaBlockAddr; to: GigaBlockAddr }
    • { op: "setBlockText"; addr: GigaBlockAddr; text: string }
    • { op: "restyleBlock"; addr: GigaBlockAddr; style: GigaStylePatch }
    • {
          op: "setCellText";
          addr: GigaBlockAddr;
          row: number;
          col: number;
          text: string;
      }
    • {
          op: "setSheetCell";
          addr: GigaBlockAddr;
          sheet: number;
          row: number;
          col: number;
          value: GigaCellValue;
      }
    • { op: "insertTableRow"; addr: GigaBlockAddr; at: number }
    • { op: "deleteTableRow"; addr: GigaBlockAddr; at: number }
    • { op: "insertTableColumn"; addr: GigaBlockAddr; at: number }
    • { op: "deleteTableColumn"; addr: GigaBlockAddr; at: number }
    • {
          op: "setCellSpan";
          addr: GigaBlockAddr;
          row: number;
          col: number;
          col_span: number;
          row_span: number;
      }
      • op: "setCellSpan"
      • addr: GigaBlockAddr
      • row: number

        Row index in rows.

      • col: number

        Cell index in rows[row].cells (not a grid column).

      • col_span: number

        Columns the cell spans (clamped to ≥ 1).

      • row_span: number

        Rows the cell spans (clamped to ≥ 1).

    • { op: "insertSheetRow"; addr: GigaBlockAddr; sheet: number; at: number }
    • { op: "deleteSheetRow"; addr: GigaBlockAddr; sheet: number; at: number }
    • { op: "insertSheetColumn"; addr: GigaBlockAddr; sheet: number; at: number }
    • { op: "deleteSheetColumn"; addr: GigaBlockAddr; sheet: number; at: number }
    • { op: "setParagraphStyle"; addr: GigaBlockAddr; patch: GigaParaPatch }
    • { op: "setListLevel"; addr: GigaBlockAddr; level: number }
    • { op: "setListMarker"; addr: GigaBlockAddr; marker: GigaListMarker }
    • { op: "setListOrdered"; addr: GigaBlockAddr; ordered: boolean }
    • { op: "setBlockFrame"; addr: GigaBlockAddr; rect: GigaRect }
    • { op: "setBlockRotation"; addr: GigaBlockAddr; deg: number }

      deg is CCW; 0/90/180/270 snap to exact rotations, else an arbitrary angle.

    • {
          op: "setCellShading";
          addr: GigaBlockAddr;
          row: number;
          col: number;
          color: [number, number, number] | null;
      }

      color: null clears the cell's shading; a triple sets it.

    • { op: "setRowHeight"; addr: GigaBlockAddr; row: number; height: number }
    • { op: "setColWidth"; addr: GigaBlockAddr; col: number; width: number }
    • { op: "setTableBorder"; addr: GigaBlockAddr; border: GigaBorderStyle }