ngx-material-drawer
Version:
[npm_img]: https://img.shields.io/npm/v/ngx-material-drawer.svg?colorB=0E7FBF [npm_url]: https://www.npmjs.com/package/ngx-material-drawer
130 lines • 11.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, EventEmitter, Output } from '@angular/core';
import { BreakpointObserverService, POINTS_NAME } from '../utils/breakpoint-observer.service';
import { NgxMaterialDrawerEventEmitter } from '../utils/mat-event-emitter.service';
import { NgxUtilsService } from '../utils/utils.service';
export class NgxGridComponent {
/**
* @param {?} _breakpointObserverService
* @param {?} matEventEmitterService
* @param {?} ngxUtilsService
*/
constructor(_breakpointObserverService, matEventEmitterService, ngxUtilsService) {
this._breakpointObserverService = _breakpointObserverService;
this.matEventEmitterService = matEventEmitterService;
this.ngxUtilsService = ngxUtilsService;
this.onGridDataChange = new EventEmitter();
this.matEventEmitterService.onGridDataChange.subscribe((/**
* @param {?} event
* @return {?}
*/
(event) => {
if (event) {
this.refreshGrid(event['grids'], this.size);
}
else if (this.inputData['grid']) {
this.gridData = this.inputData.grid;
}
}));
}
/**
* @return {?}
*/
ngOnInit() {
if (this.inputData && typeof this.inputData == 'object') {
if (this.inputData['grids']) {
this.registerBreakPoints(this.inputData['grids']);
}
else if (this.inputData['grid']) {
this.gridData = this.inputData.grid;
}
}
this.ngxUtilsService.componentInstance = this.componentInstance;
}
/**
* @param {?} grids
* @return {?}
*/
registerBreakPoints(grids) {
this.size$ = this._breakpointObserverService.size$;
this.size$.subscribe((/**
* @param {?} size
* @return {?}
*/
(size) => {
this.size = size;
this.refreshGrid(grids, size);
}));
}
/**
* @param {?} grids
* @param {?} size
* @return {?}
*/
refreshGrid(grids, size) {
if (grids[size] && grids[size]['grid']) {
this.gridData = grids[size]['grid'];
}
else {
/** @type {?} */
let gData;
/** @type {?} */
let index = POINTS_NAME.indexOf(size);
while (!gData && index > 0) {
index--;
gData = grids[POINTS_NAME[index]] && grids[POINTS_NAME[index]]['grid'];
}
index = POINTS_NAME.indexOf(size);
while (!gData && index < (POINTS_NAME.length - 1)) {
index++;
gData = grids[POINTS_NAME[index]] && grids[POINTS_NAME[index]]['grid'];
}
this.gridData = gData || [];
}
}
}
NgxGridComponent.decorators = [
{ type: Component, args: [{
selector: 'ngx-material-grid',
template: "<div class=\"grid-container\">\r\n <mat-grid-list\r\n [cols]=\"gridData?.cols || inputData?.cols || 4\"\r\n [rowHeight]=\"gridData?.rowHeight || inputData?.rowHeight || '200px'\"\r\n [gutterSize]=\"gridData?.gutterSize || inputData?.gutterSize || '0px'\"\r\n >\r\n <mat-grid-tile\r\n *ngFor=\"let card of gridData\"\r\n [colspan]=\"card.cols\"\r\n [rowspan]=\"card.rows\"\r\n >\r\n <lib-card-holder [cardData]='ngxUtilsService.getExtendedData(card)'></lib-card-holder>\r\n </mat-grid-tile>\r\n </mat-grid-list>\r\n</div>\r\n",
styles: [""]
}] }
];
/** @nocollapse */
NgxGridComponent.ctorParameters = () => [
{ type: BreakpointObserverService },
{ type: NgxMaterialDrawerEventEmitter },
{ type: NgxUtilsService }
];
NgxGridComponent.propDecorators = {
inputData: [{ type: Input, args: ['gridData',] }],
componentInstance: [{ type: Input, args: ['componentInstance',] }],
onGridDataChange: [{ type: Output }]
};
if (false) {
/** @type {?} */
NgxGridComponent.prototype.inputData;
/** @type {?} */
NgxGridComponent.prototype.componentInstance;
/** @type {?} */
NgxGridComponent.prototype.onGridDataChange;
/** @type {?} */
NgxGridComponent.prototype.gridData;
/** @type {?} */
NgxGridComponent.prototype.size;
/** @type {?} */
NgxGridComponent.prototype.size$;
/**
* @type {?}
* @private
*/
NgxGridComponent.prototype._breakpointObserverService;
/** @type {?} */
NgxGridComponent.prototype.matEventEmitterService;
/** @type {?} */
NgxGridComponent.prototype.ngxUtilsService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbWF0ZXJpYWwtZHJhd2VyLyIsInNvdXJjZXMiOlsibGliL2FwcC9ncmlkL2dyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBMEQsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFOUYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBT3pELE1BQU0sT0FBTyxnQkFBZ0I7Ozs7OztJQU8zQixZQUFvQiwwQkFBcUQsRUFDaEUsc0JBQXFELEVBQ3JELGVBQWdDO1FBRnJCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBMkI7UUFDaEUsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUErQjtRQUNyRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFOeEIscUJBQWdCLEdBQVEsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU8xRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsU0FBUzs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2FBQzVDO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQzthQUNyQztRQUNILENBQUMsRUFBQyxDQUFBO0lBQ0osQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRTtZQUN2RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7YUFDbEQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO2FBQ3JDO1NBQ0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRSxDQUFDOzs7OztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDL0IsQ0FBQyxFQUFDLENBQUE7SUFDSixDQUFDOzs7Ozs7SUFFRCxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDckIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO2FBQU07O2dCQUNELEtBQUs7O2dCQUNMLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNyQyxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2FBQ3ZFO1lBQ0QsS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakMsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNqRCxLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTthQUN2RTtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7OztZQTVERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsdW5CQUFvQzs7YUFFckM7Ozs7WUFUUSx5QkFBeUI7WUFFekIsNkJBQTZCO1lBQzdCLGVBQWU7Ozt3QkFRckIsS0FBSyxTQUFDLFVBQVU7Z0NBQ2hCLEtBQUssU0FBQyxtQkFBbUI7K0JBQ3pCLE1BQU07Ozs7SUFGUCxxQ0FBNkI7O0lBQzdCLDZDQUE4Qzs7SUFDOUMsNENBQTREOztJQUM1RCxvQ0FBZ0I7O0lBQ2hCLGdDQUFZOztJQUNaLGlDQUFpQzs7Ozs7SUFDckIsc0RBQTZEOztJQUN2RSxrREFBNEQ7O0lBQzVELDJDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIE9uRGVzdHJveSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSwgUE9JTlRTX05BTUUgfSBmcm9tICcuLi91dGlscy9icmVha3BvaW50LW9ic2VydmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE5neE1hdGVyaWFsRHJhd2VyRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vdXRpbHMvbWF0LWV2ZW50LWVtaXR0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE5neFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZ3gtbWF0ZXJpYWwtZ3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCdncmlkRGF0YScpIGlucHV0RGF0YTtcclxuICBASW5wdXQoJ2NvbXBvbmVudEluc3RhbmNlJykgY29tcG9uZW50SW5zdGFuY2U7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkdyaWREYXRhQ2hhbmdlOiBhbnkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIGdyaWREYXRhO1xyXG4gIHB1YmxpYyBzaXplO1xyXG4gIHB1YmxpYyBzaXplJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2JyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsIFxyXG4gICAgcHVibGljIG1hdEV2ZW50RW1pdHRlclNlcnZpY2U6IE5neE1hdGVyaWFsRHJhd2VyRXZlbnRFbWl0dGVyLCBcclxuICAgIHB1YmxpYyBuZ3hVdGlsc1NlcnZpY2U6IE5neFV0aWxzU2VydmljZSkge1xyXG4gICAgdGhpcy5tYXRFdmVudEVtaXR0ZXJTZXJ2aWNlLm9uR3JpZERhdGFDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgICB0aGlzLnJlZnJlc2hHcmlkKGV2ZW50WydncmlkcyddLCB0aGlzLnNpemUpXHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dERhdGFbJ2dyaWQnXSkge1xyXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSB0aGlzLmlucHV0RGF0YS5ncmlkO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dERhdGEgJiYgdHlwZW9mIHRoaXMuaW5wdXREYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlucHV0RGF0YVsnZ3JpZHMnXSkge1xyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJCcmVha1BvaW50cyh0aGlzLmlucHV0RGF0YVsnZ3JpZHMnXSlcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RGF0YVsnZ3JpZCddKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkRGF0YSA9IHRoaXMuaW5wdXREYXRhLmdyaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubmd4VXRpbHNTZXJ2aWNlLmNvbXBvbmVudEluc3RhbmNlID0gdGhpcy5jb21wb25lbnRJbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyQnJlYWtQb2ludHMoZ3JpZHMpIHtcclxuICAgIHRoaXMuc2l6ZSQgPSB0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLnNpemUkO1xyXG4gICAgdGhpcy5zaXplJC5zdWJzY3JpYmUoKHNpemUpID0+IHtcclxuICAgICAgdGhpcy5zaXplID0gc2l6ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoR3JpZChncmlkcywgc2l6ZSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICByZWZyZXNoR3JpZChncmlkcywgc2l6ZSkge1xyXG4gICAgaWYgKGdyaWRzW3NpemVdICYmIGdyaWRzW3NpemVdWydncmlkJ10pIHtcclxuICAgICAgdGhpcy5ncmlkRGF0YSA9IGdyaWRzW3NpemVdWydncmlkJ107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgZ0RhdGE7XHJcbiAgICAgIGxldCBpbmRleCA9IFBPSU5UU19OQU1FLmluZGV4T2Yoc2l6ZSlcclxuICAgICAgd2hpbGUgKCFnRGF0YSAmJiBpbmRleCA+IDApIHtcclxuICAgICAgICBpbmRleC0tO1xyXG4gICAgICAgIGdEYXRhID0gZ3JpZHNbUE9JTlRTX05BTUVbaW5kZXhdXSAmJiBncmlkc1tQT0lOVFNfTkFNRVtpbmRleF1dWydncmlkJ11cclxuICAgICAgfVxyXG4gICAgICBpbmRleCA9IFBPSU5UU19OQU1FLmluZGV4T2Yoc2l6ZSlcclxuICAgICAgd2hpbGUgKCFnRGF0YSAmJiBpbmRleCA8IChQT0lOVFNfTkFNRS5sZW5ndGggLSAxKSkge1xyXG4gICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgZ0RhdGEgPSBncmlkc1tQT0lOVFNfTkFNRVtpbmRleF1dICYmIGdyaWRzW1BPSU5UU19OQU1FW2luZGV4XV1bJ2dyaWQnXVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ3JpZERhdGEgPSBnRGF0YSB8fCBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==