Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
H
HIMS
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sandeep Sagar
HIMS
Commits
b86c5d4f
Commit
b86c5d4f
authored
Oct 12, 2023
by
Sandeep Sagar Panjala
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
initial commit
parent
31f1f63d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
780 additions
and
1031 deletions
+780
-1031
.gitignore
.gitignore
+3
-4
Hims.Admin.csproj
Presentation/Hims.Admin/Hims.Admin.csproj
+0
-2
layout.html
Presentation/Hims.Admin/src/app/areas/layout/layout.html
+763
-999
index.html
Presentation/Hims.Admin/src/index.html
+14
-26
No files found.
.gitignore
View file @
b86c5d4f
node_modules
package-lock.json
.angular
.DS_Store
**/.DS_Store
.angular
/.vs
/.git
obj
...
...
@@ -51,5 +51,5 @@ Properties
/Distributed Services/Hims.Api/Logs
/Distributed Services/Hims.Api/appsettings.json
/Presentation/Hims.Admin/wwwroot/*
!/Presentation/Hims.Admin/wwwroot/assets
\ No newline at end of file
/Presentation/Hims.Providers/wwwroot/*
!/Presentation/Hims.Providers/wwwroot/assets
Presentation/Hims.Admin/Hims.Admin.csproj
View file @
b86c5d4f
...
...
@@ -443,8 +443,6 @@
<ItemGroup>
<Folder Include="src\app\areas\admin\patient-multiple-forms\pages\edit-patient-details\" />
<Folder Include="src\app\areas\admin\physiotherapy-encounter\pages\" />
<Folder Include="wwwroot\assets\fonts\themify\fonts\" />
<Folder Include="wwwroot\assets\images\pediatric-images\" />
</ItemGroup>
<ItemGroup>
<None Include="wwwroot\assets\css\styles\calendar.css" />
...
...
Presentation/Hims.Admin/src/app/areas/layout/layout.html
View file @
b86c5d4f
<style>
.popOverCustom
{
height
:
500px
!important
;
width
:
600px
!important
;
}
.popOverCustom
{
height
:
500px
!important
;
width
:
600px
!important
;
}
</style>
<div
id=
"wrapper"
>
<div
class=
"navbar-custom"
(
mouseenter
)="
leave
()"
>
<div
class=
"container-fluid"
style=
"line-height: 70px"
>
<ul
class=
"list-unstyled topnav-menu m-0"
>
<li
class=
"d-lg-none"
>
<button
class=
"button-menu-mobile waves-effect waves-light"
(
click
)="
onToggleMenu
($
event
)"
>
<i
class=
"fe-menu"
></i>
</button>
</li>
</ul>
<div
style=
"line-height: 16px; top: 50px; left: 12px"
class=
"position-absolute d-lg-none"
[
ngClass
]="{
'
d-none
'
:
sideSubMenu
.
length =
=0
}"
>
<a
aria-expanded=
"true"
class=
"text-success"
aria-haspopup=
"true"
data-toggle=
"dropdown"
href=
"javascript:;"
id=
"menuThreeDot"
#
threedot
(
click
)="
onToggleSubMenu
($
event
,
threedot
)"
title=
"Actions"
><i
class=
"mdi mdi-dots-horizontal mdi-36px"
></i
></a>
</div>
<ul
class=
"list-unstyled topnav-menu float-left mb-0"
>
<li
class=
"dropdown d-none d-lg-inline-block"
>
<div
class=
"app-search app-search-custom"
>
<div
class=
"app-search-box"
>
<div
class=
"input-group menu-search-p"
>
<input
type=
"text"
class=
"form-control menu-search"
block
autocomplete=
"off"
[
ngbTypeahead
]="
menuSearch
"
[
resultFormatter
]="
formatMenuMatches
"
[
resultTemplate
]="
tempalteMenuSearchResults
"
[
inputFormatter
]="
formatMenuMatches
"
(
selectItem
)="
onSelectMenu
($
event
)"
placeholder=
"Search Pages"
/>
<div
class=
"input-group-append"
>
<a
class=
"btn bg-primary ml-0"
title=
"Patients"
[
routerLink
]="['/
app
/
patient-services
']"
>
<i
class=
"fe-file-text"
></i>
</a>
</div>
</div>
<div
class=
"navbar-custom"
(
mouseenter
)="
leave
()"
>
<div
class=
"container-fluid"
style=
"line-height: 70px"
>
<ul
class=
"list-unstyled topnav-menu m-0"
>
<li
class=
"d-lg-none"
>
<button
class=
"button-menu-mobile waves-effect waves-light"
(
click
)="
onToggleMenu
($
event
)"
>
<i
class=
"fe-menu"
></i>
</button>
</li>
</ul>
<div
style=
"line-height: 16px; top: 50px; left: 12px;"
class=
"position-absolute d-lg-none"
[
ngClass
]="{
'
d-none
'
:
sideSubMenu
.
length =
=0
}"
>
<a
aria-expanded=
"true"
class=
"text-success"
aria-haspopup=
"true"
data-toggle=
"dropdown"
href=
"javascript:;"
id=
"menuThreeDot"
#
threedot
(
click
)="
onToggleSubMenu
($
event
,
threedot
)"
title=
"Actions"
><i
class=
"mdi mdi-dots-horizontal mdi-36px"
></i></a>
</div>
</div>
</li>
<li></li>
<li
class=
"dropdown d-none d-md-inline-block header-info"
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngFor=
"let item of settingService.cubicles"
>
<span
class=
"mr-2 ml-2 header-info-div"
>
<i
class=
"fe-box mr-2"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
item
.
name
"
></span>
</span>
</ng-container>
</ng-container>
</li>
<li
class=
"dropdown d-none d-md-inline-block header-info"
*
ngIf=
"settingService.selectedConsultantDoctor && page.userAccount.roleId !== 3"
>
<ng-container
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngFor=
"let item of settingService.cubicles"
>
<span
class=
"header-info-div"
>
<i
class=
"fe-user mr-2"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
settingService
.
selectedConsultantDoctor
.
value
"
></span>
</span>
</ng-container>
</ng-container>
</li>
</ul>
<ul
class=
"list-unstyled topnav-menu float-right mb-0"
>
<!--<li class="dropdown d-none d-lg-inline-block" *ngIf="publicIp">
<ul
class=
"list-unstyled topnav-menu float-left mb-0"
>
<li
class=
"dropdown d-none d-lg-inline-block"
>
<div
class=
"app-search app-search-custom"
>
<div
class=
"app-search-box"
>
<div
class=
"input-group menu-search-p"
>
<input
type=
"text"
class=
"form-control menu-search"
block
autocomplete=
"off"
[
ngbTypeahead
]="
menuSearch
"
[
resultFormatter
]="
formatMenuMatches
"
[
resultTemplate
]="
tempalteMenuSearchResults
"
[
inputFormatter
]="
formatMenuMatches
"
(
selectItem
)="
onSelectMenu
($
event
)"
placeholder=
"Search Pages"
/>
<div
class=
"input-group-append"
>
<a
class=
"btn bg-primary ml-0"
title=
"Patients"
[
routerLink
]="['/
app
/
patient-services
']"
>
<i
class=
"fe-file-text"
></i>
</a>
</div>
</div>
</div>
</div>
</li>
<li>
</li>
<li
class=
"dropdown d-none d-md-inline-block header-info"
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngFor=
"let item of settingService.cubicles"
>
<span
class=
"mr-2 ml-2 header-info-div"
>
<i
class=
"fe-box mr-2"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
item
.
name
"
></span>
</span>
</ng-container>
</ng-container>
</li>
<li
class=
"dropdown d-none d-md-inline-block header-info"
*
ngIf=
"settingService.selectedConsultantDoctor && page.userAccount.roleId !== 3"
>
<ng-container
*
ngIf=
"settingService.cubicles.length"
>
<ng-container
*
ngFor=
"let item of settingService.cubicles"
>
<span
class=
"header-info-div"
>
<i
class=
"fe-user mr-2"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
settingService
.
selectedConsultantDoctor
.
value
"
></span>
</span>
</ng-container>
</ng-container>
</li>
</ul>
<ul
class=
"list-unstyled topnav-menu float-right mb-0"
>
<!--<li class="dropdown d-none d-lg-inline-block" *ngIf="publicIp">
<span class="mr-2">
Public:<span class="ml-1" [textContent]="publicIp"></span>
</span>
...
...
@@ -107,81 +83,65 @@
Private:<span class="ml-1" [textContent]="privateIp"></span>
</span>
</li>-->
<li
class=
"dropdown d-none d-md-inline-block"
*
ngIf=
"page && page.userAccount && page.userAccount.locationName"
>
<span
class=
"mr-2"
>
<i
class=
"mdi mdi-checkbox-blank-circle text-danger"
*
ngIf=
"communicationService && communicationService.hubConnection && communicationService.hubConnection.state && communicationService.hubConnection.state !== 'Connected'"
></i>
<i
class=
"mdi mdi-checkbox-blank-circle text-success"
*
ngIf=
"communicationService && communicationService.hubConnection && communicationService.hubConnection.state && communicationService.hubConnection.state === 'Connected'"
></i>
<!-- <span
<li
class=
"dropdown d-none d-md-inline-block"
*
ngIf=
"page && page.userAccount && page.userAccount.locationName"
>
<span
class=
"mr-2"
>
<i
class=
"mdi mdi-checkbox-blank-circle text-danger"
*
ngIf=
"communicationService && communicationService.hubConnection && communicationService.hubConnection.state && communicationService.hubConnection.state !== 'Connected'"
></i>
<i
class=
"mdi mdi-checkbox-blank-circle text-success"
*
ngIf=
"communicationService && communicationService.hubConnection && communicationService.hubConnection.state && communicationService.hubConnection.state === 'Connected'"
></i>
<!-- <span
class="ml-2"
*ngIf="communicationService && communicationService.hubConnection && communicationService.hubConnection.state"
[textContent]="communicationService.hubConnection.state"
></span> -->
</span>
</li>
<li
class=
"dropdown d-none d-md-inline-block"
*
ngIf=
"page && page.userAccount && page.userAccount.locationName"
>
<span
class=
"mr-2"
>
<i
class=
"fe-map-pin mr-2"
></i>
<span
[
textContent
]="
page
.
userAccount
.
locationName
"
></span>
</span>
</li>
<li
class=
"dropdown"
>
<div
class=
"app-search"
>
<div
class=
"app-search-box"
>
<div
class=
"input-group patient-search"
>
<input
type=
"text"
class=
"form-control"
block
#
searchPatient
autocomplete=
"off"
[
ngbTypeahead
]="
search
"
[
resultFormatter
]="
formatMatches
"
[
resultTemplate
]="
tempalteSearchResults
"
[
inputFormatter
]="
formatMatches
"
(
focus
)="
searchPatient
.
value =
''
"
(
selectItem
)="
onSelectPatient
($
event
)"
placeholder=
"Enter Name/Mobile/UMR No"
/>
<div
class=
"input-group-append"
>
<button
*
ngIf=
"searching"
class=
"btn bg-primary"
type=
"button"
style=
"cursor: default !important"
>
<span
class=
"spinner-border text-white spinner-border-sm"
></span>
</button>
<a
*
ngIf=
"!searching"
class=
"btn bg-primary ml-0"
title=
"Patients"
[
routerLink
]="['/
app
/
patients
']"
>
<i
class=
"fe-users"
></i>
</a>
</div>
</div>
</div>
</div>
</li>
<li
class=
"dropdown d-none d-lg-inline-block"
>
<full-screen></full-screen>
</li>
<!--<li class="dropdown notification-list">
</span>
</li>
<li
class=
"dropdown d-none d-md-inline-block"
*
ngIf=
"page && page.userAccount && page.userAccount.locationName"
>
<span
class=
"mr-2"
>
<i
class=
"fe-map-pin mr-2"
></i>
<span
[
textContent
]="
page
.
userAccount
.
locationName
"
></span>
</span>
</li>
<li
class=
"dropdown"
>
<div
class=
"app-search"
>
<div
class=
"app-search-box"
>
<div
class=
"input-group patient-search"
>
<input
type=
"text"
class=
"form-control"
block
#
searchPatient
autocomplete=
"off"
[
ngbTypeahead
]="
search
"
[
resultFormatter
]="
formatMatches
"
[
resultTemplate
]="
tempalteSearchResults
"
[
inputFormatter
]="
formatMatches
"
(
focus
)="
searchPatient
.
value =
''
"
(
selectItem
)="
onSelectPatient
($
event
)"
placeholder=
"Enter Name/Mobile/UMR No"
/>
<div
class=
"input-group-append"
>
<button
*
ngIf=
"searching"
class=
"btn bg-primary"
type=
"button"
style=
"cursor: default !important"
>
<span
class=
"spinner-border text-white spinner-border-sm"
></span>
</button>
<a
*
ngIf=
"!searching"
class=
"btn bg-primary ml-0"
title=
"Patients"
[
routerLink
]="['/
app
/
patients
']"
>
<i
class=
"fe-users"
></i>
</a>
</div>
</div>
</div>
</div>
</li>
<li
class=
"dropdown d-none d-lg-inline-block"
>
<full-screen></full-screen>
</li>
<!--<li class="dropdown notification-list">
<a class="nav-link dropdown-toggle waves-effect waves-light" (click)="onNotificationToggle()" href="javascript:;" role="button" aria-haspopup="false" aria-expanded="false">
<i class="fe-bell noti-icon"></i>
<span class="badge badge-danger rounded-circle noti-icon-badge" [textContent]="notificationCount > 99 ? '99+' : notificationCount"></span>
...
...
@@ -235,90 +195,70 @@
</a>
</div>
</li>-->
<li
class=
"dropdown notification-list"
*
ngIf=
"page && page.userAccount && page.userAccount.accountId > 0"
>
<a
class=
"nav-link dropdown-toggle nav-user mr-0 waves-effect waves-light"
(
click
)="
onLogout
()"
data-toggle=
"dropdown"
href=
"javascript:;"
role=
"button"
aria-haspopup=
"false"
aria-expanded=
"false"
>
<avatar-img
*
ngIf=
"!page.userAccount.thumbnailUrl"
src=
"assets/images/doctor_male.jpg"
[
alt
]="
page
.
userAccount
.
fullName
"
cssClass=
"rounded-circle myicon"
></avatar-img>
<avatar-img
*
ngIf=
"page.userAccount.thumbnailUrl"
[
src
]="
page
.
userAccount
.
thumbnailUrl
"
[
alt
]="
page
.
userAccount
.
fullName
"
cssClass=
"rounded-circle myicon"
></avatar-img>
<span
class=
"pro-user-name ml-1"
>
<span
[
textContent
]="
page
.
userAccount
.
fullName
"
></span
><i
class=
"mdi mdi-chevron-down ml-2 mr-1"
></i>
</span>
</a>
<div
class=
"dropdown-menu dropdown-menu-right profile-dropdown"
style=
"
<li
class=
"dropdown notification-list"
*
ngIf=
"page && page.userAccount && page.userAccount.accountId > 0"
>
<a
class=
"nav-link dropdown-toggle nav-user mr-0 waves-effect waves-light"
data-toggle=
"dropdown"
href=
"javascript:;"
role=
"button"
aria-haspopup=
"false"
aria-expanded=
"false"
>
<avatar-img
*
ngIf=
"!page.userAccount.thumbnailUrl"
src=
"assets/images/doctor_male.jpg"
[
alt
]="
page
.
userAccount
.
fullName
"
cssClass=
"rounded-circle myicon"
></avatar-img>
<avatar-img
*
ngIf=
"page.userAccount.thumbnailUrl"
[
src
]="
page
.
userAccount
.
thumbnailUrl
"
[
alt
]="
page
.
userAccount
.
fullName
"
cssClass=
"rounded-circle myicon"
></avatar-img>
<span
class=
"pro-user-name ml-1"
>
<span
[
textContent
]="
page
.
userAccount
.
fullName
"
></span><i
class=
"mdi mdi-chevron-down ml-2 mr-1"
></i>
</span>
</a>
<div
class=
"dropdown-menu dropdown-menu-right profile-dropdown"
style=
"
position: absolute;
will-change: transform;
top: 0px;
left: 0px;
transform: translate3d(24px, 65px, 0px);
line-height: 20px;
"
>
<div
class=
"dropdown-header noti-title"
>
<h6
class=
"m-0"
>
Welcome
<span>
{{page.userAccount.roleName}}
</span>
!
</h6>
</div>
<a
routerLinkActive=
"active"
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onProfile
()"
>
<i
class=
"fe-user"
></i>
<span>
Profile
</span>
</a>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
fetchCubicles
()"
>
<i
class=
"fe-box"
></i>
<span>
Rooms
</span>
</a>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onOpenModal
(
templateChangePassword
)"
>
<i
class=
"fe-lock"
></i>
<span>
Change Password
</span>
</a>
<div
class=
"dropdown-divider"
></div>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onLogout
()"
>
<i
class=
"fe-log-out"
></i>
<span>
Logout
</span>
</a>
</div>
</li>
</ul>
<!--<div class="logo-box">
"
>
<div
class=
"dropdown-header noti-title"
>
<h6
class=
"m-0"
>
Welcome
<span>
{{page.userAccount.roleName}}
</span>
!
</h6>
</div>
<a
routerLinkActive=
"active"
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onProfile
()"
>
<i
class=
"fe-user"
></i>
<span>
Profile
</span>
</a>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
fetchCubicles
()"
>
<i
class=
"fe-box"
></i>
<span>
Rooms
</span>
</a>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onOpenModal
(
templateChangePassword
)"
>
<i
class=
"fe-lock"
></i>
<span>
Change Password
</span>
</a>
<div
class=
"dropdown-divider"
></div>
<a
href=
"javascript:;"
class=
"dropdown-item notify-item"
(
click
)="
onLogout
()"
>
<i
class=
"fe-log-out"
></i>
<span>
Logout
</span>
</a>
</div>
</li>
</ul>
<!--<div class="logo-box">
<a href="javascript:;" class="logo logo-dark text-center">
<span class="logo-sm">
<img src="assets/images/icon.png" alt="Careaxes" height="22">
...
...
@@ -329,802 +269,626 @@
</a>
</div>-->
<div
class=
"clearfix"
></div>
</div>
</div>
<div
class=
"left-side-menu"
onmouseleave=
"sos()"
[
ngClass
]="{
'
w-345
'
:
menuHolder
.
subMenus
.
length
}"
>
<div
class=
"h-100"
>
<div>
<div
class=
"sidebar-icon-menu h-100"
>
<a
href=
"javascript:;"
[
routerLink
]="
defaultMenu
"
class=
"logo position-fixed"
>
<span>
<img
[
src
]="
logoBasics
&&
logoBasics
.
imageUrl
?
logoBasics
.
imageUrl
:
'
assets
/
images
/
logo-careaxes
.
png
'"
[
hidden
]="
loading
"
alt=
"Careaxes"
width=
"35"
/>
</span>
</a>
<nav
class=
"nav flex-column"
(
mouseleave
)="
leaveMenu
()"
[
ngClass
]="{'
layout-main-menu-active
'
:
!
isHovering
,
'
layout-main-menu-inactive
'
:
isHovering
}"
>
<div
(
mouseenter
)="
enter
(
menu
)"
routerLinkActive=
"menu-active"
class=
"pt-1 pb-1 menu-border"
[
ngClass
]="{'
inactive-highlight
'
:
isHovering
&&
menuHolder
.
mainPage =
==
menu
.
mainPage
}"
*
ngFor=
"let menu of menus; let i = index"
>
<a
href=
"javascript:;"
class=
"nav-link m-auto position-relative"
[
routerLink
]="
menu
.
url
"
>
<span
*
ngIf=
"menu.hasMarker"
class=
"menu-marker"
>
<i
class=
"mdi"
[
ngClass
]="{'
mdi-menu-right
'
:
!
menu
.
isHovering
,
'
mdi-menu-down
'
:
menu
.
isHovering
}"
></i>
</span>
<div><i
[
class
]="
menu
.
iconClasses
"
></i></div>
<div
class=
"text-white white-space-break very-small text-center text-capitalize"
[
textContent
]="
menu
.
displayName
"
></div>
</a>
</div>
</nav>
<div
class=
"clearfix"
></div>
</div>
<div
class=
"clearfix"
></div>
</div>
</div>
<ng-container
*
ngIf=
"menuHolder.subMenus.length"
>
<div
(
mouseenter
)="
dontLeave
()"
id=
"submenu"
(
mouseleave
)="
leave
();
sos
();"
class=
"layout-sidebar-main-menu d-block mt-1 saideNavMt"
style=
"
background-size: 200%;
background-repeat: no-repeat;
z-index: 10000;
border-radius: 0 10px 10px 0;
"
[
ngClass
]="
menuHolder
.
subMenus
.
length
?
'
fade-in
'
:
'
fade-out
'"
>
<div
id=
"two-col-menu"
class=
"h-100"
>
<div
class=
"twocolumn-menu-item d-block h-100"
>
<h5
class=
"menu-title text-white text-truncate"
>
<i
class=
"mdi mdi-apps mdi-infor text-white font-18 mr-1"
></i
><span
[
textContent
]="
menuHolder
.
menuName
"
></span>
</h5>
<div
class=
"overflow-auto"
style=
"height: calc(100% - 52px)"
>
<ul
class=
"nav flex-column encounter-menu pb-5"
>
<ng-container
*
ngFor=
"let menu of menuHolder.subMenus"
>
<ng-container
*
ngIf=
"menuType.SubMenu === menu.menuTypeId"
>
<li
class=
"nav-item w-100"
>
<a
class=
"text-color text-truncate dropdown-item position-relative"
(
click
)="
leave
();
sos
();"
[
routerLink
]="
menu
.
url
"
[
class
.
active
]="
activeRoute =
==
menu
.
url
"
href=
"javascript:;"
>
<i
*
ngIf=
"menu.iconClasses"
[
class
]="'
mr-1
'
+
menu
.
iconClasses
"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
menu
.
displayName
"
></span>
</a>
</li>
</ng-container>
<ng-container
*
ngIf=
"menuType.CategoryMenu === menu.menuTypeId"
>
<li
class=
"nav-item category-menu w-100"
>
<a
[
href
]="'#
sidebarMultilevel
'
+
'
_
'
+
menu
.
id
"
data-toggle=
"collapse"
class=
"text-color dropdown-item text-truncate position-relative"
aria-expanded=
"true"
>
<i
[
class
]="'
mr-1
'
+
menu
.
iconClasses
"
></i>
<span
[
textContent
]="
menu
.
displayName
"
></span>
<span
class=
"menu-arrow"
></span>
</a>
<div
class=
"collapse show"
[
id
]="'
sidebarMultilevel
'
+
'
_
'
+
menu
.
id
"
>
<ul
class=
"nav-second-level1"
>
<li
class=
"nav-item"
*
ngFor=
"let item of menu.categoryMenus"
>
<a
class=
"text-color dropdown-item"
(
click
)="
leave
();
sos
();"
[
routerLink
]="
item
.
url
"
[
class
.
active
]="
activeRoute =
==
item
.
url
"
href=
"javascript:;"
>
<i
[
class
]="'
mr-1
'
+
item
.
iconClasses
"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
item
.
displayName
"
></span>
<div
class=
"left-side-menu"
onmouseleave=
"sos()"
[
ngClass
]="{
'
w-345
'
:
menuHolder
.
subMenus
.
length
}"
>
<div
class=
"h-100"
>
<div>
<div
class=
"sidebar-icon-menu h-100"
>
<a
href=
"javascript:;"
[
routerLink
]="
defaultMenu
"
class=
"logo position-fixed"
>
<span>
<img
[
src
]="
logoBasics
&&
logoBasics
.
imageUrl
?
logoBasics
.
imageUrl
:
'
assets
/
images
/
logo-careaxes
.
png
'"
[
hidden
]="
loading
"
alt=
"Careaxes"
width=
"35"
/>
</span>
</a>
<nav
class=
"nav flex-column"
(
mouseleave
)="
leaveMenu
()"
[
ngClass
]="{'
layout-main-menu-active
'
:
!
isHovering
,
'
layout-main-menu-inactive
'
:
isHovering
}"
>
<div
(
mouseenter
)="
enter
(
menu
)"
routerLinkActive=
"menu-active"
class=
"pt-1 pb-1 menu-border"
[
ngClass
]="{'
inactive-highlight
'
:
isHovering
&&
menuHolder
.
mainPage =
==
menu
.
mainPage
}"
*
ngFor=
"let menu of menus; let i = index"
>
<a
href=
"javascript:;"
class=
"nav-link m-auto position-relative"
[
routerLink
]="
menu
.
url
"
>
<span
*
ngIf=
"menu.hasMarker"
class=
"menu-marker"
>
<i
class=
"mdi"
[
ngClass
]="{'
mdi-menu-right
'
:
!
menu
.
isHovering
,
'
mdi-menu-down
'
:
menu
.
isHovering
}"
></i>
</span>
<div><i
[
class
]="
menu
.
iconClasses
"
></i></div>
<div
class=
"text-white white-space-break very-small text-center text-capitalize"
[
textContent
]="
menu
.
displayName
"
></div>
</a>
</li>
</ul>
</div>
</li>
</ng-container>
</ng-container>
</ul>
</div>
</nav>
</div>
<div
class=
"clearfix"
></div>
</div>
</div>
</div>
</div>
</ng-container>
</div>
<ng-container
*
ngIf=
"menuHolder.subMenus.length"
>
<div
(
mouseenter
)="
dontLeave
()"
id=
"submenu"
(
mouseleave
)="
leave
();
sos
();"
class=
"layout-sidebar-main-menu d-block mt-1 saideNavMt"
style=
" background-size: 200%; background-repeat: no-repeat; z-index: 10000; border-radius: 0 10px 10px 0; "
[
ngClass
]="
menuHolder
.
subMenus
.
length
?
'
fade-in
'
:
'
fade-out
'"
>
<div
id=
"two-col-menu"
class=
"h-100"
>
<div
class=
"twocolumn-menu-item d-block h-100"
>
<h5
class=
"menu-title text-white text-truncate"
>
<i
class=
"mdi mdi-apps mdi-infor text-white font-18 mr-1"
></i><span
[
textContent
]="
menuHolder
.
menuName
"
></span>
</h5>
<div
class=
"overflow-auto"
style=
"height: calc(100% - 52px);"
>
<ul
class=
"nav flex-column encounter-menu pb-5"
>
<ng-container
*
ngFor=
"let menu of menuHolder.subMenus"
>
<ng-container
*
ngIf=
"menuType.SubMenu === menu.menuTypeId"
>
<li
class=
"nav-item w-100"
>
<a
class=
"text-color text-truncate dropdown-item position-relative"
(
click
)="
leave
();
sos
();"
[
routerLink
]="
menu
.
url
"
[
class
.
active
]="
activeRoute =
==
menu
.
url
"
href=
"javascript:;"
>
<i
*
ngIf=
"menu.iconClasses"
[
class
]="'
mr-1
'
+
menu
.
iconClasses
"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
menu
.
displayName
"
></span>
</a>
</li>
</ng-container>
<ng-container
*
ngIf=
"menuType.CategoryMenu === menu.menuTypeId"
>
<li
class=
"nav-item category-menu w-100"
>
<a
[
href
]="'#
sidebarMultilevel
'
+
'
_
'
+
menu
.
id
"
data-toggle=
"collapse"
class=
"text-color dropdown-item text-truncate position-relative"
aria-expanded=
"true"
>
<i
[
class
]="'
mr-1
'
+
menu
.
iconClasses
"
></i>
<span
[
textContent
]="
menu
.
displayName
"
></span>
<span
class=
"menu-arrow"
></span>
</a>
<div
class=
"collapse show"
[
id
]="'
sidebarMultilevel
'
+
'
_
'
+
menu
.
id
"
>
<ul
class=
"nav-second-level1"
>
<li
class=
"nav-item"
*
ngFor=
"let item of menu.categoryMenus"
>
<a
class=
"text-color dropdown-item"
(
click
)="
leave
();
sos
();"
[
routerLink
]="
item
.
url
"
[
class
.
active
]="
activeRoute =
==
item
.
url
"
href=
"javascript:;"
>
<i
[
class
]="'
mr-1
'
+
item
.
iconClasses
"
></i>
<span
class=
"text-capitalize"
[
textContent
]="
item
.
displayName
"
></span>
</a>
</li>
</ul>
</div>
</li>
</ng-container>
</ng-container>
</ul>
</div>
</div>
</div>
</div>
</ng-container>
</div>
<div
class=
"content-page"
id=
"content-page"
>
<!-- <telemedicine-widget *ngIf="page.userAccount && page.userAccount.allowVideoCall"></telemedicine-widget> -->
<session-timeout></session-timeout>
<idle-timeout></idle-timeout>
<router-outlet></router-outlet>
<button
class=
"btn btn-secondary btn-scroll-top btn-sm"
style=
"z-index: 1000000"
(
click
)="
scrollToTop
()"
>
<i
class=
"fe-arrow-up"
></i>
</button>
<footer
class=
"footer"
>
<div
class=
"container-fluid"
>
<div
class=
"d-flex heading1 justify-content-between p-1"
>
<div>
<script>
document
.
write
(
new
Date
().
getFullYear
());
</script>
©
Careaxes by
<a
target=
"_blank"
href=
"https://sujainfo.com/"
>
Suja Info
</a>
</div>
<div>
<span
*
ngIf=
"webVersion"
[
textContent
]="'
version
:
'+
webVersion
"
></span>
<span
ngbPopover=
"{{url}}"
triggers=
"mouseenter:mouseleave"
popoverTitle=
"Pointing URL"
class=
"ml-1"
>
<i
class=
"mdi mdi-information"
></i>
</span>
</div>
<div
*
ngIf=
"page && page.userAccount && page.userAccount.lastLoginDate"
>
<!--<div class="text-md-right d-none d-sm-block">
<div
class=
"content-page"
id=
"content-page"
>
<!-- <telemedicine-widget *ngIf="page.userAccount && page.userAccount.allowVideoCall"></telemedicine-widget> -->
<session-timeout></session-timeout>
<idle-timeout></idle-timeout>
<router-outlet></router-outlet>
<button
class=
"btn btn-secondary btn-scroll-top btn-sm"
style=
"z-index: 1000000"
(
click
)="
scrollToTop
()"
>
<i
class=
"fe-arrow-up"
></i>
</button>
<footer
class=
"footer"
>
<div
class=
"container-fluid"
>
<div
class=
"d-flex heading1 justify-content-between p-1"
>
<div>
<script>
document
.
write
(
new
Date
().
getFullYear
());
</script>
©
Careaxes by
<a
target=
"_blank"
href=
"https://sujainfo.com/"
>
Suja Info
</a>
</div>
<div>
<span
*
ngIf=
"webVersion"
[
textContent
]="'
version
:
'+
webVersion
"
></span>
<span
ngbPopover=
"{{url}}"
triggers=
"mouseenter:mouseleave"
popoverTitle=
"Pointing URL"
class=
"ml-1"
>
<i
class=
"mdi mdi-information"
></i>
</span>
</div>
<div
*
ngIf=
"page && page.userAccount && page.userAccount.lastLoginDate"
>
<!--<div class="text-md-right d-none d-sm-block">
Last Logged In <a href="javascript:;" [textContent]="page.userAccount.lastLoginDate | utcToLocal"></a>
</div>-->
<div
class=
"text-md-right d-sm-block"
>
Last Logged In
<a
href=
"javascript:;"
[
textContent
]="
page
.
userAccount
.
lastLoginDate
|
date:
'
dd
MMMM
y
,
h:mm
a
'"
></a>
<div
class=
"text-md-right d-sm-block"
>
Last Logged In
<a
href=
"javascript:;"
[
textContent
]="
page
.
userAccount
.
lastLoginDate
|
date:
'
dd
MMMM
y
,
h:mm
a
'"
></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</footer>
</div>
</footer>
</div>
</div>
<div
id=
"overlay"
class=
"rightbar-overlay"
></div>
<ng-template
#
templateChangePassword
>
<form
[
formGroup
]="
changePasswordForm
"
(
ngSubmit
)="
onSubmit
()"
>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
><i
class=
"fe-lock mr-1"
></i>
Change Password
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
<div
class=
"modal-body"
>
<div
class=
"alert alert-light bg-light text-dark font-13 border-0"
role=
"alert"
>
<span>
Password must contain minimum of 4 characters.
</span>
</div>
<div
class=
"form-group mb-3"
>
<label
class=
"mb-1"
>
New Password
</label>
<input
type=
"password"
formControlName=
"password"
block
autocomplete=
"nope"
class=
"form-control"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
form
.
password
.
errors
}"
placeholder=
"Your new password"
/>
<div
*
ngIf=
"submitted && form.password.errors"
class=
"invalid-feedback"
>
<div
*
ngIf=
"form.password.errors.minLength"
>
Invalid password
</div>
<form
[
formGroup
]="
changePasswordForm
"
(
ngSubmit
)="
onSubmit
()"
>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
><i
class=
"fe-lock mr-1"
></i>
Change Password
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Re-enter Password
</label>
<div
class=
"input-group mb-0"
>
<input
type=
"password"
formControlName=
"confirmPassword"
block
autocomplete=
"nope"
class=
"form-control"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
form
.
confirmPassword
.
errors
}"
placeholder=
"Your new password again"
/>
<div
class=
"input-group-append cursor-pointer"
password
>
<div
class=
"input-group-text"
>
<span
class=
"password-eye"
></span>
<div
class=
"modal-body"
>
<div
class=
"alert alert-light bg-light text-dark font-13 border-0"
role=
"alert"
>
<span>
Password must contain minimum of 4 characters.
</span>
</div>
<div
class=
"form-group mb-3"
>
<label
class=
"mb-1"
>
New Password
</label>
<input
type=
"password"
formControlName=
"password"
block
autocomplete=
"nope"
class=
"form-control"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
form
.
password
.
errors
}"
placeholder=
"Your new password"
/>
<div
*
ngIf=
"submitted && form.password.errors"
class=
"invalid-feedback"
>
<div
*
ngIf=
"form.password.errors.minLength"
>
Invalid password
</div>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Re-enter Password
</label>
<div
class=
"input-group mb-0"
>
<input
type=
"password"
formControlName=
"confirmPassword"
block
autocomplete=
"nope"
class=
"form-control"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
form
.
confirmPassword
.
errors
}"
placeholder=
"Your new password again"
/>
<div
class=
"input-group-append cursor-pointer"
password
>
<div
class=
"input-group-text"
>
<span
class=
"password-eye"
></span>
</div>
</div>
</div>
<div
*
ngIf=
"submitted && form.confirmPassword.errors"
class=
"invalid-feedback show-must"
>
<div
*
ngIf=
"form.confirmPassword.errors.minLength || form.confirmPassword.errors.notEquivalent"
>
Passwords are not matched
</div>
</div>
</div>
</div>
</div>
<div
*
ngIf=
"submitted && form.confirmPassword.errors"
class=
"invalid-feedback show-must"
>
<div
*
ngIf=
"form.confirmPassword.errors.minLength || form.confirmPassword.errors.notEquivalent"
>
Passwords are not matched
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-sm btn-light mr-1"
(
click
)="
onCloseModal
();"
>
Cancel
</button>
<button
type=
"submit"
[
disabled
]="
submitting
"
class=
"btn btn-sm btn-primary"
>
<span
*
ngIf=
"submitting"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait..
</span>
<span
*
ngIf=
"!submitting"
>
Submit
</span>
</button>
</div>
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-sm btn-light mr-1"
(
click
)="
onCloseModal
();"
>
Cancel
</button>
<button
type=
"submit"
[
disabled
]="
submitting
"
class=
"btn btn-sm btn-primary"
>
<span
*
ngIf=
"submitting"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait..
</span>
<span
*
ngIf=
"!submitting"
>
Submit
</span>
</button>
</div>
</form>
</form>
</ng-template>
<ng-template
#
tempalteSearchResults
let-item=
"result"
let-term=
"term"
let-i=
"index"
>
<div
class=
"media"
style=
"line-height: normal !important"
>
<div
class=
"avatar-xs mr-2"
>
<!--<avatar-img *ngIf="item.optionalText" [src]="item.optionalText" [alt]="item.value" cssClass="img-fluid rounded-circle"></avatar-img>-->
<!--<span *ngIf="!item.optionalText" class="avatar-title rounded-circle font-10 bg-soft-warning font-weight-bold text-warning" [textContent]="item.value | initials"></span>-->
<span
class=
"avatar-title rounded-circle font-10 bg-soft-primary font-weight-bold text-primary"
[
textContent
]="
item
.
value
|
initials
"
></span>
</div>
<div
class=
"media-body"
>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
value
"
[
term
]="
term
"
></ngb-highlight
><br
/>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
optionalText2
+
'
/
'
+
item
.
optionalText1
"
[
term
]="
term
"
></ngb-highlight>
<ng-template
#
tempalteSearchResults
let-item=
"result"
let-term=
"term"
let-i=
"index"
>
<div
class=
"media"
style=
"line-height: normal !important"
>
<div
class=
"avatar-xs mr-2"
>
<!--<avatar-img *ngIf="item.optionalText" [src]="item.optionalText" [alt]="item.value" cssClass="img-fluid rounded-circle"></avatar-img>-->
<!--<span *ngIf="!item.optionalText" class="avatar-title rounded-circle font-10 bg-soft-warning font-weight-bold text-warning" [textContent]="item.value | initials"></span>-->
<span
class=
"avatar-title rounded-circle font-10 bg-soft-primary font-weight-bold text-primary"
[
textContent
]="
item
.
value
|
initials
"
></span>
</div>
<div
class=
"media-body"
>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
value
"
[
term
]="
term
"
></ngb-highlight><br
/>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
optionalText2
+
'
/
'
+
item
.
optionalText1
"
[
term
]="
term
"
></ngb-highlight>
</div>
</div>
</div>
</ng-template>
<ng-template
#
tempalteMenuSearchResults
let-item=
"result"
let-term=
"term"
let-i=
"index"
>
<div
class=
"media"
style=
"line-height: normal !important"
>
<div
class=
"avatar-xs mr-2"
>
<span
class=
"avatar-title rounded-circle font-15 bg-soft-primary font-weight-bold text-primary"
>
<i
*
ngIf=
"item.iconClasses"
[
class
]="
item
.
iconClasses
"
></i>
</span>
</div>
<div
class=
"media-body"
>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
subPage
?
(
item
.
mainPage
+
'
/
'
+
item
.
subPage
)
:
item
.
mainPage
"
[
term
]="
term
"
></ngb-highlight
><br
/>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
displayName
"
[
term
]="
term
"
></ngb-highlight>
<ng-template
#
tempalteMenuSearchResults
let-item=
"result"
let-term=
"term"
let-i=
"index"
>
<div
class=
"media"
style=
"line-height: normal !important"
>
<div
class=
"avatar-xs mr-2"
>
<span
class=
"avatar-title rounded-circle font-15 bg-soft-primary font-weight-bold text-primary"
>
<i
*
ngIf=
"item.iconClasses"
[
class
]="
item
.
iconClasses
"
></i>
</span>
</div>
<div
class=
"media-body"
>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
subPage
?
(
item
.
mainPage
+
'
/
'
+
item
.
subPage
)
:
item
.
mainPage
"
[
term
]="
term
"
></ngb-highlight><br
/>
<ngb-highlight
highlightClass=
"text-primary font-weight-bold"
[
result
]="
item
.
displayName
"
[
term
]="
term
"
></ngb-highlight>
</div>
</div>
</div>
</ng-template>
<ng-template
#
templateModify
>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
>
<i
class=
"mdi mdi-account-box-outline mr-1"
></i>
User Profile
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
<form
[
formGroup
]="
userForm
"
(
ngSubmit
)="
onProfileSubmit
()"
>
<div
class=
"modal-body"
>
<div
*
ngIf=
"userLoading"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait loading while we load user profile.
</div>
<div
class=
"row"
*
ngIf=
"!userLoading"
>
<div
class=
"col-md-12"
>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label>
First Name
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
formControlName=
"firstName"
placeholder=
"Enter first name"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
firstName
.
invalid
}"
/>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label>
Last Name
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
formControlName=
"lastName"
placeholder=
"Enter last name"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
lastName
.
invalid
}"
/>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Role
<code>
*
</code></label>
<select
class=
"form-control custom-select"
formControlName=
"roleId"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
roleId
.
errors
}"
>
<option
[
ngValue
]="
null
"
>
Select
</option>
<option
[
ngValue
]="
2
"
>
Administrator
</option>
<option
[
ngValue
]="
5
"
>
Support
</option>
<option
[
ngValue
]="
6
"
>
Nurse
</option>
<option
[
ngValue
]="
7
"
>
Receptionist
</option>
<option
[
ngValue
]="
8
"
>
Accountant
</option>
</select>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Email address
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
readonly
formControlName=
"email"
maxlength=
"150"
block
autocomplete=
"nope"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
email
.
errors
}"
placeholder=
"Enter email address"
/>
</div>
</div>
</div>
<div
class=
"row mb-1"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Mobile number
<code>
*
</code></label>
<input
type=
"text"
numbersOnly
readonly
class=
"form-control"
formControlName=
"mobile"
maxlength=
"10"
block
autocomplete=
"nope"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
mobile
.
errors
}"
placeholder=
"Enter mobile number"
/>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Country
<code>
*
</code></label>
<input
type=
"text"
readonly
formControlName=
"countryName"
class=
"form-control"
/>
</div>
</div>
</div>
<div
class=
"row mb-1"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Gender
</label>
<select
class=
"form-control custom-select"
formControlName=
"gender"
>
<option
[
ngValue
]="
null
"
>
Select
</option>
<option
[
ngValue
]="'
M
'"
>
Male
</option>
<option
[
ngValue
]="'
F
'"
>
Female
</option>
<option
[
ngValue
]="'
O
'"
>
Others
</option>
</select>
</div>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
>
<i
class=
"mdi mdi-account-box-outline mr-1"
></i>
User Profile
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
<form
[
formGroup
]="
userForm
"
(
ngSubmit
)="
onProfileSubmit
()"
>
<div
class=
"modal-body"
>
<div
*
ngIf=
"userLoading"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait loading while we load user profile.
</div>
<div
class=
"col-md-6 mb-0"
>
<div
class=
"form-group position-relative"
>
<label
class=
"mb-1"
>
Date Of Birth
</label>
<input
class=
"form-control date-picker"
type=
"text"
placeholder=
"Select"
formControlName=
"dateOfBirth"
readonly
autocomplete=
"nope"
ngbDatepicker
#
dateOfBirth=
"ngbDatepicker"
[
maxDate
]="
today
"
[
minDate
]="
minDate
"
(
click
)="
dateOfBirth
.
toggle
();
$
event
.
stopPropagation
();"
/>
</div>
<div
class=
"row"
*
ngIf=
"!userLoading"
>
<div
class=
"col-md-12"
>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label>
First Name
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
formControlName=
"firstName"
placeholder=
"Enter first name"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
firstName
.
invalid
}"
/>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label>
Last Name
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
formControlName=
"lastName"
placeholder=
"Enter last name"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
lastName
.
invalid
}"
/>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Role
<code>
*
</code></label>
<select
class=
"form-control custom-select"
formControlName=
"roleId"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
roleId
.
errors
}"
>
<option
[
ngValue
]="
null
"
>
Select
</option>
<option
[
ngValue
]="
2
"
>
Administrator
</option>
<option
[
ngValue
]="
5
"
>
Support
</option>
<option
[
ngValue
]="
6
"
>
Nurse
</option>
<option
[
ngValue
]="
7
"
>
Receptionist
</option>
<option
[
ngValue
]="
8
"
>
Accountant
</option>
</select>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group"
>
<label
class=
"mb-1"
>
Email address
<code>
*
</code></label>
<input
type=
"text"
class=
"form-control"
readonly
formControlName=
"email"
maxlength=
"150"
block
autocomplete=
"nope"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
email
.
errors
}"
placeholder=
"Enter email address"
/>
</div>
</div>
</div>
<div
class=
"row mb-1"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Mobile number
<code>
*
</code></label>
<input
type=
"text"
numbersOnly
readonly
class=
"form-control"
formControlName=
"mobile"
maxlength=
"10"
block
autocomplete=
"nope"
[
ngClass
]="{
'
is-invalid
'
:
submitted
&&
profileForm
.
mobile
.
errors
}"
placeholder=
"Enter mobile number"
/>
</div>
</div>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Country
<code>
*
</code></label>
<input
type=
"text"
readonly
formControlName=
"countryName"
class=
"form-control"
/>
</div>
</div>
</div>
<div
class=
"row mb-1"
>
<div
class=
"col-md-6"
>
<div
class=
"form-group mb-0"
>
<label
class=
"mb-1"
>
Gender
</label>
<select
class=
"form-control custom-select"
formControlName=
"gender"
>
<option
[
ngValue
]="
null
"
>
Select
</option>
<option
[
ngValue
]="'
M
'"
>
Male
</option>
<option
[
ngValue
]="'
F
'"
>
Female
</option>
<option
[
ngValue
]="'
O
'"
>
Others
</option>
</select>
</div>
</div>
<div
class=
"col-md-6 mb-0"
>
<div
class=
"form-group position-relative"
>
<label
class=
"mb-1"
>
Date Of Birth
</label>
<input
class=
"form-control date-picker"
type=
"text"
placeholder=
"Select"
formControlName=
"dateOfBirth"
readonly
autocomplete=
"nope"
ngbDatepicker
#
dateOfBirth=
"ngbDatepicker"
[
maxDate
]="
today
"
[
minDate
]="
minDate
"
(
click
)="
dateOfBirth
.
toggle
();
$
event
.
stopPropagation
();"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-light btn-sm mr-1"
(
click
)="
onCloseModal
();"
>
Cancel
</button>
<button
type=
"submit"
[
disabled
]="
submitting
"
class=
"btn btn-primary btn-sm"
>
<span
*
ngIf=
"submitting"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait..
</span>
<span
*
ngIf=
"!submitting"
>
Submit
</span>
</button>
</div>
</form>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-light btn-sm mr-1"
(
click
)="
onCloseModal
();"
>
Cancel
</button>
<button
type=
"submit"
[
disabled
]="
submitting
"
class=
"btn btn-primary btn-sm"
>
<span
*
ngIf=
"submitting"
>
<span
class=
"spinner-border spinner-border-sm mr-1"
role=
"status"
aria-hidden=
"true"
></span>
Please wait..
</span>
<span
*
ngIf=
"!submitting"
>
Submit
</span>
</button>
</div>
</form>
</ng-template>
<ng-template
#
templateCubicle
>
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
><i
class=
"fe-box mr-1"
></i>
Select Room
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
<div
class=
"modal-body"
>
<div
*
ngIf=
"cubiclesLoading"
class=
"d-flex justify-content-center align-items-center"
>
<span
class=
"spinner-grow spinner-grow-lg"
></span>
please wait while
loading cubicles
<div
class=
"modal-header"
>
<h4
class=
"modal-title"
><i
class=
"fe-box mr-1"
></i>
Select Room
</h4>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
(
click
)="
onCloseModal
();"
>
×
</button>
</div>
<div
class=
"d-flex justify-content-center"
*
ngIf=
"page.userAccount.roleId !== 3 && !cubiclesLoading"
>
<div
class=
"form-group text-center"
>
<label
class=
"mb-1"
>
Select Consultant Doctor
</label>
<div
*
ngIf=
"settingService.selectedConsultantDoctor && !isAssigningDoctor"
>
<span
class=
"text-capitalize font-weight-bold mr-2"
[
textContent
]="
settingService
.
selectedConsultantDoctor
.
value
"
></span>
<span
(
click
)="
clearConsultantDoctor
(
select3
)"
class=
"cursor-pointer text-danger"
>
<i
class=
"mdi mdi-close"
></i>
</span>
</div>
<ng-container
*
ngIf=
"isAssigningDoctor"
>
<div
class=
"d-flex justify-contant-center align-items-center my-2"
>
<div
class=
"modal-body"
>
<div
*
ngIf=
"cubiclesLoading"
class=
"d-flex justify-content-center align-items-center"
>
<span
class=
"spinner-grow spinner-grow-lg"
></span>
please wait while
assigning/un assigning doctor
</div>
</ng-container>
<div
[
ngClass
]="{'
d-block
'
:
!
settingService
.
selectedConsultantDoctor
,
'
d-none
'
:
settingService
.
selectedConsultantDoctor
}"
>
<ng-select
[
items
]="
providers
|
async
"
#
select3
[
loading
]="
loadingProviders
"
bindLabel=
"value"
bindValue=
"id"
[
typeahead
]="
providersInput
"
typeToSearchText=
"Search provider"
[
virtualScroll
]="
true
"
placeholder=
"Enter provider name"
(
change
)="
onProviderChange
($
event
)"
class=
"cubible-search"
[(
ngModel
)]="
providerId
"
>
<ng-template
ng-notfound-tmp
let-searchTerm=
"searchTerm"
>
<div
class=
"ng-option disabled"
*
ngIf=
"searchTerm"
>
No provider found for '{{ searchTerm }}'
</div>
<div
class=
"ng-option disabled"
*
ngIf=
"!searchTerm"
>
Search consultant doctor
</div>
</ng-template>
<ng-template
ng-option-tmp
let-item=
"item"
let-i=
"index"
>
<div
class=
"media"
>
<div
class=
"avatar-xs mr-1"
>
<!--<img *ngIf="item.optionalText"
loading cubicles
</div>
<div
class=
"d-flex justify-content-center"
*
ngIf=
"page.userAccount.roleId !== 3 && !cubiclesLoading"
>
<div
class=
"form-group text-center"
>
<label
class=
"mb-1"
>
Select Consultant Doctor
</label>
<div
*
ngIf=
"settingService.selectedConsultantDoctor && !isAssigningDoctor"
>
<span
class=
"text-capitalize font-weight-bold mr-2"
[
textContent
]="
settingService
.
selectedConsultantDoctor
.
value
"
></span>
<span
(
click
)="
clearConsultantDoctor
(
select3
)"
class=
"cursor-pointer text-danger"
>
<i
class=
"mdi mdi-close"
></i>
</span>
</div>
<ng-container
*
ngIf=
"isAssigningDoctor"
>
<div
class=
"d-flex justify-contant-center align-items-center my-2"
>
<span
class=
"spinner-grow spinner-grow-lg"
></span>
please wait while
assigning/un assigning doctor
</div>
</ng-container>
<div
[
ngClass
]="{'
d-block
'
:
!
settingService
.
selectedConsultantDoctor
,
'
d-none
'
:
settingService
.
selectedConsultantDoctor
}"
>
<ng-select
[
items
]="
providers
|
async
"
#
select3
[
loading
]="
loadingProviders
"
bindLabel=
"value"
bindValue=
"id"
[
typeahead
]="
providersInput
"
typeToSearchText=
"Search provider"
[
virtualScroll
]="
true
"
placeholder=
"Enter provider name"
(
change
)="
onProviderChange
($
event
)"
class=
"cubible-search"
[(
ngModel
)]="
providerId
"
>
<ng-template
ng-notfound-tmp
let-searchTerm=
"searchTerm"
>
<div
class=
"ng-option disabled"
*
ngIf=
"searchTerm"
>
No provider found for '{{ searchTerm }}'
</div>
<div
class=
"ng-option disabled"
*
ngIf=
"!searchTerm"
>
Search consultant doctor
</div>
</ng-template>
<ng-template
ng-option-tmp
let-item=
"item"
let-i=
"index"
>
<div
class=
"media"
>
<div
class=
"avatar-xs mr-1"
>
<!--<img *ngIf="item.optionalText"
[src]="item.optionalText"
[alt]="item.value"
class="img-fluid rounded-circle" />-->
<span
*
ngIf=
"!item.optionalText"
class=
"avatar-title rounded-circle font-11 font-weight-bold text-white"
avatar-bg
[
index
]="
i
"
[
textContent
]="
item
.
value
|
initials
"
></span>
</div>
<div
class=
"media-body"
>
<h5
class=
"mb-0 mt-0 font-14 font-weight-normal"
[
textContent
]="
item
.
value
"
></h5>
<h6
class=
"mb-0 mt-0 font-15 font-weight-normal"
[
textContent
]="
item
.
optionalText2
"
></h6>
<h6
class=
"mb-0 mt-0 font-15 font-weight-normal"
[
textContent
]="
item
.
optionalText1
"
></h6>
</div>
</div>
</ng-template>
<ng-template
ng-label-tmp
let-item=
"item"
>
<div
class=
"media"
>
<div
class=
"avatar-xs mr-1"
>
<!--<img *ngIf="item.optionalText"
<span
*
ngIf=
"!item.optionalText"
class=
"avatar-title rounded-circle font-11 font-weight-bold text-white"
avatar-bg
[
index
]="
i
"
[
textContent
]="
item
.
value
|
initials
"
></span>
</div>
<div
class=
"media-body"
>
<h5
class=
"mb-0 mt-0 font-14 font-weight-normal"
[
textContent
]="
item
.
value
"
></h5>
<h6
class=
"mb-0 mt-0 font-15 font-weight-normal"
[
textContent
]="
item
.
optionalText2
"
></h6>
<h6
class=
"mb-0 mt-0 font-15 font-weight-normal"
[
textContent
]="
item
.
optionalText1
"
></h6>
</div>
</div>
</ng-template>
<ng-template
ng-label-tmp
let-item=
"item"
>
<div
class=
"media"
>
<div
class=
"avatar-xs mr-1"
>
<!--<img *ngIf="item.optionalText"
[src]="item.optionalText"
[alt]="item.value"
class="img-fluid rounded-circle" />-->
<span
*
ngIf=
"!item.optionalText"
class=
"avatar-title rounded-circle font-11 font-weight-bold bg-soft-primary text-primary"
[
textContent
]="
item
.
value
|
initials
"
></span>
<span
*
ngIf=
"!item.optionalText"
class=
"avatar-title rounded-circle font-11 font-weight-bold bg-soft-primary text-primary"
[
textContent
]="
item
.
value
|
initials
"
></span>
</div>
<div
class=
"media-body"
>
<h5
class=
"mb-0 mt-0 font-14 font-weight-normal"
[
textContent
]="
item
.
value
"
></h5>
</div>
</div>
</ng-template>
</ng-select>
</div>
<div
class=
"media-body"
>
<h5
class=
"mb-0 mt-0 font-14 font-weight-normal"
[
textContent
]="
item
.
value
"
></h5>
</div>
</div>
</ng-template>
</ng-select>
</div>
</div>
</div>
</div>
<div
*
ngIf=
"!cubiclesLoading"
class=
"table-responsive"
>
<table
class=
"table table-sm table-bordered table-striped"
>
<tbody>
<tr
*
ngIf=
"currentAssignedCubicles.length"
class=
"table-primary"
>
<th>
Assigned Room
</th>
<th
class=
"text-right"
>
Assigned To
</th>
<th
class=
"text-right"
>
Action
</th>
</tr>
<tr
*
ngFor=
"let item of currentAssignedCubicles"
>
<td
[
textContent
]="
item
.
name
"
></td>
<td
class=
"text-right"
[
textContent
]="
item
.
assignedName
"
></td>
<td
width=
"150"
class=
"text-right"
>
<button
class=
"btn btn-sm mb-0 btn-danger"
*
ngIf=
"(page.userAccount.roleId === 1 || page.userAccount.roleId === 5 || page.userAccount.roleId === 2 || page.userAccount.accountId === item.accountId) && !item.loading"
(
click
)="
onUnassign
(
item
)"
>
<i
class=
"mdi mdi-close mr-1"
></i>
<span
*
ngIf=
"!item.loading"
>
Remove
</span>
<span
*
ngIf=
"item.loading"
>
loading...
</span>
</button>
</td>
</tr>
<tr
*
ngIf=
"currentAssignedCubicles.length > 0"
>
<td
colspan=
"3"
>
<nav
class=
"d-flex align-items-center justify-content-between"
>
<p
class=
"mb-0 font-13"
></p>
<ngb-pagination
class=
"pagination justify-content-end"
[
maxSize
]="
5
"
[
rotate
]="
true
"
[
ellipses
]="
true
"
[(
page
)]="
assignedCubiclespagination
.
pageIndex
"
[
pageSize
]="
assignedCubiclespagination
.
pageSize
"
(
pageChange
)="
onAssignedPageChange
($
event
)"
[
collectionSize
]="
currentAssignedCubicles
.
length
"
>
<ng-template
ngbPaginationPrevious
><i
class=
"fe-arrow-left"
></i
></ng-template>
<ng-template
ngbPaginationNext
><i
class=
"fe-arrow-right"
></i
></ng-template>
</ngb-pagination>
</nav>
</td>
</tr>
<div
*
ngIf=
"!cubiclesLoading"
class=
"table-responsive"
>
<table
class=
"table table-sm table-bordered table-striped"
>
<tbody>
<tr
*
ngIf=
"currentAssignedCubicles.length"
class=
"table-primary"
>
<th>
Assigned Room
</th>
<th
class=
"text-right"
>
Assigned To
</th>
<th
class=
"text-right"
>
Action
</th>
</tr>
<tr
*
ngFor=
"let item of currentAssignedCubicles"
>
<td
[
textContent
]="
item
.
name
"
></td>
<td
class=
"text-right"
[
textContent
]="
item
.
assignedName
"
></td>
<td
width=
"150"
class=
"text-right"
>
<button
class=
"btn btn-sm mb-0 btn-danger"
*
ngIf=
"(page.userAccount.roleId === 1 || page.userAccount.roleId === 5 || page.userAccount.roleId === 2 || page.userAccount.accountId === item.accountId) && !item.loading"
(
click
)="
onUnassign
(
item
)"
>
<i
class=
"mdi mdi-close mr-1"
></i>
<span
*
ngIf=
"!item.loading"
>
Remove
</span>
<span
*
ngIf=
"item.loading"
>
loading...
</span>
</button>
</td>
</tr>
<tr
*
ngIf=
"currentAssignedCubicles.length > 0"
>
<td
colspan=
"3"
>
<nav
class=
"d-flex align-items-center justify-content-between"
>
<p
class=
"mb-0 font-13"
>
<tr
*
ngIf=
"currentUnAssignedCubicles.length"
class=
"table-primary"
>
<th
colspan=
"3"
>
<div
class=
"d-flex justify-content-between align-items-center"
>
<div>
Unassigned Rooms
</div>
<div>
<ng-select
class=
"ng-select-sm text-uppercase"
[
items
]="
unassignedCubicles
"
bindLabel=
"name"
bindValue=
"cubicleId"
autocomplete=
"nope"
(
change
)="
onUnAssignedCubicleSearch
($
event
)"
placeholder=
"Search unassigned cubilces"
>
<ng-template
ng-notfound-tmp
let-searchTerm=
"searchTerm"
>
<div
class=
"ng-option disabled"
>
No unassigned cubicles found for '{{searchTerm}}'
</div>
</ng-template>
</ng-select>
</div>
</div>
</th>
</tr>
<tr
*
ngFor=
"let item of currentUnAssignedCubicles"
>
<td
[
textContent
]="
item
.
name
"
></td>
<td
colspan=
"2"
class=
"text-right"
>
<button
class=
"btn btn-sm mb-0 btn-success"
(
click
)="
onAssign
(
item
)"
>
<i
class=
"mdi mdi-check mr-1"
></i>
<span
*
ngIf=
"!item.loading"
>
Select
</span>
<span
*
ngIf=
"item.loading"
>
loading...
</span>
</button>
</td>
</tr>
<tr
*
ngIf=
"currentUnAssignedCubicles.length > 0 && unAssignedCubiclespaginationFlag"
>
<td
colspan=
"3"
>
<nav
class=
"d-flex align-items-center justify-content-between"
>
<p
class=
"mb-0 font-13"
></p>
<ngb-pagination
class=
"pagination justify-content-end"
[
maxSize
]="
5
"
[
rotate
]="
false
"
[
ellipses
]="
false
"
[(
page
)]="
unAssignedCubiclespagination
.
pageIndex
"
[
pageSize
]="
unAssignedCubiclespagination
.
pageSize
"
(
pageChange
)="
onUnAssignedPageChange
($
event
)"
[
collectionSize
]="
unAssignedCubiclespagination
.
totalItems
"
>
<ng-template
ngbPaginationPrevious
><i
class=
"fe-arrow-left"
></i
></ng-template>
<ng-template
ngbPaginationNext
><i
class=
"fe-arrow-right"
></i
></ng-template>
</ngb-pagination>
</nav>
</td>
</tr>
</tbody>
</table>
</p>
<ngb-pagination
class=
"pagination justify-content-end"
[
maxSize
]="
5
"
[
rotate
]="
true
"
[
ellipses
]="
true
"
[(
page
)]="
assignedCubiclespagination
.
pageIndex
"
[
pageSize
]="
assignedCubiclespagination
.
pageSize
"
(
pageChange
)="
onAssignedPageChange
($
event
)"
[
collectionSize
]="
currentAssignedCubicles
.
length
"
>
<ng-template
ngbPaginationPrevious
><i
class=
"fe-arrow-left"
></i></ng-template>
<ng-template
ngbPaginationNext
><i
class=
"fe-arrow-right"
></i></ng-template>
</ngb-pagination>
</nav>
</td>
</tr>
<tr
*
ngIf=
"currentUnAssignedCubicles.length"
class=
"table-primary"
>
<th
colspan=
"3"
>
<div
class=
"d-flex justify-content-between align-items-center"
>
<div>
Unassigned Rooms
</div>
<div>
<ng-select
class=
"ng-select-sm text-uppercase"
[
items
]="
unassignedCubicles
"
bindLabel=
"name"
bindValue=
"cubicleId"
autocomplete=
"nope"
(
change
)="
onUnAssignedCubicleSearch
($
event
)"
placeholder=
"Search unassigned cubilces"
>
<ng-template
ng-notfound-tmp
let-searchTerm=
"searchTerm"
>
<div
class=
"ng-option disabled"
>
No unassigned cubicles found for '{{searchTerm}}'
</div>
</ng-template>
</ng-select>
</div>
</div>
</th>
</tr>
<tr
*
ngFor=
"let item of currentUnAssignedCubicles"
>
<td
[
textContent
]="
item
.
name
"
></td>
<td
colspan=
"2"
class=
"text-right"
>
<button
class=
"btn btn-sm mb-0 btn-success"
(
click
)="
onAssign
(
item
)"
>
<i
class=
"mdi mdi-check mr-1"
></i>
<span
*
ngIf=
"!item.loading"
>
Select
</span>
<span
*
ngIf=
"item.loading"
>
loading...
</span>
</button>
</td>
</tr>
<tr
*
ngIf=
"currentUnAssignedCubicles.length > 0 && unAssignedCubiclespaginationFlag"
>
<td
colspan=
"3"
>
<nav
class=
"d-flex align-items-center justify-content-between"
>
<p
class=
"mb-0 font-13"
>
</p>
<ngb-pagination
class=
"pagination justify-content-end"
[
maxSize
]="
5
"
[
rotate
]="
false
"
[
ellipses
]="
false
"
[(
page
)]="
unAssignedCubiclespagination
.
pageIndex
"
[
pageSize
]="
unAssignedCubiclespagination
.
pageSize
"
(
pageChange
)="
onUnAssignedPageChange
($
event
)"
[
collectionSize
]="
unAssignedCubiclespagination
.
totalItems
"
>
<ng-template
ngbPaginationPrevious
><i
class=
"fe-arrow-left"
></i></ng-template>
<ng-template
ngbPaginationNext
><i
class=
"fe-arrow-right"
></i></ng-template>
</ngb-pagination>
</nav>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-light btn-sm mr-1"
(
click
)="
onCloseModal
();"
>
Close
</button>
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-light btn-sm mr-1"
(
click
)="
onCloseModal
();"
>
Close
</button>
</div>
</ng-template>
Presentation/Hims.Admin/src/index.html
View file @
b86c5d4f
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"utf-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta
name=
"description"
content=
"Careaxes"
/>
<meta
name=
"author"
content=
"Careaxes"
/>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, shrink-to-fit=no"
>
<meta
name=
"description"
content=
"Careaxes"
>
<meta
name=
"author"
content=
"Careaxes"
>
<title>
Careaxes
</title>
<base
href=
"/"
/>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"assets/images/favicon.png"
/>
<base
href=
"/"
>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"assets/images/favicon.png"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"assets/fonts/style.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"assets/css/bootstrap.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"assets/css/toastr.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"assets/css/app.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"assets/css/custom.css"
/>
</head>
</head>
<body
data-layout-mode=
"two-column"
data-sidebar-size=
"condensed"
data-sidebar-color=
"light"
data-layout-width=
"fluid"
data-layout-menu-position=
"fixed"
data-sidebar-showuser=
"false"
data-topbar-color=
"light"
>
<body
data-layout-mode=
"two-column"
data-sidebar-size=
"condensed"
data-sidebar-color=
"light"
data-layout-width=
"fluid"
data-layout-menu-position=
"fixed"
data-sidebar-showuser=
"false"
data-topbar-color=
"light"
onmousemove=
"showCoords(event)"
onclick=
"sidebarEnable1(event); leave1(event); show(event);"
onresize=
"hide(event);"
>
<app-root></app-root>
</body>
</html>
</body>
</html>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment