Merge branch 'master' of https://bitbucket.org/sriramv18/sparqsineedge
This commit is contained in:
commit
4caf09989b
3612
ng6-seed/package-lock.json
generated
3612
ng6-seed/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -167,9 +167,12 @@ export class AwsService {
|
|||||||
* Logout function
|
* Logout function
|
||||||
*/
|
*/
|
||||||
logout(){
|
logout(){
|
||||||
|
|
||||||
return Observable.create(observe=>{
|
return Observable.create(observe=>{
|
||||||
this.shared.getCurrentUser().signOut();
|
this.shared.getCurrentUser().signOut();
|
||||||
|
|
||||||
observe.next();
|
observe.next();
|
||||||
|
|
||||||
observe.complete();
|
observe.complete();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -393,14 +396,14 @@ export class AwsService {
|
|||||||
if (userData.type.entity_type_id == 1) {
|
if (userData.type.entity_type_id == 1) {
|
||||||
|
|
||||||
params = {
|
params = {
|
||||||
GroupName: role.value /* required */,
|
GroupName: role.GroupName /* required */,
|
||||||
UserPoolId: sineedgedev_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
UserPoolId: sineedgedev_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
||||||
Username: cognitodata.User.Username //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
Username: cognitodata.User.Username //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
||||||
};
|
};
|
||||||
|
|
||||||
} else if (userData.type.entity_type_id == 2) {
|
} else if (userData.type.entity_type_id == 2) {
|
||||||
params = {
|
params = {
|
||||||
GroupName: role.value /* required */,
|
GroupName: role.GroupName /* required */,
|
||||||
UserPoolId: lender_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
UserPoolId: lender_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
||||||
Username: cognitodata.User.Username //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
Username: cognitodata.User.Username //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
||||||
};
|
};
|
||||||
@ -435,14 +438,14 @@ export class AwsService {
|
|||||||
if (userData.fk_entity_id == 1) {
|
if (userData.fk_entity_id == 1) {
|
||||||
|
|
||||||
params = {
|
params = {
|
||||||
GroupName: cognitodata.value /* required */,
|
GroupName: cognitodata.GroupName /* required */,
|
||||||
UserPoolId: sineedgedev_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
UserPoolId: sineedgedev_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
||||||
Username: userData.aws_name //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
Username: userData.aws_name //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
||||||
};
|
};
|
||||||
|
|
||||||
} else if (userData.fk_entity_id == 2) {
|
} else if (userData.fk_entity_id == 2) {
|
||||||
params = {
|
params = {
|
||||||
GroupName: cognitodata.value /* required */,
|
GroupName: cognitodata.GroupName /* required */,
|
||||||
UserPoolId: lender_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
UserPoolId: lender_poolData.UserPoolId,//"ap-south-1_y7dt3iEaX" /* required */,
|
||||||
Username: userData.aws_name //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
Username: userData.aws_name //'539bfefa-ae42-4bee-bf79-4b15d1a2af7f' /* required */
|
||||||
};
|
};
|
||||||
@ -494,7 +497,13 @@ export class AwsService {
|
|||||||
{
|
{
|
||||||
Name: 'locale', /* required */
|
Name: 'locale', /* required */
|
||||||
Value: cognitosdata.toString()
|
Value: cognitosdata.toString()
|
||||||
},
|
},{
|
||||||
|
Name:"email_verified",
|
||||||
|
Value:"true"
|
||||||
|
},{
|
||||||
|
Name:"phone_number_verified",
|
||||||
|
Value:"true"
|
||||||
|
}
|
||||||
/* more items */
|
/* more items */
|
||||||
],
|
],
|
||||||
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
||||||
@ -506,7 +515,13 @@ export class AwsService {
|
|||||||
{
|
{
|
||||||
Name: 'locale', /* required */
|
Name: 'locale', /* required */
|
||||||
Value: cognitosdata.toString()
|
Value: cognitosdata.toString()
|
||||||
},
|
},{
|
||||||
|
Name:"email_verified",
|
||||||
|
Value:"true"
|
||||||
|
},{
|
||||||
|
Name:"phone_number_verified",
|
||||||
|
Value:"true"
|
||||||
|
}
|
||||||
/* more items */
|
/* more items */
|
||||||
],
|
],
|
||||||
UserPoolId: lender_poolData.UserPoolId, /* required */
|
UserPoolId: lender_poolData.UserPoolId, /* required */
|
||||||
@ -598,11 +613,20 @@ adminremoveGroup(roles,users){
|
|||||||
|
|
||||||
let session:any = this.shared.getAccessToken() ||"";
|
let session:any = this.shared.getAccessToken() ||"";
|
||||||
this.getconfig();
|
this.getconfig();
|
||||||
var params = {
|
let params:any;
|
||||||
GroupName: roles.value, /* required */
|
if(users.fk_entity_id ==1){
|
||||||
|
params = {
|
||||||
|
GroupName: roles.GroupName, /* required */
|
||||||
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
||||||
Username: users.aws_name//'2c64866e-e96f-453b-903f-2b6f831688af' /* required */
|
Username: users.aws_name//'2c64866e-e96f-453b-903f-2b6f831688af' /* required */
|
||||||
};
|
};
|
||||||
|
}else if(users.fk_entity_id ==2){
|
||||||
|
params = {
|
||||||
|
GroupName: roles.GroupName, /* required */
|
||||||
|
UserPoolId: lender_poolData.UserPoolId, /* required */
|
||||||
|
Username: users.aws_name//'2c64866e-e96f-453b-903f-2b6f831688af' /* required */
|
||||||
|
};
|
||||||
|
}
|
||||||
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
||||||
cognitoidentityserviceprovider.adminRemoveUserFromGroup(params, function(err, data) {
|
cognitoidentityserviceprovider.adminRemoveUserFromGroup(params, function(err, data) {
|
||||||
if (err) console.log(err, err.stack); // an error occurred
|
if (err) console.log(err, err.stack); // an error occurred
|
||||||
@ -610,4 +634,104 @@ adminremoveGroup(roles,users){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adminresetpassword(awsuser){
|
||||||
|
this.getconfig();
|
||||||
|
let params:any;
|
||||||
|
if(awsuser.fk_entity_id ==1){
|
||||||
|
params= {
|
||||||
|
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
||||||
|
Username: awsuser.email /* required */
|
||||||
|
};
|
||||||
|
}else if(awsuser.fk_entity_id ==2){
|
||||||
|
params= {
|
||||||
|
UserPoolId: lender_poolData.UserPoolId, /* required */
|
||||||
|
Username: awsuser.email /* required */
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return Observable.create(observe=>{
|
||||||
|
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
||||||
|
cognitoidentityserviceprovider.changePassword(params, function(err, data) {
|
||||||
|
if (err) console.log(err, err.stack); // an error occurred
|
||||||
|
else { console.log(data);
|
||||||
|
observe.next(data);
|
||||||
|
} // successful response
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
changepassword(passData) {
|
||||||
|
let session:any = this.shared.getAccessToken() || "";
|
||||||
|
console.log(session);
|
||||||
|
this.getconfig();
|
||||||
|
var params = {
|
||||||
|
AccessToken: session.accessToken.jwtToken, /* required */
|
||||||
|
PreviousPassword: passData.oldPassword, /* required */
|
||||||
|
ProposedPassword: passData.newPassword /* required */
|
||||||
|
};
|
||||||
|
return Observable.create(observe => {
|
||||||
|
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
||||||
|
cognitoidentityserviceprovider.changePassword(params, function (err, data) {
|
||||||
|
if (err) console.log(err, err.stack); // an error occurred
|
||||||
|
console.log(data);
|
||||||
|
observe.next(data);
|
||||||
|
// successful response
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
admindelete(aws){
|
||||||
|
this.getconfig();
|
||||||
|
let params:any;
|
||||||
|
if(aws.fk_entity_id ==1){
|
||||||
|
params= {
|
||||||
|
UserPoolId: sineedgedev_poolData.UserPoolId, /* required */
|
||||||
|
Username: aws.email /* required */
|
||||||
|
};
|
||||||
|
}else if(aws.fk_entity_id ==2){
|
||||||
|
params= {
|
||||||
|
UserPoolId: lender_poolData.UserPoolId, /* required */
|
||||||
|
Username: aws.email /* required */
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return Observable.create(observe=>{
|
||||||
|
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
||||||
|
cognitoidentityserviceprovider.adminDeleteUser(params, function(err, data) {
|
||||||
|
if (err) console.log(err, err.stack); // an error occurred
|
||||||
|
else { console.log(data);
|
||||||
|
observe.next(data);
|
||||||
|
} // successful response
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
adminlistgroup(enitiy){
|
||||||
|
// console.log(enitiy);
|
||||||
|
this.getconfig();
|
||||||
|
let params:any;
|
||||||
|
if(enitiy ==1){
|
||||||
|
params = {
|
||||||
|
UserPoolId:sineedgedev_poolData.UserPoolId,
|
||||||
|
}
|
||||||
|
}else if(enitiy ==2){
|
||||||
|
params = {
|
||||||
|
UserPoolId:lender_poolData.UserPoolId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//console.log(enitiy);
|
||||||
|
return Observable.create(observe=>{
|
||||||
|
|
||||||
|
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
|
||||||
|
cognitoidentityserviceprovider.listGroups(params,function(err,data){
|
||||||
|
if(err) alert(err.stack);
|
||||||
|
else {console.log(data);observe.next(data.Groups);}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
// waiting for image api
|
||||||
|
getpicurl(userid){
|
||||||
|
let users = {'userid':userid}
|
||||||
|
return this.http.post(apiurl+'getSingedProfilePicURL',users);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import {
|
|||||||
CognitoUserSession
|
CognitoUserSession
|
||||||
} from "amazon-cognito-identity-js";
|
} from "amazon-cognito-identity-js";
|
||||||
import { environment } from '../../environments/environment';
|
import { environment } from '../../environments/environment';
|
||||||
|
import { BehaviorSubject } from 'rxjs';
|
||||||
const sineedge_poolData = {
|
const sineedge_poolData = {
|
||||||
UserPoolId: "ap-south-1_y7dt3iEaX", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV
|
UserPoolId: "ap-south-1_y7dt3iEaX", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV
|
||||||
ClientId: "291qt4smn5pql6o8cc2hi201lj" // ClientName: SINEEDGE_DEV_WEB
|
ClientId: "291qt4smn5pql6o8cc2hi201lj" // ClientName: SINEEDGE_DEV_WEB
|
||||||
@ -49,6 +50,7 @@ export interface Callback {
|
|||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class CognitoService implements CanActivateChild {
|
export class CognitoService implements CanActivateChild {
|
||||||
|
public loggedIn :boolean = false;
|
||||||
// public static _REGION = environment.region;
|
// public static _REGION = environment.region;
|
||||||
|
|
||||||
// public static _IDENTITY_POOL_ID = environment.identityPoolId;
|
// public static _IDENTITY_POOL_ID = environment.identityPoolId;
|
||||||
@ -59,6 +61,14 @@ export class CognitoService implements CanActivateChild {
|
|||||||
// UserPoolId: CognitoService._USER_POOL_ID,
|
// UserPoolId: CognitoService._USER_POOL_ID,
|
||||||
// ClientId: CognitoService._CLIENT_ID
|
// ClientId: CognitoService._CLIENT_ID
|
||||||
// };
|
// };
|
||||||
|
get isLoggedIn() {
|
||||||
|
if(sineedgedevUserpool.getCurrentUser() !=null){
|
||||||
|
this.loggedIn = true;
|
||||||
|
}else{
|
||||||
|
this.loggedIn = false;
|
||||||
|
}
|
||||||
|
return this.loggedIn; // {2}
|
||||||
|
}
|
||||||
canActivateChild(){
|
canActivateChild(){
|
||||||
if(this.getToken()){
|
if(this.getToken()){
|
||||||
//alert('session valid')
|
//alert('session valid')
|
||||||
@ -82,6 +92,7 @@ isloggin:boolean = false;
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
getCurrentUser() {
|
getCurrentUser() {
|
||||||
|
|
||||||
return sineedgedevUserpool.getCurrentUser();
|
return sineedgedevUserpool.getCurrentUser();
|
||||||
}
|
}
|
||||||
constructor(public route:Router) { }
|
constructor(public route:Router) { }
|
||||||
|
|||||||
@ -1,45 +1,37 @@
|
|||||||
// import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';
|
import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';
|
||||||
// import { Observable , of } from 'rxjs';
|
import { Observable , of } from 'rxjs';
|
||||||
|
import { CognitoService } from '../AwsService/cognito.service';
|
||||||
|
@Injectable()
|
||||||
|
export class AuthGuard implements CanActivate, CanActivateChild {
|
||||||
|
|
||||||
// @Injectable()
|
constructor(private router: Router,public shared:CognitoService) { }
|
||||||
// export class AuthGuard implements CanActivate, CanActivateChild {
|
|
||||||
|
|
||||||
// constructor(private router: Router) { }
|
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
|
||||||
|
if (this.shared.getToken()) {
|
||||||
|
alert("if");
|
||||||
|
// this.router.navigate(['']);
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
alert("else");
|
||||||
|
this.router.navigate(['/login']);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
|
canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
|
||||||
// if (localStorage.getItem('token') != null) {
|
|
||||||
// // this.router.navigate(['']);
|
|
||||||
// return true
|
|
||||||
// } else {
|
|
||||||
// this.router.navigate(['/login']);
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
|
if (this.shared.getToken()) {
|
||||||
// if (this.loginService.loggedIn()) {
|
// alert("if");
|
||||||
// let roles = route.data["role"] as Array<string>;
|
|
||||||
// console.log("dataRole: " +roles);
|
return true;
|
||||||
// if(roles.length > -1){
|
} else {
|
||||||
// var match = this.loginService.roleMatch(roles);
|
// alert("else");
|
||||||
// if(match){
|
this.router.navigate(['/login']);
|
||||||
// // this.router.navigate(['./dashboard']);
|
return false;
|
||||||
// return this.loginService.loggedIn()
|
|
||||||
// }
|
}
|
||||||
// else {
|
}
|
||||||
// this.router.navigate(['./404']);
|
|
||||||
// return this.loginService.loggedIn();
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// this.router.navigate(['/login']);
|
|
||||||
// return this.loginService.loggedIn();
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// this.router.navigate(['/login']);
|
|
||||||
// return this.loginService.loggedIn();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public getToken(): string {
|
// public getToken(): string {
|
||||||
// return localStorage.getItem('token');
|
// return localStorage.getItem('token');
|
||||||
@ -51,4 +43,4 @@
|
|||||||
// this.router.navigate(['/login']);
|
// this.router.navigate(['/login']);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
}
|
||||||
@ -30,6 +30,7 @@ import {MatCheckboxModule} from '@angular/material/checkbox';
|
|||||||
import {MatProgressBarModule} from '@angular/material/progress-bar';
|
import {MatProgressBarModule} from '@angular/material/progress-bar';
|
||||||
import {MatSelectModule} from '@angular/material/select';
|
import {MatSelectModule} from '@angular/material/select';
|
||||||
import {MatCardModule} from '@angular/material/card';
|
import {MatCardModule} from '@angular/material/card';
|
||||||
|
import {ChangePasswordDialog} from './settings/users/user-profile/user-profile.component';
|
||||||
|
|
||||||
import { AppRoutes } from './app.routing';
|
import { AppRoutes } from './app.routing';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
@ -39,6 +40,7 @@ import { SharedModule } from './shared/shared.module';
|
|||||||
import { AwsService } from './AwsService/aws.service';
|
import { AwsService } from './AwsService/aws.service';
|
||||||
import { TokenInterceptor } from './_guard/token.interceptor';
|
import { TokenInterceptor } from './_guard/token.interceptor';
|
||||||
import { NewPasswordDialog, ForgotPass } from './session/login/login.component';
|
import { NewPasswordDialog, ForgotPass } from './session/login/login.component';
|
||||||
|
import { AuthGuard } from './_guard/auth.guard';
|
||||||
export function HttpLoaderFactory(http: HttpClient) {
|
export function HttpLoaderFactory(http: HttpClient) {
|
||||||
return new TranslateHttpLoader(http);
|
return new TranslateHttpLoader(http);
|
||||||
}
|
}
|
||||||
@ -56,7 +58,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
|
|||||||
AppComponent,
|
AppComponent,
|
||||||
AdminLayoutComponent,
|
AdminLayoutComponent,
|
||||||
AuthLayoutComponent,
|
AuthLayoutComponent,
|
||||||
NewPasswordDialog,ForgotPass
|
NewPasswordDialog,ForgotPass,ChangePasswordDialog,
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
@ -92,7 +94,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
|
|||||||
provide: LocationStrategy,
|
provide: LocationStrategy,
|
||||||
useClass: HashLocationStrategy,
|
useClass: HashLocationStrategy,
|
||||||
},
|
},
|
||||||
AwsService,
|
AwsService,AuthGuard,
|
||||||
TranslateService,
|
TranslateService,
|
||||||
// {
|
// {
|
||||||
// provide: PERFECT_SCROLLBAR_CONFIG,
|
// provide: PERFECT_SCROLLBAR_CONFIG,
|
||||||
@ -104,7 +106,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
|
|||||||
multi: true
|
multi: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
entryComponents: [NewPasswordDialog,ForgotPass],
|
entryComponents: [NewPasswordDialog,ForgotPass,ChangePasswordDialog],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
export class AppModule { }
|
export class AppModule { }
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { Routes } from '@angular/router';
|
|||||||
import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
|
import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
|
||||||
import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
|
import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
|
||||||
import { CognitoService} from './AwsService/cognito.service';
|
import { CognitoService} from './AwsService/cognito.service';
|
||||||
|
import { AuthGuard } from './_guard/auth.guard';
|
||||||
export const AppRoutes: Routes = [{
|
export const AppRoutes: Routes = [{
|
||||||
path: '',
|
path: '',
|
||||||
redirectTo: 'home',
|
redirectTo: 'home',
|
||||||
@ -10,7 +11,7 @@ export const AppRoutes: Routes = [{
|
|||||||
}, {
|
}, {
|
||||||
path: '',
|
path: '',
|
||||||
component: AdminLayoutComponent,
|
component: AdminLayoutComponent,
|
||||||
canActivateChild:[CognitoService],
|
canActivateChild:[AuthGuard],
|
||||||
children: [{
|
children: [{
|
||||||
path: 'home',
|
path: 'home',
|
||||||
loadChildren: './dashboard/dashboard.module#DashboardModule'
|
loadChildren: './dashboard/dashboard.module#DashboardModule'
|
||||||
@ -18,10 +19,10 @@ export const AppRoutes: Routes = [{
|
|||||||
path:'setting',
|
path:'setting',
|
||||||
loadChildren:'./settings/settings.module#SettingsModule'
|
loadChildren:'./settings/settings.module#SettingsModule'
|
||||||
}
|
}
|
||||||
// ,{
|
,{
|
||||||
// path:'pdtrigger',
|
path:'pdtrigger',
|
||||||
// loadChildren:'./pd-trigger/pd-trigger.module#PdTriggerModule'
|
loadChildren:'./pd-triger/pd-triger.module#PdTrigerModule'
|
||||||
// }
|
}
|
||||||
]
|
]
|
||||||
}, {
|
}, {
|
||||||
path: '',
|
path: '',
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<div class="branding text-center">
|
<div class="branding text-center">
|
||||||
<!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> OPTIMA</span>
|
<!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> OPTIMA</span>
|
||||||
</h2> -->
|
</h2> -->
|
||||||
<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> SINEEDGE </span>
|
<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> {{userDep}} </span>
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="main-nav">
|
<div class="main-nav">
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<div class="user-profile-thumb text-center">
|
<div class="user-profile-thumb text-center">
|
||||||
<div class="user-i">
|
<div class="user-i">
|
||||||
<img src="assets/images/userpic.jpg" class="rad-full mb-1" width="100" height="100" alt="">
|
<img src="assets/images/userpic.jpg" class="rad-full mb-1" width="100" height="100" alt="">
|
||||||
<div> <span>John Doe</span></div>
|
<div> <span>{{fullName}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="most-used text-center">
|
<div class="most-used text-center">
|
||||||
@ -90,7 +90,7 @@
|
|||||||
<div class="branding text-center">
|
<div class="branding text-center">
|
||||||
<!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> OPTIMA</span>
|
<!-- <h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> OPTIMA</span>
|
||||||
</h2> -->
|
</h2> -->
|
||||||
<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> SINEEDGE</span>
|
<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> {{userDep}}({{fullNmae}})</span>
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -160,7 +160,7 @@
|
|||||||
<mat-icon>settings</mat-icon>
|
<mat-icon>settings</mat-icon>
|
||||||
Setting
|
Setting
|
||||||
</button>
|
</button>
|
||||||
<button mat-menu-item>
|
<button mat-menu-item (click)="userprofile()">
|
||||||
<mat-icon>account_box</mat-icon>
|
<mat-icon>account_box</mat-icon>
|
||||||
Profile
|
Profile
|
||||||
</button>
|
</button>
|
||||||
@ -250,7 +250,7 @@
|
|||||||
<mat-icon>settings</mat-icon>
|
<mat-icon>settings</mat-icon>
|
||||||
Setting
|
Setting
|
||||||
</button>
|
</button>
|
||||||
<button mat-menu-item>
|
<button mat-menu-item (click)="userprofile()">
|
||||||
<mat-icon>account_box</mat-icon>
|
<mat-icon>account_box</mat-icon>
|
||||||
Profile
|
Profile
|
||||||
</button>
|
</button>
|
||||||
@ -526,3 +526,4 @@
|
|||||||
<!-- /Demo Purposes Only -->
|
<!-- /Demo Purposes Only -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -9,6 +9,7 @@ import {TranslateService} from '@ngx-translate/core';
|
|||||||
import PerfectScrollbar from 'perfect-scrollbar';
|
import PerfectScrollbar from 'perfect-scrollbar';
|
||||||
import { PerfectScrollbarConfigInterface,
|
import { PerfectScrollbarConfigInterface,
|
||||||
PerfectScrollbarComponent, PerfectScrollbarDirective } from 'ngx-perfect-scrollbar';
|
PerfectScrollbarComponent, PerfectScrollbarDirective } from 'ngx-perfect-scrollbar';
|
||||||
|
import { UserService } from '../../settings/service/user.service';
|
||||||
|
|
||||||
import { AwsService } from '../../AwsService/aws.service';
|
import { AwsService } from '../../AwsService/aws.service';
|
||||||
|
|
||||||
@ -18,6 +19,9 @@ import { AwsService } from '../../AwsService/aws.service';
|
|||||||
})
|
})
|
||||||
export class AdminLayoutComponent implements OnInit, OnDestroy {
|
export class AdminLayoutComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
|
userDep: string;
|
||||||
|
fullName: any;
|
||||||
|
currentUser: any;
|
||||||
private _router: Subscription;
|
private _router: Subscription;
|
||||||
|
|
||||||
today: number = Date.now();
|
today: number = Date.now();
|
||||||
@ -39,9 +43,26 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
@ViewChild('sidemenu') sidemenu;
|
@ViewChild('sidemenu') sidemenu;
|
||||||
public config: PerfectScrollbarConfigInterface = {};
|
public config: PerfectScrollbarConfigInterface = {};
|
||||||
|
|
||||||
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService ) {
|
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService ) {
|
||||||
const browserLang: string = translate.getBrowserLang();
|
const browserLang: string = translate.getBrowserLang();
|
||||||
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
||||||
|
this.users.getroles().subscribe(res=>{
|
||||||
|
this.currentUser = res;
|
||||||
|
if(this.currentUser.dataStatus == true){
|
||||||
|
this.currentUser = this.currentUser.records[0];
|
||||||
|
this.fullName = this.currentUser.user_full_name;
|
||||||
|
console.log(this.currentUser);
|
||||||
|
if(this.currentUser.fk_entity_id == 1 ){
|
||||||
|
this.userDep = "SINEEGDE";
|
||||||
|
}else if(this.currentUser.fk_entity_id ==2){
|
||||||
|
this.userDep = "LENDOR";
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.userDep = "VENDOR";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -201,6 +222,9 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
userprofile(){
|
||||||
|
this.router.navigate(['setting/users/userprofile']);
|
||||||
|
}
|
||||||
logout(){
|
logout(){
|
||||||
//alert();
|
//alert();
|
||||||
this.aws.logout().subscribe(res=>{
|
this.aws.logout().subscribe(res=>{
|
||||||
|
|||||||
164
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.html
Normal file
164
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.html
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
<mat-card class="p-1">
|
||||||
|
<form [formGroup]="PDtriggerForm" (submit)="submitPdDetails()">
|
||||||
|
<mat-card-content>
|
||||||
|
<div class="mb-2"></div>
|
||||||
|
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||||
|
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||||
|
<mat-card class="p-2">
|
||||||
|
<h5>PD Details</h5>
|
||||||
|
|
||||||
|
<div fxLayout="column" fxLayoutAlign="start stretch">
|
||||||
|
<!-- <mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="First Name" type="text" name="name" required>
|
||||||
|
</mat-form-field> -->
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<mat-select placeholder="Lender Name" [formControl]="PDtriggerForm.controls['fk_lender_id']" required>
|
||||||
|
<mat-option *ngFor="let LL of LenderList" [value]="LL.lender_hierarchy_id" >
|
||||||
|
{{LL.lender_hierarchy}}
|
||||||
|
</mat-option>
|
||||||
|
<mat-error *ngIf="!PDtriggerForm.controls['fk_lender_id'].valid && PDtriggerForm.controls['fk_lender_id'].touched" class="mat-text-warn">You must include a Pick up Lender Name.</mat-error>
|
||||||
|
</mat-select>
|
||||||
|
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Lender Applicant ID" required [formControl]="PDtriggerForm.controls['lender_applicant_id']" type="text">
|
||||||
|
<mat-error *ngIf="!PDtriggerForm.controls['lender_applicant_id'].valid && PDtriggerForm.controls['lender_applicant_id'].touched" class="mat-text-warn">You must include Lender Applicant Id.</mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
<!-- <mat-form-field style="width: 100%">
|
||||||
|
|
||||||
|
<input matInput placeholder="PD Date of Initiation" [formControl]="PDtriggerForm.controls['pd_date_of_initiation']" type="date">
|
||||||
|
|
||||||
|
</mat-form-field>-->
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<mat-select placeholder="Product Name" [formControl]="PDtriggerForm.controls['fk_product_id']">
|
||||||
|
<mat-option *ngFor="let PL of ProductList" [value]="PL" >
|
||||||
|
{{PL.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
|
||||||
|
<mat-select placeholder="Sub product Name" [formControl]="PDtriggerForm.controls['fk_subproduct_id']">
|
||||||
|
<mat-option *ngFor="let SPL of SubProductList" [value]="SPL" >
|
||||||
|
{{SPL.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<mat-select placeholder="Customer Segment" [formControl]="PDtriggerForm.controls['fk_customer_segment']">
|
||||||
|
<mat-option *ngFor="let CSL of CustomerSegmentList" [value]="CSL.customer_segment_id" >
|
||||||
|
{{CSL.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<mat-select placeholder="PD Type" [formControl]="PDtriggerForm.controls['fk_pd_type']">
|
||||||
|
<mat-option *ngFor="let PDL of PDTypeList" [value]="PDL.pd_type_id" >
|
||||||
|
{{PDL.type_name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Loan Amount" [formControl]="PDtriggerForm.controls['loan_amount']">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Address 1" [formControl]="PDtriggerForm.controls['addressline1']">
|
||||||
|
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Address 2" [formControl]="PDtriggerForm.controls['addressline2']">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Address 3" [formControl]="PDtriggerForm.controls['addressline3']">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%;">
|
||||||
|
<mat-select placeholder="Select City" [formControl]="PDtriggerForm.controls['fk_city']" >
|
||||||
|
` <mat-option *ngFor="let CL of CityList" [value]="CL">
|
||||||
|
{{CL.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%;">
|
||||||
|
<mat-select placeholder="Pickup the State" [formControl]="PDtriggerForm.controls['fk_state']" >
|
||||||
|
<mat-option *ngFor="let SL of StateList" [value]="SL">
|
||||||
|
{{SL.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%;">
|
||||||
|
<input matInput placeholder="Pincode" [formControl]="PDtriggerForm.controls['pincode']">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||||
|
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||||
|
<mat-card class="p-2">
|
||||||
|
<h5>Main Applicant Details</h5>
|
||||||
|
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Name" [formControl]="PDtriggerForm.controls['applicant_name']">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Email" [formControl]="PDtriggerForm.controls['email']" type="email">
|
||||||
|
<!-- <small *ngIf="PDtriggerForm.controls['email'].hasError('required') && PDtriggerForm.controls['email'].touched" class="mat-text-warn">You must include an email address.</small>
|
||||||
|
<small *ngIf="PDtriggerForm.controls['email'].errors?.email && PDtriggerForm.controls['email'].touched" class="mat-text-warn">You must include a valid email address.</small> -->
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Phone" [formControl]="PDtriggerForm.controls['mobile_no']" type="text">
|
||||||
|
<!-- <small *ngIf="PDtriggerForm.controls['mobile_no'].hasError('required') && PDtriggerForm.controls['mobile_no'].touched" class="mat-text-warn">You must include phone number.</small>
|
||||||
|
<small *ngIf="PDtriggerForm.controls['mobile_no'].errors?.phone && PDtriggerForm.controls['mobile_no'].touched" class="mat-text-warn">You must include a valid phone number.</small> -->
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mat-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxLayout="row" fxLayoutWrap="wrap" formArrayName="items" *ngFor="let coDetails of PDtriggerForm.get('items')['controls']; let i = index;">
|
||||||
|
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
|
||||||
|
|
||||||
|
<mat-card class="p-2">
|
||||||
|
<h5>{{PDtriggerForm.controls.items.controls[i].controls.label.value}} {{i+1}}</h5>
|
||||||
|
<div [formGroupName]="i">
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Name" formControlName="coapplicantName" type="text">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field style="width: 100%">
|
||||||
|
<input matInput placeholder="Relation" formControlName="relationship" type="text">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
</mat-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||||
|
|
||||||
|
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="50" fxFlex.xl="30">
|
||||||
|
<mat-card class="p-2" style="opacity: 0.5;">
|
||||||
|
<!-- <button _ngcontent-c29="" class="mr-1 mb-2 mat-fab1 mat-accent" mat-fab="" (click)="addCoApplicant(createWithLongContent)"><span class="mat-button-wrapper"><mat-icon _ngcontent-c29="" class="mat-icon material-icons" role="img" aria-hidden="true">add</mat-icon></span><div class="mat-button-ripple mat-ripple mat-button-ripple-round" matripple=""></div><div class="mat-button-focus-overlay"></div></button> -->
|
||||||
|
<button _ngcontent-c39="" class="mr-1 mb-1 mat-button" mat-button=""><span style="opacity: 0.5;" (click)="addCoApplicant()" class="mat-button-wrapper">Add More Co-Applicant</span><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
|
||||||
|
</mat-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</mat-card-content>
|
||||||
|
<mat-card-actions>
|
||||||
|
<button mat-raised-button color="primary" type="submit" [disabled]="!PDtriggerForm.valid">Submit</button>
|
||||||
|
</mat-card-actions>
|
||||||
|
</form>
|
||||||
|
</mat-card>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
25
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.spec.ts
Normal file
25
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { AddPdComponent } from './add-pd.component';
|
||||||
|
|
||||||
|
describe('AddPdComponent', () => {
|
||||||
|
let component: AddPdComponent;
|
||||||
|
let fixture: ComponentFixture<AddPdComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ AddPdComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(AddPdComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
152
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.ts
Normal file
152
ng6-seed/src/app/pd-triger/add-pd/add-pd.component.ts
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||||
|
import { FormBuilder, FormGroup, Validators, FormControl, FormArray } from '@angular/forms';
|
||||||
|
import { CustomValidators } from 'ng2-validation';
|
||||||
|
import { PdTrigerService } from '../pd-service/pd-triger.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-add-pd',
|
||||||
|
templateUrl: './add-pd.component.html',
|
||||||
|
styleUrls: ['./add-pd.component.scss'],
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
|
})
|
||||||
|
export class AddPdComponent implements OnInit {
|
||||||
|
public PDtriggerForm: FormGroup;
|
||||||
|
items: FormArray;
|
||||||
|
CityList: any;
|
||||||
|
StateList: any;
|
||||||
|
LenderList: any;
|
||||||
|
|
||||||
|
ProductList: any;
|
||||||
|
SubProductList: any;
|
||||||
|
CustomerSegmentList: any;
|
||||||
|
PDTypeList: any;
|
||||||
|
ApplicantTypeList: any;
|
||||||
|
errorMessage: any;
|
||||||
|
// Dynamic co applicant
|
||||||
|
createWithLongContent = false;
|
||||||
|
dynamicCoApplicant = [];
|
||||||
|
constructor(private _fb: FormBuilder,
|
||||||
|
private _pd: PdTrigerService) { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.PDtriggerForm = this._fb.group({
|
||||||
|
fk_lender_id: [null, Validators.compose([Validators.required])],
|
||||||
|
lender_applicant_id: [null, Validators.compose([Validators.required])],
|
||||||
|
fk_product_id: [null, Validators.compose([Validators.required])],
|
||||||
|
fk_subproduct_id: [null, Validators.compose([Validators.required])],
|
||||||
|
fk_pd_type: [null, Validators.compose([Validators.required])],
|
||||||
|
fk_customer_segment: [null, Validators.compose([Validators.required])],
|
||||||
|
loan_amount: [null],
|
||||||
|
applicant_name: [null, Validators.compose([Validators.required])],
|
||||||
|
mobile_no: [null, Validators.compose([Validators.required])],
|
||||||
|
email: [null, Validators.compose([Validators.required, CustomValidators.email])],
|
||||||
|
addressline1: [null, Validators.compose([Validators.required])],
|
||||||
|
addressline2: [null],
|
||||||
|
addressline3: [null],
|
||||||
|
fk_city: [null, Validators.compose([Validators.required])],
|
||||||
|
fk_state: [null, Validators.compose([Validators.required])],
|
||||||
|
pincode : [null],
|
||||||
|
items: this._fb.array([])
|
||||||
|
});
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('CITY')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.CityList = data.records;
|
||||||
|
this.CityList = this.CityList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('STATE')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.StateList = data.records;
|
||||||
|
this.StateList = this.StateList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('LENDERHIERARCHY')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.LenderList = data.records;
|
||||||
|
this.LenderList = this.LenderList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('PRODUCTS')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.ProductList = data.records;
|
||||||
|
this.ProductList = this.ProductList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('SUBPRODUCTS')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.SubProductList = data.records;
|
||||||
|
this.SubProductList = this.SubProductList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('CUSTOMERSEGMENT')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.CustomerSegmentList = data.records;
|
||||||
|
this.CustomerSegmentList = this.CustomerSegmentList.filter(city=>city.isactive == 1 );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
|
||||||
|
this._pd.getAllMasterDatas('PDTYPE')
|
||||||
|
.subscribe(
|
||||||
|
data => {
|
||||||
|
|
||||||
|
if (data.status == 200) {
|
||||||
|
this.PDTypeList = data.records;
|
||||||
|
this.PDTypeList = this.PDTypeList.filter(city=>city.isactive == 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}, error => this.errorMessage = <any> error);
|
||||||
|
}
|
||||||
|
createItem(): FormGroup {
|
||||||
|
return this._fb.group({
|
||||||
|
label: ['Co Applicant Details'],
|
||||||
|
coapplicantName: [null, Validators.compose([Validators.required])],
|
||||||
|
relationship: [null],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
addCoApplicant() {
|
||||||
|
if(this.PDtriggerForm.valid){
|
||||||
|
this.items = this.PDtriggerForm.get('items') as FormArray;
|
||||||
|
this.items.push(this.createItem());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
submitPdDetails() {
|
||||||
|
if(this.PDtriggerForm.valid){
|
||||||
|
var my_array = this.PDtriggerForm.value;
|
||||||
|
Object.keys(my_array).forEach((key) => ( my_array[key] == null) && delete my_array[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { PdTrigerService } from './pd-triger.service';
|
||||||
|
|
||||||
|
describe('PdTrigerService', () => {
|
||||||
|
beforeEach(() => TestBed.configureTestingModule({}));
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
const service: PdTrigerService = TestBed.get(PdTrigerService);
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
41
ng6-seed/src/app/pd-triger/pd-service/pd-triger.service.ts
Normal file
41
ng6-seed/src/app/pd-triger/pd-service/pd-triger.service.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/** Common Import Section */
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Observable } from 'rxjs';//for Datatables
|
||||||
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { catchError } from 'rxjs/operators';
|
||||||
|
import { of } from 'rxjs';
|
||||||
|
|
||||||
|
/** Imported Service Files Are., */
|
||||||
|
import { AwsService } from '../../AwsService/aws.service';
|
||||||
|
|
||||||
|
const currentdate = new Date().toJSON().slice(0,19).replace('T',' ');
|
||||||
|
/** Master Interface */
|
||||||
|
export interface Master {
|
||||||
|
master_id:number;
|
||||||
|
master_name:string;
|
||||||
|
constant_name:string;
|
||||||
|
}
|
||||||
|
@Injectable()
|
||||||
|
|
||||||
|
|
||||||
|
export class PdTrigerService {
|
||||||
|
|
||||||
|
private apiUrl = "http://ssa.sineedge.com/sparqapi/api/";
|
||||||
|
|
||||||
|
|
||||||
|
constructor(private _http: HttpClient,
|
||||||
|
private _aws:AwsService) { }
|
||||||
|
// get add pd master details
|
||||||
|
getAllMasterDatas(TableName:string): Observable<any> {
|
||||||
|
return this._http.post<any>(this.apiUrl+'getListOfMaster', { "master_name":TableName })
|
||||||
|
.pipe(
|
||||||
|
catchError(this.handleError('role', []))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
private handleError<T>(operation = 'operation', result?: T) {
|
||||||
|
return (error: any): Observable<T> => {
|
||||||
|
return of(result as T);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
18
ng6-seed/src/app/pd-triger/pd-triger-routing.module.ts
Normal file
18
ng6-seed/src/app/pd-triger/pd-triger-routing.module.ts
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { Routes, RouterModule } from '@angular/router';
|
||||||
|
import { AddPdComponent } from './add-pd/add-pd.component';
|
||||||
|
|
||||||
|
export const PdTrigerRoutes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: AddPdComponent
|
||||||
|
// children:
|
||||||
|
// [{
|
||||||
|
// path: 'pdtriggerlist',
|
||||||
|
// component: AddPdComponent
|
||||||
|
// }]
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
13
ng6-seed/src/app/pd-triger/pd-triger.module.spec.ts
Normal file
13
ng6-seed/src/app/pd-triger/pd-triger.module.spec.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { PdTrigerModule } from './pd-triger.module';
|
||||||
|
|
||||||
|
describe('PdTrigerModule', () => {
|
||||||
|
let pdTrigerModule: PdTrigerModule;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
pdTrigerModule = new PdTrigerModule();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create an instance', () => {
|
||||||
|
expect(pdTrigerModule).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
52
ng6-seed/src/app/pd-triger/pd-triger.module.ts
Normal file
52
ng6-seed/src/app/pd-triger/pd-triger.module.ts
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { RouterModule } from '@angular/router';
|
||||||
|
import {
|
||||||
|
MatCardModule,
|
||||||
|
MatIconModule,
|
||||||
|
MatInputModule,
|
||||||
|
MatRadioModule,
|
||||||
|
MatButtonModule,MatTableModule,MatPaginatorModule,
|
||||||
|
MatProgressBarModule,MatDialogModule, MatSortModule,
|
||||||
|
MatToolbarModule,MatSelectModule } from '@angular/material';
|
||||||
|
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
||||||
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||||
|
import { FileUploadModule } from 'ng2-file-upload/ng2-file-upload';
|
||||||
|
import { TreeModule } from 'angular-tree-component';
|
||||||
|
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
|
||||||
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
||||||
|
|
||||||
|
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
||||||
|
|
||||||
|
import 'hammerjs';
|
||||||
|
import { PdTrigerRoutes } from './pd-triger-routing.module';
|
||||||
|
import { AddPdComponent } from './add-pd/add-pd.component';
|
||||||
|
import { PdTrigerService } from './pd-service/pd-triger.service';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule,
|
||||||
|
RouterModule.forChild(PdTrigerRoutes),
|
||||||
|
MatCardModule,
|
||||||
|
MatIconModule,
|
||||||
|
MatInputModule,
|
||||||
|
MatRadioModule,
|
||||||
|
MatTableModule,
|
||||||
|
MatPaginatorModule,
|
||||||
|
MatButtonModule,
|
||||||
|
MatProgressBarModule,
|
||||||
|
MatToolbarModule,
|
||||||
|
FlexLayoutModule,
|
||||||
|
NgxDatatableModule,
|
||||||
|
FormsModule,MatSlideToggleModule,
|
||||||
|
MatSelectModule,
|
||||||
|
ReactiveFormsModule,
|
||||||
|
FileUploadModule,
|
||||||
|
TreeModule,
|
||||||
|
MatDialogModule,
|
||||||
|
NgxMatSelectSearchModule
|
||||||
|
],
|
||||||
|
declarations: [AddPdComponent],
|
||||||
|
providers: [PdTrigerService]
|
||||||
|
})
|
||||||
|
export class PdTrigerModule { }
|
||||||
@ -20,7 +20,7 @@ import { CognitoService } from '../../AwsService/cognito.service';
|
|||||||
styleUrls: ['./login-component.scss'],
|
styleUrls: ['./login-component.scss'],
|
||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
})
|
})
|
||||||
export class LoginComponent {
|
export class LoginComponent implements OnInit{
|
||||||
changepass: FormGroup;
|
changepass: FormGroup;
|
||||||
email: string;
|
email: string;
|
||||||
password: string;
|
password: string;
|
||||||
@ -43,6 +43,10 @@ export class LoginComponent {
|
|||||||
private router: Router, public aws: AwsService, public dialog: MatDialog,
|
private router: Router, public aws: AwsService, public dialog: MatDialog,
|
||||||
public shared:CognitoService,) {
|
public shared:CognitoService,) {
|
||||||
|
|
||||||
|
}
|
||||||
|
ngOnInit(){
|
||||||
|
this.loggedInCheck();
|
||||||
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @param email
|
* @param email
|
||||||
@ -103,9 +107,17 @@ export class LoginComponent {
|
|||||||
console.log(res);
|
console.log(res);
|
||||||
|
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
loggedInCheck(){
|
||||||
|
//alert(this.shared.isLoggedIn);
|
||||||
|
if(this.shared.isLoggedIn){
|
||||||
|
// alert("if");
|
||||||
|
this.router.navigate(['/home']);
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
//alert("else");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -107,7 +107,7 @@ export class UserService {
|
|||||||
let roles:any=[];
|
let roles:any=[];
|
||||||
for(var role of users.role){
|
for(var role of users.role){
|
||||||
|
|
||||||
roles.push({ "user_role": role.value });
|
roles.push({ "user_role": role.GroupName });
|
||||||
}
|
}
|
||||||
let designation:any;
|
let designation:any;
|
||||||
if(users.type.entity_type_id ==2){
|
if(users.type.entity_type_id ==2){
|
||||||
@ -125,8 +125,8 @@ export class UserService {
|
|||||||
"last_name": users.lastName,
|
"last_name": users.lastName,
|
||||||
"mobile_no": users.phone,
|
"mobile_no": users.phone,
|
||||||
"email": users.email,
|
"email": users.email,
|
||||||
"alt_email":users.alt_email,
|
"alt_email":users.altemail,
|
||||||
"alt_mobile_no":users.alt_mobile_no,
|
"alt_mobile_no":users.altphone,
|
||||||
"addressline1":users.address1,
|
"addressline1":users.address1,
|
||||||
"addressline2":users.address2,
|
"addressline2":users.address2,
|
||||||
"addressline3":users.address3,
|
"addressline3":users.address3,
|
||||||
@ -146,7 +146,7 @@ export class UserService {
|
|||||||
formData.append('records',JSON.stringify(records));
|
formData.append('records',JSON.stringify(records));
|
||||||
formData.append('roles',JSON.stringify(roles));
|
formData.append('roles',JSON.stringify(roles));
|
||||||
formData.append('profilepic',users.userpic);
|
formData.append('profilepic',users.userpic);
|
||||||
|
console.log(records);
|
||||||
//new Response(formData).text().then(console.log);
|
//new Response(formData).text().then(console.log);
|
||||||
//let headers = this.shared.headercofig('');
|
//let headers = this.shared.headercofig('');
|
||||||
|
|
||||||
@ -173,6 +173,13 @@ export class UserService {
|
|||||||
observe.next(this.localUserId);
|
observe.next(this.localUserId);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
getroles(){
|
||||||
|
// alert();
|
||||||
|
let cogusers:any = this.aws.getlocale();
|
||||||
|
//console.log(cogusers.idToken.payload.locale);
|
||||||
|
let roles = {'userid':cogusers};
|
||||||
|
|
||||||
|
return this.http.post(apiurl+'getUsersDetails',roles);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
<mat-card>
|
<mat-card>
|
||||||
|
|
||||||
<mat-card-title> <button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon button" (click)="back()"><mat-icon>chevron_left</mat-icon></button> User Registration</mat-card-title>
|
<mat-card-title>
|
||||||
|
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon button" (click)="back()">
|
||||||
|
<mat-icon>chevron_left</mat-icon>
|
||||||
|
</button> User Registrations</mat-card-title>
|
||||||
|
<!-- <div class="profile-avatar">
|
||||||
|
|
||||||
|
<img fxFlexOffset="50px" [src]="'https://www.google.co.in/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=2ahUKEwi8qsnv7NPdAhWFWysKHZIZBDcQjRx6BAgBEAU&url=https%3A%2F%2Fwww.facebook.com%2FProfilePictures%2F&psig=AOvVaw12u0YbndUEVORSODg1OWeg&ust=1537885714967641'" style="width: 70px;height: 100px;border-radius: 50%;">
|
||||||
|
</div> -->
|
||||||
<!-- <mat-card-subtitle>Angular2 custom validation</mat-card-subtitle> -->
|
<!-- <mat-card-subtitle>Angular2 custom validation</mat-card-subtitle> -->
|
||||||
<form [formGroup]="regForm" (ngSubmit)="register(regForm.value)">
|
<form [formGroup]="regForm" (ngSubmit)="register(regForm.value)">
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
@ -39,7 +44,7 @@
|
|||||||
<input matInput placeholder="Alt Email address" [formControl]="regForm.controls['altemail']" type="email">
|
<input matInput placeholder="Alt Email address" [formControl]="regForm.controls['altemail']" type="email">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-error *ngIf="regForm.controls['email'].errors?.email && regForm.controls['altemail'].touched" class="mat-text-warn">You must include a valid email address.</mat-error>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -82,20 +87,9 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
||||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;" *ngIf="usersData ===undefined">
|
||||||
<mat-select matInput placeholder="Select Role" [formControl]="regForm.controls['role']" required multiple>
|
<mat-select matInput placeholder="Select type" (selectionChange)="checktype($event.value)" [formControl]="regForm.controls['type']"
|
||||||
<!-- <mat-option #allSelected (click)="toggleAllSelection()" [value]="0">ALL</mat-option> -->
|
required>
|
||||||
<mat-option *ngFor="let role of roles" [value]="role" (onSelectionChange)="toggleAllSelection($event)" >
|
|
||||||
{{role.name}}
|
|
||||||
</mat-option>
|
|
||||||
</mat-select>
|
|
||||||
|
|
||||||
<mat-error *ngIf="regForm.controls['role'].hasError('required') && regForm.controls['role'].touched" class="mat-text-warn">Select User Role</mat-error>
|
|
||||||
<mat-error *ngIf="regForm.controls['role'].errors?.phone && regForm.controls['role'].touched" class="mat-text-warn">Select User Role</mat-error>
|
|
||||||
</mat-form-field>
|
|
||||||
<!-- <pre>{{regForm.controls['role'].value | json}}</pre> -->
|
|
||||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
|
||||||
<mat-select matInput placeholder="Select type" (selectionChange)="checktype($event.value)"[formControl]="regForm.controls['type']" required>
|
|
||||||
<mat-option>--</mat-option>
|
<mat-option>--</mat-option>
|
||||||
<mat-option *ngFor="let types of types" [value]="types">
|
<mat-option *ngFor="let types of types" [value]="types">
|
||||||
{{types.name}}
|
{{types.name}}
|
||||||
@ -104,12 +98,38 @@
|
|||||||
<mat-error *ngIf="regForm.controls['type'].hasError('required') && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error>
|
<mat-error *ngIf="regForm.controls['type'].hasError('required') && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error>
|
||||||
<mat-error *ngIf="regForm.controls['type'].errors?.phone && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error>
|
<mat-error *ngIf="regForm.controls['type'].errors?.phone && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;" *ngIf="usersData !==undefined">
|
||||||
|
<mat-select matInput placeholder="Select type" (selectionChange)="checktype($event.value)" [formControl]="regForm.controls['type']"
|
||||||
|
readonly>
|
||||||
|
<mat-option>--</mat-option>
|
||||||
|
<mat-option *ngFor="let types of types" [value]="types">
|
||||||
|
{{types.name}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
<!-- <mat-error *ngIf="regForm.controls['type'].hasError('required') && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error>
|
||||||
|
<mat-error *ngIf="regForm.controls['type'].errors?.phone && regForm.controls['type'].touched" class="mat-text-warn">Select User Role</mat-error> -->
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
||||||
|
<mat-select matInput placeholder="Select Role" [formControl]="regForm.controls['role']" required multiple>
|
||||||
|
<!-- <mat-option #allSelected (click)="toggleAllSelection()" [value]="0">ALL</mat-option> -->
|
||||||
|
<mat-option *ngFor="let role of roles" [value]="role" (onSelectionChange)="toggleAllSelection($event)">
|
||||||
|
{{role.GroupName}}
|
||||||
|
</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
|
||||||
|
<mat-error *ngIf="regForm.controls['role'].hasError('required') && regForm.controls['role'].touched" class="mat-text-warn">Select User Role</mat-error>
|
||||||
|
<mat-error *ngIf="regForm.controls['role'].errors?.phone && regForm.controls['role'].touched" class="mat-text-warn">Select User Role</mat-error>
|
||||||
|
</mat-form-field>
|
||||||
|
<!-- <pre>{{regForm.controls['role'].value | json}}</pre> -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
<div fxLayout="row" fxLayoutAlign="start center" class="mb-2">
|
||||||
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
<mat-form-field dividerColor="primary" class="ml-xs mr-xs" style="width: 30%;">
|
||||||
<mat-select matInput placeholder="Select State" [formControl]="regForm.controls['state']" required>
|
<mat-select matInput placeholder="Select State" [formControl]="regForm.controls['state']" required (selectionChange)="getcity($event)">
|
||||||
<mat-option>--</mat-option>
|
<mat-option>--</mat-option>
|
||||||
<mat-option *ngFor="let s of State" [value]="s" >
|
<mat-option *ngFor="let s of State" [value]="s" >
|
||||||
{{s.name}}
|
{{s.name}}
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import { ifStmt } from '@angular/compiler/src/output/output_ast';
|
|||||||
export class RegisterComponent implements OnInit {
|
export class RegisterComponent implements OnInit {
|
||||||
img: any;
|
img: any;
|
||||||
roles: any;
|
roles: any;
|
||||||
types: any;
|
types: any = [];
|
||||||
loader:boolean = false;
|
loader:boolean = false;
|
||||||
public regForm: FormGroup;
|
public regForm: FormGroup;
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ export class RegisterComponent implements OnInit {
|
|||||||
// password: string;
|
// password: string;
|
||||||
// passwordConfirm: string;
|
// passwordConfirm: string;
|
||||||
entityType: any;
|
entityType: any;
|
||||||
City: any;
|
City: any = [];
|
||||||
State: any;
|
State: any;
|
||||||
designation: any;
|
designation: any;
|
||||||
hierarchy:any=[];
|
hierarchy:any=[];
|
||||||
@ -46,14 +46,11 @@ export class RegisterComponent implements OnInit {
|
|||||||
} else {
|
} else {
|
||||||
this.regdata();
|
this.regdata();
|
||||||
}
|
}
|
||||||
this.roles = [
|
|
||||||
{ name: 'Admin', value: 'ADMIN' },
|
|
||||||
{ name: 'Audit', value: 'AUDIT' }
|
|
||||||
];
|
|
||||||
|
|
||||||
this.regForm = this.fb.group({
|
this.regForm = this.fb.group({
|
||||||
userid: [null],
|
userid: [null],
|
||||||
firstName: [null, Validators.compose([Validators.required, Validators.minLength(2), Validators.maxLength(10)])],
|
firstName: [null, Validators.compose([Validators.required, Validators.minLength(2)])],
|
||||||
lastName: [null, Validators.compose([Validators.required])],
|
lastName: [null, Validators.compose([Validators.required])],
|
||||||
phone: [null, Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(12)])],
|
phone: [null, Validators.compose([Validators.required, Validators.minLength(10), Validators.maxLength(12)])],
|
||||||
altphone: [null, Validators.compose([Validators.minLength(10), Validators.maxLength(12)])],
|
altphone: [null, Validators.compose([Validators.minLength(10), Validators.maxLength(12)])],
|
||||||
@ -127,6 +124,7 @@ export class RegisterComponent implements OnInit {
|
|||||||
//console.log(this.files);
|
//console.log(this.files);
|
||||||
}
|
}
|
||||||
register(userData) {
|
register(userData) {
|
||||||
|
// console.log(userData);
|
||||||
let data:any;
|
let data:any;
|
||||||
console.log(this.usersData);
|
console.log(this.usersData);
|
||||||
// console.log(this.files);
|
// console.log(this.files);
|
||||||
@ -197,19 +195,25 @@ this.loader = true;
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
getcity(e){
|
||||||
|
// console.log(e)
|
||||||
|
// this.City =[]= this.City.filter(city=>city.fk_state == e.state_id)[0];
|
||||||
|
}
|
||||||
userupdate() {
|
userupdate() {
|
||||||
|
|
||||||
if (this.users.localUserId != '' && this.users.localUserId != null && this.users.localUserId !== undefined) {
|
if (this.users.localUserId != '' && this.users.localUserId != null && this.users.localUserId !== undefined) {
|
||||||
this.usersData = this.users.localUserId;
|
this.usersData = this.users.localUserId;
|
||||||
console.log(this.usersData);
|
|
||||||
console.log(this.usersData);
|
|
||||||
this.users.entityType().subscribe(res => {
|
this.users.entityType().subscribe(res => {
|
||||||
this.types = res;
|
this.types = res;
|
||||||
if (this.types.status == 200) {
|
if (this.types.status == 200) {
|
||||||
this.types = this.types.records;
|
let type = this.types.records;
|
||||||
let type = this.types.filter(type => type.entity_type_id == this.usersData.fk_entity_id)[0];
|
this.types= type.filter(type => type.entity_type_id == this.usersData.fk_entity_id);
|
||||||
this.regForm.controls['type'].setValue(type);
|
this.checktype(this.types[0]);
|
||||||
this.checktype(type);
|
|
||||||
|
this.regForm.controls['type'].setValue(this.types[0]);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.users.City().subscribe(res => {
|
this.users.City().subscribe(res => {
|
||||||
@ -248,13 +252,8 @@ this.loader = true;
|
|||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
let userRole: any = [];
|
|
||||||
//console.log(this.usersData.profilepic);
|
|
||||||
for (let role of this.usersData[0]) {
|
|
||||||
//console.log(role);
|
|
||||||
userRole.push(this.roles.filter(roles => roles.value == role.user_role)[0]);
|
|
||||||
//console.log(userRole);
|
|
||||||
}
|
|
||||||
|
|
||||||
//console.log(userRole);
|
//console.log(userRole);
|
||||||
// this.regForm.controls['firstName'].setValue({'firstName':'sriram'});
|
// this.regForm.controls['firstName'].setValue({'firstName':'sriram'});
|
||||||
@ -273,18 +272,32 @@ this.loader = true;
|
|||||||
} else {
|
} else {
|
||||||
this.regForm.controls['isactive'].setValue(false);
|
this.regForm.controls['isactive'].setValue(false);
|
||||||
}
|
}
|
||||||
this.regForm.controls['role'].setValue(userRole);
|
|
||||||
// this.regForm.controls['userpic'].setValue(this.usersData.profilepic);
|
// this.regForm.controls['userpic'].setValue(this.usersData.profilepic);
|
||||||
this.regForm.controls['pincode'].setValue(this.usersData.pincode);
|
this.regForm.controls['pincode'].setValue(this.usersData.pincode);
|
||||||
this.img = this.usersData.profilepic;
|
this.img = this.usersData.profilepic;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
checktype(e){
|
checktype(e){
|
||||||
console.log(e);
|
//console.log(e);
|
||||||
|
let userRole:any = [];
|
||||||
if(e !== undefined){
|
if(e !== undefined){
|
||||||
|
this.AWS.adminlistgroup(e.entity_type_id).subscribe(res=>{
|
||||||
|
this.roles = res;
|
||||||
|
if(this.usersData !==undefined){
|
||||||
|
for (let role of this.usersData[0]) {
|
||||||
|
//console.log(role);
|
||||||
|
userRole.push(this.roles.filter(roles => roles.GroupName == role.user_role)[0]);
|
||||||
|
//console.log(userRole);
|
||||||
|
this.regForm.controls['role'].setValue(userRole);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
switch (e.entity_type_id) {
|
switch (e.entity_type_id) {
|
||||||
case "1":
|
case "1":
|
||||||
this.typeValue =1;
|
this.typeValue =1;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "2":
|
case "2":
|
||||||
this.typeValue =2;
|
this.typeValue =2;
|
||||||
@ -296,7 +309,10 @@ this.loader = true;
|
|||||||
this.typeValue = -1;
|
this.typeValue = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
back(){
|
back(){
|
||||||
delete this.users.localUserId;
|
delete this.users.localUserId;
|
||||||
|
|||||||
@ -89,7 +89,8 @@
|
|||||||
<mat-header-cell *matHeaderCellDef> Actions </mat-header-cell>
|
<mat-header-cell *matHeaderCellDef> Actions </mat-header-cell>
|
||||||
<mat-cell *matCellDef="let us">
|
<mat-cell *matCellDef="let us">
|
||||||
<a mat-icon-button class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="editUserDetails(us.userid,us.aws_name)"><mat-icon>edit</mat-icon></a>
|
<a mat-icon-button class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="editUserDetails(us.userid,us.aws_name)"><mat-icon>edit</mat-icon></a>
|
||||||
<a mat-icon-button class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="deleteuser(us)"><mat-icon>delete_forever</mat-icon></a>
|
<!-- <a mat-icon-button class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="deleteuser(us)"><mat-icon>delete_forever</mat-icon></a>
|
||||||
|
<a mat-icon-button class="hover-icon" matTooltip="Edit" matTooltipPosition="above" (click)="adminedituser(us)"><mat-icon>account_circle</mat-icon></a> -->
|
||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ export class UserListComponent implements OnInit {
|
|||||||
constructor(public aws: AwsService, public route: Router,public users:UserService) {
|
constructor(public aws: AwsService, public route: Router,public users:UserService) {
|
||||||
|
|
||||||
this.getusers();
|
this.getusers();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -116,9 +117,15 @@ export class UserListComponent implements OnInit {
|
|||||||
add(){
|
add(){
|
||||||
this.route.navigate(['setting/users/register']);
|
this.route.navigate(['setting/users/register']);
|
||||||
}
|
}
|
||||||
// deleteuser(user){
|
deleteuser(user){
|
||||||
// this.aws.deleteAws(user).subscribe(res=>{
|
this.aws.admindelete(user).subscribe(res=>{
|
||||||
// this.getusers();
|
this.getusers();
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
adminedituser(user){
|
||||||
|
this.aws.adminresetpassword(user).subscribe(res=>{
|
||||||
|
this.getusers();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
126
ng6-seed/src/app/settings/users/user-profile/user-profile-component.html
Executable file
126
ng6-seed/src/app/settings/users/user-profile/user-profile-component.html
Executable file
@ -0,0 +1,126 @@
|
|||||||
|
<div class="user-profile relative">
|
||||||
|
<div class="profile-cover">
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<!-- <div fxLayout="row" fxLayoutWrap="wrap" class="profile-w">
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex.gt-xs="25" fxFlex="20">
|
||||||
|
</div>
|
||||||
|
<div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="80" class="user-links">
|
||||||
|
<ul class="profile-menu">
|
||||||
|
<li><a href="">Tweets<span class="block text-lg-center">217</span></a></li>
|
||||||
|
<li><a href="">Followings<span class="block text-lg-center">89</span></a></li>
|
||||||
|
<li><a href="">Followers<span class="block text-lg-center">78,6790</span></a></li>
|
||||||
|
<li><a href="">Likes<span class="block text-lg-center">7</span></a></li>
|
||||||
|
<li><a href="">Moments<span class="block text-lg-center">0</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex.gt-xs="25" fxFlex="100" class="align-self-center">
|
||||||
|
<button type="button" class="UserActions-editButton edit-button EdgeButton EdgeButton--tertiary" data-scribe-element="profile_edit_button">
|
||||||
|
<span class="button-text">Edit profile</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div fxLayout="row" fxLayoutWrap="wrap">
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex.gt-xs="50" fxFlex="100" class="relative">
|
||||||
|
<div class="profile-avatar">
|
||||||
|
<img src="../../../assets/images/test3.jpg" width="200" height="200" alt="user">
|
||||||
|
</div>
|
||||||
|
<div class="profile-info">
|
||||||
|
<h3 class="profile-name"><strong>{{userDetails.user_full_name}}</strong></h3>
|
||||||
|
<span class="user-name">{{userDetails.email}}</span>
|
||||||
|
<span class="user-name">{{userDetails.mobile_no}}</span>
|
||||||
|
|
||||||
|
<span class="pro-des">
|
||||||
|
|
||||||
|
</span>
|
||||||
|
<span><i class="fa fa-map-marker"></i> {{userDetails.addressline1}} {{userDetails.addressline2}}</span>
|
||||||
|
<span><i class="fa fa-calendar"></i>{{userDetails.addressline3}} {{userDetails.state_name}} - {{userDetails.pincode}}</span>
|
||||||
|
<span>{{userDetails.createdon | date:'dd MMM yyyy'}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="100" class="mt-1">
|
||||||
|
<div class="profile-content">
|
||||||
|
<div class="profile-head">
|
||||||
|
<h4>Tweets</h4>
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex.gt-xs="25" fxFlexOffset="50" fxFlex="100" class="align-self-center">
|
||||||
|
<button type="button" class="UserActions-editButton edit-button EdgeButton EdgeButton--tertiary" data-scribe-element="profile_edit_button" (click)="changePassword()">
|
||||||
|
<span class="button-text">Edit profile</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
<div class="profile-cont">
|
||||||
|
<ul class="pl-0">
|
||||||
|
<li>
|
||||||
|
<div fxLayout="row">
|
||||||
|
<div fxFlex.xs="15" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="15" fxFlex.xl="15"> <img class="profile-thumb" src="../../../assets/images/test3.jpg" width="80" height="80" alt="user">
|
||||||
|
</div>
|
||||||
|
<div class="pl-1 pr-1 profile-i" fxFlex.xs="85" fxFlex.sm="85" fxFlex.md="85" fxFlex.lg="85" fxFlex.xl="85">
|
||||||
|
<div>
|
||||||
|
<span class="post-profile-head">{{userDetails.user_full_name}}</span>
|
||||||
|
<span class="twitter-uname"><i class="fa fa-email"></i> {{userDetails.email}}</span>
|
||||||
|
<span class="time">{{userDetails.createdon | date:'dd MMM yyyy'}}</span>
|
||||||
|
<p><i class="fa fa-mobile"></i> {{userDetails.mobile_no}}</p>
|
||||||
|
<p>{{userDetails.addressline1}} {{userDetails.addressline2}} <br/>
|
||||||
|
{{userDetails.addressline3}} - {{userDetails.pincode}} {{userDetails.state_name}}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="profile-action"><a href=""><i class="fa fa-retweet"></i></a><a href=""><i class="fa fa-comment-o"></i></a><a href=""><i class="fa fa-heart-o"></i></a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div fxLayout="row">
|
||||||
|
<div fxFlex.xs="15" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="15" fxFlex.xl="15"> <img class="profile-thumb" src="../../../assets/images/test3.jpg" width="80" height="80" alt="user">
|
||||||
|
</div>
|
||||||
|
<div class="pl-1 pr-1 profile-i" fxFlex.xs="85" fxFlex.sm="85" fxFlex.md="85" fxFlex.lg="85" fxFlex.xl="85">
|
||||||
|
<div>
|
||||||
|
<span class="post-profile-head">Jane Doe</span>
|
||||||
|
<span class="twitter-uname">@JaneDoe</span>
|
||||||
|
<span class="time">Sep 11, 2017</span>
|
||||||
|
<p>
|
||||||
|
“Tomorrow belongs to those who can hear it coming.” - David Bowie
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="profile-action"><a href=""><i class="fa fa-retweet"></i></a><a href=""><i class="fa fa-comment-o"></i></a><a href=""><i class="fa fa-heart-o"></i></a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div fxLayout="row">
|
||||||
|
<div fxFlex.xs="15" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="15" fxFlex.xl="15"> <img class="profile-thumb" src="../../../assets/images/test3.jpg" width="80" height="80" alt="user">
|
||||||
|
</div>
|
||||||
|
<div class="pl-1 pr-1 profile-i" fxFlex.xs="85" fxFlex.sm="85" fxFlex.md="85" fxFlex.lg="85" fxFlex.xl="85">
|
||||||
|
<div>
|
||||||
|
<span class="post-profile-head">Jane Doe</span>
|
||||||
|
<span class="twitter-uname">@JaneDoe</span>
|
||||||
|
<span class="time">Sep 13, 2017</span>
|
||||||
|
<p>our recent work</p>
|
||||||
|
</div>
|
||||||
|
<div class="img-wrp" fxLayout="row" fxLayoutWrap="space-around">
|
||||||
|
<div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="100">
|
||||||
|
<div class="thumb-border">
|
||||||
|
<img src="../../../assets/images/blog-1.jpg" alt="user">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.gt-sm="50" fxFlex.gt-xs="50" fxFlex="100">
|
||||||
|
<div class="thumb-border">
|
||||||
|
<img src="../../../assets/images/blog-2.jpg" alt="user">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-action"><a href=""><i class="fa fa-retweet"></i></a><a href=""><i class="fa fa-comment-o"></i></a><a href=""><i class="fa fa-heart-o"></i></a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.gt-sm="25" fxFlex.gt-xs="50" fxFlex="100" class="align-self-center">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
0
ng6-seed/src/app/settings/users/user-profile/user-profile-component.scss
Executable file
0
ng6-seed/src/app/settings/users/user-profile/user-profile-component.scss
Executable file
109
ng6-seed/src/app/settings/users/user-profile/user-profile.component.ts
Executable file
109
ng6-seed/src/app/settings/users/user-profile/user-profile.component.ts
Executable file
@ -0,0 +1,109 @@
|
|||||||
|
import { Component, OnInit,ViewEncapsulation } from '@angular/core';
|
||||||
|
import { AwsService } from '../../../AwsService/aws.service';
|
||||||
|
import { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';
|
||||||
|
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
|
||||||
|
import { CustomValidators } from 'ng2-validation';
|
||||||
|
import { UserService } from '../../service/user.service';
|
||||||
|
@Component({
|
||||||
|
selector: 'ms-user-profile',
|
||||||
|
templateUrl:'./user-profile-component.html',
|
||||||
|
styleUrls: ['./user-profile-component.scss'],
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
|
})
|
||||||
|
export class UserProfileComponent implements OnInit {
|
||||||
|
config: MatDialogConfig = {
|
||||||
|
disableClose: false,
|
||||||
|
width: '',
|
||||||
|
height: '',
|
||||||
|
position: {
|
||||||
|
top: '',
|
||||||
|
bottom: '',
|
||||||
|
left: '',
|
||||||
|
right: ''
|
||||||
|
}
|
||||||
|
};
|
||||||
|
userDetails:any=[];
|
||||||
|
constructor(public AWS:AwsService,public dialog: MatDialog,public users:UserService ) {
|
||||||
|
this.getuser();
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getuser(){
|
||||||
|
//console.log(this.AWS.getUser());
|
||||||
|
this.users.getroles().subscribe(res=>{
|
||||||
|
this.userDetails = res;
|
||||||
|
this.userDetails = this.userDetails.records[0];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
changePassword(){
|
||||||
|
let dialogRef = this.dialog.open(ChangePasswordDialog,this.config);
|
||||||
|
dialogRef.afterClosed().subscribe(result => {
|
||||||
|
|
||||||
|
if(result !==undefined){
|
||||||
|
if(result.confirmPassword !== undefined && result.confirmPassword !="" && result.newPassword !="" && result.oldPassword !=""){
|
||||||
|
this.AWS.changepassword(result)
|
||||||
|
.subscribe(res=>{
|
||||||
|
alert('Change Password');
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//console.log(ChangePasswordDialog.prototype.pass);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-jazz-dialog',
|
||||||
|
template: `
|
||||||
|
<h5 class="mt-0">New Password Change.</h5>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="Old Password" [(ngModel)]="pass.oldPassword" type="password" style="width: 100%;">
|
||||||
|
|
||||||
|
</mat-form-field>
|
||||||
|
<br/>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="New Password" [(ngModel)]="pass.newPassword" type="password" style="width: 100%;">
|
||||||
|
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<mat-form-field>
|
||||||
|
<input matInput placeholder="ConfirmPassword" [(ngModel)]="pass.confirmPassword" type="password" style="width: 100%;">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<small *ngIf="pass.confirmPassword !='' && pass.newPassword != pass.confirmPassword" class="mat-text-warn">Passwords do not math.</small>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<button mat-raised-button class="mat-green" type="submit" (click)="dialogRef.close(pass)">Submit</button>
|
||||||
|
|
||||||
|
|
||||||
|
`
|
||||||
|
})
|
||||||
|
export class ChangePasswordDialog{
|
||||||
|
|
||||||
|
pass = {
|
||||||
|
oldPassword:'',
|
||||||
|
newPassword:'',
|
||||||
|
confirmPassword:'',
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
jazzMessage = 'Jazzy jazz jazz';
|
||||||
|
|
||||||
|
constructor(public dialogRef: MatDialogRef <ChangePasswordDialog>,public aws:AwsService) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -18,6 +18,7 @@ import { RouterModule } from '@angular/router';
|
|||||||
import { UserRoutes} from './users.routing';
|
import { UserRoutes} from './users.routing';
|
||||||
import { RegisterComponent } from './register/register.component';
|
import { RegisterComponent } from './register/register.component';
|
||||||
import { UserListComponent} from './user-list/user-list.component';
|
import { UserListComponent} from './user-list/user-list.component';
|
||||||
|
import { UserProfileComponent, ChangePasswordDialog } from './user-profile/user-profile.component';
|
||||||
|
|
||||||
import { NewPasswordDialog, ForgotPass } from '../../session/login/login.component';
|
import { NewPasswordDialog, ForgotPass } from '../../session/login/login.component';
|
||||||
// import { HttpClientModule } from '@angular/common/http';
|
// import { HttpClientModule } from '@angular/common/http';
|
||||||
@ -36,7 +37,7 @@ import { NewPasswordDialog, ForgotPass } from '../../session/login/login.compone
|
|||||||
FormsModule, ReactiveFormsModule,
|
FormsModule, ReactiveFormsModule,
|
||||||
// HttpClientModule,
|
// HttpClientModule,
|
||||||
],
|
],
|
||||||
declarations: [UserListComponent, RegisterComponent],
|
declarations: [UserListComponent, RegisterComponent,UserProfileComponent],
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { Routes } from '@angular/router';
|
|||||||
|
|
||||||
import { UserListComponent } from './user-list/user-list.component';
|
import { UserListComponent } from './user-list/user-list.component';
|
||||||
import { RegisterComponent } from './register/register.component';
|
import { RegisterComponent } from './register/register.component';
|
||||||
|
import { UserProfileComponent } from './user-profile/user-profile.component';
|
||||||
export const UserRoutes: Routes = [{
|
export const UserRoutes: Routes = [{
|
||||||
path: '',
|
path: '',
|
||||||
redirectTo: 'userlist',
|
redirectTo: 'userlist',
|
||||||
@ -14,5 +15,8 @@ export const UserRoutes: Routes = [{
|
|||||||
},{
|
},{
|
||||||
path: 'register',
|
path: 'register',
|
||||||
component: RegisterComponent
|
component: RegisterComponent
|
||||||
|
},{
|
||||||
|
path:'userprofile',
|
||||||
|
component:UserProfileComponent
|
||||||
}]
|
}]
|
||||||
}];
|
}];
|
||||||
|
|||||||
@ -36,15 +36,15 @@ const MENUITEMS : Menu[] = [
|
|||||||
{state:'mastermodule',name:'Master Details'}
|
{state:'mastermodule',name:'Master Details'}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// {
|
{
|
||||||
// state:'pdtrigger',
|
state:'pdtrigger',
|
||||||
// name:'PD Trigger',
|
name:'PD Trigger',
|
||||||
// type:'sub',
|
type:'link',
|
||||||
// icon:'bubble_chart',
|
icon:'bubble_chart',
|
||||||
// children:[
|
// children:[
|
||||||
// {state:'pdtriggerlist',name:'Pd Trigger Listing'}
|
// {state:'pdtriggerlist',name:'Pd Trigger Listing'}
|
||||||
// ]
|
// ]
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
state: 'authentication',
|
state: 'authentication',
|
||||||
name: 'AUTHENTICATION',
|
name: 'AUTHENTICATION',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user