2018-07-19 23:56:42 +08:00
|
|
|
<% content_for :head do %>
|
|
|
|
<meta name="turbolinks-cache-control" content="no-cache">
|
|
|
|
<% end %>
|
|
|
|
|
2016-07-21 19:11:15 +08:00
|
|
|
<% provide(:head_title, t("protocols.index.head_title")) %>
|
|
|
|
|
2018-05-25 23:14:22 +08:00
|
|
|
<% if current_team %>
|
|
|
|
<div class="content-pane" id="protocols-index">
|
2018-05-08 22:33:42 +08:00
|
|
|
<ul class="nav nav-tabs nav-settings">
|
|
|
|
<li role="presentation" class="<%= "active" if @type == :public %>">
|
|
|
|
<%= link_to t("protocols.index.navigation.public"), protocols_path(team: @current_team, type: :public) %>
|
|
|
|
</li>
|
|
|
|
<li role="presentation" class="<%= "active" if @type == :private %>">
|
|
|
|
<%= link_to t("protocols.index.navigation.private"), protocols_path(team: @current_team, type: :private) %>
|
|
|
|
</li>
|
|
|
|
<li role="presentation" class="<%= "active" if @type == :archive %>">
|
2018-05-12 00:02:17 +08:00
|
|
|
<%= link_to t("protocols.index.navigation.archive"), protocols_path(team: @current_team, type: :archive) %>
|
2018-05-08 22:33:42 +08:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
|
|
<div class="tab-pane tab-pane-settings tab-pane-protocols active" role="tabpanel">
|
|
|
|
<!-- Buttons container -->
|
|
|
|
<% if @type.in? [:public, :private] %>
|
|
|
|
<div class="protocols-description">
|
|
|
|
<%= t(@type == :public ? "protocols.index.public_description" : "protocols.index.private_description") %>
|
|
|
|
</div>
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<a class="btn btn-primary" <%= can_create_protocols_in_repository?(@current_team) ? "data-action=create-new" : "disabled=disabled" %> data-url="<%= create_new_modal_protocols_path(team: @current_team, type: @type) %>">
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-plus"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.create_new") %></span>
|
2016-07-21 19:11:15 +08:00
|
|
|
</a>
|
2018-05-08 22:33:42 +08:00
|
|
|
<a class="btn btn-default" data-action="edit">
|
2018-05-22 22:55:58 +08:00
|
|
|
<span class="fas fa-pencil-alt"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.edit") %></span>
|
2016-07-21 19:11:15 +08:00
|
|
|
</a>
|
2018-05-08 22:33:42 +08:00
|
|
|
<a class="btn btn-default" data-action="clone">
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-copy"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.clone_btn") %></span>
|
|
|
|
</a>
|
|
|
|
<% if @type == :public %>
|
|
|
|
<a class="btn btn-default" data-action="make-private" data-url="<%= make_private_protocols_path %>">
|
2018-05-22 22:55:58 +08:00
|
|
|
<span class="fas fa-eye-slash"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.make_private") %></span>
|
|
|
|
</a>
|
|
|
|
<% elsif @type == :private %>
|
|
|
|
<a class="btn btn-default" data-action="publish" data-url="<%= publish_protocols_path %>">
|
2018-05-22 22:55:58 +08:00
|
|
|
<span class="fas fa-eye"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.publish") %></span>
|
|
|
|
</a>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
<div id="import-export-protocols" class="btn-group" role="group">
|
|
|
|
<a class="btn btn-default btn-open-file"
|
|
|
|
data-toggle="dropdown"
|
|
|
|
aria-haspopup="true"
|
|
|
|
aria-expanded="false"
|
|
|
|
href="#"
|
|
|
|
<%= 'disabled' unless can_create_protocols_in_repository?(@current_team) %>>
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-download"></span><span class="hidden-xs"> <%= t("protocols.index.import") %></span></a>
|
2018-05-08 22:33:42 +08:00
|
|
|
<% if can_create_protocols_in_repository?(@current_team) %>
|
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li>
|
|
|
|
<a class="btn-link-alt btn-default-link btn-open-file" <%= can_create_protocols_in_repository?(@current_team) ? 'data-action="import"' : 'disabled="disabled"' %>>
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-file"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"><%= t("protocols.index.import_alt") %></span>
|
|
|
|
<input type="file" value="" accept=".eln" data-role="import-file-input"
|
|
|
|
data-team-id="<%= @current_team.id %>"
|
|
|
|
data-type="<%= @type %>" data-import-url="<%= import_protocols_path %>"
|
|
|
|
<%= 'disabled="disabled"' unless can_create_protocols_in_repository?(@current_team) %>>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2018-08-02 17:25:14 +08:00
|
|
|
<%= link_to "#modal-import-json-protocol", data: { toggle: 'modal', remote: true } do %>
|
|
|
|
<span class="fas fa-file"></span>
|
|
|
|
<span class="hidden-xs"><%= t("protocols.index.import_json") %></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<% end %>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<% end %>
|
|
|
|
<a class="btn btn-default" data-action="export" data-export-url="<%= export_protocols_path() %>">
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-upload"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.export") %></span>
|
|
|
|
</a>
|
|
|
|
</div>
|
2016-07-21 19:11:15 +08:00
|
|
|
|
2018-05-08 22:33:42 +08:00
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<a class="btn btn-default" data-action="archive" data-url="<%= archive_protocols_path %>">
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-briefcase"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.archive_action") %></span>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<% else %>
|
|
|
|
<div class="protocols-description">
|
|
|
|
<%= t("protocols.index.archive.description") %>
|
|
|
|
</div>
|
|
|
|
<div class="btn-group" role="group">
|
|
|
|
<a class="btn btn-default" data-action="restore" data-url="<%= restore_protocols_path %>">
|
2018-07-09 19:13:44 +08:00
|
|
|
<span class="fas fa-sync-alt"></span>
|
2018-05-08 22:33:42 +08:00
|
|
|
<span class="hidden-xs"> <%= t("protocols.index.restore") %></span>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
2016-07-21 19:11:15 +08:00
|
|
|
|
2018-05-08 22:33:42 +08:00
|
|
|
<div id="protocols-datatable-spinner">
|
|
|
|
<div class="protocols-datatable">
|
|
|
|
<table id="protocols-table" class="table" data-team-id="<%= @current_team.id %>" data-type="<%= @type %>" data-source="<%= datatable_protocols_path(team: @current_team, type: @type) %>">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th id="select-all"><input name="select_all" value="1" type="checkbox"></th>
|
|
|
|
<th id="protocol-name"><%= t("protocols.index.thead_name") %></th>
|
|
|
|
<th id="protocol-keywords"><%= t("protocols.index.thead_keywords") %></th>
|
|
|
|
<th id="protocol-nr-of-linked-children"><%= t("protocols.index.thead_nr_of_linked_children") %></th>
|
|
|
|
<% if @type == :public %>
|
|
|
|
<th id="protocol-published-by"><%= t("protocols.index.thead_published_by") %></th>
|
|
|
|
<th id="protocol-published-on"><%= t("protocols.index.thead_published_on") %></th>
|
|
|
|
<% elsif @type == :private %>
|
|
|
|
<th id="protocol-added-by"><%= t("protocols.index.thead_added_by") %></th>
|
|
|
|
<th id="protocol-created-at"><%= t("protocols.index.thead_created_at") %></th>
|
|
|
|
<% else %>
|
|
|
|
<th id="protocol-archived-by"><%= t("protocols.index.thead_archived_by") %></th>
|
|
|
|
<th id="protocol-archived-on"><%= t("protocols.index.thead_archived_on") %></th>
|
|
|
|
<% end %>
|
|
|
|
<th id="protocol-updated-at"><%= t("protocols.index.thead_updated_at") %></th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody></tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2016-07-21 19:11:15 +08:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-05-25 23:14:22 +08:00
|
|
|
</div>
|
|
|
|
<% end %>
|
2018-05-08 22:33:42 +08:00
|
|
|
|
2017-09-19 21:02:16 +08:00
|
|
|
<div id="protocolsio-preview-modal-target"></div>
|
|
|
|
<%= render partial: "protocols/import_export/import_json_protocol_modal.html.erb" %>
|
2016-07-21 19:11:15 +08:00
|
|
|
|
|
|
|
<%= render partial: "protocols/index/create_new_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/make_private_results_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/publish_results_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/confirm_archive_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/archive_results_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/restore_results_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/import_results_modal.html.erb" %>
|
|
|
|
<%= render partial: "protocols/index/linked_children_modal.html.erb" %>
|
2016-12-13 17:39:18 +08:00
|
|
|
<%= render partial: "protocols/index/protocol_preview_modal.html.erb" %>
|
2016-07-21 19:11:15 +08:00
|
|
|
|
|
|
|
<%= render partial: "protocols/import_export/import_elements.html.erb" %>
|
|
|
|
|
|
|
|
<%= stylesheet_link_tag 'datatables' %>
|
|
|
|
<%= javascript_include_tag "protocols/index" %>
|
2016-12-22 18:43:11 +08:00
|
|
|
<%= javascript_include_tag "protocols/steps" %>
|
|
|
|
|
|
|
|
<!-- Libraries for formulas -->
|
|
|
|
<%= javascript_include_tag "lodash" %>
|
|
|
|
<%= javascript_include_tag "numeral" %>
|
|
|
|
<%= javascript_include_tag "numeric" %>
|
|
|
|
<%= javascript_include_tag "md5" %>
|
|
|
|
<%= javascript_include_tag "jstat" %>
|
|
|
|
<%= javascript_include_tag "formula" %>
|
|
|
|
<%= javascript_include_tag "parser" %>
|
|
|
|
<%= javascript_include_tag "ruleJS" %>
|
|
|
|
<%= javascript_include_tag "handsontable.formula" %>
|
|
|
|
<%= javascript_include_tag "big.min" %>
|
2017-01-25 19:01:23 +08:00
|
|
|
<%= stylesheet_link_tag "handsontable.formula" %>
|