enactEnd.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns:th="http://www.thymeleaf.org" th:replace="base::layout(~{::title}, ~{::main})">
  3. <head>
  4. <title>[[${session.trace.name}]] Enactment</title>
  5. </head>
  6. <body>
  7. <main>
  8. <!-- TODO Use fragment inclusion expressions to hide the panel when no ongoing automated activities are present? -->
  9. <article th:replace="fragments/automated.html :: activity(activities=${session.automated})"></article>
  10. <section class="pt-6 pb-6 pl-5 pr-5">
  11. <div class="columns">
  12. <div class="column is-two-thirds">
  13. <div class="tags are-large has-addons">
  14. <span class="tag">PM</span>
  15. <span class="tag is-primary">[[${session.pm.name}]]</span>
  16. </div>
  17. <div class="enactment pt-3">
  18. <form class="form" id="form" th:action="@{/endAct}" method="post" enctype="multipart/form-data">
  19. <div class="tags are-large has-addons">
  20. <span class="tag">ACTIVITY</span>
  21. <span class="tag is-primary">[[${act.name}]]</span>
  22. </div>
  23. <p>Choose the output port for the selected Process Model and Activity.</p>
  24. <div class="select">
  25. <select id="portSelect" name="port" th:onchange="showDiv(this)">
  26. <option th:value="1">select port</option>
  27. <option th:each="port: ${act.ctrlOutPorts}" th:value="${port.iri}" th:text="${port.name}"></option>
  28. </select>
  29. </div>
  30. <input type="hidden" th:value="${act.iri}" name="activity"/>
  31. <div id="hidden_div" class="is-hidden">
  32. <div th:if="${arts != null && arts.size > 0}">
  33. <p class="is-size-4 pt-4">Artifacts</p>
  34. <p>The selected action requires you to upload the artifact created by the Activity.</p>
  35. <th:block th:each="art : ${arts}">
  36. <p th:inline="text"><strong>Name: </strong><span class="accent">[[${art.name}]]</span></p>
  37. <p th:inline="text"><strong>Type: </strong><span class="accent">[[${art.type}]]</span></p>
  38. <div class="file has-name">
  39. <label class="file-label">
  40. <input class="file-input" type="file" th:name="${art.name}" id="input-file-${art.name}">
  41. <span class="file-cta">
  42. <span class="file-icon">
  43. <i class="fas fa-upload"></i>
  44. </span>
  45. <span class="file-label">Choose a file…</span>
  46. </span>
  47. <span class="file-name">[[${art.type}]]</span>
  48. </label>
  49. </div>
  50. </th:block>
  51. </div>
  52. <div class="control pt-4">
  53. <button type="submit" class="button is-primary">End Activity</button>
  54. </div>
  55. </div>
  56. </form>
  57. </div>
  58. </div>
  59. <div class="column">
  60. <div class="tags are-large has-addons">
  61. <span class="tag">PT</span>
  62. <span class="tag is-primary">[[${session.trace.name}]]</span>
  63. </div>
  64. <div class="details">
  65. <p th:inline="text"><strong>Trace: </strong><span class="accent">[[${session.trace.name}]]</span></p>
  66. <p th:inline="text"><strong>Started at: </strong><span class="accent">[[${session.trace.events[0].timestampF}]]</span>
  67. </p>
  68. <th:block th:each="ev : ${session.trace.events}">
  69. <p th:if="${ev.class.name == 'ua.be.wee.model.pt.StartActivityEvent'}"><strong>Begin: </strong><span
  70. class="accent" th:text="${ev.relatesTo.activity.name}"></span></p>
  71. <p th:if="${ev.class.name == 'ua.be.wee.model.pt.EndActivityEvent'}"><strong>End: </strong><span
  72. class="accent" th:text="${ev.relatesTo.activity.name}"></span></p>
  73. <p
  74. th:if="${ev.class.name == 'ua.be.wee.model.pt.EndActivityEvent' || ev.class.name == 'ua.be.wee.model.pt.StartActivityEvent'}">
  75. <strong>Port: </strong><span class="accent">[[${ev.relatesTo.name}]]</span></p>
  76. </th:block>
  77. </div>
  78. </div>
  79. </div>
  80. </section>
  81. </main>
  82. </body>
  83. </html>