@fivethree/core
Version:
Fivethree Core Components
213 lines • 15.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/refresher/refresher-content/refresher-content.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ViewChild, ElementRef, Output, EventEmitter, Renderer2 } from '@angular/core';
import { animate, style, AnimationBuilder } from '@angular/animations';
import { FivSpinner } from '../../spinner/spinner.component';
var FivRefresherContent = /** @class */ (function () {
function FivRefresherContent(element, renderer, builder) {
this.element = element;
this.renderer = renderer;
this.builder = builder;
this._progress = 0;
this.fivComplete = new EventEmitter();
this.fivRefresh = new EventEmitter();
this.fivHidden = new EventEmitter();
this.fivShowed = new EventEmitter();
this.fivProgress = new EventEmitter();
this.visible = false;
}
Object.defineProperty(FivRefresherContent.prototype, "progress", {
get: /**
* @return {?}
*/
function () {
return this._progress;
},
set: /**
* @param {?} progress
* @return {?}
*/
function (progress) {
this._progress = progress;
if (progress < 1) {
this.renderer.setStyle(this.spinnerRef.nativeElement, 'transform', "rotateZ(" + 360 * progress + "deg)");
}
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
FivRefresherContent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
FivRefresherContent.prototype.load = /**
* @return {?}
*/
function () {
this.visible = true;
this.spinner.spin();
this.fivRefresh.emit(this);
};
/**
* @return {?}
*/
FivRefresherContent.prototype.unload = /**
* @return {?}
*/
function () {
this.spinner.stop();
};
/**
* @return {?}
*/
FivRefresherContent.prototype.show = /**
* @return {?}
*/
function () {
var _this = this;
if (!this.visible) {
this.visible = true;
/** @type {?} */
var animation = this.builder.build([
style({ transform: 'scale(0)' }),
animate('0ms ease-out', style({ transform: 'scale(1)' }))
]);
/** @type {?} */
var player_1 = animation.create(this.background.nativeElement);
player_1.play();
player_1.onDone((/**
* @return {?}
*/
function () {
_this.fivShowed.emit(_this);
player_1.destroy();
}));
}
};
/**
* @return {?}
*/
FivRefresherContent.prototype.hide = /**
* @return {?}
*/
function () {
var _this = this;
if (this.visible) {
/** @type {?} */
var transform = "scale(1)";
/** @type {?} */
var animation = this.builder.build([
style({ transform: transform }),
animate('175ms ease-in', style({ transform: "scale(0)" }))
]);
/** @type {?} */
var player_2 = animation.create(this.background.nativeElement);
player_2.play();
player_2.onDone((/**
* @return {?}
*/
function () {
_this.fivHidden.emit(_this);
_this.visible = false;
player_2.destroy();
}));
}
};
/**
* @return {?}
*/
FivRefresherContent.prototype.complete = /**
* @return {?}
*/
function () {
this.unload();
this.fivComplete.emit(this);
};
/**
* @param {?} progress
* @return {?}
*/
FivRefresherContent.prototype.setValue = /**
* @param {?} progress
* @return {?}
*/
function (progress) {
this.spinner.setValue(progress);
};
/**
* @return {?}
*/
FivRefresherContent.prototype.reset = /**
* @return {?}
*/
function () {
this.spinner.setMode('indeterminate');
};
FivRefresherContent.decorators = [
{ type: Component, args: [{
selector: 'fiv-refresher-content',
template: "<div #background class=\"spinner-background\" [ngClass]=\"{'hidden': progress === 0}\">\n <fiv-spinner #spinner (fivProgress)=\"fivProgress.emit($event)\" (fivComplete)=\"complete()\" [circleRadius]=\"8\"\n [diameter]=\"20\" [strokeWidth]=\"2\"></fiv-spinner>\n</div>",
styles: [":host{--fiv-spinner-size:40px;position:absolute;width:var(--fiv-spinner-size);height:var(--fiv-spinner-size);top:calc(-1 * var(--fiv-spinner-size));left:calc(50% - var(--fiv-spinner-size)/ 2);z-index:9}.spinner-background:not(.hidden){box-shadow:0 4px 6px 0 rgba(0,0,0,.14),0 4px 5px rgba(0,0,0,.1)}.spinner-background{position:absolute;width:40px;height:40px;background:var(--fiv-spin-background);border-radius:50%}.spinner-background fiv-spinner{position:absolute;top:10px;left:10px}"]
}] }
];
/** @nocollapse */
FivRefresherContent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: Renderer2 },
{ type: AnimationBuilder }
]; };
FivRefresherContent.propDecorators = {
progress: [{ type: Input }],
fivComplete: [{ type: Output }],
fivRefresh: [{ type: Output }],
fivHidden: [{ type: Output }],
fivShowed: [{ type: Output }],
fivProgress: [{ type: Output }],
spinner: [{ type: ViewChild, args: ['spinner', { static: false },] }],
spinnerRef: [{ type: ViewChild, args: ['spinner', { static: true, read: ElementRef },] }],
background: [{ type: ViewChild, args: ['background', { static: false },] }]
};
return FivRefresherContent;
}());
export { FivRefresherContent };
if (false) {
/** @type {?} */
FivRefresherContent.prototype._progress;
/** @type {?} */
FivRefresherContent.prototype.fivComplete;
/** @type {?} */
FivRefresherContent.prototype.fivRefresh;
/** @type {?} */
FivRefresherContent.prototype.fivHidden;
/** @type {?} */
FivRefresherContent.prototype.fivShowed;
/** @type {?} */
FivRefresherContent.prototype.fivProgress;
/** @type {?} */
FivRefresherContent.prototype.spinner;
/** @type {?} */
FivRefresherContent.prototype.spinnerRef;
/** @type {?} */
FivRefresherContent.prototype.background;
/** @type {?} */
FivRefresherContent.prototype.visible;
/** @type {?} */
FivRefresherContent.prototype.element;
/**
* @type {?}
* @private
*/
FivRefresherContent.prototype.renderer;
/** @type {?} */
FivRefresherContent.prototype.builder;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaGVyLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3JlZnJlc2hlci9yZWZyZXNoZXItY29udGVudC9yZWZyZXNoZXItY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdEO0lBMkNFLDZCQUNTLE9BQW1CLEVBQ2xCLFFBQW1CLEVBQ3BCLE9BQXlCO1FBRnpCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNwQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQXhDbEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQWdCSixnQkFBVyxHQUFzQyxJQUFJLFlBQVksRUFFeEUsQ0FBQztRQUNNLGVBQVUsR0FBc0MsSUFBSSxZQUFZLEVBRXZFLENBQUM7UUFDTSxjQUFTLEdBQXNDLElBQUksWUFBWSxFQUV0RSxDQUFDO1FBQ00sY0FBUyxHQUFzQyxJQUFJLFlBQVksRUFFdEUsQ0FBQztRQUNNLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPekUsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1iLENBQUM7SUF4Q0osc0JBQWEseUNBQVE7Ozs7UUFXckI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsQ0FBQzs7Ozs7UUFiRCxVQUFzQixRQUFRO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxD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LFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxpU0FBaUQ7O2lCQUVsRDs7OztnQkFaQyxVQUFVO2dCQUdWLFNBQVM7Z0JBRWMsZ0JBQWdCOzs7MkJBVXRDLEtBQUs7OEJBZUwsTUFBTTs2QkFHTixNQUFNOzRCQUdOLE1BQU07NEJBR04sTUFBTTs4QkFHTixNQUFNOzBCQUVOLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQUN0QyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzZCQUV2RCxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7SUFxRTVDLDBCQUFDO0NBQUEsQUE1R0QsSUE0R0M7U0F2R1ksbUJBQW1COzs7SUFDOUIsd0NBQWM7O0lBZ0JkLDBDQUVJOztJQUNKLHlDQUVJOztJQUNKLHdDQUVJOztJQUNKLHdDQUVJOztJQUNKLDBDQUF5RTs7SUFFekUsc0NBQTZEOztJQUM3RCx5Q0FDdUI7O0lBQ3ZCLHlDQUFtRTs7SUFFbkUsc0NBQWdCOztJQUdkLHNDQUEwQjs7Ozs7SUFDMUIsdUNBQTJCOztJQUMzQixzQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCBBbmltYXRpb25CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGaXZTcGlubmVyIH0gZnJvbSAnLi4vLi4vc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zpdi1yZWZyZXNoZXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWZyZXNoZXItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZnJlc2hlci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRml2UmVmcmVzaGVyQ29udGVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIF9wcm9ncmVzcyA9IDA7XG4gIEBJbnB1dCgpIHNldCBwcm9ncmVzcyhwcm9ncmVzcykge1xuICAgIHRoaXMuX3Byb2dyZXNzID0gcHJvZ3Jlc3M7XG4gICAgaWYgKHByb2dyZXNzIDwgMSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5zcGlubmVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgICBgcm90YXRlWigkezM2MCAqIHByb2dyZXNzfWRlZylgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldCBwcm9ncmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvZ3Jlc3M7XG4gIH1cblxuICBAT3V0cHV0KCkgZml2Q29tcGxldGU6IEV2ZW50RW1pdHRlcjxGaXZSZWZyZXNoZXJDb250ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgRml2UmVmcmVzaGVyQ29udGVudFxuICA+KCk7XG4gIEBPdXRwdXQoKSBmaXZSZWZyZXNoOiBFdmVudEVtaXR0ZXI8Rml2UmVmcmVzaGVyQ29udGVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEZpdlJlZnJlc2hlckNvbnRlbnRcbiAgPigpO1xuICBAT3V0cHV0KCkgZml2SGlkZGVuOiBFdmVudEVtaXR0ZXI8Rml2UmVmcmVzaGVyQ29udGVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEZpdlJlZnJlc2hlckNvbnRlbnRcbiAgPigpO1xuICBAT3V0cHV0KCkgZml2U2hvd2VkOiBFdmVudEVtaXR0ZXI8Rml2UmVmcmVzaGVyQ29udGVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEZpdlJlZnJlc2hlckNvbnRlbnRcbiAgPigpO1xuICBAT3V0cHV0KCkgZml2UHJvZ3Jlc3M6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc3Bpbm5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBzcGlubmVyOiBGaXZTcGlubmVyO1xuICBAVmlld0NoaWxkKCdzcGlubmVyJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc3Bpbm5lclJlZjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYmFja2dyb3VuZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBiYWNrZ3JvdW5kOiBFbGVtZW50UmVmO1xuXG4gIHZpc2libGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHVibGljIGJ1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBsb2FkKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy5zcGlubmVyLnNwaW4oKTtcbiAgICB0aGlzLmZpdlJlZnJlc2guZW1pdCh0aGlzKTtcbiAgfVxuXG4gIHVubG9hZCgpIHtcbiAgICB0aGlzLnNwaW5uZXIuc3RvcCgpO1xuICB9XG5cbiAgc2hvdygpIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGFuaW1hdGlvbiA9IHRoaXMuYnVpbGRlci5idWlsZChbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMCknIH0pLFxuICAgICAgICBhbmltYXRlKCcwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJyB9KSlcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBwbGF5ZXIgPSBhbmltYXRpb24uY3JlYXRlKHRoaXMuYmFja2dyb3VuZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHBsYXllci5wbGF5KCk7XG4gICAgICBwbGF5ZXIub25Eb25lKCgpID0+IHtcbiAgICAgICAgdGhpcy5maXZTaG93ZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgcGxheWVyLmRlc3Ryb3koKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgY29uc3QgdHJhbnNmb3JtID0gYHNjYWxlKDEpYDtcbiAgICAgIGNvbnN0IGFuaW1hdGlvbiA9IHRoaXMuYnVpbGRlci5idWlsZChbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiB0cmFuc2Zvcm0gfSksXG4gICAgICAgIGFuaW1hdGUoJzE3NW1zIGVhc2UtaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogYHNjYWxlKDApYCB9KSlcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBwbGF5ZXIgPSBhbmltYXRpb24uY3JlYXRlKHRoaXMuYmFja2dyb3VuZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHBsYXllci5wbGF5KCk7XG4gICAgICBwbGF5ZXIub25Eb25lKCgpID0+IHtcbiAgICAgICAgdGhpcy5maXZIaWRkZW4uZW1pdCh0aGlzKTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHBsYXllci5kZXN0cm95KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICB0aGlzLnVubG9hZCgpO1xuICAgIHRoaXMuZml2Q29tcGxldGUuZW1pdCh0aGlzKTtcbiAgfVxuXG4gIHNldFZhbHVlKHByb2dyZXNzOiBudW1iZXIpIHtcbiAgICB0aGlzLnNwaW5uZXIuc2V0VmFsdWUocHJvZ3Jlc3MpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5zcGlubmVyLnNldE1vZGUoJ2luZGV0ZXJtaW5hdGUnKTtcbiAgfVxufVxuIl19