github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/web/src/trigger.tsx (about)

     1  // Helpers for triggering updates.
     2  
     3  import { TriggerMode } from "./types"
     4  
     5  export const BuildButtonTooltip = {
     6    AlreadyQueued: "Resource already queued!",
     7    NeedsManualTrigger: "Trigger update to sync changes",
     8    UpdateInProgOrPending: "Resource already updating!",
     9    Stop: "Stop update",
    10    Default: "Trigger update",
    11  }
    12  
    13  export function buildButtonTooltip(
    14    isClickable: boolean,
    15    isEmphasized: boolean,
    16    isQueued: boolean
    17  ): string {
    18    if (isQueued) {
    19      return BuildButtonTooltip.AlreadyQueued
    20    } else if (!isClickable) {
    21      return BuildButtonTooltip.UpdateInProgOrPending
    22    } else if (isEmphasized) {
    23      return BuildButtonTooltip.NeedsManualTrigger
    24    } else {
    25      return BuildButtonTooltip.Default
    26    }
    27  }
    28  
    29  export function startBuild(name: string) {
    30    let url = `/api/trigger`
    31  
    32    fetch(url, {
    33      method: "post",
    34      body: JSON.stringify({
    35        manifest_names: [name],
    36        build_reason: 16 /* BuildReasonFlagTriggerWeb */,
    37      }),
    38    }).then((response) => {
    39      if (!response.ok) {
    40        console.log(response)
    41      }
    42    })
    43  }
    44  
    45  export function toggleTriggerMode(name: string, mode: TriggerMode) {
    46    let url = "/api/override/trigger_mode"
    47  
    48    fetch(url, {
    49      method: "post",
    50      body: JSON.stringify({
    51        manifest_names: [name],
    52        trigger_mode: mode,
    53      }),
    54    }).then((response) => {
    55      if (!response.ok) {
    56        console.log(response)
    57      }
    58    })
    59  }