![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
ember-mobile-inputs
Advanced tools
DEMO: http://annotationsro.github.io/ember-mobile-inputs/
HTML 5 introduced input types that are really great for mobile devices, but not that great for the good old desktops. Mainly because every browser implements it in a little bit different way (speaking of UI), which is sometimes not that great (e.g. number input in Firefox on Windows is simply disgusting...). And of course they are sometimes a little bit buggy (looking at you Firefox....) Also, it would be sometimes nice to enhance or alter the way these inputs behave on desktop - give them a little bit more glamour, right?
So what this addon does? On mobile (touch) devices it makes use of HTML5 power (renders a simple HTML <input type="whatever">
) and on desktop it provides some extra fun:
ember install ember-mobile-inputs
{{mobile-input id="numberInput" type='number' value=valueNumber disabled=isDisabled onValueChanged=(action 'callback')}}
You can customize the decimal point mark - whether to use comma or dot or both. You can do this by setting decimalMark
attribute to:
{{mobile-input id="textInput" type='text' value=valueText disabled=isDisabled onValueChanged=(action 'callback')}}
With default date format - dd.mm.yyyy
{{mobile-input id="dateInput" type='date' value=valueDate disabled=isDisabled onValueChanged=(action 'callback')}}
With custom format
{{mobile-input id="customDateInput" type='date' value=valueDateFormat format='YYYY-MM-DD' disabled=isDisabled}}
showOn attribute with possible values:
You can add a global configuration into your config/enbironment.js file:
ENV['ember-mobile-inputs'] = {
date:{
firstDay: 0, // Pikaday configuration
calendarButtonClass: 'fa fa-calendar', // font icon CSS classes to be used in place of calendar button
format: 'DD.MM.YYYY',
showOn: 'both' //available options: 'both', 'input', 'button', 'none',
},
number:{
decimalMark: 'both', //available options: 'comma', 'dot', 'both'
selectOnClick: false, //selects the whole number on focus
formatOnDisabled: false //format numbers when input is disabled
},
text:{
selectOnClick: false //selects the whole text on focus
}
}
For more Pikaday (calendar popup) configuration information, please have a look at the Pikaday guide. You can use any configuration parameter, except onSelect and field that are used internally by this addon.
There is an option to add callback onBlurChanged
that will be called on input blur, but only when value has changed since on-focus event.
There is a service mobile-input-event-bus
where you can subscribe to input changes on input blur - don't forget to enable these events in the config:
config/enbironment.js
ENV['ember-mobile-inputs'] = {
eventOnBlurChanged: true
}
subscribe for events
mobileInputEventBus: Ember.inject.service('mobile-input-event-bus'),
this.get('mobileInputEventBus').subscribe('blurChanged', (newValue, oldValue, element)=>{
window.console.log(`EVENT: newValue: ${newValue}, oldValue: ${oldValue}`);
});
You can pass custom attributes to the element using data-custom
attribute:
{{mobile-input value=value data-custom="hello world"}}
which will render:
<span data-custom="hello world" class="ember-mobile-input ember-mobile-input-text ember-view">
<!-- some more stuff here -->
</span>
FAQs
Mobile- and Desktop- friendly inputs
The npm package ember-mobile-inputs receives a total of 0 weekly downloads. As such, ember-mobile-inputs popularity was classified as not popular.
We found that ember-mobile-inputs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.