opt verify and routing issue fix

This commit is contained in:
surendar.m@watermelon.us 2023-04-04 15:39:04 +05:30
parent 7bb50ed620
commit 26ab8cde06
13 changed files with 458 additions and 36 deletions

View File

@ -47,6 +47,7 @@
"ngx-perfect-scrollbar": "10.1.0",
"ngx-scrollbar": "^7.5.6",
"ngx-sortablejs": "^3.1.4",
"ornamentum": "^8.1.4",
"perfect-scrollbar": "^1.5.0",
"primeflex": "^3.3.0",
"primeicons": "^5.0.0",
@ -12764,6 +12765,25 @@
"node": ">=8"
}
},
"node_modules/ornamentum": {
"version": "8.1.4",
"resolved": "https://registry.npmjs.org/ornamentum/-/ornamentum-8.1.4.tgz",
"integrity": "sha512-1MujnM1PpmN+AUPjgXUjZnF3eYFKu7kquhRKTZX6ZP/1Dy3fX/SDOLvQghKGUbgqR8+tjAfw/6DdOMhEmpl3ZQ==",
"dependencies": {
"tslib": "^1.9.0"
},
"peerDependencies": {
"@angular/common": "^8.0.0-rc.0 || ^8.0.0",
"@angular/core": "^8.0.0-rc.0 || ^8.0.0",
"@angular/forms": "^8.0.0-rc.0 || ^8.0.0",
"rxjs": "^6.0.0"
}
},
"node_modules/ornamentum/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
},
"node_modules/os-browserify": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
@ -29965,6 +29985,21 @@
}
}
},
"ornamentum": {
"version": "8.1.4",
"resolved": "https://registry.npmjs.org/ornamentum/-/ornamentum-8.1.4.tgz",
"integrity": "sha512-1MujnM1PpmN+AUPjgXUjZnF3eYFKu7kquhRKTZX6ZP/1Dy3fX/SDOLvQghKGUbgqR8+tjAfw/6DdOMhEmpl3ZQ==",
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
}
}
},
"os-browserify": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",

View File

@ -50,6 +50,7 @@
"ngx-perfect-scrollbar": "10.1.0",
"ngx-scrollbar": "^7.5.6",
"ngx-sortablejs": "^3.1.4",
"ornamentum": "^8.1.4",
"perfect-scrollbar": "^1.5.0",
"primeflex": "^3.3.0",
"primeicons": "^5.0.0",

View File

@ -1,4 +1,4 @@
<h3>Appointment Details</h3>
<!-- <h3>Appointment Details</h3>
<mat-form-field>
<mat-label>Filter</mat-label>
<input matInput (keyup)="applyFilter($event)" placeholder="Enter Text" #input>
@ -25,11 +25,7 @@
<td mat-cell *matCellDef="let element"> {{element.customer[0].cusName || null }} </td>
</ng-container>
<!-- <ng-container matColumnDef="picker">
<th mat-header-cell *matHeaderCellDef class="font-color"> Date & Time </th>
<td mat-cell *matCellDef="let element"> {{element.picker}} </td>
</ng-container> -->
</ng-container>
<ng-container matColumnDef="datetime">
<th mat-header-cell *matHeaderCellDef class="font-color">Appointment Date and Time</th>
<td mat-cell *matCellDef="let element">{{element.appoinmentDate | date:'dd-MMM-YYYY'}}, {{element.appoinmentSlots}}
@ -46,19 +42,7 @@
<ng-container matColumnDef="address">
<th mat-header-cell *matHeaderCellDef class="font-color">Client Address</th>
<td mat-cell *matCellDef="let element">{{element.customer[0].address_1}}, {{element.customer[0].city}}, {{element.customer[0].state}}, {{element.customer[0].pincode }}</td>
</ng-container>
<!--<ng-container matColumnDef="staff">
<th mat-header-cell *matHeaderCellDef class="font-color"> Staff </th>
<td mat-cell *matCellDef="let element" class="element-spc"> <br><img src="assets/images/2.jpg" /> {{element.staff}} </td>
</ng-container>
<ng-container matColumnDef="customer">
<th mat-header-cell *matHeaderCellDef class="font-color"> Customer </th>
<td mat-cell *matCellDef="let element"> <br> {{element.customer}} </td>
</ng-container> -->
<!-- <ng-container matColumnDef="payment">
<th mat-header-cell *matHeaderCellDef class="font-color"> Payment </th>
<td mat-cell *matCellDef="let element"> <br>{{element.paymentStatus}} </td>
</ng-container> -->
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef class="font-color"> Status </th>
<td mat-cell *matCellDef="let element"><span style="font-weight: 700;" [ngStyle] = "{'color':element.status == '0' ? '#4caf50' : '#ffd740'}">{{element.status == 0 ? 'Booked':'Cancelled'}} </span></td>
@ -71,9 +55,7 @@
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<!-- <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr> -->
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
</div>
@ -89,5 +71,125 @@
</div>
</div>
</div>
</mat-sidenav-container>
</mat-sidenav-container> -->
<mat-card class="p-2">
<div fxLayout="row wrap">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<h3>Appointment Details</h3>
</div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50">
<div class="calender ">
<i style="font-size:24px" class="fa" [routerLink]="['/appoinment/calendar-list']">&#xf073;</i>
</div>
<button mat-button (click)="openDialog('Add',{})" class="button">Add Appointment</button> </div>
</div>
<!-- <mat-form-field>
<mat-label>Filter</mat-label>
<input matInput (keyup)="applyFilter($event)" placeholder="Enter Text" #input>
</mat-form-field> -->
<ng-data-table
[id]="'appoinmentsList.id'"
[title]="''"
[items]="appoinmentsList"
[indexColumnTitle]="'#'"
[showIndexColumn]="false"
[indexColumnWidth]="10"
[minContentHeight]="200"
[minContentWidth]="900"
[showHeader]="false"
[pageable]="true"
[showRefreshButton]="false"
[persistTableState]="false"
[showColumnSelector]="false"
[showLoadingSpinner]="false">
<ng-data-table-column
[field]="''"
[title]="'Profile'"
[width]="60">
<ng-template #ngDataTableCell let-row="row">
<td>
<span><img src="assets/images/profile.jpg" /></span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="'cusName'"
[title]="'Client Name'"
[width]="100">
<ng-template #ngDataTableCell let-row="row">
<td>
<span>{{row.item.customer[0].cusName}}</span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Date and Time'"
[filterable]="false"
[width]="100">
<ng-template #ngDataTableCell let-row="row">
<td>
<span>{{row.item.appoinmentDate | date:'dd-MMM-YYYY'}},<br> {{row.item.appoinmentSlots | date:'shortTime'}}</span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Mobile No'"
[filterable]="false"
[width]="100">
<ng-template #ngDataTableCell let-row="row">
<td>
<span>{{row.item.customer[0].phoneNo}}</span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Email'"
[filterable]="false"
[width]="100">
<ng-template #ngDataTableCell let-row="row">
<td>
<span>{{row.item.customer[0].email}}</span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Address'"
[filterable]="false"
[width]="150">
<ng-template #ngDataTableCell let-row="row">
<td>
<span>{{row.item.customer[0].address_1}}, {{row.item.customer[0].city}}, {{row.item.customer[0].state}}, {{row.item.customer[0].pincode }}</span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Status'"
[filterable]="false"
[width]="60">
<ng-template #ngDataTableCell let-row="row">
<td>
<span style="font-weight: 700;" [ngStyle] = "{'color':row.item.status == '0' ? '#4caf50' : '#ffd740'}">{{row.item.status == 0 ? 'Booked':'Cancelled'}} </span>
</td>
</ng-template>
</ng-data-table-column>
<ng-data-table-column
[field]="''"
[title]="'Action'"
[filterable]="false"
[width]="70">
<ng-template #ngDataTableCell let-row="row">
<td>
<a (click)="openDialog('Update',row.item)"><span class="material-icons edit-color">edit</span></a>
<a (click)="confirmBox('Delete',row.item)"><span class="material-icons edit-color delete">delete</span></a>
</td>
</ng-template>
</ng-data-table-column>
</ng-data-table>
</mat-card>
<notifier-container></notifier-container>

View File

@ -99,3 +99,274 @@ img {
overflow-x: hidden;
overflow-y: auto;
}
::ng-deep .ng-data-table-container .ng-data-table-top-header-container{
min-height: 4rem !important;
background-color: #fff !important;
border: 0;
border-bottom: none;
}
::ng-deep .ng-data-table-container .ng-data-table-top-header-container .ng-data-table-top-header-title {
font-size: 24px;
line-height: 1.8rem;
color: black;
margin: 0;
}
::ng-deep .ng-data-table-container .ng-data-table thead > tr > th{
color: #fff !important;
}
::ng-deep .ng-data-table-container .ng-data-table tbody > tr.row-even td {
background: #fff;
color: black;
font-size: 12px;
font-family: Roboto, "Helvetica Neue", sans-serif;
line-height: 1.4rem;
}
::ng-deep .ng-data-table-container .ng-data-table tbody > tr.row-odd td {
background: #fff;
color: black;
font-size: 12px;
font-family: Roboto, "Helvetica Neue", sans-serif;
line-height: 1.4rem;
}
.align-left{
text-align: left !important;
}
.align-center{
// text-align: center !important;
text-align: -webkit-center !important;
}
.center2 {
font-size: large;
margin-left: auto;
margin-right: auto;
}
#delete{
color: black;
font-size: 20px;
}
#delete:hover{
color: red;
}
.align-right{
text-align: right !important;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table tbody > tr.row-even td {
background: white;
border: 1px solid #000;
padding: 5px;
}
#my{
//zoom: 90%;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table tbody > tr.row-odd td {
border: 1px solid #000;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table-content-container .ng-data-table-content {
min-height: 100px !important;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table thead > tr:last-child th {
color: white;
background-color:#1d7d67;
}
tr{
color: white;
background-color:#1d7d67;
}
th{
color: white;
background-color:#1d7d67;
}
* {
box-sizing: border-box;
}
.row {
display: flex;
background-color:#1d7d67;
}
/* Create two equal columns that sits next to each other */
.column {
flex: 50%;
// padding: 10px;
// height: 300px; /* Should be removed. Only for demonstration */
}
::ng-deep .mat-select-value{
color: black!important; }
.column1 {
width: 87px;
text-align: center;
text-overflow: ellipsis;
padding: 3px;
//height: 300px; /* Should be removed. Only for demonstration */
}
input {
text-align: right;
}
h2 {
padding-bottom: 10px;
display: block;
//transform: rotate(-90deg);
text-align: right;
margin-top: 13px;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table-content-container .ng-data-table-content {
min-height: 41px !important;
}
header {
background: #1d7d67;
display: flex;
color: white;
padding-top: 13px;
height: 69px;
}
header:before,
header:after {
content: '';
margin: auto 1em;
border-bottom: solid 1px;
flex: 1;
}
h1 {
position: relative;
padding: 0.25em 1em;
overflow: hidden;
background: linear-gradient(currentcolor, currentcolor) no-repeat top center, linear-gradient(currentcolor, currentcolor) no-repeat bottom center;
background-size: calc(100% - 1.65em) 1px;
}
h1:before,
h1:after {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
border: solid 1px;
border-top: none;
border-bottom: none;
transform: skew(45deg)
}
h1:after {
transform: skew(-45deg)
}
header + header {
color:pink;
}
header + header + header {
color:gold;
}
a {
background-image: linear-gradient(
to right,
#1d7d67,
#1d7d67 50%,
);
background-size: 200% 100%;
background-position: -100%;
display: inline-block;
padding: 5px 0;
position: relative;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
transition: all 0.3s ease-in-out;
}
a:before{
content: '';
background: #1d7d67;
display: block;
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 3px;
transition: all 0.3s ease-in-out;
}
a:hover {
background-position: 0;
}
a:hover::before{
width: 100%;
}
.center{
text-align: -webkit-center !important;
padding-left: 22px;
}
::ng-deep :not(.dark-theme) .ng-data-table-container .ng-data-table tbody > tr.row-odd td {
border: 1px solid #000;
padding: 5px !important
}
// .sticky {
// height: 64px;
// opacity: 1;
// transition: opacity .25s ease-out, height .15s ease;
// }
table, th, td {
//border: 1px solid black;
border-collapse: collapse;
}
.fixed-header {
position: fixed;
z-index:999;
height: 50px;
// width: 77%;
//max-width: auto;
}
#frugalmap {
height: 300px;
width: 100%;
top: 50px;
position: relative;
background: #2ab4c0;
}
.mat-elevation-z5 {
position: relative;
}
.sticky {
position: fixed;
top: 50px;
}
h4{
font: 400 12px/17px Roboto, "Helvetica Neue", sans-serif !important;
}
::ng-deep .ng-data-table-container .ng-data-table-pagination-container{
background: #008467 !important;
}
::ng-deep .ng-data-table-container .ng-data-table thead > tr .ng-data-table-column-header .ng-data-table-column-header-label {
font-size: 14px;
line-height: 4rem;
}
::ng-deep .ng-data-table-container .ng-data-table tbody > tr.row-even:hover td{
color: #000;
}

View File

@ -1,3 +1,4 @@
import { DatePipe } from '@angular/common';
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { MatPaginator } from '@angular/material/paginator';
@ -24,7 +25,8 @@ export interface UsersData {
@Component({
selector: 'app-appoinments-list',
templateUrl: './appoinments-list.component.html',
styleUrls: ['./appoinments-list.component.scss']
styleUrls: ['./appoinments-list.component.scss'],
providers:[DatePipe]
})
export class AppoinmentsListComponent implements OnInit {
@ -40,6 +42,7 @@ export class AppoinmentsListComponent implements OnInit {
@ViewChild('paginator') paginator: MatPaginator;
@ViewChild('paginatorPageSize') paginatorPageSize: MatPaginator;
pageSizes = [3, 5, 7];
pipe = new DatePipe('en-US');
constructor(private notifierService: NotifierService,public dialog: MatDialog, public _app:AppointmentsService) { }
ngOnInit(): void {
@ -111,6 +114,7 @@ export class AppoinmentsListComponent implements OnInit {
cancelButtonText: 'No, keep it'
}).then((result) => {
if (result.value) {
console.log('entry')
// this.deleteRowData(element);
this.formAddUpdateAndDelete(event,element)
Swal.fire(
@ -254,7 +258,10 @@ export class AppoinmentsListComponent implements OnInit {
// console.log(this.appoinmentsList)
// }
getData(param){
console.log(param)
}
}

View File

@ -10,7 +10,10 @@ 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 { DataTableModule } from 'ornamentum'
// import CalendarTodayIcon from '@material-ui/icons/CalendarToday';
const customNotifierOptions: NotifierOptions = {
position: {
horizontal: {
@ -66,6 +69,7 @@ const customNotifierOptions: NotifierOptions = {
// ScrollingModule,
NgScrollbarModule,
NotifierModule.withConfig(customNotifierOptions),
DataTableModule.forRoot()
]
})

View File

@ -83,7 +83,7 @@ $p: 12px;
}
.avatar {
background: url('../../assets/images/1.jpg') no-repeat center center / cover;
background: url('/assets/images/1.jpg') no-repeat center center / cover;
clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
}

View File

@ -16,7 +16,7 @@ $main-color: #f44336;
}
.mat-card{
margin: 0px !important;
box-shadow: 0 2px 4px 0 rgb(0 0 0 / 20%) !important;
box-shadow: 0 2px 4px 0 #00000033 !important;
}
.consultant-card-cover {
// padding: 0rem 6rem;

View File

@ -45,4 +45,6 @@ Author: TrendSetter Themes
@import "scss/material";
@import "scss/utilities/utilities";
@import "~angular-notifier/styles";
@import "~ornamentum/themes/dark.theme.scss";
@import "~ornamentum/themes/addon.dark.theme.scss";

View File

@ -417,7 +417,7 @@ $hover-font-color:#fff;
text-align: center;
background-color: rgba(214, 224, 226, 0.2);
.cardheader {
background: url("/../../../assets/images/night.jpg");
background: url("/assets/images/night.jpg");
background-size: cover;
height: 135px;
}
@ -469,7 +469,7 @@ $hover-font-color:#fff;
}
.profile-cover {
background-image: url("/../../../assets/images/night.jpg");
background-image: url("/assets/images/night.jpg");
background-position: center center;
background-size: cover;
padding: 7rem 0;

View File

@ -139,7 +139,7 @@
}
.sidebar-panel {
background-image: url("/../../../assets/images/bg-1.jpg");
background-image: url("/assets/images/bg-1.jpg");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
@ -540,25 +540,25 @@
.bg-1 {
.sidebar-panel {
background-image: url("/../../../assets/images/bg-5.jpg") !important;
background-image: url("/assets/images/bg-5.jpg") !important;
}
}
.bg-2 {
.sidebar-panel {
background-image: url("/../../../assets/images/bg-2.jpg") !important;
background-image: url("/assets/images/bg-2.jpg") !important;
}
}
.bg-3 {
.sidebar-panel {
background-image: url("/../../../assets/images/bg-3.jpg") !important;
background-image: url("/assets/images/bg-3.jpg") !important;
}
}
.bg-4 {
.sidebar-panel {
background-image: url("/../../../assets/images/bg-4.jpg") !important;
background-image: url("/assets/images/bg-4.jpg") !important;
}
}

View File

@ -158,5 +158,5 @@ body .login-session{
}
.notfound {
background-image: url("/../../../assets/images/notfound.jpg");
background-image: url("/assets/images/notfound.jpg");
}

View File

@ -7,7 +7,7 @@ export const environment = {
production: false,
environmentName: 'Testing Environment',//Localhost Environment.
// apiEndpoint:'http://venbainfotech.com:5000/api/',
apiEndpoint:'https://api.venbait.in/api/',
// apiEndpoint:'http://192.168.1.20:8080/api/',
// apiEndpoint:'https://api.venbait.in/api/',
apiEndpoint:'http://192.168.1.20:8080/api/',
};