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 }