Added turbo frame

This commit is contained in:
2026-04-22 00:06:47 +03:00
parent 4fedafd654
commit 52f2191a25
5 changed files with 36 additions and 21 deletions
+14 -3
View File
@@ -11,13 +11,24 @@ module ProjectAdminHelper
}
title = "Project #{project.name}"
admin_frame(links, title:, &)
admin_frame(links, title:, back_path: project_path(project), &)
end
def admin_frame(links, title:, &)
def project_admin_workflow_frame(workflow, &)
links = {
'Data' => edit_project_admin_workflow_path(workflow.project, workflow),
'Statuses' => edit_project_admin_workflow_statuses_path(workflow.project, workflow)
}
title = "Editing workflow #{workflow.name} for project #{workflow.project.name}"
admin_frame(links, title:, back_path: project_admin_workflow_path(workflow.project, workflow), &)
end
def admin_frame(links, title:, back_path: nil, &)
tabs = ProjectAdmin::TabsViewModel.new(links, id: TABS_ID, frame: FRAME_ID)
content = capture(&) if block_given?
render partial: 'project_admin/frame', locals: { id: FRAME_ID, tabs:, tabs_id: TABS_ID, title:, content: }
render partial: 'project_admin/frame', locals: {
id: FRAME_ID, tabs:, tabs_id: TABS_ID, title:, back_path:, content:
}
end
end
+2 -1
View File
@@ -2,7 +2,8 @@ h1
span> Project
span= @project.name
= link_to '← Back', project_path(@project)
- if back_path
= link_to '← Back', back_path
= render tabs
@@ -1,5 +1,2 @@
h1
| Editing workflow
=< @workflow.name
= render 'form', url: project_admin_workflow_path(@project, @workflow)
= project_admin_workflow_frame(@workflow) do
= render 'form', url: project_admin_workflow_path(@project, @workflow)
@@ -1,7 +1,12 @@
h1
| Workflow
= workflow_display @workflow, full: true, badge: true
.row
= workflow_display @workflow, full: true, badge: true
.links
= link_to 'Edit', edit_project_admin_workflow_path(@project, @workflow)
h2 Statuses
ul
- @workflow.task_statuses.each do |status|
@@ -1,4 +1,5 @@
= form_with model: @form, scope: 'workflow', url: project_admin_workflow_statuses_path(@project, @workflow), method: :put, data: {controller: 'dynamic-forms', 'dynamic-forms-field-name-value': 'task_statuses_attributes', 'dynamic-forms-field-template-value': '_extra_form', 'dynamic-forms-index-template-value': '__index__', 'dynamic-forms-count-value': @form.task_statuses.count} do |f|
= project_admin_workflow_frame(@workflow) do
= form_with model: @form, scope: 'workflow', url: project_admin_workflow_statuses_path(@project, @workflow), method: :put, data: {controller: 'dynamic-forms', 'dynamic-forms-field-name-value': 'task_statuses_attributes', 'dynamic-forms-field-template-value': '_extra_form', 'dynamic-forms-index-template-value': '__index__', 'dynamic-forms-count-value': @form.task_statuses.count} do |f|
section.workflow-statuses-batch-update-fieldsets data-dynamic-forms-target="container"
= f.fields_for :task_statuses, include_id: false do |tsf|
= render 'batch_update_fieldset', ff: tsf, with_destroy: true