Class: ActiveCanvas::Admin::PagesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ActiveCanvas::Admin::PagesController
- Includes:
- TailwindCompilation
- Defined in:
- app/controllers/active_canvas/admin/pages_controller.rb
Instance Method Summary collapse
- #content ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #editor ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #save_editor ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
- #update_content ⇒ Object
- #versions ⇒ Object
Instance Method Details
#content ⇒ Object
47 48 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 47 def content end |
#create ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 24 def create @page = ActiveCanvas::Page.new(page_params) if @page.save redirect_to admin_page_path(@page), notice: "Page was successfully created." else render :new, status: :unprocessable_entity end end |
#destroy ⇒ Object
42 43 44 45 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 42 def destroy @page.destroy redirect_to admin_pages_path, notice: "Page was successfully deleted." end |
#edit ⇒ Object
21 22 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 21 def edit end |
#editor ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 58 def editor respond_to do |format| format.html { render layout: "active_canvas/admin/editor" } format.json do render json: { content: @page.content, content_css: @page.content_css, content_js: @page.content_js, content_components: @page.content_components } end end end |
#index ⇒ Object
8 9 10 11 12 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 8 def index @pages = ActiveCanvas::Page.includes(:page_type).order(created_at: :desc) @media_count = ActiveCanvas::Media.count @media_total_size = ActiveCanvas::Media.sum(:byte_size) end |
#new ⇒ Object
17 18 19 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 17 def new @page = ActiveCanvas::Page.new(page_type: ActiveCanvas::PageType.default) end |
#save_editor ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 72 def save_editor content_changed = @page.content != editor_params[:content] Rails.logger.info "[ActiveCanvas::PagesController] save_editor for page ##{@page.id}" Rails.logger.info "[ActiveCanvas::PagesController] content_changed: #{content_changed}" if @page.update(editor_params) tailwind_info = compile_tailwind_if_needed(content_changed) do compiled_css = ActiveCanvas::TailwindCompiler.compile_for_page(@page) @page.update_columns(compiled_tailwind_css: compiled_css, tailwind_compiled_at: Time.current) compiled_css end respond_to do |format| format.html { redirect_to editor_admin_page_path(@page), notice: "Page saved successfully." } format.json do render json: { success: true, message: "Page saved successfully.", tailwind: tailwind_info } end end else respond_to do |format| format.html { render :editor, layout: "active_canvas/admin/editor", status: :unprocessable_entity } format.json { render json: { success: false, errors: @page.errors. }, status: :unprocessable_entity } end end end |
#show ⇒ Object
14 15 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 14 def show end |
#update ⇒ Object
34 35 36 37 38 39 40 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 34 def update if @page.update(page_params) redirect_to admin_page_path(@page), notice: "Page was successfully updated." else render :edit, status: :unprocessable_entity end end |
#update_content ⇒ Object
50 51 52 53 54 55 56 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 50 def update_content if @page.update(params.require(:page).permit(:content)) redirect_to content_admin_page_path(@page), notice: "Content saved." else render :content, status: :unprocessable_entity end end |
#versions ⇒ Object
102 103 104 |
# File 'app/controllers/active_canvas/admin/pages_controller.rb', line 102 def versions @versions = @page.versions.recent.limit(50) end |