Implement Dirty forms component with Turbolinks and custom event support #258
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Connects to #240.
What does this PR do?
This PR implements a JS component which will be responsible for warning for unsaved changes when leaving a page. It is supporting Turbolinks and implements custom events that can be triggered by other UI components.
This behavior can be skipped by adding the
.skip-dirty-check
class atform
tag level.How should this be manually tested?
We would need to check that changes are detected and the alert dialogs are shown as expected:
<input>
,<select>
,<textarea>
).beforeunload
window event.Confirm dialog triggered while listening to Turbolinks events:
Native
beforeunload
event dialogs (leave and reload):