Merge branch 'features/dashboard' into ml-sci-4354

This commit is contained in:
mlorb 2020-03-03 13:00:05 +01:00 committed by GitHub
commit 4d52fc9b45
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 68 additions and 7 deletions

View file

@ -70,18 +70,16 @@ var DasboardCurrentTasksWidget = (function() {
experiment_id: dropdownSelector.getValues(experimentFilter),
sort: dropdownSelector.getValues(sortFilter),
view: dropdownSelector.getValues(viewFilter),
query: $('.current-tasks-widget .task-search-field').val(),
mode: $('.current-tasks-navbar .active').data('mode')
};
animateSpinner($currentTasksList, true);
$.get($currentTasksList.data('tasksListUrl'), params, function(data) {
$currentTasksList.find('.current-task-item, .no-tasks').remove();
// Toggle empty state
if (data.data.length === 0) {
$currentTasksList.append(emptyState);
} else {
$currentTasksList.find('.no-tasks').remove();
}
// Clear the list
$currentTasksList.find('.current-task-item').remove();
generateTasksListHtml(data, $currentTasksList);
PerfectSb().update_all();
if (newList) InfiniteScroll.resetScroll('.current-tasks-list');
@ -175,11 +173,19 @@ var DasboardCurrentTasksWidget = (function() {
});
}
function initSearch() {
$('.current-tasks-widget').on('change', '.task-search-field', () => {
loadCurrentTasksList();
});
}
return {
init: () => {
if ($('.current-tasks-widget').length) {
initNavbar();
initFilters();
initSearch();
loadCurrentTasksList();
initInfiniteScroll();
}

View file

@ -15,6 +15,52 @@
padding-left: 10px;
}
.search-container {
flex-basis: 36px;
.fa-search {
animation-timing-function: $timing-function-sharp;
color: $color-alto;
transition: .3s;
width: 26px;
}
.task-search-field {
background: transparent;
border: $border-default;
padding-left: 36px;
position: relative;
width: 200px;
z-index: 2;
&:placeholder-shown {
border: $border-transparent;
cursor: pointer;
width: 36px;
+ .fa-search {
color: $color-volcano;
}
}
&:hover {
border: $border-default;
}
&:focus {
border: $border-focus;
cursor: auto;
width: 200px;
+ .fa-search {
color: $color-alto;
}
}
}
}
.filter-container {
height: 36px;
margin-right: 4px;
@ -109,7 +155,7 @@
line-height: 14px;
}
.item-row{
.item-row {
display: flex;
.task-name {

View file

@ -30,6 +30,10 @@
&:disabled {
background: transparent;
}
&::placeholder {
color: $color-alto;
}
}
.fas {

View file

@ -20,6 +20,7 @@ module Dashboard
tasks = tasks.left_outer_joins(:user_my_modules).where('user_my_modules.user_id': current_user.id)
end
tasks = tasks.where('my_modules.state': task_filters[:view])
.search_by_name(current_user, current_team, task_filters[:query])
case task_filters[:sort]
when 'date_desc'
@ -80,7 +81,7 @@ module Dashboard
private
def task_filters
params.permit(:project_id, :experiment_id, :mode, :view, :sort, :page)
params.permit(:project_id, :experiment_id, :mode, :view, :sort, :query, :page)
end
def load_project

View file

@ -45,7 +45,10 @@
</div>
</div>
<div class="search-container">
<div class="btn btn-light icon-btn search-button"><i class="fas fa-search"></i></div>
<div class="sci-input-container left-icon ">
<input type="text" class="sci-input-field task-search-field" placeholder="<%= t("dashboard.current_tasks.search") %>"></input>
<i class="fas fa-search"></i>
</div>
</div>
</div>

View file

@ -2,6 +2,7 @@ en:
dashboard:
current_tasks:
title: "Current tasks"
search: "Search tasks"
navbar:
assigned: "Assigned to me"
all: "All"