Sha256: 8c5e01db9b3878e981061bbe512e4c3b30b43d80701095b7a03d10dc06c7c552
Contents?: true
Size: 798 Bytes
Versions: 48
Compression:
Stored size: 798 Bytes
Contents
class Tenon.features.ProtectChanges constructor: -> @changesMade = false @bindChangeEvents() $(window).on('beforeunload', @confirmNavigation) bindChangeEvents: => @$form = $('.main-content form') @$form.on('cocoon:after-insert cocoon:after-remove', @_markChanged) @$form.on('keyup change', 'input, select, textarea', @_markChanged) @$form.on('input', '.editable-text', @_markChanged) @$form.on('submit', @_clearChanges) _markChanged: (e) => ignore = [37, 38, 39, 40, 20, 16, 17, 18] code = e.keyCode || e.which @changesMade = true if $.inArray(code, ignore) == -1 _clearChanges: => @changesMade = false return true confirmNavigation: => if @changesMade 'You have unsaved changes, are you sure you want to leave this page?'
Version data entries
48 entries across 48 versions & 1 rubygems