-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ionic4 compatibility #366
Comments
Also waiting for ionic4 support. |
Yea super-tabs are just 10x better than default ionic tabs ! Hope one day this plugin will be part of ionic core widgets ? Just waiting for it I migrated to ionic 4 and now I'm using defaults tabs : hope to change it quickly to super tabs because it rocks ! Thank's for this plugin because It's a big lack on ionic ! |
@ihadeed Wish you can help on this soon when your are free. |
@pipoa This issue is due to version incompatibility of ionic and the way ionic is imported in ionic3 and ionic4. Wait for Ionoc4 support. |
Thank's a lot @ihadeed |
@Pingolus thank you! The new version is almost ready for beta testing, I will make sure to post an update here when I have a shipped package that can be installed. Expect something over this weekend. |
Update: most of the major features are implemented. The tabs are functional, swipeable, dyanmic, and have the option for a scrollable toolbar. Will work on compiling a shippable Angular 7 package now. |
Update: Just published There is an issue with the way it exports typings, can't seem to figure out why, so until it's fixed you will need to do this work around (which shouldn't impact your app negatively). Edit your app's {
...
"include": [
"src",
"node_modules/@ionic-super-tabs/core/dist/types/components.d.ts"
]
} The example project is being updated/rebuilt: https://github.com/zyra/ionic2-super-tabs-example/tree/v7 A quick getting started guide: # Angular
npm i -S @ionic-super-tabs/angular
# Non angular
npm i -S @ionic-super-tabs/core // Angular only
// App.module.ts
import { SuperTabsModule } from '@ionic-super-tabs/angular'
@NgModule({
...
imports: [
...
SuperTabsModule.forRoot(),
]
})
// your lazy loaded module
@NgModule({
...
imports: [
...,
SuperTabsModule,
]
}) <super-tabs>
<super-tabs-toolbar position="top">
<super-tab-button>
<ion-icon name="flame">
<ion-label>Hello</ion-label>
</super-tab-button>
<super-tab-button>
<ion-icon name="call">
<ion-label>World</ion-label>
</super-tab-button>
</super-tabs-toolbar>
<super-tabs-container>
<super-tab>
Im a custom page
</super-tab>
<super-tab>
<ion-nav root="some page" />
</super-tab>
<super-tabs-container>
</super-tabs> |
Thanks @ihadeed! I recognized the following:
I am looking forward to the next update and thank you for the great work. |
Thanks for the update! How is navigation to other pages using RouterLink? What is the best way to enable lazyloading for tabs? |
@ihadeed I love you so much and I love super-tabs either. |
I already have super-tabs worked with tabChange event(detail:.. ) and styling, but with 2 important problems unsolved below:
|
// Vanilla
const superTabs = document.querySelector('super-tabs'); // Instead of document you can use any HTML element, and instead of `super-tabs` you can use another unique selector
// Angular
import { ViewChild } from '@angular/core';
import { SuperTabsComponent } from '@ionic-super-tabs/core';
...
@ViewChild(SuperTabsComponent) superTabs: SuperTabsComponent;
|
thanks @ihadeed, I've tested the newest version (6.0.0-beta.8) and generate production builds for iOS and Android (through Ionic AppFlow). Everything works on an Android device, but on iOS I only see a white area. Does anyone have an idea? In the console, as well as during the build process, no errors were thrown. (swipe is not working, but I can click on each tab) |
thanks @ihadeed, |
@ihadeed Awesome plugin!!! When will the ionic 4 support ready? |
Thank's ! Two remarks :
|
The plugin works great on Android, unfortunately I've got the same problem as @dennissch. On iOS I only see a blank screen. |
Great work,
I will follow the topic and use this repository as it will be relatively stable. But currently only the ionic tabs remain. |
Hi, |
I submitted a PR with a fix for the blank page issue affecting Safari on all platforms. #379 🤓 |
Hi, |
The latest version Will need to revise the usage of QueueApi / requestAnimationFrame to figure out what the issues are. Most of the animations aren't working properly on iOS at the moment; but the module is usable overall and is still somewhat better than the plain framework tabs. |
Hi @ihadeed , thank's for your reply.
What do you mean by "poor" ? I'll try beta version ; but I worry about that and about the fact that there're some bug reported.. I'd like to use only stable and tested packages on production. Last time I tried the example project which was no working at all (some weeks ago). Thanks a lot for your work. EDIT : I tried beta ; it works like a charm ! =) I just have an issue with ion refresh with iOS ; I'll create another topic for that. |
Instead |
@dennissch i notice that if the app is rotated horizontally and back vertically (change sizes), the problem doesn't occur. Is the problem affected by the screen size? |
I also noticed the following: If super-tabs-toolbar has been initialized with the option scrollable="true" and programmatically a tab is selected, the indicator is positioned incorrectly (pressed to the right edge).
|
With Angularnpm i -S @ionic-super-tabs/angular@^6.0.0-rc.0 I am not able to swipe the super-tabs-container, also I am not able to change content when I click on the super-tab-button in super-tabs-toolbar |
@utbhavesh I had the same problem, the only way is to build using the --prod flag to make it work correctly. |
@ihadeed @utbhavesh After some trying, I was able to narrow down the issue. It seems that SuperTabs are loaded before the document. With the SetTimeout workaround swiping works again.
|
yep the settimeout on this solved the issue , i was not able to switch tabs through gestures or click when i restart the app as the toolbar loads before. now it works again on reloading the app or re-logging ( in my app scenario) |
@dennissch thanks for the update!
Does it work with requestAnimationFrame or only a timeout?
I guess that code should be moved over to componentDidLoad instead since it
requires the DOM to be ready.
componentWillLoad lifecycle event of the root component fires up before any
of the child components are rendered.
…On Mon., Sep. 2, 2019, 6:25 a.m. dennissch, ***@***.***> wrote:
I am not able to swipe the super-tabs-container, also I am not able to
change content when I click on the super-tab-button in super-tabs-toolbar
@ihadeed <https://github.com/ihadeed> @utbhavesh
<https://github.com/utbhavesh> After some trying, I was able to narrow
down the issue. It seems that SuperTabs are loaded before the document.
With the SetTimeout workaround swiping works again.
***@***.***/core/dist/esm/super-tab_3.entry.js
...
sync componentWillLoad() {
setTimeout(async () => { // XXX
if (this.config) {
await this.setConfig(this.config);
}
this.debug('componentWillLoad fired');
// index children
this.indexChildren();
// set the selected tab so the toolbar & container are aligned and in sync
this.selectTab(this.activeTabIndex);
// setup event listeners so we can synchronize child components
// 1. listen to selectedTabIndex changes emitted by the container.
this.el.addEventListener('selectedTabIndexChange', this.onContainerSelectedTabChange.bind(this));
// 2. listen to activeTabIndex changes emitted by the container
this.el.addEventListener('activeTabIndexChange', this.onContainerActiveTabChange.bind(this));
// 3. listen to tab button clicks emitted by the toolbar
this.el.addEventListener('buttonClick', this.onToolbarButtonClick.bind(this));
}, 1000);
}
...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#366?email_source=notifications&email_token=ADJHY5E7OK2TXOA5Z53D6Z3QHTSYDA5CNFSM4G3QV4Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5VNJFA#issuecomment-527094932>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADJHY5AFEIMVDBJXLGMILE3QHTSYDANCNFSM4G3QV4QQ>
.
|
Hello, Thanks. |
just add slot="bottom"
|
Thanks man. |
glad I can help.
Thanks
Regards,
Adit Bharadwaj
…On Sat, Oct 19, 2019, 2:57 PM Kunal Kakkad ***@***.***> wrote:
Hello,
Can anyone guide me on how to place super tabs in the bottom of the screen?
As it is not accepting any properties like "tabsPlacement=bottom".
I am checking it on Ionic v4.
Thanks.
just add
*slot="bottom"*
<super-tabs-toolbar slot="bottom" >
it works for me , it should for u as well
Thanks man.
It worked.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#366?email_source=notifications&email_token=ABTQKQST4ROFXS4FO5HVPSLQPLHINA5CNFSM4G3QV4Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBXJXHA#issuecomment-544119708>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTQKQSRIWLOQ6R24QFHFKTQPLHINANCNFSM4G3QV4QQ>
.
|
Are there any sample Styles for the current Super Tabs. Ah i had to import the forRoot Module
|
good afternoon, how to call to pages like son of a super tab, I did not want it to be on the same screen, another difficulty I am trying is to enable scrolling in super tab content, when there is too much content |
i can answer one part of that question. u can use modalControllers to call child pages from super tabs they will cover the tabs as well when called and u can style them accordingly. ( if iam guessing ur question right) |
@aditbharadwaj Is there a possibility to call a super tab like a normal tab? |
because with a ModalController it will be awkward when dragging the tab it covers, I wanted it to open underneath like a normal tab |
are u referring to this type of example ? on issue #396 |
To call methods on a child page from the root page containing your
Quick example for the third option: // in root.page.ts
export class RootPage {
private childPage: ChildPage;
registerChildPage(page: ChildPage) {
this.childPage = page;
}
onSomethingClick() {
this.childPage.doSomething();
}
// in child.page.ts
export class ChildPage {
constructor(parent: RootPage) {
parent.registerChildPage(this);
}
doSomething() {
console.log('Root page asked me to do something');
} The third option will cause a circular dependency. Not sure what side effects that may have but from a quick test it seemed to be fine.
Are you referring to the toolbar buttons? ...
<super-tabs-toolbar [scrollable]="true">
... |
my code: Informationen Bilder Video Botschaft
|
You need to place your content inside of |
@ihadeed Thanks so much, it really worked, thank you so much for your time. |
@ihadeed Are there any events other than tabChange? |
because whenever I scroll the page, it happens to run the TabChange event, I would like it to run only when the page actually changes |
[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted. |
Closing this issue since the Ionic 4 compatibility is now released. @JuniorFlorentino please open another issue with any issues/questions you have so we're not spamming all the subscribers here. Thanks. |
I searched and couldn't find an issue about that.
I've seen that master branch is a WIP to achieve that. So, I guess I'll just leave this issue here to track the progress (unless I'm missing something).
ps: if there's something that we (community) can help with (something small and separate) - please tell!
Otherwise, we're kind of blocked to upgrade to Ionic4 unless this package is updated.
The text was updated successfully, but these errors were encountered: