Sha256: 8208a47f9789310d7c570a2255ddf83ece17fe4a45a3c3c265e05acaad74930c

Contents?: true

Size: 695 Bytes

Versions: 1

Compression:

Stored size: 695 Bytes

Contents

class Locomotive.Models.EditableElement extends Backbone.Model

  toJSONForSave: ->
    _.tap {}, (hash) =>
      for key, value of @.toJSON()
        hash[key] = value if _.include(['id', 'source', 'content', 'remove_source'], key)

class Locomotive.Models.EditableElementsCollection extends Backbone.Collection

  model: Locomotive.Models.EditableElement

  blocks: ->
    names = _.uniq(@map (editable, index) -> editable.get('block_name'))
    _.tap [], (list) =>
      _.each names, (name, index) ->
        list.push name: name, index: index

  by_block: (name) ->
    @filter (editable) -> editable.get('block_name') == name

  toJSONForSave: ->
    @map (model) => model.toJSONForSave()

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc1 app/assets/javascripts/locomotive/models/editable_element.js.coffee