You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
5.3 KiB

  1. {% extends "base.html" %}
  2. {% load static %}
  3. {% load widget_tweaks %}
  4. {% block content %}
  5. <div id="projects_root" v-cloak>
  6. <section class="hero project-image">
  7. <div class="container">
  8. <div class="columns">
  9. <div class="column is-10 is-offset-1">
  10. <h1 class="title is-1 has-text-white">
  11. Hello, {{ user.get_username | title }}.
  12. </h1>
  13. <h2 class="subtitle is-4 has-text-white">
  14. I hope you are having a great day!
  15. </h2>
  16. {% if user.is_superuser %}
  17. <p>
  18. <a class="button is-medium is-primary" @click="isActive=!isActive">
  19. Create Project
  20. </a>
  21. </p>
  22. {% endif %}
  23. </div>
  24. </div>
  25. </div>
  26. </section>
  27. <!-- Modal card for creating project. -->
  28. <div class="modal" :class="{ 'is-active': isActive }">
  29. <div class="modal-background"></div>
  30. <div class="modal-card">
  31. <header class="modal-card-head">
  32. <p class="modal-card-title">Create Project</p>
  33. <button class="delete" aria-label="close" @click="isActive=!isActive"></button>
  34. </header>
  35. <form method="post">
  36. {% csrf_token %}
  37. <section class="modal-card-body">
  38. {% for hidden_field in form.hidden_fields %}
  39. {{ hidden_field }}
  40. {% endfor %}
  41. {% for field in form.visible_fields %}
  42. <div class="field">
  43. {{ field.label_tag }}
  44. <div class="control">
  45. {% render_field field class="input select-height" %}
  46. </div>
  47. {% if field.help_text %}
  48. <small class="form-text text-muted">{{ field.help_text }}</small>
  49. {% endif %}
  50. </div>
  51. {% endfor %}
  52. </section>
  53. <footer class="modal-card-foot pt20 pb20 pr20 pl20 has-background-white-ter">
  54. <button class="button is-primary">Create</button>
  55. <button class="button" @click="isActive=!isActive">Cancel</button>
  56. </footer>
  57. </form>
  58. </div>
  59. </div>
  60. <div class="modal" :class="{ 'is-active': isDelete }">
  61. <div class="modal-background"></div>
  62. <div class="modal-card">
  63. <header class="modal-card-head">
  64. <p class="modal-card-title">Delete Project</p>
  65. <button class="delete" aria-label="close" @click="isDelete=!isDelete"></button>
  66. </header>
  67. <section class="modal-card-body">
  68. Are you sure you want to delete project?
  69. </section>
  70. <footer class="modal-card-foot pt20 pb20 pr20 pl20 has-background-white-ter">
  71. <button class="button is-danger" @click="deleteProject()">Delete</button>
  72. <button class="button" @click="isDelete=!isDelete">Cancel</button>
  73. </footer>
  74. </div>
  75. </div>
  76. <section class="hero">
  77. <div class="container">
  78. <div class="columns">
  79. <div class="column is-10 is-offset-1">
  80. <div class="card events-card">
  81. <header class="card-header">
  82. <p class="card-header-title">
  83. [[ items.length ]] Projects
  84. </p>
  85. <div class="field card-header-icon">
  86. <div class="control">
  87. <div class="select">
  88. <select v-model="selected">
  89. <option selected>All Project</option>
  90. <option>Text Classification</option>
  91. <option>Sequence Labeling</option>
  92. <option>Seq2seq</option>
  93. </select>
  94. </div>
  95. </div>
  96. </div>
  97. </header>
  98. <div class="card-table">
  99. <div class="content">
  100. <table class="table is-fullwidth">
  101. <tbody>
  102. <tr v-for="project in selectedProjects">
  103. <td class="pl15r">
  104. <div class="thumbnail-wrapper is-vertical">
  105. <img class="project-thumbnail" v-bind:src="project.image">
  106. </div>
  107. <div class="dataset-item__main is-vertical">
  108. <div class="dataset-item__main-title">
  109. <div class="dataset-item__main-title-link dataset-item__link">
  110. <a v-bind:href="'/projects/' + project.id" class="has-text-black">[[ project.name ]]</a>
  111. </div>
  112. </div>
  113. <div class="dataset-item__main-subtitle">
  114. [[ project.description ]]
  115. </div>
  116. <div class="dataset-item__main-info">
  117. <span class="dataset-item__main-update">updated <span>[[ getDaysAgo(project.updated_at) ]] days ago</span></span></div>
  118. </div>
  119. </td>
  120. <td class="is-vertical"><span class="tag is-normal">[[ project.project_type ]]</span></td>
  121. {% if user.is_superuser %}
  122. <td class="is-vertical"><a v-bind:href="'/projects/' + project.id + '/docs'">Edit</a></td>
  123. <td class="is-vertical"><a class="has-text-danger" @click="setProject(project)">Delete</a></td>
  124. {% endif %}
  125. </tr>
  126. </tbody>
  127. </table>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. </section>
  135. </div>
  136. {% endblock %}
  137. {% block footer %}
  138. <script src="{% static 'bundle/projects.js' %}"></script>
  139. {% endblock %}