back to the original editable_short_text (#349)

This commit is contained in:
Didier Lafforgue 2012-04-14 13:38:47 +02:00
parent 21469ce367
commit 1ae9557515
4 changed files with 49 additions and 22 deletions

View File

@ -16,7 +16,7 @@ class Locomotive.Models.Page extends Backbone.Model
toJSON: ->
_.tap super, (hash) =>
_.each ['content_type_id_text', 'edit_url', 'parent_id_text', 'response_type_text'], (key) => delete hash[key]
_.each ['fullpath', 'localized_fullpaths', 'templatized_from_parent', 'target_klass_name_text', 'content_type_id_text', 'edit_url', 'parent_id_text', 'response_type_text'], (key) => delete hash[key]
delete hash['editable_elements']
hash.editable_elements = @get('editable_elements').toJSONForSave() if @get('editable_elements')? && @get('editable_elements').length > 0

View File

@ -2,7 +2,35 @@
Locomotive.Views.EditableElements ||= {}
class Locomotive.Views.EditableElements.LongTextView extends Locomotive.Views.EditableElements.ShortTextView
class Locomotive.Views.EditableElements.LongTextView extends Backbone.View
tagName: 'li'
className: 'text input html'
render: ->
$(@el).html(ich.editable_text_input(@model.toJSON()))
return @
after_render: ->
settings = _.extend {}, @tinymce_settings(),
oninit: ((editor) =>
$.cmd 'S', (() =>
@model.set(content: editor.getBody().innerHTML)
$(@el).parents('form').trigger('submit')
), [], ignoreCase: true, document: editor.dom.doc),
onchange_callback: (editor) =>
@model.set(content: editor.getBody().innerHTML)
@$('textarea').tinymce(settings)
tinymce_settings: ->
window.Locomotive.tinyMCE.defaultSettings
refresh: ->
# do nothing
remove: ->
@$('textarea').tinymce().destroy()
super

View File

@ -4,31 +4,19 @@ class Locomotive.Views.EditableElements.ShortTextView extends Backbone.View
tagName: 'li'
className: 'text input html'
className: 'text input short'
render: ->
$(@el).html(ich.editable_text_input(@model.toJSON()))
@$('textarea').bind 'keyup', (event) =>
input = $(event.target)
@model.set(content: input.val())
return @
after_render: ->
settings = _.extend {}, @tinymce_settings(),
oninit: ((editor) =>
$.cmd 'S', (() =>
@model.set(content: editor.getBody().innerHTML)
$(@el).parents('form').trigger('submit')
), [], ignoreCase: true, document: editor.dom.doc),
onchange_callback: (editor) =>
@model.set(content: editor.getBody().innerHTML)
@$('textarea').tinymce(settings)
tinymce_settings: ->
window.Locomotive.tinyMCE.minimalSettings
# do nothing
refresh: ->
# do nothing
remove: ->
@$('textarea').tinymce().destroy()
super

View File

@ -295,6 +295,17 @@ form.formtastic {
}
} // li.string, li.password
&.text {
&.short textarea {
padding: 5px;
height: 28px;
width: 696px;
overflow-y: hidden;
}
} // li.text
&.locale, &.locales {
.list {
margin-left: 150px;