All Projects → willviles → ember-useragent

willviles / ember-useragent

Licence: MIT license
An Ember addon for Fastboot-enabled UserAgent parsing via UAParser.js.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Handlebars
879 projects

Projects that are alternatives of or similar to ember-useragent

ember-responsive-image
Automatically generate resized images at build-time, optimized for the responsive web, and using components to render them easily as <picture> elements.
Stars: ✭ 103 (+202.94%)
Mutual labels:  ember, ember-addon
ember-cli-g-maps
Deprecated Google Maps Addon
Stars: ✭ 58 (+70.59%)
Mutual labels:  ember, ember-addon
ember-event-helpers
Complimentary event template helpers to the {{on}} modifier
Stars: ✭ 33 (-2.94%)
Mutual labels:  ember, ember-addon
ember-on-modifier
Implements the `{{on eventName this.someAction}}` element modifier from https://github.com/emberjs/rfcs/blob/master/text/0471-on-modifier.md
Stars: ✭ 37 (+8.82%)
Mutual labels:  ember, ember-addon
ember-best-language
🏳 A FastBoot-enabled addon to detect the best language for your user.
Stars: ✭ 18 (-47.06%)
Mutual labels:  ember, ember-addon
ember-link
Link primitive to pass around self-contained route references. It's {{link-to}}, but better!
Stars: ✭ 50 (+47.06%)
Mutual labels:  ember, ember-addon
ember-fastboot-app-tests
FastBoot testing support for Ember apps
Stars: ✭ 17 (-50%)
Mutual labels:  ember, ember-addon
ember-resources
An implementation of Resources with some helpful utilities
Stars: ✭ 68 (+100%)
Mutual labels:  ember, ember-addon
ember-foxy-forms
Ember Addon for Making Foxy Forms
Stars: ✭ 27 (-20.59%)
Mutual labels:  ember, ember-addon
ember-cli-concat
An Ember addon that enables you to concatinate Ember CLI's app and vendor files into a single JS file and a single CSS file
Stars: ✭ 31 (-8.82%)
Mutual labels:  ember, ember-addon
ember-style-modifier
{{style}} element modifier for ember.js
Stars: ✭ 32 (-5.88%)
Mutual labels:  ember, ember-addon
ember-cordova
CLI for Ember/Cordova/Crosswalk Applications
Stars: ✭ 16 (-52.94%)
Mutual labels:  ember, ember-addon
ember-i18n-cp-validations
ember-i18n support for ember-cp-validations
Stars: ✭ 20 (-41.18%)
Mutual labels:  ember, ember-addon
ember-get-config
Get `config/environment` from anywhere, even addons!!!
Stars: ✭ 63 (+85.29%)
Mutual labels:  ember, ember-addon
ember-cli-mirage-graphql
A library for mocking GraphQL with Ember CLI Mirage
Stars: ✭ 24 (-29.41%)
Mutual labels:  ember, ember-addon
ember-lazy-responsive-image
Generate and render responsive, lazy loaded, LQIP enabled images
Stars: ✭ 14 (-58.82%)
Mutual labels:  ember, ember-addon
ember-validity-modifier
Ember Octane addon to add custom validity (form validation) to form fields
Stars: ✭ 28 (-17.65%)
Mutual labels:  ember, ember-addon
ember-fastboot-addon-tests
Addon testing support for Fastboot compatibility
Stars: ✭ 24 (-29.41%)
Mutual labels:  ember, ember-addon
pagination-pager
Ember.js Component for Bootstrap 3 pagination & pager components
Stars: ✭ 56 (+64.71%)
Mutual labels:  ember, ember-addon
ember-cli-yadda
Write cucumber specs for ember-cli applications
Stars: ✭ 41 (+20.59%)
Mutual labels:  ember, ember-addon

Ember UserAgent Build Status Ember Observer Score Download count all time npm

Ember UserAgent is an Ember Addon for UserAgent parsing via UAParser.js.

The userAgent service works in both browser & Fastboot environments and makes it easy to detect:

  • Device Type
  • Device Model
  • Browser
  • Operating System
  • Layout Engine
  • CPU architecture

Compatibility

  • Ember.js v3.8 or above
  • Ember CLI v2.13 or above
  • Node.js v8 or above

Installation

ember install ember-useragent

Usage

Ember UserAgent exposes a service and a template helper.

Service

import { inject as service } from '@ember/service';

export default class FooComponent extends Component {
  @service userAgent;
}
const userAgent = this.get('userAgent');

userAgent.get('browser.isChrome'); // Boolean
userAgent.get('engine.isWebKit'); // Boolean
userAgent.get('os.info'); // => { name: 'Ubuntu', version: '11.10' }
userAgent.get('device.info'); // => { model: 'iPhone 7', type: 'mobile', vendor: 'Apple'}

Helper

{{#if (user-agent "browser.isChrome")}}
  Chrome, here...
{{/if}}

Service Properties

The service exposes all of UAParser's functions, but also adds some properties for quick access.

browser device engine os cpu
info info info info architecture
isChrome isConsole isWebKit isAndroid
isChromeHeadless isDesktop isIOS
isEdge isMobile isLinux
isFirefox isTablet isMacOS
isIE isWindows
isSafari

The service also exposes the userAgent property, which contains the user agent string. You can overwrite this property, if you want to force a certain user agent string. All of the properties described above will update in accordance.

Manual Usage

Ember UserAgent auto imports ua-parser-js into your application using ember-auto-import:

import UAParser from 'ua-parser-js';

Injection

Prior to 0.11.0, this addon generated an initializer in app/initializers/user-agent.js that injected the userAgent service across all controllers, components and routes. This does not happen in >=0.11.0.

You can restore this behavior by manually performing these implicit injections (see #42), however this is highly discouraged, as this feature is deprecated by the upcoming Ember v4.0. If you were relying on these implicit injections, you should instead refactor your code to explicitly inject the userAgent service.

Using UAParser.js

For more information on how to use UAParser.js, please refer to the documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].