4
0

ExecutionFeedbackButton.js 1007 B

1234567891011121314151617181920212223242526272829
  1. export class ExecutionFeedbackButton extends window.HTMLElement {
  2. onExecutionFinished (LogEntry) {
  3. if (LogEntry.timedOut) {
  4. this.renderExecutionResult('action-timeout', 'Timed out')
  5. } else if (LogEntry.blocked) {
  6. this.renderExecutionResult('action-blocked', 'Blocked!')
  7. } else if (LogEntry.exitCode !== 0) {
  8. this.renderExecutionResult('action-nonzero-exit', 'Exit code ' + LogEntry.exitCode)
  9. } else {
  10. this.ellapsed = Math.ceil(new Date(LogEntry.datetimeFinished) - new Date(LogEntry.datetimeStarted)) / 1000
  11. this.renderExecutionResult('action-success', 'Success!')
  12. }
  13. }
  14. renderExecutionResult (resultCssClass, temporaryStatusMessage) {
  15. this.updateDom(resultCssClass, '[' + temporaryStatusMessage + ']')
  16. this.onExecStatusChanged()
  17. }
  18. updateDom (resultCssClass, title) {
  19. if (resultCssClass == null) {
  20. this.btn.className = ''
  21. } else {
  22. this.btn.classList.add(resultCssClass)
  23. }
  24. this.domTitle.innerText = title
  25. }
  26. }