@vicoders/angular
Version:
- [Vicoders Angular Common Module](#vicoders-angular-common-module) - [Install](#install) - [How to use](#how-to-use) - [Pipes](#pipes) - [hasItem](#hasitem) - [isArray](#isarray) - [length](#length) - [orderBy](#orderby)
116 lines • 9.38 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Router, ActivatedRoute, NavigationEnd } from '@angular/router';
import { Component, Input } from '@angular/core';
import * as _ from 'lodash';
var PerPageComponent = /** @class */ (function () {
function PerPageComponent(route, activatedRoute) {
var _this = this;
this.route = route;
this.activatedRoute = activatedRoute;
this.limits = [5, 10, 20, 100];
this.perPage = 20;
this.navigationSubscription = this.route.events.subscribe(function (e) {
if (e instanceof NavigationEnd) {
/** @type {?} */
var name_1 = _this.name || 'per_page';
if (!_.isUndefined(_this.activatedRoute.snapshot.queryParams[name_1])) {
// tslint:disable-next-line:radix
_this.perPage = parseInt(_this.activatedRoute.snapshot.queryParams[name_1]);
if (!_.includes(_this.limits, _this.perPage)) {
_this.limits.push(_this.perPage);
}
else {
_this.limits = [5, 10, 20, 100];
}
}
}
});
}
/**
* @return {?}
*/
PerPageComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
PerPageComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
if (!_.isUndefined(this.navigationSubscription)) {
this.navigationSubscription.unsubscribe();
}
};
/**
* @return {?}
*/
PerPageComponent.prototype.updateLimit = /**
* @return {?}
*/
function () {
/** @type {?} */
var name = this.name || 'per_page';
/** @type {?} */
var page = this.page || 'page';
/** @type {?} */
var url = window.location.pathname;
/** @type {?} */
var queryParams = this.activatedRoute.snapshot.queryParams;
/** @type {?} */
var data = {};
data[name] = this.perPage;
data[page] = 1;
queryParams = _.assign({}, queryParams, data);
/** @type {?} */
var params = _.assign({}, this.activatedRoute.snapshot.params, { queryParams: queryParams });
this.route.navigate([url], params);
};
PerPageComponent.decorators = [
{ type: Component, args: [{
// tslint:disable-next-line:component-selector
selector: 'per-page',
template: "<label for=\"\">Show</label>\n<select class=\"form-control input-sm\" name=\"perPage\" [(ngModel)]=\"perPage\" (change)=\"updateLimit()\">\n <option [ngValue]=\"i\" *ngFor=\"let i of limits\">{{ i }}</option>\n</select>\n",
styles: [""]
}] }
];
PerPageComponent.ctorParameters = function () { return [
{ type: Router },
{ type: ActivatedRoute }
]; };
PerPageComponent.propDecorators = {
perPage: [{ type: Input }],
name: [{ type: Input }],
page: [{ type: Input }]
};
return PerPageComponent;
}());
export { PerPageComponent };
if (false) {
/** @type {?} */
PerPageComponent.prototype.navigationSubscription;
/** @type {?} */
PerPageComponent.prototype.limits;
/** @type {?} */
PerPageComponent.prototype.perPage;
/** @type {?} */
PerPageComponent.prototype.name;
/** @type {?} */
PerPageComponent.prototype.page;
/**
* @type {?}
* @private
*/
PerPageComponent.prototype.route;
/**
* @type {?}
* @private
*/
PerPageComponent.prototype.activatedRoute;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZpY29kZXJzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9wZXItcGFnZS9wZXItcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCO0lBYUUsMEJBQW9CLEtBQWEsRUFBVSxjQUE4QjtRQUF6RSxpQkFlQztRQWZtQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTGxFLFdBQU0sR0FBYSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFDLENBQU07WUFDL0QsSUFBSSxDQUFDLFlBQVksYUFBYSxFQUFFOztvQkFDeEIsTUFBSSxHQUFHLEtBQUksQ0FBQyxJQUFJLElBQUksVUFBVTtnQkFDcEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ2xFLGlDQUFpQztvQkFDakMsS0FBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQUksQ0FBQyxDQUFDLENBQUM7b0JBQ3hFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxQyxLQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQ2hDO3lCQUFNO3dCQUNMLEtBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDaEM7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELG1DQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7SUFDYixzQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDM0M7SUFDSCxDQUFDOzs7O0lBRUQsc0NBQVc7OztJQUFYOztZQUNRLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVU7O1lBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07O1lBQzFCLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVE7O1lBQ2hDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXOztZQUNwRCxJQUFJLEdBQVEsRUFBRTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFDeEMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLFdBQVcsYUFBQSxFQUFFLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDOztnQkFoREYsU0FBUyxTQUFDOztvQkFFVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsME9BQXdDOztpQkFFekM7OztnQkFWUSxNQUFNO2dCQUFFLGNBQWM7OzswQkFjNUIsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7O0lBc0NSLHVCQUFDO0NBQUEsQUFqREQsSUFpREM7U0EzQ1ksZ0JBQWdCOzs7SUFDM0Isa0RBQXFDOztJQUNyQyxrQ0FBMkM7O0lBQzNDLG1DQUErQjs7SUFDL0IsZ0NBQW9COztJQUNwQixnQ0FBb0I7Ozs7O0lBRVIsaUNBQXFCOzs7OztJQUFFLDBDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3Blci1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blci1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGVyLXBhZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBuYXZpZ2F0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBsaW1pdHM6IE51bWJlcltdID0gWzUsIDEwLCAyMCwgMTAwXTtcbiAgQElucHV0KCkgcGVyUGFnZT86IE51bWJlciA9IDIwO1xuICBASW5wdXQoKSBuYW1lPzogYW55O1xuICBASW5wdXQoKSBwYWdlPzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IFJvdXRlciwgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlLmV2ZW50cy5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUgfHwgJ3Blcl9wYWdlJztcbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbbmFtZV0pKSB7XG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnJhZGl4XG4gICAgICAgICAgdGhpcy5wZXJQYWdlID0gcGFyc2VJbnQodGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1tuYW1lXSk7XG4gICAgICAgICAgaWYgKCFfLmluY2x1ZGVzKHRoaXMubGltaXRzLCB0aGlzLnBlclBhZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmxpbWl0cy5wdXNoKHRoaXMucGVyUGFnZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGltaXRzID0gWzUsIDEwLCAyMCwgMTAwXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbikpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUxpbWl0KCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUgfHwgJ3Blcl9wYWdlJztcbiAgICBjb25zdCBwYWdlID0gdGhpcy5wYWdlIHx8ICdwYWdlJztcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgbGV0IHF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7fTtcbiAgICBkYXRhW25hbWVdID0gdGhpcy5wZXJQYWdlO1xuICAgIGRhdGFbcGFnZV0gPSAxO1xuICAgIHF1ZXJ5UGFyYW1zID0gXy5hc3NpZ24oe30sIHF1ZXJ5UGFyYW1zLCBkYXRhKTtcbiAgICBjb25zdCBwYXJhbXMgPSBfLmFzc2lnbih7fSwgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXMsIHsgcXVlcnlQYXJhbXMgfSk7XG4gICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZShbdXJsXSwgcGFyYW1zKTtcbiAgfVxufVxuIl19