Refactor dashboard component to use ng-template for dynamic panel rendering; update counts and labels for better data representation
This commit is contained in:
parent
30c7c5ea76
commit
e14420420f
@ -1,52 +1,21 @@
|
||||
<app-panel class="neutral-80">
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 122, label: 'Users', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 44, label: 'Tenants', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 56, label: 'Apps', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 155, label: 'Groups', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 1166, label: 'Roles', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="panel; context: {count: 3580, label: 'Authorities', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'}"></ng-container>
|
||||
|
||||
<ng-template #panel let-count="count" let-label="label" let-description="description">
|
||||
<app-panel class="neutral-80">
|
||||
<div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Users</span>
|
||||
<span class="count" [title]="count">{{count | shortNumber : 2}}</span>
|
||||
<span class="label">{{label}}</span>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
{{description}}
|
||||
</span>
|
||||
</app-panel>
|
||||
<app-panel class="neutral-80">
|
||||
<div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Tenants</span>
|
||||
<div class="actions">
|
||||
<app-link [href]="'/' + label.toLowerCase()">View {{label}}</app-link>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
</span>
|
||||
</app-panel>
|
||||
<app-panel class="neutral-80"><div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Apps</span>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
</span></app-panel>
|
||||
<app-panel class="neutral-80">
|
||||
<div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Groups</span>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
</span>
|
||||
</app-panel>
|
||||
<app-panel class="neutral-80">
|
||||
<div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Roles</span>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
</span>
|
||||
</app-panel>
|
||||
<app-panel class="neutral-80">
|
||||
<div class="panel-header">
|
||||
<span class="count">55</span>
|
||||
<span class="label">Authorities</span>
|
||||
</div>
|
||||
<span class="description">
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||
</span>
|
||||
</app-panel>
|
||||
</app-panel>
|
||||
</ng-template>
|
||||
|
||||
@ -1,10 +1,18 @@
|
||||
import { Component } from '@angular/core';
|
||||
import {PanelComponent} from '../panel/panel.component';
|
||||
import {RouterLink} from '@angular/router';
|
||||
import {NgTemplateOutlet} from '@angular/common';
|
||||
import {LinkComponent} from '../link/link.component';
|
||||
import {ShortNumberPipe} from '../../pipes/short-number.pipe';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dashboard',
|
||||
imports: [
|
||||
PanelComponent
|
||||
PanelComponent,
|
||||
RouterLink,
|
||||
NgTemplateOutlet,
|
||||
LinkComponent,
|
||||
ShortNumberPipe
|
||||
],
|
||||
templateUrl: './dashboard.component.html',
|
||||
styleUrl: './dashboard.component.scss'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user