UNPKG

novo-elements

Version:

Bullhorn's NOVO Element Repository for Angular 2

164 lines (138 loc) 4.56 kB
// NG2 import { Component } from '@angular/core'; // APP let AttributeCardDemoTpl = require('./templates/AttributeCardDemo.html'); let FullConfigCardDemoTpl = require('./templates/FullConfigCardDemo.html'); let ExtrasTimelineDemoTpl = require('./templates/ExtrasTimelineDemo.html'); let ExtrasBestTimeDemoTpl = require('./templates/ExtrasBestTimeDemo.html'); let ExtrasChartDonutDemoTpl = require('./templates/ExtrasChartDemoDemo.html'); // Vendor import { NovoToastService } from './../../../../index'; const template = ` <div class="container"> <h1>Cards <small><a target="_blank" href="https://github.com/bullhorn/novo-elements/blob/master/src/elements/card">(source)</a></small></h1> <p>Components and elements for cards to make sure the loading/empty/layout views are all consistent.</p> <h5>Examples</h5> <p>Basic Card (using attributes)</p> <div class="example"> ${AttributeCardDemoTpl} <div class="actions"> <button theme="secondary" (click)="toggleLoading()">Toggle Loading</button> <button theme="secondary" (click)="toggleMessage()">Toggle Message</button> </div> </div> <code-snippet [code]="AttributeCardDemoTpl"></code-snippet> <p>Card (using config object and card-actions)</p> <div class="example"> ${FullConfigCardDemoTpl} <div class="actions"> <button theme="secondary" (click)="toggleLoadingConfig()">Toggle Loading</button> <button theme="secondary" (click)="toggleMessageConfig()">Toggle Message</button> </div> </div> <code-snippet [code]="FullConfigCardDemoTpl"></code-snippet> <h5>Card Extras - components/elements for cards</h5> <p>Timeline</p> <div class="example"> ${ExtrasTimelineDemoTpl} <div class="actions"> </div> </div> <code-snippet [code]="ExtrasTimelineDemoTpl"></code-snippet> <p>Best Time to *INSERT*</p> <div class="example"> ${ExtrasBestTimeDemoTpl} <div class="actions"> </div> </div> <code-snippet [code]="ExtrasBestTimeDemoTpl"></code-snippet> <p>Donut Chart</p> <div class="example"> ${ExtrasChartDonutDemoTpl} <div class="actions"> </div> </div> <code-snippet [code]="ExtrasChartDonutDemoTpl"></code-snippet> </div> `; @Component({ selector: 'card-demo', template: template }) export class CardDemoComponent { // Templates AttributeCardDemoTpl:string = AttributeCardDemoTpl; FullConfigCardDemoTpl:string = FullConfigCardDemoTpl; ExtrasTimelineDemoTpl:string = ExtrasTimelineDemoTpl; ExtrasBestTimeDemoTpl:string = ExtrasBestTimeDemoTpl; ExtrasChartDonutDemoTpl:string = ExtrasChartDonutDemoTpl; // Config for demos refresh:boolean = true; close:boolean = true; move:boolean = true; padding:boolean = true; loading:boolean = true; fullConfig:any = { refresh: false, icon: 'email', messageIcon: 'email', close: false, move: true, onClose: this.onClose.bind(this), onRefresh: this.onRefresh.bind(this), title: 'Test', loading: false, padding: true }; start:number = 2000; end:number = 2005; created:number = 1995; bestLabel:string = 'BEST TIME TO CONTACT'; bestTime:string = '1-PM'; bestDay:string = 'Friday'; message:string; messageIcon:string; donutValue:number = 0.5; donutColor:string = '#662255'; donutLabel:string = 'Probability of Win %'; constructor(private toaster:NovoToastService) { } onClose() { this.toaster.alert({ theme: 'info', title: 'Cards', message: 'Close Clicked!' }); } onRefresh() { this.toaster.alert({ theme: 'success', title: 'Cards', message: 'Refresh Clicked!' }); } toggleLoading() { this.loading = !this.loading; } toggleMessage() { if (!this.message) { this.message = 'NO DATA!'; this.messageIcon = 'email'; } else { this.message = undefined; } } toggleLoadingConfig() { this.fullConfig.loading = !this.fullConfig.loading; } toggleMessageConfig() { if (!this.fullConfig.message) { this.fullConfig.message = 'NO DATA!'; } else { this.fullConfig.message = undefined; } } singleAction() { window.alert('HELLO!'); } }