This is what my central-panel.html looks like:
<ion-content>
<ion-item-group>
<ion-item-divider color="light" sticky>A</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="dark" sticky>B</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>C</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>A</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>D</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>A</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>B</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>C</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item-divider color="light" sticky>A</ion-item-divider>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
<ion-item>Angola</ion-item>
<ion-item>Argentina</ion-item>
</ion-item-group>
</ion-content>
There is not much in the ts file besides a few json calls.
Then I have a few basic ionic 2 app components that contain the central panel.
This is what my app.html looks like:
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>
This is what my app.component.ts file looks like:
import { Component, ViewChild } from '@angular/core';
import { Platform, MenuController, Nav } from 'ionic-angular';
import { Http } from '@angular/http';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { CenterPanel } from '../pages/center-panel/center-panel';
import { RightPanel } from '../pages/right-panel/right-panel';
@Component({
selector: 'main-app',
templateUrl: 'app.html'
})
export class MyApp {
ms = 'Testing Branch';
@ViewChild(Nav) nav: Nav;
// make CenterPanel the root (or first) page
rootPage: any = CenterPanel;
pages: Array<{title: string, component: any}>;
constructor(
public http: Http,
public platform: Platform,
public menu: MenuController,
public statusBar: StatusBar,
public splashScreen: SplashScreen
) {
this.http = http;
this.initializeApp();
// set our app's pages
this.pages = [
{ title: 'CenterPanel', component: CenterPanel },
{ title: 'RightPanel', component: RightPanel }
];
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
openPage(page) {
// close the menu when clicking a link from the menu
this.menu.close();
// navigate to the new page if it is not the current page
this.nav.setRoot(page.component);
}
}
And finally my app.module.ts
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { CenterPanel } from '../pages/center-panel/center-panel';
import { RightPanel } from '../pages/right-panel/right-panel';
import { HttpModule, JsonpModule } from '@angular/http';
import { PullJson } from '../services/panel-data.service';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
@NgModule({
declarations: [
MyApp,
CenterPanel,
RightPanel
],
imports: [
HttpModule,
JsonpModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
CenterPanel,
RightPanel
],
providers: [
PullJson,
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}