From 79c7e6f0a2ea42127d0a6d7d6cfe2ddbd4df3f4c Mon Sep 17 00:00:00 2001 From: Giga Chubinidze Date: Fri, 6 Jan 2023 11:40:41 +0400 Subject: [PATCH] Missing experiment table empty state, fix breadcrumbs [SCI-7651] --- app/assets/javascripts/experiments/table.js | 7 +++++- app/assets/stylesheets/experiments.scss | 25 +++++++++++++++++++ .../experiments/_no_task_results.html.erb | 5 ++++ app/views/experiments/table.html.erb | 1 + app/views/shared/_breadcrumbs.html.erb | 8 ++++++ 5 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 app/views/experiments/_no_task_results.html.erb diff --git a/app/assets/javascripts/experiments/table.js b/app/assets/javascripts/experiments/table.js index a2d20eb67..3c08efec2 100644 --- a/app/assets/javascripts/experiments/table.js +++ b/app/assets/javascripts/experiments/table.js @@ -121,7 +121,7 @@ var ExperimnetTable = { e.preventDefault(); this.restoreMyModules(e.target.href, e.target.dataset.id); }); - + $(this.table).on('click', '.duplicate-my-module', (e) => { e.preventDefault(); this.duplicateMyModules($('#duplicateTasks').data('url'), e.target.dataset.id); @@ -457,6 +457,11 @@ var ExperimnetTable = { }); this.filterDropdown.on('filter:apply', () => { + var tableRowLength = document.getElementsByClassName('table-row').length; + document.getElementById('tasksNoResultsContainer').style.display = 'none'; + if (tableRowLength === 0) { + document.getElementById('tasksNoResultsContainer').style.display = 'block'; + } $.each(this.filters, (_i, filter) => { this.activeFilters[filter.name] = filter.apply($experimentFilter); }); diff --git a/app/assets/stylesheets/experiments.scss b/app/assets/stylesheets/experiments.scss index 93672ad55..a4add7851 100644 --- a/app/assets/stylesheets/experiments.scss +++ b/app/assets/stylesheets/experiments.scss @@ -541,3 +541,28 @@ } } } + +.tasks-no-results-container { + grid-column: 1 / -1; + grid-row: 8; + display: none; +} + +.no-results-img { + display: block; + margin: auto; + max-height: 230px; +} + +.no-results-title { + @include font-h1; + margin-bottom: .25em; + margin-top: 1.25em; + text-align: center; +} + +.no-results-description { + @include font-main; + color: $color-silver-chalice; + text-align: center; +} diff --git a/app/views/experiments/_no_task_results.html.erb b/app/views/experiments/_no_task_results.html.erb new file mode 100644 index 000000000..9bf8149b0 --- /dev/null +++ b/app/views/experiments/_no_task_results.html.erb @@ -0,0 +1,5 @@ +
+ <%= image_tag('/images/no_search_results.png', class: 'no-results-img') %> +
<%= t('projects.index.no_results_found') %>
+
<%= t('projects.index.no_results_description') %>
+
diff --git a/app/views/experiments/table.html.erb b/app/views/experiments/table.html.erb index 977e9dee1..d3304e2a3 100644 --- a/app/views/experiments/table.html.erb +++ b/app/views/experiments/table.html.erb @@ -33,6 +33,7 @@
+ <%= render partial: 'experiments/no_task_results.html.erb' %> diff --git a/app/views/shared/_breadcrumbs.html.erb b/app/views/shared/_breadcrumbs.html.erb index 46a71de5c..efe2328f9 100644 --- a/app/views/shared/_breadcrumbs.html.erb +++ b/app/views/shared/_breadcrumbs.html.erb @@ -30,6 +30,14 @@ data: link[:data]) %> / <% end %> +<% elsif params[:controller] == 'experiments' && %w(canvas table module_archive).include?(params[:action]) %> + <% links[0..-2].each do |link| %> + <%= link_to(link[:label], link[:url], + class: "breadcrumbs-link #{link[:class]}", + title: link[:label], + data: link[:data]) %> + / + <% end %> <% else %> <% links.each do |link| %> <%= link_to(link[:label], link[:url],