engine/lib/locomotive/liquid/tags/inline_editor.rb

52 lines
2.7 KiB
Ruby
Raw Normal View History

module Liquid
module Locomotive
module Tags
class InlineEditor < ::Liquid::Tag
def render(context)
2010-09-03 23:47:28 +00:00
if context.registers[:current_admin]
output = %{
<meta name="locale" content="#{context.registers[:current_admin].locale}" />
2010-09-03 23:47:28 +00:00
<meta name="page-fullpath" content="/#{context.registers[:page].fullpath}" />
<meta name="edit-page-url" content="#{context.registers[:controller].send(:edit_admin_page_url, context.registers[:page])}" />
}
if context.registers[:inline_editor]
2010-09-04 23:50:11 +00:00
controller = context.registers[:controller]
2010-09-03 23:47:28 +00:00
output << %{
2010-09-04 23:50:11 +00:00
<meta name="page-url" content="#{context.registers[:controller].send(:admin_page_url, context.registers[:page], :json)}" />
<meta name="page-elements-count" content="#{context.registers[:page].editable_elements.size}" />
2010-09-03 23:47:28 +00:00
<script type="text/javascript" src="/javascripts/admin/aloha/aloha.js"></script>
<script type="text/javascript" src="/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/plugin.js"></script>
<script type="text/javascript" src="/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/plugin.js"></script>
<script type="text/javascript" src="/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/plugin.js"></script>
<script type="text/javascript" src="/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/plugin.js"></script>
<script type="text/javascript" src="/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.HighlightEditables/plugin.js"></script>
}
2010-09-04 23:50:11 +00:00
if controller.send(:protect_against_forgery?)
output << %(<meta name="csrf-param" content="#{Rack::Utils.escape_html(controller.send(:request_forgery_protection_token))}"/>\n<meta name="csrf-token" content="#{Rack::Utils.escape_html(controller.send(:form_authenticity_token))}"/>).html_safe
end
else
output << %{
<script src="/javascripts/admin/jquery.js" type="text/javascript"></script>
<script src="/javascripts/admin/plugins/cookie.js" type="text/javascript"></script>
2010-09-04 23:50:11 +00:00
}
2010-09-03 23:47:28 +00:00
end
2010-09-03 23:47:28 +00:00
output << %{
2010-09-04 23:50:11 +00:00
<script src="/javascripts/admin/rails.js" type="text/javascript"></script>
<script type="text/javascript" src="/javascripts/admin/inline_editor.js"></script>
2010-09-03 23:47:28 +00:00
<link href="/stylesheets/admin/inline_editor.css" media="screen" rel="stylesheet" type="text/css" />
}
end
end
end
::Liquid::Template.register_tag('inline_editor', InlineEditor)
end
end
end