Skip to content

Commit 99ed2ed

Browse files
committed
feat(lazyloading): Add Pagelinks for all pages
1 parent d90cc66 commit 99ed2ed

File tree

89 files changed

+376
-1442
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+376
-1442
lines changed

src/app/app.component.ts

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
1-
import { IonicNativePage } from '../pages/ionic-native/ionic-native';
2-
import { SideMenuPage } from '../pages/side-menu/side-menu';
3-
import { IonicOfficialComponentsPage } from '../pages/ionic-official-components/ionic-official-components';
4-
import { LoginListPage } from '../pages/login/login';
5-
import { ThemingPage } from '../pages/theming/theming';
61
import { AppState } from './app.global';
7-
// import { SlidesPage } from '../pages/slide/slide';
8-
import { PopupModalsPage } from '../pages/popup-modal/popup-modal';
9-
import { ListsPage } from '../pages/list/list';
10-
import { PopupMenuListPage } from '../pages/popup-menu/popup-menu';
11-
import { MiscellaneousListPage } from '../pages/miscellaneous/miscellaneous';
12-
import { ProfileListPage } from '../pages/profile/profile';
132
import { Component, ViewChild } from '@angular/core';
143
import { Nav, Platform } from 'ionic-angular';
154
import { StatusBar } from '@ionic-native/status-bar';
165
import { SplashScreen } from '@ionic-native/splash-screen';
17-
18-
import { HomePage } from '../pages/_home/home';
19-
206
import { Subject } from 'rxjs';
217

228
@Component({
@@ -25,7 +11,7 @@ import { Subject } from 'rxjs';
2511
export class MyApp {
2612
@ViewChild(Nav) nav: Nav;
2713

28-
rootPage: any = HomePage;
14+
rootPage: any = 'HomePage';
2915
activePage = new Subject();
3016

3117
pages: Array<{ title: string, component: any, active: boolean, icon: string }>;
@@ -48,19 +34,19 @@ export class MyApp {
4834
]
4935

5036
this.pages = [
51-
{ title: 'Home', component: HomePage, active: true, icon: 'home' },
52-
{ title: 'Ionic Official Components', component: IonicOfficialComponentsPage, active: false, icon: 'alarm' },
53-
{ title: 'Ionic Native Features', component: IonicNativePage, active: false, icon: 'alarm' },
54-
{ title: 'Login', component: LoginListPage, active: false, icon: 'archive' },
55-
{ title: 'Lists', component: ListsPage, active: false, icon: 'body' },
56-
{ title: 'Popup Modal', component: PopupModalsPage, active: false, icon: 'basket' },
57-
{ title: 'Miscellaneous', component: MiscellaneousListPage, active: false, icon: 'bookmarks' },
58-
{ title: 'Popup Menu', component: PopupMenuListPage, active: false, icon: 'beer' },
59-
{ title: 'Profile', component: ProfileListPage, active: false, icon: 'camera' },
60-
{ title: 'Side Menu', component: SideMenuPage, active: false, icon: 'bookmark' },
37+
{ title: 'Home', component: 'HomePage', active: true, icon: 'home' },
38+
{ title: 'Ionic Official Components', component: 'IonicOfficialComponentsPage', active: false, icon: 'ionic' },
39+
{ title: 'Ionic Native Features', component: 'IonicNativePage', active: false, icon: 'ionic' },
40+
{ title: 'Login', component: 'LoginListPage', active: false, icon: 'archive' },
41+
{ title: 'Lists', component: 'ListPage', active: false, icon: 'body' },
42+
{ title: 'Popup Modal', component: 'PopupModalsPage', active: false, icon: 'basket' },
43+
{ title: 'Miscellaneous', component: 'MiscellaneousListPage', active: false, icon: 'bookmarks' },
44+
{ title: 'Popup Menu', component: 'PopupMenuListPage', active: false, icon: 'beer' },
45+
{ title: 'Profile', component: 'ProfileListPage', active: false, icon: 'camera' },
46+
{ title: 'Side Menu', component: 'SideMenuPage', active: false, icon: 'bookmark' },
6147
// Removed for now as there were breaking changes in slides
6248
// { title: 'Slides', component: SlidesPage },
63-
{ title: 'Theming', component: ThemingPage, active: false, icon: 'power' },
49+
{ title: 'Theming', component: 'ThemingPage', active: false, icon: 'power' },
6450
];
6551

6652
this.activePage.subscribe((selectedPage: any) => {

src/app/app.imports.ts

Lines changed: 2 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,6 @@
11
// Global state (used for theming)
22
import { AppState } from './app.global';
33

4-
// Home Page
5-
import { HomePage } from '../pages/_home/home';
6-
7-
import { IonicOfficialComponentsPage } from '../pages/ionic-official-components/ionic-official-components';
8-
9-
// Theme
10-
import { ThemingPage } from '../pages/theming/theming';
11-
12-
// Profile list
13-
import { ProfileListPage } from '../pages/profile/profile';
14-
import { ProfileOnePage } from '../pages/profile/profile-one/profile-one';
15-
import { ProfileTwoPage } from '../pages/profile/profile-two/profile-two';
16-
import { ProfileThreePage } from '../pages/profile/profile-three/profile-three';
17-
import { ProfileFourPage } from '../pages/profile/profile-four/profile-four';
18-
import { ProfileSettingsPage } from '../pages/profile/profile-settings/profile-settings';
19-
20-
// Lists list
21-
import { ListsPage } from '../pages/list/list';
22-
import { SlidingItemPage } from '../pages/list/sliding-item/sliding-item';
23-
import { SettingsListPage } from '../pages/list/settings/settings';
24-
25-
// Login
26-
import { LoginListPage } from '../pages/login/login';
27-
import { LoginOnePage } from '../pages/login/login-one/login-one';
28-
import { LoginInstagramPage } from '../pages/login/login-instagram/login-instagram';
29-
import { LoginSliderPage } from '../pages/login/login-slider/login-slider';
30-
import { LoginBackgroundVideoPage } from '../pages/login/login-background-video/login-background-video';
31-
import { LoginBackgroundSliderPage } from '../pages/login/login-background-slider/login-background-slider';
32-
33-
// Popup Menu list
34-
import { PopupMenuListPage } from '../pages/popup-menu/popup-menu';
35-
import { PopupMenuOnePage } from '../pages/popup-menu/popup-menu-one/popup-menu-one';
36-
37-
// Cards list
38-
import { CardListPage } from '../pages/ionic-official-components/card/card';
39-
import { CardSocialPage } from '../pages/ionic-official-components/card/card-social/card-social';
40-
import { CardImagePage } from '../pages/ionic-official-components/card/card-image/card-image';
41-
import { CardMapPage } from '../pages/ionic-official-components/card/card-map/card-map';
42-
import { CardBackgroundPage } from '../pages/ionic-official-components/card/card-background/card-background';
43-
import { CardBadgePage } from '../pages/ionic-official-components/card/card-badge/card-badge';
44-
45-
// Buttons list
46-
import { ButtonsListPage } from '../pages/ionic-official-components/button/button';
47-
import { ButtonStylesPage } from '../pages/ionic-official-components/button/button-styles/button-styles';
48-
import { IconButtonsPage } from '../pages/ionic-official-components/button/icon-buttons/icon-buttons';
49-
import { ButtonComponentsPage } from '../pages/ionic-official-components/button/button-components/button-components';
50-
51-
// Modals
52-
import { PopupModalsPage } from '../pages/popup-modal/popup-modal';
53-
import { HintModalPage } from '../pages/popup-modal/hint-modal/hint-modal';
54-
import { SignupModalPage } from '../pages/popup-modal/signup-modal/signup-modal';
55-
import { WalkthroughModalPage } from '../pages/popup-modal/walkthrough-modal/walkthrough-modal';
56-
57-
// Alerts
58-
import { AlertsPage } from '../pages/ionic-official-components/alert/alert';
59-
604
// Slides
615
import { SlidesPage } from '../pages/slide/slide';
626
import { SlideTransitionsPage } from '../pages/slide/slide-transitions/slide-transitions';
@@ -71,32 +15,8 @@ import { SlideFreeModePage } from '../pages/slide/slide-free-mode/slide-free-mod
7115
import { SlideNestedPage } from '../pages/slide/slide-nested/slide-nested';
7216
import { SlideColorChangingPage } from '../pages/slide/slide-color-changing/slide-color-changing';
7317

74-
// Miscellaneous list
75-
import { MiscellaneousListPage } from '../pages/miscellaneous/miscellaneous';
76-
import { ClockPage } from '../pages/miscellaneous/clock/clock';
77-
import { CountdownPage } from '../pages/miscellaneous/countdown/countdown';
78-
import { TinderCardsPage } from '../pages/miscellaneous/tinder-cards/tinder-cards';
79-
import { TestimonialsPage } from '../pages/miscellaneous/testimonials/testimonials';
80-
import { CurrencyConverterPage } from '../pages/miscellaneous/currency-converter/currency-converter';
81-
import { WeatherPage } from '../pages/miscellaneous/weather/weather';
82-
import { MessagesPage } from '../pages/miscellaneous/chat/messages/messages';
83-
import { ChatsPage } from '../pages/miscellaneous/chat/chats';
84-
import { BlogPostPage } from '../pages/miscellaneous/blog-post/blog-post';
85-
import { ChartsPage } from '../pages/miscellaneous/charts/charts';
86-
import { ExpandableHeaderPage } from '../pages/miscellaneous/expandable-header/expandable-header';
87-
import { FlashCardPage } from '../pages/miscellaneous/flash-card/flash-card';
88-
import { SideMenuPage } from '../pages/side-menu/side-menu';
89-
import { AutosizingTextarea } from '../pages/miscellaneous/autosizing-textarea/autosizing-textarea';
90-
91-
// Ionic Native Features
92-
import { IonicNativePage } from '../pages/ionic-native/ionic-native';
93-
import { CreditCardScanPage } from '../pages/ionic-native/credit-card-scan/credit-card-scan';
94-
import { RuntimePermissionsPage } from '../pages/ionic-native/runtime-permissions/runtime-permissions';
95-
import { BarcodescannerPage } from '../pages/ionic-native/barcodescanner/barcodescanner';
96-
import { GetImagePage } from '../pages/ionic-native/get-image/get-image';
97-
9818
// Providers
99-
import { WeatherService } from '../pages/miscellaneous/weather/weather.service';
19+
// import { WeatherService } from '../pages/miscellaneous/weather/weather.service';
10020
import { ToastService } from '../providers/util/toast.service';
10121
import { AlertService } from '../providers/util/alert.service';
10222
import { CameraProvider } from '../providers/util/camera.provider';
@@ -140,85 +60,6 @@ export const Modules = [
14060
]
14161

14262
export const Pages = [
143-
// Home
144-
HomePage,
145-
146-
// Theming
147-
ThemingPage,
148-
149-
// Ionic Official Components
150-
IonicOfficialComponentsPage,
151-
152-
IonicNativePage,
153-
154-
// Buttons
155-
ButtonsListPage,
156-
IconButtonsPage,
157-
ButtonComponentsPage,
158-
ButtonStylesPage,
159-
160-
// Lists
161-
ListsPage,
162-
SettingsListPage,
163-
SlidingItemPage,
164-
165-
// Alerts
166-
AlertsPage,
167-
168-
// Cards
169-
CardListPage,
170-
CardBackgroundPage,
171-
CardMapPage,
172-
CardImagePage,
173-
CardSocialPage,
174-
CardBadgePage,
175-
176-
// Profile
177-
ProfileListPage,
178-
ProfileOnePage,
179-
ProfileTwoPage,
180-
ProfileThreePage,
181-
ProfileFourPage,
182-
ProfileSettingsPage,
183-
184-
LoginListPage,
185-
LoginOnePage,
186-
LoginInstagramPage,
187-
LoginSliderPage,
188-
LoginBackgroundVideoPage,
189-
LoginBackgroundSliderPage,
190-
191-
// Side Menu
192-
SideMenuPage,
193-
194-
// Miscellaneous
195-
MiscellaneousListPage,
196-
PopupMenuListPage,
197-
PopupMenuOnePage,
198-
TestimonialsPage,
199-
TinderCardsPage,
200-
CountdownPage,
201-
CurrencyConverterPage,
202-
CreditCardScanPage,
203-
ClockPage,
204-
WeatherPage,
205-
ChatsPage,
206-
MessagesPage,
207-
BlogPostPage,
208-
ChartsPage,
209-
RuntimePermissionsPage,
210-
GetImagePage,
211-
FlashCardPage,
212-
BarcodescannerPage,
213-
ExpandableHeaderPage,
214-
AutosizingTextarea,
215-
216-
// Modals
217-
PopupModalsPage,
218-
SignupModalPage,
219-
WalkthroughModalPage,
220-
HintModalPage,
221-
22263
// Slides
22364
SlidesPage,
22465
SlideCarouselPage,
@@ -232,18 +73,14 @@ export const Pages = [
23273
SliderListTwoPage,
23374
SlideCustomPaginationPage,
23475
SlideColorChangingPage,
235-
236-
// Popup Menu
237-
PopupMenuListPage,
238-
PopupMenuOnePage,
23976
]
24077

24178
export const Pipes = [
24279
TemperaturePipe, MomentPipe, OrderByPipe, CapitalizePipe, ShortenStringPipe
24380
]
24481

24582
export const Providers = [
246-
WeatherService,
83+
// WeatherService,
24784
AlertService,
24885
ToastService,
24986
AppState,
@@ -268,6 +105,5 @@ export const Components = [
268105
export const Directives = [
269106
SlidingDrawer,
270107
Timer,
271-
TypingEffect,
272108
Autosize,
273109
]

src/app/app.module.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
import {
2+
IonicOfficialComponentsPageModule
3+
} from '../pages/ionic-official-components/ionic-official-components.module';
4+
import { SideMenuPageModule } from '../pages/side-menu/side-menu.module';
5+
import { ThemingPageModule } from '../pages/theming/theming.module';
6+
import { PopupModalPageModule } from '../pages/popup-modal/popup-modal.module';
7+
import { PopupMenuListPageModule } from '../pages/popup-menu/popup-menu.module';
8+
import { MiscellaneousListPageModule } from '../pages/miscellaneous/miscellaneous.module';
9+
import { ProfileListPageModule } from '../pages/profile/profile.module';
10+
import { ListsPageModule } from '../pages/list/list.module';
11+
import { LoginListPageModule } from '../pages/login/login.module';
12+
import { BarcodeScannerPageModule } from '../pages/ionic-native/barcode-scanner/barcode-scanner.module';
113
import { NgModule, ErrorHandler } from '@angular/core';
214
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
315
import { MyApp } from './app.component';
@@ -15,7 +27,17 @@ import { Modules, Pages, Directives, Pipes, Providers, Components } from './app.
1527
],
1628
imports: [
1729
Modules,
18-
IonicModule.forRoot(MyApp)
30+
IonicModule.forRoot(MyApp),
31+
BarcodeScannerPageModule,
32+
LoginListPageModule,
33+
ListsPageModule,
34+
ProfileListPageModule,
35+
MiscellaneousListPageModule,
36+
PopupMenuListPageModule,
37+
PopupModalPageModule,
38+
ThemingPageModule,
39+
SideMenuPageModule,
40+
IonicOfficialComponentsPageModule,
1941
],
2042
bootstrap: [IonicApp],
2143
entryComponents: [

src/components/typing-effect/typing-effect.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/components/typing-effect/typing-effect.ts

Lines changed: 0 additions & 50 deletions
This file was deleted.

src/pages/_home/home.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Component } from '@angular/core';
2-
import { NavController } from 'ionic-angular';
2+
import { NavController, IonicPage } from 'ionic-angular';
33

4+
@IonicPage()
45
@Component({
56
selector: 'page-home',
67
templateUrl: 'home.html'

src/pages/ionic-native/barcodescanner/barcode-scanner.module.ts renamed to src/pages/ionic-native/barcode-scanner/barcode-scanner.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { BarcodeScannerPage } from './barcode-scanner';
21
import { NgModule } from '@angular/core';
32
import { IonicPageModule } from 'ionic-angular';
3+
import { BarcodeScannerPage } from './barcode-scanner';
44

55
@NgModule({
66
declarations: [

src/pages/ionic-native/barcodescanner/barcodescanner.scss renamed to src/pages/ionic-native/barcode-scanner/barcode-scanner.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
page-barcodescanner {
1+
page-barcode-scanner {
22

33
.json {
44
white-space: pre;

0 commit comments

Comments
 (0)