Skip to content
Snippets Groups Projects
Verified Commit ffa842ae authored by Felix Eckhofer's avatar Felix Eckhofer :man_dancing:
Browse files

Remove already assigned users from unassigned list

This functionality was lost when moving to a template-based approach for
the list of all translators.

Fixes #32
parent 9535d882
No related branches found
Tags 3.18.4
No related merge requests found
Pipeline #36932 passed
......@@ -51,9 +51,13 @@ export default class extends Controller {
this.clearTarget.classList.add("hidden");
}
const filter = document.querySelector(this.element.dataset.filterSelector);
// Filter options by the `data-filteredlist-match` attribute
for (const option of this.listTarget.children) {
if (option.dataset.filteredlistMatch.includes(query)) {
const uid = option.querySelector("a.add_button").dataset.user;
const unavailable = filter && filter.querySelector(`a[data-uid="${uid}"]`);
if (!unavailable && option.dataset.filteredlistMatch.includes(query)) {
option.classList.remove("hidden");
} else {
option.classList.add("hidden");
......
......@@ -13,7 +13,7 @@ export default class extends Controller {
connect() {
const uid = document.body.dataset.loggedinUid;
const isCandidate = this.candidatesTarget.querySelector(`a.candidate[data-candidate-uid="${uid}"]`);
const isCandidate = this.candidatesTarget.querySelector(`a.candidate[data-uid="${uid}"]`);
const isShiftcoordinator = document.body.dataset.isShiftcoordinator;
this.element.querySelectorAll('.only-loggedin').forEach(el => {
......
<div data-controller="filteredlist" data-conference="<%= session.conference.slug %>" data-session="<%= session.ref_id %>">
<div data-controller="filteredlist" data-conference="<%= session.conference.slug %>" data-session="<%= session.ref_id %>" data-filter-selector="#<%= dom_id(session) %> .assigned">
<div class="relative">
<input
type="text"
......
......@@ -2,7 +2,7 @@
<span class="inline-flex items-center gap-x-0.5 rounded-md bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span style="color: <%= user.text_color %>"><%= user.name %></span>
<button type="button" class="only-shiftcoordinator hidden group relative -mr-1 size-3.5 rounded-sm hover:bg-gray-500/20">
<%= link_to conference_session_assignment_path(assignment.session.conference, assignment.session, assignment), data: { turbo_method: :delete, confirm: 'Are you sure?' }, method: :delete do %>
<%= link_to conference_session_assignment_path(assignment.session.conference, assignment.session, assignment), data: { turbo_method: :delete, confirm: 'Are you sure?', uid: user.id }, method: :delete do %>
<span class="sr-only">Remove</span>
<svg viewBox="0 0 14 14" class="size-3.5 stroke-gray-600/50 group-hover:stroke-gray-600/75" style="stroke: <%= user.text_color %>">
<path d="M4 4l6 6m0-6l-6 6" />
......
......@@ -3,7 +3,7 @@
<span class="gap-x-0.5 rounded-md bg-gray-50 px-2 py-1 text-xs font-medium text-gray-600 ring-1 ring-inset ring-gray-500/10" style="background-color: <%= user.avatar_color %>" title="<%= user.name %>">
<span style="color: <%= user.text_color %>"><%= user.name %></span>
<button type="button" class="only-shiftcoordinator hidden group relative -mr-1 size-3.5 rounded-sm hover:bg-gray-500/20">
<%= link_to conference_session_assignments_path(session.conference, session, user_id: user.id), class: "candidate", data: { turbo_method: :post, turbo_frame: dom_id(session), candidate_uid: user.id } do %>
<%= link_to conference_session_assignments_path(session.conference, session, user_id: user.id), class: "candidate", data: { turbo_method: :post, turbo_frame: dom_id(session), uid: user.id } do %>
<span class="sr-only">Add</span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" stroke-width="1" class="size-3.5 stroke-gray-600/50 group-hover:stroke-gray-600/75 fill-gray-600/50" style="stroke: <%= user.text_color %>; fill: <%= user.text_color %>">
<path d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" />
......
......@@ -73,7 +73,7 @@
<% end %>
<small>assigned (<%= session.assignments.length %>)</small>
<ul class="inline-flex flex-wrap gap-1 my-1">
<ul class="assigned inline-flex flex-wrap gap-1 my-1">
<% session.assignments.each do |assignment| %>
<li>
<span class="assigned-user"><%= render partial: 'assignments/user_avatar', locals: { assignment: assignment } %></span>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment