InputView.js 902 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const { h } = require('preact')
  2. module.exports = (props) => {
  3. let input
  4. const handleKeyPress = (ev) => {
  5. if (ev.keyCode === 13) {
  6. validateAndSearch()
  7. }
  8. }
  9. const validateAndSearch = () => {
  10. if (input.value) {
  11. props.search(input.value)
  12. }
  13. }
  14. return (
  15. <div class="uppy-SearchProvider">
  16. <input
  17. class="uppy-u-reset uppy-c-textInput uppy-SearchProvider-input"
  18. type="text"
  19. aria-label={props.i18n('enterTextToSearch')}
  20. placeholder={props.i18n('enterTextToSearch')}
  21. onkeyup={handleKeyPress}
  22. ref={(input_) => { input = input_ }}
  23. data-uppy-super-focusable
  24. />
  25. <button
  26. class="uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-SearchProvider-searchButton"
  27. type="button"
  28. onclick={validateAndSearch}
  29. >
  30. {props.i18n('searchImages')}
  31. </button>
  32. </div>
  33. )
  34. }