Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: github/remote-input-element

v0.4.0

08 Apr 20:09
af06374

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.1...v0.4.0

v0.3.1

19 Mar 13:47

Choose a tag to compare

  • fix: output umd build for main key #19

v0.3.0...v0.3.1

v0.3.0

11 Mar 11:28
49b5156

Choose a tag to compare

  • Remove text/html; fragment from accept header (#22)

v0.2.1...v0.3.0

v0.2.1

29 Jan 08:54
5af14ff

Choose a tag to compare

  • Accept text/fragment+html as a content-type (#21)

github/auto-complete-element@v0.2.0...v0.2.1

0.2.0

22 Oct 20:03
v0.2.0

Choose a tag to compare

  • Replace Flow + Babel toolchain with TypeScript #15
  • Remove private state from public API #16
  • Abort in-flight requests #17

v0.1.2

20 Sep 18:45
f02ca30

Choose a tag to compare

  • Fixed parsing for relative URL in src #13

v0.1.1

12 Sep 11:06

Choose a tag to compare

v0.1.0...v0.1.1

v0.1.0

10 Sep 21:33
8d4f90c

Choose a tag to compare

  • Fixed #10 via #11: Only append response text if the response was successful.
  • Added new events:
    • remote-input-success: fired when response is successful and HTML is set.
    • remote-input-error: fired when response is not successful.

v0.0.7

14 Aug 08:13
b8eaa0c

Choose a tag to compare

  • Merge pull request #8 from github/publish-to-gpr-as-well b24d7b5
  • publish to GPR as a postpublish step 7923480

v0.0.6...v0.0.7

0.0.7

14 Aug 08:12
b24d7b5

Choose a tag to compare

<remote-input> element

An input element that sends its value to a server endpoint and renders the response body.

Installation

$ npm install @github/remote-input-element

Usage

import '@github/remote-input-element'
<!-- Filter a list of items from the server -->
<remote-input src="/query" aria-owns="results">
  <input>
</remote-input>
<ul id="results"></ul>

A GET request will be sent to /query?q=${input.value}.

The parameter name (q) is customizable with the [param] attribute:

<!-- Live preview of Markdown -->
<remote-input src="/preview" aria-owns="md-preview" param="body">
  <textarea></textarea>
</remote-input>
<div id="md-preview"></div>

Styling loading state

A boolean [loading] attribute is added to <remote-input> when a network request begins and removed when it ends.

.loading-icon { display: none; }
remote-input[loading] .loading-icon { display: inline; }

Events

const remoteInput = document.querySelector('remote-input')

// Network request lifecycle events.
remoteInput.addEventListener('loadstart', function(event) {
  console.log('Network request started', event)
})
remoteInput.addEventListener('loadend', function(event) {
  console.log('Network request complete', event)
})
remoteInput.addEventListener('load', function(event) {
  console.log('Network request succeeded', event)
})
remoteInput.addEventListener('error', function(event) {
  console.log('Network request failed', event)
})

Browser support

Browsers without native custom element support require a polyfill.

  • Chrome
  • Firefox
  • Safari
  • Microsoft Edge

Development

npm install
npm test

License

Distributed under the MIT license. See LICENSE for details.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.