This commit is contained in:
Kristján Oddsson 2019-01-24 10:49:01 +00:00
Родитель 58d9b99b8b
Коммит f56148e134
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: F5C58CF9F8FE5D63
1 изменённых файлов: 58 добавлений и 0 удалений

58
README.md Normal file
Просмотреть файл

@ -0,0 +1,58 @@
# Session Resume
Annotate fields to be persisted on navigation away from the current page.
Fields be automatically restored when the user revists the page again in
their current browser session (excludes separate tabs).
Not design for persisted crash recovery.
## Installation
```
$ npm install @github/session-resume
```
## Usage
### HTML
``` html
<form>
<input id="new-comment" class="js-session-resumable"/>
</form>
```
### JS
```js
import {persistResumableFields, restoreResumableFields, setForm} from '@github/session-resume'
function getPageID() {
return window.location.pathname
}
// Listen for all form submit events and to see if their default submission
// behavior is invoked.
window.addEventListener('submit', setForm, {capture: true})
// Resume field content on regular page loads.
window.addEventListener('pageshow', function() {
restoreResumableFields(getPageID())
})
// Persist resumable fields when page is unloaded
window.addEventListener('pagehide', function() {
persistResumableFields(getPageID())
})
```
## Development
```
npm install
npm test
```
## License
Distributed under the MIT license. See LICENSE for details.