converse-desktop/renderer.js

65 lines
2.1 KiB
JavaScript
Raw Normal View History

// This file is required by the index.html file and will
// be executed in the renderer process for that window.
// All of the Node.js APIs are available in this process.
2019-04-25 00:35:36 +00:00
2020-05-09 15:07:42 +00:00
var angApp = require('./app/init')
2019-04-26 00:30:50 +00:00
2020-05-11 18:26:51 +00:00
require('./app/services/credentials-service')
2020-05-12 15:06:16 +00:00
require('./app/services/settings-service')
2020-05-09 15:07:42 +00:00
require('./app/services/system-service')
require('./app/services/app-state-service')
require('./app/services/xmpp-helper-service')
2020-08-07 11:53:57 +00:00
require('./app/services/desktop-service')
2020-05-09 15:07:42 +00:00
require('./app/controllers/settings-controller')
require('./app/controllers/login-controller')
require('./app/controllers/default-controller')
2020-05-11 19:39:11 +00:00
require('./app/controllers/about-controller')
2020-05-17 18:12:36 +00:00
require('./app/controllers/footer-controller')
2019-04-26 00:30:50 +00:00
2020-08-07 11:53:57 +00:00
angApp.controller('AppController', function ($scope, $timeout, DesktopService, SettingsService, AppStateService) {
2019-04-26 00:30:50 +00:00
2019-08-13 22:05:09 +00:00
const { ipcRenderer } = require('electron')
2020-05-11 19:39:11 +00:00
// Menu force logout event
ipcRenderer.on('force-logout-event', () => {
2020-08-07 11:53:57 +00:00
DesktopService.logout()
2020-05-09 15:07:42 +00:00
let event = new CustomEvent("converse-force-logout") // Dispatch to the plugin
document.dispatchEvent(event)
})
2020-05-12 16:55:56 +00:00
2020-05-11 19:39:11 +00:00
// Menu settings event
2020-05-11 18:26:51 +00:00
ipcRenderer.on('preferences-event', () => {
AppStateService.set(AppStateService.APP_STATE_SETTINGS)
})
2020-05-12 16:55:56 +00:00
2020-05-11 19:39:11 +00:00
// Menu about event
ipcRenderer.on('about-page-event', () => {
AppStateService.set(AppStateService.APP_STATE_ABOUT)
})
2020-05-11 18:26:51 +00:00
2020-05-12 16:55:56 +00:00
// Menu about event
ipcRenderer.on('open-unread-chat', () => {
2020-08-07 11:53:57 +00:00
let event = new CustomEvent('conversejs-open-chat', {detail: DesktopService.chatToOpen})
2020-05-12 16:55:56 +00:00
document.dispatchEvent(event)
})
2020-05-13 20:00:36 +00:00
AppStateService.set(AppStateService.APP_STATE_DEFAULT)
2020-05-09 15:07:42 +00:00
$scope.$on('app:state:changed', (event, data) => {
// @see https://docs.angularjs.org/error/$rootScope/inprog
$timeout(() => {
$scope.state = data
2020-05-09 21:06:57 +00:00
console.log('Switch to the "' + $scope.state +'" state')
2020-05-09 15:07:42 +00:00
}, 0)
2020-05-12 16:55:56 +00:00
})
2019-04-25 00:35:36 +00:00
$scope.$on('app:restart', (event, data) => {
ipcRenderer.send('app-restart')
})
2020-05-12 15:06:16 +00:00
SettingsService.initDefaults()
2020-08-07 11:53:57 +00:00
DesktopService.getCredentialsAndLogin()
2019-04-26 00:30:50 +00:00
})