From e9959747d670727868e18e9785c11aa2c7f985f9 Mon Sep 17 00:00:00 2001 From: Mojca Lorber Date: Tue, 14 Apr 2020 17:25:36 +0200 Subject: [PATCH] small refactor --- app/assets/javascripts/my_modules.js | 36 ++++-------- app/controllers/user_my_modules_controller.rb | 10 ++-- .../canvas/full_zoom/_my_module.html.erb | 4 +- .../my_modules/_my_module_details.html.erb | 2 +- app/views/user_my_modules/_index.html.erb | 57 ++++++++----------- .../user_my_modules/_index_compact.html.erb | 27 --------- app/views/user_my_modules/_index_old.html.erb | 34 +++++++++++ config/routes.rb | 2 +- 8 files changed, 80 insertions(+), 92 deletions(-) delete mode 100644 app/views/user_my_modules/_index_compact.html.erb create mode 100644 app/views/user_my_modules/_index_old.html.erb diff --git a/app/assets/javascripts/my_modules.js b/app/assets/javascripts/my_modules.js index f33e26897..a275d1420 100644 --- a/app/assets/javascripts/my_modules.js +++ b/app/assets/javascripts/my_modules.js @@ -291,45 +291,34 @@ function initTagsSelector() { } function initAssignedUsersSelector() { - var manageUsersModal = null; - var manageUsersModalBody = null; + var manageUsersModal = $('#manage-module-users-modal'); + var manageUsersModalBody = manageUsersModal.find('.modal-body'); // Initialize users editing modal remote loading function initUsersEditLink() { - $('.task-details .manage-users-link').on('ajax:success', function(e, data) { + $('.task-details').on('ajax:success', '.manage-users-link', function(e, data) { manageUsersModal.modal('show'); manageUsersModal.find('#manage-module-users-modal-module').text(data.my_module.name); initUsersModalBody(data); }); } - // Initialize reloading manage user modal content after posting new user - function initAddUserForm() { - manageUsersModalBody.find('.add-user-form') - .on('ajax:success', function(e, data) { - initUsersModalBody(data); - }); - } - - // Initialize remove user from my_module links - function initRemoveUserLinks() { - manageUsersModalBody.find('.remove-user-link') - .on('ajax:success', function(e, data) { - initUsersModalBody(data); - }); - } - // Initialize ajax listeners and elements style on modal body. // This function must be called when modal body is changed. function initUsersModalBody(data) { manageUsersModalBody.html(data.html); manageUsersModalBody.find('.selectpicker').selectpicker(); - initAddUserForm(); - initRemoveUserLinks(); } - manageUsersModal = $('#manage-module-users-modal'); - manageUsersModalBody = manageUsersModal.find('.modal-body'); + // Initialize reloading manage user modal content after posting new user + manageUsersModalBody.on('ajax:success', '.add-user-form', function(e, data) { + initUsersModalBody(data); + }); + + // Initialize remove user from my_module links + manageUsersModalBody.on('ajax:success', '.remove-user-link', function(e, data) { + initUsersModalBody(data); + }); // Reload users HTML element when modal is closed manageUsersModal.on('hide.bs.modal', function() { @@ -341,7 +330,6 @@ function initAssignedUsersSelector() { dataType: 'json', success: function(data) { $('.task-assigned-users').replaceWith(data.html); - initUsersEditLink(); }, error: function() { // TODO diff --git a/app/controllers/user_my_modules_controller.rb b/app/controllers/user_my_modules_controller.rb index b72bdfe5a..2eb5b1ef1 100644 --- a/app/controllers/user_my_modules_controller.rb +++ b/app/controllers/user_my_modules_controller.rb @@ -1,16 +1,16 @@ class UserMyModulesController < ApplicationController before_action :load_vars - before_action :check_view_permissions, only: :index + before_action :check_view_permissions, only: %i(index index_old) before_action :check_manage_permissions, only: %i(create index_edit destroy) - def index + def index_old @user_my_modules = @my_module.user_my_modules respond_to do |format| format.json do render json: { html: render_to_string( - partial: 'index.html.erb' + partial: 'index_old.html.erb' ), my_module_id: @my_module.id, counter: @my_module.users.count # Used for counter badge @@ -19,12 +19,12 @@ class UserMyModulesController < ApplicationController end end - def index_compact + def index respond_to do |format| format.json do render json: { html: render_to_string( - partial: 'index_compact.html.erb' + partial: 'index.html.erb' ) } end diff --git a/app/views/canvas/full_zoom/_my_module.html.erb b/app/views/canvas/full_zoom/_my_module.html.erb index 1ff3cfe9f..bdb4a4381 100644 --- a/app/views/canvas/full_zoom/_my_module.html.erb +++ b/app/views/canvas/full_zoom/_my_module.html.erb @@ -9,7 +9,7 @@ data-module-x="<%= my_module.x %>" data-module-y="<%= my_module.y %>" data-module-conns="<%= construct_module_connections(my_module) %>" - data-module-users-tab-url="<%= my_module_user_my_modules_url(my_module_id: my_module.id, format: :json) %>" + data-module-users-tab-url="<%= index_old_my_module_user_my_modules_url(my_module_id: my_module.id, format: :json) %>" data-module-tags-url="<%= my_module_tags_experiment_path(my_module.experiment, format: :json) %>"> <% if can_manage_module?(my_module) %> @@ -47,7 +47,7 @@