* add @angular/cli to the project * increase nodejs version -> 8.2.1 * add lerna * merge web and shared module * move electron module into packages as uhk-agent Electron agent functionality is not working * delete symlinker * convert private properties to public of component if used in html * revert uhk-message.component * fix component path * fix the correct name of the uhk-message.component.scss * building web and electron module * delete uhk-renderer package * handle device connect disconnect state * add privilege detection * fix set privilege functionality * turn back download keymap functionality * add bootstrap, select2 js and fix null pointer exception * turn back upload data to keyboard * fix send keymap * fix test-serializer * add missing package.json * merging * fix appveyor build * fix linting * turn back electron storage service * commit the missing electron-datastorage-repository * update node to 8.3.0 in .nvmrc and log node version in appveyor build * set exact version number in appveyor build * vertical align privilege and missing device components * set back node version to 8 in appveyor * move node-usb dependency from usb dir to root maybe it is fix the appveyor build * revert usb to root * fix electron builder script * fix electron builder script * turn off electron devtools * remove CTRL+U functionality * fix CTRL+o * fix lint error * turnoff store freeze * start process when got `Error: EPERM: operation not permitted` error * move files from root usb dir -> packages/usb
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
|
|
import { SvgModule } from '../components/svg/module';
|
|
import { KeyboardLayout } from '../keyboard/keyboard-layout.enum';
|
|
|
|
@Injectable()
|
|
export class SvgModuleProviderService {
|
|
|
|
private ansiLeft: SvgModule;
|
|
private isoLeft: SvgModule;
|
|
private right: SvgModule;
|
|
|
|
getSvgModules(layout = KeyboardLayout.ANSI): SvgModule[] {
|
|
return [this.getRightModule(), this.getLeftModule(layout)];
|
|
}
|
|
|
|
private getLeftModule(layout = KeyboardLayout.ANSI): SvgModule {
|
|
if (layout === KeyboardLayout.ISO) {
|
|
if (!this.isoLeft) {
|
|
this.isoLeft = new SvgModule(require('xml-loader!../../modules/uhk60-left-half/layout-iso.xml').svg);
|
|
}
|
|
return this.isoLeft;
|
|
}
|
|
if (!this.ansiLeft) {
|
|
this.ansiLeft = new SvgModule(require('xml-loader!../../modules/uhk60-left-half/layout-ansi.xml').svg);
|
|
}
|
|
return this.ansiLeft;
|
|
}
|
|
|
|
private getRightModule(): SvgModule {
|
|
|
|
if (!this.right) {
|
|
this.right = new SvgModule(require('xml-loader!../../modules/uhk60-right-half/layout.xml').svg);
|
|
}
|
|
return this.right;
|
|
}
|
|
}
|