Initial commit

This commit is contained in:
undergroundwires
2019-12-31 16:09:39 +01:00
commit 4e7f244190
108 changed files with 17296 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
import { TreeBootstrapper } from './Modules/TreeBootstrapper';
import { IconBootstrapper } from './Modules/IconBootstrapper';
import { VueConstructor, IVueBootstrapper } from './IVueBootstrapper';
import { VueBootstrapper } from './Modules/VueBootstrapper';
import { TooltipBootstrapper } from './Modules/TooltipBootstrapper';
export class ApplicationBootstrapper implements IVueBootstrapper {
public bootstrap(vue: VueConstructor): void {
vue.config.productionTip = false;
const bootstrappers = this.getAllBootstrappers();
for (const bootstrapper of bootstrappers) {
bootstrapper.bootstrap(vue);
}
}
private getAllBootstrappers(): IVueBootstrapper[] {
return [
new IconBootstrapper(),
new TreeBootstrapper(),
new VueBootstrapper(),
new TooltipBootstrapper(),
];
}
}

View File

@@ -0,0 +1,7 @@
import { VueConstructor } from 'vue';
export interface IVueBootstrapper {
bootstrap(vue: VueConstructor): void;
}
export { VueConstructor };

View File

@@ -0,0 +1,18 @@
import { IVueBootstrapper, VueConstructor } from './../IVueBootstrapper';
import { library } from '@fortawesome/fontawesome-svg-core';
import { faGithub } from '@fortawesome/free-brands-svg-icons';
/** BRAND ICONS (PREFIX: fab) */
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
/** REGULAR ICONS (PREFIX: far) */
import { faFolderOpen, faFolder } from '@fortawesome/free-regular-svg-icons';
/** SOLID ICONS (PREFIX: fas (default)) */
import { faTimes, faFileDownload, faCopy, faSearch, faInfoCircle } from '@fortawesome/free-solid-svg-icons';
export class IconBootstrapper implements IVueBootstrapper {
public bootstrap(vue: VueConstructor): void {
library.add(faGithub, faFolderOpen, faFolder,
faTimes, faFileDownload, faCopy, faSearch, faInfoCircle);
vue.component('font-awesome-icon', FontAwesomeIcon);
}
}

View File

@@ -0,0 +1,8 @@
import { VueConstructor, IVueBootstrapper } from '../IVueBootstrapper';
import VTooltip from 'v-tooltip';
export class TooltipBootstrapper implements IVueBootstrapper {
public bootstrap(vue: VueConstructor): void {
vue.use(VTooltip);
}
}

View File

@@ -0,0 +1,8 @@
import LiquorTree from 'liquor-tree';
import { VueConstructor, IVueBootstrapper } from './../IVueBootstrapper';
export class TreeBootstrapper implements IVueBootstrapper {
public bootstrap(vue: VueConstructor): void {
vue.use(LiquorTree);
}
}

View File

@@ -0,0 +1,7 @@
import { VueConstructor, IVueBootstrapper } from './../IVueBootstrapper';
export class VueBootstrapper implements IVueBootstrapper {
public bootstrap(vue: VueConstructor): void {
vue.config.productionTip = false;
}
}