32 lines
865 B
CoffeeScript
32 lines
865 B
CoffeeScript
App.WatchFormChanges =
|
|
forms: ->
|
|
return $('form[data-watch-changes]')
|
|
|
|
msg: ->
|
|
if($('[data-watch-form-message]').length)
|
|
return $('[data-watch-form-message]').data('watch-form-message')
|
|
|
|
checkChanges: (event) ->
|
|
console.log(event)
|
|
changes = false
|
|
App.WatchFormChanges.forms().each ->
|
|
form = $(this)
|
|
if form.serialize() != form.data('watchChanges')
|
|
changes = true
|
|
if changes
|
|
return confirm(App.WatchFormChanges.msg())
|
|
else
|
|
return true
|
|
|
|
initialize: ->
|
|
if App.WatchFormChanges.forms().length == 0 || App.WatchFormChanges.msg() == undefined
|
|
return
|
|
|
|
$(document).off('page:before-change').on('page:before-change', (e) -> App.WatchFormChanges.checkChanges(e))
|
|
|
|
App.WatchFormChanges.forms().each ->
|
|
form = $(this)
|
|
form.data('watchChanges', form.serialize())
|
|
|
|
false
|