mirror of
https://github.com/manyfold3d/manyfold.git
synced 2026-10-19 01:59:48 -05:00
Create :edit file handler and move form into plaintext form view
component
This commit is contained in:
5 files changed
+38
-8
No files matched your search
@@ -0,0 +1,23 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Components::Editors::PlaintextForm < Components::Base
|
||||
include Phlex::Rails::Helpers::FormTag
|
||||
include Phlex::Rails::Helpers::TextAreaTag
|
||||
include Phlex::Rails::Helpers::SubmitTag
|
||||
|
||||
def initialize(file:)
|
||||
@file = file
|
||||
end
|
||||
|
||||
def view_template
|
||||
form_tag model_model_file_raw_path(@file.model, @file.filename), method: :put, class: "container-md" do
|
||||
div class: "mb-3" do
|
||||
text_area_tag :body, @file.attachment.read, class: "form-control", rows: "20"
|
||||
end
|
||||
|
||||
div class: "form-save-button" do
|
||||
submit_tag
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -110,7 +110,8 @@ class ModelFilesController < ApplicationController
|
||||
end
|
||||
|
||||
def edit_content
|
||||
raise ActionController::BadRequest unless @file.mime_type.to_sym.in? [:html, :text, :js, :md]
|
||||
@editor = FileHandlers.handlers_for(environment: :edit, mime_type: @file.mime_type).first
|
||||
raise ActionController::BadRequest unless @editor
|
||||
end
|
||||
|
||||
def extract
|
||||
|
||||
@@ -2,6 +2,7 @@ module FileHandlers
|
||||
# i18n-tasks-use t("file_handlers.environments.browser")
|
||||
# i18n-tasks-use t("file_handlers.environments.client")
|
||||
# i18n-tasks-use t("file_handlers.environments.preview_frame")
|
||||
# i18n-tasks-use t("file_handlers.environments.edit")
|
||||
# i18n-tasks-use t("file_handlers.environments.convert")
|
||||
# i18n-tasks-use t("file_handlers.environments.thumbnail")
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class FileHandlers::PlaintextForm < FileHandlers::Base
|
||||
# i18n-tasks-use t("file_handlers.handlers.plaintext_form")
|
||||
|
||||
ENVIRONMENTS = [:edit].freeze
|
||||
|
||||
INPUT_TYPES = Mime::EXTENSION_LOOKUP.slice("html", "js", "txt", "md").values.freeze
|
||||
|
||||
def self.component
|
||||
Components::Editors::PlaintextForm
|
||||
end
|
||||
end
|
||||
@@ -4,10 +4,4 @@
|
||||
@file.name => model_model_file_path(@file.model, @file)
|
||||
} %>
|
||||
|
||||
<%= form_tag model_model_file_raw_path(@file.model, @file.filename), method: :put, class: "container-md" do %>
|
||||
<%= text_area_tag :body, @file.attachment.read, class: "form-control", rows: "20" %>
|
||||
|
||||
<div class="form-save-button">
|
||||
<%= submit_tag %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= render @editor.component.new(file: @file) %>
|
||||
Reference in new issue
Block a user