|
146 | 146 | const workflowTaskId = event.currentTarget.getAttribute('data-fs-target'); |
147 | 147 | const wft = workflow.task_list.find((task) => task.id == workflowTaskId); |
148 | 148 | if (argumentsWithUnsavedChanges === true) { |
149 | | - // eslint-disable-next-line no-undef |
150 | | - const modal = new bootstrap.Modal(document.getElementById('changes-unsaved-dialog'), {}); |
151 | | - modal.toggle(); |
| 149 | + toggleUnsavedChangesModal(); |
152 | 150 | preventedTaskContextChange = wft; |
153 | 151 | throw new Error('Cannot change workflow task context while there are unsaved changes'); |
154 | 152 | } |
155 | 153 | setWorkflowTaskContext(wft); |
156 | 154 | } |
157 | 155 |
|
| 156 | + function toggleUnsavedChangesModal() { |
| 157 | + // eslint-disable-next-line no-undef |
| 158 | + const modal = new bootstrap.Modal(document.getElementById('changes-unsaved-dialog'), {}); |
| 159 | + modal.toggle(); |
| 160 | + } |
| 161 | +
|
158 | 162 | function setWorkflowTaskContext(wft) { |
159 | 163 | workflowTaskContext.set(wft); |
160 | 164 | // Check if args schema is available |
|
307 | 311 | </ol> |
308 | 312 | </nav> |
309 | 313 | <div> |
310 | | - <a href="/projects/{project?.id}/jobs?workflow={workflow?.id}" class="btn btn-light" |
311 | | - ><i class="bi-journal-code" /> List jobs</a |
| 314 | + <a href='/projects/{project?.id}/jobs?workflow={workflow?.id}' class='btn btn-light' |
| 315 | + ><i class='bi-journal-code' /> List jobs</a |
312 | 316 | > |
313 | | - <button class="btn btn-light" on:click|preventDefault={handleExportWorkflow} |
314 | | - ><i class="bi-box-arrow-up" /></button |
| 317 | + <button class='btn btn-light' on:click|preventDefault={handleExportWorkflow} |
| 318 | + ><i class='bi-box-arrow-up' /></button |
315 | 319 | > |
316 | | - <a id="downloadWorkflowButton" class="d-none">Download workflow link</a> |
317 | | - <button class="btn btn-light" data-bs-toggle="modal" data-bs-target="#editWorkflowModal" |
318 | | - ><i class="bi-gear-wide-connected" /></button |
| 320 | + <a id='downloadWorkflowButton' class='d-none'>Download workflow link</a> |
| 321 | + <button class='btn btn-light' data-bs-toggle='modal' data-bs-target='#editWorkflowModal' |
| 322 | + ><i class='bi-gear-wide-connected' /></button |
319 | 323 | > |
320 | | - <button class="btn btn-success" data-bs-toggle="modal" data-bs-target="#runWorkflowModal" |
321 | | - ><i class="bi-play-fill" /> Run workflow</button |
| 324 | + <button class='btn btn-success' on:click|preventDefault={() => { |
| 325 | + // eslint-disable-next-line |
| 326 | + if (argumentsWithUnsavedChanges === false) { |
| 327 | + const modal = new bootstrap.Modal(document.getElementById('runWorkflowModal')); |
| 328 | + modal.toggle(); |
| 329 | + } else { |
| 330 | + toggleUnsavedChangesModal() |
| 331 | + } |
| 332 | + }} |
| 333 | + ><i class='bi-play-fill' /> Run workflow |
| 334 | + </button |
322 | 335 | > |
323 | 336 | </div> |
324 | 337 | </div> |
|
0 commit comments