com.phloxui
Version:
PhloxUI Ng2+ Framework
764 lines (763 loc) • 88.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Directive, ElementRef, Input, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
import { Option } from '../decorator/Option.decorator';
import { I18N } from '../decorator/I18N.decorator';
import { AbstractI18NApplicable } from '../share/AbstractI18NApplicable';
import { MaterialIconLoader } from '../theme/material/component/MaterialIconLoader.component';
import { DEFAULT_SCROLL_LOAD_OFF_SET, DEFAULT_SCROLL_LOAD_COUNT, DEFAULT_SCROLL_LOAD_LABEL, DEFAULT_SCROLL_LOAD_DELAY, DEFAULT_SCROLL_LOAD_RELOAD_LABEL, DEFAULT_SCROLL_LOAD_COMPLETE_LABEL, DEFAULT_SCROLL_LOAD_AUTO, DEFAULT_SCROLL_LOAD_RELOAD_AUTO, DEFAULT_SCROLL_LOAD_RELOAD_DISABLED, DEFAULT_SCROLL_LOAD_APPEND_CLASS_WRAPPER_ICON_RELOAD } from '../share/Constants';
var /** @type {?} */ NAME = 'scroll-load';
var /** @type {?} */ SETTIMEOUT_HIDE_LOAD_MORE = 10;
var /** @type {?} */ SETTIMEOUT_CHECK_NONE_SCROLL_LOAD = 20;
var /** @type {?} */ SETTIMEOUT_LOAD_NEXT_RELOAD_AND_SHOW_HIDE_LOADMORE = 100;
var /** @type {?} */ SETTIMEOUT_FADEOUT_REMOVE_CLASS_SHOW_WRAPPER_ICON_RELOAD = 200;
var /** @type {?} */ SETTIMEOUT_ON_SHOW_RELOADER = SETTIMEOUT_FADEOUT_REMOVE_CLASS_SHOW_WRAPPER_ICON_RELOAD;
var /** @type {?} */ SETTIMEOUT_FADEOUT_SHOW_LOAD_MORE = SETTIMEOUT_FADEOUT_REMOVE_CLASS_SHOW_WRAPPER_ICON_RELOAD;
var /** @type {?} */ SETTIMEOUT_MOUSE_OUT_HOVER_HIDE_RELOAD_ICON = 1000;
var /** @type {?} */ SETTIMEOUT_SHOW_ICON_RELOADING_AND_HIDE_RELOAD_ICON = 1000;
var /** @type {?} */ SETTIMEOUT_MOUSE_MOVE_HIDE_RELOAD_ICON = 3000;
var ScrollLoad = /** @class */ (function (_super) {
tslib_1.__extends(ScrollLoad, _super);
function ScrollLoad(containerRef, componentFactoryResolver, elementRef) {
var _this = _super.call(this) || this;
_this.containerRef = containerRef;
_this.componentFactoryResolver = componentFactoryResolver;
_this.onShowReloader = false;
_this.elementRef = elementRef;
return _this;
}
/**
* @return {?}
*/
ScrollLoad.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
if (this.options !== null) {
if (typeof this.options === 'object') {
this.setOptions(this.options);
}
else if (typeof this.options === 'function' && !this.scrollLoadFunc) {
this.scrollLoadFunc = this.options;
}
}
if (this.scrollLoadOffset === undefined || this.scrollLoadOffset === null || typeof this.scrollLoadOffset !== 'number') {
this.scrollLoadOffset = DEFAULT_SCROLL_LOAD_OFF_SET;
}
if (this.scrollLoadCount === undefined || this.scrollLoadCount === null || typeof this.scrollLoadCount !== 'number') {
this.scrollLoadCount = DEFAULT_SCROLL_LOAD_COUNT;
}
if (this.scrollLoadInitCount === undefined || this.scrollLoadInitCount === null || typeof this.scrollLoadInitCount !== 'number') {
this.scrollLoadInitCount = this.scrollLoadCount;
}
if (this.scrollLoadIcon === undefined || this.scrollLoadIcon === null || typeof this.scrollLoadIcon !== 'string') {
this.scrollLoadIcon = MaterialIconLoader.BALL_PULSE_SYNC;
}
if (this.scrollLoadReloadIcon === undefined || this.scrollLoadReloadIcon === null || typeof this.scrollLoadReloadIcon !== 'string') {
this.scrollLoadReloadIcon = MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE;
}
if (this.scrollLoadLabel === undefined || this.scrollLoadLabel === null || typeof this.scrollLoadLabel !== 'string') {
this.scrollLoadLabel = DEFAULT_SCROLL_LOAD_LABEL;
}
if (this.scrollLoadReloadLabel === undefined || this.scrollLoadReloadLabel === null || typeof this.scrollLoadReloadLabel !== 'string') {
this.scrollLoadReloadLabel = DEFAULT_SCROLL_LOAD_RELOAD_LABEL;
}
if (this.scrollLoadCompleteLabel === undefined || this.scrollLoadCompleteLabel === null || typeof this.scrollLoadCompleteLabel !== 'string') {
this.scrollLoadCompleteLabel = DEFAULT_SCROLL_LOAD_COMPLETE_LABEL;
}
if (this.scrollLoadAuto === undefined || this.scrollLoadAuto === null || typeof this.scrollLoadAuto !== 'boolean') {
this.scrollLoadAuto = DEFAULT_SCROLL_LOAD_AUTO;
}
if (this.scrollLoadReloadAuto === undefined || this.scrollLoadReloadAuto === null || typeof this.scrollLoadReloadAuto !== 'boolean') {
this.scrollLoadReloadAuto = DEFAULT_SCROLL_LOAD_RELOAD_AUTO;
}
if (this.scrollLoadReloadDisabled === undefined || this.scrollLoadReloadDisabled === null || typeof this.scrollLoadReloadDisabled !== 'boolean') {
this.scrollLoadReloadDisabled = DEFAULT_SCROLL_LOAD_RELOAD_DISABLED;
}
if (this.scrollLoadDelay === undefined || this.scrollLoadDelay === null || typeof this.scrollLoadDelay !== 'number') {
this.scrollLoadDelay = DEFAULT_SCROLL_LOAD_DELAY;
}
$(this.elementRef.nativeElement).addClass('phx-scroll-load');
$(this.elementRef.nativeElement).append(DEFAULT_SCROLL_LOAD_APPEND_CLASS_WRAPPER_ICON_RELOAD);
if (!this.scrollLoadReloadAuto && !this.scrollLoadReloadDisabled) {
this.counter = 0;
this.initManualReloadEvents();
}
this.reset();
this.renderIconLoader();
this.renderReloadIconLoader();
this.hideLoadIcon();
$(this.elementRef.nativeElement).find(".icon-reloading").hide();
this.refreshIconLoaders();
this.initScrollEvents();
this.loadNext().then(function () {
_this.checkNoneScrollLoad();
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.ngOnChanges = /**
* @return {?}
*/
function () {
if (this.iconLoader !== undefined && this.reloadIconLoader !== undefined) {
this.refreshIconLoaders();
if (!this.scrollLoadReloadAuto && !this.scrollLoadReloadDisabled) {
if ($(this.elementRef.nativeElement).find(".reloader-manual").length === 0) {
this.initManualReloadEvents();
}
}
else if (this.scrollLoadReloadAuto && !this.scrollLoadReloadDisabled) {
if ($(this.elementRef.nativeElement).find(".reloader-manual").length > 0) {
$(this.elementRef.nativeElement).find(".reloader-manual").removeClass("show-reloader-manual");
}
}
$(this.elementRef.nativeElement).scrollTop(1);
this.reload();
}
};
/**
* @return {?}
*/
ScrollLoad.prototype.refreshIconLoaders = /**
* @return {?}
*/
function () {
this.iconLoader['iconName'] = this.scrollLoadIcon;
this.reloadIconLoader['iconName'] = this.scrollLoadReloadIcon;
};
/**
* @return {?}
*/
ScrollLoad.prototype.renderIconLoader = /**
* @return {?}
*/
function () {
var /** @type {?} */ factory = this.componentFactoryResolver.resolveComponentFactory(MaterialIconLoader);
var /** @type {?} */ componentRef = this.containerRef.createComponent(factory);
var /** @type {?} */ componentEl = componentRef.location;
$(componentEl.nativeElement).detach().appendTo(this.elementRef.nativeElement);
$(componentEl.nativeElement).addClass('icon-loading-next');
this.iconLoader = componentRef.instance;
this.iconLoader.setLoaderClass('color-icon-load-next');
this.iconLoader.start();
};
/**
* @return {?}
*/
ScrollLoad.prototype.renderReloadIconLoader = /**
* @return {?}
*/
function () {
var /** @type {?} */ factory = this.componentFactoryResolver.resolveComponentFactory(MaterialIconLoader);
var /** @type {?} */ componentRef = this.containerRef.createComponent(factory);
var /** @type {?} */ componentEl = componentRef.location;
$(componentEl.nativeElement).detach().appendTo($(this.elementRef.nativeElement).find(".wrapper-icon-reload"));
$(componentEl.nativeElement).addClass('icon-reloading');
this.reloadIconLoader = componentRef.instance;
this.reloadIconLoader.setLoaderClass('color-icon-reload');
this.reloadIconLoader.start();
};
/**
* @return {?}
*/
ScrollLoad.prototype.initManualReloadEvents = /**
* @return {?}
*/
function () {
var _this = this;
var /** @type {?} */ manualReload = document.createElement("div");
manualReload.setAttribute("class", 'reloader-manual show-reloader-manual');
$(this.elementRef.nativeElement).append(manualReload);
$(manualReload)
.mouseout(function () {
_this.counter = 0;
_this.hideReloadIconTimeout = setTimeout(function () {
_this.counter = 0;
_this.hideReloadIcon();
}, SETTIMEOUT_MOUSE_MOVE_HIDE_RELOAD_ICON);
})
.mousemove(function () {
if (_this.onLoading && _this.onReload) {
_this.counter++;
if (_this.counter === 10) {
_this.showReloadIcon();
_this.onShowReloader = true;
setTimeout(function () {
_this.onShowReloader = false;
}, SETTIMEOUT_ON_SHOW_RELOADER);
}
}
});
var /** @type {?} */ iconReload = $(this.elementRef.nativeElement).find(".icon-reloader");
var /** @type {?} */ wrapperIconReload = $(this.elementRef.nativeElement).find(".wrapper-icon-reload");
iconReload.hover(function () {
if (!_this.onShowReloader) {
clearTimeout(_this.hideReloadIconTimeout);
wrapperIconReload.append("<span class='below-reload'>" + _this.scrollLoadReloadLabel + "</span>");
}
}, function () {
wrapperIconReload.find(".below-reload").remove();
_this.hideReloadIconTimeout = setTimeout(function () {
_this.counter = 0;
_this.hideReloadIcon();
}, SETTIMEOUT_MOUSE_OUT_HOVER_HIDE_RELOAD_ICON);
});
$(this.elementRef.nativeElement).scroll(function () {
_this.hideReloadIcon();
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.initScrollEvents = /**
* @return {?}
*/
function () {
var _this = this;
$(this.elementRef.nativeElement).scroll(function () {
var /** @type {?} */ ele = _this.elementRef.nativeElement;
var /** @type {?} */ scrollHeight = ele.scrollHeight;
var /** @type {?} */ clientHeight = ele.clientHeight;
var /** @type {?} */ scrollTop = clientHeight + ele.scrollTop;
if (scrollHeight !== clientHeight && _this.scrollLoadAuto) {
if (((scrollHeight - (scrollTop)) < 15) && _this.onLoading && _this.onReload && _this.onLoadAuto) {
_this.showLoadIcon();
_this.onLoading = false;
setTimeout(function () {
_this.loadNext().then(function () {
_this.checkNoneScrollLoad();
});
}, SETTIMEOUT_LOAD_NEXT_RELOAD_AND_SHOW_HIDE_LOADMORE);
}
}
if (!_this.scrollLoadReloadDisabled && _this.scrollLoadReloadAuto) {
if (ele.scrollTop === 0 && _this.onLoading && _this.onReload && _this.cursor !== 0) {
_this.callDelayEvents();
ele.setAttribute('style', 'padding-top: 50px;');
$(_this.elementRef.nativeElement).scrollTop(50);
_this.onReload = false;
$(_this.elementRef.nativeElement).scrollTop(0);
setTimeout(function () {
_this.reload().then(function () {
_this.checkNoneScrollLoad(true);
});
_this.showReloadIcon();
ele.setAttribute('style', 'padding-top: unset;');
}, SETTIMEOUT_LOAD_NEXT_RELOAD_AND_SHOW_HIDE_LOADMORE);
}
}
else if (!_this.scrollLoadReloadDisabled && !_this.scrollLoadReloadAuto) {
if (ele.scrollTop <= 10) {
$(_this.elementRef.nativeElement).find(".reloader-manual").addClass('show-reloader-manual');
}
else {
$(_this.elementRef.nativeElement).find(".reloader-manual").removeClass("show-reloader-manual");
}
}
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.showReloadIcon = /**
* @return {?}
*/
function () {
var _this = this;
$(this.elementRef.nativeElement).find(".wrapper-icon-reload").show();
$(this.elementRef.nativeElement).find(".wrapper-icon-reload").addClass('show-wrapper-icon-reload');
var /** @type {?} */ loade2 = $(this.elementRef.nativeElement).find(".icon-reloader");
loade2.click(function () {
_this.callDelayEvents();
if (!_this.scrollLoadReloadAuto && _this.onLoading && _this.onReload) {
_this.onReload = false;
_this.reload().then(function () {
_this.checkNoneScrollLoad(true);
});
}
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.hideReloadIcon = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
try {
$(_this.elementRef.nativeElement).find(".wrapper-icon-reload").fadeOut(SETTIMEOUT_FADEOUT_REMOVE_CLASS_SHOW_WRAPPER_ICON_RELOAD, function () {
$(this).removeClass("show-wrapper-icon-reload");
resolve();
});
}
catch (/** @type {?} */ err) {
reject(err);
}
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.showLoadIcon = /**
* @return {?}
*/
function () {
$(this.elementRef.nativeElement).find(".icon-loading-next").show();
};
/**
* @return {?}
*/
ScrollLoad.prototype.hideLoadIcon = /**
* @return {?}
*/
function () {
$(this.elementRef.nativeElement).find(".icon-loading-next").fadeOut(SETTIMEOUT_FADEOUT_REMOVE_CLASS_SHOW_WRAPPER_ICON_RELOAD);
};
/**
* @return {?}
*/
ScrollLoad.prototype.showLoadMore = /**
* @return {?}
*/
function () {
var _this = this;
var /** @type {?} */ loadMore = document.createElement("div");
loadMore.innerHTML = this.scrollLoadLabel;
loadMore.setAttribute("class", 'loadMore');
if (this.completeInformation) {
loadMore.innerHTML = this.scrollLoadCompleteLabel;
}
else {
loadMore.innerHTML = this.scrollLoadLabel;
}
$(this.elementRef.nativeElement).append(loadMore);
$(loadMore).click(function () {
_this.callDelayEvents();
if (_this.onLoading && _this.onReload) {
_this.onLoading = false;
_this.hideLoadMore();
_this.showLoadIcon();
setTimeout(function () {
_this.loadNext().then(function () {
_this.checkNoneScrollLoad();
});
}, SETTIMEOUT_LOAD_NEXT_RELOAD_AND_SHOW_HIDE_LOADMORE);
}
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.hideLoadMore = /**
* @return {?}
*/
function () {
$(this.elementRef.nativeElement).find(".loadMore").fadeOut(SETTIMEOUT_HIDE_LOAD_MORE, function () {
$(this).remove();
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.callDelayEvents = /**
* @return {?}
*/
function () {
var /** @type {?} */ curTime = Date.now();
if (curTime - this.lastScrollTime <= /*delay*/ /*delay*/ this.scrollLoadDelay) {
// Do nothing within delay.
return;
}
this.lastScrollTime = curTime;
};
/**
* @return {?}
*/
ScrollLoad.prototype.doScrollTopReLoad = /**
* @return {?}
*/
function () {
if (this.scrollLoadFunc === null || typeof this.scrollLoadFunc !== 'function') {
return Promise.resolve(0);
}
var /** @type {?} */ resultProm = null;
try {
this.reset(true);
var /** @type {?} */ result = this.scrollLoadFunc(this.cursor, this.scrollLoadInitCount);
if (result !== null && result instanceof Promise) {
resultProm = result;
}
else {
resultProm = Promise.resolve(result);
}
}
catch (/** @type {?} */ e) {
return Promise.reject(e);
}
return resultProm;
};
/**
* @return {?}
*/
ScrollLoad.prototype.doScrollLoad = /**
* @return {?}
*/
function () {
if (this.scrollLoadFunc === null || typeof this.scrollLoadFunc !== 'function') {
return Promise.resolve(0);
}
var /** @type {?} */ resultProm = null;
try {
var /** @type {?} */ result = void 0;
if (this.cursor === 0) {
result = this.scrollLoadFunc(this.cursor, this.scrollLoadInitCount + this.cursor);
}
else {
result = this.scrollLoadFunc(this.cursor, this.scrollLoadCount + this.cursor);
}
if (result !== null && result instanceof Promise) {
resultProm = result;
}
else {
resultProm = Promise.resolve(result);
}
}
catch (/** @type {?} */ e) {
return Promise.reject(e);
}
return resultProm;
};
/**
* @param {?=} reload
* @return {?}
*/
ScrollLoad.prototype.reset = /**
* @param {?=} reload
* @return {?}
*/
function (reload) {
var _this = this;
return new Promise(function (resolve, reject) {
try {
_this.onLoading = true;
_this.onLoadAuto = true;
_this.completeInformation = false;
_this.onReload = true;
_this.cursor = 0;
if (reload) {
_this.onReload = false;
_this.lastScrollTime = 0;
}
else {
$(_this.elementRef.nativeElement).scrollTop(1);
}
var /** @type {?} */ ele = $(_this.elementRef.nativeElement);
if (ele.children.length !== 0) {
var /** @type {?} */ loadMore = ele.find(".loadMore");
if (loadMore.length > 0) {
_this.hideLoadMore();
}
}
if (!_this.scrollLoadAuto) {
_this.showLoadMore();
}
resolve();
}
catch (/** @type {?} */ err) {
reject(err);
}
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.reload = /**
* @return {?}
*/
function () {
var _this = this;
$(this.elementRef.nativeElement).find(".icon-reloader").hide();
$(this.elementRef.nativeElement).find(".icon-reloading").show();
return this.doScrollTopReLoad().then(function (result) {
var /** @type {?} */ rowCount = 0;
if (result === null || result === undefined) {
rowCount = 0;
}
else if (typeof result === 'number') {
rowCount = result;
}
else if (Array.isArray(result)) {
rowCount = result.length;
}
else {
rowCount = 1;
}
_this.onReload = true;
setTimeout(function () {
$(_this.elementRef.nativeElement).find(".icon-reloading").hide();
_this.hideReloadIcon().then(function () {
$(_this.elementRef.nativeElement).find(".icon-reloader").show();
});
}, SETTIMEOUT_SHOW_ICON_RELOADING_AND_HIDE_RELOAD_ICON);
_this.cursor += rowCount;
return result;
});
};
/**
* @return {?}
*/
ScrollLoad.prototype.loadNext = /**
* @return {?}
*/
function () {
var _this = this;
if (this.scrollLoadAuto) {
if (this.completeInformation) {
this.hideLoadMore();
}
}
else {
this.hideLoadMore();
}
return this.doScrollLoad().then(function (result) {
var /** @type {?} */ rowCount = 0;
if (result === null || result === undefined) {
rowCount = 0;
}
else if (typeof result === 'number') {
rowCount = result;
}
else if (Array.isArray(result)) {
rowCount = result.length;
}
else {
rowCount = 1;
}
if (rowCount < _this.scrollLoadCount) {
if (_this.scrollLoadAuto) {
$(_this.elementRef.nativeElement)[0].setAttribute('style', "padding-bottom: 0px;");
}
_this.hideLoadIcon();
_this.completeInformation = true;
setTimeout(function () {
_this.hideLoadMore();
_this.showLoadMore();
}, SETTIMEOUT_FADEOUT_SHOW_LOAD_MORE);
_this.onLoadAuto = false;
}
else {
_this.hideLoadIcon();
_this.completeInformation = false;
_this.onLoadAuto = true;
if (_this.scrollLoadAuto) {
$(_this.elementRef.nativeElement)[0].setAttribute('style', "padding-bottom: " + _this.scrollLoadOffset + "px;");
}
}
_this.onLoading = true;
if (!_this.scrollLoadAuto && _this.onLoading && !_this.completeInformation) {
setTimeout(function () {
_this.showLoadMore();
}, SETTIMEOUT_FADEOUT_SHOW_LOAD_MORE);
}
_this.cursor += rowCount;
return result;
});
};
/**
* @param {?=} reload
* @return {?}
*/
ScrollLoad.prototype.checkNoneScrollLoad = /**
* @param {?=} reload
* @return {?}
*/
function (reload) {
var _this = this;
setTimeout(function () {
if (_this.scrollLoadAuto && !_this.completeInformation) {
_this.completeInformation = true;
_this.showLoadMore();
var /** @type {?} */ ele = _this.elementRef.nativeElement;
var /** @type {?} */ scrollHeight = ele.scrollHeight;
var /** @type {?} */ clientHeight = ele.clientHeight;
var /** @type {?} */ loadMore = $(_this.elementRef.nativeElement).find(".loadMore");
if (reload && _this.cursor < _this.scrollLoadInitCount) {
for (var /** @type {?} */ index = 0; index < loadMore.length; index++) {
loadMore[index].innerHTML = _this.scrollLoadCompleteLabel;
}
}
else {
for (var /** @type {?} */ index = 0; index < loadMore.length; index++) {
loadMore[index].innerHTML = _this.scrollLoadLabel;
}
}
if ((scrollHeight - clientHeight) > (_this.scrollLoadOffset / 2)) {
_this.hideLoadMore();
}
}
}, SETTIMEOUT_CHECK_NONE_SCROLL_LOAD);
};
ScrollLoad.NAME = NAME;
ScrollLoad.decorators = [
{ type: Directive, args: [{
selector: '[phxScrollLoad]'
},] },
];
/** @nocollapse */
ScrollLoad.ctorParameters = function () { return [
{ type: ViewContainerRef, },
{ type: ComponentFactoryResolver, },
{ type: ElementRef, },
]; };
ScrollLoad.propDecorators = {
"options": [{ type: Input, args: ['phxScrollLoad',] },],
"scrollLoadFunc": [{ type: Input, args: ['scrollLoadHandler',] },],
"scrollLoadOffset": [{ type: Input, args: ['scrollLoadOffset',] },],
"scrollLoadCount": [{ type: Input, args: ['scrollLoadCount',] },],
"scrollLoadInitCount": [{ type: Input, args: ['scrollLoadInitCount',] },],
"scrollLoadIcon": [{ type: Input, args: ['scrollLoadIcon',] },],
"scrollLoadReloadIcon": [{ type: Input, args: ['scrollLoadReloadIcon',] },],
"scrollLoadLabel": [{ type: Input, args: ['scrollLoadLabel',] },],
"scrollLoadReloadLabel": [{ type: Input, args: ['scrollLoadReloadLabel',] },],
"scrollLoadCompleteLabel": [{ type: Input, args: ['scrollLoadCompleteLabel',] },],
"scrollLoadAuto": [{ type: Input, args: ['scrollLoadAuto',] },],
"scrollLoadReloadAuto": [{ type: Input, args: ['scrollLoadReloadAuto',] },],
"scrollLoadReloadDisabled": [{ type: Input, args: ['scrollLoadReloadDisabled',] },],
"scrollLoadDelay": [{ type: Input, args: ['scrollLoadDelay',] },],
};
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", Function)
], ScrollLoad.prototype, "scrollLoadFunc", void 0);
tslib_1.__decorate([
Option('offset'),
tslib_1.__metadata("design:type", Number)
], ScrollLoad.prototype, "scrollLoadOffset", void 0);
tslib_1.__decorate([
Option('count'),
tslib_1.__metadata("design:type", Number)
], ScrollLoad.prototype, "scrollLoadCount", void 0);
tslib_1.__decorate([
Option('initCount'),
tslib_1.__metadata("design:type", Number)
], ScrollLoad.prototype, "scrollLoadInitCount", void 0);
tslib_1.__decorate([
Option('loadIcon'),
tslib_1.__metadata("design:type", String)
], ScrollLoad.prototype, "scrollLoadIcon", void 0);
tslib_1.__decorate([
Option('loadReloadIcon'),
tslib_1.__metadata("design:type", String)
], ScrollLoad.prototype, "scrollLoadReloadIcon", void 0);
tslib_1.__decorate([
I18N('load'),
Option('loadLabel'),
tslib_1.__metadata("design:type", String)
], ScrollLoad.prototype, "scrollLoadLabel", void 0);
tslib_1.__decorate([
I18N('reload'),
Option('reloadLabel'),
tslib_1.__metadata("design:type", String)
], ScrollLoad.prototype, "scrollLoadReloadLabel", void 0);
tslib_1.__decorate([
I18N('complete'),
Option('completeLabel'),
tslib_1.__metadata("design:type", String)
], ScrollLoad.prototype, "scrollLoadCompleteLabel", void 0);
tslib_1.__decorate([
Option('loadAuto'),
tslib_1.__metadata("design:type", Boolean)
], ScrollLoad.prototype, "scrollLoadAuto", void 0);
tslib_1.__decorate([
Option('reloadAuto'),
tslib_1.__metadata("design:type", Boolean)
], ScrollLoad.prototype, "scrollLoadReloadAuto", void 0);
tslib_1.__decorate([
Option('reloadDisabled'),
tslib_1.__metadata("design:type", Boolean)
], ScrollLoad.prototype, "scrollLoadReloadDisabled", void 0);
tslib_1.__decorate([
Option('delay'),
tslib_1.__metadata("design:type", Number)
], ScrollLoad.prototype, "scrollLoadDelay", void 0);
return ScrollLoad;
}(AbstractI18NApplicable));
export { ScrollLoad };
function ScrollLoad_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ScrollLoad.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ScrollLoad.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
ScrollLoad.propDecorators;
/** @type {?} */
ScrollLoad.NAME;
/** @type {?} */
ScrollLoad.prototype.options;
/** @type {?} */
ScrollLoad.prototype.scrollLoadFunc;
/** @type {?} */
ScrollLoad.prototype.scrollLoadOffset;
/** @type {?} */
ScrollLoad.prototype.scrollLoadCount;
/** @type {?} */
ScrollLoad.prototype.scrollLoadInitCount;
/** @type {?} */
ScrollLoad.prototype.scrollLoadIcon;
/** @type {?} */
ScrollLoad.prototype.scrollLoadReloadIcon;
/** @type {?} */
ScrollLoad.prototype.scrollLoadLabel;
/** @type {?} */
ScrollLoad.prototype.scrollLoadReloadLabel;
/** @type {?} */
ScrollLoad.prototype.scrollLoadCompleteLabel;
/** @type {?} */
ScrollLoad.prototype.scrollLoadAuto;
/** @type {?} */
ScrollLoad.prototype.scrollLoadReloadAuto;
/** @type {?} */
ScrollLoad.prototype.scrollLoadReloadDisabled;
/** @type {?} */
ScrollLoad.prototype.scrollLoadDelay;
/** @type {?} */
ScrollLoad.prototype.elementRef;
/** @type {?} */
ScrollLoad.prototype.onReload;
/** @type {?} */
ScrollLoad.prototype.onLoading;
/** @type {?} */
ScrollLoad.prototype.onLoadAuto;
/** @type {?} */
ScrollLoad.prototype.completeInformation;
/** @type {?} */
ScrollLoad.prototype.cursor;
/** @type {?} */
ScrollLoad.prototype.counter;
/** @type {?} */
ScrollLoad.prototype.hideReloadIconTimeout;
/** @type {?} */
ScrollLoad.prototype.lastScrollTime;
/** @type {?} */
ScrollLoad.prototype.onShowReloader;
/** @type {?} */
ScrollLoad.prototype.componentFactoryResolver;
/** @type {?} */
ScrollLoad.prototype.containerRef;
/** @type {?} */
ScrollLoad.prototype.iconLoader;
/** @type {?} */
ScrollLoad.prototype.reloadIconLoader;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nyb2xsTG9hZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmUvU2Nyb2xsTG9hZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFLGtDQUFrQyxFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFFLG1DQUFtQyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOVcscUJBQU0sSUFBSSxHQUFXLGFBQWEsQ0FBQztBQUNuQyxxQkFBTSx5QkFBeUIsR0FBVyxFQUFFLENBQUM7QUFDN0MscUJBQU0saUNBQWlDLEdBQVcsRUFBRSxDQUFDO0FBQ3JELHFCQUFNLGtEQUFrRCxHQUFXLEdBQUcsQ0FBQztBQUN2RSxxQkFBTSx3REFBd0QsR0FBVyxHQUFHLENBQUM7QUFDN0UscUJBQU0sMkJBQTJCLEdBQVcsd0RBQXdELENBQUM7QUFDckcscUJBQU0saUNBQWlDLEdBQVcsd0RBQXdELENBQUM7QUFDM0cscUJBQU0sMkNBQTJDLEdBQVcsSUFBSSxDQUFDO0FBQ2pFLHFCQUFNLG1EQUFtRCxHQUFXLElBQUksQ0FBQztBQUN6RSxxQkFBTSxzQ0FBc0Ms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