scinote-web/app/views/steps/_step.html.erb
Luka Murn 53699193a2 Merge branch 'smart-annotations'
Conflicts:
	app/assets/javascripts/comments.js.erb
	app/assets/javascripts/protocols/index.js
	app/assets/javascripts/protocols/steps.js.erb
	app/assets/javascripts/samples/sample_datatable.js.erb
	app/controllers/my_module_comments_controller.rb
	app/controllers/project_comments_controller.rb
	app/controllers/result_comments_controller.rb
	app/controllers/step_comments_controller.rb
	app/datatables/sample_datatable.rb
	app/views/my_module_comments/_comment.html.erb
	app/views/project_comments/_comment.html.erb
	app/views/projects/show/_experiment.html.erb
	app/views/reports/elements/_experiment_element.html.erb
	app/views/reports/elements/_result_comments_element.html.erb
	app/views/reports/elements/_result_text_element.html.erb
	app/views/reports/elements/_step_checklist_element.html.erb
	app/views/reports/elements/_step_comments_element.html.erb
	app/views/reports/elements/_step_element.html.erb
	app/views/result_comments/_comment.html.erb
	app/views/results/_result_text.html.erb
	app/views/step_comments/_comment.html.erb
	app/views/steps/_step.html.erb
	db/schema.rb
2017-01-24 14:33:23 +01:00

189 lines
9.5 KiB
Plaintext

<div class ="step <%= step.completed? ? "completed" : "not-completed" %>">
<div class="badge-num">
<span class="badge bg-primary size-digit-<%= (step.position + 1).to_s.length %>"><%= step.position + 1 %></span>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-options pull-right">
<% if can_reorder_step_in_protocol(@protocol) %>
<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="glyphicon glyphicon-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="glyphicon glyphicon-arrow-down"></a>
<% end %>
<% if can_edit_step_in_protocol(@protocol) %>
<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="glyphicon glyphicon-edit">
</a>
<% end %>
<% if can_delete_step_in_protocol(@protocol) %>
<%= 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="glyphicon glyphicon-trash">
<% end %>
<% end %>
</div>
<a class="step-panel-collapse-link" href="#step-panel-<%= step.id %>" data-toggle="collapse" data-remote="true">
<span class="glyphicon glyphicon-collapse-down collapse-step-icon"></span>
<strong><%= step.name %></strong> |
<span><%= sanitize_input t("protocols.steps.published_on", timestamp: l(step.created_at, format: :full), user: h(step.user.full_name)) %></span>
</a>
</div>
<div class="panel-collapse collapse" id="step-panel-<%= step.id %>" role="tabpanel">
<div class="panel-body">
<div class="row">
<div class="col-xs-12">
<% if strip_tags(step.description).blank? %>
<em><%= t("protocols.steps.no_description") %></em>
<% else %>
<div class="ql-editor">
<%= auto_link(smart_annotation_parser(simple_format(sanitize_input(step.description))),
link: :urls,
sanitize: false,
html: { target: '_blank' }).html_safe %>
</div>
<% end %>
</div>
</div>
<div class="row">
<hr>
<% unless step.tables.blank? then %>
<div class="col-xs-12">
<% step.tables.each do |table| %>
<strong>
<%= custom_auto_link(simple_format(table.name),
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 %>
</div>
<% end %>
<% assets = ordered_assets(step) %>
<% unless assets.blank? then %>
<div class="col-xs-12">
<strong><%= t("protocols.steps.files") %></strong>
<ul>
<% assets.each do |asset| %>
<li>
<% if can_view_or_download_step_assets(@protocol) %>
<% if asset.file_present %>
<% if asset.file.processing? %>
<span data-status='asset-loading'
data-present-url='<%= file_present_asset_path(asset) %>'>
<%= image_tag 'medium/processing.gif' %>
</span>
<% else %>
<% if asset.is_image? %>
<%= link_to download_asset_path(asset),
class: 'image-preview-link',
id: "modal_link#{asset.id}",
data: {no_turbolink: true, id: true, status: "asset-present",
description: "#{step.position + 1}. #{truncate(step.name, length: Constants::FILENAME_TRUNCATION_LENGTH)}"} do %>
<%= image_tag asset.url(:medium), data: {'preview-url': large_image_url_asset_path(asset)} %>
<p><%= truncate(asset.file_file_name,
length: Constants::FILENAME_TRUNCATION_LENGTH) %></p>
<% end %>
<% else %>
<%= link_to download_asset_path(asset), data: {no_turbolink: true} do %>
<p><%= truncate(asset.file_file_name,
length: Constants::FILENAME_TRUNCATION_LENGTH) %></p>
<% end %>
<% end %>
<% end %>
<% else %>
<span data-status='asset-loading'
data-present-url='<%= file_present_asset_path(asset) %>'>
<%= image_tag 'medium/processing.gif' %>
</span>
<% end %>
<% else %>
<% if asset.file.processing? %>
<span data-status='asset-loading'
data-present-url='<%= file_present_asset_path(asset) %>'>
<%= image_tag 'medium/processing.gif' %>
</span>
<% else %>
<%= image_tag asset.url(:medium) if asset.is_image? %>
<% end %>
<p><%= truncate(asset.file_file_name,
length: Constants::FILENAME_TRUNCATION_LENGTH) %></p>
<% end %>
</li>
<% end %>
</ul>
</div>
<% end %>
<% unless step.checklists.blank? then %>
<div class="col-xs-12">
<% step.checklists.each do |checklist| %>
<strong><%= auto_link(
smart_annotation_parser(
simple_format(
sanitize_input(checklist.name)
)
),
link: :urls,
sanitize: false,
html: { target: '_blank' }).html_safe %></strong>
<% 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? %> />
<% else %>
<input type="checkbox" value="" disabled="disabled" />
<% end %>
<%= auto_link(
smart_annotation_parser(
simple_format(
sanitize_input(checklist_item.text)
)
),
link: :urls,
sanitize: false,
html: { target: '_blank' }).html_safe %>
</label>
</div>
<% end %>
<% end %>
<% end %>
</div>
<% end %>
<% if @protocol.in_module? %>
<% if !step.completed? and can_complete_step_in_protocol(@protocol) %>
<div data-action="complete-step" class="pull-right" data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-primary"><%= t("protocols.steps.options.complete_title") %></button>
</div>
<% elsif step.completed? and can_uncomplete_step_in_protocol(@protocol) %>
<div data-action="uncomplete-step" class="pull-right" data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-default"><%= t("protocols.steps.options.uncomplete_title") %></button>
</div>
<% end %>
<% end %>
</div>
<% if can_view_step_comments(@protocol) %>
<div class="row">
<div class="step-comment"
id="step-comments-<%= step.id %>"
data-href="<%= url_for step_step_comments_path(step_id: step.id, format: :json) %>">
</div>
</div>
<% end %>
</div>
</div>
</div>
</div>