apollo Mobile App Code
17
.editorconfig
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs
|
||||||
|
# editorconfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# We recommend you to keep these unchanged
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
35
.gitignore
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Specifies intentionally untracked files to ignore when using Git
|
||||||
|
# http://git-scm.com/docs/gitignore
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.sw[mnpcod]
|
||||||
|
*.log
|
||||||
|
*.tmp
|
||||||
|
*.tmp.*
|
||||||
|
log.txt
|
||||||
|
*.sublime-project
|
||||||
|
*.sublime-workspace
|
||||||
|
.vscode/
|
||||||
|
npm-debug.log*
|
||||||
|
|
||||||
|
.idea/
|
||||||
|
.sourcemaps/
|
||||||
|
.sass-cache/
|
||||||
|
.tmp/
|
||||||
|
.versions/
|
||||||
|
coverage/
|
||||||
|
dist/
|
||||||
|
node_modules/
|
||||||
|
tmp/
|
||||||
|
temp/
|
||||||
|
hooks/
|
||||||
|
platforms/
|
||||||
|
plugins/
|
||||||
|
plugins/android.json
|
||||||
|
plugins/ios.json
|
||||||
|
www/
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
UserInterfaceState.xcuserstate
|
||||||
88
config.xml
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<widget id="io.ionic.starter" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||||
|
<name>Apollo</name>
|
||||||
|
<description>An awesome Ionic/Cordova app.</description>
|
||||||
|
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
|
||||||
|
<content src="index.html" />
|
||||||
|
<access origin="*" />
|
||||||
|
<allow-intent href="http://*/*" />
|
||||||
|
<allow-intent href="https://*/*" />
|
||||||
|
<allow-intent href="tel:*" />
|
||||||
|
<allow-intent href="sms:*" />
|
||||||
|
<allow-intent href="mailto:*" />
|
||||||
|
<allow-intent href="geo:*" />
|
||||||
|
<preference name="ScrollEnabled" value="false" />
|
||||||
|
<preference name="android-minSdkVersion" value="16" />
|
||||||
|
<preference name="BackupWebStorage" value="none" />
|
||||||
|
<preference name="SplashMaintainAspectRatio" value="true" />
|
||||||
|
<preference name="FadeSplashScreenDuration" value="300" />
|
||||||
|
<preference name="SplashShowOnlyFirstTime" value="false" />
|
||||||
|
<preference name="SplashScreen" value="screen" />
|
||||||
|
<preference name="SplashScreenDelay" value="3000" />
|
||||||
|
<platform name="android">
|
||||||
|
<allow-intent href="market:*" />
|
||||||
|
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
|
||||||
|
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
|
||||||
|
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
|
||||||
|
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
|
||||||
|
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
|
||||||
|
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
|
||||||
|
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
|
||||||
|
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
|
||||||
|
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
|
||||||
|
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
|
||||||
|
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
|
||||||
|
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
|
||||||
|
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
|
||||||
|
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
|
||||||
|
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
|
||||||
|
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
|
||||||
|
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
|
||||||
|
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
|
||||||
|
</platform>
|
||||||
|
<platform name="ios">
|
||||||
|
<allow-intent href="itms:*" />
|
||||||
|
<allow-intent href="itms-apps:*" />
|
||||||
|
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
|
||||||
|
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
|
||||||
|
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
|
||||||
|
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
|
||||||
|
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
|
||||||
|
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
|
||||||
|
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
|
||||||
|
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
|
||||||
|
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
|
||||||
|
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
|
||||||
|
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
|
||||||
|
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
|
||||||
|
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
|
||||||
|
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
|
||||||
|
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
|
||||||
|
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
|
||||||
|
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
|
||||||
|
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
|
||||||
|
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
|
||||||
|
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
|
||||||
|
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
|
||||||
|
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
|
||||||
|
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
|
||||||
|
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
|
||||||
|
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
|
||||||
|
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
|
||||||
|
</platform>
|
||||||
|
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
|
||||||
|
<plugin name="cordova-plugin-device" spec="^2.0.1" />
|
||||||
|
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
|
||||||
|
<plugin name="cordova-plugin-ionic-webview" spec="^1.1.16" />
|
||||||
|
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
|
||||||
|
<plugin name="com.telerik.plugins.nativepagetransitions" spec="^0.6.5" />
|
||||||
|
<plugin name="cordova-plugin-network-information" spec="^2.0.1" />
|
||||||
|
<engine name="ios" spec="4.5.4" />
|
||||||
|
<engine name="android" spec="7.0.0" />
|
||||||
|
</widget>
|
||||||
8
ionic.config.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "myApp",
|
||||||
|
"app_id": "73982824",
|
||||||
|
"type": "ionic-angular",
|
||||||
|
"integrations": {
|
||||||
|
"cordova": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
8297
package-lock.json
generated
Normal file
69
package.json
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"name": "myApp",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"author": "Ionic Framework",
|
||||||
|
"homepage": "http://ionicframework.com/",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"clean": "ionic-app-scripts clean",
|
||||||
|
"build": "ionic-app-scripts build",
|
||||||
|
"lint": "ionic-app-scripts lint",
|
||||||
|
"ionic:build": "ionic-app-scripts build",
|
||||||
|
"ionic:serve": "ionic-app-scripts serve"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@angular/common": "5.0.3",
|
||||||
|
"@angular/compiler": "5.0.3",
|
||||||
|
"@angular/compiler-cli": "5.0.3",
|
||||||
|
"@angular/core": "5.0.3",
|
||||||
|
"@angular/forms": "5.0.3",
|
||||||
|
"@angular/http": "5.0.3",
|
||||||
|
"@angular/platform-browser": "5.0.3",
|
||||||
|
"@angular/platform-browser-dynamic": "5.0.3",
|
||||||
|
"@ionic-native/core": "4.4.0",
|
||||||
|
"@ionic-native/native-page-transitions": "^4.5.3",
|
||||||
|
"@ionic-native/network": "^4.6.0",
|
||||||
|
"@ionic-native/splash-screen": "4.4.0",
|
||||||
|
"@ionic-native/status-bar": "4.4.0",
|
||||||
|
"@ionic/pro": "1.0.20",
|
||||||
|
"@ionic/storage": "2.1.3",
|
||||||
|
"com.telerik.plugins.nativepagetransitions": "^0.6.5",
|
||||||
|
"cordova-android": "7.0.0",
|
||||||
|
"cordova-ios": "4.5.4",
|
||||||
|
"cordova-plugin-device": "^2.0.1",
|
||||||
|
"cordova-plugin-ionic-keyboard": "^2.0.5",
|
||||||
|
"cordova-plugin-ionic-webview": "^1.1.16",
|
||||||
|
"cordova-plugin-legacy-whitelist": "^1.1.2",
|
||||||
|
"cordova-plugin-network-information": "^2.0.1",
|
||||||
|
"cordova-plugin-splashscreen": "^5.0.2",
|
||||||
|
"cordova-plugin-whitelist": "^1.3.3",
|
||||||
|
"ionic-angular": "^3.9.2",
|
||||||
|
"ionic2-super-tabs": "^4.2.2",
|
||||||
|
"ionicons": "3.0.0",
|
||||||
|
"rxjs": "5.5.2",
|
||||||
|
"sw-toolbox": "3.6.0",
|
||||||
|
"ts-md5": "^1.2.4",
|
||||||
|
"zone.js": "0.8.18"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ionic/app-scripts": "^3.1.8",
|
||||||
|
"ionic": "3.20.0",
|
||||||
|
"typescript": "2.4.2"
|
||||||
|
},
|
||||||
|
"description": "An Ionic project",
|
||||||
|
"cordova": {
|
||||||
|
"plugins": {
|
||||||
|
"cordova-plugin-whitelist": {},
|
||||||
|
"cordova-plugin-device": {},
|
||||||
|
"cordova-plugin-splashscreen": {},
|
||||||
|
"cordova-plugin-ionic-webview": {},
|
||||||
|
"cordova-plugin-ionic-keyboard": {},
|
||||||
|
"cordova-plugin-network-information": {},
|
||||||
|
"com.telerik.plugins.nativepagetransitions": {}
|
||||||
|
},
|
||||||
|
"platforms": [
|
||||||
|
"ios",
|
||||||
|
"android"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
8
resources/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
These are Cordova resources. You can replace icon.png and splash.png and run
|
||||||
|
`ionic cordova resources` to generate custom icons and splash screens for your
|
||||||
|
app. See `ionic cordova resources --help` for details.
|
||||||
|
|
||||||
|
Cordova reference documentation:
|
||||||
|
|
||||||
|
- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
|
||||||
|
- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
|
||||||
BIN
resources/android/icon/drawable-hdpi-icon.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
resources/android/icon/drawable-ldpi-icon.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
resources/android/icon/drawable-mdpi-icon.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
resources/android/icon/drawable-xhdpi-icon.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
resources/android/icon/drawable-xxhdpi-icon.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
resources/android/icon/drawable-xxxhdpi-icon.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
resources/android/splash/drawable-land-hdpi-screen.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
resources/android/splash/drawable-land-ldpi-screen.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
resources/android/splash/drawable-land-mdpi-screen.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
resources/android/splash/drawable-land-xhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
resources/android/splash/drawable-land-xxhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
resources/android/splash/drawable-land-xxxhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
resources/android/splash/drawable-port-hdpi-screen.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
resources/android/splash/drawable-port-ldpi-screen.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
resources/android/splash/drawable-port-mdpi-screen.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
resources/android/splash/drawable-port-xhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
resources/android/splash/drawable-port-xxhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
resources/android/splash/drawable-port-xxxhdpi-screen.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
resources/icon.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
1
resources/icon.png.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
3f1bbdf1aefcb5ce7b60770ce907c68f
|
||||||
BIN
resources/ios/icon/icon-1024.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
resources/ios/icon/icon-40.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
resources/ios/icon/icon-40@2x.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
resources/ios/icon/icon-40@3x.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
resources/ios/icon/icon-50.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
resources/ios/icon/icon-50@2x.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
resources/ios/icon/icon-60.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
resources/ios/icon/icon-60@2x.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
resources/ios/icon/icon-60@3x.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
resources/ios/icon/icon-72.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
resources/ios/icon/icon-72@2x.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
resources/ios/icon/icon-76.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
resources/ios/icon/icon-76@2x.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
resources/ios/icon/icon-83.5@2x.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
resources/ios/icon/icon-small.png
Normal file
|
After Width: | Height: | Size: 818 B |
BIN
resources/ios/icon/icon-small@2x.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
resources/ios/icon/icon-small@3x.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
resources/ios/icon/icon.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
resources/ios/icon/icon@2x.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
resources/ios/splash/Default-568h@2x~iphone.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
resources/ios/splash/Default-667h.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
resources/ios/splash/Default-736h.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
resources/ios/splash/Default-Landscape-736h.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
resources/ios/splash/Default-Landscape@2x~ipad.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
resources/ios/splash/Default-Landscape@~ipadpro.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
resources/ios/splash/Default-Landscape~ipad.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
resources/ios/splash/Default-Portrait@2x~ipad.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
resources/ios/splash/Default-Portrait@~ipadpro.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
resources/ios/splash/Default-Portrait~ipad.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
resources/ios/splash/Default@2x~iphone.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
resources/ios/splash/Default@2x~universal~anyany.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
resources/ios/splash/Default~iphone.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
resources/splash.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
1
resources/splash.png.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
2412a8324a656ec5993eb50b3b293c69
|
||||||
23
src/app/app.component.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { Platform } from 'ionic-angular';
|
||||||
|
import { StatusBar } from '@ionic-native/status-bar';
|
||||||
|
import { SplashScreen } from '@ionic-native/splash-screen';
|
||||||
|
import {LoginPage} from '../pages/login/login';
|
||||||
|
import { TabsPage } from '../pages/tabs/tabs';
|
||||||
|
import { Loading } from 'ionic-angular/components/loading/loading';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
templateUrl: 'app.html'
|
||||||
|
})
|
||||||
|
export class MyApp {
|
||||||
|
rootPage:any = LoginPage;
|
||||||
|
|
||||||
|
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
|
||||||
|
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.
|
||||||
|
statusBar.styleDefault();
|
||||||
|
splashScreen.hide();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
1
src/app/app.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<ion-nav [root]="rootPage"></ion-nav>
|
||||||
60
src/app/app.module.ts
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
import { NgModule, ErrorHandler } from '@angular/core';
|
||||||
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
|
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
|
||||||
|
import { MyApp } from './app.component';
|
||||||
|
import { AuthServiceProvider} from '../providers/auth-service/auth-service';
|
||||||
|
import { AboutPage } from '../pages/about/about';
|
||||||
|
import { ContactPage } from '../pages/contact/contact';
|
||||||
|
import { HomePage } from '../pages/home/home';
|
||||||
|
import { TabsPage } from '../pages/tabs/tabs';
|
||||||
|
import { HttpModule} from '@angular/http';
|
||||||
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { StatusBar } from '@ionic-native/status-bar';
|
||||||
|
import { SplashScreen } from '@ionic-native/splash-screen';
|
||||||
|
import { LoginPage } from '../pages/login/login';
|
||||||
|
import { feesDetails } from'../pages/fees-details/feesDetails';
|
||||||
|
import { paidDetails } from '../pages/paid-details/paidDetails';
|
||||||
|
import { Network } from '@ionic-native/network';
|
||||||
|
import { installmentDetails } from '../pages/installment-details/installmentDetails';
|
||||||
|
import {ReactiveFormsModule,FormGroup,FormControl,Validators,FormsModule} from '@angular/forms';
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
MyApp,
|
||||||
|
AboutPage,
|
||||||
|
ContactPage,
|
||||||
|
HomePage,
|
||||||
|
TabsPage,
|
||||||
|
LoginPage,
|
||||||
|
feesDetails,
|
||||||
|
paidDetails,
|
||||||
|
installmentDetails,
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
BrowserModule,HttpModule,
|
||||||
|
IonicModule.forRoot(MyApp),
|
||||||
|
FormsModule,
|
||||||
|
ReactiveFormsModule,
|
||||||
|
|
||||||
|
],
|
||||||
|
bootstrap: [IonicApp],
|
||||||
|
entryComponents: [
|
||||||
|
MyApp,
|
||||||
|
AboutPage,
|
||||||
|
ContactPage,
|
||||||
|
HomePage,
|
||||||
|
TabsPage,
|
||||||
|
LoginPage,
|
||||||
|
feesDetails,
|
||||||
|
paidDetails,
|
||||||
|
installmentDetails,
|
||||||
|
],
|
||||||
|
providers: [
|
||||||
|
StatusBar,
|
||||||
|
AuthServiceProvider,
|
||||||
|
SplashScreen,
|
||||||
|
Network,
|
||||||
|
HttpClient,
|
||||||
|
{provide: ErrorHandler, useClass: IonicErrorHandler}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class AppModule {}
|
||||||
16
src/app/app.scss
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// http://ionicframework.com/docs/theming/
|
||||||
|
|
||||||
|
|
||||||
|
// App Global Sass
|
||||||
|
// --------------------------------------------------
|
||||||
|
// Put style rules here that you want to apply globally. These
|
||||||
|
// styles are for the entire app and not just one component.
|
||||||
|
// Additionally, this file can be also used as an entry point
|
||||||
|
// to import other Sass files to be included in the output CSS.
|
||||||
|
//
|
||||||
|
// Shared Sass variables, which can be used to adjust Ionic's
|
||||||
|
// default Sass variables, belong in "theme/variables.scss".
|
||||||
|
//
|
||||||
|
// To declare rules for a specific mode, create a child rule
|
||||||
|
// for the .md, .ios, or .wp mode classes. The mode class is
|
||||||
|
// automatically applied to the <body> element in the app.
|
||||||
6
src/app/main.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
|
import { enableProdMode } from '@angular/core';
|
||||||
|
|
||||||
|
import { AppModule } from './app.module';
|
||||||
|
enableProdMode();
|
||||||
|
platformBrowserDynamic().bootstrapModule(AppModule);
|
||||||
BIN
src/assets/icon/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
src/assets/imgs/logo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
49
src/index.html
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Ionic App</title>
|
||||||
|
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
|
<meta name="format-detection" content="telephone=no">
|
||||||
|
<meta name="msapplication-tap-highlight" content="no">
|
||||||
|
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||||
|
<link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<meta name="theme-color" content="#4e8ef7">
|
||||||
|
|
||||||
|
<!-- add to homescreen for ios -->
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||||
|
|
||||||
|
<!-- cordova.js required for cordova apps (remove if not needed) -->
|
||||||
|
<script src="cordova.js"></script>
|
||||||
|
|
||||||
|
<!-- un-comment this code to enable service worker
|
||||||
|
<script>
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
navigator.serviceWorker.register('service-worker.js')
|
||||||
|
.then(() => console.log('service worker installed'))
|
||||||
|
.catch(err => console.error('Error', err));
|
||||||
|
}
|
||||||
|
</script>-->
|
||||||
|
|
||||||
|
<link href="build/main.css" rel="stylesheet">
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Ionic's root component and where the app will load -->
|
||||||
|
<ion-app></ion-app>
|
||||||
|
|
||||||
|
<!-- The polyfills js is generated during the build process -->
|
||||||
|
<script src="build/polyfills.js"></script>
|
||||||
|
|
||||||
|
<!-- The vendor js is generated during the build process
|
||||||
|
It contains all of the dependencies in node_modules -->
|
||||||
|
<script src="build/vendor.js"></script>
|
||||||
|
|
||||||
|
<!-- The main bundle js is generated during the build process -->
|
||||||
|
<script src="build/main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
13
src/manifest.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "Ionic",
|
||||||
|
"short_name": "Ionic",
|
||||||
|
"start_url": "index.html",
|
||||||
|
"display": "standalone",
|
||||||
|
"icons": [{
|
||||||
|
"src": "assets/imgs/logo.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png"
|
||||||
|
}],
|
||||||
|
"background_color": "#4e8ef7",
|
||||||
|
"theme_color": "#4e8ef7"
|
||||||
|
}
|
||||||
156
src/pages/about/about.html
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<ion-header>
|
||||||
|
<ion-toolbar color="dark">
|
||||||
|
<ion-buttons start>
|
||||||
|
<button ion-button icon-only color="royal">
|
||||||
|
<!-- <ion-icon name="search"></ion-icon> -->
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
<ion-title>
|
||||||
|
{{studentInformation.Firstname}} - Profile</ion-title>
|
||||||
|
<ion-buttons end>
|
||||||
|
<button ion-button icon-only color="light" (click)="logoutalert()">
|
||||||
|
<ion-icon name="power" ></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content padding>
|
||||||
|
|
||||||
|
<!-- <div class="">
|
||||||
|
<img src="{{commonUrl}}images/student/default.jpeg" *ngIf="studentInformation.ProfilePicPath =='' || studentInformation.ProfilePath =='NULL' || studentInformation.ProfilePath =='404'"/>
|
||||||
|
<img src="{{commonUrl}}images/{{studentInformation.ProfilePicPath}}" *ngIf="studentInformation.ProfilePicPath !='' || studentInformation.ProfilePath !='NULL'">
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<img class="dp" src="{{commonUrl}}images/student/default.jpeg" *ngIf="studentInformation.ProfilePicPath =='' || studentInformation.ProfilePath =='NULL' || studentInformation.ProfilePath =='404'"/>
|
||||||
|
<img class="dp" src="{{commonUrl}}images/{{studentInformation.ProfilePicPath}}" *ngIf="studentInformation.ProfilePicPath !='' || studentInformation.ProfilePath !='NULL'">
|
||||||
|
<div class="main">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <ion-avatar item-start>
|
||||||
|
<img class="circle-pic"
|
||||||
|
src="{{commonUrl}}images/student/default.jpeg" *ngIf="studentInformation.ProfilePicPath =='' || studentInformation.ProfilePath =='NULL' || studentInformation.ProfilePath =='404'"/>
|
||||||
|
<img class="circle-pic" src="{{commonUrl}}images/{{studentInformation.ProfilePicPath}}" *ngIf="studentInformation.ProfilePicPath !='' || studentInformation.ProfilePath !='NULL'">
|
||||||
|
<ion-label style="margin-left:25%;"></ion-label></ion-avatar> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <ion-card>
|
||||||
|
<ion-card-header></ion-card-header>
|
||||||
|
<ion-card-content> -->
|
||||||
|
<ion-item-group >
|
||||||
|
<ion-item-divider color="primary">Contact Information</ion-item-divider>
|
||||||
|
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Mobile Number</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.MobileNumber !=''">{{studentInformation.MobileNumber}}</span><span *ngIf="studentInformation.MobileNumber==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Email ID</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.EmailID !=''">{{studentInformation.EmailID}}</span><span *ngIf="studentInformation.EmailID==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;"> Alternate Number</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.AlternateNumber !=''">{{studentInformation.AlternateNumber}}</span><span *ngIf="studentInformation.AlternateNumber==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
|
||||||
|
<ion-item text-wrap>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Present Address</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.PresentAddress !=''" >{{studentInformation.PresentAddress}}</span><span *ngIf="studentInformation.PresentAddress==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
<ion-item text-wrap>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Permanent Address</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.PermanentAddress !=''">{{studentInformation.PermanentAddress}}</span><span *ngIf="studentInformation.PermanentAddress==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
</ion-item-group>
|
||||||
|
<!-- </ion-card-content>
|
||||||
|
|
||||||
|
</ion-card> -->
|
||||||
|
<!-- <ion-card> -->
|
||||||
|
<!-- <ion-card-header></ion-card-header> -->
|
||||||
|
<!-- <ion-card-content> -->
|
||||||
|
<ion-item-group >
|
||||||
|
<ion-item-divider color="primary">General Information</ion-item-divider>
|
||||||
|
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Gender </ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12> <span *ngIf="studentInformation.Gender !=''">{{studentInformation.Gender}}</span><span *ngIf="studentInformation.Gender==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Date Of Birth</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.AadharNumber !=''">{{studentInformation.DOB}}</span><span *ngIf="studentInformation.DOB==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;"> Father Name</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.Fathername !=''">{{studentInformation.Fathername}}</span><span *ngIf="studentInformation.Fathername==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Mother Name</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.MotherName !=''">{{studentInformation.MotherName}}</span><span *ngIf="studentInformation.MotherName==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Qualification</ion-col>
|
||||||
|
<ion-col col-12> <span *ngIf="studentInformation.AadharNumber !=''">{{studentInformation.PreQualification}}</span><span *ngIf="studentInformation.PreQualification==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;"> Aadhar Number </ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.AadharNumber !=''">{{studentInformation.AadharNumber}}</span><span *ngIf="studentInformation.AadharNumber==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Designation</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.Designation !=''">{{studentInformation.Designation}}</span><span *ngIf="studentInformation.Designation==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
</ion-item-group>
|
||||||
|
<!-- </ion-card-content> -->
|
||||||
|
|
||||||
|
<!-- </ion-card> -->
|
||||||
|
<!-- <ion-card>
|
||||||
|
<ion-card-header></ion-card-header>
|
||||||
|
<ion-card-content> -->
|
||||||
|
<ion-item-group >
|
||||||
|
<ion-item-divider color="primary">Other Information</ion-item-divider>
|
||||||
|
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Occupation</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-7><span *ngIf="studentInformation.Occupation !=''">{{studentInformation.Occupation}}</span><span *ngIf="studentInformation.Occupation==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Caste</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.Caste !=''">{{studentInformation.Caste}}</span><span *ngIf="studentInformation.Caste==''">--</span></ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;"> Religion</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.Religion !=''">{{studentInformation.Religion}}</span><span *ngIf="studentInformation.Religion==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;">Referred By</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.ReferredBy !=''">{{studentInformation.ReferredBy}}</span><span *ngIf="studentInformation.ReferredBy==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12 style="color:sienna;"> Referers <br/>MobileNumber</ion-col></ion-row>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-12><span *ngIf="studentInformation.ReferersMobileNumber !=''">{{studentInformation.ReferersMobileNumber}}</span><span *ngIf="studentInformation.ReferersMobileNumber==''">--</span> </ion-col></ion-row></ion-item>
|
||||||
|
|
||||||
|
</ion-item-group>
|
||||||
|
<!-- </ion-card-content>
|
||||||
|
|
||||||
|
</ion-card> -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
42
src/pages/about/about.scss
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
page-about {
|
||||||
|
// .circle-pic{
|
||||||
|
// width:180px;
|
||||||
|
// height:180px;
|
||||||
|
// -webkit-border-radius: 50%;
|
||||||
|
// border-radius: 50%;
|
||||||
|
// margin-left:21%;
|
||||||
|
// margin-top:15%
|
||||||
|
// }
|
||||||
|
|
||||||
|
.main{
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
background-color: #efefef;
|
||||||
|
}
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
// .bg{
|
||||||
|
// // background-color:blue;
|
||||||
|
// height: 300px;
|
||||||
|
// background-size: cover;
|
||||||
|
// filter: blur(5px);
|
||||||
|
// background-position: center center;
|
||||||
|
// }
|
||||||
|
.dp{
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
z-index: 10;
|
||||||
|
// margin-top: -20px;
|
||||||
|
margin-top: 60px;
|
||||||
|
position: relative;
|
||||||
|
left: 50%;
|
||||||
|
margin-right: 50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
|
// box-shadow: 6px 15px 81px 3px rgba(0,0,0,0.75);
|
||||||
|
}
|
||||||
|
.item.wrap, .item-content.wrap {
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
70
src/pages/about/about.ts
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,LoadingController,AlertController,App } from 'ionic-angular';
|
||||||
|
import { AuthServiceProvider} from '../../providers/auth-service/auth-service';
|
||||||
|
import { LoginPage } from '../login/login';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'page-about',
|
||||||
|
templateUrl: 'about.html'
|
||||||
|
})
|
||||||
|
export class AboutPage {
|
||||||
|
|
||||||
|
studentInformation = [];
|
||||||
|
id : any;
|
||||||
|
loading :any;
|
||||||
|
Logoutalert: any;
|
||||||
|
commonUrl: any;
|
||||||
|
constructor(public alertCtrl:AlertController ,
|
||||||
|
public loadingCtrl:LoadingController,
|
||||||
|
public navCtrl: NavController,
|
||||||
|
public authService:AuthServiceProvider,
|
||||||
|
public app:App) {
|
||||||
|
this.id = localStorage.getItem("ID");
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
let Requested = {requestedBy:this.id,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
this.studentloading();
|
||||||
|
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
|
||||||
|
localStorage.setItem('StudentDetails', getStudent.studentDetails);
|
||||||
|
this.studentInformation = getStudent.studentDetails;
|
||||||
|
this.loading.dismiss();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
studentloading(){
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
});
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
}
|
||||||
|
logoutalert(){
|
||||||
|
this.logout();
|
||||||
|
this.Logoutalert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
this.Logoutalert.present();
|
||||||
|
}
|
||||||
|
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
//window.localStorage.removeItem('password');
|
||||||
|
window.localStorage.removeItem('feesID');
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
41
src/pages/contact/contact.html
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
<ion-header>
|
||||||
|
<ion-toolbar color="dark">
|
||||||
|
<ion-buttons start>
|
||||||
|
<button ion-button icon-only color="royal">
|
||||||
|
<!-- <ion-icon name="search"></ion-icon> -->
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
<ion-title>Course Details</ion-title>
|
||||||
|
<ion-buttons end>
|
||||||
|
<button ion-button icon-only color="light" (click)="logoutalert()">
|
||||||
|
<ion-icon name="power" ></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<div padding>
|
||||||
|
<!-- <ion-card>
|
||||||
|
<ion-card-header>
|
||||||
|
Course List
|
||||||
|
</ion-card-header>
|
||||||
|
<ion-card-content></ion-card-content>
|
||||||
|
</ion-card> -->
|
||||||
|
<ion-list *ngFor="let course of courseDetails">
|
||||||
|
<ion-card>
|
||||||
|
|
||||||
|
<ion-card-header></ion-card-header>
|
||||||
|
|
||||||
|
<ion-card-content>
|
||||||
|
<h2 (click)="getfeesdetails(course.CourseID)">{{course.CourseName}}</h2>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
</ion-list>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
5
src/pages/contact/contact.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
page-contact {
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
122
src/pages/contact/contact.ts
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,AlertController,MenuController,App,LoadingController } from 'ionic-angular';
|
||||||
|
import { LoginPage} from '../login/login';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import { feesDetails } from '../fees-details/feesDetails';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'page-contact',
|
||||||
|
templateUrl: 'contact.html'
|
||||||
|
})
|
||||||
|
export class ContactPage {
|
||||||
|
Fess: number;
|
||||||
|
Document : number;
|
||||||
|
Mark : number;
|
||||||
|
Study : number;
|
||||||
|
loadcourse : any;
|
||||||
|
// fess: number;
|
||||||
|
|
||||||
|
|
||||||
|
name: any;
|
||||||
|
commonUrl: any;
|
||||||
|
courseDetails: any;
|
||||||
|
constructor(public navCtrl: NavController,
|
||||||
|
public alertCtrl: AlertController,
|
||||||
|
public Menu: MenuController,
|
||||||
|
private authService:AuthServiceProvider,
|
||||||
|
public app:App,
|
||||||
|
public loadingCtrl : LoadingController) {
|
||||||
|
//
|
||||||
|
this.courseLoading();
|
||||||
|
//console.log(this.studentInformation);
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
//console.log("home "+this.commonUrl);
|
||||||
|
this.name = localStorage.getItem("ID");
|
||||||
|
let Requested = {requestedBy:this.name,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
|
||||||
|
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
|
||||||
|
//localStorage.setItem('StudentDetails', getStudent.studentDetails);
|
||||||
|
this.courseDetails = getStudent.courseDetails.courseStatus;
|
||||||
|
|
||||||
|
//console.log(this.courseDetails);
|
||||||
|
this.loadcourse.dismiss();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
fees() {
|
||||||
|
this.Fess = 1;
|
||||||
|
this.Document = 0;
|
||||||
|
this.Mark = 0;
|
||||||
|
this.Study = 0;
|
||||||
|
//this.navCtrl.push(LoginPage);
|
||||||
|
}
|
||||||
|
document() {
|
||||||
|
this.Fess = 0;
|
||||||
|
this.Document = 1;
|
||||||
|
this.Mark = 0;
|
||||||
|
this.Study = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
mark() {
|
||||||
|
this.Fess = 0;
|
||||||
|
this.Document = 0;
|
||||||
|
this.Mark = 1;
|
||||||
|
this.Study = 0;
|
||||||
|
}
|
||||||
|
study() {
|
||||||
|
this.Fess = 0;
|
||||||
|
this.Document = 0;
|
||||||
|
this.Mark = 0;
|
||||||
|
this.Study = 1;
|
||||||
|
}
|
||||||
|
courseLoading(){
|
||||||
|
this.loadcourse = this.loadingCtrl.create({
|
||||||
|
content : 'Please Wait...'
|
||||||
|
|
||||||
|
});
|
||||||
|
this.loadcourse.present();
|
||||||
|
}
|
||||||
|
logoutalert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
this.logout();
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
//window.localStorage.removeItem('password');
|
||||||
|
window.localStorage.removeItem('feesID');
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getfeesdetails(courseID){
|
||||||
|
//alert();
|
||||||
|
this.navCtrl.push(feesDetails);
|
||||||
|
// console.log(courseID);
|
||||||
|
localStorage.setItem('CourseID',courseID);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
123
src/pages/fees-details/feesDetails.html
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
<ion-header>
|
||||||
|
|
||||||
|
<ion-navbar color="dark">
|
||||||
|
<ion-title>{{Coursestatus.CourseName}}</ion-title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</ion-navbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
|
||||||
|
<div padding>
|
||||||
|
|
||||||
|
<ion-segment [(ngModel)]="CourseDetails" color="secondry">
|
||||||
|
<ion-segment-button value="Fees">
|
||||||
|
<ion-icon name="cash"></ion-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
<ion-segment-button value="Document">
|
||||||
|
<ion-icon name="document"></ion-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
<ion-segment-button value="Mark">
|
||||||
|
<ion-icon name="list-box"></ion-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
<ion-segment-button value="Study">
|
||||||
|
<ion-icon name="book"></ion-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
</ion-segment>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div [ngSwitch]="CourseDetails">
|
||||||
|
<ion-list *ngSwitchCase="'Fees'">
|
||||||
|
<ion-col><h3 text-center>Fees Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let feesDetails of Coursestatus.feesDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
|
||||||
|
<span *ngIf="feesDetails.FeesName!=''" (click)="installmentselection(feesDetails.FeesID)" style="color:mediumblue;">{{feesDetails.FeesName}}</span>
|
||||||
|
<span *ngIf="feesDetails.FeesName==''" (click)="installmentselection(feesDetails.FeesID)" style="color:mediumblue;">--</span>
|
||||||
|
<br/>
|
||||||
|
<span *ngIf="feesDetails.RollNo!=''"> {{feesDetails.RollNo}}</span> <span *ngIf="feesDetails.RollNo==''">--</span>
|
||||||
|
</ion-col>
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<span *ngIf="feesDetails.BalanceAmount!=''"(click)="paidselection(feesDetails.FeesID)" style="color:mediumblue;"><i class="fa fa-inr"></i><b >{{feesDetails.BalanceAmount}}</b></span>
|
||||||
|
<span *ngIf="feesDetails.BalanceAmount==''"(click)="paidselection(feesDetails.FeesID)" style="color:mediumblue;"><i class="fa fa-inr"></i>0</span>
|
||||||
|
<br/><span *ngIf="feesDetails.BalanceAmount!=''"><div style="font-size:12px;"><i class="fa fa-inr"></i>{{feesDetails.PayableAmount}}</div></span>
|
||||||
|
<span *ngIf="feesDetails.BalanceAmount==''"><div style="font-size:12px;"><i class="fa fa-inr"></i>0</div></span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
<ion-list>
|
||||||
|
|
||||||
|
</ion-list>
|
||||||
|
</ion-list>
|
||||||
|
|
||||||
|
<ion-list *ngSwitchCase="'Document'">
|
||||||
|
<ion-col><h3 text-center>Document Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let documentDetails of Coursestatus.applicationDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
<span *ngIf ="documentDetails.CertificateName !=''">{{documentDetails.CertificateName}}</span>
|
||||||
|
<span *ngIf ="documentDetails.CertificateName ==''">--</span>
|
||||||
|
<br/>
|
||||||
|
<span *ngIf ="documentDetails.CertificationNo !='null'">{{documentDetails.CertificationNo}}</span>
|
||||||
|
<span *ngIf ="documentDetails.CertificationNo=='null'">--</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<span *ngIf ="documentDetails.ListName !=''"> {{documentDetails.ListName}}</span>
|
||||||
|
<span *ngIf ="documentDetails.ListName ==''">--</span>
|
||||||
|
</ion-col>
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
<ion-list *ngSwitchCase="'Mark'">
|
||||||
|
<ion-col><h3 text-center>Marks List Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let marks of Coursestatus.markCardDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
<span *ngIf="marks.Sem !=''">{{marks.Sem}}</span>
|
||||||
|
<span *ngIf="marks.Sem ==''">--</span><br/>
|
||||||
|
<!-- <span *ngIf="marks.Sem_Year!=''">{{marks.Sem_Year}}</span>
|
||||||
|
<span *ngIf="marks.Sem_Year==''">--</span> -->
|
||||||
|
|
||||||
|
</ion-col>
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<span *ngIf="marks.ListName!=''">{{marks.ListName}}</span>
|
||||||
|
<span *ngIf="marks.ListName==''">--</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
<ion-list *ngSwitchCase="'Study'">
|
||||||
|
<ion-col><h3 text-center>Study Material Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let study of Coursestatus.studyMaterialDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
<span *ngIf="study.Sem!=''">{{study.Sem}}</span><span *ngIf="study.Sem==''">--</span>
|
||||||
|
|
||||||
|
<!-- <br/>
|
||||||
|
<span *ngIf="study.Sem_Year!=''">{{study.Sem_Year}}</span><span *ngIf="study.Sem_Year==''">--</span>
|
||||||
|
--> </ion-col >
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<span *ngIf="study.SDate!=''">{{study.SDate}}</span><span *ngIf="study.SDate==''">--</span><br/>
|
||||||
|
<span *ngIf="study.ListName!=''">{{study.ListName}}</span><span *ngIf="study.ListName==''">--</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
5
src/pages/fees-details/feesDetails.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
page-fees {
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
117
src/pages/fees-details/feesDetails.ts
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,MenuController,LoadingController,AlertController,App,ModalController } from 'ionic-angular';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import { LoginPage } from '../login/login';
|
||||||
|
import { installmentDetails } from '../installment-details/installmentDetails';
|
||||||
|
import { paidDetails } from '../paid-details/paidDetails';
|
||||||
|
@Component({
|
||||||
|
selector: 'page-fees',
|
||||||
|
templateUrl: 'feesDetails.html'
|
||||||
|
})
|
||||||
|
export class feesDetails {
|
||||||
|
CourseDetails : string = "Fees";
|
||||||
|
company : any;
|
||||||
|
loading : any;
|
||||||
|
|
||||||
|
name:any;
|
||||||
|
StudentName : any;
|
||||||
|
coursedetails : any;
|
||||||
|
Logoutalert : any;
|
||||||
|
commonUrl : any;
|
||||||
|
CourseID : any;
|
||||||
|
Coursestatus = [];
|
||||||
|
// tab2 = page2;
|
||||||
|
|
||||||
|
//test:string;
|
||||||
|
constructor(public alertCtrl: AlertController,
|
||||||
|
public loadingCtrl:LoadingController,
|
||||||
|
public navCtrl: NavController,
|
||||||
|
public Menu:MenuController,
|
||||||
|
private authService:AuthServiceProvider,
|
||||||
|
public app:App,
|
||||||
|
public modalCtrl:ModalController) {
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
//console.log("home "+this.commonUrl);
|
||||||
|
this.name = localStorage.getItem("ID");
|
||||||
|
let Requested = {requestedBy:this.name,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
|
||||||
|
this.studentloading();
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
this.CourseID = window.localStorage.getItem("CourseID");
|
||||||
|
|
||||||
|
//localStorage.setItem('StudentDetails', getStudent.courseStatus.);
|
||||||
|
this.coursedetails = getStudent.courseDetails.courseStatus;
|
||||||
|
for (let course of this.coursedetails){
|
||||||
|
if(this.CourseID == course.CourseID){
|
||||||
|
this.Coursestatus = course;
|
||||||
|
//console.log(this.Coursestatus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//console.log(this.studentInformation);
|
||||||
|
this.loading.dismiss();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
logoutalert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
this.logout();
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
window.localStorage.removeItem('feesID');
|
||||||
|
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
studentloading(){
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
});
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
}
|
||||||
|
installmentselection(feesID) {
|
||||||
|
//console.log(feesID);
|
||||||
|
localStorage.setItem('feesID', feesID);
|
||||||
|
let modal = this.modalCtrl.create(installmentDetails);
|
||||||
|
modal.present();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
paidselection(feesID) {
|
||||||
|
//console.log(feesID);
|
||||||
|
localStorage.setItem('feesID', feesID);
|
||||||
|
let modal = this.modalCtrl.create(paidDetails);
|
||||||
|
modal.present();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
// toggleItem(i, j) {
|
||||||
|
// this.information[i].children[j].open = !this.information[i].children[j].open;
|
||||||
|
// }
|
||||||
|
}
|
||||||
52
src/pages/home/home.html
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
<ion-header>
|
||||||
|
|
||||||
|
<ion-toolbar color="dark">
|
||||||
|
<ion-buttons start>
|
||||||
|
<button ion-button icon-only color="royal">
|
||||||
|
<!-- <ion-icon name="search"></ion-icon> -->
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
<ion-title>Apollo Distance Education</ion-title>
|
||||||
|
<ion-buttons end>
|
||||||
|
<button ion-button icon-only color="light" (click)="logoutalert()">
|
||||||
|
<ion-icon name="power" ></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
</ion-toolbar>
|
||||||
|
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content padding>
|
||||||
|
|
||||||
|
<ion-grid>
|
||||||
|
<ion-row>
|
||||||
|
|
||||||
|
|
||||||
|
<ion-col offset-2>
|
||||||
|
<img class="circle-pic"
|
||||||
|
src="{{commonUrl}}images/student/default.jpeg" *ngIf="studentInformation.ProfilePicPath =='' || studentInformation.ProfilePath =='NULL' || studentInformation.ProfilePath =='404'"/>
|
||||||
|
<img class="circle-pic" src="{{commonUrl}}/images/{{studentInformation.ProfilePicPath}}" *ngIf="studentInformation.ProfilePicPath !='' || studentInformation.ProfilePath !='NULL'">
|
||||||
|
<ion-label style="margin-left:18%;">Welcome {{studentInformation.Firstname}} !</ion-label>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
</ion-grid>
|
||||||
|
<ion-card>
|
||||||
|
<ion-card-header></ion-card-header>
|
||||||
|
<ion-card-content>
|
||||||
|
<ion-slides pager="true" loop = "true" *ngIf="announcement && announcement.length" autoplay="5000" class="slideroption" speed="500" pager="true">
|
||||||
|
<ion-slide *ngFor="let annco of announcement">
|
||||||
|
<h1>{{annco.Heading}}</h1><br/>
|
||||||
|
<span [innerHTML] = "annco.description"></span>
|
||||||
|
</ion-slide>
|
||||||
|
|
||||||
|
</ion-slides>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
26
src/pages/home/home.scss
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
page-home {
|
||||||
|
.ion-md-person:before {
|
||||||
|
content: \f345;
|
||||||
|
padding-left:30px;
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
.ion-md-construct:before {
|
||||||
|
content: \f2d5;
|
||||||
|
padding-left:18px;
|
||||||
|
}
|
||||||
|
.circle-pic{
|
||||||
|
width:100px;
|
||||||
|
height:100px;
|
||||||
|
-webkit-border-radius: 50%;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-left:20%;
|
||||||
|
}
|
||||||
|
ion-slides {
|
||||||
|
display: block;
|
||||||
|
/* width: 100%; */
|
||||||
|
height: 60%;
|
||||||
|
}
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
92
src/pages/home/home.ts
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,MenuController,LoadingController,AlertController,App } from 'ionic-angular';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import {LoginPage} from '../login/login';
|
||||||
|
import { ViewChild } from '@angular/core';
|
||||||
|
import { Slides } from 'ionic-angular';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'page-home',
|
||||||
|
templateUrl: 'home.html'
|
||||||
|
})
|
||||||
|
export class HomePage {
|
||||||
|
@ViewChild(Slides) slides: Slides;
|
||||||
|
company : any;
|
||||||
|
loading : any;
|
||||||
|
name:any;
|
||||||
|
StudentName : any;
|
||||||
|
studentInformation = [];
|
||||||
|
Logoutalert : any;
|
||||||
|
commonUrl : any;
|
||||||
|
announcement : any;
|
||||||
|
// tab2 = page2;
|
||||||
|
|
||||||
|
//test:string;
|
||||||
|
constructor(public alertCtrl: AlertController,
|
||||||
|
public loadingCtrl:LoadingController,
|
||||||
|
public navCtrl: NavController,
|
||||||
|
public Menu:MenuController,
|
||||||
|
private authService:AuthServiceProvider,
|
||||||
|
public app:App) {
|
||||||
|
|
||||||
|
this.authService.getAnnouncement().subscribe(announcement=>{
|
||||||
|
if(announcement.AnnouncementStatus == true){
|
||||||
|
this.announcement = announcement.details;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
//console.log("home "+this.commonUrl);
|
||||||
|
this.name = localStorage.getItem("ID");
|
||||||
|
let Requested = {requestedBy:this.name,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
|
||||||
|
this.studentloading();
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
|
||||||
|
localStorage.setItem('StudentDetails', getStudent);
|
||||||
|
this.studentInformation = getStudent.studentDetails;
|
||||||
|
|
||||||
|
//console.log(this.studentInformation);
|
||||||
|
this.loading.dismiss();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
logoutalert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
this.logout();
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
//window.localStorage.removeItem('password');
|
||||||
|
window.localStorage.removeItem('feesID');
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
studentloading(){
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
});
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
43
src/pages/installment-details/installmentDetails.html
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<ion-header>
|
||||||
|
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||||
|
<ion-navbar color="dark">
|
||||||
|
|
||||||
|
|
||||||
|
<ion-buttons end>
|
||||||
|
<button ion-button icon-only color="light" (click)="closeModal()">
|
||||||
|
<ion-icon name="ios-close" ></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
|
||||||
|
</ion-navbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ion-list>
|
||||||
|
<ion-col><h3 text-center>Installment Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let dueDetails of Coursestatus.InstallmentDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
{{dueDetails.Name}}<br/><span style="font-size:12px;">{{dueDetails.DueDate}}</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<i class="fa fa-inr"></i>{{dueDetails.Amount}}
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
<ion-list>
|
||||||
|
|
||||||
|
</ion-list>
|
||||||
|
</ion-list>
|
||||||
|
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
5
src/pages/installment-details/installmentDetails.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
page-installment {
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
115
src/pages/installment-details/installmentDetails.ts
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,MenuController,LoadingController,AlertController,App,ViewController } from 'ionic-angular';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import {LoginPage} from '../login/login';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'page-installment',
|
||||||
|
templateUrl: 'installmentDetails.html'
|
||||||
|
})
|
||||||
|
export class installmentDetails {
|
||||||
|
CourseDetails : string = "Fees";
|
||||||
|
company : any;
|
||||||
|
loading : any;
|
||||||
|
|
||||||
|
name:any;
|
||||||
|
StudentName : any;
|
||||||
|
coursedetails : any;
|
||||||
|
Logoutalert : any;
|
||||||
|
commonUrl : any;
|
||||||
|
feesID : any;
|
||||||
|
Coursestatus = [];
|
||||||
|
// tab2 = page2;
|
||||||
|
|
||||||
|
//test:string;
|
||||||
|
constructor(public alertCtrl: AlertController,
|
||||||
|
public loadingCtrl:LoadingController,
|
||||||
|
public navCtrl: NavController,
|
||||||
|
public Menu:MenuController,
|
||||||
|
private authService:AuthServiceProvider,
|
||||||
|
public app:App,
|
||||||
|
public viewCtrl:ViewController) {
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
//console.log("home "+this.commonUrl);
|
||||||
|
this.name = localStorage.getItem("ID");
|
||||||
|
let Requested = {requestedBy:this.name,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
|
||||||
|
this.studentloading();
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
this.feesID = window.localStorage.getItem("feesID");
|
||||||
|
|
||||||
|
//localStorage.setItem('StudentDetails', getStudent.courseStatus.);
|
||||||
|
this.coursedetails = getStudent.courseDetails.courseStatus;
|
||||||
|
for (let course of this.coursedetails){
|
||||||
|
//console.log(course);
|
||||||
|
for(let fees of course.feesDetails){
|
||||||
|
//console.log("if"+this.feesID);
|
||||||
|
if(this.feesID == fees.FeesID){
|
||||||
|
//console.log(fees);
|
||||||
|
this.Coursestatus = fees;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//console.log(this.studentInformation);
|
||||||
|
this.loading.dismiss();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
logoutalert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
this.logout();
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
//window.localStorage.removeItem('password');
|
||||||
|
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
studentloading(){
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
});
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
}
|
||||||
|
toggleSection(feesID) {
|
||||||
|
//console.log(feesID);
|
||||||
|
for(let paidDetails of feesID.paidDetails){
|
||||||
|
// paidDetails.open = !paidDetails.open;
|
||||||
|
console.log(paidDetails.BillDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
closeModal(){
|
||||||
|
this.viewCtrl.dismiss();
|
||||||
|
}
|
||||||
|
// toggleItem(i, j) {
|
||||||
|
// this.information[i].children[j].open = !this.information[i].children[j].open;
|
||||||
|
// }
|
||||||
|
}
|
||||||
42
src/pages/login/login.html
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<ion-header>
|
||||||
|
<ion-navbar color="dark">
|
||||||
|
|
||||||
|
<ion-title>Login</ion-title>
|
||||||
|
</ion-navbar>
|
||||||
|
</ion-header>
|
||||||
|
<ion-content padding>
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<ion-row>
|
||||||
|
<ion-col offset-3>
|
||||||
|
|
||||||
|
<img src="{{commonUrl}}images/logo/logo.png" width="70%" alt="Apollo Distance Education"></ion-col></ion-row>
|
||||||
|
<ion-card>
|
||||||
|
<ion-card-header>
|
||||||
|
|
||||||
|
</ion-card-header>
|
||||||
|
<ion-card-content>
|
||||||
|
<form [formGroup]="authForm" (submit)="doLogin(authForm.value)">
|
||||||
|
<ion-item [ngClass]="{'error-border':!authForm.controls.userMobile.valid && authForm.controls.userMobile.touched}">
|
||||||
|
<ion-label floating>Mobile Number</ion-label>
|
||||||
|
<ion-input [(ngModel)]="loginData.userMobile" name="userMobile" value = "" type="number" placeholder="Mobile Number" formControlName="userMobile"></ion-input>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item *ngIf="authForm.controls.userMobile.hasError('required') && authForm.controls.userMobile.touched">
|
||||||
|
<p style="color:red;">Sorry, field Mobile Number is required!</p>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item [ngClass]="{'error-border':!authForm.controls.password.valid && authForm.controls.password.touched}">
|
||||||
|
<ion-label floating>Password</ion-label>
|
||||||
|
<ion-input [(ngModel)]="loginData.password" name="password" value =""type="password" placeholder="Password" formControlName="password"></ion-input>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item *ngIf="authForm.controls.password.hasError('required') && authForm.controls.password.touched">
|
||||||
|
<p style="color:red;">Sorry, field password is required!</p>
|
||||||
|
</ion-item>
|
||||||
|
<button ion-button block type="submit" color="secondary" [disabled]="!authForm.valid">
|
||||||
|
Login
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</ion-card-content>
|
||||||
|
</ion-card>
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
7
src/pages/login/login.scss
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
page-login {
|
||||||
|
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
135
src/pages/login/login.ts
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
import { Component,Injectable, } from '@angular/core';
|
||||||
|
import { IonicPage,NavController,NavParams,MenuController } from 'ionic-angular';
|
||||||
|
import { LoadingController,AlertController } from 'ionic-angular';
|
||||||
|
import {HomePage} from '../home/home';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import {ReactiveFormsModule,FormBuilder,FormGroup,FormControl,Validators,FormsModule, NgForm} from '@angular/forms';
|
||||||
|
import {Md5} from 'ts-md5/dist/md5';
|
||||||
|
|
||||||
|
import {TabsPage} from'../tabs/tabs';
|
||||||
|
import { Network } from '@ionic-native/network';
|
||||||
|
@Component({
|
||||||
|
selector: 'page-login',
|
||||||
|
templateUrl: 'login.html',
|
||||||
|
|
||||||
|
})
|
||||||
|
export class LoginPage {
|
||||||
|
loading: any;
|
||||||
|
loginData = { userMobile:'', password:'' };
|
||||||
|
data: any;
|
||||||
|
authForm: FormGroup;
|
||||||
|
commonUrl : any;
|
||||||
|
// console.log(document.cookie);
|
||||||
|
constructor( private formBuilder:FormBuilder,public navCtrl: NavController,
|
||||||
|
public navParams:NavParams ,
|
||||||
|
public Menu:MenuController,
|
||||||
|
public loadingCtrl: LoadingController,
|
||||||
|
public authService: AuthServiceProvider,
|
||||||
|
private alertCtrl: AlertController,
|
||||||
|
private network: Network) {
|
||||||
|
//console.log(document.cookie);
|
||||||
|
this.authForm = formBuilder.group({
|
||||||
|
userMobile: ['', Validators.compose([Validators.required])],
|
||||||
|
password: ['', Validators.compose([Validators.required])]
|
||||||
|
});
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
console.log(this.commonUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
doLogin(value: any) {
|
||||||
|
// console.log(this.loginData);
|
||||||
|
let password = Md5.hashStr(this.loginData.password);
|
||||||
|
let login = {userMobile:this.loginData.userMobile,password: password};
|
||||||
|
//console.log(login);
|
||||||
|
this.authService.login(login).subscribe(res=>{
|
||||||
|
//this.data = res;
|
||||||
|
|
||||||
|
|
||||||
|
if(this.authForm.valid) {
|
||||||
|
window.localStorage.setItem('userMobile', value.userMobile);
|
||||||
|
window.localStorage.setItem('password', value.password);
|
||||||
|
|
||||||
|
if(res.loginStatus == true){
|
||||||
|
// console.log(res);
|
||||||
|
if(res.details.ListCode =="R001"){
|
||||||
|
|
||||||
|
this.navCtrl.setRoot(TabsPage,{});
|
||||||
|
//this.navCtrl.pop();
|
||||||
|
let Requested = {requestedBy:res.details.ID,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
this.loading.dismiss();
|
||||||
|
localStorage.setItem('ID', res.details.ID);
|
||||||
|
// this.homepageAlert();
|
||||||
|
//console.log(res.details.ID);
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.loading.dismiss();
|
||||||
|
let message ='Access Provided to Students Only';
|
||||||
|
console.log("login_error");
|
||||||
|
this.studentAlert(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.loading.dismiss();
|
||||||
|
//console.log(res.message);
|
||||||
|
this.logintAlert(res.message);
|
||||||
|
console.log("status_error");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}, (err)=>{
|
||||||
|
//alert('error');
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
this.presentLoading();}
|
||||||
|
presentLoading() {
|
||||||
|
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
// duration: 3000
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
logintAlert(message){
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title: message,
|
||||||
|
buttons: ['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
}
|
||||||
|
studentAlert(message){
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title: message,
|
||||||
|
buttons :['ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
}
|
||||||
|
homepageAlert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'This is Home Page',
|
||||||
|
buttons:['ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
43
src/pages/paid-details/paidDetails.html
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<ion-header>
|
||||||
|
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||||
|
<ion-navbar color="dark">
|
||||||
|
|
||||||
|
|
||||||
|
<ion-buttons end>
|
||||||
|
<button ion-button icon-only color="light" (click)="closeModal()">
|
||||||
|
<ion-icon name="ios-close" ></ion-icon>
|
||||||
|
</button>
|
||||||
|
</ion-buttons>
|
||||||
|
|
||||||
|
</ion-navbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ion-list>
|
||||||
|
<ion-col><h3 text-center>Paid Details</h3></ion-col>
|
||||||
|
<ion-item *ngFor="let paid of Coursestatus.paidDetails">
|
||||||
|
|
||||||
|
<ion-row>
|
||||||
|
<ion-col col-6 text-left>
|
||||||
|
{{paid.BillNO}}<br/><span style="font-size:12px;">{{paid.BillDate}}</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
<ion-col col-6 text-right>
|
||||||
|
<i class="fa fa-inr"></i>{{paid.BillAmount}}<br/><span style="font-size:12px;">{{paid.ModeOfPayment}}</span>
|
||||||
|
</ion-col>
|
||||||
|
|
||||||
|
</ion-row>
|
||||||
|
|
||||||
|
</ion-item>
|
||||||
|
<ion-list>
|
||||||
|
|
||||||
|
</ion-list>
|
||||||
|
</ion-list>
|
||||||
|
|
||||||
|
|
||||||
|
</ion-content>
|
||||||
|
|
||||||
5
src/pages/paid-details/paidDetails.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
page-paid {
|
||||||
|
.toolbar-md-dark .toolbar-background-md {
|
||||||
|
background: #364150 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
115
src/pages/paid-details/paidDetails.ts
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { NavController,MenuController,LoadingController,AlertController,App,ViewController } from 'ionic-angular';
|
||||||
|
import { AuthServiceProvider } from '../../providers/auth-service/auth-service';
|
||||||
|
import {LoginPage} from '../login/login';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'page-paid',
|
||||||
|
templateUrl: 'paidDetails.html'
|
||||||
|
})
|
||||||
|
export class paidDetails {
|
||||||
|
CourseDetails : string = "Fees";
|
||||||
|
company : any;
|
||||||
|
loading : any;
|
||||||
|
|
||||||
|
name:any;
|
||||||
|
StudentName : any;
|
||||||
|
coursedetails : any;
|
||||||
|
Logoutalert : any;
|
||||||
|
commonUrl : any;
|
||||||
|
feesID : any;
|
||||||
|
Coursestatus = [];
|
||||||
|
// tab2 = page2;
|
||||||
|
|
||||||
|
//test:string;
|
||||||
|
constructor(public alertCtrl: AlertController,
|
||||||
|
public loadingCtrl:LoadingController,
|
||||||
|
public navCtrl: NavController,
|
||||||
|
public Menu:MenuController,
|
||||||
|
private authService:AuthServiceProvider,
|
||||||
|
public app:App,
|
||||||
|
public viewCtrl:ViewController) {
|
||||||
|
this.commonUrl = this.authService.commonUrl;
|
||||||
|
//console.log("home "+this.commonUrl);
|
||||||
|
this.name = localStorage.getItem("ID");
|
||||||
|
let Requested = {requestedBy:this.name,requestedFrom:"2"}
|
||||||
|
//console.log("req"+Requested);
|
||||||
|
|
||||||
|
this.studentloading();
|
||||||
|
this.authService.studentGetInfo(Requested).subscribe(getStudent=>{
|
||||||
|
|
||||||
|
if(getStudent.studentStatus == true){
|
||||||
|
this.feesID = window.localStorage.getItem("feesID");
|
||||||
|
|
||||||
|
//localStorage.setItem('StudentDetails', getStudent.courseStatus.);
|
||||||
|
this.coursedetails = getStudent.courseDetails.courseStatus;
|
||||||
|
for (let course of this.coursedetails){
|
||||||
|
//console.log(course);
|
||||||
|
for(let fees of course.feesDetails){
|
||||||
|
//console.log("if"+this.feesID);
|
||||||
|
if(this.feesID == fees.FeesID){
|
||||||
|
//console.log(fees);
|
||||||
|
this.Coursestatus = fees;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//console.log(this.studentInformation);
|
||||||
|
this.loading.dismiss();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
logoutalert(){
|
||||||
|
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title:'Successfully Logout',
|
||||||
|
buttons:['Ok']
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
this.logout();
|
||||||
|
}
|
||||||
|
ionViewDidEnter(){
|
||||||
|
this.Menu.enable(false);
|
||||||
|
}
|
||||||
|
ionViewWillLeave(){
|
||||||
|
this.Menu.enable(true);
|
||||||
|
}
|
||||||
|
logout(){
|
||||||
|
|
||||||
|
|
||||||
|
window.localStorage.removeItem('ID');
|
||||||
|
window.localStorage.removeItem('userMobile');
|
||||||
|
window.localStorage.removeItem('password');
|
||||||
|
//window.localStorage.removeItem('password');
|
||||||
|
|
||||||
|
this.app.getRootNav().setRoot(LoginPage);
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
|
||||||
|
}
|
||||||
|
studentloading(){
|
||||||
|
this.loading = this.loadingCtrl.create({
|
||||||
|
content: "Please wait...",
|
||||||
|
});
|
||||||
|
this.loading.present();
|
||||||
|
|
||||||
|
}
|
||||||
|
toggleSection(feesID) {
|
||||||
|
//console.log(feesID);
|
||||||
|
for(let paidDetails of feesID.paidDetails){
|
||||||
|
// paidDetails.open = !paidDetails.open;
|
||||||
|
console.log(paidDetails.BillDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
closeModal(){
|
||||||
|
this.viewCtrl.dismiss();
|
||||||
|
}
|
||||||
|
// toggleItem(i, j) {
|
||||||
|
// this.information[i].children[j].open = !this.information[i].children[j].open;
|
||||||
|
// }
|
||||||
|
}
|
||||||
5
src/pages/tabs/tabs.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<ion-tabs>
|
||||||
|
<ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab>
|
||||||
|
<ion-tab [root]="tab2Root" tabTitle="Student Profile" tabIcon="contact"></ion-tab>
|
||||||
|
<ion-tab [root]="tab3Root" tabTitle="Course" tabIcon="bookmarks"></ion-tab>
|
||||||
|
</ion-tabs>
|
||||||
3
src/pages/tabs/tabs.scss
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
page-tabs {
|
||||||
|
|
||||||
|
}
|
||||||
19
src/pages/tabs/tabs.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
|
import { AboutPage } from '../about/about';
|
||||||
|
import { ContactPage } from '../contact/contact';
|
||||||
|
import { HomePage } from '../home/home';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
templateUrl: 'tabs.html'
|
||||||
|
})
|
||||||
|
export class TabsPage {
|
||||||
|
|
||||||
|
tab1Root = HomePage;
|
||||||
|
tab2Root = AboutPage;
|
||||||
|
tab3Root = ContactPage;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/providers/auth-service/auth-service.ts
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Http, Headers, RequestOptions } from '@angular/http';
|
||||||
|
import { NavController, LoadingController, ToastController } from 'ionic-angular';
|
||||||
|
import 'rxjs/add/operator/map';
|
||||||
|
import { HomePage } from '../../pages/home/home';
|
||||||
|
import { LoginPage } from '../../pages/login/login';
|
||||||
|
|
||||||
|
let apiUrl = 'http://apollodec.com/SIT/api/';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class AuthServiceProvider {
|
||||||
|
public commonUrl : any;
|
||||||
|
public studentStatus : any;
|
||||||
|
constructor( public http: Http,private RequestOptions:RequestOptions) {
|
||||||
|
this.commonUrl = 'http://apollodec.com/SIT/';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
login(credentials) {
|
||||||
|
|
||||||
|
let headers = new Headers({ 'Content-Type': 'application/json' });
|
||||||
|
let options = new RequestOptions({ headers: headers });
|
||||||
|
return this.http.post(apiUrl+'login/', JSON.stringify(credentials), options)
|
||||||
|
.map(res => res.json())
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
studentGetInfo(Requested){
|
||||||
|
//console.log("pro"+Requested);
|
||||||
|
let headers = new Headers({ 'Content-Type': 'application/json' });
|
||||||
|
let options = new RequestOptions({ headers: headers });
|
||||||
|
return this.http.post(apiUrl+'getStudentBasicInfo/',JSON.stringify(Requested),options)
|
||||||
|
.map(res => res.json())
|
||||||
|
}
|
||||||
|
|
||||||
|
getAnnouncement(){
|
||||||
|
//console.log("pro"+Requested);
|
||||||
|
let accn = {};
|
||||||
|
let headers = new Headers({ 'Content-Type': 'application/json' });
|
||||||
|
let options = new RequestOptions({ headers: headers });
|
||||||
|
return this.http.post(apiUrl+'getLoginAnnouncementDetails/',JSON.stringify(accn),options)
|
||||||
|
.map(res => res.json())
|
||||||
|
}
|
||||||
|
}
|
||||||
31
src/service-worker.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/**
|
||||||
|
* Check out https://googlechromelabs.github.io/sw-toolbox/ for
|
||||||
|
* more info on how to use sw-toolbox to custom configure your service worker.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
importScripts('./build/sw-toolbox.js');
|
||||||
|
|
||||||
|
self.toolbox.options.cache = {
|
||||||
|
name: 'ionic-cache'
|
||||||
|
};
|
||||||
|
|
||||||
|
// pre-cache our key assets
|
||||||
|
self.toolbox.precache(
|
||||||
|
[
|
||||||
|
'./build/main.js',
|
||||||
|
'./build/vendor.js',
|
||||||
|
'./build/main.css',
|
||||||
|
'./build/polyfills.js',
|
||||||
|
'index.html',
|
||||||
|
'manifest.json'
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
// dynamically cache any other local assets
|
||||||
|
self.toolbox.router.any('/*', self.toolbox.fastest);
|
||||||
|
|
||||||
|
// for any other requests go to the network, cache,
|
||||||
|
// and then only use that cached resource if your user goes offline
|
||||||
|
self.toolbox.router.default = self.toolbox.networkFirst;
|
||||||
88
src/theme/variables.scss
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
// Ionic Variables and Theming. For more info, please see:
|
||||||
|
// http://ionicframework.com/docs/theming/
|
||||||
|
|
||||||
|
// Font path is used to include ionicons,
|
||||||
|
// roboto, and noto sans fonts
|
||||||
|
$font-path: "../assets/fonts";
|
||||||
|
|
||||||
|
|
||||||
|
// The app direction is used to include
|
||||||
|
// rtl styles in your app. For more info, please see:
|
||||||
|
// http://ionicframework.com/docs/theming/rtl-support/
|
||||||
|
$app-direction: ltr;
|
||||||
|
|
||||||
|
|
||||||
|
@import "ionic.globals";
|
||||||
|
|
||||||
|
|
||||||
|
// Shared Variables
|
||||||
|
// --------------------------------------------------
|
||||||
|
// To customize the look and feel of this app, you can override
|
||||||
|
// the Sass variables found in Ionic's source scss files.
|
||||||
|
// To view all the possible Ionic variables, see:
|
||||||
|
// http://ionicframework.com/docs/theming/overriding-ionic-variables/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Named Color Variables
|
||||||
|
// --------------------------------------------------
|
||||||
|
// Named colors makes it easy to reuse colors on various components.
|
||||||
|
// It's highly recommended to change the default colors
|
||||||
|
// to match your app's branding. Ionic uses a Sass map of
|
||||||
|
// colors so you can add, rename and remove colors as needed.
|
||||||
|
// The "primary" color is the only required color in the map.
|
||||||
|
|
||||||
|
$colors: (
|
||||||
|
primary: #488aff,
|
||||||
|
secondary: #32db64,
|
||||||
|
danger: #f53d3d,
|
||||||
|
light: #f4f4f4,
|
||||||
|
dark: #222
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// App iOS Variables
|
||||||
|
// --------------------------------------------------
|
||||||
|
// iOS only Sass variables can go here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// App Material Design Variables
|
||||||
|
// --------------------------------------------------
|
||||||
|
// Material Design only Sass variables can go here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// App Windows Variables
|
||||||
|
// --------------------------------------------------
|
||||||
|
// Windows only Sass variables can go here
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// App Theme
|
||||||
|
// --------------------------------------------------
|
||||||
|
// Ionic apps can have different themes applied, which can
|
||||||
|
// then be future customized. This import comes last
|
||||||
|
// so that the above variables are used and Ionic's
|
||||||
|
// default are overridden.
|
||||||
|
|
||||||
|
@import "ionic.theme.default";
|
||||||
|
|
||||||
|
|
||||||
|
// Ionicons
|
||||||
|
// --------------------------------------------------
|
||||||
|
// The premium icon font for Ionic. For more info, please see:
|
||||||
|
// http://ionicframework.com/docs/ionicons/
|
||||||
|
|
||||||
|
@import "ionic.ionicons";
|
||||||
|
|
||||||
|
|
||||||
|
// Fonts
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
@import "roboto";
|
||||||
|
@import "noto-sans";
|
||||||
28
tsconfig.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"declaration": false,
|
||||||
|
"emitDecoratorMetadata": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"es2015"
|
||||||
|
],
|
||||||
|
"module": "es2015",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"sourceMap": true,
|
||||||
|
"target": "es5"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"src/**/*.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"src/**/*.spec.ts",
|
||||||
|
"src/**/__tests__/*.ts"
|
||||||
|
],
|
||||||
|
"compileOnSave": false,
|
||||||
|
"atom": {
|
||||||
|
"rewriteTsconfig": false
|
||||||
|
}
|
||||||
|
}
|
||||||
11
tslint.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-unused-variable": [
|
||||||
|
true
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rulesDirectory": [
|
||||||
|
"node_modules/tslint-eslint-rules/dist/rules"
|
||||||
|
]
|
||||||
|
}
|
||||||