ember-cli-bootstrap3-carousel
Version:
The default blueprint for ember-cli addons.
47 lines (45 loc) • 1.25 kB
JavaScript
import Carousel from '../mixins/carousel';
import Ember from 'ember';
import layout from '../templates/components/twbs-carousel';
export default Ember.Component.extend(Carousel, {
actions: {
registerSlideComponent(slide) {
this.get('_slides').pushObject(slide);
return true;
}
},
/**
* Add the slide class?
*/
classNames: ['carousel'],
/**
* @default `false`
* @return boolean `true` if you want the carousel indicators to appear; `false` otherwise.
*/
'indicators?': false,
init() {
this._super(...arguments);
this.set('_slides', Ember.A());
},
layout,
slides: Ember.computed.readOnly('_slides.[]'),
tagName: 'div',
_initializeCarousel: Ember.on('didInsertElement', function () {
this.$()
.carousel(this.get('computedOptions'))
/**
* When the carousel slides, check if the target it is sliding to needs its image loaded.
*/
.on('slide.bs.carousel', (event) => {
this.get('_slides')
.find((slide) => {
return slide.get('elementId') === Ember.get(event, 'relatedTarget.id');
})
.send('loadImg');
});
}),
/**
* Initialized to an Ember.Array in `init()`.
*/
_slides: undefined
});