Sha256: 6dc34aa786c09bab85e9ed5f143f1f0592c8850621d9014e5e02e9ee207ed06a

Contents?: true

Size: 702 Bytes

Versions: 7

Compression:

Stored size: 702 Bytes

Contents

LiveRecord.plugins.LiveDOM.applyToModel = (Model, pluginValue) ->
  return if pluginValue != true

  # DOM callbacks
  Model._updateDomCallback = (domContext)->
    domContext ||= $('body')

    $updatableElements = domContext.find('[data-live-record-update-from]')

    for key, value of this.attributes
      $updatableElements.filter('[data-live-record-update-from="' + Model.modelName + '-' + this.id() + '-' + key + '"]').text(this[key]())

  Model._destroyDomCallback = ->
    $('[data-live-record-destroy-from="' + Model.modelName + '-' + this.id() + '"]').remove()
  
  Model.addCallback('after:update', Model._updateDomCallback)
  Model.addCallback('after:destroy', Model._destroyDomCallback)

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
live_record-0.2.6 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.5 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.4 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.3 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.2 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.1 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.0 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee