
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
ember-lazy-image
Advanced tools
ember-lazy-image
is a component that allows you to gracefully handle image loading.
Component will load images lazily, only if they appeared in the view port. This optimization brings page load time down.
Default loading placeholder is stolen from aurer and his awesome codepen.
From inside your ember-cli project, run the following:
ember install ember-lazy-image
ember install:addon ember-lazy-image
npm install ember-lazy-image --save
{{lazy-image url='http://my-valid-url.com/foo.jpg'}}
Component will wait until the image is loaded and while waiting it will show default loading placeholder (see above).
You can customize loading
placeholder by passing it as an parameter:
{{#lazy-image url='http://my-valid-url.com/foo.jpg'}}
<!-- custom template goes here, spinner, svg, etc. -->
{{/lazy-image}}
You can also define the fallback if the image failed to load. By default, component will render
Image failed to load
text.
You can customize error
text by passing it as an parameter:
{{lazy-image url='http://my-not-valid-url.com/foo.jpg' errorText='Something went wrong.'}}
width
, height
and data-*
attributesLazy Image supports width
, height
and data-*
attribute bindings.
{{lazy-image url='http://my-valid-url.com/foo.jpg' width=400 height=400 data-foo-bar="my-foo-bar"}}
{{lazy-image url='http://my-valid-url.com/foo.jpg' width=400 height=400 data-foo-bar=foo.bar.path}}
class
attributeYou can also pass class names for the image element.
{{lazy-image url='http://my-valid-url.com/foo.jpg' class='foo-bar baz-bar'}}
alt
attributeYou can pass the alt attribute to the component and it will be rendered on the image element
{{lazy-image url='http://my-valid-url.com/foo.jpg' alt='foo description'}}
Lazy Image uses ember-in-viewport for viewport detection. Due to the way listeners and requestAnimationFrame
is setup, you'll have to override the ember-in-viewport
options by creating app/components/lazy-image.js
:
// app/components/lazy-image.js
import Ember from 'ember';
import LazyImage from 'ember-lazy-image/components/lazy-image';
export default LazyImage.extend({
viewportOptionsOverride: Ember.on('didInsertElement', function() {
Ember.setProperties(this, {
viewportUseRAF : true,
viewportSpy : false,
viewportRefreshRate : 150,
viewportTolerance: {
top : 50,
bottom : 50,
left : 20,
right : 20
}
});
})
});
See Advanced usage (options) for more in detail ember-in-viewport
options.
The use of threshold
is deprecated in favor of viewportTolerance
.
lazy-background-image
This is an experimental component that will add background-image
style attribute to a component's div
. It also
sets min-height
attribute to 270px
so the image is visible. You should be able to overwrite it by using lazy-background-image
class.
git clone
this repositorynpm install
bower install
ember server
ember test
ember test --server
ember build
For more information on using ember-cli, visit http://www.ember-cli.com/.
FAQs
Lazy image loading for Ember apps
We found that ember-lazy-image demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.