ngx-owl-carousel
Version:
An angular (2 or 4) wrapper for jquery owl carousel library with dynamic carousel item change detection
78 lines • 3.03 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = require('@angular/core');
var OwlChild = (function () {
function OwlChild(el) {
this.el = el;
this.owlClass = true;
this.options = {};
if (typeof $ === 'undefined' && typeof jQuery !== 'undefined') {
$ = jQuery;
}
}
OwlChild.prototype.ngOnInit = function () {
if ((typeof window !== 'undefined') && $ && typeof $.fn.owlCarousel === 'function') {
this.$owl = $(this.el.nativeElement);
}
};
OwlChild.prototype.ngAfterViewInit = function () {
this.initOwl();
};
OwlChild.prototype.initOwl = function () {
var _this = this;
if (this.$owl) {
var options = {};
Object.assign(options, this.options);
if (this.currentSlideIndex) {
options.startPosition = this.currentSlideIndex;
}
this.$owl.owlCarousel(options);
this.$owl.on('changed.owl.carousel', function (event) {
_this.currentSlideIndex = event.item.index;
});
}
};
OwlChild.prototype.trigger = function (action, options) {
if (this.$owl) {
this.$owl.trigger(action, options);
}
};
OwlChild.prototype.ngOnDestroy = function () {
this.destroyOwl();
delete this.$owl;
};
OwlChild.prototype.destroyOwl = function () {
if (this.$owl) {
this.$owl.trigger('destroy.owl.carousel')
.removeClass('owl-loaded owl-hidden')
.find('.owl-stage:empty, .owl-item:empty')
.remove();
}
};
__decorate([
core_1.HostBinding('class.owl-carousel'),
__metadata('design:type', Object)
], OwlChild.prototype, "owlClass", void 0);
__decorate([
core_1.Input(),
__metadata('design:type', Object)
], OwlChild.prototype, "options", void 0);
OwlChild = __decorate([
core_1.Component({
selector: 'owl-carousel-child',
template: '<ng-content></ng-content>'
}),
__metadata('design:paramtypes', [core_1.ElementRef])
], OwlChild);
return OwlChild;
}());
exports.OwlChild = OwlChild;
//# sourceMappingURL=owl-child.component.js.map