Sha256: 70dfe47a50748692c2e8ab0ecc2066116970e1a15c4d46bbc103f1f6de5cff14

Contents?: true

Size: 709 Bytes

Versions: 7

Compression:

Stored size: 709 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.attributes[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.3.4 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.3.3 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.3.2 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.3.1 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.3.0 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.8 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee
live_record-0.2.7 app/assets/javascripts/live_record/plugins/live_dom/apply_to_model.coffee