Sha256: 8398903037bec5835404b06901989ddffa482d32dd741ae7bcbd0bf75084cbbe

Contents?: true

Size: 1001 Bytes

Versions: 5

Compression:

Stored size: 1001 Bytes

Contents

class Locomotive.Models.Page extends Backbone.Model

  paramRoot: 'page'

  urlRoot: "#{Locomotive.mounted_on}/pages"

  initialize: ->
    @_normalize()

    @set
      edit_url: "#{Locomotive.mounted_on}/pages/#{@id}/edit"

  _normalize: ->
    @set
      editable_elements: new Locomotive.Models.EditableElementsCollection(@get('editable_elements') || [])

  toJSON: ->
    _.tap super, (hash) =>
      _.each ['fullpath', 'localized_fullpaths', 'templatized_from_parent', 'target_klass_name_text', 'content_type_id_text', 'edit_url', 'parent_id_text', 'response_type_text', 'translated_in'], (key) => delete hash[key]

      delete hash['editable_elements']
      hash.editable_elements = @get('editable_elements').toJSONForSave() if @get('editable_elements')? && @get('editable_elements').length > 0

      delete hash['target_klass_name']
      hash.target_klass_name = @get('target_klass_name') if @get('templatized') == true

class Locomotive.Models.PagesCollection extends Backbone.Collection

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
locomotive_cms-2.1.4 app/assets/javascripts/locomotive/models/page.js.coffee
locomotive_cms-2.1.3 app/assets/javascripts/locomotive/models/page.js.coffee
locomotive_cms-2.1.2 app/assets/javascripts/locomotive/models/page.js.coffee
locomotive_cms-2.1.1 app/assets/javascripts/locomotive/models/page.js.coffee
locomotive_cms-2.1.0 app/assets/javascripts/locomotive/models/page.js.coffee