Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
325d05f
Merge pull request #1 from ionic-team/master
EinfachHans Feb 29, 2020
232397d
Merge pull request #2 from ionic-team/master
EinfachHans Apr 2, 2020
848909c
Merge pull request #3 from ionic-team/master
EinfachHans Jun 9, 2020
ae76fdc
Merge pull request #4 from ionic-team/master
EinfachHans Aug 25, 2020
b437c15
Merge pull request #5 from ionic-team/master
EinfachHans Oct 13, 2020
5a467a2
Merge remote-tracking branch 'origin/master'
EinfachHans Oct 25, 2020
f580e7f
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 2, 2020
eb83952
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 5, 2020
ef72f5a
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 6, 2020
68fc942
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 18, 2020
2d2b51b
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 18, 2020
4470ad9
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 20, 2020
4238b11
Merge remote-tracking branch 'upstream/master'
EinfachHans Nov 24, 2020
3b79d3f
Merge remote-tracking branch 'upstream/master'
EinfachHans Dec 18, 2020
dd481c7
Merge remote-tracking branch 'upstream/master'
EinfachHans Dec 28, 2020
a841d61
Merge remote-tracking branch 'upstream/master'
EinfachHans Jan 13, 2021
a532371
Merge remote-tracking branch 'upstream/master'
EinfachHans Feb 8, 2021
532247d
Merge remote-tracking branch 'upstream/master'
EinfachHans Feb 15, 2021
11cb454
Merge remote-tracking branch 'upstream/master'
EinfachHans Apr 1, 2021
3499645
Merge remote-tracking branch 'upstream/master'
EinfachHans Apr 15, 2021
73f17c0
Merge remote-tracking branch 'origin/master'
EinfachHans Apr 15, 2021
6057c8f
Merge remote-tracking branch 'upstream/master'
EinfachHans Jun 2, 2021
9fcec77
Merge remote-tracking branch 'upstream/master'
EinfachHans Jul 1, 2021
eb76df7
Merge remote-tracking branch 'upstream/master'
EinfachHans Jul 5, 2021
8d81a08
Merge remote-tracking branch 'upstream/main'
EinfachHans Jul 26, 2021
66f790d
Merge remote-tracking branch 'upstream/main'
EinfachHans Aug 9, 2021
67be9cd
Merge remote-tracking branch 'upstream/main'
EinfachHans Sep 6, 2021
88fe9e0
Merge remote-tracking branch 'upstream/main'
EinfachHans Sep 12, 2021
e1fe1b3
Merge remote-tracking branch 'upstream/main'
EinfachHans Sep 15, 2021
05a75e3
fix(footer): Remove Toolbar padding if in Tabs (bottom) or Keyboard o…
EinfachHans Sep 16, 2021
fc5cefa
lint fixed
EinfachHans Sep 16, 2021
95afbe0
Merge remote-tracking branch 'origin/master'
EinfachHans Oct 7, 2021
631905c
Merge remote-tracking branch 'upstream/main'
EinfachHans Oct 11, 2021
7f756d5
fix(angular): setup config properly (#24054)
liamdebeasi Oct 11, 2021
38c1d79
5.8.4
liamdebeasi Oct 11, 2021
f948db8
test(react): add react e2e app
elylucas Oct 12, 2021
d8e8481
fix(vue): back button now selects correct route when navigating from …
liamdebeasi Oct 13, 2021
35ce37f
fix(vue): mount correct views when navigating (#24056)
liamdebeasi Oct 14, 2021
f30b830
Merge remote-tracking branch 'upstream/main'
EinfachHans Oct 20, 2021
d5cd18f
Merge remote-tracking branch 'upstream/main'
EinfachHans Dec 13, 2021
2a5dad4
Merge remote-tracking branch 'upstream/main'
EinfachHans Jan 11, 2022
015efc1
Merge remote-tracking branch 'upstream/main'
EinfachHans Jan 19, 2022
599cb25
Merge remote-tracking branch 'upstream/main'
EinfachHans Jan 25, 2022
6a3ae8b
Merge remote-tracking branch 'upstream/main'
EinfachHans Jan 27, 2022
295df54
Merge remote-tracking branch 'upstream/main'
EinfachHans Feb 18, 2022
7c14705
Merge remote-tracking branch 'upstream/main'
EinfachHans Mar 4, 2022
9990d40
Merge remote-tracking branch 'upstream/main'
EinfachHans Apr 8, 2022
fd951d6
Merge remote-tracking branch 'upstream/main'
EinfachHans Apr 18, 2022
8b5a1f1
Merge remote-tracking branch 'upstream/main'
EinfachHans May 2, 2022
3219060
Merge remote-tracking branch 'upstream/main'
EinfachHans Jun 4, 2022
0509a94
Merge branch 'master' into footer-toolbar-padding
EinfachHans Jun 4, 2022
ae8b49e
lint runs
EinfachHans Jun 4, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions core/src/components/footer/footer.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ ion-footer {
z-index: $z-index-toolbar;
}

ion-footer ion-toolbar:last-of-type {
ion-footer.footer-toolbar-padding ion-toolbar:last-of-type {
padding-bottom: var(--ion-safe-area-bottom, 0);
}
}
34 changes: 33 additions & 1 deletion core/src/components/footer/footer.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ComponentInterface } from '@stencil/core';
import { Component, Element, Host, Prop, h } from '@stencil/core';
import { Component, Element, Host, Prop, State, h } from '@stencil/core';

import { getIonMode } from '../../global/ionic-global';
import { findIonContent, getScrollElement, printIonContentErrorMsg } from '../../utils/content';
Expand All @@ -20,6 +20,11 @@ export class Footer implements ComponentInterface {
private scrollEl?: HTMLElement;
private contentScrollCallback: any;

private keyboardWillShowHandler?: () => void;
private keyboardWillHideHandler?: () => void;

@State() keyboardVisible = false;

@Element() el!: HTMLIonFooterElement;

/**
Expand All @@ -46,6 +51,30 @@ export class Footer implements ComponentInterface {
this.checkCollapsibleFooter();
}

connectedCallback() {
if (typeof (window as any) !== 'undefined') {
this.keyboardWillShowHandler = () => {
this.keyboardVisible = true;
};

this.keyboardWillHideHandler = () => {
setTimeout(() => (this.keyboardVisible = false), 50);
};

window.addEventListener('keyboardWillShow', this.keyboardWillShowHandler!);
window.addEventListener('keyboardWillHide', this.keyboardWillHideHandler!);
}
}

disconnectedCallback() {
if (typeof (window as any) !== 'undefined' && !this.keyboardWillShowHandler) {
window.removeEventListener('keyboardWillShow', this.keyboardWillShowHandler!);
window.removeEventListener('keyboardWillHide', this.keyboardWillHideHandler!);

this.keyboardWillShowHandler = this.keyboardWillHideHandler = undefined;
}
}

private checkCollapsibleFooter = () => {
const mode = getIonMode(this);
if (mode !== 'ios') {
Expand Down Expand Up @@ -94,6 +123,8 @@ export class Footer implements ComponentInterface {
render() {
const { translucent, collapse } = this;
const mode = getIonMode(this);
const tabs = this.el.closest('ion-tabs');
const tabBar = tabs ? tabs.querySelector('ion-tab-bar') : null;
return (
<Host
role="contentinfo"
Expand All @@ -105,6 +136,7 @@ export class Footer implements ComponentInterface {

[`footer-translucent`]: translucent,
[`footer-translucent-${mode}`]: translucent,
['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot === 'top'),

[`footer-collapse-${collapse}`]: collapse !== undefined,
}}
Expand Down