project have been initialized
This commit is contained in:
9
@overflow/commons/ui/component/index.ts
Normal file
9
@overflow/commons/ui/component/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import {
|
||||
TitleBarComponent,
|
||||
WindowControlsComponent,
|
||||
} from './window';
|
||||
|
||||
export const COMPONENTS = [
|
||||
TitleBarComponent,
|
||||
WindowControlsComponent,
|
||||
];
|
||||
2
@overflow/commons/ui/component/window/index.ts
Normal file
2
@overflow/commons/ui/component/window/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export { TitleBarComponent } from './title-bar.component';
|
||||
export { WindowControlsComponent } from './window-controls.component';
|
||||
@@ -0,0 +1,12 @@
|
||||
<div [ngClass]="titleBarClass" id="app-title-bar" (dblclick)="onTitlebarDoubleClick($event)" [ngStyle]="style">
|
||||
<div *ngIf="showTopResize" class="resize-handle top"></div>
|
||||
<div *ngIf="showLeftResize" class="resize-handle left"></div>
|
||||
<svg aria-hidden="true" class="app-icon" version="1.1" viewBox="0 0 16 16" width="16" height="16">
|
||||
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01
|
||||
1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12
|
||||
0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82
|
||||
2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"
|
||||
/>
|
||||
</svg>
|
||||
<of-window-controls></of-window-controls>
|
||||
</div>
|
||||
22
@overflow/commons/ui/component/window/title-bar.component.ts
Normal file
22
@overflow/commons/ui/component/window/title-bar.component.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'of-title-bar',
|
||||
templateUrl: './title-bar.component.html',
|
||||
})
|
||||
export class TitleBarComponent implements OnInit {
|
||||
|
||||
private style: string;
|
||||
private titleBarClass: string;
|
||||
private showTopResize: boolean;
|
||||
private showLeftResize: boolean;
|
||||
|
||||
constructor(
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
onTitlebarDoubleClick() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<span class="window-controls">
|
||||
<button aria-label="minimize" tabindex="-1" class="window-control minimize" (click)="onMinimize($event)">
|
||||
<svg aria-hidden="true" version="1.1" width="10" height="10">
|
||||
<path d="M 0,5 10,5 10,6 0,6 Z" />
|
||||
</svg>
|
||||
</button>
|
||||
<ng-container [ngSwitch]="windowState">
|
||||
<button *ngSwitchCase="maximized" aria-label="restore" tabindex="-1" class="window-control restore" (click)="onRestore($event)">
|
||||
<svg aria-hidden="true" version="1.1" width="10" height="10">
|
||||
<path d="m 2,1e-5 0,2 -2,0 0,8 8,0 0,-2 2,0 0,-8 z m 1,1 6,0 0,6 -1,0 0,-5 -5,0 z m -2,2 6,0 0,6 -6,0 z" />
|
||||
</svg>
|
||||
</button>
|
||||
<button *ngSwitchDefault aria-label="maximize" tabindex="-1" class="window-control maximize" (click)="onMaximize($event)">
|
||||
<svg aria-hidden="true" version="1.1" width="10" height="10">
|
||||
<path d="M 0,0 0,10 10,10 10,0 Z M 1,1 9,1 9,9 1,9 Z" />
|
||||
</svg>
|
||||
</button>
|
||||
</ng-container>
|
||||
<button aria-label="close" tabindex="-1" class="window-control close" (click)="onClose($event)">
|
||||
<svg aria-hidden="true" version="1.1" width="10" height="10">
|
||||
<path d="M 0,0 0,0.7 4.3,5 0,9.3 0,10 0.7,10 5,5.7 9.3,10 10,10 10,9.3 5.7,5 10,0.7 10,0 9.3,0 5,4.3 0.7,0 Z" />
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
@@ -0,0 +1,34 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ipcRenderer, remote } from 'electron';
|
||||
|
||||
@Component({
|
||||
selector: 'of-window-controls',
|
||||
templateUrl: './window-controls.component.html',
|
||||
})
|
||||
export class WindowControlsComponent implements OnInit {
|
||||
|
||||
private windowState: string;
|
||||
|
||||
constructor(
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
onMinimize() {
|
||||
remote.getCurrentWindow().minimize();
|
||||
}
|
||||
|
||||
onRestore() {
|
||||
remote.getCurrentWindow().unmaximize();
|
||||
}
|
||||
|
||||
onMaximize() {
|
||||
remote.getCurrentWindow().maximize();
|
||||
}
|
||||
|
||||
onClose() {
|
||||
remote.getCurrentWindow().close();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user