mirror of https://github.com/Squidex/squidex.git
43 changed files with 338 additions and 121 deletions
@ -0,0 +1 @@ |
|||||
|
<router-outlet></router-outlet> |
||||
@ -0,0 +1,14 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import * as Ng2 from '@angular/core'; |
||||
|
|
||||
|
@Ng2.Component({ |
||||
|
selector: 'sqx-app-area', |
||||
|
template |
||||
|
}) |
||||
|
export class AppAreaComponent { } |
||||
@ -0,0 +1,14 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import * as Ng2 from '@angular/core'; |
||||
|
|
||||
|
@Ng2.Component({ |
||||
|
selector: 'sqx-dashboard-page', |
||||
|
template |
||||
|
}) |
||||
|
export class DashboardComponent { } |
||||
@ -1,5 +1,5 @@ |
|||||
@import '../../theme/_vars.scss'; |
@import '../../../theme/_vars.scss'; |
||||
@import '../../theme/_mixins.scss'; |
@import '../../../theme/_mixins.scss'; |
||||
|
|
||||
content { |
content { |
||||
padding: 20px; |
padding: 20px; |
||||
@ -0,0 +1,12 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
export * from './apps/apps-page.component'; |
||||
|
export * from './app/app-area.component'; |
||||
|
export * from './app/dashboard/dashboard-page.component'; |
||||
|
|
||||
|
export * from './internal-area.component'; |
||||
@ -0,0 +1,17 @@ |
|||||
|
<nav class="navbar navbar-fixed-top navbar-dark bg-primary bg-faded"> |
||||
|
<span class="navbar-brand"> |
||||
|
<i class="icon-logo"></i> |
||||
|
</span> |
||||
|
|
||||
|
<div class="float-xs-left apps-menu"> |
||||
|
<sqx-apps-menu></sqx-apps-menu> |
||||
|
</div> |
||||
|
|
||||
|
<div class="float-xs-left search-form"> |
||||
|
<sqx-search-form></sqx-search-form> |
||||
|
</div> |
||||
|
</nav> |
||||
|
|
||||
|
<main> |
||||
|
<router-outlet></router-outlet> |
||||
|
</main> |
||||
@ -1,4 +1,4 @@ |
|||||
@import 'theme/mixins.scss'; |
@import '../../theme/mixins.scss'; |
||||
|
|
||||
.navbar { |
.navbar { |
||||
@include box-shadow(0, 4px, 4px, 0.2px); |
@include box-shadow(0, 4px, 4px, 0.2px); |
||||
@ -0,0 +1,35 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import * as Ng2 from '@angular/core'; |
||||
|
|
||||
|
import { |
||||
|
fadeAnimation, |
||||
|
ModalView, |
||||
|
TitleService |
||||
|
} from './../../framework'; |
||||
|
|
||||
|
@Ng2.Component({ |
||||
|
selector: 'sqx-internal-area', |
||||
|
styles, |
||||
|
template, |
||||
|
animations: [ |
||||
|
fadeAnimation() |
||||
|
] |
||||
|
}) |
||||
|
export class InternalAreaComponent implements Ng2.OnInit { |
||||
|
public modalDialog = new ModalView(); |
||||
|
|
||||
|
constructor( |
||||
|
private readonly title: TitleService |
||||
|
) { |
||||
|
} |
||||
|
|
||||
|
public ngOnInit() { |
||||
|
this.title.setTitle('Apps'); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,32 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import * as Ng2 from '@angular/core'; |
||||
|
|
||||
|
import { SqxFrameworkModule } from './../../framework'; |
||||
|
import { SqxLayoutModule } from './../layout'; |
||||
|
|
||||
|
import { |
||||
|
AppAreaComponent, |
||||
|
AppsPageComponent, |
||||
|
DashboardComponent, |
||||
|
InternalAreaComponent |
||||
|
} from './declarations'; |
||||
|
|
||||
|
@Ng2.NgModule({ |
||||
|
imports: [ |
||||
|
SqxFrameworkModule, |
||||
|
SqxLayoutModule |
||||
|
], |
||||
|
declarations: [ |
||||
|
AppAreaComponent, |
||||
|
AppsPageComponent, |
||||
|
DashboardComponent, |
||||
|
InternalAreaComponent |
||||
|
] |
||||
|
}) |
||||
|
export class SqxAppModule { } |
||||
@ -0,0 +1,12 @@ |
|||||
|
<a class="dropdown-item all-apps" routerLink="/apps"> |
||||
|
<span class="all-apps-text">All Apps</span> |
||||
|
<span class="all-apps-pill tag tag-pill tag-default">{{apps.length || 0}}</span> |
||||
|
</a> |
||||
|
|
||||
|
<div class="dropdown-divider"></div> |
||||
|
|
||||
|
<div *ngIf="apps && apps.length > 0"> |
||||
|
<a class="dropdown-item" *ngFor="let app of apps" [routerLink]="['/app', app.name]">{{app.name}}</a> |
||||
|
|
||||
|
<div class="dropdown-divider"></div> |
||||
|
</div> |
||||
@ -0,0 +1,19 @@ |
|||||
|
@import '_vars.scss'; |
||||
|
@import '_mixins.scss'; |
||||
|
|
||||
|
.all-apps { |
||||
|
& { |
||||
|
position: relative; |
||||
|
} |
||||
|
|
||||
|
&-text { |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
|
||||
|
&-pill { |
||||
|
@include absolute(6px, 10px, auto, auto); |
||||
|
color: $accent-blue; |
||||
|
border: none; |
||||
|
background: $accent-blue-lighter; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,21 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
import * as Ng2 from '@angular/core'; |
||||
|
|
||||
|
import { AppDto } from 'shared'; |
||||
|
|
||||
|
@Ng2.Component({ |
||||
|
selector: 'sqx-apps-menu-list', |
||||
|
styles, |
||||
|
template |
||||
|
}) |
||||
|
export class AppsMenuListComponent { |
||||
|
|
||||
|
@Ng2.Input() |
||||
|
public apps: AppDto[]; |
||||
|
} |
||||
@ -0,0 +1,10 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Sebastian Stehle. All rights reserved |
||||
|
*/ |
||||
|
|
||||
|
export * from './declarations'; |
||||
|
|
||||
|
export * from './public.module'; |
||||
Loading…
Reference in new issue