filemantis-electron
filemantis-electron
is a small Module for Angular which makes calling Electron APIs from the Renderer Process
easier. By adding it to your Angular project, you'll get IntelliSense and a simple Angular service which acts as facade for Electron APIs.
filemantis-electron
is licensed under MIT.
Introduction
Checkout the introduction post on my blog for more details.
Support me
Installation
filemantis-electron
can be installed easily using either yarn
or npm
commands in the scope of an angular project.
yarn add filemantis-electron --save
# or
npm install filemantis-electron --save
The FileMantisElectronModule
needs to be import in your root
Angular module (eg AppModule
).
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { FileMantisElectronModule } from 'filemantis-electron';
@NgModule({
declarations: [],
imports: [
BrowserModule,
FileMantisElectronModule
],
bootstrap: [AppComponent]
})
export class AppModule {
}
Once the module has been imported, you can easily use dependency injection to get an instance of ElectronService
.
import { Component } from '@angular/core';
import { ElectronService } from 'filemantis-electron';
@Component({
selector: 'my-app',
templateUrl: 'app.html'
})
export class AppComponent {
constructor(private _electronService: ElectronService) { }
public playPingPong() {
if(this._electronService.isElectronApp) {
let pong: string = this._electronService.ipcRenderer.sendSync('ping');
console.log(pong);
}
}
}
ElectronService
The ElectronService
is exposing all API's accessible from within Electron's renderer process. If your app is not running inside electron, all getters will return NULL instead.
Properties
-
desktopCapturer: Electron.DesktopCapturer
- Electron's desktop capturing API -
ipcRenderer: Electron.IpcRenderer
- Electron IpcRenderer -
remote: Electron.Remote
- Electron Remote capabilities -
webFrame: Electron.WebFrame
- Electron WebFrame -
clipboard: Electron.Clipboard
- Clipboard API -
crashReporter: Electron.CrashReporter
- Electron's CrashReporter -
process: NodeJS.Process
- Electron's Process Object -
screen: Electron.Screen
- Electron's Screen API -
shell: Electron.Shell
- Electron's Shell API -
nativeImage: Electron.NativeImage
- Electron's NativeImage API -
isElectronApp: boolean
- Indicates if app is being executed inside of electron or not -
isMacOS: boolean
- Indicates if app is running in electron and onmacOS
-
isWindows: boolean
- Indicates if app is running in electron and onWindows
-
isLinux: boolean
- Indicates if app is running in electron and onLinux
-
isX86: boolean
- Indicates if app is running in electron and on ax86
architecture -
isX64: boolean
- Indicates if app is running in electron and on ax64
architecture -
isArm: boolean
- Indiciates it app is running in electron adn on aARM
architecture