import { Component, Input, ContentChildren, TemplateRef, ContentChild, AfterContentInit } from '@angular/core';
import { RdComponent } from '../../base/rdComponent';
export type StatusBoxColors = "red" | "green" | "blue" | "yellow" | "purple" | "lilac" | "cyan" | "darkblue";
@Component({
selector: 'rd-status-box-content',
template: `
`
})
export class StatusBoxContent extends RdComponent {
@Input('rd-text') text: string; // rd-title
@Input('rd-icon') icon: string;
@Input('rd-color') color: StatusBoxColors;
@Input('rd-explanation-tooltip') tooltip: string;
@ContentChild(TemplateRef) template;
}
@Component({
selector: 'rd-status-box',
template: `
`
})
export class StatusBox extends RdComponent implements AfterContentInit {
@ContentChildren(StatusBoxContent) contents;
colmdClass = "col-md-3";
ngAfterContentInit() {
let contentCount = Math.ceil(this.contents._results.length);
switch (contentCount) {
case 2: this.colmdClass = "col-md-6"; break;
case 3: this.colmdClass = "col-md-4"; break;
case 4: this.colmdClass = "col-md-3"; break;
case 5:
case 6:
this.colmdClass = "col-md-6"; break;
}
}
// getColorClass(color: StatusBoxColors) {
// switch (color) {
// case 'red': return 'm--font-danger';
// case 'green': return 'm--font-success';
// case 'blue': return 'm--font-info';
// case 'yellow': return 'm--font-warning';
// case 'purple': return 'm--font-focus';
// case 'lilac': return 'm--font-brand';
// case 'cyan': return 'm--font-accent';
// case 'darkblue': return 'm--font-primary';
// default: return 'm--font-accent';
// }
// }
colorClasses = {
red: 'm--font-danger',
green: 'm--font-success',
blue: 'm--font-info',
yellow: 'm--font-warning',
purple: 'm--font-focus',
lilac: 'm--font-brand',
cyan: 'm--font-accent',
darkblue: 'm--font-primary'
}
}