angular-gallery
Version:
Responsive gallery for Angular with touch screen support.
64 lines • 8.06 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { CarouselComponent } from './carousel.component';
import { Overlay } from './overlay/overlay.service';
import { EventService as OverlayEventService } from './overlay/event.service';
import { defaultProperties } from './default-properties';
var Gallery = /** @class */ (function () {
function Gallery(overlay, overlayEventService) {
this.overlay = overlay;
this.overlayEventService = overlayEventService;
}
Gallery.prototype.load = function (properties) {
properties = this.applyPropertieDefaults(defaultProperties, properties);
this.overlay.load({
id: 'gallery',
mainComponent: CarouselComponent,
width: document.body.clientWidth + 'px',
overlayBackdrop: true,
position: 'fixed',
metadata: {
images: properties.images,
index: properties.index,
width: document.body.clientWidth,
height: window.innerHeight,
objectFit: 'none',
margin: 0,
transitionDuration: properties.transitionDuration,
overflowCellsLimit: 1,
transitionTimingFunction: properties.transitionTimingFunction,
counter: properties.counter,
counterSeparator: properties.counterSeparator,
arrows: properties.arrows,
minSwipeDistance: properties.minSwipeDistance
}
});
};
Gallery.prototype.close = function () {
this.overlayEventService.emitChangeEvent({
type: 'Hide'
});
};
Gallery.prototype.applyPropertieDefaults = function (defaultProperties, properties) {
if (!properties) {
properties = {};
}
for (var propertie in properties) {
if (properties[propertie] === undefined) {
delete properties[propertie];
}
}
this._defaultProperties = Object.assign({}, defaultProperties);
return Object.assign(this._defaultProperties, properties);
};
Gallery.ctorParameters = function () { return [
{ type: Overlay },
{ type: OverlayEventService }
]; };
Gallery = __decorate([
Injectable()
], Gallery);
return Gallery;
}());
export { Gallery };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1nYWxsZXJ5LyIsInNvdXJjZXMiOlsibGliL2dhbGxlcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBa0csTUFBTSxlQUFlLENBQUM7QUFFMUksT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWxELE9BQU8sRUFBQyxZQUFZLElBQUksbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RDtJQUdJLGlCQUNXLE9BQWdCLEVBQ2YsbUJBQXdDO1FBRHpDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDZix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBQUcsQ0FBQztJQUVqRCxzQkFBSSxHQUFYLFVBQVksVUFBNkI7UUFDckMsVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNkLEVBQUUsRUFBRSxTQUFTO1lBQ2IsYUFBYSxFQUFFLGlCQUFpQjtZQUNoQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUMsSUFBSTtZQUNyQyxlQUFlLEVBQUUsSUFBSTtZQUNyQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUN6QixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3ZCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVc7Z0JBQ2hDLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDMUIsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLE1BQU0sRUFBRSxDQUFDO2dCQUNULGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7Z0JBQ2pELGtCQUFrQixFQUFFLENBQUM7Z0JBQ3JCLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyx3QkFBd0I7Z0JBQzdELE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztnQkFDM0IsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtnQkFDN0MsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUN6QixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQ2hEO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLHVCQUFLLEdBQVo7UUFDSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO1lBQ3JDLElBQUksRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHdDQUFzQixHQUF0QixVQUF1QixpQkFBaUIsRUFBRSxVQUFVO1FBQ2hELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ25CO1FBRUQsS0FBSyxJQUFJLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDOUIsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUNyQyxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNoQztTQUNKO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDL0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDOztnQkFqRG1CLE9BQU87Z0JBQ00sbUJBQW1COztJQUwzQyxPQUFPO1FBRG5CLFVBQVUsRUFBRTtPQUNBLE9BQU8sQ0FzRG5CO0lBQUQsY0FBQztDQUFBLEFBdERELElBc0RDO1NBdERZLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVtYmVkZGVkVmlld1JlZiwgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDYXJvdXNlbENvbXBvbmVudH0gZnJvbSAnLi9jYXJvdXNlbC5jb21wb25lbnQnO1xuaW1wb3J0IHtHYWxsZXJ5UHJvcGVydGllc30gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7T3ZlcmxheX0gZnJvbSAnLi9vdmVybGF5L292ZXJsYXkuc2VydmljZSc7XG5pbXBvcnQge092ZXJsYXlQcm9wZXJ0aWVzfSBmcm9tICcuL292ZXJsYXkvaW50ZXJmYWNlcyc7IFxuaW1wb3J0IHtFdmVudFNlcnZpY2UgYXMgT3ZlcmxheUV2ZW50U2VydmljZX0gZnJvbSAnLi9vdmVybGF5L2V2ZW50LnNlcnZpY2UnOyBcbmltcG9ydCB7ZGVmYXVsdFByb3BlcnRpZXN9IGZyb20gJy4vZGVmYXVsdC1wcm9wZXJ0aWVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdhbGxlcnkge1xuICAgIF9kZWZhdWx0UHJvcGVydGllczogT3ZlcmxheVByb3BlcnRpZXM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUV2ZW50U2VydmljZTogT3ZlcmxheUV2ZW50U2VydmljZSkge31cblxuICAgIHB1YmxpYyBsb2FkKHByb3BlcnRpZXM6IEdhbGxlcnlQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHByb3BlcnRpZXMgPSB0aGlzLmFwcGx5UHJvcGVydGllRGVmYXVsdHMoZGVmYXVsdFByb3BlcnRpZXMsIHByb3BlcnRpZXMpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheS5sb2FkKHtcbiAgICAgICAgICAgIGlkOiAnZ2FsbGVyeScsXG4gICAgICAgICAgICBtYWluQ29tcG9uZW50OiBDYXJvdXNlbENvbXBvbmVudCxcbiAgICAgICAgICAgIHdpZHRoOiBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKydweCcsXG4gICAgICAgICAgICBvdmVybGF5QmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW1hZ2VzOiBwcm9wZXJ0aWVzLmltYWdlcyxcbiAgICAgICAgICAgICAgICBpbmRleDogcHJvcGVydGllcy5pbmRleCxcbiAgICAgICAgICAgICAgICB3aWR0aDogZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgICAgICAgICBvYmplY3RGaXQ6ICdub25lJyxcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBwcm9wZXJ0aWVzLnRyYW5zaXRpb25EdXJhdGlvbixcbiAgICAgICAgICAgICAgICBvdmVyZmxvd0NlbGxzTGltaXQ6IDEsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiBwcm9wZXJ0aWVzLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcbiAgICAgICAgICAgICAgICBjb3VudGVyOiBwcm9wZXJ0aWVzLmNvdW50ZXIsXG4gICAgICAgICAgICAgICAgY291bnRlclNlcGFyYXRvcjogcHJvcGVydGllcy5jb3VudGVyU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIGFycm93czogcHJvcGVydGllcy5hcnJvd3MsXG4gICAgICAgICAgICAgICAgbWluU3dpcGVEaXN0YW5jZTogcHJvcGVydGllcy5taW5Td2lwZURpc3RhbmNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5RXZlbnRTZXJ2aWNlLmVtaXRDaGFuZ2VFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiAnSGlkZSdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXBwbHlQcm9wZXJ0aWVEZWZhdWx0cyhkZWZhdWx0UHJvcGVydGllcywgcHJvcGVydGllcykge1xuICAgICAgICBpZiAoIXByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIHByb3BlcnRpZXMgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAodmFyIHByb3BlcnRpZSBpbiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBpZiAocHJvcGVydGllc1twcm9wZXJ0aWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvcGVydGllc1twcm9wZXJ0aWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdFByb3BlcnRpZXMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UHJvcGVydGllcyk7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHRoaXMuX2RlZmF1bHRQcm9wZXJ0aWVzLCBwcm9wZXJ0aWVzKTtcbiAgICB9XG59Il19