mirror of https://github.com/keeweb/keeweb.git
events
This commit is contained in:
parent
7f30350873
commit
2fcc6f2ea3
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { FileInfoCollection } from 'collections/file-info-collection';
|
||||
import { AppRightsChecker } from 'comp/app/app-rights-checker';
|
||||
import { ExportApi } from 'comp/app/export-api';
|
||||
|
@ -147,7 +147,7 @@ ready(() => {
|
|||
function showView() {
|
||||
appModel.prepare();
|
||||
new AppView(appModel).render();
|
||||
Backbone.trigger('app-ready');
|
||||
Events.emit('app-ready');
|
||||
logStartupTime();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { AutoTypeFilter } from 'auto-type/auto-type-filter';
|
||||
import { AutoTypeHelperFactory } from 'auto-type/auto-type-helper-factory';
|
||||
import { AutoTypeParser } from 'auto-type/auto-type-parser';
|
||||
|
@ -25,8 +25,8 @@ const AutoType = {
|
|||
return;
|
||||
}
|
||||
this.appModel = appModel;
|
||||
Backbone.on('auto-type', this.handleEvent, this);
|
||||
Backbone.on('main-window-blur main-window-will-close', this.resetPendingEvent, this);
|
||||
Events.on('auto-type', e => this.handleEvent(e));
|
||||
Events.on('main-window-blur main-window-will-close', e => this.resetPendingEvent(e));
|
||||
},
|
||||
|
||||
handleEvent(e) {
|
||||
|
@ -66,7 +66,7 @@ const AutoType = {
|
|||
});
|
||||
|
||||
if (AppSettingsModel.instance.get('lockOnAutoType')) {
|
||||
Backbone.trigger('lock-workspace');
|
||||
Events.emit('lock-workspace');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -249,15 +249,11 @@ const AutoType = {
|
|||
this.selectEntryView.render();
|
||||
this.selectEntryView.on('show-open-files', () => {
|
||||
this.selectEntryView.hide();
|
||||
Backbone.trigger('open-file');
|
||||
Backbone.once(
|
||||
'closed-open-view',
|
||||
() => {
|
||||
this.selectEntryView.show();
|
||||
this.selectEntryView.setupKeys();
|
||||
},
|
||||
this
|
||||
);
|
||||
Events.emit('open-file');
|
||||
Events.once('closed-open-view', () => {
|
||||
this.selectEntryView.show();
|
||||
this.selectEntryView.setupKeys();
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
|
||||
const LocalStorageKeyName = 'instanceCheck';
|
||||
|
@ -26,7 +26,7 @@ const SingleInstanceChecker = {
|
|||
);
|
||||
} else if (e.key === LocalStorageResponseKeyName && e.newValue.indexOf(instanceKey) < 0) {
|
||||
window.removeEventListener('storage', SingleInstanceChecker.storageChanged);
|
||||
Backbone.trigger('second-instance');
|
||||
Events.emit('second-instance');
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { RuntimeInfo } from 'comp/app/runtime-info';
|
||||
import { Transport } from 'comp/browser/transport';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
|
@ -193,7 +193,7 @@ const Updater = {
|
|||
} else {
|
||||
UpdateModel.instance.set({ updateStatus: 'ready', updateError: null });
|
||||
if (!startedByUser) {
|
||||
Backbone.trigger('update-app');
|
||||
Events.emit('update-app');
|
||||
}
|
||||
if (typeof successCallback === 'function') {
|
||||
successCallback();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
|
||||
|
@ -15,10 +15,10 @@ const CopyPaste = {
|
|||
Launcher.clearClipboardText();
|
||||
}
|
||||
};
|
||||
Backbone.on('main-window-will-close', clearClipboard);
|
||||
Events.on('main-window-will-close', clearClipboard);
|
||||
setTimeout(() => {
|
||||
clearClipboard();
|
||||
Backbone.off('main-window-will-close', clearClipboard);
|
||||
Events.off('main-window-will-close', clearClipboard);
|
||||
}, clipboardSeconds * 1000);
|
||||
}
|
||||
return { success: true, seconds: clipboardSeconds };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
import { Features } from 'util/features';
|
||||
|
||||
|
@ -10,13 +10,13 @@ const FocusDetector = {
|
|||
window.addEventListener('focus', () => {
|
||||
if (!FocusDetector.isFocused) {
|
||||
FocusDetector.isFocused = true;
|
||||
Backbone.trigger('main-window-focus');
|
||||
Events.emit('main-window-focus');
|
||||
}
|
||||
});
|
||||
window.addEventListener('blur', () => {
|
||||
if (FocusDetector.isFocused) {
|
||||
FocusDetector.isFocused = false;
|
||||
Backbone.trigger('main-window-blur');
|
||||
Events.emit('main-window-blur');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
|
||||
const IdleTracker = {
|
||||
|
@ -10,7 +10,7 @@ const IdleTracker = {
|
|||
const idleMinutes = (Date.now() - this.actionTime) / 1000 / 60;
|
||||
const maxIdleMinutes = AppSettingsModel.instance.get('idleMinutes');
|
||||
if (maxIdleMinutes && idleMinutes > maxIdleMinutes) {
|
||||
Backbone.trigger('user-idle');
|
||||
Events.emit('user-idle');
|
||||
}
|
||||
},
|
||||
regUserAction() {
|
||||
|
@ -18,6 +18,6 @@ const IdleTracker = {
|
|||
}
|
||||
};
|
||||
|
||||
Backbone.on('power-monitor-resume', IdleTracker.checkIdle, IdleTracker);
|
||||
Events.on('power-monitor-resume', () => IdleTracker.checkIdle);
|
||||
|
||||
export { IdleTracker };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { AuthReceiver } from 'comp/browser/auth-receiver';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
import { Alerts } from 'comp/ui/alerts';
|
||||
|
@ -21,7 +21,7 @@ const PopupNotifier = {
|
|||
const win = windowOpen.apply(window, args);
|
||||
if (win) {
|
||||
PopupNotifier.deferCheckClosed(win);
|
||||
Backbone.trigger('popup-opened', win);
|
||||
Events.emit('popup-opened', win);
|
||||
} else {
|
||||
if (!Alerts.alertDisplayed) {
|
||||
Alerts.error({
|
||||
|
@ -117,7 +117,7 @@ const PopupNotifier = {
|
|||
win = null;
|
||||
});
|
||||
win.loadURL(url);
|
||||
Backbone.trigger('popup-opened', win);
|
||||
Events.emit('popup-opened', win);
|
||||
return win;
|
||||
},
|
||||
|
||||
|
@ -153,7 +153,7 @@ const PopupNotifier = {
|
|||
},
|
||||
|
||||
triggerClosed(win) {
|
||||
Backbone.trigger('popup-closed', win);
|
||||
Events.emit('popup-closed', win);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* global FingerprintAuth */
|
||||
|
||||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
|
||||
const Launcher = {
|
||||
name: 'cordova',
|
||||
|
@ -13,7 +13,7 @@ const Launcher = {
|
|||
document.addEventListener(
|
||||
'pause',
|
||||
() => {
|
||||
Backbone.trigger('app-minimized');
|
||||
Events.emit('app-minimized');
|
||||
},
|
||||
false
|
||||
);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Locale } from 'util/locale';
|
||||
import { Logger } from 'util/logger';
|
||||
|
||||
|
@ -287,7 +287,7 @@ const Launcher = {
|
|||
},
|
||||
openFile(file) {
|
||||
if (this.readyToOpenFiles) {
|
||||
Backbone.trigger('launcher-open-file', file);
|
||||
Events.emit('launcher-open-file', file);
|
||||
} else {
|
||||
this.pendingFileToOpen = file;
|
||||
}
|
||||
|
@ -297,16 +297,16 @@ const Launcher = {
|
|||
}
|
||||
};
|
||||
|
||||
Backbone.on('launcher-exit-request', () => {
|
||||
Events.on('launcher-exit-request', () => {
|
||||
setTimeout(() => Launcher.exit(), 0);
|
||||
});
|
||||
Backbone.on('launcher-minimize', () => setTimeout(() => Backbone.trigger('app-minimized'), 0));
|
||||
Events.on('launcher-minimize', () => setTimeout(() => Events.emit('app-minimized'), 0));
|
||||
window.launcherOpen = file => Launcher.openFile(file);
|
||||
if (window.launcherOpenedFile) {
|
||||
logger.info('Open file request', window.launcherOpenedFile);
|
||||
Launcher.openFile(window.launcherOpenedFile);
|
||||
delete window.launcherOpenedFile;
|
||||
}
|
||||
Backbone.on('app-ready', () => setTimeout(() => Launcher.checkOpenFiles(), 0));
|
||||
Events.on('app-ready', () => setTimeout(() => Launcher.checkOpenFiles(), 0));
|
||||
|
||||
export { Launcher };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Features } from 'util/features';
|
||||
import { Locale } from 'util/locale';
|
||||
|
||||
|
@ -85,7 +85,7 @@ const SettingsManager = {
|
|||
}
|
||||
_.extend(Locale, this.neutralLocale, localeValues);
|
||||
this.activeLocale = loc;
|
||||
Backbone.trigger('set-locale', loc);
|
||||
Events.emit('set-locale', loc);
|
||||
},
|
||||
|
||||
getBrowserLocale() {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import EventEmitter from 'events';
|
||||
|
||||
class EventBus extends EventEmitter {
|
||||
class Events extends EventEmitter {
|
||||
constructor() {
|
||||
super();
|
||||
this.setMaxListeners(100);
|
||||
}
|
||||
}
|
||||
|
||||
const instance = new EventBus();
|
||||
const instance = new Events();
|
||||
|
||||
export { instance as EventBus };
|
||||
export { instance as Events };
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
import { Locale } from 'util/locale';
|
||||
import { Tip } from 'util/ui/tip';
|
||||
|
@ -41,7 +41,7 @@ const Copyable = {
|
|||
AppSettingsModel.instance.get('lockOnCopy')
|
||||
) {
|
||||
setTimeout(() => {
|
||||
Backbone.trigger('lock-workspace');
|
||||
Events.emit('lock-workspace');
|
||||
}, Timeouts.BeforeAutoLock);
|
||||
}
|
||||
}, Timeouts.CopyTip);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
|
||||
const Resizable = {
|
||||
listenDrag(dragView) {
|
||||
|
@ -17,7 +17,7 @@ const Resizable = {
|
|||
size = Math.max(dragInfo.min, Math.min(dragInfo.max, size));
|
||||
this.$el[dragInfo.prop](size);
|
||||
this.emit('view-resize', size);
|
||||
Backbone.trigger('page-geometry', { source: 'resizable' });
|
||||
Events.emit('page-geometry', { source: 'resizable' });
|
||||
},
|
||||
|
||||
autoSize(e) {
|
||||
|
@ -29,7 +29,7 @@ const Resizable = {
|
|||
}
|
||||
this.fixSize(dragInfo);
|
||||
this.emit('view-resize', null);
|
||||
Backbone.trigger('page-geometry', { source: 'resizable' });
|
||||
Events.emit('page-geometry', { source: 'resizable' });
|
||||
},
|
||||
|
||||
fixSize(cfg) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Backbone from 'backbone';
|
||||
import baron from 'baron';
|
||||
import { Events } from 'framework/events';
|
||||
import { Features } from 'util/features';
|
||||
|
||||
const isEnabled = !Features.isMobile;
|
||||
|
@ -49,7 +50,7 @@ const Scrollable = {
|
|||
|
||||
initScroll() {
|
||||
if (isEnabled) {
|
||||
this.listenTo(Backbone, 'page-geometry', this.pageResized);
|
||||
this.listenTo(Events, 'page-geometry', this.pageResized);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { AutoType } from 'auto-type';
|
||||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { AutoType } from 'auto-type';
|
||||
import { Storage } from 'storage';
|
||||
import { EntryCollection } from 'collections/entry-collection';
|
||||
import { FileCollection } from 'collections/file-collection';
|
||||
|
@ -37,13 +38,13 @@ const AppModel = Backbone.Model.extend({
|
|||
this.isBeta = RuntimeInfo.beta;
|
||||
this.advancedSearch = null;
|
||||
|
||||
this.listenTo(Backbone, 'refresh', this.refresh);
|
||||
this.listenTo(Backbone, 'set-filter', this.setFilter);
|
||||
this.listenTo(Backbone, 'add-filter', this.addFilter);
|
||||
this.listenTo(Backbone, 'set-sort', this.setSort);
|
||||
this.listenTo(Backbone, 'empty-trash', this.emptyTrash);
|
||||
this.listenTo(Backbone, 'select-entry', this.selectEntry);
|
||||
this.listenTo(Backbone, 'unset-keyfile', this.unsetKeyFile);
|
||||
this.listenTo(Events, 'refresh', this.refresh);
|
||||
this.listenTo(Events, 'set-filter', this.setFilter);
|
||||
this.listenTo(Events, 'add-filter', this.addFilter);
|
||||
this.listenTo(Events, 'set-sort', this.setSort);
|
||||
this.listenTo(Events, 'empty-trash', this.emptyTrash);
|
||||
this.listenTo(Events, 'select-entry', this.selectEntry);
|
||||
this.listenTo(Events, 'unset-keyfile', this.unsetKeyFile);
|
||||
|
||||
this.appLogger = new Logger('app');
|
||||
|
||||
|
@ -272,8 +273,8 @@ const AppModel = Backbone.Model.extend({
|
|||
const firstEntry = entries.first();
|
||||
this.activeEntryId = firstEntry ? firstEntry.id : null;
|
||||
}
|
||||
Backbone.trigger('filter', { filter: this.filter, sort: this.sort, entries });
|
||||
Backbone.trigger('entry-selected', entries.get(this.activeEntryId));
|
||||
Events.emit('filter', { filter: this.filter, sort: this.sort, entries });
|
||||
Events.emit('entry-selected', entries.get(this.activeEntryId));
|
||||
},
|
||||
|
||||
refresh() {
|
||||
|
@ -739,7 +740,7 @@ const AppModel = Backbone.Model.extend({
|
|||
);
|
||||
}
|
||||
if (file.isKeyChangePending(true)) {
|
||||
Backbone.trigger('key-change-pending', { file });
|
||||
Events.emit('key-change-pending', { file });
|
||||
}
|
||||
const backup = file.get('backup');
|
||||
if (data && backup && backup.enabled && backup.pending) {
|
||||
|
@ -881,7 +882,7 @@ const AppModel = Backbone.Model.extend({
|
|||
if (err) {
|
||||
if (err.code === 'InvalidKey') {
|
||||
logger.info('Remote key changed, request to enter new key');
|
||||
Backbone.trigger('remote-key-changed', { file });
|
||||
Events.emit('remote-key-changed', { file });
|
||||
}
|
||||
return complete(err);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import demoFileData from 'demo.kdbx';
|
||||
import { Events } from 'framework/events';
|
||||
import { GroupCollection } from 'collections/group-collection';
|
||||
import { KdbxToHtml } from 'comp/format/kdbx-to-html';
|
||||
import { GroupModel } from 'models/group-model';
|
||||
|
@ -420,7 +421,7 @@ const FileModel = Backbone.Model.extend({
|
|||
setModified() {
|
||||
if (!this.get('demo')) {
|
||||
this.set({ modified: true, dirty: true });
|
||||
Backbone.trigger('file-modified');
|
||||
Events.emit('file-modified');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -548,7 +549,7 @@ const FileModel = Backbone.Model.extend({
|
|||
this.db.meta.keyChanged = this._oldKeyChangeDate;
|
||||
}
|
||||
this.set({ keyFileName: '', keyFilePath: '', keyFileChanged: changed });
|
||||
Backbone.trigger('unset-keyfile', this.id);
|
||||
Events.emit('unset-keyfile', this.id);
|
||||
this.setModified();
|
||||
},
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { MenuSectionCollection } from 'collections/menu/menu-section-collection';
|
||||
import { Colors } from 'const/colors';
|
||||
import { Keys } from 'const/keys';
|
||||
|
@ -95,9 +96,9 @@ const MenuModel = Backbone.Model.extend({
|
|||
]);
|
||||
this.set('sections', this.menus.app);
|
||||
|
||||
this.listenTo(Backbone, 'set-locale', this._setLocale);
|
||||
this.listenTo(Backbone, 'select-next-menu-item', this._selectNext);
|
||||
this.listenTo(Backbone, 'select-previous-menu-item', this._selectPrevious);
|
||||
this.listenTo(Events, 'set-locale', this._setLocale);
|
||||
this.listenTo(Events, 'select-next-menu-item', this._selectNext);
|
||||
this.listenTo(Events, 'select-previous-menu-item', this._selectPrevious);
|
||||
this._setLocale();
|
||||
},
|
||||
|
||||
|
@ -117,9 +118,9 @@ const MenuModel = Backbone.Model.extend({
|
|||
const filterValue = (sel.option || sel.item).get('filterValue');
|
||||
const filter = {};
|
||||
filter[filterKey] = filterValue;
|
||||
Backbone.trigger('set-filter', filter);
|
||||
Events.emit('set-filter', filter);
|
||||
} else if (sections === this.menus.settings) {
|
||||
Backbone.trigger('set-page', {
|
||||
Events.emit('set-page', {
|
||||
page: sel.item.get('page'),
|
||||
file: sel.item.get('file')
|
||||
});
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import { Events } from 'framework/events';
|
||||
import { SettingsStore } from 'comp/settings/settings-store';
|
||||
import { Links } from 'const/links';
|
||||
import { SignatureVerifier } from 'util/data/signature-verifier';
|
||||
|
@ -45,7 +45,7 @@ const PluginGallery = {
|
|||
this.gallery = gallery;
|
||||
this.saveGallery(gallery);
|
||||
}
|
||||
Backbone.trigger('plugin-gallery-load-complete');
|
||||
Events.emit('plugin-gallery-load-complete');
|
||||
return gallery;
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Links } from 'const/links';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
import { RuntimeDataModel } from 'models/runtime-data-model';
|
||||
|
@ -176,7 +177,7 @@ _.extend(StorageBase.prototype, {
|
|||
}
|
||||
this._popupOpened(popupWindow);
|
||||
const popupClosed = () => {
|
||||
Backbone.off('popup-closed', popupClosed);
|
||||
Events.off('popup-closed', popupClosed);
|
||||
window.removeEventListener('message', windowMessage);
|
||||
this.logger.error('OAuth error', 'popup closed');
|
||||
callback('OAuth: popup closed');
|
||||
|
@ -187,7 +188,7 @@ _.extend(StorageBase.prototype, {
|
|||
}
|
||||
const token = this._oauthProcessReturn(e.data);
|
||||
if (token) {
|
||||
Backbone.off('popup-closed', popupClosed);
|
||||
Events.off('popup-closed', popupClosed);
|
||||
window.removeEventListener('message', windowMessage);
|
||||
if (token.error) {
|
||||
this.logger.error('OAuth error', token.error, token.errorDescription);
|
||||
|
@ -199,7 +200,7 @@ _.extend(StorageBase.prototype, {
|
|||
this.logger.debug('Skipped OAuth message', e.data);
|
||||
}
|
||||
};
|
||||
Backbone.on('popup-closed', popupClosed);
|
||||
Events.on('popup-closed', popupClosed);
|
||||
window.addEventListener('message', windowMessage);
|
||||
},
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { Features } from 'util/features';
|
||||
|
||||
const Tip = function(el, config) {
|
||||
|
@ -32,7 +32,7 @@ Tip.prototype.show = function() {
|
|||
if ((!Tip.enabled && !this.force) || !this.title) {
|
||||
return;
|
||||
}
|
||||
Backbone.on('page-geometry', this.hide);
|
||||
Events.on('page-geometry', this.hide);
|
||||
if (this.tipEl) {
|
||||
this.tipEl.remove();
|
||||
if (this.hideTimeout) {
|
||||
|
@ -83,7 +83,7 @@ Tip.prototype.hide = function() {
|
|||
if (this.tipEl) {
|
||||
this.tipEl.remove();
|
||||
this.tipEl = null;
|
||||
Backbone.off('page-geometry', this.hide);
|
||||
Events.off('page-geometry', this.hide);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { IdleTracker } from 'comp/browser/idle-tracker';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Launcher } from 'comp/launcher';
|
||||
|
@ -63,33 +63,33 @@ class AppView extends View {
|
|||
this.listenTo(this.model.settings, 'change:fontSize', this.setFontSize);
|
||||
this.listenTo(this.model.files, 'update reset', this.fileListUpdated);
|
||||
|
||||
this.listenTo(Backbone, 'select-all', this.selectAll);
|
||||
this.listenTo(Backbone, 'menu-select', this.menuSelect);
|
||||
this.listenTo(Backbone, 'lock-workspace', this.lockWorkspace);
|
||||
this.listenTo(Backbone, 'show-file', this.showFileSettings);
|
||||
this.listenTo(Backbone, 'open-file', this.toggleOpenFile);
|
||||
this.listenTo(Backbone, 'save-all', this.saveAll);
|
||||
this.listenTo(Backbone, 'remote-key-changed', this.remoteKeyChanged);
|
||||
this.listenTo(Backbone, 'key-change-pending', this.keyChangePending);
|
||||
this.listenTo(Backbone, 'toggle-settings', this.toggleSettings);
|
||||
this.listenTo(Backbone, 'toggle-menu', this.toggleMenu);
|
||||
this.listenTo(Backbone, 'toggle-details', this.toggleDetails);
|
||||
this.listenTo(Backbone, 'edit-group', this.editGroup);
|
||||
this.listenTo(Backbone, 'edit-tag', this.editTag);
|
||||
this.listenTo(Backbone, 'edit-generator-presets', this.editGeneratorPresets);
|
||||
this.listenTo(Backbone, 'launcher-open-file', this.launcherOpenFile);
|
||||
this.listenTo(Backbone, 'user-idle', this.userIdle);
|
||||
this.listenTo(Backbone, 'os-lock', this.osLocked);
|
||||
this.listenTo(Backbone, 'power-monitor-suspend', this.osLocked);
|
||||
this.listenTo(Backbone, 'app-minimized', this.appMinimized);
|
||||
this.listenTo(Backbone, 'show-context-menu', this.showContextMenu);
|
||||
this.listenTo(Backbone, 'second-instance', this.showSingleInstanceAlert);
|
||||
this.listenTo(Backbone, 'file-modified', this.handleAutoSaveTimer);
|
||||
this.listenTo(Events, 'select-all', this.selectAll);
|
||||
this.listenTo(Events, 'menu-select', this.menuSelect);
|
||||
this.listenTo(Events, 'lock-workspace', this.lockWorkspace);
|
||||
this.listenTo(Events, 'show-file', this.showFileSettings);
|
||||
this.listenTo(Events, 'open-file', this.toggleOpenFile);
|
||||
this.listenTo(Events, 'save-all', this.saveAll);
|
||||
this.listenTo(Events, 'remote-key-changed', this.remoteKeyChanged);
|
||||
this.listenTo(Events, 'key-change-pending', this.keyChangePending);
|
||||
this.listenTo(Events, 'toggle-settings', this.toggleSettings);
|
||||
this.listenTo(Events, 'toggle-menu', this.toggleMenu);
|
||||
this.listenTo(Events, 'toggle-details', this.toggleDetails);
|
||||
this.listenTo(Events, 'edit-group', this.editGroup);
|
||||
this.listenTo(Events, 'edit-tag', this.editTag);
|
||||
this.listenTo(Events, 'edit-generator-presets', this.editGeneratorPresets);
|
||||
this.listenTo(Events, 'launcher-open-file', this.launcherOpenFile);
|
||||
this.listenTo(Events, 'user-idle', this.userIdle);
|
||||
this.listenTo(Events, 'os-lock', this.osLocked);
|
||||
this.listenTo(Events, 'power-monitor-suspend', this.osLocked);
|
||||
this.listenTo(Events, 'app-minimized', this.appMinimized);
|
||||
this.listenTo(Events, 'show-context-menu', this.showContextMenu);
|
||||
this.listenTo(Events, 'second-instance', this.showSingleInstanceAlert);
|
||||
this.listenTo(Events, 'file-modified', this.handleAutoSaveTimer);
|
||||
|
||||
this.listenTo(UpdateModel.instance, 'change:updateReady', this.updateApp);
|
||||
|
||||
this.listenTo(Backbone, 'enter-full-screen', this.enterFullScreen);
|
||||
this.listenTo(Backbone, 'leave-full-screen', this.leaveFullScreen);
|
||||
this.listenTo(Events, 'enter-full-screen', this.enterFullScreen);
|
||||
this.listenTo(Events, 'leave-full-screen', this.leaveFullScreen);
|
||||
|
||||
window.onbeforeunload = this.beforeUnload.bind(this);
|
||||
window.onresize = this.windowResize.bind(this);
|
||||
|
@ -166,7 +166,7 @@ class AppView extends View {
|
|||
this.views.open = new OpenView(this.model);
|
||||
this.views.open.render();
|
||||
this.views.open.on('close', () => {
|
||||
Backbone.trigger('closed-open-view');
|
||||
Events.emit('closed-open-view');
|
||||
});
|
||||
this.views.open.on('close', () => this.showEntries());
|
||||
}
|
||||
|
@ -344,7 +344,7 @@ class AppView extends View {
|
|||
this.prevented = true;
|
||||
}
|
||||
};
|
||||
Backbone.trigger('main-window-will-close', exitEvent);
|
||||
Events.emit('main-window-will-close', exitEvent);
|
||||
if (exitEvent.prevented) {
|
||||
Launcher.preventExit(e);
|
||||
return;
|
||||
|
@ -414,12 +414,12 @@ class AppView extends View {
|
|||
}
|
||||
|
||||
windowResize() {
|
||||
Backbone.trigger('page-geometry', { source: 'window' });
|
||||
Events.emit('page-geometry', { source: 'window' });
|
||||
}
|
||||
|
||||
windowBlur(e) {
|
||||
if (e.target === window) {
|
||||
Backbone.trigger('page-blur');
|
||||
Events.emit('page-blur');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -726,7 +726,7 @@ class AppView extends View {
|
|||
|
||||
contextMenuSelect(e) {
|
||||
this.hideContextMenu();
|
||||
Backbone.trigger('context-menu-select', e);
|
||||
Events.emit('context-menu-select', e);
|
||||
}
|
||||
|
||||
showSingleInstanceAlert() {
|
||||
|
@ -776,7 +776,7 @@ class AppView extends View {
|
|||
|
||||
bodyClick(e) {
|
||||
IdleTracker.regUserAction();
|
||||
Backbone.trigger('click', e);
|
||||
Events.emit('click', e);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { Shortcuts } from 'comp/app/shortcuts';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
|
@ -31,8 +31,8 @@ class AutoTypeSelectView extends View {
|
|||
constructor(model) {
|
||||
super(model);
|
||||
this.initScroll();
|
||||
this.listenTo(Backbone, 'main-window-blur', this.mainWindowBlur);
|
||||
this.listenTo(Backbone, 'main-window-will-close', this.mainWindowWillClose);
|
||||
this.listenTo(Events, 'main-window-blur', this.mainWindowBlur);
|
||||
this.listenTo(Events, 'main-window-will-close', this.mainWindowWillClose);
|
||||
this.setupKeys();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { AutoType } from 'auto-type';
|
||||
import { CopyPaste } from 'comp/browser/copy-paste';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
|
@ -66,13 +66,13 @@ class DetailsView extends View {
|
|||
constructor(model, options) {
|
||||
super(model, options);
|
||||
this.initScroll();
|
||||
this.listenTo(Backbone, 'entry-selected', this.showEntry);
|
||||
this.listenTo(Backbone, 'copy-password', this.copyPassword);
|
||||
this.listenTo(Backbone, 'copy-user', this.copyUserName);
|
||||
this.listenTo(Backbone, 'copy-url', this.copyUrl);
|
||||
this.listenTo(Backbone, 'toggle-settings', this.settingsToggled);
|
||||
this.listenTo(Backbone, 'context-menu-select', this.contextMenuSelect);
|
||||
this.listenTo(Backbone, 'set-locale', this.render);
|
||||
this.listenTo(Events, 'entry-selected', this.showEntry);
|
||||
this.listenTo(Events, 'copy-password', this.copyPassword);
|
||||
this.listenTo(Events, 'copy-user', this.copyUserName);
|
||||
this.listenTo(Events, 'copy-url', this.copyUrl);
|
||||
this.listenTo(Events, 'toggle-settings', this.settingsToggled);
|
||||
this.listenTo(Events, 'context-menu-select', this.contextMenuSelect);
|
||||
this.listenTo(Events, 'set-locale', this.render);
|
||||
this.listenTo(OtpQrReader, 'qr-read', this.otpCodeRead);
|
||||
this.listenTo(OtpQrReader, 'enter-manually', this.otpEnterManually);
|
||||
this.onKey(
|
||||
|
@ -672,7 +672,7 @@ class DetailsView extends View {
|
|||
this.model.moveToFile(newFile);
|
||||
this.appModel.activeEntryId = this.model.id;
|
||||
this.entryUpdated();
|
||||
Backbone.trigger('entry-selected', this.model);
|
||||
Events.emit('entry-selected', this.model);
|
||||
return;
|
||||
} else if (fieldName) {
|
||||
this.model.setField(fieldName, e.val);
|
||||
|
@ -840,7 +840,7 @@ class DetailsView extends View {
|
|||
$(e.target).unbind('blur');
|
||||
if (this.model.isJustCreated) {
|
||||
this.model.removeWithoutHistory();
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
return;
|
||||
}
|
||||
this.render();
|
||||
|
@ -867,7 +867,7 @@ class DetailsView extends View {
|
|||
}
|
||||
|
||||
entryUpdated(skipRender) {
|
||||
Backbone.trigger('entry-updated', { entry: this.model });
|
||||
Events.emit('entry-updated', { entry: this.model });
|
||||
if (!skipRender) {
|
||||
this.render();
|
||||
}
|
||||
|
@ -919,7 +919,7 @@ class DetailsView extends View {
|
|||
moveToTrash() {
|
||||
const doMove = () => {
|
||||
this.model.moveToTrash();
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
};
|
||||
if (Features.isMobile) {
|
||||
Alerts.yesno({
|
||||
|
@ -935,7 +935,7 @@ class DetailsView extends View {
|
|||
|
||||
clone() {
|
||||
const newEntry = this.model.cloneEntry(' ' + Locale.detClonedName);
|
||||
Backbone.trigger('select-entry', newEntry);
|
||||
Events.emit('select-entry', newEntry);
|
||||
}
|
||||
|
||||
copyToClipboard() {
|
||||
|
@ -953,13 +953,13 @@ class DetailsView extends View {
|
|||
icon: 'minus-circle',
|
||||
success: () => {
|
||||
this.model.deleteFromTrash();
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
backClick() {
|
||||
Backbone.trigger('toggle-details', false);
|
||||
Events.emit('toggle-details', false);
|
||||
}
|
||||
|
||||
contextMenu(e) {
|
||||
|
@ -989,7 +989,7 @@ class DetailsView extends View {
|
|||
if (AutoType.enabled) {
|
||||
options.push({ value: 'det-auto-type', icon: 'keyboard-o', text: Locale.detAutoType });
|
||||
}
|
||||
Backbone.trigger('show-context-menu', _.extend(e, { options }));
|
||||
Events.emit('show-context-menu', _.extend(e, { options }));
|
||||
}
|
||||
|
||||
contextMenuSelect(e) {
|
||||
|
@ -1062,7 +1062,7 @@ class DetailsView extends View {
|
|||
}
|
||||
|
||||
autoType() {
|
||||
Backbone.trigger('auto-type', { entry: this.model });
|
||||
Events.emit('auto-type', { entry: this.model });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
|
@ -16,10 +16,11 @@ class DropdownView extends View {
|
|||
constructor(model) {
|
||||
super(model);
|
||||
|
||||
Backbone.trigger('dropdown-shown');
|
||||
Events.emit('dropdown-shown');
|
||||
this.bodyClick = this.bodyClick.bind(this);
|
||||
|
||||
this.listenTo(Backbone, 'show-context-menu dropdown-shown', this.bodyClick);
|
||||
this.listenTo(Events, 'show-context-menu', this.bodyClick);
|
||||
this.listenTo(Events, 'dropdown-shown', this.bodyClick);
|
||||
$('body').on('click contextmenu keydown', this.bodyClick);
|
||||
|
||||
this.onKey(Keys.DOM_VK_UP, this.upPressed, false, 'dropdown');
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import { Events } from 'framework/events';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
import { Features } from 'util/features';
|
||||
|
@ -44,8 +44,9 @@ class FieldViewText extends FieldView {
|
|||
click: this.fieldValueInputClick.bind(this),
|
||||
mousedown: this.fieldValueInputMouseDown.bind(this)
|
||||
});
|
||||
Backbone.on('click', this._fieldValueBlur);
|
||||
this.listenTo(Backbone, 'main-window-will-close user-idle', this.externalEndEdit);
|
||||
Events.on('click', this.fieldValueBlur);
|
||||
this.listenTo(Events, 'main-window-will-close', this.externalEndEdit);
|
||||
this.listenTo(Events, 'user-idle', this.externalEndEdit);
|
||||
if (this.model.multiline) {
|
||||
this.setInputHeight();
|
||||
}
|
||||
|
@ -217,6 +218,11 @@ class FieldViewText extends FieldView {
|
|||
super.endEdit(newVal, extra);
|
||||
}
|
||||
|
||||
stopBlurListener() {
|
||||
// TODO
|
||||
// this.stopListening(Backbone, 'click main-window-will-close', this.fieldValueBlur);
|
||||
}
|
||||
|
||||
mobileFieldControlMouseDown(e) {
|
||||
e.stopPropagation();
|
||||
this.stopBlurListener();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
import { UpdateModel } from 'models/update-model';
|
||||
|
@ -31,7 +31,7 @@ class FooterView extends View {
|
|||
|
||||
this.listenTo(this, 'hide', this.viewHidden);
|
||||
this.listenTo(this.model.files, 'update reset change', this.render);
|
||||
this.listenTo(Backbone, 'set-locale', this.render);
|
||||
this.listenTo(Events, 'set-locale', this.render);
|
||||
this.listenTo(UpdateModel.instance, 'change:updateStatus', this.render);
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ class FooterView extends View {
|
|||
lockWorkspace(e) {
|
||||
if (this.model.files.hasOpenFiles()) {
|
||||
e.preventDefault();
|
||||
Backbone.trigger('lock-workspace');
|
||||
Events.emit('lock-workspace');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,24 +81,24 @@ class FooterView extends View {
|
|||
.closest('.footer__db-item')
|
||||
.data('file-id');
|
||||
if (fileId) {
|
||||
Backbone.trigger('show-file', { fileId });
|
||||
Events.emit('show-file', { fileId });
|
||||
}
|
||||
}
|
||||
|
||||
openFile() {
|
||||
Backbone.trigger('open-file');
|
||||
Events.emit('open-file');
|
||||
}
|
||||
|
||||
saveAll() {
|
||||
Backbone.trigger('save-all');
|
||||
Events.emit('save-all');
|
||||
}
|
||||
|
||||
toggleHelp() {
|
||||
Backbone.trigger('toggle-settings', 'help');
|
||||
Events.emit('toggle-settings', 'help');
|
||||
}
|
||||
|
||||
toggleSettings() {
|
||||
Backbone.trigger('toggle-settings', 'general');
|
||||
Events.emit('toggle-settings', 'general');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { GeneratorPresets } from 'comp/app/generator-presets';
|
||||
import { PasswordGenerator } from 'util/generators/password-generator';
|
||||
|
@ -76,7 +76,7 @@ class GeneratorPresetsView extends View {
|
|||
}
|
||||
|
||||
returnToApp() {
|
||||
Backbone.trigger('edit-generator-presets');
|
||||
Events.emit('edit-generator-presets');
|
||||
}
|
||||
|
||||
changePreset(e) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { GeneratorPresets } from 'comp/app/generator-presets';
|
||||
import { CopyPaste } from 'comp/browser/copy-paste';
|
||||
import { AppSettingsModel } from 'models/app-settings-model';
|
||||
|
@ -64,7 +64,7 @@ class GeneratorView extends View {
|
|||
this.gen = _.clone(_.find(this.presets, pr => pr.name === preset));
|
||||
this.hide = AppSettingsModel.instance.get('generatorHidePassword');
|
||||
$('body').one('click', this.remove.bind(this));
|
||||
this.listenTo(Backbone, 'lock-workspace', this.remove.bind(this));
|
||||
this.listenTo(Events, 'lock-workspace', this.remove.bind(this));
|
||||
}
|
||||
|
||||
render() {
|
||||
|
@ -184,7 +184,7 @@ class GeneratorView extends View {
|
|||
presetChange(e) {
|
||||
const name = e.target.value;
|
||||
if (name === '...') {
|
||||
Backbone.trigger('edit-generator-presets');
|
||||
Events.emit('edit-generator-presets');
|
||||
this.remove();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { AutoType } from 'auto-type';
|
||||
import Backbone from 'backbone';
|
||||
import { Scrollable } from 'framework/views/scrollable';
|
||||
import { AutoTypeHintView } from 'views/auto-type/auto-type-hint-view';
|
||||
import { IconSelectView } from 'views/icon-select-view';
|
||||
|
@ -62,7 +62,7 @@ class GrpView extends View {
|
|||
} else {
|
||||
if (this.model.isJustCreated) {
|
||||
this.model.removeWithoutHistory();
|
||||
Backbone.trigger('edit-group');
|
||||
Events.emit('edit-group');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ class GrpView extends View {
|
|||
|
||||
moveToTrash() {
|
||||
this.model.moveToTrash();
|
||||
Backbone.trigger('select-all');
|
||||
Events.emit('select-all');
|
||||
}
|
||||
|
||||
setEnableSearching(e) {
|
||||
|
@ -135,7 +135,7 @@ class GrpView extends View {
|
|||
}
|
||||
|
||||
returnToApp() {
|
||||
Backbone.trigger('edit-group');
|
||||
Events.emit('edit-group');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { Shortcuts } from 'comp/app/shortcuts';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
|
@ -124,9 +124,9 @@ class ListSearchView extends View {
|
|||
this.onKey(Keys.DOM_VK_UP, this.upKeyPress);
|
||||
this.listenTo(this, 'show', this.viewShown);
|
||||
this.listenTo(this, 'hide', this.viewHidden);
|
||||
this.listenTo(Backbone, 'filter', this.filterChanged);
|
||||
this.listenTo(Backbone, 'set-locale', this.setLocale);
|
||||
this.listenTo(Backbone, 'page-blur', this.pageBlur);
|
||||
this.listenTo(Events, 'filter', this.filterChanged);
|
||||
this.listenTo(Events, 'set-locale', this.setLocale);
|
||||
this.listenTo(Events, 'page-blur', this.pageBlur);
|
||||
|
||||
this.once('remove', () => {
|
||||
this.removeKeypressHandler();
|
||||
|
@ -210,7 +210,7 @@ class ListSearchView extends View {
|
|||
}
|
||||
|
||||
inputChange() {
|
||||
Backbone.trigger('add-filter', { text: this.inputEl.val() });
|
||||
Events.emit('add-filter', { text: this.inputEl.val() });
|
||||
}
|
||||
|
||||
inputFocus(e) {
|
||||
|
@ -301,17 +301,17 @@ class ListSearchView extends View {
|
|||
} else if (this.model.advancedSearch) {
|
||||
advanced = this.model.advancedSearch;
|
||||
}
|
||||
Backbone.trigger('add-filter', { advanced });
|
||||
Events.emit('add-filter', { advanced });
|
||||
}
|
||||
|
||||
toggleMenu() {
|
||||
Backbone.trigger('toggle-menu');
|
||||
Events.emit('toggle-menu');
|
||||
}
|
||||
|
||||
toggleAdvCheck(e) {
|
||||
const setting = $(e.target).data('id');
|
||||
this.advancedSearch[setting] = e.target.checked;
|
||||
Backbone.trigger('add-filter', { advanced: this.advancedSearch });
|
||||
Events.emit('add-filter', { advanced: this.advancedSearch });
|
||||
}
|
||||
|
||||
hideSearchOptions() {
|
||||
|
@ -397,7 +397,7 @@ class ListSearchView extends View {
|
|||
|
||||
sortDropdownSelect(e) {
|
||||
this.hideSearchOptions();
|
||||
Backbone.trigger('set-sort', e.item);
|
||||
Events.emit('set-sort', e.item);
|
||||
}
|
||||
|
||||
createDropdownSelect(e) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { EntryCollection } from 'collections/entry-collection';
|
||||
import { DragDropInfo } from 'comp/app/drag-drop-info';
|
||||
import { Alerts } from 'comp/ui/alerts';
|
||||
|
@ -58,9 +58,9 @@ class ListView extends View {
|
|||
this.listenTo(this, 'show', this.viewShown);
|
||||
this.listenTo(this, 'hide', this.viewHidden);
|
||||
this.listenTo(this, 'view-resize', this.viewResized);
|
||||
this.listenTo(Backbone, 'filter', this.filterChanged);
|
||||
this.listenTo(Backbone, 'entry-updated', this.entryUpdated);
|
||||
this.listenTo(Backbone, 'set-locale', this.render);
|
||||
this.listenTo(Events, 'filter', this.filterChanged);
|
||||
this.listenTo(Events, 'entry-updated', this.entryUpdated);
|
||||
this.listenTo(Events, 'set-locale', this.render);
|
||||
|
||||
this.listenTo(this.model.settings, 'change:tableView', this.setTableView);
|
||||
|
||||
|
@ -145,7 +145,7 @@ class ListView extends View {
|
|||
if (!item.active) {
|
||||
this.selectItem(item);
|
||||
}
|
||||
Backbone.trigger('toggle-details', true);
|
||||
Events.emit('toggle-details', true);
|
||||
}
|
||||
|
||||
selectPrev() {
|
||||
|
@ -171,7 +171,7 @@ class ListView extends View {
|
|||
|
||||
createGroup() {
|
||||
const newGroup = this.model.createNewGroup();
|
||||
Backbone.trigger('edit-group', newGroup);
|
||||
Events.emit('edit-group', newGroup);
|
||||
}
|
||||
|
||||
createTemplate() {
|
||||
|
@ -199,7 +199,7 @@ class ListView extends View {
|
|||
|
||||
selectItem(item) {
|
||||
this.model.activeEntryId = item.id;
|
||||
Backbone.trigger('entry-selected', item);
|
||||
Events.emit('entry-selected', item);
|
||||
this.itemsEl.find('.list__item--active').removeClass('list__item--active');
|
||||
const itemEl = document.getElementById(item.id);
|
||||
itemEl.classList.add('list__item--active');
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { DragDropInfo } from 'comp/app/drag-drop-info';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
|
@ -127,7 +127,7 @@ class MenuItemView extends View {
|
|||
if (this.model.get('disabled')) {
|
||||
Alerts.info(this.model.get('disabled'));
|
||||
} else {
|
||||
Backbone.trigger('menu-select', { item: this.model });
|
||||
Events.emit('menu-select', { item: this.model });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ class MenuItemView extends View {
|
|||
if (options && options.length) {
|
||||
const option = options.find(op => op.get('value') === value);
|
||||
if (option) {
|
||||
Backbone.trigger('menu-select', { item: this.model, option });
|
||||
Events.emit('menu-select', { item: this.model, option });
|
||||
}
|
||||
}
|
||||
e.stopImmediatePropagation();
|
||||
|
@ -156,10 +156,10 @@ class MenuItemView extends View {
|
|||
e.stopPropagation();
|
||||
switch (this.model.get('filterKey')) {
|
||||
case 'tag':
|
||||
Backbone.trigger('edit-tag', this.model);
|
||||
Events.emit('edit-tag', this.model);
|
||||
break;
|
||||
case 'group':
|
||||
Backbone.trigger('edit-group', this.model);
|
||||
Events.emit('edit-group', this.model);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -172,7 +172,7 @@ class MenuItemView extends View {
|
|||
body: Locale.menuEmptyTrashAlertBody,
|
||||
icon: 'minus-circle',
|
||||
success() {
|
||||
Backbone.trigger('empty-trash');
|
||||
Events.emit('empty-trash');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -225,7 +225,7 @@ class MenuItemView extends View {
|
|||
this.model.moveHere(DragDropInfo.dragObject);
|
||||
}
|
||||
}
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { KeyHandler } from 'comp/browser/key-handler';
|
||||
import { Keys } from 'const/keys';
|
||||
|
@ -75,11 +75,11 @@ class MenuView extends View {
|
|||
}
|
||||
|
||||
selectPreviousSection() {
|
||||
Backbone.trigger('select-previous-menu-item');
|
||||
Events.emit('select-previous-menu-item');
|
||||
}
|
||||
|
||||
selectNextSection() {
|
||||
Backbone.trigger('select-next-menu-item');
|
||||
Events.emit('select-next-menu-item');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import Backbone from 'backbone';
|
||||
import kdbxweb from 'kdbxweb';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { Storage } from 'storage';
|
||||
import { DropboxChooser } from 'comp/app/dropbox-chooser';
|
||||
import { FocusDetector } from 'comp/browser/focus-detector';
|
||||
|
@ -65,7 +65,7 @@ class OpenView extends View {
|
|||
this.onKey(Keys.DOM_VK_RETURN, this.enterKeyPress);
|
||||
this.onKey(Keys.DOM_VK_DOWN, this.moveOpenFileSelectionDown);
|
||||
this.onKey(Keys.DOM_VK_UP, this.moveOpenFileSelectionUp);
|
||||
this.listenTo(Backbone, 'main-window-focus', this.windowFocused.bind(this));
|
||||
this.listenTo(Events, 'main-window-focus', this.windowFocused.bind(this));
|
||||
this.once('reset', () => {
|
||||
this.passwordInput.reset();
|
||||
});
|
||||
|
@ -682,7 +682,7 @@ class OpenView extends View {
|
|||
}
|
||||
|
||||
openSettings() {
|
||||
Backbone.trigger('toggle-settings');
|
||||
Events.emit('toggle-settings');
|
||||
}
|
||||
|
||||
openStorage(e) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { AutoType } from 'auto-type';
|
||||
import { Storage } from 'storage';
|
||||
|
@ -293,19 +293,19 @@ class SettingsGeneralView extends View {
|
|||
changeTableView(e) {
|
||||
const tableView = e.target.checked || false;
|
||||
AppSettingsModel.instance.set('tableView', tableView);
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
|
||||
changeColorfulIcons(e) {
|
||||
const colorfulIcons = e.target.checked || false;
|
||||
AppSettingsModel.instance.set('colorfulIcons', colorfulIcons);
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
|
||||
changeDirectAutotype(e) {
|
||||
const directAutotype = e.target.checked || false;
|
||||
AppSettingsModel.instance.set('directAutotype', directAutotype);
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
|
||||
restartApp() {
|
||||
|
@ -329,7 +329,7 @@ class SettingsGeneralView extends View {
|
|||
changeExpandGroups(e) {
|
||||
const expand = e.target.checked;
|
||||
AppSettingsModel.instance.set('expandGroups', expand);
|
||||
Backbone.trigger('refresh');
|
||||
Events.emit('refresh');
|
||||
}
|
||||
|
||||
changeStorageEnabled(e) {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { RuntimeInfo } from 'comp/app/runtime-info';
|
||||
import { SettingsManager } from 'comp/settings/settings-manager';
|
||||
import { Links } from 'const/links';
|
||||
|
@ -82,7 +83,7 @@ class SettingsPluginsView extends View {
|
|||
|
||||
pluginGalleryLoadComplete() {
|
||||
this.render();
|
||||
Backbone.trigger('page-geometry', { source: 'view' });
|
||||
Events.emit('page-geometry', { source: 'view' });
|
||||
}
|
||||
|
||||
getGalleryPlugins() {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import Backbone from 'backbone';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Events } from 'framework/events';
|
||||
import { Keys } from 'const/keys';
|
||||
import { Scrollable } from 'framework/views/scrollable';
|
||||
import { StringFormat } from 'util/formatting/string-format';
|
||||
|
@ -17,7 +17,7 @@ class SettingsView extends View {
|
|||
constructor(model, options) {
|
||||
super(model, options);
|
||||
this.initScroll();
|
||||
this.listenTo(Backbone, 'set-page', this.setPage);
|
||||
this.listenTo(Events, 'set-page', this.setPage);
|
||||
this.onKey(Keys.DOM_VK_ESCAPE, this.returnToApp);
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ class SettingsView extends View {
|
|||
}
|
||||
|
||||
returnToApp() {
|
||||
Backbone.trigger('toggle-settings', false);
|
||||
Events.emit('toggle-settings', false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import Backbone from 'backbone';
|
||||
import { Events } from 'framework/events';
|
||||
import { View } from 'framework/views/view';
|
||||
import { Alerts } from 'comp/ui/alerts';
|
||||
import { Locale } from 'util/locale';
|
||||
|
@ -45,7 +45,7 @@ class TagView extends View {
|
|||
return;
|
||||
}
|
||||
this.model.renameTag(this.tag.get('title'), title);
|
||||
Backbone.trigger('select-all');
|
||||
Events.emit('select-all');
|
||||
}
|
||||
|
||||
moveToTrash() {
|
||||
|
@ -55,13 +55,13 @@ class TagView extends View {
|
|||
body: Locale.tagTrashQuestionBody,
|
||||
success: () => {
|
||||
this.model.renameTag(this.tag.get('title'), undefined);
|
||||
Backbone.trigger('select-all');
|
||||
Events.emit('select-all');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
returnToApp() {
|
||||
Backbone.trigger('edit-tag');
|
||||
Events.emit('edit-tag');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue