@angular-generic-table/core
Version:
A generic table component for Angular
110 lines (109 loc) • 6.87 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Component, EventEmitter, Injector, Input, Output, Type } from '@angular/core';
import { ReplaySubject } from 'rxjs/ReplaySubject';
/**
* @abstract
* @template R
*/
export class GtCustomComponent {
constructor() {
this.redrawEvent = new EventEmitter();
this.$searchTerms = new ReplaySubject(1);
}
/**
* @param {?=} $event
* @return {?}
*/
$redraw($event) {
this.redrawEvent.emit({ row: this.row, column: this.column });
}
/**
* @return {?}
*/
ngOnInit() {
this.$searchTerms.subscribe(terms => (this.searchTerms = terms));
}
}
function GtCustomComponent_tsickle_Closure_declarations() {
/** @type {?} */
GtCustomComponent.prototype.row;
/** @type {?} */
GtCustomComponent.prototype.column;
/** @type {?} */
GtCustomComponent.prototype.redrawEvent;
/** @type {?} */
GtCustomComponent.prototype.searchTerms;
/** @type {?} */
GtCustomComponent.prototype.$searchTerms;
}
// unsupported: template constraints.
/**
* @template R, C
*/
export class GtCustomComponentFactory {
constructor() {
this.$searchTerms = new ReplaySubject(1);
this.redrawEvent = new EventEmitter();
}
/**
* @param {?} value
* @return {?}
*/
set searchTerms(value) {
this.$searchTerms.next(value);
}
/**
* @param {?} instance
* @return {?}
*/
instance(instance) {
instance.row = this.row;
instance.column = this.column;
instance.$searchTerms = this.$searchTerms;
instance.redrawEvent.subscribe(this.redrawEvent);
}
}
GtCustomComponentFactory.decorators = [
{ type: Component, args: [{
selector: 'gt-custom-component-factory',
template: `<div gtComponentAnchor [ctor]="type"
[injector]="injector"
(instance)="instance($event)"></div>`
},] },
];
/** @nocollapse */
GtCustomComponentFactory.propDecorators = {
"searchTerms": [{ type: Input },],
"type": [{ type: Input },],
"injector": [{ type: Input },],
"row": [{ type: Input },],
"column": [{ type: Input },],
"redrawEvent": [{ type: Output },],
};
function GtCustomComponentFactory_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
GtCustomComponentFactory.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
GtCustomComponentFactory.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
GtCustomComponentFactory.propDecorators;
/** @type {?} */
GtCustomComponentFactory.prototype.type;
/** @type {?} */
GtCustomComponentFactory.prototype.injector;
/** @type {?} */
GtCustomComponentFactory.prototype.row;
/** @type {?} */
GtCustomComponentFactory.prototype.column;
/** @type {?} */
GtCustomComponentFactory.prototype.$searchTerms;
/** @type {?} */
GtCustomComponentFactory.prototype.redrawEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY3VzdG9tLWNvbXBvbmVudC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItZ2VuZXJpYy10YWJsZS9jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9ndC1jdXN0b20tY29tcG9uZW50LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLElBQUksRUFDSixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRW5ELE1BQU07OzJCQUdTLElBQUksWUFBWSxFQUEyQjs0QkFFbkIsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDOzs7Ozs7SUFFaEQsT0FBTyxDQUFDLE1BQVk7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDOUQ7Ozs7SUFDRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNqRTtDQUNEOzs7Ozs7Ozs7Ozs7Ozs7OztBQVFELE1BQU07OzRCQVNpQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUM7MkJBQ2xDLElBQUksWUFBWSxFQUEyQjs7Ozs7O1FBUi9ELFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7SUFTL0IsUUFBUSxDQUFDLFFBQVc7UUFDbkIsUUFBUSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3hCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM5QixRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDMUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQ2pEOzs7WUF2QkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFFBQVEsRUFBRTs7eURBRThDO2FBQ3hEOzs7OzRCQUVDLEtBQUs7cUJBSUwsS0FBSzt5QkFDTCxLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSzs0QkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0T25Jbml0LFxuXHRPdXRwdXQsXG5cdFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcy9SZXBsYXlTdWJqZWN0JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEd0Q3VzdG9tQ29tcG9uZW50PFI+IGltcGxlbWVudHMgT25Jbml0IHtcblx0cm93OiBSO1xuXHRjb2x1bW46IGFueTtcblx0cmVkcmF3RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcm93OiBSOyBjb2x1bW46IGFueSB9PigpO1xuXHRzZWFyY2hUZXJtczogc3RyaW5nO1xuXHQkc2VhcmNoVGVybXM6IFJlcGxheVN1YmplY3Q8c3RyaW5nPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXG5cdHByb3RlY3RlZCAkcmVkcmF3KCRldmVudD86IGFueSkge1xuXHRcdHRoaXMucmVkcmF3RXZlbnQuZW1pdCh7IHJvdzogdGhpcy5yb3csIGNvbHVtbjogdGhpcy5jb2x1bW4gfSk7XG5cdH1cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy4kc2VhcmNoVGVybXMuc3Vic2NyaWJlKHRlcm1zID0+ICh0aGlzLnNlYXJjaFRlcm1zID0gdGVybXMpKTtcblx0fVxufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdndC1jdXN0b20tY29tcG9uZW50LWZhY3RvcnknLFxuXHR0ZW1wbGF0ZTogYDxkaXYgZ3RDb21wb25lbnRBbmNob3IgW2N0b3JdPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbmplY3Rvcl09XCJpbmplY3RvclwiXG4gICAgICAgICAgICAgICAgICAgIChpbnN0YW5jZSk9XCJpbnN0YW5jZSgkZXZlbnQpXCI+PC9kaXY+YFxufSlcbmV4cG9ydCBjbGFzcyBHdEN1c3RvbUNvbXBvbmVudEZhY3Rvcnk8UiwgQyBleHRlbmRzIEd0Q3VzdG9tQ29tcG9uZW50PFI+PiB7XG5cdEBJbnB1dCgpXG5cdHNldCBzZWFyY2hUZXJtcyh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy4kc2VhcmNoVGVybXMubmV4dCh2YWx1ZSk7XG5cdH1cblx0QElucHV0KCkgdHlwZTogVHlwZTxDPjtcblx0QElucHV0KCkgaW5qZWN0b3I6IEluamVjdG9yO1xuXHRASW5wdXQoKSByb3c6IFI7XG5cdEBJbnB1dCgpIGNvbHVtbjogYW55O1xuXHQkc2VhcmNoVGVybXM6IFJlcGxheVN1YmplY3Q8c3RyaW5nPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuXHRAT3V0cHV0KCkgcmVkcmF3RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcm93OiBSOyBjb2x1bW46IGFueSB9PigpO1xuXG5cdGluc3RhbmNlKGluc3RhbmNlOiBDKSB7XG5cdFx0aW5zdGFuY2Uucm93ID0gdGhpcy5yb3c7XG5cdFx0aW5zdGFuY2UuY29sdW1uID0gdGhpcy5jb2x1bW47XG5cdFx0aW5zdGFuY2UuJHNlYXJjaFRlcm1zID0gdGhpcy4kc2VhcmNoVGVybXM7XG5cdFx0aW5zdGFuY2UucmVkcmF3RXZlbnQuc3Vic2NyaWJlKHRoaXMucmVkcmF3RXZlbnQpO1xuXHR9XG59XG4iXX0=