disscussion issue fix

This commit is contained in:
surendar.m@watermelon.us 2023-04-01 16:11:46 +05:30
parent 135da139f3
commit 829bf33163
37 changed files with 20459 additions and 99 deletions

20008
ng-seed/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@
"@swimlane/ngx-charts": "^17.0.1",
"@swimlane/ngx-datatable": "19.0.0",
"angular-calendar": "^0.28.22",
"angular-notifier": "^12.0.0",
"angular-notifier": "^9.1.0",
"chart.js": "^2.9.4",
"core-js": "^3.9.1",
"d3": "^6.6.1",

View File

@ -39,8 +39,49 @@ import { SessionService } from './session-services/session.service';
import { AppointmentService } from './appoinment/appointment.service';
import { RoleMenuItemsPipe } from './layouts/role-menu-items.pipe';
import { AuthGuard } from './_guard/auth.guard';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
@ -63,6 +104,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {
],
imports: [
DemoMaterialModule,
NotifierModule.withConfig(customNotifierOptions),
BrowserAnimationsModule,
SharedModule,
RouterModule.forRoot(AppRoutes, {scrollPositionRestoration: 'enabled'}),

View File

@ -89,4 +89,5 @@
</div>
</div>
</div>
</mat-sidenav-container>
</mat-sidenav-container>
<notifier-container></notifier-container>

View File

@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { MatPaginator } from '@angular/material/paginator';
import { MatTable, MatTableDataSource } from '@angular/material/table';
import { NotifierService } from 'angular-notifier';
import Swal from 'sweetalert2';
import { AppointmentsService } from '../appointments-service/appointments.service';
import { DialogBoxComponent } from '../dialog-box/dialog-box.component';
@ -39,7 +40,7 @@ export class AppoinmentsListComponent implements OnInit {
@ViewChild('paginator') paginator: MatPaginator;
@ViewChild('paginatorPageSize') paginatorPageSize: MatPaginator;
pageSizes = [3, 5, 7];
constructor(public dialog: MatDialog, public _app:AppointmentsService) { }
constructor(private notifierService: NotifierService,public dialog: MatDialog, public _app:AppointmentsService) { }
ngOnInit(): void {
// this.dataSource = new MatTableDataSource(ELEMENT_DATA)
@ -187,11 +188,16 @@ export class AppoinmentsListComponent implements OnInit {
if (res.status == 200) {
// this.appoinmentsList = res.data;
this.getAppoinmentsList()
if(result.event == 'Add'){
this.notifierService.notify('success', 'Appointment Added Successfully');
}else if(result.event == 'Update'){
this.notifierService.notify('success', 'Appointment Updated Successfully');
} else if(result == 'Delete'){
this.notifierService.notify('success', 'Appointment Deleted Successfully');
}
}
else{
// this.appoinmentsList=[];
// this.dataSource = null;
// this.recordStatus=true;
this.notifierService.notify('warning', res.message);
}
}
// , error => {this.errorMessage = <any> error});

View File

@ -9,7 +9,48 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
import { DialogBoxComponent } from './dialog-box/dialog-box.component';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { NgScrollbarModule } from 'ngx-scrollbar';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
// import CalendarTodayIcon from '@material-ui/icons/CalendarToday';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
@ -23,7 +64,8 @@ import { NgScrollbarModule } from 'ngx-scrollbar';
MatSidenavModule,
MatFormFieldModule,
// ScrollingModule,
NgScrollbarModule
NgScrollbarModule,
NotifierModule.withConfig(customNotifierOptions),
]
})

View File

@ -74,3 +74,4 @@
</div>
</mat-sidenav-container>
<notifier-container></notifier-container>

View File

@ -4,6 +4,7 @@ import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatTable, MatTableDataSource } from '@angular/material/table';
import { Router } from '@angular/router';
import { NotifierService } from 'angular-notifier';
import { DialogBoxComponent } from 'app/appoinment/appoinments/dialog-box/dialog-box.component';
import Swal from 'sweetalert2/dist/sweetalert2.js';
import { AddBusinessComponent } from '../add-business/add-business.component';
@ -48,7 +49,7 @@ export class BusinessListComponent implements OnInit {
businessList: any;
constructor(private router:Router,public dialog: MatDialog,public _bus:BusinessService) {}
constructor(private notifierService: NotifierService,private router:Router,public dialog: MatDialog,public _bus:BusinessService) {}
ngOnInit(): void {
this.dataSource = new MatTableDataSource(ELEMENT_DATA)
@ -171,7 +172,7 @@ export class BusinessListComponent implements OnInit {
// formData.append('city', JSON.stringify(formValue[0].city));
// formData.append('email', JSON.stringify(formValue[0].email));
// formData.append('contactNo', JSON.stringify(formValue[0].contactNo));
console.log(formData)
console.log(formData)
this._bus.addFormDetails(formData).subscribe(res => {
if (res.status == 200) {
// this.customersList = res.data;
@ -181,11 +182,18 @@ console.log(formData)
localStorage.setItem('busName',row_obj.busName)
this.router.navigate(['/users',])
}
if(result.event == 'Add'){
this.notifierService.notify('success', 'Business Added Successfully');
}else if(result.event == 'Update'){
this.notifierService.notify('success', 'Business Updated Successfully');
} else if(result == 'Delete'){
this.notifierService.notify('success', 'Business Deleted Successfully');
}
}
else{
// this.customersList=[];
// this.dataSource = null;
// this.recordStatus=true;
console.log(res.message)
// this.notifierService.notify('success', 'You are awesome! I mean it!');
this.notifierService.notify('warning', res.message);
}
}
// , error => {this.errorMessage = <any> error});

View File

@ -9,8 +9,49 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { NgScrollbarModule } from 'ngx-scrollbar';
import { AddBusinessComponent } from './add-business/add-business.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
@ -25,8 +66,8 @@ import { AddBusinessComponent } from './add-business/add-business.component';
MatSidenavModule,
MatFormFieldModule,
ScrollingModule,
NgScrollbarModule
NgScrollbarModule,
NotifierModule.withConfig(customNotifierOptions),
]
})
export class BusinessModule { }

View File

@ -11,8 +11,49 @@ import { AssignServiceComponent } from './assign-service/assign-service.componen
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatFormFieldModule } from '@angular/material/form-field';
import { ConsultantSettingComponent } from './consultant-setting/consultant-setting.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
@ -28,6 +69,7 @@ import { ConsultantSettingComponent } from './consultant-setting/consultant-sett
NgScrollbarModule,
MatSidenavModule,
MatFormFieldModule,
NotifierModule.withConfig(customNotifierOptions),
]
})

View File

@ -408,4 +408,4 @@
</mat-tab-group>
<notifier-container></notifier-container>

View File

@ -3,6 +3,7 @@ import { Component, OnInit } from '@angular/core';
import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';
import { MatDialog } from '@angular/material/dialog';
import { MatTableDataSource } from '@angular/material/table';
import { NotifierService } from 'angular-notifier';
import { ApiServiceService } from 'app/appoinment/service-list-details/service-api-services/api-service.service';
import { environment } from 'environments/environment';
import { AssignServiceComponent } from '../assign-service/assign-service.component';
@ -50,7 +51,7 @@ export class ConsultantSettingComponent implements OnInit {
exp: any=[];
qualification: any=[];
id: any;
constructor(private formBuilder: FormBuilder, public dialog: MatDialog, public _con:ConsultantService, private fb: FormBuilder, public _api:ConsultantService,private locationStrategy: LocationStrategy) {}
constructor(private notifierService: NotifierService,private formBuilder: FormBuilder, public dialog: MatDialog, public _con:ConsultantService, private fb: FormBuilder, public _api:ConsultantService,private locationStrategy: LocationStrategy) {}
ngOnInit() {
@ -293,6 +294,10 @@ workingDialog(action,obj) {
this._con.createPractitionerInfo(param).subscribe(res => {
if (res.status == 200) {
this.getUsersList()
this.notifierService.notify('success', 'Details Added Successfully');
}
else{
this.notifierService.notify('warning', res.message);
}
});

View File

@ -526,4 +526,5 @@
<span class="buttons cancel" (click)="close()">Cancel</span>
<span (click)="save()" class="buttons add">Save</span>
</div>
</div>
</div>
<notifier-container></notifier-container>

View File

@ -2,6 +2,7 @@ import { Component, Inject, OnInit } from "@angular/core";
import { FormArray, FormBuilder, FormGroup } from "@angular/forms";
import { MatCheckboxChange } from "@angular/material/checkbox";
import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
import { NotifierService } from "angular-notifier";
import { ConsultantService } from "../consultant-service/consultant.service";
@Component({
@ -98,7 +99,7 @@ export class EditWorkingHoursComponent implements OnInit {
practitioner:any =[];
// timing: any[] = ['09:00am','09:30am','10:00am','10:30am','11:00am','11:30am','12:00am','12:30am','01:00pm','01:00pm','01:30pm', '02:00pm', '02:30pm', '03:00pm', '03:30pm', '04:00pm', '04:30pm', '05:00pm', '05:30pm', '06:00pm', '06:30pm', '07:00pm', '07:30pm', '08:00pm','08:30pm', '09:00pm',]
constructor(
constructor(private notifierService: NotifierService,
public dialogRef: MatDialogRef<EditWorkingHoursComponent>,
@Inject(MAT_DIALOG_DATA) public data,
private fb: FormBuilder,public _api:ConsultantService
@ -469,8 +470,11 @@ export class EditWorkingHoursComponent implements OnInit {
console.log(res)
this.dialogRef.close(1)
// this.checkedList = res.data;
}else{
this.notifierService.notify('success', 'Working Hours Added Successfully');
}
else{
this.dialogRef.close(0)
this.notifierService.notify('warning', res.message);
}
} );

View File

@ -86,3 +86,4 @@
</mat-sidenav-container>
<notifier-container></notifier-container>

View File

@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { MatPaginator, PageEvent } from '@angular/material/paginator';
import { MatTable, MatTableDataSource } from '@angular/material/table';
import { NotifierService } from 'angular-notifier';
import { AppointmentsService } from 'app/appoinment/appoinments/appointments-service/appointments.service';
import Swal from 'sweetalert2';
import { AddCustomersComponent } from '../add-customers/add-customers.component';
@ -53,7 +54,7 @@ export class CustomersListComponent implements OnInit {
addFormData: any;
appoinmentsList:any =[];
appoinmentsIds:any = [];
constructor(public dialog: MatDialog,public _cus:CustomersService,public _app:AppointmentsService) { }
constructor(private notifierService: NotifierService,public dialog: MatDialog,public _cus:CustomersService,public _app:AppointmentsService) { }
ngOnInit(): void {
// console.log('IN')
@ -217,12 +218,17 @@ export class CustomersListComponent implements OnInit {
this._cus.addFormDetails(formValue[0]).subscribe(res => {
if (res.status == 200) {
// this.customersList = res.data;
this.getCustomersList()
this.getCustomersList()
if(result.event == 'Add'){
this.notifierService.notify('success', 'Customer Added Successfully');
}else if(result.event == 'Update'){
this.notifierService.notify('success', 'Customer Updated Successfully');
} else if(result == 'Delete'){
this.notifierService.notify('success', 'Customer Deleted Successfully');
}
}
else{
// this.customersList=[];
// this.dataSource = null;
// this.recordStatus=true;
this.notifierService.notify('warning', res.message);
}
}
// , error => {this.errorMessage = <any> error});

View File

@ -8,7 +8,48 @@ import { MatFormFieldModule } from '@angular/material/form-field';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { NgScrollbarModule } from 'ngx-scrollbar';
import { AddCustomersComponent } from './add-customers/add-customers.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
@ -21,7 +62,8 @@ import { AddCustomersComponent } from './add-customers/add-customers.component';
CustomersRoutingModule,
MatSidenavModule,
MatFormFieldModule,
NgScrollbarModule
NgScrollbarModule,
NotifierModule.withConfig(customNotifierOptions),
]
})
export class CustomersModule { }

View File

@ -18,6 +18,11 @@
</mat-select>
<mat-error *ngIf="myError('duration', 'required')">Duration is required</mat-error>
</mat-form-field>
<mat-form-field appearance="outline" *ngIf="action != 'Delete'; else elseTemplate" class="mat-pane">
<mat-label>Description</mat-label>
<textarea matInput placeholder="Description" formControlName="serviceDescription"></textarea>
<mat-error *ngIf="myError('serviceDescription', 'required')">Duration is required</mat-error>
</mat-form-field>
<ng-template #elseTemplate>
Sure to delete <b>{{local_data.servicesName}}</b>?
</ng-template>

View File

@ -39,7 +39,8 @@ closeDialog(){
ngOnInit() {
this.form = new FormGroup({
servicesName: new FormControl('', [Validators.required, Validators.maxLength(20)]),
duration: new FormControl('',[Validators.required])
duration: new FormControl('',[Validators.required]),
serviceDescription: new FormControl('',[Validators.required])
});
this.form.patchValue(this.local_data)
}

View File

@ -5,8 +5,48 @@ import { ServiceListRoutingModule } from './service-list-routing.module';
import { ServiceListComponent } from './service-list/service-list.component';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { AddServiceComponent } from './add-service/add-service.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
ServiceListComponent,
@ -16,6 +56,7 @@ import { AddServiceComponent } from './add-service/add-service.component';
DemoMaterialModule,
CommonModule,
ServiceListRoutingModule,
NotifierModule.withConfig(customNotifierOptions),
],
})

View File

@ -33,6 +33,11 @@
<th mat-header-cell *matHeaderCellDef class="font-color"> Duration </th>
<td mat-cell *matCellDef="let element"> {{element.duration}} Mins </td>
</ng-container>
<ng-container matColumnDef="description">
<th mat-header-cell *matHeaderCellDef class="font-color"> Description </th>
<td mat-cell *matCellDef="let element"> {{element.serviceDescription}}</td>
</ng-container>
<ng-container matColumnDef="action">
<th mat-header-cell *matHeaderCellDef class="font-color"> Action </th>
@ -61,3 +66,4 @@
</mat-sidenav-container>
<notifier-container></notifier-container>

View File

@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { MatTableDataSource } from '@angular/material/table';
import { NotifierService } from 'angular-notifier';
import Swal from 'sweetalert2';
import { AddServiceComponent } from '../add-service/add-service.component';
import { ApiServiceService } from '../service-api-services/api-service.service';
@ -20,10 +21,10 @@ export class ServiceListComponent implements OnInit {
addFormData: any;
push: any;
id: number;
displayedColumns: string[] = ['serviceId','servicesName','duration','action'];
displayedColumns: string[] = ['serviceId','servicesName','duration','description','action'];
serviceId: number;
public servicesList:any = new MatTableDataSource();
constructor(public _api:ApiServiceService, public dialog: MatDialog) { }
constructor(private notifierService: NotifierService,public _api:ApiServiceService, public dialog: MatDialog) { }
ngOnInit(): void {
@ -105,7 +106,8 @@ export class ServiceListComponent implements OnInit {
console.log('add')
let addFormData = {
// busId: 'abc123',
// id: row_obj.id,
// id: row_obj.id,
serviceDescription:row_obj.serviceDescription,
duration:row_obj.duration,
serviceId: row_obj.serviceId,
servicesName: row_obj.servicesName
@ -115,6 +117,7 @@ export class ServiceListComponent implements OnInit {
console.log(row_obj)
console.log('Update')
let updatevalue = {
serviceDescription:row_obj.serviceDescription,
serviceId: row_obj.serviceId,
duration:row_obj.duration,
servicesName: row_obj.servicesName
@ -136,11 +139,16 @@ export class ServiceListComponent implements OnInit {
if (res.status == 200) {
// this.customersList = res.data;
this.getServicesList()
if(result.event == 'Add'){
this.notifierService.notify('success', 'Service Added Successfully');
}else if(result.event == 'Update'){
this.notifierService.notify('success', 'Service Updated Successfully');
} else if(result == 'Delete'){
this.notifierService.notify('success', 'Service Deleted Successfully');
}
}
else{
// this.customersList=[];
// this.dataSource = null;
// this.recordStatus=true;
this.notifierService.notify('warning', res.message);
}
}
// , error => {this.errorMessage = <any> error});

View File

@ -92,3 +92,4 @@
</div>
</div>
</mat-sidenav-container>
<notifier-container></notifier-container>

View File

@ -3,6 +3,7 @@ import { MatDialog } from '@angular/material/dialog';
import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatTable, MatTableDataSource } from '@angular/material/table';
import { NotifierService } from 'angular-notifier';
import Swal from 'sweetalert2/dist/sweetalert2.js';
import { AddUserComponent } from '../add-user/add-user.component';
import { UserService } from '../user-service/user.service';
@ -48,7 +49,7 @@ export class UserListComponent implements OnInit {
@ViewChild(MatTable,{static:true}) table: MatTable<any>;
@ViewChild(MatPaginator) paginator: MatPaginator;
constructor(public dialog: MatDialog, public _use:UserService) {
constructor(private notifierService: NotifierService,public dialog: MatDialog, public _use:UserService) {
let open_go_admin = localStorage.getItem('go_admin')
if(open_go_admin == '0'){
this.openDialog('Add',{})
@ -201,11 +202,16 @@ export class UserListComponent implements OnInit {
if (res.status == 200) {
// this.usersList = res.data;
this.getUsersList()
if(result.event == 'Add'){
this.notifierService.notify('success', 'User Added Successfully');
}else if(result.event == 'Update'){
this.notifierService.notify('success', 'User Updated Successfully');
} else if(result == 'Delete'){
this.notifierService.notify('success', 'User Deleted Successfully');
}
}
else{
// this.usersList=[];
// this.dataSource = null;
// this.recordStatus=true;
this.notifierService.notify('warning', res.message);
}
}
// , error => {this.errorMessage = <any> error});

View File

@ -7,8 +7,48 @@ import { MatFormFieldModule } from '@angular/material/form-field';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { NgScrollbarModule } from 'ngx-scrollbar';
import { AddUserComponent } from './add-user/add-user.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
declarations: [
@ -21,7 +61,8 @@ import { AddUserComponent } from './add-user/add-user.component';
UserRoutingModule,
MatSidenavModule,
MatFormFieldModule,
NgScrollbarModule
NgScrollbarModule,
NotifierModule.withConfig(customNotifierOptions),
]
})
export class UserModule { }

View File

@ -4,7 +4,7 @@
<div class="container mt-1">
<!-- <ng-scrollbar class="scrollHV"> -->
<div fxLayout="row wrap">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" class="m-gap p-gap">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="m-gap p-gap">
<div fxLayout="row wrap">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<h3 class="page-h">Practitioner List</h3>
@ -18,7 +18,7 @@
</div>
</div>
<div fxLayout="row wrap mt-2 mb-2" class="flexRow">
<div fxFlex.xs="100" fxFlex.sm="50" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" class="m-gap p-gap" *ngFor="let consultant of consultants | searchFilter:filterdata : 'consultants'">
<div fxFlex.xs="100" fxFlex.sm="50" fxFlex.md="23.33" fxFlex.lg="23.33" fxFlex.xl="23.33" class="m-gap p-gap" *ngFor="let consultant of consultants | searchFilter:filterdata : 'consultants'">
<div class="consultant-list-card card-inner-circle-orange" [style.background]="bgColorPast[1]" (click)="goToSlotBooking(consultant)">
<!-- <div class="consultant-content"> -->
<div class="pad-wrap" >
@ -59,8 +59,11 @@
<a><img src="assets/images/twitter.svg" alt="Avatar" class="img"></a>
<a><img src="assets/images/instagram.svg" alt="Avatar" class="img"></a>
</div>
<p class="message text-center">Apollo Hospitals Cancer Centre Nandanam,Chennai</p>
<button class="button pill-shape text-center" routerLink="/customer/doctor-profile"> View Profile</button>
<!-- <p class="message text-center">Apollo Hospitals Cancer Centre Nandanam,Chennai</p> -->
<div style="text-align: center;">
<button class="button pill-shape text-center" routerLink="/customer/doctor-profile"> View Profile</button>
</div>
<!-- <div class="align-self-center">
<button type="button" class="UserActions-editButton edit-button EdgeButton EdgeButton--tertiary btn-red" data-scribe-element="profile_edit_button">
<span class="material-icons"> bookmark_add </span><span class="button-text">Book Appoinment</span>

View File

@ -81,7 +81,7 @@ h5{
text-align: center;
padding: 10px 20px;
border-radius: 25px;
margin-left: 4rem;
// margin-left: 4rem;
margin-top: 1rem;
cursor: pointer;
margin-bottom: 1rem;

View File

@ -3,7 +3,7 @@
<mat-toolbar>
<span style="text-align: center;">Appointment</span>
</mat-toolbar>
<div class="container mt-1">
<div class="container mt-1">
<div fxLayout="row wrap" fxLayoutAlign="center">
<div class="column mat-width" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<mat-card class="p-2 radius">

View File

@ -3,7 +3,7 @@
</mat-toolbar>
<div class="container mt-1">
<div fxLayout="row wrap" fxLayoutAlign="center">
<div class="column mat-width" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<mat-card class="p-2 radius ">
<h3 class="base-border">Payment By</h3>
<ng-template mat-tab-label>Credit/Debit Cards</ng-template>

View File

@ -6,16 +6,16 @@ mat-toolbar{
max-width: 1217px;
min-width: 375px;
margin: 0 auto;
margin-right: 0rem;
// margin-right: 0rem;
}
::ng-deep .flx{
.flx{
flex: 1 1 0%!important;
display: initial!important;
max-width: 30%!important;
// max-width: 30%!important;
}
.mat-width{
// max-width: 68%!important;
margin-left: 11rem;
// margin-left: 11rem;
}
@media only screen and (max-width: 600px) {
.mat-width{

View File

@ -7,7 +7,7 @@
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap">
<h3 class="page-h">Service List</h3>
</div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap search-mat" fxLayoutAlign="end center">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap" fxLayoutAlign="end center">
<mat-form-field appearance="fill" class="form-field">
<mat-label>Search Service</mat-label>
<input type="text" [(ngModel)]="filterdata" matInput placeholder="Search Service">
@ -17,22 +17,21 @@
</div>
<!-- <button mat-button (click)="openDialog('Add',{})" class="buttons">Add Services</button><br> -->
<div fxLayout="row wrap">
<div fxLayout="row wrap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="66.66" fxFlex.lg="66.66" fxFlex.xl="66.66">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="m-gap p-gap" *ngFor="let serviceListDetails of servicesList | searchFilter:filterdata : 'service'">
<div class="Specialties-list-card" (click)="goto(serviceListDetails)">
<mat-card class="example-card d-flex Specialties-spContent">
<div class="consultant-card-cover">
<div fxLayout="row wrap" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" class="m-gap p-gap" *ngFor="let serviceListDetails of servicesList | searchFilter:filterdata : 'service'">
<div (click)="goto(serviceListDetails)">
<mat-card class="example-card d-flex Specialties-spContent Specialties-list-card">
<div class="consultant-card-cover" fxLayoutAlign="Center center">
<div class="text-center consultant-thumb">
<img class="img-responsive img-circle" src="https://prodaphstorage.blob.core.windows.net/specialties/bdf0cf0d-754e-4254-aaf7-fdc7aedd7c35.jpg" alt="Online Doctor Consultation - Allergist and Clinical Immunologist" width="120" height="120" alt="user list image">
</div>
</div>
<mat-card-title-group>
<mat-card-title class="service-info mb">{{serviceListDetails.servicesName}}</mat-card-title>
<!-- <mat-card-title class="info service-list">{{serviceListDetails.info}}</mat-card-title> -->
<!-- <a (click)="openDialog('Update',serviceListDetails)" class="Specialties-rightUpdate"><span class="material-icons edit-color">edit</span></a> -->
<!-- <a (click)="confirmBox('Delete',serviceListDetails)" class="Specialties-rightArrow"><span class="material-icons edit-color delete">delete</span></a> -->
<!-- <span class="Specialties-rightArrow"><img src="https://newassets.apollo247.com/images/ic_arrow_right.svg" alt="Arrow Right - Online Doctor Consultation"></span> -->
<!-- <mat-card-subtitle class="service-Specialties">{{serviceListDetails.specialties}}</mat-card-subtitle> -->
<mat-card-subtitle class="service-Specialties">{{serviceListDetails.description}}</mat-card-subtitle>
</mat-card-title-group>
</mat-card>
</div>

View File

@ -5,8 +5,8 @@ $icon-size: 3rem;
$icon-color: #D8D8D8;
$main-color: #f44336;
.Specialties-list-card {
background: $white;
box-shadow: 0 2px 6px $black_10;
// background: $white;
// box-shadow: 0 2px 6px $black_10;
transition: all 0.3s ease-in-out 0s;
&:hover {
box-shadow: 0 0 21px $black_30;
@ -16,6 +16,7 @@ $main-color: #f44336;
}
.mat-card{
margin: 0px !important;
box-shadow: 0 2px 4px 0 rgb(0 0 0 / 20%) !important;
}
.consultant-card-cover {
// padding: 0rem 6rem;
@ -42,6 +43,10 @@ $main-color: #f44336;
}
.service-info{
line-height: 1.5rem!important;
border-bottom: 1px solid rgba(2,71,91,.3);
font-weight: 500;
color: #02475b;
padding: 10px 0 0;
}
.info{
font-size: 12px!important;
@ -56,8 +61,8 @@ $main-color: #f44336;
}
.service-Specialties{
font-size: 10px;
font-weight: 600;
color: #02475b;
font-weight: 400;
color: #02475bcf;
padding: 10px 0 0;
// border-top: 1px solid rgba(2,71,91,.3);
}
@ -70,8 +75,8 @@ $main-color: #f44336;
}
.Specialties-spContent{
width: 100%;
// padding: 0 10px 0 0;
position: relative;
border-radius: 10px !important;
position: relative;
// min-height: 60px;
height: 65px;
}
@ -80,6 +85,7 @@ $main-color: #f44336;
// }
::ng-deep body .mat-card .mat-card-title {
padding-left: 0rem!important;
padding-top: 10px !important;
}
::ng-deep body .mat-card .mat-card-subtitle {
padding-left: 0rem!important;
@ -157,4 +163,8 @@ footer {
::ng-deep body{
background-color: #f7f8f5 !important;
}
.mat-card-title{
margin-bottom: 0px !important;
}

View File

@ -2,7 +2,7 @@
<span style="text-align: center;">Appointment</span>
</mat-toolbar>
<div class="container mt-1">
<div fxLayout="row wrap" dir="ltr">
<div fxLayout="row wrap" dir="ltr" fxLayoutAlign="center center">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" class="m-gap p-gap flx">
<mat-card class="card-mat">
<div fxLayout="row wrap mt-2">

View File

@ -46,3 +46,4 @@
</div>
</div>
<notifier-container></notifier-container>

View File

@ -2,6 +2,7 @@ import { Component, OnInit ,ViewEncapsulation } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import {Router} from "@angular/router";
import { NotifierService } from 'angular-notifier';
import { SessionService } from 'app/session-services/session.service';
import { OtpComponent } from '../otp/otp.component';
@ -18,8 +19,7 @@ export class LoginComponent {
title = 'material-login';
hide: boolean;
dialogRef: MatDialogRef<OtpComponent, any>;
constructor(
constructor(private notifierService: NotifierService,
private router:Router, public dialog: MatDialog,public _ser:SessionService) {
this.loginForm = new FormGroup({
email: new FormControl('', [Validators.required, Validators.email,Validators.pattern(
@ -50,6 +50,10 @@ export class LoginComponent {
localStorage.setItem('user_id',res.roleId)
this.router.navigate(['/home'])
}
}else{
console.log(res.message)
// this.notifierService.notify('success', 'You are awesome! I mean it!');
this.notifierService.notify('warning', res.message);
}
}, err => {

View File

@ -20,6 +20,48 @@ import { OtpComponent } from './otp/otp.component';
import { MatDialogModule } from '@angular/material/dialog';
import { DemoMaterialModule } from 'app/shared/demo.module';
import { ResetPasswordComponent } from './reset-password/reset-password.component';
import { NotifierModule, NotifierOptions } from 'angular-notifier'
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
position: 'right',
distance: 12
},
vertical: {
position: 'top',
distance: 32,
gap: 10
}
},
theme: 'material',
behaviour: {
autoHide: 5000,
onClick: 'hide',
onMouseover: 'pauseAutoHide',
showDismissButton: true,
stacking: 4
},
animations: {
enabled: true,
show: {
preset: 'slide',
speed: 300,
easing: 'ease'
},
hide: {
preset: 'fade',
speed: 300,
easing: 'ease',
offset: 50
},
shift: {
speed: 300,
easing: 'ease'
},
overlap: 150
}
};
@NgModule({
imports: [
@ -37,7 +79,8 @@ import { ResetPasswordComponent } from './reset-password/reset-password.componen
FlexLayoutModule,
MatDialogModule,
ReactiveFormsModule,
DemoMaterialModule
DemoMaterialModule,
NotifierModule.withConfig(customNotifierOptions),
],
declarations: [

View File

@ -44,4 +44,5 @@ Author: TrendSetter Themes
@import "scss/core";
@import "scss/material";
@import "scss/utilities/utilities";
@import "~angular-notifier/styles";