UI/UX restyle - fixes throughout application part one

This commit is contained in:
mlorb 2018-05-08 16:33:42 +02:00
parent a6275062b7
commit 7df40e56c7
52 changed files with 1196 additions and 1083 deletions

View file

@ -294,6 +294,9 @@ function initLoadFromRepositoryTable(content) {
{ data: "5" }, { data: "5" },
{ data: "6" } { data: "6" }
], ],
oLanguage: {
sSearch: "Filter:"
},
rowCallback: function(row, data, dataIndex) { rowCallback: function(row, data, dataIndex) {
// Get row ID // Get row ID
var rowId = data["DT_RowId"]; var rowId = data["DT_RowId"];

View file

@ -65,6 +65,9 @@ function initProtocolsTable() {
{ data: "5" }, { data: "5" },
{ data: "6" } { data: "6" }
], ],
oLanguage: {
sSearch: "Filter:"
},
rowCallback: function(row, data, dataIndex) { rowCallback: function(row, data, dataIndex) {
// Get row ID // Get row ID
var rowId = data["DT_RowId"]; var rowId = data["DT_RowId"];

View file

@ -43,7 +43,7 @@
var task_button = $("[data-action='complete-task']"); var task_button = $("[data-action='complete-task']");
task_button.attr('data-action', 'uncomplete-task'); task_button.attr('data-action', 'uncomplete-task');
task_button.find('.btn') task_button.find('.btn')
.removeClass('btn-primary').addClass('btn-default'); .removeClass('btn-success').addClass('btn-default');
$('.task-due-date').html(data.module_header_due_date_label); $('.task-due-date').html(data.module_header_due_date_label);
$('.task-state-label').html(data.module_state_label); $('.task-state-label').html(data.module_state_label);
task_button task_button
@ -80,7 +80,8 @@
button = step.find("[data-action='complete-step']"); button = step.find("[data-action='complete-step']");
button.attr("data-action", "uncomplete-step"); button.attr("data-action", "uncomplete-step");
button.find(".btn").removeClass("btn-primary").addClass("btn-default"); button.find(".btn").removeClass("btn-success").addClass("btn-default");
button.find("button").html('<span class="glyphicon glyphicon-remove"></span>&nbsp;' + data.new_title);
if (data.task_ready_to_complete) { if (data.task_ready_to_complete) {
$('#completed-task-modal').modal('show'); $('#completed-task-modal').modal('show');
@ -92,10 +93,9 @@
button = step.find("[data-action='uncomplete-step']"); button = step.find("[data-action='uncomplete-step']");
button.attr("data-action", "complete-step"); button.attr("data-action", "complete-step");
button.find(".btn").removeClass("btn-default").addClass("btn-primary"); button.find(".btn").removeClass("btn-default").addClass("btn-success");
button.find("button").html('<span class="glyphicon glyphicon-ok"></span>&nbsp;' + data.new_title);
} }
button.find("button").html(data.new_title);
}, },
error: function (data) { error: function (data) {
console.log ("error"); console.log ("error");

View file

@ -146,6 +146,9 @@
'sWidth': '1%', 'sWidth': '1%',
'render': renderCheckboxHTML 'render': renderCheckboxHTML
}], }],
'oLanguage': {
'sSearch': "Filter:"
},
'fnDrawCallback': tableDrowCallback, 'fnDrawCallback': tableDrowCallback,
'createdRow': appendEditPathToRow 'createdRow': appendEditPathToRow
}); });

View file

@ -92,6 +92,9 @@ var RepositoryDatatable = (function(global) {
"class='record-info-link'>" + data + '</a>'; "class='record-info-link'>" + data + '</a>';
} }
}], }],
oLanguage: {
sSearch: "Filter:"
},
rowCallback: function(row, data) { rowCallback: function(row, data) {
// Get row ID // Get row ID
var rowId = data.DT_RowId; var rowId = data.DT_RowId;

View file

@ -120,7 +120,10 @@ function initUsersTable() {
{ data: "3" }, { data: "3" },
{ data: "4" }, { data: "4" },
{ data: "5" } { data: "5" }
] ],
oLanguage: {
sSearch: "Filter:"
}
}); });
} }

View file

@ -192,15 +192,15 @@ $btn-border-radius-small: $border-radius-small;
// $grid-gutter-width: 30px; // $grid-gutter-width: 30px;
// $grid-float-breakpoint: $screen-sm-min; // $grid-float-breakpoint: $screen-sm-min;
// $grid-float-breakpoint-max: ($grid-float-breakpoint - 1); // $grid-float-breakpoint-max: ($grid-float-breakpoint - 1);
//
// // Container sizes // Container sizes
// $container-tablet: (720px + $grid-gutter-width); $container-tablet: auto;
// $container-sm: $container-tablet; $container-sm: auto;
// $container-desktop: (940px + $grid-gutter-width); $container-desktop: auto;
// $container-md: $container-desktop; $container-md: auto;
// $container-large-desktop: (1140px + $grid-gutter-width); $container-large-desktop: auto;
// $container-lg: $container-large-desktop; $container-lg: auto;
//
// // Navbar // // Navbar
// $navbar-height: 50px; // $navbar-height: 50px;
// $navbar-margin-bottom: $line-height-computed; // $navbar-margin-bottom: $line-height-computed;

View file

@ -22,6 +22,7 @@ $toggle-btn-size: 50px;
transition: all 0.5s ease; transition: all 0.5s ease;
#sidebar-wrapper { #sidebar-wrapper {
box-shadow: 0 1px 4px $color-alto;
background-color: $color-white; background-color: $color-white;
z-index: 1000; z-index: 1000;
position: fixed; position: fixed;

View file

@ -5,7 +5,9 @@
$color-group-hover: $brand-primary; $color-group-hover: $brand-primary;
$color-module-hover: $brand-default; $color-module-hover: $brand-default;
#new-project-modal, #edit-project-modal { #new-project-modal,
#edit-project-modal,
#copy-to-repository-modal {
.btn-group label.btn-primary:not(.active) { .btn-group label.btn-primary:not(.active) {
background-color: $color-white; background-color: $color-white;
border-color: $color-silver; border-color: $color-silver;

View file

@ -2,6 +2,7 @@
@import "mixins"; @import "mixins";
#main-nav { #main-nav {
box-shadow: 0 3px 6px $color-alto;
margin-bottom: 0; margin-bottom: 0;
} }

View file

@ -1,9 +1,5 @@
@import "constants"; @import "constants";
.repository-columns-header {
margin-top: 30px;
}
.repository-columns-body { .repository-columns-body {
margin-top: 50px; margin-top: 50px;
@ -36,5 +32,9 @@
} }
#content-reports-index { #content-reports-index {
margin-top: 50px; margin-top: 15px;
}
#repository-toolbar {
margin-top: 15px;
} }

View file

@ -46,10 +46,16 @@ table {
} }
} }
#fluid-content { #fluid-content:not(.no-second-nav-container) {
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
padding-top: 80px; padding-top: 50px;
}
.content-pane {
background-color: $color-white;
margin: 20px 0;
padding: 15px 20px;
} }
.spacer { .spacer {
@ -116,10 +122,6 @@ body {
cursor: -webkit-grabbing; cursor: -webkit-grabbing;
} }
.bg-primary {
background-color: $brand-primary;
}
/* this rule is strict because the order of css files is not correct */ /* this rule is strict because the order of css files is not correct */
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
width: 100% !important; width: 100% !important;
@ -269,7 +271,7 @@ a[data-toggle="tooltip"] {
} }
.nav-name { .nav-name {
padding: 15px 0; padding: 5px 0;
} }
ul.nav { ul.nav {
@ -529,6 +531,7 @@ ul.double-line > li {
.page-header { .page-header {
border-color: $color-alto; border-color: $color-alto;
margin-top: 0;
} }
.pagination > .active > a, .pagination > .active > a,
@ -682,7 +685,8 @@ ul.double-line > li {
} }
#global-activity-page { #global-activity-page {
margin-top: 50px; margin-top: 15px;
padding: 0;
} }
.btn-more-activities { .btn-more-activities {
@ -872,8 +876,10 @@ ul.content-module-activities {
} }
.badge-icon { .badge-icon {
font-size: 1.4em; background-color: $color-silver;
color: $color-white;
float: left; float: left;
font-size: 1.4em;
padding: 6px 10px; padding: 6px 10px;
& + .well-sm { & + .well-sm {
@ -936,6 +942,7 @@ ul.content-module-activities {
position: absolute; position: absolute;
& > .badge { & > .badge {
background: $brand-success;
border-radius: 2em; border-radius: 2em;
float: left; float: left;
font-size: 23.4px; font-size: 23.4px;
@ -955,6 +962,7 @@ ul.content-module-activities {
} }
& > .badge.icon { & > .badge.icon {
background-color: $color-silver;
font-size: 16.5px; font-size: 16.5px;
padding: 9px; padding: 9px;
} }

View file

@ -12,8 +12,12 @@ module ApplicationHelper
end end
def project_page? def project_page?
controller_name == 'projects' || controller_name == 'projects' &&
(controller_name == 'reports' && action_name == 'index') action_name.in?(%w(show experiment_archive))
end
def all_projects_page?
controller_name == 'projects' && action_name.in?(%w(index archive))
end end
def display_tooltip(message, len = Constants::NAME_TRUNCATION_LENGTH) def display_tooltip(message, len = Constants::NAME_TRUNCATION_LENGTH)

View file

@ -1,5 +1,13 @@
module SecondaryNavigationHelper module SecondaryNavigationHelper
def is_all_projects_index?
action_name == 'index'
end
def is_all_projects_archive?
action_name == 'archive'
end
def is_project_info? def is_project_info?
action_name == 'show' action_name == 'show'
end end
@ -57,7 +65,9 @@ module SecondaryNavigationHelper
end end
def title_element def title_element
if project_page? if all_projects_page?
current_team
elsif project_page?
@project @project
elsif experiment_page? elsif experiment_page?
@experiment @experiment

View file

@ -1,24 +1,26 @@
<% provide :head_title, t('nav.label.activities') %> <% provide :head_title, t('nav.label.activities') %>
<div class="container" id="global-activity-page"> <div class="content-pane">
<div class="col-md-12"> <div class="container" id="global-activity-page">
<ul id="list-activities" class="no-style content-activities content-module-activities"> <div>
<% if @vars[:activities].empty? %> <ul id="list-activities" class="no-style content-activities content-module-activities">
<li><em><%= t'activities.index.no_activities' %></em></li> <% if @vars[:activities].empty? %>
<% else %> <li><em><%= t'activities.index.no_activities' %></em></li>
<% @vars[:activities].each do |activity| %> <% else %>
<%= render 'activity.html.erb', activity: activity %> <% @vars[:activities].each do |activity| %>
<%= render 'activity.html.erb', activity: activity %>
<% end %>
<% end %> <% end %>
</ul>
<% if @vars[:more_activities_url].present? && @vars[:page] == 1 %>
<div class="text-center">
<a class="btn btn-default btn-more-activities"
href="<%= @vars[:more_activities_url] %>"
data-remote="true">
<%= t'activities.index.more_activities' %></a>
</div>
<% end %> <% end %>
</ul>
<% if @vars[:more_activities_url].present? && @vars[:page] == 1 %>
<div class="text-center">
<a class="btn btn-default btn-more-activities"
href="<%= @vars[:more_activities_url] %>"
data-remote="true">
<%= t'activities.index.more_activities' %></a>
</div> </div>
<% end %>
</div> </div>
</div> </div>

View file

@ -2,61 +2,63 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<div class="row"> <div class="content-pane">
<div class="container-fluid"> <div class="row">
<div id="diagram-buttons"> <div class="container-fluid">
<% if can_manage_experiment?(@experiment) %> <div id="diagram-buttons">
<%=link_to canvas_edit_experiment_url(@experiment), <% if can_manage_experiment?(@experiment) %>
remote: true, <%=link_to canvas_edit_experiment_url(@experiment),
type: 'button', remote: true,
id: 'edit-canvas-button', type: 'button',
data: { action: 'edit' }, id: 'edit-canvas-button',
class: 'ajax btn btn-default' do %> data: { action: 'edit' },
<span class="glyphicon glyphicon-pencil"></span> class: 'ajax btn btn-default' do %>
<span class="hidden-xs"><%=t 'experiments.canvas.canvas_edit' %></span> <span class="glyphicon glyphicon-pencil"></span>
<% end %> <span class="hidden-xs"><%=t 'experiments.canvas.canvas_edit' %></span>
<!-- experiment actions --> <% end %>
<span class="dropdown"> <!-- experiment actions -->
<button class="btn btn-default dropdown-toggle" type="button" id="exActionsMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <span class="dropdown">
<span class="hidden-xs"><%= t'experiments.canvas.actions' %></span> <button class="btn btn-default dropdown-toggle" type="button" id="exActionsMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span> <span class="hidden-xs"><%= t'experiments.canvas.actions' %></span>
<span class="caret"></span> <span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span>
</button> <span class="caret"></span>
<%= render partial: 'experiments/dropdown_actions.html.erb', </button>
locals: { project: @project, experiment: @experiment } %> <%= render partial: 'experiments/dropdown_actions.html.erb',
</span> locals: { project: @project, experiment: @experiment } %>
<% end %> </span>
<div class="toolbarButtons"> <% end %>
<span class="hidden-xs"><%=t 'experiments.canvas.zoom' %></span> <div class="toolbarButtons">
<div id="zoom-level-buttons" class="btn-group" data-toggle="buttons"> <span class="hidden-xs"><%=t 'experiments.canvas.zoom' %></span>
<%=link_to canvas_full_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default active", "data-action" => "full_zoom", "data-toggle" => "button", "aria-pressed" => true do %> <div id="zoom-level-buttons" class="btn-group" data-toggle="buttons">
<span class="glyphicon glyphicon-th-large" aria-hidden="true" ></span> <%=link_to canvas_full_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default active", "data-action" => "full_zoom", "data-toggle" => "button", "aria-pressed" => true do %>
<% end %> <span class="glyphicon glyphicon-th-large" aria-hidden="true" ></span>
<%=link_to canvas_medium_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default", "data-action" => "medium_zoom" do %>
<span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
<% end %>
<%=link_to canvas_small_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default", "data-action" => "small_zoom" do %>
<span class="glyphicon glyphicon-th" aria-hidden="true"></span>
<% end %>
</div>
</div>
<% if can_create_experiments?(@project) %>
<%= link_to new_project_experiment_url(@project),
remote: true,
type: "button",
id: 'new-experiment',
class: "btn btn-primary pull-right" do %>
<span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs-custom"><%=t 'experiments.new.create' %></span>
<% end %> <% end %>
<% end %> <%=link_to canvas_medium_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default", "data-action" => "medium_zoom" do %>
<span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
<% end %>
<%=link_to canvas_small_zoom_experiment_path(@experiment), remote: true, type: "button", class: "ajax btn btn-default", "data-action" => "small_zoom" do %>
<span class="glyphicon glyphicon-th" aria-hidden="true"></span>
<% end %>
</div>
</div>
<% if can_create_experiments?(@project) %>
<%= link_to new_project_experiment_url(@project),
remote: true,
type: "button",
id: 'new-experiment',
class: "btn btn-primary pull-right" do %>
<span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs-custom"><%=t 'experiments.new.create' %></span>
<% end %>
<% end %>
</div>
</div> </div>
</div> </div>
</div>
<div id="canvas-container" data-project-id="<%= @project.id %>"> <div id="canvas-container" data-project-id="<%= @project.id %>">
<%= render partial: 'canvas/full_zoom', locals: { experiment: @experiment, my_modules: @active_modules } %> <%= render partial: 'canvas/full_zoom', locals: { experiment: @experiment, my_modules: @active_modules } %>
</div>
</div> </div>
<!-- Manage tags modal --> <!-- Manage tags modal -->

View file

@ -2,27 +2,29 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<% if @experiment.archived_modules.count > 0 %> <div class="content-pane">
<div class="row"> <% if @experiment.archived_modules.count > 0 %>
<% @experiment.archived_modules.each_with_index do |my_module, i| %> <div class="row" style="margin-top: 10px;">
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-6"> <% @experiment.archived_modules.each_with_index do |my_module, i| %>
<%= render partial: "experiments/module_archive/my_module.html.erb", locals: { my_module: my_module} %> <div class="col-lg-2 col-md-3 col-sm-4 col-xs-6">
</div> <%= render partial: "experiments/module_archive/my_module.html.erb", locals: { my_module: my_module} %>
<% if (i+1) % 6 == 0 %> </div>
<div class="clearfix visible-lg-block"></div> <% if (i+1) % 6 == 0 %>
<div class="clearfix visible-lg-block"></div>
<% end %>
<% if (i+1) % 4 == 0 %>
<div class="clearfix visible-md-block"></div>
<% end %>
<% if (i+1) % 3 == 0 %>
<div class="clearfix visible-sm-block"></div>
<% end %>
<% end %> <% end %>
<% if (i+1) % 4 == 0 %>
<div class="clearfix visible-md-block"></div>
<% end %>
<% if (i+1) % 3 == 0 %>
<div class="clearfix visible-sm-block"></div>
<% end %>
<% end %>
</div>
<% else %>
<div class="row">
<div class="col-xs-12">
<em><%=t "experiments.module_archive.no_archived_modules" %></em>
</div> </div>
</div> <% else %>
<% end %> <div class="row">
<div class="col-xs-12">
<em><%=t "experiments.module_archive.no_archived_modules" %></em>
</div>
</div>
<% end %>
</div>

View file

@ -1,6 +1,6 @@
<div class="row"> <div class="row">
<div class="col-xs-6 col-sm-6 col-md-4"> <div class="col-xs-6 col-sm-6 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -10,7 +10,7 @@
</div> </div>
<div class="col-xs-6 col-sm-6 col-md-4"> <div class="col-xs-6 col-sm-6 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_module?(@my_module) %> <% if can_manage_module?(@my_module) %>
<%= link_to due_date_my_module_path(@my_module, format: :json), remote: true, class: "due-date-link", style: "color: inherit" do %> <%= link_to due_date_my_module_path(@my_module, format: :json), remote: true, class: "due-date-link", style: "color: inherit" do %>
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
@ -38,7 +38,7 @@
</div> </div>
<div class="col-xs-6 col-sm-6 col-md-4"> <div class="col-xs-6 col-sm-6 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-ok"></span> <span class="glyphicon glyphicon-ok"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -51,7 +51,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-12" id="module-tags" data-module-tags-url="<%= my_module_my_module_tags_url(@my_module, format: :json) %>"> <div class="col-xs-12 col-sm-12 col-md-12" id="module-tags" data-module-tags-url="<%= my_module_my_module_tags_url(@my_module, format: :json) %>">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_module?(@my_module) %> <% if can_manage_module?(@my_module) %>
<a class="edit-tags-link" data-remote="true" href="<%= my_module_tags_edit_url(@my_module, format: :json) %>" style="color: inherit"> <a class="edit-tags-link" data-remote="true" href="<%= my_module_tags_edit_url(@my_module, format: :json) %>" style="color: inherit">
<span class="glyphicon glyphicon-tags"></span> <span class="glyphicon glyphicon-tags"></span>
@ -74,7 +74,7 @@
</div> </div>
<div> <div>
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_module?(@my_module) %> <% if can_manage_module?(@my_module) %>
<%= link_to description_my_module_path(@my_module, format: :json), remote: true, class: "description-link", style: "color: inherit" do %> <%= link_to description_my_module_path(@my_module, format: :json), remote: true, class: "description-link", style: "color: inherit" do %>
<span class="glyphicon glyphicon-info-sign"></span> <span class="glyphicon glyphicon-info-sign"></span>

View file

@ -1,6 +1,6 @@
<div class="result"> <div class="result">
<div class="badge-num"> <div class="badge-num">
<span class="badge bg-primary icon"> <span class="badge icon">
<% if result.is_text %> <% if result.is_text %>
<span class="glyphicon glyphicon-font"></span> <span class="glyphicon glyphicon-font"></span>
<% elsif result.is_table %> <% elsif result.is_table %>

View file

@ -2,24 +2,26 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<div class="row"> <div class="content-pane">
<% if @activities.length == 0 %> <div class="row">
<div class="col-xs-12"> <% if @activities.length == 0 %>
<em><%= t 'my_modules.activities.no_activities' %></em> <div class="col-xs-12">
</div> <em><%= t 'my_modules.activities.no_activities' %></em>
<% else %> </div>
<div class="col-xs-12"> <% else %>
<%= render partial: "my_modules/activities/list_activities.html.erb" %> <div class="col-xs-12">
<!-- Load more activities --> <%= render partial: "my_modules/activities/list_activities.html.erb" %>
<% if @overflown %> <!-- Load more activities -->
<div class="col-sm-8 fluid-content text-center"> <% if @overflown %>
<a class="btn btn-default btn-more-activities" href="<%= @more_activities_url %>" data-remote="true"> <div class="col-sm-8 fluid-content text-center">
<%= t('my_modules.activities.more_activities') %></a> <a class="btn btn-default btn-more-activities" href="<%= @more_activities_url %>" data-remote="true">
</div> <%= t('my_modules.activities.more_activities') %></a>
<% end %> </div>
<% end %>
</div>
</div> </div>
<% end %>
</div> </div>
<% end %>
</div> </div>
<%= javascript_include_tag("my_modules/activities") %> <%= javascript_include_tag("my_modules/activities") %>

View file

@ -2,17 +2,23 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<div clas="row"> <div class="content-pane">
<div class="col-xs-3"> <div class="row" style="margin-top: 10px;">
<% i = 0 %> <div class="col-xs-3">
<% @archived_results.each do |result| %> <% i = 0 %>
<%= render partial: "my_modules/archive/result.html.erb", locals: { result: result } %> <% @archived_results.each do |result| %>
<% i = i + 1 %> <%= render partial: "my_modules/archive/result.html.erb", locals: { result: result } %>
<% end %> <% i = i + 1 %>
<% if i == 0 %> <% end %>
<em><%=t "my_modules.module_archive.no_archived_results" %></em> </div>
<% end %>
</div> </div>
<% if i == 0 %>
<div class="row" style="margin-bottom: 10px;">
<div class="col-xs-12">
<em><%=t "my_modules.module_archive.no_archived_results" %></em>
</div>
</div>
<% end %>
</div> </div>
<script>window.initPreviewModal()</script> <script>window.initPreviewModal()</script>

View file

@ -4,18 +4,20 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<%= render partial: "module_header" %> <div class="content-pane">
<%= render partial: "module_header" %>
<div> <div>
<div data-role="protocol-status-bar" style="display: inline;"> <div data-role="protocol-status-bar" style="display: inline;">
<%= render partial: "my_modules/protocols/protocol_status_bar.html.erb" %> <%= render partial: "my_modules/protocols/protocol_status_bar.html.erb" %>
</div>
<%= render partial: "my_modules/protocols/protocol_buttons.html.erb" %>
<%= render partial: "my_modules/state_buttons.html.erb" %>
</div> </div>
<%= render partial: "my_modules/protocols/protocol_buttons.html.erb" %>
<%= render partial: "my_modules/state_buttons.html.erb" %>
</div>
<div data-role="steps-container"> <div data-role="steps-container">
<%= render partial: "protocols/steps.html.erb" %> <%= render partial: "protocols/steps.html.erb" %>
</div>
</div> </div>
<!-- URL for status bar refreshing --> <!-- URL for status bar refreshing -->

View file

@ -5,43 +5,45 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<h3><%= @repository.name %></h3> <div class="content-pane">
<h3 style="margin-top: 5px;"><%= @repository.name %></h3>
<div id="show-assigned-buttons" class="btn-group repository-assign-group" data-toggle="buttons"> <div id="show-assigned-buttons" class="btn-group repository-assign-group" data-toggle="buttons">
<button type="button" class="active btn btn-primary" id="assigned-repo-records"><%= t("repositories.view_assigned_records") %></button> <button type="button" class="active btn btn-primary" id="assigned-repo-records"><%= t("repositories.view_assigned_records") %></button>
<button type="button" class="btn btn-default" id="all-repo-records"><%= t("repositories.view_all_records") %></button> <button type="button" class="btn btn-default" id="all-repo-records"><%= t("repositories.view_all_records") %></button>
</div> </div>
<div id="datatables-buttons" class="pull-right" style="display: inline;"> <div id="datatables-buttons" class="pull-right" style="display: inline;">
<%= render partial: "repositories/columns_reorder_dropdown" %> <%= render partial: "repositories/columns_reorder_dropdown" %>
</div> </div>
<div class="toolbarButtons" style="display:none"> <div class="toolbarButtons" style="display:none">
<% if module_page? && can_assign_repository_rows_to_module?(@my_module) %> <% if module_page? && can_assign_repository_rows_to_module?(@my_module) %>
<button type="button" class="btn btn-default" <button type="button" class="btn btn-default"
data-assign-url="<%= assign_repository_records_my_module_path(@my_module, @repository)%>" data-assign-url="<%= assign_repository_records_my_module_path(@my_module, @repository)%>"
id="assignRepositoryRecords" onclick="onClickAssignRecords()" disabled> id="assignRepositoryRecords" onclick="onClickAssignRecords()" disabled>
<span class="glyphicon glyphicon-ok-circle"></span> <span class="glyphicon glyphicon-ok-circle"></span>
<span class="hidden-xs-custom"><%= t'repositories.assign_records_to_module' %></span> <span class="hidden-xs-custom"><%= t'repositories.assign_records_to_module' %></span>
</button> </button>
<button type="button" class="btn btn-default" <button type="button" class="btn btn-default"
data-unassign-url="<%= unassign_repository_records_my_module_path(@my_module, @repository)%>" data-unassign-url="<%= unassign_repository_records_my_module_path(@my_module, @repository)%>"
id="unassignRepositoryRecords" onclick="onClickUnassignRecords()" disabled> id="unassignRepositoryRecords" onclick="onClickUnassignRecords()" disabled>
<span class="glyphicon glyphicon-ban-circle"></span> <span class="glyphicon glyphicon-ban-circle"></span>
<span class="hidden-xs-custom"><%= t'repositories.unassign_records_from_module' %></span> <span class="hidden-xs-custom"><%= t'repositories.unassign_records_from_module' %></span>
</button> </button>
<% end %> <% end %>
</div> </div>
<div id="content" <div id="content"
data-repo-id="#repository-table-<%= @repository.id %>"> data-repo-id="#repository-table-<%= @repository.id %>">
<%= render partial: "repositories/repository_table", <%= render partial: "repositories/repository_table",
locals: { locals: {
repository: @repository, repository: @repository,
my_module: @my_module, my_module: @my_module,
repository_index_link: repository_index_my_module_path(@my_module, @repository, format: :json) repository_index_link: repository_index_my_module_path(@my_module, @repository, format: :json)
} }
%> %>
</div>
</div> </div>
<%= stylesheet_link_tag 'datatables' %> <%= stylesheet_link_tag 'datatables' %>

View file

@ -3,48 +3,50 @@
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<%= render partial: 'shared/drag_n_drop_overlay' %> <%= render partial: 'shared/drag_n_drop_overlay' %>
<div id="results-toolbar"> <div class="content-pane">
<div class="pull-right"> <div id="results-toolbar">
<button class="btn btn-default" id="results-collapse-btn"> <div class="pull-right">
<span class="glyphicon glyphicon-collapse-up"></span> <button class="btn btn-default" id="results-collapse-btn">
<span class="hidden-xs-custom"><%= t'my_modules.results.collapse_label' %></button></span> <span class="glyphicon glyphicon-collapse-up"></span>
<button class="btn btn-default" id="results-expand-btn"> <span class="hidden-xs-custom"><%= t'my_modules.results.collapse_label' %></button></span>
<span class="glyphicon glyphicon-collapse-down"></span> <button class="btn btn-default" id="results-expand-btn">
<span class="hidden-xs-custom"><%= t'my_modules.results.expand_label' %></button></span> <span class="glyphicon glyphicon-collapse-down"></span>
<span class="hidden-xs-custom"><%= t'my_modules.results.expand_label' %></button></span>
</div>
<% if can_manage_module?(@my_module) %>
<span class="hidden-xs"><%= t'my_modules.results.add_label' %></span>
<a class="btn btn-primary"
id="new-result-text"
data-href="<%= new_my_module_result_text_path(my_module_id: @my_module.id) %>"
href="#">
<span class="glyphicon glyphicon-font"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_text_result") %></span>
</a>
<a class="btn btn-primary"
id="new-result-table"
data-href="<%= new_my_module_result_table_path(my_module_id: @my_module.id) %>"
href="#">
<span class="glyphicon glyphicon-list-alt"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_table_result") %></span>
</a>
<a class="btn btn-primary"
id="new-result-asset"
data-href="<%= new_my_module_result_asset_path(my_module_id: @my_module.id) %>"
href="#">
<span class="glyphicon glyphicon-picture"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_asset_result") %></span>
</a>
<% end %>
</div> </div>
<% if can_manage_module?(@my_module) %> <div style="height: 15px;"></div>
<span class="hidden-xs"><%= t'my_modules.results.add_label' %></span>
<a class="btn btn-primary" <div id="results" data-module-id="<%= @my_module.id %>">
id="new-result-text" <% ordered_result_of(@my_module).each do |result| %>
data-href="<%= new_my_module_result_text_path(my_module_id: @my_module.id) %>" <%= render partial: "result", locals: { result: result } %>
href="#">
<span class="glyphicon glyphicon-font"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_text_result") %></span>
</a>
<a class="btn btn-primary"
id="new-result-table"
data-href="<%= new_my_module_result_table_path(my_module_id: @my_module.id) %>"
href="#">
<span class="glyphicon glyphicon-list-alt"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_table_result") %></span>
</a>
<a class="btn btn-primary"
id="new-result-asset"
data-href="<%= new_my_module_result_asset_path(my_module_id: @my_module.id) %>"
href="#">
<span class="glyphicon glyphicon-picture"></span>
<span class="hidden-xs"><%= t("my_modules.results.new_asset_result") %></span>
</a>
<% end %> <% end %>
</div> </div>
<div style="height: 15px;"></div>
<div id="results" data-module-id="<%= @my_module.id %>">
<% ordered_result_of(@my_module).each do |result| %>
<%= render partial: "result", locals: { result: result } %>
<% end %>
</div> </div>
<%= javascript_include_tag "handsontable.full.min" %> <%= javascript_include_tag "handsontable.full.min" %>

View file

@ -1,52 +1,54 @@
<% provide(:head_title, t("projects.archive.head_title")) %> <% provide(:head_title, t("projects.archive.head_title")) %>
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %>
<% if @archived_projects_by_teams.length > 0 %> <div class="content-pane">
<div id="projects-toolbar"> <% if @archived_projects_by_teams.length > 0 %>
<div id="projects-toolbar">
<form class="form-inline" action="<%= projects_archive_path %>"> <form class="form-inline" action="<%= projects_archive_path %>">
<div class="form-group"> <div class="form-group">
<!-- project sort --> <!-- project sort -->
<div class="dropdown"> <div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="sortMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <button class="btn btn-default dropdown-toggle" type="button" id="sortMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="hidden-xs"><%= t'projects.index.sort' %></span> <span class="hidden-xs"><%= t'projects.index.sort' %></span>
<span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span> <span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span>
<span class="caret"></span> <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu" aria-labelledby="sortMenu"> <ul class="dropdown-menu" aria-labelledby="sortMenu">
<% ["new", "old", "atoz", "ztoa"].each do |sort| %> <% ["new", "old", "atoz", "ztoa"].each do |sort| %>
<% if @current_sort != sort %> <% if @current_sort != sort %>
<li><a href="?<%= {team: @current_team_id, sort: sort}.reject{|k,v| v.to_s == "0"}.to_query %>"><%= t('projects.index.sort_' + sort) %></a></li> <li><a href="?<%= {team: @current_team_id, sort: sort}.reject{|k,v| v.to_s == "0"}.to_query %>"><%= t('projects.index.sort_' + sort) %></a></li>
<% else %> <% else %>
<li class="disabled"><a href="#"><%= t('projects.index.sort_' + sort) %></a></li> <li class="disabled"><a href="#"><%= t('projects.index.sort_' + sort) %></a></li>
<% end %>
<% end %> <% end %>
<% end %> </ul>
</ul> </div>
</div> </div>
</form>
</div>
<% @archived_projects_by_teams.each do |team, projects| %>
<%= render partial: 'projects/archive/team_projects',
locals: {team: team, projects: projects} %>
<% end %>
<% else %>
<div class="row">
<div class="col-xs-12">
<h4><%=t "projects.index.no_archived_projects" %></h4>
</div>
</div>
<div>
<div class="col-xs-12">
<%= link_to t("projects.index.back_to_projects_index"), projects_path, data: { turbolinks: 'false' } %>
</div>
</div>
<!-- Some spacing... -->
<div class="row">
<div class="col-xs-12" style="height: 30px;"></div>
</div> </div>
</form>
</div>
<% @archived_projects_by_teams.each do |team, projects| %>
<%= render partial: 'projects/archive/team_projects',
locals: {team: team, projects: projects} %>
<% end %> <% end %>
<% else %> </div>
<!-- Some spacing... -->
<div class="row">
<div class="col-xs-12" style="height: 30px;"></div>
</div>
<div class="row">
<div class="col-xs-12">
<h4><%=t "projects.index.no_archived_projects" %></h4>
</div>
</div>
<div>
<div class="col-xs-12">
<%= link_to t("projects.index.back_to_projects_index"), projects_path, data: { turbolinks: 'false' } %>
</div>
</div>
<% end %>

View file

@ -1,5 +1,3 @@
<h2 class="page-header"><%= team.name %></h2>
<div class="row"> <div class="row">
<% projects.each_index do |i| project = projects[i] %> <% projects.each_index do |i| project = projects[i] %>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12"> <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">

View file

@ -2,27 +2,29 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<% if @project.archived_experiments.count > 0 %> <div class="content-pane">
<div class="row"> <% if @project.archived_experiments.count > 0 %>
<% @project.archived_experiments.each_with_index do |experiment, i| %> <div class="row" style="margin-top: 10px;">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12"> <% @project.archived_experiments.each_with_index do |experiment, i| %>
<%= render partial: "projects/experiment_archive/experiment.html.erb", locals: { experiment: experiment} %> <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
</div> <%= render partial: "projects/experiment_archive/experiment.html.erb", locals: { experiment: experiment} %>
<% if (i+1) % 6 == 0 %> </div>
<div class="clearfix visible-lg-block"></div> <% if (i+1) % 6 == 0 %>
<div class="clearfix visible-lg-block"></div>
<% end %>
<% if (i+1) % 4 == 0 %>
<div class="clearfix visible-md-block"></div>
<% end %>
<% if (i+1) % 3 == 0 %>
<div class="clearfix visible-sm-block"></div>
<% end %>
<% end %> <% end %>
<% if (i+1) % 4 == 0 %>
<div class="clearfix visible-md-block"></div>
<% end %>
<% if (i+1) % 3 == 0 %>
<div class="clearfix visible-sm-block"></div>
<% end %>
<% end %>
</div>
<% else %>
<div class="row">
<div class="col-xs-12">
<em><%=t "projects.experiment_archive.no_archived_experiments" %></em>
</div> </div>
</div> <% else %>
<% end %> <div class="row">
<div class="col-xs-12">
<em><%=t "projects.experiment_archive.no_archived_experiments" %></em>
</div>
</div>
<% end %>
</div>

View file

@ -1,6 +1,8 @@
<% provide(:head_title, t("projects.index.head_title")) %> <% provide(:head_title, t("projects.index.head_title")) %>
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %>
<div class="content-pane">
<% if can_create_projects?(current_team) %> <% if can_create_projects?(current_team) %>
<!-- New project modal --> <!-- New project modal -->
<div class="modal" id="new-project-modal" tabindex="-1" role="dialog" aria-labelledby="new-project-modal-label"> <div class="modal" id="new-project-modal" tabindex="-1" role="dialog" aria-labelledby="new-project-modal-label">
@ -61,11 +63,6 @@
<form class="form-inline" action="<%= projects_path %>"> <form class="form-inline" action="<%= projects_path %>">
<div class="form-group"> <div class="form-group">
<!-- project archive button -->
<a class="btn btn-default pull-right" href="<%= url_for projects_archive_path %>" id="project-archive-btn" data-turbolinks="false" title="<%= t'projects.index.archive' %>">
<span class="glyphicon glyphicon-briefcase" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.index.archive" %></span>
</a>
<% if @teams.length > 0 && can_create_projects?(current_team) %> <% if @teams.length > 0 && can_create_projects?(current_team) %>
<!-- new project button --> <!-- new project button -->
@ -108,11 +105,12 @@
</p> </p>
</div> </div>
<% else %> <% else %>
<h2 class="page-header"><%= current_team.name %></h2>
<% @projects_by_teams.each do |team, projects| %> <% @projects_by_teams.each do |team, projects| %>
<%= render partial: "projects/index/team_projects", <%= render partial: "projects/index/team_projects",
locals: {team: team, projects: projects} %> locals: {team: team, projects: projects} %>
<% end %> <% end %>
<% end %> <% end %>
</div>
<%= javascript_include_tag "projects/index", "data-turbolinks-track" => true %> <%= javascript_include_tag "projects/index", "data-turbolinks-track" => true %>

View file

@ -2,58 +2,56 @@
<%= render partial: "shared/sidebar" %> <%= render partial: "shared/sidebar" %>
<%= render partial: "shared/secondary_navigation" %> <%= render partial: "shared/secondary_navigation" %>
<div class="row"> <div class="content-pane">
<div class="col-sm-12" <div class="row">
id="data-holder" <div class="col-sm-12"
data-project-id="<%= @project.id %>"> id="data-holder"
<div class="row"> data-project-id="<%= @project.id %>">
<div class="col-sm-12"> <div class="row">
<!-- experiment sort --> <div class="col-sm-12">
<div class="dropdown pull-left"> <!-- experiment sort -->
<button class="btn btn-default dropdown-toggle" type="button" id="sortMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <div class="dropdown pull-left">
<span class="hidden-xs"><%= t'projects.index.sort' %></span> <button class="btn btn-default dropdown-toggle" type="button" id="sortMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span> <span class="hidden-xs"><%= t'projects.index.sort' %></span>
<span class="caret"></span> <span class="visible-xs-inline"><i class="glyphicon glyphicon-sort"></i></span>
</button> <span class="caret"></span>
<ul class="dropdown-menu" aria-labelledby="sortMenu"> </button>
<% ["new", "old", "atoz", "ztoa"].each do |sort| %> <ul class="dropdown-menu" aria-labelledby="sortMenu">
<% if @current_sort != sort %> <% ["new", "old", "atoz", "ztoa"].each do |sort| %>
<li><a href="?<%= {sort: sort}.reject{|v| v.to_s == "0"}.to_query %>"><%= t('projects.index.sort_' + sort) %></a></li> <% if @current_sort != sort %>
<% else %> <li><a href="?<%= {sort: sort}.reject{|v| v.to_s == "0"}.to_query %>"><%= t('projects.index.sort_' + sort) %></a></li>
<li class="disabled"><a href="#"><%= t('projects.index.sort_' + sort) %></a></li> <% else %>
<li class="disabled"><a href="#"><%= t('projects.index.sort_' + sort) %></a></li>
<% end %>
<% end %> <% end %>
</ul>
</div>
<% if can_create_experiments?(@project) %>
<%= link_to new_project_experiment_url(@project),
remote: true,
type: "button",
id: 'new-experiment',
class: 'btn btn-primary pull-right' do %>
<span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs"><%=t 'experiments.new.create' %></span>
<% end %> <% end %>
</ul>
</div>
<% if can_create_experiments?(@project) %>
<%= link_to new_project_experiment_url(@project),
remote: true,
type: "button",
id: 'new-experiment',
class: 'btn btn-primary pull-right' do %>
<span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs"><%=t 'experiments.new.create' %></span>
<% end %> <% end %>
<% end %> </div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<h2><%= t'projects.show.page_title' %></h2>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="row">
<div class="row"> <% @project.active_experiments(@current_sort).each_with_index do |experiment, index| %>
<% @project.active_experiments(@current_sort).each_with_index do |experiment, index| %> <%= render partial: 'projects/show/experiment',
<%= render partial: 'projects/show/experiment', locals: { experiment: experiment } %>
locals: { experiment: experiment } %>
<%= content_tag(:div, '', class: 'clearfix visible-lg-block') if (index + 1) % 2 == 0 %> <%= content_tag(:div, '', class: 'clearfix visible-lg-block') if (index + 1) % 2 == 0 %>
<% end %> <% end %>
<% if can_create_experiments?(@project) %> <% if can_create_experiments?(@project) %>
<%= render 'projects/show/new_experiment' %> <%= render 'projects/show/new_experiment' %>
<% end %> <% end %>
</div>
</div> </div>
<%= javascript_include_tag("experiments/dropdown_actions") %> <%= javascript_include_tag("experiments/dropdown_actions") %>
<%= javascript_include_tag("projects/show") %> <%= javascript_include_tag("projects/show") %>

View file

@ -10,7 +10,7 @@
<div class="row"> <div class="row">
<div class="col-xs-6 col-sm-4 col-md-4"> <div class="col-xs-6 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -20,7 +20,7 @@
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-4"> <div class="col-xs-6 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -30,7 +30,7 @@
</div> </div>
<div class="col-xs-12 col-sm-4 col-md-4"> <div class="col-xs-12 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-user"></span> <span class="glyphicon glyphicon-user"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -40,7 +40,7 @@
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_protocol_in_repository?(@protocol) %> <% if can_manage_protocol_in_repository?(@protocol) %>
<a data-action="edit-keywords" data-remote="true" href="<%= edit_keywords_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;"> <a data-action="edit-keywords" data-remote="true" href="<%= edit_keywords_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;">
<span class="glyphicon glyphicon-text-color"></span> <span class="glyphicon glyphicon-text-color"></span>
@ -62,7 +62,7 @@
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_protocol_in_repository?(@protocol) %> <% if can_manage_protocol_in_repository?(@protocol) %>
<a data-action="edit-authors" data-remote="true" href="<%= edit_authors_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;"> <a data-action="edit-authors" data-remote="true" href="<%= edit_authors_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;">
<span class="glyphicon glyphicon-education"></span> <span class="glyphicon glyphicon-education"></span>
@ -84,7 +84,7 @@
</div> </div>
<div class="col-xs-12 col-sm-12 col-md-12"> <div class="col-xs-12 col-sm-12 col-md-12">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<% if can_manage_protocol_in_repository?(@protocol) %> <% if can_manage_protocol_in_repository?(@protocol) %>
<a data-action="edit-description" data-remote="true" href="<%= edit_description_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;"> <a data-action="edit-description" data-remote="true" href="<%= edit_description_modal_protocol_path(@protocol, format: :json) %>" style="color: inherit;">
<span class="glyphicon glyphicon-info-sign"></span> <span class="glyphicon glyphicon-info-sign"></span>

View file

@ -2,7 +2,7 @@
<hr> <hr>
<td> <td>
<div class="badge-num"> <div class="badge-num">
<span class="badge-preview bg-primary size-digit-1"> <span class="badge-preview size-digit-1">
<b data-val="position"><%= 1 %></b> <b data-val="position"><%= 1 %></b>
</span> </span>
&nbsp; &nbsp; &nbsp; &nbsp;

View file

@ -8,7 +8,7 @@
<hr> <hr>
<td> <td>
<div class="badge-num"> <div class="badge-num">
<span class="badge-preview bg-primary size-digit-1"> <span class="badge-preview size-digit-1">
<b data-val="position"><%= (counter) %></b> <b data-val="position"><%= (counter) %></b>
</span> </span>
&nbsp; &nbsp; &nbsp; &nbsp;

View file

@ -1,7 +1,7 @@
<div data-template="step" style="display: none;"> <div data-template="step" style="display: none;">
<hr> <hr>
<div class="badge-num"> <div class="badge-num">
<span class="badge-preview bg-primary size-digit-1"> <span class="badge-preview size-digit-1">
<b data-val="position"></b> <b data-val="position"></b>
</span> </span>
&nbsp; &nbsp;

View file

@ -1,143 +1,147 @@
<% provide(:head_title, t("protocols.index.head_title")) %> <% provide(:head_title, t("protocols.index.head_title")) %>
<% if current_team %> <div class="content-pane">
<ul class="nav nav-tabs nav-settings"> <% if current_team %>
<li role="presentation" class="<%= "active" if @type == :public %>"> <ul class="nav nav-tabs nav-settings">
<%= link_to t("protocols.index.navigation.public"), protocols_path(team: @current_team, type: :public) %> <li role="presentation" class="<%= "active" if @type == :public %>">
</li> <%= link_to t("protocols.index.navigation.public"), protocols_path(team: @current_team, type: :public) %>
<li role="presentation" class="<%= "active" if @type == :private %>"> </li>
<%= link_to t("protocols.index.navigation.private"), protocols_path(team: @current_team, type: :private) %> <li role="presentation" class="<%= "active" if @type == :private %>">
</li> <%= link_to t("protocols.index.navigation.private"), protocols_path(team: @current_team, type: :private) %>
<li role="presentation" class="<%= "active" if @type == :archive %>"> </li>
<%= link_to protocols_path(team: @current_team, type: :archive) do %> <li role="presentation" class="<%= "active" if @type == :archive %>">
<span class="glyphicon glyphicon-briefcase" title="<%= t'protocols.index.navigation.archive' %>"></span> <%= link_to protocols_path(team: @current_team, type: :archive) do %>
<% end %> <span class="glyphicon glyphicon-briefcase" title="<%= t'protocols.index.navigation.archive' %>"></span>
</li> <span class="hidden-xs"><%= t("protocols.index.navigation.archive") %></span>
</ul> <% end %>
<div class="tab-content"> </li>
<div class="tab-pane tab-pane-settings tab-pane-protocols active" role="tabpanel"> </ul>
<!-- Buttons container --> <div class="tab-content">
<% if @type.in? [:public, :private] %> <div class="tab-pane tab-pane-settings tab-pane-protocols active" role="tabpanel">
<div class="protocols-description"> <!-- Buttons container -->
<%= t(@type == :public ? "protocols.index.public_description" : "protocols.index.private_description") %> <% if @type.in? [:public, :private] %>
</div> <div class="protocols-description">
<div class="btn-group" role="group"> <%= t(@type == :public ? "protocols.index.public_description" : "protocols.index.private_description") %>
<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) %>"> </div>
<span class="glyphicon glyphicon-plus"></span> <div class="btn-group" role="group">
<span class="hidden-xs">&nbsp;<%= t("protocols.index.create_new") %></span> <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) %>">
</a> <span class="glyphicon glyphicon-plus"></span>
<a class="btn btn-default" data-action="edit"> <span class="hidden-xs">&nbsp;<%= t("protocols.index.create_new") %></span>
<span class="glyphicon glyphicon-pencil"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.edit") %></span>
</a>
<a class="btn btn-default" data-action="clone">
<span class="glyphicon glyphicon-duplicate"></span>
<span class="hidden-xs">&nbsp;<%= 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 %>">
<span class="glyphicon glyphicon-eye-close"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.make_private") %></span>
</a> </a>
<% elsif @type == :private %> <a class="btn btn-default" data-action="edit">
<a class="btn btn-default" data-action="publish" data-url="<%= publish_protocols_path %>"> <span class="glyphicon glyphicon-pencil"></span>
<span class="glyphicon glyphicon-open"></span> <span class="hidden-xs">&nbsp;<%= t("protocols.index.edit") %></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.publish") %></span>
</a> </a>
<% end %> <a class="btn btn-default" data-action="clone">
</div> <span class="glyphicon glyphicon-duplicate"></span>
<div id="import-export-protocols" class="btn-group" role="group"> <span class="hidden-xs">&nbsp;<%= t("protocols.index.clone_btn") %></span>
<a class="btn btn-default btn-open-file" </a>
data-toggle="dropdown" <% if @type == :public %>
aria-haspopup="true" <a class="btn btn-default" data-action="make-private" data-url="<%= make_private_protocols_path %>">
aria-expanded="false" <span class="glyphicon glyphicon-eye-close"></span>
href="#" <span class="hidden-xs">&nbsp;<%= t("protocols.index.make_private") %></span>
<%= 'disabled' unless can_create_protocols_in_repository?(@current_team) %>> </a>
<span class="glyphicon glyphicon-import"></span><span class="hidden-xs">&nbsp;<%= t("protocols.index.import") %></span></a> <% elsif @type == :private %>
<% if can_create_protocols_in_repository?(@current_team) %> <a class="btn btn-default" data-action="publish" data-url="<%= publish_protocols_path %>">
<ul class="dropdown-menu"> <span class="glyphicon glyphicon-open"></span>
<li> <span class="hidden-xs">&nbsp;<%= t("protocols.index.publish") %></span>
<a class="btn-link-alt btn-default-link btn-open-file" <%= can_create_protocols_in_repository?(@current_team) ? 'data-action="import"' : 'disabled="disabled"' %>> </a>
<span class="glyphicon glyphicon-file"></span> <% end %>
<span class="hidden-xs"><%= t("protocols.index.import_alt") %></span> </div>
<input type="file" value="" accept=".eln" data-role="import-file-input" <div id="import-export-protocols" class="btn-group" role="group">
data-team-id="<%= @current_team.id %>" <a class="btn btn-default btn-open-file"
data-type="<%= @type %>" data-import-url="<%= import_protocols_path %>" data-toggle="dropdown"
<%= 'disabled="disabled"' unless can_create_protocols_in_repository?(@current_team) %>> aria-haspopup="true"
</a> aria-expanded="false"
</li> href="#"
<li> <%= 'disabled' unless can_create_protocols_in_repository?(@current_team) %>>
<%= link_to "#modal-import-json-protocol", "data-toggle" => "modal" do %> <span class="glyphicon glyphicon-import"></span><span class="hidden-xs">&nbsp;<%= t("protocols.index.import") %></span></a>
<span class="glyphicon glyphicon-file"></span> <% if can_create_protocols_in_repository?(@current_team) %>
<span class="hidden-xs"><%= t("protocols.index.import_json") %></span> <ul class="dropdown-menu">
<% end %> <li>
</li> <a class="btn-link-alt btn-default-link btn-open-file" <%= can_create_protocols_in_repository?(@current_team) ? 'data-action="import"' : 'disabled="disabled"' %>>
</ul> <span class="glyphicon glyphicon-file"></span>
<% end %> <span class="hidden-xs"><%= t("protocols.index.import_alt") %></span>
<a class="btn btn-default" data-action="export" data-export-url="<%= export_protocols_path() %>"> <input type="file" value="" accept=".eln" data-role="import-file-input"
<span class="glyphicon glyphicon-export"></span> data-team-id="<%= @current_team.id %>"
<span class="hidden-xs">&nbsp;<%= t("protocols.index.export") %></span> data-type="<%= @type %>" data-import-url="<%= import_protocols_path %>"
</a> <%= 'disabled="disabled"' unless can_create_protocols_in_repository?(@current_team) %>>
</div> </a>
</li>
<div class="btn-group" role="group"> <li>
<a class="btn btn-default" data-action="archive" data-url="<%= archive_protocols_path %>"> <%= link_to "#modal-import-json-protocol", "data-toggle" => "modal" do %>
<span class="glyphicon glyphicon-briefcase"></span> <span class="glyphicon glyphicon-file"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.archive_action") %></span> <span class="hidden-xs"><%= t("protocols.index.import_json") %></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 %>">
<span class="glyphicon glyphicon-refresh"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.restore") %></span>
</a>
</div>
<% end %>
<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 %> <% end %>
<th id="protocol-updated-at"><%= t("protocols.index.thead_updated_at") %></th> </li>
</tr> </ul>
</thead> <% end %>
<tbody></tbody> <a class="btn btn-default" data-action="export" data-export-url="<%= export_protocols_path() %>">
</table> <span class="glyphicon glyphicon-export"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.export") %></span>
</a>
</div>
<div class="btn-group" role="group">
<a class="btn btn-default" data-action="archive" data-url="<%= archive_protocols_path %>">
<span class="glyphicon glyphicon-briefcase"></span>
<span class="hidden-xs">&nbsp;<%= 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 %>">
<span class="glyphicon glyphicon-refresh"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.restore") %></span>
</a>
</div>
<% end %>
<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>
</div> </div>
</div> </div>
</div> </div>
</div> <% else %>
<% else %> <!-- Show link to team management if member of
<!-- Show link to team management if member of no teams -->
no teams --> <div class="jumbotron">
<div class="jumbotron"> <h2><%=t 'protocols.index.no_teams.title' %></h2>
<h2><%=t 'protocols.index.no_teams.title' %></h2> <p><%=t 'protocols.index.no_teams.text' %></p>
<p><%=t 'protocols.index.no_teams.text' %></p> <p data-hook="protocols-manage-teams-button">
<p data-hook="protocols-manage-teams-button"> <%= link_to t('protocols.index.no_teams.btn'), teams_path, class: 'btn btn-primary' %>
<%= link_to t('protocols.index.no_teams.btn'), teams_path, class: 'btn btn-primary' %> </p>
</p> </div>
</div> <% end %>
<% end %> </div>
<div id="protocolsio-preview-modal-target"></div> <div id="protocolsio-preview-modal-target"></div>
<%= render partial: "protocols/import_export/import_json_protocol_modal.html.erb" %> <%= render partial: "protocols/import_export/import_json_protocol_modal.html.erb" %>

View file

@ -1,6 +1,6 @@
<div class="row"> <div class="row">
<div class="col-xs-6 col-sm-4 col-md-4"> <div class="col-xs-6 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -10,7 +10,7 @@
</div> </div>
<div class="col-xs-6 col-sm-4 col-md-4"> <div class="col-xs-6 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -20,7 +20,7 @@
</div> </div>
<div class="col-xs-12 col-sm-4 col-md-4"> <div class="col-xs-12 col-sm-4 col-md-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-user"></span> <span class="glyphicon glyphicon-user"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -30,7 +30,7 @@
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-text-color"></span> <span class="glyphicon glyphicon-text-color"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -40,7 +40,7 @@
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6"> <div class="col-xs-12 col-sm-6 col-md-6">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-education"></span> <span class="glyphicon glyphicon-education"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -50,7 +50,7 @@
</div> </div>
<div class="col-xs-12 col-sm-12 col-md-12"> <div class="col-xs-12 col-sm-12 col-md-12">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-info-sign"></span> <span class="glyphicon glyphicon-info-sign"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -70,7 +70,7 @@
<% protocol.steps.order(:position).each do |step| %> <% protocol.steps.order(:position).each do |step| %>
<div class ="step <%= step.completed? ? "completed" : "not-completed" %>"> <div class ="step <%= step.completed? ? "completed" : "not-completed" %>">
<div class="badge-num"> <div class="badge-num">
<span class="badge bg-primary size-digit-<%= (step.position + 1).to_s.length %>"><%= step.position + 1 %></span> <span class="badge size-digit-<%= (step.position + 1).to_s.length %>"><%= step.position + 1 %></span>
</div> </div>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">

View file

@ -1,45 +1,47 @@
<% provide(:head_title, t('projects.reports.index.head_title').html_safe) %> <% provide(:head_title, t('projects.reports.index.head_title').html_safe) %>
<%= stylesheet_link_tag 'datatables' %> <%= stylesheet_link_tag 'datatables' %>
<div id="content-reports-index"> <div class="content-pane">
<div class="row"> <div id="content-reports-index">
<div class="col-md-12"> <div class="row">
<% if can_manage_reports?(current_team) %> <div class="col-md-12">
<%= link_to '#', class: 'btn btn-primary', id: 'new-report-btn', 'data-no-turbolink' => true do %> <% if can_manage_reports?(current_team) %>
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> <%= link_to '#', class: 'btn btn-primary', id: 'new-report-btn', 'data-no-turbolink' => true do %>
<span class="hidden-xs"><%=t "projects.reports.index.new" %></span> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.reports.index.new" %></span>
<% end %>
<%= link_to "", remote: true, class: "btn btn-default", id: "edit-report-btn" do %>
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.reports.index.edit" %></span>
<% end %>
<%= link_to "", remote: true, class: "btn btn-default", id: "delete-reports-btn" do %>
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.reports.index.delete" %></span>
<% end %>
<% end %> <% end %>
<%= link_to "", remote: true, class: "btn btn-default", id: "edit-report-btn" do %> </div>
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.reports.index.edit" %></span>
<% end %>
<%= link_to "", remote: true, class: "btn btn-default", id: "delete-reports-btn" do %>
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
<span class="hidden-xs"><%=t "projects.reports.index.delete" %></span>
<% end %>
<% end %>
</div> </div>
</div> <br />
<br /> <div class="row">
<div class="row"> <div class="col-md-12">
<div class="col-md-12"> <div class="reports-datatable">
<div class="reports-datatable"> <table id="reports-table"
<table id="reports-table" class="table"
class="table" data-source="<%= reports_datatable_path(format: :json) %>">
data-source="<%= reports_datatable_path(format: :json) %>"> <thead>
<thead> <tr>
<tr> <th id="select-all"><input name="select_all" type="checkbox"></th>
<th id="select-all"><input name="select_all" type="checkbox"></th> <th id="project-name"><%=t 'projects.reports.index.thead_project_name' %></th>
<th id="project-name"><%=t 'projects.reports.index.thead_project_name' %></th> <th id="report-name"><%=t 'projects.reports.index.thead_name' %></th>
<th id="report-name"><%=t 'projects.reports.index.thead_name' %></th> <th id="report-created-by"><%=t 'projects.reports.index.thead_created_by' %></th>
<th id="report-created-by"><%=t 'projects.reports.index.thead_created_by' %></th> <th id="report-last-modified-by"><%=t 'projects.reports.index.thead_last_modified_by' %></th>
<th id="report-last-modified-by"><%=t 'projects.reports.index.thead_last_modified_by' %></th> <th id="report-created-at"><%=t 'projects.reports.index.thead_created_at' %></th>
<th id="report-created-at"><%=t 'projects.reports.index.thead_created_at' %></th> <th id="report-updated-at"><%=t 'projects.reports.index.thead_updated_at' %></th>
<th id="report-updated-at"><%=t 'projects.reports.index.thead_updated_at' %></th> </tr>
</tr> </thead>
</thead> <tbody></tbody>
<tbody></tbody> </table>
</table> </div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,4 +1,5 @@
<% provide(:head_title, t("libraries.index.head_title")) %> <% provide(:head_title, t("libraries.index.head_title")) %>
<% provide(:container_class, "no-second-nav-container") %>
<% if current_team %> <% if current_team %>
<%= render partial: "sidebar", locals: { repositories: @repositories } %> <%= render partial: "sidebar", locals: { repositories: @repositories } %>
@ -6,21 +7,23 @@
# show only if no repositories present. If the team will have them we will # show only if no repositories present. If the team will have them we will
# handle this in left side navigation bar # handle this in left side navigation bar
%> %>
<div class="jumbotron text-center" style="margin-top:18%"> <div class="content-pane">
<strong><%=t 'libraries.index.no_libraries.text' %></strong> <div class="jumbotron text-center" style="margin-top:12%">
<% if can_create_repositories?(current_team) %> <strong><%=t 'libraries.index.no_libraries.text' %></strong>
<h2><strong><%=t 'libraries.index.no_libraries.title' %><strong></h2> <% if can_create_repositories?(current_team) %>
<br /> <h2><strong><%=t 'libraries.index.no_libraries.title' %><strong></h2>
<a class="btn btn-primary btn-lg" <br />
id="create-new-repository" <a class="btn btn-primary btn-lg"
data-remote="true" id="create-new-repository"
href="<%= create_modal_team_repositories_path(current_team) %>"> data-remote="true"
<span class="glyphicon glyphicon-plus"></span> href="<%= create_modal_team_repositories_path(current_team) %>">
<span class="hidden-xs"><%= t('libraries.index.no_libraries.create_new_button') %></span> <span class="glyphicon glyphicon-plus"></span>
</a> <span class="hidden-xs"><%= t('libraries.index.no_libraries.create_new_button') %></span>
<% else %> </a>
<h2><strong><%=t 'libraries.index.no_libraries.no_permission_title' %><strong></h2> <% else %>
<% end %> <h2><strong><%=t 'libraries.index.no_libraries.no_permission_title' %><strong></h2>
<% end %>
</div>
</div> </div>
<% else %> <% else %>
<!-- If member of no teams --> <!-- If member of no teams -->

View file

@ -1,141 +1,145 @@
<% provide(:head_title, t("libraries.show.head_title", library: @repository.name)) %> <% provide(:head_title, t("libraries.show.head_title", library: @repository.name)) %>
<%= stylesheet_link_tag 'datatables' %> <%= stylesheet_link_tag 'datatables' %>
<% provide(:container_class, "no-second-nav-container") %>
<%= render partial: "sidebar", locals: { repositories: @repositories } %> <%= render partial: "sidebar", locals: { repositories: @repositories } %>
<div id="alert-container"></div> <div id="alert-container"></div>
<div id="repository-toolbar"> <div class="content-pane">
<div id="repository-toolbar">
<% if can_create_repository_rows?(@repository.team) %> <% if can_create_repository_rows?(@repository.team) %>
<button type="button" class="btn btn-primary editAdd" id="addRepositoryRecord" onclick="onClickAddRecord()"> <button type="button" class="btn btn-primary editAdd" id="addRepositoryRecord" onclick="onClickAddRecord()">
<span class="glyphicon glyphicon-plus"></span> <span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs"><%= t("repositories.add_new_record") %></span> <span class="hidden-xs"><%= t("repositories.add_new_record") %></span>
</button> </button>
<% end %> <% end %>
<div class="repository-cog"> <div class="repository-cog">
<div class="dropdown"> <div class="dropdown">
<div class="btn btn-default" <div class="btn btn-default"
type="button" type="button"
data-toggle="dropdown" data-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true"
aria-expanded="true" aria-expanded="true"
<%= "disabled" unless can_perform_repository_actions(@repository) %>> <%= "disabled" unless can_perform_repository_actions(@repository) %>>
<span class="glyphicon glyphicon-cog"></span> <span class="glyphicon glyphicon-cog"></span>
<span class="hidden-xs"><%= t('repositories.index.advanced') %></span> <span class="hidden-xs"><%= t('repositories.index.advanced') %></span>
<span class="caret"></span> <span class="caret"></span>
</div>
<% if can_perform_repository_actions(@repository) %>
<ul class="dropdown-menu pull-right">
<li class="dropdown-header">
<%= t("repositories.index.options_dropdown.header") %>
</li>
<% if can_manage_repository?(@repository) %>
<li>
<%= link_to t('repositories.index.options_dropdown.rename'),
team_repository_rename_modal_path(current_team, repository_id: @repository),
class: "rename-repo-option",
remote: true %>
</li>
<% end %>
<% if can_create_repository_columns?(@repository.team) %>
<li>
<%= link_to t('repositories.index.options_dropdown.manage_columns'),
repository_repository_columns_path(@repository) %>
</li>
<% end %>
<% if can_create_repositories?(@repository.team) %>
<li>
<%= link_to t('repositories.index.options_dropdown.copy'),
team_repository_copy_modal_path(current_team, repository_id: @repository),
class: "copy-repo-option",
remote: true %>
</li>
<% end %>
<% if can_create_repository_rows?(@repository.team) %>
<li>
<a href="#" id="importRecordsButton" data-turbolinks="false">
<%= t('repositories.import_records.import') %>
</a>
<li>
<% end %>
<% if can_read_team?(@repository.team) %>
<li>
<a href="#" id="exportRepositoriesButton" data-turbolinks="false">
<%= t("my_modules.repository.export") %>
</a>
</li>
<% end %>
<% if can_manage_repository?(@repository) %>
<li role="separator" class="divider"></li>
<li>
<%= link_to t('repositories.index.modal_delete.delete'),
team_repository_destroy_modal_path(current_team, repository_id: @repository),
class: "delete-repo-option",
remote: true %>
</li>
<% end %>
</ul>
<% end %>
</div> </div>
</div>
<% if can_perform_repository_actions(@repository) %>
<ul class="dropdown-menu pull-right"> <div id="datatables-buttons" style="display: inline;">
<li class="dropdown-header"> <div class="new-repository-button">
<%= t("repositories.index.options_dropdown.header") %> <% if can_create_repositories?(@repository.team) %>
</li> <a class="btn btn-default"
<% if can_manage_repository?(@repository) %> id="create-new-repository"
<li> data-remote="true"
<%= link_to t('repositories.index.options_dropdown.rename'), href="<%= create_modal_team_repositories_path(@repository.team) %>">
team_repository_rename_modal_path(current_team, repository_id: @repository), <span class="glyphicon glyphicon-plus"></span>
class: "rename-repo-option", <span class="hidden-xs"><%= t('libraries.index.no_libraries.create_new_button') %></span>
remote: true %> </a>
</li> <% end %>
<% end %> </div>
<% if can_create_repository_columns?(@repository.team) %> <%= render partial: "columns_reorder_dropdown", formats: :html %>
<li>
<%= link_to t('repositories.index.options_dropdown.manage_columns'),
repository_repository_columns_path(@repository) %>
</li>
<% end %>
<% if can_create_repositories?(@repository.team) %>
<li>
<%= link_to t('repositories.index.options_dropdown.copy'),
team_repository_copy_modal_path(current_team, repository_id: @repository),
class: "copy-repo-option",
remote: true %>
</li>
<% end %>
<% if can_create_repository_rows?(@repository.team) %>
<li>
<a href="#" id="importRecordsButton" data-turbolinks="false">
<%= t('repositories.import_records.import') %>
</a>
<li>
<% end %>
<% if can_read_team?(@repository.team) %>
<li>
<a href="#" id="exportRepositoriesButton" data-turbolinks="false">
<%= t("my_modules.repository.export") %>
</a>
</li>
<% end %>
<% if can_manage_repository?(@repository) %>
<li role="separator" class="divider"></li>
<li>
<%= link_to t('repositories.index.modal_delete.delete'),
team_repository_destroy_modal_path(current_team, repository_id: @repository),
class: "delete-repo-option",
remote: true %>
</li>
<% end %>
</ul>
<% end %>
</div> </div>
</div> </div>
<div class="btn-group inline" id="saveCancel" data-toggle="buttons" style="display:none">
<div id="datatables-buttons" style="display: inline;"> <button type="button" class="btn btn-success" id="saveRecord" onclick="onClickSave()">
<div class="new-repository-button"> <span class="glyphicon glyphicon-save"></span>
<% if can_create_repositories?(@repository.team) %> <%= t("repositories.save_record") %>
<a class="btn btn-default" </button>
id="create-new-repository" <button type="button" class="btn btn-default" id="cancelSave" onclick="onClickCancel()">
data-remote="true" <span class="glyphicon glyphicon-remove visible-xs-inline"></span>
href="<%= create_modal_team_repositories_path(@repository.team) %>"> <span class="hidden-xs"><%= t("repositories.cancel_save") %></span>
<span class="glyphicon glyphicon-plus"></span> </button>
<span class="hidden-xs"><%= t('libraries.index.no_libraries.create_new_button') %></span>
</a>
<% end %>
</div>
<%= render partial: "columns_reorder_dropdown", formats: :html %>
</div> </div>
<!-- These buttons are appended to table in javascript, after table initialization -->
<div class="toolbarButtons" style="display:none">
<% if can_manage_repository_rows?(@repository.team) %>
<button type="button" class="btn btn-default editAdd" id="editRepositoryRecord" onclick="onClickEdit()" disabled>
<span class="glyphicon glyphicon-pencil"></span>
<span class="hidden-xs-custom"><%= t("repositories.edit_record") %></span>
</button>
<button type="button" class="btn btn-default"
id="deleteRepositoryRecordsButton" data-target="#deleteRepositoryRecord" data-toggle="modal" disabled>
<span class="glyphicon glyphicon-trash"></span>
<span class="hidden-xs-custom"><%= t'repositories.delete_record' %></span>
<%= submit_tag I18n.t('repositories.delete_record'), :class => "hidden
delete_repository_records_submit" %>
</button>
<button type="button" class="btn btn-default copyRow" id="copyRepositoryRecords" onclick="onClickCopyRepositoryRecords()" disabled>
<span class="glyphicon glyphicon-duplicate"></span>
<span class="hidden-xs-custom"><%= t("repositories.copy_record") %></span>
</button>
<% end %>
</div>
<%= render partial: "repositories/repository_table.html.erb",
locals: {
repository: @repository,
repository_index_link: repository_table_index_path(@repository)
}
%>
</div> </div>
<div class="btn-group inline" id="saveCancel" data-toggle="buttons" style="display:none">
<button type="button" class="btn btn-success" id="saveRecord" onclick="onClickSave()">
<span class="glyphicon glyphicon-save"></span>
<%= t("repositories.save_record") %>
</button>
<button type="button" class="btn btn-default" id="cancelSave" onclick="onClickCancel()">
<span class="glyphicon glyphicon-remove visible-xs-inline"></span>
<span class="hidden-xs"><%= t("repositories.cancel_save") %></span>
</button>
</div>
<!-- These buttons are appended to table in javascript, after table initialization -->
<div class="toolbarButtons" style="display:none">
<% if can_manage_repository_rows?(@repository.team) %>
<button type="button" class="btn btn-default editAdd" id="editRepositoryRecord" onclick="onClickEdit()" disabled>
<span class="glyphicon glyphicon-pencil"></span>
<span class="hidden-xs-custom"><%= t("repositories.edit_record") %></span>
</button>
<button type="button" class="btn btn-default"
id="deleteRepositoryRecordsButton" data-target="#deleteRepositoryRecord" data-toggle="modal" disabled>
<span class="glyphicon glyphicon-trash"></span>
<span class="hidden-xs-custom"><%= t'repositories.delete_record' %></span>
<%= submit_tag I18n.t('repositories.delete_record'), :class => "hidden
delete_repository_records_submit" %>
</button>
<button type="button" class="btn btn-default copyRow" id="copyRepositoryRecords" onclick="onClickCopyRepositoryRecords()" disabled>
<span class="glyphicon glyphicon-duplicate"></span>
<span class="hidden-xs-custom"><%= t("repositories.copy_record") %></span>
</button>
<% end %>
</div>
<%= render partial: "repositories/repository_table.html.erb",
locals: {
repository: @repository,
repository_index_link: repository_table_index_path(@repository)
}
%>
<%= render partial: 'repositories/import_repository_records_modal.html.erb', <%= render partial: 'repositories/import_repository_records_modal.html.erb',
locals: { repository: @repository } %> locals: { repository: @repository } %>

View file

@ -1,5 +1,6 @@
<% provide(:head_title, t('libraries.repository_columns.head_title', repository: @repository.name)) %> <% provide(:head_title, t('libraries.repository_columns.head_title', repository: @repository.name)) %>
<div>
<div class="content-pane">
<div class="repository-columns-header container"> <div class="repository-columns-header container">
<div class="row"> <div class="row">
<%= link_to t('libraries.repository_columns.index.back_to_repository_html', repository: @repository.name), <%= link_to t('libraries.repository_columns.index.back_to_repository_html', repository: @repository.name),

View file

@ -1,325 +1,327 @@
<% provide(:head_title, t("search.index.head_title")) %> <% provide(:head_title, t("search.index.head_title")) %>
<div class="page-header"> <div class="content-pane">
<h1><%= t('search.index.results_title_html', query: @display_query) %></h1> <div class="page-header">
<br> <h1><%= t('search.index.results_title_html', query: @display_query) %></h1>
<!-- search form --> <br>
<div class="row"> <!-- search form -->
<div class="col-xs-12 col-sm-8 col-md-6"> <div class="row">
<%= form_tag search_path, <div class="col-xs-12 col-sm-8 col-md-6">
method: :get, <%= form_tag search_path,
role: 'search' do %> method: :get,
<div class="form-group"> role: 'search' do %>
<div class="input-group"> <div class="form-group">
<input class="form-control" <div class="input-group">
type="text" <input class="form-control"
name="q" type="text"
placeholder="<%= t('nav.search') %>" name="q"
value="<%= @display_query %>"> placeholder="<%= t('nav.search') %>"
<span class="input-group-btn"> value="<%= @display_query %>">
<button class="btn btn-default" type="submit"> <span class="input-group-btn">
<span class="glyphicon glyphicon-search"></span> <button class="btn btn-default" type="submit">
</button> <span class="glyphicon glyphicon-search"></span>
</span> </button>
</span>
</div>
<label class="checkbox-inline">
<input id="search_whole_word" type="checkbox" name="whole_word" value="true" <%= 'checked' if @search_whole_word %>><%= I18n.t('search.whole_word') %>
</label>
<label class="checkbox-inline">
<input id="search_whole_phrase" type="checkbox" name="whole_phrase" value="true" <%= 'checked' if @search_whole_phrase %>><%= I18n.t('search.whole_phrase') %>
</label>
<label class="checkbox-inline">
<input id="search_match_case" type="checkbox" name="match_case" value="true" <%= 'checked' if @search_case %>><%= I18n.t('search.match_case') %>
</label>
</div> </div>
<label class="checkbox-inline"> <% end %>
<input id="search_whole_word" type="checkbox" name="whole_word" value="true" <%= 'checked' if @search_whole_word %>><%= I18n.t('search.whole_word') %> </div>
</label>
<label class="checkbox-inline">
<input id="search_whole_phrase" type="checkbox" name="whole_phrase" value="true" <%= 'checked' if @search_whole_phrase %>><%= I18n.t('search.whole_phrase') %>
</label>
<label class="checkbox-inline">
<input id="search_match_case" type="checkbox" name="match_case" value="true" <%= 'checked' if @search_case %>><%= I18n.t('search.match_case') %>
</label>
</div>
<% end %>
</div> </div>
</div> </div>
<%= form_tag search_path, method: :get do %>
<%= hidden_field_tag :q, @search_query %>
<%= hidden_field_tag :category, @search_category %>
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3" id="search-menu">
<ul class="nav nav-pills nav-stacked nav-stacked-arrow nav-search">
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :projects %>
<%= "disabled" if @project_search_count == 0 %>"
>
<a href="?<%= {category: 'projects', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @project_search_count %></span>
<span class="glyphicon glyphicon-blackboard"></span>
<%= t'Projects' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :experiments %>
<%= "disabled" if @experiment_search_count == 0 %>"
>
<a href="?<%= {category: 'experiments', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @experiment_search_count %></span>
<i class="fas fa-flask"></i>
<%= t'Experiments' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :modules %>
<%= "disabled" if @module_search_count == 0 %>"
>
<a href="?<%= {category: 'modules', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @module_search_count %></span>
<span class="glyphicon glyphicon-credit-card"></span>
<%= t'Modules' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :results %>
<%= "disabled" if @result_search_count == 0 %>"
>
<a href="?<%= {category: 'results', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @result_search_count %></span>
<span class="glyphicon glyphicon-modal-window"></span>
<%= t'Results' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :tags %>
<%= "disabled" if @tag_search_count == 0 %>"
>
<a href="?<%= {category: 'tags', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @tag_search_count %></span>
<span class="glyphicon glyphicon-tags"></span>
<%= t'Tags' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :reports %>
<%= "disabled" if @report_search_count == 0 %>"
>
<a href="?<%= {category: 'reports', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @report_search_count %></span>
<span class="glyphicon glyphicon-align-left"></span>
<%= t'Reports' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :protocols %>
<%= "disabled" if @protocol_search_count == 0 %>"
>
<a href="?<%= {category: 'protocols', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @protocol_search_count %></span>
<span class="glyphicon glyphicon-list-alt"></span>
<%= t'Protocols' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :steps %>
<%= "disabled" if @step_search_count == 0 %>"
>
<a href="?<%= {category: 'steps', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @step_search_count %></span>
<span class="glyphicon glyphicon-circle-arrow-right"></span>
<%= t'Steps' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :checklists %>
<%= "disabled" if @checklist_search_count == 0 %>"
>
<a href="?<%= {category: 'checklists', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @checklist_search_count %></span>
<span class="glyphicon glyphicon-list"></span>
<%= t'Checklists' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :assets %>
<%= "disabled" if @asset_search_count == 0 %>"
>
<a href="?<%= {category: 'assets', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @asset_search_count %></span>
<span class="glyphicon glyphicon-file"></span>
<%= t'Assets' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :tables %>
<%= "disabled" if @table_search_count == 0 %>"
>
<a href="?<%= {category: 'tables', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @table_search_count %></span>
<span class="glyphicon glyphicon-th"></span>
<%= t'Tables' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :comments %>
<%= "disabled" if @comment_search_count == 0 %>"
>
<a href="?<%= {category: 'comments', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @comment_search_count %></span>
<span class="glyphicon glyphicon-comment"></span>
<%= t'Comments' %>
</a>
</li>
<% @repository_search_count.each do |team, results| %>
<li class="repositories-team <%= 'active' if results[:count] > 0 %>">
<i class="fas fa-cubes"></i>
<%= t('Repositories_team', team: team) %>
</li>
<% results[:repositories].each do |repository, values| %>
<li role="presentation"
class="
<%= "active" if @search_category == :repositories && @repository.id == values[:id] %>
<%= "disabled" if values[:count] == 0 %> repository-search"
>
<a href="?<%= {category: 'repositories',
repository: values[:id], q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= values[:count] %></span>
<%= repository %>
</a>
</li>
<% end %>
<% end %>
</ul>
</div>
<% if not @search_category.empty? %>
<div class="col-xs-12 col-sm-9" id="search-content">
<div class="container-fluid" id="search-container">
<% if @search_results_count == 0 %>
<p><%= t'search.index.error.no_results', q: @search_query %></p>
<% end %>
<hr class="visible-xs">
<% if @search_category == :projects and @project_search_count > 0 %>
<%= render 'search/results/projects', search_query: @search_query, results: @project_results %>
<% end %>
<% if @search_category == :experiments and @experiment_search_count > 0 %>
<%= render 'search/results/experiments', search_query: @search_query, results: @experiment_results %>
<% end %>
<% if @search_category == :modules and @module_search_count > 0 %>
<%= render 'search/results/modules', search_query: @search_query, results: @module_results %>
<% end %>
<% if @search_category == :results and @result_search_count > 0 %>
<%= render 'search/results/results', search_query: @search_query, results: @result_results %>
<% end %>
<% if @search_category == :tags and @tag_search_count > 0 %>
<%= render 'search/results/tags', search_query: @search_query, results: @tag_results %>
<% end %>
<% if @search_category == :reports and @report_search_count > 0 %>
<%= render 'search/results/reports', search_query: @search_query, results: @report_results %>
<% end %>
<% if @search_category == :protocols and @protocol_search_count > 0 %>
<%= render 'search/results/protocols', search_query: @search_query, results: @protocol_results %>
<% end %>
<% if @search_category == :steps and @step_search_count > 0 %>
<%= render 'search/results/steps', search_query: @search_query, results: @step_results %>
<% end %>
<% if @search_category == :checklists and @checklist_search_count > 0 %>
<%= render 'search/results/checklists', search_query: @search_query, results: @checklist_results %>
<% end %>
<% if @search_category == :repositories and @repository_search_count_total > 0 %>
<%= render 'search/results/repositories', search_query: @search_query, results: @repository_results, repository: @repository %>
<% end %>
<% if @search_category == :assets and @asset_search_count > 0 %>
<%= render 'search/results/assets', search_query: @search_query, results: @asset_results %>
<% end %>
<% if @search_category == :tables and @table_search_count > 0 %>
<%= render 'search/results/tables', search_query: @search_query, results: @table_results %>
<% end %>
<% if @search_category == :comments and @comment_search_count > 0 %>
<%= render 'search/results/comments', search_query: @search_query, results: @comment_results %>
<% end %>
</div>
</div>
<% end %>
</div>
<% end %>
<% if @search_pages > 1 %>
<nav class="text-center">
<ul class="pagination">
<% if @search_page > 1 %>
<li>
<a href="?<%= {q: @search_query, category: @search_category, page: @search_page - 1, utf8: '✓'}.to_query %>" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<% end %>
<% (@start_page..@end_page).each do |page_i| %>
<li <% if @search_page == page_i %>class="active"<% end %>>
<a href="?<%= {q: @search_query, category: @search_category, page: page_i, utf8: '✓'}.to_query %>"><%= page_i %></a>
</li>
<% end %>
<% if @search_page < @search_pages %>
<li>
<a href="?<%= {q: @search_query, category: @search_category, page: @search_page + 1, utf8: '✓'}.to_query %>" aria-label="Previous">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
<% end %>
</ul>
</nav>
<% end %>
</div> </div>
<%= form_tag search_path, method: :get do %>
<%= hidden_field_tag :q, @search_query %>
<%= hidden_field_tag :category, @search_category %>
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3" id="search-menu">
<ul class="nav nav-pills nav-stacked nav-stacked-arrow nav-search">
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :projects %>
<%= "disabled" if @project_search_count == 0 %>"
>
<a href="?<%= {category: 'projects', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @project_search_count %></span>
<span class="glyphicon glyphicon-blackboard"></span>
<%= t'Projects' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :experiments %>
<%= "disabled" if @experiment_search_count == 0 %>"
>
<a href="?<%= {category: 'experiments', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @experiment_search_count %></span>
<i class="fas fa-flask"></i>
<%= t'Experiments' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :modules %>
<%= "disabled" if @module_search_count == 0 %>"
>
<a href="?<%= {category: 'modules', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @module_search_count %></span>
<span class="glyphicon glyphicon-credit-card"></span>
<%= t'Modules' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :results %>
<%= "disabled" if @result_search_count == 0 %>"
>
<a href="?<%= {category: 'results', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @result_search_count %></span>
<span class="glyphicon glyphicon-modal-window"></span>
<%= t'Results' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :tags %>
<%= "disabled" if @tag_search_count == 0 %>"
>
<a href="?<%= {category: 'tags', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @tag_search_count %></span>
<span class="glyphicon glyphicon-tags"></span>
<%= t'Tags' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :reports %>
<%= "disabled" if @report_search_count == 0 %>"
>
<a href="?<%= {category: 'reports', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @report_search_count %></span>
<span class="glyphicon glyphicon-align-left"></span>
<%= t'Reports' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :protocols %>
<%= "disabled" if @protocol_search_count == 0 %>"
>
<a href="?<%= {category: 'protocols', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @protocol_search_count %></span>
<span class="glyphicon glyphicon-list-alt"></span>
<%= t'Protocols' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :steps %>
<%= "disabled" if @step_search_count == 0 %>"
>
<a href="?<%= {category: 'steps', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @step_search_count %></span>
<span class="glyphicon glyphicon-circle-arrow-right"></span>
<%= t'Steps' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :checklists %>
<%= "disabled" if @checklist_search_count == 0 %>"
>
<a href="?<%= {category: 'checklists', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @checklist_search_count %></span>
<span class="glyphicon glyphicon-list"></span>
<%= t'Checklists' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :assets %>
<%= "disabled" if @asset_search_count == 0 %>"
>
<a href="?<%= {category: 'assets', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @asset_search_count %></span>
<span class="glyphicon glyphicon-file"></span>
<%= t'Assets' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :tables %>
<%= "disabled" if @table_search_count == 0 %>"
>
<a href="?<%= {category: 'tables', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @table_search_count %></span>
<span class="glyphicon glyphicon-th"></span>
<%= t'Tables' %>
</a>
</li>
<li role="presentation"
class="
<%= "active" if @search_category.present? and @search_category == :comments %>
<%= "disabled" if @comment_search_count == 0 %>"
>
<a href="?<%= {category: 'comments', q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= @comment_search_count %></span>
<span class="glyphicon glyphicon-comment"></span>
<%= t'Comments' %>
</a>
</li>
<% @repository_search_count.each do |team, results| %>
<li class="repositories-team <%= 'active' if results[:count] > 0 %>">
<i class="fas fa-cubes"></i>
<%= t('Repositories_team', team: team) %>
</li>
<% results[:repositories].each do |repository, values| %>
<li role="presentation"
class="
<%= "active" if @search_category == :repositories && @repository.id == values[:id] %>
<%= "disabled" if values[:count] == 0 %> repository-search"
>
<a href="?<%= {category: 'repositories',
repository: values[:id], q: @search_query,
whole_word: @search_whole_word, whole_phrase: @search_whole_phrase,
match_case: @search_case, utf8: '✓',
search_id: @search_id}.to_query %>">
<span class="badge pull-right"><%= values[:count] %></span>
<%= repository %>
</a>
</li>
<% end %>
<% end %>
</ul>
</div>
<% if not @search_category.empty? %>
<div class="col-xs-12 col-sm-9" id="search-content">
<div class="container-fluid" id="search-container">
<% if @search_results_count == 0 %>
<p><%= t'search.index.error.no_results', q: @search_query %></p>
<% end %>
<hr class="visible-xs">
<% if @search_category == :projects and @project_search_count > 0 %>
<%= render 'search/results/projects', search_query: @search_query, results: @project_results %>
<% end %>
<% if @search_category == :experiments and @experiment_search_count > 0 %>
<%= render 'search/results/experiments', search_query: @search_query, results: @experiment_results %>
<% end %>
<% if @search_category == :modules and @module_search_count > 0 %>
<%= render 'search/results/modules', search_query: @search_query, results: @module_results %>
<% end %>
<% if @search_category == :results and @result_search_count > 0 %>
<%= render 'search/results/results', search_query: @search_query, results: @result_results %>
<% end %>
<% if @search_category == :tags and @tag_search_count > 0 %>
<%= render 'search/results/tags', search_query: @search_query, results: @tag_results %>
<% end %>
<% if @search_category == :reports and @report_search_count > 0 %>
<%= render 'search/results/reports', search_query: @search_query, results: @report_results %>
<% end %>
<% if @search_category == :protocols and @protocol_search_count > 0 %>
<%= render 'search/results/protocols', search_query: @search_query, results: @protocol_results %>
<% end %>
<% if @search_category == :steps and @step_search_count > 0 %>
<%= render 'search/results/steps', search_query: @search_query, results: @step_results %>
<% end %>
<% if @search_category == :checklists and @checklist_search_count > 0 %>
<%= render 'search/results/checklists', search_query: @search_query, results: @checklist_results %>
<% end %>
<% if @search_category == :repositories and @repository_search_count_total > 0 %>
<%= render 'search/results/repositories', search_query: @search_query, results: @repository_results, repository: @repository %>
<% end %>
<% if @search_category == :assets and @asset_search_count > 0 %>
<%= render 'search/results/assets', search_query: @search_query, results: @asset_results %>
<% end %>
<% if @search_category == :tables and @table_search_count > 0 %>
<%= render 'search/results/tables', search_query: @search_query, results: @table_results %>
<% end %>
<% if @search_category == :comments and @comment_search_count > 0 %>
<%= render 'search/results/comments', search_query: @search_query, results: @comment_results %>
<% end %>
</div>
</div>
<% end %>
</div>
<% end %>
<% if @search_pages > 1 %>
<nav class="text-center">
<ul class="pagination">
<% if @search_page > 1 %>
<li>
<a href="?<%= {q: @search_query, category: @search_category, page: @search_page - 1, utf8: '✓'}.to_query %>" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
</a>
</li>
<% end %>
<% (@start_page..@end_page).each do |page_i| %>
<li <% if @search_page == page_i %>class="active"<% end %>>
<a href="?<%= {q: @search_query, category: @search_category, page: page_i, utf8: '✓'}.to_query %>"><%= page_i %></a>
</li>
<% end %>
<% if @search_page < @search_pages %>
<li>
<a href="?<%= {q: @search_query, category: @search_category, page: @search_page + 1, utf8: '✓'}.to_query %>" aria-label="Previous">
<span aria-hidden="true">&raquo;</span>
</a>
</li>
<% end %>
</ul>
</nav>
<% end %>
<%= javascript_include_tag('search') %> <%= javascript_include_tag('search') %>

View file

@ -37,12 +37,6 @@
<span><%= t('left_menu_bar.reports') %></span> <span><%= t('left_menu_bar.reports') %></span>
<% end %> <% end %>
</li> </li>
<li class="<%= "active" if settings_are_selected? %>">
<%= link_to edit_user_registration_path, id: "settings-link", title: t('left_menu_bar.settings') do %>
<span class="glyphicon glyphicon-cog"></span>
<span><%= t('left_menu_bar.settings') %></span>
<% end %>
</li>
</ul> </ul>
<ul class="nav nav-bottom"> <ul class="nav nav-bottom">
<li class="<%= "active" if activities_are_selected? %>"> <li class="<%= "active" if activities_are_selected? %>">
@ -76,6 +70,12 @@
target: "_blank" %></li> target: "_blank" %></li>
</ul> </ul>
</li> </li>
<li class="<%= "active" if settings_are_selected? %>">
<%= link_to edit_user_registration_path, id: "settings-link", title: t('left_menu_bar.settings') do %>
<span class="glyphicon glyphicon-cog"></span>
<span><%= t('left_menu_bar.settings') %></span>
<% end %>
</li>
</ul> </ul>
</div> </div>

View file

@ -17,7 +17,23 @@
<!-- True secondary navigation (buttons on the right side) --> <!-- True secondary navigation (buttons on the right side) -->
<ul class="nav navbar-nav navbar-right" style="vertical-align: bottom"> <ul class="nav navbar-nav navbar-right" style="vertical-align: bottom">
<% if project_page? || <% if all_projects_page? %>
<% if can_read_team?(current_team) then %>
<li id="canvas-nav-tab" class="<%= "active" if is_all_projects_index? %>">
<a href="<%= projects_path %>" title="<%=t "nav2.all_projects.index" %>">
<span class="hidden-sm hidden-md"><%=t "nav2.all_projects.index" %></span>
<span class="hidden-xs hidden-lg glyphicon glyphicon-blackboard"></span>
</a>
</li>
<li id="project-archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_all_projects_archive? %>">
<a href="<%= projects_archive_path %>" title="<%=t "nav2.all_projects.archive" %>">
<span class="glyphicon glyphicon-briefcase"></span>
<span class="hidden-sm hidden-md"><%=t "nav2.all_projects.archive" %></span>
</a>
</li>
<% end %>
<% elsif project_page? ||
sample_types_page_project? || sample_types_page_project? ||
sample_groups_page_project? %> sample_groups_page_project? %>
<% if can_read_project?(@project) then %> <% if can_read_project?(@project) then %>
@ -30,6 +46,7 @@
<li id="project-archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_project_archive? %>"> <li id="project-archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_project_archive? %>">
<a href="<%= experiment_archive_project_url(@project) %>" title="<%=t "nav2.projects.archive" %>"> <a href="<%= experiment_archive_project_url(@project) %>" title="<%=t "nav2.projects.archive" %>">
<span class="glyphicon glyphicon-briefcase"></span> <span class="glyphicon glyphicon-briefcase"></span>
<span class="hidden-sm hidden-md"><%=t "nav2.projects.archive" %></span>
</a> </a>
</li> </li>
<% end %> <% end %>
@ -47,8 +64,9 @@
<% end %> <% end %>
<% if can_read_project?(@experiment.project) %> <% if can_read_project?(@experiment.project) %>
<li id="project-archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_experiment_archive? %>"> <li id="project-archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_experiment_archive? %>">
<a href="<%= module_archive_experiment_url(@experiment) %>" title="<%=t "nav2.projects.archive" %>"> <a href="<%= module_archive_experiment_url(@experiment) %>" title="<%=t "nav2.experiments.archive" %>">
<span class="glyphicon glyphicon-briefcase"></span> <span class="glyphicon glyphicon-briefcase"></span>
<span class="hidden-sm hidden-md"><%=t "nav2.experiments.archive" %></span>
</a> </a>
</li> </li>
<% end %> <% end %>
@ -106,7 +124,9 @@
<% if can_read_experiment?(@my_module.experiment) then %> <% if can_read_experiment?(@my_module.experiment) then %>
<li id="archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_module_archive? %>"> <li id="archive-nav-tab" data-turbolinks="false" class="<%= "active" if is_module_archive? %>">
<a href="<%= archive_my_module_url(@my_module) %>"> <a href="<%= archive_my_module_url(@my_module) %>">
<span class="glyphicon glyphicon-briefcase" title="<%= t'nav2.modules.archive' %>"></span></a> <span class="glyphicon glyphicon-briefcase" title="<%= t'nav2.modules.archive' %>"></span>
<span class="hidden-sm hidden-md"><%=t "nav2.modules.archive" %></span>
</a>
</li> </li>
<% end %> <% end %>
@ -114,10 +134,10 @@
</ul> </ul>
<!-- Secondary navigation title --> <!-- Secondary navigation title -->
<div class="nav-name"> <h4 class="nav-name">
<%= truncate(title_element.name, <%= truncate(title_element.name,
length: Constants::NAME_TRUNCATION_LENGTH) %> length: Constants::NAME_TRUNCATION_LENGTH) %>
</div> </h4>
</div> </div>
</div> </div>

View file

@ -2,7 +2,7 @@
<div id="slide-panel" class="visible"> <div id="slide-panel" class="visible">
<div class="tree"> <div class="tree">
<ul> <ul>
<% if project_page? && action_name.in?(%w(index archive)) || <% if all_projects_page? ||
sample_types_page_project? || sample_types_page_project? ||
sample_groups_page_project? %> sample_groups_page_project? %>

View file

@ -3,7 +3,7 @@
<% @projects_by_teams.each do |team, projects| %> <% @projects_by_teams.each do |team, projects| %>
<% projects.each do |project| %> <% projects.each do |project| %>
<% if (project_page? && action_name.in?(%w(show experiment_archive)) || <% if (project_page? ||
sample_types_page_project? || sample_types_page_project? ||
sample_groups_page_project?) && project == @project %> sample_groups_page_project?) && project == @project %>
<li class="active" data-parent="candidate"> <li class="active" data-parent="candidate">

View file

@ -1,6 +1,6 @@
<div class ="step <%= step.completed? ? "completed" : "not-completed" %>"> <div class ="step <%= step.completed? ? "completed" : "not-completed" %>">
<div class="badge-num"> <div class="badge-num">
<span class="badge bg-primary size-digit-<%= (step.position + 1).to_s.length %>"><%= step.position + 1 %></span> <span class="badge size-digit-<%= (step.position + 1).to_s.length %>"><%= step.position + 1 %></span>
</div> </div>
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
@ -126,13 +126,19 @@
<div data-action="uncomplete-step" <div data-action="uncomplete-step"
class="pull-right" class="pull-right"
data-link-url="<%= toggle_step_state_step_path(step)%>"> data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-default"><%= t("protocols.steps.options.uncomplete_title") %></button> <button class="btn btn-default">
<span class="glyphicon glyphicon-remove"></span>
<%= t("protocols.steps.options.uncomplete_title") %>
</button>
</div> </div>
<% else %> <% else %>
<div data-action="complete-step" <div data-action="complete-step"
class="pull-right" class="pull-right"
data-link-url="<%= toggle_step_state_step_path(step)%>"> data-link-url="<%= toggle_step_state_step_path(step)%>">
<button class="btn btn-success"><%= t("protocols.steps.options.complete_title") %></button> <button class="btn btn-success">
<span class="glyphicon glyphicon-ok"></span>
<%= t("protocols.steps.options.complete_title") %>
</button>
</div> </div>
<% end %> <% end %>
<% end %> <% end %>

View file

@ -1,26 +1,29 @@
<% provide(:head_title, sanitize_input(t("notifications.title"))) %> <% provide(:head_title, sanitize_input(t("notifications.title"))) %>
<div class="notifications-container">
<div class="notifications-header"> <div class="content-pane">
<span><%= t('notifications.title') %></span><span class="pull-right"><%= link_to t('nav.user.settings'), preferences_path %></span> <div class="notifications-container">
</div> <div class="notifications-header">
<div class="notifications-body"> <span><%= t('notifications.title') %></span><span class="pull-right"><%= link_to t('nav.user.settings'), preferences_path %></span>
<ul class="notifications-list"> </div>
<% if @notifications.count > 0 %> <div class="notifications-body">
<%= render 'list', notifications: @notifications %> <ul class="notifications-list">
<% else %> <% if @notifications.count > 0 %>
<li class="notification no-notifications"> <%= render 'list', notifications: @notifications %>
<em><%= t('notifications.no_notifications') %></em> <% else %>
</li> <li class="notification no-notifications">
<em><%= t('notifications.no_notifications') %></em>
</li>
<% end %>
</ul>
</div>
<% if @overflown %>
<div class="text-center">
<a class="btn btn-default btn-more-notifications" href="<%= @more_notifications_url %>" data-remote="true">
<span><%= t('notifications.show_more') %></span>
</a>
</div>
<% end %> <% end %>
</ul>
</div> </div>
<% if @overflown %>
<div class="text-center">
<a class="btn btn-default btn-more-notifications" href="<%= @more_notifications_url %>" data-remote="true">
<span><%= t('notifications.show_more') %></span>
</a>
</div>
<% end %>
</div> </div>
<%= javascript_include_tag("notifications") %> <%= javascript_include_tag("notifications") %>

View file

@ -1,14 +1,15 @@
<% provide(:head_title, t("users.registrations.edit.head_title")) %> <% provide(:head_title, t("users.registrations.edit.head_title")) %>
<% provide(:container_class, "no-second-nav-container") %>
<%= render partial: "users/settings/sidebar" %> <%= render partial: "users/settings/sidebar" %>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane tab-pane-settings active" role="tabpanel"> <div class="tab-pane content-pane active" role="tabpanel">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<h2><%=t "users.registrations.edit.title" %></h2> <h2 style="margin-top: 10px;"><%=t "users.registrations.edit.title" %></h2>
<% if not resource.errors.empty? %> <% if not resource.errors.empty? %>
<div class="alert alert-danger"> <div class="alert alert-danger">
@ -203,7 +204,7 @@
<div class="col-md-7 col-md-offset-1"> <div class="col-md-7 col-md-offset-1">
<div class="row user-statistics"> <div class="row user-statistics">
<div class="col-md-12"> <div class="col-md-12">
<h2><%=t "users.statistics.title" %></h2> <h2 style="margin-top: 10px;"><%=t "users.statistics.title" %></h2>
<ul class="list-inline"> <ul class="list-inline">
<li class="label label-primary"> <li class="label label-primary">
<h2><%= @user.statistics[:number_of_teams]%></h2> <h2><%= @user.statistics[:number_of_teams]%></h2>

View file

@ -1,8 +1,9 @@
<% provide(:head_title, t('users.settings.account.addons.head_title')) %> <% provide(:head_title, t('users.settings.account.addons.head_title')) %>
<% provide(:container_class, "no-second-nav-container") %>
<%= render partial: 'users/settings/sidebar.html.erb' %> <%= render partial: 'users/settings/sidebar.html.erb' %>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane tab-pane-settings active" role="tabpanel"> <div class="tab-pane content-pane active" role="tabpanel">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">

View file

@ -1,8 +1,9 @@
<% provide(:head_title, t("users.settings.account.preferences.head_title")) %> <% provide(:head_title, t("users.settings.account.preferences.head_title")) %>
<% provide(:container_class, "no-second-nav-container") %>
<%= render partial: "users/settings/sidebar.html.erb" %> <%= render partial: "users/settings/sidebar.html.erb" %>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane tab-pane-settings active" role="tabpanel"> <div class="tab-pane content-pane active" role="tabpanel">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12"> <div class="col-xs-12 col-sm-12">

View file

@ -1,9 +1,10 @@
<% provide(:head_title, t("users.settings.teams.head_title")) %> <% provide(:head_title, t("users.settings.teams.head_title")) %>
<% provide(:container_class, "no-second-nav-container") %>
<%= render partial: "users/settings/sidebar.html.erb" %> <%= render partial: "users/settings/sidebar.html.erb" %>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane tab-pane-settings" role="tabpanel"></div> <div class="tab-pane content-pane" role="tabpanel"></div>
<div class="tab-pane tab-pane-settings active" role="tabpanel"> <div class="tab-pane content-pane active" role="tabpanel">
<%= render partial: "users/settings/teams/breadcrumbs.html.erb" %> <%= render partial: "users/settings/teams/breadcrumbs.html.erb" %>

View file

@ -1,11 +1,12 @@
<% provide(:head_title, t("users.settings.teams.head_title")) %> <% provide(:head_title, t("users.settings.teams.head_title")) %>
<% provide(:container_class, "no-second-nav-container") %>
<div data-hook="team-beginning"></div> <div data-hook="team-beginning"></div>
<%= render partial: "users/settings/sidebar.html.erb" %> <%= render partial: "users/settings/sidebar.html.erb" %>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane tab-pane-settings" role="tabpanel"></div> <div class="tab-pane content-pane" role="tabpanel"></div>
<div class="tab-pane tab-pane-settings active" role="tabpanel"> <div class="tab-pane content-pane active" role="tabpanel">
<%= render partial: "users/settings/teams/breadcrumbs.html.erb" %> <%= render partial: "users/settings/teams/breadcrumbs.html.erb" %>
@ -26,7 +27,7 @@
<!-- HEADER --> <!-- HEADER -->
<div class="row"> <div class="row">
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-3">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-calendar"></span> <span class="glyphicon glyphicon-calendar"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -36,7 +37,7 @@
</div> </div>
<div class="col-xs-10 col-sm-5"> <div class="col-xs-10 col-sm-5">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-user"></span> <span class="glyphicon glyphicon-user"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -46,7 +47,7 @@
</div> </div>
<div class="col-xs-8 col-sm-4"> <div class="col-xs-8 col-sm-4">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<span class="glyphicon glyphicon-hdd"></span> <span class="glyphicon glyphicon-hdd"></span>
</div> </div>
<div class="well well-sm"> <div class="well well-sm">
@ -60,7 +61,7 @@
<div class="row"> <div class="row">
<div class="col-xs-24 col-sm-12" data-hook="team-header-description"> <div class="col-xs-24 col-sm-12" data-hook="team-header-description">
<div class="badge-icon bg-primary"> <div class="badge-icon">
<%= link_to team_description_path(@team, format: :json), <%= link_to team_description_path(@team, format: :json),
remote: true, remote: true,
class: 'description-link', class: 'description-link',

View file

@ -100,7 +100,7 @@ en:
left_menu_bar: left_menu_bar:
projects: "Projects" projects: "Projects"
repositories: "Inventories" repositories: "Inventories"
templates: "Templates" templates: "Protocols"
reports: "Reports" reports: "Reports"
settings: "Settings" settings: "Settings"
activities: "Activities" activities: "Activities"
@ -119,21 +119,25 @@ en:
all: "All Projects" all: "All Projects"
nav2: nav2:
all_projects:
index: "Projects"
archive: "Archived projects"
projects: projects:
show: "Overview" show: "Experiments"
samples: "Samples" samples: "Samples"
activities: "Activity" activities: "Activity"
reports: "Reports" reports: "Reports"
archive: "Archive" archive: "Archived experiments"
experiments: experiments:
canvas: "Overview" canvas: "Tasks"
archive: "Archived tasks"
modules: modules:
steps: "Protocols" steps: "Protocols"
results: "Results" results: "Results"
activities: "Activity" activities: "Activity"
samples: "Samples" samples: "Samples"
repositories: "Inventories" repositories: "Inventories"
archive: "Archive" archive: "Archived results"
search: search:
whole_word: "Match any whole word" whole_word: "Match any whole word"
@ -203,8 +207,8 @@ en:
head_title: "Home" head_title: "Home"
archive: "Archive" archive: "Archive"
new: "New Project" new: "New Project"
visibility_private: "Project is private. Only invited users can see it." visibility_private: "Project is visible to project members only."
visibility_public: "Project is public. Everybody from the team can see it." visibility_public: "Project is visible to all team members."
user_project: "%{user} joined on %{timestamp}." user_project: "%{user} joined on %{timestamp}."
no_activities: "No activities!" no_activities: "No activities!"
no_comments: "No comments!" no_comments: "No comments!"
@ -250,9 +254,9 @@ en:
name: "Project name" name: "Project name"
name_placeholder: "My project" name_placeholder: "My project"
team: "Team" team: "Team"
visibility: "Visibility" visibility: "Visible to:"
visibility_hidden: "Private" visibility_hidden: "Project members only"
visibility_visible: "Public" visibility_visible: "All team members"
modal_edit_project: modal_edit_project:
modal_title: "Edit project %{project}" modal_title: "Edit project %{project}"
submit: "Save" submit: "Save"
@ -283,7 +287,6 @@ en:
error_flash: "Project <strong>%{name}</strong> not restored." error_flash: "Project <strong>%{name}</strong> not restored."
show: show:
head_title: "%{project}" head_title: "%{project}"
page_title: "Project's experiments"
samples: samples:
head_title: "%{project} | Sample inventory" head_title: "%{project} | Sample inventory"
reports: reports:
@ -304,7 +307,7 @@ en:
projects: "Projects" projects: "Projects"
head_title: "Create new report" head_title: "Create new report"
no_projects: "No projects available." no_projects: "No projects available."
message: "You are about to create a new report. Please select a project from which you would like to create a report for." message: "You are about to create a new report. Please select a project from which you would like to create a report."
create: "Create" create: "Create"
modal_delete: modal_delete:
head_title: "Delete report/s" head_title: "Delete report/s"
@ -573,7 +576,7 @@ en:
load_protocol_from_repository: "from repository" load_protocol_from_repository: "from repository"
load_protocol_from_file: "from file" load_protocol_from_file: "from file"
export: "Export Protocol" export: "Export Protocol"
copy_to_repository: "Save To Protocol Repository" copy_to_repository: "Copy To Protocol Repository"
confirm_link_update_modal: confirm_link_update_modal:
unlink_title: "Unlink protocol" unlink_title: "Unlink protocol"
unlink_message: "Are you sure you want to unlink the task protocol from the repository version? This will stop any tracking of changes." unlink_message: "Are you sure you want to unlink the task protocol from the repository version? This will stop any tracking of changes."
@ -603,8 +606,9 @@ en:
title: "Load protocol from repository" title: "Load protocol from repository"
text: "Choose the protocol to be loaded to the task." text: "Choose the protocol to be loaded to the task."
text2: "This action will overwrite the current protocol in the task and unlink it from repository. The current protocol will remain unchanged in repository." text2: "This action will overwrite the current protocol in the task and unlink it from repository. The current protocol will remain unchanged in repository."
tab_public: "Public protocols" tab_public: "Team protocols"
tab_private: "Private protocols" tab_private: "My protocols"
tab_archive: "Archived protocols"
thead_name: "Name" thead_name: "Name"
thead_keywords: "Keywords" thead_keywords: "Keywords"
thead_nr_of_linked_children: "No. of linked tasks" thead_nr_of_linked_children: "No. of linked tasks"
@ -621,9 +625,9 @@ en:
name_label: "Repository protocol name" name_label: "Repository protocol name"
name_placeholder: "My protocol" name_placeholder: "My protocol"
type_label: "Copy to" type_label: "Copy to"
type_public: "Public protocols" type_public: "Team protocols"
type_private: "Private protocols" type_private: "My protocols"
type_text: "You can copy the protocol to public team repository, or to your private protocols." type_text: "You can copy the protocol to protocols repository visible to all team members, or to your protocols repository."
link_label: "Link task to this repository protocol" link_label: "Link task to this repository protocol"
link_text: "<strong>Warning!</strong>&nbsp;This will unlink the currently linked protocol." link_text: "<strong>Warning!</strong>&nbsp;This will unlink the currently linked protocol."
error_400: "Due to unknown error, protocol could not be copied to repository." error_400: "Due to unknown error, protocol could not be copied to repository."
@ -1566,11 +1570,11 @@ en:
index: index:
head_title: "Protocol management" head_title: "Protocol management"
navigation: navigation:
public: "Public protocols" public: "Team protocols"
private: "Private protocols" private: "My protocols"
archive: "Archive" archive: "Archive"
public_description: "Public protocols are visible and can be used by everyone from the team." public_description: "Team protocols are visible and can be used by everyone from the team."
private_description: "Private protocols are only visible to you." private_description: "My protocols are only visible to you."
create_new: "New" create_new: "New"
edit: "Edit" edit: "Edit"
clone_btn: "Copy" clone_btn: "Copy"
@ -1581,8 +1585,8 @@ en:
modal_import_json_title: "Import protocols.io file" modal_import_json_title: "Import protocols.io file"
modal_import_json_notice: "Upload your protocols.io protocol file" modal_import_json_notice: "Upload your protocols.io protocol file"
export: "Export" export: "Export"
make_private: "Make private" make_private: "Move to My Protocols"
publish: "Publish" publish: "Move to Team protocols"
archive_action: "Archive" archive_action: "Archive"
thead_name: "Name" thead_name: "Name"
thead_keywords: "Keywords" thead_keywords: "Keywords"
@ -1601,16 +1605,16 @@ en:
used_in: "Number of tasks linked to this protocol: %{nr}" used_in: "Number of tasks linked to this protocol: %{nr}"
no_linked_children: "This protocol is not linked to any task." no_linked_children: "This protocol is not linked to any task."
archive: archive:
description: "Archived protocols can only be seen by you. Restoring protocols will return them to their previous location (public/private)." description: "Archived protocols can only be seen by you. Restoring protocols will return them to their previous location (team/my protocols)."
restore: "Restore" restore: "Restore"
no_teams: no_teams:
title: "Your dashboard is empty!" title: "Your dashboard is empty!"
text: "It seems you're not a member of any team. See team management to sort it out." text: "It seems you're not a member of any team. See team management to sort it out."
btn: "Manage Teams" btn: "Manage Teams"
make_private_unauthorized: "You do not have permission to make selected protocols private." make_private_unauthorized: "You do not have permission to move selected protocols to My protocols."
make_private_error: "Error occured while making selected protocols private." make_private_error: "Error occured while moving selected protocols to My protocols."
publish_unauthorized: "You do not have permission to publish selected protocols." publish_unauthorized: "You do not have permission to move selected protocols to Team protocols."
publish_error: "Error occured while publishing selected protocols." publish_error: "Error occured while moving selected protocols to Team protocols."
archive_unauthorized: "You do not have permission to archive selected protocols." archive_unauthorized: "You do not have permission to archive selected protocols."
archive_error: "Error occured while archiving selected protocols." archive_error: "Error occured while archiving selected protocols."
restore_unauthorized: "You do not have permission to restore selected protocols." restore_unauthorized: "You do not have permission to restore selected protocols."
@ -1621,25 +1625,25 @@ en:
title: "Create new protocol" title: "Create new protocol"
name_label: "Protocol name" name_label: "Protocol name"
name_placeholder: "My protocol" name_placeholder: "My protocol"
message_public: "When you create a new public protocol, it will instantly be visible to all members of the team." message_public: "When you create a new Team protocol, it will instantly be visible to all members of the team."
message_private: "When you create a new private protocol, it will only be visible to you." message_private: "When you create a new My protocol, it will only be visible to you."
submit: "Create" submit: "Create"
clone: clone:
success_flash: "Successfully copied protocol '%{new}' from protocol '%{original}'." success_flash: "Successfully copied protocol '%{new}' from protocol '%{original}'."
error_flash: "Failed to copied protocol '%{original}'." error_flash: "Failed to copied protocol '%{original}'."
make_private_results: make_private_results:
title: "Make private results" title: "Move to My protocols results"
message_failed: "Failed to make %{nr} protocols private." message_failed: "Failed to move %{nr} protocols to My protocols."
message_ok: "Successfully made %{nr} protocols private." message_ok: "Successfully moved %{nr} protocols to My protocols."
row_success: "Made private" row_success: "Moved to My protocols"
row_renamed: "Made private & renamed" row_renamed: "Moved to My protocols & renamed"
row_failed: "Failed" row_failed: "Failed"
publish_results: publish_results:
title: "Publish results" title: "Move to Team protocols results"
message_failed: "Failed to publish %{nr} protocols." message_failed: "Failed to move %{nr} protocols to Team protocols."
message_ok: "Successfully published %{nr} protocols." message_ok: "Successfully moved %{nr} protocols to Team protocols."
row_success: "Published" row_success: "Moved to Team protocols"
row_renamed: "Published & renamed" row_renamed: "Moved to Team protocols & renamed"
row_failed: "Failed" row_failed: "Failed"
import_results: import_results:
title: "Import results" title: "Import results"
@ -1670,8 +1674,8 @@ en:
row_success: "Restored" row_success: "Restored"
row_renamed: "Restored & renamed" row_renamed: "Restored & renamed"
row_failed: "Failed" row_failed: "Failed"
row_in_repository_public: "%{protocol} - <i>into public protocols</i>" row_in_repository_public: "%{protocol} - <i>into Team protocols</i>"
row_in_repository_private: "%{protocol} - <i>into private protocols</i>" row_in_repository_private: "%{protocol} - <i>into My protocols</i>"
steps: steps:
completed: 'Completed' completed: 'Completed'
uncompleted: 'Uncompleted' uncompleted: 'Uncompleted'