|
18 | 18 | <link rel="import" href="../../bower_components/iron-icon/iron-icon.html"> |
19 | 19 | <link rel="import" href="../../bower_components/paper-button/paper-button.html"> |
20 | 20 | <link rel="import" href="../../bower_components/paper-checkbox/paper-checkbox.html"> |
| 21 | +<link rel="import" href="../../bower_components/paper-dialog/paper-dialog.html"> |
| 22 | +<link rel="import" href="../../bower_components/paper-dialog-scrollable/paper-dialog-scrollable.html"> |
21 | 23 | <link rel="import" href="../../bower_components/paper-dropdown-menu/paper-dropdown-menu.html"> |
22 | 24 | <link rel="import" href="../../bower_components/paper-input/paper-input.html"> |
23 | 25 | <link rel="import" href="../../bower_components/paper-input/paper-textarea.html"> |
|
100 | 102 | on-response="handleResponse" |
101 | 103 | debounce-duration="500"></iron-ajax> |
102 | 104 |
|
| 105 | + <iron-ajax |
| 106 | + id="environmentAjax" |
| 107 | + url="/jobs/environment" |
| 108 | + method="GET" |
| 109 | + content-type="application/json" |
| 110 | + loading="{{envLoading}}" |
| 111 | + last-error="{{envError}}" |
| 112 | + last-response="{{envResponse}}" |
| 113 | + on-error="handleEnvError" |
| 114 | + on-response="handleEnvResponse"></iron-ajax> |
| 115 | + |
103 | 116 | <delete-job-dialog id="deleteJobDialog" field-values="[[fieldValues]]" job="[[toDelete]]"> |
104 | 117 | </delete-job-dialog> |
105 | 118 |
|
| 119 | + <paper-dialog id="envDialog" with-backdrop> |
| 120 | + <h2>Computed Environment</h2> |
| 121 | + <paper-dialog-scrollable> |
| 122 | + <pre id="envContent"></pre> |
| 123 | + </paper-dialog-scrollable> |
| 124 | + <div class="buttons"> |
| 125 | + <paper-button dialog-dismiss>Close</paper-button> |
| 126 | + </div> |
| 127 | + </paper-dialog> |
| 128 | + |
106 | 129 | <h2>Templates</h2> |
107 | 130 |
|
108 | 131 | <div class="section"> |
@@ -334,6 +357,7 @@ <h2>Jobs</h2> |
334 | 357 |
|
335 | 358 | <paper-button raised on-tap="submitForm" data-index$="[[index]]">Save</paper-button> |
336 | 359 | <paper-button class="info" job="[[item]]" raised on-tap="deleteJobTapped">Delete</paper-button> |
| 360 | + <paper-button raised on-tap="viewEnvironment" data-job-name$="[[item.name]]">View inherited environment</paper-button> |
337 | 361 | </div> |
338 | 362 |
|
339 | 363 | <div class="right"> |
@@ -368,6 +392,10 @@ <h2>Jobs</h2> |
368 | 392 | type: Boolean, |
369 | 393 | value: false |
370 | 394 | }, |
| 395 | + envLoading: { |
| 396 | + type: Boolean, |
| 397 | + value: false |
| 398 | + }, |
371 | 399 | submitId: { |
372 | 400 | type: Number, |
373 | 401 | value: 0 |
@@ -539,6 +567,30 @@ <h2>Jobs</h2> |
539 | 567 | stopEventPropagation(ev) { |
540 | 568 | ev.stopPropagation(); |
541 | 569 | } |
| 570 | + |
| 571 | + handleEnvError(event) { |
| 572 | + var response = event.detail.request.xhr.response; |
| 573 | + if (response.error) { |
| 574 | + this.$.envContent.textContent = 'Error: ' + response.error.message; |
| 575 | + } else { |
| 576 | + this.$.envContent.textContent = 'Error fetching environment'; |
| 577 | + } |
| 578 | + this.$.envDialog.open(); |
| 579 | + } |
| 580 | + |
| 581 | + handleEnvResponse(event) { |
| 582 | + var response = event.detail.response; |
| 583 | + this.$.envContent.textContent = Object.entries(response.environment) |
| 584 | + .map(([key, value]) => `${key} = ${value}`) |
| 585 | + .join('\n'); |
| 586 | + this.$.envDialog.open(); |
| 587 | + } |
| 588 | + |
| 589 | + viewEnvironment(event) { |
| 590 | + var jobName = event.target.dataset.jobName; |
| 591 | + this.$.environmentAjax.params = {name: jobName}; |
| 592 | + this.$.environmentAjax.generateRequest(); |
| 593 | + } |
542 | 594 | } |
543 | 595 |
|
544 | 596 | customElements.define(JobsPage.is, JobsPage); |
|
0 commit comments