Skip to content

Commit 2165496

Browse files
committed
Add ForwardButton to Sidebar
Signed-off-by: tarun8718 <[email protected]>
1 parent 07ae127 commit 2165496

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

app/renderer/css/main.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ webview.focus {
343343
#loading-tooltip,
344344
#dnd-tooltip,
345345
#back-tooltip,
346+
#forward-tooltip,
346347
#reload-tooltip,
347348
#setting-tooltip {
348349
font-family: sans-serif;
@@ -362,6 +363,7 @@ webview.focus {
362363
#loading-tooltip::after,
363364
#dnd-tooltip::after,
364365
#back-tooltip::after,
366+
#forward-tooltip::after,
365367
#reload-tooltip::after,
366368
#setting-tooltip::after {
367369
content: " ";

app/renderer/js/components/webview.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,12 @@ export default class WebView extends BaseComponent {
106106
}
107107

108108
this.canGoBackButton();
109+
this.canGoForwardButton();
109110
});
110111

111112
this.$el.addEventListener('did-navigate', () => {
112113
this.canGoBackButton();
114+
this.canGoForwardButton();
113115
});
114116

115117
this.$el.addEventListener('page-favicon-updated', event => {
@@ -294,6 +296,16 @@ export default class WebView extends BaseComponent {
294296
forward(): void {
295297
if (this.$el.canGoForward()) {
296298
this.$el.goForward();
299+
this.focus();
300+
}
301+
}
302+
303+
canGoForwardButton(): void {
304+
const $backButton = document.querySelector('#actions-container #forward-action');
305+
if (this.$el.canGoForward()) {
306+
$backButton.classList.remove('disable');
307+
} else {
308+
$backButton.classList.add('disable');
297309
}
298310
}
299311

app/renderer/js/main.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,15 @@ class ServerManagerView {
7676
$settingsButton: HTMLButtonElement;
7777
$webviewsContainer: Element;
7878
$backButton: HTMLButtonElement;
79+
$forwardButton: HTMLButtonElement;
7980
$dndButton: HTMLButtonElement;
8081
$addServerTooltip: HTMLElement;
8182
$reloadTooltip: HTMLElement;
8283
$loadingTooltip: HTMLElement;
8384
$settingsTooltip: HTMLElement;
8485
$serverIconTooltip: HTMLCollectionOf<HTMLElement>;
8586
$backTooltip: HTMLElement;
87+
$forwardTooltip: HTMLElement;
8688
$dndTooltip: HTMLElement;
8789
$sidebar: Element;
8890
$fullscreenPopup: Element;
@@ -103,6 +105,7 @@ class ServerManagerView {
103105
this.$settingsButton = $actionsContainer.querySelector('#settings-action');
104106
this.$webviewsContainer = document.querySelector('#webviews-container');
105107
this.$backButton = $actionsContainer.querySelector('#back-action');
108+
this.$forwardButton = $actionsContainer.querySelector('#forward-action');
106109
this.$dndButton = $actionsContainer.querySelector('#dnd-action');
107110

108111
this.$addServerTooltip = document.querySelector('#add-server-tooltip');
@@ -117,6 +120,7 @@ class ServerManagerView {
117120
// eslint-disable-next-line unicorn/prefer-query-selector
118121
this.$serverIconTooltip = document.getElementsByClassName('server-tooltip') as HTMLCollectionOf<HTMLElement>;
119122
this.$backTooltip = $actionsContainer.querySelector('#back-tooltip');
123+
this.$forwardTooltip = $actionsContainer.querySelector('#forward-tooltip');
120124
this.$dndTooltip = $actionsContainer.querySelector('#dnd-tooltip');
121125

122126
this.$sidebar = document.querySelector('#sidebar');
@@ -423,6 +427,9 @@ class ServerManagerView {
423427
this.$settingsButton.addEventListener('click', async () => {
424428
await this.openSettings('General');
425429
});
430+
this.$forwardButton.addEventListener('click', () => {
431+
this.tabs[this.activeTabIndex].webview.forward();
432+
});
426433
this.$backButton.addEventListener('click', () => {
427434
this.tabs[this.activeTabIndex].webview.back();
428435
});
@@ -431,6 +438,7 @@ class ServerManagerView {
431438
this.sidebarHoverEvent(this.$loadingIndicator, this.$loadingTooltip);
432439
this.sidebarHoverEvent(this.$settingsButton, this.$settingsTooltip);
433440
this.sidebarHoverEvent(this.$reloadButton, this.$reloadTooltip);
441+
this.sidebarHoverEvent(this.$forwardButton, this.$forwardTooltip);
434442
this.sidebarHoverEvent(this.$backButton, this.$backTooltip);
435443
this.sidebarHoverEvent(this.$dndButton, this.$dndTooltip);
436444
}
@@ -628,6 +636,7 @@ class ServerManagerView {
628636

629637
try {
630638
this.tabs[index].webview.canGoBackButton();
639+
this.tabs[index].webview.canGoForwardButton();
631640
} catch {}
632641

633642
this.activeTabIndex = index;

app/renderer/main.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@
3636
<i class="refresh material-icons md-48">loop</i>
3737
<span id="loading-tooltip" style="display:none">Loading</span>
3838
</div>
39+
<div class="action-button disable" id="forward-action">
40+
<i class="material-icons md-48">arrow_forward</i>
41+
<span id="forward-tooltip" style="display:none">Go Forward</span>
42+
</div>
3943
<div class="action-button disable" id="back-action">
4044
<i class="material-icons md-48">arrow_back</i>
4145
<span id="back-tooltip" style="display:none">Go Back</span>

0 commit comments

Comments
 (0)