Skip to content

Commit bb09fca

Browse files
Merge pull request yannbf#1 from yannbf/master
merging with master
2 parents 8935023 + 78e0d4f commit bb09fca

File tree

230 files changed

+5223
-1878
lines changed

Some content is hidden

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

230 files changed

+5223
-1878
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
**I'm submitting a ...** (check one with "x")
2+
3+
[ ] bug report
4+
[ ] feature request
5+
[ ] support request
6+
7+
<!-- Please be clear when explaining what behavior is expected -->
8+
**Steps to reproduce the bug:**
9+
10+
11+
**Related code:**
12+
```
13+
insert any relevant code here
14+
```
15+
16+
**Important information:**
17+
<!-- State important information if needed, such as OS version, hardware info, ionic info, etc. -->

README.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
# Ionic 2 Advanced Components [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badge/)
1+
# Ionic Advanced Components [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badge/)
2+
3+
_Currently this project is using the latest versions of all: Ionic and Angular 4_
24

35
This repository was made in order to help people learn and speed up their development process.
46
You will find many many different components, pages, pipes, services, of which can be very useful to you. Note though that these are all experimental!
57

6-
The content here is a mix of tutorials found online, a few adapted codepen stuff, a few dribbble inspired layouts, and also other stuff made by me.
8+
The content here is a mix of tutorials found online, a few adapted codepen stuff, a few dribbble inspired layouts, and also other stuff made by the contributors of this project.
79

810
**HOPEFULLY** you will like this repo and feel like contributing, so please if you can, contribute so we can have even more amazing content!
11+
12+
## Demo
13+
If you just want to check this project out, you can see the online demo at https://ioniccomponents.yannbraga.com/ or use [Ionic View](http://view.ionic.io/) with the code **bd1b6d71**.
914

10-
## Ionic View Code: bd1b6d71
11-
12-
If you just want to check this project out, you can use [Ionic View](http://view.ionic.io/) with the code on the title.
13-
14-
Please notice that some plugins may **only work** when using a real device, so don't expect everything to work on ionic view.
15+
Please notice that some plugins may **only work** when using a real device, so don't expect everything to work on ionic view or the browser.
1516

1617
****
1718

@@ -50,4 +51,11 @@ $ cordova prepare
5051
After installing the needed dependencies you are done, launch your app with a simple
5152
```sh
5253
$ ionic serve
53-
```
54+
```
55+
56+
## Amazing contributors
57+
- [Damodar Lohani](https://github.com/lohanidamodar)
58+
- [Fernando del Olmo](https://github.com/Fdom92)
59+
- [Daniel Sogl](https://github.com/danielsogl)
60+
- [Javier](https://github.com/javico2609)
61+
- [Miguel Carrasco](https://github.com/miguelcarrascoq)

config.xml

Lines changed: 67 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,68 @@
1-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1+
<?xml version='1.0' encoding='utf-8'?>
22
<widget id="com.braga.advancedionic2components.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
3-
<name>Advanced Ionic2 Components</name>
4-
<description>An awesome Ionic/Cordova app.</description>
5-
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
6-
<content src="index.html"/>
7-
<access origin="*"/>
8-
<allow-navigation href="http://ionic.local/*"/>
9-
<allow-intent href="http://*/*"/>
10-
<allow-intent href="https://*/*"/>
11-
<allow-intent href="tel:*"/>
12-
<allow-intent href="sms:*"/>
13-
<allow-intent href="mailto:*"/>
14-
<allow-intent href="geo:*"/>
15-
<engine name="android" spec="~6.1.2" />
16-
<platform name="android">
17-
<allow-intent href="market:*"/>
18-
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
19-
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
20-
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
21-
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
22-
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
23-
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
24-
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
25-
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
26-
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
27-
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
28-
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
29-
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
30-
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
31-
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
32-
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
33-
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
34-
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
35-
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
36-
</platform>
37-
<platform name="ios">
38-
<allow-intent href="itms:*"/>
39-
<allow-intent href="itms-apps:*"/>
40-
</platform>
41-
<preference name="webviewbounce" value="false"/>
42-
<preference name="UIWebViewBounce" value="false"/>
43-
<preference name="DisallowOverscroll" value="true"/>
44-
<preference name="android-minSdkVersion" value="16"/>
45-
<preference name="BackupWebStorage" value="none"/>
46-
<preference name="AutoHideSplashScreen" value="false"/>
47-
<preference name="SplashMaintainAspectRatio" value="true"/>
48-
<preference name="FadeSplashScreenDuration" value="300"/>
49-
<preference name="SplashShowOnlyFirstTime" value="false"/>
50-
<preference name="loadUrlTimeoutValue" value="70000"/>
51-
<preference name="SplashScreen" value="screen"/>
52-
<preference name="SplashScreenDelay" value="3000"/>
53-
<feature name="StatusBar">
54-
<param name="ios-package" onload="true" value="CDVStatusBar"/>
55-
</feature>
56-
<plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
57-
<plugin name="cordova-plugin-whitelist" spec="1.3.1"/>
58-
<plugin name="cordova-plugin-console" spec="1.0.5"/>
59-
<plugin name="cordova-plugin-statusbar" spec="2.2.1"/>
60-
<plugin name="cordova-plugin-device" spec="1.1.4"/>
61-
<plugin name="cordova-plugin-splashscreen" spec="~4.0.1"/>
62-
<plugin name="cordova-plugin-camera" spec="~2.3.0"/>
63-
<plugin name="card.io.cordova.mobilesdk" spec="https://github.com/card-io/card.io-Cordova-Plugin"/>
64-
<plugin name="cordova.plugins.diagnostic" spec="~3.4.1"/>
65-
<icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
66-
</widget>
3+
<name>Advanced Ionic2 Components</name>
4+
<description>An awesome Ionic/Cordova app.</description>
5+
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
6+
<content src="index.html" />
7+
<access origin="*" />
8+
<allow-navigation href="http://ionic.local/*" />
9+
<allow-intent href="http://*/*" />
10+
<allow-intent href="https://*/*" />
11+
<allow-intent href="tel:*" />
12+
<allow-intent href="sms:*" />
13+
<allow-intent href="mailto:*" />
14+
<allow-intent href="geo:*" />
15+
<engine name="android" spec="~6.1.2" />
16+
<platform name="android">
17+
<allow-intent href="market:*" />
18+
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
19+
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
20+
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
21+
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
22+
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
23+
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
24+
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
25+
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
26+
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
27+
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
28+
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
29+
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
30+
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
31+
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
32+
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
33+
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
34+
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
35+
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
36+
</platform>
37+
<platform name="ios">
38+
<allow-intent href="itms:*" />
39+
<allow-intent href="itms-apps:*" />
40+
</platform>
41+
<preference name="webviewbounce" value="false" />
42+
<preference name="UIWebViewBounce" value="false" />
43+
<preference name="DisallowOverscroll" value="true" />
44+
<preference name="android-minSdkVersion" value="16" />
45+
<preference name="BackupWebStorage" value="none" />
46+
<preference name="AutoHideSplashScreen" value="false" />
47+
<preference name="SplashMaintainAspectRatio" value="true" />
48+
<preference name="FadeSplashScreenDuration" value="300" />
49+
<preference name="SplashShowOnlyFirstTime" value="false" />
50+
<preference name="loadUrlTimeoutValue" value="70000" />
51+
<preference name="SplashScreen" value="screen" />
52+
<preference name="SplashScreenDelay" value="3000" />
53+
<feature name="StatusBar">
54+
<param name="ios-package" onload="true" value="CDVStatusBar" />
55+
</feature>
56+
<plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
57+
<plugin name="cordova-plugin-whitelist" spec="1.3.1" />
58+
<plugin name="cordova-plugin-console" spec="1.0.5" />
59+
<plugin name="cordova-plugin-statusbar" spec="2.2.1" />
60+
<plugin name="cordova-plugin-device" spec="1.1.4" />
61+
<plugin name="cordova-plugin-splashscreen" spec="~4.0.1" />
62+
<icon src="resources/android/icon/drawable-xhdpi-icon.png" />
63+
<plugin name="cordova-plugin-camera" spec="~2.3.1" />
64+
<plugin name="phonegap-plugin-barcodescanner" spec="~6.0.6" />
65+
<plugin name="cordova.plugins.diagnostic" spec="~3.4.1" />
66+
<plugin name="cordova-plugin-geolocation" spec="~2.4.2" />
67+
<plugin name="card.io.cordova.mobilesdk" spec="https://github.com/card-io/card.io-Cordova-Plugin" />
68+
</widget>

ionic.config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"name": "Advanced Ionic2 Components",
33
"app_id": "bd1b6d71",
4-
"v2": true,
5-
"typescript": true
4+
"type": "ionic-angular"
65
}

package.json

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "ionic-hello-world",
2+
"name": "ionic3-components",
33
"author": "Ionic Framework",
4-
"homepage": "http://ionicframework.com/",
4+
"homepage": "https://ionicframework.com/",
55
"private": true,
66
"scripts": {
77
"clean": "ionic-app-scripts clean",
@@ -10,29 +10,36 @@
1010
"ionic:serve": "ionic-app-scripts serve"
1111
},
1212
"dependencies": {
13-
"@angular/common": "2.2.1",
14-
"@angular/compiler": "2.2.1",
15-
"@angular/compiler-cli": "2.2.1",
16-
"@angular/core": "2.2.1",
17-
"@angular/forms": "2.2.1",
18-
"@angular/http": "2.2.1",
19-
"@angular/platform-browser": "2.2.1",
20-
"@angular/platform-browser-dynamic": "2.2.1",
21-
"@angular/platform-server": "2.2.1",
22-
"@ionic/storage": "1.1.7",
23-
"angular2-swing": "^0.10.0",
24-
"ionic-angular": "2.1.0",
25-
"ionic-native": "2.4.1",
13+
"@angular/common": "4.1.2",
14+
"@angular/compiler": "4.1.2",
15+
"@angular/compiler-cli": "4.1.2",
16+
"@angular/core": "4.1.2",
17+
"@angular/forms": "4.1.2",
18+
"@angular/http": "4.1.2",
19+
"@angular/platform-browser": "4.1.2",
20+
"@angular/platform-browser-dynamic": "4.1.2",
21+
"@ionic-native/barcode-scanner": "3.10.3",
22+
"@ionic-native/camera": "3.10.3",
23+
"@ionic-native/card-io": "3.10.3",
24+
"@ionic-native/core": "3.10.3",
25+
"@ionic-native/diagnostic": "3.10.3",
26+
"@ionic-native/geolocation": "3.10.3",
27+
"@ionic-native/splash-screen": "3.10.3",
28+
"@ionic-native/status-bar": "3.10.3",
29+
"@ionic/storage": "2.0.1",
30+
"angular2-swing": "^0.12.1",
31+
"chart.js": "^2.4.0",
32+
"ionic-angular": "3.3.0",
2633
"ionicons": "3.0.0",
2734
"moment": "^2.15.2",
28-
"chart.js": "^2.4.0",
29-
"rxjs": "5.0.0-beta.12",
30-
"sw-toolbox": "3.4.0",
31-
"zone.js": "0.6.26"
35+
"rxjs": "5.1.1",
36+
"sw-toolbox": "3.6.0",
37+
"zone.js": "^0.8.11"
3238
},
3339
"devDependencies": {
34-
"@ionic/app-scripts": "1.1.3",
35-
"typescript": "2.0.9"
40+
"@ionic/app-scripts": "1.3.7",
41+
"@ionic/cli-plugin-ionic-angular": "1.3.0",
42+
"typescript": "~2.3.3"
3643
},
3744
"cordovaPlugins": [
3845
"cordova-plugin-whitelist",
@@ -43,5 +50,5 @@
4350
"ionic-plugin-keyboard"
4451
],
4552
"cordovaPlatforms": [],
46-
"description": "Advanced Ionic2 Components: An Awesome Ionic project"
53+
"description": "Advanced Ionic Components: An Awesome Ionic project"
4754
}

src/app/app.component.ts

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,80 @@
1-
import { IonicOfficialComponentsPage } from '../pages/ionic-official-components/ionic-official-components';
2-
import { LoginListPage } from '../pages/login/login';
3-
import { ThemingPage } from '../pages/theming/theming';
41
import { AppState } from './app.global';
5-
import { SlidesPage } from '../pages/slide/slide';
6-
import { PopupModalsPage } from '../pages/popup-modal/popup-modal';
7-
import { ListsPage } from '../pages/list/list';
8-
import { PopupMenuListPage } from '../pages/popup-menu/popup-menu';
9-
import { MiscellaneousListPage } from '../pages/miscellaneous/miscellaneous';
10-
import { ProfileListPage } from '../pages/profile/profile';
112
import { Component, ViewChild } from '@angular/core';
123
import { Nav, Platform } from 'ionic-angular';
13-
import { StatusBar, Splashscreen } from 'ionic-native';
14-
15-
import { HomePage } from '../pages/_home/home';
4+
import { StatusBar } from '@ionic-native/status-bar';
5+
import { SplashScreen } from '@ionic-native/splash-screen';
6+
import { Subject } from 'rxjs';
167

178
@Component({
189
templateUrl: 'app.html'
1910
})
2011
export class MyApp {
2112
@ViewChild(Nav) nav: Nav;
2213

23-
rootPage: any = HomePage;
14+
rootPage: any = 'HomePage';
15+
activePage = new Subject();
2416

25-
pages: Array<{ title: string, component: any }>;
17+
pages: Array<{ title: string, component: any, active: boolean, icon: string }>;
18+
rightMenuItems: Array<{ icon: string, active: boolean }>;
2619
state: any;
2720

28-
constructor(public platform: Platform, public global: AppState) {
21+
constructor(public platform: Platform, public statusBar: StatusBar, public splashscreen: SplashScreen, public global: AppState) {
2922
this.initializeApp();
23+
this.rightMenuItems = [
24+
{ icon: 'home', active: true },
25+
{ icon: 'alarm', active: false },
26+
{ icon: 'analytics', active: false },
27+
{ icon: 'archive', active: false },
28+
{ icon: 'basket', active: false },
29+
{ icon: 'body', active: false },
30+
{ icon: 'bookmarks', active: false },
31+
{ icon: 'camera', active: false },
32+
{ icon: 'beer', active: false },
33+
{ icon: 'power', active: false },
34+
]
3035

3136
this.pages = [
32-
{ title: 'Home', component: HomePage },
33-
{ title: 'Ionic Official Components', component: IonicOfficialComponentsPage },
34-
{ title: 'Login', component: LoginListPage },
35-
{ title: 'Lists', component: ListsPage },
36-
{ title: 'Popup Modal', component: PopupModalsPage },
37-
{ title: 'Miscellaneous', component: MiscellaneousListPage },
38-
{ title: 'Popup Menu', component: PopupMenuListPage },
39-
{ title: 'Profile', component: ProfileListPage },
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' },
4047
// Removed for now as there were breaking changes in slides
4148
// { title: 'Slides', component: SlidesPage },
42-
{ title: 'Theming', component: ThemingPage },
49+
{ title: 'Theming', component: 'ThemingPage', active: false, icon: 'power' },
4350
];
4451

52+
this.activePage.subscribe((selectedPage: any) => {
53+
this.pages.map(page => {
54+
page.active = page.title === selectedPage.title;
55+
});
56+
});
4557
}
4658

4759
initializeApp() {
4860
this.platform.ready().then(() => {
4961
this.global.set('theme', '');
5062
// Okay, so the platform is ready and our plugins are available.
5163
// Here you can do any higher level native things you might need.
52-
StatusBar.styleDefault();
53-
Splashscreen.hide();
64+
this.statusBar.styleDefault();
65+
this.splashscreen.hide();
5466
});
5567
}
5668

5769
openPage(page) {
5870
// Reset the content nav to have just this page
5971
// we wouldn't want the back button to show in this scenario
6072
this.nav.setRoot(page.component);
73+
this.activePage.next(page);
74+
}
75+
76+
rightMenuClick(item) {
77+
this.rightMenuItems.map(menuItem => menuItem.active = false);
78+
item.active = true;
6179
}
6280
}

0 commit comments

Comments
 (0)