From bdd717b21b45c2d5f3298408fc87f6a5e0588005 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Mon, 22 Feb 2021 22:37:32 +0100 Subject: [PATCH] Refactor view project users modal [SCI-5387] --- app/assets/javascripts/projects/index.js | 17 +++-- app/controllers/user_projects_controller.rb | 3 +- app/views/projects/index.html.erb | 1 - .../index/modals/_view_users.html.erb | 16 ---- app/views/user_projects/_index.html.erb | 73 ++++++++++++------- config/locales/en.yml | 8 +- 6 files changed, 63 insertions(+), 55 deletions(-) delete mode 100644 app/views/projects/index/modals/_view_users.html.erb diff --git a/app/assets/javascripts/projects/index.js b/app/assets/javascripts/projects/index.js index ef248cb9e..308da0cb5 100644 --- a/app/assets/javascripts/projects/index.js +++ b/app/assets/javascripts/projects/index.js @@ -9,7 +9,7 @@ /* global HelperModule dropdownSelector Sidebar Turbolinks filterDropdown */ -(function() { +var ProjectsIndex = (function() { const PERMISSIONS = ['editable', 'archivable', 'restorable', 'moveable', 'deletable']; var projectsWrapper = '#projectsWrapper'; var toolbarWrapper = '#toolbarWrapper'; @@ -275,11 +275,14 @@ // Initialize view project users modal remote loading. function initViewProjectUsersLink() { - $('#cardsWrapper').on('ajax:success', '.view-project-users-link', function(e, data) { - let viewProjectUsersModal = $('#viewProjectUsersModal'); - viewProjectUsersModal.find('.modal-title').html(data.html_title); - viewProjectUsersModal.find('.modal-body').html(data.html_body); + $(projectsWrapper).on('ajax:success', '.view-project-users-link', function(e, data) { + let viewProjectUsersModal = $(data.html); + $(projectsWrapper).append(viewProjectUsersModal); viewProjectUsersModal.modal('show'); + // Remove modal when it gets closed + viewProjectUsersModal.on('hidden.bs.modal', function() { + viewProjectUsersModal.remove(); + }); }); } @@ -739,4 +742,8 @@ } init(); + + return { + loadCardsView: loadCardsView + }; }()); diff --git a/app/controllers/user_projects_controller.rb b/app/controllers/user_projects_controller.rb index ae98a2eb2..c345ad6c8 100644 --- a/app/controllers/user_projects_controller.rb +++ b/app/controllers/user_projects_controller.rb @@ -15,8 +15,7 @@ class UserProjectsController < ApplicationController respond_to do |format| format.json do render json: { - html_title: t('projects.index.modal_view_users.modal_title', name: @project.name), - html_body: render_to_string(partial: 'index.html.erb') + html: render_to_string(partial: 'index.html.erb') } end end diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb index 5719ac584..312eb8476 100644 --- a/app/views/projects/index.html.erb +++ b/app/views/projects/index.html.erb @@ -13,7 +13,6 @@ <%= render partial: 'projects/index/modals/edit_modal' %> <%= render partial: 'projects/index/modals/move_to_modal' %> - <%= render partial: 'projects/index/modals/view_users' %> <%= render partial: 'projects/index/modals/manage_users' %> <%= render partial: 'projects/index/modals/export_projects' %> diff --git a/app/views/projects/index/modals/_view_users.html.erb b/app/views/projects/index/modals/_view_users.html.erb deleted file mode 100644 index 575c6de4a..000000000 --- a/app/views/projects/index/modals/_view_users.html.erb +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/app/views/user_projects/_index.html.erb b/app/views/user_projects/_index.html.erb index 99f284570..50c4a2a43 100644 --- a/app/views/user_projects/_index.html.erb +++ b/app/views/user_projects/_index.html.erb @@ -1,28 +1,47 @@ - + <% end %> + + + + + + diff --git a/config/locales/en.yml b/config/locales/en.yml index e0fe3c2a1..b9ca20e73 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -438,10 +438,6 @@ en: invite_users_link: "Invite users" invite_users_details: "to team %{team}." contact_admins: "To invite additional users to team %{team}, contact its administrator/s." - modal_view_users: - modal_title: "Members of %{name}" - no_users: "No users!" - current_user_label: "(you)" filters_modal: members: label: "Members" @@ -718,6 +714,10 @@ en: normal_user: "User" technician: "Technician" viewer: "Viewer" + view_users: + modal_title: "Members of %{name}" + no_users: "No users!" + current_user_label: "(you)" edit: update_role: "Change Role" create: