wupjs-glyph-input-text
v0.4.0
Published
Generic input[type="text"] using React
Downloads
4
Readme
wupjs-glyph-input-text
Generic input[type="text"] using React
Content
Usage
A glyph input text is a purely representational React component. It consists of a text input node and a submit button which has as text a single symbol character. By default, we use Bootstrap 4 and Font Awesome classes to theme the component. But these settings can be overridden.
import React from 'react';
import {render} from 'react-dom';
import GlyphInputText from './glyph-input-text';
render(<div>
<h5>GlyphInputText</h5>
<GlyphInputText
glyph="save"
onSubmit={e => {
e.preventDefault();
console.log(e.target.value);
}}
autoFocus
autoClear
/>
</div>, document.getElementById('app'));
Required properties
glyph
By default, glyph
is the name of a character as defined by Font Awesome. You may use it in combination with property glyphBaseClass
to use a totally different character set. See Overriding GlyphInputText
defaults.
onSubmit
onSubmit
property must be a function which will be called whenever the input box content is submitted. As shown in the Usage example, it takes as input a 'submit' event. Internally, its preventDefault
is called so that the component never provokes a page reload. Moreover the event is not exactly the event that is automatically generated on submit (which is related to the wrapping form) but a mixin of that event with {target: inputNode}
, so that you can access the underlying data by using e.target.value
.
Theming GlyphInputText
There are 5 props provided to help theme the component:
groupAddClass
: To theme the outtermost wrappergroupButtonAddClass
: To theme the button groupinputAddClass
: To theme the input elementbuttonAddClass
: To theme the button elementglyphAddClass
: To theme the symbol within the button.
But all come on top of the Bootstrap and Font Awesome defaults. See below to override them.
Overriding GlyphInputText
defaults
There are 5 props provided to override the theming of the component:
groupBaseClass
: Overrides Bootstrap4 for the outtermost wrappergroupButtonBaseClass
: Overrides Bootstrap4 for the button groupinputBaseClass
: Overrides Bootstrap4 for the input elementbuttonBaseClass
: Overrides Bootstrap4 for the button elementglyphBaseClass
: Overrides FontAwesome for the symbol within the button.
Special props
placeholder
: Placeholder text within the underlying text inputautoFocus
: Have the underlying input autofocusautoClear
: Have the underlying input autoclear on submitinhibitBlurOnSubmit
: As it says: Submitting always blurs first if not inhibited and this is probably unwanted behavior if bluring somehow destroys/detaches the widgetdefaultValue
: Initial value to appear in the text input (not a placeholder, but an actual value that will be submitted by default)onFocus
: A function called when the underlying input gets focusonBlur
: A function called when the underlying input loses focus
License
wupjs-glyph-input-text is MIT licensed.
© 2017 Jason Lenoble