@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)
90 lines • 7.55 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Input } from '@angular/core';
import { Component } from '@angular/core';
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router';
import * as _ from 'lodash';
export class SearchFormComponent {
/**
* @param {?} route
* @param {?} activatedRoute
*/
constructor(route, activatedRoute) {
this.route = route;
this.activatedRoute = activatedRoute;
this.keyword = '';
// @Output() searching: EventEmitter<string> = new EventEmitter<string>();
this.placeHolder = 'Search';
if (_.isUndefined(this.navigationSubscription)) {
this.navigationSubscription = this.route.events.subscribe((e) => {
if (e instanceof NavigationEnd) {
if (!_.isUndefined(this.activatedRoute.snapshot.queryParams.search)) {
this.keyword = this.activatedRoute.snapshot.queryParams.search;
}
else {
this.keyword = '';
}
}
});
}
}
/**
* @return {?}
*/
ngOnInit() { }
/**
* @return {?}
*/
ngOnDestroy() {
this.navigationSubscription.unsubscribe();
}
/**
* @return {?}
*/
onSubmit() {
/** @type {?} */
const url = window.location.pathname;
/** @type {?} */
let queryParams = this.activatedRoute.snapshot.queryParams;
queryParams = _.assign({}, queryParams, { search: this.keyword });
/** @type {?} */
const params = _.assign({}, this.activatedRoute.snapshot.params, { queryParams });
this.route.navigate([url], params);
}
}
SearchFormComponent.decorators = [
{ type: Component, args: [{
// tslint:disable-next-line:component-selector
selector: 'search-form',
template: "<form class=\"search-form search-form--inline\" (ngSubmit)=\"onSubmit()\">\n <div class=\"form-group search-form--inline__submit\">\n <input type=\"submit\" value=\"Search\" class=\"btn btn-success search-form--inline__btn-submit\">\n </div>\n <div class=\"form-group search-form--inline__search\">\n <input type=\"search\" name=\"keyword\" placeholder=\"{{ placeHolder }}\" class=\"form-control search-form--inline__input-field\" [(ngModel)]=\"keyword\">\n </div>\n</form>",
styles: [""]
}] }
];
SearchFormComponent.ctorParameters = () => [
{ type: Router },
{ type: ActivatedRoute }
];
SearchFormComponent.propDecorators = {
placeHolder: [{ type: Input }]
};
if (false) {
/** @type {?} */
SearchFormComponent.prototype.navigationSubscription;
/** @type {?} */
SearchFormComponent.prototype.keyword;
/** @type {?} */
SearchFormComponent.prototype.placeHolder;
/**
* @type {?}
* @private
*/
SearchFormComponent.prototype.route;
/**
* @type {?}
* @private
*/
SearchFormComponent.prototype.activatedRoute;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHZpY29kZXJzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9zZWFyY2gtZm9ybS9zZWFyY2gtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQVE1QixNQUFNOzs7OztJQU9KLFlBQW9CLEtBQWEsRUFBVSxjQUE4QjtRQUFyRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTGxFLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFcEIsMEVBQTBFO1FBQ2pFLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBR3RDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxZQUFZLGFBQWEsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO3dCQUNuRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7cUJBQ2hFO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO3FCQUNuQjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0lBRUQsUUFBUSxLQUFJLENBQUM7Ozs7SUFFYixXQUFXO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFRCxRQUFROztjQUNBLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVE7O1lBQ2hDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXO1FBQzFELFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7O2NBQzVELE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQXZDRixTQUFTLFNBQUM7O2dCQUVULFFBQVEsRUFBRSxhQUFhO2dCQUN2QiwrZUFBMkM7O2FBRTVDOzs7WUFSUSxNQUFNO1lBQWlCLGNBQWM7OzswQkFjM0MsS0FBSzs7OztJQUpOLHFEQUE0Qjs7SUFDNUIsc0NBQW9COztJQUdwQiwwQ0FBd0M7Ozs7O0lBRTVCLG9DQUFxQjs7Ozs7SUFBRSw2Q0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnc2VhcmNoLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZm9ybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG5hdmlnYXRpb25TdWJzY3JpcHRpb246IGFueTtcbiAgcHVibGljIGtleXdvcmQgPSAnJztcblxuICAvLyBAT3V0cHV0KCkgc2VhcmNoaW5nOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASW5wdXQoKSBwbGFjZUhvbGRlcjogU3RyaW5nID0gJ1NlYXJjaCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogUm91dGVyLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbikpIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUuZXZlbnRzLnN1YnNjcmliZSgoZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnNlYXJjaCkpIHtcbiAgICAgICAgICAgIHRoaXMua2V5d29yZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMuc2VhcmNoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleXdvcmQgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICBsZXQgcXVlcnlQYXJhbXMgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIHF1ZXJ5UGFyYW1zID0gXy5hc3NpZ24oe30sIHF1ZXJ5UGFyYW1zLCB7IHNlYXJjaDogdGhpcy5rZXl3b3JkIH0pO1xuICAgIGNvbnN0IHBhcmFtcyA9IF8uYXNzaWduKHt9LCB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcywgeyBxdWVyeVBhcmFtcyB9KTtcbiAgICB0aGlzLnJvdXRlLm5hdmlnYXRlKFt1cmxdLCBwYXJhbXMpO1xuICB9XG59XG4iXX0=