mirror of https://github.com/keeweb/keeweb.git
exports
This commit is contained in:
parent
0dea89c0de
commit
9859e921d2
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"rules": {
|
||||
"import/no-commonjs": "error"
|
||||
}
|
||||
}
|
|
@ -75,7 +75,7 @@ ready(() => {
|
|||
KdbxwebInit.init();
|
||||
FocusDetector.init();
|
||||
window.kw = ExportApi;
|
||||
return PluginManager.instance.init();
|
||||
return PluginManager.init();
|
||||
}
|
||||
|
||||
function showSettingsLoadError() {
|
||||
|
@ -141,10 +141,7 @@ ready(() => {
|
|||
Updater.init();
|
||||
SingleInstanceChecker.init();
|
||||
AppRightsChecker.init();
|
||||
setTimeout(
|
||||
() => PluginManager.instance.runAutoUpdate(),
|
||||
Timeouts.AutoUpdatePluginsAfterStart
|
||||
);
|
||||
setTimeout(() => PluginManager.runAutoUpdate(), Timeouts.AutoUpdatePluginsAfterStart);
|
||||
}
|
||||
|
||||
function showView() {
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
import EventEmitter from 'events';
|
||||
|
||||
class EventBus extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
this.setMaxListeners(100);
|
||||
}
|
||||
}
|
||||
|
||||
const instance = new EventBus();
|
||||
|
||||
export { instance as EventBus };
|
|
@ -141,7 +141,7 @@ const AppModel = Backbone.Model.extend({
|
|||
}
|
||||
if (config.plugins) {
|
||||
const pluginsPromises = config.plugins.map(plugin =>
|
||||
PluginManager.instance.installIfNew(plugin.url, plugin.manifest, true)
|
||||
PluginManager.installIfNew(plugin.url, plugin.manifest, true)
|
||||
);
|
||||
return Promise.all(pluginsPromises).then(() => {
|
||||
this.settings.set(config.settings);
|
||||
|
|
|
@ -233,6 +233,6 @@ const PluginManager = Backbone.Model.extend({
|
|||
}
|
||||
});
|
||||
|
||||
PluginManager.instance = new PluginManager();
|
||||
const instance = new PluginManager();
|
||||
|
||||
export { PluginManager };
|
||||
export { instance as PluginManager };
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { Color } from 'util/data/color';
|
||||
|
||||
const ThemeVarsScss = require('raw-loader!../../styles/base/_theme-vars.scss').default;
|
||||
// eslint-disable-next-line import/no-commonjs
|
||||
const ThemeDefaults = require('../../styles/themes/_theme-defaults.scss');
|
||||
|
||||
const ThemeVars = {
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import { Keys } from 'const/keys';
|
||||
import { Locale } from 'util/locale';
|
||||
|
|
|
@ -40,7 +40,7 @@ class SettingsPluginsView extends View {
|
|||
|
||||
constructor(model, options) {
|
||||
super(model, options);
|
||||
this.listenTo(PluginManager.instance, 'change', this.render.bind(this));
|
||||
this.listenTo(PluginManager, 'change', this.render.bind(this));
|
||||
this.listenTo(
|
||||
Backbone,
|
||||
'plugin-gallery-load-complete',
|
||||
|
@ -50,8 +50,7 @@ class SettingsPluginsView extends View {
|
|||
|
||||
render() {
|
||||
super.render({
|
||||
plugins: PluginManager.instance
|
||||
.get('plugins')
|
||||
plugins: PluginManager.get('plugins')
|
||||
.map(plugin => ({
|
||||
id: plugin.id,
|
||||
manifest: plugin.get('manifest'),
|
||||
|
@ -90,7 +89,7 @@ class SettingsPluginsView extends View {
|
|||
if (!PluginGallery.gallery) {
|
||||
return null;
|
||||
}
|
||||
const plugins = PluginManager.instance.get('plugins');
|
||||
const plugins = PluginManager.get('plugins');
|
||||
return PluginGallery.gallery.plugins
|
||||
.map(pl => ({
|
||||
url: pl.url,
|
||||
|
@ -145,8 +144,7 @@ class SettingsPluginsView extends View {
|
|||
urlTextBox.prop('disabled', true);
|
||||
installBtn.text(Locale.setPlInstallBtnProgress + '...').prop('disabled', true);
|
||||
this.installFromUrl = { url };
|
||||
PluginManager.instance
|
||||
.install(url, undefined, true)
|
||||
PluginManager.install(url, undefined, true)
|
||||
.then(() => {
|
||||
this.installFinished();
|
||||
this.installFromUrl = null;
|
||||
|
@ -170,22 +168,22 @@ class SettingsPluginsView extends View {
|
|||
|
||||
uninstallClick(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
PluginManager.instance.uninstall(pluginId);
|
||||
PluginManager.uninstall(pluginId);
|
||||
}
|
||||
|
||||
disableClick(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
PluginManager.instance.disable(pluginId);
|
||||
PluginManager.disable(pluginId);
|
||||
}
|
||||
|
||||
enableClick(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
PluginManager.instance.activate(pluginId);
|
||||
PluginManager.activate(pluginId);
|
||||
}
|
||||
|
||||
updateClick(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
PluginManager.instance.update(pluginId);
|
||||
PluginManager.update(pluginId);
|
||||
}
|
||||
|
||||
useLocaleClick(e) {
|
||||
|
@ -205,8 +203,7 @@ class SettingsPluginsView extends View {
|
|||
installBtn.text(Locale.setPlInstallBtnProgress + '...').prop('disabled', true);
|
||||
this.installing[plugin.url] = true;
|
||||
delete this.installErrors[plugin.url];
|
||||
PluginManager.instance
|
||||
.install(plugin.url, plugin.manifest)
|
||||
PluginManager.install(plugin.url, plugin.manifest)
|
||||
.catch(e => {
|
||||
this.installErrors[plugin.url] = e;
|
||||
delete this.installing[plugin.url];
|
||||
|
@ -254,14 +251,14 @@ class SettingsPluginsView extends View {
|
|||
const setting = settingEl.data('setting');
|
||||
const pluginId = settingEl.data('plugin');
|
||||
const val = el.type === 'checkbox' ? el.checked : el.value;
|
||||
const plugin = PluginManager.instance.getPlugin(pluginId);
|
||||
const plugin = PluginManager.getPlugin(pluginId);
|
||||
plugin.setSettings({ [setting]: val });
|
||||
}
|
||||
|
||||
autoUpdateChange(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
const enabled = e.target.checked;
|
||||
PluginManager.instance.setAutoUpdate(pluginId, enabled);
|
||||
PluginManager.setAutoUpdate(pluginId, enabled);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<h3>Libraries</h3>
|
||||
<ul>
|
||||
<li><a href="https://electron.atom.io/" target="_blank">electron</a><span class="muted-color">, cross-platform desktop apps framework</span></li>
|
||||
<li><a href="https://github.com/patrick-steele-idem/morphdom" target="_blank">morphdom</a><span class="muted-color">, fast and lightweight DOM diffing/patching</span></li>
|
||||
<li><a href="https://backbonejs.org/" target="_blank">backbone</a><span class="muted-color">, JavaScript framework</span></li>
|
||||
<li><a href="https://underscorejs.org/" target="_blank">underscore</a><span class="muted-color">, utility-belt library for JavaScript</span></li>
|
||||
<li><a href="https://jquery.com/" target="_blank">jQuery</a><span class="muted-color">, fast, small, and feature-rich JavaScript library</span></li>
|
||||
|
|
Loading…
Reference in New Issue