more hacky solution for preview iframe in foundation reveal modal

This commit is contained in:
2015-03-08 10:22:20 +01:00
parent 6a191e5d07
commit ba76940007
6 changed files with 22 additions and 6 deletions
@@ -19,11 +19,13 @@ $ ->
$('.preview-page').click (ev)-> $('.preview-page').click (ev)->
ev.preventDefault() ev.preventDefault()
url = $(@).attr('href') url = $(@).attr('href')
iframe = $('#preview-modal iframe')
params = params =
body: $('#page_body').val() body: $('#page_body').val()
sidebar: $('#page_sidebar').val()
footer: $('#page_footer').val()
layout: $('#page_layout').val() layout: $('#page_layout').val()
$.post url, page: params, (response)-> $.post url, page: params, (response)->
iframe = $('#preview-modal iframe').get(0) iframe.attr 'src', url
iframe.src = "data:text/html;charset=utf-8,#{escape(response)}"
$('#preview-modal').foundation('reveal', 'open') $('#preview-modal').foundation('reveal', 'open')
false false
@@ -0,0 +1,6 @@
.reveal-modal-bg
position: fixed
#preview-modal
width: 90%
height: 90%
margin-top: -70px
+6 -1
View File
@@ -93,9 +93,14 @@ module Cmtool
end end
def preview def preview
@page = ::Page.new params.require(:page).permit! if request.post?
session[:preview_page] = params[:page].to_hash
head :ok
else
@page = ::Page.new session[:preview_page]
render "pages/show", layout: @page.layout render "pages/show", layout: @page.layout
end end
end
private private
+1 -1
View File
@@ -1,7 +1,7 @@
javascript: javascript:
page_vars = #{Cmtool::YmlFile.all_as_object.to_json.html_safe}; page_vars = #{Cmtool::YmlFile.all_as_object.to_json.html_safe};
#preview-modal.reveal-modal.large data-reveal="" #preview-modal.reveal-modal.large data-reveal=""
iframe allowfullscreen="" frameborder="0" height="720" src="about:blank" width="900" iframe allowfullscreen="" frameborder="0" height="100%" src="about:blank" width="100%"
a.close-reveal-modal × a.close-reveal-modal ×
= form_for [cmtool, @page] do |f| = form_for [cmtool, @page] do |f|
= render 'error_messages', target: @page = render 'error_messages', target: @page
+1 -1
View File
@@ -7,7 +7,7 @@ Cmtool::Engine.routes.draw do
resources :pages do resources :pages do
member do member do
get :generate_name get :generate_name
post :preview match :preview, via: [:get, :post]
end end
collection do collection do
get :generate_name get :generate_name
@@ -11,3 +11,6 @@
*= require_self *= require_self
*= require_tree . *= require_tree .
*/ */
body{
background-color: #aaf;
}