2010-08-29 23:41:44 +00:00
|
|
|
module Locomotive
|
|
|
|
module Liquid
|
|
|
|
module Tags
|
|
|
|
module Editable
|
2010-08-31 21:53:30 +00:00
|
|
|
class ShortText < Base
|
2010-08-29 23:41:44 +00:00
|
|
|
|
2010-08-31 21:53:30 +00:00
|
|
|
protected
|
2010-08-29 23:41:44 +00:00
|
|
|
|
2010-09-02 23:03:20 +00:00
|
|
|
def render_element(context, element)
|
2012-03-19 01:29:59 +00:00
|
|
|
content = element.default_content? ? render_default_content(context) : element.content
|
|
|
|
|
|
|
|
if editable?(context, element)
|
2010-09-02 23:03:20 +00:00
|
|
|
%{
|
2010-09-03 23:47:28 +00:00
|
|
|
<span class='editable-short-text' data-element-id='#{element.id}' data-element-index='#{element._index}'>
|
2012-03-19 01:29:59 +00:00
|
|
|
#{content}
|
2010-09-02 23:03:20 +00:00
|
|
|
</span>
|
|
|
|
}
|
|
|
|
else
|
2012-03-19 01:29:59 +00:00
|
|
|
content
|
2010-09-02 23:03:20 +00:00
|
|
|
end
|
2010-08-29 23:41:44 +00:00
|
|
|
end
|
|
|
|
|
2010-08-31 21:53:30 +00:00
|
|
|
def document_type
|
|
|
|
EditableShortText
|
2010-08-29 23:41:44 +00:00
|
|
|
end
|
|
|
|
|
2012-03-19 01:29:59 +00:00
|
|
|
def editable?(context, element)
|
|
|
|
context.registers[:inline_editor] && (!element.fixed? || (element.fixed? && !element.from_parent?))
|
|
|
|
end
|
|
|
|
|
2010-08-29 23:41:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
::Liquid::Template.register_tag('editable_short_text', ShortText)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|