Skip to content

Commit

Permalink
fix: issue form with multiple accounts
Browse files Browse the repository at this point in the history
  • Loading branch information
VladimirPal committed Mar 14, 2018
1 parent aa7da03 commit 290ef83
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 49 deletions.
1 change: 1 addition & 0 deletions app/config/config.development.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const config = {
checkUpdates: false,
infoLog: false,
reduxLogger: true,
issueWindowDevTools: false,
};

export default config;
1 change: 1 addition & 0 deletions app/config/config.production.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const config = {
idleTimeThreshold: 300,
checkUpdates: true,
infoLog: false,
issueWindowDevTools: false,
};

export default config;
29 changes: 19 additions & 10 deletions app/containers/Popups/IssueForm/IssueForm.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
AppWrapper,
FullPageSpinner,
} from 'styles';
import config from '../../../config';


class IssueForm extends Component<{}, any> {
Expand Down Expand Up @@ -37,18 +38,26 @@ class IssueForm extends Component<{}, any> {
}

onLoadUrl = (ev, url) => {
const webview = document.createElement('webview');
webview.setAttribute('preload', './preload.js');
webview.style.height = '100%';
let webview = document.querySelector('webview');
if (!webview) {
webview = document.createElement('webview');
webview.setAttribute('preload', './preload.js');
webview.style.height = '100%';

webview.addEventListener('did-finish-load', () => {
if (process.env.NODE_ENV === 'development' || process.env.DEBUG_PROD === true) {
webview.openDevTools();
}
});
webview.addEventListener('did-finish-load', () => {
if (
config.issueWindowDevTools ||
process.env.DEBUG_PROD === true
) {
webview.openDevTools();
}
});

webview.src = url;
document.getElementById('forWebview').appendChild(webview);
webview.src = url;
document.getElementById('forWebview').appendChild(webview);
} else {
webview.src = url;
}
}

onShowForm = (
Expand Down
88 changes: 50 additions & 38 deletions app/main.dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ import {
} from 'electron';
import notifier from 'node-notifier';
import MenuBuilder from './menu';
import config from './config';

const appDir = app.getPath('userData');

let mainWindow;
let issueWindow;
let tray;
let menu;
let authWindow;
Expand Down Expand Up @@ -219,6 +221,9 @@ function createWindow(callback) {
}
} else if (process.platform === 'darwin') {
checkRunning(e);
if (shouldQuit) {
issueWindow.destroy();
}
}
}
});
Expand Down Expand Up @@ -393,45 +398,52 @@ ipcMain.on('issue-refetch', (event, issueId) => {
});

ipcMain.on('load-issue-window', (event, url) => {
const createIssueWindow = new BrowserWindow({
backgroundColor: 'white',
parent: mainWindow,
show: false,
modal: true,
useContentSize: true,
center: true,
title: 'Chronos',
webPreferences: {
devTools: true,
},
});
createIssueWindow.loadURL(`file://${__dirname}/issueForm.html`);
createIssueWindow.webContents.on('did-finish-load', () => {
createIssueWindow.webContents.send('url', url);
});
if (process.env.NODE_ENV === 'development' || process.env.DEBUG_PROD === true) {
createIssueWindow.openDevTools();
}
createIssueWindow.on('close', (cEv) => {
cEv.preventDefault();
createIssueWindow.hide();
});
ipcMain.on('page-fully-loaded', () => {
if (createIssueWindow) {
createIssueWindow.webContents.send('page-fully-loaded');
}
});
ipcMain.on('close-issue-window', () => {
if (createIssueWindow) {
createIssueWindow.hide();
}
});
ipcMain.on('show-issue-window', (ev, opts) => {
if (createIssueWindow) {
createIssueWindow.webContents.send('showForm', opts);
createIssueWindow.show();
if (!issueWindow) {
issueWindow = new BrowserWindow({
backgroundColor: 'white',
parent: mainWindow,
show: false,
modal: true,
useContentSize: true,
center: true,
title: 'Chronos',
webPreferences: {
devTools: true,
},
});
issueWindow.loadURL(`file://${__dirname}/issueForm.html`);
issueWindow.webContents.on('did-finish-load', () => {
issueWindow.webContents.send('url', url);
});
if (
config.issueWindowDevTools ||
process.env.DEBUG_PROD === true
) {
issueWindow.openDevTools();
}
});
issueWindow.on('close', (cEv) => {
cEv.preventDefault();
issueWindow.hide();
});
ipcMain.on('page-fully-loaded', () => {
if (issueWindow) {
issueWindow.webContents.send('page-fully-loaded');
}
});
ipcMain.on('close-issue-window', () => {
if (issueWindow) {
issueWindow.hide();
}
});
ipcMain.on('show-issue-window', (ev, opts) => {
if (issueWindow) {
issueWindow.webContents.send('showForm', opts);
issueWindow.show();
}
});
} else {
issueWindow.webContents.send('url', url);
}
});

ipcMain.on('oauth-response', (event, text) => {
Expand Down
2 changes: 1 addition & 1 deletion app/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default class MenuBuilder {
label: 'Quit',
accelerator: 'Command+Q',
click: (menu, win) => {
if (win.id !== 1) {
if (win && win.id !== 1) {
win.hide();
} else {
app.quit();
Expand Down

0 comments on commit 290ef83

Please sign in to comment.