more hacky solution for preview iframe in foundation reveal modal
This commit is contained in:
@@ -19,11 +19,13 @@ $ ->
|
||||
$('.preview-page').click (ev)->
|
||||
ev.preventDefault()
|
||||
url = $(@).attr('href')
|
||||
iframe = $('#preview-modal iframe')
|
||||
params =
|
||||
body: $('#page_body').val()
|
||||
sidebar: $('#page_sidebar').val()
|
||||
footer: $('#page_footer').val()
|
||||
layout: $('#page_layout').val()
|
||||
$.post url, page: params, (response)->
|
||||
iframe = $('#preview-modal iframe').get(0)
|
||||
iframe.src = "data:text/html;charset=utf-8,#{escape(response)}"
|
||||
iframe.attr 'src', url
|
||||
$('#preview-modal').foundation('reveal', 'open')
|
||||
false
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
.reveal-modal-bg
|
||||
position: fixed
|
||||
#preview-modal
|
||||
width: 90%
|
||||
height: 90%
|
||||
margin-top: -70px
|
||||
@@ -93,8 +93,13 @@ module Cmtool
|
||||
end
|
||||
|
||||
def preview
|
||||
@page = ::Page.new params.require(:page).permit!
|
||||
render "pages/show", layout: @page.layout
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
javascript:
|
||||
page_vars = #{Cmtool::YmlFile.all_as_object.to_json.html_safe};
|
||||
#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 ×
|
||||
= form_for [cmtool, @page] do |f|
|
||||
= render 'error_messages', target: @page
|
||||
|
||||
Reference in New Issue
Block a user