more hacky solution for preview iframe in foundation reveal modal
This commit is contained in:
@@ -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
|
||||||
@@ -93,8 +93,13 @@ module Cmtool
|
|||||||
end
|
end
|
||||||
|
|
||||||
def preview
|
def preview
|
||||||
@page = ::Page.new params.require(:page).permit!
|
if request.post?
|
||||||
render "pages/show", layout: @page.layout
|
session[:preview_page] = params[:page].to_hash
|
||||||
|
head :ok
|
||||||
|
else
|
||||||
|
@page = ::Page.new session[:preview_page]
|
||||||
|
render "pages/show", layout: @page.layout
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user