UNPKG

@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)

108 lines 8.91 kB
/** * @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'; export class PerPageComponent { /** * @param {?} route * @param {?} activatedRoute */ constructor(route, activatedRoute) { this.route = route; this.activatedRoute = activatedRoute; this.limits = [5, 10, 20, 100]; this.perPage = 20; this.navigationSubscription = this.route.events.subscribe((e) => { if (e instanceof NavigationEnd) { /** @type {?} */ const name = this.name || 'per_page'; if (!_.isUndefined(this.activatedRoute.snapshot.queryParams[name])) { // tslint:disable-next-line:radix this.perPage = parseInt(this.activatedRoute.snapshot.queryParams[name]); if (!_.includes(this.limits, this.perPage)) { this.limits.push(this.perPage); } else { this.limits = [5, 10, 20, 100]; } } } }); } /** * @return {?} */ ngOnInit() { } /** * @return {?} */ ngOnDestroy() { if (!_.isUndefined(this.navigationSubscription)) { this.navigationSubscription.unsubscribe(); } } /** * @return {?} */ updateLimit() { /** @type {?} */ const name = this.name || 'per_page'; /** @type {?} */ const page = this.page || 'page'; /** @type {?} */ const url = window.location.pathname; /** @type {?} */ let queryParams = this.activatedRoute.snapshot.queryParams; /** @type {?} */ const data = {}; data[name] = this.perPage; data[page] = 1; queryParams = _.assign({}, queryParams, data); /** @type {?} */ const params = _.assign({}, this.activatedRoute.snapshot.params, { 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 = () => [ { type: Router }, { type: ActivatedRoute } ]; PerPageComponent.propDecorators = { perPage: [{ type: Input }], name: [{ type: Input }], page: [{ type: Input }] }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZpY29kZXJzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9wZXItcGFnZS9wZXItcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBUzVCLE1BQU07Ozs7O0lBT0osWUFBb0IsS0FBYSxFQUFVLGNBQThCO1FBQXJELFVBQUssR0FBTCxLQUFLLENBQVE7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFMbEUsV0FBTSxHQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFZLEVBQUUsQ0FBQztRQUs3QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLFlBQVksYUFBYSxFQUFFOztzQkFDeEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVTtnQkFDcEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ2xFLGlDQUFpQztvQkFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ3hFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQ2hDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDaEM7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFFBQVEsS0FBSSxDQUFDOzs7O0lBQ2IsV0FBVztRQUNULElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQy9DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7Ozs7SUFFRCxXQUFXOztjQUNILElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVU7O2NBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU07O2NBQzFCLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVE7O1lBQ2hDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXOztjQUNwRCxJQUFJLEdBQVEsRUFBRTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7Y0FDeEMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQzs7Z0JBRVQsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLDBPQUF3Qzs7YUFFekM7OztZQVZRLE1BQU07WUFBRSxjQUFjOzs7c0JBYzVCLEtBQUs7bUJBQ0wsS0FBSzttQkFDTCxLQUFLOzs7O0lBSk4sa0RBQXFDOztJQUNyQyxrQ0FBMkM7O0lBQzNDLG1DQUErQjs7SUFDL0IsZ0NBQW9COztJQUNwQixnQ0FBb0I7Ozs7O0lBRVIsaUNBQXFCOzs7OztJQUFFLDBDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3Blci1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Blci1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGVyLXBhZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQZXJQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBuYXZpZ2F0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBsaW1pdHM6IE51bWJlcltdID0gWzUsIDEwLCAyMCwgMTAwXTtcbiAgQElucHV0KCkgcGVyUGFnZT86IE51bWJlciA9IDIwO1xuICBASW5wdXQoKSBuYW1lPzogYW55O1xuICBASW5wdXQoKSBwYWdlPzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IFJvdXRlciwgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlLmV2ZW50cy5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUgfHwgJ3Blcl9wYWdlJztcbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbbmFtZV0pKSB7XG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnJhZGl4XG4gICAgICAgICAgdGhpcy5wZXJQYWdlID0gcGFyc2VJbnQodGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1tuYW1lXSk7XG4gICAgICAgICAgaWYgKCFfLmluY2x1ZGVzKHRoaXMubGltaXRzLCB0aGlzLnBlclBhZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmxpbWl0cy5wdXNoKHRoaXMucGVyUGFnZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGltaXRzID0gWzUsIDEwLCAyMCwgMTAwXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbikpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUxpbWl0KCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUgfHwgJ3Blcl9wYWdlJztcbiAgICBjb25zdCBwYWdlID0gdGhpcy5wYWdlIHx8ICdwYWdlJztcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgbGV0IHF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7fTtcbiAgICBkYXRhW25hbWVdID0gdGhpcy5wZXJQYWdlO1xuICAgIGRhdGFbcGFnZV0gPSAxO1xuICAgIHF1ZXJ5UGFyYW1zID0gXy5hc3NpZ24oe30sIHF1ZXJ5UGFyYW1zLCBkYXRhKTtcbiAgICBjb25zdCBwYXJhbXMgPSBfLmFzc2lnbih7fSwgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXMsIHsgcXVlcnlQYXJhbXMgfSk7XG4gICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZShbdXJsXSwgcGFyYW1zKTtcbiAgfVxufVxuIl19