2021-11-27 22:21:52 +08:00
|
|
|
import { Component } from '@angular/core';
|
|
|
|
|
import { SettingsService, User } from '@delon/theme';
|
|
|
|
|
import { LayoutDefaultOptions } from '@delon/theme/layout-default';
|
|
|
|
|
import { environment } from '@env/environment';
|
|
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
|
selector: 'layout-basic',
|
|
|
|
|
template: `
|
|
|
|
|
<layout-default [options]="options" [asideUser]="asideUserTpl" [content]="contentTpl" [customError]="null">
|
|
|
|
|
<layout-default-header-item direction="left">
|
2022-02-11 12:09:18 +08:00
|
|
|
<a layout-default-header-item-trigger href="//github.com/dromara/hertzbeat" target="_blank">
|
2021-11-27 22:21:52 +08:00
|
|
|
<i nz-icon nzType="github"></i>
|
|
|
|
|
</a>
|
|
|
|
|
</layout-default-header-item>
|
2022-01-30 10:16:23 +08:00
|
|
|
<layout-default-header-item direction="left">
|
2022-02-11 12:09:18 +08:00
|
|
|
<a layout-default-header-item-trigger href="//gitee.com/dromara/hertzbeat" target="_blank">
|
2022-01-30 10:16:23 +08:00
|
|
|
<i nz-icon nzIconfont="icon-gitee"></i>
|
|
|
|
|
</a>
|
|
|
|
|
</layout-default-header-item>
|
2021-11-27 22:21:52 +08:00
|
|
|
<layout-default-header-item direction="left" hidden="mobile">
|
|
|
|
|
<a layout-default-header-item-trigger routerLink="/passport/lock">
|
|
|
|
|
<i nz-icon nzType="lock"></i>
|
|
|
|
|
</a>
|
|
|
|
|
</layout-default-header-item>
|
|
|
|
|
<layout-default-header-item direction="left" hidden="pc">
|
|
|
|
|
<div layout-default-header-item-trigger (click)="searchToggleStatus = !searchToggleStatus">
|
|
|
|
|
<i nz-icon nzType="search"></i>
|
|
|
|
|
</div>
|
|
|
|
|
</layout-default-header-item>
|
|
|
|
|
<layout-default-header-item direction="middle">
|
|
|
|
|
<header-search class="alain-default__search" [toggleChange]="searchToggleStatus"></header-search>
|
|
|
|
|
</layout-default-header-item>
|
2022-01-30 10:16:23 +08:00
|
|
|
<layout-default-header-item direction="right" hidden="mobile">
|
2021-11-28 14:58:20 +08:00
|
|
|
<header-notify></header-notify>
|
|
|
|
|
</layout-default-header-item>
|
2021-11-27 22:21:52 +08:00
|
|
|
<layout-default-header-item direction="right" hidden="mobile">
|
|
|
|
|
<div layout-default-header-item-trigger nz-dropdown [nzDropdownMenu]="settingsMenu" nzTrigger="click" nzPlacement="bottomRight">
|
|
|
|
|
<i nz-icon nzType="setting"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<nz-dropdown-menu #settingsMenu="nzDropdownMenu">
|
|
|
|
|
<div nz-menu style="width: 200px;">
|
|
|
|
|
<div nz-menu-item>
|
|
|
|
|
<header-fullscreen></header-fullscreen>
|
|
|
|
|
</div>
|
|
|
|
|
<div nz-menu-item>
|
|
|
|
|
<header-clear-storage></header-clear-storage>
|
|
|
|
|
</div>
|
|
|
|
|
<div nz-menu-item>
|
|
|
|
|
<header-i18n></header-i18n>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</nz-dropdown-menu>
|
|
|
|
|
</layout-default-header-item>
|
|
|
|
|
<layout-default-header-item direction="right">
|
|
|
|
|
<header-user></header-user>
|
|
|
|
|
</layout-default-header-item>
|
|
|
|
|
<ng-template #asideUserTpl>
|
2021-12-23 15:59:49 +08:00
|
|
|
<div nz-dropdown nzTrigger="click" class="alain-default__aside-user">
|
|
|
|
|
<nz-avatar class="alain-default__aside-user-avatar" [nzSrc]="avatar"></nz-avatar>
|
2021-11-27 22:21:52 +08:00
|
|
|
<div class="alain-default__aside-user-info">
|
|
|
|
|
<strong>{{ user.name }}</strong>
|
|
|
|
|
<p class="mb0">{{ user.email }}</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</ng-template>
|
|
|
|
|
<ng-template #contentTpl>
|
|
|
|
|
<router-outlet></router-outlet>
|
|
|
|
|
</ng-template>
|
|
|
|
|
</layout-default>
|
|
|
|
|
|
|
|
|
|
<setting-drawer *ngIf="showSettingDrawer"></setting-drawer>
|
2022-03-07 09:03:36 +08:00
|
|
|
<theme-btn
|
|
|
|
|
[types]="[
|
2022-04-11 22:58:22 +08:00
|
|
|
{ key: 'default', text: 'app.theme.default' | i18n },
|
|
|
|
|
{ key: 'dark', text: 'app.theme.dark' | i18n },
|
|
|
|
|
{ key: 'compact', text: 'app.theme.compact' | i18n }
|
2022-03-07 09:03:36 +08:00
|
|
|
]"
|
|
|
|
|
></theme-btn>
|
2021-12-23 15:59:49 +08:00
|
|
|
`
|
2021-11-27 22:21:52 +08:00
|
|
|
})
|
|
|
|
|
export class LayoutBasicComponent {
|
|
|
|
|
options: LayoutDefaultOptions = {
|
2021-12-15 22:18:14 +08:00
|
|
|
logoExpanded: `./assets/brand_white.svg`,
|
2021-12-23 15:59:49 +08:00
|
|
|
logoCollapsed: `./assets/logo.svg`
|
2021-11-27 22:21:52 +08:00
|
|
|
};
|
2021-12-23 15:59:49 +08:00
|
|
|
avatar: string = `./assets/logo.svg`;
|
2021-11-27 22:21:52 +08:00
|
|
|
searchToggleStatus = false;
|
|
|
|
|
showSettingDrawer = !environment.production;
|
|
|
|
|
get user(): User {
|
|
|
|
|
return this.settings.user;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
constructor(private settings: SettingsService) {}
|
|
|
|
|
}
|