scinote-web/app/views/steps/_step.html.erb

164 lines
7.1 KiB
Text
Raw Normal View History

<% preview = (defined?(preview) ? preview : false) %>
<% import = (defined?(import) ? import : false) %>
2016-07-21 19:11:15 +08:00
<div class ="step <%= step.completed? ? "completed" : "not-completed" %>">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-options pull-right">
<% if can_complete_or_checkbox_step?(@protocol) && !(preview) %>
<% if step.completed? %>
<div data-action="uncomplete-step"
class="complete-step-btn"
data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-default">
<span class="fas fa-times"></span>
<%= t("protocols.steps.options.uncomplete_title") %>
</button>
</div>
<% else %>
<div data-action="complete-step"
class="complete-step-btn"
data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-toggle">
<span class="fas fa-check"></span>
<%= t("protocols.steps.options.complete_title") %>
</button>
</div>
<% end %>
<% end %>
<% if (can_manage_protocol_in_module?(@protocol) ||
can_manage_protocol_in_repository?(@protocol)) && !(preview) %>
<a data-action="move-step"
class="btn btn-link"
href="<%= move_up_step_path(step, format: :json) %>"
title="<%= t("protocols.steps.options.up_arrow_title") %>"
data-remote="true">
<span class="fas fa-arrow-up"></span></a>
<a data-action="move-step"
class="btn btn-link"
href="<%= move_down_step_path(step, format: :json) %>"
title="<%= t("protocols.steps.options.down_arrow_title") %>"
data-remote="true">
<span class="fas fa-arrow-down"></span></a>
<a data-action="edit-step"
class="btn btn-link"
title="<%= t("protocols.steps.options.edit_title") %>"
href="<%= edit_step_path(step, format: :json) %>"
data-remote="true" >
<span class="fas fa-pencil-alt"></span>
2016-07-21 19:11:15 +08:00
</a>
<%= link_to(step_path(step), title: t("protocols.steps.options.delete_title"), method: "delete", class: "btn btn-link",
data: {action: "delete-step", confirm: t("protocols.steps.destroy.confirm", step: step.name)}) do %>
<span class="fas fa-trash-alt"></span>
2016-07-21 19:11:15 +08:00
<% end %>
<% end %>
</div>
<div class="left-floats">
<a class="step-panel-collapse-link"
2019-06-26 17:25:57 +08:00
href="#step-panel-<%= step.id || step.position %>"
data-toggle="collapse"
data-remote="true">
<span class="fas fa-caret-square-down collapse-step-icon"></span>
</a>
<span class="step-number"><%= step.position + 1 %></span>
<a class="step-panel-collapse-link step-name-link"
2019-06-26 17:25:57 +08:00
href="#step-panel-<%= step.id || step.position %>"
data-toggle="collapse"
data-remote="true">
2019-06-26 17:25:57 +08:00
<span class="name-block"><strong><%= step.name %></strong></span>
<% unless step.new_record? %>
<span class="delimiter">|</span>
<span class="author-block"><%= sanitize_input t('protocols.steps.published_on',
timestamp: l(step.created_at, format: :full),
user: h(step.user.full_name)) %></span>
<% end %>
</a>
</div>
2016-07-21 19:11:15 +08:00
</div>
2019-06-26 17:25:57 +08:00
<div class="panel-collapse collapse" id="step-panel-<%= step.id || step.position %>" role="tabpanel">
2016-09-16 15:04:21 +08:00
<div class="panel-body">
2016-07-21 19:11:15 +08:00
<div class="row">
<div class="col-xs-12">
2019-03-11 20:43:50 +08:00
<% if step.description.blank? %>
<em><%= t('protocols.steps.no_description') %></em>
<% else %>
<div class="ql-editor">
<%= custom_auto_link(step.tinymce_render(:description),
simple_format: false,
tags: %w(img),
team: current_team) %>
</div>
<% end %>
</div>
</div>
<div class="row">
2019-06-26 17:25:57 +08:00
<% if step.tables.any? %>
2016-07-21 19:11:15 +08:00
<div class="col-xs-12">
<hr>
2017-01-17 00:11:08 +08:00
<% step.tables.each do |table| %>
<strong>
2017-01-25 18:01:35 +08:00
<%= auto_link(simple_format(table.name),
2017-01-17 00:11:08 +08:00
link: :urls,
html: { target: '_blank' }) %>
</strong>
<div data-role="hot-table" class="hot-table">
<%= hidden_field(table, :contents, value: table.contents_utf_8, class: "hot-contents") %>
<div data-role="step-hot-table" class="step-result-hot-table"></div>
</div>
<% end %>
2016-07-21 19:11:15 +08:00
</div>
<% end %>
<% if import %>
<%= render partial: 'steps/attachments/preview_list.html.erb',
locals: { attachments: steps_assets[step.position]} %>
<% else %>
<%= render partial: 'steps/attachments/list.html.erb', locals: { step: step, preview: preview } %>
<% end %>
2016-07-21 19:11:15 +08:00
<% unless step.checklists.blank? then %>
<div class="col-xs-12">
<hr>
<% step.checklists.asc.each do |checklist| %>
<strong><%= custom_auto_link(checklist.name, team: current_team) %></strong>
2016-07-21 19:11:15 +08:00
<% if checklist.checklist_items.empty? %>
</br>
<%= t("protocols.steps.empty_checklist") %>
</br>
<% else %>
<% ordered_checklist_items(checklist).each do |checklist_item| %>
<div class="checkbox" <%= @protocol.in_module? ? "data-action=check-item" : "" %>>
<label>
<% if @protocol.in_module? %>
<input type="checkbox"
value=""
data-link-url="<%=checklistitem_state_step_path(step) %>"
data-id="<%= checklist_item.id %>" <%= "checked" if checklist_item.checked? %> />
2016-07-21 19:11:15 +08:00
<% else %>
<input type="checkbox"
value=""
disabled="disabled" />
2016-07-21 19:11:15 +08:00
<% end %>
<%= custom_auto_link(checklist_item.text, team: current_team) %>
2016-07-21 19:11:15 +08:00
</label>
</div>
<% end %>
<% end %>
<% end %>
</div>
<% end %>
</div>
<% unless import %>
<hr>
<%= render partial: 'steps/comments.html.erb', locals: { comments: step.last_comments,
comments_count: step.step_comments.count,
step: step } %>
<% end %>
2016-07-21 19:11:15 +08:00
</div>
</div>
</div>
</div>