mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-11-08 07:21:03 +08:00
Add inline editing for folder name [SCI-5896] (#3430)
This commit is contained in:
parent
7b0ea6f701
commit
d4f974ac64
2 changed files with 35 additions and 2 deletions
|
|
@ -20,6 +20,7 @@ class ProjectsController < ApplicationController
|
||||||
before_action :set_inline_name_editing, only: %i(show)
|
before_action :set_inline_name_editing, only: %i(show)
|
||||||
before_action :load_exp_sort_var, only: :show
|
before_action :load_exp_sort_var, only: :show
|
||||||
before_action :reset_invalid_view_state, only: %i(index cards show)
|
before_action :reset_invalid_view_state, only: %i(index cards show)
|
||||||
|
before_action :set_folder_inline_name_editing, only: %i(index cards)
|
||||||
|
|
||||||
layout 'fluid'
|
layout 'fluid'
|
||||||
|
|
||||||
|
|
@ -48,7 +49,15 @@ class ProjectsController < ApplicationController
|
||||||
breadcrumbs_html = render_to_string(partial: 'projects/index/breadcrumbs.html.erb',
|
breadcrumbs_html = render_to_string(partial: 'projects/index/breadcrumbs.html.erb',
|
||||||
locals: { target_folder: current_folder, folder_page: true })
|
locals: { target_folder: current_folder, folder_page: true })
|
||||||
projects_cards_url = project_folder_cards_url(current_folder)
|
projects_cards_url = project_folder_cards_url(current_folder)
|
||||||
title = current_folder.name
|
title = if @inline_editable_title_config.present?
|
||||||
|
render_to_string(partial: 'shared/inline_editing',
|
||||||
|
locals: {
|
||||||
|
initial_value: current_folder&.name,
|
||||||
|
config: @inline_editable_title_config
|
||||||
|
})
|
||||||
|
else
|
||||||
|
current_folder.name
|
||||||
|
end
|
||||||
else
|
else
|
||||||
breadcrumbs_html = ''
|
breadcrumbs_html = ''
|
||||||
projects_cards_url = cards_projects_url
|
projects_cards_url = cards_projects_url
|
||||||
|
|
@ -367,6 +376,18 @@ class ProjectsController < ApplicationController
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_folder_inline_name_editing
|
||||||
|
return if !can_update_team?(current_team) || @current_folder.nil?
|
||||||
|
|
||||||
|
@inline_editable_title_config = {
|
||||||
|
name: 'title',
|
||||||
|
params_group: 'project_folder',
|
||||||
|
item_id: @current_folder.id,
|
||||||
|
field_to_udpate: 'name',
|
||||||
|
path_to_update: project_folder_path(@current_folder)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
def load_exp_sort_var
|
def load_exp_sort_var
|
||||||
if params[:sort]
|
if params[:sort]
|
||||||
@project.experiments_order = params[:sort].to_s
|
@project.experiments_order = params[:sort].to_s
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,19 @@
|
||||||
<%= render partial: 'projects/index/breadcrumbs', locals: { target_folder: current_folder, folder_page: true } if current_folder %>
|
<%= render partial: 'projects/index/breadcrumbs', locals: { target_folder: current_folder, folder_page: true } if current_folder %>
|
||||||
</div>
|
</div>
|
||||||
<div class="title-row">
|
<div class="title-row">
|
||||||
<h1 data-view-mode="active" class="projects-title name-readonly-placeholder"><%= current_folder&.name || t('projects.index.head_title') %></h1>
|
<% if current_folder&.name && @inline_editable_title_config.present? %>
|
||||||
|
<h1 data-view-mode="active" class="projects-title">
|
||||||
|
<%= render partial: "shared/inline_editing",
|
||||||
|
locals: {
|
||||||
|
initial_value: current_folder&.name,
|
||||||
|
config: @inline_editable_title_config
|
||||||
|
} %>
|
||||||
|
</h1>
|
||||||
|
<% else %>
|
||||||
|
<h1 data-view-mode="active" class="projects-title name-readonly-placeholder">
|
||||||
|
<%= current_folder&.name || t('projects.index.head_title') %>
|
||||||
|
</h1>
|
||||||
|
<% end %>
|
||||||
<h1 data-view-mode="archived">
|
<h1 data-view-mode="archived">
|
||||||
<i class="fas fa-archive"></i>
|
<i class="fas fa-archive"></i>
|
||||||
<span class="projects-title name-readonly-placeholder"><%= current_folder&.name || t('projects.index.head_title_archived') %></span>
|
<span class="projects-title name-readonly-placeholder"><%= current_folder&.name || t('projects.index.head_title_archived') %></span>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue