mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-02-26 16:53:12 +08:00
Change javascript for modal handeling and some other small fixes
This commit is contained in:
parent
74f0f0474a
commit
9253cf5ade
3 changed files with 42 additions and 11 deletions
|
@ -42,6 +42,37 @@
|
|||
var selectedProjects = [];
|
||||
var selectedProjectFolders = [];
|
||||
|
||||
// Init new project folder modal function
|
||||
function initNewProjectFolderModal() {
|
||||
var newProjectFolderModal = '#new-project-folder-modal'
|
||||
// Modal's submit handler function
|
||||
function newProjectFolderModalResponse() {
|
||||
$(newProjectFolderModal).find('form')
|
||||
.on('ajax:success', function(ev, data) {
|
||||
refreshCurrentView();
|
||||
$(newProjectFolderModal).modal('hide');
|
||||
HelperModule.flashAlertMsg(data.message, 'success');
|
||||
})
|
||||
.on('ajax:error', function(e, data) {
|
||||
$(this).renderFormErrors('project_folder', data.responseJSON);
|
||||
});
|
||||
}
|
||||
|
||||
$('.new-project-folder-btn')
|
||||
.on('ajax:success', function(e, data) {
|
||||
// Add and show modal
|
||||
$('body').append($.parseHTML(data.html));
|
||||
$(newProjectFolderModal).modal('show');
|
||||
$(newProjectFolderModal).find("input[type='text']").focus();
|
||||
newProjectFolderModalResponse();
|
||||
|
||||
// Remove modal when it gets closed
|
||||
$(newProjectFolderModal).on('hidden.bs.modal', function() {
|
||||
$(newProjectFolderModal).remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the JS for new project modal to work.
|
||||
*/
|
||||
|
@ -402,12 +433,12 @@
|
|||
exportProjectsSubmit = $('#export-projects-modal-submit');
|
||||
|
||||
updateSelectedCards();
|
||||
initNewProjectFolderModal();
|
||||
initNewProjectModal();
|
||||
initEditProjectModal();
|
||||
initManageUsersModal();
|
||||
initExportProjectsModal();
|
||||
initExportProjects();
|
||||
$('.new-project-folder-btn').initSubmitModal('#new-project-folder-modal', 'project_folder');
|
||||
|
||||
initEditProjectButton($('.panel-project'));
|
||||
initArchiveRestoreButton($('.panel-project'));
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class ProjectFoldersController < ApplicationController
|
||||
include InputSanitizeHelper
|
||||
|
||||
before_action :load_current_folder, only: %i(new)
|
||||
before_action :check_create_permissions, only: %i(new create)
|
||||
before_action :check_manage_permissions, only: %i(move_to)
|
||||
|
@ -19,19 +21,17 @@ class ProjectFoldersController < ApplicationController
|
|||
end
|
||||
|
||||
def create
|
||||
@project_folder = ProjectFolder.new(team: current_team)
|
||||
@project_folder.assign_attributes(project_folders_params)
|
||||
project_folder = current_team.project_folders.new(project_folders_params)
|
||||
|
||||
respond_to do |format|
|
||||
format.json do
|
||||
if @project_folder.save
|
||||
if project_folder.save
|
||||
# log_activity()
|
||||
flash[:success] = t('projects.index.modal_new_project_folder.success_flash',
|
||||
name: @project_folder.name)
|
||||
render json: { url: project_folder_path(@project_folder) },
|
||||
status: :ok
|
||||
message = t('projects.index.modal_new_project_folder.success_flash',
|
||||
name: escape_input(project_folder.name))
|
||||
render json: { message: message }
|
||||
else
|
||||
render json: @project_folder.errors,
|
||||
render json: project_folder.errors,
|
||||
status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
@ -58,7 +58,7 @@ class ProjectFoldersController < ApplicationController
|
|||
private
|
||||
|
||||
def load_current_folder
|
||||
if current_team && params[:project_folder_id].present?
|
||||
if params[:project_folder_id].present?
|
||||
@current_folder = current_team.project_folders.find_by(id: params[:project_folder_id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="modal" id="new-project-folder-modal" tabindex="-1" role="dialog" aria-labelledby="new-project-folder-modal-label">
|
||||
<%= bootstrap_form_for [@project_folder], remote: true do |f| %>
|
||||
<%= bootstrap_form_for @project_folder, remote: true do |f| %>
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
|
|
Loading…
Reference in a new issue