ngx-dynamic-dashboard
Version:
an dashboard lib for angular 10
48 lines • 5.25 kB
JavaScript
/**
* Created by jayhamilton on 1/24/17.
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { boardLayouts } from './model';
/**
* Message Modal - clasable modal with message
*
* Selector message-modal
*
* Methods
* popMessageModal - display a message modal for a sepcified duration
* showMessageModal - show the message modal
* hideMessageModal - hide the message modal
*/
export class BoardLayoutManagerComponent {
constructor() {
this.boardLayoutChangeEvent = new EventEmitter();
this.modalHeader = 'Layout';
this.initializeLayouts();
}
selectBoardLayout(layoutId) {
for (let x = 0; x < this.boardLayouts.length; x++) {
if (this.boardLayouts[x].id === layoutId) {
this.boardLayoutChangeEvent.emit(this.boardLayouts[x]);
this.layoutId = layoutId;
break;
}
}
}
initializeLayouts() {
Object.assign(this, { boardLayouts });
}
}
BoardLayoutManagerComponent.decorators = [
{ type: Component, args: [{
selector: 'dashboard-layout-manager-modal',
moduleId: 'layout',
template: "<br>\n\n<div style=\"text-align: center\">\n <h2>{{modalHeader}}</h2>\n</div>\n<hr>\n\n<br>\n<br>\n<ul>\n <li *ngFor=\"let layout of boardLayouts; let i = index\"\n style='list-style: none'>\n <img (click)=\"selectBoardLayout(layout.id)\" [ngClass]=\"{'layout-selected': layoutId == layout.id }\"\n src=\"/assets/images/{{layout.title}}.png\">\n\n </li>\n</ul>\n\n\n\n",
styles: [".layout-selected{border-top:solid #7cfc00;padding-top:5px}ul{text-align:center}h2{color:#fff!important}dir,menu,ul{-webkit-padding-start:5px}"]
},] }
];
BoardLayoutManagerComponent.ctorParameters = () => [];
BoardLayoutManagerComponent.propDecorators = {
layoutId: [{ type: Input }],
boardLayoutChangeEvent: [{ type: Output }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvYmVubGkvd29ya3NwYWNlcy9uZ3gtZHluYW1pYy1kYXNoYm9hcmQtZnJhbWV3b3JrL3Byb2plY3RzL25neC1keW5hbWljLWRhc2hib2FyZC9zcmMvIiwic291cmNlcyI6WyJkYXNoYm9hcmQvbGF5b3V0L2xheW91dC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBR3JDOzs7Ozs7Ozs7R0FTRztBQVFILE1BQU0sT0FBTywyQkFBMkI7SUFXcEM7UUFSVSwyQkFBc0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl6RSxnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUtuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsUUFBZ0I7UUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBRS9DLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs7WUFwQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7Z0JBQzFDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQiwrWkFBMEI7O2FBRzdCOzs7O3VCQUdJLEtBQUs7cUNBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlZCBieSBqYXloYW1pbHRvbiBvbiAxLzI0LzE3LlxuICovXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtib2FyZExheW91dHN9IGZyb20gJy4vbW9kZWwnO1xuXG5cbi8qKlxuICogTWVzc2FnZSBNb2RhbCAtIGNsYXNhYmxlIG1vZGFsIHdpdGggbWVzc2FnZVxuICpcbiAqIFNlbGVjdG9yIG1lc3NhZ2UtbW9kYWxcbiAqXG4gKiBNZXRob2RzXG4gKiAgICAgIHBvcE1lc3NhZ2VNb2RhbCAtIGRpc3BsYXkgYSBtZXNzYWdlIG1vZGFsIGZvciBhIHNlcGNpZmllZCBkdXJhdGlvblxuICogICAgICBzaG93TWVzc2FnZU1vZGFsIC0gc2hvdyB0aGUgbWVzc2FnZSBtb2RhbFxuICogICAgICBoaWRlTWVzc2FnZU1vZGFsIC0gaGlkZSB0aGUgbWVzc2FnZSBtb2RhbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Rhc2hib2FyZC1sYXlvdXQtbWFuYWdlci1tb2RhbCcsXG4gICAgbW9kdWxlSWQ6ICdsYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi92aWV3Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy5jc3MnXVxuXG59KVxuZXhwb3J0IGNsYXNzIEJvYXJkTGF5b3V0TWFuYWdlckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBsYXlvdXRJZDtcbiAgICBAT3V0cHV0KCkgYm9hcmRMYXlvdXRDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBib2FyZExheW91dHM6IGFueVtdO1xuXG4gICAgbW9kYWxIZWFkZXIgPSAnTGF5b3V0JztcblxuICAgIG1lc3NhZ2VNb2RhbDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUxheW91dHMoKTtcbiAgICB9XG5cbiAgICBzZWxlY3RCb2FyZExheW91dChsYXlvdXRJZDogbnVtYmVyKSB7XG5cbiAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCB0aGlzLmJvYXJkTGF5b3V0cy5sZW5ndGg7IHgrKykge1xuXG4gICAgICAgICAgICBpZiAodGhpcy5ib2FyZExheW91dHNbeF0uaWQgPT09IGxheW91dElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2FyZExheW91dENoYW5nZUV2ZW50LmVtaXQodGhpcy5ib2FyZExheW91dHNbeF0pO1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0SWQgPSBsYXlvdXRJZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpYWxpemVMYXlvdXRzKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHtib2FyZExheW91dHN9KTtcbiAgICB9XG5cbn1cbiJdfQ==