diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java index 261de461..1b1772d6 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java @@ -163,9 +163,10 @@ public ResponseEntity> getAllBookStockSearch( @RequestParam(defaultValue = "") String keyword, @RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "10") Integer pageSize, - @RequestParam(defaultValue = "id") String sortBy) { + @RequestParam(defaultValue = "books_id") String sortBy, + @RequestParam(defaultValue = "-1") Integer direction) { System.out.println("paage size" + pageSize); - Page list = service.getAllBookStocks(keyword, pageNo - 1, pageSize, sortBy); + Page list = service.getAllBookStocks(keyword, pageNo - 1, pageSize, sortBy,direction); return new ResponseEntity>(list, new HttpHeaders(), HttpStatus.OK); diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java index 7f4373b6..efba1b80 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java @@ -38,7 +38,7 @@ public interface BooksService { List getBookCountByCategory(); - PagegetAllBookStocks(String keyword, Integer pageNo,Integer pageSize,String sortBy); + PagegetAllBookStocks(String keyword, Integer pageNo,Integer pageSize,String sortBy,Integer direction); } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java index 50a8d175..e04cf32f 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java @@ -147,14 +147,34 @@ public List getBookCountByCategory() { //book search @Override - public Page getAllBookStocks(String keyword, Integer pageNo, Integer pageSize, String sortBy) { - Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy)); - System.out.println(keyword); + public Page getAllBookStocks(String keyword, Integer pageNo, Integer pageSize, String sortBy,Integer direction) { + + var sortByDescending=Sort.by(sortBy).descending(); + var sortByAscending=Sort.by(sortBy).ascending(); + + if(direction==1){ + + Pageable paging = PageRequest.of(pageNo, pageSize, sortByDescending); + System.out.println(keyword); String k = keyword; String k1 = keyword; String k2 = keyword; Page pagedResult = booksRepository.findByKeywords(keyword, k, k1, k2, paging); return pagedResult; + } + + else + { + Pageable paging = PageRequest.of(pageNo, pageSize, sortByAscending); + System.out.println(keyword); + String k = keyword; + String k1 = keyword; + String k2 = keyword; + Page pagedResult = booksRepository.findByKeywords(keyword, k, k1, k2, paging); + return pagedResult; + } + + } diff --git a/FrontEnd/Library/src/app/addbooks/addbooks.component.css b/FrontEnd/Library/src/app/addbooks/addbooks.component.css index 65635de2..7b9d767e 100644 --- a/FrontEnd/Library/src/app/addbooks/addbooks.component.css +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.css @@ -8,6 +8,7 @@ width: 80%; border: none; text-align: center; + height: 100px; } th { @@ -22,4 +23,131 @@ } .form-control{ width: fit-content; - } \ No newline at end of file + } + + + + + +@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css); +@import url(https://fonts.googleapis.com/css?family=Titillium+Web:300); +.fa-2x { + font-size: 2em; + } + .fa { + position: relative; + display: table-cell; + width: 60px; + height: 36px; + text-align: center; + vertical-align: middle; + font-size:20px; + } + + .main-menu { + background:#446cb3; + margin: 0%; + + border-right:0px solid #030303; + position:absolute; + top:0; + bottom:0; + height: 770px; + overflow: hidden; + + left:0; + width:220px; + overflow:-moz-hidden-unscrollable; + -webkit-transition:width .05s linear; + transition:width .05s linear; + -webkit-transform:translateZ(0) scale(1,1); + z-index:1000; + } + + .main-menu>ul { + margin:7px 0; + } + body{height: 0vh; + background-color: #030303; + } + .main-menu li { + position:relative; + display:block; + width:250px; + } + + .main-menu li>a { + position:relative; + display:table; + border-collapse:collapse; + border-spacing:0; + color:rgb(237, 248, 244); + font-family: arial; + font-size: 14px; + text-decoration:none; + -webkit-transform:translateZ(0) scale(1,1); + -webkit-transition:all .1s linear; + transition:all .1s linear; + } + + .main-menu .nav-icon { + position:relative; + display:table-cell; + width:60px; + height:36px; + text-align:center; + vertical-align:middle; + font-size:18px; + } + + .main-menu .nav-text { + position:relative; + display:table-cell; + vertical-align:middle; + width:190px; + font-family: 'Titillium Web', sans-serif; + } + + .main-menu>ul.logout { + position:absolute; + left:0; + bottom:0; + } + + .no-touch .scrollable.hover { + overflow-y:hidden; + } + + .no-touch .scrollable.hover:hover { + overflow-y:auto; + overflow:visible; + } + + a:hover,a:focus { + text-decoration:none; + } + + nav { + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + -o-user-select:none; + user-select:none; + } + + nav ul,nav li { + outline:0; + margin:0; + padding:0; + } + .main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a { + color:rgb(243, 234, 234); + background-color:#565985; + } + @font-face { + font-family: 'Titillium Web'; + font-style: normal; + font-weight: 300; + src: local('Titillium WebLight'), local('TitilliumWeb-Light'), url(http://themes.googleusercontent.com/static/fonts/titilliumweb/v2/anMUvcNT0H1YN4FII8wpr24bNCNEoFTpS2BTjF6FB5E.woff) format('woff'); + } + \ No newline at end of file diff --git a/FrontEnd/Library/src/app/addbooks/addbooks.component.html b/FrontEnd/Library/src/app/addbooks/addbooks.component.html index d4dc59bd..5a1a3787 100644 --- a/FrontEnd/Library/src/app/addbooks/addbooks.component.html +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.html @@ -1,31 +1,100 @@ - - -

-
+ + + + + +
+ + +

+


- - +
-
- - +
+ +
- +
+ - + + + + + + + + + + + + + @@ -87,4 +183,6 @@
-
\ No newline at end of file + + + \ No newline at end of file diff --git a/FrontEnd/Library/src/app/addbooks/addbooks.component.ts b/FrontEnd/Library/src/app/addbooks/addbooks.component.ts index fb741cfc..2b0b2549 100644 --- a/FrontEnd/Library/src/app/addbooks/addbooks.component.ts +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.ts @@ -32,7 +32,7 @@ export class AddbooksComponent implements OnInit { data: any; page:number=1; count: any; -tableSize: number = 5; +tableSize: number = 3; ProdData: any; sortedData: any; a:any; @@ -68,7 +68,7 @@ currentFile?: File; search1(key:any){ console.log("before api=",key); - this.booksService.search(key,this.page,this.tableSize,this.sort).subscribe(response=>{ + this.booksService.search(key,this.page,this.tableSize,this.sort,this.direction).subscribe(response=>{ this.result=response.content; console.log("searchRslt=",this.result); this.data=this.result; @@ -94,9 +94,10 @@ Load() { sortfn(a:any){ this.sort=a; - this.page=this.page; - this.tableSize; + // this.page=this.page; + // this.tableSize; + if(this.pkey==null){ if(this.direction==1){ this.direction=-1; console.log("from desc to :",this.direction) @@ -108,11 +109,26 @@ sortfn(a:any){ console.log("from asc to desc",this.direction) this.ngOnInit(); } +} +else{ + if(this.direction==1){ + this.direction=-1; + console.log("from desc to :",this.direction) + this.search1(this.search.controls['inp'].value); + } + + else{ + this.direction=1; + console.log("from asc to desc",this.direction) + this.search1(this.search.controls['inp'].value); + } + +} } onTableDataChange(event:any) { - this.pkey==this.search.controls['inp'].value; + // this.pkey==this.search.controls['inp'].value; console.log("p-",this.pkey) if(this.pkey==null){ console.log("page=",event) @@ -128,7 +144,7 @@ onTableDataChange(event:any) { // this.pkey==this.search.controls['inp'].value; console.log("page=",event) console.log("pkey in page=",this.pkey) - this.booksService.search(this.pkey,this.page,this.tableSize,this.sort).subscribe(result=>{ + this.booksService.search(this.pkey,this.page,this.tableSize,this.sort,this.direction).subscribe(result=>{ this.result=result.content; this.count=result.totalElements console.log("loaded books=",this.result); diff --git a/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.css b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.css new file mode 100644 index 00000000..3c43e176 --- /dev/null +++ b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.css @@ -0,0 +1,238 @@ + + body, html { + /* fixed */ + position: relative; + margin: 0; + /* font-family: arial; */ + height: 0vh; + background: #ccc; + } + *, *:before, *:after { + box-sizing: border-box; + } + .nav-mobile { + /* position: fixed; */ + background: #446cb3; + /* background: #9f3800; */ + color: #fff; + padding: 0; + margin: 0; + cursor: auto; + font-size: 18px; + list-style-type: none; + box-shadow: 0 5px 5px -5px #333; + } + .nav-mobile:after { + content: ""; + display: table; + clear: both; + } + + + .nav-mobile li { + width: 100%; + height: 45px; + line-height: 46px; + text-align: center; + float: left; + } + .nav-mobile li a { + display: block; + color: #333; + width: 100%; + height: 100%; + text-decoration: none; + } + /* .nav-mobile .menu-button { */ + + /* absolute */ + /* position: relative; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + cursor: pointer; + display: block; + } + .nav-mobile .menu-button:after { + opacity: 0; + top: 45px; + content: ""; + width: 100vw; + display: block; */ + /* fixed + position: relative; + height: 100vh; + background: rgba(0, 0, 0, 0.5); + content: ""; + pointer-events: none; + transition: opacity 0.2s cubic-bezier(0, 0, 0.3, 1); + transition-delay: 0.1s; + } + .nav-mobile #menu-toggle { + display: none; + } + .nav-mobile #menu-toggle.active ~ .menu-button .icon-close, .nav-mobile #menu-toggle:checked ~ .menu-button .icon-close { + display: block; + } + .nav-mobile #menu-toggle.active ~ .menu-button .icon-open, .nav-mobile #menu-toggle:checked ~ .menu-button .icon-open { + display: none; + } + .nav-mobile #menu-toggle.active ~ .menu-button:after, .nav-mobile #menu-toggle:checked ~ .menu-button:after { + opacity: 1; + pointer-events: auto; + transition: opacity 0.3s cubic-bezier(0, 0, 0.3, 1); + } + .nav-mobile #menu-toggle.active ~ .menu-sidebar, .nav-mobile #menu-toggle:checked ~ .menu-sidebar { + transform: translateX(0); + transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1); + } + .nav-mobile .menu-container { + width: 65px; + float: left; + cursor: pointer; */ + /* absolute */ + /* position: absolute; + + } + .nav-mobile .menu-container .menu-sidebar { + box-shadow: 5px 0 5px -5px #333; + display: block; + width: 65vw; + bottom: 0; + background: white; + color: #333; + */ + /* fixed */ + /* position: fixed; + transform: translateX(-405px); + transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1); + top: 45px; + z-index: 2; + list-style-type: none; + padding: 0; + max-width: 250px; + } + .nav-mobile .menu-container .menu-sidebar .arrow { */ + /* absolute */ + /* position: absolute; + line-height: 50px; + font-size: 32px; + color: #555; + top: 0; + z-index: 0; + } + .nav-mobile .menu-container .menu-sidebar .arrow.left { + left: 25px; + } + .nav-mobile .menu-container .menu-sidebar .arrow.right { + right: 25px; + } + .nav-mobile .menu-container .menu-sidebar li { + height: 55px; + line-height: 55px; + font-size: 16px; + text-align: left; + position: relative; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 20px; + } + .nav-mobile .menu-container .menu-sidebar li:hover { + background: rgb(244, 244, 247); + } + .nav-mobile .menu-container .menu-sidebar li .menu-sub { */ + /* fixed */ + /* position: relative; + top: 0; + right: 0; + bottom: 0; + width: 0; + overflow: hidden; + background: rgb(248, 248, 250); + visibility: hidden; + transition: all 0.3s cubic-bezier(0, 0, 0.3, 1); + border-left: 1px solid #ccc; + list-style-type: none; + padding: 0; + margin: 0; + z-index: 2; + max-width: 250px; */ + /* width side */ + /* } + .nav-mobile .menu-container .menu-sidebar li .menu-sub li { + overflow: hidden; + } + .nav-mobile .menu-container .menu-sidebar li .menu-sub .menu-sub-title { + padding-left: 50px; + } + .nav-mobile .menu-container .menu-sidebar li .submenu-label { + cursor: pointer; + width: 100%; + height: 100%; + display: block; + } + .nav-mobile .menu-container .menu-sidebar li .submenu-toggle { + display: none; + } + .nav-mobile .menu-container .menu-sidebar li .submenu-toggle.active ~ .menu-sub, .nav-mobile .menu-container .menu-sidebar li .submenu-toggle:checked ~ .menu-sub { + width: 65vw; + visibility: visible; + z-index: 1; + transition: width 0.35s cubic-bezier(0, 0, 0.3, 1); + } + + .alert { + padding: 20px; + background-color: #3b9438; + color: white; + } + + .closebtn { + margin-left: 15px; + color: white; + font-weight: bold; + float: right; + font-size: 22px; + line-height: 20px; + cursor: pointer; + transition: 0.3s; + } + + .closebtn:hover { + color: black; + } + .btnItem1{ + border: none; + padding: 0; + background: none; + font-size: 18px; + font-style: normal ; + color: rgba(238, 248, 248, 0.73); + } + + + + nav.menu-sidebar{ + z-index: 9; + } + .menu-sidebar{ + z-index: 9; + } + + .nav-mobile{ + display: block; + } + */ + + + + /* edited */ +/* + .menu-sidebar{ + + display: block !important; + + } */ +/* + */ diff --git a/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.html b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.html new file mode 100644 index 00000000..b2cf9aad --- /dev/null +++ b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.html @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.spec.ts b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.spec.ts new file mode 100644 index 00000000..af16d689 --- /dev/null +++ b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AdminNavbarComponent } from './admin-navbar.component'; + +describe('AdminNavbarComponent', () => { + let component: AdminNavbarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ AdminNavbarComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(AdminNavbarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.ts b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.ts new file mode 100644 index 00000000..a9e9ee0d --- /dev/null +++ b/FrontEnd/Library/src/app/admin-navbar/admin-navbar.component.ts @@ -0,0 +1,34 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-admin-navbar', + templateUrl: './admin-navbar.component.html', + styleUrls: ['./admin-navbar.component.css'] +}) +export class AdminNavbarComponent implements OnInit { + + + constructor(private router:Router) { } + + ngOnInit(): void { + this.dash(); + } + + profile() { + throw new Error('Method not implemented.'); + } + logout() { + if (confirm('Are you sure want to Logout?')) { + localStorage. clear() + this.router.navigate(['/login']) + } else { + + this.router.navigate(['/sidenav']) + } + } + dash() { + throw new Error('Method not implemented.'); + } + +} diff --git a/FrontEnd/Library/src/app/app-routing.module.ts b/FrontEnd/Library/src/app/app-routing.module.ts index e527bd9d..eb61dfab 100644 --- a/FrontEnd/Library/src/app/app-routing.module.ts +++ b/FrontEnd/Library/src/app/app-routing.module.ts @@ -30,6 +30,7 @@ import { BorrowDetailViewComponent } from './borrow-detail-view/borrow-detail-vi import { ForgotpasswordComponent } from './forgotpassword/forgotpassword.component'; import { Sidenav2Component } from './sidenav2/sidenav2.component'; import { Navbar2Component } from './navbar2/navbar2.component'; +import { AdminNavbarComponent } from './admin-navbar/admin-navbar.component'; const routes: Routes = [ {path: '',redirectTo:'login',pathMatch:'full'}, @@ -60,7 +61,9 @@ const routes: Routes = [ {path:'borrow-detail-view',component:BorrowDetailViewComponent}, {path:'forgotpassword',component:ForgotpasswordComponent}, {path:'sidenav2',component:Sidenav2Component,canActivate: [HomeguardGuard]}, - {path:'navbar2',component:Navbar2Component,canActivate: [HomeguardGuard]} + {path:'navbar2',component:Navbar2Component,canActivate: [HomeguardGuard]}, + {path:'sidenav2',component:Sidenav2Component,canActivate: [HomeguardGuard]}, + {path:'admin-navbar',component:AdminNavbarComponent,canActivate: [HomeguardGuard]} ]; @NgModule({ diff --git a/FrontEnd/Library/src/app/app.module.ts b/FrontEnd/Library/src/app/app.module.ts index 4cc3db4f..30604399 100644 --- a/FrontEnd/Library/src/app/app.module.ts +++ b/FrontEnd/Library/src/app/app.module.ts @@ -56,6 +56,7 @@ import { ForgotpasswordComponent } from './forgotpassword/forgotpassword.compone import {Chart} from 'chart.js'; import { Sidenav2Component } from './sidenav2/sidenav2.component'; import { Navbar2Component } from './navbar2/navbar2.component'; +import { AdminNavbarComponent } from './admin-navbar/admin-navbar.component'; // import {MatIconModule} from '@angular/material/icon'; // import { MatToolbarModule } from '@angular/material'; @@ -95,6 +96,7 @@ import { Navbar2Component } from './navbar2/navbar2.component'; ForgotpasswordComponent, Sidenav2Component, Navbar2Component, + AdminNavbarComponent, // Chart // ModalComponent diff --git a/FrontEnd/Library/src/app/body/body.component.html b/FrontEnd/Library/src/app/body/body.component.html index c36633f7..74756449 100644 --- a/FrontEnd/Library/src/app/body/body.component.html +++ b/FrontEnd/Library/src/app/body/body.component.html @@ -1,19 +1,23 @@ + + -
-
-

BOOKS BY CATEGORY

+
+
+

BOOKS BY CATEGORY

{{mychart}}
-
+ +

ISSUE AND RETURNED CHART

{{bar}}
+
\ No newline at end of file diff --git a/FrontEnd/Library/src/app/books.service.ts b/FrontEnd/Library/src/app/books.service.ts index c64c04e2..66bff396 100644 --- a/FrontEnd/Library/src/app/books.service.ts +++ b/FrontEnd/Library/src/app/books.service.ts @@ -26,9 +26,9 @@ handleError(err: HttpErrorResponse): any { ////////////////////////////////////////////// - search(key: any, pageno: any, pagesize: any, sortby: any): Observable { + search(key: any, pageno: any, pagesize: any, sortby: any,direction:any): Observable { console.log('+++++++++++', key) - return this.http.get('http://localhost:8080/books/admin/searchBooks/?keyword=' + key + '&pageNo=' + pageno + '&pageSize=' + pagesize + '&sortBy=' + sortby) + return this.http.get('http://localhost:8080/books/admin/searchBooks/?keyword=' + key + '&pageNo=' + pageno + '&pageSize=' + pagesize + '&sortBy=' + sortby+"&direction="+direction) } diff --git a/FrontEnd/Library/src/app/demo/demo.component.css b/FrontEnd/Library/src/app/demo/demo.component.css index da1b43dc..c2552ce8 100644 --- a/FrontEnd/Library/src/app/demo/demo.component.css +++ b/FrontEnd/Library/src/app/demo/demo.component.css @@ -54,4 +54,15 @@ /* list-style-type: none; */ box-shadow: 0 5px 5px -5px #333; position:fixed; -} \ No newline at end of file +} + +@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css); +body, html { + height: 100%; +} + +@media (min-width: 768px) { + aside { + height: 100%; + } +} diff --git a/FrontEnd/Library/src/app/demo/demo.component.html b/FrontEnd/Library/src/app/demo/demo.component.html index f157ebcf..d581869b 100644 --- a/FrontEnd/Library/src/app/demo/demo.component.html +++ b/FrontEnd/Library/src/app/demo/demo.component.html @@ -1,16 +1,57 @@ - --> + + +
+
+ + +
\ No newline at end of file diff --git a/FrontEnd/Library/src/app/fine/fine.component.css b/FrontEnd/Library/src/app/fine/fine.component.css index 1342bfca..d1d6ed8d 100644 --- a/FrontEnd/Library/src/app/fine/fine.component.css +++ b/FrontEnd/Library/src/app/fine/fine.component.css @@ -29,4 +29,128 @@ table{ /* edited */ .text-center{ display: block; - } \ No newline at end of file + } + + + + + + +@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css); +@import url(https://fonts.googleapis.com/css?family=Titillium+Web:300); +.fa-2x { + font-size: 2em; + } + .fa { + position: relative; + display: table-cell; + width: 60px; + height: 36px; + text-align: center; + vertical-align: middle; + font-size:20px; + } + + .main-menu { + background:#446cb3; + border-right:0px solid #030303; + position:absolute; + top:0; + bottom:0; + height:100%; + left:0; + width:220px; + overflow:auto; + -webkit-transition:width .05s linear; + transition:width .05s linear; + -webkit-transform:translateZ(0) scale(1,1); + z-index:1000; + } + + .main-menu>ul { + margin:7px 0; + } + body{height: 0vh; + background-color: #030303; + } + .main-menu li { + position:relative; + display:block; + width:250px; + } + + .main-menu li>a { + position:relative; + display:table; + border-collapse:collapse; + border-spacing:0; + color:rgb(237, 248, 244); + font-family: arial; + font-size: 14px; + text-decoration:none; + -webkit-transform:translateZ(0) scale(1,1); + -webkit-transition:all .1s linear; + transition:all .1s linear; + } + + .main-menu .nav-icon { + position:relative; + display:table-cell; + width:60px; + height:36px; + text-align:center; + vertical-align:middle; + font-size:18px; + } + + .main-menu .nav-text { + position:relative; + display:table-cell; + vertical-align:middle; + width:190px; + font-family: 'Titillium Web', sans-serif; + } + + .main-menu>ul.logout { + position:absolute; + left:0; + bottom:0; + } + + .no-touch .scrollable.hover { + overflow-y:hidden; + } + + .no-touch .scrollable.hover:hover { + overflow-y:auto; + overflow:visible; + } + + a:hover,a:focus { + text-decoration:none; + } + + nav { + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + -o-user-select:none; + user-select:none; + } + + nav ul,nav li { + outline:0; + margin:0; + padding:0; + } + .main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a { + color:rgb(243, 234, 234); + background-color:#565985; + } + @font-face { + font-family: 'Titillium Web'; + font-style: normal; + font-weight: 300; + src: local('Titillium WebLight'), local('TitilliumWeb-Light'), url(http://themes.googleusercontent.com/static/fonts/titilliumweb/v2/anMUvcNT0H1YN4FII8wpr24bNCNEoFTpS2BTjF6FB5E.woff) format('woff'); + } + \ No newline at end of file diff --git a/FrontEnd/Library/src/app/fine/fine.component.html b/FrontEnd/Library/src/app/fine/fine.component.html index 58a9417f..629c3ec8 100644 --- a/FrontEnd/Library/src/app/fine/fine.component.html +++ b/FrontEnd/Library/src/app/fine/fine.component.html @@ -1,6 +1,79 @@ - + + + + + +
+ + + - +
diff --git a/FrontEnd/Library/src/app/sidenav/sidenav.component.css b/FrontEnd/Library/src/app/sidenav/sidenav.component.css index 799ba7cb..016f153d 100644 --- a/FrontEnd/Library/src/app/sidenav/sidenav.component.css +++ b/FrontEnd/Library/src/app/sidenav/sidenav.component.css @@ -1,245 +1,120 @@ -body, html { -/* fixed */ - position: relative; - margin: 0; - font-family: arial; - height: 0vh; - background: #ccc; - } - *, *:before, *:after { - box-sizing: border-box; - } - .nav-mobile { - /* position: fixed; */ - background: #446cb3; - /* background: #9f3800; */ - color: #fff; - padding: 0; - margin: 0; - cursor: auto; - font-size: 18px; - list-style-type: none; - box-shadow: 0 5px 5px -5px #333; - } - .nav-mobile:after { - content: ""; - display: table; - clear: both; - } - .nav-mobile svg { - height: 45px; - width: 65px; - padding: 9px; - } - .nav-mobile svg path { - fill: #fff; - } - .nav-mobile svg.icon-close { - display: none; - padding: 15px; - } - .nav-mobile li { - width: 100%; - height: 45px; - line-height: 46px; - text-align: center; - float: left; - } - .nav-mobile li a { - display: block; - color: #333; - width: 100%; - height: 100%; - text-decoration: none; - } - .nav-mobile .menu-button { - /* absolute */ - position: relative; - top: 0; - left: 0; - width: 100%; - height: 100%; - margin: 0; - cursor: pointer; - display: block; - } - .nav-mobile .menu-button:after { - opacity: 0; - top: 45px; - content: ""; - width: 100vw; - display: block; - /* fixed */ - position: relative; - height: 100vh; - background: rgba(0, 0, 0, 0.5); - content: ""; - pointer-events: none; - transition: opacity 0.2s cubic-bezier(0, 0, 0.3, 1); - transition-delay: 0.1s; - } - .nav-mobile #menu-toggle { - display: none; - } - .nav-mobile #menu-toggle.active ~ .menu-button .icon-close, .nav-mobile #menu-toggle:checked ~ .menu-button .icon-close { - display: block; - } - .nav-mobile #menu-toggle.active ~ .menu-button .icon-open, .nav-mobile #menu-toggle:checked ~ .menu-button .icon-open { - display: none; - } - .nav-mobile #menu-toggle.active ~ .menu-button:after, .nav-mobile #menu-toggle:checked ~ .menu-button:after { - opacity: 1; - pointer-events: auto; - transition: opacity 0.3s cubic-bezier(0, 0, 0.3, 1); - } - .nav-mobile #menu-toggle.active ~ .menu-sidebar, .nav-mobile #menu-toggle:checked ~ .menu-sidebar { - transform: translateX(0); - transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1); - } - .nav-mobile .menu-container { - width: 65px; - float: left; - cursor: pointer; - /* absolute */ - position: absolute; - - } - .nav-mobile .menu-container .menu-sidebar { - box-shadow: 5px 0 5px -5px #333; - display: block; - width: 65vw; - bottom: 0; - background: white; - color: #333; - /* fixed */ - position: fixed; - transform: translateX(-405px); - transition: transform 0.3s cubic-bezier(0, 0, 0.3, 1); - top: 45px; - z-index: 2; - list-style-type: none; - padding: 0; - max-width: 250px; - } - .nav-mobile .menu-container .menu-sidebar .arrow { - /* absolute */ - position: absolute; - line-height: 50px; - font-size: 32px; - color: #555; - top: 0; - z-index: 0; - } - .nav-mobile .menu-container .menu-sidebar .arrow.left { - left: 25px; - } - .nav-mobile .menu-container .menu-sidebar .arrow.right { - right: 25px; - } - .nav-mobile .menu-container .menu-sidebar li { - height: 55px; - line-height: 55px; - font-size: 16px; - text-align: left; - position: relative; - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - padding-left: 20px; - } - .nav-mobile .menu-container .menu-sidebar li:hover { - background: rgb(244, 244, 247); - } - .nav-mobile .menu-container .menu-sidebar li .menu-sub { - /* fixed */ - position: relative; - top: 0; - right: 0; - bottom: 0; - width: 0; - overflow: hidden; - background: rgb(248, 248, 250); - visibility: hidden; - transition: all 0.3s cubic-bezier(0, 0, 0.3, 1); - border-left: 1px solid #ccc; - list-style-type: none; - padding: 0; - margin: 0; - z-index: 2; - max-width: 250px; - /* width side */ - } - .nav-mobile .menu-container .menu-sidebar li .menu-sub li { - overflow: hidden; - } - .nav-mobile .menu-container .menu-sidebar li .menu-sub .menu-sub-title { - padding-left: 50px; - } - .nav-mobile .menu-container .menu-sidebar li .submenu-label { - cursor: pointer; - width: 100%; - height: 100%; - display: block; - } - .nav-mobile .menu-container .menu-sidebar li .submenu-toggle { - display: none; - } - .nav-mobile .menu-container .menu-sidebar li .submenu-toggle.active ~ .menu-sub, .nav-mobile .menu-container .menu-sidebar li .submenu-toggle:checked ~ .menu-sub { - width: 65vw; - visibility: visible; - z-index: 1; - transition: width 0.35s cubic-bezier(0, 0, 0.3, 1); +@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css); +@import url(https://fonts.googleapis.com/css?family=Titillium+Web:300); +.fa-2x { + font-size: 2em; + } + .fa { + position: relative; + display: table-cell; + width: 60px; + height: 36px; + text-align: center; + vertical-align: middle; + font-size:20px; } - .alert { - padding: 20px; - background-color: #3b9438; - color: white; + .main-menu { + background:#446cb3; + border-right:0px solid #030303; + position:fixed; + top:0; + bottom:0; + height:100%; + left:0; + width:220px; + overflow:auto; + -webkit-transition:width .05s linear; + transition:width .05s linear; + -webkit-transform:translateZ(0) scale(1,1); + z-index:1000; } - .closebtn { - margin-left: 15px; - color: white; - font-weight: bold; - float: right; - font-size: 22px; - line-height: 20px; - cursor: pointer; - transition: 0.3s; + .main-menu>ul { + margin:7px 0; + } + body{height: 0vh; + background-color: #030303; + } + .main-menu li { + position:relative; + display:block; + width:250px; } - .closebtn:hover { - color: black; - } - .btnItem1{ - border: none; - padding: 0; - background: none; - font-size: 18px; - font-style: normal ; - color: rgba(238, 248, 248, 0.73); -} - - - -nav.menu-sidebar{ - z-index: 9; -} -.menu-sidebar{ - z-index: 9; -} - -.nav-mobile{ -display: block; -} - - - - -/* edited */ - -.menu-sidebar{ - - display: block !important; - -} \ No newline at end of file + .main-menu li>a { + position:relative; + display:table; + border-collapse:collapse; + border-spacing:0; + color:rgb(237, 248, 244); + font-family: arial; + font-size: 14px; + text-decoration:none; + -webkit-transform:translateZ(0) scale(1,1); + -webkit-transition:all .1s linear; + transition:all .1s linear; + } + + .main-menu .nav-icon { + position:relative; + display:table-cell; + width:60px; + height:36px; + text-align:center; + vertical-align:middle; + font-size:18px; + } + + .main-menu .nav-text { + position:relative; + display:table-cell; + vertical-align:middle; + width:190px; + font-family: 'Titillium Web', sans-serif; + } + + .main-menu>ul.logout { + position:absolute; + left:0; + bottom:0; + } + + .no-touch .scrollable.hover { + overflow-y:hidden; + } + + .no-touch .scrollable.hover:hover { + overflow-y:auto; + overflow:visible; + } + + a:hover,a:focus { + text-decoration:none; + } + + nav { + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + -o-user-select:none; + user-select:none; + } + + nav ul,nav li { + outline:0; + margin:0; + padding:0; + } + .main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a { + color:rgb(243, 234, 234); + background-color:#565985; + } + @font-face { + font-family: 'Titillium Web'; + font-style: normal; + font-weight: 300; + src: local('Titillium WebLight'), local('TitilliumWeb-Light'), url(http://themes.googleusercontent.com/static/fonts/titilliumweb/v2/anMUvcNT0H1YN4FII8wpr24bNCNEoFTpS2BTjF6FB5E.woff) format('woff'); + } + \ No newline at end of file diff --git a/FrontEnd/Library/src/app/sidenav/sidenav.component.html b/FrontEnd/Library/src/app/sidenav/sidenav.component.html index 4bb4ec81..027744c0 100644 --- a/FrontEnd/Library/src/app/sidenav/sidenav.component.html +++ b/FrontEnd/Library/src/app/sidenav/sidenav.component.html @@ -1,84 +1,67 @@ + + - - - - - - + \ No newline at end of file diff --git a/FrontEnd/iprjt/src/assets/BooksImage/item_pics/aadu.jpeg b/FrontEnd/iprjt/src/assets/BooksImage/item_pics/aadu.jpeg new file mode 100644 index 00000000..3b1fa90b Binary files /dev/null and b/FrontEnd/iprjt/src/assets/BooksImage/item_pics/aadu.jpeg differ
Book Results
Category-Name @@ -51,6 +120,33 @@ Book Cover
Category-Name + + + Publication + + + Book Name + + + Auther + + + Book Copies + + + Book Cover