1(self["webpackChunkopac"] = self["webpackChunkopac"] || []).push([["main"],{ 2 3/***/ 98255: 4/*!*******************************************************!*\ 5 !*** ./$_lazy_route_resources/ lazy namespace object ***! 6 \*******************************************************/ 7/***/ (function(module) { 8 9function webpackEmptyAsyncContext(req) { 10 // Here Promise.resolve().then() is used instead of new Promise() to prevent 11 // uncaught exception popping up in devtools 12 return Promise.resolve().then(function() { 13 var e = new Error("Cannot find module '" + req + "'"); 14 e.code = 'MODULE_NOT_FOUND'; 15 throw e; 16 }); 17} 18webpackEmptyAsyncContext.keys = function() { return []; }; 19webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; 20webpackEmptyAsyncContext.id = 98255; 21module.exports = webpackEmptyAsyncContext; 22 23/***/ }), 24 25/***/ 24164: 26/*!********************************************************!*\ 27 !*** ./src/app/@Core/interceptor/token.interceptor.ts ***! 28 \********************************************************/ 29/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 30 31"use strict"; 32__webpack_require__.r(__webpack_exports__); 33/* harmony export */ __webpack_require__.d(__webpack_exports__, { 34/* harmony export */ "JwtInterceptor": function() { return /* binding */ JwtInterceptor; } 35/* harmony export */ }); 36/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); 37/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 71258); 38/* harmony import */ var jwt_decode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jwt-decode */ 43389); 39/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../services/auth.service */ 37556); 40/* harmony import */ var src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/services/homepage.service */ 27150); 41/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 54364); 42/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 43var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 44 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 45 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 46 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 47 return c > 3 && r && Object.defineProperty(target, key, r), r; 48}; 49 50 51 52 53 54 55 56let JwtInterceptor = class JwtInterceptor { 57 constructor(route, authService, homepageService, document, cookieService) { 58 this.route = route; 59 this.authService = authService; 60 this.homepageService = homepageService; 61 this.document = document; 62 this.cookieService = cookieService; 63 this.refreshInProgress = false; 64 } 65 intercept(request, next) { 66 let token = localStorage.getItem("token"); 67 let info = localStorage.getItem("info"); 68 let sessionId = localStorage.getItem("Session-Id") || "null"; 69 if (!((request.url.includes("/profile/me")) || (request.url.includes('/collectionitem/addtopersonal')) || (request.url.includes('/opacdirectory')))) { 70 if (token && info) { 71 const decoded = (0,jwt_decode__WEBPACK_IMPORTED_MODULE_0__.jwtDecode)(token); 72 let systemDate = new Date(); 73 let expDate = new Date(decoded.exp * 1000); 74 let timeDifference = expDate.getTime() - systemDate.getTime(); 75 const remainingSeconds = Math.floor(timeDifference / 1000); 76 if (remainingSeconds < 60) { 77 this.authService.logoutSubject.next(true); 78 } 79 else if (remainingSeconds < 120) { 80 let refreshToken = localStorage.getItem("refreshToken"); 81 if (refreshToken && !this.refreshInProgress) { 82 this.refreshInProgress = true; 83 this.authService.refreshAccessToken(refreshToken).subscribe((refresh) => { 84 localStorage.setItem('token', refresh.access_token); 85 localStorage.setItem('refreshToken', refresh.refresh_token); 86 this.refreshInProgress = false;
87 request = request.clone({ 88 setHeaders: { 89 Authorization: "Bearer " + token, 90 'Session-Id': sessionId, 91 'Page-Id': this.getPageId() 92 }, 93 }); 94 return next.handle(request); 95 }, (errorRefresh) => { 96 this.authService.logoutSubject.next(true); 97 this.refreshInProgress = false; 98 }); 99 } 100 } 101 else { 102 request = request.clone({ 103 setHeaders: { 104 Authorization: "Bearer " + token, 105 'Session-Id': sessionId, 106 'Page-Id': this.getPageId() 107 }, 108 }); 109 } 110 } 111 else { 112 request = request.clone({ 113 setHeaders: { 114 Authorization: 'null', 115 'Session-Id': sessionId, 116 'Page-Id': this.getPageId() 117 }, 118 }); 119 } 120 return next.handle(request); 121 } 122 return next.handle(request); 123 } 124 getPageId() { 125 switch (true) { 126 case this.route.url === '/': return 'H'; 127 case this.route.url.includes('/explore'): return 'X'; 128 case this.route.url.includes('/new'): return 'N'; 129 case this.route.url.includes('/popular'): return 'P'; 130 case this.route.url.includes('/reading-lists'): return 'L'; 131 case this.route.url.includes('/news'): return 'W'; 132 case this.route.url.includes('/awards'): return 'A'; 133 case this.route.url.includes('/searchlist'): return 'R'; 134 case this.route.url.includes('/bulletins'): return 'B'; 135 case this.route.url.includes('/my-account'): return 'M'; 136 // case this.route.url.includes('/history'): return 'H'; 137 default: return 'H'; 138 } 139 } 140}; 141JwtInterceptor.ctorParameters = () => [ 142 { type: _angular_router__WEBPACK_IMPORTED_MODULE_3__.Router }, 143 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService }, 144 { type: src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 145 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_4__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.DOCUMENT,] }] }, 146 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_6__.CookieService } 147]; 148JwtInterceptor = __decorate([ 149 (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Injectable)({ 150 providedIn: "root", 151 }) 152], JwtInterceptor); 153 154 155 156/***/ }), 157 158/***/ 90158: 159/*!***************************************!*\ 160 !*** ./src/app/app-routing.module.ts ***! 161 \***************************************/ 162/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 163 164"use strict"; 165__webpack_require__.r(__webpack_exports__); 166/* harmony export */ __webpack_require__.d(__webpack_exports__, { 167/* harmony export */ "AppRoutingModule": function() { return /* binding */ AppRoutingModule; } 168/* harmony export */ }); 169/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! @angular/core */ 2316); 170/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! @angular/router */ 71258); 171/* harmony import */ var _layout_default_default_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./layout/default/default.component */ 21786); 172/* harmony import */ var _components_home_homepage_homepage_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/home/homepage/homepage.component */ 10294); 173/* harmony import */ var _components_pages_reading_list_reading_list_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/pages/reading-list/reading-list.component */ 83664); 174/* harmony import */ var _components_pages_explore_explore_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/pages/explore/explore.component */ 59388); 175/* harmony import */ var _components_pages_newinlibarary_newinlibarary_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/pages/newinlibarary/newinlibarary.component */ 99493); 176/* harmony import */ var _components_pages_popular_list_popular_list_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/pages/popular-list/popular-list.component */ 76084); 177/* harmony import */ var _components_pages_recommended_list_recommended_list_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/pages/recommended-list/recommended-list.component */ 63068); 178/* harmony import */ var _components_pages_libarary_news_libarary_news_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/pages/libarary-news/libarary-news.component */ 84481); 179/* harmony import */ var _components_pages_bulletins_list_bulletins_list_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/pages/bulletins-list/bulletins-list.component */ 36974); 180/* harmony import */ var _components_pages_bulletin_detail_bulletin_detail_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/pages/bulletin-detail/bulletin-detail.component */ 40087); 181/* harmony import */ var _components_pages_review_detail_review_detail_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/pages/review-detail/review-detail.component */ 67869); 182/* harmony import */ var _components_pages_detail_detail_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/pages/detail/detail.component */ 84868); 183/* harmony import */ var _components_pages_awards_awards_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/pages/awards/awards.component */ 23251); 184/* harmony import */ var _components_pages_forgot_forgot_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/pages/forgot/forgot.component */ 40393); 185/* harmony import */ var _components_pages_review_search_review_search_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/pages/review-search/review-search.component */ 59053); 186/* harmony import */ var _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/searchlist/list/list.component */ 38198); 187/* harmony import */ var _components_pages_resetmail_resetmail_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/pages/resetmail/resetmail.component */ 74455); 188/* harmony import */ var _error_error_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./error/error.component */ 49983); 189/* harmony import */ var _directory_directory_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./directory/directory.component */ 44830); 190/* harmony import */ var _components_settings_my_account_my_account_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/settings/my-account/my-account.component */ 15525); 191/* harmony import */ var _components_settings_history_history_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/settings/history/history.component */ 91030); 192/* harmony import */ var _components_print_print_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./components/print/print.component */ 38165
192); 193/* harmony import */ var _components_pages_unsubscribe_unsubscribe_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./components/pages/unsubscribe/unsubscribe.component */ 54152); 194/* harmony import */ var _components_pages_id_cards_id_cards_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./components/pages/id-cards/id-cards.component */ 73199); 195var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 196 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 197 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 198 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 199 return c > 3 && r && Object.defineProperty(target, key, r), r; 200}; 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227const routes = [ 228 { path: '', component: _layout_default_default_component__WEBPACK_IMPORTED_MODULE_0__.DefaultComponent, children: [ 229 { path: '', component: _components_home_homepage_homepage_component__WEBPACK_IMPORTED_MODULE_1__.HomepageComponent }, 230 { path: 'home', component: _components_home_homepage_homepage_component__WEBPACK_IMPORTED_MODULE_1__.HomepageComponent }, 231 { path: 'reading-lists', component: _components_pages_reading_list_reading_list_component__WEBPACK_IMPORTED_MODULE_2__.ReadingListComponent }, 232 { path: 'explore/:pageId', component: _components_pages_explore_explore_component__WEBPACK_IMPORTED_MODULE_3__.ExploreComponent }, 233 { path: 'new', component: _components_pages_newinlibarary_newinlibarary_component__WEBPACK_IMPORTED_MODULE_4__.NewinlibararyComponent }, 234 { path: 'popular', component: _components_pages_popular_list_popular_list_component__WEBPACK_IMPORTED_MODULE_5__.PopularListComponent }, 235 { path: 'recommended', component: _components_pages_recommended_list_recommended_list_component__WEBPACK_IMPORTED_MODULE_6__.RecommendedListComponent }, 236 { path: 'news', component: _components_pages_libarary_news_libarary_news_component__WEBPACK_IMPORTED_MODULE_7__.LibararyNewsComponent }, 237 { path: 'awards', component: _components_pages_awards_awards_component__WEBPACK_IMPORTED_MODULE_12__.AwardsComponent }, 238 { path: 'searchlist', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 239 { path: 'search/:explore', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 240 { path: 'search/series', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 241 { path: 'search', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 242 { path: 'resource/list/:resource_id', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 243 { path: 'recentlist/:recentlist', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 244 { path: 'list/:my', component: _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_15__.ListComponent }, 245 { path: 'resources/:calltype/:chacheKey/:listId', component: _components_pages_detail_detail_component__WEBPACK_IMPORTED_MODULE_11__.DetailComponent }, 246 { path: 'account/resetpassword', component: _components_pages_forgot_forgot_component__WEBPACK_IMPORTED_MODULE_13__.ForgotComponent }, 247 { path: 'account/resetemail', component: _components_pages_resetmail_resetmail_component__WEBPACK_IMPORTED_MODULE_16__.ResetmailComponent }, 248 { path: 'bulletins', component: _components_pages_bulletins_list_bulletins_list_component__WEBPACK_IMPORTED_MODULE_8__.BulletinsListComponent }, 249 { path: 'bulletin/:bulletin_id', component: _components_pages_bulletin_detail_bulletin_detail_component__WEBPACK_IMPORTED_MODULE_9__.BulletinDetailComponent }, 250 { path: 'searchreview', component: _components_pages_review_search_review_search_component__WEBPACK_IMPORTED_MODULE_14__.ReviewSearchComponent }, 251 { path: 'review/:id', component: _components_pages_review_detail_review_detail_component__WEBPACK_IMPORTED_MODULE_10__.ReviewDetailComponent }, 252 { path: 'my-account', component: _components_settings_my_account_my_account_component__WEBPACK_IMPORTED_MODULE_19__.MyAccountComponent }, 253 { path: 'history', component: _components_settings_history_history_component__WEBPACK_IMPORTED_MODULE_20__.HistoryComponent }, 254 { path: 'card', component: _components_pages_id_cards_id_cards_component__WEBPACK_IMPORTED_MODULE_23__.IdCardsComponent }, 255 ] }, 256 { path: 'unsubscribe', component: _components_pages_unsubscribe_unsubscribe_component__WEBPACK_IMPORTED_MODULE_22__.UnsubscribeComponent }, 257 { path: 'printwithimages', component: _components_print_print_component__WEBPACK_IMPORTED_MODULE_21__.PrintComponent }, 258 { path: 'error/:type', component: _error_error_component__WEBPACK_IMPORTED_MODULE_17__.ErrorComponent }, 259 { path: 'lib', component: _directory_directory_component__WEBPACK_IMPORTED_MODULE_18__.DirectoryComponent }, 260 { path: '**', redirectTo: '/error/not-found' } 261]; 262let AppRoutingModule = class AppRoutingModule { 263}; 264AppRoutingModule = __decorate([ 265 (0,_angular_core__WEBPACK_IMPORTED_MODULE_24__.NgModule)({ 266 imports: [_angular_router__WEBPACK_IMPORTED_MODULE_25__.RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })], 267 exports: [_angular_router__WEBPACK_IMPORTED_MODULE_25__.RouterModule], 268 declarations: [] 269 }) 270], AppRoutingModule); 271 272 273 274/***/ }), 275 276/***/ 55041: 277/*!**********************************!*\ 278 !*** ./src/app/app.component.ts ***! 279 \**********************************/ 280/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 281 282"use strict"; 283__webpack_require__.r(__webpack_exports__); 284/* harmony export */ __webpack_require__.d(__webpack_exports__, { 285/* harmony export */ "AppComponent": function() { return /* binding */ AppComponent; } 286/* harmony export */ }); 287/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_app_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./app.component.html */ 75158); 288/* harmony import */ var _app_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app.component.css */ 6849); 289/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 290/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); 291/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ 9170); 292/* harmony import */ var _services_logging_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services/logging.service */ 56571); 293var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 294 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 295 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 296 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
296 3 ? d(target, key, r) : d(target, key)) || r; 297 return c > 3 && r && Object.defineProperty(target, key, r), r; 298}; 299 300 301 302 303 304 305let AppComponent = class AppComponent { 306 constructor(router, loggingService) { 307 this.router = router; 308 this.loggingService = loggingService; 309 this.themes = { 'default': 'summertime', 'dark-theme': 'luna', 'SleekAndRelaxed': 'berry', 'violet-theme': 'mochablue', 'kids1-theme': 'birthdayCake', 'kids1-theme kids2-theme': 'playground' }; 310 const navEndEvents = this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.filter)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_4__.NavigationEnd)); 311 navEndEvents.subscribe((event) => { 312 if (localStorage.getItem('googleAnalytics') !== null) { 313 gtag('config', localStorage.getItem('googleAnalytics'), { 'page_path': event.urlAfterRedirects }); 314 } 315 }); 316 } 317 ngOnInit() { 318 if (localStorage.getItem('theme') !== null) { 319 $('body').removeClass('kids1-theme kids2-theme'); 320 $('body').removeClass('kids1-theme'); 321 $('body').removeClass('dark-theme'); 322 $('body').removeClass('SleekAndRelaxed'); 323 $('body').removeClass('violet-theme'); 324 $('body').removeClass('summertime'); 325 $('body').removeClass('default'); 326 var theme = localStorage.getItem('theme'); 327 var name = Object.keys(this.themes).find(key => this.themes[key] === theme); 328 if (name) { 329 $('body').addClass(name); 330 } 331 } 332 String.prototype.includes = function (str) { 333 var returnValue = false; 334 if (this.indexOf(str) !== -1) { 335 returnValue = true; 336 } 337 return returnValue; 338 }; 339 } 340}; 341AppComponent.ctorParameters = () => [ 342 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.Router }, 343 { type: _services_logging_service__WEBPACK_IMPORTED_MODULE_2__.AppMonitoringService } 344]; 345AppComponent = __decorate([ 346 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 347 selector: 'app-root', 348 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_app_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 349 styles: [_app_component_css__WEBPACK_IMPORTED_MODULE_1__] 350 }) 351], AppComponent); 352 353 354 355/***/ }), 356 357/***/ 36747: 358/*!*******************************!*\ 359 !*** ./src/app/app.module.ts ***! 360 \*******************************/ 361/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 362 363"use strict"; 364__webpack_require__.r(__webpack_exports__); 365/* harmony export */ __webpack_require__.d(__webpack_exports__, { 366/* harmony export */ "AppModule": function() { return /* binding */ AppModule; } 367/* harmony export */ }); 368/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! @angular/platform-browser */ 71570); 369/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! @angular/core */ 2316); 370/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app.component */ 55041); 371/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! @angular/common */ 54364); 372/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-routing.module */ 90158); 373/* harmony import */ var _share_header_header_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./share/header/header.component */ 65441); 374/* harmony import */ var _share_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./share/footer/footer.component */ 58070); 375/* harmony import */ var _layout_default_default_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layout/default/default.component */ 21786); 376/* harmony import */ var _components_home_banner_banner_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/home/banner/banner.component */ 60616); 377/* harmony import */ var _components_home_search_search_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/home/search/search.component */ 98471); 378/* harmony import */ var _components_home_new_new_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/home/new/new.component */ 98074); 379/* harmony import */ var _components_home_popular_popular_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/home/popular/popular.component */ 40924);
380/* harmony import */ var _components_home_recommended_recommended_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/home/recommended/recommended.component */ 41666); 381/* harmony import */ var _components_home_text_text_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/home/text/text.component */ 48321); 382/* harmony import */ var _components_pages_explore_explore_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/pages/explore/explore.component */ 59388); 383/* harmony import */ var _components_home_bulletins_bulletins_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/home/bulletins/bulletins.component */ 44403); 384/* harmony import */ var _components_home_links_links_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/home/links/links.component */ 9657); 385/* harmony import */ var _components_home_reviews_reviews_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/home/reviews/reviews.component */ 41602); 386/* harmony import */ var _components_home_e_book_e_book_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/home/e-book/e-book.component */ 86430); 387/* harmony import */ var _components_home_resource_list_resource_list_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/home/resource-list/resource-list.component */ 82197); 388/* harmony import */ var _components_home_location_hours_location_hours_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./components/home/location-hours/location-hours.component */ 92008); 389/* harmony import */ var _components_home_quick_qa_quick_qa_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./components/home/quick-qa/quick-qa.component */ 80438); 390/* harmony import */ var _components_home_homepage_homepage_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/home/homepage/homepage.component */ 10294); 391/* harmony import */ var _components_home_events_events_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/home/events/events.component */ 78892); 392/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! @angular/common/http */ 53882); 393/* harmony import */ var ngx_slick_carousel__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ngx-slick-carousel */ 4181); 394/* harmony import */ var ng_fullcalendar__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ng-fullcalendar */ 7907); 395/* harmony import */ var _components_home_bulletinsingle_bulletinsingle_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./components/home/bulletinsingle/bulletinsingle.component */ 5303); 396/* harmony import */ var _components_home_resource_list_single_resource_list_single_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./components/home/resource-list-single/resource-list-single.component */ 86283); 397/* harmony import */ var _components_pages_reading_list_reading_list_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./components/pages/reading-list/reading-list.component */ 83664); 398/* harmony import */ var _components_pages_newinlibarary_newinlibarary_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./components/pages/newinlibarary/newinlibarary.component */ 99493); 399/* harmony import */ var _components_pages_popular_list_popular_list_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./components/pages/popular-list/popular-list.component */ 76084); 400/* harmony import */ var _components_pages_recommended_list_recommended_list_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./components/pages/recommended-list/recommended-list.component */ 63068); 401/* harmony import */ var _components_home_explorewgt_explorewgt_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./components/home/explorewgt/explorewgt.component */ 6285); 402/* harmony import */ var _components_pages_libarary_news_libarary_news_component__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./components/pages/libarary-news/libarary-news.component */ 84481); 403/* harmony import */ var _components_pages_awards_awards_component__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./components/pages/awards/awards.component */ 23251); 404/* harmony import */ var _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./components/searchlist/list/list.component */ 38198); 405/* harmony import */ var ng5_slider__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ng5-slider */ 24336); 406/* harmony import */ var ngx_infinite_scroll__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ngx-infinite-scroll */ 43256); 407/* harmony import */ var angular_star_rating__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! angular-star-rating */ 74218); 408/* harmony import */ var _components_pages_detail_detail_component__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./components/pages/detail/detail.component */ 84868); 409/* harmony import */ var _split_camel_case_pipe__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./split-camel-case-pipe */ 18977); 410/* harmony import */ var _test_highlight_pipe__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./test-highlight-pipe */ 92122); 411/* harmony import */ var _childThemetext_pipe__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./childThemetext-pipe */ 97157); 412/* harmony import */ var _removehtml_pipe__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./removehtml-pipe */ 38295); 413/* harmony import */ var _attributes_bulletinr_pipe__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./attributes-bulletinr-pipe */ 75044); 414/* harmony import */ var _share_headerinner_headerinner_component__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./share/headerinner/headerinner.component */ 53806); 415/* harmony import */ var ngx_mask__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ngx-mask */ 30915); 416/* harmony import */ var _error_error_component__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./error/error.component */ 49983); 417/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 418/* harmony import */ var _internalerror_internalerror_component__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./internalerror/internalerror.component */ 38488); 419/* harmony import */ var angular_user_idle__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! angular-user-idle */ 49900); 420/* harmony import */ var _angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! @angular/cdk/drag-drop */ 28487); 421/* harmony import */ var _keep_html_pipe__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./keep-html.pipe */ 39492); 422/* harmony import */ var angular_froala_wysiwyg__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! angular-froala-wysiwyg */ 41961); 423/* harmony import */ var _components_pages_forgot_forgot_component__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./components/pages/forgot/forgot.component */ 40393); 424/* harmony import */ var ngx_sortablejs__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ngx-sortablejs */ 69583); 425/* harmony import */ var _components_pages_bulletins_list_bulletins_list_component__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./components/pages/bulletins-list/bulletins-list.component */ 36974); 426/* harmony import */ var _components_pages_bulletin_detail_bulletin_detail_component__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./components/pages/bulletin-detail/bulletin-detail.component */ 40087); 427/* harmony import */ var ng2_datepicker__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ng2-datepicker */ 61494); 428/* harmony import */ var _components_pages_review_detail_review_detail_component__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./components/pages/review-detail/review-detail.component */ 67869); 429/* harmony import */ var node_modules_froala_editor_js_plugins_pkgd_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! node_modules/froala-editor/js/plugins.pkgd.min */ 23836); 430/* harmony import */ var node_modules_froala_editor_js_plugins_pkgd_min__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(node_modules_froala_editor_js_plugins_pkgd_min__WEBPACK_IMPORTED_MODULE_48__); 431/* harmony import */ var _components_pages_review_search_review_search_component__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./components/pages/review-search/review-search.component */ 59053); 432/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! angular-notifier */ 53874); 433/* harmony import */ var _components_settings_my_account_my_account_component__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./components/settings/my-account/my-account.component */ 15525); 434/* harmony import */ var _replace_pipe__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./replace.pipe */ 55211); 435/* harmony import */ var _components_print_print_component__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./components/print/print.component */ 38165
435); 436/* harmony import */ var _directory_directory_component__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./directory/directory.component */ 44830); 437/* harmony import */ var _components_pages_resetmail_resetmail_component__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./components/pages/resetmail/resetmail.component */ 74455); 438/* harmony import */ var ngx_color_picker__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ngx-color-picker */ 91698); 439/* harmony import */ var _components_settings_history_history_component__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./components/settings/history/history.component */ 91030); 440/* harmony import */ var _components_pages_unsubscribe_unsubscribe_component__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./components/pages/unsubscribe/unsubscribe.component */ 54152); 441/* harmony import */ var _components_pages_list_summary_list_summary_component__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./components/pages/list-summary/list-summary.component */ 29029); 442/* harmony import */ var ngx_barcode__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ngx-barcode */ 38752); 443/* harmony import */ var _components_home_lazyloadimage_lazyloadimage_component__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./components/home/lazyloadimage/lazyloadimage.component */ 29483); 444/* harmony import */ var ng_lazyload_image__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ng-lazyload-image */ 55600); 445/* harmony import */ var _Core_interceptor_token_interceptor__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./@Core/interceptor/token.interceptor */ 24164); 446/* harmony import */ var _components_pages_id_cards_id_cards_component__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./components/pages/id-cards/id-cards.component */ 73199); 447var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 448 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 449 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 450 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 451 return c > 3 && r && Object.defineProperty(target, key, r), r; 452}; 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531let AppModule = class AppModule { 532}; 533AppModule = __decorate([ 534 (0,_angular_core__WEBPACK_IMPORTED_MODULE_63__.NgModule)({ 535 declarations: [ 536 _app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent, 537 _share_header_header_component__WEBPACK_IMPORTED_MODULE_2__.HeaderComponent, 538 _share_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__.FooterComponent, 539 _layout_default_default_component__WEBPACK_IMPORTED_MODULE_4__.DefaultComponent, 540 _components_home_banner_banner_component__WEBPACK_IMPORTED_MODULE_5__.BannerComponent, 541 _components_home_search_search_component__WEBPACK_IMPORTED_MODULE_6__.SearchComponent, 542 _components_home_new_new_component__WEBPACK_IMPORTED_MODULE_7__.NewComponent, 543 _components_home_popular_popular_component__WEBPACK_IMPORTED_MODULE_8__.PopularComponent, 544 _components_home_recommended_recommended_component__WEBPACK_IMPORTED_MODULE_9__.RecommendedComponent, 545 _components_home_text_text_component__WEBPACK_IMPORTED_MODULE_10__.TextComponent, 546 _components_pages_explore_explore_component__WEBPACK_IMPORTED_MODULE_11__.ExploreComponent, 547 _components_home_bulletins_bulletins_component__WEBPACK_IMPORTED_MODULE_12__.BulletinsComponent, 548 _components_home_links_links_component__WEBPACK_IMPORTED_MODULE_13__.LinksComponent, 549 _components_home_reviews_reviews_component__WEBPACK_IMPORTED_MODULE_14__.ReviewsComponent, 550 _components_home_e_book_e_book_component__WEBPACK_IMPORTED_MODULE_15__.EBookComponent, 551 _components_home_resource_list_resource_list_component__WEBPACK_IMPORTED_MODULE_16__.ResourceListComponent, 552 _components_home_location_hours_location_hours_component__WEBPACK_IMPORTED_MODULE_17__.LocationHoursComponent, 553 _components_home_quick_qa_quick_qa_component__WEBPACK_IMPORTED_MODULE_18__.QuickQaComponent, 554 _components_home_homepage_homepage_component__WEBPACK_IMPORTED_MODULE_19__.HomepageComponent, 555 _components_home_events_events_component__WEBPACK_IMPORTED_MODULE_20__.EventsComponent, 556 _components_home_bulletinsingle_bulletinsingle_component__WEBPACK_IMPORTED_MODULE_22__.BulletinsingleComponent, 557 _components_home_resource_list_single_resource_list_single_component__WEBPACK_IMPORTED_MODULE_23__.ResourceListSingleComponent, 558 _components_pages_reading_list_reading_list_component__WEBPACK_IMPORTED_MODULE_24__.ReadingListComponent, 559 _components_pages_newinlibarary_newinlibarary_component__WEBPACK_IMPORTED_MODULE_25__.NewinlibararyComponent, 560 _components_pages_popular_list_popular_list_component__WEBPACK_IMPORTED_MODULE_26__.PopularListComponent, 561 _components_pages_recommended_list_recommended_list_component__WEBPACK_IMPORTED_MODULE_27__.RecommendedListComponent, 562 _components_home_explorewgt_explorewgt_component__WEBPACK_IMPORTED_MODULE_28__.ExplorewgtComponent, 563 _components_pages_libarary_news_libarary_news_component__WEBPACK_IMPORTED_MODULE_29__.LibararyNewsComponent, 564 _components_pages_awards_awards_component__WEBPACK_IMPORTED_MODULE_30__.AwardsComponent, 565 _components_searchlist_list_list_component__WEBPACK_IMPORTED_MODULE_31__.ListComponent, 566 _components_pages_detail_detail_component__WEBPACK_IMPORTED_MODULE_34__.DetailComponent, 567 _split_camel_case_pipe__WEBPACK_IMPORTED_MODULE_35__.SplitCamelCase, 568 _test_highlight_pipe__WEBPACK_IMPORTED_MODULE_36__.HighlightSearch, 569 _childThemetext_pipe__WEBPACK_IMPORTED_MODULE_37__.ChildThemetext, 570 _removehtml_pipe__WEBPACK_IMPORTED_MODULE_38__.RemoveHTML, 571 _attributes_bulletinr_pipe__WEBPACK_IMPORTED_MODULE_39__.AttributesToButtels, 572 _share_headerinner_headerinner_component__WEBPACK_IMPORTED_MODULE_40__.HeaderinnerComponent, 573 _error_error_component__WEBPACK_IMPORTED_MODULE_41__.ErrorComponent, 574 _internalerror_internalerror_component__WEBPACK_IMPORTED_MODULE_42__.InternalerrorComponent, 575 _components_pages_bulletins_list_bulletins_list_component__WEBPACK_IMPORTED_MODULE_45__.BulletinsListComponent, 576 _keep_html_pipe__WEBPACK_IMPORTED_MODULE_43__.EscapeHtmlPipe, _components_pages_forgot_forgot_component__WEBPACK_IMPORTED_MODULE_44__.ForgotComponent, _components_pages_bulletin_detail_bulletin_detail_component__WEBPACK_IMPORTED_MODULE_46__.BulletinDetailComponent, _components_pages_review_detail_review_detail_component__WEBPACK_IMPORTED_MODULE_47__.ReviewDetailComponent, _components_pages_review_search_review_search_component__WEBPACK_IMPORTED_MODULE_49__.ReviewSearchComponent, _components_settings_my_account_my_account_component__WEBPACK_IMPORTED_MODULE_51__.MyAccountComponent, 577 _replace_pipe__WEBPACK_IMPORTED_MODULE_52__.ReplacePipe, 578 _components_print_print_component__WEBPACK_IMPORTED_MODULE_53__.PrintComponent, 579 _directory_directory_component__WEBPACK_IMPORTED_MODULE_54__.DirectoryComponent, 580 _components_pages_resetmail_resetmail_component__WEBPACK_IMPORTED_MODULE_55__.ResetmailComponent, 581 _components_settings_history_history_component__WEBPACK_IMPORTED_MODULE_56__.HistoryComponent, 582 // StarRatingModule 583 _components_pages_unsubscribe_unsubscribe_component__WEBPACK_IMPORTED_MODULE_57__.UnsubscribeComponent, 584 _components_pages_list_summary_list_summary_component__WEBPACK_IMPORTED_MODULE_58__.ListSummaryComponent, 585 _components_home_lazyloadimage_lazyloadimage_component__WEBPACK_IMPORTED_MODULE_60__.LazyloadimageComponent, 586 _components_pages_id_cards_id_cards_component__WEBPACK_IMPORTED_MODULE_62__.IdCardsComponent 587 ], 588 schemas: [_angular_core__WEBPACK_IMPORTED_MODULE_63__.CUSTOM_ELEMENTS_SCHEMA], 589 imports: [ 590 ngx_color_picker__WEBPACK_IMPORTED_MODULE_64__.ColorPickerModule, 591 _angular_platform_browser__WEBPACK_IMPORTED_MODULE_65__.BrowserModule, 592 _angular_common_http__WEBPACK_IMPORTED_MODULE_66__.HttpClientModule, 593 _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, 594 ngx_slick_carousel__WEBPACK_IMPORTED_MODULE_67__.SlickCarouselModule, 595 ng_fullcalendar__WEBPACK_IMPORTED_MODULE_21__.FullCalendarModule, 596 ng5_slider__WEBPACK_IMPORTED_MODULE_32__.Ng5SliderModule,
597 ngx_infinite_scroll__WEBPACK_IMPORTED_MODULE_33__.InfiniteScrollModule, 598 angular_star_rating__WEBPACK_IMPORTED_MODULE_68__.StarRatingModule.forRoot(), 599 ngx_mask__WEBPACK_IMPORTED_MODULE_69__.NgxMaskModule.forRoot(), 600 angular_user_idle__WEBPACK_IMPORTED_MODULE_70__.UserIdleModule.forRoot({ idle: 300, timeout: 60, ping: 60 }), 601 _angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_71__.DragDropModule, 602 angular_froala_wysiwyg__WEBPACK_IMPORTED_MODULE_72__.FroalaEditorModule.forRoot(), 603 angular_froala_wysiwyg__WEBPACK_IMPORTED_MODULE_72__.FroalaViewModule.forRoot(), 604 ngx_sortablejs__WEBPACK_IMPORTED_MODULE_73__.SortablejsModule, 605 ng2_datepicker__WEBPACK_IMPORTED_MODULE_74__.DatepickerModule, 606 _angular_common__WEBPACK_IMPORTED_MODULE_75__.CommonModule, 607 ngx_barcode__WEBPACK_IMPORTED_MODULE_59__.NgxBarcodeModule, 608 ng_lazyload_image__WEBPACK_IMPORTED_MODULE_76__.LazyLoadImageModule, 609 angular_notifier__WEBPACK_IMPORTED_MODULE_50__.NotifierModule.withConfig({ 610 theme: 'material', 611 behaviour: { 612 autoHide: 12000, 613 onClick: false, 614 onMouseover: 'pauseAutoHide', 615 showDismissButton: true, 616 stacking: 4 617 }, 618 position: { 619 horizontal: { 620 position: 'right', 621 distance: 12 622 }, 623 vertical: { 624 position: 'top', 625 distance: 12, 626 gap: 10 627 } 628 }, 629 animations: { 630 enabled: true, 631 show: { 632 preset: 'slide', 633 speed: 300, 634 easing: 'ease' 635 }, 636 hide: { 637 preset: 'fade', 638 speed: 300, 639 easing: 'ease', 640 offset: 50 641 }, 642 shift: { 643 speed: 300, 644 easing: 'ease' 645 }, 646 overlap: 150 647 } 648 }) 649 ], 650 exports: [angular_star_rating__WEBPACK_IMPORTED_MODULE_68__.StarRatingModule], 651 providers: [ 652 ngx_cookie_service__WEBPACK_IMPORTED_MODULE_77__.CookieService, 653 { provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_66__.HTTP_INTERCEPTORS, 654 useClass: _Core_interceptor_token_interceptor__WEBPACK_IMPORTED_MODULE_61__.JwtInterceptor, 655 multi: true 656 }, 657 ], 658 bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_0__.AppComponent] 659 }) 660], AppModule); 661 662 663 664/***/ }), 665 666/***/ 75044: 667/*!**********************************************!*\ 668 !*** ./src/app/attributes-bulletinr-pipe.ts ***! 669 \**********************************************/ 670/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 671 672"use strict"; 673__webpack_require__.r(__webpack_exports__); 674/* harmony export */ __webpack_require__.d(__webpack_exports__, { 675/* harmony export */ "AttributesToButtels": function() { return /* binding */ AttributesToButtels; } 676/* harmony export */ }); 677/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 678var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 679 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 680 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 681 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 682 return c > 3 && r && Object.defineProperty(target, key, r), r; 683}; 684 685let AttributesToButtels = class AttributesToButtels { 686 transform(value) { 687 if (typeof value !== "string") { 688 return value; 689 } 690 var myString = "<span class='inlineShow'>" + value.replace(/;
690 /g, "</span><span class='inlineShow'>") + "</span>"; 691 return myString.replace("<span class='inlineShow'></span>", ''); 692 } 693}; 694AttributesToButtels = __decorate([ 695 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ name: 'attributesToButtels' }) 696], AttributesToButtels); 697 698 699 700/***/ }), 701 702/***/ 97157: 703/*!****************************************!*\ 704 !*** ./src/app/childThemetext-pipe.ts ***! 705 \****************************************/ 706/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 707 708"use strict"; 709__webpack_require__.r(__webpack_exports__); 710/* harmony export */ __webpack_require__.d(__webpack_exports__, { 711/* harmony export */ "ChildThemetext": function() { return /* binding */ ChildThemetext; } 712/* harmony export */ }); 713/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 714var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 715 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 716 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 717 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 718 return c > 3 && r && Object.defineProperty(target, key, r), r; 719}; 720 721let ChildThemetext = class ChildThemetext { 722 transform(Line1, Line2) { 723 var tempArray = Line1.split(""); 724 //console.log(tempArray); 725 var className = 'head-text-bg-'; 726 var html = ''; 727 var count = 1; 728 tempArray.forEach(data => { 729 html += '<span class="head-text-bg-1 ' + className + count + '">' + data + '</span>'; 730 if (count == 7) 731 count = 0; 732 count++; 733 }); 734 html += "<span>" + Line2 + "</span>"; 735 return html; 736 } 737}; 738ChildThemetext = __decorate([ 739 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ 740 name: 'ChildThemetext' 741 }) 742], ChildThemetext); 743 744 745 746/***/ }), 747 748/***/ 60616: 749/*!************************************************************!*\ 750 !*** ./src/app/components/home/banner/banner.component.ts ***! 751 \************************************************************/ 752/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 753 754"use strict"; 755__webpack_require__.r(__webpack_exports__); 756/* harmony export */ __webpack_require__.d(__webpack_exports__, { 757/* harmony export */ "BannerComponent": function() { return /* binding */ BannerComponent; } 758/* harmony export */ }); 759/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_banner_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./banner.component.html */ 95969); 760/* harmony import */ var _banner_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./banner.component.css */ 10754); 761/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 762/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 763/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 764/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 765/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 766/* harmony import */ var _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/widget-settings.service */ 71245); 767/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 768/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 769var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 770 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 771 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 772 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
772 3 ? d(target, key, r) : d(target, key)) || r; 773 return c > 3 && r && Object.defineProperty(target, key, r), r; 774}; 775 776 777 778 779 780 781 782 783 784 785let BannerComponent = class BannerComponent { 786 constructor(notifierService, authService, homepageService, document, activatedRoute, router, widgetSettingsService, cookieService) { 787 this.authService = authService; 788 this.homepageService = homepageService; 789 this.document = document; 790 this.activatedRoute = activatedRoute; 791 this.router = router; 792 this.widgetSettingsService = widgetSettingsService; 793 this.cookieService = cookieService; 794 this.Banner = 'inner'; 795 this.bannerText = ''; 796 this.banner = []; 797 this.bannerSubText = ''; 798 this.bannerChoose = []; 799 this.bannerChooseShow = false; 800 this.fileToUpload = null; 801 this.theme = 'default'; 802 this.imageError = ''; 803 this.notifier = notifierService; 804 this.router.events.subscribe((val) => { 805 this.homepageService.updateBannerText(''); 806 this.homepageService.bannerText$.subscribe(resultList => { 807 this.bannerSubText = resultList; 808 }); 809 }); 810 //Getting inner banner text. 811 this.activatedRoute.params.subscribe(params => { 812 this.homepageService.bannerText$.subscribe(resultList => { 813 this.bannerSubText = resultList; 814 }); 815 }); 816 //checking for theme to change inner banner and other attributes. 817 this.homepageService.theme$.subscribe(theme => { 818 //console.log(theme, '++++++++'); 819 this.theme = theme; 820 }); 821 } 822 ngOnInit() { 823 if (localStorage.getItem('theme') !== null) { 824 this.theme = localStorage.getItem('theme'); 825 } 826 this.getpopularlist(); 827 } 828 getpopularlist() { 829 this.banner = this.homepageService.getUpdatedConfig(); 830 } 831 //open modal to edit logo 832 editLogobanner(event) { 833 //var updateBanner = $('#origin-banner').val().toString(); 834 //$('.hero-home').find('.hero-img').attr('src',updateBanner); 835 if ($(event.target).hasClass('editLogobanner')) { 836 $(event.target).toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 837 } 838 else { 839 $(event.target).parent().toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 840 } 841 } 842 //Selecting banner and changing instantly on site. 843 selectBanner(event) { 844 var bannerImage = $(event.target).next('input').val().toString(); 845 $(event.target).parents('ul').find('li').removeClass('selected'); 846 $(event.target).parent().addClass('selected'); 847 $('#origin-banner-temp').val(bannerImage); 848 if (bannerImage != '') { 849 $('.hero-home').find('.hero-img').attr('src', bannerImage); 850 } 851 else { 852 if (this.theme == 'playground' || this.theme == 'birthdayCake') 853 $('.hero-home').find('.hero-img').attr('src', '/assets/theme/light/img/banner-main/header-kids1-img.jpg'); 854 else if (this.theme == 'beach') 855 $('.hero-home').find('.hero-img').attr('src', '/assets/theme/light/img/banner-main/beach.jpg'); 856 else 857 $('.hero-home').find('.hero-img').attr('src', '/assets/theme/light/img/banner-main/header-img.jpg'); 858 $('#origin-banner').val(''); 859 } 860 $('#closeBannerChoose').trigger('click'); 861 this.bannerChooseShow = false; 862 } 863 //Getting banner list 864 visibleChoseBanner() { 865 ////if(this.cookieService.check( 'info')){ 866 //if (localStorage.getItem('info') != null){ 867 var token = localStorage.getItem('token'); 868 //}else{ 869 //this.notifier.notify('error', 'Session expired! Please login again.'); 870 //this.logOut(); 871 //} 872 this.widgetSettingsService.bannerListGet(token).subscribe((data) => { 873 this.bannerChoose = data; 874 //console.log(data); 875 if (data.status) { 876 this.bannerChooseShow = true; 877 } 878 }, (error) => { 879 this.notifier.notify('error', "Sorry! Someting isn't working as expected"); 880 }); 881 } 882 //upload banner 883 uploadImage(files) { 884 this.bannerChooseShow = true; 885 $('#bannerSave').attr('disabled', 'disabled'); 886 $('#bannerCancel').attr('disabled', 'disabled'); 887 this.fileToUpload = files.item(0);
888 var validImageTypes = ["image/gif", "image/jpeg", "image/png", "image/jpg"]; 889 var fileType = this.fileToUpload.type; 890 var fileSizeTemp = this.fileToUpload.size; 891 var fileSize = Math.round((fileSizeTemp) / (1024 * 1024)); 892 if ($.inArray(fileType, validImageTypes) < 0) { //Checking if file is of valid type. 893 this.imageError = 'Please use "jpeg", "jpg", "png" or "gif" image formats only.'; 894 $('#imageErrorBanner').addClass('show'); 895 $('#bannerSave').removeAttr('disabled'); 896 $('#bannerCancel').removeAttr('disabled'); 897 this.bannerChooseShow = false; 898 return false; 899 } 900 if (fileSize >= 3) { //checking if image is greater then 3 MB. 901 this.imageError = 'Image size should be less than 3 MB.'; 902 $('#imageErrorBanner').addClass('show'); 903 $('#bannerSave').removeAttr('disabled'); 904 $('#bannerCancel').removeAttr('disabled'); 905 this.bannerChooseShow = false; 906 return false; 907 } 908 let formData = new FormData(); 909 formData.append('file', this.fileToUpload, this.fileToUpload.name); 910 $('span.bannerUploaderSpan').text('Uploading..'); 911 ////if(this.cookieService.check( 'info')){ 912 //if (localStorage.getItem('info') != null){ 913 var token = localStorage.getItem('token'); 914 //} 915 this.widgetSettingsService.bannerUpload(token, formData).subscribe((data) => { 916 $('span.bannerUploaderSpan').text('Upload Library Banner'); 917 if (data.status) { 918 $('.hero-home').find('.hero-img').attr('src', data.data.link); 919 $('#origin-banner-temp').val(data.data.link); 920 this.saveBannerSection($('#bannerSave')); 921 } 922 }, (error) => { 923 if (error.status == 400) { 924 this.notifier.notify('error', 'Session expired! Please login again.'); 925 } 926 else { 927 this.notifier.notify('error', "Sorry! Someting isn't working as expected"); 928 } 929 }); 930 } 931 //save selected banner. 932 saveBannerSection(event) { 933 $('#bannerSave').text('Saving...').attr('disabled', 'disabled'); 934 $('#bannerCancel').attr('disabled', 'disabled'); 935 if ($.trim($('#origin-banner-temp').val().toString()) != '') { 936 $('#origin-banner').val($('#origin-banner-temp').val()); 937 $('#origin-banner-temp').val(''); 938 } 939 var line1 = $('#bannerLine1').val(); 940 var line2 = $('#bannerLine2').val(); 941 var image = $('#origin-banner').val(); 942 var isSmall = $('#smallBanner').val(); 943 //console.log(isSmall); 944 ////if(this.cookieService.check( 'info')){ 945 //if (localStorage.getItem('info') != null){ 946 var token = localStorage.getItem('token'); 947 //} 948 this.widgetSettingsService.saveBannerSection(line1, line2, image, isSmall, token).subscribe((data) => { 949 this.homepageService.getConfig().subscribe((data) => { 950 this.bannerChooseShow = false; 951 this.banner = data; 952 $('#bannerSave').text('Save').removeAttr('disabled'); 953 $('#bannerCancel').removeAttr('disabled'); 954 $('.editLogobanner.banner').toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 955 }); 956 }, (error) => { 957 if (error.status == 400) { 958 this.notifier.notify('error', 'Session expired! Please login again.'); 959 //this.logOut(); 960 } 961 else { 962 this.notifier.notify('error', "Sorry! Someting isn't working as expected"); 963 } 964 }); 965 } 966 closeModal() { 967 this.bannerChooseShow = false; 968 } 969 closeImageError() { 970 $('#imageErrorBanner').removeClass('show'); 971 this.imageError = ''; 972 } 973 logOut() { 974 $('#myCollectionLi').find('.my-list-count').text('0'); 975 $('#profileLi').removeClass('show').addClass('hide'); 976 $('#loginLi').removeClass('hide').addClass('show'); 977 $('.widgets.select-box').css('min-height', 'auto'); 978 $('.SearchResults').find('.count').text('0'); 979 this.cookieService.deleteAll('/'); 980 this.document.body.classList.remove('login-patron'); 981 this.document.body.classList.remove('manage-view'); 982 localStorage.removeItem('selectedResourcesIds'); 983 localStorage.removeItem('token'); 984 localStorage.removeItem('requireChange'); 985 localStorage.removeItem('isNonComplaint'); 986 this.router.navigate(['/']); 987 } 988 smallBannerChange(event) { 989 //console.log($(event.target).val()); 990 if ($(event.target).val() == 'small') { 991 $('.hero').addClass('small-banner'); 992 $('.hero').removeClass('medium-banner'); 993 } 994 else if ($(event.target).val() == 'medium') { 995 $('.hero').removeClass('small-banner'); 996 $('.hero').addClass('medium-banner'); 997 } 998 else { 999 $('.hero').removeClass('small-banner'); 1000 $('.hero').removeClass('medium-banner'); 1001 } 1002 } 1003}; 1004BannerComponent.ctorParameters = () => [ 1005 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService }, 1006 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_3__.AuthService }, 1007 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 1008 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 1009 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute }, 1010 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.Router }, 1011 { type: _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_4__.WidgetSettingsService }, 1012 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService } 1013]; 1014BannerComponent.propDecorators = { 1015 Banner: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Input }], 1016 bannerText: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Input }] 1017}; 1018BannerComponent = __decorate([ 1019 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 1020 selector: 'app-banner', 1021 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_banner_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1022 styles: [_banner_component_css__WEBPACK_IMPORTED_MODULE_1__] 1023 }) 1024], BannerComponent); 1025 1026 1027 1028/***/ }), 1029 1030/***/ 44403: 1031/*!******************************************************************!*\ 1032 !*** ./src/app/components/home/bulletins/bulletins.component.ts ***! 1033 \******************************************************************/ 1034/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1035 1036"use strict"; 1037__webpack_require__.r(__webpack_exports__); 1038/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1039/* harmony export */ "BulletinsComponent": function() { return /* binding */ BulletinsComponent; } 1040/* harmony export */ }); 1041/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletins_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./bulletins.component.html */ 73685); 1042/* harmony import */ var _bulletins_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bulletins.component.css */ 31650); 1043/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 1044/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1045var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1046 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1047 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1048 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
1048 3 ? d(target, key, r) : d(target, key)) || r; 1049 return c > 3 && r && Object.defineProperty(target, key, r), r; 1050}; 1051 1052 1053 1054 1055let BulletinsComponent = class BulletinsComponent { 1056 constructor(homepageService) { 1057 this.homepageService = homepageService; 1058 this.bulletinlist = []; 1059 } 1060 ngOnInit() { 1061 this.getBulletinlist(); 1062 } 1063 getBulletinlist() { 1064 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 1065 getwidgetsSettingDataSave.data.forEach(evt => { 1066 if (evt.code == 'BL' && this.buId == evt.id) { 1067 this.bulletinlist = evt.content; 1068 } 1069 }); 1070 } 1071}; 1072BulletinsComponent.ctorParameters = () => [ 1073 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 1074]; 1075BulletinsComponent.propDecorators = { 1076 size: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }], 1077 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 1078}; 1079BulletinsComponent = __decorate([ 1080 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 1081 selector: 'app-bulletins', 1082 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletins_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1083 styles: [_bulletins_component_css__WEBPACK_IMPORTED_MODULE_1__] 1084 }) 1085], BulletinsComponent); 1086 1087 1088 1089/***/ }), 1090 1091/***/ 5303: 1092/*!****************************************************************************!*\ 1093 !*** ./src/app/components/home/bulletinsingle/bulletinsingle.component.ts ***! 1094 \****************************************************************************/ 1095/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1096 1097"use strict"; 1098__webpack_require__.r(__webpack_exports__); 1099/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1100/* harmony export */ "BulletinsingleComponent": function() { return /* binding */ BulletinsingleComponent; } 1101/* harmony export */ }); 1102/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletinsingle_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./bulletinsingle.component.html */ 50229); 1103/* harmony import */ var _bulletinsingle_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bulletinsingle.component.css */ 74241); 1104/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 1105/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1106var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1107 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1108 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1109 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 1110 return c > 3 && r && Object.defineProperty(target, key, r), r; 1111}; 1112 1113 1114 1115 1116let BulletinsingleComponent = class BulletinsingleComponent { 1117 constructor(homepageService) { 1118 this.homepageService = homepageService; 1119 this.bulletinlist = []; 1120 } 1121 ngOnInit() { 1122 this.getBulletinlist(); 1123 } 1124 getBulletinlist() { 1125 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 1126 getwidgetsSettingDataSave.data.forEach(evt => { 1127 if (evt.code == 'BU' && this.buId == evt.id) { 1128 this.bulletinlist = evt.content; 1129 } 1130 }); 1131 } 1132}; 1133BulletinsingleComponent.ctorParameters = () => [ 1134 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 1135]; 1136BulletinsingleComponent.propDecorators = { 1137 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 1138}; 1139BulletinsingleComponent = __decorate([ 1140 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 1141 selector: 'app-bulletinsingle', 1142 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletinsingle_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1143 styles: [_bulletinsingle_component_css__WEBPACK_IMPORTED_MODULE_1__] 1144 }) 1145], BulletinsingleComponent); 1146 1147 1148 1149/***/ }), 1150 1151/***/ 86430: 1152/*!************************************************************!*\ 1153 !*** ./src/app/components/home/e-book/e-book.component.ts ***! 1154 \************************************************************/ 1155/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1156 1157"use strict"; 1158__webpack_require__.r(__webpack_exports__); 1159/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1160/* harmony export */ "EBookComponent": function() { return /* binding */ EBookComponent; } 1161/* harmony export */ }); 1162/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_e_book_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./e-book.component.html */ 97510); 1163/* harmony import */ var _e_book_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./e-book.component.css */ 43005); 1164/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 1165/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1166var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1167 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1168 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1169 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
1169 3 ? d(target, key, r) : d(target, key)) || r; 1170 return c > 3 && r && Object.defineProperty(target, key, r), r; 1171}; 1172 1173 1174 1175 1176let EBookComponent = class EBookComponent { 1177 constructor(homepageService) { 1178 this.homepageService = homepageService; 1179 this.Setting = []; 1180 } 1181 ngOnInit() { 1182 this.getSetting(); 1183 } 1184 getSetting() { 1185 this.Setting = this.homepageService.getUpdatedConfig(); 1186 } 1187}; 1188EBookComponent.ctorParameters = () => [ 1189 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 1190]; 1191EBookComponent = __decorate([ 1192 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 1193 selector: 'app-e-book', 1194 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_e_book_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1195 styles: [_e_book_component_css__WEBPACK_IMPORTED_MODULE_1__] 1196 }) 1197], EBookComponent); 1198 1199 1200 1201/***/ }), 1202 1203/***/ 78892: 1204/*!************************************************************!*\ 1205 !*** ./src/app/components/home/events/events.component.ts ***! 1206 \************************************************************/ 1207/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1208 1209"use strict"; 1210__webpack_require__.r(__webpack_exports__); 1211/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1212/* harmony export */ "EventsComponent": function() { return /* binding */ EventsComponent; } 1213/* harmony export */ }); 1214/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_events_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./events.component.html */ 26531); 1215/* harmony import */ var _events_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events.component.css */ 14877); 1216/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 1217/* harmony import */ var ng_fullcalendar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ng-fullcalendar */ 7907); 1218/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 1219/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1220var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1221 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1222 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1223 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 1224 return c > 3 && r && Object.defineProperty(target, key, r), r; 1225}; 1226 1227 1228 1229 1230 1231 1232const now = new Date(); 1233let EventsComponent = class EventsComponent { 1234 constructor(cookieService, homepageService) { 1235 this.cookieService = cookieService; 1236 this.homepageService = homepageService; 1237 this.years = now.getFullYear(); 1238 this.month = now.getMonth() + 1; 1239 this.closedDays = []; 1240 this.openDays = []; 1241 this.eventsList = []; 1242 this.eventsEnableList = []; 1243 this.widgetsSetting = []; 1244 this.isResponse = false; 1245 this.dateFormat = "M/d/yyyy"; 1246 this.eventTitle = ''; 1247 this.eventDescription = ''; 1248 this.eventDate = ''; 1249 this.eventEndDate = ''; 1250 this.eventLink = ''; 1251 this.eventForDetails = [];
1252 this.showDetailsCalendar = false; 1253 this.checkChangedEvent = ''; 1254 this.locationName = ''; 1255 } 1256 ngOnInit() { 1257 this.getEvents(); 1258 this.locationName = location.origin; 1259 } 1260 getEvents() { 1261 this.dateFormat = this.homepageService.formatDate(); 1262 var lists = []; 1263 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 1264 getwidgetsSettingDataSave.data.forEach(evts => { 1265 if (evts.code == 'CA' && this.buId == evts.id) { 1266 if (typeof (evts.settings.message) != 'undefined') { 1267 this.messageInfo = evts.settings.message; 1268 } 1269 this.eventsList = evts.content; 1270 } 1271 }); 1272 var i = 0; 1273 this.cookieService.set('events', JSON.stringify(this.eventsList.events)); 1274 this.closedDays = this.eventsList.closedDates; 1275 this.eventsList.events.forEach(evt => { 1276 if (evt.closed === true) { 1277 //this.closedDays[i] = evt.date; 1278 } 1279 else { 1280 this.openDays[i] = evt.date; 1281 } 1282 let getEndDate = new Date(evt.endDate); 1283 let endDate = getEndDate.setDate(getEndDate.getDate() + 1); 1284 lists[i] = { 'title': evt.name, 'start': evt.date, 'end': endDate, "color": "pink", 'allDay': false, 'textColor': 'white' }; 1285 i++; 1286 }); 1287 this.eventsEnableList = lists; 1288 this.calendarOptions = { 1289 editable: true, 1290 timezone: 'UTC', 1291 eventLimit: false, 1292 showNonCurrentDates: false, 1293 header: { 1294 left: 'prev', 1295 center: 'title', 1296 right: 'next' 1297 }, 1298 events: lists 1299 }; 1300 this.isResponse = true; 1301 } 1302 clickButton(data) { 1303 this.isResponse = false; 1304 var lists = []; 1305 var colorinfo = ""; 1306 var extractDate = new Date(data.data); 1307 this.years = extractDate.getUTCFullYear(); 1308 this.month = extractDate.getUTCMonth() + 1; 1309 return this.homepageService.getEvents(this.years, this.month).subscribe((data) => { 1310 var i = 0; 1311 this.closedDays = data.data.closedDates; 1312 this.cookieService.set('events', JSON.stringify(data.data.events)); 1313 data.data.events.forEach(evt => { 1314 //console.log('events', evt); 1315 if (evt.closed === true) { 1316 //this.closedDays[i] = evt.date; 1317 } 1318 else { 1319 this.openDays[i] = evt.date; 1320 } 1321 let getEndDate = new Date(evt.endDate); 1322 let endDate = getEndDate.setDate(getEndDate.getDate() + 1); 1323 if (evt.date == evt.endDate) { 1324 lists[i] = { 'title': evt.name, 'description': evt.description, 'start': evt.date, "color": "pink", 'allDay': false, 'textColor': 'white' }; 1325 } 1326 else { 1327 lists[i] = { 'title': evt.name, 'description': evt.description, 'start': evt.date, 'end': endDate, "color": "pink", 'allDay': false, 'textColor': 'white' }; 1328 } 1329 i++; 1330 }); 1331 this.eventsList = data.data; 1332 this.eventsEnableList = lists; 1333 this.ucCalendar.renderEvents(lists); 1334 this.closedDays.forEach(evt => { 1335 //console.log("Closed Day", evt); 1336 var today1 = new Date(evt); 1337 var cDate1 = today1.getDate().toString(); 1338 if (parseInt(cDate1) < 10) { 1339 cDate1 = "0" + cDate1; 1340 } 1341 var cMonth1 = (today1.getMonth() + 1).toString(); 1342 if (parseInt(cMonth1) < 10) { 1343 cMonth1 = "0" + cMonth1; 1344 } 1345 var cYear1 = today1.getFullYear(); 1346 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 1347 $('td[data-date="' + rDate1 + '"]').addClass('disabledDay'); 1348 }); 1349 this.openDays.forEach(evt => { 1350 var today1 = new Date(evt); 1351 var cDate1 = today1.getDate().toString(); 1352 if (parseInt(cDate1) < 10) { 1353 cDate1 = "0" + cDate1; 1354 } 1355 var cMonth1 = (today1.getMonth() + 1).toString(); 1356 if (parseInt(cMonth1) < 10) { 1357 cMonth1 = "0" + cMonth1; 1358 } 1359 var cYear1 = today1.getFullYear(); 1360 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 1361 $('td[data-date="' + rDate1 + '"]').addClass('openDay'); 1362 }); 1363 this.isResponse = true; 1364 }); 1365 } 1366 dayRender(date) { 1367 this.closedDays.forEach(evt => { 1368 var today1 = new Date(evt); 1369 var cDate1 = today1.getDate().toString(); 1370 if (parseInt(cDate1) < 10) { 1371 cDate1 = "0" + cDate1; 1372 } 1373 var cMonth1 = (today1.getMonth() + 1).toString(); 1374 if (parseInt(cMonth1) < 10) { 1375 cMonth1 = "0" + cMonth1; 1376 } 1377 var cYear1 = today1.getFullYear(); 1378 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 1379 $('td[data-date="' + rDate1 + '"]').addClass('disabledDay'); 1380 }); 1381 this.openDays.forEach(evt => { 1382 var today1 = new Date(evt); 1383 var cDate1 = today1.getDate().toString(); 1384 if (parseInt(cDate1) < 10) { 1385 cDate1 = "0" + cDate1; 1386 } 1387 var cMonth1 = (today1.getMonth() + 1).toString(); 1388 if (parseInt(cMonth1) < 10) { 1389 cMonth1 = "0" + cMonth1; 1390 } 1391 var cYear1 = today1.getFullYear(); 1392 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 1393 $('td[data-date="' + rDate1 + '"]').addClass('openDay'); 1394 }); 1395 var weekdays = [0, 1, 2, 3, 4, 5, 6]; 1396 weekdays.forEach(evt => { 1397 var isHave = this.eventsList.closedDaysOfWeek.indexOf(evt); 1398 if (isHave >= 0) { 1399 $('.fc-content-skeleton').find('thead tr td:eq(' + evt + ')').addClass('closeDays'); 1400 } 1401 }); 1402 } 1403 eventClick(detail) { 1404 if (this.cookieService.check('events')) { 1405 var events = JSON.parse(this.cookieService.get('events')); 1406 //console.log(events); 1407 var eventToShow = [];
1408 events.forEach((val, key) => { 1409 //console.log(detail.event.start._i, val.date); 1410 if (detail.event.start._i == val.date) { 1411 eventToShow.push(val); 1412 } 1413 }); 1414 this.eventForDetails = eventToShow; 1415 //console.log(this.eventForDetails); 1416 this.eventDescription = this.eventForDetails[0].description; 1417 this.eventLink = this.eventForDetails[0].bulletinId; 1418 this.showDetailsCalendar = true; 1419 //console.log(this.eventForDetails); 1420 } 1421 else { 1422 this.eventForDetails = []; 1423 } 1424 } 1425 showDetails(description, title, date, endDate, link = '') { 1426 this.eventTitle = title; 1427 console.log("show details" + description); 1428 this.eventDescription = description; 1429 this.eventDate = date; 1430 this.eventEndDate = endDate; 1431 this.eventLink = link; 1432 //$('#calendarDetail').addClass('show in').show(); 1433 } 1434 hideDetailsCalendar() {
1435 this.showDetailsCalendar = false; 1436 } 1437 currentEvent(event) { 1438 var tempIdCal = $(event.target).val(); 1439 this.eventDescription = this.eventForDetails[tempIdCal].description; 1440 this.eventLink = this.eventForDetails[tempIdCal].bulletinId; 1441 } 1442}; 1443EventsComponent.ctorParameters = () => [ 1444 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__.CookieService }, 1445 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService } 1446]; 1447EventsComponent.propDecorators = { 1448 ucCalendar: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.ViewChild, args: [ng_fullcalendar__WEBPACK_IMPORTED_MODULE_2__.CalendarComponent,] }], 1449 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }] 1450}; 1451EventsComponent = __decorate([ 1452 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 1453 selector: 'app-events', 1454 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_events_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1455 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_5__.ViewEncapsulation.None, 1456 styles: [_events_component_css__WEBPACK_IMPORTED_MODULE_1__] 1457 }) 1458], EventsComponent); 1459 1460 1461 1462/***/ }), 1463 1464/***/ 6285: 1465/*!********************************************************************!*\ 1466 !*** ./src/app/components/home/explorewgt/explorewgt.component.ts ***! 1467 \********************************************************************/ 1468/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1469 1470"use strict"; 1471__webpack_require__.r(__webpack_exports__); 1472/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1473/* harmony export */ "ExplorewgtComponent": function() { return /* binding */ ExplorewgtComponent; } 1474/* harmony export */ }); 1475/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_explorewgt_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./explorewgt.component.html */ 27006); 1476/* harmony import */ var _explorewgt_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./explorewgt.component.css */ 44803); 1477/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 1478/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1479var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1480 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1481 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1482 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 1483 return c > 3 && r && Object.defineProperty(target, key, r), r; 1484}; 1485 1486 1487 1488 1489let ExplorewgtComponent = class ExplorewgtComponent { 1490 constructor(homepageService) { 1491 this.homepageService = homepageService; 1492 this.exploreData = []; 1493 this.exploreData1 = []; 1494 this.selectedStyle = 'a_'; 1495 this.responseAPIstatus = true; 1496 } 1497 ngOnInit() { 1498 if (this.exploreData) { 1499 var temp1 = []; 1500 this.exploreData.buttons.forEach((jsn, keyJ) => { 1501 if (jsn.action == 'S' && jsn.target != null) { 1502 let trgt = jsn.target; 1503 //console.log("trgt", trgt); 1504 trgt = this.stringToJson(trgt); 1505 //console.log("trgt", trgt); 1506 if (trgt.type == 'Boolean' || trgt.type == 'bool') { 1507 trgt = this.booleanJson(trgt); 1508 } 1509 //if(jsn.target.indexOf('{') >= 0 && jsn.target.indexOf('}') >= 0){ 1510 //var trgt:any = JSON.parse(jsn.target); 1511 //} else { 1512 //var trgt:any = 'null';
1513 //} 1514 var tempd = { 1515 id: jsn.id, 1516 caption: jsn.caption, 1517 visible: jsn.visible, 1518 position: jsn.position, 1519 action: jsn.action, 1520 image: jsn.image, 1521 target: trgt 1522 //description:jsn.description 1523 }; 1524 } 1525 else { 1526 var tempd = { 1527 id: jsn.id, 1528 caption: jsn.caption, 1529 visible: jsn.visible, 1530 position: jsn.position, 1531 action: jsn.action, 1532 image: jsn.image, 1533 target: (jsn.target) ? jsn.target : 'null' 1534 //description:jsn.description 1535 }; 1536 } 1537 temp1.push(tempd); 1538 }); 1539 this.exploreData.buttons = temp1; 1540 } 1541 } 1542 loadExplore(pageId) { 1543 return this.homepageService.getExploreData(pageId).subscribe((data) => { 1544 this.exploreData = data; 1545 console.log(this.exploreData); 1546 this.convertData(data); 1547 this.responseAPIstatus = false; 1548 }); 1549 } 1550 //Changinf BE response to JSON. 1551 stringToJson(url) { 1552 var temp = []; 1553 var params = {}; 1554 if (url) { 1555 temp = url.split('?'); 1556 temp.forEach(function (data, key) { 1557 var tmp = []; 1558 if (key == 0) { 1559 tmp = data.split('/'); 1560 if (tmp[2] == 'basic') 1561 tmp[2] = 'Basic'; 1562 if (tmp[2] == 'boolean') 1563 tmp[2] = 'Boolean'; 1564 if (tmp[2] == 'barcode') 1565 tmp[2] = 'Barcode'; 1566 if (tmp[2] == 'call') 1567 tmp[2] = 'Call'; 1568 if (tmp[2] == 'ar') 1569 tmp[2] = 'AcceleratedReader'; 1570 if (tmp[2] == 'fountas') 1571 tmp[2] = 'Fountas'; 1572 if (tmp[2] == 'lexile') 1573 tmp[2] = 'Lexile'; 1574 if (tmp[2] == 'marc') 1575 tmp[2] = 'Marc'; 1576 if (tmp[2] == 'category') 1577 tmp[2] = 'Category'; 1578 if (tmp[2] == 'rc') 1579 tmp[2] = 'ReadingCounts'; 1580 params['type'] = tmp[2]; 1581 } 1582 else { 1583 tmp = data.split('&'); 1584 tmp.forEach(function (d, k) { 1585 var tp = []; 1586 tp = d.split('='); 1587 params[tp[0]] = tp[0] == 'in' ? tp[1].toUpperCase() : tp[1]; 1588 }); 1589 } 1590 }); 1591 return JSON.parse(JSON.stringify(params)); 1592 } 1593 else { 1594 } 1595 } 1596 //convert button data to json format. 1597 convertData(data) { 1598 var tempA = data; 1599 this.exploreData1 = tempA; 1600 //this.exploreData1.data.buttons = []; 1601 var temp1 = []; 1602 tempA.data.buttons.forEach((jsn, keyJ) => { 1603 //console.log(jsn); 1604 if (jsn.action == 'S' && jsn.target != null) { 1605 var trgt = jsn.target; 1606 trgt = this.stringToJson(trgt); 1607 if (trgt.type == 'Boolean' || trgt.type == 'bool') { 1608 trgt = this.booleanJson(trgt); 1609 } 1610 var tempd = { 1611 id: jsn.id, 1612 caption: jsn.caption, 1613 visible: jsn.visible, 1614 position: jsn.position, 1615 action: jsn.action, 1616 image: jsn.image, 1617 target: trgt 1618 }; 1619 } 1620 else { 1621 var tempd = { 1622 id: jsn.id, 1623 caption: jsn.caption, 1624 visible: jsn.visible, 1625 position: jsn.position, 1626 action: jsn.action, 1627 image: jsn.image, 1628 target: (jsn.target) ? jsn.target : 'null' 1629 }; 1630 } 1631 temp1.push(tempd); 1632 }); 1633 //console.log(temp1); 1634 this.exploreData1 = temp1; 1635 //console.log(this.exploreData1); 1636 } 1637 //Checking boolean search parameters... 1638 booleanJson(url) { 1639 //console.log("url", url); 1640 var params = {}; 1641 params['type'] = (url.type == 'bool') ? 'Boolean' : url.type; 1642 params['count'] = url.count; 1643 params['operators'] = []; 1644 for (var i = 1; i <= url.count; i++) { 1645 var temp = { 1646 'op': url['op-' + i] ? url['op-' + i] : 'and', 1647 'term': url['term-' + i] ? url['term-' + i] : '', 1648 'in': url['in-' + i] ? url['in-' + i] : url['by-' + i] ? url['by-' + i] : '', 1649 }; 1650 params['operators'].push(temp); 1651 } 1652 if ("l-cat" in url) { 1653 params["l-cat"] = url["l-cat"]; 1654 } 1655 if ("l-inlib" in url) { 1656 params["l-inlib"] = url["l-inlib"]; 1657 } 1658 if ("l-lexmin" in url) { 1659 params["l-lexmin"] = url["l-lexmin"]; 1660 params["l-lexmax"] = url["l-lexmax"]; 1661 params["l-lexcode"] = url["l-lexcode"]; 1662 params["l-lexpat"] = url["l-lexpat"]; 1663 } 1664 if ("l-armin" in url) { 1665 params["l-armin"] = url["l-armin"]; 1666 params["l-armax"] = url["l-armax"]; 1667 params["l-arminpt"] = url["l-arminpt"]; 1668 params["l-armaxpt"] = url["l-armaxpt"]; 1669 params["l-arint"] = url["l-arint"]; 1670 } 1671 if ("l-rcmin" in url) { 1672 params["l-rcmin"] = url["l-rcmin"]; 1673 params["l-rcmax"] = url["l-rcmax"]; 1674 params["l-rcminpt"] = url["l-rcminpt"]; 1675 params["l-rcmaxpt"] = url["l-rcmaxpt"]; 1676 } 1677 if ("l-fpmin" in url) { 1678 params["l-fpmin"] = url["l-fpmin"]; 1679 params["l-fpmax"] = url["l-fpmax"]; 1680 } 1681 return JSON.parse(JSON.stringify(params)); 1682 } 1683 //This will create the modern url. 1684 queryToJsonTest(queryStringReview) { 1685 const params = new URLSearchParams(new URL(queryStringReview, 'http://library.site').search); 1686 const minRate = params.get('minrate'); 1687 const reviewAge = params.get('reviewage'); 1688 const reviewerName = params.get('reviewername'); 1689 const categories = params.get('categories');
1690 var urlParams = { 1691 minrate: minRate || '', 1692 reviewage: reviewAge || '', 1693 reviewername: reviewerName || '', 1694 categories: categories || '', 1695 }; 1696 return urlParams; 1697 } 1698 queryToJson(url) { 1699 var urlParams = {}; 1700 var temp = []; 1701 var parameter = ''; 1702 if (url.type == 'Boolean') { 1703 urlParams.type = url.type; 1704 urlParams.count = url.count; 1705 url.operators.forEach((data, key) => { 1706 parameter += 'term-' + (key + 1) + '=' + data.term + '&'; 1707 parameter += 'in-' + (key + 1) + '=' + data.in + '&'; 1708 parameter += 'op-' + (key + 1) + '=' + (data.op) + (key + 1 !== url.operators.length ? '&' : ''); 1709 }); 1710 if ("l-cat" in url) { 1711 parameter += "&l-cat=" + url["l-cat"]; 1712 } 1713 if ("l-inlib" in url) { 1714 parameter += "&l-inlib=" + url["l-inlib"]; 1715 } 1716 if ("l-lexmin" in url) { 1717 parameter += "&l-lexmax=" + url["l-lexmax"]; 1718 parameter += "&l-lexmin=" + url["l-lexmin"]; 1719 parameter += "&l-lexcode=" + url["l-lexcode"]; 1720 parameter += "&l-lexpat=" + url["l-lexpat"]; 1721 } 1722 if ("l-armin" in url) { 1723 parameter += "&l-armin=" + url["l-armin"]; 1724 parameter += "&l-armax=" + url["l-armax"]; 1725 parameter += "&l-arminpt=" + url["l-arminpt"]; 1726 parameter += "&l-armaxpt=" + url["l-armaxpt"]; 1727 parameter += "&l-arint=" + url["l-arint"]; 1728 } 1729 if ("l-rcmin" in url) { 1730 parameter += "&l-rcmin=" + url["l-rcmin"]; 1731 parameter += "&l-rcmax=" + url["l-rcmax"]; 1732 parameter += "&l-rcminpt=" + url["l-rcminpt"]; 1733 parameter += "&l-rcmaxpt=" + url["l-rcmaxpt"]; 1734 } 1735 if ("l-fpmin" in url) { 1736 parameter += "&l-fpmin=" + url["l-fpmin"]; 1737 parameter += "&l-fpmax=" + url["l-fpmax"]; 1738 } 1739 urlParams['parameters'] = parameter; 1740 } 1741 else { 1742 urlParams = url; 1743 } 1744 if (url.type == 'Marc') { 1745 if (url.exact == 'y') 1746 url.exact = true; 1747 if (url.exact == 'n') 1748 url.exact = false; 1749 } 1750 return urlParams; 1751 } 1752 //This will create the modern url. 1753 stringToQuerySearchReviewUrl(queryStringReview) { 1754 console.log(queryStringReview); 1755 const params = new URLSearchParams(new URL(queryStringReview, 'http://library.site').search); 1756 const minRate = params.get('minrate'); 1757 const reviewAge = params.get('reviewage'); 1758 const reviewerName = params.get('reviewername'); 1759 const categories = params.get('categories'); 1760 var urlParams = { 1761 minrate: minRate || '', 1762 reviewage: reviewAge || '', 1763 reviewername: reviewerName || '', 1764 categories: categories || '', 1765 }; 1766 return urlParams; 1767 } 1768}; 1769ExplorewgtComponent.ctorParameters = () => [ 1770 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 1771]; 1772ExplorewgtComponent.propDecorators = { 1773 size: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }], 1774 pageId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }], 1775 exploreData: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 1776}; 1777ExplorewgtComponent = __decorate([ 1778 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 1779 selector: 'app-explorewgt', 1780 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_explorewgt_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 1781 styles: [_explorewgt_component_css__WEBPACK_IMPORTED_MODULE_1__] 1782 }) 1783], ExplorewgtComponent); 1784 1785 1786 1787/***/ }), 1788 1789/***/ 10294: 1790/*!****************************************************************!*\ 1791 !*** ./src/app/components/home/homepage/homepage.component.ts ***! 1792 \****************************************************************/ 1793/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1794 1795"use strict"; 1796__webpack_require__.r(__webpack_exports__); 1797/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1798/* harmony export */ "HomepageComponent": function() { return /* binding */ HomepageComponent; } 1799/* harmony export */ }); 1800/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_homepage_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./homepage.component.html */ 32666); 1801/* harmony import */ var _homepage_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./homepage.component.css */ 61748); 1802/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/common */ 54364); 1803/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/core */ 2316); 1804/* harmony import */ var _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/widget-settings.service */ 71245); 1805/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 1806/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 1807/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 1808/* harmony import */ var _angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/cdk/drag-drop */ 28487); 1809/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/router */ 71258); 1810/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 1811/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 1812/* harmony import */ var _services_tenant_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../services/tenant.service */ 62255); 1813var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 1814 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 1815 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 1816 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
1816 3 ? d(target, key, r) : d(target, key)) || r; 1817 return c > 3 && r && Object.defineProperty(target, key, r), r; 1818}; 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832let HomepageComponent = class HomepageComponent { 1833 constructor(cookieService, homepageService, document, routerService, authService, widgetSettingsService, router, notifierService, tenantService) { 1834 this.cookieService = cookieService; 1835 this.homepageService = homepageService; 1836 this.document = document; 1837 this.routerService = routerService; 1838 this.authService = authService; 1839 this.widgetSettingsService = widgetSettingsService; 1840 this.router = router; 1841 this.tenantService = tenantService; 1842 this.themes = { 'default': 'summertime', 'dark-theme': 'luna', 'SleekAndRelaxed': 'berry', 'violet-theme': 'mochablue', 'kids1-theme': 'birthdayCake', 'kids1-theme kids2-theme': 'playground', 'kids1-theme christmas-theme': 'christmas', 'kids1-theme beach-theme': 'beach' }; 1843 this.isLogin = ''; 1844 this.authToken = ''; 1845 this.authTok = ''; 1846 this.themeColors = { 1847 'summertime': ['#26b6ef', '#ffca51', '#26b6ef', '#dadada', '#131313'], 1848 'berry': ['#7283fe', '#f29085', '#c5ccff', '#d2d2d2', '#0a0a3a'], 1849 'mochablue': ['#bc9b64', '#072a55', '#2d77d3', '#779dc0', '#072a55'], 1850 'luna': ['#6a6e71', '#87c232', '#222629', '#a7a7a7', '#2d3236'], 1851 'birthdayCake': ['#25c393', '#f077ac', '#25c393', '#ffffff', '#f077ac'], 1852 'playground': ['#f96767', '#25c393', '#1da97e', '#ffffff', '#25c393'], 1853 'christmas': ['#067836', '#e44356', '#00923d', '#ffffff', '#00923d'], 1854 'beach': ['#03baca', '#f2ceae', '#ed42aa', '#ffffff', '#00d6e8'] //ed42aa 1855 }; 1856 this.gloalSetting = []; 1857 this.responseAPIstatus = true; 1858 this.widgetsSetting = []; 1859 this.editMode = false; 1860 this.sizeOptions = [3, 6, 9, 12]; 1861 this.showManageWidhetsForm = false; 1862 this.addWidgetResponce = false; 1863 this.isStartRatingDisable = true; 1864 this.hidePopularTitles = false; 1865 this.tetent = ''; 1866 this.confiGurationSetting = '*'; 1867 this.token = ''; 1868 this.qaImagesList = []; 1869 this.QaImagesList = false; 1870 this.fileToUpload = null; 1871 this.showPaletteBox = false; 1872 this.theme = 'default'; 1873 this.tempTenant = ''; 1874 this.custumThemeLoad = false; 1875 this.showDeleteConfirm = false; 1876 this.deleteWidgetId = 0; 1877 this.deleteWidgetEvent = null; 1878 this.halfWidgetCount = 0; 1879 this.leftWidgetHeight = 0; 1880 this.rightWidgetHeight = 0; 1881 this.defaultMargin = 160; 1882 this.defaultMarginInEditMode = 70; 1883 this.isReload = false; 1884 this.color1 = '#bc9b64'; 1885 this.color2 = '#072a55'; 1886 this.color3 = '#2d77d3'; 1887 this.color4 = '#719dc0'; 1888 this.color5 = '#072a55'; 1889 //Editors for widgets. 1890 this.optionsEditor = { 1891 key: '6LF5g1D4A3B2B5D5E4F-11SLJCKHXOSLMc1YGSGb1ZXHSe1CgB5A4D4A3E3C2A13A19B6C6==', 1892 toolbarInline: false, 1893 attribution: false, 1894 toolbarVisibleWithoutSelection: true, 1895 filesManagerUploadParam: 'file', 1896 filesManagerUploadMethod: 'post', 1897 filesManagerAllowedTypes: ['image/png', 'image/jpg', 'image/jpeg', 'image/gif', 'image/webp'], 1898 filesManagerUploadURL: 'https://api.library.site/v1/widget/image/upload', 1899 imageStyles: { 1900 class1: 'Class 1', 1901 class2: 'Class 2' 1902 }, 1903 imageUploadMethod: 'post', 1904 requestHeaders: { 1905 tenant: '', 1906 configuration: this.confiGurationSetting, 1907 Authorization: "Bearer " + localStorage.getItem('token'), 1908 }, 1909 imageUploadURL: 'https://api.library.site/v1/widget/image/upload', 1910 events: { 1911 'image.uploaded': function (response) { 1912 var img_url = JSON.parse(response).data.link; 1913 this.image.insert(img_url, false, null, this.image.get(), response); 1914 return false;
1915 } 1916 }, 1917 imageEditButtons: ['imageReplace', 'imageAlign', 'imageRemove', '|', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '-', 'imageDisplay', 'imageStyle', 'imageAlt', 'imageSize'] 1918 }; 1919 // Setting options for editors. 1920 this.option = { 1921 animation: 150, 1922 handle: '.my-handle', 1923 sort: true, 1924 group: 'widgets', 1925 direction: 'vertical', 1926 dragoverBubble: true, 1927 removeCloneOnHide: false, 1928 onUpdate: (event) => { 1929 this.onSortFinish(event); 1930 } 1931 }; 1932 //checking for theme to change inner banner and other attributes. 1933 this.homepageService.theme$.subscribe(theme => { 1934 //console.log(theme, '++++++++'); 1935 this.theme = theme; 1936 }); 1937 this.homepageService.isLogin$.subscribe((resultList) => { 1938 this.optionsEditor.requestHeaders.Authorization = 'Bearer ' + localStorage.getItem('token'); 1939 if (resultList == 'true') { 1940 this.isLogin = resultList; 1941 this.init(); 1942 } 1943 //this.openSettingTab(event); 1944 // if(this.isLogin){ 1945 // this.authToken = localStorage.getItem('token'); 1946 // } 1947 }); 1948 // this.authToken = this.homepageService.getAuthorization(this.authTok); 1949 this.notifier = notifierService; 1950 this.router.events.subscribe((val) => { 1951 this.document.body.classList.remove('manage-view'); 1952 }); 1953 this.optionsEditor.requestHeaders.tenant = this.tenantService.tenant; 1954 this.optionsEditor.requestHeaders.configuration = this.tenantService.configurationSetting; 1955 } 1956 ngOnInit() { 1957 if (!this.isLogin) { 1958 this.init(); 1959 } 1960 } 1961 // RY widget resolved into Popular-fallback mode; suppress any separate Popular Titles widget to avoid duplication. 1962 // When RY is NOT showing Popular in its place (real recommendations, login prompt, etc.) the regular 1963 // Popular Titles widget must be shown again, so mirror the state both ways. 1964 onRecommendedShowingPopular(showing) { 1965 this.hidePopularTitles = showing; 1966 } 1967 init() { 1968 sessionStorage.setItem('lastSearchKeyword', 'defaultsearchkeywordtest'); 1969 // sessionStorage.removeItem('lastSearchLocation'); 1970 this.document.body.classList.remove('inner-page'); 1971 this.document.body.classList.remove('list'); 1972 // 1973 this.getwidgetsSettings(); 1974 this.routerService.setTextUrl('Home'); 1975 //Getting widget data for resource, explore, bulletins. 1976 } 1977 calculateSpanElementMargin(widgrts, spanElement) { 1978 if (widgrts.settings.width && widgrts.settings.width === 'H') { 1979 var currentWidgetHeight = spanElement.offsetHeight; 1980 if (this.halfWidgetCount === 0) { 1981 this.leftWidgetHeight = currentWidgetHeight; 1982 } 1983 else if (this.halfWidgetCount > 0) { 1984 this.rightWidgetHeight += currentWidgetHeight; 1985 } 1986 this.halfWidgetCount += 1; 1987 } 1988 else { 1989 this.halfWidgetCount = 0; 1990 this.leftWidgetHeight = 0; 1991 this.rightWidgetHeight = 0; 1992 } 1993 if (this.halfWidgetCount > 1 && ((this.rightWidgetHeight + this.defaultMargin) > this.leftWidgetHeight) && !this.editMode) { 1994 var marginBottom = this.leftWidgetHeight - this.rightWidgetHeight; 1995 if (marginBottom > 0) { 1996 this.halfWidgetCount = 0; 1997 this.leftWidgetHeight = 0; 1998 this.rightWidgetHeight = 0; 1999 return marginBottom + 1; 2000 } 2001 } 2002 else if (this.halfWidgetCount > 1 && (this.rightWidgetHeight + this.defaultMarginInEditMode > this.leftWidgetHeight) && this.editMode) { 2003 var marginBottom = this.leftWidgetHeight - this.rightWidgetHeight; 2004 if (marginBottom > 0) { 2005 this.halfWidgetCount = 0; 2006 this.leftWidgetHeight = 0; 2007 this.rightWidgetHeight = 0; 2008 return marginBottom + 1; 2009 } 2010 } 2011 return 0; 2012 } 2013 changeWidgetSettingPosition(id, newIndex) { 2014 const indexFrom = this.widgetsSetting.data.findIndex((widget) => widget.id === id); 2015 if (indexFrom === -1 || newIndex < 0 || newIndex >= this.widgetsSetting.data.length) { 2016 console.error('Invalid index or ID'); 2017 return; 2018 } 2019 const itemToMove = this.widgetsSetting.data.splice(indexFrom, 1)[0]; 2020 this.widgetsSetting.data.splice(newIndex, 0, itemToMove); 2021 } 2022 ngAfterViewInit() { 2023 var $this = this; 2024 setTimeout(function () { 2025 $this.tempTenant = localStorage.getItem('loadedtenant'); 2026 //console.log($this.gloalSetting); 2027 }, 3000); 2028 //this.authToken = this.homepageService.getAuthorization(this.authTok); 2029 // console.log(this.authToken); 2030 } 2031 //Getting Library Configurations. 2032 getSavedConfig() { 2033 this.gloalSetting = this.homepageService.getUpdatedConfig(); 2034 if (localStorage.getItem('theme') !== null) { 2035 var tempThemeName = localStorage.getItem('theme'); 2036 if (tempThemeName.indexOf('custom') > -1) { 2037 var customColors = tempThemeName.split(' '); 2038 this.color1 = customColors[1]; 2039 this.color2 = customColors[2]; 2040 this.color3 = customColors[3]; 2041 this.color4 = customColors[4]; 2042 this.color5 = customColors[5]; 2043 } 2044 else { 2045 this.updateColors(tempThemeName); 2046 } 2047 } 2048 this.responseAPIstatus = false;
2049 if (this.gloalSetting.data.settings.ratings.enabled && this.gloalSetting.data.settings.ratings.loginRequired) { 2050 //if(this.cookieService.check( 'info')){ 2051 if (localStorage.getItem('info')) { 2052 this.isStartRatingDisable = false; 2053 } 2054 else { 2055 this.isStartRatingDisable = true; 2056 } 2057 } 2058 else if (this.gloalSetting.data.settings.ratings.enabled && !this.gloalSetting.data.settings.ratings.loginRequired) { 2059 this.isStartRatingDisable = false; 2060 } 2061 else if (!this.gloalSetting.data.settings.ratings.enabled) { 2062 this.isStartRatingDisable = true; 2063 } 2064 } 2065 //To get widget settings. 2066 getwidgetsSettings() { 2067 this.conditionallyCall = this.homepageService.checkContentHave(); 2068 if (this.conditionallyCall === true) { 2069 this.homepageService.getwidgetsupdatedSetting().subscribe((data) => { 2070 this.widgetsSetting = data; 2071 this.getSavedConfig(); 2072 }); 2073 //this.widgetsSetting = this.homepageService.getwidgetsSettingDataSave(); 2074 //this.getSavedConfig(); 2075 } 2076 else { 2077 this.homepageService.getwidgetsSetting().subscribe((data) => { 2078 this.widgetsSetting = data;
2079 this.getSavedConfig(); 2080 }); 2081 } 2082 } 2083 // Enable/Disable edit mode. 2084 editModeEnable() { 2085 if ($('#enableMode').is(':checked')) { 2086 this.editMode = true; 2087 this.document.body.classList.add('manage-view'); 2088 //$('#enableMode').addClass('edit'); 2089 } 2090 else { 2091 this.editMode = false; 2092 this.document.body.classList.remove('manage-view'); 2093 //$('#enableMode').removeClass('edit'); 2094 } 2095 } 2096 // Show widget form. 2097 showManageWidgetform() { 2098 $("button.addWdgt").on("mouseover", function () { 2099 $('.instructions-editmode').addClass('hide').removeClass('show'); 2100 var ActWidget = $(this).attr('id'); 2101 $('#ins' + ActWidget).removeClass('hide').addClass('show'); 2102 }); 2103 if (this.showManageWidhetsForm === true) { 2104 this.showManageWidhetsForm = false; 2105 } 2106 else { 2107 this.showManageWidhetsForm = true; 2108 this.showPaletteBox = false; 2109 } 2110 } 2111 //Hide widget form. 2112 hideManageWidgetform() { 2113 this.showManageWidhetsForm = false; 2114 } 2115 //Show theme pallete. 2116 showPalette() { 2117 if (this.showPaletteBox === true) { 2118 this.showPaletteBox = false; 2119 } 2120 else { 2121 this.showPaletteBox = true; 2122 this.showManageWidhetsForm = false; 2123 } 2124 } 2125 //Hide theme pallette. 2126 hidePalette() { 2127 this.showPaletteBox = false; 2128 } 2129 // To show/hide edit buttons. 2130 openSettingTab(event) { 2131 if (!$('#editModeButton').hasClass('edit')) { 2132 this.editMode = true; 2133 this.document.body.classList.add('manage-view'); 2134 this.optionsEditor.requestHeaders.Authorization = "Bearer " + localStorage.getItem('token'); 2135 $('#editModeButton').addClass('edit'); 2136 } 2137 else { 2138 this.editMode = false; 2139 this.document.body.classList.remove('manage-view'); 2140 $('#editModeButton').removeClass('edit'); 2141 if (this.isReload) { 2142 window.location.href = "/"; 2143 } 2144 } 2145 } 2146 //Edit logo banner. 2147 editLogobanner(event) { 2148 //if(this.cookieService.check( 'info')){ 2149 if (localStorage.getItem('info')) { 2150 this.optionsEditor.requestHeaders.Authorization = 'Bearer ' + localStorage.getItem('token'); 2151 } 2152 if (event.target.nodeName.toLowerCase() == 'button') { 2153 var checkBoxName = $(event.target).parent().next('.editwidgets').find('.viewSetting:first').attr('name'); 2154 var vt = $(event.target).parent().next('.editwidgets').find('input[name="' + checkBoxName + '"]:checked').val(); 2155 if ($(event.target).hasClass('open')) { 2156 $(event.target).parent().next('.editwidgets').animate({ bottom: "50%", 'opacity': 0 }, 200, 'linear', function () { 2157 $(event.target).removeClass('open'); 2158 $(event.target).parent().next('.editwidgets').removeClass('open'); 2159 $(event.target).parents('.example-box').removeClass('open'); 2160 $(event.target).parents('.example-box').find('section.widgets').css('min-height', 'auto'); 2161 }); 2162 } 2163 else { 2164 this.settingHt = $(event.target).addClass('open').parent().next('.editwidgets').outerHeight() + 50; 2165 $(event.target).parents('.example-box').find('section.widgets').css('min-height', this.settingHt); 2166 $(event.target).addClass('open').parent().next('.editwidgets').addClass('open').animate({ bottom: "50%", 'opacity': 1 }, 200, 'linear'); 2167 $(event.target).parents('.example-box').addClass('open'); 2168 } 2169 } 2170 else { 2171 var checkBoxName = $(event.target).parent().parent().next('.editwidgets').find('.viewSetting:first').attr('name'); 2172 var vt = $(event.target).parent().parent().next('.editwidgets').find('input[name="' + checkBoxName + '"]:checked').val(); 2173 if ($(event.target).parent().hasClass('open')) { 2174 $(event.target).parent().parent().next('.editwidgets').animate({ bottom: "50%", 'opacity': 0 }, 200, 'linear', function () { 2175 $(event.target).parent().removeClass('open'); 2176 $(event.target).parent().parent().next('.editwidgets').removeClass('open'); 2177 $(event.target).parents('.example-box').removeClass('open'); 2178 $(event.target).parents('.example-box').find('section.widgets').css('min-height', 'auto'); 2179 }); 2180 } 2181 else { 2182 this.settingHt = $(event.target).addClass('open').parent().parent().next('.editwidgets').outerHeight() + 50; 2183 $(event.target).parents('.example-box').find('section.widgets').css('min-height', this.settingHt); 2184 $(event.target).parent().addClass('open').parent().next('.editwidgets').addClass('open').animate({ bottom: "50%", 'opacity': 1 }, 200, 'linear'); 2185 $(event.target).parents('.example-box').addClass('open'); 2186 } 2187 } 2188 if (typeof (checkBoxName) != 'undefined') { 2189 if (vt == 'H') { 2190 this.sizeOptions = [5, 10, 15, 20, 25, 50, 75, 100]; 2191 } 2192 else { 2193 this.sizeOptions = [3, 6, 9, 12]; 2194 } 2195 } 2196 if ($("div").find("BulletinWId")) { 2197 this.widgetSettingsService.bulletinList().subscribe((data) => { 2198 this.bulletinList = data.data; 2199 }); 2200 } 2201 if ($("div").find("ResourceListLId")) { 2202 this.widgetSettingsService.getResourcesList().subscribe((data) => { 2203 this.resourceLists = data.data; 2204 }); 2205 } 2206 if ($("div").find("ExplorePageId")) { 2207 this.widgetSettingsService.getExplorePages().subscribe((data) => { 2208 this.explorePage = data.data; 2209 }); 2210 } 2211 } 2212 colseSettingModal(event) { 2213 $(event.target).parents('.editwidgets').animate({ bottom: "50%", 'opacity': 0 }, 200, 'linear', function () { 2214 $(event.target).parents('.editwidgets').toggleClass('open'); 2215 $(event.target).parents('.example-box').toggleClass('open').find('.edit-widgets-btn').find('.btn-edit').toggleClass('open'); 2216 $(event.target).parents('.example-box').find('section.widgets').css('min-height', 'auto'); 2217 }); 2218 }
2219 //change view style from card(thumbnail) to scroll(left to right) 2220 changeView(typeView) { 2221 if (typeView == 'card') { 2222 this.sizeOptions = [3, 6, 9, 12]; 2223 } 2224 else { 2225 this.sizeOptions = [5, 10, 15, 20, 25, 50, 75, 100]; 2226 } 2227 } 2228 //To save new in library widget. 2229 saveNewInLibaraySetting(event) { 2230 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2231 var wid = $(event.target).parents('.editwidgets').find('#NewInLibarayId').val(); 2232 var viewType = $(event.target).parents('.editwidgets').find('input[name="NewInLibarayView' + wid + '"]:checked').val(); 2233 var listSize = $(event.target).parents('.editwidgets').find('#NewInLibaraySize').val(); 2234 //if(this.cookieService.check( 'info')){ 2235 if (localStorage.getItem('info')) { 2236 var token = localStorage.getItem('token'); 2237 } 2238 else { 2239 this.notifier.notify('error', 'Login Expired.Please login again'); 2240 this.logout(); 2241 return false; 2242 } 2243 return this.widgetSettingsService.newInPopularSetting(viewType, listSize, wid, token).subscribe((data) => { 2244 if (data.status) { 2245 this.updateWidgetContent('#NewInLibarayId', event.target); 2246 //$('#NewInLibarayId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2247 } 2248 else { 2249 $('#NewInLibarayId').after('<span class="success error">Something went wrong. Try Again</span>'); 2250 } 2251 setTimeout(function () { 2252 $('span.success').remove(); 2253 }, 10000); 2254 }, (error) => { 2255 this.notifier.notify('error', "Something went wrong."); 2256 }); 2257 } 2258 //To save message or text widget 2259 saveMessageSetting(event) { 2260 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2261 var wid = $(event.target).parents('.editwidgets').find('#messageId').val(); 2262 var viewType = $(event.target).parents('.editwidgets').find('input[name="messageView' + wid + '"]:checked').val(); 2263 var content = $(event.target).parents('.editwidgets').find('#contentMessage').val(); 2264 var caption = $(event.target).parents('.editwidgets').find('input[name="caption"]').val(); 2265 //if(this.cookieService.check( 'info')){ 2266 if (localStorage.getItem('info')) { 2267 var token = localStorage.getItem('token'); 2268 } 2269 else { 2270 this.notifier.notify('error', 'Login Expired.Please login again'); 2271 this.logout(); 2272 return false; 2273 } 2274 return this.widgetSettingsService.messageSetting(wid, viewType, content, caption, token).subscribe((data) => { 2275 if (data.status) { 2276 this.updateWidgetContent('#messageId', event.target); 2277 //$('#NewInLibarayId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2278 } 2279 else { 2280 $('#messageId').after('<span class="success error">Something went wrong. Try Again</span>'); 2281 } 2282 setTimeout(function () { 2283 $('span.success').remove(); 2284 }, 10000); 2285 }, (error) => { 2286 this.notifier.notify('error', "Something went wrong."); 2287 this.logout(); 2288 }); 2289 } 2290 //To save popular title widget. 2291 savePopularTitlesSetting(event) { 2292 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2293 var wid = $(event.target).parents('.editwidgets').find('#PopularTitlesId').val(); 2294 var viewType = $(event.target).parents('.editwidgets').find('input[name="PopularTitlesView' + wid + '"]:checked').val(); 2295 var listSize = $(event.target).parents('.editwidgets').find('#PopularTitlesSize').val(); 2296 //if(this.cookieService.check( 'info')){ 2297 if (localStorage.getItem('info')) { 2298 var token = localStorage.getItem('token'); 2299 } 2300 else { 2301 this.notifier.notify('error', 'Login Expired.Please login again'); 2302 this.logout(); 2303 return false;
2304 } 2305 return this.widgetSettingsService.popularTitlesSetting(viewType, listSize, wid, token).subscribe((data) => { 2306 if (data.status) { 2307 this.updateWidgetContent('#PopularTitlesId', event.target); 2308 //$('#PopularTitlesId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2309 } 2310 else { 2311 $('#PopularTitlesId').after('<span class="success error">Something went wrong. Try Again</span>'); 2312 } 2313 setTimeout(function () { 2314 $('span.success').remove(); 2315 }, 10000); 2316 }, (error) => { 2317 this.notifier.notify('error', "Something went wrong."); 2318 }); 2319 } 2320 //To save recommended for you widget. 2321 saveRecommendedForYouSetting(event) { 2322 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2323 var wid = $(event.target).parents('.editwidgets').find('#RecommendedForYouId').val(); 2324 var viewType = $(event.target).parents('.editwidgets').find('input[name="RecommendedForYouView' + wid + '"]:checked').val(); 2325 var listSize = $(event.target).parents('.editwidgets').find('#RecommendedForYouSize').val(); 2326 var fallback = $(event.target).parents('.editwidgets').find('input[name="RecommendedForYouFallback' + wid + '"]:checked').val(); 2327 var showPopularWithPrompt = $(event.target).parents('.editwidgets').find('#RecommendedForYouShowPopularPrompt').is(':checked'); 2328 //if(this.cookieService.check( 'info')){ 2329 if (localStorage.getItem('info')) { 2330 var token = localStorage.getItem('token'); 2331 } 2332 else { 2333 this.notifier.notify('error', 'Login Expired.Please login again'); 2334 this.logout(); 2335 return false; 2336 } 2337 return this.widgetSettingsService.recommendedForYouSetting(viewType, listSize, fallback, showPopularWithPrompt, wid, token).subscribe((data) => { 2338 if (data.status) { 2339 this.updateWidgetContent('#RecommendedForYouId', event.target); 2340 } 2341 else { 2342 $('#RecommendedForYouId').after('<span class="success error">Something went wrong. Try Again</span>'); 2343 } 2344 setTimeout(function () { 2345 $('span.success').remove(); 2346 }, 10000); 2347 }, (error) => { 2348 this.notifier.notify('error', "Something went wrong."); 2349 }); 2350 } 2351 //To save resource list widget (this is single list functions...) 2352 saveResourceListSetting(event) { 2353 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2354 var wid = $(event.target).parents('.editwidgets').find('#ResourceListId').val(); 2355 var viewType = $(event.target).parents('.editwidgets').find('input[name="ResourceListView' + wid + '"]:checked').val(); 2356 var listSize = $(event.target).parents('.editwidgets').find('#ResourceListSize').val(); 2357 var wlid = $(event.target).parents('.editwidgets').find('#ResourceListLId').val(); 2358 //if(this.cookieService.check( 'info')){ 2359 if (localStorage.getItem('info')) { 2360 var token = localStorage.getItem('token'); 2361 } 2362 else { 2363 this.notifier.notify('error', 'Login Expired.Please login again'); 2364 this.logout(); 2365 return false; 2366 } 2367 return this.widgetSettingsService.resourseListSetting(viewType, listSize, wid, wlid, token).subscribe((data) => { 2368 if (data.status) { 2369 this.updateWidgetContent('#ResourceListId', event.target); 2370 //$('#ResourceListId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2371 } 2372 else { 2373 $('#ResourceListId').after('<span class="success error">Something went wrong. Try Again</span>'); 2374 } 2375 setTimeout(function () { 2376 $('span.success').remove(); 2377 }, 10000); 2378 }, (error) => { 2379 this.notifier.notify('error', "Something went wrong."); 2380 }); 2381 } 2382 //To save reource lists widgets. (This will show all the resource lists.) 2383 saveResourceListsSetting(event) { 2384 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2385 var listSize = $(event.target).parents('.editwidgets').find('#ResourceListsSize').val(); 2386 var wid = $(event.target).parents('.editwidgets').find('#ResourceListsId').val(); 2387 //if(this.cookieService.check( 'info')){ 2388 if (localStorage.getItem('info')) { 2389 var token = localStorage.getItem('token'); 2390 } 2391 else { 2392 this.notifier.notify('error', 'Login Expired.Please login again'); 2393 this.logout(); 2394 return false;
2395 } 2396 return this.widgetSettingsService.resourseListsSetting(listSize, wid, token).subscribe((data) => { 2397 if (data.status) { 2398 $().attr('value', 'save').removeAttr('disabled'); 2399 this.updateWidgetContent('#ResourceListLId', event.target); 2400 //$('#ResourceListLId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2401 } 2402 else { 2403 $('#ResourceListLId').after('<span class="success error">Something went wrong. Try Again</span>'); 2404 } 2405 setTimeout(function () { 2406 $('span.success').remove(); 2407 }, 10000); 2408 }, (error) => { 2409 this.notifier.notify('error', "Something went wrong."); 2410 }); 2411 } 2412 //This will save recent review widget. 2413 saveRecentReviewsSetting(event) { 2414 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2415 var wid = $(event.target).parents('.editwidgets').find('#RecentReviewsId').val(); 2416 var viewType = $(event.target).parents('.editwidgets').find('input[name="RecentReviewsView' + wid + '"]:checked').val(); 2417 var listSize = $(event.target).parents('.editwidgets').find('#RecentReviewsSize').val(); 2418 //if(this.cookieService.check( 'info')){ 2419 if (localStorage.getItem('info')) { 2420 var token = localStorage.getItem('token'); 2421 } 2422 else { 2423 this.notifier.notify('error', 'Login Expired.Please login again'); 2424 this.logout(); 2425 return false; 2426 } 2427 return this.widgetSettingsService.recentReviewsSetting(viewType, listSize, wid, token).subscribe((data) => { 2428 if (data.status) { 2429 this.updateWidgetContent('#RecentReviewsId', event.target); 2430 //$('#RecentReviewsId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2431 } 2432 else { 2433 $('#RecentReviewsId').after('<span class="success error">Something went wrong. Try Again</span>'); 2434 } 2435 setTimeout(function () { 2436 $('span.success').remove(); 2437 }, 10000); 2438 }, (error) => { 2439 this.notifier.notify('error', "Something went wrong."); 2440 }); 2441 } 2442 //To save bulletin widget. 2443 saveBulletinListSetting(event) { 2444 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2445 var wid = $(event.target).parents('.editwidgets').find('#BulletinListId').val(); 2446 var viewType = $(event.target).parents('.editwidgets').find('input[name="BulletinListView' + wid + '"]:checked').val(); 2447 var listSize = $(event.target).parents('.editwidgets').find('#BulletinListSize').val(); 2448 //if(this.cookieService.check( 'info')){ 2449 if (localStorage.getItem('info')) { 2450 var token = localStorage.getItem('token'); 2451 } 2452 else { 2453 this.notifier.notify('error', 'Login Expired. Please login again'); 2454 this.logout(); 2455 return false; 2456 } 2457 return this.widgetSettingsService.bulletinListSetting(viewType, listSize, wid, token).subscribe((data) => { 2458 if (data.status) { 2459 this.updateWidgetContent('#BulletinListId', event.target); 2460 //$('#BulletinListId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2461 } 2462 else { 2463 $('#BulletinListId').after('<span class="success error">Something went wrong. Try Again</span>'); 2464 } 2465 setTimeout(function () { 2466 $('span.success').remove(); 2467 }, 10000); 2468 }, (error) => { 2469 this.notifier.notify('error', "Something went wrong."); 2470 }); 2471 } 2472 //To save bulletin setting... (Like: size type etc...) 2473 saveBulletinSetting(event) { 2474 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2475 var wid = $(event.target).parents('.editwidgets').find('#BulletinId').val(); 2476 var viewType = $(event.target).parents('.editwidgets').find('input[name="BulletinView' + wid + '"]:checked').val(); 2477 var bid = $(event.target).parents('.editwidgets').find('#BulletinWId').val(); 2478 //if(this.cookieService.check( 'info')){ 2479 if (localStorage.getItem('info')) { 2480 var token = localStorage.getItem('token'); 2481 } 2482 else { 2483 this.notifier.notify('error', 'Login Expired.Please login again'); 2484 this.logout(); 2485 return false;
2486 } 2487 return this.widgetSettingsService.bulletinSetting(viewType, bid, wid, token).subscribe((data) => { 2488 if (data.status) { 2489 this.updateWidgetContent('#BulletinId', event.target); 2490 //$('#BulletinId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2491 } 2492 else { 2493 $('#BulletinId').after('<span class="success error">Something went wrong. Try Again</span>'); 2494 } 2495 setTimeout(function () { 2496 $('span.success').remove(); 2497 }, 10000); 2498 }, (error) => { 2499 this.notifier.notify('error', "Something went wrong."); 2500 }); 2501 } 2502 //To save calendar widget settings. 2503 saveCalendarSetting(event) { 2504 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2505 var viewType = $(event.target).parents('.editwidgets').find('input[name="CalendarView"]:checked').val(); 2506 var messagec = $(event.target).parents('.editwidgets').find('#CalendarMessage').val(); 2507 var wid = $(event.target).parents('.editwidgets').find('#CalendarId').val(); 2508 //if(this.cookieService.check( 'info')){ 2509 if (localStorage.getItem('info')) { 2510 var token = localStorage.getItem('token'); 2511 } 2512 else { 2513 this.notifier.notify('error', 'Login Expired.Please login again'); 2514 this.logout(); 2515 return false; 2516 } 2517 return this.widgetSettingsService.calendarSetting(viewType, messagec, wid, token).subscribe((data) => { 2518 if (data.status) { 2519 this.updateWidgetContent('#CalendarId', event.target); 2520 //$('#CalendarId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2521 } 2522 else { 2523 $('#CalendarId').after('<span class="success error">Something went wrong. Try Again</span>'); 2524 } 2525 setTimeout(function () { 2526 $('span.success').remove(); 2527 }, 10000); 2528 }, (error) => { 2529 this.notifier.notify('error', "Something went wrong."); 2530 }); 2531 } 2532 //TO save explore buttons widget's settings. 2533 saveExploreSetting(event) { 2534 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2535 var wid = $(event.target).parents('.editwidgets').find('#ExploreId').val(); 2536 var viewType = $(event.target).parents('.editwidgets').find('input[name="ExploreView' + wid + '"]:checked').val(); 2537 var pageId = $(event.target).parents('.editwidgets').find('select#ExplorePageId').val(); 2538 //if(this.cookieService.check( 'info')){ 2539 var token = localStorage.getItem('token'); 2540 //} else { 2541 //this.notifier.notify( 'error', 'Login Expired.Please login again'); 2542 //this.logout(); 2543 //return false; 2544 //} 2545 return this.widgetSettingsService.exploreViewSetting(viewType, pageId, wid, token).subscribe((data) => { 2546 if (data.status) { 2547 this.updateWidgetContent('#ExploreId', event.target); 2548 //$('#ExploreId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2549 } 2550 else { 2551 $('#ExploreId').after('<span class="success error">Something went wrong. Try Again</span>'); 2552 } 2553 setTimeout(function () { 2554 $('span.success').remove(); 2555 }, 10000); 2556 }, (error) => { 2557 this.notifier.notify('error', "Something went wrong."); 2558 }); 2559 } 2560 //TO save links widget. 2561 saveLinksSetting(event) { 2562 var wid = $(event.target).parents('.editwidgets').find('#LinksId').val(); 2563 var viewType = $(event.target).parents('.editwidgets').find('input[name="LinksView' + wid + '"]:checked').val(); 2564 var captionW = $(event.target).parents('.editwidgets').find('input[name="LinksCaptions"]').val(); 2565 let links = []; 2566 var error = 0; 2567 var thiss = this; 2568 $(event.target).parents('.editwidgets').find("small.text-danger").remove(); 2569 $(event.target).parents('.editwidgets').find('div.LinksDetails').each(function () { 2570 let link = {}; 2571 if ($.trim($(this).find('input[name="title"]').val().toString()) != '' && $.trim($(this).find('input[name="url"]').val().toString()) != '') { 2572 link['caption'] = $(this).find('input[name="title"]').val(); 2573 link['url'] = $(this).find('input[name="url"]').val(); 2574 if (thiss.validateUrl(link['url']) == false) { 2575 var errorMsg = '<small class="text-danger ">Please enter correct URL</small>'; 2576 $(this).find('input[name="url"]').parent().append(errorMsg); 2577 error++; 2578 } 2579 //console.log(thiss.validateUrl(link['url'])); 2580 links.push(link); 2581 } 2582 }); 2583 if (error > 0) { 2584 return false;
2585 } 2586 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2587 //if(this.cookieService.check( 'info')){ 2588 var token = localStorage.getItem('token'); 2589 //} else { 2590 //this.notifier.notify( 'error', 'Login Expired.Please login again'); 2591 //this.logout(); 2592 //return false; 2593 //} 2594 return this.widgetSettingsService.linksSetting(viewType, captionW, wid, links, token).subscribe((data) => { 2595 if (data.status) { 2596 this.updateWidgetContent('#LinksId', event.target); 2597 //$('#LinksId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2598 } 2599 else { 2600 $(event.target).parents('.editwidgets').find('#LinksId').after('<span class="success error">Something went wrong. Try Again</span>'); 2601 } 2602 setTimeout(function () { 2603 $('span.success').remove(); 2604 }, 10000); 2605 }, (error) => { 2606 this.notifier.notify('error', "Something went wrong."); 2607 }); 2608 } 2609 validateUrl(value) { 2610 return /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value); 2611 } 2612 //To save Q&A widgets. 2613 saveQASetting(event) { 2614 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2615 var wid = $(event.target).parents('.editwidgets').find('#QAId').val(); 2616 var caption = $(event.target).parents('.editwidgets').find('#QACaption').val(); 2617 var image = $(event.target).parents('.editwidgets').find('#QAImage').val(); 2618 let quesAns = []; 2619 $(event.target).parents('.editwidgets').find('div.QAList').each(function () { 2620 let QA = {}; 2621 if ($.trim($(this).find('input[name="question"]').val().toString()) != '' && $.trim($(this).find('textarea[name="answer"]').val().toString()) != '') { 2622 QA['q'] = $(this).find('input[name="question"]').val(); 2623 QA['a'] = $(this).find('textarea[name="answer"]').val(); 2624 quesAns.push(QA); 2625 } 2626 }); 2627 //if(this.cookieService.check( 'info')){ 2628 var token = localStorage.getItem('token'); 2629 //} else { 2630 //this.notifier.notify( 'error', 'Login Expired.Please login again'); 2631 //this.logout(); 2632 //return false; 2633 //} 2634 return this.widgetSettingsService.qaSetting(caption, wid, quesAns, image, token).subscribe((data) => { 2635 if (data.status) { 2636 this.updateWidgetContent('#QAId', event.target); 2637 //$('#LinksId').parents('.editwidgets').find('.CloseIcon').trigger('click'); 2638 } 2639 else { 2640 $('#QAId').after('<span class="success error">Something went wrong. Try Again</span>'); 2641 } 2642 setTimeout(function () { 2643 $('span.success').remove(); 2644 }, 10000); 2645 }, (error) => { 2646 this.notifier.notify('error', "Something went wrong."); 2647 }); 2648 } 2649 //Save location and hours widget. 2650 saveLocationHoursSetting(event) { 2651 $(event.target).attr('value', 'saving...').attr('disabled', 'disabled'); 2652 var wid = $(event.target).parents('.editwidgets').find('#LocationHoursId').val(); 2653 var viewType = $(event.target).parents('.editwidgets').find('input[name="LLView' + wid + '"]:checked').val(); 2654 var LocationText = $(event.target).parents('.editwidgets').find('#LocationText').val(); 2655 var LocationMap = $(event.target).parents('.editwidgets').find('#LocationMap').val(); 2656 let hours = []; 2657 $(event.target).parents('.editwidgets').find('div.LocationHours').each(function () { 2658 let hour = {}; 2659 if ($.trim($(this).find('input[name="Caption"]').val().toString()) != '' && $.trim($(this).find('input[name="Hours"]').val().toString()) != '') { 2660 hour['caption'] = $(this).find('input[name="Caption"]').val(); 2661 hour['hours'] = $(this).find('input[name="Hours"]').val(); 2662 hours.push(hour); 2663 } 2664 }); 2665 //if(this.cookieService.check( 'info')){ 2666 var token = localStorage.getItem('token'); 2667 //} else { 2668 //this.notifier.notify( 'error', 'Login Expired.Please login again'); 2669 //this.logout(); 2670 //return false;
2671 //} 2672 return this.widgetSettingsService.locationHoursSetting(viewType, LocationMap, LocationText, wid, hours, token).subscribe((data) => { 2673 if (data.status) { 2674 this.updateWidgetContent('#LocationHoursId', event.target); 2675 } 2676 else { 2677 $('#LocationHoursId').after('<span class="success error">Something went wrong. Try Again</span>'); 2678 } 2679 setTimeout(function () { 2680 $('span.success').remove(); 2681 }, 10000); 2682 }, (error) => { 2683 this.notifier.notify('error', "Something went wrong."); 2684 }); 2685 } 2686 //To add new link, in links widget. 2687 addNewLink(event) { 2688 var linkDiv = $(event.target).parents('.example-box').find('#linksWidgetsCon').find('.LinksDetails:first').clone(); 2689 linkDiv.find('input').val(''); 2690 linkDiv.find('.sa_abso_delete_icon').removeClass('hide'); 2691 $(event.target).parents('.example-box').find('#linksWidgetsCon').find('.LinksDetails:last').after(linkDiv); 2692 this.settingHt = $(event.target).parents('.editwidgets').outerHeight() + 50; 2693 $(event.target).parents('.example-box').find('section.widgets').css('min-height', this.settingHt); 2694 } 2695 addNewLocationHour(event) { 2696 var llDiv = $(event.target).parents('.example-box').find('#locationHourSetting').find('.LocationHours:first').clone(); 2697 llDiv.find('.sa_abso_delete_icon').removeClass('hide'); 2698 $(event.target).parents('.example-box').find('#locationHourSetting').find('.LocationHours:last').after(llDiv); 2699 this.settingHt = $(event.target).parents('.editwidgets').outerHeight() + 50; 2700 $(event.target).parents('.example-box').find('section.widgets').css('min-height', this.settingHt); 2701 setTimeout(function () { 2702 llDiv.find('input').val(''); 2703 }, 100); 2704 } 2705 //Add new question to Q&A widget. 2706 addNewQuestion(event) { 2707 var QADiv = $(event.target).parents('#QAwidget').find('.QAList:first').clone(); 2708 QADiv.find('textarea').val(''); 2709 QADiv.find('input').val(''); 2710 QADiv.find('.sa_abso_delete_icon').removeClass('hide'); 2711 $(event.target).parents('#QAwidget').find('.QAList:last').after(QADiv); 2712 this.settingHt = $(event.target).parents('.editwidgets').outerHeight() + 50; 2713 $(event.target).parents('.example-box').find('section.widgets').css('min-height', this.settingHt); 2714 } 2715 //Checking for widget setting 2716 updateWidgetContent(id, selector) { 2717 this.homepageService.getwidgetsupdatedSetting().subscribe((data) => { 2718 this.widgetsSetting = data;
2719 this.getSavedConfig(); 2720 $(id).parents('.editwidgets').find('.CloseIcon').trigger('click'); 2721 $(selector).attr('value', 'save').removeAttr('disabled'); 2722 }); 2723 } 2724 //Spare function need to use after BE provide some API for that. 2725 removeOptions(event) { 2726 //$(event.target).parent('.sa_rel_delete_cont').remove(); 2727 } 2728 drop(event) { 2729 var wid = this.widgetsSetting.data[event.previousIndex].id; 2730 var newIndex = parseInt(event.currentIndex) + 1; 2731 //if(this.cookieService.check( 'info')){ 2732 if (localStorage.getItem('info')) { 2733 var token = localStorage.getItem('token'); 2734 } 2735 this.homepageService.reOrderWidgets(wid, newIndex, token).subscribe((data) => { 2736 }); 2737 (0,_angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_8__.moveItemInArray)(this.widgetsSetting.data, event.previousIndex, event.currentIndex); 2738 } 2739 onSortFinish(evt) { 2740 var wid = $(evt.item).attr('wid'); 2741 //if(this.cookieService.check( 'info')){ 2742 if (localStorage.getItem('info')) { 2743 var token = localStorage.getItem('token'); 2744 } 2745 var newIndex = parseInt(evt.newIndex) + 1; 2746 this.isReload = true; 2747 this.changeWidgetSettingPosition(Number(wid), Number(evt.newIndex)); 2748 this.homepageService.reOrderWidgets(wid, newIndex, token).subscribe((data) => { 2749 //moveItemInArray(this.widgetsSetting.data, event.oldIndex, event.newIndex); 2750 }); 2751 } 2752 removeImage(event, inputId) { 2753 $(event.target).parents('.editwidgets-book').removeClass('haveImage').addClass('removedImage'); 2754 $(event.target).parents('span.example-box').find('#' + inputId).val(''); 2755 } 2756 selectQAImage(event) { 2757 $('document').find('.example-box').removeClass('activeQA'); 2758 var selectImage = $(event.target).attr('id'); 2759 $('.activeQA').find('#QAImage').val(selectImage); 2760 $(event.target).parent().addClass('selected'); 2761 $('.activeQA').find('.editwidgets-book.QA').find('.regularImage').attr('src', $(event.target).attr('src')); 2762 $('.activeQA').find('.editwidgets-book.QA').removeClass('removedImage').addClass('haveImage'); 2763 $('#closeQAChoose').trigger('click'); 2764 } 2765 //Only initializing froala editor, need to update the all image upload to this editor in future. 2766 initFroala($event) { 2767 } 2768 showDeleteConfirmation(event, id) { 2769 this.showDeleteConfirm = true; 2770 this.deleteWidgetId = id; 2771 this.deleteWidgetEvent = event; 2772 } 2773 hideDeleteConfirmation() { 2774 this.showDeleteConfirm = false; 2775 } 2776 //Delete any widget. 2777 deleteWidget() { 2778 var token = localStorage.getItem('token'); 2779 var self = this; 2780 this.showDeleteConfirm = false; 2781 $(this.deleteWidgetEvent.target).parents('span.example-box').remove(); 2782 this.widgetSettingsService.deleteWidgets(this.deleteWidgetId, token).subscribe((data) => { 2783 }, (error) => { 2784 var refreshToken = localStorage.getItem('refreshToken'); 2785 this.authService.refreshAccessToken(refreshToken).subscribe((refresh) => { 2786 localStorage.setItem('token', refresh.access_token); 2787 localStorage.setItem('refreshToken', refresh.refresh_token); 2788 this.deleteWidget(); 2789 }, (errorRefresh) => { 2790 this.notifier.notify('error', "Something went wrong."); 2791 this.logout(); 2792 }); 2793 }); 2794 } 2795 //Add widget when clicking on widget to add (this will open form to add.) 2796 AddWidgetUpdate() { 2797 this.homepageService.getwidgetsupdatedSetting().subscribe((data) => { 2798 this.widgetsSetting = data;
2799 this.getSavedConfig(); 2800 this.showManageWidhetsForm = false; 2801 this.addWidgetResponce = false; 2802 setTimeout(function () { 2803 $("html, body").animate({ scrollTop: $(document).height() - 300 }, 1000); 2804 $('main.example-list').find('span.example-box:last').find('button.btn-edit').trigger('click'); 2805 //$('main.example-list').find('span.example-box:last').find('div.edit-widgets-btn').addClass('hide'); 2806 //$('main.example-list').find('span.example-box:last').find('.CloseIcon').addClass('hide'); 2807 }, 1000); 2808 }); 2809 } 2810 //This will add the widget to HTML view. 2811 addWidget(event) { 2812 //if(this.cookieService.check( 'info')){ 2813 var token = localStorage.getItem('token'); 2814 //} else { 2815 //this.notifier.notify( 'error', 'Login Expired.Please login again'); 2816 //this.logout(); 2817 //return false; 2818 //} 2819 this.addWidgetResponce = true; 2820 var widgetType = $(event.target).attr('id'); 2821 if (widgetType == 'Message') { 2822 this.widgetSettingsService.messageSetting('', 'F', '', "", token).subscribe((data) => { 2823 this.AddWidgetUpdate(); 2824 }, (err) => { 2825 }); 2826 } 2827 else if (widgetType == 'Calendar') { 2828 this.widgetSettingsService.calendarSetting('F', '', '', token).subscribe((data) => { 2829 this.AddWidgetUpdate(); 2830 }, (err) => { 2831 }); 2832 } 2833 else if (widgetType == 'BulletinList') { 2834 this.widgetSettingsService.bulletinListSetting('F', '6', '', token).subscribe((data) => { 2835 this.AddWidgetUpdate(); 2836 }, (err) => { 2837 }); 2838 } 2839 else if (widgetType == 'Bulletin') { 2840 this.widgetSettingsService.bulletinList().subscribe((data) => { 2841 this.bulletinList = data.data; 2842 if (typeof (this.bulletinList[0]) != 'undefined') { 2843 var id = this.bulletinList[0].id; 2844 this.widgetSettingsService.bulletinSetting('F', id, '', token).subscribe((data) => { 2845 this.AddWidgetUpdate(); 2846 }, (err) => { 2847 }); 2848 } 2849 else { 2850 this.addWidgetResponce = false; 2851 this.notifier.notify('error', 'No bulletin created yet.'); 2852 } 2853 }); 2854 } 2855 else if (widgetType == 'Links') { 2856 this.widgetSettingsService.linksSetting('F', '', '', [], token).subscribe((data) => { 2857 this.AddWidgetUpdate(); 2858 }, (err) => { 2859 }); 2860 } 2861 else if (widgetType == 'NewinLibrary') { 2862 this.widgetSettingsService.newInPopularSetting('H', 6, '', token).subscribe((data) => { 2863 this.AddWidgetUpdate(); 2864 }, (err) => { 2865 }); 2866 } 2867 else if (widgetType == 'PopularTitles') { 2868 this.widgetSettingsService.popularTitlesSetting('H', 6, '', token).subscribe((data) => { 2869 this.AddWidgetUpdate(); 2870 }, (err) => { 2871 }); 2872 } 2873 else if (widgetType == 'RecommendedForYou') { 2874 this.widgetSettingsService.recommendedForYouSetting('H', 6, 'PromptLogin', false, '', token).subscribe((data) => { 2875 this.AddWidgetUpdate(); 2876 }, (err) => { 2877 }); 2878 } 2879 else if (widgetType == 'ReadingList') { 2880 this.widgetSettingsService.getResourcesList().subscribe((data) => { 2881 this.resourceLists = data.data; 2882 if (typeof (this.resourceLists[0]) == 'undefined') { 2883 this.addWidgetResponce = false; 2884 this.notifier.notify('error', 'No Resource list created yet.'); 2885 } 2886 else { 2887 var id = this.resourceLists[0].id; 2888 this.widgetSettingsService.resourseListSetting('H', 6, '', id, token).subscribe((data) => { 2889 this.AddWidgetUpdate(); 2890 }, (err) => { 2891 }); 2892 } 2893 }); 2894 } 2895 else if (widgetType == 'ReadingLists') { 2896 this.widgetSettingsService.resourseListsSetting(6, '', token).subscribe((data) => { 2897 this.AddWidgetUpdate(); 2898 }, (err) => { 2899 }); 2900 } 2901 else if (widgetType == 'Reviews') { 2902 this.widgetSettingsService.recentReviewsSetting('H', 6, '', token).subscribe((data) => { 2903 this.AddWidgetUpdate(); 2904 }, (err) => { 2905 }); 2906 } 2907 else if (widgetType == 'HoursandLocation') { 2908 this.widgetSettingsService.locationHoursSetting('F', '', '', '', '', token).subscribe((data) => { 2909 this.AddWidgetUpdate(); 2910 }, (err) => { 2911 }); 2912 } 2913 else if (widgetType == 'Explore') { 2914 this.widgetSettingsService.exploreViewSetting('F', 0, '', token).subscribe((data) => { 2915 this.widgetSettingsService.getExplorePages().subscribe((data) => { 2916 this.explorePage = data.data; 2917 this.AddWidgetUpdate(); 2918 }); 2919 }, (err) => { 2920 }); 2921 } 2922 else if (widgetType == 'QAWdg') { 2923 this.widgetSettingsService.qaViewSetting('', [], '', token).subscribe((data) => { 2924 this.AddWidgetUpdate(); 2925 }, (err) => { 2926 }); 2927 } 2928 } 2929 //refresh token on add widget 2930 refreshTokenAddWidget(elements) { 2931 var refreshToken = localStorage.getItem('refreshToken'); 2932 this.authService.refreshAccessToken(refreshToken).subscribe((refresh) => { 2933 localStorage.setItem('token', refresh.access_token); 2934 localStorage.setItem('refreshToken', refresh.refresh_token); 2935 this.addWidget(elements); 2936 }, (errorRefresh) => { 2937 this.notifier.notify('error', "Something went wrong."); 2938 this.logout(); 2939 }); 2940 } 2941 //User can choose QA image.
2942 chooseImageQAopen(event) { 2943 this.QaImagesList = false; 2944 $(event.target).parents('.example-box').addClass('activeQA'); 2945 this.widgetSettingsService.getQaImage().subscribe((data) => { 2946 if (data.status) { 2947 this.qaImagesList = data.data; 2948 this.QaImagesList = true; 2949 } 2950 }); 2951 } 2952 //This is just showing active image. 2953 unselectQAImage(event) { 2954 $('body').find('.example-box').removeClass('activeQA'); 2955 } 2956 //Upload Q&A image. 2957 //uploadImage(img, response){ 2958 //console.log(img, response); 2959 //} 2960 //Upload Q&A image. 2961 uploadImageQa(files, event) { 2962 $(event.target).parents('div.editwidgets').find('input[value="Save"]').attr('value', 'uploading...').attr('disabled', 'disabled'); 2963 //if(this.cookieService.check( 'info')){ 2964 if (localStorage.getItem('info')) { 2965 var token = localStorage.getItem('token'); 2966 } 2967 this.fileToUpload = files.item(0); 2968 let formData = new FormData(); 2969 formData.append('file', this.fileToUpload, this.fileToUpload.name); 2970 this.widgetSettingsService.qaImageUpload(token, formData).subscribe((data) => { 2971 if (data.status) { 2972 $(event.target).parents('div.editwidgets').find('input[value="uploading..."]').attr('value', 'Save').removeAttr('disabled'); 2973 $(event.target).parents('div.editwidgets').find('.editwidgets-book.QA').removeClass('removedImage').addClass('haveImage').find('img.regularImage').attr('src', data.data.url); 2974 $(event.target).parents('div.editwidgets').find('#QAImage').val(data.data.url); 2975 } 2976 }); 2977 } 2978 //Logout user. 2979 logout() { 2980 this.showManageWidhetsForm = false; 2981 this.addWidgetResponce = false; 2982 this.cookieService.deleteAll('/'); 2983 $('li#loginLi').addClass('show').removeClass('hide'); 2984 $('li#profileLi').removeClass('show').addClass('hide'); 2985 $('li#myCollectionLi').removeClass('show').addClass('hide'); 2986 this.document.body.classList.remove('login-patron'); 2987 this.document.body.classList.remove('manage-view'); 2988 localStorage.removeItem('selectedResourcesIds'); 2989 localStorage.removeItem('token'); 2990 this.router.navigate(['/']); 2991 setTimeout(function () { 2992 document.getElementById("loginLia").click(); 2993 }, 2000); 2994 } 2995 //Change theme function 2996 changeTheme(event, theme, name) { 2997 //if(this.cookieService.check( 'info')){3 2998 if (localStorage.getItem('info')) { 2999 var token = localStorage.getItem('token'); 3000 } 3001 else { 3002 this.notifier.notify('error', 'Login Expired. Please login again'); 3003 this.logout(); 3004 return false; 3005 } 3006 if (localStorage.getItem('theme') == name) 3007 return false; 3008 else { 3009 this.updateColors(name); 3010 } 3011 localStorage.setItem('theme', name); 3012 this.homepageService.updateThemeName(name); 3013 if ($('body').hasClass('custom-theme')) 3014 $('body').removeClass('custom-theme'); 3015 //$('html').removeAttr('style'); 3016 if ($('body').hasClass('custom-dark-theme')) 3017 $('body').removeClass('custom-dark-theme'); 3018 if ($('body').hasClass('kids1-theme beach-theme')) 3019 $('body').removeClass('kids1-theme beach-theme'); 3020 if ($('body').hasClass('kids1-theme christmas-theme')) 3021 $('body').removeClass('kids1-theme christmas-theme'); 3022 if ($('body').hasClass('kids1-theme kids2-theme')) 3023 $('body').removeClass('kids1-theme kids2-theme'); 3024 if ($('body').hasClass('kids1-theme')) 3025 $('body').removeClass('kids1-theme'); 3026 if ($('body').hasClass('dark-theme')) 3027 $('body').removeClass('dark-theme'); 3028 if ($('body').hasClass('SleekAndRelaxed')) 3029 $('body').removeClass('SleekAndRelaxed'); 3030 if ($('body').hasClass('violet-theme')) 3031 $('body').removeClass('violet-theme'); 3032 if ($('body').hasClass('default')) 3033 $('body').removeClass('default'); 3034 if (theme != 'summertime') { 3035 $('body').addClass(theme); 3036 } 3037 $('.themeIcon').removeClass('active'); 3038 $(event.target).parents('.themeIcon').addClass('active'); 3039 this.homepageService.updateTheme(token, name).subscribe((data) => { 3040 //console.log('Theme Changed'); 3041 }); 3042 } 3043 //color_picker------------------- 3044 customTheme(theme) { 3045 var currentTheme = this.theme; 3046 //console.log(currentTheme); 3047 if ($('body').hasClass('kids1-theme beach-theme')) 3048 $('body').removeClass('kids1-theme beach-theme'); 3049 if ($('body').hasClass('kids1-theme christmas-theme')) 3050 $('body').removeClass('kids1-theme christmas-theme'); 3051 if ($('body').hasClass('kids1-theme kids2-theme')) 3052 $('body').removeClass('kids1-theme kids2-theme'); 3053 if ($('body').hasClass('kids1-theme')) 3054 $('body').removeClass('kids1-theme'); 3055 if ($('body').hasClass('dark-theme')) 3056 $('body').removeClass('dark-theme'); 3057 if ($('body').hasClass('SleekAndRelaxed')) 3058 $('body').removeClass('SleekAndRelaxed'); 3059 if ($('body').hasClass('violet-theme')) 3060 $('body').removeClass('violet-theme'); 3061 if ($('body').hasClass('default')) 3062 $('body').removeClass('default'); 3063 if ($('body').hasClass('custom-theme')) 3064 $('body').removeClass('custom-theme'); 3065 if ($('body').hasClass('custom-dark-theme')) 3066 $('body').removeClass('custom-dark-theme'); 3067 if (currentTheme == 'luna' || currentTheme == 'custom-dark-theme') { 3068 $('body').addClass('custom-dark-theme'); 3069 this.homepageService.updateThemeName('custom-dark-theme'); 3070 } 3071 else { 3072 $('body').addClass(theme); 3073 this.homepageService.updateThemeName('custom-theme'); 3074 } 3075 } 3076 // 3077 colorPicker(id, event) { 3078 document.documentElement.style.setProperty(`--` + id, event); 3079 } 3080 revertTheme(event) { 3081 var tempName = ''; 3082 if ($('body').hasClass('custom-theme')) { 3083 $('body').removeClass('custom-theme'); 3084 } 3085 if ($('body').hasClass('custom-dark-theme')) { 3086 $('body').removeClass('custom-dark-theme'); 3087 } 3088 var theme = localStorage.getItem('theme'); 3089 //console.log(theme, '********'); 3090 if (theme.indexOf('custom') > -1) { 3091 var customColors = theme.split(' '); 3092 $('body').addClass(customColors[0]); 3093 this.color1 = customColors[1]; 3094 this.color2 = customColors[2]; 3095 this.color3 = customColors[3]; 3096 this.color4 = customColors[4]; 3097 this.color5 = customColors[5]; 3098 document.documentElement.style.setProperty(`--first`, this.color1); 3099 document.documentElement.style.setProperty(`--second`, this.color2); 3100 document.documentElement.style.setProperty(`--third`, this.color3); 3101 document.documentElement.style.setProperty(`--fourth`, this.color4); 3102 document.documentElement.style.setProperty(`--fifth`, this.color5); 3103 this.homepageService.updateThemeName(customColors[0]); 3104 } 3105 else { 3106 var name = Object.keys(this.themes).find(key => this.themes[key] === theme); 3107 //console.log(theme, name , '********'); 3108 $('body').addClass(name); 3109 this.homepageService.updateThemeName(theme); 3110 this.updateColors(theme); 3111 } 3112 } 3113 //save-custom-theme 3114 saveCustomTheme() { 3115 var themeName = this.theme; 3116 var firstColor = $('#colorPicker').find('#first').val(); 3117 var secondColor = $('#colorPicker').find('#second').val(); 3118 var thirdColor = $('#colorPicker').find('#third').val(); 3119 var fourthColor = $('#colorPicker').find('#fourth').val(); 3120 var fifthColor = $('#colorPicker').find('#fifth').val(); 3121 var nameToSave = themeName + ' ' + firstColor + ' ' + secondColor + ' ' + thirdColor + ' ' + fourthColor + ' ' + fifthColor; 3122 //if(this.cookieService.check( 'info')){ 3123 if (localStorage.getItem('info')) { 3124 var token = localStorage.getItem('token'); 3125 } 3126 else { 3127 this.notifier.notify('error', 'Login Expired. Please login again'); 3128 this.logout(); 3129 return false;
3130 } 3131 this.custumThemeLoad = true; 3132 this.homepageService.updateTheme(token, nameToSave).subscribe((data) => { 3133 localStorage.setItem('theme', nameToSave); 3134 $('#colorPicker').find('.close').click(); 3135 this.custumThemeLoad = false; 3136 $('.themeIcon').removeClass('active'); 3137 $('body').find('#customThemeIcon').addClass('active'); 3138 }); 3139 } 3140 updateColors(theme) { 3141 this.color1 = this.themeColors[theme][0]; 3142 this.color2 = this.themeColors[theme][1]; 3143 this.color3 = this.themeColors[theme][2]; 3144 this.color4 = this.themeColors[theme][3]; 3145 this.color5 = this.themeColors[theme][4]; 3146 document.documentElement.style.setProperty(`--first`, this.color1); 3147 document.documentElement.style.setProperty(`--second`, this.color2); 3148 document.documentElement.style.setProperty(`--third`, this.color3); 3149 document.documentElement.style.setProperty(`--fourth`, this.color4); 3150 document.documentElement.style.setProperty(`--fifth`, this.color5); 3151 } 3152}; 3153HomepageComponent.ctorParameters = () => [ 3154 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 3155 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService }, 3156 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_10__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_11__.DOCUMENT,] }] }, 3157 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 3158 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 3159 { type: _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_2__.WidgetSettingsService }, 3160 { type: _angular_router__WEBPACK_IMPORTED_MODULE_12__.Router }, 3161 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService }, 3162 { type: _services_tenant_service__WEBPACK_IMPORTED_MODULE_7__.TenantService } 3163]; 3164HomepageComponent = __decorate([ 3165 (0,_angular_core__WEBPACK_IMPORTED_MODULE_10__.Component)({ 3166 selector: 'app-homepage', 3167 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_homepage_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3168 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_10__.ViewEncapsulation.None, 3169 styles: [_homepage_component_css__WEBPACK_IMPORTED_MODULE_1__] 3170 }) 3171], HomepageComponent); 3172 3173 3174 3175/***/ }), 3176 3177/***/ 29483: 3178/*!**************************************************************************!*\ 3179 !*** ./src/app/components/home/lazyloadimage/lazyloadimage.component.ts ***! 3180 \**************************************************************************/ 3181/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3182 3183"use strict"; 3184__webpack_require__.r(__webpack_exports__); 3185/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3186/* harmony export */ "LazyloadimageComponent": function() { return /* binding */ LazyloadimageComponent; } 3187/* harmony export */ }); 3188/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_lazyloadimage_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./lazyloadimage.component.html */ 94458); 3189/* harmony import */ var _lazyloadimage_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazyloadimage.component.css */ 24767); 3190/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); 3191var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3192 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3193 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3194 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
3194 3 ? d(target, key, r) : d(target, key)) || r; 3195 return c > 3 && r && Object.defineProperty(target, key, r), r; 3196}; 3197var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { 3198 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 3199 return new (P || (P = Promise))(function (resolve, reject) { 3200 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 3201 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 3202 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 3203 step((generator = generator.apply(thisArg, _arguments || [])).next()); 3204 }); 3205}; 3206 3207 3208 3209let LazyloadimageComponent = class LazyloadimageComponent { 3210 constructor() { 3211 this.sources = ['CM', 'OL', 'GB', 'MR', 'PQ']; 3212 this.isLoading = false; 3213 this.imagesAll = []; 3214 this.index = 0; 3215 } 3216 ngOnInit() { 3217 this.onLoadImages(); 3218 } 3219 ngOnChanges(changes) { 3220 this.imagesAll = []; 3221 this.onLoadImages(); 3222 } 3223 checkImageWidth(imageUrl) { 3224 return new Promise((resolve) => { 3225 const image = new Image(); 3226 image.src = imageUrl; 3227 image.onload = () => { 3228 const width = image.width; 3229 resolve(width >= 5); 3230 }; 3231 image.onerror = () => { 3232 resolve(false); 3233 }; 3234 }); 3235 } 3236 onLoadImages() { 3237 return __awaiter(this, void 0, void 0, function* () { 3238 const sizeOrder = ['xl', 'l', 'm', 's', 'xs', 'xxs']; // Size preference order 3239 // Loop over sizes and sources in priority order 3240 for (const size of sizeOrder) { 3241 for (const src of this.sources) { 3242 for (const img of this.images) { 3243 if (img.size === size && img.source === src) { 3244 const meetsWidthCondition = yield this.checkImageWidth(img.url); 3245 if (meetsWidthCondition) { 3246 this.imagesAll.push(img.url); 3247 } 3248 } 3249 } 3250 } 3251 } 3252 if (this.imagesAll.length > 0) { 3253 this.image = this.imagesAll[0]; // Get first valid image 3254 this.isLoading = false; 3255 } 3256 else { 3257 this.isLoading = true; 3258 } 3259 }); 3260 } 3261}; 3262LazyloadimageComponent.ctorParameters = () => []; 3263LazyloadimageComponent.propDecorators = { 3264 defaultImage: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], 3265 images: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], 3266 category: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }], 3267 size: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_2__.Input }] 3268}; 3269LazyloadimageComponent = __decorate([ 3270 (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Component)({ 3271 selector: 'app-lazyloadimage', 3272 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_lazyloadimage_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3273 styles: [_lazyloadimage_component_css__WEBPACK_IMPORTED_MODULE_1__] 3274 }) 3275], LazyloadimageComponent); 3276 3277 3278 3279/***/ }), 3280 3281/***/ 9657: 3282/*!**********************************************************!*\ 3283 !*** ./src/app/components/home/links/links.component.ts ***! 3284 \**********************************************************/ 3285/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3286 3287"use strict"; 3288__webpack_require__.r(__webpack_exports__); 3289/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3290/* harmony export */ "LinksComponent": function() { return /* binding */ LinksComponent; } 3291/* harmony export */ }); 3292/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_links_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./links.component.html */ 76944); 3293/* harmony import */ var _links_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./links.component.css */ 89823); 3294/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 3295/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3296var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3297 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3298 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3299 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
3299 3 ? d(target, key, r) : d(target, key)) || r; 3300 return c > 3 && r && Object.defineProperty(target, key, r), r; 3301}; 3302 3303 3304 3305 3306let LinksComponent = class LinksComponent { 3307 constructor(homepageService) { 3308 this.homepageService = homepageService; 3309 this.widgetsSetting = []; 3310 } 3311 ngOnInit() { 3312 this.getwidgetsSetting(); 3313 } 3314 getwidgetsSetting() { 3315 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3316 getwidgetsSettingDataSave.data.forEach(evt => { 3317 if (evt.code == 'LK' && this.buId == evt.id) { 3318 this.widgetsSetting = evt.settings; 3319 } 3320 }); 3321 } 3322}; 3323LinksComponent.ctorParameters = () => [ 3324 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 3325]; 3326LinksComponent.propDecorators = { 3327 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 3328}; 3329LinksComponent = __decorate([ 3330 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 3331 selector: 'app-links', 3332 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_links_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3333 styles: [_links_component_css__WEBPACK_IMPORTED_MODULE_1__] 3334 }) 3335], LinksComponent); 3336 3337 3338 3339/***/ }), 3340 3341/***/ 92008: 3342/*!****************************************************************************!*\ 3343 !*** ./src/app/components/home/location-hours/location-hours.component.ts ***! 3344 \****************************************************************************/ 3345/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3346 3347"use strict"; 3348__webpack_require__.r(__webpack_exports__); 3349/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3350/* harmony export */ "LocationHoursComponent": function() { return /* binding */ LocationHoursComponent; } 3351/* harmony export */ }); 3352/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_location_hours_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./location-hours.component.html */ 73317); 3353/* harmony import */ var _location_hours_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./location-hours.component.css */ 25461); 3354/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 3355/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3356var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3357 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3358 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3359 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 3360 return c > 3 && r && Object.defineProperty(target, key, r), r; 3361}; 3362 3363 3364 3365 3366let LocationHoursComponent = class LocationHoursComponent { 3367 constructor(homepageService) { 3368 this.homepageService = homepageService; 3369 this.locationHour = []; 3370 } 3371 ngOnInit() { 3372 this.getLocationHour(); 3373 } 3374 getLocationHour() { 3375 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3376 getwidgetsSettingDataSave.data.forEach(evt => { 3377 if (evt.code == 'LL' && this.buId == evt.id) { 3378 this.locationHour = evt.settings; 3379 } 3380 }); 3381 } 3382}; 3383LocationHoursComponent.ctorParameters = () => [ 3384 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 3385]; 3386LocationHoursComponent.propDecorators = { 3387 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 3388}; 3389LocationHoursComponent = __decorate([ 3390 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 3391 selector: 'app-location-hours', 3392 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_location_hours_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3393 styles: [_location_hours_component_css__WEBPACK_IMPORTED_MODULE_1__] 3394 }) 3395], LocationHoursComponent); 3396 3397 3398 3399/***/ }), 3400 3401/***/ 98074: 3402/*!******************************************************!*\ 3403 !*** ./src/app/components/home/new/new.component.ts ***! 3404 \******************************************************/ 3405/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3406 3407"use strict"; 3408__webpack_require__.r(__webpack_exports__); 3409/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3410/* harmony export */ "NewComponent": function() { return /* binding */ NewComponent; } 3411/* harmony export */ }); 3412/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_new_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./new.component.html */ 67999); 3413/* harmony import */ var _new_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./new.component.css */ 10742); 3414/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 3415/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3416/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 3417/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 3418var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3419 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3420 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3421 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
3421 3 ? d(target, key, r) : d(target, key)) || r; 3422 return c > 3 && r && Object.defineProperty(target, key, r), r; 3423}; 3424 3425 3426 3427 3428 3429 3430let NewComponent = class NewComponent { 3431 constructor(homepageService, searchService, notifierService) { 3432 this.homepageService = homepageService; 3433 this.searchService = searchService; 3434 this.newList = []; 3435 this.slideConfig = { 3436 "slidesToShow": 6, 3437 'autoplay': true, 3438 'autoplaySpeed': 3000, 3439 'dots': true, 3440 'vertical': false, 3441 'prevArrow': '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 3442 'nextArrow': '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 3443 'responsive': [ 3444 { breakpoint: 1281, settings: { slidesToShow: 4 } }, 3445 { breakpoint: 992, settings: { slidesToShow: 2 } }, 3446 { breakpoint: 768, settings: { slidesToShow: 1 } } 3447 ] 3448 }; 3449 this.notifier = notifierService; 3450 } 3451 ngOnInit() { 3452 this.getNewlist(); 3453 } 3454 getNewlist() { 3455 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3456 getwidgetsSettingDataSave.data.forEach(evt => { 3457 if (evt.code == 'NW' && this.buId == evt.id) { 3458 this.newList = evt; 3459 } 3460 }); 3461 } 3462 slickInit(e) { 3463 //console.log('slick initialized'); 3464 } 3465 counter(i) { 3466 return new Array(i); 3467 } 3468 imageError(event, images) { 3469 if (typeof ($('body').find('span.NW').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('span.NW').find('img[custom="' + event + '"]').attr('index')) > 0) { 3470 var index = parseInt($('body').find('span.NW').find('img[custom="' + event + '"]').attr('index')); 3471 if (typeof ($('body').find('span.NW').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 3472 index--; 3473 this.imageLoad(event, images, index, true); 3474 } 3475 else { 3476 $('body').find('span.NW').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.NW').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.NW').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 3477 $('body').find('span.NW').find('img[custom="' + event + '"]').remove(); 3478 $('body').find('#' + event).remove(); 3479 } 3480 } 3481 imageLoad(event, images, index, fromError = false) { 3482 if ($('body').find('span.NW').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 3483 //$('body').find('#'+event).remove(); 3484 return false; 3485 } 3486 if ($('body').find('#' + event).length <= 0) { 3487 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 3488 } 3489 var $this = this; 3490 var imagesAll = this.searchService.sortedImage(images); 3491 $('#' + event).attr('src', imagesAll[index]); 3492 setTimeout(function () { 3493 var tempWidth = $('#' + event).width(); 3494 var temp = document.getElementById(event); 3495 if (tempWidth <= 1 && index > 0) { 3496 $this.imageLoad(event, images, index - 1, true); 3497 return false; 3498 } 3499 else if (tempWidth <= 1 && index == 0) { 3500 $('body').find('span.NW').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 3501 $('body').find('span.NW').find('img[custom="' + event + '"]').remove(); 3502 } 3503 }, 500); 3504 if (typeof (imagesAll[index]) != 'undefined') { 3505 $('body').find('span.NW').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 3506 $('body').find('span.NW').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 3507 $('body').find('span.NW').find('img[custom="' + event + '"]').attr('index', index); 3508 } 3509 } 3510}; 3511NewComponent.ctorParameters = () => [ 3512 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 3513 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 3514 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 3515]; 3516NewComponent.propDecorators = { 3517 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }] 3518}; 3519NewComponent = __decorate([ 3520 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 3521 selector: 'app-new', 3522 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_new_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3523 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Vie
3523wEncapsulation.None, 3524 styles: [_new_component_css__WEBPACK_IMPORTED_MODULE_1__] 3525 }) 3526], NewComponent); 3527 3528 3529 3530/***/ }), 3531 3532/***/ 40924: 3533/*!**************************************************************!*\ 3534 !*** ./src/app/components/home/popular/popular.component.ts ***! 3535 \**************************************************************/ 3536/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3537 3538"use strict"; 3539__webpack_require__.r(__webpack_exports__); 3540/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3541/* harmony export */ "PopularComponent": function() { return /* binding */ PopularComponent; } 3542/* harmony export */ }); 3543/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_popular_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./popular.component.html */ 70173); 3544/* harmony import */ var _popular_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popular.component.css */ 89439); 3545/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 3546/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3547/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 3548/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 3549var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3550 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3551 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3552 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 3553 return c > 3 && r && Object.defineProperty(target, key, r), r; 3554}; 3555 3556 3557 3558 3559 3560 3561let PopularComponent = class PopularComponent { 3562 constructor(homepageService, searchService, notifierService) { 3563 this.homepageService = homepageService; 3564 this.searchService = searchService; 3565 this.bulletinlist = []; 3566 this.slideConfig = { 3567 "slidesToShow": 6, 3568 'autoplay': true, 3569 'autoplaySpeed': 3000, 3570 'dots': true, 3571 'vertical': false, 3572 'prevArrow': '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 3573 'nextArrow': '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 3574 'responsive': [ 3575 { breakpoint: 1281, settings: { slidesToShow: 4 } }, 3576 { breakpoint: 992, settings: { slidesToShow: 2 } }, 3577 { breakpoint: 768, settings: { slidesToShow: 1 } } 3578 ] 3579 }; 3580 this.notifier = notifierService; 3581 } 3582 ngOnInit() { 3583 this.getpopularlist(); 3584 } 3585 slickInit(e) { 3586 //console.log('slick initialized'); 3587 } 3588 getpopularlist() { 3589 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3590 getwidgetsSettingDataSave.data.forEach(evt => { 3591 if (evt.code == 'PT' && this.buId == evt.id) { 3592 this.bulletinlist = evt; 3593 } 3594 }); 3595 } 3596 counter(i) { 3597 return new Array(i); 3598 } 3599 imageError(event, images) { 3600 if (typeof ($('body').find('span.PT').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('span.PT').find('img[custom="' + event + '"]').attr('index')) > 0) { 3601 var index = parseInt($('body').find('span.PT').find('img[custom="' + event + '"]').attr('index')); 3602 if (typeof ($('body').find('span.PT').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 3603 index--; 3604 this.imageLoad(event, images, index, true); 3605 } 3606 else { 3607 $('body').find('span.PT').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.PT').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.PT').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 3608 $('body').find('span.PT').find('img[custom="' + event + '"]').remove(); 3609 $('body').find('#' + event).remove(); 3610 } 3611 } 3612 imageLoad(event, images, index, fromError = false) { 3613 if ($('body').find('span.PT').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 3614 return false;
3615 } 3616 if ($('body').find('#' + event).length <= 0) { 3617 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 3618 } 3619 var $this = this; 3620 var imagesAll = this.searchService.sortedImage(images); 3621 $('#' + event).attr('src', imagesAll[index]); 3622 setTimeout(function () { 3623 var tempWidth = $('#' + event).width(); 3624 //console.log(tempWidth, event, index); 3625 var temp = document.getElementById(event); 3626 if (tempWidth <= 1 && index > 0) { 3627 $this.imageLoad(event, images, index - 1, true); 3628 return false; 3629 } 3630 else if (tempWidth <= 1 && index == 0) { 3631 $('body').find('span.PT').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.PT').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.PT').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 3632 $('body').find('span.PT').find('img[custom="' + event + '"]').remove(); 3633 } 3634 }, 500); 3635 if (typeof (imagesAll[index]) != 'undefined') { 3636 $('body').find('span.PT').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 3637 $('body').find('span.PT').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 3638 $('body').find('span.PT').find('img[custom="' + event + '"]').attr('index', index); 3639 } 3640 } 3641}; 3642PopularComponent.ctorParameters = () => [ 3643 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 3644 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 3645 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 3646]; 3647PopularComponent.propDecorators = { 3648 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 3649 isStar: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }] 3650}; 3651PopularComponent = __decorate([ 3652 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 3653 selector: 'app-popular', 3654 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_popular_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3655 styles: [_popular_component_css__WEBPACK_IMPORTED_MODULE_1__] 3656 }) 3657], PopularComponent); 3658 3659 3660 3661/***/ }), 3662 3663/***/ 80438: 3664/*!****************************************************************!*\ 3665 !*** ./src/app/components/home/quick-qa/quick-qa.component.ts ***! 3666 \****************************************************************/ 3667/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3668 3669"use strict"; 3670__webpack_require__.r(__webpack_exports__); 3671/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3672/* harmony export */ "QuickQaComponent": function() { return /* binding */ QuickQaComponent; } 3673/* harmony export */ }); 3674/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_quick_qa_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./quick-qa.component.html */ 72381); 3675/* harmony import */ var _quick_qa_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quick-qa.component.css */ 42779); 3676/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 3677/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3678var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3679 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3680 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3681 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
3681 3 ? d(target, key, r) : d(target, key)) || r; 3682 return c > 3 && r && Object.defineProperty(target, key, r), r; 3683}; 3684 3685 3686 3687 3688let QuickQaComponent = class QuickQaComponent { 3689 constructor(homepageService) { 3690 this.homepageService = homepageService; 3691 this.widgetsSetting = []; 3692 this.ClassWdt = 'col-lg-7'; 3693 } 3694 ngOnInit() { 3695 this.getwidgetsSetting(); 3696 } 3697 getwidgetsSetting() { 3698 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3699 getwidgetsSettingDataSave.data.forEach(evt => { 3700 if (evt.code == 'QA' && this.buId == evt.id) { 3701 this.widgetsSetting = evt.settings; 3702 if (!this.widgetsSetting.img) { 3703 this.ClassWdt = 'col-lg-12'; 3704 } 3705 } 3706 }); 3707 } 3708 hideAccordian(event) { 3709 if (!$(event.target).next('.collapse').hasClass('show')) { 3710 $('.accordion').find('.card-body').removeClass('show'); 3711 $('.accordion').find('.card-header').addClass('collapsed'); 3712 } 3713 } 3714}; 3715QuickQaComponent.ctorParameters = () => [ 3716 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 3717]; 3718QuickQaComponent.propDecorators = { 3719 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 3720}; 3721QuickQaComponent = __decorate([ 3722 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 3723 selector: 'app-quick-qa', 3724 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_quick_qa_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3725 styles: [_quick_qa_component_css__WEBPACK_IMPORTED_MODULE_1__] 3726 }) 3727], QuickQaComponent); 3728 3729 3730 3731/***/ }), 3732 3733/***/ 41666: 3734/*!**********************************************************************!*\ 3735 !*** ./src/app/components/home/recommended/recommended.component.ts ***! 3736 \**********************************************************************/ 3737/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3738 3739"use strict"; 3740__webpack_require__.r(__webpack_exports__); 3741/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3742/* harmony export */ "RecommendedComponent": function() { return /* binding */ RecommendedComponent; } 3743/* harmony export */ }); 3744/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_recommended_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./recommended.component.html */ 98383); 3745/* harmony import */ var _recommended_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommended.component.css */ 58377); 3746/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 3747/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3748/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 3749/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 3750var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3751 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3752 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3753 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 3754 return c > 3 && r && Object.defineProperty(target, key, r), r; 3755}; 3756 3757 3758 3759 3760 3761 3762let RecommendedComponent = class RecommendedComponent { 3763 constructor(homepageService, searchService, notifierService) { 3764 this.homepageService = homepageService; 3765 this.searchService = searchService; 3766 this.editMode = false;
3767 this.showingPopular = new _angular_core__WEBPACK_IMPORTED_MODULE_5__.EventEmitter(); 3768 this.settings = {}; 3769 this.caption = 'Recommended for You'; 3770 this.size = 6; 3771 this.fallback = 'Hide'; 3772 this.showPopularWithPrompt = false; 3773 // Shown to a logged-in patron who has no recommendations yet (no/insufficient circulation 3774 // history). Kept in one place so the wording is easy to change later; it is reused by both 3775 // the standalone empty state and the Popular Titles fallback. 3776 this.emptyStateMessage = "You don't have any recent checkouts yet. Once you borrow a few titles, personalized recommendations will start appearing here."; 3777 this.isLoggedIn = false; 3778 this.loading = false; 3779 this.recommendedList = null; 3780 this.popularList = null; 3781 this.showPopular = false; 3782 this.showLoginPrompt = false; 3783 this.showEmptyState = false; 3784 this.showEditPlaceholder = false; 3785 this.slideConfig = { 3786 "slidesToShow": 6, 3787 'autoplay': true, 3788 'autoplaySpeed': 3000, 3789 'dots': true, 3790 'vertical': false, 3791 'prevArrow': '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 3792 'nextArrow': '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 3793 'responsive': [ 3794 { breakpoint: 1281, settings: { slidesToShow: 4 } }, 3795 { breakpoint: 992, settings: { slidesToShow: 2 } }, 3796 { breakpoint: 768, settings: { slidesToShow: 1 } } 3797 ] 3798 }; 3799 this.notifier = notifierService; 3800 } 3801 ngOnInit() { 3802 this.loadSettings(); 3803 this.evaluateLoginState(localStorage.getItem('info') != null); 3804 // React to login being established after this widget initialized; otherwise RY 3805 // can stay stuck in a logged-out state while the rest of the app is logged in. 3806 this.loginSub = this.homepageService.isLogin$.subscribe((res) => { 3807 const loggedIn = res === 'true' || localStorage.getItem('info') != null; 3808 if (loggedIn && !this.isLoggedIn) { 3809 this.evaluateLoginState(true); 3810 } 3811 }); 3812 } 3813 ngOnDestroy() { 3814 if (this.loginSub) { 3815 this.loginSub.unsubscribe(); 3816 } 3817 } 3818 evaluateLoginState(isLoggedIn) { 3819 this.isLoggedIn = isLoggedIn; 3820 // reset transient view state before (re)deciding what to render 3821 this.showLoginPrompt = false; 3822 this.showEmptyState = false; 3823 this.showPopular = false; 3824 this.showEditPlaceholder = false; 3825 this.recommendedList = null; 3826 this.popularList = null; 3827 // Until/unless we fall back to Popular Titles below, the RY slot is not standing in for the 3828 // regular Popular Titles widget, so let the home page show that widget again. 3829 this.showingPopular.emit(false); 3830 if (this.isLoggedIn) { 3831 this.loadRecommendations(); 3832 } 3833 else if (this.editMode) { 3834 this.showEditPlaceholder = true; 3835 } 3836 else { 3837 this.applyFallback(); 3838 } 3839 } 3840 loadSettings() { 3841 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 3842 if (getwidgetsSettingDataSave && getwidgetsSettingDataSave.data) { 3843 getwidgetsSettingDataSave.data.forEach(evt => { 3844 if (evt.code == 'RY' && this.buId == evt.id) { 3845 this.settings = evt.settings || {}; 3846 this.size = this.settings.size || 100; 3847 this.fallback = this.settings.fallback || 'Hide'; 3848 this.showPopularWithPrompt = !!this.settings.showPopularWithPrompt; 3849 if (evt.content && evt.content.caption) { 3850 this.caption = evt.content.caption; 3851 } 3852 } 3853 }); 3854 } 3855 } 3856 loadRecommendations() { 3857 this.loading = true; 3858 this.homepageService.getRecommended(this.size).subscribe((data) => { 3859 let content = this.extractContent(data); 3860 this.loading = false;
3861 if (content && content.resources && content.resources.length > 0) { 3862 this.recommendedList = content; 3863 } 3864 else if (this.editMode) { 3865 this.showEditPlaceholder = true; 3866 } 3867 else { 3868 this.applyFallback(); 3869 } 3870 }, () => { 3871 this.loading = false; 3872 if (this.editMode) { 3873 this.showEditPlaceholder = true; 3874 } 3875 else { 3876 this.applyFallback(); 3877 } 3878 }); 3879 } 3880 /* the widget content can be returned either directly or wrapped in a data/content envelope */ 3881 extractContent(data) { 3882 if (!data) { 3883 return null; 3884 } 3885 if (data.data) { 3886 return data.data; 3887 } 3888 if (data.content) { 3889 return data.content; 3890 } 3891 return data; 3892 } 3893 applyFallback() { 3894 switch (this.fallback) { 3895 case 'ShowPopular': 3896 if (this.isLoggedIn) { 3897 // Logged in but no recommendations: explain why instead of prompting to log in, 3898 // regardless of the showPopularWithPrompt setting. 3899 this.showEmptyState = true; 3900 } 3901 else if (this.showPopularWithPrompt) { 3902 this.showLoginPrompt = true; 3903 } 3904 this.loadPopularFallback(); 3905 break; 3906 case 'PromptLogin': 3907 if (this.isLoggedIn) { 3908 // Logged in with no recommendations: show the empty-state explanation, no login CTA. 3909 this.showEmptyState = true; 3910 } 3911 else { 3912 this.showLoginPrompt = true; 3913 } 3914 break; 3915 case 'Hide': 3916 default: 3917 // render nothing (edit mode shows a placeholder via the callers) 3918 break; 3919 } 3920 } 3921 loadPopularFallback() { 3922 this.showPopular = true; 3923 this.showingPopular.emit(true); 3924 this.homepageService.getPopularPage('date', true, this.size, '').subscribe((data) => { 3925 this.popularList = this.extractContent(data); 3926 }, () => { 3927 this.popularList = null; 3928 }); 3929 } 3930 slickInit(e) { 3931 } 3932 counter(i) { 3933 return new Array(i); 3934 } 3935}; 3936RecommendedComponent.ctorParameters = () => [ 3937 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 3938 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 3939 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 3940]; 3941RecommendedComponent.propDecorators = { 3942 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 3943 isStar: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 3944 editMode: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 3945 showingPopular: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Output }] 3946}; 3947RecommendedComponent = __decorate([ 3948 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 3949 selector: 'app-recommended', 3950 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_recommended_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 3951 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_5__.ViewEncapsulation.None, 3952 styles: [_recommended_component_css__WEBPACK_IMPORTED_MODULE_1__] 3953 }) 3954], RecommendedComponent); 3955 3956 3957 3958/***/ }), 3959 3960/***/ 86283: 3961/*!****************************************************************************************!*\ 3962 !*** ./src/app/components/home/resource-list-single/resource-list-single.component.ts ***! 3963 \****************************************************************************************/ 3964/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3965 3966"use strict"; 3967__webpack_require__.r(__webpack_exports__); 3968/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3969/* harmony export */ "ResourceListSingleComponent": function() { return /* binding */ ResourceListSingleComponent; } 3970/* harmony export */ }); 3971/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resource_list_single_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./resource-list-single.component.html */ 8
39716584); 3972/* harmony import */ var _resource_list_single_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resource-list-single.component.css */ 77850); 3973/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 3974/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 3975/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 3976/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 3977var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 3978 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3979 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3980 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 3981 return c > 3 && r && Object.defineProperty(target, key, r), r; 3982}; 3983 3984 3985 3986 3987 3988 3989let ResourceListSingleComponent = class ResourceListSingleComponent { 3990 constructor(homepageService, searchService, notifierService) { 3991 this.homepageService = homepageService; 3992 this.searchService = searchService; 3993 this.resourcelists = []; 3994 this.slideConfig = { 3995 "slidesToShow": 6, 3996 'autoplay': true, 3997 'autoplaySpeed': 3000, 3998 'dots': true, 3999 'vertical': false, 4000 'prevArrow': '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 4001 'nextArrow': '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 4002 'responsive': [ 4003 { breakpoint: 1281, settings: { slidesToShow: 4 } }, 4004 { breakpoint: 992, settings: { slidesToShow: 2 } }, 4005 { breakpoint: 768, settings: { slidesToShow: 1 } } 4006 ] 4007 }; 4008 this.notifier = notifierService; 4009 } 4010 ngOnInit() { 4011 this.getresourcelistsSingle(); 4012 } 4013 slickInit(e) { 4014 //console.log('slick initialized'); 4015 } 4016 getresourcelistsSingle() { 4017 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 4018 getwidgetsSettingDataSave.data.forEach(evt => { 4019 if (evt.code == 'RL' && this.buId == evt.id) { 4020 this.resourcelists = evt; 4021 } 4022 }); 4023 } 4024 imageError(event, images) { 4025 if (typeof ($('body').find('span.RL').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('span.RL').find('img[custom="' + event + '"]').attr('index')) > 0) { 4026 var index = parseInt($('body').find('span.RL').find('img[custom="' + event + '"]').attr('index')); 4027 if (typeof ($('body').find('span.RL').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 4028 index--; 4029 this.imageLoad(event, images, index, true); 4030 } 4031 else { 4032 $('body').find('span.RL').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.RL').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.RL').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 4033 $('body').find('span.RL').find('img[custom="' + event + '"]').remove(); 4034 $('body').find('#' + event).remove(); 4035 } 4036 } 4037 imageLoad(event, images, index, fromError = false) { 4038 if ($('body').find('span.RL').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 4039 return false; 4040 } 4041 if ($('body').find('#' + event).length <= 0) { 4042 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 4043 } 4044 var $this = this; 4045 var imagesAll = this.searchService.sortedImage(images); 4046 $('#' + event).attr('src', imagesAll[index]); 4047 setTimeout(function () { 4048 var tempWidth = $('#' + event).width(); 4049 //console.log(tempWidth, event, index); 4050 var temp = document.getElementById(event); 4051 if (tempWidth <= 1 && index > 0) { 4052 $this.imageLoad(event, images, index - 1, true); 4053 return false;
4054 } 4055 else if (tempWidth <= 1 && index == 0) { 4056 $('body').find('span.RL').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.RL').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.RL').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 4057 $('body').find('span.RL').find('img[custom="' + event + '"]').remove(); 4058 } 4059 }, 500); 4060 if (typeof (imagesAll[index]) != 'undefined') { 4061 $('body').find('span.RL').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 4062 $('body').find('span.RL').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 4063 $('body').find('span.RL').find('img[custom="' + event + '"]').attr('index', index); 4064 } 4065 } 4066}; 4067ResourceListSingleComponent.ctorParameters = () => [ 4068 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 4069 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 4070 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 4071]; 4072ResourceListSingleComponent.propDecorators = { 4073 rid: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 4074 rsize: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }], 4075 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }] 4076}; 4077ResourceListSingleComponent = __decorate([ 4078 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 4079 selector: 'app-resource-list-single', 4080 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resource_list_single_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 4081 styles: [_resource_list_single_component_css__WEBPACK_IMPORTED_MODULE_1__] 4082 }) 4083], ResourceListSingleComponent); 4084 4085 4086 4087/***/ }), 4088 4089/***/ 82197: 4090/*!**************************************************************************!*\ 4091 !*** ./src/app/components/home/resource-list/resource-list.component.ts ***! 4092 \**************************************************************************/ 4093/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4094 4095"use strict"; 4096__webpack_require__.r(__webpack_exports__); 4097/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4098/* harmony export */ "ResourceListComponent": function() { return /* binding */ ResourceListComponent; } 4099/* harmony export */ }); 4100/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resource_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./resource-list.component.html */ 62229); 4101/* harmony import */ var _resource_list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resource-list.component.css */ 22826); 4102/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 4103/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 4104var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 4105 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4106 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 4107 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 4108 return c > 3 && r && Object.defineProperty(target, key, r), r; 4109}; 4110 4111 4112 4113 4114let ResourceListComponent = class ResourceListComponent { 4115 constructor(homepageService) { 4116 this.homepageService = homepageService; 4117 this.resourcelists = []; 4118 } 4119 ngOnInit() {
4120 this.getSavedConfig(); 4121 } 4122 getSavedConfig() { 4123 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 4124 getwidgetsSettingDataSave.data.forEach(evt => { 4125 if (evt.code == 'RR' && this.buId == evt.id) { 4126 this.resourcelists = evt.content; 4127 } 4128 }); 4129 } 4130}; 4131ResourceListComponent.ctorParameters = () => [ 4132 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 4133]; 4134ResourceListComponent.propDecorators = { 4135 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 4136}; 4137ResourceListComponent = __decorate([ 4138 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 4139 selector: 'app-resource-list', 4140 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resource_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 4141 styles: [_resource_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 4142 }) 4143], ResourceListComponent); 4144 4145 4146 4147/***/ }), 4148 4149/***/ 41602: 4150/*!**************************************************************!*\ 4151 !*** ./src/app/components/home/reviews/reviews.component.ts ***! 4152 \**************************************************************/ 4153/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4154 4155"use strict"; 4156__webpack_require__.r(__webpack_exports__); 4157/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4158/* harmony export */ "ReviewsComponent": function() { return /* binding */ ReviewsComponent; } 4159/* harmony export */ }); 4160/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_reviews_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./reviews.component.html */ 65964); 4161/* harmony import */ var _reviews_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reviews.component.css */ 42271); 4162/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 4163/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 4164/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 4165/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 4166var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 4167 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4168 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 4169 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 4170 return c > 3 && r && Object.defineProperty(target, key, r), r; 4171}; 4172 4173 4174 4175 4176 4177 4178let ReviewsComponent = class ReviewsComponent { 4179 constructor(homepageService, searchService, notifierService) { 4180 this.homepageService = homepageService; 4181 this.searchService = searchService; 4182 this.reviews = []; 4183 this.isCard = false; 4184 this.slideConfig = { 4185 "slidesToShow": 1, 4186 'autoplay': true, 4187 'autoplaySpeed': 4000, 4188 'fade': true, 4189 'dots': true, 4190 'vertical': false, 4191 'prevArrow': '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 4192 'nextArrow': '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>' 4193 }; 4194 this.notifier = notifierService; 4195 } 4196 ngOnInit() { 4197 this.getReview(); 4198 } 4199 getReview() { 4200 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 4201 getwidgetsSettingDataSave.data.forEach(evt => { 4202 if (evt.code == 'RV' && this.buId == evt.id) { 4203 this.reviews = evt.content; 4204 if (evt.settings.view == 'C') { 4205 this.isCard = true; 4206 } 4207 else { 4208 this.isCard = false;
4209 } 4210 } 4211 }); 4212 } 4213 slickInit(e) { 4214 // console.log('slick initialized'); 4215 } 4216 imageError(event, images) { 4217 if (typeof ($('body').find('span.RV').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('span.RV').find('img[custom="' + event + '"]').attr('index')) > 0) { 4218 var index = parseInt($('body').find('span.RV').find('img[custom="' + event + '"]').attr('index')); 4219 if (typeof ($('body').find('span.RV').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 4220 index--; 4221 this.imageLoad(event, images, index, true); 4222 } 4223 else { 4224 $('body').find('span.RV').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.RV').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.RV').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 4225 $('body').find('span.RV').find('img[custom="' + event + '"]').remove(); 4226 $('body').find('#' + event).remove(); 4227 } 4228 } 4229 imageLoad(event, images, index, fromError = false) { 4230 if ($('body').find('span.RV').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 4231 return false; 4232 } 4233 if ($('body').find('#' + event).length <= 0) { 4234 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 4235 } 4236 var $this = this; 4237 var imagesAll = this.searchService.sortedImage(images); 4238 $('#' + event).attr('src', imagesAll[index]); 4239 setTimeout(function () { 4240 var tempWidth = $('#' + event).width(); 4241 //console.log(tempWidth, event, index); 4242 var temp = document.getElementById(event); 4243 if (tempWidth <= 1 && index > 0) { 4244 $this.imageLoad(event, images, index - 1, true); 4245 return false; 4246 } 4247 else if (tempWidth <= 1 && index == 0) { 4248 $('body').find('span.RV').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.RV').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.RV').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 4249 $('body').find('span.RV').find('img[custom="' + event + '"]').remove(); 4250 } 4251 }, 500); 4252 if (typeof (imagesAll[index]) != 'undefined') { 4253 $('body').find('span.RV').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 4254 $('body').find('span.RV').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 4255 $('body').find('span.RV').find('img[custom="' + event + '"]').attr('index', index); 4256 } 4257 } 4258}; 4259ReviewsComponent.ctorParameters = () => [ 4260 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 4261 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 4262 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 4263]; 4264ReviewsComponent.propDecorators = { 4265 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Input }] 4266}; 4267ReviewsComponent = __decorate([ 4268 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 4269 selector: 'app-reviews', 4270 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_reviews_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 4271 styles: [_reviews_component_css__WEBPACK_IMPORTED_MODULE_1__] 4272 }) 4273], ReviewsComponent); 4274 4275 4276 4277/***/ }), 4278 4279/***/ 98471: 4280/*!************************************************************!*\ 4281 !*** ./src/app/components/home/search/search.component.ts ***! 4282 \************************************************************/ 4283/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4284 4285"use strict"; 4286__webpack_require__.r(__webpack_exports__); 4287/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4288/* harmony export */ "SearchComponent": function() { return /* binding */ SearchComponent; } 4289/* harmony export */ }); 4290/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_search_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./search.component.html */ 85826); 4291/* harmony import */ var _search_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./search.component.css */ 89586); 4292/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 4293/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 4294/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 4295/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); 4296/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 4297/* harmony import */ var _services_tenant_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/tenant.service */ 62255); 4298var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 4299 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4300 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 4301 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
4301 3 ? d(target, key, r) : d(target, key)) || r; 4302 return c > 3 && r && Object.defineProperty(target, key, r), r; 4303}; 4304 4305 4306 4307 4308 4309 4310 4311 4312let SearchComponent = class SearchComponent { 4313 constructor(activatedRoute, cookieService, router, homepageService, document, tenantService) { 4314 this.activatedRoute = activatedRoute; 4315 this.cookieService = cookieService; 4316 this.router = router; 4317 this.homepageService = homepageService; 4318 this.document = document; 4319 this.tenantService = tenantService; 4320 this.pageType = 'inner'; 4321 this.searchSetting = []; 4322 this.filtersMore = false; 4323 this.limitToSearch = false; 4324 this.minValueReading = 0; 4325 this.maxValueReading = 0; 4326 this.minValuePoint = 0; 4327 this.maxValuePoint = 0; 4328 this.searchType = ''; 4329 this.searchFor = ''; 4330 this.searchIn = ''; 4331 this.searchInVal = ''; 4332 this.exact = ''; 4333 this.isActiveAll = 'active'; 4334 this.isActiveAuthor = ''; 4335 this.isActiveTitle = ''; 4336 this.isActiveSubject = ''; 4337 this.isActiveSeries = ''; 4338 this.limitToShow = false; 4339 this.limitToArray = { 4340 'availability': false, 4341 'category': false, 4342 'lexile': false, 4343 'lexileGrade': false, 4344 'lexileCode': false, 4345 'fountas': false, 4346 'rc': false, 4347 'ar': false, 4348 'homeLocation': false 4349 }; 4350 this.advanceShow = false; 4351 this.isEXactTerm = false; 4352 this.autoSuggesstions = []; 4353 this.autoSuggesstionsStatus = false; 4354 this.isLogin = false; 4355 this.booleanBoxs = [{ 4356 'term': '', 4357 'in': '', 4358 'operator': '0', 4359 }]; 4360 this.options = { 4361 floor: 0, 4362 ceil: 120 4363 }; 4364 this.activeTab = ''; 4365 this.locationSelected = ''; 4366 this.advanceEnabled = false; 4367 this.timerTimeout = 5000; 4368 // Array of selectable option values in lowercase 4369 this.selectOptionLevels = [ 4370 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'z+' 4371 ]; 4372 this.tenant = this.tenantService.tenant; 4373 } 4374 ngOnInit() { 4375 this.getsearchSetting(); 4376 this.searchSetting = this.homepageService.getUpdatedConfig(); 4377 if (this.searchSetting.data.settings.search.types.marc.enabled || this.searchSetting.data.settings.search.types.boolean.enabled || this.searchSetting.data.settings.search.types.barcode.enabled || this.searchSetting.data.settings.search.types.call.enabled || this.searchSetting.data.settings.search.types.lexile.enabled || this.searchSetting.data.settings.search.types.fountas.enabled || this.searchSetting.data.settings.search.types.rc.enabled || this.searchSetting.data.settings.search.types.ar.enabled) 4378 this.advanceEnabled = true; 4379 var key = 'selectedlocation' + this.searchSetting.data.tenantCode.toLowerCase(); 4380 this.locationSelected = this.cookieService.get(key); 4381 this.activatedRoute.queryParams.subscribe(params => { 4382 this.searchType = params['type']; 4383 if (this.searchType == 'Basic') { 4384 this.searchFor = decodeURIComponent(params['keyword']); 4385 this.searchIn = params['searchin']; 4386 this.exact = params['exact']; 4387 } 4388 }); 4389 if (this.searchIn == 'All') { 4390 this.isActiveAll = 'active'; 4391 this.isActiveAuthor = ''; 4392 this.isActiveTitle = ''; 4393 this.isActiveSubject = ''; 4394 this.isActiveSeries = ''; 4395 } 4396 else if (this.searchIn == 'A') { 4397 this.isActiveAll = ''; 4398 this.isActiveAuthor = 'active'; 4399 this.isActiveTitle = ''; 4400 this.isActiveSubject = ''; 4401 this.isActiveSeries = ''; 4402 } 4403 else if (this.searchIn == 'T') { 4404 this.isActiveAll = ''; 4405 this.isActiveAuthor = ''; 4406 this.isActiveTitle = 'active'; 4407 this.isActiveSubject = ''; 4408 this.isActiveSeries = ''; 4409 } 4410 else if (this.searchIn == 'S') { 4411 this.isActiveAll = ''; 4412 this.isActiveAuthor = ''; 4413 this.isActiveTitle = ''; 4414 this.isActiveSubject = 'active'; 4415 this.isActiveSeries = ''; 4416 } 4417 else if (this.searchIn == 'I') { 4418 this.isActiveAll = ''; 4419 this.isActiveAuthor = ''; 4420 this.isActiveTitle = ''; 4421 this.isActiveSubject = ''; 4422 this.isActiveSeries = 'active'; 4423 } 4424 } 4425 ngAfterViewInit() { 4426 if (this.pageType == 'inner') { 4427 this.filtersMore = false;
4428 } 4429 this.makeFancySelect(); 4430 //$("#readingcountsLevelMin").spinner({min: 0, max: 10}); 4431 } 4432 getsearchSetting() { 4433 this.searchSetting = this.homepageService.getUpdatedConfig(); 4434 var count = 0; 4435 if (this.searchSetting.data.settings.search.types.ar.enabled === true) { 4436 this.advanceShow = true; 4437 if (count == 0) { 4438 this.activeTab = 'ar'; 4439 count++; 4440 } 4441 } 4442 if (this.searchSetting.data.settings.search.types.barcode.enabled === true) { 4443 this.advanceShow = true; 4444 if (count == 0) { 4445 this.activeTab = 'barcode'; 4446 count++; 4447 } 4448 } 4449 if (this.searchSetting.data.settings.search.types.boolean.enabled === true) { 4450 this.advanceShow = true; 4451 if (count == 0) { 4452 this.activeTab = 'boolean'; 4453 count++; 4454 } 4455 } 4456 if (this.searchSetting.data.settings.search.types.call.enabled === true) { 4457 this.advanceShow = true; 4458 if (count == 0) { 4459 this.activeTab = 'call'; 4460 count++; 4461 } 4462 } 4463 if (this.searchSetting.data.settings.search.types.lexile.enabled === true) { 4464 this.advanceShow = true; 4465 if (count == 0) { 4466 this.activeTab = 'lexile'; 4467 count++; 4468 } 4469 } 4470 if (this.searchSetting.data.settings.search.types.marc.enabled === true) { 4471 this.advanceShow = true; 4472 if (count == 0) { 4473 this.activeTab = 'marc'; 4474 count++; 4475 } 4476 } 4477 if (this.searchSetting.data.settings.search.types.rc.enabled === true) { 4478 this.advanceShow = true; 4479 if (count == 0) { 4480 this.activeTab = 'rc'; 4481 count++; 4482 } 4483 } 4484 if (this.searchSetting.data.settings.search.types.fountas.enabled === true) { 4485 this.advanceShow = true; 4486 if (count == 0) { 4487 this.activeTab = 'fountas'; 4488 count++; 4489 } 4490 } 4491 if (this.searchSetting.data.settings.search.defaultSearch != null && this.searchSetting.data.settings.search.defaultSearch != 'basic') { 4492 //this.advanceShow = true; 4493 this.activeTab = this.searchSetting.data.settings.search.defaultSearch; 4494 this.filtersMore = true; 4495 } 4496 if (this.searchSetting.data.settings.search.limitTo.availability.enabled === true) { 4497 this.limitToShow = true; 4498 this.limitToArray.availability = true; 4499 } 4500 if (this.searchSetting.data.settings.search.limitTo.category.enabled === true) { 4501 this.limitToShow = true; 4502 this.limitToArray.category = true; 4503 } 4504 if (this.searchSetting.data.settings.search.limitTo.lexile.enabled === true) { 4505 this.limitToShow = true; 4506 this.limitToArray.lexile; 4507 } 4508 if (this.searchSetting.data.settings.search.limitTo.lexileGrade.enabled === true) { 4509 this.limitToShow = true; 4510 this.limitToArray.lexileGrade = true; 4511 ; 4512 } 4513 if (this.searchSetting.data.settings.search.limitTo.lexileCode.enabled === true) { 4514 this.limitToShow = true; 4515 this.limitToArray.lexileCode = true; 4516 ; 4517 } 4518 if (this.searchSetting.data.settings.search.limitTo.fountas.enabled === true) { 4519 this.limitToShow = true; 4520 this.limitToArray.fountas = true; 4521 } 4522 if (this.searchSetting.data.settings.search.limitTo.rc.enabled === true) { 4523 this.limitToShow = true; 4524 this.limitToArray.rc = true; 4525 ; 4526 } 4527 if (this.searchSetting.data.settings.search.limitTo.ar.enabled === true) { 4528 this.limitToShow = true; 4529 this.limitToArray.ar = true; 4530 ; 4531 } 4532 if (this.searchSetting.data.settings.search.limitTo.homeLocation.enabled === true) {
4533 this.limitToShow = true; 4534 this.limitToArray.homeLocation = true; 4535 ; 4536 } 4537 } 4538 filtersMoreFn(event) { 4539 var auth = localStorage.getItem('token'); 4540 if (this.cookieService.check('patronPermissions')) { 4541 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 4542 if (typeof (auth) == 'string' && auth != null && permissions.opacAdmin) { 4543 this.isLogin = true; 4544 } 4545 else { 4546 this.isLogin = false; 4547 } 4548 } 4549 else { 4550 this.isLogin = false; 4551 } 4552 if ($(event.target).hasClass('open')) { 4553 this.filtersMore = false; 4554 $(event.target).removeClass('open'); 4555 } 4556 else { 4557 this.filtersMore = true; 4558 $(event.target).addClass('open'); 4559 } 4560 var self = this; 4561 } 4562 limitTo(event) { 4563 if ($(event.target).hasClass('fas')) { 4564 if ($(event.target).parent().parent().hasClass('open')) { 4565 this.limitToSearch = false; 4566 $(event.target).parent().parent().removeClass('open'); 4567 } 4568 else { 4569 this.limitToSearch = true; 4570 $(event.target).parent().parent().addClass('open'); 4571 } 4572 } 4573 else { 4574 if ($(event.target).hasClass('open')) { 4575 this.limitToSearch = false; 4576 $(event.target).removeClass('open'); 4577 } 4578 else { 4579 this.limitToSearch = true; 4580 $(event.target).addClass('open'); 4581 } 4582 } 4583 } 4584 onKeyUp(type, event) { 4585 var $this = this; 4586 $('.search-main-input.show').removeClass('error'); 4587 this.autoSuggesstions = []; 4588 $('#basicResourceId').val(''); 4589 this.autoSuggesstionsStatus = false; 4590 this.searchKeyWord = document.getElementById('serachInBasic').value; 4591 if (this.searchSetting.data.settings.search.basicSearchIn.bigButtons) { 4592 var searchin = this.searchInVal.toString(); 4593 } 4594 else { 4595 var searchin = document.getElementById('serachInBasicIn').value; 4596 } 4597 if (event.key == 'Enter' && event.keyCode == 13) { 4598 event.preventDefault(); 4599 if ($.trim(this.searchKeyWord) != '') { 4600 var extract = false; 4601 this.filtersMore = false; 4602 $('#serachInBasic').val(''); 4603 let searchObj = { type: 'Basic', keyword: encodeURIComponent(this.searchKeyWord), searchin: encodeURIComponent(searchin), exact: extract }; 4604 if (this.cookieService.check('seachFor')) { 4605 if (this.cookieService.get('seachFor') == this.searchKeyWord) { 4606 searchObj['location'] = this.cookieService.get('selectedlocation' + this.tenant); 4607 } 4608 } 4609 // console.log(this.searchKeyWord,'13'); 4610 sessionStorage.setItem('lastSearchKeyword', this.searchKeyWord); 4611 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo(searchObj) }); 4612 } 4613 else 4614 $('.search-main-input.show').addClass('error'); 4615 } 4616 else { 4617 if (this.searchSetting.data.settings.search.autoComplete.enabled && this.searchSetting.data.settings.search.autoComplete.minChars <= $.trim(this.searchKeyWord).length) { 4618 clearTimeout($this.lateStart); 4619 $this.lateStart = setTimeout(function () { 4620 //console.log('Test'); 4621 $this.doSuggestionSearch(searchin); 4622 }, 1000); 4623 } 4624 else { 4625 this.autoSuggesstionsStatus = false; 4626 //$('#serachInBasicInSel').find('span[value=""]').trigger('click'); 4627 } 4628 } 4629 } 4630 doSuggestionSearch(searchin) { 4631 //var searchin = (<HTMLSelectElement>document.getElementById('serachInBasicIn')).value; 4632 this.searchKeyWord = document.getElementById('serachInBasic').value; 4633 this.homepageService.autoCompleteSuggestion(this.searchKeyWord, searchin).subscribe((data) => { 4634 this.autoSuggesstionsStatus = false;
4635 this.searchKeyWord = document.getElementById('serachInBasic').value; 4636 if ($.trim(this.searchKeyWord) != '' && data.data.length > 0) { 4637 this.autoSuggesstions = data.data; 4638 this.autoSuggesstionsStatus = true; 4639 } 4640 else { 4641 $('#serachInBasicInSel').find('span[value=""]').trigger('click'); 4642 } 4643 }); 4644 } 4645 onSearchIcon() { 4646 //console.log($('body').find('#serachInBasic').val()); 4647 this.autoSuggesstionsStatus = false; 4648 var resourceId = $('#basicResourceId').val(); 4649 var searchKeyWord = $('body').find('#serachInBasic').val().toString(); 4650 if ($.trim(searchKeyWord) != '') { 4651 sessionStorage.setItem('lastSearchKeyword', this.searchKeyWord); 4652 var extract = false; 4653 if (this.searchSetting.data.settings.search.basicSearchIn.bigButtons) { 4654 var searchin = this.searchInVal.toString(); 4655 } 4656 else { 4657 var searchin = $('body').find('#serachInBasicIn').val().toString(); 4658 } 4659 this.filtersMore = false; 4660 $('#serachInBasic').val(''); 4661 let searchObj = { type: 'Basic', keyword: searchKeyWord, searchin: searchin, exact: extract }; 4662 if (this.cookieService.check('seachFor')) { 4663 if (this.cookieService.get('seachFor') == searchKeyWord) { 4664 searchObj['location'] = this.cookieService.get('selectedlocation' + this.tenant); 4665 } 4666 } 4667 if (typeof (resourceId) == 'undefined' || resourceId == '') { 4668 resourceId = ''; 4669 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo(searchObj) }); 4670 } 4671 else { 4672 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: 'Basic', keyword: searchKeyWord, searchin: searchin, exact: extract, resource: resourceId }) }); 4673 } 4674 } 4675 else 4676 $('.search-main-input.show').addClass('error'); 4677 } 4678 changeRangeReading(value) { 4679 this.minValueReading = value.value; 4680 this.maxValueReading = value.highValue; 4681 } 4682 changeRangePoints(value) { 4683 this.minValuePoint = value.value; 4684 this.maxValuePoint = value.highValue; 4685 } 4686 AcceleratedReaderSearch() { 4687 var searchLevel = document.getElementById('arInterestLevel'); 4688 var level = searchLevel.options[searchLevel.selectedIndex].value; 4689 var ar = document.getElementById('arReadingLevel').value; 4690 var ar = document.getElementById('arReadingLevel').value; 4691 this.filtersMore = false; 4692 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: 'ar', rmin: this.minValueReading, rmax: this.maxValueReading, pmin: this.minValuePoint, pmax: this.maxValuePoint, int: level }) }); 4693 return; 4694 } 4695 makeFancySelect() { 4696 var selectedLoc = this.locationSelected; 4697 $('.sel').each(function () { 4698 $(this).removeClass('close'); 4699 $(this).children('select').css('display', 'none'); 4700 var $current = $(this); 4701 $(this).find('option').each(function (i) { 4702 if (i == 0 && !$current.hasClass('location')) { 4703 $current.prepend($('<div>', { 4704 class: $current.attr('class').replace(/sel/g, 'sel__box') 4705 })); 4706 var placeholder = $(this).text(); 4707 $current.prepend($('<span>', { 4708 class: $current.attr('class').replace(/sel/g, 'sel__placeholder'), 4709 text: placeholder, 4710 'data-placeholder': placeholder, 4711 })); 4712 } 4713 else if (i == 0 && $current.hasClass('location')) { 4714 $current.prepend($('<div>', { 4715 class: $current.attr('class').replace(/sel/g, 'sel__box') 4716 })); 4717 var placeholder = $(this).text();
4718 $current.prepend($('<span>', { 4719 class: $current.attr('class').replace(/sel/g, 'sel__placeholder'), 4720 text: placeholder, 4721 'data-placeholder': placeholder, 4722 })); 4723 } 4724 else if (i > 0 && $current.hasClass('location')) { 4725 var id = $(this).val(); 4726 var placeholder = $(this).text(); 4727 if (id == selectedLoc) { 4728 var placeholder = $(this).text(); 4729 $current.find('.sel__placeholder').text(placeholder).attr('data-placeholder', placeholder); 4730 } 4731 } 4732 $current.children('div').append($('<span>', { 4733 class: $current.attr('class').replace(/sel/g, 'sel__box__options'), 4734 text: $(this).text(), 4735 'value': $(this).val(), 4736 })); 4737 }); 4738 }); 4739 // Toggling the `.active` state on the `.sel`. 4740 $('.sel').click(function (event) { 4741 if (event.target.nodeName != 'SELECT' && event.target.nodeName != 'select') { 4742 $(this).toggleClass('active'); 4743 } 4744 }); 4745 // Toggling the `.selected` state on the options. 4746 $('.sel__box__options').click(function () { 4747 var txt = $(this).text(); 4748 var vals = $(this).attr('value'); 4749 var index = $(this).index(); 4750 $(this).siblings('.sel__box__options').removeClass('selected'); 4751 $(this).addClass('selected'); 4752 var $currentSel = $(this).closest('.sel'); 4753 $currentSel.children('.sel__placeholder').text(txt); 4754 $currentSel.children('select').find('option[value="' + vals + '"]').prop('selected', true); 4755 $currentSel.children('select').click(); 4756 }); 4757 } 4758 advanceSearch(event) { 4759 if (event.type == 'keyup' && event.key != 'Enter') { 4760 return false; 4761 } 4762 var activeSeach = $('.advanced-form').find('.tab-pane.active').find('input.searchType').val(); 4763 $('.sel').removeClass('active'); 4764 if (activeSeach == 'Marc') { 4765 var term = document.getElementById('serachInMarc').value; 4766 var extract = document.getElementById('startWithMarc').checked; 4767 if ($.trim(term) != '') { 4768 var searchIn = document.getElementById('serachInMarcIn').value; 4769 this.filtersMore = false; 4770 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, keyword: term, searchin: searchIn, exact: extract }) }); 4771 } 4772 else { 4773 $('#serachInMarc').addClass('error'); 4774 } 4775 } 4776 else if (activeSeach == 'Call') { 4777 var start = document.getElementById('callStart').value; 4778 var end = document.getElementById('callEnd').value; 4779 if ($.trim(start) == '') { 4780 $('#callStart').addClass('error'); 4781 } 4782 if ($.trim(start) != '') { 4783 var extract = false; 4784 this.filtersMore = false; 4785 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, start: start, end: end, exact: extract }) }); 4786 } 4787 } 4788 else if (activeSeach == 'Barcode') { 4789 var start = document.getElementById('barcodeStart').value; 4790 if ($.trim(start) == '') { 4791 $('#barcodeStart').addClass('error'); 4792 } 4793 var end = document.getElementById('barcodeEnd').value; 4794 if ($.trim(start) != '') { 4795 var extract = false; 4796 this.filtersMore = false; 4797 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, start: start, end: end, exact: extract }) }); 4798 } 4799 } 4800 else if (activeSeach == 'ReadingCounts') { 4801 var LevelMin = document.getElementById('readingcountsLevelMin').value; 4802 var LevelMax = document.getElementById('readingcountsLevelMax').value;
4803 var PointMin = document.getElementById('readingcountsPointMin').value; 4804 var PointMax = document.getElementById('readingcountsPointMax').value; 4805 if ($.trim(LevelMin) != '' && $.trim(LevelMax) != '' && $.trim(PointMin) != '' && $.trim(PointMax) != '') { 4806 var extract = false; 4807 this.filtersMore = false; 4808 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, levelmin: LevelMin, levelmax: LevelMax, pointmin: PointMin, pointmax: PointMax, exact: extract }) }); 4809 } 4810 else { 4811 if ($.trim(LevelMin) == '') { 4812 $('#readingcountsLevelMin').addClass('error'); 4813 } 4814 if ($.trim(LevelMax) == '') { 4815 $('#readingcountsLevelMax').addClass('error'); 4816 } 4817 if ($.trim(PointMin) == '') { 4818 $('#readingcountsPointMin').addClass('error'); 4819 } 4820 if ($.trim(PointMax) == '') { 4821 $('#readingcountsPointMax').addClass('error'); 4822 } 4823 } 4824 } 4825 else if (activeSeach == 'Fountas') { 4826 var LevelMin = document.getElementById('fountasLevelMin').value; 4827 var LevelMax = document.getElementById('fountasLevelMax').value; 4828 if ($.trim(LevelMin) != '' && $.trim(LevelMax) != '') { 4829 var extract = false; 4830 this.filtersMore = false; 4831 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, levelmin: LevelMin, levelmax: LevelMax, exact: extract }) }); 4832 } 4833 else { 4834 if ($.trim(LevelMin) == '') { 4835 $('#fountasLevelMin').addClass('error'); 4836 } 4837 if ($.trim(LevelMax) == '') { 4838 $('#fountasLevelMax').addClass('error'); 4839 } 4840 } 4841 } 4842 else if (activeSeach == 'AcceleratedReader') { 4843 var LevelMin = document.getElementById('AcceleratedReaderLevelMin').value; 4844 var LevelMax = document.getElementById('AcceleratedReaderLevelMax').value; 4845 var PointMin = document.getElementById('AcceleratedReaderPointsMin').value; 4846 var PointMax = document.getElementById('AcceleratedReaderPointsMax').value; 4847 var InterestLevel = document.getElementById('AcceleratedReaderInterestLevel').value; 4848 if (($.trim(LevelMin) != '' && $.trim(LevelMax) != '') || ($.trim(PointMin) != '' && $.trim(PointMax) != '')) { 4849 this.filtersMore = false; 4850 //this.addLimitTo({ type: activeSeach,levelmin: LevelMin,levelmax:LevelMax,pointmin: PointMin,pointmax:PointMax,int:InterestLevel }) 4851 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, levelmin: LevelMin, levelmax: LevelMax, pointmin: PointMin, pointmax: PointMax, int: InterestLevel }) }); 4852 } 4853 else { 4854 if ($.trim(LevelMin) == '') { 4855 $('#AcceleratedReaderLevelMin').addClass('error'); 4856 } 4857 if ($.trim(LevelMax) == '') { 4858 $('#AcceleratedReaderLevelMax').addClass('error'); 4859 } 4860 if ($.trim(PointMin) == '') { 4861 $('#AcceleratedReaderPointsMin').addClass('error'); 4862 } 4863 if ($.trim(PointMax) == '') { 4864 $('#AcceleratedReaderPointsMax').addClass('error'); 4865 } 4866 } 4867 } 4868 else if (activeSeach == 'Lexile') { 4869 var LevelMin = document.getElementById('LexileLevelMin').value; 4870 var LevelMax = document.getElementById('LexileLevelMax').value; 4871 var Lexilecode = document.getElementById('Lexilecode').value; 4872 var LexilePatronType = document.getElementById('LexilePatronType').value; 4873 if ($.trim(LevelMin) != '' && $.trim(LevelMax) != '') { 4874 this.filtersMore = false; 4875 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, levelmin: LevelMin, levelmax: LevelMax, code: Lexilecode, patronType: LexilePatronType }) }); 4876 } 4877 else { 4878 if ($.trim(LevelMin) == '') { 4879 $('#LexileLevelMin').addClass('error'); 4880 } 4881 if ($.trim(LevelMax) == '') { 4882 $('#LexileLevelMax').addClass('error'); 4883 } 4884 } 4885 } 4886 else if (activeSeach == 'Boolean') { 4887 var boxCount = 0; 4888 var apiString = ''; 4889 var error = 0; 4890 var tempOprand = 'AND'; 4891 $('div#nav-Boolean').find('.boxBoolean').each(function () { 4892 $(this).find('input[name="terms"]').removeClass('error'); 4893 var terms = $.trim($(this).find('input[name="terms"]').val().toString()); 4894 if (terms != '') { 4895 var searchIn = $(this).find('select[name="searchIn"]').val(); 4896 var operand = $(this).find('ul.booleanOpretors li.active').text(); 4897 boxCount++; 4898 if (boxCount != 0) { 4899 apiString += '&'; 4900 } 4901 if (boxCount == 1) { 4902 tempOprand = 'AND'; 4903 apiString += 'term-' + boxCount + '=' + terms + '&in-' + boxCount + '=' + searchIn + '&op-' + boxCount + '=' + tempOprand; 4904 } 4905 else { 4906 apiString += 'term-' + boxCount + '=' + terms + '&op-' + boxCount + '=' + operand + '&in-' + boxCount + '=' + searchIn; 4907 } 4908 } 4909 else { 4910 $(this).find('input[name="terms"]').addClass('error'); 4911 error++; 4912 } 4913 }); 4914 if (boxCount != 0 && error == 0) { 4915 this.filtersMore = false;
4916 apiString += '&count=' + boxCount; 4917 let a = this.addLimitTo({ type: activeSeach, parameters: apiString }); 4918 this.router.navigate(['/searchlist'], { queryParams: { type: a.type, parameters: a.parameters } }); 4919 } 4920 } 4921 else if (activeSeach == 'PopularTitles') { 4922 var error = 0; 4923 var Period = document.getElementById('populartitlesPeriod').value; 4924 var Size = document.getElementById('populartitlesSize').value; 4925 var published = $('#populartitlesPublish').is(':checked'); 4926 if ($.trim(Period) == '') { 4927 $('#populartitlesPeriod').addClass('error'); 4928 error++; 4929 } 4930 if ($.trim(Period) == '') { 4931 $('#populartitlesPeriod').addClass('populartitlesSize'); 4932 error++; 4933 } 4934 if (error != 0) { 4935 return false; 4936 } 4937 this.filtersMore = false; 4938 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, period: Period, size: Size, publish: published }) }); 4939 } 4940 else if (activeSeach == 'NewInLibrary') { 4941 var error = 0; 4942 var Period = document.getElementById('newinlibraryPeriod').value; 4943 //var Size = (<HTMLInputElement>document.getElementById('newinlibrarySize')).value; 4944 var published = $('#newinlibraryPublish').is(':checked'); 4945 var copies = $('#newinlibraryCopies').is(':checked'); 4946 if ($.trim(Period) == '') { 4947 $('#populartitlesPeriod').addClass('error'); 4948 error++; 4949 } 4950 if ($.trim(Period) == '') { 4951 $('#populartitlesPeriod').addClass('populartitlesSize'); 4952 error++; 4953 } 4954 if (error != 0) { 4955 return false; 4956 } 4957 this.filtersMore = false; 4958 this.router.navigate(['/searchlist'], { queryParams: this.addLimitTo({ type: activeSeach, period: Period, publish: published, copies: copies }) }); 4959 } 4960 } 4961 validateSearch(event, searchType, fieldType) { 4962 $(event.target).parent().find('.errorMessage').remove(); 4963 let inputValue = $.trim($(event.target).val().toString()); 4964 let min = $(event.target).attr('min'); 4965 let max = $(event.target).attr('max'); 4966 let steps = $(event.target).attr('step'); 4967 let group = $(event.target).attr('group'); 4968 if (searchType != 'Lexile') { 4969 /* Add Zero to the float vaue if not have */ 4970 if (inputValue.indexOf('.') >= 0) { 4971 var checkFlt = inputValue.split('.'); 4972 if (checkFlt[0] == '') { 4973 inputValue = '0' + inputValue; 4974 $(event.target).val(inputValue); 4975 } 4976 } 4977 /* Set minimum and maximum values if less and greater to range*/ 4978 if (parseFloat(inputValue) > parseFloat(max) || parseFloat(inputValue) < parseFloat(min)) { 4979 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 4980 $(event.target).val(min).removeClass('error'); 4981 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 4982 } 4983 else { 4984 $(event.target).val(max).removeClass('error'); 4985 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 4986 } 4987 setTimeout(function () { 4988 $(event.target).focus().removeClass('error'); 4989 }, 10); 4990 } 4991 else { 4992 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 4993 var MaxValue = $.trim($('input#' + group + 'Max').val().toString()); 4994 if (MaxValue != '' && (parseFloat(MaxValue) < parseFloat(inputValue))) { 4995 $(event.target).val(min).removeClass('error'); 4996 return false;
4997 } 4998 } 4999 else { 5000 var MinValue = $.trim($('input#' + group + 'Min').val().toString()); 5001 if (MinValue != '' && (parseFloat(MinValue) > parseFloat(inputValue))) { 5002 $(event.target).val(max).removeClass('error'); 5003 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 5004 return false; 5005 } 5006 } 5007 /* Check for values in case of step 0.5 */ 5008 if (steps == '0.5') { 5009 var near = this.nearest(inputValue).toString(); 5010 if (near.indexOf('.') == -1 && near != '0') { 5011 $(event.target).val(near + '.0').removeClass('error'); 5012 $(event.target).val(near).removeClass('error'); 5013 } 5014 } 5015 } 5016 if (searchType == 'AcceleratedReader' && parseFloat(inputValue) > 0) { 5017 var LevelMin = document.getElementById('AcceleratedReaderLevelMin').value; 5018 var LevelMax = document.getElementById('AcceleratedReaderLevelMax').value; 5019 var PointMin = document.getElementById('AcceleratedReaderPointsMin').value; 5020 var PointMax = document.getElementById('AcceleratedReaderPointsMax').value; 5021 if (parseFloat(LevelMin) > 0 && parseFloat(LevelMax) > 0 && PointMin == '' && PointMax == '') { 5022 $('#AcceleratedReaderPointsMin').removeClass('error'); 5023 $('#AcceleratedReaderPointsMax').removeClass('error'); 5024 } 5025 else if (parseFloat(PointMin) > 0 && parseFloat(PointMax) > 0 && LevelMin == '' && LevelMax == '') { 5026 $('#AcceleratedReaderLevelMin').removeClass('error'); 5027 $('#AcceleratedReaderLevelMax').removeClass('error'); 5028 } 5029 if (fieldType == 'LevelMin') { 5030 $('#AcceleratedReaderLevelMin').removeClass('error'); 5031 } 5032 if (fieldType == 'LevelMax') { 5033 $('#AcceleratedReaderLevelMax').removeClass('error'); 5034 } 5035 if (fieldType == 'PointMin') { 5036 $('#AcceleratedReaderPointsMin').removeClass('error'); 5037 } 5038 if (fieldType == 'PointMax') { 5039 $('#AcceleratedReaderPointsMax').removeClass('error'); 5040 } 5041 } 5042 } 5043 else { 5044 $(event.target).removeClass('error'); 5045 if (parseFloat(inputValue) > parseFloat(max) || parseFloat(inputValue) < parseFloat(min)) { 5046 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 5047 $(event.target).val(min).removeClass('error'); 5048 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 5049 } 5050 else { 5051 $(event.target).val(max).removeClass('error'); 5052 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 5053 } 5054 setTimeout(function () { 5055 $(event.target).focus().removeClass('error'); 5056 }, 10); 5057 } 5058 else if (typeof ($(event.target).attr('ismin')) != 'undefined') { 5059 var MaxValue = $.trim($('input#' + group + 'Max').val().toString()); 5060 if (MaxValue != '' && (parseFloat(MaxValue) < parseFloat(inputValue))) { 5061 $(event.target).val(min).removeClass('error'); 5062 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 5063 return false; 5064 } 5065 } 5066 else { 5067 var MinValue = $.trim($('input#' + group + 'Min').val().toString()); 5068 if (MinValue != '' && (parseFloat(MinValue) > parseFloat(inputValue))) { 5069 $(event.target).val(max).removeClass('error'); 5070 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 5071 return false;
5072 } 5073 } 5074 } 5075 setTimeout(function () { 5076 $(event.target).parent().find('.errorMessage').remove(); 5077 }, 10000); 5078 } 5079 nearest(value) { 5080 return (Math.round(value * 2) / 2); 5081 } 5082 selectOpretor(event) { 5083 $(event.target).parent().find('li').removeClass('active'); 5084 $(event.target).addClass('active'); 5085 } 5086 copyOpretorBox(event) { 5087 var index = $(event.target).index(); 5088 this.booleanBoxs.push({ 'term': '', 'in': '', 'operator': index }); 5089 } 5090 removeOpretorBox(event) { 5091 var ind = $(event.target).parents('.row').index(); 5092 this.booleanBoxs.splice((ind - 1), 1); 5093 } 5094 lexileGradeChange(event) { 5095 $('input#LexileLevelMin').val($(event.target).find('option:selected').attr('min')); 5096 $('input#LexileLevelMax').val($(event.target).find('option:selected').attr('high')); 5097 $('select#Lexilecode').find('option:eq(0)').prop('selected', true); 5098 } 5099 manageExactTerm(event) { 5100 this.isEXactTerm = event.target.value; 5101 } 5102 setAuthor(type, event) { 5103 $('.search-main-thumbnails').find('button').removeClass('active'); 5104 this.searchInVal = type; 5105 if (event.target.nodeName == 'BUTTON') { 5106 $(event.target).addClass('active'); 5107 $('#serachInBasicIn').find('option[value="' + type + '"]').prop('selected', true); 5108 } 5109 else { 5110 $(event.target).parents('button').addClass('active'); 5111 } 5112 $('#serachInBasicIn').click(); 5113 } 5114 autocompleteSelect(event) { 5115 $('ul.autoSuggesstionsUl').find('li').removeClass('selected'); 5116 if (event.target.nodeName.toLowerCase() == 'li') { 5117 $('#basicResourceId').val($(event.target).attr('id')); 5118 } 5119 else { 5120 $('#basicResourceId').val($(event.target).parents('li').attr('id')); 5121 } 5122 this.autoSuggesstionsStatus = false; 5123 this.onSearchIcon(); 5124 } 5125 onKeyDown(event) { 5126 var $this = this; 5127 //console.log('clear'); 5128 clearTimeout($this.lateStart); 5129 if (event.key == 'Enter' && event.keyCode == 13) { 5130 event.preventDefault(); 5131 } 5132 } 5133 addLimitTo(object) { 5134 var objectTemp = {}; 5135 $('input.checkLimit').each(function () { 5136 //console.log($(this).attr('name')); 5137 if ($(this).is(':checked') && $(this).attr('name') == 'limitCategory') { 5138 if (object.type == 'Boolean') { 5139 object['parameters'] += '&l-cat=' + $('#l-cat').val(); 5140 } 5141 else { 5142 object['l-cat'] = $('#l-cat').val(); 5143 } 5144 } 5145 if ($(this).is(':checked') && $(this).attr('name') == 'limitInlib') { 5146 if (object.type == 'Boolean') { 5147 object['parameters'] += '&l-inlib=' + $(this).is(':checked'); 5148 } 5149 else { 5150 object['l-inlib'] = $(this).is(':checked'); 5151 } 5152 } 5153 if ($(this).is(':checked') && $(this).attr('name') == 'limitLexile') { 5154 if (object.type == 'Boolean') { 5155 object['parameters'] += '&l-lexmin=' + $('input[name=l-lexmin]').val(); 5156 object['parameters'] += '&l-lexmax=' + $('input[name=l-lexmin]').val(); 5157 if (typeof ($('select[name=l-lexcode]').val()) != 'undefined') { 5158 object['parameters'] += '&l-lexcode=' + $('select[name=l-lexcode]').val(); 5159 } 5160 if (typeof ($('select[name=l-lexpat]').val()) != 'undefined') { 5161 object['parameters'] += '&l-lexpat=' + $('select[name=l-lexpat]').val(); 5162 } 5163 } 5164 else { 5165 object['l-lexmin'] = $('input[name=l-lexmin]').val(); 5166 object['l-lexmax'] = $('input[name=l-lexmin]').val(); 5167 if (typeof ($('select[name=l-lexcode]').val()) != 'undefined') { 5168 object['l-lexcode'] = $('select[name=l-lexcode]').val(); 5169 } 5170 if (typeof ($('select[name=l-lexpat]').val()) != 'undefined') { 5171 object['l-lexpat'] = $('select[name=l-lexpat]').val(); 5172 } 5173 } 5174 } 5175 if ($(this).is(':checked') && $(this).attr('name') == 'limitFountas') { 5176 if (object.type == 'Boolean') { 5177 object['parameters'] += '&l-fpmin=' + $('#l-fpmin').val(); 5178 object['parameters'] += '&l-fpmax=' + $('#l-fpmax').val(); 5179 } 5180 else { 5181 object['l-fpmin'] = $('#l-fpmin').val(); 5182 object['l-fpmax'] = $('#l-fpmax').val(); 5183 } 5184 } 5185 if ($(this).is(':checked') && $(this).attr('name') == 'limitReading') { 5186 if (object.type == 'Boolean') { 5187 object['parameters'] += '&l-rcmin' + $('input[name=l-rcmin]').val(); 5188 object['parameters'] += '&l-rcmax' + $('input[name=l-rcmax]').val(); 5189 object['parameters'] += '&l-rcminpt' + $('input[name=l-rcminpt]').val(); 5190 object['parameters'] += '&l-rcmaxpt' + $('input[name=l-rcmaxpt]').val(); 5191 } 5192 else { 5193 object['l-rcmin'] = $('input[name=l-rcmin]').val(); 5194 object['l-rcmax'] = $('input[name=l-rcmax]').val(); 5195 object['l-rcminpt'] = $('input[name=l-rcminpt]').val(); 5196 object['l-rcmaxpt'] = $('input[name=l-rcmaxpt]').val(); 5197 } 5198 } 5199 if ($(this).is(':checked') && $(this).attr('name') == 'limitAccelerated') { 5200 if (object.type == 'Boolean') { 5201 object['parameters'] += '&l-armin=' + $('input[name=l-armin]').val(); 5202 object['parameters'] += '&l-armax=' + $('input[name=l-armax]').val(); 5203 object['parameters'] += '&l-arminpt=' + $('input[name=l-arminpt]').val(); 5204 object['parameters'] += '&l-armaxpt=' + $('input[name=l-armaxpt]').val(); 5205 object['parameters'] += '&l-arint=' + $('select[name=l-arint]').val(); 5206 } 5207 else {
5208 object['l-armin'] = $('input[name=l-armin]').val(); 5209 object['l-armax'] = $('input[name=l-armax]').val(); 5210 object['l-arminpt'] = $('input[name=l-arminpt]').val(); 5211 object['l-armaxpt'] = $('input[name=l-armaxpt]').val(); 5212 object['l-arint'] = $('select[name=l-arint]').val(); 5213 } 5214 } 5215 }); 5216 return object; 5217 } 5218}; 5219SearchComponent.ctorParameters = () => [ 5220 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute }, 5221 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__.CookieService }, 5222 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.Router }, 5223 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 5224 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 5225 { type: _services_tenant_service__WEBPACK_IMPORTED_MODULE_3__.TenantService } 5226]; 5227SearchComponent.propDecorators = { 5228 pageType: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Input }] 5229}; 5230SearchComponent = __decorate([ 5231 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 5232 selector: 'app-search', 5233 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_search_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 5234 styles: [_search_component_css__WEBPACK_IMPORTED_MODULE_1__] 5235 }) 5236], SearchComponent); 5237 5238 5239 5240/***/ }), 5241 5242/***/ 48321: 5243/*!********************************************************!*\ 5244 !*** ./src/app/components/home/text/text.component.ts ***! 5245 \********************************************************/ 5246/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5247 5248"use strict"; 5249__webpack_require__.r(__webpack_exports__); 5250/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5251/* harmony export */ "TextComponent": function() { return /* binding */ TextComponent; } 5252/* harmony export */ }); 5253/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_text_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./text.component.html */ 42679); 5254/* harmony import */ var _text_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text.component.css */ 8922); 5255/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 5256/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 5257var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 5258 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 5259 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5260 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 5261 return c > 3 && r && Object.defineProperty(target, key, r), r; 5262}; 5263 5264 5265 5266 5267let TextComponent = class TextComponent { 5268 constructor(homepageService) { 5269 this.homepageService = homepageService; 5270 this.widgetsSetting = []; 5271 } 5272 ngOnInit() { 5273 this.getwidgetsSetting(); 5274 } 5275 getwidgetsSetting() { 5276 let getwidgetsSettingDataSave = this.homepageService.getwidgetsSettingDataSave(); 5277 getwidgetsSettingDataSave.data.forEach(evt => { 5278 if (evt.code == 'MS' && this.buId == evt.id) { 5279 this.widgetsSetting = evt.settings; 5280 } 5281 }); 5282 } 5283}; 5284TextComponent.ctorParameters = () => [ 5285 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 5286]; 5287TextComponent.propDecorators = { 5288 buId: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Input }] 5289}; 5290TextComponent = __decorate([ 5291 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 5292 selector: 'app-text', 5293 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_text_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 5294 styles: [_text_component_css__WEBPACK_IMPORTED_MODULE_1__] 5295 }) 5296], TextComponent); 5297 5298 5299 5300/***/ }), 5301 5302/***/ 23251: 5303/*!*************************************************************!*\ 5304 !*** ./src/app/components/pages/awards/awards.component.ts ***! 5305 \*************************************************************/ 5306/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5307 5308"use strict"; 5309__webpack_require__.r(__webpack_exports__); 5310/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5311/* harmony export */ "AwardsComponent": function() { return /* binding */ AwardsComponent; } 5312/* harmony export */ }); 5313/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_awards_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./awards.component.html */ 75288); 5314/* harmony import */ var _awards_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./awards.component.css */ 50882); 5315/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 54364); 5316/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 5317/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 5318var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 5319 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 5320 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5321 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
5321 3 ? d(target, key, r) : d(target, key)) || r; 5322 return c > 3 && r && Object.defineProperty(target, key, r), r; 5323}; 5324 5325 5326 5327 5328 5329const now = new Date(); 5330let AwardsComponent = class AwardsComponent { 5331 constructor(document, homepageService) { 5332 this.document = document; 5333 this.homepageService = homepageService; 5334 this.Awards = []; 5335 this.responseAPIstatus = true; 5336 } 5337 ngOnInit() { 5338 this.document.body.classList.add('inner-page'); 5339 this.document.body.classList.remove('list'); 5340 this.getAwards(); 5341 } 5342 //To get awards lists. 5343 getAwards() { 5344 return this.homepageService.getAwards().subscribe((data) => { 5345 this.Awards = data.data; 5346 if (this.Awards.recentYears) { 5347 this.highYear = this.Awards.recentYears[0]; 5348 var high = parseInt(this.Awards.recentYears.length) - 1; 5349 this.lowYear = this.Awards.recentYears[high]; 5350 } 5351 this.responseAPIstatus = false; 5352 setTimeout(function () { 5353 var grid = document.querySelector('#grid'); 5354 var iso = new this.Isotope(grid, { 5355 itemSelector: '.grid-item', 5356 percentPosition: true, 5357 masonry: { 5358 columnWidth: '.grid-sizer' 5359 } 5360 }); 5361 }, 100); 5362 }); 5363 } 5364}; 5365AwardsComponent.ctorParameters = () => [ 5366 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_3__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.DOCUMENT,] }] }, 5367 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 5368]; 5369AwardsComponent = __decorate([ 5370 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 5371 selector: 'app-awards', 5372 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_awards_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 5373 styles: [_awards_component_css__WEBPACK_IMPORTED_MODULE_1__] 5374 }) 5375], AwardsComponent); 5376 5377 5378 5379/***/ }), 5380 5381/***/ 40087: 5382/*!*******************************************************************************!*\ 5383 !*** ./src/app/components/pages/bulletin-detail/bulletin-detail.component.ts ***! 5384 \*******************************************************************************/ 5385/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5386 5387"use strict"; 5388__webpack_require__.r(__webpack_exports__); 5389/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5390/* harmony export */ "BulletinDetailComponent": function() { return /* binding */ BulletinDetailComponent; } 5391/* harmony export */ }); 5392/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletin_detail_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./bulletin-detail.component.html */ 9342); 5393/* harmony import */ var _bulletin_detail_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bulletin-detail.component.css */ 32954); 5394/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 5395/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 54364); 5396/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 5397/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ 71258); 5398/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 5399/* harmony import */ var date_fns_locale_en_US__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! date-fns/locale/en-US */ 75955); 5400/* harmony import */ var _services_tenant_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/tenant.service */ 62255); 5401var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 5402 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 5403 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5404 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
5404 3 ? d(target, key, r) : d(target, key)) || r; 5405 return c > 3 && r && Object.defineProperty(target, key, r), r; 5406}; 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417let BulletinDetailComponent = class BulletinDetailComponent { 5418 constructor(document, homepageService, activatedRoute, cookieService, router, tenantService) { 5419 this.document = document; 5420 this.homepageService = homepageService; 5421 this.activatedRoute = activatedRoute; 5422 this.cookieService = cookieService; 5423 this.router = router; 5424 this.tenantService = tenantService; 5425 this.responseAPIstatus = true; 5426 this.tetent = ''; 5427 this.confiGurationSetting = '*'; 5428 this.token = ''; 5429 this.bulletinDetail = []; 5430 this.canEdit = false; 5431 this.loations = []; 5432 this.showDate = false; 5433 this.saveBulletin = false; 5434 this.date = new Date(); 5435 this.showDeleteConfirm = false; 5436 this.deleteBulletinId = 0; 5437 this.deleteBulletinEvent = null; 5438 this.optionsEditor = { 5439 key: '6LF5g1D4A3B2B5D5E4F-11SLJCKHXOSLMc1YGSGb1ZXHSe1CgB5A4D4A3E3C2A13A19B6C6==', 5440 toolbarInline: false, 5441 attribution: false, 5442 fileUpload: false, 5443 toolbarVisibleWithoutSelection: true, 5444 imageStyles: { 5445 class1: 'Class 1', 5446 class2: 'Class 2' 5447 }, 5448 imageUploadMethod: 'post', 5449 requestHeaders: { 5450 tenant: '', 5451 configuration: this.confiGurationSetting, 5452 Authorization: '' 5453 }, 5454 imageUploadURL: 'https://api.library.site/v1/bulletin/bulletinimage/upload', 5455 events: { 5456 'image.uploaded': function (response) { 5457 var img_url = JSON.parse(response).data.url; 5458 this.image.insert(img_url, false, null, this.image.get(), response); 5459 return false; 5460 } 5461 }, 5462 toolbarButtons: { 5463 moreText: { buttons: ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'] }, 5464 moreParagraph: { buttons: ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'] }, 5465 moreRich: { buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertHR'] }, 5466 moreMisc: { buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'], align: 'right', buttonsVisible: 2 } 5467 }, 5468 imageEditButtons: ['imageReplace', 'imageAlign', 'imageRemove', '|', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '-', 'imageDisplay', 'imageStyle', 'imageAlt', 'imageSize'] 5469 }; 5470 this.options = { 5471 minYear: 1970, 5472 maxYear: 2030, 5473 placeholder: '', 5474 format: 'MM-dd-yyyy', 5475 formatTitle: 'MM yyyy', 5476 formatDays: 'EEEEE', 5477 firstCalendarDay: 0, 5478 locale: date_fns_locale_en_US__WEBPACK_IMPORTED_MODULE_4__.default, 5479 position: 'bottom', 5480 inputClass: '', 5481 calendarClass: 'datepicker-default', 5482 scrollBarColor: '#dfe3e9', // in case you customize you theme, here you define scroll bar color 5483 //keyboardEvents: true // enable keyboard events 5484 }; 5485 //if(this.cookieService.check( 'info')){ 5486 if (localStorage.getItem('info') != null) { 5487 this.optionsEditor.requestHeaders.Authorization = 'Bearer ' + localStorage.getItem('token'); 5488 } 5489 this.optionsEditor.requestHeaders.tenant = this.tenantService.tenant; 5490 this.optionsEditor.requestHeaders.configuration = this.tenantService.configurationSetting; 5491 } 5492 ; 5493 ngOnInit() { 5494 this.document.body.classList.add('inner-page'); 5495 this.document.body.classList.remove('list'); 5496 if (typeof (this.activatedRoute.snapshot.paramMap.get("bulletin_id")) != 'undefined' && this.activatedRoute.snapshot.paramMap.get("bulletin_id")) { 5497 this.getBulletin(this.activatedRoute.snapshot.paramMap.get("bulletin_id")); 5498 } 5499 //checking for patron login or not. 5500 if (this.cookieService.check('patron')) { 5501 //user can edit only if patron has permission. 5502 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 5503 this.canEdit = permissions.opacAdmin; 5504 } 5505 else { 5506 this.canEdit = false;
5507 } 5508 this.homepageService.getConfig().subscribe((data) => { 5509 var tnt = data.data.tenantCode.toLowerCase(); 5510 var slctloc = this.cookieService.get('selectedlocation' + tnt); 5511 var locData = {}; 5512 data.data.settings.location.locations.forEach((loc) => { 5513 if (loc.id == slctloc) { 5514 locData = { 'id': loc.id, 'name': loc.name }; 5515 } 5516 }); 5517 this.loations = locData; 5518 }); 5519 } 5520 //To get single bulletin 5521 getBulletin(id) { 5522 return this.homepageService.getBulletinDetail(id).subscribe((data) => { 5523 this.bulletinDetail = data; 5524 this.date = this.bulletinDetail.data.date; 5525 if (this.date) { 5526 let newDate = new Date(this.date); 5527 let datePipe = new _angular_common__WEBPACK_IMPORTED_MODULE_5__.DatePipe('en-US'); 5528 let editDate = datePipe.transform(newDate, 'MM-dd-yyyy'); // 02.08.2023 5529 this.date = new Date(editDate); 5530 this.showDate = true; 5531 } 5532 else { 5533 this.date = new Date(Date.now()); 5534 } 5535 this.homepageService.updateBannerText(this.bulletinDetail.data.caption); 5536 this.responseAPIstatus = false; 5537 }); 5538 } 5539 showDeleteConfirmation(id, event) { 5540 this.showDeleteConfirm = true; 5541 this.deleteBulletinId = id; 5542 this.deleteBulletinEvent = event; 5543 } 5544 hideDeleteConfirmation() { 5545 this.showDeleteConfirm = false; 5546 } 5547 //delete bulletin 5548 deleteBulletin() { 5549 var self = this; 5550 this.showDeleteConfirm = false; 5551 this.deleteBulletinEvent.preventDefault(); 5552 var token = localStorage.getItem('token'); 5553 self.homepageService.getBulletDelete(this.deleteBulletinId, token).subscribe((data) => { 5554 if (data.status === true) { 5555 this.router.navigate(['/bulletins']); 5556 } 5557 }); 5558 } 5559 //To show date box. 5560 showDateInput(event) { 5561 if (this.showDate === true) { 5562 this.showDate = false; 5563 } 5564 else { 5565 this.showDate = true; 5566 } 5567 } 5568 //To save type( or method or setting) of bulletin. 5569 saveBulletinMethod(event) { 5570 this.saveBulletin = true; 5571 var bid = $.trim($('#bid').val().toString()); 5572 var bHeadline = $.trim($('#bHeadline').val().toString()); 5573 var bcontent = $.trim($('#bContent').val().toString()); 5574 var bLocation = $.trim($('input[name="selectlocation"]:checked').val().toString()); 5575 if (bLocation == '' || bLocation == null) { 5576 bLocation = null; 5577 let loc = sessionStorage.getItem('lastSearchLocation'); 5578 bLocation = loc; 5579 } 5580 let bDate = null; 5581 if ($('#bIsDate').is(':checked')) { 5582 bDate = $.trim($('#bDate').find('input').val().toString()); 5583 let newDate = new Date(bDate); 5584 let datePipe = new _angular_common__WEBPACK_IMPORTED_MODULE_5__.DatePipe('en-US'); 5585 this.date = datePipe.transform(newDate, 'MM-dd-yyyy'); // 02.08.2023 5586 bDate = this.date; 5587 } 5588 let newdate = $.trim($('#bDate').find('input').val().toString()); 5589 var token = localStorage.getItem('token'); 5590 this.homepageService.editBulletin(bid, bHeadline, bcontent, bLocation, bDate, token).subscribe((data) => { 5591 this.saveBulletin = false; 5592 this.bulletinDetail = data; 5593 if (this.bulletinDetail.data.date) { 5594 this.showDate = true; 5595 } 5596 this.responseAPIstatus = false; 5597 $('#closeBulletinAdd').trigger('click'); 5598 }); 5599 } 5600}; 5601BulletinDetailComponent.ctorParameters = () => [ 5602 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.DOCUMENT,] }] }, 5603 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 5604 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute }, 5605 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__.CookieService }, 5606 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.Router }, 5607 { type: _services_tenant_service__WEBPACK_IMPORTED_MODULE_3__.TenantService } 5608]; 5609BulletinDetailComponent = __decorate([ 5610 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 5611 selector: 'app-bulletin-detail', 5612 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletin_detail_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 5613 styles: [_bulletin_detail_component_css__WEBPACK_IMPORTED_MODULE_1__] 5614 }) 5615], BulletinDetailComponent); 5616 5617 5618 5619/***/ }), 5620 5621/***/ 36974: 5622/*!*****************************************************************************!*\ 5623 !*** ./src/app/components/pages/bulletins-list/bulletins-list.component.ts ***! 5624 \*****************************************************************************/ 5625/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5626 5627"use strict"; 5628__webpack_require__.r(__webpack_exports__); 5629/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5630/* harmony export */ "BulletinsListComponent": function() { return /* binding */ BulletinsListComponent; } 5631/* harmony export */ }); 5632/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletins_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./bulletins-list.component.html */ 70970); 5633/* harmony import */ var _bulletins_list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bulletins-list.component.css */ 30201); 5634/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 5635/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 5636/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 5637/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 5638/* harmony import */ var _angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/cdk/drag-drop */ 28487); 5639/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! moment */ 2281); 5640/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__); 5641/* harmony import */ var _services_tenant_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/tenant.service */ 62255); 5642var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 5643 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 5644 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5645 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
5645 3 ? d(target, key, r) : d(target, key)) || r; 5646 return c > 3 && r && Object.defineProperty(target, key, r), r; 5647}; 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657let BulletinsListComponent = class BulletinsListComponent { 5658 constructor(document, homepageService, cookieService, tenantService) { 5659 this.document = document; 5660 this.homepageService = homepageService; 5661 this.cookieService = cookieService; 5662 this.tenantService = tenantService; 5663 this.responseAPIstatus = true; 5664 this.canEdit = false; 5665 this.showDate = false; 5666 this.editMode = false; 5667 this.saveBulletin = false; 5668 this.loations = []; 5669 this.date = new Date(Date.now()); 5670 this.tetent = ''; 5671 this.confiGurationSetting = '*'; 5672 this.token = ''; 5673 //Set editor options. 5674 this.optionsEditor = { 5675 key: '6LF5g1D4A3B2B5D5E4F-11SLJCKHXOSLMc1YGSGb1ZXHSe1CgB5A4D4A3E3C2A13A19B6C6==', 5676 toolbarInline: false, 5677 attribution: false, 5678 fileUpload: false, 5679 toolbarVisibleWithoutSelection: true, 5680 imageStyles: { 5681 class1: 'Class 1', 5682 class2: 'Class 2' 5683 }, 5684 imageUploadMethod: 'post', 5685 requestHeaders: { 5686 tenant: '', 5687 configuration: this.confiGurationSetting, 5688 Authorization: '' 5689 }, 5690 imageUploadURL: 'https://api.library.site/v1/bulletin/bulletinimage/upload', 5691 events: { 5692 'image.uploaded': function (response) { 5693 var img_url = JSON.parse(response).data.url; 5694 this.image.insert(img_url, false, null, this.image.get(), response); 5695 return false; 5696 } 5697 }, 5698 toolbarButtons: { 5699 moreText: { buttons: ['bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'] }, 5700 moreParagraph: { buttons: ['alignLeft', 'alignCenter', 'formatOLSimple', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'] }, 5701 moreRich: { buttons: ['insertLink', 'insertImage', 'insertVideo', 'insertTable', 'emoticons', 'fontAwesome', 'specialCharacters', 'embedly', 'insertHR'] }, 5702 moreMisc: { buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'], align: 'right', buttonsVisible: 2 } 5703 }, 5704 imageEditButtons: ['imageReplace', 'imageAlign', 'imageRemove', '|', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '-', 'imageDisplay', 'imageStyle', 'imageAlt', 'imageSize'] 5705 }; 5706 //Options for date picker. 5707 this.options = { 5708 minYear: 1970, 5709 maxYear: 2030, 5710 //displayFormat: 'MMM D[,] YYYY', 5711 //barTitleFormat: 'MMMM YYYY', 5712 //dayNamesFormat: 'dd', 5713 firstCalendarDay: 0, 5714 // locale: frLocale, 5715 minDate: new Date(Date.now()), 5716 maxDate: new Date(Date.now()), 5717 //barTitleIfEmpty: 'Select a date', 5718 placeholder: 'Select date', // HTML input placeholder attribute (default: '') 5719 //addClass: 'form-control', // Optional, value to pass on to [ngClass] on the input field 5720 // addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 5721 //fieldId: 'my-date-picker', // ID to assign to the input field. Defaults to datepicker-<counter> 5722 //useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 5723 }; 5724 // Setting options for editors. 5725 this.option = { 5726 animation: 150, 5727 handle: '.my-handle', 5728 sort: true, 5729 group: 'widgets', 5730 direction: 'vertical', 5731 dragoverBubble: true, 5732 removeCloneOnHide: false, 5733 onUpdate: (event) => { 5734 this.onSortFinish(event); 5735 } 5736 }; 5737 //if(this.cookieService.check( 'info')){ 5738 if (localStorage.getItem('info') != null) { 5739 this.optionsEditor.requestHeaders.Authorization = 'Bearer ' + localStorage.getItem('token'); 5740 } 5741 this.optionsEditor.requestHeaders.tenant = this.tenantService.tenant; 5742 this.optionsEditor.requestHeaders.configuration = this.tenantService.configurationSetting; 5743 } 5744 ngOnInit() { 5745 this.document.body.classList.add('inner-page'); 5746 this.document.body.classList.remove('list'); 5747 if (this.cookieService.check('patron')) { 5748 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 5749 this.canEdit = permissions.opacAdmin; 5750 } 5751 //Get settings of library. 5752 this.homepageService.getConfig().subscribe((data) => { 5753 var tnt = data.data.tenantCode.toLowerCase(); 5754 var slctloc = this.cookieService.get('selectedlocation' + tnt); 5755 var locData = {}; 5756 data.data.settings.location.locations.forEach((loc) => { 5757 if (loc.id == slctloc) { 5758 locData = { 'id': loc.id, 'name': loc.name }; 5759 } 5760 }); 5761 this.loations = locData; 5762 }); 5763 //To get bulletin lists. 5764 this.homepageService.getBulletinsList().subscribe((data) => { 5765 this.responseAPIstatus = false;
5766 this.bulletinsList = data.data; 5767 }); 5768 } 5769 //show arrange button 5770 editModeToggle() { 5771 if (this.editMode == true) { 5772 this.editMode = false; 5773 $('body').removeClass('manage-view'); 5774 } 5775 else { 5776 this.editMode = true; 5777 $('body').addClass('manage-view'); 5778 } 5779 } 5780 //sort bulletins 5781 onSortFinish(evt) { 5782 var sortedBulletins = []; 5783 (0,_angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_5__.moveItemInArray)(this.bulletinsList, evt.previousIndex, evt.currentIndex); 5784 this.bulletinsList.forEach((data, key) => { 5785 var temp = { 5786 "BulletinId": data.id, 5787 "ListOrderNo": key 5788 }; 5789 sortedBulletins.push(temp); 5790 }); 5791 var token = localStorage.getItem('token'); 5792 this.homepageService.rearrangeBulletin(sortedBulletins, token).subscribe((data) => { 5793 }, (error) => { 5794 }); 5795 } 5796 //Show date input. 5797 showDateInput(event) { 5798 if (this.showDate === true) { 5799 this.showDate = false; 5800 } 5801 else { 5802 this.showDate = true; 5803 } 5804 } 5805 //Save bulletin method in list. 5806 saveBulletinMethod(event) { 5807 this.saveBulletin = true; 5808 var bHeadline = $.trim($('#bHeadline').val().toString()); 5809 var bcontent = $.trim($('#bContent').val().toString()); 5810 var bLocation = $.trim($('input[name="selectlocation"]:checked').val().toString()); 5811 if (bLocation == '' || bLocation == null) { 5812 bLocation = null; 5813 let loc = sessionStorage.getItem('lastSearchLocation'); 5814 bLocation = loc; 5815 } 5816 var bDate = null; 5817 if ($('#bIsDate').is(':checked')) { 5818 //bDate = $.trim($('#datepickerNg').find('.ngx-datepicker-input').val().toString()); 5819 bDate = $.trim($('#bDate').find('input').val().toString()); 5820 let bDate_new = moment__WEBPACK_IMPORTED_MODULE_3__(bDate, "MMM DD YYYY"); 5821 let bDate_new2 = bDate_new.format("MM-DD-YYYY"); 5822 bDate = bDate_new2; 5823 } 5824 var token = localStorage.getItem('token'); 5825 this.homepageService.saveBulletin(bHeadline, bcontent, bLocation, bDate, token).subscribe((data) => { 5826 this.saveBulletin = false; 5827 this.responseAPIstatus = true; 5828 this.homepageService.getBulletinsList().subscribe((data) => { 5829 this.responseAPIstatus = false; 5830 this.bulletinsList = data.data; 5831 }); 5832 $('#closeBulletinAdd').trigger('click'); 5833 }); 5834 } 5835}; 5836BulletinsListComponent.ctorParameters = () => [ 5837 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 5838 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 5839 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__.CookieService }, 5840 { type: _services_tenant_service__WEBPACK_IMPORTED_MODULE_4__.TenantService } 5841]; 5842BulletinsListComponent = __decorate([ 5843 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 5844 selector: 'app-bulletins-list', 5845 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_bulletins_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 5846 styles: [_bulletins_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 5847 }) 5848], BulletinsListComponent); 5849 5850 5851 5852/***/ }), 5853 5854/***/ 84868: 5855/*!*************************************************************!*\ 5856 !*** ./src/app/components/pages/detail/detail.component.ts ***! 5857 \*************************************************************/ 5858/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5859 5860"use strict"; 5861__webpack_require__.r(__webpack_exports__); 5862/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5863/* harmony export */ "DetailComponent": function() { return /* binding */ DetailComponent; } 5864/* harmony export */ }); 5865/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_detail_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./detail.component.html */ 30387); 5866/* harmony import */ var _detail_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./detail.component.css */ 71327); 5867/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/common */ 54364); 5868/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 2316); 5869/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ 71258); 5870/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 5871/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 5872/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 5873/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 5874/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 5875/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 5876var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 5877 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 5878 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5879 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
5879 3 ? d(target, key, r) : d(target, key)) || r; 5880 return c > 3 && r && Object.defineProperty(target, key, r), r; 5881}; 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893let DetailComponent = class DetailComponent { 5894 constructor(authService, searchService, route, router, homepageService, routerService, cookieService, document, notifierService) { 5895 this.authService = authService; 5896 this.searchService = searchService; 5897 this.route = route; 5898 this.router = router; 5899 this.homepageService = homepageService; 5900 this.routerService = routerService; 5901 this.cookieService = cookieService; 5902 this.document = document; 5903 this.hasDetailTab = false; 5904 this.link = ""; 5905 this.linkCopied = false; 5906 this.highlightParameter = ""; 5907 this.saveReviewStatus = false; 5908 this.showReviewModal = false; 5909 this.showAddFormStatusHold = false; 5910 this.seriesStatus = false; 5911 this.resoursesCount = 0; 5912 this.haveApiError = false; 5913 this.responseAPIstatus = true; 5914 this.onNext = true; 5915 this.resourceDetail = []; 5916 this.authorTab = []; 5917 this.googlePreviewTab = []; 5918 this.contentTab = []; 5919 this.profileTab = []; 5920 this.suggesionTab = []; 5921 this.seriesData = []; 5922 this.avaibiltyData = []; 5923 this.honorTab = []; 5924 this.librarySetting = []; 5925 this.onTabs = true; 5926 this.showShefcar = false; 5927 this.isbnId = ""; 5928 this.alsoCheckedOut = false; 5929 this.isSeries = false; 5930 this.userCanReview = false; 5931 this.showShelfStatus = false; 5932 this.facets = ""; 5933 this.selectedResourcesIds = []; 5934 this.reviewCategories = []; 5935 this.patronId = null; 5936 this.patronName = ""; 5937 this.showAddFormStatus = false; 5938 this.isWriteReview = false; 5939 this.isLogin = false; 5940 this.showHoldDate = false; 5941 this.isPatronReview = false; 5942 this.date = new Date(Date.now()); 5943 this.currentLibrary = ""; 5944 this.lastDayDate = ""; 5945 this.dateFormat = "M/d/yyyy"; 5946 this.videoIds = ""; 5947 //Date picker options. 5948 this.options = { 5949 minYear: 1970, 5950 maxYear: 2030, 5951 format: "MM-dd-yyyy", 5952 formatTitle: "MMMM yyyy", 5953 formatDays: "EEEEEE", 5954 firstCalendarDay: 0, 5955 minDate: this.lastDayDate, 5956 //barTitleIfEmpty: 'Desired Date', 5957 //calendarClass: 'datepicker-blue', 5958 //scrollBarColor: '#ffffff', 5959 inputClass: "holdDesireDate", 5960 placeholder: "Select Date", // HTML input placeholder attribute (default: '') 5961 //addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 5962 // fieldId: 'holdDesireDate', // ID to assign to the input field. Defaults to datepicker-<counter> 5963 //useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 5964 }; 5965 this.notifier = notifierService; 5966 this.route.queryParams.subscribe((params) => { 5967 if (typeof params.location != "undefined") { 5968 this.homepageService.setLocationId(params.location); 5969 } 5970 this.facets = params.facets; 5971 }); 5972 this.route.params.subscribe((params) => { 5973 this.cacheKey = this.route.snapshot.paramMap.get("chacheKey"); 5974 this.listId = this.route.snapshot.paramMap.get("listId"); 5975 this.loadDetail(this.cacheKey, this.listId); 5976 }); 5977 } 5978 ngOnInit() { 5979 this.loadYouTubeAPI(); 5980 var dd = new Date(Date.now()); 5981 this.dateFormat = this.homepageService.formatDate(); 5982 this.lastDayDate = dd.setDate(dd.getDate() - 1);
5983 this.previousUrl = this.routerService.getPreviousUrl(); 5984 if (this.previousUrl != "" && 5985 typeof this.previousUrl != "undefined" && 5986 this.previousUrl != "/") { 5987 this.urlDecoder(this.previousUrl); 5988 } 5989 this.route.queryParams.subscribe((params) => { 5990 this.facets = params.facets; 5991 if (typeof params.year != "undefined") { 5992 this.awardsYear = params.year; 5993 } 5994 if (typeof params.awardid != "undefined") { 5995 this.awardsId = params.awardid; 5996 } 5997 if (typeof params.awardname != "undefined") { 5998 this.awardsName = params.awardname; 5999 } 6000 }); 6001 if (this.cookieService.get("highlightParameter")) { 6002 this.highlightParameter = JSON.parse(this.cookieService.get("highlightParameter")); 6003 } 6004 if (this.cookieService.check("patronPermissions")) { 6005 var permissions = JSON.parse(this.cookieService.get("patronPermissions")); 6006 this.isWriteReview = permissions.opacWriteReview; 6007 this.isLogin = true; 6008 } 6009 this.previousUrlTxt = this.routerService.getTextUrl(); 6010 this.document.body.classList.add("inner-page"); 6011 this.document.body.classList.remove("list"); 6012 this.calltype = this.route.snapshot.paramMap.get("calltype"); 6013 this.cacheKey = this.route.snapshot.paramMap.get("chacheKey"); 6014 this.listId = this.route.snapshot.paramMap.get("listId"); 6015 this.librarySetting = this.homepageService.getUpdatedConfig(); 6016 if (this.cookieService.check("userDetail")) { 6017 var detail = JSON.parse(this.cookieService.get("userDetail")); 6018 this.patronId = detail.patronId; 6019 this.patronName = detail.firstName + " " + detail.lastName; 6020 } 6021 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 6022 var slctloc = this.cookieService.get("selectedlocation" + tnt); 6023 this.librarySetting.data.settings.location.locations.forEach((loc) => { 6024 if (loc.id == slctloc) { 6025 this.currentLibrary = loc.name; 6026 } 6027 }); 6028 /******************* Get Review categories **************/ 6029 this.homepageService.getReviewCategories().subscribe((data) => { 6030 this.reviewCategories = data; 6031 }); 6032 /******************* Get Review categories **************/ 6033 //These are the slider's configurations for different sliders. 6034 this.slideConfig = { 6035 slidesToShow: 7, 6036 initialSlide: 0, 6037 slidesToScroll: 7, 6038 infinite: false, 6039 autoplay: false, 6040 autoplaySpeed: 6000, 6041 cssEase: "linear", 6042 dots: true, 6043 vertical: false, 6044 prevArrow: '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 6045 nextArrow: '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 6046 responsive: [ 6047 { breakpoint: 1281, settings: { slidesToShow: 5, slidesToScroll: 5 } }, 6048 { breakpoint: 1199, settings: { slidesToShow: 5, slidesToScroll: 5 } }, 6049 { breakpoint: 992, settings: { slidesToShow: 3, slidesToScroll: 3 } }, 6050 { breakpoint: 768, settings: { slidesToShow: 1, slidesToScroll: 1 } }, 6051 ], 6052 }; 6053 this.slideConfigSlider = { 6054 slidesToShow: 9, 6055 initialSlide: 0, 6056 slidesToScroll: 1, 6057 infinite: false, 6058 autoplay: false, 6059 autoplaySpeed: 6000, 6060 cssEase: "linear", 6061 dots: true, 6062 vertical: false, 6063 prevArrow: '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 6064 nextArrow: '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 6065 responsive: [ 6066 { breakpoint: 1281, settings: { slidesToShow: 7, slidesToScroll: 7 } }, 6067 { breakpoint: 1199, settings: { slidesToShow: 7, slidesToScroll: 7 } }, 6068 { breakpoint: 992, settings: { slidesToShow: 5, slidesToScroll: 5 } }, 6069 { breakpoint: 768, settings: { slidesToShow: 3, slidesToScroll: 3 } }, 6070 { breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 2 } }, 6071 ], 6072 }; 6073 this.slideConfigSuggestion = { 6074 slidesToShow: 5, 6075 initialSlide: 0, 6076 slidesToScroll: 4, 6077 infinite: false, 6078 autoplay: false, 6079 autoplaySpeed: 6000, 6080 cssEase: "linear", 6081 dots: true, 6082 vertical: false, 6083 prevArrow: '<button class="slickArrowpre slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-left"></i></button>', 6084 nextArrow: '<button class="slickArrownxt slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-chevron-right"></i></button>', 6085 responsive: [ 6086 { breakpoint: 1281, settings: { slidesToShow: 5, slidesToScroll: 5 } }, 6087 { breakpoint: 1199, settings: { slidesToShow: 3, slidesToScroll: 3 } }, 6088 { breakpoint: 992, settings: { slidesToShow: 3, slidesToScroll: 3 } }, 6089 { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 2 } }, 6090 { breakpoint: 575, settings: { slidesToShow: 1, slidesToScroll: 1 } }, 6091 ], 6092 }; 6093 if (localStorage.getItem("selectedResourcesIds") != null) { 6094 this.selectedResourcesIds = JSON.parse(localStorage.getItem("selectedResourcesIds")); 6095 } 6096 } 6097 //Decoding url. 6098 urlDecoder(url) { 6099 let parsedUrl = this.router.parseUrl(url); 6100 const g = parsedUrl.root.children[_angular_router__WEBPACK_IMPORTED_MODULE_7__.PRIMARY_OUTLET]; 6101 const s = g.segments; 6102 this.previousUrl = `${s.map((p) => p.path).join("/")}`; 6103 this.queryString = parsedUrl.queryParams; 6104 } 6105 //Loading details of book. 6106 loadDetail(cacheKey, listId) { 6107 this.showHoldDate = false;
6108 this.showAddFormStatus = false; 6109 $("#AvailabilityButton").removeClass("open"); 6110 $("#AvailabilityTable").removeClass("open").hide(); 6111 this.onNext = true; 6112 var sectionsDatatemp = []; 6113 var isbnIs; 6114 if (cacheKey == "single") { 6115 this.showShefcar = true; 6116 this.showShelfStatus = true; 6117 return this.homepageService.getResourceDetailById(listId).subscribe((data) => { 6118 if (data.status !== true) { 6119 this.responseAPIstatus = false; 6120 this.haveApiError = true; 6121 var router = this.router; 6122 setTimeout(function () { 6123 router.navigate(["/"]); 6124 }, 10000); 6125 } 6126 //checking patron logged in or not. 6127 this.isPatronReview = false; 6128 if (this.cookieService.check("userDetail") && 6129 this.librarySetting.data.settings.reviews.enabled) { 6130 this.isReviewedByPatron(data.data.resourceId); 6131 } 6132 else if (this.librarySetting.data.settings.reviews.loginRequired && 6133 this.librarySetting.data.settings.reviews.enabled) { 6134 this.isPatronReview = true; 6135 } 6136 var defaultPos = 50; 6137 var isVideo = 0; 6138 this.videoIds = ""; 6139 var $this = this; 6140 $.each(data.data.sections, function (key, value) { 6141 if (value.show == true) { 6142 if (key == "fields") { 6143 key = "detail"; 6144 $this.hasDetailTab = true; 6145 } 6146 if (key == "video") { 6147 isVideo = 1; 6148 $this.videoIds = value.content[0].videoInfo.id; 6149 } 6150 value["tab"] = key; 6151 if (typeof sectionsDatatemp[value.position] != "undefined") { 6152 sectionsDatatemp[defaultPos] = value; 6153 defaultPos++; 6154 } 6155 else { 6156 sectionsDatatemp[value.position] = value; 6157 } 6158 } 6159 }); 6160 //Getting details of avaiability. 6161 this.homepageService 6162 .getAvailableDetail(data.data.resourceId, data.data.category.id, data.data.call) 6163 .subscribe((dataA) => { 6164 this.avaibiltyData = dataA.data; 6165 googleApiCall(); 6166 }); 6167 this.isbnId = isbnIs; 6168 var setmp = []; 6169 sectionsDatatemp.forEach((ent) => { 6170 setmp.push(ent); 6171 }); 6172 this.sectionsData = []; 6173 if (typeof this.tabModal != "undefined") { 6174 this.tabModal.unslick(); 6175 } 6176 this.sectionsData = sectionsDatatemp; 6177 //console.log(this.sectionsData); 6178 $(".temp.Placeholders").remove(); 6179 var IdR = this.resourceDetail.resourceId; 6180 $("button.MyListButton").removeClass("hide").removeClass("show"); 6181 if (this.selectedResourcesIds.indexOf(IdR) >= 0) { 6182 $("button.addButton" + IdR) 6183 .addClass("hide") 6184 .removeClass("show"); 6185 $("button.removeButton" + IdR) 6186 .removeClass("hide") 6187 .addClass("show"); 6188 } 6189 else { 6190 $("button.addButton" + IdR) 6191 .addClass("show") 6192 .removeClass("hide"); 6193 $("button.removeButton" + IdR) 6194 .removeClass("show") 6195 .addClass("hide"); 6196 } 6197 this.resourceDetail = data.data; 6198 if (this.resourceDetail.sections && this.resourceDetail.sections.marc && this.resourceDetail.sections.marc.content) { 6199 this.resourceDetail.sections.marc.content.forEach((tabs) => { 6200 if (tabs.tag == "300") { 6201 tabs.subfields.forEach((cod) => { 6202 if (cod.code == "a") { 6203 this.resourceDetail.physicalDesc
6203= cod.value; 6204 } 6205 }); 6206 } 6207 }); 6208 } 6209 this.responseAPIstatus = false; 6210 this.onNext = false; 6211 this.onTabs = false; 6212 this.showShefcar = false; 6213 this.showShelfStatus = false; 6214 if (typeof this.galleryOne != "undefined") { 6215 this.galleryOne.unslick(); 6216 } 6217 if ($("section.bread-crumbs").length > 0) { 6218 $("html, body") 6219 .stop() 6220 .animate({ scrollTop: $("section.bread-crumbs").offset().top }, 1000, "swing", function () { }); 6221 } 6222 $("button.MyListButton").removeClass("hide").removeClass("show"); 6223 if (isVideo == 1) { 6224 this.initializeYouTubePlayer(); 6225 } 6226 }, (err) => { 6227 if (err.error.Status !== true) { 6228 this.responseAPIstatus = false; 6229 this.haveApiError = true; 6230 var router = this.router; 6231 setTimeout(function () { 6232 router.navigate(["/"]); 6233 }, 10000); 6234 } 6235 }); 6236 } 6237 else { 6238 this.showShefcar = false; 6239 if (typeof this.galleryOne != "undefined") { 6240 this.galleryOne.unslick(); 6241 } 6242 this.shelfData = []; 6243 this.showShelfStatus = false; 6244 var auth = null; 6245 //if(this.cookieService.check( 'info')){ 6246 if (localStorage.getItem("info")) { 6247 var auth = localStorage.getItem("token"); 6248 } 6249 this.homepageService 6250 .getMainResourceDetail(cacheKey, listId, "date", true, false, this.facets, auth) 6251 .subscribe((data) => { 6252 if (data.status !== true) { 6253 this.responseAPIstatus = false; 6254 this.haveApiError = true; 6255 var router = this.router; 6256 setTimeout(function () { 6257 router.navigate(["/"]); 6258 }, 10000); 6259 } 6260 this.isPatronReview = false; 6261 if (this.cookieService.check("userDetail") && 6262 this.librarySetting.data.settings.reviews.enabled) { 6263 this.isReviewedByPatron(data.data.resourceId); 6264 } 6265 else if (this.librarySetting.data.settings.reviews.loginRequired && 6266 this.librarySetting.data.settings.reviews.enabled) { 6267 this.isPatronReview = true; 6268 } 6269 var defaultPos = 50; 6270 var isVideo = 0; 6271 this.videoIds = ""; 6272 var $this = this; 6273 $.each(data.data.sections, function (key, value) { 6274 if (value.show == true) { 6275 //console.log(key); 6276 if (key == "fields") { 6277 key = "detail"; 6278 $this.hasDetailTab = true; 6279 } 6280 if (key == "video") { 6281 isVideo = 1; 6282 $this.videoIds = value.content[0].videoInfo.id; 6283 } 6284 value["tab"] = key; 6285 if (typeof sectionsDatatemp[value.position] != "undefined") { 6286 sectionsDatatemp[defaultPos] = value; 6287 defaultPos++; 6288 } 6289 else { 6290 sectionsDatatemp[value.position] = value; 6291 } 6292 } 6293 }); 6294 this.homepageService 6295 .getAvailableDetail(data.data.resourceId, data.data.category.id, data.data.call) 6296 .subscribe((dataA) => { 6297 this.avaibiltyData = dataA.data; 6298 googleApiCall(); 6299 }); 6300 this.isbnId = isbnIs; 6301 //console.log(sectionsDatatemp); 6302 sectionsDatatemp.sort(); 6303 var setmp = []; 6304 sectionsDatatemp.forEach((ent) => { 6305 setmp.push(ent); 6306 }); 6307 this.sectionsData = []; 6308 if (typeof this.tabModal != "undefined") { 6309 this.tabModal.unslick(); 6310 } 6311 this.sectionsData = sectionsDatatemp; 6312 //console.log(this.sectionsData); 6313 $(".temp.Placeholders").remove(); 6314 this.resourceDetail = data.data; 6315 if (this.resourceDetail.sections && this.resourceDetail.sections.marc && this.resourceDetail.sections.marc.content) { 6316 this.resourceDetail.sections.marc.content.forEach((tabs) => { 6317 if (tabs.tag == "300") { 6318 tabs.subfields.forEach((cod) => { 6319 if (cod.code == "a") { 6320 this.resourceDetail.physicalDesc
6320= cod.value; 6321 } 6322 }); 6323 } 6324 }); 6325 } 6326 var IdR = this.resourceDetail.resourceId; 6327 $("button.MyListButton").removeClass("hide").removeClass("show"); 6328 if (this.selectedResourcesIds.indexOf(IdR) >= 0) { 6329 $("button.addButton" + IdR) 6330 .addClass("hide") 6331 .removeClass("show"); 6332 $("button.removeButton" + IdR) 6333 .removeClass("hide") 6334 .addClass("show"); 6335 } 6336 else { 6337 $("button.addButton" + IdR) 6338 .addClass("show") 6339 .removeClass("hide"); 6340 $("button.removeButton" + IdR) 6341 .removeClass("show") 6342 .addClass("hide"); 6343 } 6344 this.responseAPIstatus = false; 6345 this.onNext = false; 6346 this.onTabs = false; 6347 //checking for video 6348 if (isVideo == 1) { 6349 this.initializeYouTubePlayer(); 6350 } 6351 }, (err) => { 6352 if (err.error.Status !== true) { 6353 this.responseAPIstatus = false; 6354 this.haveApiError = true; 6355 var router = this.router; 6356 setTimeout(function () { 6357 router.navigate(["/"]); 6358 }, 10000); 6359 } 6360 }); 6361 } 6362 } 6363 //Showing icon on image error. 6364 imageError(event, images) { 6365 if (typeof $("body") 6366 .find('img[custom="' + event + '"]') 6367 .attr("index") != "undefined" && 6368 parseInt($("body") 6369 .find('img[custom="' + event + '"]') 6370 .attr("index")) > 0) { 6371 var index = parseInt($("body") 6372 .find('img[custom="' + event + '"]') 6373 .attr("index")); 6374 if (typeof $("body") 6375 .find('img[custom="' + event + '"]') 6376 .attr("loaded") != "undefined") 6377 index--; 6378 if (event == "tabAuthors") 6379 //console.log($('body').find('img[custom="'+event+'"]').attr('index'), 'tabAuthor'); 6380 this.imageLoad(event, images, index, true); 6381 } 6382 else { 6383 if ($("body") 6384 .find('img[custom="' + event + '"]') 6385 .attr("alt") != "") { 6386 $("body") 6387 .find('img[custom="' + event + '"]') 6388 .after('<span class="Placeholders ' + 6389 $("body") 6390 .find('img[custom="' + event + '"]') 6391 .attr("name") + 6392 '"><i class="material-icons md-48">' + 6393 $("body") 6394 .find('img[custom="' + event + '"]') 6395 .attr("alt") + 6396 "</i></span>"); 6397 } 6398 $("body") 6399 .find('img[custom="' + event + '"]') 6400 .remove(); 6401 } 6402 /*$('body').find('img[custom="'+event+'"]').after('<span class="temp Placeholders '+$('body').find('img[custom="'+event+'"]').attr('name')+'"><i class="material-icons md-48">'+$('body').find('img[custom="'+event+'"]').attr('alt')+'</i></span>'); 6403 $('body').find('img[custom="'+event+'"]').hide().attr('loaded',''); 6404 */ 6405 } 6406 //Loading best fit image to main resource. 6407 imageLoad(event, images, index, fromError = false) { 6408 /*//$('body').find('img[custom="'+event+'"]').show(); 6409 if($('body').find('img[custom="'+event+'"]').attr('loaded') == 'yes') { 6410 $('body').find('img[custom="'+event+'"]').removeAttr('loaded'); 6411 return false; 6412 } 6413 var sizes = ['xl','l','m','s','xs','xxs']; 6414 var imagesAll = [];
6415 sizes.forEach((evt) => { 6416 images.forEach((img) => { 6417 if(img.size == evt){ 6418 imagesAll.push(img.url); 6419 } 6420 }); 6421 }); 6422 //console.log(imagesAll); 6423 if(event == 'tabAuthors' && typeof(imagesAll[0]) != 'undefined'){ 6424 $('body').find('img[custom="'+event+'"]').attr('src',imagesAll[0]).removeAttr('style'); 6425 //getImageWidth(imagesAll[0], 'tabAuthors'); 6426 } else { 6427 setTimeout(function() { 6428 if(typeof(imagesAll[0]) != 'undefined') { 6429 $('#TempImg').attr('src',imagesAll[0]); 6430 $('body').find('img[custom="'+event+'"]').attr('src',imagesAll[0]); 6431 $('body').find('img[custom="'+event+'"]').attr('loaded','yes'); 6432 } 6433 //console.log(imagesAll, imagesAll[0], 'Final Image'); 6434 },10); 6435 }*/ 6436 $("body") 6437 .find('img[custom="' + event + '"]') 6438 .show(); 6439 if ($("body") 6440 .find('img[custom="' + event + '"]') 6441 .attr("loaded") == "yes" && 6442 !fromError) { 6443 return false; 6444 } 6445 if ($("body").find("#" + event).length <= 0) { 6446 $("body").append('<img id="' + event + '" src="" style="display:none;">'); 6447 } 6448 var $this = this; 6449 var imagesAll = this.searchService.sortedImage(images); 6450 $("#" + event).attr("src", imagesAll[index]); 6451 setTimeout(function () { 6452 var tempWidth = $("#" + event).width(); 6453 var temp = document.getElementById(event); 6454 if (tempWidth <= 1 && index > 0) { 6455 $this.imageLoad(event, images, index - 1, true); 6456 return false; 6457 } 6458 else if (tempWidth <= 1 && index == 0) { 6459 $("body") 6460 .find('img[custom="' + event + '"]') 6461 .after('<span class="Placeholders ' + 6462 $("body") 6463 .find('img[custom="' + event + '"]') 6464 .attr("name") + 6465 '"><i class="material-icons md-48">' + 6466 $("body") 6467 .find('img[custom="' + event + '"]') 6468 .attr("alt") + 6469 "</i></span>"); 6470 $("body") 6471 .find('img[custom="' + event + '"]') 6472 .remove(); 6473 } 6474 }, 100); 6475 if (typeof imagesAll[index] != "undefined") { 6476 $("body") 6477 .find('img[custom="' + event + '"]') 6478 .attr("src", imagesAll[index]); 6479 $("body") 6480 .find('img[custom="' + event + '"]') 6481 .attr("loaded", "yes"); 6482 $("body") 6483 .find('img[custom="' + event + '"]') 6484 .attr("index", index); 6485 } 6486 } 6487 //Loading best fit image to series. 6488 imageLoadSeries(event, images) { 6489 $("body") 6490 .find('img[custom="' + event + '"]') 6491 .show(); 6492 if ($("body") 6493 .find('img[custom="' + event + '"]') 6494 .attr("loaded") == "yes") { 6495 $("body") 6496 .find('img[custom="' + event + '"]') 6497 .removeAttr("loaded"); 6498 return false; 6499 } 6500 var sizes = ["xl", "l", "m", "s", "xs", "xxs"]; 6501 var imagesAll = [];
6502 sizes.forEach((evt) => { 6503 images.forEach((img) => { 6504 if (img.sizeAsString == evt) { 6505 imagesAll.push(img.url); 6506 } 6507 }); 6508 }); 6509 setTimeout(function () { 6510 if (typeof imagesAll[0] != "undefined") { 6511 $("#TempImg").attr("src", imagesAll[0]); 6512 $("body") 6513 .find('img[custom="' + event + '"]') 6514 .attr("src", imagesAll[0]); 6515 $("body") 6516 .find('img[custom="' + event + '"]') 6517 .attr("loaded", "yes"); 6518 } 6519 }, 10); 6520 } 6521 //Loading detail tab content. 6522 dynamicLoad(url, tab) { 6523 //console.log(url,tab); 6524 this.seriesStatus = false; 6525 setTimeout(function () { 6526 $("ul#pills-tab").find("a").removeClass("active").removeClass("show"); 6527 $("#pills-noveList-tab").find("a").addClass("active show"); 6528 $("li." + tab + "TabTop") 6529 .find("a") 6530 .addClass("active") 6531 .addClass("show"); 6532 }, 200); 6533 this.isSeries = false; 6534 this.alsoCheckedOut = false; 6535 this.onTabs = true; 6536 if (typeof url != "undefined" && 6537 url != null && 6538 url.trim() != "" && 6539 tab != "awards") { 6540 return this.homepageService.dynamicLoadAPI(url).subscribe((data) => { 6541 //console.log('Test dynamic load'); 6542 this.onTabs = false; 6543 if (tab == "reviews") { 6544 this.reviewTab = data.data; 6545 } 6546 if (tab == "excerpt") { 6547 var total = data.data.split(" ").length; 6548 var cnt = parseInt(total) / 2; 6549 this.excerptTableft = data.data.split(" ").splice(0, cnt).join(" "); 6550 this.excerptTabRight = data.data 6551 .split(" ") 6552 .splice(cnt, total) 6553 .join(" "); 6554 } 6555 if (tab == "author") { 6556 this.authorTab = data.data; 6557 } 6558 if (tab == "series") { 6559 this.seriesData = data.data; 6560 this.seriesStatus = true; 6561 } 6562 if (tab == "contents") { 6563 this.contentTab = data.data; 6564 } 6565 if (tab == "profile") { 6566 this.profileTab = data.data; 6567 } 6568 if (tab == "suggestions") { 6569 this.suggesionTab = data.data; 6570 if (data.data.alsoCheckedOut.length > 0) { 6571 this.alsoCheckedOut = true; 6572 } 6573 if (data.data.inSeries.length > 0) { 6574 this.isSeries = true; 6575 } 6576 } 6577 }); 6578 } 6579 else { 6580 this.onTabs = false; 6581 } 6582 if (tab == "video") { 6583 this.initializeYouTubePlayer(); 6584 } 6585 } 6586 loadYouTubeAPI() { 6587 const doc = window.document; 6588 if (!doc.getElementById("youtube-api-script")) { 6589 const playerApiScript = doc.createElement("script"); 6590 playerApiScript.type = "text/javascript"; 6591 playerApiScript.src = "https://www.youtube.com/iframe_api"; 6592 doc.body.appendChild(playerApiScript); 6593 } 6594 window.onYouTubeIframeAPIReady = () => { 6595 this.initializeYouTubePlayer(); 6596 }; 6597 } 6598 initializeYouTubePlayer() { 6599 const playerElement = this.document.getElementById("ytPlayer"); 6600 if (playerElement) { 6601 this.player = new window.YT.Player("ytPlayer", { 6602 height: "600px", 6603 width: "100%", 6604 videoId: this.videoIds, 6605 playerVars: { autoplay: 0, rel: 0, controls: 0 }, 6606 events: { 6607 onReady: (event) => { }, 6608 onStateChange: (event) => { }, 6609 }, 6610 }); 6611 } 6612 } 6613 //Need to work on that. After API update. 6614 slickInit(e) { 6615 if (!this.hasDetailTab) { 6616 var $this = this; 6617 setTimeout(function () { 6618 if ($("section.book-detail-tab") 6619 .find(".slick-list") 6620 .find("li.nav-item:first") 6621 .hasClass("googlePreviewTabTop")) { 6622 $("section.book-detail-tab") 6623 .find(".slick-list") 6624 .find("li.nav-item:nth-child(2)") 6625 .find("a:first") 6626 .addClass("active") 6627 .trigger("click"); 6628 let tempData = $("section.book-detail-tab") 6629 .find(".slick-list") 6630 .find("li.nav-item:nth-child(2)") 6631 .find("a:first") 6632 .attr("id"); 6633 let tempTab = tempData.split(","); 6634 $this.dynamicLoad(tempTab[0], tempTab[1]); 6635 } 6636 else { 6637 $("section.book-detail-tab") 6638 .find(".slick-list") 6639 .find("li.nav-item:first") 6640 .find("a:first") 6641 .addClass("active") 6642 .trigger("click"); 6643 let tempData = $("section.book-detail-tab") 6644 .find(".slick-list") 6645 .find("li.nav-item:first") 6646 .find("a:first") 6647 .attr("id"); 6648 let tempTab = tempData.split(","); 6649 $this.dynamicLoad(tempTab[0], tempTab[1]); 6650 } 6651 }, 500); 6652 } 6653 } 6654 //Showing book shelf. 6655 showShelf() { 6656 //this.slideConfig.slidesToShow =6; 6657 this.shelfData = []; 6658 $("html, body") 6659 .stop() 6660 .animate({ scrollTop: $("section.new-library").offset().top }, 1500, "swing", function () { }); 6661 this.showShefcar = true; 6662 this.showShelfStatus = true; 6663 //this.shelfData = []; 6664 var elmnt = document.getElementById("showShefcar"); 6665 //elmnt.scrollIntoView(); 6666 this.homepageService 6667 .getResourceShelf(this.resourceDetail.resourceId, this.resourceDetail.category.id, this.resourceDetail.call) 6668 .subscribe((shel) => { 6669 if (typeof this.galleryOne != "undefined") {
6670 this.galleryOne.unslick(); 6671 } 6672 this.shelfData = shel; 6673 var cnt = 0; 6674 shel.data.forEach((sld) => { 6675 if (sld.listItemId >= 0) { 6676 } 6677 else { 6678 cnt++; 6679 } 6680 }); 6681 if ($(window).width() > 1280) { 6682 cnt = cnt - 3; 6683 } 6684 else if ($(window).width() > 991 && $(window).width() < 1280) { 6685 cnt = cnt - 2; 6686 } 6687 else if ($(window).width() > 768 && $(window).width() < 992) { 6688 cnt = cnt - 1; 6689 } 6690 else if ($(window).width() < 768) { 6691 cnt = cnt; 6692 } 6693 this.slideConfig["initialSlide"] = cnt; 6694 var self = this; 6695 this.showShefcar = false; 6696 setTimeout(function () { 6697 //self.galleryOne.slickGoTo(cnt); 6698 $(".shelfTabno0").addClass("openShelf"); 6699 }, 1000); 6700 }); 6701 } 6702 //Hiding book shelf. 6703 hideShelf() { 6704 if (typeof this.galleryOne != "undefined") { 6705 this.galleryOne.unslick(); 6706 } 6707 this.showShelfStatus = false; 6708 } 6709 //Showing avaiability of book. 6710 AvailabilityShow(event) { 6711 $(event.target).toggleClass("open"); 6712 $("#AvailabilityTable").toggleClass("open").slideToggle("slow"); 6713 } 6714 //Resource added to my list. 6715 addToMyList(event, Id) { 6716 var self = this; 6717 $(".addButton" + Id).addClass("fadeOutUp"); 6718 $("#myCollectionLi").addClass("fadeOutUpLI"); 6719 setTimeout(function () { 6720 $(".addButton" + Id) 6721 .addClass("hide") 6722 .removeClass("show") 6723 .removeClass("fadeOutUp"); 6724 $(".removeButton" + Id) 6725 .addClass("show") 6726 .removeClass("hide"); 6727 this.resoursesCount = $(".addButton" + Id).length; 6728 var currentList = parseInt($("#myCollectionLi").find("span.count").text()); 6729 self.cookieService.set("MyLIstCount", currentList + this.resoursesCount); 6730 $("#myCollectionLi") 6731 .find("span.count") 6732 .text(currentList + this.resoursesCount); 6733 $("#myCollectionLi") 6734 .find("a.onViewList") 6735 .removeClass("hide") 6736 .addClass("show"); 6737 $("#Publish-My-List").removeClass("hide").addClass("show"); 6738 if ($("#myCollectionLi").hasClass("hide")) { 6739 $("#myCollectionLi").removeClass("hide"); 6740 $("#myCollectionLi").addClass("show"); 6741 } 6742 var i; 6743 for (i = 1; i <= this.resoursesCount; i++) { 6744 self.selectedResourcesIds.push(Id); 6745 } 6746 localStorage.setItem("selectedResourcesIds", JSON.stringify(self.selectedResourcesIds)); 6747 //if(self.cookieService.check( 'info')){ 6748 if (localStorage.getItem("info") != null) { 6749 var auth = localStorage.getItem("token"); 6750 self.homepageService 6751 .saveMyList(auth, self.selectedResourcesIds) 6752 .subscribe((data) => { }, (error) => { 6753 if (self.cookieService.check("tempPersonalCollection")) { 6754 var cacheKey = self.cookieService.get("tempPersonalCollection"); 6755 } 6756 else { 6757 var cacheKey = ""; 6758 } 6759 var itemIds = []; 6760 itemIds.push(Id); 6761 self.homepageService 6762 .personalcollection(itemIds, cacheKey) 6763 .subscribe((data) => { 6764 if (data.status) { 6765 self.cookieService.set("tempPersonalCollection", data.data.cacheKey, 365, "/"); 6766 } 6767 }); 6768 }); 6769 } 6770 else { 6771 if (self.cookieService.check("tempPersonalCollection")) { 6772 var cacheKey = self.cookieService.get("tempPersonalCollection"); 6773 } 6774 else { 6775 var cacheKey = ""; 6776 } 6777 var itemIds = []; 6778 itemIds.push(Id); 6779 self.homepageService 6780 .personalcollection(itemIds, cacheKey) 6781 .subscribe((data) => { 6782 if (data.status) { 6783 self.cookieService.set("tempPersonalCollection", data.data.cacheKey, 365, "/"); 6784 } 6785 }); 6786 } 6787 }, 1000); 6788 setTimeout(function () { 6789 $("#myCollectionLi").removeClass("fadeOutUpLI"); 6790 }, 5000); 6791 } 6792 //Removing title from my list. 6793 removeToMyList(event, Id) { 6794 $(document) 6795 .find(".addButton" + Id) 6796 .addClass("show") 6797 .removeClass("hide"); 6798 $(document) 6799 .find(".removeButton" + Id) 6800 .addClass("hide") 6801 .removeClass("show"); 6802 this.resoursesCount = $(".removeButton" + Id).length; 6803 var i; 6804 for (i = 1; i <= this.resoursesCount; i++) { 6805 var index = this.selectedResourcesIds.indexOf(Id); 6806 if (index > -1) { 6807 var index = this.selectedResourcesIds.splice(index, 1); 6808 } 6809 } 6810 localStorage.setItem("selectedResourcesIds", JSON.stringify(this.selectedResourcesIds)); 6811 var currentList = parseInt($("#myCollectionLi").find("span.count").text()); 6812 $("#myCollectionLi") 6813 .find("span.count") 6814 .text(currentList - this.resoursesCount); 6815 var tempCurrentList = currentList - this.resoursesCount; 6816 this.cookieService.set("MyLIstCount", tempCurrentList.toString()); 6817 //if(this.cookieService.check( 'info')){ 6818 if (localStorage.getItem("info")) { 6819 var auth = localStorage.getItem("token"); 6820 this.homepageService.removeMyList(auth, Id).subscribe((data) => { }); 6821 } 6822 else { 6823 if (this.cookieService.check("tempPersonalCollection")) { 6824 var cacheKey = this.cookieService.get("tempPersonalCollection"); 6825 this.homepageService 6826 .removePersonalcollection(Id, cacheKey) 6827 .subscribe((data) => { }); 6828 } 6829 } 6830 } 6831 //Action on star rating change. 6832 onRatingChange(event) { 6833 $("#reviewStar").val(event.rating); 6834 //console.log($('#reviewStar').val(event.rating)); 6835 $(document).find(".messageReview.error").remove(); 6836 } 6837 //Save review. 6838 saveReview() { 6839 var error = 0; 6840 let resourceId = parseInt($("#resourceid").val().toString()); 6841 let patronId = parseInt($("#patronId").val().toString()); 6842 var title = $("#reviewTitle").val(); 6843 var author = $("#reviewAuthor").val(); 6844 let ratingStar = 0; 6845 var reviewText = $("#reviewText").val(); 6846 if (this.librarySetting.data.settings.ratings.enabled) { 6847 ratingStar = parseFloat($("#reviewStar").val().toString()); 6848 if (ratingStar == 0) { 6849 $("#reviewStar") 6850 .parent() 6851 .append('<span class="messageReview error">Please give rating</span>'); 6852 setTimeout(function () { 6853 $(document).find(".messageReview").remove(); 6854 }, 5000); 6855 error++; 6856 } 6857 } 6858 if ($.trim(reviewText.toString()) == "") { 6859 $("#reviewText").addClass("error"); 6860 setTimeout(function () { 6861 $(document).find("#reviewText").removeClass("error"); 6862 }, 5000); 6863 error++; 6864 } 6865 var reviewer = $("#reviewerName").val(); 6866 if ($.trim(reviewer.toString()) == "") { 6867 $("#reviewerName").addClass("error"); 6868 error++; 6869 } 6870 var categories = []; 6871 if ($(".reviewCategory").find('input[type="checkbox"]:checked').length > 0) { 6872 $(".reviewCategory") 6873 .find('input[type="checkbox"]:checked') 6874 .each(function () { 6875 categories.push(parseInt($(this).val().toString())); 6876 }); 6877 } 6878 else { 6879 if ($(".reviewCategory").find(".reviewCatError").length == 0) { 6880 $(".reviewCategory") 6881 .find(".clearfix") 6882 .after('<span class="reviewCatError" style="text-align:left; padding-left:15px;">Select at least one category</span>'); 6883 } 6884 setTimeout(function () { 6885 $(document).find(".reviewCatError").remove(); 6886 }, 5000); 6887 error++; 6888 } 6889 if (error != 0) { 6890 return false;
6891 } 6892 this.saveReviewStatus = true; 6893 this.isPatronReview = true; 6894 var auth = ""; 6895 //if(this.cookieService.check( 'info')) 6896 if (localStorage.getItem("info")) 6897 auth = localStorage.getItem("token"); 6898 this.homepageService 6899 .addReview(resourceId, patronId, title, author, ratingStar, reviewText, reviewer, categories, auth) 6900 .subscribe((data) => { 6901 if (this.librarySetting.data.settings.ratings.enabled) { 6902 this.resourceDetail.ratings.stars = ratingStar; 6903 var count = parseInt($(".star-count").text()) + 1; 6904 $(".star-count").text(count); 6905 } 6906 $("#reviewText").val(""); 6907 $("#reviewTitle").val(""); 6908 $(".reviewCategory") 6909 .find('input[type="checkbox"]:checked') 6910 .prop("checked", false); 6911 this.notifier.notify("success", "The review has been submitted for publication"); 6912 $("#closereviewAdd").trigger("click"); 6913 this.saveReviewStatus = false; 6914 }, (err) => { 6915 if (err.status == 400) { 6916 this.saveReviewStatus = false; 6917 this.notifier.notify("error", err.error.message); 6918 $("#closereviewAdd").trigger("click"); 6919 } 6920 }); 6921 } 6922 //Seeking for click event. 6923 onClickReview(event) { 6924 //console.log(event); 6925 } 6926 //showing add form. 6927 showAddForm() { 6928 this.showAddFormStatus = true; 6929 } 6930 //Showing add form for hold. 6931 showAddFormHold() { 6932 //if(!this.cookieService.check('info')){ 6933 if (!localStorage.getItem("info")) { 6934 $("#loginSpanMessage").remove(); 6935 document.getElementById("loginLia").click(); 6936 $("#loginError").after('<span id="loginSpanMessage">Log in to place a hold on this resource.</span>'); 6937 setTimeout(function () { 6938 $("#loginSpanMessage").remove(); 6939 }, 10000); 6940 } 6941 else { 6942 this.showAddFormStatusHold = true; 6943 } 6944 } 6945 //Hide adding form 6946 hideAddForm() { 6947 this.showAddFormStatus = false; 6948 this.showAddFormStatusHold = false; 6949 } 6950 //Checking if resource is review or not. 6951 isReviewedByPatron(id) { 6952 //if(this.cookieService.check( 'info')){ 6953 if (localStorage.getItem("info")) { 6954 var token = localStorage.getItem("token"); 6955 this.homepageService 6956 .isReviewedByPatron(token, id) 6957 .subscribe((data) => { 6958 if (data.status) { 6959 this.isPatronReview = data.data.isReviewed; 6960 } 6961 }); 6962 } 6963 } 6964 //Just checking review status by opening the modal. 6965 checkReviewStatus(event, id) { 6966 event.preventDefault(); 6967 this.showReviewModal = true; 6968 } 6969 //close review box 6970 closeReviewStatus() { 6971 this.showReviewModal = false; 6972 } 6973 //To rate title. 6974 starRatingTitle(event, resourceId) { 6975 // console.log(event); 6976 if (typeof event.rating == "number") { 6977 var patronId = null; 6978 var token = localStorage.getItem("token"); 6979 if (this.cookieService.check("userDetail")) { 6980 var detail = JSON.parse(this.cookieService.get("userDetail")); 6981 var patronId = detail.patronId; 6982 } 6983 else if (this.librarySetting.data.settings.ratings.loginRequired) { 6984 this.notifier.notify("warning", "You need to login to rate resources"); 6985 return false; 6986 } 6987 this.showReviewModal = false; 6988 this.homepageService 6989 .addStarRating(resourceId, event.rating, patronId, token) 6990 .subscribe((data) => { 6991 if (data.status) { 6992 this.resourceDetail.ratings.stars = event.rating; 6993 if (this.cookieService.check("userDetail")) { 6994 this.isPatronReview = true; 6995 } 6996 var count = parseInt($(".star-count").text()) + 1; 6997 $(".star-count").text(count); 6998 this.notifier.notify("success", "Rating has been updated successfully"); 6999 } 7000 else { 7001 this.notifier.notify("error", data.message); 7002 } 7003 }, (err) => { 7004 this.notifier.notify("error", "Something went wrong.Try again."); 7005 }); 7006 } 7007 } 7008 //Cancel hold request 7009 cancelHold(event, holdId) { 7010 var token = localStorage.getItem("token"); 7011 this.resourceDetail.holdId = null; 7012 $("#cancelholdsClose").trigger("click"); 7013 this.homepageService.cancelHoldAccount(holdId, token).subscribe((data) => { 7014 if (data.status) { 7015 this.notifier.notify("success", data.message + " successfully"); 7016 this.resourceDetail.canHold = true; 7017 } 7018 else { 7019 this.resourceDetail.holdId = holdId; 7020 this.resourceDetail.canHold = false;
7021 this.notifier.notify("error", data.message); 7022 } 7023 }, (err) => { 7024 this.notifier.notify("error", "Something Went Wrong"); 7025 }); 7026 } 7027 //Holding request 7028 holdResource(event, resourceId) { 7029 $(event.target).val("Wait...").attr("disabled", "disabled"); 7030 var desiredDate = null; 7031 if (this.showHoldDate) { 7032 desiredDate = $(".holdDesireDate").val(); 7033 } 7034 var auth = localStorage.getItem("token"); 7035 var sessionId = 0; 7036 if (this.cookieService.check("renewSession")) { 7037 var sessionId = this.cookieService.get("renewSession"); 7038 } 7039 this.homepageService 7040 .holdResource(sessionId, resourceId, desiredDate, auth) 7041 .subscribe((data) => { 7042 if (data.status) { 7043 this.resourceDetail.holdId = data.data.circHoldId; 7044 this.resourceDetail.canHold = false; 7045 this.cookieService.set("renewSession", data.data.sessionId, 365, "/"); 7046 this.notifier.notify("success", data.message); 7047 } 7048 else { 7049 this.notifier.notify("error", data.message); 7050 } 7051 $(event.target).val("Hold").removeAttr("disabled"); 7052 $("#closeHoldAdd").click(); 7053 this.showHoldDate = false; 7054 this.date = new Date(Date.now()); 7055 }, (err) => { 7056 this.homepageService 7057 .holdResource(sessionId, resourceId, desiredDate, auth) 7058 .subscribe((data) => { }, (error) => { 7059 this.homepageService 7060 .holdResource(sessionId, resourceId, desiredDate, localStorage.getItem("token")) 7061 .subscribe((data) => { 7062 if (data.status) { 7063 this.resourceDetail.holdId = data.data.circHoldId; 7064 this.resourceDetail.canHold = false; 7065 this.cookieService.set("renewSession", data.data.sessionId, 365, "/"); 7066 this.notifier.notify("success", data.message); 7067 } 7068 else { 7069 this.notifier.notify("error", data.message); 7070 } 7071 $(event.target).val("Hold").removeAttr("disabled"); 7072 $("#closeHoldAdd").click(); 7073 this.showHoldDate = false; 7074 this.date = new Date(Date.now()); 7075 }, (err) => { 7076 $(event.target).val("Hold").removeAttr("disabled"); 7077 this.notifier.notify("error", "Something Went Wrong"); 7078 }); 7079 }); 7080 }); 7081 } 7082 //Showing hold date. 7083 showHoldDateFn(event) { 7084 if ($(event.target).is(":checked")) { 7085 this.showHoldDate = true; 7086 } 7087 else { 7088 this.showHoldDate = false; 7089 this.date = new Date(Date.now()); 7090 } 7091 } 7092 //Checking url (Only checking for '&' to convert to &. to fix migration error.) 7093 checkUrlLink(string) { 7094 var temp = string.replace(/&/g, "&"); 7095 return decodeURIComponent(temp); 7096 } 7097 //New functions to image load and image handling for main image. 7098 imageError1(event, images) { 7099 if (typeof $("body") 7100 .find('img[custom="' + event + '"]') 7101 .attr("index") != "undefined" && 7102 parseInt($("body") 7103 .find('img[custom="' + event + '"]') 7104 .attr("index")) > 0) { 7105 var index = parseInt($("body") 7106 .find('img[custom="' + event + '"]') 7107 .attr("index")); 7108 if (typeof $("body") 7109 .find('img[custom="' + event + '"]') 7110 .attr("loaded") != "undefined") 7111 index--; 7112 this.imageLoad1(event, images, index, true); 7113 } 7114 else { 7115 $("body") 7116 .find('img[custom="' + event + '"]') 7117 .after('<span class="Placeholders ' + 7118 $("body") 7119 .find('img[custom="' + event + '"]') 7120 .attr("name") + 7121 '"><i class="material-icons md-48">' + 7122 $("body") 7123 .find('img[custom="' + event + '"]') 7124 .attr("alt") + 7125 "</i></span>"); 7126 $("body") 7127 .find('img[custom="' + event + '"]') 7128 .remove(); 7129 } 7130 } 7131 imageLoad1(event, images, index, fromError = false) { 7132 if ($("body") 7133 .find('img[custom="' + event + '"]') 7134 .attr("loaded") == "yes" && 7135 !fromError) { 7136 return false;
7137 } 7138 if ($("body").find("#" + event).length <= 0) { 7139 $("body").append('<img id="' + event + '" src="" style="display:none;">'); 7140 } 7141 var $this = this; 7142 var sources = ["OL", "GB", "MR", "PQ", "CM"]; 7143 var sizes = ["xxs", "xs", "s", "xl", "l", "m"]; 7144 //var sizes = ['xl','l','m','s','xs','xxs']; 7145 // var sizes = ['m','l','xl','s','xs','xxs']; 7146 var imagesAll = []; 7147 sizes.forEach((evt) => { 7148 sources.forEach((src) => { 7149 images.forEach((img) => { 7150 if (img.size == evt && img.source == src) { 7151 imagesAll.push(img.url); 7152 } 7153 }); 7154 }); 7155 }); 7156 //var imagesAll = this.searchService.sortedImage(images); 7157 //console.log(imagesAll, event); 7158 $("#" + event).attr("src", imagesAll[index]); 7159 setTimeout(function () { 7160 var tempWidth = $("#" + event).width(); 7161 var temp = document.getElementById(event); 7162 if (tempWidth <= 1 && index > 0) { 7163 var typeEvee = typeof images; 7164 $this.imageLoad1(event, images, index, true); 7165 return false; 7166 } 7167 else if (tempWidth <= 1 && index == 0) { 7168 $("body") 7169 .find('img[custom="' + event + '"]') 7170 .after('<span class="Placeholders ' + 7171 $("body") 7172 .find('img[custom="' + event + '"]') 7173 .attr("name") + 7174 '"><i class="material-icons md-48">' + 7175 $("body") 7176 .find('img[custom="' + event + '"]') 7177 .attr("alt") + 7178 "</i></span>"); 7179 $("body") 7180 .find('img[custom="' + event + '"]') 7181 .remove(); 7182 } 7183 }, 5000); 7184 if (typeof imagesAll[index] != "undefined") { 7185 $("body") 7186 .find('img[custom="' + event + '"]') 7187 .attr("src", imagesAll[index]); 7188 $("body") 7189 .find('img[custom="' + event + '"]') 7190 .attr("loaded", "yes"); 7191 $("body") 7192 .find('img[custom="' + event + '"]') 7193 .attr("index", index); 7194 } 7195 } 7196 showShare(event) { 7197 $(".book-detail").find(".dropdown-menu").toggleClass("show"); 7198 } 7199 copyPermalink() { 7200 const base = new URL("/", location.href).href; 7201 var copyText = $("#permalink_share").attr("href"); 7202 //console.log(base+copyText +'-------'+ copyText.slice(1); 7203 var $temp = $("<input>"); 7204 $("body").append($temp); 7205 $temp.val(base + copyText.slice(1)).select(); 7206 document.execCommand("copy"); 7207 $temp.remove(); 7208 this.link = base + copyText.slice(1); 7209 this.linkCopied = true; 7210 } 7211 hideLinkModal() { 7212 this.linkCopied = false; 7213 this.showShare(null); 7214 } 7215 noveListCall(data) { 7216 //console.log(data); 7217 } 7218}; 7219DetailComponent.ctorParameters = () => [ 7220 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 7221 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 7222 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute }, 7223 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.Router }, 7224 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 7225 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 7226 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__.CookieService }, 7227 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_9__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_10__.DOCUMENT,] }] }, 7228 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 7229]; 7230DetailComponent.propDecorators = { 7231 galleryOne: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_9__.ViewChild, args: ["galleryOne",] }], 7232 tabModal: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_9__.ViewChild, args: ["tabModal",] }] 7233}; 7234DetailComponent = __decorate([ 7235 (0,_angular_core__WEBPACK_IMPORTED_MODULE_9__.Component)({ 7236 selector: "app-detail", 7237 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_detail_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 7238 styles: [_detail_component_css__WEBPACK_IMPORTED_MODULE_1__] 7239 }) 7240], DetailComponent); 7241 7242 7243 7244/***/ }), 7245 7246/***/ 59388: 7247/*!***************************************************************!*\ 7248 !*** ./src/app/components/pages/explore/explore.component.ts ***! 7249 \***************************************************************/ 7250/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 7251 7252"use strict"; 7253__webpack_require__.r(__webpack_exports__); 7254/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7255/* harmony export */ "ExploreComponent": function() { return /* binding */ ExploreComponent; } 7256/* harmony export */ }); 7257/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_explore_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./explore.component.html */ 70706); 7258/* harmony import */ var _explore_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./explore.component.css */ 37622); 7259/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 7260/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 7261/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 7262/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 7263/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 7264/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 7265/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 7266/* harmony import */ var _angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/cdk/drag-drop */ 28487); 7267var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 7268 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 7269 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 7270 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
7270 3 ? d(target, key, r) : d(target, key)) || r; 7271 return c > 3 && r && Object.defineProperty(target, key, r), r; 7272}; 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283let ExploreComponent = class ExploreComponent { 7284 constructor(document, homepageService, route, routerService, cookieService, notifierService) { 7285 this.document = document; 7286 this.homepageService = homepageService; 7287 this.route = route; 7288 this.routerService = routerService; 7289 this.cookieService = cookieService; 7290 this.isNew = false; 7291 this.noData = false; 7292 this.explorePageList = []; 7293 this.resourceLists = []; 7294 this.searchTypeSelect = ''; 7295 this.selectedStyle = 'a'; 7296 this.exploreData = []; 7297 this.responseAPIstatus = true; 7298 this.responseAPIstatusAction = false; 7299 this.showAddButtonModalStatus = false; 7300 this.responseStyleStatus = true; 7301 this.updateExplore = false; 7302 this.changestyleButton = false; 7303 this.showActionStatus = ''; 7304 this.deleteButtonId = 0; 7305 this.editMode = false; 7306 this.limitToShow = false; 7307 this.userCanEdit = false; 7308 this.exploreBreadCrub = []; 7309 this.fileToUpload = null; 7310 this.styleImages = []; 7311 this.styleCustomImages = []; 7312 this.librarySetting = []; 7313 this.enableSearchs = []; 7314 this.limitToSearch = false; 7315 this.limitToEdit = 0; 7316 this.limitToArray = { 7317 'availability': false, 7318 'category': false, 7319 'lexile': false, 7320 'lexileGrade': false, 7321 'lexileCode': false, 7322 'fountas': false, 7323 'rc': false, 7324 'ar': false, 7325 'homeLocation': false 7326 }; 7327 this.booleanBoxs = [{ 7328 'op': '', 7329 'term': '', 7330 'in': '' 7331 }]; 7332 this.option = { 7333 animation: 150, 7334 handle: '.my-handle', 7335 sort: true, 7336 group: 'widgets', 7337 direction: 'vertical', 7338 dragoverBubble: true, 7339 removeCloneOnHide: false, 7340 onUpdate: (event) => { 7341 this.onSortFinish(event); 7342 } 7343 //onEnd: function (/**Event*/evt) {} 7344 }; 7345 this.reviewCategories = []; 7346 this.checkedCategoryIds = []; 7347 this.reviewStarts = 0; 7348 this.initialRateNew = 0; 7349 this.initialRate = 0; 7350 this.exploreId = ''; 7351 // Array of selectable option values in lowercase 7352 this.selectOptionLevels = [ 7353 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'z+' 7354 ]; 7355 this.notifier = notifierService; 7356 this.route.queryParams.subscribe(param => { 7357 this.exploreId = param['exp-btn-id']; 7358 }); 7359 this.route.params.subscribe(params => { 7360 this.responseAPIstatus = true; 7361 this.pageId = this.route.snapshot.paramMap.get("pageId"); 7362 this.previousUrl = this.routerService.getPreviousUrl(
7362); 7363 this.loadExplore(); 7364 }); 7365 } 7366 onRatingChange(event) { 7367 this.initialRate = event.rating; 7368 $(document).find('.messageReview.error').remove(); 7369 } 7370 toggleCategoryChecked(categoryId) { 7371 if (this.checkedCategoryIds.includes(categoryId)) { 7372 this.checkedCategoryIds = this.checkedCategoryIds.filter(id => id !== categoryId); 7373 } 7374 else { 7375 this.checkedCategoryIds.push(categoryId); 7376 } 7377 this.checkedCategoryIds = this.checkedCategoryIds.filter(id => !isNaN(id)); 7378 } 7379 ngOnInit() { 7380 this.previousUrl = this.routerService.getPreviousUrl(); 7381 if (typeof (this.previousUrl) != 'undefined' && this.previousUrl.indexOf('/recentlist/list') >= 0) { 7382 this.exploreBreadCrub = this.routerService.getExploreBreadcrumb(); 7383 } 7384 this.routerService.setTextUrl('Explore'); 7385 this.document.body.classList.add('inner-page'); 7386 this.document.body.classList.remove('list'); 7387 this.pageId = this.route.snapshot.paramMap.get("pageId"); 7388 //if(this.cookieService.check( 'info')){ 7389 if (localStorage.getItem('info') != null) { 7390 this.userCanEdit = true; 7391 } 7392 this.librarySetting = this.homepageService.getUpdatedConfig(); 7393 this.enableSearchs.push('Basic'); 7394 // Checking advance search if any advance search is enabled or not... 7395 this.enableSearchs.push('Marc'); 7396 this.enableSearchs.push('Category'); 7397 this.enableSearchs.push('Boolean'); 7398 this.enableSearchs.push('Barcode'); 7399 this.enableSearchs.push('Call'); 7400 this.enableSearchs.push('Lexile'); 7401 this.enableSearchs.push('Fountas'); 7402 this.enableSearchs.push('Reading Counts'); 7403 this.enableSearchs.push('Accelerated Reader'); 7404 // Checking Limit to if any limit is enabled or not... 7405 if (this.librarySetting.data.settings.search.limitTo.availability.enabled === true) { 7406 this.limitToShow = true; 7407 this.limitToArray.availability = true; 7408 } 7409 if (this.librarySetting.data.settings.search.limitTo.category.enabled === true) { 7410 this.limitToShow = true; 7411 this.limitToArray.category = true; 7412 } 7413 if (this.librarySetting.data.settings.search.limitTo.lexile.enabled === true) { 7414 this.limitToShow = true; 7415 this.limitToArray.lexile; 7416 } 7417 if (this.librarySetting.data.settings.search.limitTo.lexileGrade.enabled === true) { 7418 this.limitToShow = true; 7419 this.limitToArray.lexileGrade = true; 7420 ; 7421 } 7422 if (this.librarySetting.data.settings.search.limitTo.lexileCode.enabled === true) { 7423 this.limitToShow = true; 7424 this.limitToArray.lexileCode = true; 7425 ; 7426 } 7427 if (this.librarySetting.data.settings.search.limitTo.fountas.enabled === true) { 7428 this.limitToShow = true; 7429 this.limitToArray.fountas = true; 7430 } 7431 if (this.librarySetting.data.settings.search.limitTo.rc.enabled === true) { 7432 this.limitToShow = true; 7433 this.limitToArray.rc = true; 7434 ; 7435 } 7436 if (this.librarySetting.data.settings.search.limitTo.ar.enabled === true) { 7437 this.limitToShow = true; 7438 this.limitToArray.ar = true; 7439 ; 7440 } 7441 if (this.librarySetting.data.settings.search.limitTo.homeLocation.enabled === true) { 7442 this.limitToShow = true; 7443 this.limitToArray.homeLocation = true; 7444 ; 7445 } 7446 } 7447 //Initializing explore. 7448 loadExplore() { 7449 var token = localStorage.getItem('token'); 7450 if (token) { 7451 this.homepageService.getExploreButtonStyle().subscribe((style) => { 7452 if (style.status && style.data) { 7453 this.selectedStyle = style.data; 7454 } 7455 else { 7456 this.selectedStyle = 'a'; 7457 } 7458 }); 7459 } 7460 this.pageId = this.pageId.toString().replace(/\D/g, ""); 7461 return this.homepageService.getExploreData(this.pageId, this.exploreId).subscribe((data) => { 7462 if (data.data) { 7463 var tempA = data; 7464 this.exploreData.data = data; 7465 this.exploreData.data.id = data.data.id; 7466 this.exploreData.data.caption = data.data.caption; 7467 this.exploreData.data.isHomePage = data.data.isHomePage; 7468 this.exploreData.data.parentPages = data.data.parentPages; 7469 this.exploreData.data.description = data.data.description; 7470 this.exploreData.data.buttons = []; 7471 var temp1 = []; 7472 tempA.data.buttons.forEach((jsn, keyJ) => { 7473 if (jsn.action == 'S' && jsn.target != null) { 7474 let trgt = jsn.target; 7475 //console.log("trgt", trgt); 7476 trgt = this.stringToJson(trgt); 7477 //console.log("trgt", trgt); 7478 if (trgt.type == 'Boolean' || trgt.type == 'bool') { 7479 trgt = this.booleanJson(trgt); 7480 } 7481 //if(jsn.target.indexOf('{') >= 0 && jsn.target.indexOf('}') >= 0){ 7482 //var trgt:any = JSON.parse(jsn.target); 7483 //} else { 7484 //var trgt:any = 'null';
7485 //} 7486 var tempd = { 7487 id: jsn.id, 7488 caption: jsn.caption, 7489 visible: jsn.visible, 7490 position: jsn.position, 7491 action: jsn.action, 7492 image: jsn.image, 7493 target: trgt 7494 //description:jsn.description 7495 }; 7496 } 7497 else { 7498 var tempd = { 7499 id: jsn.id, 7500 caption: jsn.caption, 7501 visible: jsn.visible, 7502 position: jsn.position, 7503 action: jsn.action, 7504 image: jsn.image, 7505 target: (jsn.target) ? jsn.target : 'null' 7506 //description:jsn.description 7507 }; 7508 } 7509 // console.log("tempd", tempd); 7510 temp1.push(tempd); 7511 }); 7512 this.exploreData.data.buttons = temp1; 7513 if (this.exploreData.data.caption == 'Home') { 7514 this.exploreBreadCrub = []; 7515 this.homepageService.updateBannerText('Explore'); 7516 } 7517 else { 7518 let ind = this.exploreBreadCrub.findIndex(ob => ob['id'] === this.exploreData.data.id); 7519 if (typeof (ind) != 'undefined' && ind >= 0) { 7520 var tempBrd = []; 7521 this.exploreBreadCrub.forEach((item, index) => { 7522 if (index < ind) { 7523 tempBrd.push(item); 7524 } 7525 }); 7526 this.exploreBreadCrub = tempBrd; 7527 } 7528 var temp = []; 7529 temp['id'] = this.exploreData.data.id; 7530 temp['caption'] = this.exploreData.data.caption; 7531 //temp['description'] = this.exploreData.data.description; 7532 this.exploreBreadCrub.push(temp); 7533 this.routerService.setExploreBreadcrumb(this.exploreBreadCrub); 7534 this.homepageService.updateBannerText(this.exploreData.data.caption); 7535 } 7536 this.responseAPIstatus = false; 7537 this.responseAPIstatusAction = false; 7538 if (this.cookieService.check('exploreEditMode') && this.cookieService.get('exploreEditMode') == 'true') { 7539 this.document.body.classList.add('manage-view'); 7540 this.editMode = true; 7541 } 7542 else { 7543 this.document.body.classList.remove('manage-view'); 7544 this.editMode = false; 7545 } 7546 } 7547 else { 7548 this.noData = true; 7549 this.responseAPIstatus = false; 7550 this.responseAPIstatusAction = false; 7551 } 7552 }); 7553 } 7554 //Default image on error in image.. 7555 imageError(event) { 7556 $(event.target).attr('src', '/assets/images/explore/default.gif'); 7557 } 7558 //Checking edit mode or not. 7559 editModeToggle(event) { 7560 event.preventDefault(); 7561 if (this.document.body.classList.contains('manage-view')) { 7562 this.cookieService.set('exploreEditMode', 'false', 365, '/'); 7563 this.document.body.classList.remove('manage-view'); 7564 this.editMode = false; 7565 } 7566 else { 7567 this.cookieService.set('exploreEditMode', 'true', 365, '/'); 7568 this.document.body.classList.add('manage-view'); 7569 this.editMode = true; 7570 } 7571 } 7572 drop(event) { 7573 var wid = this.exploreData.data[event.previousIndex].id; 7574 var newIndex = parseInt(event.currentIndex) + 1; 7575 //if(this.cookieService.check( 'info')){ 7576 if (localStorage.getItem('info') != null) { 7577 var token = localStorage.getItem('token'); 7578 } 7579 this.pageId = this.pageId.toString().replace(/\D/g, ""); 7580 this.homepageService.reOrderExploreButtons(wid, newIndex, token, this.pageId).subscribe((data) => { 7581 }); 7582 (0,_angular_cdk_drag_drop__WEBPACK_IMPORTED_MODULE_5__.moveItemInArray)(this.exploreData.data, event.previousIndex, event.currentIndex); 7583 } 7584 //sort or reordering buttons. 7585 onSortFinish(evt) { 7586 var wid = $(evt.item).attr('wid'); 7587 //if(this.cookieService.check( 'info')){ 7588 if (localStorage.getItem('info') != null) { 7589 var token = localStorage.getItem('token'); 7590 } 7591 var newIndex = parseInt(evt.newIndex) + 1; 7592 // this.pageId = this.pageId.toString().replace(/\D/g, ""); 7593 let explorePageId = '0'; 7594 if (this.cookieService.check('loadedtenantconfig') && this.cookieService.get('loadedtenantconfig') !== '*') { 7595 explorePageId = this.exploreData.data.id; 7596 } 7597 else { 7598 explorePageId = this.pageId; 7599 } 7600 explorePageId = explorePageId.toString().replace(/\D/g, ""); 7601 this.homepageService.reOrderExploreButtons(wid, newIndex, token, explorePageId).subscribe((data) => { 7602 if (data.status) { 7603 } 7604 }); 7605 } 7606 //Saving button status. 7607 buttonPublishStatus(event, wid, status) { 7608 $(event.target).parents('.explore-btn').find('.loader-inner-container').addClass('show').removeClass('hide'); 7609 var selector = $(event.target); 7610 if (event.target.nodeName == 'I') { 7611 var selector = $(event.target).parent(); 7612 } 7613 if (selector.find('i.fas').hasClass('unpublish')) { 7614 selector.find('i.fas').removeClass('fa-eye').addClass('fa-eye-slash'); 7615 selector.find('i.fas').removeClass('unpublish').addClass('publish'); 7616 selector.parents('.col-lg-2').removeClass('buttonDisable'); 7617 } 7618 else if (selector.find('i.fas').hasClass('publish')) { 7619 selector.find('i.fas').addClass('fa-eye').removeClass('fa-eye-slash'); 7620 selector.find('i.fas').removeClass('publish').addClass('unpublish'); 7621 selector.parents('.col-lg-2').addClass('buttonDisable'); 7622 } 7623 //if(this.cookieService.check( 'info')){ 7624 if (localStorage.getItem('info') != null) { 7625 var token = localStorage.getItem('token'); 7626 } 7627 this.homepageService.exploreButtonsPublish(wid, status, token).subscribe((data) => { 7628 $(event.target).parents('.explore-btn').find('.loader-inner-container').addClass('hide').removeClass('show'); 7629 this.notifier.notify('success', data.message); 7630 this.loadExplore(); 7631 }); 7632 } 7633 //Showing confirm modal. 7634 showConfirmModal(id) { 7635 this.deleteButtonId = id; 7636 } 7637 //Delete button event. 7638 deleteButton(event) { 7639 this.responseAPIstatusAction = true; 7640 //if(this.cookieService.check( 'info')){ 7641 if (localStorage.getItem('info') != null) { 7642 var token = localStorage.getItem('token'); 7643 } 7644 this.homepageService.exploreButtonsDelete(this.deleteButtonId, token).subscribe((data) => { 7645 if (data.status) { 7646 this.loadExplore(); 7647 $('#cancelholdsClose').trigger('click'); 7648 this.notifier.notify('success', 'The button has deleted successfully'); 7649 } 7650 else { 7651 this.notifier.notify('error', data.message); 7652 } 7653 }, (error) => { 7654 this.notifier.notify('error', error.message); 7655 }); 7656 } 7657 //Uploading image function. 7658 uploadImage(files, event) { 7659 this.updateExplore = true; 7660 $(event.target).parents('div.add-explore-modal').find('input[name="submit"]').attr('value', 'uploading...').attr('disabled', 'disabled'); 7661 //if(this.cookieService.check( 'info')){ 7662 if (localStorage.getItem('info') != null) { 7663 var token = localStorage.getItem('token'); 7664 } 7665 this.fileToUpload = files.item(0); 7666 let formData = new FormData(); 7667 formData.append('file', this.fileToUpload, this.fileToUpload.name); 7668 this.homepageService.exploreImageUpload(formData, token).subscribe((data) => { 7669 if (data.status) { 7670 $(event.target).parents('div.add-explore-modal').find('input[name="submit"]').attr('value', 'Save').removeAttr('disabled');
7671 $(event.target).parents('.modal-body').find('.editwidgets-image').find('img').attr('src', data.data.url); 7672 $(event.target).parents('.modal-body').find('input[name="imageName"]').val(data.data.url); 7673 } 7674 this.updateExplore = false; 7675 }, (error) => { 7676 this.notifier.notify('error', 'Something went wrong.'); 7677 $(event.target).parents('div.add-explore-modal').find('input[name="submit"]').attr('value', 'Save').removeAttr('disabled'); 7678 }); 7679 } 7680 //Getting saved images for buttons. 7681 getExploreImages() { 7682 this.homepageService.getExploreImage().subscribe((data) => { 7683 if (data.status) { 7684 this.styleImages = data.data; 7685 this.responseStyleStatus = false; 7686 } 7687 }); 7688 this.homepageService.getExploreCustomImage().subscribe((data) => { 7689 if (data.status) { 7690 this.styleCustomImages = data.data; 7691 } 7692 }); 7693 } 7694 //Changing visible status.. 7695 showAction(event, value) { 7696 $('.SelectActionCon').removeClass('show').addClass('hide'); 7697 this.showActionStatus = value; 7698 if (value === 'E') { 7699 if (this.reviewCategories.length === 0) { 7700 this.homepageService.getReviewCategories().subscribe((data) => { 7701 this.reviewCategories = data; 7702 }); 7703 } 7704 } 7705 if (value == 'L') { 7706 if (this.resourceLists.length === 0) { 7707 this.homepageService.getResourcesList({ logs: false }).subscribe((data) => { 7708 this.resourceLists = data.data; 7709 }); 7710 } 7711 } 7712 if (value == 'V') { 7713 if (this.explorePageList.length === 0) { 7714 this.homepageService.getExplorePages().subscribe((pageList) => { 7715 this.explorePageList = pageList.data; 7716 }); 7717 } 7718 var page = $(event.target).parents('.modal-body').find('select[name="pagetogo"]').val(); 7719 ; 7720 if (page == 0) 7721 this.isNew = true; 7722 else 7723 this.isNew = false; 7724 } 7725 else { 7726 this.isNew = false; 7727 } 7728 } 7729 //Opening edit modal. 7730 openEditModal(action, target) { 7731 this.showActionStatus = action; 7732 this.searchTypeSelect = ''; 7733 this.responseAPIstatusAction = true; 7734 this.limitToEdit = 0; 7735 if (action === "S" && target.type === 'Boolean') { 7736 this.booleanBoxs = target.operators; 7737 } 7738 else { 7739 this.booleanBoxs = [{ 7740 'op': '', 7741 'term': '', 7742 'in': '' 7743 }]; 7744 } 7745 if (action == 'L') { 7746 if (this.resourceLists.length === 0) { 7747 this.homepageService.getResourcesList({ logs: false }).subscribe((data) => { 7748 this.resourceLists = data.data; 7749 }); 7750 } 7751 } 7752 if (action == 'V') { 7753 if (this.explorePageList.length === 0) { 7754 this.homepageService.getExplorePages().subscribe((pageList) => { 7755 this.explorePageList = pageList.data; 7756 }); 7757 } 7758 } 7759 if (action === "E") { 7760 const params = new URLSearchParams(new URL(target, 'http://library.site').search); 7761 this.initialRate = parseInt(params.get('minrate')); 7762 this.exploreEditreviewAge = params.get('reviewage'); 7763 this.exploreEditreviewerName = params.get('reviewername'); 7764 const exploreEditcategories = params.get('categories'); 7765 const idStrings = exploreEditcategories.split(',').map(s => s.trim()); 7766 this.checkedCategoryIds = idStrings.map(id => parseInt(id, 10)); 7767 if (this.reviewCategories.length === 0) { 7768 this.homepageService.getReviewCategories().subscribe((data) => { 7769 this.reviewCategories = data; 7770 }); 7771 } 7772 } 7773 else { 7774 this.initialRate = 0; 7775 this.exploreEditreviewAge = ''; 7776 this.exploreEditreviewerName = ''; 7777 this.checkedCategoryIds = []; 7778 } 7779 } 7780 //Select image style and save them. 7781 selectStyleImage(event) { 7782 this.updateExplore = true; 7783 if (event.target.nodeName == 'IMG') { 7784 var selector = $(event.target).parent(); 7785 } 7786 else { 7787 var selector = $(event.target); 7788 } 7789 var img = selector.attr('imgsrc');
7790 $(event.target).parents('.modal-body').find('.editwidgets-image').find('img').attr('src', selector.find('img').attr('src')); 7791 $(event.target).parents('.modal-body').find('input[name="imageName"]').val(img); 7792 this.updateExplore = false; 7793 } 7794 //Editing explore button. 7795 // Checking for different type of action. 7796 // If it is search then checking for which type of search it is. 7797 editEploreButton(event) { 7798 var _a; 7799 this.updateExplore = true; 7800 $(document).find('span.error').remove(); 7801 var error = 0; 7802 var buttonId = $(event.target).parents('.modal-body').find('input[name="buttonId"]').val(); 7803 var title = $(event.target).parents('.modal-body').find('input[name="title"]').val(); 7804 if ($.trim(title) == '') { 7805 $(event.target).parents('.modal-body').find('input[name="title"]').after('<span class="error">Enter Title</span>'); 7806 error = error + 1; 7807 } 7808 var actionType = $(event.target).parents('.modal-body').find('select[name="action"]').val(); 7809 if (actionType == '?') { 7810 $(event.target).parents('.modal-body').find('select[name="action"]').after('<span class="error">Select Action</span>'); 7811 error = error + 1; 7812 } 7813 var image = $(event.target).parents('.modal-body').find('input[name="imageName"]').val(); 7814 var visible = $(event.target).parents('.modal-body').find('input[name="buttonVisibility"]').val(); 7815 var target = null; 7816 var pageName = null; 7817 if (actionType == 'V') { 7818 var target = $(event.target).parents('.modal-body').find('select[name="pagetogo"]').val(); 7819 pageName = $(event.target).parents('.modal-body').find('input[name="newPageName"]').val(); 7820 } 7821 else if (actionType == 'E') { 7822 let catForReview = ''; 7823 this.checkedCategoryIds = this.checkedCategoryIds.filter(id => !isNaN(id)); 7824 this.checkedCategoryIds.forEach(id => { 7825 if (catForReview === '') { 7826 catForReview = id + ''; 7827 } 7828 else { 7829 catForReview += ',' + id; 7830 } 7831 }); 7832 target = '/searchreview?'; 7833 target += 'minrate=' + this.initialRate + '&'; 7834 target += 'reviewage=' + $(event.target).parents('.modal-body').find('select[name="review_age"]').val() + '&'; 7835 target += 'reviewername=' + $(event.target).parents('.modal-body').find('input[name="reviewer"]').val() + '&'; 7836 target += 'categories=' + catForReview; 7837 } 7838 else if (actionType == 'S') { 7839 var selectedSearchType = $(event.target).parents('.modal-body').find('select[name="SearchType"]').val(); 7840 if (selectedSearchType == 'Basic') { 7841 target = '/search/basic?'; 7842 target += 'keyword=' + $(event.target).parents('.modal-body').find('input[name="basicSearchBasic"]').val() + '&'; 7843 target += 'searchin=' + $(event.target).parents('.modal-body').find('select[name="basicSearchIn"]').val() + '&'; 7844 target += 'exact=false'; 7845 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7846 } 7847 else if (selectedSearchType == 'Marc') { 7848 target = '/search/marc?'; 7849 target += 'keyword=' + $(event.target).parents('.modal-body').find('input[name="marcSearchBasic"]').val() + '&'; 7850 target += 'searchin=' + $(event.target).parents('.modal-body').find('select[name="marcSearchIn"]').val() + '&'; 7851 target += 'exact=' + $(event.target).parents('.modal-body').find('input[name="marcStartExact"]').is(':checked'); 7852 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7853 } 7854 else if (selectedSearchType == 'Category') { 7855 target = '/search/category?'; 7856 target += 'categoryId=' + $(event.target).parents('.modal-body').find('select[name="category"]').val(); 7857 target += this.getLimitToTarget($(event.target).parents('.modal
7857-body')); 7858 } 7859 else if (selectedSearchType == 'Boolean') { 7860 target = '/search/bool?'; 7861 var boxCount = 0; 7862 var error = 0; 7863 var firstOperand = "AND"; 7864 $(event.target).parents('.modal-body').find('.boxBoolean').each(function () { 7865 $(this).find('input[name="terms"]').removeClass('error'); 7866 var terms = $.trim($(this).find('input[name="terms"]').val().toString()); 7867 if (terms != '') { 7868 var searchIn = $(this).find('select[name="searchIn"]').val(); 7869 var operand = $(this).find('ul.booleanOpretors li.active').text(); 7870 boxCount++; 7871 if (boxCount != 0) { 7872 target += '&'; 7873 } 7874 if (boxCount == 1) { 7875 target += 'term-' + boxCount + '=' + terms + '&in-' + boxCount + '=' + searchIn + '&op-1=' + firstOperand; 7876 } 7877 else { 7878 target += 'op-' + boxCount + '=' + operand + '&term-' + boxCount + '=' + terms + '&in-' + boxCount + '=' + searchIn; 7879 } 7880 } 7881 else { 7882 $(this).find('input[name="terms"]').addClass('error'); 7883 error++; 7884 } 7885 }); 7886 if (boxCount != 0 && error == 0) { 7887 target += '&count=' + boxCount; 7888 } 7889 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7890 } 7891 else if (selectedSearchType == 'Barcode') { 7892 target = '/search/barcode?'; 7893 target += 'start=' + $(event.target).parents('.modal-body').find('input[name="barcodeStart"]').val() + '&'; 7894 target += 'end=' + $(event.target).parents('.modal-body').find('input[name="barcodeEnd"]').val() + '&'; 7895 target += 'exact=false'; 7896 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7897 } 7898 else if (selectedSearchType == 'Call') { 7899 target = '/search/call?'; 7900 target += 'start=' + $(event.target).parents('.modal-body').find('input[name="callStart"]').val() + '&'; 7901 target += 'end=' + $(event.target).parents('.modal-body').find('input[name="callEnd"]').val() + '&'; 7902 target += 'exact=false'; 7903 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7904 } 7905 else if (selectedSearchType == 'Lexile') { 7906 target = '/search/lexile?'; 7907 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="LexileLevelMin"]').val() + '&'; 7908 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="LexileLevelMax"]').val() + '&'; 7909 target += 'code=' + $(event.target).parents('.modal-body').find('select[name="Lexilecode"]').val() + '&'; 7910 target += 'patronType=' + $(event.target).parents('.modal-body').find('select[name="LexilePatronType"]').val(); 7911 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7912 } 7913 else if (selectedSearchType == 'Reading Counts') { 7914 target = 'search/rc?'; 7915 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="readingcountsLevelMin"]').val() + '&'; 7916 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="readingcountsLevelMax"]').val() + '&'; 7917 target += 'pointmin=' + $(event.target).parents('.modal-body').find('input[name="readingcountsPointMin"]').val() + '&'; 7918 target += 'pointmax=' + $(event.target).parents('.modal-body').find('input[name="readingcountsPointMax"]').val() + '&'; 7919 target += 'exact=false'; 7920 target += this.getLimitToTarget($(event.target).parents('.modal
7920-body')); 7921 } 7922 else if (selectedSearchType == 'Accelerated Reader') { 7923 target = '/search/ar?'; 7924 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderLevelMin"]').val() + '&'; 7925 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderLevelMax"]').val() + '&'; 7926 target += 'pointmin=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderPointsMin"]').val() + '&'; 7927 target += 'pointmax=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderPointsMax"]').val() + '&'; 7928 target += 'int=' + $(event.target).parents('.modal-body').find('select[name="AcceleratedReaderInterestLevel"]').val(); 7929 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7930 } 7931 else if (selectedSearchType == 'Fountas') { 7932 target = '/search/fountas?'; 7933 target += 'levelmin=' + $(event.target).parents('.modal-body').find('select[name="fountasLevelMin"]').val() + '&'; 7934 target += 'levelmax=' + $(event.target).parents('.modal-body').find('select[name="fountasLevelMax"]').val(); 7935 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 7936 } 7937 } 7938 else if (actionType == 'L') { 7939 var target = $(event.target).parents('.modal-body').find('select[name="showSavedList"]').val(); 7940 } 7941 else if (actionType == 'U') { 7942 var target = $(event.target).parents('.modal-body').find('input[name="WebSite"]').val(); 7943 } 7944 if (error > 0) { 7945 this.updateExplore = false; 7946 return false; 7947 } 7948 //checking explore page no. 7949 var pageNumber = this.pageId; 7950 if (this.pageId == 0) { 7951 pageNumber = (_a = this.exploreData.data) === null || _a === void 0 ? void 0 : _a.id; 7952 } 7953 if (this.exploreData.data == null) { 7954 pageNumber = 0; 7955 } 7956 this.responseAPIstatusAction = true; 7957 //save explore buttons. 7958 this.homepageService.saveExploreButton(buttonId, pageNumber, title, visible, actionType, target, image, pageName).subscribe((data) => { 7959 this.updateExplore = false; 7960 if (data === null || data === void 0 ? void 0 : data.status) { 7961 this.loadExplore(); 7962 $(event.target).parents('.add-explore-modal').find('#closeBulletinAdd').trigger('click'); 7963 this.notifier.notify('success', data.message); 7964 } 7965 else { 7966 this.notifier.notify('error', data.message); 7967 } 7968 }); 7969 } 7970 getExploreClick(target, id) { 7971 window.open(target, '_blank'); 7972 this.homepageService.getClickExploreBtn(id) 7973 .subscribe(dat => { 7974 }); 7975 } 7976 //add Explore button 7977 addExploreButton(event) { 7978 var _a; 7979 this.updateExplore = true; 7980 $(document).find('span.error').remove(); 7981 var error = 0; 7982 var buttonId = $(event.target).parents('.modal-body').find('input[name="buttonId"]').val(); 7983 var title = $(event.target).parents('.modal-body').find('input[name="title"]').val(); 7984 if ($.trim(title) == '') { 7985 $(event.target).parents('.modal-body').find('input[name="title"]').after('<span class="error">Enter Title</span>'); 7986 error = error + 1; 7987 } 7988 var actionType = $(event.target).parents('.modal-body').find('select[name="action"]').val(); 7989 if (actionType == '?') { 7990 $(event.target).parents('.modal-body').find('select[name="action"]').after('<span class="error">Select Action</span>'); 7991 error = error + 1; 7992 } 7993 var image = $(event.target).parents('.modal-body').find('input[name="imageName"]').val(); 7994 var visible = $(event.target).parents('.modal-body').find('input[name="buttonVisibility"]').val(); 7995 var target = null; 7996 var pageName = null; 7997 if (actionType == 'V') {
7998 var target = $(event.target).parents('.modal-body').find('select[name="pagetogo"]').val(); 7999 pageName = $(event.target).parents('.modal-body').find('input[name="newPageName"]').val(); 8000 } 8001 else if (actionType == 'E') { 8002 let catForReview = ''; 8003 $('input[name="categories_for_review"]:checked').each(function () { 8004 if (catForReview === '') { 8005 catForReview = $(this).val() + ''; 8006 } 8007 else { 8008 catForReview += ',' + $(this).val(); 8009 } 8010 }); 8011 target = '/searchreview?'; 8012 target += 'minrate=' + this.initialRate + '&'; 8013 target += 'reviewage=' + $(event.target).parents('.modal-body').find('select[name="review_age"]').val() + '&'; 8014 target += 'reviewername=' + $(event.target).parents('.modal-body').find('input[name="reviewer"]').val() + '&'; 8015 target += 'categories=' + catForReview; 8016 } 8017 else if (actionType == 'S') { 8018 var selectedSearchType = $(event.target).parents('.modal-body').find('select[name="SearchType"]').val(); 8019 if (selectedSearchType == 'Basic') { 8020 target = '/search/basic?'; 8021 target += 'keyword=' + $(event.target).parents('.modal-body').find('input[name="basicSearchBasic"]').val() + '&'; 8022 target += 'searchin=' + $(event.target).parents('.modal-body').find('select[name="basicSearchIn"]').val() + '&'; 8023 target += 'exact=false'; 8024 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8025 } 8026 else if (selectedSearchType == 'Marc') { 8027 target = '/search/marc?'; 8028 target += 'keyword=' + $(event.target).parents('.modal-body').find('input[name="marcSearchBasic"]').val() + '&'; 8029 target += 'searchin=' + $(event.target).parents('.modal-body').find('select[name="marcSearchIn"]').val() + '&'; 8030 target += 'exact=' + $(event.target).parents('.modal-body').find('input[name="marcStartExact"]').is(':checked'); 8031 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8032 } 8033 else if (selectedSearchType == 'Category') { 8034 target = '/search/category?'; 8035 target += 'categoryId=' + $(event.target).parents('.modal-body').find('select[name="category"]').val(); 8036 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8037 } 8038 else if (selectedSearchType == 'Boolean') { 8039 target = '/search/bool?'; 8040 var boxCount = 0; 8041 var error = 0; 8042 var firstOperand = "AND"; 8043 $(event.target).parents('.modal-body').find('.boxBoolean').each(function () { 8044 $(this).find('input[name="terms"]').removeClass('error'); 8045 var terms = $.trim($(this).find('input[name="terms"]').val().toString()); 8046 if (terms != '') { 8047 var searchIn = $(this).find('select[name="searchIn"]').val(); 8048 var operand = $(this).find('ul.booleanOpretors li.active').text(); 8049 boxCount++; 8050 if (boxCount != 0) { 8051 target += '&'; 8052 } 8053 if (boxCount == 1) { 8054 target += 'term-' + boxCount + '=' + terms + '&in-' + boxCount + '=' + searchIn + '&op-1=' + firstOperand; 8055 } 8056 else { 8057 target += 'op-' + boxCount + '=' + operand + '&term-' + boxCount + '=' + terms + '&in-' + boxCount + '=' + searchIn; 8058 } 8059 } 8060 else { 8061 $(this).find('input[name="terms"]').addClass('error'); 8062 error++; 8063 } 8064 }); 8065 if (boxCount != 0 && error == 0) { 8066 target += '&count=' + boxCount; 8067 } 8068 target += this.getLimitToTarget($(event.target).parents('.modal
8068-body')); 8069 } 8070 else if (selectedSearchType == 'Barcode') { 8071 target = '/search/barcode?'; 8072 target += 'start=' + $(event.target).parents('.modal-body').find('input[name="barcodeStart"]').val() + '&'; 8073 target += 'end=' + $(event.target).parents('.modal-body').find('input[name="barcodeEnd"]').val() + '&'; 8074 target += 'exact=false'; 8075 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8076 } 8077 else if (selectedSearchType == 'Call') { 8078 target = '/search/call?'; 8079 target += 'start=' + $(event.target).parents('.modal-body').find('input[name="callStart"]').val() + '&'; 8080 target += 'end=' + $(event.target).parents('.modal-body').find('input[name="callEnd"]').val() + '&'; 8081 target += 'exact=false'; 8082 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8083 } 8084 else if (selectedSearchType == 'Lexile') { 8085 target = '/search/lexile?'; 8086 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="LexileLevelMin"]').val() + '&'; 8087 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="LexileLevelMax"]').val() + '&'; 8088 target += 'code=' + $(event.target).parents('.modal-body').find('select[name="Lexilecode"]').val() + '&'; 8089 target += 'patronType=' + $(event.target).parents('.modal-body').find('select[name="LexilePatronType"]').val(); 8090 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8091 } 8092 else if (selectedSearchType == 'Reading Counts') { 8093 target = 'search/rc?'; 8094 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="readingcountsLevelMin"]').val() + '&'; 8095 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="readingcountsLevelMax"]').val() + '&'; 8096 target += 'pointmin=' + $(event.target).parents('.modal-body').find('input[name="readingcountsPointMin"]').val() + '&'; 8097 target += 'pointmax=' + $(event.target).parents('.modal-body').find('input[name="readingcountsPointMax"]').val() + '&'; 8098 target += 'exact=false'; 8099 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8100 } 8101 else if (selectedSearchType == 'Accelerated Reader') { 8102 target = '/search/ar?'; 8103 target += 'levelmin=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderLevelMin"]').val() + '&'; 8104 target += 'levelmax=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderLevelMax"]').val() + '&'; 8105 target += 'pointmin=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderPointsMin"]').val() + '&'; 8106 target += 'pointmax=' + $(event.target).parents('.modal-body').find('input[name="AcceleratedReaderPointsMax"]').val() + '&'; 8107 target += 'int=' + $(event.target).parents('.modal-body').find('select[name="AcceleratedReaderInterestLevel"]').val(); 8108 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8109 } 8110 else if (selectedSearchType == 'Fountas') { 8111 target = '/search/fountas?'; 8112 target += 'levelmin=' + $(event.target).parents('.modal-body').find('select[name="fountasLevelMin"]').val() + '&'; 8113 target += 'levelmax=' + $(event.target).parents('.modal-body').find('select[name="fountasLevelMax"]').val(); 8114 target += this.getLimitToTarget($(event.target).parents('.modal-body')); 8115 } 8116 } 8117 else if (actionType == 'L') { 8118 var target = $(event.target).parents('.modal-body').find('select[name="showSavedList"]').val(); 8119 } 8120 else if (actionType == 'U') {
8121 var target = $(event.target).parents('.modal-body').find('input[name="WebSite"]').val(); 8122 } 8123 if (error > 0) { 8124 this.updateExplore = false; 8125 return false; 8126 } 8127 //checking explore page no. 8128 var pageNumber = this.pageId; 8129 if (this.pageId == 0) { 8130 pageNumber = (_a = this.exploreData.data) === null || _a === void 0 ? void 0 : _a.id; 8131 } 8132 if (this.exploreData.data == null) { 8133 pageNumber = 0; 8134 } 8135 this.responseAPIstatusAction = true; 8136 //save explore buttons. 8137 this.homepageService.saveExploreButton(buttonId, pageNumber, title, visible, actionType, target, image, pageName).subscribe((data) => { 8138 this.updateExplore = false; 8139 if (data === null || data === void 0 ? void 0 : data.status) { 8140 this.loadExplore(); 8141 $(event.target).parents('.add-explore-modal').find('#closeBulletinAdd').trigger('click'); 8142 this.notifier.notify('success', data.message); 8143 } 8144 else { 8145 this.notifier.notify('error', data.message); 8146 } 8147 }); 8148 } 8149 //Selecting style. 8150 selectStyle(event) { 8151 this.changestyleButton = true; 8152 event.preventDefault(); 8153 $('.graphic-style-modal-box').find('a.style').removeClass('selected'); 8154 var selector = $(event.target); 8155 if (event.target.nodeName != 'A') { 8156 var selector = $(event.target).parents('a.style'); 8157 } 8158 selector.addClass('selected'); 8159 var style = selector.attr('attr.type'); 8160 this.homepageService.updateButtonsStyles(style).subscribe((data) => { 8161 this.changestyleButton = false; 8162 if (data.status) { 8163 this.loadExplore(); 8164 $('#StyleButtonsClose').trigger('click'); 8165 this.notifier.notify('success', data.message); 8166 } 8167 else { 8168 this.notifier.notify('error', data.message); 8169 } 8170 }); 8171 } 8172 //showing add button 8173 showAddButtonModal() { 8174 this.booleanBoxs = [{ 8175 'op': '', 8176 'term': '', 8177 'in': '' 8178 }]; 8179 this.showAddButtonModalStatus = true; 8180 this.showActionStatus = ''; 8181 this.limitToSearch = false; 8182 } 8183 //hiding add button. 8184 hideAddButtonModal() { 8185 this.showAddButtonModalStatus = false; 8186 this.limitToSearch = false; 8187 } 8188 //Looking sor search type (showing corrct div). 8189 searchTypeOptions(event, value) { 8190 $(event.target).parents('.modal-body').find('.searchOptionsCont').removeClass('showBlock').addClass('hide'); 8191 this.searchTypeSelect = value; 8192 } 8193 //Validating search before saving.. 8194 validateSearch(event, searchType, fieldType) { 8195 $(event.target).parent().find('.errorMessage').remove(); 8196 let inputValue = $.trim($(event.target).val().toString()); 8197 let min = $(event.target).attr('min'); 8198 let max = $(event.target).attr('max'); 8199 let steps = $(event.target).attr('step'); 8200 let group = $(event.target).attr('group'); 8201 if (searchType != 'Lexile') { 8202 /* Add Zero to the float vaue if not have */ 8203 if (inputValue.indexOf('.') >= 0) { 8204 var checkFlt = inputValue.split('.'); 8205 if (checkFlt[0] == '') { 8206 inputValue = '0' + inputValue; 8207 $(event.target).val(inputValue); 8208 } 8209 } 8210 /* Set minimum and maximum values if less and greater to range*/ 8211 if (parseFloat(inputValue) > parseFloat(max) || parseFloat(inputValue) < parseFloat(min)) { 8212 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 8213 $(event.target).val(min).removeClass('error'); 8214 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8215 } 8216 else { 8217 $(event.target).val(max).removeClass('error'); 8218 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8219 } 8220 setTimeout(function () { 8221 $(event.target).focus().removeClass('error'); 8222 }, 10); 8223 } 8224 else { 8225 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 8226 var MaxValue = $.trim($('input#' + group + 'Max').val().toString()); 8227 if (MaxValue != '' && (parseFloat(MaxValue) < parseFloat(inputValue))) { 8228 $(event.target).val(min).removeClass('error'); 8229 return false;
8230 } 8231 } 8232 else { 8233 var MinValue = $.trim($('input#' + group + 'Min').val().toString()); 8234 if (MinValue != '' && (parseFloat(MinValue) > parseFloat(inputValue))) { 8235 $(event.target).val(max).removeClass('error'); 8236 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8237 return false; 8238 } 8239 } 8240 /* Check for values in case of step 0.5 */ 8241 if (steps == '0.5') { 8242 var near = this.nearest(inputValue).toString(); 8243 if (near.indexOf('.') == -1) { 8244 $(event.target).val(near + '.0').removeClass('error'); 8245 $(event.target).val(near).removeClass('error'); 8246 } 8247 } 8248 } 8249 } 8250 else { 8251 $(event.target).removeClass('error'); 8252 if (parseFloat(inputValue) > parseFloat(max) || parseFloat(inputValue) < parseFloat(min)) { 8253 if (typeof ($(event.target).attr('ismin')) != 'undefined') { 8254 $(event.target).val(min).removeClass('error'); 8255 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8256 } 8257 else { 8258 $(event.target).val(max).removeClass('error'); 8259 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8260 } 8261 setTimeout(function () { 8262 $(event.target).focus().removeClass('error'); 8263 }, 10); 8264 } 8265 else if (typeof ($(event.target).attr('ismin')) != 'undefined') { 8266 var MaxValue = $.trim($('input#' + group + 'Max').val().toString()); 8267 if (MaxValue != '' && (parseFloat(MaxValue) < parseFloat(inputValue))) { 8268 $(event.target).val(min).removeClass('error'); 8269 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8270 return false; 8271 } 8272 } 8273 else { 8274 var MinValue = $.trim($('input#' + group + 'Min').val().toString()); 8275 if (MinValue != '' && (parseFloat(MinValue) > parseFloat(inputValue))) { 8276 $(event.target).val(max).removeClass('error'); 8277 $(event.target).parent().append('<span class="errorMessage">Enter value between ' + min + ' to ' + max + '</span>'); 8278 return false; 8279 } 8280 } 8281 } 8282 } 8283 //Getting approx value. 8284 nearest(value) { 8285 return (Math.round(value * 2) / 2); 8286 } 8287 //Seleceting boolean operator. 8288 selectOpretor(event) { 8289 $(event.target).parent().find('li').removeClass('active'); 8290 $(event.target).addClass('active'); 8291 } 8292 //Copy box to add another condition. 8293 copyOpretorBox(event) { 8294 var index = $(event.target).index(); 8295 var op = $.trim($(event.target).text()); 8296 this.booleanBoxs.push({ 'op': op, 'term': '', 'in': '' }); 8297 } 8298 //Removing condition box. 8299 removeOpretorBox(event) { 8300 var ind = $(event.target).parents('.row.boxBoolean').index(); 8301 this.booleanBoxs.splice(ind, 1); 8302 } 8303 //Changinf BE response to JSON. 8304 stringToJson(url) { 8305 var temp = []; 8306 var params = {}; 8307 if (url) { 8308 temp = url.split('?'); 8309 temp.forEach(function (data, key) { 8310 var tmp = []; 8311 if (key == 0) { 8312 tmp = data.split('/'); 8313 if (tmp[2] == 'basic') 8314 tmp[2] = 'Basic'; 8315 if (tmp[2] == 'boolean') 8316 tmp[2] = 'Boolean'; 8317 if (tmp[2] == 'barcode') 8318 tmp[2] = 'Barcode'; 8319 if (tmp[2] == 'call') 8320 tmp[2] = 'Call'; 8321 if (tmp[2] == 'ar') 8322 tmp[2] = 'AcceleratedReader'; 8323 if (tmp[2] == 'fountas') 8324 tmp[2] = 'Fountas'; 8325 if (tmp[2] == 'lexile') 8326 tmp[2] = 'Lexile'; 8327 if (tmp[2] == 'marc') 8328 tmp[2] = 'Marc'; 8329 if (tmp[2] == 'category') 8330 tmp[2] = 'Category'; 8331 if (tmp[2] == 'rc') 8332 tmp[2] = 'ReadingCounts'; 8333 params['type'] = tmp[2]; 8334 } 8335 else { 8336 tmp = data.split('&'); 8337 tmp.forEach(function (d, k) { 8338 var tp = []; 8339 tp = d.split('='); 8340 params[tp[0]] = tp[0] == 'in' ? tp[1].toUpperCase() : tp[1]; 8341 }); 8342 } 8343 }); 8344 return JSON.parse(JSON.stringify(params)); 8345 } 8346 else { 8347 } 8348 } 8349 //Checking boolean search parameters... 8350 booleanJson(url) { 8351 //console.log("url", url); 8352 var params = {}; 8353 params['type'] = (url.type == 'bool') ? 'Boolean' : url.type; 8354 params['count'] = url.count; 8355 params['operators'] = []; 8356 for (var i = 1; i <= url.count; i++) { 8357 var temp = { 8358 'op': url['op-' + i] ? url['op-' + i] : 'and', 8359 'term': url['term-' + i] ? url['term-' + i] : '', 8360 'in': url['in-' + i] ? url['in-' + i] : url['by-' + i] ? url['by-' + i] : '', 8361 }; 8362 params['operators'].push(temp); 8363 } 8364 if ("l-cat" in url) { 8365 params["l-cat"] = url["l-cat"]; 8366 } 8367 if ("l-inlib" in url) { 8368 params["l-inlib"] = url["l-inlib"]; 8369 } 8370 if ("l-lexmin" in url) { 8371 params["l-lexmin"] = url["l-lexmin"]; 8372 params["l-lexmax"] = url["l-lexmax"]; 8373 params["l-lexcode"] = url["l-lexcode"]; 8374 params["l-lexpat"] = url["l-lexpat"]; 8375 } 8376 if ("l-armin" in url) { 8377 params["l-armin"] = url["l-armin"]; 8378 params["l-armax"] = url["l-armax"]; 8379 params["l-arminpt"] = url["l-arminpt"]; 8380 params["l-armaxpt"] = url["l-armaxpt"]; 8381 params["l-arint"] = url["l-arint"]; 8382 } 8383 if ("l-rcmin" in url) { 8384 params["l-rcmin"] = url["l-rcmin"]; 8385 params["l-rcmax"] = url["l-rcmax"]; 8386 params["l-rcminpt"] = url["l-rcminpt"]; 8387 params["l-rcmaxpt"] = url["l-rcmaxpt"]; 8388 } 8389 if ("l-fpmin" in url) { 8390 params["l-fpmin"] = url["l-fpmin"]; 8391 params["l-fpmax"] = url["l-fpmax"]; 8392 } 8393 return JSON.parse(JSON.stringify(params)); 8394 } 8395 //This will create the modern url. 8396 queryToJsonTest(queryStringReview, exploreId) { 8397 const params = new URLSearchParams(new URL(queryStringReview, 'http://library.site').search); 8398 const minRate = params.get('minrate'); 8399 const reviewAge = params.get('reviewage'); 8400 const reviewerName = params.get('reviewername'); 8401 const categories = params.get('categories');
8402 var urlParams = { 8403 minrate: minRate || '', 8404 reviewage: reviewAge || '', 8405 reviewername: reviewerName || '', 8406 categories: categories || '', 8407 "exp-btn-id": exploreId, 8408 }; 8409 return urlParams; 8410 } 8411 queryToJson(url, exploreId) { 8412 if (typeof url === 'object' && url !== null) { 8413 var urlParams = {}; 8414 var temp = []; 8415 var parameter = ''; 8416 if (url.type == 'Boolean') { 8417 urlParams.type = url.type; 8418 urlParams.count = url.count; 8419 url.operators.forEach((data, key) => { 8420 parameter += 'term-' + (key + 1) + '=' + data.term + '&'; 8421 parameter += 'in-' + (key + 1) + '=' + data.in + '&'; 8422 parameter += 'op-' + (key + 1) + '=' + (data.op) + (key + 1 !== url.operators.length ? '&' : ''); 8423 }); 8424 if ("l-cat" in url) { 8425 parameter += "&l-cat=" + url["l-cat"]; 8426 } 8427 if ("l-inlib" in url) { 8428 parameter += "&l-inlib=" + url["l-inlib"]; 8429 } 8430 if ("l-lexmin" in url) { 8431 parameter += "&l-lexmax=" + url["l-lexmax"]; 8432 parameter += "&l-lexmin=" + url["l-lexmin"]; 8433 parameter += "&l-lexcode=" + url["l-lexcode"]; 8434 parameter += "&l-lexpat=" + url["l-lexpat"]; 8435 } 8436 if ("l-armin" in url) { 8437 parameter += "&l-armin=" + url["l-armin"]; 8438 parameter += "&l-armax=" + url["l-armax"]; 8439 parameter += "&l-arminpt=" + url["l-arminpt"]; 8440 parameter += "&l-armaxpt=" + url["l-armaxpt"]; 8441 parameter += "&l-arint=" + url["l-arint"]; 8442 } 8443 if ("l-rcmin" in url) { 8444 parameter += "&l-rcmin=" + url["l-rcmin"]; 8445 parameter += "&l-rcmax=" + url["l-rcmax"]; 8446 parameter += "&l-rcminpt=" + url["l-rcminpt"]; 8447 parameter += "&l-rcmaxpt=" + url["l-rcmaxpt"]; 8448 } 8449 if ("l-fpmin" in url) { 8450 parameter += "&l-fpmin=" + url["l-fpmin"]; 8451 parameter += "&l-fpmax=" + url["l-fpmax"]; 8452 } 8453 urlParams['parameters'] = parameter; 8454 } 8455 else { 8456 urlParams = url; 8457 } 8458 if (url.type == 'Marc') { 8459 if (url.exact == 'y') 8460 url.exact = true; 8461 if (url.exact == 'n') 8462 url.exact = false; 8463 } 8464 urlParams['exp-btn-id'] = exploreId ? exploreId : ''; 8465 return urlParams; 8466 } 8467 else { 8468 return url; 8469 } 8470 } 8471 //Converting json. 8472 extractNameFromJson(obj) { 8473 try { 8474 if (!obj) { 8475 return false; 8476 } 8477 obj = JSON.parse(obj); 8478 } 8479 catch (_a) { 8480 return false; 8481 } 8482 return obj; 8483 } 8484 //Removing spaces. 8485 removeSpace(search) { 8486 return search.replace(/\s/g, ''); 8487 } 8488 //Checking visible operator. 8489 checkVisible(op1, op2, op3) { 8490 if (op1 != '' && op1.replace(/\s/g, '') == op3) { 8491 return true; 8492 } 8493 else { 8494 if (typeof (op2) != 'undefined') { 8495 if (op2.replace(/\s/g, '') == op3 && op1 == '') { 8496 return true; 8497 } 8498 else { 8499 return false; 8500 } 8501 } 8502 else { 8503 return false; 8504 } 8505 } 8506 } 8507 //Loader hide. 8508 hideLoader() { 8509 this.showActionStatus = ''; 8510 this.responseAPIstatusAction = false; 8511 this.limitToSearch = false; 8512 //this.searchTypeSelect = ''; 8513 } 8514 //Changing value of text on the basis of grade. 8515 lexileGradeChange(event) { 8516 $('input#LexileLevelMin').val($(event.target).find('option:selected').attr('min')); 8517 $('input#LexileLevelMax').val($(event.target).find('option:selected').attr('high')); 8518 $('select#Lexilecode').find('option:eq(0)').prop('selected', true); 8519 } 8520 //Limit to functions 8521 limitTo(event) { 8522 if ($(event.target).hasClass('fas')) { 8523 if ($(event.target).parent().parent().hasClass('open')) { 8524 this.limitToSearch = false;
8525 this.limitToEdit = 1; 8526 $(event.target).parent().parent().removeClass('open'); 8527 } 8528 else { 8529 this.limitToSearch = true; 8530 this.limitToEdit = 2; 8531 $(event.target).parent().parent().addClass('open'); 8532 } 8533 } 8534 else { 8535 if ($(event.target).hasClass('open')) { 8536 this.limitToSearch = false; 8537 this.limitToEdit = 1; 8538 $(event.target).removeClass('open'); 8539 } 8540 else { 8541 this.limitToSearch = true; 8542 this.limitToEdit = 2; 8543 $(event.target).addClass('open'); 8544 } 8545 } 8546 } 8547 //Checking is limit to applied or not. 8548 checkForLimit(url, limitToEdit) { 8549 //console.log(url) 8550 if (limitToEdit == 0) { 8551 if (url.action == 'S') { 8552 //console.log(url.target); 8553 if (url.target == null || url.target == 'null') { 8554 return false; 8555 } 8556 else { 8557 if ("l-cat" in url.target) { 8558 return true; 8559 } 8560 else if ("l-inlib" in url.target) { 8561 return true; 8562 } 8563 else if ("l-lexmin" in url.target) { 8564 return true; 8565 } 8566 else if ("l-armin" in url.target) { 8567 return true; 8568 } 8569 else if ("l-rcmin" in url.target) { 8570 return true; 8571 } 8572 else if ("l-fpmin" in url.target) { 8573 return true; 8574 } 8575 else { 8576 return false; 8577 } 8578 } 8579 } 8580 //console.log(url.target); 8581 } 8582 else if (limitToEdit == 1) { 8583 return false; 8584 } 8585 else if (limitToEdit == 2) { 8586 return true; 8587 } 8588 else { 8589 return false; 8590 } 8591 } 8592 //getting limit to target only (this will add to main target.) 8593 getLimitToTarget(modal) { 8594 var temp = ''; 8595 $(modal).find('input.checkLimit').each(function () { 8596 //console.log($(this).attr('name')); 8597 if ($(this).is(':checked') && $(this).attr('name') == 'limitCategory') { 8598 temp += '&l-cat=' + $(modal).find('select[name=l-cate]').val(); 8599 } 8600 if ($(this).is(':checked') && $(this).attr('name') == 'limitInlib') { 8601 temp += '&l-inlib=' + $(this).is(':checked'); 8602 } 8603 if ($(this).is(':checked') && $(this).attr('name') == 'limitLexile') { 8604 temp += '&l-lexmin=' + $(modal).find('input[name=l-lexmin]').val(); 8605 temp += '&l-lexmax=' + $(modal).find('input[name=l-lexmax]').val(); 8606 if (typeof ($(modal).find('select[name=l-lexcode]').val()) != 'undefined') { 8607 temp += '&l-lexcode=' + $(modal).find('select[name=l-lexcode]').val(); 8608 } 8609 if (typeof ($(modal).find('select[name=l-lexpat]').val()) != 'undefined') { 8610 temp += '&l-lexpat=' + $(modal).find('select[name=l-lexpat]').val(); 8611 } 8612 } 8613 if ($(this).is(':checked') && $(this).attr('name') == 'limitFountas') { 8614 temp += '&l-fpmin=' + $(modal).find('#l-fpmin').val(); 8615 temp += '&l-fpmax=' + $(modal).find('#l-fpmax').val(); 8616 } 8617 if ($(this).is(':checked') && $(this).attr('name') == 'limitReading') { 8618 temp += '&l-rcmin=' + $(modal).find('input[name=l-rcmin]').val(); 8619 temp += '&l-rcmax=' + $(modal).find('input[name=l-rcmax]').val(); 8620 temp += '&l-rcminpt=' + $(modal).find('input[name=l-rcminpt]').val(); 8621 temp += '&l-rcmaxpt=' + $(modal).find('input[name=l-rcmaxpt]').val(); 8622 } 8623 if ($(this).is(':checked') && $(this).attr('name') == 'limitAccelerated') { 8624 temp += '&l-armin=' + $(modal).find('input[name=l-armin]').val(); 8625 temp += '&l-armax=' + $(modal).find('input[name=l-armax]').val(); 8626 temp += '&l-arminpt=' + $(modal).find('input[name=l-arminpt]').val(); 8627 temp += '&l-armaxpt=' + $(modal).find('input[name=l-armaxpt]').val(); 8628 temp += '&l-arint=' + $(modal).find('select[name=l-arint]').val(); 8629 } 8630 }); 8631 return temp; 8632 } 8633 checkNewPage(event) { 8634 if ($(event.target).val() == 0) { 8635 this.isNew = true; 8636 } 8637 else { 8638 this.isNew = false;
8639 } 8640 } 8641 saveCaption(name) { 8642 this.cookieService.set('exploreButtonName', name, 365, '/'); 8643 } 8644 addDescription(event) { 8645 var exploreDesc = $(event.target).parents('.addExploreDesc').find('textarea[id="exploreDesc"]').val(); 8646 if (this.pageId == 0) { 8647 this.pageId = this.exploreData.data.id; 8648 } 8649 this.homepageService.exploreDescription(this.pageId, exploreDesc).subscribe((data) => { 8650 if (data.status) { 8651 this.loadExplore(); 8652 } 8653 }); 8654 } 8655 editDescription(event) { 8656 var exploreDesc = $(event.target).parents('.editExploreDesc').find('textarea[id="editExploreDesc"]').val(); 8657 if (this.pageId == 0) { 8658 this.pageId = this.exploreData.data.id; 8659 } 8660 this.homepageService.exploreDescription(this.pageId, exploreDesc).subscribe((data) => { 8661 if (data.status) { 8662 this.loadExplore(); 8663 } 8664 }); 8665 } 8666}; 8667ExploreComponent.ctorParameters = () => [ 8668 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 8669 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 8670 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute }, 8671 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_3__.RouterExtService }, 8672 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 8673 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 8674]; 8675ExploreComponent = __decorate([ 8676 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 8677 selector: 'app-explore', 8678 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_explore_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 8679 styles: [_explore_component_css__WEBPACK_IMPORTED_MODULE_1__] 8680 }) 8681], ExploreComponent); 8682 8683 8684 8685/***/ }), 8686 8687/***/ 40393: 8688/*!*************************************************************!*\ 8689 !*** ./src/app/components/pages/forgot/forgot.component.ts ***! 8690 \*************************************************************/ 8691/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8692 8693"use strict"; 8694__webpack_require__.r(__webpack_exports__); 8695/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8696/* harmony export */ "ForgotComponent": function() { return /* binding */ ForgotComponent; } 8697/* harmony export */ }); 8698/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_forgot_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./forgot.component.html */ 57845); 8699/* harmony import */ var _forgot_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./forgot.component.css */ 96106); 8700/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 54364); 8701/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 8702/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ 71258); 8703/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 8704/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 8705/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 8706var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 8707 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 8708 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 8709 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
8709 3 ? d(target, key, r) : d(target, key)) || r; 8710 return c > 3 && r && Object.defineProperty(target, key, r), r; 8711}; 8712 8713 8714 8715 8716 8717 8718 8719 8720let ForgotComponent = class ForgotComponent { 8721 constructor(document, authService, activatedRoute, router, homepageService, notifierService) { 8722 this.document = document; 8723 this.authService = authService; 8724 this.activatedRoute = activatedRoute; 8725 this.router = router; 8726 this.homepageService = homepageService; 8727 this.canLogin = false; 8728 this.reseting = false; 8729 this.code = ''; 8730 this.loading = false; 8731 this.notifier = notifierService; 8732 } 8733 ngOnInit() { 8734 this.document.body.classList.add('inner-page'); 8735 this.activatedRoute.queryParams.subscribe(params => { 8736 this.code = params['code']; 8737 this.userId = params['userid']; 8738 }); 8739 this.authService.getPasswordRequirement(0).subscribe(passwordReq => { 8740 this.passwordRequirement = passwordReq; 8741 }, (passwordErr) => { 8742 //Will update soon. 8743 }); 8744 this.globalSetting = this.homepageService.getUpdatedConfig(); 8745 } 8746 ngAfterViewInit() { 8747 $('#login-modal').removeClass('show').addClass('hide'); 8748 $('#login-modal').removeClass('background-disable'); 8749 } 8750 //This component to handle BE request to reset password. 8751 //checking if pasword following requirements. 8752 changeSubmit(event) { 8753 $('#loginErrorPass').html(''); 8754 var error = false; 8755 var password = $("#newpassword").val().toString(); 8756 var passwordC = $("#new-comformpassword").val().toString(); 8757 if (this.passwordRequirement.data.minimumLength) { 8758 if ($.trim(password).length < this.passwordRequirement.data.minimumLength) { 8759 error = true; 8760 $('#loginErrorPass').append("<li class='text-danger'>Password length atleast " + this.passwordRequirement.data.minimumLength + " characters</li>"); 8761 return false; 8762 } 8763 } 8764 if (this.passwordRequirement.data.mixedCase) { 8765 if (!$.trim(password).match(/[A-Z]/) || !$.trim(password).match(/[a-z]/)) { 8766 error = true; 8767 $('#loginErrorPass').append("<li class='text-danger'>Password must contains one uppercase and one lowercase characters</li>"); 8768 return false; 8769 } 8770 }
8771 if (this.passwordRequirement.data.digitsLetterCombination) { 8772 if (!$.trim(password).match(/[A-Za-z]/) || !$.trim(password).match(/[0-9]/)) { 8773 error = true; 8774 $('#loginErrorPass').append("<li class='text-danger'>Password must contain atleast one digit and one character</li>"); 8775 return false; 8776 } 8777 } 8778 if (this.passwordRequirement.data.nonAlphanumeric) { 8779 var format = /[ `!@#$%^&*()_+\-=\[\]{};:\\|,.<>\/?~]/; 8780 if (!format.test($.trim(password))) { 8781 error = true; 8782 $('#loginErrorPass').append("<li class='text-danger'>Password must contain atleast one special character</li>"); 8783 return false; 8784 } 8785 } 8786 if (passwordC != '') { 8787 if (password != passwordC) { 8788 error = true; 8789 $('#loginErrorPass').append("<li class='text-danger'>Confirm Password didn't match</li>"); 8790 return false; 8791 } 8792 } 8793 if (error == false) { 8794 $('.submit-btn').removeAttr('disabled'); 8795 } 8796 else { 8797 $('.submit-btn').attr('disabled', 'disabled'); 8798 return false; 8799 } 8800 //small latters 8801 if (event.key == 'Enter' && event.keyCode == 13) { 8802 this.resetPassword(); 8803 } 8804 } 8805 //Reset password API manually... 8806 resetPassword() { 8807 this.loading = true; 8808 var newPassword = $.trim($('#newpassword').val().toString()); 8809 this.reseting = true; 8810 var locationId = this.homepageService.getLocationId(); 8811 return this.authService.resetPassword(newPassword, this.code, this.userId, locationId).subscribe((response) => { 8812 this.reseting = false; 8813 if (response.status) { 8814 if (this.globalSetting.data.settings.patron.login.required) { 8815 $('#login-modal').addClass('background-disable'); 8816 $('#login-modal').attr('data-backdrop', 'static'); 8817 } 8818 this.notifier.notify('success', response.message); 8819 $('#loginLi').click(); 8820 var router = this.router; 8821 var loginBtnTemp = $('body').find('#loginLia:first')[0]; 8822 loginBtnTemp.click(); 8823 setTimeout(function () { 8824 //router.navigate(['/']); 8825 }, 5000); 8826 } 8827 else { 8828 this.notifier.notify('error', response.message); 8829 } 8830 this.loading = false; 8831 }, (err) => { 8832 this.loading = false; 8833 this.reseting = false; 8834 if (err.error.status != 200) { 8835 var errorHtml = ''; 8836 if (err.error.status == 400 && err.error.errors) { 8837 this.notifier.notify('error', err.error.title); 8838 $.each(err.error.errors, function (key, val) { 8839 this.notifier.notify('error', val); 8840 }); 8841 } 8842 else { 8843 this.notifier.notify('error', err.error.message); 8844 } 8845 } 8846 }); 8847 } 8848}; 8849ForgotComponent.ctorParameters = () => [ 8850 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_6__.DOCUMENT,] }] }, 8851 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService }, 8852 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute }, 8853 { type: _angular_router__WEBPACK_IMPORTED_MODULE_7__.Router }, 8854 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService }, 8855 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService } 8856]; 8857ForgotComponent = __decorate([ 8858 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 8859 selector: 'app-forgot', 8860 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_forgot_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 8861 styles: [_forgot_component_css__WEBPACK_IMPORTED_MODULE_1__] 8862 })
8863], ForgotComponent); 8864 8865 8866 8867/***/ }), 8868 8869/***/ 73199: 8870/*!*****************************************************************!*\ 8871 !*** ./src/app/components/pages/id-cards/id-cards.component.ts ***! 8872 \*****************************************************************/ 8873/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8874 8875"use strict"; 8876__webpack_require__.r(__webpack_exports__); 8877/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8878/* harmony export */ "IdCardsComponent": function() { return /* binding */ IdCardsComponent; } 8879/* harmony export */ }); 8880/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_id_cards_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./id-cards.component.html */ 25048); 8881/* harmony import */ var _id_cards_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./id-cards.component.css */ 20978); 8882/* harmony import */ var src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/services/homepage.service */ 27150); 8883/* harmony import */ var _services_walletAPI_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/walletAPI.service */ 46581); 8884/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 8885/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 8886/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 8887/* harmony import */ var src_app_services_previous_route_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/services/previous-route.service */ 2112); 8888/* harmony import */ var src_app_services_logging_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/services/logging.service */ 56571); 8889var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 8890 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 8891 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 8892 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 8893 return c > 3 && r && Object.defineProperty(target, key, r), r; 8894}; 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904let IdCardsComponent = class IdCardsComponent { 8905 constructor(service, homepageService, document, notifier, routerService, appMonitoringService) { 8906 this.service = service; 8907 this.homepageService = homepageService; 8908 this.document = document; 8909 this.notifier = notifier; 8910 this.routerService = routerService; 8911 this.appMonitoringService = appMonitoringService; 8912 this.mobileOS = ""; 8913 this.libraryCard = []; 8914 this.dateFormat = "M/d/yyyy"; 8915 this.gloalSetting = []; 8916 this.loading = false; 8917 this.walletLink = ""; 8918 this.isNewPass = false; 8919 } 8920 ngOnInit() { 8921 this.document.body.classList.add('inner-page'); 8922 this.document.body.classList.add('list'); 8923 this.routerService.setTextUrl('Library Card'); 8924 this.mobileOS = this.service.getMobileOS(); 8925 this.gloalSetting = this.homepageService.getUpdatedConfig(); 8926 this.homepageService.isCardRoute$.subscribe((resultList) => { 8927 if (resultList == 'true') { 8928 this.getLibraryCardDetail(); 8929 } 8930 else { 8931 this.getLibraryCardDetail(); 8932 } 8933 }); 8934 } 8935 getLibraryCardDetail() { 8936 this.loading = true; 8937 this.homepageService.getLibraryCard().subscribe((data) => { 8938 var _a, _b; 8939 $('body').removeClass('modal-open'); 8940 $('.modal-backdrop').remove(); 8941 this.loading = false;
8942 this.libraryCard = data.data; 8943 this.dateFormat = this.homepageService.formatDate(); 8944 this.colors = this.homepageService.bgColor(data.data.number); 8945 this.patronName = data.data.firstName + " " + data.data.lastName; 8946 this.imageName = this.homepageService.initialName(this.patronName); 8947 if (((_a = this.gloalSetting.data.settings.patron.libraryCard) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.gloalSetting.data.settings.patron.libraryCard) === null || _b === void 0 ? void 0 : _b.enabledAppleWallet) && (this.mobileOS == 'Android')) { 8948 this.getWalletLink(data.data.email); 8949 } 8950 }, (error) => { 8951 this.loading = false; 8952 setTimeout(function () { 8953 var button = $("a#loginLia"); 8954 button[0].click(); 8955 }, 1000); 8956 }); 8957 } 8958 getWalletLink(email) { 8959 if (this.mobileOS == 'Android') { 8960 this.service.getWalletLink({ email: email }).subscribe((data) => { 8961 // this.appMonitoringService.logEvent("Android Link Generated", { userAgent: data.data }); 8962 this.walletLink = data.data.googleWalletLink; 8963 this.isNewPass = data.data.isNewPass; 8964 }, (error) => { 8965 this.appMonitoringService.logException(error, 1); 8966 }); 8967 } 8968 } 8969 getAppleWalletLink() { 8970 var _a, _b; 8971 this.appMonitoringService.logEvent("Apple Wallet Link Clicked details", { libraryCard: this.gloalSetting.data.settings.patron.libraryCard }); 8972 if (((_a = this.gloalSetting.data.settings.patron.libraryCard) === null || _a === void 0 ? void 0 : _a.enabled) && ((_b = this.gloalSetting.data.settings.patron.libraryCard) === null || _b === void 0 ? void 0 : _b.enabledGoogleWallet) && (this.mobileOS == 'iOS')) { 8973 this.service.getAppleWalletLink().subscribe((data) => { 8974 // this.appMonitoringService.logEvent("Apple Link Generated", { userAgent: data.data }); 8975 const blob = new Blob([data.data], { type: 'application/vnd.apple.pkpass' }); 8976 const url = window.URL.createObjectURL(blob); 8977 const a = document.createElement('a'); 8978 a.href = url; 8979 a.download = 'MyPass.pkpass'; 8980 a.click(); 8981 window.URL.revokeObjectURL(url); 8982 this.isNewPass = data.isNewPass; 8983 }, (error) => { 8984 this.appMonitoringService.logException(error, 1); 8985 }); 8986 } 8987 } 8988}; 8989IdCardsComponent.ctorParameters = () => [ 8990 { type: _services_walletAPI_service__WEBPACK_IMPORTED_MODULE_3__.WalletAPIService }, 8991 { type: src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 8992 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 8993 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService }, 8994 { type: src_app_services_previous_route_service__WEBPACK_IMPORTED_MODULE_5__.RouterExtService }, 8995 { type: src_app_services_logging_service__WEBPACK_IMPORTED_MODULE_6__.AppMonitoringService } 8996]; 8997IdCardsComponent.propDecorators = { 8998 walletButton: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.ViewChild, args: ['walletButton',] }] 8999}; 9000IdCardsComponent = __decorate([ 9001 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 9002 selector: "app-id-cards", 9003 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_id_cards_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 9004 styles: [_id_cards_component_css__WEBPACK_IMPORTED_MODULE_1__] 9005 }) 9006], IdCardsComponent); 9007 9008 9009 9010/***/ }), 9011 9012/***/ 84481: 9013/*!***************************************************************************!*\ 9014 !*** ./src/app/components/pages/libarary-news/libarary-news.component.ts ***! 9015 \***************************************************************************/ 9016/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9017 9018"use strict"; 9019__webpack_require__.r(__webpack_exports__); 9020/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9021/* harmony export */ "LibararyNewsComponent": function() { return /* binding */ LibararyNewsComponent; } 9022/* harmony export */ }); 9023/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_libarary_news_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./libarary-news.component.html */ 34842); 9024/* harmony import */ var _libarary_news_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./libarary-news.component.css */ 36846); 9025/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 9026/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 9027/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 9028/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 9029/* harmony import */ var ng_fullcalendar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ng-fullcalendar */ 7907); 9030/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 9031/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 9032var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 9033 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 9034 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 9035 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
9035 3 ? d(target, key, r) : d(target, key)) || r; 9036 return c > 3 && r && Object.defineProperty(target, key, r), r; 9037}; 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047const now = new Date(); 9048let LibararyNewsComponent = class LibararyNewsComponent { 9049 constructor(document, cookieService, homepageService, routerService, notifierService) { 9050 this.document = document; 9051 this.cookieService = cookieService; 9052 this.homepageService = homepageService; 9053 this.routerService = routerService; 9054 this.bulletinlist = []; 9055 this.reviews = []; 9056 this.years = now.getFullYear(); 9057 this.month = now.getMonth() + 1; 9058 this.closedDays = []; 9059 this.openDays = []; 9060 this.eventsList = []; 9061 this.eventsEnableList = []; 9062 this.widgetsSetting = []; 9063 this.isResponsePage = false; 9064 this.isResponse = false; 9065 this.isAdmin = false; 9066 this.dateFormat = "M/d/yyyy"; 9067 this.eventTitle = ''; 9068 this.eventDescription = ''; 9069 this.eventDate = ''; 9070 this.eventEndDate = ''; 9071 this.eventLink = ''; 9072 this.eventForDetails = [];
9073 this.showDetailsCalendar = false; 9074 this.checkChangedEvent = ''; 9075 this.locationName = ''; 9076 this.notifier = notifierService; 9077 } 9078 ngOnInit() { 9079 if (this.cookieService.check('patronPermissions')) { 9080 this.isAdmin = JSON.parse(this.cookieService.get('patronPermissions')).opacAdmin; 9081 } 9082 this.locationName = location.origin; 9083 this.document.body.classList.add('inner-page'); 9084 this.document.body.classList.remove('list'); 9085 this.routerService.setTextUrl('Library News'); 9086 this.getNews(); 9087 } 9088 getNews() { 9089 this.homepageService.getConfig().subscribe((data) => { 9090 this.dateFormat = this.homepageService.formatDate(); 9091 //data.data.settings.resultList.maxItems 9092 if (data.data.settings.news.bulletins) { 9093 this.homepageService.getNewsBulletin(10).subscribe((bulletins) => { 9094 this.bulletinlist = bulletins.data; 9095 this.isResponsePage = true; 9096 }); 9097 } 9098 if (data.data.settings.news.reviews) { 9099 this.homepageService.getNewsReviews(6).subscribe((reviews) => { 9100 this.reviews = reviews.data; 9101 this.isResponsePage = true; 9102 }); 9103 } 9104 if (data.data.settings.news.calendar) { 9105 this.homepageService.getNewsEvents(this.years, this.month).subscribe((events) => { 9106 this.eventsList = events.data; 9107 var lists = []; 9108 var i = 0; 9109 this.cookieService.set('events', JSON.stringify(this.eventsList.events)); 9110 this.closedDays = this.eventsList.closedDates; 9111 this.eventsList.events.forEach(evt => { 9112 if (evt.closed === true) { 9113 //this.closedDays[i] = evt.date; 9114 } 9115 else { 9116 this.openDays[i] = evt.date; 9117 } 9118 let getEndDate = new Date(evt.endDate); 9119 let endDate = getEndDate.setDate(getEndDate.getDate() + 1); 9120 lists[i] = { 'title': evt.name, 'start': evt.date, 'end': endDate, "color": "pink", 'allDay': false, 'textColor': 'white' }; 9121 i++; 9122 }); 9123 this.eventsEnableList = lists; 9124 this.calendarOptions = { 9125 editable: true, 9126 timezone: 'UTC', 9127 eventLimit: false, 9128 showNonCurrentDates: false, 9129 header: { 9130 left: 'prev', 9131 center: 'title', 9132 right: 'next' 9133 }, 9134 events: lists 9135 }; 9136 this.isResponse = true; 9137 }); 9138 } 9139 }); 9140 } 9141 clickButton(data) { 9142 this.isResponse = false; 9143 var lists = []; 9144 var colorinfo = ""; 9145 var extractDate = new Date(data.data); 9146 this.years = extractDate.getUTCFullYear(); 9147 this.month = extractDate.getUTCMonth() + 1; 9148 return this.homepageService.getEvents(this.years, this.month).subscribe((data) => { 9149 var i = 0; 9150 this.closedDays = []; 9151 this.cookieService.set('events', JSON.stringify(data.data.events)); 9152 this.closedDays = data.data.closedDates; 9153 data.data.events.forEach(evt => { 9154 if (evt.closed === true) { 9155 //this.closedDays[i] = evt.date; 9156 } 9157 else { 9158 this.openDays[i] = evt.date; 9159 } 9160 let getEndDate = new Date(evt.endDate); 9161 let endDate = getEndDate.setDate(getEndDate.getDate() + 1); 9162 lists[i] = { 'title': evt.name, 'start': evt.date, 'end': endDate, "color": "pink", 'allDay': false, 'textColor': 'white' }; 9163 i++; 9164 }); 9165 this.eventsList = data.data; 9166 this.eventsEnableList = lists; 9167 this.ucCalendar.renderEvents(lists); 9168 this.closedDays.forEach(evt => { 9169 var today1 = new Date(evt); 9170 var cDate1 = today1.getDate().toString(); 9171 if (parseInt(cDate1) < 10) { 9172 cDate1 = "0" + cDate1; 9173 } 9174 var cMonth1 = (today1.getMonth() + 1).toString(); 9175 if (parseInt(cMonth1) < 10) { 9176 cMonth1 = "0" + cMonth1; 9177 } 9178 var cYear1 = today1.getFullYear(); 9179 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 9180 $('td[data-date="' + rDate1 + '"]').addClass('disabledDay'); 9181 }); 9182 this.openDays.forEach(evt => { 9183 var today1 = new Date(evt); 9184 var cDate1 = today1.getDate().toString(); 9185 if (parseInt(cDate1) < 10) { 9186 cDate1 = "0" + cDate1; 9187 } 9188 var cMonth1 = (today1.getMonth() + 1).toString(); 9189 if (parseInt(cMonth1) < 10) { 9190 cMonth1 = "0" + cMonth1; 9191 } 9192 var cYear1 = today1.getFullYear(); 9193 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 9194 $('td[data-date="' + rDate1 + '"]').addClass('openDay'); 9195 }); 9196 this.isResponse = true; 9197 }); 9198 } 9199 dayRender(date) { 9200 this.closedDays.forEach(evt => { 9201 var today1 = new Date(evt); 9202 var cDate1 = today1.getDate().toString(); 9203 if (parseInt(cDate1) < 10) { 9204 cDate1 = "0" + cDate1; 9205 } 9206 var cMonth1 = (today1.getMonth() + 1).toString(); 9207 if (parseInt(cMonth1) < 10) { 9208 cMonth1 = "0" + cMonth1; 9209 } 9210 var cYear1 = today1.getFullYear(); 9211 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 9212 $('td[data-date="' + rDate1 + '"]').addClass('disabledDay'); 9213 }); 9214 this.openDays.forEach(evt => { 9215 var today1 = new Date(evt); 9216 var cDate1 = today1.getDate().toString(); 9217 if (parseInt(cDate1) < 10) { 9218 cDate1 = "0" + cDate1; 9219 } 9220 var cMonth1 = (today1.getMonth() + 1).toString(); 9221 if (parseInt(cMonth1) < 10) { 9222 cMonth1 = "0" + cMonth1; 9223 } 9224 var cYear1 = today1.getFullYear(); 9225 var rDate1 = cYear1 + '-' + cMonth1 + '-' + cDate1; 9226 $('td[data-date="' + rDate1 + '"]').addClass('openDay'); 9227 }); 9228 var weekdays = [0, 1, 2, 3, 4, 5, 6]; 9229 weekdays.forEach(evt => { 9230 var isHave = this.eventsList.closedDaysOfWeek.indexOf(evt); 9231 if (isHave >= 0) { 9232 $('.fc-content-skeleton').find('thead tr td:eq(' + evt + ')').addClass('closeDays'); 9233 } 9234 }); 9235 } 9236 imageError(event) { 9237 $('body').find('span.NW').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('span.NW').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('span.NW').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 9238 $('body').find('span.NW').find('img[custom="' + event + '"]').remove(); 9239 } 9240 imageLoad(event, images) { 9241 if ($('body').find('span.NW').find('img[custom="' + event + '"]').attr('loaded') == 'yes') { 9242 return false;
9243 } 9244 var sizes = ['xl', 'l', 'm', 's', 'xs', 'xxs']; 9245 if ($('body').find('#TempImg').length <= 0) { 9246 $('body').append('<img id="TempImg" src="" style="display:none;">'); 9247 } 9248 var imagesAll = []; 9249 sizes.forEach((evt) => { 9250 images.forEach((img) => { 9251 if (img.size == evt) { 9252 imagesAll.push(img.url); 9253 } 9254 }); 9255 }); 9256 setTimeout(function () { 9257 if (typeof (imagesAll[0]) != 'undefined') { 9258 $('body').find('span.NW').find('img[custom="' + event + '"]').attr('src', imagesAll[0]); 9259 $('body').find('span.NW').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 9260 } 9261 }, 10); 9262 } 9263 showDetails(description, title, date, endDate, link) { 9264 this.eventTitle = title; 9265 this.eventDescription = description; 9266 this.eventDate = date; 9267 this.eventEndDate = endDate; 9268 this.eventLink = link; 9269 //$('#calendarDetail').addClass('show in').show(); 9270 } 9271 eventClick(detail) { 9272 if (this.cookieService.check('events')) { 9273 var events = JSON.parse(this.cookieService.get('events')); 9274 var eventToShow = []; 9275 events.forEach((val, key) => { 9276 if (detail.event.start._i == val.date) { 9277 eventToShow.push(val); 9278 } 9279 }); 9280 this.eventForDetails = eventToShow; 9281 this.eventDescription = this.eventForDetails[0].description; 9282 this.eventLink = this.eventForDetails[0].bulletinId;
9283 this.showDetailsCalendar = true; 9284 //console.log(this.eventForDetails); 9285 } 9286 else { 9287 this.eventForDetails = []; 9288 } 9289 } 9290 hideDetailsCalendar() { 9291 this.showDetailsCalendar = false; 9292 } 9293 currentEvent(event) { 9294 var tempIdCal = $(event.target).val(); 9295 this.eventDescription = this.eventForDetails[tempIdCal].description; 9296 this.eventLink = this.eventForDetails[tempIdCal].bulletinId; 9297 } 9298}; 9299LibararyNewsComponent.ctorParameters = () => [ 9300 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 9301 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__.CookieService }, 9302 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 9303 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 9304 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService } 9305]; 9306LibararyNewsComponent.propDecorators = { 9307 ucCalendar: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.ViewChild, args: [ng_fullcalendar__WEBPACK_IMPORTED_MODULE_3__.CalendarComponent,] }] 9308}; 9309LibararyNewsComponent = __decorate([ 9310 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 9311 selector: 'app-libarary-news', 9312 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_libarary_news_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 9313 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_6__.ViewEncapsulation.None, 9314 styles: [_libarary_news_component_css__WEBPACK_IMPORTED_MODULE_1__] 9315 }) 9316], LibararyNewsComponent); 9317 9318 9319 9320/***/ }), 9321 9322/***/ 29029: 9323/*!*************************************************************************!*\ 9324 !*** ./src/app/components/pages/list-summary/list-summary.component.ts ***! 9325 \*************************************************************************/ 9326/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9327 9328"use strict"; 9329__webpack_require__.r(__webpack_exports__); 9330/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9331/* harmony export */ "ListSummaryComponent": function() { return /* binding */ ListSummaryComponent; } 9332/* harmony export */ }); 9333/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_list_summary_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./list-summary.component.html */ 4169); 9334/* harmony import */ var _list_summary_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list-summary.component.css */ 18225); 9335/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 9336/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 71258); 9337/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 9338/* harmony import */ var src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/services/homepage.service */ 27150); 9339var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 9340 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 9341 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 9342 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 9343 return c > 3 && r && Object.defineProperty(target, key, r), r; 9344}; 9345 9346 9347 9348 9349 9350 9351let ListSummaryComponent = class ListSummaryComponent { 9352 constructor(activatedRoute, cookieService, homepageService) { 9353 this.activatedRoute = activatedRoute; 9354 this.cookieService = cookieService; 9355 this.homepageService = homepageService; 9356 this.listType = ''; 9357 this.listData = []; 9358 this.sortBy = 'date'; 9359 this.libraryname = ''; 9360 this.descending = true; 9361 this.listSize = 10000; 9362 this.caption = ''; 9363 this.facets = []; 9364 this.librarySetting = []; 9365 this.activatedRoute.queryParams.subscribe(params => { 9366 this.listType = params['print']; 9367 }); 9368 } 9369 ngOnInit() { 9370 this.homepageService.getConfig().subscribe((setting) => { 9371 this.librarySetting = setting; 9372 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 9373 var slctloc = this.cookieService.get('selectedlocation' + tnt); 9374 this.librarySetting.data.settings.location.locations.forEach((loc) => { 9375 if (parseInt(loc.id) == parseInt(slctloc)) { 9376 this.libraryname = loc.name; 9377 } 9378 }); 9379 }); 9380 if (this.listType == 'pt') { 9381 this.popularTitles(); 9382 } 9383 else if (this.listType == 'nil') { 9384 this.newInLibrary(); 9385 } 9386 } 9387 popularTitles() { 9388 this.homepageService.getPopularPage(this.sortBy, this.descending, this.listSize, this.facets).subscribe((data) => { 9389 this.listData = data.data.resources; 9390 this.caption = data.data.caption; 9391 var self = this; 9392 setTimeout(function () { 9393 var content = $('main').html(); 9394 self.printFnWithHtml(content, self.libraryname); 9395 }, 500); 9396 }); 9397 } 9398 newInLibrary() { 9399 this.homepageService.getNewInLibararyPage(this.sortBy, this.descending, this.listSize, this.facets).subscribe((data) => { 9400 this.listData = data.data.resources; 9401 this.caption = data.data.caption; 9402 var self = this; 9403 setTimeout(function () { 9404 var content = $('main').html(); 9405 self.printFnWithHtml(content, self.libraryname); 9406 }, 500); 9407 }); 9408 } 9409 printFnWithHtml(content, libraryName) { 9410 var mywindow = window.open('');
9411 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: auto;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 55px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.book-box-bottom{display: none;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}h2.caption{text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}h4.libraryname{text-align: center;margin-bottom: 40px;}</style>');
9412 mywindow.document.write('</head><body>'); 9413 mywindow.document.write(content); 9414 mywindow.document.write('</body></html>'); 9415 mywindow.document.close(); 9416 mywindow.onload = function () { 9417 const images = mywindow.document.images; 9418 let loaded = 0; 9419 function triggerPrint() { 9420 mywindow.focus(); 9421 mywindow.print(); 9422 } 9423 if (images.length === 0) { 9424 setTimeout(triggerPrint, 300); 9425 } 9426 else { 9427 Array.from(images).forEach((img) => { 9428 if (img.complete) { 9429 loaded++; 9430 if (loaded === images.length) 9431 setTimeout(triggerPrint, 300); 9432 } 9433 else { 9434 img.onload = img.onerror = () => { 9435 loaded++; 9436 if (loaded === images.length) 9437 setTimeout(triggerPrint, 300); 9438 }; 9439 } 9440 }); 9441 } 9442 }; 9443 mywindow.onafterprint = function () { 9444 mywindow.close(); 9445 }; 9446 return true; 9447 } 9448 imageError(event) { 9449 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 9450 $('body').find('img[custom="' + event + '"]').remove(); 9451 } 9452 imageLoad(event, images) { 9453 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes') { 9454 return false; 9455 } 9456 var sizes = ['xl', 'l', 'm', 's', 'xs', 'xxs']; 9457 if ($('body').find('#TempImg').length <= 0) { 9458 $('body').append('<img id="TempImg" src="" style="display:none;">'); 9459 } 9460 var imagesAll = [];
9461 sizes.forEach((evt) => { 9462 images.forEach((img) => { 9463 if (img.size == evt) { 9464 imagesAll.push(img.url); 9465 } 9466 }); 9467 }); 9468 setTimeout(function () { 9469 if (typeof (imagesAll[0]) != 'undefined') { 9470 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[0]); 9471 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 9472 } 9473 }, 10); 9474 } 9475}; 9476ListSummaryComponent.ctorParameters = () => [ 9477 { type: _angular_router__WEBPACK_IMPORTED_MODULE_3__.ActivatedRoute }, 9478 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__.CookieService }, 9479 { type: src_app_services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 9480]; 9481ListSummaryComponent = __decorate([ 9482 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 9483 selector: 'app-list-summary', 9484 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_list_summary_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 9485 styles: [_list_summary_component_css__WEBPACK_IMPORTED_MODULE_1__] 9486 }) 9487], ListSummaryComponent); 9488 9489 9490 9491/***/ }), 9492 9493/***/ 99493: 9494/*!***************************************************************************!*\ 9495 !*** ./src/app/components/pages/newinlibarary/newinlibarary.component.ts ***! 9496 \***************************************************************************/ 9497/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9498 9499"use strict"; 9500__webpack_require__.r(__webpack_exports__); 9501/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9502/* harmony export */ "NewinlibararyComponent": function() { return /* binding */ NewinlibararyComponent; } 9503/* harmony export */ }); 9504/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_newinlibarary_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./newinlibarary.component.html */ 55274); 9505/* harmony import */ var _newinlibarary_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./newinlibarary.component.css */ 40616); 9506/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 9507/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 9508/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 9509/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 9510/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 9511/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 9512/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 9513/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 9514/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 9515var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 9516 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 9517 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 9518 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 9519 return c > 3 && r && Object.defineProperty(target, key, r), r; 9520}; 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532let NewinlibararyComponent = class NewinlibararyComponent { 9533 constructor(authService, searchService, homepageService, document, routerService, cookieService, router, activatedRoute, notifierService) { 9534 this.authService = authService; 9535 this.searchService = searchService; 9536 this.homepageService = homepageService; 9537 this.document = document; 9538 this.routerService = routerService; 9539 this.cookieService = cookieService; 9540 this.router = router; 9541 this.activatedRoute = activatedRoute; 9542 this.exploreoptions = false;
9543 this.seletedExploreOptions = ''; 9544 this.printStyle = ''; 9545 this.librarySetting = []; 9546 this.resoursesCount = 0; 9547 this.NewInlibarary = []; 9548 this.responseAPIstatus = true; 9549 this.viewprintstatus = false; 9550 this.serachDataVisible = false; 9551 this.serachDataVisible1 = false; 9552 this.listSize = 20; 9553 this.sortWith = 'date'; 9554 this.descendingWith = false; 9555 this.currentOffset = 0; 9556 this.listView = 'true'; 9557 this.viewRefresh = true; 9558 this.narrowFilters = []; 9559 this.maxRecords = 100; 9560 this.infiniteScroll = true; 9561 this.updateMobileToggleInfo = false; 9562 this.facets = []; 9563 this.selectedResourcesIds = []; 9564 this.exportOptions = []; 9565 this.exportEmailOptions = []; 9566 this.exportDownloadOptions = []; 9567 this.isPatronLogin = false; 9568 this.patronEmail = ''; 9569 this.sendingMail = false; 9570 this.showAddFormStatusHold = false; 9571 this.showAddFormStatus = false; 9572 this.showHoldDate = false; 9573 this.lastDayDate = ''; 9574 this.date = new Date(Date.now()); 9575 //Date picker options. 9576 this.options = { 9577 minYear: 1970, 9578 maxYear: 2030, 9579 format: 'MM-dd-yyyy', 9580 formatTitle: 'MMMM yyyy', 9581 formatDays: 'EEEEEE', 9582 firstCalendarDay: 0, 9583 minDate: this.lastDayDate, 9584 //barTitleIfEmpty: 'Desired Date', 9585 inputClass: 'holdDesireDate', 9586 placeholder: 'Select Date', // HTML input placeholder attribute (default: '') 9587 //addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 9588 //fieldId: 'holdDesireDate', // ID to assign to the input field. Defaults to datepicker-<counter> 9589 //useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 9590 }; 9591 this.notifier = notifierService; 9592 } 9593 ngOnInit() { 9594 this.homepageService.getConfig().subscribe((data) => { 9595 if (data.data.settings.resultList.defaultSort != "") { 9596 this.sortWith = data.data.settings.resultList.defaultSort; 9597 } 9598 else { 9599 this.sortWith = this.sortWith; 9600 } 9601 }); 9602 var settingData = this.homepageService.getUpdatedConfig(); 9603 this.listSize = settingData.data.settings.newInLibrary.listSize; 9604 var dd = new Date(Date.now()); 9605 this.lastDayDate = dd.setDate(dd.getDate() - 1); 9606 if (this.cookieService.check('userDetail')) 9607 this.patronEmail = JSON.parse(this.cookieService.get('userDetail')).email; 9608 this.activatedRoute.queryParams.subscribe(params => { 9609 this.exploreId = params['exp-btn-id']; 9610 if (typeof (params.facets) != 'undefined' && params.facets != '') { 9611 var tempFactes = params.facets.split(","); 9612 for (var i = 0; i < tempFactes.length; i++) { 9613 var index = this.facets.indexOf(parseInt(tempFactes[i])); 9614 if (index < 0) { 9615 this.facets.push(parseInt(tempFactes[i])); 9616 } 9617 } 9618 } 9619 if (typeof (params.order) != 'undefined' && params.order != '') { 9620 this.sortWith = params.order; 9621 } 9622 }); 9623 this.document.body.classList.add('inner-page'); 9624 this.document.body.classList.add('list'); 9625 if (this.sortWith == 'title') { 9626 this.descendingWith = false; 9627 } 9628 this.getNewInLibarary(this.sortWith, this.descendingWith); 9629 this.routerService.setTextUrl('New In Library'); 9630 if (localStorage.getItem('selectedResourcesIds') != null) { 9631 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 9632 } 9633 //if (this.cookieService.check('info')) { 9634 if (localStorage.getItem('info') != null) { 9635 this.isPatronLogin = true; 9636 } 9637 } 9638 //getting list of resources. 9639 getNewInLibarary(sortBy, descending) { 9640 this.viewRefresh = true; 9641 var data = this.homepageService.getUpdatedConfig(); 9642 this.librarySetting = data; 9643 if (this.librarySetting.data.settings.resultList.export.formats.list) { 9644 var temp = []; 9645 temp['key'] = 'list'; 9646 temp['value'] = 'List'; 9647 this.exportOptions.push(temp); 9648 this.exportEmailOptions.push(temp); 9649 } 9650 if (this.librarySetting.data.settings.resultList.export.formats.listWithImage) { 9651 var temp = []; 9652 temp['key'] = 'listwithimage'; 9653 temp['value'] = 'List with Images'; 9654 this.exportOptions.push(temp); 9655 } 9656 if (this.librarySetting.data.settings.resultList.export.formats.listWithImageAndSummary) { 9657 var temp = []; 9658 temp['key'] = 'listWithImageAndSummary'; 9659 temp['value'] = 'List with Images and Summary'; 9660 //this.printStyle = "summary"; 9661 this.exportOptions.push(temp); 9662 } 9663 if (this.librarySetting.data.settings.resultList.export.formats.apa) { 9664 var temp = []; 9665 temp['key'] = 'apa'; 9666 temp['value'] = 'Bibliography - APA'; 9667 this.exportOptions.push(temp); 9668 this.exportEmailOptions.push(temp); 9669 } 9670 if (this.librarySetting.data.settings.resultList.export.formats.mla) { 9671 var temp = []; 9672 temp['key'] = 'mla'; 9673 temp['value'] = 'Bibliography - MLA'; 9674 this.exportOptions.push(temp); 9675 this.exportEmailOptions.push(temp); 9676 } 9677 if (this.librarySetting.data.settings.resultList.export.formats.chicago) { 9678 var temp = []; 9679 temp['key'] = 'cmos'; 9680 temp['value'] = 'Bibliography - Chicago Style'; 9681 this.exportOptions.push(temp); 9682 this.exportEmailOptions.push(temp); 9683 } 9684 if (this.librarySetting.data.settings.resultList.export.formats.csv) { 9685 var temp = []; 9686 temp['key'] = 'csv'; 9687 temp['value'] = 'CSV'; 9688 this.exportDownloadOptions.push(temp); 9689 } 9690 if (this.librarySetting.data.settings.resultList.export.formats.marc) { 9691 var temp = []; 9692 temp['key'] = 'marc'; 9693 temp['value'] = 'Marc'; 9694 this.exportDownloadOptions.push(temp); 9695 } 9696 this.maxRecords = data.data.settings.resultList.maxItems; 9697 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 9698 if (data.data.settings.search.filter.availability.enabled === true) { 9699 this.narrowFilters.push('ava'); 9700 } 9701 if (data.data.settings.search.filter.category.enabled === true) { 9702 this.narrowFilters.push('cat'); 9703 } 9704 if (data.data.settings.search.filter.lexile.enabled === true) { 9705 this.narrowFilters.push('lxl'); 9706 } 9707 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 9708 this.narrowFilters.push('lxg'); 9709 } 9710 if (data.data.settings.search.filter.lexileCode.enabled === true) { 9711 this.narrowFilters.push('lxc'); 9712 } 9713 if (data.data.settings.search.filter.fountas.enabled === true) { 9714 this.narrowFilters.push('fpl'); 9715 } 9716 if (data.data.settings.search.filter.rc.enabled === true) { 9717 this.narrowFilters.push('rcl'); 9718 } 9719 if (data.data.settings.search.filter.ar.enabled === true) { 9720 this.narrowFilters.push('arl'); 9721 } 9722 if (data.data.settings.search.filter.arInterest.enabled === true) { 9723 this.narrowFilters.push('ari'); 9724 } 9725 if (data.data.settings.search.filter.year.enabled === true) { 9726 this.narrowFilters.push('pub'); 9727 } 9728 if (data.data.settings.search.filter.series.enabled === true) { 9729 this.narrowFilters.push('ser'); 9730 } 9731 if (data.data.settings.search.filter.subject.enabled === true) { 9732 this.narrowFilters.push('sub'); 9733 } 9734 if (data.status === true && data.data.settings.resultList.pageSize) { 9735 this.listSize = data.data.settings.resultList.pageSize; 9736 sortBy = data.data.settings.resultList.defaultSort; 9737 if (sortBy === null) { 9738 sortBy = this.sortWith; 9739 } 9740 this.sortWith = sortBy; 9741 if (descending === null) { 9742 descending = this.descendingWith; 9743 } 9744 this.viewRefresh = true; 9745 if (sortBy == 'date') { 9746 descending = true; 9747 } 9748 else { 9749 descending = false;
9750 } 9751 this.descendingWith = descending; 9752 return this.homepageService.getNewInLibararyPage(sortBy, descending, this.listSize, this.facets.join()).subscribe((data) => { 9753 this.totalRecords = data.data.totalCount; 9754 this.NewInlibarary = data; 9755 this.updateFacets(this.NewInlibarary.data.facets); 9756 var pages = (data.data.totalCount / this.listSize); 9757 this.createRange(pages); 9758 this.responseAPIstatus = false; 9759 this.viewRefresh = false; 9760 this.router.navigate([], { 9761 relativeTo: this.activatedRoute, 9762 queryParams: { 9763 order: this.sortWith, 9764 }, 9765 queryParamsHandling: "merge" 9766 }); 9767 if (this.librarySetting.data.settings.resultList.defaultView == 'compact list') { 9768 this.listView = 'compact'; 9769 } 9770 else if (this.librarySetting.data.settings.resultList.defaultView == 'list') { 9771 this.listView = 'true'; 9772 } 9773 else if (this.librarySetting.data.settings.resultList.defaultView == 'grid') { 9774 this.listView = 'false'; 9775 } 9776 if (!this.cookieService.check('Popular_title_List_View')) { 9777 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 9778 } 9779 else { 9780 this.listView = this.cookieService.get('Popular_title_List_View'); 9781 } 9782 }); 9783 } 9784 } 9785 //Lazy loading on scroll 9786 lazyLoading(cache, currentOffset, listSize) { 9787 var offset = (currentOffset + listSize); 9788 if (this.lazyRequeat == true || this.infiniteScroll === false || this.totalRecords < offset) { 9789 return false; 9790 } 9791 this.lazyRequeat = true; 9792 if (this.maxRecords > offset) { 9793 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, this.listSize, offset, this.facets.join(), this.exploreId).subscribe((data) => { 9794 data.data.resources.forEach((evt) => { 9795 this.NewInlibarary.data.resources.push(evt); 9796 }); 9797 this.lazyRequeat = false; 9798 this.viewRefresh = false; 9799 this.currentOffset = offset; 9800 }); 9801 } 9802 } 9803 //Sort list accordin to FE selection. 9804 getListSort(sortBy, descending, cache, offset) { 9805 if (sortBy === null) { 9806 sortBy = this.sortWith; 9807 } 9808 this.sortWith = sortBy; 9809 if (descending === null) { 9810 descending = this.descendingWith; 9811 } 9812 this.descendingWith = descending; 9813 this.currentOffset = offset; 9814 this.viewRefresh = true; 9815 return this.homepageService.getSortPageByCache(sortBy, descending, cache, this.listSize, offset, this.facets.join(), this.exploreId).subscribe((data) => { 9816 this.NewInlibarary = data; 9817 this.updateFacets(this.NewInlibarary.data.facets); 9818 var pages = (data.data.totalCount / this.listSize); 9819 this.createRange(pages); 9820 this.viewRefresh = false; 9821 this.router.navigate([], { 9822 relativeTo: this.activatedRoute, 9823 queryParams: { 9824 order: this.sortWith, 9825 }, 9826 queryParamsHandling: "merge" 9827 }); 9828 }); 9829 } 9830 //hide/show resource. 9831 serachDataVisibleFn() { 9832 $(event.target).hide(); 9833 $(event.target).parents('ul').find('span').removeClass('hide'); 9834 this.serachDataVisible = true; 9835 } 9836 //Showing resource. 9837 serachDataVisibleFn1() { 9838 this.serachDataVisible1 = true; 9839 } 9840 //TO change view from list to grid and reverse. 9841 changeView(view) { 9842 this.listView = view; 9843 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 9844 this.viewRefresh = true; 9845 setTimeout(() => { 9846 this.viewRefresh = false;
9847 }, 500); 9848 } 9849 //Counting page. 9850 createRange(number) { 9851 var items = []; 9852 for (var i = 0; i < number; i++) { 9853 items.push(i); 9854 } 9855 this.pagesCount = items; 9856 } 9857 //Showing icon for image error. 9858 imageError(event, images) { 9859 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 9860 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 9861 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 9862 index--; 9863 this.imageLoad(event, images, index, true); 9864 } 9865 else { 9866 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 9867 $('body').find('img[custom="' + event + '"]').remove(); 9868 } 9869 } 9870 //Loading best images 9871 imageLoad(event, images, index, fromError = false) { 9872 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 9873 return false; 9874 } 9875 if ($('body').find('#' + event).length <= 0) { 9876 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 9877 } 9878 var $this = this; 9879 var imagesAll = this.searchService.sortedImage(images); 9880 $('#' + event).attr('src', imagesAll[index]); 9881 setTimeout(function () { 9882 var tempWidth = $('#' + event).width(); 9883 var temp = document.getElementById(event); 9884 if (tempWidth <= 1 && index > 0) { 9885 $this.imageLoad(event, images, index - 1, true); 9886 return false; 9887 } 9888 else if (tempWidth <= 1 && index == 0) { 9889 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 9890 $('body').find('img[custom="' + event + '"]').remove(); 9891 } 9892 }, 500); 9893 if (typeof (imagesAll[index]) != 'undefined') { 9894 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 9895 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 9896 $('body').find('img[custom="' + event + '"]').attr('index', index); 9897 } 9898 } 9899 //Narrowing exixting search result. 9900 narrowSearch(event, cacheKey, facetId) { 9901 var index = this.facets.indexOf(facetId); 9902 if (index > -1) { 9903 this.facets.splice(index, 1); 9904 } 9905 else { 9906 this.facets.push(facetId); 9907 } 9908 this.viewRefresh = true; 9909 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 9910 this.totalRecords = data.data.totalCount; 9911 this.NewInlibarary = data; 9912 this.updateFacets(this.NewInlibarary.data.facets); 9913 var pages = (data.data.totalCount / this.listSize); 9914 this.createRange(pages); 9915 this.responseAPIstatus = false; 9916 this.viewRefresh = false; 9917 this.router.navigate([], { 9918 relativeTo: this.activatedRoute, 9919 queryParams: { 9920 facets: this.facets.join(), 9921 }, 9922 queryParamsHandling: "merge" 9923 }); 9924 }); 9925 } 9926 //To change mobile view. 9927 updateMobileToggle(event) { 9928 if ($(event.target).hasClass('open')) { 9929 this.updateMobileToggleInfo = false; 9930 } 9931 else { 9932 this.updateMobileToggleInfo = true; 9933 } 9934 } 9935 //Removing search filter. (facets) 9936 removeNorrow(cacheKey, facetId) { 9937 var index = this.facets.indexOf(facetId); 9938 if (index > -1) { 9939 this.facets.splice(index, 1); 9940 } 9941 this.viewRefresh = true; 9942 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 9943 this.totalRecords = data.data.totalCount; 9944 this.NewInlibarary = data; 9945 this.updateFacets(this.NewInlibarary.data.facets); 9946 var pages = (data.data.totalCount / this.listSize); 9947 this.createRange(pages); 9948 this.responseAPIstatus = false;
9949 this.viewRefresh = false; 9950 this.router.navigate([], { 9951 relativeTo: this.activatedRoute, 9952 queryParams: { 9953 facets: this.facets.join(), 9954 }, 9955 queryParamsHandling: "merge" 9956 }); 9957 }); 9958 } 9959 //Updating facets, using BE data. 9960 updateFacets(facets) { 9961 this.facetsInformation = []; 9962 facets.forEach((facets) => { 9963 var facetsData = []; 9964 //if(this.narrowFilters.includes(facets.key) && facets.values[0] ){ 9965 if (this.narrowFilters.indexOf(facets.key) > -1 && facets.values[0]) { 9966 facets.values.forEach((fv) => { 9967 if (parseInt(fv.count) > 0) { 9968 facetsData.push(fv); 9969 } 9970 }); 9971 } 9972 if (facetsData[0]) { 9973 var temp = {}; 9974 temp['key'] = facets.key; 9975 temp['caption'] = facets.caption; 9976 temp['selectedId'] = facets.selectedId; 9977 temp['selectedValue'] = facets.selectedValue; 9978 temp['listOrder'] = facets.listOrder; 9979 temp['values'] = facetsData; 9980 this.facetsInformation.push(temp); 9981 } 9982 }); 9983 } 9984 //Adding resource to my list collection. 9985 addToMyList(event, Id) { 9986 var self = this; 9987 $('.addButton' + Id).addClass('fadeOutUp'); 9988 $('#myCollectionLi').addClass('fadeOutUpLI'); 9989 setTimeout(function () { 9990 $('.addButton' + Id).addClass('hide').removeClass('show').removeClass('fadeOutUp'); 9991 $('.removeButton' + Id).addClass('show').removeClass('hide'); 9992 this.resoursesCount = $('.addButton' + Id).length; 9993 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 9994 self.cookieService.set('MyLIstCount', (currentList + this.resoursesCount)); 9995 $('#myCollectionLi').find('span.count').text(currentList + this.resoursesCount); 9996 $('#myCollectionLi').find('a.onViewList').removeClass('hide').addClass('show'); 9997 $('#Publish-My-List').removeClass('hide').addClass('show'); 9998 if ($('#myCollectionLi').hasClass('hide')) { 9999 $('#myCollectionLi').removeClass('hide'); 10000 $('#myCollectionLi').addClass('show'); 10001 } 10002 var i; 10003 for (i = 1; i <= this.resoursesCount; i++) { 10004 self.selectedResourcesIds.push(Id); 10005 } 10006 localStorage.setItem('selectedResourcesIds', JSON.stringify(self.selectedResourcesIds)); 10007 //if(self.cookieService.check( 'info')){ 10008 if (localStorage.getItem('info')) { 10009 var auth = localStorage.getItem('token'); 10010 self.homepageService.saveMyList(auth, self.selectedResourcesIds).subscribe(data => { }, (error) => { 10011 if (self.cookieService.check('tempPersonalCollection')) { 10012 var cacheKey = self.cookieService.get('tempPersonalCollection'); 10013 } 10014 else { 10015 var cacheKey = ''; 10016 } 10017 var itemIds = []; 10018 itemIds.push(Id); 10019 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 10020 if (data.status) { 10021 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 10022 } 10023 }); 10024 }); 10025 } 10026 else { 10027 if (self.cookieService.check('tempPersonalCollection')) { 10028 var cacheKey = self.cookieService.get('tempPersonalCollection'); 10029 } 10030 else { 10031 var cacheKey = ''; 10032 } 10033 var itemIds = []; 10034 itemIds.push(Id); 10035 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 10036 if (data.status) { 10037 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 10038 } 10039 }); 10040 } 10041 }, 1000); 10042 setTimeout(function () { 10043 $('#myCollectionLi').removeClass('fadeOutUpLI'); 10044 }, 5000); 10045 } 10046 //Removing book from my list collection. 10047 removeToMyList(event, Id) { 10048 $(document).find('.addButton' + Id).addClass('show').removeClass('hide'); 10049 $(document).find('.removeButton' + Id).addClass('hide').removeClass('show'); 10050 this.resoursesCount = $('.removeButton' + Id).length; 10051 var i; 10052 for (i = 1; i <= this.resoursesCount; i++) { 10053 var index = this.selectedResourcesIds.indexOf(Id); 10054 if (index > -1) { 10055 var index = this.selectedResourcesIds.splice(index, 1); 10056 } 10057 } 10058 localStorage.setItem('selectedResourcesIds', JSON.stringify(this.selectedResourcesIds)); 10059 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 10060 $('#myCollectionLi').find('span.count').text(currentList - this.resoursesCount); 10061 var tempCurrentList = currentList - this.resoursesCount; 10062 this.cookieService.set('MyLIstCount', (tempCurrentList.toString())); 10063 //if (this.cookieService.check('info')) { 10064 if (localStorage.getItem('info') != null) { 10065 var auth = localStorage.getItem('token'); 10066 this.homepageService.removeMyList(auth, Id).subscribe(data => { }); 10067 } 10068 else { 10069 if (this.cookieService.check('tempPersonalCollection')) { 10070 var cacheKey = this.cookieService.get('tempPersonalCollection'); 10071 this.homepageService.removePersonalcollection(Id, cacheKey).subscribe(data => { }); 10072 } 10073 } 10074 } 10075 // Showing export option on basis of their type. 10076 showExportOptions(event, type) { 10077 event.preventDefault(); 10078 if (this.seletedExploreOptions != type) { 10079 $('.exploreCon').removeClass('openExploreOption'); 10080 } 10081 if (event.target.nodeName == 'I') { 10082 var seletor = $(event.target).parent(); 10083 } 10084 else { 10085 var seletor = $(event.target); 10086 } 10087 seletor.parent().toggleClass('openExploreOption'); 10088 this.seletedExploreOptions = type; 10089 } 10090 //Opening list dailog. 10091 openDailog(type) { 10092 $('.exploreCon').removeClass('openExploreOption'); 10093 $('#emailType').val(type.toUpperCase()); 10094 } 10095 //exporting list through mail. 10096 exportListEmail(event, cacheKey) { 10097 this.sendingMail = true; 10098 this.homepageService.getEmail(cacheKey, this.facets, $('#emailType').val()).subscribe((data) => { 10099 this.sendingMail = false;
10100 $('#closeEmailModal').trigger('click'); 10101 if (data.status) 10102 this.notifier.notify('success', data.message); 10103 else 10104 this.notifier.notify('error', data.message); 10105 }, (error) => { 10106 this.sendingMail = false; 10107 $('#closeEmailModal').trigger('click'); 10108 this.notifier.notify('error', error.error.title); 10109 error.error.errors.id.forEach((res) => { 10110 this.notifier.notify('error', res); 10111 }); 10112 }); 10113 } 10114 //exporting list to pdf/csv. 10115 exportList(event, cacheKey, type) { 10116 $('.exploreCon').removeClass('openExploreOption'); 10117 if (type == 'listwithimage') { 10118 this.listView = 'true'; 10119 this.viewprintstatus = true; 10120 this.homepageService.getNewInLibararyPage(this.sortWith, this.descendingWith, 10000, this.facets.join()).subscribe((data) => { 10121 this.totalRecords = data.data.totalCount; 10122 this.NewInlibarary = data; 10123 this.updateFacets(this.NewInlibarary.data.facets); 10124 var pages = (data.data.totalCount / this.listSize); 10125 this.createRange(pages); 10126 var self = this; 10127 setTimeout(function () { 10128 var libraryname = ''; 10129 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 10130 var slctloc = self.cookieService.get('selectedlocation' + tnt); 10131 self.librarySetting.data.settings.location.locations.forEach((loc) => { 10132 if (parseInt(loc.id) == parseInt(slctloc)) { 10133 libraryname = loc.name; 10134 } 10135 }); 10136 var html = $('div.list-view').html(); 10137 self.printFnWithHtml(html, libraryname); 10138 self.viewprintstatus = false; 10139 }, 2000); 10140 }); 10141 } 10142 else if (type == 'listWithImageAndSummary') { 10143 this.listView = 'summary'; 10144 this.viewprintstatus = true; 10145 this.homepageService.getNewInLibararyPage(this.sortWith, this.descendingWith, 10000, this.facets.join()).subscribe((data) => { 10146 this.totalRecords = data.data.totalCount; 10147 this.NewInlibarary = data; 10148 this.updateFacets(this.NewInlibarary.data.facets); 10149 var pages = (data.data.totalCount / this.listSize); 10150 this.createRange(pages); 10151 var self = this; 10152 setTimeout(function () { 10153 var libraryname = ''; 10154 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 10155 var slctloc = self.cookieService.get('selectedlocation' + tnt); 10156 self.librarySetting.data.settings.location.locations.forEach((loc) => { 10157 if (parseInt(loc.id) == parseInt(slctloc)) { 10158 libraryname = loc.name; 10159 } 10160 }); 10161 var html = $('div.list-summary').html(); 10162 self.printFnWithHtml(html, libraryname); 10163 self.viewprintstatus = false; 10164 }, 2000); 10165 }); 10166 } 10167 else if (type == 'list') { // export simple list. 10168 this.listView = 'true'; 10169 this.viewprintstatus = true; 10170 this.homepageService.getNewInLibararyPage(this.sortWith, this.descendingWith, 10000, this.facets.join()).subscribe((data) => { 10171 var html = ''; 10172 data.data.resources.forEach((list) => { 10173 html += '<p class="hangingindent" style="float: left;width: 100%;">'; 10174 html += '<span style="font-size:15px;font-weight: 600; float:left;">' + list.title + '</span><br/><span style=" font-size:15px; float:left; width:100%;">' + list.author + '</span><br/><span style="font-size:15px;float:left; width:100%;">' + list.call + '</span>'; 10175 html += '</p>'; 10176 }); 10177 var libraryname = ''; 10178 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 10179 var slctloc = this.cookieService.get('selectedlocation' + tnt); 10180 this.librarySetting.data.settings.location.locations.forEach((loc) => { 10181 if (parseInt(loc.id) == parseInt(slctloc)) { 10182 libraryname = loc.name; 10183 } 10184 }); 10185 this.printFn(html, libraryname); 10186 this.viewprintstatus = false;
10187 }); 10188 } 10189 else if (type == 'csv') { //expporting csv generated from BE 10190 this.homepageService.getCSV(cacheKey, this.facets).subscribe((data) => { 10191 var device = ['iPhone', 'iPad', 'iPod']; 10192 const csvName = 'Library Resources.csv'; 10193 const blob = new Blob([data], { type: 'text/csv' }); 10194 if (device.indexOf(window.navigator.platform) > -1) { 10195 if (window.navigator.userAgent.match('CriOS')) { // Chrome iOS 10196 var reader = new FileReader(); 10197 reader.onloadend = function (e) { 10198 const reader_result = reader.result; 10199 if (typeof reader_result === 'string') { 10200 window.open(reader_result); 10201 } 10202 else { 10203 window.open(reader_result.toString()); 10204 } 10205 }; 10206 reader.readAsDataURL(blob); 10207 } 10208 else { //Safari & Opera iOS 10209 const a = document.createElement('a'); 10210 const url = window.URL.createObjectURL(blob); 10211 a.href = url; 10212 a.download = csvName; 10213 a.click(); 10214 setTimeout(function () { 10215 window.URL.revokeObjectURL(url); 10216 a.remove(); 10217 }, 200); 10218 } 10219 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 10220 // window.navigator.msSaveOrOpenBlob(blob, csvName); 10221 } 10222 else { //Chrome & Firefox 10223 const a = document.createElement('a'); 10224 const url = window.URL.createObjectURL(blob); 10225 a.href = url; 10226 a.download = csvName; 10227 a.click(); 10228 window.URL.revokeObjectURL(url); 10229 a.remove(); 10230 } 10231 }, (error) => { 10232 if (error.status == 200) { 10233 } 10234 else { 10235 this.notifier.notify('error', error.error.title); 10236 error.error.errors.id.forEach((res) => { 10237 this.notifier.notify('error', res); 10238 }); 10239 } 10240 }); 10241 } 10242 else if (type == 'marc') { 10243 this.homepageService.getMarc(cacheKey, this.facets).subscribe((data) => { 10244 var device = ['iPhone', 'iPad', 'iPod']; 10245 const csvName = 'Library Resources.mrc'; 10246 const blob = new Blob([data], { type: 'application/marc' }); 10247 if (device.indexOf(window.navigator.platform) > -1) { 10248 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 10249 var reader = new FileReader(); 10250 reader.onloadend = function (e) { 10251 // window.open(reader.result); 10252 const reader_result = reader.result; 10253 if (typeof reader_result === 'string') { 10254 window.open(reader_result); 10255 } 10256 else { 10257 window.open(reader_result.toString()); 10258 } 10259 }; 10260 reader.readAsDataURL(blob); 10261 } 10262 else { //Safari & Opera iOS 10263 const a = document.createElement('a'); 10264 const url = window.URL.createObjectURL(blob); 10265 a.href = url; 10266 a.download = csvName; 10267 a.click(); 10268 setTimeout(function () { 10269 window.URL.revokeObjectURL(url); 10270 a.remove(); 10271 }, 200); 10272 } 10273 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 10274 // window.navigator.msSaveOrOpenBlob(blob, csvName); 10275 } 10276 else { //Chrome & Firefox 10277 const a = document.createElement('a'); 10278 const url = window.URL.createObjectURL(blob); 10279 a.href = url; 10280 a.download = csvName; 10281 a.click(); 10282 window.URL.revokeObjectURL(url); 10283 a.remove(); 10284 } 10285 }, (error) => { 10286 this.notifier.notify('error', error.error.title);
10287 error.error.errors.id.forEach((res) => { 10288 this.notifier.notify('error', res); 10289 }); 10290 }); 10291 } 10292 else { 10293 this.homepageService.printFormat(cacheKey, this.facets, type).subscribe((data) => { 10294 var html = ''; 10295 data.data.items.forEach((items, key) => { 10296 html += '<p class="hangingindent">'; 10297 items.elements.forEach((text) => { 10298 var style = "normal"; 10299 if (text.italic) { 10300 var style = "italic"; 10301 } 10302 html += '<span style="font-style: ' + style + '; font-size:15px;">' + text.text + '</span> '; 10303 }); 10304 html += '</p>'; 10305 }); 10306 this.printFn(html); 10307 this.viewprintstatus = false; 10308 }); 10309 } 10310 } 10311 // //export using print. 10312 printFnWithHtml(content, libraryName) { 10313 var mywindow = window.open('', '_blank');
10314 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: 55px;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 45px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.book-box-bottom{display: block;}.avail-detail .material-icons {color: #8c8c8c;font-size: 21px !important;}.book-box-bottom-btn{display:none;}.avail-detail p{font-size: 15px;margin-bottom: 0;float: left;width: auto;min-width: 120px;margin-top: 0px;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}.modal-dialog{display: none;}</style>');
10315 mywindow.document.write('</head><body>'); 10316 mywindow.document.write('<h2 style="text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}">New In Library</h2>'); 10317 mywindow.document.write('<h4 style="text-align: center;margin-bottom: 40px;">' + libraryName + '</h4>'); 10318 mywindow.document.write(content); 10319 mywindow.document.write('</body></html>'); 10320 mywindow.document.close(); 10321 mywindow.onload = function () { 10322 const images = mywindow.document.images; 10323 let loaded = 0; 10324 function triggerPrint() { 10325 mywindow.focus(); 10326 mywindow.print(); 10327 } 10328 if (images.length === 0) { 10329 setTimeout(triggerPrint, 300); 10330 } 10331 else { 10332 Array.from(images).forEach((img) => { 10333 if (img.complete) { 10334 loaded++; 10335 if (loaded === images.length) 10336 setTimeout(triggerPrint, 300); 10337 } 10338 else { 10339 img.onload = img.onerror = () => { 10340 loaded++; 10341 if (loaded === images.length) 10342 setTimeout(triggerPrint, 300); 10343 }; 10344 } 10345 }); 10346 } 10347 }; 10348 mywindow.onafterprint = function () { 10349 mywindow.close(); 10350 }; 10351 return true; 10352 } 10353 // //Exporting only list function. 10354 printFn(content, libraryname = '') { 10355 var mywindow = window.open('', '_blank');
10356 mywindow.document.write('<html moznomarginboxes mozdisallowselectionprint><head><title>Print</title><style>.hangingindent {padding-left: 36px ;text-indent: -36px; }</style>'); 10357 mywindow.document.write('</head><body>'); 10358 mywindow.document.write('<h2 style="text-align:center">New In Library</h2>'); 10359 mywindow.document.write('<h4 style="text-align:center;margin-bottom: 40px;">' + libraryname + '</h4>'); 10360 mywindow.document.write(content); 10361 mywindow.document.write('</body></html>'); 10362 mywindow.document.close(); 10363 mywindow.focus(); 10364 mywindow.print(); 10365 mywindow.close(); 10366 return true; 10367 } 10368 //Showing add form for hold. 10369 showAddFormHold(resourceId, event) { 10370 //if (!this.cookieService.check('info')) { 10371 if (!localStorage.getItem('info')) { 10372 $('#loginSpanMessage').remove(); 10373 document.getElementById("loginLia").click(); 10374 $('#loginError').after('<span id="loginSpanMessage">Log in to place a hold on this resource.</span>'); 10375 setTimeout(function () { 10376 $('#loginSpanMessage').remove(); 10377 }, 10000); 10378 //this.isPatronLogin=true; 10379 } 10380 } 10381 //Hide adding form 10382 hideAddForm() { 10383 this.showAddFormStatus = false; 10384 this.showHoldDate = false; 10385 } 10386 //Showing hold date. 10387 showHoldDateFn(event) { 10388 if ($(event.target).is(':checked')) { 10389 this.showHoldDate = true; 10390 } 10391 else { 10392 this.showHoldDate = false; 10393 this.date = new Date(Date.now()); 10394 } 10395 } 10396 //Holding request 10397 holdResource(event, resourceId, i) { 10398 var self = this; 10399 $(event.target).val('Wait...').attr('disabled', 'disabled'); 10400 var desiredDate = null; 10401 if (this.showHoldDate) { 10402 desiredDate = $('.holdDesireDate').val(); 10403 } 10404 var auth = localStorage.getItem('token'); 10405 var sessionId = 0; 10406 if (this.cookieService.check('renewSession')) { 10407 var sessionId = this.cookieService.get('renewSession'); 10408 } 10409 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { 10410 if (data.status) { 10411 this.NewInlibarary.data.resources[i].holdId = data.data.circHoldId; 10412 this.NewInlibarary.data.resources[i].canHold = false; 10413 this.cookieService.set('renewSession', data.data.sessionId, 365, '/'); 10414 this.notifier.notify('success', data.message); 10415 } 10416 else { 10417 this.notifier.notify('error', data.message); 10418 } 10419 $(event.target).val('Hold').removeAttr('disabled'); 10420 $('#closeHoldAdd-' + resourceId).click(); 10421 this.showHoldDate = false; 10422 this.date = new Date(Date.now()); 10423 }, (err) => { 10424 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { }, (error) => { 10425 $(event.target).val('Hold').removeAttr('disabled'); 10426 this.notifier.notify('error', 'Something Went Wrong'); 10427 }); 10428 //$(event.target).val('Hold').removeAttr('disabled'); 10429 //this.notifier.notify('error', 'Something Went Wrong'); 10430 }); 10431 } 10432 //Cancel hold request 10433 cancelHold(event, holdId, resourceId, i) { 10434 var token = localStorage.getItem('token'); 10435 this.NewInlibarary.data.resources[i].holdId = null; 10436 $('#cancelholdsClose-' + resourceId).trigger('click'); 10437 this.homepageService.cancelHoldAccount(holdId, token).subscribe((data) => { 10438 if (data.status) { 10439 this.notifier.notify('success', data.message + ' successfully'); 10440 this.NewInlibarary.data.resources[i].canHold = true; 10441 } 10442 else { 10443 this.NewInlibarary.data.resources[i].holdId = holdId; 10444 this.NewInlibarary.data.resources[i].canHold = false; 10445 this.notifier.notify('error', data.message); 10446 } 10447 }, (err) => { 10448 this.notifier.notify('error', 'Something Went Wrong'); 10449 }); 10450 } 10451}; 10452NewinlibararyComponent.ctorParameters = () => [ 10453 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 10454 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 10455 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 10456 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 10457 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 10458 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 10459 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 10460 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 10461 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 10462]; 10463NewinlibararyComponent = __decorate([ 10464 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 10465 selector: 'app-newinlibarary', 10466 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_newinlibarary_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 10467 styles: [_newinlibarary_component_css__WEBPACK_IMPORTED_MODULE_1__] 10468 }) 10469], NewinlibararyComponent); 10470 10471 10472 10473/***/ }), 10474 10475/***/ 76084: 10476/*!*************************************************************************!*\ 10477 !*** ./src/app/components/pages/popular-list/popular-list.component.ts ***! 10478 \*************************************************************************/ 10479/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 10480 10481"use strict"; 10482__webpack_require__.r(__webpack_exports__); 10483/* harmony export */ __webpack_require__.d(__webpack_exports__, { 10484/* harmony export */ "PopularListComponent": function() { return /* binding */ PopularListComponent; } 10485/* harmony export */ }); 10486/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_popular_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./popular-list.component.html */ 79650); 10487/* harmony import */ var _popular_list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./popular-list.component.css */ 62313); 10488/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 10489/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 10490/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 10491/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 10492/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 10493/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 10494/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 10495/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 10496/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 10497var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 10498 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 10499 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 10500 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
10500 3 ? d(target, key, r) : d(target, key)) || r; 10501 return c > 3 && r && Object.defineProperty(target, key, r), r; 10502}; 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514let PopularListComponent = class PopularListComponent { 10515 constructor(authService, searchService, homepageService, document, routerService, cookieService, router, activatedRoute, notifierService) { 10516 this.authService = authService; 10517 this.searchService = searchService; 10518 this.homepageService = homepageService; 10519 this.document = document; 10520 this.routerService = routerService; 10521 this.cookieService = cookieService; 10522 this.router = router; 10523 this.activatedRoute = activatedRoute; 10524 this.exploreoptions = false; 10525 this.seletedExploreOptions = ''; 10526 this.printStyle = ''; 10527 this.librarySetting = []; 10528 this.resoursesCount = 0; 10529 this.bulletinlist = []; 10530 this.responseAPIstatus = true; 10531 this.serachDataVisible = false; 10532 this.viewprintstatus = false; 10533 this.serachDataVisible1 = false; 10534 this.listSize = 5; 10535 this.sortWith = 'date'; 10536 this.descendingWith = true; 10537 this.currentOffset = 0; 10538 this.listView = 'true'; 10539 this.viewRefresh = true; 10540 this.narrowFilters = []; 10541 this.maxRecords = 100; 10542 this.infiniteScroll = true; 10543 this.selectedResourcesIds = []; 10544 this.updateMobileToggleInfo = false; 10545 this.exportOptions = []; 10546 this.exportEmailOptions = []; 10547 this.isPatronLogin = false; 10548 this.facets = []; 10549 this.exportDownloadOptions = []; 10550 this.patronEmail = ''; 10551 this.sendingMail = false; 10552 this.showAddFormStatus = false; 10553 this.showHoldDate = false; 10554 this.date = new Date(Date.now()); 10555 this.lastDayDate = ''; 10556 this.exploreId = null; 10557 //Date picker options. 10558 this.options = { 10559 minYear: 1970, 10560 maxYear: 2030, 10561 format: 'MM-dd-yyyy', 10562 formatTitle: 'MMMM yyyy', 10563 formatDays: 'EEEEEE', 10564 firstCalendarDay: 0, 10565 minDate: this.lastDayDate, 10566 //barTitleIfEmpty: 'Desired Date', 10567 inputClass: 'holdDesireDate', 10568 placeholder: 'Select Date', // HTML input placeholder attribute (default: '') 10569 //addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 10570 //fieldId: 'holdDesireDate', // ID to assign to the input field. Defaults to datepicker-<counter> 10571 // useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 10572 }; 10573 this.notifier = notifierService; 10574 } 10575 ngOnInit() { 10576 var settingData = this.homepageService.getUpdatedConfig(); 10577 this.listSize = settingData.data.settings.newInLibrary.listSize; 10578 var dd = new Date(Date.now()); 10579 this.lastDayDate = dd.setDate(dd.getDate() - 1); 10580 if (this.cookieService.check('userDetail')) 10581 this.patronEmail = JSON.parse(this.cookieService.get('userDetail')).email; 10582 this.activatedRoute.queryParams.subscribe(params => { 10583 if (typeof (params.facets) != 'undefined' && params.facets != '') { 10584 var tempFactes = params.facets.split(","); 10585 for (var i = 0; i < tempFactes.length; i++) { 10586 var index = this.facets.indexOf(parseInt(tempFactes[i])); 10587 if (index < 0) { 10588 this.facets.push(parseInt(tempFactes[i])); 10589 } 10590 } 10591 } 10592 if (typeof (params.order) != 'undefined' && params.order != '') { 10593 this.sortWith = params.order; 10594 } 10595 this.exploreId = params['exp-btn-id']; 10596 }); 10597 this.document.body.classList.add('inner-page'); 10598 this.document.body.classList.add('list'); 10599 if (this.sortWith == 'date') { 10600 this.descendingWith = true; 10601 } 10602 else { 10603 this.descendingWith = false; 10604 } 10605 this.getpopularlist(this.sortWith, this.descendingWith); 10606 this.routerService.setTextUrl('Popular Titles'); 10607 if (localStorage.getItem('selectedResourcesIds') != null) { 10608 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 10609 } 10610 //if(this.cookieService.check( 'info') ){ 10611 if (localStorage.getItem('info')) { 10612 this.isPatronLogin = true; 10613 } 10614 } 10615 openDailog(type) { 10616 $('.exploreCon').removeClass('openExploreOption'); 10617 $('#emailType').val(type.toUpperCase()); 10618 } 10619 exportListEmail(event, cacheKey) { 10620 this.sendingMail = true; 10621 //console.log(cacheKey, $('#emailType').val()); 10622 this.homepageService.getEmail(cacheKey, this.facets, $('#emailType').val()).subscribe((data) => { 10623 this.sendingMail = false;
10624 $('#closeEmailModal').trigger('click'); 10625 if (data.status) 10626 this.notifier.notify('success', data.message); 10627 else 10628 this.notifier.notify('error', data.message); 10629 }, (error) => { 10630 this.sendingMail = false; 10631 $('#closeEmailModal').trigger('click'); 10632 this.notifier.notify('error', error.error.title); 10633 error.error.errors.id.forEach((res) => { 10634 this.notifier.notify('error', res); 10635 }); 10636 }); 10637 } 10638 getpopularlist(sortBy, descending) { 10639 var data = this.homepageService.getUpdatedConfig(); 10640 this.librarySetting = data; 10641 if (this.librarySetting.data.settings.resultList.export.formats.list) { 10642 var temp = []; 10643 temp['key'] = 'list'; 10644 temp['value'] = 'List'; 10645 this.exportOptions.push(temp); 10646 this.exportEmailOptions.push(temp); 10647 } 10648 if (this.librarySetting.data.settings.resultList.export.formats.listWithImage) { 10649 var temp = []; 10650 temp['key'] = 'listwithimage'; 10651 temp['value'] = 'List with Images'; 10652 this.exportOptions.push(temp); 10653 } 10654 if (this.librarySetting.data.settings.resultList.export.formats.listWithImageAndSummary) { 10655 var temp = []; 10656 temp['key'] = 'listWithImageAndSummary'; 10657 temp['value'] = 'List with Images and Summary'; 10658 //this.printStyle = 'summary'; 10659 this.exportOptions.push(temp); 10660 } 10661 if (this.librarySetting.data.settings.resultList.export.formats.apa) { 10662 var temp = []; 10663 temp['key'] = 'apa'; 10664 temp['value'] = 'Bibliography - APA'; 10665 this.exportOptions.push(temp); 10666 this.exportEmailOptions.push(temp); 10667 } 10668 if (this.librarySetting.data.settings.resultList.export.formats.mla) { 10669 var temp = []; 10670 temp['key'] = 'mla'; 10671 temp['value'] = 'Bibliography - MLA'; 10672 this.exportOptions.push(temp); 10673 this.exportEmailOptions.push(temp); 10674 } 10675 if (this.librarySetting.data.settings.resultList.export.formats.chicago) { 10676 var temp = []; 10677 temp['key'] = 'cmos'; 10678 temp['value'] = 'Bibliography - Chicago Style'; 10679 this.exportOptions.push(temp); 10680 this.exportEmailOptions.push(temp); 10681 } 10682 if (this.librarySetting.data.settings.resultList.export.formats.csv) { 10683 var temp = []; 10684 temp['key'] = 'csv'; 10685 temp['value'] = 'CSV'; 10686 this.exportDownloadOptions.push(temp); 10687 } 10688 if (this.librarySetting.data.settings.resultList.export.formats.marc) { 10689 var temp = []; 10690 temp['key'] = 'marc'; 10691 temp['value'] = 'Marc'; 10692 this.exportDownloadOptions.push(temp); 10693 } 10694 this.maxRecords = data.data.settings.resultList.maxItems; 10695 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 10696 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 10697 if (data.data.settings.search.filter.availability.enabled === true) { 10698 this.narrowFilters.push('ava'); 10699 } 10700 if (data.data.settings.search.filter.category.enabled === true) { 10701 this.narrowFilters.push('cat'); 10702 } 10703 if (data.data.settings.search.filter.lexile.enabled === true) { 10704 this.narrowFilters.push('lxl'); 10705 } 10706 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 10707 this.narrowFilters.push('lxg'); 10708 } 10709 if (data.data.settings.search.filter.lexileCode.enabled === true) { 10710 this.narrowFilters.push('lxc'); 10711 } 10712 if (data.data.settings.search.filter.fountas.enabled === true) { 10713 this.narrowFilters.push('fpl'); 10714 } 10715 if (data.data.settings.search.filter.rc.enabled === true) { 10716 this.narrowFilters.push('rcl'); 10717 } 10718 if (data.data.settings.search.filter.ar.enabled === true) { 10719 this.narrowFilters.push('arl'); 10720 } 10721 if (data.data.settings.search.filter.arInterest.enabled === true) { 10722 this.narrowFilters.push('ari'); 10723 } 10724 if (data.data.settings.search.filter.year.enabled === true) { 10725 this.narrowFilters.push('pub'); 10726 } 10727 if (data.data.settings.search.filter.series.enabled === true) { 10728 this.narrowFilters.push('ser'); 10729 } 10730 if (data.data.settings.search.filter.subject.enabled === true) { 10731 this.narrowFilters.push('sub'); 10732 } 10733 if (data.status === true && data.data.settings.resultList.pageSize) { 10734 this.listSize = data.data.settings.resultList.pageSize; 10735 if (sortBy == 'date') { 10736 descending = true; 10737 } 10738 else { 10739 descending = false;
10740 } 10741 return this.homepageService.getPopularPage(sortBy, descending, this.listSize, this.facets.join(), this.exploreId).subscribe((data) => { 10742 this.totalRecords = data.data.totalCount; 10743 this.bulletinlist = data; 10744 this.updateFacets(this.bulletinlist.data.facets); 10745 var pages = (data.data.totalCount / this.listSize); 10746 this.createRange(pages); 10747 this.responseAPIstatus = false; 10748 this.viewRefresh = false; 10749 if (this.librarySetting.data.settings.resultList.defaultView == 'compact list') { 10750 this.listView = 'compact'; 10751 } 10752 else if (this.librarySetting.data.settings.resultList.defaultView == 'list') { 10753 this.listView = 'true'; 10754 } 10755 else if (this.librarySetting.data.settings.resultList.defaultView == 'grid') { 10756 this.listView = 'false'; 10757 } 10758 if (!this.cookieService.check('Popular_title_List_View')) { 10759 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 10760 } 10761 else { 10762 this.listView = this.cookieService.get('Popular_title_List_View'); 10763 } 10764 }); 10765 } 10766 } 10767 lazyLoading(cache, currentOffset, listSize) { 10768 var offset = (currentOffset + listSize); 10769 if (this.lazyRequeat == true || this.infiniteScroll === false || this.totalRecords < offset) { 10770 return false; 10771 } 10772 this.lazyRequeat = true; 10773 if (this.maxRecords > offset) { 10774 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, this.listSize, offset, this.facets.join()).subscribe((data) => { 10775 data.data.resources.forEach((evt) => { 10776 this.bulletinlist.data.resources.push(evt); 10777 }); 10778 this.lazyRequeat = false; 10779 this.viewRefresh = false; 10780 this.currentOffset = offset; 10781 }); 10782 } 10783 } 10784 getListSort(sortBy, descending, cache, offset) { 10785 if (sortBy === null) { 10786 sortBy = this.sortWith; 10787 } 10788 this.sortWith = sortBy; 10789 if (descending === null) { 10790 descending = this.descendingWith; 10791 } 10792 this.descendingWith = descending; 10793 this.currentOffset = offset; 10794 this.viewRefresh = true; 10795 return this.homepageService.getSortPageByCache(sortBy, descending, cache, this.listSize, offset, this.facets.join()).subscribe((data) => { 10796 this.bulletinlist = data; 10797 this.updateFacets(this.bulletinlist.data.facets); 10798 var pages = (data.data.totalCount / this.listSize); 10799 this.createRange(pages); 10800 this.viewRefresh = false; 10801 this.router.navigate([], { 10802 relativeTo: this.activatedRoute, 10803 queryParams: { 10804 order: this.sortWith, 10805 }, 10806 queryParamsHandling: "merge" 10807 }); 10808 }); 10809 } 10810 serachDataVisibleFn() { 10811 this.serachDataVisible = true; 10812 } 10813 serachDataVisibleFn1() { 10814 this.serachDataVisible1 = true; 10815 } 10816 changeView(view) { 10817 this.listView = view; 10818 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 10819 this.viewRefresh = true; 10820 setTimeout(() => { 10821 this.viewRefresh = false; 10822 }, 500); 10823 } 10824 createRange(number) { 10825 var items = []; 10826 for (var i = 0; i < number; i++) { 10827 items.push(i); 10828 } 10829 this.pagesCount = items; 10830 } 10831 //Showing icon for image error. 10832 imageError(event, images) { 10833 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 10834 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 10835 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 10836 index--; 10837 this.imageLoad(event, images, index, true); 10838 } 10839 else { 10840 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 10841 $('body').find('img[custom="' + event + '"]').remove(); 10842 } 10843 } 10844 //loading best image 10845 imageLoad(event, images, index, fromError = false) { 10846 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 10847 return false;
10848 } 10849 if ($('body').find('#' + event).length <= 0) { 10850 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 10851 } 10852 var $this = this; 10853 var imagesAll = this.searchService.sortedImage(images); 10854 $('#' + event).attr('src', imagesAll[index]); 10855 setTimeout(function () { 10856 var tempWidth = $('#' + event).width(); 10857 //console.log(tempWidth, event, index); 10858 var temp = document.getElementById(event); 10859 if (tempWidth <= 1 && index > 0) { 10860 $this.imageLoad(event, images, index - 1, true); 10861 return false; 10862 } 10863 else if (tempWidth <= 1 && index == 0) { 10864 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 10865 $('body').find('img[custom="' + event + '"]').remove(); 10866 } 10867 }, 500); 10868 if (typeof (imagesAll[index]) != 'undefined') { 10869 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 10870 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 10871 $('body').find('img[custom="' + event + '"]').attr('index', index); 10872 } 10873 } 10874 /* 10875 10876 imageError(event){ 10877 $('body').find('img[custom="'+event+'"]').after('<span class="Placeholders '+$('body').find('img[custom="'+event+'"]').attr('name')+'"><i class="material-icons md-48">'+$('body').find('img[custom="'+event+'"]').attr('alt')+'</i></span>'); 10878 $('body').find('img[custom="'+event+'"]').remove(); 10879 } 10880 10881 10882 imageLoad(event, images) { 10883 if($('body').find('img[custom="'+event+'"]').attr('loaded') == 'yes') { 10884 return false; 10885 } 10886 var sizes = ['xl','l','m','s','xs','xxs']; 10887 if($('body').find('#TempImg').length <= 0) { 10888 $('body').append('<img id="TempImg" src="" style="display:none;">'); 10889 } 10890 var imagesAll = [];
10891 sizes.forEach((evt) => { 10892 images.forEach((img) => { 10893 if(img.size == evt){ 10894 imagesAll.push(img.url); 10895 } 10896 }); 10897 }); 10898 10899 setTimeout(function() { 10900 if(typeof(imagesAll[0]) != 'undefined') { 10901 $('body').find('img[custom="'+event+'"]').attr('src',imagesAll[0]); 10902 $('body').find('img[custom="'+event+'"]').attr('loaded','yes'); 10903 } 10904 },10); 10905 } 10906 */ 10907 narrowSearch(event, cacheKey, facetId) { 10908 var index = this.facets.indexOf(facetId); 10909 if (index > -1) { 10910 this.facets.splice(index, 1); 10911 } 10912 else { 10913 this.facets.push(facetId); 10914 } 10915 this.viewRefresh = true; 10916 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 10917 this.totalRecords = data.data.totalCount; 10918 this.bulletinlist = data; 10919 this.updateFacets(this.bulletinlist.data.facets); 10920 var pages = (data.data.totalCount / this.listSize); 10921 this.createRange(pages); 10922 this.responseAPIstatus = false; 10923 this.viewRefresh = false; 10924 this.router.navigate([], { 10925 relativeTo: this.activatedRoute, 10926 queryParams: { 10927 facets: this.facets.join(), 10928 }, 10929 queryParamsHandling: "merge" 10930 }); 10931 }); 10932 } 10933 removeNorrow(cacheKey, facetId) { 10934 var index = this.facets.indexOf(facetId); 10935 if (index > -1) { 10936 this.facets.splice(index, 1); 10937 } 10938 this.viewRefresh = true; 10939 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 10940 this.totalRecords = data.data.totalCount; 10941 this.bulletinlist = data; 10942 this.updateFacets(this.bulletinlist.data.facets); 10943 var pages = (data.data.totalCount / this.listSize); 10944 this.createRange(pages); 10945 this.responseAPIstatus = false; 10946 this.viewRefresh = false; 10947 this.router.navigate([], { 10948 relativeTo: this.activatedRoute, 10949 queryParams: { 10950 facets: this.facets.join(), 10951 }, 10952 queryParamsHandling: "merge" 10953 }); 10954 }); 10955 } 10956 updateFacets(facets) { 10957 this.facetsInformation = []; 10958 facets.forEach((facets) => { 10959 var facetsData = []; 10960 if (this.narrowFilters.indexOf(facets.key) > -1 && facets.values[0]) { 10961 facets.values.forEach((fv) => { 10962 if (parseInt(fv.count) > 0) { 10963 facetsData.push(fv); 10964 } 10965 }); 10966 } 10967 if (facetsData[0]) { 10968 var temp = {}; 10969 temp['key'] = facets.key; 10970 temp['caption'] = facets.caption; 10971 temp['selectedId'] = facets.selectedId; 10972 temp['selectedValue'] = facets.selectedValue; 10973 temp['listOrder'] = facets.listOrder; 10974 temp['values'] = facetsData; 10975 this.facetsInformation.push(temp); 10976 } 10977 }); 10978 } 10979 addToMyList(event, Id) { 10980 var self = this; 10981 $('.addButton' + Id).addClass('fadeOutUp'); 10982 $('#myCollectionLi').addClass('fadeOutUpLI'); 10983 setTimeout(function () { 10984 $('.addButton' + Id).addClass('hide').removeClass('show').removeClass('fadeOutUp'); 10985 $('.removeButton' + Id).addClass('show').removeClass('hide'); 10986 this.resoursesCount = $('.addButton' + Id).length; 10987 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 10988 self.cookieService.set('MyLIstCount', (currentList + this.resoursesCount)); 10989 $('#myCollectionLi').find('span.count').text(currentList + this.resoursesCount); 10990 $('#myCollectionLi').find('a.onViewList').removeClass('hide').addClass('show'); 10991 $('#Publish-My-List').removeClass('hide').addClass('show'); 10992 if ($('#myCollectionLi').hasClass('hide')) { 10993 $('#myCollectionLi').removeClass('hide'); 10994 $('#myCollectionLi').addClass('show'); 10995 } 10996 var i; 10997 for (i = 1; i <= this.resoursesCount; i++) { 10998 self.selectedResourcesIds.push(Id); 10999 } 11000 localStorage.setItem('selectedResourcesIds', JSON.stringify(self.selectedResourcesIds)); 11001 //if(self.cookieService.check( 'info')){ 11002 if (localStorage.getItem('info')) { 11003 var auth = localStorage.getItem('token'); 11004 self.homepageService.saveMyList(auth, self.selectedResourcesIds).subscribe(data => { }, (error) => { 11005 if (self.cookieService.check('tempPersonalCollection')) { 11006 var cacheKey = self.cookieService.get('tempPersonalCollection'); 11007 } 11008 else { 11009 var cacheKey = ''; 11010 } 11011 var itemIds = []; 11012 itemIds.push(Id); 11013 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 11014 if (data.status) { 11015 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 11016 } 11017 }); 11018 }); 11019 } 11020 else { 11021 if (self.cookieService.check('tempPersonalCollection')) { 11022 var cacheKey = self.cookieService.get('tempPersonalCollection'); 11023 } 11024 else { 11025 var cacheKey = ''; 11026 } 11027 var itemIds = []; 11028 itemIds.push(Id); 11029 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 11030 if (data.status) { 11031 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 11032 } 11033 }); 11034 } 11035 }, 1000); 11036 setTimeout(function () { 11037 $('#myCollectionLi').removeClass('fadeOutUpLI'); 11038 }, 5000); 11039 } 11040 removeToMyList(event, Id) { 11041 $(document).find('.addButton' + Id).addClass('show').removeClass('hide'); 11042 $(document).find('.removeButton' + Id).addClass('hide').removeClass('show'); 11043 this.resoursesCount = $('.removeButton' + Id).length; 11044 var i; 11045 for (i = 1; i <= this.resoursesCount; i++) { 11046 var index = this.selectedResourcesIds.indexOf(Id); 11047 if (index > -1) { 11048 var index = this.selectedResourcesIds.splice(index, 1); 11049 } 11050 } 11051 localStorage.setItem('selectedResourcesIds', JSON.stringify(this.selectedResourcesIds)); 11052 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 11053 $('#myCollectionLi').find('span.count').text(currentList - this.resoursesCount); 11054 var tempCurrentList = currentList - this.resoursesCount; 11055 this.cookieService.set('MyLIstCount', (tempCurrentList.toString())); 11056 //if(this.cookieService.check( 'info')){ 11057 if (localStorage.getItem('info')) { 11058 var auth = localStorage.getItem('token'); 11059 this.homepageService.removeMyList(auth, Id).subscribe(data => { }); 11060 } 11061 else { 11062 if (this.cookieService.check('tempPersonalCollection')) { 11063 var cacheKey = this.cookieService.get('tempPersonalCollection'); 11064 this.homepageService.removePersonalcollection(Id, cacheKey).subscribe(data => { }); 11065 } 11066 } 11067 } 11068 updateMobileToggle(event) { 11069 if ($(event.target).hasClass('open')) { 11070 this.updateMobileToggleInfo = false;
11071 } 11072 else { 11073 this.updateMobileToggleInfo = true; 11074 } 11075 } 11076 showExportOptions(event, type) { 11077 event.preventDefault(); 11078 if (this.seletedExploreOptions != type) { 11079 $('.exploreCon').removeClass('openExploreOption'); 11080 } 11081 if (event.target.nodeName == 'I') { 11082 var seletor = $(event.target).parent(); 11083 } 11084 else { 11085 var seletor = $(event.target); 11086 } 11087 seletor.parent().toggleClass('openExploreOption'); 11088 this.seletedExploreOptions = type; 11089 } 11090 exportList(event, cacheKey, type) { 11091 $('.exploreCon').removeClass('openExploreOption'); 11092 if (type == 'listwithimage') { 11093 this.listView = 'true'; 11094 this.viewprintstatus = true; 11095 this.homepageService.getPopularPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 11096 this.totalRecords = data.data.totalCount; 11097 this.bulletinlist = data; 11098 this.updateFacets(this.bulletinlist.data.facets); 11099 var pages = (data.data.totalCount / this.listSize); 11100 this.createRange(pages); 11101 var self = this; 11102 setTimeout(function () { 11103 var libraryname = ''; 11104 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 11105 var slctloc = self.cookieService.get('selectedlocation' + tnt); 11106 self.librarySetting.data.settings.location.locations.forEach((loc) => { 11107 if (parseInt(loc.id) == parseInt(slctloc)) { 11108 libraryname = loc.name; 11109 } 11110 }); 11111 var html = $('div.list-view').html(); 11112 self.printFnWithHtml(html, libraryname); 11113 self.viewprintstatus = false; 11114 self.currentOffset = 10000; 11115 }, 2000); 11116 }); 11117 } 11118 else if (type == 'listWithImageAndSummary') { 11119 this.listView = 'summary'; 11120 this.viewprintstatus = true; 11121 this.homepageService.getPopularPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 11122 this.totalRecords = data.data.totalCount; 11123 this.bulletinlist = data; 11124 this.updateFacets(this.bulletinlist.data.facets); 11125 var pages = (data.data.totalCount / this.listSize); 11126 this.createRange(pages); 11127 var self = this; 11128 setTimeout(function () { 11129 var libraryname = ''; 11130 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 11131 var slctloc = self.cookieService.get('selectedlocation' + tnt); 11132 self.librarySetting.data.settings.location.locations.forEach((loc) => { 11133 if (parseInt(loc.id) == parseInt(slctloc)) { 11134 libraryname = loc.name; 11135 } 11136 }); 11137 var html = $('div.list-summary').html(); 11138 self.printFnWithHtml(html, libraryname); 11139 self.viewprintstatus = false; 11140 self.currentOffset = 10000; 11141 }, 2000); 11142 }); 11143 } 11144 else if (type == 'list') { 11145 this.listView = 'true'; 11146 this.viewprintstatus = true; 11147 this.homepageService.getPopularPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 11148 var html = ''; 11149 data.data.resources.forEach((list) => { 11150 html += '<p class="hangingindent" style="float: left;width: 100%;">'; 11151 html += '<span style="font-size:15px;font-weight: 600; float:left;">' + list.title + '</span><br/><span style=" font-size:15px; float:left; width:100%;">' + list.author + '</span><br/><span style="font-size:15px;float:left; width:100%;">' + list.call + '</span>'; 11152 html += '</p>'; 11153 }); 11154 var libraryname = ''; 11155 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 11156 var slctloc = this.cookieService.get('selectedlocation' + tnt); 11157 this.librarySetting.data.settings.location.locations.forEach((loc) => { 11158 if (parseInt(loc.id) == parseInt(slctloc)) { 11159 libraryname = loc.name; 11160 } 11161 }); 11162 this.printFn(html, libraryname); 11163 this.viewprintstatus = false;
11164 }); 11165 } 11166 else if (type == 'csv') { 11167 this.homepageService.getCSV(cacheKey, this.facets).subscribe((data) => { 11168 var device = ['iPhone', 'iPad', 'iPod']; 11169 const csvName = 'Library Resources.csv'; 11170 const blob = new Blob([data], { type: 'text/csv' }); 11171 if (device.indexOf(window.navigator.platform) > -1) { 11172 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 11173 var reader = new FileReader(); 11174 reader.onloadend = function (e) { 11175 const reader_result = reader.result; 11176 if (typeof reader_result === 'string') { 11177 window.open(reader_result); 11178 } 11179 else { 11180 window.open(reader_result.toString()); 11181 } 11182 }; 11183 reader.readAsDataURL(blob); 11184 } 11185 else { //Safari & Opera iOS 11186 const a = document.createElement('a'); 11187 const url = window.URL.createObjectURL(blob); 11188 a.href = url; 11189 a.download = csvName; 11190 a.click(); 11191 setTimeout(function () { 11192 window.URL.revokeObjectURL(url); 11193 a.remove(); 11194 }, 200); 11195 } 11196 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 11197 // window.navigator.msSaveOrOpenBlob(blob, csvName); 11198 } 11199 else { //Chrome & Firefox 11200 const a = document.createElement('a'); 11201 const url = window.URL.createObjectURL(blob); 11202 a.href = url; 11203 a.download = csvName; 11204 a.click(); 11205 window.URL.revokeObjectURL(url); 11206 a.remove(); 11207 } 11208 }, (error) => { 11209 this.notifier.notify('error', error.error.title); 11210 error.error.errors.id.forEach((res) => { 11211 this.notifier.notify('error', res); 11212 }); 11213 }); 11214 } 11215 else if (type == 'marc') { 11216 this.homepageService.getMarc(cacheKey, this.facets).subscribe((data) => { 11217 var device = ['iPhone', 'iPad', 'iPod']; 11218 const csvName = 'Library Resources.mrc'; 11219 const blob = new Blob([data], { type: 'application/marc' }); 11220 if (device.indexOf(window.navigator.platform) > -1) { 11221 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 11222 var reader = new FileReader(); 11223 reader.onloadend = function (e) { 11224 const reader_result = reader.result; 11225 if (typeof reader_result === 'string') { 11226 window.open(reader_result); 11227 } 11228 else { 11229 window.open(reader_result.toString()); 11230 } 11231 }; 11232 reader.readAsDataURL(blob); 11233 } 11234 else { //Safari & Opera iOS 11235 const a = document.createElement('a'); 11236 const url = window.URL.createObjectURL(blob); 11237 a.href = url; 11238 a.download = csvName; 11239 a.click(); 11240 setTimeout(function () { 11241 window.URL.revokeObjectURL(url); 11242 a.remove(); 11243 }, 200); 11244 } 11245 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 11246 // window.navigator.msSaveOrOpenBlob(blob, csvName); 11247 } 11248 else { //Chrome & Firefox 11249 const a = document.createElement('a'); 11250 const url = window.URL.createObjectURL(blob); 11251 a.href = url; 11252 a.download = csvName; 11253 a.click(); 11254 window.URL.revokeObjectURL(url); 11255 a.remove(); 11256 } 11257 }, (error) => { 11258 this.notifier.notify('error', error.error.title);
11259 error.error.errors.id.forEach((res) => { 11260 this.notifier.notify('error', res); 11261 }); 11262 }); 11263 } 11264 else { 11265 this.homepageService.printFormat(cacheKey, this.facets, type).subscribe((data) => { 11266 var html = ''; 11267 data.data.items.forEach((items, key) => { 11268 html += '<p class="hangingindent">'; 11269 items.elements.forEach((text) => { 11270 var style = "normal"; 11271 if (text.italic) { 11272 var style = "italic"; 11273 } 11274 html += '<span style="font-style: ' + style + '; font-size:15px;">' + text.text + '</span> '; 11275 }); 11276 html += '</p>'; 11277 }); 11278 this.printFn(html); 11279 }); 11280 } 11281 } 11282 printFnWithHtml(content, libraryName) { 11283 var mywindow = window.open('', '_blank'); 11284 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: 55px;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 45px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.book-box-bottom{display: block;}.avail-detail .material-icons {color: #8c8c8c;font-size: 21px !important;}.book-box-bottom-btn{display:none;}.avail-detail p{font-size: 15px;margin-bottom: 0;float: left;width: auto;min-width: 120px;margin-top: 0px;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}.modal-dialog{display: none;}</style>');
11285 mywindow.document.write('</head><body>'); 11286 mywindow.document.write('<h2 style="text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}">Popular Titles</h2>'); 11287 mywindow.document.write('<h4 style="text-align: center;margin-bottom: 40px;">' + libraryName + '</h4>'); 11288 mywindow.document.write(content); 11289 mywindow.document.write('</body></html>'); 11290 mywindow.document.close(); 11291 mywindow.onload = function () { 11292 const images = mywindow.document.images; 11293 let loaded = 0; 11294 function triggerPrint() { 11295 mywindow.focus(); 11296 mywindow.print(); 11297 } 11298 if (images.length === 0) { 11299 setTimeout(triggerPrint, 300); 11300 } 11301 else { 11302 Array.from(images).forEach((img) => { 11303 if (img.complete) { 11304 loaded++; 11305 if (loaded === images.length) 11306 setTimeout(triggerPrint, 300); 11307 } 11308 else { 11309 img.onload = img.onerror = () => { 11310 loaded++; 11311 if (loaded === images.length) 11312 setTimeout(triggerPrint, 300); 11313 }; 11314 } 11315 }); 11316 } 11317 }; 11318 mywindow.onafterprint = function () { 11319 mywindow.close(); 11320 }; 11321 return true; 11322 } 11323 printFn(content, libraryname = '') { 11324 var mywindow = window.open('', '_blank');
11325 mywindow.document.write('<html moznomarginboxes mozdisallowselectionprint><head><title>Print</title><style>.hangingindent {padding-left: 36px ;text-indent: -36px; }</style>'); 11326 mywindow.document.write('</head><body>'); 11327 mywindow.document.write('<h2 style="text-align:center">Popular Titles</h2>'); 11328 mywindow.document.write('<h4 style="text-align:center;margin-bottom: 40px;">' + libraryname + '</h4>'); 11329 mywindow.document.write(content); 11330 mywindow.document.write('</body></html>'); 11331 mywindow.document.close(); 11332 mywindow.focus(); 11333 mywindow.print(); 11334 mywindow.close(); 11335 return true; 11336 } 11337 //Showing add form for hold. 11338 showAddFormHold(resourceId, event) { 11339 //if(!this.cookieService.check('info')){ 11340 if (!localStorage.getItem('info')) { 11341 $('#loginSpanMessage').remove(); 11342 document.getElementById("loginLia").click(); 11343 $('#loginError').after('<span id="loginSpanMessage">Log in to place a hold on this resource.</span>'); 11344 setTimeout(function () { 11345 $('#loginSpanMessage').remove(); 11346 }, 10000); 11347 ///this.isPatronLogin=true; 11348 } 11349 } 11350 //Hide adding form 11351 hideAddForm() { 11352 this.showAddFormStatus = false; 11353 this.showHoldDate = false; 11354 } 11355 //Showing hold date. 11356 showHoldDateFn(event) { 11357 if ($(event.target).is(':checked')) { 11358 this.showHoldDate = true; 11359 } 11360 else { 11361 this.showHoldDate = false; 11362 this.date = new Date(Date.now()); 11363 } 11364 } 11365 //Holding request 11366 holdResource(event, resourceId, i) { 11367 $(event.target).val('Wait...').attr('disabled', 'disabled'); 11368 // var desiredDate = $('#datepicker-'+i).val(); 11369 var desiredDate = null; 11370 if (this.showHoldDate) { 11371 desiredDate = $('.holdDesireDate').val(); 11372 } 11373 var auth = localStorage.getItem('token'); 11374 var sessionId = 0; 11375 if (this.cookieService.check('renewSession')) { 11376 var sessionId = this.cookieService.get('renewSession'); 11377 } 11378 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { 11379 if (data.status) { 11380 this.bulletinlist.data.resources[i].holdId = data.data.circHoldId; 11381 this.bulletinlist.data.resources[i].canHold = false; 11382 this.cookieService.set('renewSession', data.data.sessionId, 365, '/'); 11383 this.notifier.notify('success', data.message); 11384 } 11385 else { 11386 this.notifier.notify('error', data.message); 11387 } 11388 $(event.target).val('Hold').removeAttr('disabled'); 11389 $('#closeHoldAdd-' + resourceId).click(); 11390 this.showHoldDate = false; 11391 this.date = new Date(Date.now()); 11392 }, (err) => { 11393 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { }, (error) => { 11394 $(event.target).val('Hold').removeAttr('disabled'); 11395 this.notifier.notify('error', 'Something Went Wrong'); 11396 }); 11397 //$(event.target).val('Hold').removeAttr('disabled'); 11398 //this.notifier.notify( 'error', 'Something Went Wrong'); 11399 }); 11400 } 11401 //Cancel hold request 11402 cancelHold(event, holdId, resourceId, i) { 11403 var token = localStorage.getItem('token'); 11404 this.bulletinlist.data.resources[i].holdId = null; 11405 $('#cancelholdsClose-' + resourceId).trigger('click'); 11406 this.homepageService.cancelHoldAccount(holdId, token).subscribe((data) => { 11407 if (data.status) { 11408 this.notifier.notify('success', data.message + ' successfully'); 11409 this.bulletinlist.data.resources[i].canHold = true; 11410 } 11411 else { 11412 this.bulletinlist.data.resources[i].holdId = holdId; 11413 this.bulletinlist.data.resources[i].canHold = false; 11414 this.notifier.notify('error', data.message); 11415 } 11416 }, (err) => { 11417 this.notifier.notify('error', 'Something Went Wrong'); 11418 }); 11419 } 11420}; 11421PopularListComponent.ctorParameters = () => [ 11422 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 11423 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 11424 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 11425 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 11426 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 11427 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 11428 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 11429 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 11430 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 11431]; 11432PopularListComponent = __decorate([ 11433 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 11434 selector: 'app-popular-list', 11435 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_popular_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 11436 styles: [_popular_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 11437 }) 11438], PopularListComponent); 11439 11440 11441 11442/***/ }), 11443 11444/***/ 83664: 11445/*!*************************************************************************!*\ 11446 !*** ./src/app/components/pages/reading-list/reading-list.component.ts ***! 11447 \*************************************************************************/ 11448/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 11449 11450"use strict"; 11451__webpack_require__.r(__webpack_exports__); 11452/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11453/* harmony export */ "ReadingListComponent": function() { return /* binding */ ReadingListComponent; } 11454/* harmony export */ }); 11455/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_reading_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./reading-list.component.html */ 97240); 11456/* harmony import */ var _reading_list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reading-list.component.css */ 27036); 11457/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 54364); 11458/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); 11459/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 11460/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 11461/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! angular-notifier */ 53874); 11462/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 71258); 11463var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 11464 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 11465 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 11466 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
11466 3 ? d(target, key, r) : d(target, key)) || r; 11467 return c > 3 && r && Object.defineProperty(target, key, r), r; 11468}; 11469 11470 11471 11472 11473 11474 11475 11476 11477let ReadingListComponent = class ReadingListComponent { 11478 constructor(document, activatedRoute, homepageService, cookieService, notifierService) { 11479 this.document = document; 11480 this.activatedRoute = activatedRoute; 11481 this.homepageService = homepageService; 11482 this.cookieService = cookieService; 11483 this.readingList = []; 11484 this.responseAPIstatus = true; 11485 this.loginUser = ''; 11486 this.loginUserPermission = false; 11487 this.editingResource = false; 11488 this.fileToUpload = null; 11489 this.curentLoc = []; 11490 this.totalLocations = 0; 11491 this.notifier = notifierService; 11492 } 11493 ngOnInit() { 11494 this.activatedRoute.queryParams.subscribe(params => { 11495 this.exploreId = params['exp-btn-id']; 11496 }); 11497 this.document.body.classList.add('inner-page'); 11498 this.document.body.classList.remove('list'); 11499 this.getReadinlist(); 11500 if (this.cookieService.check('patronPermissions')) { 11501 var userPermission = JSON.parse(this.cookieService.get('patronPermissions')); 11502 if (userPermission.opacAdmin && userPermission.opacPublishResourceList) { 11503 this.loginUserPermission = true; 11504 } 11505 } 11506 this.homepageService.getConfig().subscribe((data) => { 11507 var tenant = data.data.tenantCode.toLowerCase(); 11508 var selectedId = this.cookieService.get('selectedlocation' + tenant); 11509 //console.log('location', selectedId); 11510 this.totalLocations = data.data.settings.location.locations.length; 11511 data.data.settings.location.locations.forEach((loc) => { 11512 if (loc.id == selectedId) { 11513 this.curentLoc['id'] = loc.id; 11514 this.curentLoc['name'] = loc.name; 11515 } 11516 }); 11517 }); 11518 } 11519 getReadinlist() { 11520 this.responseAPIstatus = true; 11521 return this.homepageService.getReadinlist(this.exploreId).subscribe((data) => { 11522 this.readingList = data; 11523 this.responseAPIstatus = false; 11524 }); 11525 } 11526 editResourceList(event, id) { 11527 this.editingResource = true; 11528 var title = $('div#add-resource' + id).find('input[name="title"]').val(); 11529 var content = $('div#add-resource' + id).find('textarea[name="content"]').val(); 11530 var image = $('div#add-resource' + id).find('input[name="image"]').val(); 11531 var loations = $('div#add-resource' + id).find('input[name="selectLocation' + id + '"]:checked').val(); 11532 var published = true; 11533 var allLocation = false; 11534 if (loations == '') { 11535 //loations = null; 11536 allLocation = true; 11537 } 11538 if (loations == 'unpublished') { 11539 //loations = $('div#add-resource'+id).find('input[name="selectLocation'+id+'"]:first-child').val(); 11540 published = false; 11541 } 11542 var auth = localStorage.getItem('token'); 11543 //console.log('location', loations); 11544 //console.log('publish', published); 11545 //return false; 11546 this.homepageService.editResourseList(id, title, content, image, allLocation, published, auth).subscribe((data) => { 11547 this.homepageService.getReadinlist().subscribe((data1) => { 11548 this.readingList = data1; 11549 this.responseAPIstatus = false; 11550 this.editingResource = false;
11551 $(event.target).parents('.modal').find('#closeBulletinAdd').trigger('click'); 11552 }); 11553 }); 11554 } 11555 uploadImage(files, id) { 11556 this.editingResource = true; 11557 this.fileToUpload = files.item(0); 11558 let formData = new FormData(); 11559 formData.append('file', this.fileToUpload, this.fileToUpload.name); 11560 var token = localStorage.getItem('token'); 11561 this.homepageService.readingListImageUpload(formData, token).subscribe((data) => { 11562 this.editingResource = false; 11563 $('div#add-resource' + id).find('input[name="image"]').attr('value', data.data.url); 11564 $('div#add-resource' + id).find('img.regularImage').attr('src', data.data.url); 11565 }); 11566 } 11567 deleteresource(event, id) { 11568 if (confirm('Are you sure?')) { 11569 this.editingResource = true; 11570 var token = localStorage.getItem('token'); 11571 this.homepageService.deleteReadingList(id, token).subscribe((data) => { 11572 //console.log(data, '+++++++++++++'); 11573 if (data.status) { 11574 this.editingResource = false;
11575 $(event.target).parents('.modal').find('#closeBulletinAdd').trigger('click'); 11576 this.homepageService.getReadinlist().subscribe((data1) => { 11577 this.readingList = data1; 11578 }); 11579 } 11580 else { 11581 this.editingResource = false; 11582 $(event.target).parents('.modal').find('#closeBulletinAdd').trigger('click'); 11583 this.notifier.notify('error', 'Something went wrong.'); 11584 } 11585 }, (error) => { 11586 this.editingResource = false; 11587 $(event.target).parents('.modal').find('#closeBulletinAdd').trigger('click'); 11588 this.notifier.notify('error', 'Something went wrong.'); 11589 }); 11590 } 11591 } 11592 unpublishResource(event, id) { 11593 if (confirm('Are you sure?')) { 11594 var token = localStorage.getItem('token'); 11595 this.homepageService.unpublishReadingList(id, token).subscribe((data) => { 11596 this.homepageService.getReadinlist().subscribe((data1) => { 11597 this.readingList = data1; 11598 }); 11599 }); 11600 } 11601 } 11602}; 11603ReadingListComponent.ctorParameters = () => [ 11604 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_4__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_5__.DOCUMENT,] }] }, 11605 { type: _angular_router__WEBPACK_IMPORTED_MODULE_6__.ActivatedRoute }, 11606 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 11607 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__.CookieService }, 11608 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_3__.NotifierService } 11609]; 11610ReadingListComponent = __decorate([ 11611 (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Component)({ 11612 selector: 'app-reading-list', 11613 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_reading_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 11614 styles: [_reading_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 11615 }) 11616], ReadingListComponent); 11617 11618 11619 11620/***/ }), 11621 11622/***/ 63068: 11623/*!*********************************************************************************!*\ 11624 !*** ./src/app/components/pages/recommended-list/recommended-list.component.ts ***! 11625 \*********************************************************************************/ 11626/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 11627 11628"use strict"; 11629__webpack_require__.r(__webpack_exports__); 11630/* harmony export */ __webpack_require__.d(__webpack_exports__, { 11631/* harmony export */ "RecommendedListComponent": function() { return /* binding */ RecommendedListComponent; } 11632/* harmony export */ }); 11633/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_recommended_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./recommended-list.component.html */ 97141); 11634/* harmony import */ var _recommended_list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recommended-list.component.css */ 65532); 11635/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 11636/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 11637/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 11638/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 11639/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 11640/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 11641/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 11642/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 11643/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 11644var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 11645 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 11646 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 11647 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
11647 3 ? d(target, key, r) : d(target, key)) || r; 11648 return c > 3 && r && Object.defineProperty(target, key, r), r; 11649}; 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661let RecommendedListComponent = class RecommendedListComponent { 11662 constructor(authService, searchService, homepageService, document, routerService, cookieService, router, activatedRoute, notifierService) { 11663 this.authService = authService; 11664 this.searchService = searchService; 11665 this.homepageService = homepageService; 11666 this.document = document; 11667 this.routerService = routerService; 11668 this.cookieService = cookieService; 11669 this.router = router; 11670 this.activatedRoute = activatedRoute; 11671 this.exploreoptions = false; 11672 this.seletedExploreOptions = ''; 11673 this.printStyle = ''; 11674 this.librarySetting = []; 11675 this.resoursesCount = 0; 11676 this.bulletinlist = []; 11677 this.responseAPIstatus = true; 11678 this.serachDataVisible = false; 11679 this.viewprintstatus = false; 11680 this.serachDataVisible1 = false; 11681 this.listSize = 5; 11682 this.sortWith = 'date'; 11683 this.descendingWith = true; 11684 this.currentOffset = 0; 11685 this.listView = 'true'; 11686 this.viewRefresh = true; 11687 this.narrowFilters = []; 11688 this.maxRecords = 100; 11689 this.infiniteScroll = true; 11690 this.selectedResourcesIds = []; 11691 this.updateMobileToggleInfo = false; 11692 this.exportOptions = []; 11693 this.exportEmailOptions = []; 11694 this.isPatronLogin = false; 11695 this.facets = []; 11696 this.exportDownloadOptions = []; 11697 this.patronEmail = ''; 11698 this.sendingMail = false; 11699 this.showAddFormStatus = false; 11700 this.showHoldDate = false; 11701 this.date = new Date(Date.now()); 11702 this.lastDayDate = ''; 11703 this.exploreId = null; 11704 //Date picker options. 11705 this.options = { 11706 minYear: 1970, 11707 maxYear: 2030, 11708 format: 'MM-dd-yyyy', 11709 formatTitle: 'MMMM yyyy', 11710 formatDays: 'EEEEEE', 11711 firstCalendarDay: 0, 11712 minDate: this.lastDayDate, 11713 //barTitleIfEmpty: 'Desired Date', 11714 inputClass: 'holdDesireDate', 11715 placeholder: 'Select Date', // HTML input placeholder attribute (default: '') 11716 //addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 11717 //fieldId: 'holdDesireDate', // ID to assign to the input field. Defaults to datepicker-<counter> 11718 // useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 11719 }; 11720 this.notifier = notifierService; 11721 } 11722 ngOnInit() { 11723 var settingData = this.homepageService.getUpdatedConfig(); 11724 this.listSize = settingData.data.settings.newInLibrary.listSize; 11725 var dd = new Date(Date.now()); 11726 this.lastDayDate = dd.setDate(dd.getDate() - 1); 11727 if (this.cookieService.check('userDetail')) 11728 this.patronEmail = JSON.parse(this.cookieService.get('userDetail')).email; 11729 this.activatedRoute.queryParams.subscribe(params => { 11730 if (typeof (params.facets) != 'undefined' && params.facets != '') { 11731 var tempFactes = params.facets.split(","); 11732 for (var i = 0; i < tempFactes.length; i++) { 11733 var index = this.facets.indexOf(parseInt(tempFactes[i])); 11734 if (index < 0) { 11735 this.facets.push(parseInt(tempFactes[i])); 11736 } 11737 } 11738 } 11739 if (typeof (params.order) != 'undefined' && params.order != '') { 11740 this.sortWith = params.order; 11741 } 11742 this.exploreId = params['exp-btn-id']; 11743 }); 11744 this.document.body.classList.add('inner-page'); 11745 this.document.body.classList.add('list'); 11746 if (this.sortWith == 'date') { 11747 this.descendingWith = true; 11748 } 11749 else { 11750 this.descendingWith = false; 11751 } 11752 this.getpopularlist(this.sortWith, this.descendingWith); 11753 this.routerService.setTextUrl('Recommended for You'); 11754 if (localStorage.getItem('selectedResourcesIds') != null) { 11755 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 11756 } 11757 //if(this.cookieService.check( 'info') ){ 11758 if (localStorage.getItem('info')) { 11759 this.isPatronLogin = true; 11760 } 11761 } 11762 openDailog(type) { 11763 $('.exploreCon').removeClass('openExploreOption'); 11764 $('#emailType').val(type.toUpperCase()); 11765 } 11766 exportListEmail(event, cacheKey) { 11767 this.sendingMail = true; 11768 //console.log(cacheKey, $('#emailType').val()); 11769 this.homepageService.getEmail(cacheKey, this.facets, $('#emailType').val()).subscribe((data) => { 11770 this.sendingMail = false;
11771 $('#closeEmailModal').trigger('click'); 11772 if (data.status) 11773 this.notifier.notify('success', data.message); 11774 else 11775 this.notifier.notify('error', data.message); 11776 }, (error) => { 11777 this.sendingMail = false; 11778 $('#closeEmailModal').trigger('click'); 11779 this.notifier.notify('error', error.error.title); 11780 error.error.errors.id.forEach((res) => { 11781 this.notifier.notify('error', res); 11782 }); 11783 }); 11784 } 11785 getpopularlist(sortBy, descending) { 11786 var data = this.homepageService.getUpdatedConfig(); 11787 this.librarySetting = data; 11788 if (this.librarySetting.data.settings.resultList.export.formats.list) { 11789 var temp = []; 11790 temp['key'] = 'list'; 11791 temp['value'] = 'List'; 11792 this.exportOptions.push(temp); 11793 this.exportEmailOptions.push(temp); 11794 } 11795 if (this.librarySetting.data.settings.resultList.export.formats.listWithImage) { 11796 var temp = []; 11797 temp['key'] = 'listwithimage'; 11798 temp['value'] = 'List with Images'; 11799 this.exportOptions.push(temp); 11800 } 11801 if (this.librarySetting.data.settings.resultList.export.formats.listWithImageAndSummary) { 11802 var temp = []; 11803 temp['key'] = 'listWithImageAndSummary'; 11804 temp['value'] = 'List with Images and Summary'; 11805 //this.printStyle = 'summary'; 11806 this.exportOptions.push(temp); 11807 } 11808 if (this.librarySetting.data.settings.resultList.export.formats.apa) { 11809 var temp = []; 11810 temp['key'] = 'apa'; 11811 temp['value'] = 'Bibliography - APA'; 11812 this.exportOptions.push(temp); 11813 this.exportEmailOptions.push(temp); 11814 } 11815 if (this.librarySetting.data.settings.resultList.export.formats.mla) { 11816 var temp = []; 11817 temp['key'] = 'mla'; 11818 temp['value'] = 'Bibliography - MLA'; 11819 this.exportOptions.push(temp); 11820 this.exportEmailOptions.push(temp); 11821 } 11822 if (this.librarySetting.data.settings.resultList.export.formats.chicago) { 11823 var temp = []; 11824 temp['key'] = 'cmos'; 11825 temp['value'] = 'Bibliography - Chicago Style'; 11826 this.exportOptions.push(temp); 11827 this.exportEmailOptions.push(temp); 11828 } 11829 if (this.librarySetting.data.settings.resultList.export.formats.csv) { 11830 var temp = []; 11831 temp['key'] = 'csv'; 11832 temp['value'] = 'CSV'; 11833 this.exportDownloadOptions.push(temp); 11834 } 11835 if (this.librarySetting.data.settings.resultList.export.formats.marc) { 11836 var temp = []; 11837 temp['key'] = 'marc'; 11838 temp['value'] = 'Marc'; 11839 this.exportDownloadOptions.push(temp); 11840 } 11841 this.maxRecords = data.data.settings.resultList.maxItems; 11842 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 11843 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 11844 if (data.data.settings.search.filter.availability.enabled === true) { 11845 this.narrowFilters.push('ava'); 11846 } 11847 if (data.data.settings.search.filter.category.enabled === true) { 11848 this.narrowFilters.push('cat'); 11849 } 11850 if (data.data.settings.search.filter.lexile.enabled === true) { 11851 this.narrowFilters.push('lxl'); 11852 } 11853 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 11854 this.narrowFilters.push('lxg'); 11855 } 11856 if (data.data.settings.search.filter.lexileCode.enabled === true) { 11857 this.narrowFilters.push('lxc'); 11858 } 11859 if (data.data.settings.search.filter.fountas.enabled === true) { 11860 this.narrowFilters.push('fpl'); 11861 } 11862 if (data.data.settings.search.filter.rc.enabled === true) { 11863 this.narrowFilters.push('rcl'); 11864 } 11865 if (data.data.settings.search.filter.ar.enabled === true) { 11866 this.narrowFilters.push('arl'); 11867 } 11868 if (data.data.settings.search.filter.arInterest.enabled === true) { 11869 this.narrowFilters.push('ari'); 11870 } 11871 if (data.data.settings.search.filter.year.enabled === true) { 11872 this.narrowFilters.push('pub'); 11873 } 11874 if (data.data.settings.search.filter.series.enabled === true) { 11875 this.narrowFilters.push('ser'); 11876 } 11877 if (data.data.settings.search.filter.subject.enabled === true) { 11878 this.narrowFilters.push('sub'); 11879 } 11880 if (data.status === true && data.data.settings.resultList.pageSize) { 11881 this.listSize = data.data.settings.resultList.pageSize; 11882 if (sortBy == 'date') { 11883 descending = true; 11884 } 11885 else { 11886 descending = false;
11887 } 11888 return this.homepageService.getRecommendedPage(sortBy, descending, this.listSize, this.facets.join(), this.exploreId).subscribe((data) => { 11889 this.totalRecords = data.data.totalCount; 11890 this.bulletinlist = data; 11891 this.updateFacets(this.bulletinlist.data.facets); 11892 var pages = (data.data.totalCount / this.listSize); 11893 this.createRange(pages); 11894 this.responseAPIstatus = false; 11895 this.viewRefresh = false; 11896 if (this.librarySetting.data.settings.resultList.defaultView == 'compact list') { 11897 this.listView = 'compact'; 11898 } 11899 else if (this.librarySetting.data.settings.resultList.defaultView == 'list') { 11900 this.listView = 'true'; 11901 } 11902 else if (this.librarySetting.data.settings.resultList.defaultView == 'grid') { 11903 this.listView = 'false'; 11904 } 11905 if (!this.cookieService.check('Recommended_List_View')) { 11906 this.cookieService.set('Recommended_List_View', this.listView, 365, '/'); 11907 } 11908 else { 11909 this.listView = this.cookieService.get('Recommended_List_View'); 11910 } 11911 }); 11912 } 11913 } 11914 lazyLoading(cache, currentOffset, listSize) { 11915 var offset = (currentOffset + listSize); 11916 if (this.lazyRequeat == true || this.infiniteScroll === false || this.totalRecords < offset) { 11917 return false; 11918 } 11919 this.lazyRequeat = true; 11920 if (this.maxRecords > offset) { 11921 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, this.listSize, offset, this.facets.join()).subscribe((data) => { 11922 data.data.resources.forEach((evt) => { 11923 this.bulletinlist.data.resources.push(evt); 11924 }); 11925 this.lazyRequeat = false; 11926 this.viewRefresh = false; 11927 this.currentOffset = offset; 11928 }); 11929 } 11930 } 11931 getListSort(sortBy, descending, cache, offset) { 11932 if (sortBy === null) { 11933 sortBy = this.sortWith; 11934 } 11935 this.sortWith = sortBy; 11936 if (descending === null) { 11937 descending = this.descendingWith; 11938 } 11939 this.descendingWith = descending; 11940 this.currentOffset = offset; 11941 this.viewRefresh = true; 11942 return this.homepageService.getSortPageByCache(sortBy, descending, cache, this.listSize, offset, this.facets.join()).subscribe((data) => { 11943 this.bulletinlist = data; 11944 this.updateFacets(this.bulletinlist.data.facets); 11945 var pages = (data.data.totalCount / this.listSize); 11946 this.createRange(pages); 11947 this.viewRefresh = false; 11948 this.router.navigate([], { 11949 relativeTo: this.activatedRoute, 11950 queryParams: { 11951 order: this.sortWith, 11952 }, 11953 queryParamsHandling: "merge" 11954 }); 11955 }); 11956 } 11957 serachDataVisibleFn() { 11958 this.serachDataVisible = true; 11959 } 11960 serachDataVisibleFn1() { 11961 this.serachDataVisible1 = true; 11962 } 11963 changeView(view) { 11964 this.listView = view; 11965 this.cookieService.set('Recommended_List_View', this.listView, 365, '/'); 11966 this.viewRefresh = true; 11967 setTimeout(() => { 11968 this.viewRefresh = false; 11969 }, 500); 11970 } 11971 createRange(number) { 11972 var items = []; 11973 for (var i = 0; i < number; i++) { 11974 items.push(i); 11975 } 11976 this.pagesCount = items; 11977 } 11978 //Showing icon for image error. 11979 imageError(event, images) { 11980 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 11981 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 11982 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 11983 index--; 11984 this.imageLoad(event, images, index, true); 11985 } 11986 else { 11987 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 11988 $('body').find('img[custom="' + event + '"]').remove(); 11989 } 11990 } 11991 //loading best image 11992 imageLoad(event, images, index, fromError = false) { 11993 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 11994 return false;
11995 } 11996 if ($('body').find('#' + event).length <= 0) { 11997 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 11998 } 11999 var $this = this; 12000 var imagesAll = this.searchService.sortedImage(images); 12001 $('#' + event).attr('src', imagesAll[index]); 12002 setTimeout(function () { 12003 var tempWidth = $('#' + event).width(); 12004 //console.log(tempWidth, event, index); 12005 var temp = document.getElementById(event); 12006 if (tempWidth <= 1 && index > 0) { 12007 $this.imageLoad(event, images, index - 1, true); 12008 return false; 12009 } 12010 else if (tempWidth <= 1 && index == 0) { 12011 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 12012 $('body').find('img[custom="' + event + '"]').remove(); 12013 } 12014 }, 500); 12015 if (typeof (imagesAll[index]) != 'undefined') { 12016 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 12017 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 12018 $('body').find('img[custom="' + event + '"]').attr('index', index); 12019 } 12020 } 12021 /* 12022 12023 imageError(event){ 12024 $('body').find('img[custom="'+event+'"]').after('<span class="Placeholders '+$('body').find('img[custom="'+event+'"]').attr('name')+'"><i class="material-icons md-48">'+$('body').find('img[custom="'+event+'"]').attr('alt')+'</i></span>'); 12025 $('body').find('img[custom="'+event+'"]').remove(); 12026 } 12027 12028 12029 imageLoad(event, images) { 12030 if($('body').find('img[custom="'+event+'"]').attr('loaded') == 'yes') { 12031 return false; 12032 } 12033 var sizes = ['xl','l','m','s','xs','xxs']; 12034 if($('body').find('#TempImg').length <= 0) { 12035 $('body').append('<img id="TempImg" src="" style="display:none;">'); 12036 } 12037 var imagesAll = [];
12038 sizes.forEach((evt) => { 12039 images.forEach((img) => { 12040 if(img.size == evt){ 12041 imagesAll.push(img.url); 12042 } 12043 }); 12044 }); 12045 12046 setTimeout(function() { 12047 if(typeof(imagesAll[0]) != 'undefined') { 12048 $('body').find('img[custom="'+event+'"]').attr('src',imagesAll[0]); 12049 $('body').find('img[custom="'+event+'"]').attr('loaded','yes'); 12050 } 12051 },10); 12052 } 12053 */ 12054 narrowSearch(event, cacheKey, facetId) { 12055 var index = this.facets.indexOf(facetId); 12056 if (index > -1) { 12057 this.facets.splice(index, 1); 12058 } 12059 else { 12060 this.facets.push(facetId); 12061 } 12062 this.viewRefresh = true; 12063 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 12064 this.totalRecords = data.data.totalCount; 12065 this.bulletinlist = data; 12066 this.updateFacets(this.bulletinlist.data.facets); 12067 var pages = (data.data.totalCount / this.listSize); 12068 this.createRange(pages); 12069 this.responseAPIstatus = false; 12070 this.viewRefresh = false; 12071 this.router.navigate([], { 12072 relativeTo: this.activatedRoute, 12073 queryParams: { 12074 facets: this.facets.join(), 12075 }, 12076 queryParamsHandling: "merge" 12077 }); 12078 }); 12079 } 12080 removeNorrow(cacheKey, facetId) { 12081 var index = this.facets.indexOf(facetId); 12082 if (index > -1) { 12083 this.facets.splice(index, 1); 12084 } 12085 this.viewRefresh = true; 12086 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 12087 this.totalRecords = data.data.totalCount; 12088 this.bulletinlist = data; 12089 this.updateFacets(this.bulletinlist.data.facets); 12090 var pages = (data.data.totalCount / this.listSize); 12091 this.createRange(pages); 12092 this.responseAPIstatus = false; 12093 this.viewRefresh = false; 12094 this.router.navigate([], { 12095 relativeTo: this.activatedRoute, 12096 queryParams: { 12097 facets: this.facets.join(), 12098 }, 12099 queryParamsHandling: "merge" 12100 }); 12101 }); 12102 } 12103 updateFacets(facets) { 12104 this.facetsInformation = []; 12105 facets.forEach((facets) => { 12106 var facetsData = []; 12107 if (this.narrowFilters.indexOf(facets.key) > -1 && facets.values[0]) { 12108 facets.values.forEach((fv) => { 12109 if (parseInt(fv.count) > 0) { 12110 facetsData.push(fv); 12111 } 12112 }); 12113 } 12114 if (facetsData[0]) { 12115 var temp = {}; 12116 temp['key'] = facets.key; 12117 temp['caption'] = facets.caption; 12118 temp['selectedId'] = facets.selectedId; 12119 temp['selectedValue'] = facets.selectedValue; 12120 temp['listOrder'] = facets.listOrder; 12121 temp['values'] = facetsData; 12122 this.facetsInformation.push(temp); 12123 } 12124 }); 12125 } 12126 addToMyList(event, Id) { 12127 var self = this; 12128 $('.addButton' + Id).addClass('fadeOutUp'); 12129 $('#myCollectionLi').addClass('fadeOutUpLI'); 12130 setTimeout(function () { 12131 $('.addButton' + Id).addClass('hide').removeClass('show').removeClass('fadeOutUp'); 12132 $('.removeButton' + Id).addClass('show').removeClass('hide'); 12133 this.resoursesCount = $('.addButton' + Id).length; 12134 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 12135 self.cookieService.set('MyLIstCount', (currentList + this.resoursesCount)); 12136 $('#myCollectionLi').find('span.count').text(currentList + this.resoursesCount); 12137 $('#myCollectionLi').find('a.onViewList').removeClass('hide').addClass('show'); 12138 $('#Publish-My-List').removeClass('hide').addClass('show'); 12139 if ($('#myCollectionLi').hasClass('hide')) { 12140 $('#myCollectionLi').removeClass('hide'); 12141 $('#myCollectionLi').addClass('show'); 12142 } 12143 var i; 12144 for (i = 1; i <= this.resoursesCount; i++) { 12145 self.selectedResourcesIds.push(Id); 12146 } 12147 localStorage.setItem('selectedResourcesIds', JSON.stringify(self.selectedResourcesIds)); 12148 //if(self.cookieService.check( 'info')){ 12149 if (localStorage.getItem('info')) { 12150 var auth = localStorage.getItem('token'); 12151 self.homepageService.saveMyList(auth, self.selectedResourcesIds).subscribe(data => { }, (error) => { 12152 if (self.cookieService.check('tempPersonalCollection')) { 12153 var cacheKey = self.cookieService.get('tempPersonalCollection'); 12154 } 12155 else { 12156 var cacheKey = ''; 12157 } 12158 var itemIds = []; 12159 itemIds.push(Id); 12160 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 12161 if (data.status) { 12162 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 12163 } 12164 }); 12165 }); 12166 } 12167 else { 12168 if (self.cookieService.check('tempPersonalCollection')) { 12169 var cacheKey = self.cookieService.get('tempPersonalCollection'); 12170 } 12171 else { 12172 var cacheKey = ''; 12173 } 12174 var itemIds = []; 12175 itemIds.push(Id); 12176 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 12177 if (data.status) { 12178 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 12179 } 12180 }); 12181 } 12182 }, 1000); 12183 setTimeout(function () { 12184 $('#myCollectionLi').removeClass('fadeOutUpLI'); 12185 }, 5000); 12186 } 12187 removeToMyList(event, Id) { 12188 $(document).find('.addButton' + Id).addClass('show').removeClass('hide'); 12189 $(document).find('.removeButton' + Id).addClass('hide').removeClass('show'); 12190 this.resoursesCount = $('.removeButton' + Id).length; 12191 var i; 12192 for (i = 1; i <= this.resoursesCount; i++) { 12193 var index = this.selectedResourcesIds.indexOf(Id); 12194 if (index > -1) { 12195 var index = this.selectedResourcesIds.splice(index, 1); 12196 } 12197 } 12198 localStorage.setItem('selectedResourcesIds', JSON.stringify(this.selectedResourcesIds)); 12199 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 12200 $('#myCollectionLi').find('span.count').text(currentList - this.resoursesCount); 12201 var tempCurrentList = currentList - this.resoursesCount; 12202 this.cookieService.set('MyLIstCount', (tempCurrentList.toString())); 12203 //if(this.cookieService.check( 'info')){ 12204 if (localStorage.getItem('info')) { 12205 var auth = localStorage.getItem('token'); 12206 this.homepageService.removeMyList(auth, Id).subscribe(data => { }); 12207 } 12208 else { 12209 if (this.cookieService.check('tempPersonalCollection')) { 12210 var cacheKey = this.cookieService.get('tempPersonalCollection'); 12211 this.homepageService.removePersonalcollection(Id, cacheKey).subscribe(data => { }); 12212 } 12213 } 12214 } 12215 updateMobileToggle(event) { 12216 if ($(event.target).hasClass('open')) { 12217 this.updateMobileToggleInfo = false;
12218 } 12219 else { 12220 this.updateMobileToggleInfo = true; 12221 } 12222 } 12223 showExportOptions(event, type) { 12224 event.preventDefault(); 12225 if (this.seletedExploreOptions != type) { 12226 $('.exploreCon').removeClass('openExploreOption'); 12227 } 12228 if (event.target.nodeName == 'I') { 12229 var seletor = $(event.target).parent(); 12230 } 12231 else { 12232 var seletor = $(event.target); 12233 } 12234 seletor.parent().toggleClass('openExploreOption'); 12235 this.seletedExploreOptions = type; 12236 } 12237 exportList(event, cacheKey, type) { 12238 $('.exploreCon').removeClass('openExploreOption'); 12239 if (type == 'listwithimage') { 12240 this.listView = 'true'; 12241 this.viewprintstatus = true; 12242 this.homepageService.getRecommendedPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 12243 this.totalRecords = data.data.totalCount; 12244 this.bulletinlist = data; 12245 this.updateFacets(this.bulletinlist.data.facets); 12246 var pages = (data.data.totalCount / this.listSize); 12247 this.createRange(pages); 12248 var self = this; 12249 setTimeout(function () { 12250 var libraryname = ''; 12251 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 12252 var slctloc = self.cookieService.get('selectedlocation' + tnt); 12253 self.librarySetting.data.settings.location.locations.forEach((loc) => { 12254 if (parseInt(loc.id) == parseInt(slctloc)) { 12255 libraryname = loc.name; 12256 } 12257 }); 12258 var html = $('div.list-view').html(); 12259 self.printFnWithHtml(html, libraryname); 12260 self.viewprintstatus = false; 12261 self.currentOffset = 10000; 12262 }, 2000); 12263 }); 12264 } 12265 else if (type == 'listWithImageAndSummary') { 12266 this.listView = 'summary'; 12267 this.viewprintstatus = true; 12268 this.homepageService.getRecommendedPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 12269 this.totalRecords = data.data.totalCount; 12270 this.bulletinlist = data; 12271 this.updateFacets(this.bulletinlist.data.facets); 12272 var pages = (data.data.totalCount / this.listSize); 12273 this.createRange(pages); 12274 var self = this; 12275 setTimeout(function () { 12276 var libraryname = ''; 12277 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 12278 var slctloc = self.cookieService.get('selectedlocation' + tnt); 12279 self.librarySetting.data.settings.location.locations.forEach((loc) => { 12280 if (parseInt(loc.id) == parseInt(slctloc)) { 12281 libraryname = loc.name; 12282 } 12283 }); 12284 var html = $('div.list-summary').html(); 12285 self.printFnWithHtml(html, libraryname); 12286 self.viewprintstatus = false; 12287 self.currentOffset = 10000; 12288 }, 2000); 12289 }); 12290 } 12291 else if (type == 'list') { 12292 this.listView = 'true'; 12293 this.viewprintstatus = true; 12294 this.homepageService.getRecommendedPage(this.sortWith, this.descendingWith, 10000, this.facets.join(), this.exploreId).subscribe((data) => { 12295 var html = ''; 12296 data.data.resources.forEach((list) => { 12297 html += '<p class="hangingindent" style="float: left;width: 100%;">'; 12298 html += '<span style="font-size:15px;font-weight: 600; float:left;">' + list.title + '</span><br/><span style=" font-size:15px; float:left; width:100%;">' + list.author + '</span><br/><span style="font-size:15px;float:left; width:100%;">
12298' + list.call + '</span>'; 12299 html += '</p>'; 12300 }); 12301 var libraryname = ''; 12302 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 12303 var slctloc = this.cookieService.get('selectedlocation' + tnt); 12304 this.librarySetting.data.settings.location.locations.forEach((loc) => { 12305 if (parseInt(loc.id) == parseInt(slctloc)) { 12306 libraryname = loc.name; 12307 } 12308 }); 12309 this.printFn(html, libraryname); 12310 this.viewprintstatus = false; 12311 }); 12312 } 12313 else if (type == 'csv') { 12314 this.homepageService.getCSV(cacheKey, this.facets).subscribe((data) => { 12315 var device = ['iPhone', 'iPad', 'iPod']; 12316 const csvName = 'Library Resources.csv'; 12317 const blob = new Blob([data], { type: 'text/csv' }); 12318 if (device.indexOf(window.navigator.platform) > -1) { 12319 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 12320 var reader = new FileReader(); 12321 reader.onloadend = function (e) { 12322 const reader_result = reader.result; 12323 if (typeof reader_result === 'string') { 12324 window.open(reader_result); 12325 } 12326 else { 12327 window.open(reader_result.toString()); 12328 } 12329 }; 12330 reader.readAsDataURL(blob); 12331 } 12332 else { //Safari & Opera iOS 12333 const a = document.createElement('a'); 12334 const url = window.URL.createObjectURL(blob); 12335 a.href = url; 12336 a.download = csvName; 12337 a.click(); 12338 setTimeout(function () { 12339 window.URL.revokeObjectURL(url); 12340 a.remove(); 12341 }, 200); 12342 } 12343 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 12344 // window.navigator.msSaveOrOpenBlob(blob, csvName); 12345 } 12346 else { //Chrome & Firefox 12347 const a = document.createElement('a'); 12348 const url = window.URL.createObjectURL(blob); 12349 a.href = url; 12350 a.download = csvName; 12351 a.click(); 12352 window.URL.revokeObjectURL(url); 12353 a.remove(); 12354 } 12355 }, (error) => { 12356 this.notifier.notify('error', error.error.title); 12357 error.error.errors.id.forEach((res) => { 12358 this.notifier.notify('error', res); 12359 }); 12360 }); 12361 } 12362 else if (type == 'marc') { 12363 this.homepageService.getMarc(cacheKey, this.facets).subscribe((data) => { 12364 var device = ['iPhone', 'iPad', 'iPod']; 12365 const csvName = 'Library Resources.mrc'; 12366 const blob = new Blob([data], { type: 'application/marc' }); 12367 if (device.indexOf(window.navigator.platform) > -1) { 12368 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 12369 var reader = new FileReader(); 12370 reader.onloadend = function (e) { 12371 const reader_result = reader.result; 12372 if (typeof reader_result === 'string') { 12373 window.open(reader_result); 12374 } 12375 else { 12376 window.open(reader_result.toString()); 12377 } 12378 }; 12379 reader.readAsDataURL(blob); 12380 } 12381 else { //Safari & Opera iOS 12382 const a = document.createElement('a'); 12383 const url = window.URL.createObjectURL(blob); 12384 a.href = url; 12385 a.download = csvName; 12386 a.click(); 12387 setTimeout(function () { 12388 window.URL.revokeObjectURL(url); 12389 a.remove(); 12390 }, 200); 12391 } 12392 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 12393 // window.navigator.msSaveOrOpenBlob(blob, csvName); 12394 } 12395 else { //Chrome & Firefox 12396 const a = document.createElement('a'); 12397 const url = window.URL.createObjectURL(blob); 12398 a.href = url; 12399 a.download = csvName; 12400 a.click(); 12401 window.URL.revokeObjectURL(url); 12402 a.remove(); 12403 } 12404 }, (error) => { 12405 this.notifier.notify('error', error.error.title);
12406 error.error.errors.id.forEach((res) => { 12407 this.notifier.notify('error', res); 12408 }); 12409 }); 12410 } 12411 else { 12412 this.homepageService.printFormat(cacheKey, this.facets, type).subscribe((data) => { 12413 var html = ''; 12414 data.data.items.forEach((items, key) => { 12415 html += '<p class="hangingindent">'; 12416 items.elements.forEach((text) => { 12417 var style = "normal"; 12418 if (text.italic) { 12419 var style = "italic"; 12420 } 12421 html += '<span style="font-style: ' + style + '; font-size:15px;">' + text.text + '</span> '; 12422 }); 12423 html += '</p>'; 12424 }); 12425 this.printFn(html); 12426 }); 12427 } 12428 } 12429 printFnWithHtml(content, libraryName) { 12430 var mywindow = window.open('', '_blank'); 12431 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: 55px;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 45px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.book-box-bottom{display: block;}.avail-detail .material-icons {color: #8c8c8c;font-size: 21px !important;}.book-box-bottom-btn{display:none;}.avail-detail p{font-size: 15px;margin-bottom: 0;float: left;width: auto;min-width: 120px;margin-top: 0px;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}.modal-dialog{display: none;}</style>');
12432 mywindow.document.write('</head><body>'); 12433 mywindow.document.write('<h2 style="text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}">Recommended for You</h2>'); 12434 mywindow.document.write('<h4 style="text-align: center;margin-bottom: 40px;">' + libraryName + '</h4>'); 12435 mywindow.document.write(content); 12436 mywindow.document.write('</body></html>'); 12437 mywindow.document.close(); 12438 mywindow.onload = function () { 12439 const images = mywindow.document.images; 12440 let loaded = 0; 12441 function triggerPrint() { 12442 mywindow.focus(); 12443 mywindow.print(); 12444 } 12445 if (images.length === 0) { 12446 setTimeout(triggerPrint, 300); 12447 } 12448 else { 12449 Array.from(images).forEach((img) => { 12450 if (img.complete) { 12451 loaded++; 12452 if (loaded === images.length) 12453 setTimeout(triggerPrint, 300); 12454 } 12455 else { 12456 img.onload = img.onerror = () => { 12457 loaded++; 12458 if (loaded === images.length) 12459 setTimeout(triggerPrint, 300); 12460 }; 12461 } 12462 }); 12463 } 12464 }; 12465 mywindow.onafterprint = function () { 12466 mywindow.close(); 12467 }; 12468 return true; 12469 } 12470 printFn(content, libraryname = '') { 12471 var mywindow = window.open('', '_blank');
12472 mywindow.document.write('<html moznomarginboxes mozdisallowselectionprint><head><title>Print</title><style>.hangingindent {padding-left: 36px ;text-indent: -36px; }</style>'); 12473 mywindow.document.write('</head><body>'); 12474 mywindow.document.write('<h2 style="text-align:center">Recommended for You</h2>'); 12475 mywindow.document.write('<h4 style="text-align:center;margin-bottom: 40px;">' + libraryname + '</h4>'); 12476 mywindow.document.write(content); 12477 mywindow.document.write('</body></html>'); 12478 mywindow.document.close(); 12479 mywindow.focus(); 12480 mywindow.print(); 12481 mywindow.close(); 12482 return true; 12483 } 12484 //Showing add form for hold. 12485 showAddFormHold(resourceId, event) { 12486 //if(!this.cookieService.check('info')){ 12487 if (!localStorage.getItem('info')) { 12488 $('#loginSpanMessage').remove(); 12489 document.getElementById("loginLia").click(); 12490 $('#loginError').after('<span id="loginSpanMessage">Log in to place a hold on this resource.</span>'); 12491 setTimeout(function () { 12492 $('#loginSpanMessage').remove(); 12493 }, 10000); 12494 ///this.isPatronLogin=true; 12495 } 12496 } 12497 //Hide adding form 12498 hideAddForm() { 12499 this.showAddFormStatus = false; 12500 this.showHoldDate = false; 12501 } 12502 //Showing hold date. 12503 showHoldDateFn(event) { 12504 if ($(event.target).is(':checked')) { 12505 this.showHoldDate = true; 12506 } 12507 else { 12508 this.showHoldDate = false; 12509 this.date = new Date(Date.now()); 12510 } 12511 } 12512 //Holding request 12513 holdResource(event, resourceId, i) { 12514 $(event.target).val('Wait...').attr('disabled', 'disabled'); 12515 // var desiredDate = $('#datepicker-'+i).val(); 12516 var desiredDate = null; 12517 if (this.showHoldDate) { 12518 desiredDate = $('.holdDesireDate').val(); 12519 } 12520 var auth = localStorage.getItem('token'); 12521 var sessionId = 0; 12522 if (this.cookieService.check('renewSession')) { 12523 var sessionId = this.cookieService.get('renewSession'); 12524 } 12525 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { 12526 if (data.status) { 12527 this.bulletinlist.data.resources[i].holdId = data.data.circHoldId; 12528 this.bulletinlist.data.resources[i].canHold = false; 12529 this.cookieService.set('renewSession', data.data.sessionId, 365, '/'); 12530 this.notifier.notify('success', data.message); 12531 } 12532 else { 12533 this.notifier.notify('error', data.message); 12534 } 12535 $(event.target).val('Hold').removeAttr('disabled'); 12536 $('#closeHoldAdd-' + resourceId).click(); 12537 this.showHoldDate = false; 12538 this.date = new Date(Date.now()); 12539 }, (err) => { 12540 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { }, (error) => { 12541 $(event.target).val('Hold').removeAttr('disabled'); 12542 this.notifier.notify('error', 'Something Went Wrong'); 12543 }); 12544 //$(event.target).val('Hold').removeAttr('disabled'); 12545 //this.notifier.notify( 'error', 'Something Went Wrong'); 12546 }); 12547 } 12548 //Cancel hold request 12549 cancelHold(event, holdId, resourceId, i) { 12550 var token = localStorage.getItem('token'); 12551 this.bulletinlist.data.resources[i].holdId = null; 12552 $('#cancelholdsClose-' + resourceId).trigger('click'); 12553 this.homepageService.cancelHoldAccount(holdId, token).subscribe((data) => { 12554 if (data.status) { 12555 this.notifier.notify('success', data.message + ' successfully'); 12556 this.bulletinlist.data.resources[i].canHold = true; 12557 } 12558 else { 12559 this.bulletinlist.data.resources[i].holdId = holdId; 12560 this.bulletinlist.data.resources[i].canHold = false; 12561 this.notifier.notify('error', data.message); 12562 } 12563 }, (err) => { 12564 this.notifier.notify('error', 'Something Went Wrong'); 12565 }); 12566 } 12567}; 12568RecommendedListComponent.ctorParameters = () => [ 12569 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 12570 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 12571 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 12572 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 12573 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 12574 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 12575 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 12576 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 12577 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 12578]; 12579RecommendedListComponent = __decorate([ 12580 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 12581 selector: 'app-recommended-list', 12582 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_recommended_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 12583 styles: [_recommended_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 12584 }) 12585], RecommendedListComponent); 12586 12587 12588 12589/***/ }), 12590 12591/***/ 74455: 12592/*!*******************************************************************!*\ 12593 !*** ./src/app/components/pages/resetmail/resetmail.component.ts ***! 12594 \*******************************************************************/ 12595/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12596 12597"use strict"; 12598__webpack_require__.r(__webpack_exports__); 12599/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12600/* harmony export */ "ResetmailComponent": function() { return /* binding */ ResetmailComponent; } 12601/* harmony export */ }); 12602/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resetmail_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./resetmail.component.html */ 39362); 12603/* harmony import */ var _resetmail_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./resetmail.component.css */ 94762); 12604/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 54364); 12605/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 12606/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); 12607/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 12608/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 12609var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 12610 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 12611 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 12612 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
12612 3 ? d(target, key, r) : d(target, key)) || r; 12613 return c > 3 && r && Object.defineProperty(target, key, r), r; 12614}; 12615 12616 12617 12618 12619 12620 12621 12622let ResetmailComponent = class ResetmailComponent { 12623 constructor(activatedRoute, document, authService, homepageService, router) { 12624 this.activatedRoute = activatedRoute; 12625 this.document = document; 12626 this.authService = authService; 12627 this.homepageService = homepageService; 12628 this.router = router; 12629 this.updatingEmail = true; 12630 this.error = false; 12631 this.code = ''; 12632 this.emailMessage = ''; 12633 } 12634 ngOnInit() { 12635 this.document.body.classList.add('inner-page'); 12636 this.activatedRoute.queryParams.subscribe(params => { 12637 this.code = params['code']; 12638 }); 12639 this.updateEmail(this.code); 12640 } 12641 //To update mail. This component only to handle BE request coming from link in mail. 12642 updateEmail(code) { 12643 var token = localStorage.getItem('token'); 12644 var locationId = this.homepageService.getLocationId(); 12645 this.authService.updateEmailClick(code, locationId, token).subscribe((data) => { 12646 //console.log(data); 12647 this.updatingEmail = false; 12648 this.emailMessage = data.message; 12649 setTimeout(function () { 12650 this.router.navigate['home']; 12651 }, 5000); 12652 }, (error) => { 12653 this.error = true; // to show error on FE. 12654 this.updatingEmail = false; 12655 //console.log(error); 12656 }); 12657 } 12658}; 12659ResetmailComponent.ctorParameters = () => [ 12660 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute }, 12661 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_5__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_6__.DOCUMENT,] }] }, 12662 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService }, 12663 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService }, 12664 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.Router } 12665]; 12666ResetmailComponent = __decorate([ 12667 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 12668 selector: 'app-resetmail', 12669 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_resetmail_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 12670 styles: [_resetmail_component_css__WEBPACK_IMPORTED_MODULE_1__] 12671 }) 12672], ResetmailComponent); 12673 12674 12675 12676/***/ }), 12677 12678/***/ 67869: 12679/*!***************************************************************************!*\ 12680 !*** ./src/app/components/pages/review-detail/review-detail.component.ts ***! 12681 \***************************************************************************/ 12682/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12683 12684"use strict"; 12685__webpack_require__.r(__webpack_exports__); 12686/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12687/* harmony export */ "ReviewDetailComponent": function() { return /* binding */ ReviewDetailComponent; } 12688/* harmony export */ }); 12689/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_review_detail_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./review-detail.component.html */ 54777); 12690/* harmony import */ var _review_detail_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./review-detail.component.css */ 82149); 12691/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 54364); 12692/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/core */ 2316); 12693/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 12694/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 12695/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 12696/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 12697/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 12698/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 12699/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 12700var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 12701 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 12702 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 12703 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
12703 3 ? d(target, key, r) : d(target, key)) || r; 12704 return c > 3 && r && Object.defineProperty(target, key, r), r; 12705}; 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717let ReviewDetailComponent = class ReviewDetailComponent { 12718 constructor(routerService, searchService, cookieService, document, route, homepageService, authService, router, notifierService) { 12719 this.routerService = routerService; 12720 this.searchService = searchService; 12721 this.cookieService = cookieService; 12722 this.document = document; 12723 this.route = route; 12724 this.homepageService = homepageService; 12725 this.authService = authService; 12726 this.router = router; 12727 this.librarySetting = []; 12728 this.reviewDetail = []; 12729 this.responseAPIstatus = false; 12730 this.reviewCategories = []; 12731 this.selectedCategories = []; 12732 this.saveReviewStatus = false; 12733 this.loginUser = []; 12734 this.isEditAndPublishReview = false; 12735 this.isAdmin = false; 12736 this.patronNumber = null; //Changes type number --> string 12737 this.previousUrl = ''; 12738 this.previousUrlTxt = ''; 12739 this.haveApiError = false; 12740 this.ispublish = false; 12741 this.reviewerNameReadOnly = true; 12742 this.shoModalEdit = false; 12743 this.notifier = notifierService; 12744 } 12745 ngOnInit() { 12746 this.document.body.classList.add('inner-page'); 12747 this.document.body.classList.remove('list'); 12748 this.reviewId = this.route.snapshot.paramMap.get("id"); 12749 this.librarySetting = this.homepageService.getUpdatedConfig(); 12750 this.routerService.setTextUrl('Review Detail'); 12751 /******************* Get Review categories **************/ 12752 this.homepageService.getReviewCategories().subscribe((data) => { 12753 this.reviewCategories = data; 12754 }); 12755 /******************* Get Review categories **************/ 12756 //if(this.cookieService.check( 'info')){ 12757 // if (localStorage.getItem('info') != null){ 12758 // this.isLogin = true; 12759 // } else { 12760 // this.isLogin = false; 12761 // } 12762 if (this.cookieService.check('patronPermissions')) { 12763 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 12764 var details = JSON.parse(this.cookieService.get('userDetail')); 12765 this.isEditAndPublishReview = permissions.opacEditAndPublishReview; 12766 this.isAdmin = permissions.opacAdmin; 12767 this.patronNumber = details.patronNumber; 12768 } 12769 this.getReviewDetail();
12770 this.previousUrl = this.routerService.getPreviousUrl(); 12771 this.previousUrlTxt = this.routerService.getTextUrl(); 12772 } 12773 getReviewDetail() { 12774 this.haveApiError = false; 12775 this.homepageService.getReviewDetail(this.reviewId).subscribe((data) => { 12776 this.reviewDetail = data.data; 12777 this.ispublish = this.reviewDetail.published; 12778 if (this.reviewDetail.reviewer == null) { 12779 this.reviewerNameReadOnly = false; 12780 } 12781 else { 12782 this.reviewerNameReadOnly = true; 12783 } 12784 this.homepageService.updateBannerText(this.reviewDetail.title); 12785 this.reviewDetail.reviewCategories.forEach((cat) => { 12786 this.selectedCategories.push(cat.id); 12787 }); 12788 this.responseAPIstatus = true; 12789 }, (err) => { 12790 this.responseAPIstatus = true; 12791 this.haveApiError = true; 12792 if (err.error.Status !== 500) { 12793 var self = this; 12794 setTimeout(function () { 12795 if (typeof (self.previousUrl) != 'undefined') { 12796 self.router.navigate([self.previousUrl]); 12797 } 12798 else { 12799 self.router.navigate(['/']); 12800 } 12801 }, 2000); 12802 } 12803 }); 12804 } 12805 //Showing icon for image error. 12806 imageError(event, images) { 12807 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 12808 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 12809 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 12810 index--; 12811 this.imageLoad(event, images, index, true); 12812 } 12813 else { 12814 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 12815 $('body').find('img[custom="' + event + '"]').remove(); 12816 } 12817 } 12818 //loading best image 12819 imageLoad(event, images, index, fromError = false) { 12820 //console.log(event, 'ImageID'); 12821 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 12822 return false; 12823 } 12824 if ($('body').find('#' + event).length <= 0) { 12825 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 12826 } 12827 var $this = this; 12828 var imagesAll = this.searchService.sortedImage(images); 12829 $('#' + event).attr('src', imagesAll[index]); 12830 setTimeout(function () { 12831 var tempWidth = $('#' + event).width(); 12832 //console.log(tempWidth, event, index); 12833 var temp = document.getElementById(event); 12834 if (tempWidth <= 1 && index > 0) { 12835 $this.imageLoad(event, images, index - 1, true); 12836 return false; 12837 } 12838 else if (tempWidth <= 1 && index == 0) { 12839 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 12840 $('body').find('img[custom="' + event + '"]').remove(); 12841 } 12842 }, 500); 12843 if (typeof (imagesAll[index]) != 'undefined') { 12844 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 12845 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 12846 $('body').find('img[custom="' + event + '"]').attr('index', index); 12847 } 12848 } 12849 /*imageLoad(event, images) { 12850 var sizes = ['xl','l','m','s','xs','xxs']; 12851 var imagesAll = [];
12852 sizes.forEach((evt) => { 12853 images.forEach((img) => { 12854 if(img.size == evt){ 12855 imagesAll.push(img.url); 12856 } 12857 }); 12858 }); 12859 setTimeout(function() { 12860 if(typeof(imagesAll[0]) != 'undefined') { 12861 $(event.target).attr('src',imagesAll[0]); 12862 } 12863 },10); 12864 } 12865*/ 12866 onRatingChange(event) { 12867 $('#reviewStar').val(event.rating); 12868 } 12869 editReview() { 12870 var error = 0; 12871 var Id = $('#reviewid').val(); 12872 var ratingStar = $('#reviewStar').val(); 12873 var reviewText = $('#reviewText').val(); 12874 var reviewPublished = $('#ReviewPublished').is(':checked'); 12875 if ($.trim(reviewText.toString()) == '') { 12876 $('#reviewText').addClass('error'); 12877 error++; 12878 } 12879 var reviewer = $('#reviewerName').val(); 12880 if ($.trim(reviewer.toString()) == '') { 12881 $('#reviewerName').addClass('error'); 12882 error++; 12883 } 12884 if (error != 0) { 12885 return false; 12886 } 12887 this.saveReviewStatus = true; 12888 var categories = []; 12889 $('.reviewCategory').find('input[type="checkbox"]:checked').each(function () { 12890 categories.push($(this).val()); 12891 }); 12892 //if(this.cookieService.check( 'info')){ 12893 if (localStorage.getItem('info') != null) { 12894 var token = localStorage.getItem('token'); 12895 } 12896 this.homepageService.editReview(Id, ratingStar, reviewText, reviewPublished, reviewer, categories, token).subscribe((data) => { 12897 this.notifier.notify('success', 'Review has been updated successfully'); 12898 $('#closereviewAdd').trigger('click'); 12899 this.getReviewDetail(); 12900 this.saveReviewStatus = false; 12901 }, (err) => { 12902 this.notifier.notify('error', 'Something went wrong.Try again.'); 12903 }); 12904 } 12905 deleteReview(id) { 12906 if (confirm('Are you sure?')) { 12907 //if(this.cookieService.check( 'info')){ 12908 if (localStorage.getItem('info') != null) { 12909 var token = localStorage.getItem('token'); 12910 } 12911 this.homepageService.deleteReview(id, token).subscribe((data) => { 12912 this.notifier.notify('success', 'Review has been deleted successfully'); 12913 this.router.navigate(['/searchreview']); 12914 }, (err) => { 12915 this.notifier.notify('error', 'Something went wrong.Try again.'); 12916 }); 12917 } 12918 } 12919 publishReview(reviewId, event) { 12920 //if(this.cookieService.check( 'info')){ 12921 if (localStorage.getItem('info') != null) { 12922 var token = localStorage.getItem('token'); 12923 } 12924 var selector = $(event.target); 12925 if (event.target.nodeName == 'I') { 12926 var selector = $(event.target).parent(); 12927 } 12928 selector.removeClass('show').addClass('hide'); 12929 this.homepageService.publishReview(reviewId, token).subscribe((data) => { 12930 if (selector.hasClass('Publish')) { 12931 this.notifier.notify('success', "Review has been published"); 12932 this.ispublish = true; 12933 selector.parent().find('.unPublish').removeClass('hide').addClass('show'); 12934 } 12935 else { 12936 this.notifier.notify('success', "Review has been unpublished"); 12937 this.ispublish = false; 12938 selector.parent().find('.Publish').removeClass('hide').addClass('show'); 12939 } 12940 }, (err) => { 12941 this.notifier.notify('error', 'Something went wrong.Try again.'); 12942 selector.removeClass('hide').addClass('show'); 12943 }); 12944 } 12945 showEditModal() { 12946 this.shoModalEdit = true; 12947 } 12948 hideEditModal() { 12949 this.shoModalEdit = false; 12950 } 12951}; 12952ReviewDetailComponent.ctorParameters = () => [ 12953 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_5__.RouterExtService }, 12954 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 12955 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__.CookieService }, 12956 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_8__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.DOCUMENT,] }] }, 12957 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 12958 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 12959 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_4__.AuthService }, 12960 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 12961 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 12962]; 12963ReviewDetailComponent = __decorate([ 12964 (0,_angular_core__WEBPACK_IMPORTED_MODULE_8__.Component)({ 12965 selector: 'app-review-detail', 12966 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_review_detail_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 12967 styles: [_review_detail_component_css__WEBPACK_IMPORTED_MODULE_1__] 12968 }) 12969], ReviewDetailComponent); 12970 12971 12972 12973/***/ }), 12974 12975/***/ 59053: 12976/*!***************************************************************************!*\ 12977 !*** ./src/app/components/pages/review-search/review-search.component.ts ***! 12978 \***************************************************************************/ 12979/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12980 12981"use strict"; 12982__webpack_require__.r(__webpack_exports__); 12983/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12984/* harmony export */ "ReviewSearchComponent": function() { return /* binding */ ReviewSearchComponent; } 12985/* harmony export */ }); 12986/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_review_search_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./review-search.component.html */ 41081); 12987/* harmony import */ var _review_search_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./review-search.component.css */ 38390); 12988/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 12989/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 12990/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 12991/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 12992/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 12993/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 12994/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 12995/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 12996var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 12997 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 12998 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 12999 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
12999 3 ? d(target, key, r) : d(target, key)) || r; 13000 return c > 3 && r && Object.defineProperty(target, key, r), r; 13001}; 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012let ReviewSearchComponent = class ReviewSearchComponent { 13013 constructor(document, route, routerService, searchService, homepageService, cookieService, notifierService) { 13014 this.document = document; 13015 this.route = route; 13016 this.routerService = routerService; 13017 this.searchService = searchService; 13018 this.homepageService = homepageService; 13019 this.cookieService = cookieService; 13020 this.reviewCategories = []; 13021 this.previousUrl = ''; 13022 this.previousUrlTxt = ''; 13023 this.responseAPIstatus = false; 13024 this.saveReviewStatus = false; 13025 this.searchStatus = false; 13026 this.totalLocations = 0; 13027 this.curentLoc = []; 13028 this.reviewStarts = 0; 13029 this.searchResults = []; 13030 this.resourcesDetail = []; 13031 this.listView = 'true'; 13032 this.patronPermissions = null; 13033 this.selectedResourcesIds = []; 13034 this.selectedCategories = []; 13035 this.isLogin = false; 13036 this.isEditAndPublishReview = false; 13037 this.isAdmin = false; 13038 this.patronNumber = null; //Changes type number --> string 13039 this.editedReviewId = ''; 13040 this.reviewerNameReadOnly = true; 13041 this.reviewSearchForm = true; 13042 this.initialRate = 0; 13043 this.notifier = notifierService; 13044 } 13045 ngOnInit() { 13046 this.document.body.classList.add('inner-page'); 13047 this.document.body.classList.add('list');
13048 this.previousUrl = this.routerService.getPreviousUrl(); 13049 this.previousUrlTxt = this.routerService.getTextUrl(); 13050 this.routerService.setTextUrl('Reviews Search'); 13051 this.homepageService.getReviewCategories().subscribe((data) => { 13052 this.reviewCategories = data; 13053 }); 13054 if (this.cookieService.check('Popular_title_List_View')) { 13055 this.listView = this.cookieService.get('Popular_title_List_View'); 13056 } 13057 if (this.cookieService.check('patronPermissions')) { 13058 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 13059 var details = JSON.parse(this.cookieService.get('userDetail')); 13060 this.isEditAndPublishReview = permissions.opacEditAndPublishReview; 13061 this.isAdmin = permissions.opacAdmin; 13062 this.patronNumber = details.patronNumber; 13063 } 13064 this.homepageService.getConfig().subscribe((data) => { 13065 var tenant = data.data.tenantCode.toLowerCase(); 13066 var selectedId = this.cookieService.get('selectedlocation' + tenant); 13067 this.totalLocations = data.data.settings.location.locations.length; 13068 data.data.settings.location.locations.forEach((loc) => { 13069 if (loc.id == selectedId) { 13070 this.curentLoc['id'] = loc.id; 13071 this.curentLoc['name'] = loc.name; 13072 } 13073 }); 13074 }); 13075 if (localStorage.getItem('selectedResourcesIds') != null) { 13076 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 13077 } 13078 this.loadParamResource(); 13079 } 13080 isReviewerPatronNumberMatch(patronNumber, reviewerPatronNumber) { 13081 return (patronNumber == reviewerPatronNumber); 13082 } 13083 loadParamResource() { 13084 this.route.queryParams.subscribe(params => { 13085 const reviewstatus = true; 13086 const starrating = params['minrate']; 13087 const reviewer = params['reviewername']; 13088 const categories = params['categories']; 13089 this.exploreId = params['exp-btn-id']; 13090 if (params['minrate']) { 13091 this.responseAPIstatus = false; 13092 this.searchStatus = true; 13093 this.reviewSearchForm = false; 13094 var review_age = params['reviewage']; 13095 if (review_age == '') { 13096 review_age = '*'; 13097 } 13098 var reviewCategories = []; 13099 if (categories != '') { 13100 reviewCategories = categories.split(','); 13101 } 13102 const location = this.curentLoc['id']; 13103 this.searchService.getReviewSearch(reviewstatus, starrating, review_age, location, reviewer, reviewCategories, this.exploreId).subscribe((data) => { 13104 this.responseAPIstatus = true; 13105 this.searchResults = data; 13106 this.searchStatus = false; 13107 var self = this; 13108 setTimeout(function () { 13109 if (self.editedReviewId != '' && typeof (self.editedReviewId) != 'undefined') { 13110 var topOffset = $('a[href="/review/' + self.editedReviewId + '"]').offset().top; 13111 self.editedReviewId = ''; 13112 } 13113 else { 13114 var topOffset = $('.viewContainer').offset().top; 13115 } 13116 $('html, body').stop().animate({ 13117 scrollTop: topOffset 13118 }, 1000); 13119 }, 100); 13120 }); 13121 } 13122 else { 13123 this.reviewSearchForm = true; 13124 } 13125 }); 13126 } 13127 onRatingChange(event) { 13128 $('#reviewStar').val(event.rating); 13129 this.initialRate = event.rating; 13130 $(document).find('.messageReview.error').remove(); 13131 } 13132 onRatingChangeEdit(event) { 13133 $('#reviewStarEdit').val(event.rating); 13134 } 13135 searchReview(form) { 13136 this.responseAPIstatus = false;
13137 this.searchStatus = true; 13138 let formValues = form.value; 13139 if (typeof (formValues.reviewstatus) != 'undefined') { 13140 var reviewstatus = formValues.reviewstatus; 13141 if (reviewstatus == 'true') { 13142 reviewstatus = true; 13143 } 13144 else if (reviewstatus == 'false') { 13145 reviewstatus = false; 13146 } 13147 else { 13148 reviewstatus = null; 13149 } 13150 } 13151 else { 13152 var reviewstatus = true; 13153 } 13154 // var starrating = parseInt($('#reviewStar').val().toString()); 13155 var starrating = this.initialRate; 13156 var review_age = formValues.review_age; 13157 if (review_age == '') { 13158 review_age = '*'; 13159 } 13160 var location = formValues.location; 13161 var reviewer = formValues.reviewer; 13162 var reviewCategories = []; 13163 $('input[name="categories_for_review"]:checked').each(function () { 13164 reviewCategories.push($(this).val()); 13165 }); 13166 this.searchService.getReviewSearch(reviewstatus, starrating, review_age, location, reviewer, reviewCategories, this.exploreId).subscribe((data) => { 13167 this.responseAPIstatus = true; 13168 this.searchResults = data; 13169 this.searchStatus = false; 13170 var self = this; 13171 setTimeout(function () { 13172 if (self.editedReviewId != '' && typeof (self.editedReviewId) != 'undefined') { 13173 var topOffset = $('a[href="/review/' + self.editedReviewId + '"]').offset().top; 13174 self.editedReviewId = ''; 13175 } 13176 else { 13177 var topOffset = $('.viewContainer').offset().top; 13178 } 13179 $('html, body').stop().animate({ 13180 scrollTop: topOffset 13181 }, 1000); 13182 }, 100); 13183 }); 13184 } 13185 lazyLoading(cache, currentOffset, listSize) { 13186 /* var offset = (currentOffset + listSize); 13187 if(this.lazyRequeat == true || this.infiniteScroll === false || this.totalRecords < offset){ 13188 return false; 13189 } 13190 this.lazyRequeat = true; 13191 if(this.maxRecords > offset){ 13192 13193 return this.homepageService.getSortPageByCache(this.sortWith,this.descendingWith,cache,this.listSize, offset, this.facets.join()).subscribe((data) => { 13194 data.data.resources.forEach((evt) => { 13195 this.bulletinlist.data.resources.push(evt); 13196 }); 13197 this.lazyRequeat = false; 13198 this.viewRefresh = false; 13199 this.currentOffset = offset; 13200 }); 13201 }*/ 13202 } 13203 //Showing icon for image error. 13204 imageError(event, images) { 13205 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 13206 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 13207 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 13208 index--; 13209 this.imageLoad(event, images, index, true); 13210 } 13211 else { 13212 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 13213 $('body').find('img[custom="' + event + '"]').remove(); 13214 } 13215 } 13216 //loading best image 13217 imageLoad(event, images, index, fromError = false) { 13218 //console.log(event, 'ImageID'); 13219 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 13220 return false; 13221 } 13222 if ($('body').find('#' + event).length <= 0) { 13223 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 13224 } 13225 var $this = this; 13226 var imagesAll = this.searchService.sortedImage(images); 13227 $('#' + event).attr('src', imagesAll[index]); 13228 setTimeout(function () { 13229 var tempWidth = $('#' + event).width(); 13230 //console.log(tempWidth, event, index); 13231 var temp = document.getElementById(event); 13232 if (tempWidth <= 1 && index > 0) { 13233 $this.imageLoad(event, images, index - 1, true); 13234 return false;
13235 } 13236 else if (tempWidth <= 1 && index == 0) { 13237 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 13238 $('body').find('img[custom="' + event + '"]').remove(); 13239 } 13240 }, 500); 13241 if (typeof (imagesAll[index]) != 'undefined') { 13242 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 13243 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 13244 $('body').find('img[custom="' + event + '"]').attr('index', index); 13245 } 13246 } 13247 /* 13248 imageLoad(event, images) { 13249 if($('body').find('img[custom="'+event+'"]').attr('loaded') == 'yes') { 13250 return false; 13251 } 13252 var sizes = ['xl','l','m','s','xs','xxs']; 13253 if($('body').find('#TempImg').length <= 0) { 13254 $('body').append('<img id="TempImg" src="" style="display:none;">'); 13255 } 13256 var imagesAll = []; 13257
13258 sizes.forEach((evt) => { 13259 images.forEach((img) => { 13260 if(img.size == evt){ 13261 imagesAll.push(img.url); 13262 } 13263 }); 13264 }); 13265 13266 setTimeout(function() { 13267 if(typeof(imagesAll[0]) != 'undefined') { 13268 $('body').find('img[custom="'+event+'"]').attr('src',imagesAll[0]); 13269 $('body').find('img[custom="'+event+'"]').attr('loaded','yes'); 13270 } 13271 },10); 13272 } 13273 */ 13274 changeView(view) { 13275 this.listView = view; 13276 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 13277 } 13278 deleteReview(id, event) { 13279 if (confirm('Are you sure?')) { 13280 var token = localStorage.getItem('token'); 13281 this.homepageService.deleteReview(id, token).subscribe((data) => { 13282 this.notifier.notify('success', 'Review has been deleted successfully'); 13283 $(event.target).parents('.reviewCon').remove(); 13284 }, (err) => { 13285 this.notifier.notify('error', 'Something went wrong.Try again.'); 13286 }); 13287 } 13288 } 13289 publishReview(reviewId, event) { 13290 var token = localStorage.getItem('token'); 13291 var selector = $(event.target); 13292 if (event.target.nodeName == 'I') { 13293 var selector = $(event.target).parent(); 13294 } 13295 selector.removeClass('show').addClass('hide'); 13296 this.homepageService.publishReview(reviewId, token).subscribe((data) => { 13297 if (selector.hasClass('Publish')) { 13298 this.notifier.notify('success', "Review has been published"); 13299 selector.parent().find('.unPublish').removeClass('hide').addClass('show'); 13300 } 13301 else { 13302 this.notifier.notify('success', "Review has been unpublished"); 13303 selector.parent().find('.Publish').removeClass('hide').addClass('show'); 13304 } 13305 }, (err) => { 13306 this.notifier.notify('error', 'Something went wrong.Try again.'); 13307 selector.removeClass('hide').addClass('show'); 13308 }); 13309 } 13310 getReviewDetail(reviewId) { 13311 this.responseAPIstatus = false; 13312 this.homepageService.getReviewDetail(reviewId).subscribe((data) => { 13313 this.resourcesDetail = data.data; 13314 if (this.resourcesDetail.reviewer == null) { 13315 this.reviewerNameReadOnly = false; 13316 } 13317 else { 13318 this.reviewerNameReadOnly = true; 13319 } 13320 this.homepageService.updateBannerText(this.resourcesDetail.title); 13321 this.selectedCategories = []; 13322 this.resourcesDetail.reviewCategories.forEach((cat) => { 13323 this.selectedCategories.push(cat.id); 13324 }); 13325 this.responseAPIstatus = true; 13326 }, (err) => { 13327 this.responseAPIstatus = true; 13328 }); 13329 } 13330 editReview() { 13331 var error = 0; 13332 var Id = $('#reviewid').val(); 13333 this.editedReviewId = Id; 13334 var ratingStar = $('#reviewStarEdit').val(); 13335 var reviewText = $('#reviewText').val(); 13336 var reviewPublished = $('#ReviewPublished').is(':checked'); 13337 if ($.trim(reviewText.toString()) == '') { 13338 $('#reviewText').addClass('error'); 13339 error++; 13340 } 13341 var reviewer = $('#reviewerName').val(); 13342 if ($.trim(reviewer.toString()) == '') { 13343 $('#reviewerName').addClass('error'); 13344 error++; 13345 } 13346 if (error != 0) { 13347 return false; 13348 } 13349 this.saveReviewStatus = true; 13350 var categories = []; 13351 $('.reviewCategory').find('input[type="checkbox"]:checked').each(function () { 13352 categories.push($(this).val()); 13353 }); 13354 var token = localStorage.getItem('token'); 13355 this.homepageService.editReview(Id, ratingStar, reviewText, reviewPublished, reviewer, categories, token).subscribe((data) => { 13356 this.notifier.notify('success', 'Review has been updated successfully'); 13357 $('#closereviewAdd').trigger('click'); 13358 if (this.reviewSearchForm) { 13359 $('#reviewFormSubmit').trigger('click'); 13360 } 13361 else { 13362 this.loadParamResource(); 13363 } 13364 this.saveReviewStatus = false;
13365 }, (err) => { 13366 this.notifier.notify('error', 'Something went wrong.Try again.'); 13367 }); 13368 } 13369}; 13370ReviewSearchComponent.ctorParameters = () => [ 13371 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 13372 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute }, 13373 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_2__.RouterExtService }, 13374 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_4__.SearchService }, 13375 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService }, 13376 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 13377 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService } 13378]; 13379ReviewSearchComponent = __decorate([ 13380 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 13381 selector: 'app-review-search', 13382 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_review_search_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 13383 styles: [_review_search_component_css__WEBPACK_IMPORTED_MODULE_1__] 13384 }) 13385], ReviewSearchComponent); 13386 13387 13388 13389/***/ }), 13390 13391/***/ 54152: 13392/*!***********************************************************************!*\ 13393 !*** ./src/app/components/pages/unsubscribe/unsubscribe.component.ts ***! 13394 \***********************************************************************/ 13395/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13396 13397"use strict"; 13398__webpack_require__.r(__webpack_exports__); 13399/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13400/* harmony export */ "UnsubscribeComponent": function() { return /* binding */ UnsubscribeComponent; } 13401/* harmony export */ }); 13402/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_unsubscribe_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./unsubscribe.component.html */ 33043); 13403/* harmony import */ var _unsubscribe_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsubscribe.component.css */ 61815); 13404/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 13405/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 71258); 13406/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 13407/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/platform-browser */ 71570); 13408/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! angular-notifier */ 53874); 13409/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 13410var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 13411 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 13412 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 13413 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 13414 return c > 3 && r && Object.defineProperty(target, key, r), r; 13415}; 13416 13417 13418 13419 13420 13421 13422 13423 13424let UnsubscribeComponent = class UnsubscribeComponent { 13425 constructor(activateRoute, homepageService, notifier, titleService, document) { 13426 this.activateRoute = activateRoute; 13427 this.homepageService = homepageService; 13428 this.notifier = notifier; 13429 this.titleService = titleService; 13430 this.document = document; 13431 this.unsubsribeMsg = ""; 13432 this.activateRoute.queryParams.subscribe((query) => { 13433 this.uEmail = query['u']; 13434 }); 13435 } 13436 ngOnInit() { 13437 this.titleService.setTitle('Unsubscribe'); 13438 $('.loding-img-main').remove(); 13439 } 13440 unsubscribe() { 13441 this.homepageService.getUnsubscribeEmail(this.uEmail).subscribe((data) => { 13442 this.responseAPIstatus = false;
13443 this.unsubscribeEmail = data.data; 13444 if (data.status) { 13445 this.unsubsribeMsg = "Success"; 13446 this.document.getElementById('unsubscribe_div').style.display = 'none'; 13447 // this.notifier.notify( 'success', data.message); 13448 } 13449 else { 13450 this.notifier.notify('error', data.message); 13451 } 13452 }, (error) => { 13453 this.notifier.notify('error', 'Something went wrong!'); 13454 }); 13455 } 13456}; 13457UnsubscribeComponent.ctorParameters = () => [ 13458 { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute }, 13459 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 13460 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_3__.NotifierService }, 13461 { type: _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title }, 13462 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] } 13463]; 13464UnsubscribeComponent = __decorate([ 13465 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 13466 selector: 'app-unsubscribe', 13467 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_unsubscribe_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 13468 styles: [_unsubscribe_component_css__WEBPACK_IMPORTED_MODULE_1__] 13469 }) 13470], UnsubscribeComponent); 13471 13472 13473 13474/***/ }), 13475 13476/***/ 38165: 13477/*!*****************************************************!*\ 13478 !*** ./src/app/components/print/print.component.ts ***! 13479 \*****************************************************/ 13480/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13481 13482"use strict"; 13483__webpack_require__.r(__webpack_exports__); 13484/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13485/* harmony export */ "PrintComponent": function() { return /* binding */ PrintComponent; } 13486/* harmony export */ }); 13487/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_print_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./print.component.html */ 52435); 13488/* harmony import */ var _print_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print.component.css */ 65759); 13489/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 2316); 13490/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 71258); 13491/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/homepage.service */ 27150); 13492/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 13493var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 13494 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 13495 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 13496 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 13497 return c > 3 && r && Object.defineProperty(target, key, r), r; 13498}; 13499 13500 13501 13502 13503 13504 13505let PrintComponent = class PrintComponent { 13506 constructor(activatedRoute, cookieService, homepageService) { 13507 this.activatedRoute = activatedRoute; 13508 this.cookieService = cookieService; 13509 this.homepageService = homepageService; 13510 this.listType = ''; 13511 this.listData = []; 13512 this.sortBy = 'date'; 13513 this.libraryname = ''; 13514 this.descending = true; 13515 this.listSize = 10000; 13516 this.caption = ''; 13517 this.facets = []; 13518 this.librarySetting = []; 13519 this.activatedRoute.queryParams.subscribe(params => { 13520 this.listType = params['print']; 13521 }); 13522 } 13523 ngOnInit() { 13524 this.homepageService.getConfig().subscribe((setting) => { 13525 this.librarySetting = setting; 13526 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 13527 var slctloc = this.cookieService.get('selectedlocation' + tnt); 13528 this.librarySetting.data.settings.location.locations.forEach((loc) => { 13529 if (parseInt(loc.id) == parseInt(slctloc)) { 13530 this.libraryname = loc.name; 13531 } 13532 }); 13533 }); 13534 if (this.listType == 'pt') { 13535 this.popularTitles(); 13536 } 13537 else if (this.listType == 'nil') { 13538 this.newInLibrary(); 13539 } 13540 } 13541 popularTitles() { 13542 this.homepageService.getPopularPage(this.sortBy, this.descending, this.listSize, this.facets).subscribe((data) => { 13543 this.listData = data.data.resources; 13544 this.caption = data.data.caption; 13545 var self = this; 13546 setTimeout(function () { 13547 var content = $('main').html(); 13548 self.printFnWithHtml(content, self.libraryname); 13549 }, 500); 13550 }); 13551 } 13552 newInLibrary() { 13553 this.homepageService.getNewInLibararyPage(this.sortBy, this.descending, this.listSize, this.facets).subscribe((data) => { 13554 this.listData = data.data.resources; 13555 this.caption = data.data.caption; 13556 var self = this; 13557 setTimeout(function () { 13558 var content = $('main').html(); 13559 self.printFnWithHtml(content, self.libraryname); 13560 }, 500); 13561 }); 13562 } 13563 printFnWithHtml(content, libraryName) { 13564 var mywindow = window.open('');
13565 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: auto;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 55px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.book-box-bottom{display: none;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}h2.caption{text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}h4.libraryname{text-align: center;margin-bottom: 40px;}</style>');
13566 mywindow.document.write('</head><body>'); 13567 mywindow.document.write(content); 13568 mywindow.document.write('</body></html>'); 13569 mywindow.document.close(); 13570 mywindow.onload = function () { 13571 const images = mywindow.document.images; 13572 let loaded = 0; 13573 function triggerPrint() { 13574 mywindow.focus(); 13575 mywindow.print(); 13576 } 13577 if (images.length === 0) { 13578 setTimeout(triggerPrint, 300); 13579 } 13580 else { 13581 Array.from(images).forEach((img) => { 13582 if (img.complete) { 13583 loaded++; 13584 if (loaded === images.length) 13585 setTimeout(triggerPrint, 300); 13586 } 13587 else { 13588 img.onload = img.onerror = () => { 13589 loaded++; 13590 if (loaded === images.length) 13591 setTimeout(triggerPrint, 300); 13592 }; 13593 } 13594 }); 13595 } 13596 }; 13597 mywindow.onafterprint = function () { 13598 mywindow.close(); 13599 }; 13600 return true; 13601 } 13602 imageError(event) { 13603 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 13604 $('body').find('img[custom="' + event + '"]').remove(); 13605 } 13606 imageLoad(event, images) { 13607 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes') { 13608 return false; 13609 } 13610 var sizes = ['xl', 'l', 'm', 's', 'xs', 'xxs']; 13611 if ($('body').find('#TempImg').length <= 0) { 13612 $('body').append('<img id="TempImg" src="" style="display:none;">'); 13613 } 13614 var imagesAll = [];
13615 sizes.forEach((evt) => { 13616 images.forEach((img) => { 13617 if (img.size == evt) { 13618 imagesAll.push(img.url); 13619 } 13620 }); 13621 }); 13622 setTimeout(function () { 13623 if (typeof (imagesAll[0]) != 'undefined') { 13624 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[0]); 13625 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 13626 } 13627 }, 10); 13628 } 13629}; 13630PrintComponent.ctorParameters = () => [ 13631 { type: _angular_router__WEBPACK_IMPORTED_MODULE_3__.ActivatedRoute }, 13632 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_4__.CookieService }, 13633 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService } 13634]; 13635PrintComponent = __decorate([ 13636 (0,_angular_core__WEBPACK_IMPORTED_MODULE_5__.Component)({ 13637 selector: 'app-print', 13638 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_print_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 13639 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_5__.ViewEncapsulation.None, 13640 styles: [_print_component_css__WEBPACK_IMPORTED_MODULE_1__] 13641 }) 13642], PrintComponent); 13643 13644 13645 13646/***/ }), 13647 13648/***/ 38198: 13649/*!**************************************************************!*\ 13650 !*** ./src/app/components/searchlist/list/list.component.ts ***! 13651 \**************************************************************/ 13652/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13653 13654"use strict"; 13655__webpack_require__.r(__webpack_exports__); 13656/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13657/* harmony export */ "ListComponent": function() { return /* binding */ ListComponent; } 13658/* harmony export */ }); 13659/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_list_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./list.component.html */ 99735); 13660/* harmony import */ var _list_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.component.css */ 28015); 13661/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 13662/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/core */ 2316); 13663/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/router */ 71258); 13664/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 13665/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 13666/* harmony import */ var _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/previous-route.service */ 2112); 13667/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 13668/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 13669/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 13670/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! jquery */ 31600); 13671/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_7__); 13672var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 13673 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 13674 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 13675 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
13675 3 ? d(target, key, r) : d(target, key)) || r; 13676 return c > 3 && r && Object.defineProperty(target, key, r), r; 13677}; 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690let ListComponent = class ListComponent { 13691 constructor(_location, authService, homepageService, activatedRoute, searchService, document, routerService, router, cookieService, notifier) { 13692 this._location = _location; 13693 this.authService = authService; 13694 this.homepageService = homepageService; 13695 this.activatedRoute = activatedRoute; 13696 this.searchService = searchService; 13697 this.document = document; 13698 this.routerService = routerService; 13699 this.router = router; 13700 this.cookieService = cookieService; 13701 this.notifier = notifier; 13702 this.preLocId = ''; 13703 this.locationFun = 'ngonit'; 13704 this.librarySetting = []; 13705 this.printStyle = ''; 13706 this.highlightParameter = { 13707 'type': '', 13708 'in': '', 13709 'term': '' 13710 }; 13711 this.exportOptions = []; 13712 this.exploreoptions = false; 13713 this.seletedExploreOptions = ''; 13714 // librarySetting: any = []; 13715 this.resoursesCount = 0; 13716 this.haveApiError = false; 13717 this.viewprintstatus = false; 13718 this.listSize = 20; 13719 this.descendingWith = true; 13720 this.sortDirections = { 13721 relevancy: true, 13722 author: false, 13723 call: false, 13724 date: true, 13725 title: false, 13726 category: false, 13727 }; 13728 this.currentOffset = 0; 13729 this.listView = 'true'; 13730 this.viewRefresh = true; 13731 this.narrowFilters = []; 13732 this.facets = []; 13733 this.maxRecords = 100; 13734 this.infiniteScroll = true; 13735 this.responseAPI = false; 13736 this.searchResult = []; 13737 this.serachDataVisible = false; 13738 this.serachDataVisible1 = false; 13739 this.responseAPIstatus = true; 13740 this.lowYear = ''; 13741 this.highYear = ''; 13742 this.awardName = ''; 13743 this.period = 1; 13744 this.psize = 50; 13745 this.ppublish = true; 13746 this.copies = true; 13747 this.limitArray = {}; 13748 this.selectedResourcesIds = []; 13749 this.exportDownloadOptions = []; 13750 this.exportEmailOptions = []; 13751 this.updateMobileToggleInfo = false; 13752 this.isPatronLogin = false; 13753 this.exploreBreadcrum = []; 13754 this.patronEmail = ''; 13755 this.sendingMail = false; 13756 this.showAddFormStatus = false; 13757 this.showHoldDate = false; 13758 this.lastDayDate = ''; 13759 this.date = new Date(Date.now()); 13760 this.callFun = true; 13761 //Date picker options. 13762 this.options = { 13763 minYear: 1970, 13764 maxYear: 2030, 13765 format: 'MM-dd-yyyy', 13766 formatTitle: 'MMMM yyyy', 13767 formatDays: 'EEEEEE', 13768 firstCalendarDay: 0, 13769 minDate: this.lastDayDate, 13770 //barTitleIfEmpty: 'Desired Date', 13771 inputClass: 'holdDesireDate', 13772 placeholder: 'Select Date', // HTML input placeholder attribute (default: '') 13773 //addStyle: {}, // Optional, value to pass to [ngStyle] on the input field 13774 // fieldId: 'holdDesireDate', // ID to assign to the input field. Defaults to datepicker-<counter> 13775 //useEmptyBarTitle: false, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 13776 }; 13777 this.librarySetting = this.homepageService.getUpdatedConfig(); 13778 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 13779 var slctloc = this.cookieService.get('selectedlocation' + tnt); 13780 //console.log(tnt,'constructor called',slctloc) 13781 if (this.preLocId == '') { 13782 this.preLocId = slctloc; 13783 } 13784 this.homepageService.currentData.subscribe((data) => { 13785 let loc = sessionStorage.getItem('lastSearchLocation'); 13786 //console.log(loc,this.preLocId,'when loc changed', data,tnt) 13787 // var newLocId = this.cookieService.get('selectedlocation'+tnt); 13788 var pagePath = window.location.href; 13789 //console.log(pagePath, pagePath.indexOf('/searchlist')) 13790 if (pagePath.indexOf('/searchlist') > -1) { 13791 if ((data != null) && (data != loc)) { 13792 this.callFun = true; 13793 this.locationFun = 'getLocData'; 13794 // console.log('location changes and fun called') 13795 this.getNewLocData(data); 13796 } 13797 } 13798 }); 13799 } 13800 ngOnInit() { 13801 this.homepageService.getConfig().subscribe((data) => { 13802 if (data.data.settings.resultList.defaultSort != "") { 13803 this.sortWith = data.data.settings.resultList.defaultSort; 13804 } 13805 else { 13806 this.sortWith = this.sortWith; 13807 } 13808 }); 13809 this.callFun = false;
13810 this.locationFun = 'ngonit'; 13811 var dd = new Date(Date.now()); 13812 this.lastDayDate = dd.setDate(dd.getDate() - 1); 13813 if (this.cookieService.check('userDetail')) 13814 this.patronEmail = JSON.parse(this.cookieService.get('userDetail')).email; 13815 //this.searchResult.resources = []; 13816 this.previousUrl = this.routerService.getPreviousUrl(); 13817 if (typeof (this.previousUrl) != 'undefined' && this.previousUrl.indexOf('/explore/') >= 0) { 13818 this.exploreParent = "Explore"; 13819 this.exploreBreadcrum = this.routerService.getExploreBreadcrumb(); 13820 //console.log(this.exploreParent); 13821 } 13822 this.routerService.setTextUrl('Search'); 13823 this.document.body.classList.add('inner-page'); 13824 this.document.body.classList.add('list'); 13825 const queryParams = this.activatedRoute.snapshot.queryParams; 13826 const routeParams = this.activatedRoute.snapshot.params; 13827 this.activatedRoute.queryParams.subscribe(params => { 13828 this.exploreId = params['exp-btn-id']; 13829 this.locationFun = 'ngonit'; 13830 sessionStorage.setItem('lastUrl', this.router.url);
13831 //console.log(this.routerService.getPreviousUrl()) 13832 this.facets = []; 13833 this.searchType = params['type']; 13834 if (typeof (params['title']) != 'undefined') { 13835 //console.log('I am here'); 13836 this.searchType = 'NoveSearch'; 13837 } 13838 if (typeof (this.searchType) == 'undefined') { 13839 //console.log('undefined') 13840 this.highlightParameter.type = ''; 13841 this.highlightParameter.in = ''; 13842 this.highlightParameter.term = ''; 13843 this.exploreSearch = this.activatedRoute.snapshot.paramMap.get("explore"); 13844 if (typeof (this.exploreSearch) == 'undefined' || this.exploreSearch == null) { 13845 //console.log('Undefined search', '1st step'); 13846 if (typeof (this.activatedRoute.snapshot.paramMap.get("recentlist")) != 'undefined' && this.activatedRoute.snapshot.paramMap.get("recentlist") == 'list') { 13847 this.searchFor = this.cookieService.get('seachFor'); 13848 //console.log('recent search list', '2nd step'); 13849 this.getRecentList(); 13850 } 13851 else if (typeof (this.activatedRoute.snapshot.paramMap.get("my")) == 'string') { 13852 if (this.activatedRoute.snapshot.paramMap.get("my") == 'awards') { 13853 this.viewRefresh = true; 13854 this.awardYear = params['year']; 13855 this.awardId = params['award']; 13856 this.awardName = params['name']; 13857 this.sortWith = 'date'; 13858 if (typeof (params['low']) != 'undefined') { 13859 this.lowYear = params['low']; 13860 } 13861 if (typeof (params['high']) != 'undefined') { 13862 this.highYear = params['high']; 13863 } 13864 this.exploreParent = 'Awards & Honors'; 13865 if (this.awardYear.toString() != '') { 13866 this.searchFor = this.awardYear.toString(); 13867 this.sortWith = 'title'; 13868 } 13869 else if (this.awardName != '') { 13870 this.searchFor = this.awardName; 13871 } 13872 else if (this.lowYear != '') { 13873 this.searchFor = this.lowYear + ' ' + this.highYear; 13874 } 13875 this.awardsList(); 13876 } 13877 else { 13878 var auth = localStorage.getItem('token'); 13879 var token = this.cookieService.check('tempPersonalCollection'); 13880 if (!token && typeof (auth) != 'string') { 13881 var router = this.router; 13882 this.responseAPIstatus = false; 13883 this.viewRefresh = false; 13884 this.haveApiError = true; 13885 setTimeout(function () { 13886 router.navigate(['/']); 13887 }, 10000); 13888 } 13889 else if (typeof (auth) != 'string' && token) { 13890 this.sortWith = 'date'; 13891 this.mylistTemp(); 13892 } 13893 else { 13894 this.mylist(); 13895 } 13896 } 13897 } 13898 else { 13899 this.resource_id = this.activatedRoute.snapshot.paramMap.get("resource_id"); 13900 if (this.resource_id) 13901 this.resource_id = this.resource_id.toString().replace(/\D/g, ""); 13902 this.getResourcesList(); 13903 } 13904 } 13905 else { 13906 let searchParams = new URLSearchParams(this.exploreSearch); 13907 if (searchParams.has("exploresearch") === true) { 13908 this.searchFor = searchParams.get("exploresearch"); 13909 } 13910 if (searchParams.has("expl") === true) { 13911 this.exploreParent = searchParams.get("expl"); 13912 } 13913 if (searchParams.has("explid") === true) { 13914 this.exploreParentid = searchParams.get("explid"); 13915 } 13916 this.getExploreSearch(); 13917 } 13918 } 13919 else { 13920 if (this.searchType == 'detail') { 13921 this.resourceId = params['resourceid']; 13922 this.getResourceSearchData(); 13923 } 13924 else if (this.searchType == 'series') { 13925 var alltitles = false;
13926 if (params['depth'] == 'title') { 13927 alltitles = true; 13928 } 13929 var series = params['series']; 13930 this.getSeriesSearchData(params['isbn'], series, alltitles); 13931 } 13932 else { 13933 if (this.searchType == 'PopularTitles') { 13934 this.period = params['period']; 13935 this.psize = params['size']; 13936 this.ppublish = params['publish']; 13937 this.searchFor = 'Popular Titles Search'; 13938 } 13939 else if (this.searchType == 'NewInLibrary') { 13940 this.period = params['period']; 13941 this.copies = params['copies']; 13942 this.ppublish = params['publish']; 13943 this.searchFor = 'New In Library Search'; 13944 } 13945 else if (this.searchType == 'Basic') { 13946 this.highlightParameter.type = this.searchType; 13947 this.highlightParameter.term = decodeURIComponent(params['keyword']); 13948 this.highlightParameter.in = params['searchin']; 13949 this.searchFor = decodeURIComponent(params['keyword']); 13950 this.searchIn = params['searchin']; 13951 this.exact = params['exact']; 13952 this.resourceSID = params['resource']; 13953 this.checkLimitTo(params); 13954 } 13955 else if (this.searchType == 'Marc') { 13956 this.highlightParameter.type = this.searchType; 13957 this.highlightParameter.term = typeof (params['term']) == 'undefined' ? decodeURIComponent(params['keyword']) : params['term']; 13958 this.highlightParameter.in = 'marc'; 13959 this.searchFor = typeof (params['term']) == 'undefined' ? decodeURIComponent(params['keyword']) : params['term']; 13960 this.searchIn = typeof (params['in']) == 'undefined' ? params['searchin'] : params['in']; 13961 this.exact = typeof (params['exact']) == 'undefined' ? 'false' : params['exact']; 13962 this.resourceSID = params['resource']; 13963 this.checkLimitTo(params); 13964 } 13965 else if (this.searchType == 'Category' || this.searchType == 'category') { 13966 this.highlightParameter.type = this.searchType; 13967 this.highlightParameter.term = params['categoryId']; 13968 this.categoryId = params['categoryId']; 13969 this.searchFor = 'Category'; 13970 this.checkLimitTo(params); 13971 } 13972 else if (this.searchType == 'Call' || this.searchType == 'Barcode') { 13973 this.highlightParameter.type = this.searchType; 13974 this.highlightParameter.in = 'call/barcode'; 13975 this.checkLimitTo(params); 13976 this.searchFor = params['start']; 13977 this.highlightParameter.term = params['start']; 13978 if (jquery__WEBPACK_IMPORTED_MODULE_7__.trim(params['end']) != '') { 13979 this.searchFor = params['start'] + ' to ' + params['end']; 13980 this.highlightParameter.term = params['start'] + ' ' + params['end']; 13981 } 13982 this.callStart = params['start']; 13983 this.callEnd = typeof (params['end']) == 'undefined' ? '' : params['end']; 13984 this.exact = params['exact']; 13985 } 13986 else if (this.searchType == 'ReadingCounts') { 13987 this.checkLimitTo(params); 13988 this.levelmin = params['levelmin']; 13989 this.levelmax = params['levelmax']; 13990 this.pointmin = params['pointmin']; 13991 this.pointmax = params['pointmax']; 13992 this.searchFor = "Reading Counts: Levels " + this.levelmin + " - " + this.levelmax + ", Points " + this.pointmin + "-" + this.pointmax; 13993 this.highlightParameter.type = this.searchType; 13994 this.highlightParameter.in = 'RC'; 13995 this.highlightParameter.term = +this.levelmin + " " + this.levelmax + " " + this.pointmin + " " + this.pointmax; 13996 this.exact = params['exact']; 13997 } 13998 else if (this.searchType == 'Fountas') { 13999 this.checkLimitTo(params); 14000 this.levelmin = params['levelmin']; 14001 this.levelmax = params['levelmax']; 14002 this.searchFor = "Fountas & Pinnell: Levels " + this.levelmin + " - " + this.levelmax; 14003 this.highlightParameter.type = this.searchType; 14004 this.highlightParameter.in = 'FP'; 14005 this.highlightParameter.term = +this.levelmin + " " + this.levelmax; 14006 this.exact = params['exact']; 14007 } 14008 else if (this.searchType == 'AcceleratedReader') { 14009 this.checkLimitTo(params); 14010 this.levelmin = params['levelmin']; 14011 this.levelmax = params['levelmax']; 14012 this.pointmin = params['pointmin']; 14013 this.pointmax = params['pointmax']; 14014 this.Arlevel = params['int']; 14015 if (this.levelmin == '' && this.levelmax == '') { 14016 this.searchFor = "Accelerated Reader: Points " + this.pointmin + " - " + this.pointmax; 14017 } 14018 else if (this.pointmin == '' && this.pointmax == '') { 14019 this.searchFor = "Accelerated Reader: Levels " + this.levelmin + " - " + this.levelmax; 14020 } 14021 else { 14022 this.searchFor = "Accelerated Reader: Levels " + this.levelmin + " - " + this.levelmax + ", Points " + this.pointmin + " - " + this.pointmax; 14023 } 14024 this.highlightParameter.type = this.searchType; 14025 this.highlightParameter.term = +this.levelmin + " " + this.levelmax + " " + this.pointmin + " " + this.pointmax; 14026 } 14027 else if (this.searchType == 'Lexile') { 14028 this.checkLimitTo(params); 14029 this.levelmin = params['levelmin']; 14030 this.levelmax = params['levelmax']; 14031 this.pointmin = params['code']; 14032 this.pointmax = params['patronType']; 14033 this.searchFor = "Lexile: Levels " + this.levelmin + " - " + this.levelmax; 14034 this.highlightParameter.in = 'AR'; 14035 this.highlightParameter.type = this.searchType; 14036 this.highlightParameter.term = this.levelmin + " " + this.levelmax; 14037 } 14038 else if (this.searchType == 'Boolean') { 14039 this.highlightParameter.type = this.searchType; 14040 this.checkLimitTo(params); 14041 this.levelmin = params['parameters']; 14042 //console.log(this.levelmin, 'parameter'); 14043 this.searchFor = "Boolean"; 14044 this.highlightParameter.term = ''; 14045 } 14046 else if (this.searchType == 'NoveSearch') { 14047 this.highlightParameter.type = 'NoveList Search'; 14048 this.checkLimitTo(params); 14049 this.levelmin = '&term-1=' + params['title'] + '&in-1=T&op-1=AND'; 14050 if (typeof (params['author']) != 'undefined') { 14051 this.levelmin += '&term-2=' + params['author'] + '&in-2=A&op-2=AND&count=2'; 14052 } 14053 else { 14054 this.levelmin += '&count=1'; 14055 } 14056 this.searchFor = "NoveList Search"; 14057 this.searchType = 'Boolean'; 14058 this.highlightParameter.in = 'T'; 14059 this.highlightParameter.term = params['title']; 14060 } 14061 //console.log('test1')
14062 this.getSearchData(); 14063 } 14064 } 14065 }); 14066 if (localStorage.getItem('selectedResourcesIds') != null) { 14067 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 14068 } 14069 this.librarySetting = this.homepageService.getUpdatedConfig(); 14070 if (this.librarySetting.data.settings.resultList.defaultView == 'compact list') { 14071 this.listView = 'compact'; 14072 } 14073 else if (this.librarySetting.data.settings.resultList.defaultView == 'list') { 14074 this.listView = 'true'; 14075 } 14076 else if (this.librarySetting.data.settings.resultList.defaultView == 'grid') { 14077 this.listView = 'false'; 14078 } 14079 if (!this.cookieService.check('Popular_title_List_View')) { 14080 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 14081 } 14082 else { 14083 this.listView = this.cookieService.get('Popular_title_List_View'); 14084 } 14085 if (this.librarySetting.data.settings.resultList.export.formats.list) { 14086 var temp = []; 14087 temp['key'] = 'list'; 14088 temp['value'] = 'List'; 14089 this.exportOptions.push(temp); 14090 this.exportEmailOptions.push(temp); 14091 } 14092 if (this.librarySetting.data.settings.resultList.export.formats.listWithImage) { 14093 var temp = []; 14094 temp['key'] = 'listwithimage'; 14095 temp['value'] = 'List with Images'; 14096 this.exportOptions.push(temp); 14097 } 14098 if (this.librarySetting.data.settings.resultList.export.formats.listWithImageAndSummary) { 14099 var temp = []; 14100 temp['key'] = 'listWithImageAndSummary'; 14101 temp['value'] = 'List with Images and Summary'; 14102 //this.printStyle = "summary"; 14103 this.exportOptions.push(temp); 14104 } 14105 if (this.librarySetting.data.settings.resultList.export.formats.apa) { 14106 var temp = []; 14107 temp['key'] = 'apa'; 14108 temp['value'] = 'Bibliography - APA'; 14109 this.exportOptions.push(temp); 14110 this.exportEmailOptions.push(temp); 14111 } 14112 if (this.librarySetting.data.settings.resultList.export.formats.mla) { 14113 var temp = []; 14114 temp['key'] = 'mla'; 14115 temp['value'] = 'Bibliography - MLA'; 14116 this.exportOptions.push(temp); 14117 this.exportEmailOptions.push(temp); 14118 } 14119 if (this.librarySetting.data.settings.resultList.export.formats.chicago) { 14120 var temp = []; 14121 temp['key'] = 'cmos'; 14122 temp['value'] = 'Bibliography - Chicago Style'; 14123 this.exportOptions.push(temp); 14124 this.exportEmailOptions.push(temp); 14125 } 14126 if (this.librarySetting.data.settings.resultList.export.formats.csv) { 14127 var temp = []; 14128 temp['key'] = 'csv'; 14129 temp['value'] = 'CSV'; 14130 this.exportDownloadOptions.push(temp); 14131 } 14132 if (this.librarySetting.data.settings.resultList.export.formats.marc) { 14133 var temp = []; 14134 temp['key'] = 'marc'; 14135 temp['value'] = 'Marc'; 14136 this.exportDownloadOptions.push(temp); 14137 } 14138 // this.searchResult.resources = []; 14139 // if(this.cookieService.check( 'info') ){ 14140 if (localStorage.getItem('info')) { 14141 this.isPatronLogin = true; 14142 } 14143 } 14144 //get data after location changed 14145 getNewLocData(changedLoc) { 14146 // this.routerService.setTextUrl('Search'); 14147 // this.document.body.classList.add('inner-page'); 14148 // this.document.body.classList.add('list'); 14149 // const queryParams = this.activatedRoute.snapshot.queryParams; 14150 // const routeParams = this.activatedRoute.snapshot.params; 14151 // //console.log(queryParams,routeParams,'activated') 14152 // this.activatedRoute.queryParams.subscribe(params => { 14153 // //console.log('I am here getNewLocData',params); 14154 // let lastKeyword = sessionStorage.getItem('lastSearchKeyword'); 14155 // //let lastKeyword=this.cookieService.get('seachFor'); 14156 // //console.log(lastKeyword,params.keyword) 14157 // if(this.locationFun === 'ngonit'){ 14158 // //console.log('return fun not match', this.locationFun); 14159 // return true; 14160 // } 14161 // let sessionUrl = sessionStorage.getItem('lastUrl'); 14162 // let urlDataArray =[];
14163 // let urlParams = sessionUrl.split('?')[1]; 14164 // let urlParamsArr = urlParams.split('&'); 14165 // for (let i = 0; i < urlParamsArr.length; i++) { 14166 // let urlPair = urlParamsArr[i].split('='); 14167 // urlDataArray[urlPair[0]] = urlPair[1] 14168 // } 14169 // for (var key in urlDataArray) { 14170 // var value = urlDataArray[key]; 14171 // //console.log(key, value); 14172 // if (params[key] != urlDataArray[key]) { 14173 // //console.log('no match'); 14174 // return true; 14175 // } 14176 // } 14177 // //console.log('out') 14178 // // if(lastKeyword != params.keyword){ 14179 // // console.log('return', lastKeyword); 14180 // // return true; 14181 // // } 14182 // //console.log('return false getNewLocData') 14183 // this.facets = []; 14184 // this.searchType = params['type']; 14185 // if(typeof(params['title']) != 'undefined'){ 14186 // //console.log('I am here'); 14187 // this.searchType = 'NoveSearch'; 14188 // } 14189 // if(typeof(this.searchType) == 'undefined'){ 14190 // //console.log('undefined getNewLocData') 14191 // this.highlightParameter.type = ''; 14192 // this.highlightParameter.in = ''; 14193 // this.highlightParameter.term = ''; 14194 // this.exploreSearch = this.activatedRoute.snapshot.paramMap.get("explore"); 14195 // if(typeof(this.exploreSearch) == 'undefined' || this.exploreSearch == null){ 14196 // //console.log('Undefined search', '1st step'); 14197 // if(typeof(this.activatedRoute.snapshot.paramMap.get("recentlist")) != 'undefined' && this.activatedRoute.snapshot.paramMap.get("recentlist") == 'list'){ 14198 // this.searchFor = this.cookieService.get('seachFor'); 14199 // //console.log('recent search list', '2nd step'); 14200 // this.getRecentList(); 14201 // } else 14202 // if(typeof(this.activatedRoute.snapshot.paramMap.get("my")) == 'string'){ 14203 // if(this.activatedRoute.snapshot.paramMap.get("my") == 'awards'){ 14204 // this.viewRefresh = true; 14205 // this.awardYear = params['year']; 14206 // this.awardId = params['award']; 14207 // this.awardName = params['name']; 14208 // this.sortWith = 'date'; 14209 // if(typeof(params['low']) != 'undefined'){ 14210 // this.lowYear = params['low']; 14211 // } 14212 // if(typeof(params['high']) != 'undefined'){ 14213 // this.highYear = params['high']; 14214 // } 14215 // this.exploreParent = 'Awards & Honors'; 14216 // if(this.awardYear.toString() != ''){ 14217 // this.searchFor = this.awardYear.toString(); 14218 // this.sortWith = 'title'; 14219 // } else if(this.awardName != ''){ 14220 // this.searchFor = this.awardName; 14221 // } else if(this.lowYear != ''){ 14222 // this.searchFor = this.lowYear+ ' ' +this.highYear; 14223 // } 14224 // this.awardsList(); 14225 // } else { 14226 // var auth = localStorage.getItem('token'); 14227 // var token = this.cookieService.check('tempPersonalCollection'); 14228 // if(!token && typeof(auth) != 'string'){ 14229 // var router = this.router; 14230 // this.responseAPIstatus = false; 14231 // this.viewRefresh = false; 14232 // this.haveApiError = true; 14233 // setTimeout(function(){ 14234 // router.navigate(['/']); 14235 // }, 10000); 14236 // } else if(typeof(auth) != 'string' && token){ 14237 // this.sortWith = 'date'; 14238 // this.mylistTemp(); 14239 // } else { 14240 // this.mylist(); 14241 // } 14242 // } 14243 // } else { 14244 // this.resource_id = this.activatedRoute.snapshot.paramMap.get("resource_id"); 14245 // if(this.resource_id) 14246 // this.resource_id = this.resource_id.toString().replace(/\D/g, ""); 14247 // this.getResourcesList(); 14248 // } 14249 // } else { 14250 // let searchParams = new URLSearchParams(this.exploreSearch); 14251 // if(searchParams.has("exploresearch") === true){ 14252 // this.searchFor = searchParams.get("exploresearch"); 14253 // } 14254 // if(searchParams.has("expl") === true){ 14255 // this.exploreParent = searchParams.get("expl"); 14256 // } 14257 // if(searchParams.has("explid") === true){ 14258 // this.exploreParentid = searchParams.get("explid"); 14259 // } 14260 // this.getExploreSearch(); 14261 // } 14262 // } else{ 14263 // if(this.searchType == 'detail'){ 14264 // this.resourceId = params['resourceid']; 14265 // this.getResourceSearchData(); 14266 // } else if(this.searchType == 'series'){ 14267 // var alltitles:boolean = false;
14268 // if(params['depth'] == 'title'){ 14269 // alltitles = true; 14270 // } 14271 // var series:number = params['series']; 14272 // this.getSeriesSearchData(params['isbn'],series,alltitles); 14273 // } else { 14274 // if(this.searchType == 'PopularTitles'){ 14275 // this.period = params['period']; 14276 // this.psize = params['size']; 14277 // this.ppublish = params['publish']; 14278 // this.searchFor = 'Popular Titles Search'; 14279 // } else if(this.searchType == 'NewInLibrary'){ 14280 // this.period = params['period']; 14281 // this.copies = params['copies']; 14282 // this.ppublish = params['publish']; 14283 // this.searchFor = 'New In Library Search'; 14284 // } else if(this.searchType == 'Basic'){ 14285 // this.highlightParameter.type = this.searchType; 14286 // this.highlightParameter.term = params['keyword']; 14287 // this.highlightParameter.in = params['searchin']; 14288 // this.searchFor = params['keyword']; 14289 // this.searchIn = params['searchin']; 14290 // this.exact = params['exact']; 14291 // this.resourceSID = params['resource']; 14292 // this.checkLimitTo(params); 14293 // } else if(this.searchType == 'Marc'){ 14294 // this.highlightParameter.type = this.searchType; 14295 // this.highlightParameter.term = typeof(params['term']) == 'undefined' ? params['keyword']:params['term']; 14296 // this.highlightParameter.in = 'marc'; 14297 // this.searchFor = typeof(params['term']) == 'undefined' ? params['keyword'] : params['term']; 14298 // this.searchIn = typeof(params['in']) == 'undefined' ? params['searchin'] : params['in']; 14299 // this.exact = typeof(params['exact']) == 'undefined' ? 'false' : params['exact']; 14300 // this.resourceSID = params['resource']; 14301 // this.checkLimitTo(params); 14302 // } 14303 // else if (this.searchType == 'Category' || this.searchType == 'category'){ 14304 // this.highlightParameter.type = this.searchType; 14305 // this.highlightParameter.term = params['categoryId']; 14306 // this.categoryId = params['categoryId']; 14307 // this.searchFor = 'Category'; 14308 // this.checkLimitTo(params); 14309 // } 14310 // else if(this.searchType == 'Call' || this.searchType == 'Barcode' ){ 14311 // this.highlightParameter.type = this.searchType; 14312 // this.highlightParameter.in = 'call/barcode'; 14313 // this.checkLimitTo(params); 14314 // this.searchFor = params['start']; 14315 // this.highlightParameter.term = params['start']; 14316 // if($.trim(params['end']) != ''){ 14317 // this.searchFor = params['start']+' to '+params['end']; 14318 // this.highlightParameter.term = params['start']+' '+params['end']; 14319 // } 14320 // this.callStart = params['start']; 14321 // this.callEnd = typeof(params['end']) == 'undefined' ? '' : params['end']; 14322 // this.exact = params['exact']; 14323 // } else if(this.searchType == 'ReadingCounts'){ 14324 // this.checkLimitTo(params); 14325 // this.levelmin = params['levelmin']; 14326 // this.levelmax = params['levelmax']; 14327 // this.pointmin = params['pointmin']; 14328 // this.pointmax = params['pointmax']; 14329 // this.searchFor = "Reading Counts: Levels "+this.levelmin+" - "+this.levelmax+ ", Points "+this.pointmin+"-"+this.pointmax; 14330 // this.highlightParameter.type = this.searchType; 14331 // this.highlightParameter.in = 'RC'; 14332 // this.highlightParameter.term =+this.levelmin+" "+this.levelmax+" "+this.pointmin+" "+this.pointmax; 14333 // this.exact = params['exact']; 14334 // } 14335 // else if (this.searchType == 'Fountas') { 14336 // this.checkLimitTo(params); 14337 // this.levelmin = params['levelmin']; 14338 // this.levelmax = params['levelmax']; 14339 // this.searchFor = "Fountas & Pinnell: Levels " + this.levelmin + " - " + this.levelmax; 14340 // this.highlightParameter.type = this.searchType; 14341 // this.highlightParameter.in = 'FP'; 14342 // this.highlightParameter.term = +this.levelmin + " " + this.levelmax; 14343 // this.exact = params['exact']; 14344 // } 14345 // else if (this.searchType == 'AcceleratedReader') { 14346 // this.checkLimitTo(params); 14347 // this.levelmin = params['levelmin']; 14348 // this.levelmax = params['levelmax']; 14349 // this.pointmin = params['pointmin']; 14350 // this.pointmax = params['pointmax']; 14351 // this.Arlevel = params['int']; 14352 // this.searchFor = "Accelerated Reader: Levels "+this.levelmin+" - "+this.levelmax+ ", Points "+this.pointmin+" - "+this.pointmax; 14353 // this.highlightParameter.type =this.searchType 14354 // this.highlightParameter.term =+this.levelmin+" "+this.levelmax+" "+this.pointmin+" "+this.pointmax; 14355 // } else if(this.searchType == 'Lexile'){ 14356 // this.checkLimitTo(params); 14357 // this.levelmin = params['levelmin']; 14358 // this.levelmax = params['levelmax']; 14359 // this.pointmin = params['code']; 14360 // this.pointmax = params['patronType']; 14361 // this.searchFor = "Lexile: Levels "+this.levelmin+" - "+this.levelmax; 14362 // this.highlightParameter.in = 'AR'; 14363 // this.highlightParameter.type =this.searchType 14364 // this.highlightParameter.term =this.levelmin+" "+this.levelmax; 14365 // } else if(this.searchType == 'Boolean'){ 14366 // this.highlightParameter.type =this.searchType 14367 // this.checkLimitTo(params); 14368 // this.levelmin = params['parameters']; 14369 // //console.log(this.levelmin, 'parameter'); 14370 // this.searchFor = "Boolean"; 14371 // this.highlightParameter.term =''; 14372 // }else if(this.searchType == 'NoveSearch'){ 14373 // this.highlightParameter.type = 'NoveList Search'; 14374 // this.checkLimitTo(params); 14375 // this.levelmin = '&term-1='+params['title']+'&in-1=T&op-1=AND'; 14376 // if(typeof(params['author']) != 'undefined' ){ 14377 // this.levelmin += '&term-2='+params['author']+'&in-2=A&op-2=AND&count=2'; 14378 // }else{ 14379 // this.levelmin += '&count=1'; 14380 // } 14381 // this.searchFor = "NoveList Search"; 14382 // this.searchType = 'Boolean'; 14383 // this.highlightParameter.in = 'T'; 14384 // this.highlightParameter.term =params['title']; 14385 // } 14386 // //console.log('test1') 14387 // //console.log('getSearchData called')
14388 // this.getSearchData(); 14389 // //this.callFun = false; 14390 // this.preLocId = changedLoc; 14391 // sessionStorage.setItem('lastSearchLocation', changedLoc); 14392 // } 14393 // } 14394 // }); 14395 // if( localStorage.getItem('selectedResourcesIds') != null ){ 14396 // this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 14397 // } 14398 // this.librarySetting = this.homepageService.getUpdatedConfig(); 14399 // if(this.librarySetting.data.settings.resultList.defaultView == 'compact list'){ 14400 // this.listView = 'compact'; 14401 // }else if(this.librarySetting.data.settings.resultList.defaultView == 'list'){ 14402 // this.listView = 'true'; 14403 // }else if(this.librarySetting.data.settings.resultList.defaultView == 'grid'){ 14404 // this.listView = 'false'; 14405 // } 14406 // if(!this.cookieService.check('Popular_title_List_View')){ 14407 // this.cookieService.set( 'Popular_title_List_View', this.listView, 365,'/'); 14408 // } else { 14409 // this.listView = this.cookieService.get('Popular_title_List_View'); 14410 // } 14411 // if(this.librarySetting.data.settings.resultList.export.formats.list){ 14412 // var temp:object = []; 14413 // temp['key'] = 'list'; 14414 // temp['value'] = 'List'; 14415 // this.exportOptions.push(temp); 14416 // this.exportEmailOptions.push(temp); 14417 // } 14418 // if(this.librarySetting.data.settings.resultList.export.formats.listWithImage){ 14419 // var temp:object = []; 14420 // temp['key'] = 'listwithimage'; 14421 // temp['value'] = 'List with Images'; 14422 // this.exportOptions.push(temp); 14423 // } 14424 // if(this.librarySetting.data.settings.resultList.export.formats.apa){ 14425 // var temp:object = []; 14426 // temp['key'] = 'apa'; 14427 // temp['value'] = 'Bibliography - APA'; 14428 // this.exportOptions.push(temp); 14429 // this.exportEmailOptions.push(temp); 14430 // } 14431 // if(this.librarySetting.data.settings.resultList.export.formats.mla){ 14432 // var temp:object = []; 14433 // temp['key'] = 'mla'; 14434 // temp['value'] = 'Bibliography - MLA'; 14435 // this.exportOptions.push(temp); 14436 // this.exportEmailOptions.push(temp); 14437 // } 14438 // if(this.librarySetting.data.settings.resultList.export.formats.chicago){ 14439 // var temp:object = []; 14440 // temp['key'] = 'cmos'; 14441 // temp['value'] = 'Bibliography - Chicago Style'; 14442 // this.exportOptions.push(temp); 14443 // this.exportEmailOptions.push(temp); 14444 // } 14445 // if(this.librarySetting.data.settings.resultList.export.formats.csv){ 14446 // var temp:object = []; 14447 // temp['key'] = 'csv'; 14448 // temp['value'] = 'CSV'; 14449 // this.exportDownloadOptions.push(temp); 14450 // } 14451 // if(this.librarySetting.data.settings.resultList.export.formats.marc){ 14452 // var temp:object = []; 14453 // temp['key'] = 'marc'; 14454 // temp['value'] = 'Marc'; 14455 // this.exportDownloadOptions.push(temp); 14456 // } 14457 // // this.searchResult.resources = []; 14458 // if(this.cookieService.check( 'info') ){ 14459 // this.isPatronLogin = true; 14460 // } 14461 } 14462 awardsList() { 14463 return this.homepageService.getConfig().subscribe((data) => { 14464 this.maxRecords = data.data.settings.resultList.maxItems; 14465 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14466 if (data.data.settings.search.filter.availability.enabled === true) { 14467 this.narrowFilters.push('ava'); 14468 } 14469 if (data.data.settings.search.filter.category.enabled === true) { 14470 this.narrowFilters.push('cat'); 14471 } 14472 if (data.data.settings.search.filter.lexile.enabled === true) { 14473 this.narrowFilters.push('lxl'); 14474 } 14475 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14476 this.narrowFilters.push('lxg'); 14477 } 14478 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14479 this.narrowFilters.push('lxc'); 14480 } 14481 if (data.data.settings.search.filter.fountas.enabled === true) { 14482 this.narrowFilters.push('fpl'); 14483 } 14484 if (data.data.settings.search.filter.rc.enabled === true) { 14485 this.narrowFilters.push('rcl'); 14486 } 14487 if (data.data.settings.search.filter.ar.enabled === true) { 14488 this.narrowFilters.push('arl'); 14489 } 14490 if (data.data.settings.search.filter.arInterest.enabled === true) { 14491 this.narrowFilters.push('ari'); 14492 } 14493 if (data.data.settings.search.filter.year.enabled === true) { 14494 this.narrowFilters.push('pub'); 14495 } 14496 if (data.data.settings.search.filter.series.enabled === true) { 14497 this.narrowFilters.push('ser'); 14498 } 14499 if (data.data.settings.search.filter.subject.enabled === true) { 14500 this.narrowFilters.push('sub'); 14501 } 14502 if (data.status === true && data.data.settings.resultList.pageSize) { 14503 this.listSize = data.data.settings.resultList.pageSize; 14504 return this.homepageService.awardsList(this.awardYear, this.awardId, this.lowYear, this.highYear, this.listSize, this.sortWith).subscribe((data) => { 14505 this.searchResult = data; 14506 /*if(this.searchResult.totalCount == 1){ 14507 this.router.navigate(['/resources/detail',this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14508 }*/ 14509 //this.searchResult = this.searchResult.data; 14510 var yearsGrp = {};
14511 this.searchResult.resources.forEach((years) => { 14512 if (typeof (yearsGrp[years.year]) == 'undefined') { 14513 yearsGrp[years.year] = []; 14514 } 14515 yearsGrp[years.year].push(years.listItemId); 14516 }); 14517 // this.yearGroups = yearsGrp; 14518 this.updateFacets(this.searchResult.facets); 14519 this.homepageService.updateBannerText(this.awardYear + ' ' + this.awardName); 14520 this.totalRecords = this.searchResult.totalCount; 14521 if (this.totalRecords == 0) { 14522 var $this = this; 14523 setTimeout(function () { 14524 $this._location.back(); 14525 }, 10000); 14526 } 14527 var pages = (this.searchResult.totalCount / this.listSize); 14528 this.createRange(pages); 14529 this.responseAPIstatus = false; 14530 this.viewRefresh = false; 14531 }, (err) => { 14532 if (err.error.Status !== true) { 14533 this.responseAPIstatus = false; 14534 this.viewRefresh = false; 14535 this.haveApiError = true; 14536 var router = this.router; 14537 setTimeout(function () { 14538 router.navigate(['/']); 14539 }, 10000); 14540 } 14541 }); 14542 } 14543 }); 14544 } 14545 mylistTemp() { 14546 return this.homepageService.getConfig().subscribe((data) => { 14547 this.maxRecords = data.data.settings.resultList.maxItems; 14548 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14549 if (data.data.settings.search.filter.availability.enabled === true) { 14550 this.narrowFilters.push('ava'); 14551 } 14552 if (data.data.settings.search.filter.category.enabled === true) { 14553 this.narrowFilters.push('cat'); 14554 } 14555 if (data.data.settings.search.filter.lexile.enabled === true) { 14556 this.narrowFilters.push('lxl'); 14557 } 14558 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14559 this.narrowFilters.push('lxg'); 14560 } 14561 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14562 this.narrowFilters.push('lxc'); 14563 } 14564 if (data.data.settings.search.filter.fountas.enabled === true) { 14565 this.narrowFilters.push('fpl'); 14566 } 14567 if (data.data.settings.search.filter.rc.enabled === true) { 14568 this.narrowFilters.push('rcl'); 14569 } 14570 if (data.data.settings.search.filter.ar.enabled === true) { 14571 this.narrowFilters.push('arl'); 14572 } 14573 if (data.data.settings.search.filter.arInterest.enabled === true) { 14574 this.narrowFilters.push('ari'); 14575 } 14576 if (data.data.settings.search.filter.year.enabled === true) { 14577 this.narrowFilters.push('pub'); 14578 } 14579 if (data.data.settings.search.filter.series.enabled === true) { 14580 this.narrowFilters.push('ser'); 14581 } 14582 if (data.data.settings.search.filter.subject.enabled === true) { 14583 this.narrowFilters.push('sub'); 14584 } 14585 if (data.status === true && data.data.settings.resultList.pageSize) { 14586 this.listSize = data.data.settings.resultList.pageSize; 14587 var token = this.cookieService.get('tempPersonalCollection'); 14588 return this.homepageService.myListTemp(token, this.sortWith, true, 20, 0, this.exploreId).subscribe((data) => { 14589 this.searchResult = data; 14590 if (this.searchResult.totalCount == 1) { 14591 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14592 } 14593 this.searchResult = this.searchResult.data; 14594 if (this.searchResult) { 14595 this.updateFacets(this.searchResult.facets); 14596 this.searchFor = this.searchResult.caption; 14597 } 14598 //this.homepageService.updateBannerText(this.searchResult.caption); 14599 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text(this.searchResult.totalCount); 14600 this.exploreParent = 'Resource Lists'; 14601 this.totalRecords = this.searchResult.totalCount; 14602 var pages = (this.searchResult.totalCount / this.listSize); 14603 this.createRange(pages); 14604 this.responseAPIstatus = false;
14605 this.viewRefresh = false; 14606 }, (err) => { 14607 if (err.error.Status !== true) { 14608 this.responseAPIstatus = false; 14609 this.viewRefresh = false; 14610 this.haveApiError = true; 14611 var router = this.router; 14612 setTimeout(function () { 14613 router.navigate(['/']); 14614 }, 10000); 14615 } 14616 }); 14617 } 14618 }); 14619 } 14620 mylist() { 14621 var auth = localStorage.getItem('token'); 14622 if (typeof (auth) != 'string') { 14623 this.responseAPIstatus = false; 14624 this.viewRefresh = false; 14625 this.haveApiError = true; 14626 var router = this.router; 14627 setTimeout(function () { 14628 router.navigate(['/']); 14629 }, 10000); 14630 return false; 14631 } 14632 return this.homepageService.getConfig().subscribe((data) => { 14633 this.maxRecords = data.data.settings.resultList.maxItems; 14634 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14635 if (data.data.settings.search.filter.availability.enabled === true) { 14636 this.narrowFilters.push('ava'); 14637 } 14638 if (data.data.settings.search.filter.category.enabled === true) { 14639 this.narrowFilters.push('cat'); 14640 } 14641 if (data.data.settings.search.filter.lexile.enabled === true) { 14642 this.narrowFilters.push('lxl'); 14643 } 14644 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14645 this.narrowFilters.push('lxg'); 14646 } 14647 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14648 this.narrowFilters.push('lxc'); 14649 } 14650 if (data.data.settings.search.filter.fountas.enabled === true) { 14651 this.narrowFilters.push('fpl'); 14652 } 14653 if (data.data.settings.search.filter.rc.enabled === true) { 14654 this.narrowFilters.push('rcl'); 14655 } 14656 if (data.data.settings.search.filter.ar.enabled === true) { 14657 this.narrowFilters.push('arl'); 14658 } 14659 if (data.data.settings.search.filter.arInterest.enabled === true) { 14660 this.narrowFilters.push('ari'); 14661 } 14662 if (data.data.settings.search.filter.year.enabled === true) { 14663 this.narrowFilters.push('pub'); 14664 } 14665 if (data.data.settings.search.filter.series.enabled === true) { 14666 this.narrowFilters.push('ser'); 14667 } 14668 if (data.data.settings.search.filter.subject.enabled === true) { 14669 this.narrowFilters.push('sub'); 14670 } 14671 if (data.status === true && data.data.settings.resultList.pageSize) { 14672 this.listSize = data.data.settings.resultList.pageSize; 14673 return this.homepageService.myList(auth, 'date', true, this.listSize, 0, this.exploreId).subscribe((data) => { 14674 this.searchResult = data; 14675 if (this.searchResult.totalCount == 1) { 14676 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14677 } 14678 this.searchResult = this.searchResult.data; 14679 if (this.searchResult.facets) { 14680 this.updateFacets(this.searchResult.facets); 14681 } 14682 this.searchFor = this.searchResult.caption; 14683 this.homepageService.updateBannerText(this.searchResult.caption); 14684 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text(this.searchResult.totalCount); 14685 this.exploreParent = 'Resource Lists'; 14686 this.totalRecords = this.searchResult.totalCount; 14687 var pages = (this.searchResult.totalCount / this.listSize); 14688 this.createRange(pages); 14689 this.responseAPIstatus = false;
14690 this.viewRefresh = false; 14691 }, (err) => { 14692 if (err.error.Status !== true) { 14693 this.responseAPIstatus = false; 14694 this.viewRefresh = false; 14695 this.haveApiError = true; 14696 var router = this.router; 14697 setTimeout(function () { 14698 router.navigate(['/']); 14699 }, 10000); 14700 } 14701 }); 14702 } 14703 }); 14704 } 14705 getResourcesList() { 14706 return this.homepageService.getConfig().subscribe((data) => { 14707 this.maxRecords = data.data.settings.resultList.maxItems; 14708 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14709 if (data.data.settings.search.filter.availability.enabled === true) { 14710 this.narrowFilters.push('ava'); 14711 } 14712 if (data.data.settings.search.filter.category.enabled === true) { 14713 this.narrowFilters.push('cat'); 14714 } 14715 if (data.data.settings.search.filter.lexile.enabled === true) { 14716 this.narrowFilters.push('lxl'); 14717 } 14718 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14719 this.narrowFilters.push('lxg'); 14720 } 14721 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14722 this.narrowFilters.push('lxc'); 14723 } 14724 if (data.data.settings.search.filter.fountas.enabled === true) { 14725 this.narrowFilters.push('fpl'); 14726 } 14727 if (data.data.settings.search.filter.rc.enabled === true) { 14728 this.narrowFilters.push('rcl'); 14729 } 14730 if (data.data.settings.search.filter.ar.enabled === true) { 14731 this.narrowFilters.push('arl'); 14732 } 14733 if (data.data.settings.search.filter.arInterest.enabled === true) { 14734 this.narrowFilters.push('ari'); 14735 } 14736 if (data.data.settings.search.filter.year.enabled === true) { 14737 this.narrowFilters.push('pub'); 14738 } 14739 if (data.data.settings.search.filter.series.enabled === true) { 14740 this.narrowFilters.push('ser'); 14741 } 14742 if (data.data.settings.search.filter.subject.enabled === true) { 14743 this.narrowFilters.push('sub'); 14744 } 14745 if (data.status === true && data.data.settings.resultList.pageSize) { 14746 this.listSize = data.data.settings.resultList.pageSize; 14747 this.sortWith = data.data.settings.resultList.defaultSort; 14748 //console.log(this.sortWith); 14749 return this.searchService.getResourceList(this.resource_id, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 14750 this.searchResult = data; 14751 this.descendingWith = this.searchResult.data.descending; 14752 if (this.searchResult.totalCount == 1) { 14753 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14754 } 14755 this.searchResult = this.searchResult.data; 14756 this.updateFacets(this.searchResult.facets); 14757 this.searchFor = this.searchResult.caption; 14758 this.homepageService.updateBannerText(this.searchResult.caption); 14759 this.exploreParent = 'Resource Lists'; 14760 this.totalRecords = this.searchResult.totalCount; 14761 var pages = (this.searchResult.totalCount / this.listSize); 14762 this.createRange(pages); 14763 this.responseAPIstatus = false; 14764 this.viewRefresh = false; 14765 }, (err) => { 14766 if (err.error.Status !== true) { 14767 this.responseAPIstatus = false; 14768 this.viewRefresh = false; 14769 this.haveApiError = true; 14770 var router = this.router; 14771 setTimeout(function () { 14772 router.navigate(['/']); 14773 }, 10000); 14774 } 14775 }); 14776 } 14777 }); 14778 } 14779 getResourceSearchData() { 14780 return this.homepageService.getConfig().subscribe((data) => { 14781 this.maxRecords = data.data.settings.resultList.maxItems; 14782 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14783 if (data.data.settings.search.filter.availability.enabled === true) { 14784 this.narrowFilters.push('ava'); 14785 } 14786 if (data.data.settings.search.filter.category.enabled === true) { 14787 this.narrowFilters.push('cat'); 14788 } 14789 if (data.data.settings.search.filter.lexile.enabled === true) { 14790 this.narrowFilters.push('lxl'); 14791 } 14792 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14793 this.narrowFilters.push('lxg'); 14794 } 14795 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14796 this.narrowFilters.push('lxc'); 14797 } 14798 if (data.data.settings.search.filter.fountas.enabled === true) { 14799 this.narrowFilters.push('fpl'); 14800 } 14801 if (data.data.settings.search.filter.rc.enabled === true) { 14802 this.narrowFilters.push('rcl'); 14803 } 14804 if (data.data.settings.search.filter.ar.enabled === true) { 14805 this.narrowFilters.push('arl'); 14806 } 14807 if (data.data.settings.search.filter.arInterest.enabled === true) { 14808 this.narrowFilters.push('ari'); 14809 } 14810 if (data.data.settings.search.filter.year.enabled === true) { 14811 this.narrowFilters.push('pub'); 14812 } 14813 if (data.data.settings.search.filter.series.enabled === true) { 14814 this.narrowFilters.push('ser'); 14815 } 14816 if (data.data.settings.search.filter.subject.enabled === true) { 14817 this.narrowFilters.push('sub'); 14818 } 14819 if (data.status === true && data.data.settings.resultList.pageSize) { 14820 this.listSize = data.data.settings.resultList.pageSize; 14821 return this.searchService.getResourceSearchData(this.resourceId, this.listSize).subscribe((data) => { 14822 this.searchResult = data; 14823 //this.descendingWith = data.descending; 14824 this.updateFacets(this.searchResult.facets); 14825 if (this.searchResult.totalCount == 1) { 14826 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14827 } 14828 this.totalRecords = this.searchResult.totalCount; 14829 this.homepageService.updateBannerText(this.searchResult.caption); 14830 var pages = (this.searchResult.totalCount / this.listSize); 14831 this.createRange(pages); 14832 this.responseAPIstatus = false;
14833 this.viewRefresh = false; 14834 }, (err) => { 14835 if (err.error.Status !== true) { 14836 this.responseAPIstatus = false; 14837 this.viewRefresh = false; 14838 this.haveApiError = true; 14839 var router = this.router; 14840 setTimeout(function () { 14841 router.navigate(['/']); 14842 }, 10000); 14843 } 14844 }); 14845 } 14846 }); 14847 } 14848 getSeriesSearchData(isbn, series, alltitles) { 14849 return this.homepageService.getConfig().subscribe((data) => { 14850 this.maxRecords = data.data.settings.resultList.maxItems; 14851 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14852 if (data.data.settings.search.filter.availability.enabled === true) { 14853 this.narrowFilters.push('ava'); 14854 } 14855 if (data.data.settings.search.filter.category.enabled === true) { 14856 this.narrowFilters.push('cat'); 14857 } 14858 if (data.data.settings.search.filter.lexile.enabled === true) { 14859 this.narrowFilters.push('lxl'); 14860 } 14861 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14862 this.narrowFilters.push('lxg'); 14863 } 14864 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14865 this.narrowFilters.push('lxc'); 14866 } 14867 if (data.data.settings.search.filter.fountas.enabled === true) { 14868 this.narrowFilters.push('fpl'); 14869 } 14870 if (data.data.settings.search.filter.rc.enabled === true) { 14871 this.narrowFilters.push('rcl'); 14872 } 14873 if (data.data.settings.search.filter.ar.enabled === true) { 14874 this.narrowFilters.push('arl'); 14875 } 14876 if (data.data.settings.search.filter.arInterest.enabled === true) { 14877 this.narrowFilters.push('ari'); 14878 } 14879 if (data.data.settings.search.filter.year.enabled === true) { 14880 this.narrowFilters.push('pub'); 14881 } 14882 if (data.data.settings.search.filter.series.enabled === true) { 14883 this.narrowFilters.push('ser'); 14884 } 14885 if (data.data.settings.search.filter.subject.enabled === true) { 14886 this.narrowFilters.push('sub'); 14887 } 14888 if (data.status === true && data.data.settings.resultList.pageSize) { 14889 this.listSize = data.data.settings.resultList.pageSize; 14890 return this.searchService.getSeriesSearchData(isbn, series, alltitles, this.listSize).subscribe((data) => { 14891 this.searchResult = data; 14892 //this.descendingWith = data.descending; 14893 this.updateFacets(this.searchResult.facets); 14894 if (this.searchResult.totalCount == 1) { 14895 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14896 } 14897 this.totalRecords = this.searchResult.totalCount; 14898 this.homepageService.updateBannerText(this.searchResult.caption); 14899 var pages = (this.searchResult.totalCount / this.listSize); 14900 this.createRange(pages); 14901 this.responseAPIstatus = false; 14902 this.viewRefresh = false; 14903 }, (err) => { 14904 if (err.error.Status !== true) { 14905 this.responseAPIstatus = false; 14906 this.viewRefresh = false; 14907 this.haveApiError = true; 14908 var router = this.router; 14909 setTimeout(function () { 14910 router.navigate(['/']); 14911 }, 10000); 14912 } 14913 }); 14914 } 14915 }); 14916 } 14917 getExploreSearch() { 14918 return this.homepageService.getConfig().subscribe((data) => { 14919 this.maxRecords = data.data.settings.resultList.maxItems; 14920 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 14921 if (data.data.settings.search.filter.availability.enabled === true) { 14922 this.narrowFilters.push('ava'); 14923 } 14924 if (data.data.settings.search.filter.category.enabled === true) { 14925 this.narrowFilters.push('cat'); 14926 } 14927 if (data.data.settings.search.filter.lexile.enabled === true) { 14928 this.narrowFilters.push('lxl'); 14929 } 14930 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 14931 this.narrowFilters.push('lxg'); 14932 } 14933 if (data.data.settings.search.filter.lexileCode.enabled === true) { 14934 this.narrowFilters.push('lxc'); 14935 } 14936 if (data.data.settings.search.filter.fountas.enabled === true) { 14937 this.narrowFilters.push('fpl'); 14938 } 14939 if (data.data.settings.search.filter.rc.enabled === true) { 14940 this.narrowFilters.push('rcl'); 14941 } 14942 if (data.data.settings.search.filter.ar.enabled === true) { 14943 this.narrowFilters.push('arl'); 14944 } 14945 if (data.data.settings.search.filter.arInterest.enabled === true) { 14946 this.narrowFilters.push('ari'); 14947 } 14948 if (data.data.settings.search.filter.year.enabled === true) { 14949 this.narrowFilters.push('pub'); 14950 } 14951 if (data.data.settings.search.filter.series.enabled === true) { 14952 this.narrowFilters.push('ser'); 14953 } 14954 if (data.data.settings.search.filter.subject.enabled === true) { 14955 this.narrowFilters.push('sub'); 14956 } 14957 if (data.status === true && data.data.settings.resultList.pageSize) { 14958 this.listSize = data.data.settings.resultList.pageSize; 14959 return this.searchService.getExploreSearchData(this.exploreSearch, this.listSize).subscribe((data) => { 14960 this.searchResult = data; 14961 //console.log("Explore search ++++++++++++++", this.descendingWith); 14962 //this.descendingWith = data.descending; 14963 this.updateFacets(this.searchResult.facets); 14964 if (this.searchResult.totalCount == 1) { 14965 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 14966 } 14967 this.totalRecords = this.searchResult.totalCount; 14968 if (this.totalRecords == 0) { 14969 var $this = this; 14970 setTimeout(function () { 14971 $this._location.back(); 14972 }, 10000); 14973 } 14974 this.homepageService.updateBannerText(this.searchFor); 14975 var pages = (this.searchResult.totalCount / this.listSize); 14976 this.createRange(pages); 14977 this.responseAPIstatus = false;
14978 this.viewRefresh = false; 14979 }, (err) => { 14980 if (err.error.Status !== true) { 14981 this.responseAPIstatus = false; 14982 this.viewRefresh = false; 14983 this.haveApiError = true; 14984 var $this = this; 14985 setTimeout(function () { 14986 $this._location.back(); 14987 //router.navigate(['/']); 14988 }, 10000); 14989 } 14990 }); 14991 } 14992 }); 14993 } 14994 getRecentList() { 14995 this.responseAPI = true; 14996 this.viewRefresh = true; 14997 return this.homepageService.getConfig().subscribe((data) => { 14998 this.maxRecords = data.data.settings.resultList.maxItems; 14999 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15000 if (data.data.settings.search.filter.availability.enabled === true) { 15001 this.narrowFilters.push('ava'); 15002 } 15003 if (data.data.settings.search.filter.category.enabled === true) { 15004 this.narrowFilters.push('cat'); 15005 } 15006 if (data.data.settings.search.filter.lexile.enabled === true) { 15007 this.narrowFilters.push('lxl'); 15008 } 15009 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15010 this.narrowFilters.push('lxg'); 15011 } 15012 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15013 this.narrowFilters.push('lxc'); 15014 } 15015 if (data.data.settings.search.filter.fountas.enabled === true) { 15016 this.narrowFilters.push('fpl'); 15017 } 15018 if (data.data.settings.search.filter.rc.enabled === true) { 15019 this.narrowFilters.push('rcl'); 15020 } 15021 if (data.data.settings.search.filter.ar.enabled === true) { 15022 this.narrowFilters.push('arl'); 15023 } 15024 if (data.data.settings.search.filter.arInterest.enabled === true) { 15025 this.narrowFilters.push('ari'); 15026 } 15027 if (data.data.settings.search.filter.year.enabled === true) { 15028 this.narrowFilters.push('pub'); 15029 } 15030 if (data.data.settings.search.filter.series.enabled === true) { 15031 this.narrowFilters.push('ser'); 15032 } 15033 if (data.data.settings.search.filter.subject.enabled === true) { 15034 this.narrowFilters.push('sub'); 15035 } 15036 if (data.status === true && data.data.settings.resultList.pageSize) { 15037 this.listSize = data.data.settings.resultList.pageSize; 15038 var RecentURL = this.cookieService.get('recentSearch'); 15039 return this.searchService.getRecentSearch(RecentURL).subscribe((data) => { 15040 this.searchResult = data; 15041 if (typeof (this.searchResult.data) != 'undefined') { 15042 this.searchResult = this.searchResult.data; 15043 } 15044 else { 15045 this.searchResult = data; 15046 } 15047 this.updateFacets(this.searchResult.facets); 15048 if (this.searchResult.totalCount == 1) { 15049 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15050 } 15051 this.totalRecords = this.searchResult.totalCount; 15052 this.homepageService.updateBannerText(this.searchFor); 15053 var pages = (this.searchResult.totalCount / this.listSize); 15054 this.createRange(pages); 15055 this.responseAPIstatus = false; 15056 this.viewRefresh = false; 15057 this.responseAPI = false; 15058 this.sortWith = this.searchResult.order; 15059 }, (err) => { 15060 if (err.error.Status !== true) { 15061 this.responseAPIstatus = false;
15062 this.viewRefresh = false; 15063 this.haveApiError = true; 15064 var router = this.router; 15065 setTimeout(function () { 15066 router.navigate(['/']); 15067 }, 10000); 15068 } 15069 }); 15070 } 15071 }); 15072 } 15073 getSearchData(searchTerm) { 15074 this.responseAPI = true; 15075 this.viewRefresh = true; 15076 //console.log(this.searchFor,'this.searchFor') 15077 if (this.searchType == 'Basic') { 15078 return this.homepageService.getConfig().subscribe((data) => { 15079 // console.log(data,'getconfig') 15080 this.maxRecords = data.data.settings.resultList.maxItems; 15081 this.sortWith = data.data.settings.resultList.defaultSort; 15082 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15083 if (data.data.settings.search.filter.availability.enabled === true) { 15084 this.narrowFilters.push('ava'); 15085 } 15086 if (data.data.settings.search.filter.category.enabled === true) { 15087 this.narrowFilters.push('cat'); 15088 } 15089 if (data.data.settings.search.filter.lexile.enabled === true) { 15090 this.narrowFilters.push('lxl'); 15091 } 15092 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15093 this.narrowFilters.push('lxg'); 15094 } 15095 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15096 this.narrowFilters.push('lxc'); 15097 } 15098 if (data.data.settings.search.filter.fountas.enabled === true) { 15099 this.narrowFilters.push('fpl'); 15100 } 15101 if (data.data.settings.search.filter.rc.enabled === true) { 15102 this.narrowFilters.push('rcl'); 15103 } 15104 if (data.data.settings.search.filter.ar.enabled === true) { 15105 this.narrowFilters.push('arl'); 15106 } 15107 if (data.data.settings.search.filter.arInterest.enabled === true) { 15108 this.narrowFilters.push('ari'); 15109 } 15110 if (data.data.settings.search.filter.year.enabled === true) { 15111 this.narrowFilters.push('pub'); 15112 } 15113 if (data.data.settings.search.filter.series.enabled === true) { 15114 this.narrowFilters.push('ser'); 15115 } 15116 if (data.data.settings.search.filter.subject.enabled === true) { 15117 this.narrowFilters.push('sub'); 15118 } 15119 if (data.status === true && data.data.settings.resultList.pageSize) { 15120 this.listSize = data.data.settings.resultList.pageSize; 15121 if (typeof (this.resourceSID) != 'undefined') { 15122 this.searchIn = ''; 15123 this.searchFor = ''; 15124 } 15125 else if (typeof (this.resourceSID) == 'undefined') { 15126 this.resourceSID = ''; 15127 } 15128 //console.log(this.limitArray, this.searchFor, this.searchIn, this.resourceSID,this.exact, this.listSize, this.sortWith,'>',this.searchFor) 15129 // if((this.searchFor != 'undefined') && (this.searchFor != '') && (this.searchFor != null)){ 15130 if (searchTerm) { 15131 this.searchFor = searchTerm; 15132 } 15133 return this.searchService.basicSearch(this.limitArray, this.searchFor, this.searchIn, this.resourceSID, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15134 this.locationFun = 'ngonit'; 15135 this.searchResult = data; 15136 //console.log(data,'basic search') 15137 this.descendingWith = data.descending; 15138 this.updateFacets(this.searchResult.facets); 15139 if (this.searchResult.totalCount == 1) { 15140 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15141 } 15142 this.totalRecords = data.totalCount; 15143 if (typeof (this.routerService.getPreviousUrl(
15143)) != 'undefined') { 15144 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15145 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15146 else 15147 this.homepageService.updateBannerText(this.searchFor); 15148 } 15149 else { 15150 this.homepageService.updateBannerText(this.searchFor); 15151 } 15152 //console.log(this.previousUrl, this.routerService.getPreviousUrl()); 15153 var pages = (data.totalCount / this.listSize); 15154 this.createRange(pages); 15155 this.responseAPIstatus = false; 15156 this.viewRefresh = false; 15157 this.responseAPI = false; 15158 var recentList = this.searchService.getLastSearch(); 15159 this.cookieService.set('recentSearch', recentList, 365, '/'); 15160 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15161 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15162 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15163 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15164 }, (err) => { 15165 if (err.error.Status !== true) { 15166 this.responseAPIstatus = false; 15167 this.viewRefresh = false; 15168 this.haveApiError = true; 15169 var router = this.router; 15170 setTimeout(function () { 15171 router.navigate(['/']); 15172 }, 10000); 15173 } 15174 }); 15175 // } 15176 } 15177 }); 15178 } 15179 else if (this.searchType == 'Marc') { 15180 return this.homepageService.getConfig().subscribe((data) => { 15181 this.maxRecords = data.data.settings.resultList.maxItems; 15182 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15183 this.sortWith = data.data.settings.resultList.defaultSort; 15184 if (data.data.settings.search.filter.availability.enabled === true) { 15185 this.narrowFilters.push('ava'); 15186 } 15187 if (data.data.settings.search.filter.category.enabled === true) { 15188 this.narrowFilters.push('cat'); 15189 } 15190 if (data.data.settings.search.filter.lexile.enabled === true) { 15191 this.narrowFilters.push('lxl'); 15192 } 15193 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15194 this.narrowFilters.push('lxg'); 15195 } 15196 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15197 this.narrowFilters.push('lxc'); 15198 } 15199 if (data.data.settings.search.filter.fountas.enabled === true) { 15200 this.narrowFilters.push('fpl'); 15201 } 15202 if (data.data.settings.search.filter.rc.enabled === true) { 15203 this.narrowFilters.push('rcl'); 15204 } 15205 if (data.data.settings.search.filter.ar.enabled === true) { 15206 this.narrowFilters.push('arl'); 15207 } 15208 if (data.data.settings.search.filter.arInterest.enabled === true) { 15209 this.narrowFilters.push('ari'); 15210 } 15211 if (data.data.settings.search.filter.year.enabled === true) { 15212 this.narrowFilters.push('pub'); 15213 } 15214 if (data.data.settings.search.filter.series.enabled === true) { 15215 this.narrowFilters.push('ser'); 15216 } 15217 if (data.data.settings.search.filter.subject.enabled === true) { 15218 this.narrowFilters.push('sub'); 15219 } 15220 if (data.status === true && data.data.settings.resultList.pageSize) { 15221 this.listSize = data.data.settings.resultList.pageSize; 15222 return this.searchService.basicMarc(this.limitArray, this.searchFor, this.searchIn, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15223 this.searchResult = data; 15224 this.descendingWith = data.descending; 15225 this.updateFacets(this.searchResult.facets); 15226 if (this.searchResult.totalCount == 1) { 15227 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15228 } 15229 this.totalRecords = data.totalCount; 15230 if (this.totalRecords == 0) { 15231 var $this = this; 15232 setTimeout(function () { 15233 $this._location.back(); 15234 }, 10000); 15235 } 15236 if (typeof (this.routerService.getPreviousUrl(
15236)) != 'undefined') { 15237 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15238 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15239 else 15240 this.homepageService.updateBannerText(this.searchFor); 15241 } 15242 else { 15243 this.homepageService.updateBannerText(this.searchFor); 15244 } 15245 var pages = (data.totalCount / this.listSize); 15246 this.createRange(pages); 15247 this.responseAPIstatus = false; 15248 this.viewRefresh = false; 15249 this.responseAPI = false; 15250 var recentList = this.searchService.getLastSearch(); 15251 this.cookieService.set('recentSearch', recentList, 365, '/'); 15252 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15253 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15254 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15255 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15256 }, (err) => { 15257 if (err.error.Status !== true) { 15258 this.responseAPIstatus = false; 15259 this.viewRefresh = false; 15260 this.haveApiError = true; 15261 var router = this.router; 15262 setTimeout(function () { 15263 router.navigate(['/']); 15264 }, 10000); 15265 } 15266 }); 15267 } 15268 }); 15269 } 15270 else if (this.searchType == 'Call') { 15271 return this.homepageService.getConfig().subscribe((data) => { 15272 this.maxRecords = data.data.settings.resultList.maxItems; 15273 this.sortWith = data.data.settings.resultList.defaultSort; 15274 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15275 if (data.data.settings.search.filter.availability.enabled === true) { 15276 this.narrowFilters.push('ava'); 15277 } 15278 if (data.data.settings.search.filter.category.enabled === true) { 15279 this.narrowFilters.push('cat'); 15280 } 15281 if (data.data.settings.search.filter.lexile.enabled === true) { 15282 this.narrowFilters.push('lxl'); 15283 } 15284 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15285 this.narrowFilters.push('lxg'); 15286 } 15287 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15288 this.narrowFilters.push('lxc'); 15289 } 15290 if (data.data.settings.search.filter.fountas.enabled === true) { 15291 this.narrowFilters.push('fpl'); 15292 } 15293 if (data.data.settings.search.filter.rc.enabled === true) { 15294 this.narrowFilters.push('rcl'); 15295 } 15296 if (data.data.settings.search.filter.ar.enabled === true) { 15297 this.narrowFilters.push('arl'); 15298 } 15299 if (data.data.settings.search.filter.arInterest.enabled === true) { 15300 this.narrowFilters.push('ari'); 15301 } 15302 if (data.data.settings.search.filter.year.enabled === true) { 15303 this.narrowFilters.push('pub'); 15304 } 15305 if (data.data.settings.search.filter.series.enabled === true) { 15306 this.narrowFilters.push('ser'); 15307 } 15308 if (data.data.settings.search.filter.subject.enabled === true) { 15309 this.narrowFilters.push('sub'); 15310 } 15311 if (data.status === true && data.data.settings.resultList.pageSize) { 15312 this.listSize = data.data.settings.resultList.pageSize; 15313 return this.searchService.basicCall(this.limitArray, this.callStart, this.callEnd, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15314 this.searchResult = data; 15315 this.descendingWith = data.descending; 15316 this.updateFacets(this.searchResult.facets); 15317 if (this.searchResult.totalCount == 1) { 15318 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15319 } 15320 this.totalRecords = data.totalCount; 15321 if (this.totalRecords == 0) { 15322 var $this = this; 15323 setTimeout(function () { 15324 $this._location.back(); 15325 }, 10000); 15326 } 15327 if (typeof (this.routerService.getPreviousUrl(
15327)) != 'undefined') { 15328 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15329 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15330 else 15331 this.homepageService.updateBannerText(this.searchFor); 15332 } 15333 else { 15334 this.homepageService.updateBannerText(this.searchFor); 15335 } 15336 var pages = (data.totalCount / this.listSize); 15337 this.createRange(pages); 15338 this.responseAPIstatus = false; 15339 this.viewRefresh = false; 15340 this.responseAPI = false; 15341 var recentList = this.searchService.getLastSearch(); 15342 this.cookieService.set('recentSearch', recentList, 365, '/'); 15343 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15344 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15345 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15346 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15347 }, (err) => { 15348 if (err.error.Status !== true) { 15349 this.responseAPIstatus = false; 15350 this.viewRefresh = false; 15351 this.haveApiError = true; 15352 var router = this.router; 15353 setTimeout(function () { 15354 router.navigate(['/']); 15355 }, 10000); 15356 } 15357 }); 15358 } 15359 }); 15360 } 15361 else if (this.searchType == 'Category' || this.searchType == 'category') { 15362 return this.homepageService.getConfig().subscribe((data) => { 15363 this.maxRecords = data.data.settings.resultList.maxItems; 15364 this.sortWith = data.data.settings.resultList.defaultSort; 15365 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15366 if (data.data.settings.search.filter.availability.enabled === true) { 15367 this.narrowFilters.push('ava'); 15368 } 15369 if (data.data.settings.search.filter.category.enabled === true) { 15370 this.narrowFilters.push('cat'); 15371 } 15372 if (data.data.settings.search.filter.lexile.enabled === true) { 15373 this.narrowFilters.push('lxl'); 15374 } 15375 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15376 this.narrowFilters.push('lxg'); 15377 } 15378 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15379 this.narrowFilters.push('lxc'); 15380 } 15381 if (data.data.settings.search.filter.fountas.enabled === true) { 15382 this.narrowFilters.push('fpl'); 15383 } 15384 if (data.data.settings.search.filter.rc.enabled === true) { 15385 this.narrowFilters.push('rcl'); 15386 } 15387 if (data.data.settings.search.filter.ar.enabled === true) { 15388 this.narrowFilters.push('arl'); 15389 } 15390 if (data.data.settings.search.filter.arInterest.enabled === true) { 15391 this.narrowFilters.push('ari'); 15392 } 15393 if (data.data.settings.search.filter.year.enabled === true) { 15394 this.narrowFilters.push('pub'); 15395 } 15396 if (data.data.settings.search.filter.series.enabled === true) { 15397 this.narrowFilters.push('ser'); 15398 } 15399 if (data.data.settings.search.filter.subject.enabled === true) { 15400 this.narrowFilters.push('sub'); 15401 } 15402 if (data.status === true && data.data.settings.resultList.pageSize) { 15403 this.listSize = data.data.settings.resultList.pageSize; 15404 return this.searchService.basicCategory(this.limitArray, this.categoryId, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15405 this.searchResult = data; 15406 this.descendingWith = data.descending; 15407 this.searchFor = data.caption; 15408 this.updateFacets(this.searchResult.facets); 15409 if (this.searchResult.totalCount == 1) { 15410 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15411 } 15412 this.totalRecords = data.totalCount; 15413 if (this.totalRecords == 0) { 15414 var $this = this; 15415 setTimeout(function () { 15416 $this._location.back(); 15417 }, 10000); 15418 } 15419 if (typeof (this.routerService.getPreviousUrl(
15419)) != 'undefined') { 15420 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15421 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15422 else 15423 this.homepageService.updateBannerText(this.searchFor); 15424 } 15425 else { 15426 this.homepageService.updateBannerText(this.searchFor); 15427 } 15428 var pages = (data.totalCount / this.listSize); 15429 this.createRange(pages); 15430 this.responseAPIstatus = false; 15431 this.viewRefresh = false; 15432 this.responseAPI = false; 15433 var recentList = this.searchService.getLastSearch(); 15434 this.cookieService.set('recentSearch', recentList, 365, '/'); 15435 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15436 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15437 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15438 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15439 }, (err) => { 15440 if (err.error.Status !== true) { 15441 this.responseAPIstatus = false; 15442 this.viewRefresh = false; 15443 this.haveApiError = true; 15444 var router = this.router; 15445 setTimeout(function () { 15446 router.navigate(['/']); 15447 }, 10000); 15448 } 15449 }); 15450 } 15451 }); 15452 } 15453 else if (this.searchType == 'Barcode') { 15454 return this.homepageService.getConfig().subscribe((data) => { 15455 this.maxRecords = data.data.settings.resultList.maxItems; 15456 this.sortWith = data.data.settings.resultList.defaultSort; 15457 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15458 if (data.data.settings.search.filter.availability.enabled === true) { 15459 this.narrowFilters.push('ava'); 15460 } 15461 if (data.data.settings.search.filter.category.enabled === true) { 15462 this.narrowFilters.push('cat'); 15463 } 15464 if (data.data.settings.search.filter.lexile.enabled === true) { 15465 this.narrowFilters.push('lxl'); 15466 } 15467 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15468 this.narrowFilters.push('lxg'); 15469 } 15470 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15471 this.narrowFilters.push('lxc'); 15472 } 15473 if (data.data.settings.search.filter.fountas.enabled === true) { 15474 this.narrowFilters.push('fpl'); 15475 } 15476 if (data.data.settings.search.filter.rc.enabled === true) { 15477 this.narrowFilters.push('rcl'); 15478 } 15479 if (data.data.settings.search.filter.ar.enabled === true) { 15480 this.narrowFilters.push('arl'); 15481 } 15482 if (data.data.settings.search.filter.arInterest.enabled === true) { 15483 this.narrowFilters.push('ari'); 15484 } 15485 if (data.data.settings.search.filter.year.enabled === true) { 15486 this.narrowFilters.push('pub'); 15487 } 15488 if (data.data.settings.search.filter.series.enabled === true) { 15489 this.narrowFilters.push('ser'); 15490 } 15491 if (data.data.settings.search.filter.subject.enabled === true) { 15492 this.narrowFilters.push('sub'); 15493 } 15494 if (data.status === true && data.data.settings.resultList.pageSize) { 15495 this.listSize = data.data.settings.resultList.pageSize; 15496 return this.searchService.basicBarcode(this.limitArray, this.callStart, this.callEnd, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15497 this.searchResult = data; 15498 this.descendingWith = data.descending; 15499 //console.log('I am 1265'); 15500 this.updateFacets(this.searchResult.facets); 15501 if (this.searchResult.totalCount == 1) { 15502 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15503 } 15504 this.totalRecords = data.totalCount; 15505 if (this.totalRecords == 0) { 15506 var $this = this; 15507 setTimeout(function () { 15508 $this._location.back(); 15509 }, 10000); 15510 } 15511 if (typeof (this.routerService.getPreviousUrl(
15511)) != 'undefined') { 15512 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15513 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15514 else 15515 this.homepageService.updateBannerText(this.searchFor); 15516 } 15517 else { 15518 this.homepageService.updateBannerText(this.searchFor); 15519 } 15520 var pages = (data.totalCount / this.listSize); 15521 this.createRange(pages); 15522 this.responseAPIstatus = false; 15523 this.viewRefresh = false; 15524 this.responseAPI = false; 15525 var recentList = this.searchService.getLastSearch(); 15526 this.cookieService.set('recentSearch', recentList, 365, '/'); 15527 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15528 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15529 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15530 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15531 }, (err) => { 15532 if (err.error.Status !== true) { 15533 this.responseAPIstatus = false; 15534 this.viewRefresh = false; 15535 this.haveApiError = true; 15536 var router = this.router; 15537 setTimeout(function () { 15538 router.navigate(['/']); 15539 }, 10000); 15540 } 15541 }); 15542 } 15543 }); 15544 } 15545 else if (this.searchType == 'ReadingCounts') { 15546 return this.homepageService.getConfig().subscribe((data) => { 15547 this.maxRecords = data.data.settings.resultList.maxItems; 15548 this.sortWith = data.data.settings.resultList.defaultSort; 15549 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15550 if (data.data.settings.search.filter.availability.enabled === true) { 15551 this.narrowFilters.push('ava'); 15552 } 15553 if (data.data.settings.search.filter.category.enabled === true) { 15554 this.narrowFilters.push('cat'); 15555 } 15556 if (data.data.settings.search.filter.lexile.enabled === true) { 15557 this.narrowFilters.push('lxl'); 15558 } 15559 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15560 this.narrowFilters.push('lxg'); 15561 } 15562 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15563 this.narrowFilters.push('lxc'); 15564 } 15565 if (data.data.settings.search.filter.fountas.enabled === true) { 15566 this.narrowFilters.push('fpl'); 15567 } 15568 if (data.data.settings.search.filter.rc.enabled === true) { 15569 this.narrowFilters.push('rcl'); 15570 } 15571 if (data.data.settings.search.filter.ar.enabled === true) { 15572 this.narrowFilters.push('arl'); 15573 } 15574 if (data.data.settings.search.filter.arInterest.enabled === true) { 15575 this.narrowFilters.push('ari'); 15576 } 15577 if (data.data.settings.search.filter.year.enabled === true) { 15578 this.narrowFilters.push('pub'); 15579 } 15580 if (data.data.settings.search.filter.series.enabled === true) { 15581 this.narrowFilters.push('ser'); 15582 } 15583 if (data.data.settings.search.filter.subject.enabled === true) { 15584 this.narrowFilters.push('sub'); 15585 } 15586 if (data.status === true && data.data.settings.resultList.pageSize) { 15587 this.listSize = data.data.settings.resultList.pageSize; 15588 return this.searchService.basicReadingCounts(this.limitArray, this.levelmin, this.levelmax, this.pointmin, this.pointmax, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15589 this.searchResult = data; 15590 this.descendingWith = data.descending; 15591 //console.log('I am 1265'); 15592 this.updateFacets(this.searchResult.facets); 15593 if (this.searchResult.totalCount == 1) { 15594 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15595 } 15596 this.totalRecords = data.totalCount; 15597 if (this.totalRecords == 0) { 15598 var $this = this; 15599 setTimeout(function () { 15600 $this._location.back(); 15601 }, 10000); 15602 } 15603 if (typeof (this.routerService.getPreviousUrl(
15603)) != 'undefined') { 15604 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15605 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15606 else 15607 this.homepageService.updateBannerText(this.searchFor); 15608 } 15609 else { 15610 this.homepageService.updateBannerText(this.searchFor); 15611 } 15612 var pages = (data.totalCount / this.listSize); 15613 this.createRange(pages); 15614 this.responseAPIstatus = false; 15615 this.viewRefresh = false; 15616 this.responseAPI = false; 15617 var recentList = this.searchService.getLastSearch(); 15618 this.cookieService.set('recentSearch', recentList, 365, '/'); 15619 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15620 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15621 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15622 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15623 }, (err) => { 15624 if (err.error.Status !== true) { 15625 this.responseAPIstatus = false; 15626 this.viewRefresh = false; 15627 this.haveApiError = true; 15628 var router = this.router; 15629 setTimeout(function () { 15630 router.navigate(['/']); 15631 }, 10000); 15632 } 15633 }); 15634 } 15635 }); 15636 } 15637 else if (this.searchType == 'AcceleratedReader') { 15638 return this.homepageService.getConfig().subscribe((data) => { 15639 this.maxRecords = data.data.settings.resultList.maxItems; 15640 this.sortWith = data.data.settings.resultList.defaultSort; 15641 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15642 if (data.data.settings.search.filter.availability.enabled === true) { 15643 this.narrowFilters.push('ava'); 15644 } 15645 if (data.data.settings.search.filter.category.enabled === true) { 15646 this.narrowFilters.push('cat'); 15647 } 15648 if (data.data.settings.search.filter.lexile.enabled === true) { 15649 this.narrowFilters.push('lxl'); 15650 } 15651 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15652 this.narrowFilters.push('lxg'); 15653 } 15654 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15655 this.narrowFilters.push('lxc'); 15656 } 15657 if (data.data.settings.search.filter.fountas.enabled === true) { 15658 this.narrowFilters.push('fpl'); 15659 } 15660 if (data.data.settings.search.filter.rc.enabled === true) { 15661 this.narrowFilters.push('rcl'); 15662 } 15663 if (data.data.settings.search.filter.ar.enabled === true) { 15664 this.narrowFilters.push('arl'); 15665 } 15666 if (data.data.settings.search.filter.arInterest.enabled === true) { 15667 this.narrowFilters.push('ari'); 15668 } 15669 if (data.data.settings.search.filter.year.enabled === true) { 15670 this.narrowFilters.push('pub'); 15671 } 15672 if (data.data.settings.search.filter.series.enabled === true) { 15673 this.narrowFilters.push('ser'); 15674 } 15675 if (data.data.settings.search.filter.subject.enabled === true) { 15676 this.narrowFilters.push('sub'); 15677 } 15678 if (data.status === true && data.data.settings.resultList.pageSize) { 15679 this.listSize = data.data.settings.resultList.pageSize; 15680 return this.searchService.acceleratedReader(this.limitArray, this.levelmin, this.levelmax, this.pointmin, this.pointmax, this.Arlevel, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15681 this.searchResult = data; 15682 this.descendingWith = data.descending; 15683 //console.log('I am 1265'); 15684 this.updateFacets(this.searchResult.facets); 15685 if (this.searchResult.totalCount == 1) { 15686 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15687 } 15688 this.totalRecords = data.totalCount; 15689 if (this.totalRecords == 0) { 15690 var $this = this; 15691 setTimeout(function () { 15692 $this._location.back(); 15693 }, 10000); 15694 } 15695 if (typeof (this.routerService.getPreviousUrl(
15695)) != 'undefined') { 15696 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15697 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15698 else 15699 this.homepageService.updateBannerText(this.searchFor); 15700 } 15701 else { 15702 this.homepageService.updateBannerText(this.searchFor); 15703 } 15704 var pages = (data.totalCount / this.listSize); 15705 this.createRange(pages); 15706 this.responseAPIstatus = false; 15707 this.viewRefresh = false; 15708 this.responseAPI = false; 15709 var recentList = this.searchService.getLastSearch(); 15710 this.cookieService.set('recentSearch', recentList, 365, '/'); 15711 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15712 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15713 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15714 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15715 }, (err) => { 15716 if (err.error.Status !== true) { 15717 this.responseAPIstatus = false; 15718 this.viewRefresh = false; 15719 this.haveApiError = true; 15720 var router = this.router; 15721 setTimeout(function () { 15722 router.navigate(['/']); 15723 }, 10000); 15724 } 15725 }); 15726 } 15727 }); 15728 } 15729 else if (this.searchType == 'Lexile') { 15730 return this.homepageService.getConfig().subscribe((data) => { 15731 this.maxRecords = data.data.settings.resultList.maxItems; 15732 this.sortWith = data.data.settings.resultList.defaultSort; 15733 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15734 if (data.data.settings.search.filter.availability.enabled === true) { 15735 this.narrowFilters.push('ava'); 15736 } 15737 if (data.data.settings.search.filter.category.enabled === true) { 15738 this.narrowFilters.push('cat'); 15739 } 15740 if (data.data.settings.search.filter.lexile.enabled === true) { 15741 this.narrowFilters.push('lxl'); 15742 } 15743 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15744 this.narrowFilters.push('lxg'); 15745 } 15746 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15747 this.narrowFilters.push('lxc'); 15748 } 15749 if (data.data.settings.search.filter.fountas.enabled === true) { 15750 this.narrowFilters.push('fpl'); 15751 } 15752 if (data.data.settings.search.filter.rc.enabled === true) { 15753 this.narrowFilters.push('rcl'); 15754 } 15755 if (data.data.settings.search.filter.ar.enabled === true) { 15756 this.narrowFilters.push('arl'); 15757 } 15758 if (data.data.settings.search.filter.arInterest.enabled === true) { 15759 this.narrowFilters.push('ari'); 15760 } 15761 if (data.data.settings.search.filter.year.enabled === true) { 15762 this.narrowFilters.push('pub'); 15763 } 15764 if (data.data.settings.search.filter.series.enabled === true) { 15765 this.narrowFilters.push('ser'); 15766 } 15767 if (data.data.settings.search.filter.subject.enabled === true) { 15768 this.narrowFilters.push('sub'); 15769 } 15770 if (data.status === true && data.data.settings.resultList.pageSize) { 15771 this.listSize = data.data.settings.resultList.pageSize; 15772 return this.searchService.Lexile(this.limitArray, this.levelmin, this.levelmax, this.pointmin, this.pointmax, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15773 this.searchResult = data; 15774 this.descendingWith = data.descending; 15775 this.updateFacets(this.searchResult.facets); 15776 if (this.searchResult.totalCount == 1) { 15777 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15778 } 15779 this.totalRecords = data.totalCount; 15780 if (this.totalRecords == 0) { 15781 var $this = this; 15782 setTimeout(function () { 15783 $this._location.back(); 15784 }, 10000); 15785 } 15786 if (typeof (this.routerService.getPreviousUrl(
15786)) != 'undefined') { 15787 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15788 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15789 else 15790 this.homepageService.updateBannerText(this.searchFor); 15791 } 15792 else { 15793 this.homepageService.updateBannerText(this.searchFor); 15794 } 15795 var pages = (data.totalCount / this.listSize); 15796 this.createRange(pages); 15797 this.responseAPIstatus = false; 15798 this.viewRefresh = false; 15799 this.responseAPI = false; 15800 var recentList = this.searchService.getLastSearch(); 15801 this.cookieService.set('recentSearch', recentList, 365, '/'); 15802 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15803 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15804 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15805 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15806 }, (err) => { 15807 if (err.error.Status !== true) { 15808 this.responseAPIstatus = false; 15809 this.viewRefresh = false; 15810 this.haveApiError = true; 15811 var router = this.router; 15812 setTimeout(function () { 15813 router.navigate(['/']); 15814 }, 10000); 15815 } 15816 }); 15817 } 15818 }); 15819 } 15820 else if (this.searchType == 'Boolean') { 15821 return this.homepageService.getConfig().subscribe((data) => { 15822 this.maxRecords = data.data.settings.resultList.maxItems; 15823 this.sortWith = data.data.settings.resultList.defaultSort; 15824 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15825 if (data.data.settings.search.filter.availability.enabled === true) { 15826 this.narrowFilters.push('ava'); 15827 } 15828 if (data.data.settings.search.filter.category.enabled === true) { 15829 this.narrowFilters.push('cat'); 15830 } 15831 if (data.data.settings.search.filter.lexile.enabled === true) { 15832 this.narrowFilters.push('lxl'); 15833 } 15834 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15835 this.narrowFilters.push('lxg'); 15836 } 15837 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15838 this.narrowFilters.push('lxc'); 15839 } 15840 if (data.data.settings.search.filter.fountas.enabled === true) { 15841 this.narrowFilters.push('fpl'); 15842 } 15843 if (data.data.settings.search.filter.rc.enabled === true) { 15844 this.narrowFilters.push('rcl'); 15845 } 15846 if (data.data.settings.search.filter.ar.enabled === true) { 15847 this.narrowFilters.push('arl'); 15848 } 15849 if (data.data.settings.search.filter.arInterest.enabled === true) { 15850 this.narrowFilters.push('ari'); 15851 } 15852 if (data.data.settings.search.filter.year.enabled === true) { 15853 this.narrowFilters.push('pub'); 15854 } 15855 if (data.data.settings.search.filter.series.enabled === true) { 15856 this.narrowFilters.push('ser'); 15857 } 15858 if (data.data.settings.search.filter.subject.enabled === true) { 15859 this.narrowFilters.push('sub'); 15860 } 15861 if (data.status === true && data.data.settings.resultList.pageSize) { 15862 this.listSize = data.data.settings.resultList.pageSize; 15863 //console.log(this.limitArray, 'Limit array'); 15864 return this.searchService.booleanSearch(this.limitArray, this.levelmin, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 15865 //console.log('data of boolean search', data); 15866 //console.log('data of boolean search for', this.searchFor); 15867 this.searchResult = data; 15868 this.descendingWith = data.descending; 15869 this.updateFacets(this.searchResult.facets); 15870 if (this.searchResult.totalCount == 1) { 15871 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15872 } 15873 this.totalRecords = data.totalCount; 15874 if (this.totalRecords == 0) { 15875 var $this = this; 15876 setTimeout(function () { 15877 $this._location.back(); 15878 }, 10000); 15879 } 15880 if (typeof (this.routerService.getPreviousUrl(
15880)) != 'undefined') { 15881 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15882 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15883 else 15884 this.homepageService.updateBannerText(this.searchFor); 15885 } 15886 else { 15887 this.homepageService.updateBannerText(this.searchFor); 15888 } 15889 var pages = (data.totalCount / this.listSize); 15890 this.createRange(pages); 15891 this.responseAPIstatus = false; 15892 this.viewRefresh = false; 15893 this.responseAPI = false; 15894 var recentList = this.searchService.getLastSearch(); 15895 this.cookieService.set('recentSearch', recentList, 365, '/'); 15896 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15897 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15898 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 15899 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15900 }, (err) => { 15901 if (err.error.Status !== true) { 15902 this.responseAPIstatus = false; 15903 this.viewRefresh = false; 15904 this.haveApiError = true; 15905 var $this = this; 15906 setTimeout(function () { 15907 $this._location.back(); 15908 //router.navigate(['/']); 15909 }, 10000); 15910 } 15911 }); 15912 } 15913 }); 15914 } 15915 else if (this.searchType == 'PopularTitles') { 15916 return this.homepageService.getConfig().subscribe((data) => { 15917 this.maxRecords = data.data.settings.resultList.maxItems; 15918 this.sortWith = data.data.settings.resultList.defaultSort; 15919 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 15920 if (data.data.settings.search.filter.availability.enabled === true) { 15921 this.narrowFilters.push('ava'); 15922 } 15923 if (data.data.settings.search.filter.category.enabled === true) { 15924 this.narrowFilters.push('cat'); 15925 } 15926 if (data.data.settings.search.filter.lexile.enabled === true) { 15927 this.narrowFilters.push('lxl'); 15928 } 15929 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 15930 this.narrowFilters.push('lxg'); 15931 } 15932 if (data.data.settings.search.filter.lexileCode.enabled === true) { 15933 this.narrowFilters.push('lxc'); 15934 } 15935 if (data.data.settings.search.filter.fountas.enabled === true) { 15936 this.narrowFilters.push('fpl'); 15937 } 15938 if (data.data.settings.search.filter.rc.enabled === true) { 15939 this.narrowFilters.push('rcl'); 15940 } 15941 if (data.data.settings.search.filter.ar.enabled === true) { 15942 this.narrowFilters.push('arl'); 15943 } 15944 if (data.data.settings.search.filter.arInterest.enabled === true) { 15945 this.narrowFilters.push('ari'); 15946 } 15947 if (data.data.settings.search.filter.year.enabled === true) { 15948 this.narrowFilters.push('pub'); 15949 } 15950 if (data.data.settings.search.filter.series.enabled === true) { 15951 this.narrowFilters.push('ser'); 15952 } 15953 if (data.data.settings.search.filter.subject.enabled === true) { 15954 this.narrowFilters.push('sub'); 15955 } 15956 if (data.status === true && data.data.settings.resultList.pageSize) { 15957 this.listSize = data.data.settings.resultList.pageSize; 15958 var auth = localStorage.getItem('token'); 15959 this.sortWith = 'date'; 15960 return this.searchService.popularandnewSearchSearch(this.period, this.psize, this.ppublish, this.sortWith, auth).subscribe((data) => { 15961 this.searchResult = data; 15962 this.descendingWith = data.descending; 15963 this.updateFacets(this.searchResult.facets); 15964 if (this.searchResult.totalCount == 1) { 15965 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 15966 } 15967 this.totalRecords = data.totalCount; 15968 if (this.totalRecords == 0) { 15969 var $this = this; 15970 setTimeout(function () { 15971 $this._location.back(); 15972 }, 10000); 15973 } 15974 if (typeof (this.routerService.getPreviousUrl(
15974)) != 'undefined') { 15975 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 15976 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 15977 else 15978 this.homepageService.updateBannerText(this.searchFor); 15979 } 15980 else { 15981 this.homepageService.updateBannerText(this.searchFor); 15982 } 15983 var pages = (data.totalCount / this.listSize); 15984 this.createRange(pages); 15985 this.responseAPIstatus = false; 15986 this.viewRefresh = false; 15987 this.responseAPI = false; 15988 var recentList = this.searchService.getLastSearch(); 15989 this.cookieService.set('recentSearch', recentList, 365, '/'); 15990 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 15991 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 15992 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 15993 }, (err) => { 15994 if (err.error.Status !== true) { 15995 this.responseAPIstatus = false; 15996 this.viewRefresh = false; 15997 this.haveApiError = true; 15998 var router = this.router; 15999 setTimeout(function () { 16000 router.navigate(['/']); 16001 }, 10000); 16002 } 16003 }); 16004 } 16005 }); 16006 } 16007 else if (this.searchType == 'NewInLibrary') { 16008 return this.homepageService.getConfig().subscribe((data) => { 16009 this.maxRecords = data.data.settings.resultList.maxItems; 16010 this.sortWith = data.data.settings.resultList.defaultSort; 16011 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 16012 if (data.data.settings.search.filter.availability.enabled === true) { 16013 this.narrowFilters.push('ava'); 16014 } 16015 if (data.data.settings.search.filter.category.enabled === true) { 16016 this.narrowFilters.push('cat'); 16017 } 16018 if (data.data.settings.search.filter.lexile.enabled === true) { 16019 this.narrowFilters.push('lxl'); 16020 } 16021 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 16022 this.narrowFilters.push('lxg'); 16023 } 16024 if (data.data.settings.search.filter.lexileCode.enabled === true) { 16025 this.narrowFilters.push('lxc'); 16026 } 16027 if (data.data.settings.search.filter.fountas.enabled === true) { 16028 this.narrowFilters.push('fpl'); 16029 } 16030 if (data.data.settings.search.filter.rc.enabled === true) { 16031 this.narrowFilters.push('rcl'); 16032 } 16033 if (data.data.settings.search.filter.ar.enabled === true) { 16034 this.narrowFilters.push('arl'); 16035 } 16036 if (data.data.settings.search.filter.arInterest.enabled === true) { 16037 this.narrowFilters.push('ari'); 16038 } 16039 if (data.data.settings.search.filter.year.enabled === true) { 16040 this.narrowFilters.push('pub'); 16041 } 16042 if (data.data.settings.search.filter.series.enabled === true) { 16043 this.narrowFilters.push('ser'); 16044 } 16045 if (data.data.settings.search.filter.subject.enabled === true) { 16046 this.narrowFilters.push('sub'); 16047 } 16048 if (data.status === true && data.data.settings.resultList.pageSize) { 16049 this.listSize = data.data.settings.resultList.pageSize; 16050 var auth = localStorage.getItem('token'); 16051 this.sortWith = 'date'; 16052 return this.searchService.newInLibrarySearchSearch(this.period, this.copies, this.ppublish, this.listSize, this.sortWith, auth).subscribe((data) => { 16053 this.searchResult = data; 16054 this.descendingWith = data.descending; 16055 this.updateFacets(this.searchResult.facets); 16056 if (this.searchResult.totalCount == 1) { 16057 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 16058 } 16059 this.totalRecords = data.totalCount; 16060 if (this.totalRecords == 0) { 16061 var $this = this; 16062 setTimeout(function () { 16063 $this._location.back(); 16064 }, 10000); 16065 } 16066 if (typeof (this.routerService.getPreviousUrl(
16066)) != 'undefined') { 16067 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 16068 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 16069 else 16070 this.homepageService.updateBannerText(this.searchFor); 16071 } 16072 else { 16073 this.homepageService.updateBannerText(this.searchFor); 16074 } 16075 var pages = (data.totalCount / this.listSize); 16076 this.createRange(pages); 16077 this.responseAPIstatus = false; 16078 this.viewRefresh = false; 16079 this.responseAPI = false; 16080 var recentList = this.searchService.getLastSearch(); 16081 this.cookieService.set('recentSearch', recentList, 365, '/'); 16082 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 16083 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 16084 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 16085 }, (err) => { 16086 if (err.error.Status !== true) { 16087 this.responseAPIstatus = false; 16088 this.viewRefresh = false; 16089 this.haveApiError = true; 16090 var router = this.router; 16091 setTimeout(function () { 16092 router.navigate(['/']); 16093 }, 10000); 16094 } 16095 }); 16096 } 16097 }); 16098 } 16099 if (this.searchType == 'Fountas') { 16100 return this.homepageService.getConfig().subscribe((data) => { 16101 this.maxRecords = data.data.settings.resultList.maxItems; 16102 this.sortWith = data.data.settings.resultList.defaultSort; 16103 this.infiniteScroll = data.data.settings.resultList.infiniteScroll; 16104 if (data.data.settings.search.filter.availability.enabled === true) { 16105 this.narrowFilters.push('ava'); 16106 } 16107 if (data.data.settings.search.filter.category.enabled === true) { 16108 this.narrowFilters.push('cat'); 16109 } 16110 if (data.data.settings.search.filter.lexile.enabled === true) { 16111 this.narrowFilters.push('lxl'); 16112 } 16113 if (data.data.settings.search.filter.lexileGrade.enabled === true) { 16114 this.narrowFilters.push('lxg'); 16115 } 16116 if (data.data.settings.search.filter.lexileCode.enabled === true) { 16117 this.narrowFilters.push('lxc'); 16118 } 16119 if (data.data.settings.search.filter.fountas.enabled === true) { 16120 this.narrowFilters.push('fpl'); 16121 } 16122 if (data.data.settings.search.filter.rc.enabled === true) { 16123 this.narrowFilters.push('rcl'); 16124 } 16125 if (data.data.settings.search.filter.ar.enabled === true) { 16126 this.narrowFilters.push('arl'); 16127 } 16128 if (data.data.settings.search.filter.arInterest.enabled === true) { 16129 this.narrowFilters.push('ari'); 16130 } 16131 if (data.data.settings.search.filter.year.enabled === true) { 16132 this.narrowFilters.push('pub'); 16133 } 16134 if (data.data.settings.search.filter.series.enabled === true) { 16135 this.narrowFilters.push('ser'); 16136 } 16137 if (data.data.settings.search.filter.subject.enabled === true) { 16138 this.narrowFilters.push('sub'); 16139 } 16140 if (data.status === true && data.data.settings.resultList.pageSize) { 16141 this.listSize = data.data.settings.resultList.pageSize; 16142 return this.searchService.basicFountas(this.limitArray, this.levelmin, this.levelmax, this.exact, this.listSize, this.sortWith, this.exploreId).subscribe((data) => { 16143 this.searchResult = data; 16144 this.descendingWith = data.descending; 16145 //console.log('I am 1265'); 16146 this.updateFacets(this.searchResult.facets); 16147 if (this.searchResult.totalCount == 1) { 16148 this.router.navigate(['/resources/detail', this.searchResult.cacheKey, this.searchResult.resources[0].listItemId], { replaceUrl: true }); 16149 } 16150 this.totalRecords = data.totalCount; 16151 if (this.totalRecords == 0) { 16152 var $this = this; 16153 setTimeout(function () { 16154 $this._location.back(); 16155 }, 10000); 16156 } 16157 if (typeof (this.routerService.getPreviousUrl(
16157)) != 'undefined') { 16158 if (this.routerService.getPreviousUrl().indexOf('/explore/') >= 0) 16159 this.homepageService.updateBannerText(this.cookieService.get('exploreButtonName')); 16160 else 16161 this.homepageService.updateBannerText(this.searchFor); 16162 } 16163 else { 16164 this.homepageService.updateBannerText(this.searchFor); 16165 } 16166 var pages = (data.totalCount / this.listSize); 16167 this.createRange(pages); 16168 this.responseAPIstatus = false; 16169 this.viewRefresh = false; 16170 this.responseAPI = false; 16171 var recentList = this.searchService.getLastSearch(); 16172 this.cookieService.set('recentSearch', recentList, 365, '/'); 16173 this.cookieService.set('recentSearchCunt', data.totalCount, 365, '/'); 16174 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 16175 this.cookieService.set('highlightParameter', JSON.stringify(this.highlightParameter), 365, '/'); 16176 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.totalCount); 16177 }, (err) => { 16178 if (err.error.Status !== true) { 16179 this.responseAPIstatus = false; 16180 this.viewRefresh = false; 16181 this.haveApiError = true; 16182 var router = this.router; 16183 setTimeout(function () { 16184 router.navigate(['/']); 16185 }, 10000); 16186 } 16187 }); 16188 } 16189 }); 16190 } 16191 } 16192 getListSort(sortBy, descending, cache, offset, headers) { 16193 var _a; 16194 if (!sortBy) { 16195 sortBy = this.sortWith; 16196 } 16197 if (headers) { 16198 if (this.sortWith === sortBy) { 16199 this.sortDirections[sortBy] = !this.sortDirections[sortBy]; 16200 } 16201 else { 16202 this.sortDirections[this.sortWith] = this.descendingWith; 16203 } 16204 this.descendingWith = (_a = this.sortDirections[sortBy]) !== null && _a !== void 0 ? _a : false; 16205 } 16206 this.sortWith = sortBy; 16207 descending = this.descendingWith; 16208 this.currentOffset = offset; 16209 this.viewRefresh = true; 16210 return this.homepageService.getSortPageByCache(sortBy, this.descendingWith, cache, this.listSize, offset, this.facets.join(), this.exploreId).subscribe((data) => { 16211 this.searchResult = data.data; 16212 this.updateFacets(this.searchResult.facets); 16213 this.viewRefresh = false; 16214 const pages = Math.ceil(data.data.totalCount / this.listSize); 16215 this.createRange(pages); 16216 const recentList = this.homepageService.getLastSearch(); 16217 this.cookieService.set('recentSearch', recentList, 365, '/'); 16218 this.cookieService.set('recentSearchCunt', data.data.totalCount.toString(), 365, '/'); 16219 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 16220 }, (err) => { 16221 if (err.error.Status !== true) { 16222 this.responseAPIstatus = false; 16223 this.viewRefresh = false; 16224 this.haveApiError = true; 16225 setTimeout(() => { 16226 this.router.navigate(['/']); 16227 }, 10000); 16228 } 16229 }); 16230 } 16231 lazyLoading(cache, currentOffset, listSize, isPrint = false) { 16232 var offset = (currentOffset + listSize); 16233 if (this.lazyRequeat == true || this.infiniteScroll === false || (this.totalRecords < offset && !isPrint)) { 16234 return false; 16235 } 16236 this.lazyRequeat = true; 16237 if (isPrint) { 16238 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, listSize, currentOffset, this.facets.join(), this.exploreId).subscribe((data) => { 16239 if (data.data.resources.length > this.searchResult.resources.length) {
16240 data.data.resources.forEach((evt) => { 16241 this.searchResult.resources.push(evt); 16242 }); 16243 } 16244 this.lazyRequeat = false; 16245 this.viewRefresh = false; 16246 this.currentOffset = offset; 16247 var self = this; 16248 setTimeout(function () { 16249 var libraryname = ''; 16250 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 16251 var slctloc = self.cookieService.get('selectedlocation' + tnt); 16252 self.librarySetting.data.settings.location.locations.forEach((loc) => { 16253 if (parseInt(loc.id) == parseInt(slctloc)) { 16254 libraryname = loc.name; 16255 } 16256 }); 16257 var html = jquery__WEBPACK_IMPORTED_MODULE_7__('div.list-view').html(); 16258 self.printFnWithHtml(html, libraryname, self.searchFor); 16259 self.viewprintstatus = false; 16260 }, 2000); 16261 }, (err) => { 16262 if (err.error.Status !== true) { 16263 this.responseAPIstatus = false; 16264 this.viewRefresh = false; 16265 this.haveApiError = true; 16266 var router = this.router; 16267 setTimeout(function () { 16268 router.navigate(['/']); 16269 }, 10000); 16270 } 16271 }); 16272 } 16273 else if (this.maxRecords > offset) { 16274 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, this.listSize, offset, this.facets.join(), this.exploreId).subscribe((data) => { 16275 data.data.resources.forEach((evt) => { 16276 this.searchResult.resources.push(evt); 16277 }); 16278 this.lazyRequeat = false; 16279 this.viewRefresh = false; 16280 this.currentOffset = offset; 16281 }, (err) => { 16282 if (err.error.Status !== true) { 16283 this.responseAPIstatus = false; 16284 this.viewRefresh = false; 16285 this.haveApiError = true; 16286 var router = this.router; 16287 setTimeout(function () { 16288 router.navigate(['/']); 16289 }, 10000); 16290 } 16291 }); 16292 } 16293 } 16294 lazyLoadings(cache, currentOffset, listSize, isPrint = false) { 16295 var offset = (currentOffset + listSize); 16296 if (this.lazyRequeat == true || this.infiniteScroll === false || (this.totalRecords < offset && !isPrint)) { 16297 return false; 16298 } 16299 this.lazyRequeat = true; 16300 if (isPrint) { 16301 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, listSize, currentOffset, this.facets.join(), this.exploreId).subscribe((data) => { 16302 if (data.data.resources.length > this.searchResult.resources.length) { 16303 data.data.resources.forEach((evt) => { 16304 this.searchResult.resources.push(evt); 16305 }); 16306 } 16307 this.lazyRequeat = false; 16308 this.viewRefresh = false; 16309 this.currentOffset = offset; 16310 var self = this; 16311 setTimeout(function () { 16312 var libraryname = ''; 16313 var tnt = self.librarySetting.data.tenantCode.toLowerCase(); 16314 var slctloc = self.cookieService.get('selectedlocation' + tnt); 16315 self.librarySetting.data.settings.location.locations.forEach((loc) => { 16316 if (parseInt(loc.id) == parseInt(slctloc)) { 16317 libraryname = loc.name; 16318 } 16319 }); 16320 var html = jquery__WEBPACK_IMPORTED_MODULE_7__('div.list-summary').html(); 16321 self.printFnWithHtml(html, libraryname, self.searchFor); 16322 self.viewprintstatus = false;
16323 }, 2000); 16324 }, (err) => { 16325 if (err.error.Status !== true) { 16326 this.responseAPIstatus = false; 16327 this.viewRefresh = false; 16328 this.haveApiError = true; 16329 var router = this.router; 16330 setTimeout(function () { 16331 router.navigate(['/']); 16332 }, 10000); 16333 } 16334 }); 16335 } 16336 else if (this.maxRecords > offset) { 16337 return this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, cache, this.listSize, offset, this.facets.join(), this.exploreId).subscribe((data) => { 16338 data.data.resources.forEach((evt) => { 16339 this.searchResult.resources.push(evt); 16340 }); 16341 this.lazyRequeat = false; 16342 this.viewRefresh = false; 16343 this.currentOffset = offset; 16344 }, (err) => { 16345 if (err.error.Status !== true) { 16346 this.responseAPIstatus = false; 16347 this.viewRefresh = false; 16348 this.haveApiError = true; 16349 var router = this.router; 16350 setTimeout(function () { 16351 router.navigate(['/']); 16352 }, 10000); 16353 } 16354 }); 16355 } 16356 } 16357 serachDataVisibleFn(event) { 16358 jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).hide(); 16359 jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).parents('ul').find('a').removeClass('hide'); 16360 this.serachDataVisible = true; 16361 } 16362 serachDataVisibleFn1() { 16363 this.serachDataVisible1 = true; 16364 } 16365 changeView(view) { 16366 this.listView = view; 16367 this.cookieService.set('Popular_title_List_View', this.listView, 365, '/'); 16368 this.viewRefresh = true; 16369 setTimeout(() => { 16370 this.viewRefresh = false; 16371 }, 500); 16372 } 16373 createRange(number) { 16374 var items = []; 16375 for (var i = 0; i < number; i++) { 16376 items.push(i); 16377 } 16378 this.pagesCount = items; 16379 } 16380 imageError(event, images) { 16381 //console.log(event, 'error', $('body').find('img[custom="'+event+'"]').attr('index')); 16382 if (typeof (jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt(jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 16383 var index = parseInt(jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('index')); 16384 if (typeof (jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 16385 index--; 16386 this.imageLoad(event, images, index, true); 16387 } 16388 else { 16389 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 16390 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').remove(); 16391 } 16392 } 16393 //Loading best fit image to main resource. 16394 imageLoad(event, images, index, fromError = false) { 16395 if (jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 16396 return false; 16397 } 16398 if (jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('#' + event).length <= 0) { 16399 jquery__WEBPACK_IMPORTED_MODULE_7__('body').append('<img id="' + event + '" src="" style="display:none;">'); 16400 } 16401 var $this = this; 16402 var imagesAll = this.searchService.sortedImage(images); 16403 jquery__WEBPACK_IMPORTED_MODULE_7__('#' + event).attr('src', imagesAll[index]); 16404 setTimeout(function () { 16405 var tempWidth = jquery__WEBPACK_IMPORTED_MODULE_7__('#' + event).width(); 16406 //console.log(tempWidth, event, index); 16407 var temp = document.getElementById(event); 16408 if (tempWidth <= 1 && index > 0) { 16409 $this.imageLoad(event, images, index - 1, true); 16410 return false;
16411 } 16412 else if (tempWidth <= 1 && index == 0) { 16413 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 16414 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').remove(); 16415 } 16416 }, 300); 16417 if (typeof (imagesAll[index]) != 'undefined') { 16418 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 16419 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 16420 jquery__WEBPACK_IMPORTED_MODULE_7__('body').find('img[custom="' + event + '"]').attr('index', index); 16421 } 16422 } 16423 narrowSearch(event, cacheKey, facetId) { 16424 this.currentOffset = 0; 16425 var index = this.facets.indexOf(facetId); 16426 if (index > -1) { 16427 this.facets.splice(index, 1); 16428 } 16429 else { 16430 this.facets.push(facetId); 16431 } 16432 this.viewRefresh = true; 16433 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 16434 this.searchResult = data.data; 16435 this.updateFacets(this.searchResult.facets); 16436 this.viewRefresh = false; 16437 var pages = (data.data.totalCount / this.listSize); 16438 this.createRange(pages); 16439 var recentList = this.homepageService.getLastSearch(); 16440 this.cookieService.set('recentSearch', recentList, 365, '/'); 16441 this.cookieService.set('recentSearchCunt', data.data.totalCount, 365, '/'); 16442 this.cookieService.set('seachFor', this.searchFor, 365, '/'); 16443 jquery__WEBPACK_IMPORTED_MODULE_7__('li.SearchResults').removeClass('hide').addClass('show').find('span.count').text(data.data.totalCount); 16444 }, (err) => { 16445 if (err.error.Status !== true) { 16446 this.responseAPIstatus = false; 16447 this.viewRefresh = false; 16448 this.haveApiError = true; 16449 var router = this.router; 16450 setTimeout(function () { 16451 router.navigate(['/']); 16452 }, 10000); 16453 } 16454 }); 16455 } 16456 removeNorrow(cacheKey, facetId) { 16457 this.currentOffset = 0; 16458 var index = this.facets.indexOf(facetId); 16459 if (index > -1) { 16460 this.facets.splice(index, 1); 16461 } 16462 this.viewRefresh = true; 16463 return this.homepageService.searchNorrowResult(this.sortWith, this.descendingWith, cacheKey, this.listSize, 0, this.facets.join(), this.exploreId).subscribe((data) => { 16464 this.searchResult = data.data; 16465 this.updateFacets(this.searchResult.facets); 16466 this.viewRefresh = false; 16467 var pages = (data.data.totalCount / this.listSize); 16468 this.createRange(pages); 16469 }, (err) => { 16470 if (err.error.Status !== true) { 16471 this.responseAPIstatus = false; 16472 this.viewRefresh = false; 16473 this.haveApiError = true; 16474 var router = this.router; 16475 setTimeout(function () { 16476 router.navigate(['/']); 16477 }, 10000); 16478 } 16479 }); 16480 } 16481 updateFacets(facets) { 16482 this.facetsInformation = []; 16483 facets.forEach((facets) => { 16484 var facetsData = []; 16485 if (this.narrowFilters.indexOf(facets.key) > -1 && facets.values[0]) { 16486 facets.values.forEach((fv) => { 16487 if (parseInt(fv.count) > 0) { 16488 facetsData.push(fv); 16489 } 16490 }); 16491 } 16492 if (facetsData[0]) { 16493 var temp = {}; 16494 temp['key'] = facets.key; 16495 temp['caption'] = facets.caption; 16496 temp['selectedId'] = facets.selectedId; 16497 temp['selectedValue'] = facets.selectedValue; 16498 temp['listOrder'] = facets.listOrder; 16499 temp['values'] = facetsData; 16500 this.facetsInformation.push(temp); 16501 } 16502 }); 16503 } 16504 addToMyList(event, Id) { 16505 var self = this; 16506 jquery__WEBPACK_IMPORTED_MODULE_7__('.addButton' + Id).addClass('fadeOutUp'); 16507 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').addClass('fadeOutUpLI'); 16508 setTimeout(function () { 16509 jquery__WEBPACK_IMPORTED_MODULE_7__('.addButton' + Id).addClass('hide').removeClass('show').removeClass('fadeOutUp'); 16510 jquery__WEBPACK_IMPORTED_MODULE_7__('.removeButton' + Id).addClass('show').removeClass('hide'); 16511 this.resoursesCount = jquery__WEBPACK_IMPORTED_MODULE_7__('.addButton' + Id).length; 16512 var currentList = parseInt(jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text()); 16513 self.cookieService.set('MyLIstCount', (currentList + this.resoursesCount)); 16514 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text(currentList + this.resoursesCount); 16515 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('a.onViewList').removeClass('hide').addClass('show'); 16516 jquery__WEBPACK_IMPORTED_MODULE_7__('#Publish-My-List').removeClass('hide').addClass('show'); 16517 if (jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').hasClass('hide')) { 16518 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').removeClass('hide'); 16519 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').addClass('show'); 16520 } 16521 var i; 16522 for (i = 1; i <= this.resoursesCount; i++) { 16523 self.selectedResourcesIds.push(Id); 16524 } 16525 localStorage.setItem('selectedResourcesIds', JSON.stringify(self.selectedResourcesIds)); 16526 //if(self.cookieService.check( 'info')){ 16527 if (localStorage.getItem('info') != null) { 16528 var auth = localStorage.getItem('token'); 16529 self.homepageService.saveMyList(auth, self.selectedResourcesIds).subscribe(data => { }, (error) => { 16530 if (self.cookieService.check('tempPersonalCollection')) { 16531 var cacheKey = self.cookieService.get('tempPersonalCollection'); 16532 } 16533 else { 16534 var cacheKey = ''; 16535 } 16536 var itemIds = []; 16537 itemIds.push(Id); 16538 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 16539 if (data.status) { 16540 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 16541 } 16542 }); 16543 }); 16544 } 16545 else { 16546 if (self.cookieService.check('tempPersonalCollection')) { 16547 var cacheKey = self.cookieService.get('tempPersonalCollection'); 16548 } 16549 else { 16550 var cacheKey = ''; 16551 } 16552 var itemIds = []; 16553 itemIds.push(Id); 16554 self.homepageService.personalcollection(itemIds, cacheKey).subscribe(data => { 16555 if (data.status) { 16556 self.cookieService.set('tempPersonalCollection', data.data.cacheKey, 365, '/'); 16557 } 16558 }); 16559 } 16560 }, 1000); 16561 setTimeout(function () { 16562 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').removeClass('fadeOutUpLI'); 16563 }, 5000); 16564 } 16565 removeToMyList(event, Id) { 16566 jquery__WEBPACK_IMPORTED_MODULE_7__(document).find('.addButton' + Id).addClass('show').removeClass('hide'); 16567 jquery__WEBPACK_IMPORTED_MODULE_7__(document).find('.removeButton' + Id).addClass('hide').removeClass('show'); 16568 this.resoursesCount = jquery__WEBPACK_IMPORTED_MODULE_7__('.removeButton' + Id).length; 16569 var i; 16570 for (i = 1; i <= this.resoursesCount; i++) { 16571 var index = this.selectedResourcesIds.indexOf(Id); 16572 if (index > -1) { 16573 var index = this.selectedResourcesIds.splice(index, 1); 16574 } 16575 } 16576 localStorage.setItem('selectedResourcesIds', JSON.stringify(this.selectedResourcesIds)); 16577 var currentList = parseInt(jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text()); 16578 jquery__WEBPACK_IMPORTED_MODULE_7__('#myCollectionLi').find('span.count').text(currentList - this.resoursesCount); 16579 var tempCurrentList = currentList - this.resoursesCount; 16580 this.cookieService.set('MyLIstCount', (tempCurrentList.toString())); 16581 //if(this.cookieService.check( 'info')){ 16582 if (localStorage.getItem('info') != null) { 16583 var auth = localStorage.getItem('token'); 16584 this.homepageService.removeMyList(auth, Id).subscribe(data => { }); 16585 } 16586 else { 16587 if (this.cookieService.check('tempPersonalCollection')) { 16588 var cacheKey = this.cookieService.get('tempPersonalCollection'); 16589 this.homepageService.removePersonalcollection(Id, cacheKey).subscribe(data => { }); 16590 } 16591 } 16592 } 16593 updateMobileToggle(event) { 16594 if (jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).hasClass('open')) { 16595 this.updateMobileToggleInfo = false;
16596 } 16597 else { 16598 this.updateMobileToggleInfo = true; 16599 } 16600 } 16601 showExportOptions(event, type) { 16602 event.preventDefault(); 16603 if (this.seletedExploreOptions != type) { 16604 jquery__WEBPACK_IMPORTED_MODULE_7__('.exploreCon').removeClass('openExploreOption'); 16605 } 16606 if (event.target.nodeName == 'I') { 16607 var seletor = jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).parent(); 16608 } 16609 else { 16610 var seletor = jquery__WEBPACK_IMPORTED_MODULE_7__(event.target); 16611 } 16612 seletor.parent().toggleClass('openExploreOption'); 16613 this.seletedExploreOptions = type; 16614 } 16615 exportList(event, cacheKey, type) { 16616 jquery__WEBPACK_IMPORTED_MODULE_7__('.exploreCon').removeClass('openExploreOption'); 16617 if (type == 'listwithimage') { 16618 this.listView = 'true'; 16619 this.viewprintstatus = true; 16620 this.lazyLoading(this.searchResult.cacheKey, this.currentOffset, this.librarySetting.data.settings.resultList.maxItems, true); 16621 } 16622 else if (type == 'listWithImageAndSummary') { 16623 this.listView = 'summary'; 16624 this.viewprintstatus = true; 16625 this.lazyLoadings(this.searchResult.cacheKey, this.currentOffset, this.librarySetting.data.settings.resultList.maxItems, true); 16626 } 16627 else if (type == 'list') { 16628 this.listView = 'true'; 16629 this.viewprintstatus = true; 16630 this.homepageService.getSortPageByCache(this.sortWith, this.descendingWith, this.searchResult.cacheKey, this.librarySetting.data.settings.resultList.maxItems, 0, this.facets.join(), this.exploreId).subscribe((data) => { 16631 var html = ''; 16632 data.data.resources.forEach((list) => { 16633 html += '<p class="hangingindent" style="float: left;width: 100%;">'; 16634 html += '<span style="font-size:15px;font-weight: 600; float:left;">' + list.title + '</span><br/><span style=" font-size:15px; float:left; width:100%;">' + list.author + '</span><br/><span style="font-size:15px;float:left; width:100%;">' + list.call + '</span>'; 16635 html += '</p>'; 16636 }); 16637 var libraryname = ''; 16638 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 16639 var slctloc = this.cookieService.get('selectedlocation' + tnt); 16640 this.librarySetting.data.settings.location.locations.forEach((loc) => { 16641 if (parseInt(loc.id) == parseInt(slctloc)) { 16642 libraryname = loc.name; 16643 } 16644 }); 16645 this.printFn(html, libraryname, this.searchFor); 16646 this.viewprintstatus = false; 16647 }, (err) => { 16648 if (err.error.Status !== true) { 16649 this.responseAPIstatus = false; 16650 this.viewRefresh = false; 16651 this.haveApiError = true; 16652 var router = this.router; 16653 setTimeout(function () { 16654 router.navigate(['/']); 16655 }, 10000); 16656 } 16657 }); 16658 } 16659 else if (type == 'csv') { 16660 this.homepageService.getCSV(cacheKey, this.facets).subscribe((data) => { 16661 var device = ['iPhone', 'iPad', 'iPod']; 16662 const csvName = 'Library Resources.csv'; 16663 const blob = new Blob([data], { type: 'text/csv' }); 16664 if (device.indexOf(window.navigator.platform) > -1) { 16665 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 16666 var reader = new FileReader(); 16667 reader.onloadend = function (e) { 16668 const reader_result = reader.result; 16669 if (typeof reader_result === 'string') { 16670 window.open(reader_result); 16671 } 16672 else { 16673 window.open(reader_result.toString()); 16674 } 16675 };
16676 reader.readAsDataURL(blob); 16677 } 16678 else { //Safari & Opera iOS 16679 const a = document.createElement('a'); 16680 const url = window.URL.createObjectURL(blob); 16681 a.href = url; 16682 a.download = csvName; 16683 a.click(); 16684 setTimeout(function () { 16685 window.URL.revokeObjectURL(url); 16686 a.remove(); 16687 }, 200); 16688 } 16689 //} else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 16690 // window.navigator.msSaveOrOpenBlob(blob, csvName); 16691 } 16692 else { //Chrome & Firefox 16693 const a = document.createElement('a'); 16694 const url = window.URL.createObjectURL(blob); 16695 a.href = url; 16696 a.download = csvName; 16697 a.click(); 16698 window.URL.revokeObjectURL(url); 16699 a.remove(); 16700 } 16701 }, (error) => { 16702 this.notifier.notify('error', error.error.title); 16703 error.error.errors.id.forEach((res) => { 16704 this.notifier.notify('error', res); 16705 }); 16706 }); 16707 } 16708 else if (type == 'marc') { 16709 this.homepageService.getMarc(cacheKey, this.facets).subscribe((data) => { 16710 var device = ['iPhone', 'iPad', 'iPod']; 16711 const csvName = 'Library Resources.mrc'; 16712 const blob = new Blob([data], { type: 'application/marc' }); 16713 if (device.indexOf(window.navigator.platform) > -1) { 16714 if (window.navigator.userAgent.match('CriOS')) { //Chrome iOS 16715 var reader = new FileReader(); 16716 reader.onloadend = function (e) { 16717 const reader_result = reader.result; 16718 if (typeof reader_result === 'string') { 16719 window.open(reader_result); 16720 } 16721 else { 16722 window.open(reader_result.toString()); 16723 } 16724 }; 16725 reader.readAsDataURL(blob); 16726 } 16727 else { //Safari & Opera iOS 16728 const a = document.createElement('a'); 16729 const url = window.URL.createObjectURL(blob); 16730 a.href = url; 16731 a.download = csvName; 16732 a.click(); 16733 setTimeout(function () { 16734 window.URL.revokeObjectURL(url); 16735 a.remove(); 16736 }, 200); 16737 } 16738 // } else if (window.navigator && window.navigator.msSaveOrOpenBlob) { // IE 16739 // window.navigator.msSaveOrOpenBlob(blob, csvName); 16740 } 16741 else { //Chrome & Firefox 16742 const a = document.createElement('a'); 16743 const url = window.URL.createObjectURL(blob); 16744 a.href = url; 16745 a.download = csvName; 16746 a.click(); 16747 window.URL.revokeObjectURL(url); 16748 a.remove(); 16749 } 16750 }, (error) => { 16751 this.notifier.notify('error', error.error.title); 16752 error.error.errors.id.forEach((res) => { 16753 this.notifier.notify('error', res); 16754 }); 16755 }); 16756 } 16757 else { 16758 this.homepageService.printFormat(cacheKey, this.facets, type).subscribe((data) => { 16759 var html = ''; 16760 var libraryname = ''; 16761 var tnt = this.librarySetting.data.tenantCode.toLowerCase(); 16762 var slctloc = this.cookieService.get('selectedlocation' + tnt); 16763 this.librarySetting.data.settings.location.locations.forEach((loc) => { 16764 if (parseInt(loc.id) == parseInt(slctloc)) { 16765 libraryname = loc.name; 16766 } 16767 });
16768 data.data.items.forEach((items, key) => { 16769 html += '<p class="hangingindent">'; 16770 items.elements.forEach((text) => { 16771 var style = "normal"; 16772 if (text.italic) { 16773 var style = "italic"; 16774 } 16775 html += '<span style="font-style: ' + style + '; font-size:15px;">' + text.text + '</span> '; 16776 }); 16777 html += '</p>'; 16778 }); 16779 this.printFn(html, libraryname, this.searchFor); 16780 }); 16781 } 16782 } 16783 printFnWithHtml(content, libraryName, searchFor) { 16784 //console.log(content, 'checking'); 16785 var mywindow = window.open('', '_blank'); 16786 mywindow.document.write('<html><head><title>Print</title><link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet"><style>@font-face {font-family: "Material Icons";font-style: normal;font-weight: 400;src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2");}.material-icons {font-family: "Material Icons";font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-moz-font-feature-settings: "liga";-moz-osx-font-smoothing: grayscale;} body{font-family:"Roboto", sans-serif !important;} p {color:#8c8c8c;}.hangingindent {padding-left: 36px ;text-indent: -36px; }.book-box {display:flex;border-bottom: 1px dashed rgba(0, 0, 0, 0.1);padding: 7px 0;width: 100%;position: relative;}.book-image {height: 55px;overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.1);float: left;padding: 4px;width: 45px;}.book-box .book-box-head {color: #26B6EF;float: left;font-size: 16px;font-weight: 600;padding: 0 0px 0 0;}.book-box .book-image .book-box-head { margin: 0px 0 0px;}.book-image a {width: 100%;}.book-box-head {text-decoration: none;color: #1e1e1e !important;margin: 0 0 5px 0;}.book-image img {float: left;height: 100%;-o-object-fit: cover;object-fit: cover;width: 100%;vertical-align: middle;border-style: none;}.book-box-info {width: calc(100% - 50px);float: left;padding-left: 20px;} .book-box .book-box-info .book-box-head { width: calc(100% - 130px);}.book-box h4 {text-transform: uppercase;background: #f6f6f6 none repeat scroll 0 0;float: right;font-size: 12px;font-weight: 600;margin: 5px 0 0;padding: 0px 10px;}.author {float: left;font-size: 14px;padding: 4px 0;margin: 0;width: 100%;}.star-rating {display: none;}.book-box .description {float: left;font-size: 13px;font-weight: 400;margin: 5px 0 10px;width: 100%;line-height: 20px;color: #666;}.avail-detail .material-icons {color: #8c8c8c;font-size: 21px !important;}.book-box-bottom{display: block;}.book-box-bottom-btn{display:none;}.avail-detail p{font-size: 15px;margin-bottom: 0;float: left;width: auto;min-width: 120px;margin-top: 0px;}.Placeholders {height:60px; width: 100%; display: flex; box-shadow: 0px 0px 1px #F2F2F2; color: #ffffff; overflow:hidden; padding: 0px 0; text-align: center; align-items: center; justify-content: center;}.Placeholders.primary {background-color: #177BBB;}.Placeholders.info {background-color: #03A9F4;}.Placeholders.success {background-color: #8BC34A;}.Placeholders.mint {background-color: #26A69A;}.Placeholders.warning {background-color: #FFB300;}.Placeholders.danger { background-color: #F44336;}.Placeholders.purple {background-color: #AB47BC;}.Placeholders.pink {background-color: #F06292;}.Placeholders.datk {background-color: #3A444E;}.Placeholders.gray { background-color: #E9EEEF;}.material-icons {font-size: 30px !important;color: #fff;}.description {display: none;}.modal-dialog{display: none;}</style>');
16787 mywindow.document.write('</head><body>'); 16788 mywindow.document.write('<h2 style="text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}">Search Results</h2>'); 16789 mywindow.document.write('<h4 style="text-align: center;margin-bottom: 30px;">' + searchFor + '</h4>'); 16790 mywindow.document.write('<h4 style="text-align: center;margin-bottom: 20px;">' + libraryName + '</h4>'); 16791 mywindow.document.write(content); 16792 mywindow.document.write('</body></html>'); 16793 mywindow.document.close(); 16794 mywindow.onload = function () { 16795 const images = mywindow.document.images; 16796 let loaded = 0; 16797 function triggerPrint() { 16798 mywindow.focus(); 16799 mywindow.print(); 16800 } 16801 if (images.length === 0) { 16802 setTimeout(triggerPrint, 300); 16803 } 16804 else { 16805 Array.from(images).forEach((img) => { 16806 if (img.complete) { 16807 loaded++; 16808 if (loaded === images.length) 16809 setTimeout(triggerPrint, 300); 16810 } 16811 else { 16812 img.onload = img.onerror = () => { 16813 loaded++; 16814 if (loaded === images.length) 16815 setTimeout(triggerPrint, 300); 16816 }; 16817 } 16818 }); 16819 } 16820 }; 16821 mywindow.onafterprint = function () { 16822 mywindow.close(); 16823 }; 16824 return true; 16825 } 16826 printFn(content, libraryname = '', searchFor = '') { 16827 //return false; 16828 var mywindow = window.open('', '_blank');
16829 mywindow.document.write('<html moznomarginboxes mozdisallowselectionprint><head><title>Print</title><style>.hangingindent {padding-left: 36px ;text-indent: -36px; }</style>'); 16830 mywindow.document.write('</head><body>'); 16831 mywindow.document.write('<h2 style="text-align:center">Popular Titles</h2>'); 16832 mywindow.document.write('<h4 style="text-align:center;margin-bottom: 30px;">' + searchFor + '</h4>'); 16833 mywindow.document.write('<h4 style="text-align:center;margin-bottom: 20px;">' + libraryname + '</h4>'); 16834 mywindow.document.write(content); 16835 mywindow.document.write('</body></html>'); 16836 mywindow.document.close(); 16837 mywindow.focus(); 16838 mywindow.print(); 16839 mywindow.close(); 16840 return true; 16841 } 16842 typeOf(value) { 16843 return typeof value; 16844 } 16845 checkLimitTo(params) { 16846 this.limitArray = {}; 16847 if (typeof (params['l-inlib']) != 'undefined') 16848 this.limitArray['l-inlib'] = params['l-inlib']; 16849 if (typeof (params['l-cat']) != 'undefined') 16850 this.limitArray['l-cat'] = params['l-cat']; 16851 if (typeof (params['l-lexmin']) != 'undefined') 16852 this.limitArray['l-lexmin'] = params['l-lexmin']; 16853 if (typeof (params['l-lexmax']) != 'undefined') 16854 this.limitArray['l-lexmax'] = params['l-lexmax']; 16855 if (typeof (params['l-lexcode']) != 'undefined') 16856 this.limitArray['l-lexcode'] = params['l-lexcode']; 16857 if (typeof (params['l-lexpat']) != 'undefined') 16858 this.limitArray['l-lexpat'] = params['l-lexpat']; 16859 if (typeof (params['l-armin']) != 'undefined') 16860 this.limitArray['l-armin'] = params['l-armin']; 16861 if (typeof (params['l-armax']) != 'undefined') 16862 this.limitArray['l-armax'] = params['l-armax']; 16863 if (typeof (params['l-arminpt']) != 'undefined') 16864 this.limitArray['l-arminpt'] = params['l-arminpt']; 16865 if (typeof (params['l-armaxpt']) != 'undefined') 16866 this.limitArray['l-armaxpt'] = params['l-armaxpt']; 16867 if (typeof (params['l-arint']) != 'undefined') 16868 this.limitArray['l-arint'] = params['l-arint']; 16869 if (typeof (params['l-rcmin']) != 'undefined') 16870 this.limitArray['l-rcmin'] = params['l-rcmin']; 16871 if (typeof (params['l-rcmax']) != 'undefined') 16872 this.limitArray['l-rcmax'] = params['l-rcmax']; 16873 if (typeof (params['l-rcminpt']) != 'undefined') 16874 this.limitArray['l-rcminpt'] = params['l-rcminpt']; 16875 if (typeof (params['l-rcmaxpt']) != 'undefined') 16876 this.limitArray['l-rcmaxpt'] = params['l-rcmaxpt']; 16877 if (typeof (params['l-fpmin']) != 'undefined') 16878 this.limitArray['l-fpmin'] = params['l-fpmin']; 16879 if (typeof (params['l-fpmax']) != 'undefined') 16880 this.limitArray['l-fpmax'] = params['l-fpmax']; 16881 } 16882 openDailog(type) { 16883 jquery__WEBPACK_IMPORTED_MODULE_7__('.exploreCon').removeClass('openExploreOption'); 16884 jquery__WEBPACK_IMPORTED_MODULE_7__('#emailType').val(type.toUpperCase()); 16885 } 16886 exportListEmail(event, cacheKey) { 16887 this.sendingMail = true; 16888 //console.log(cacheKey, $('#emailType').val()); 16889 this.homepageService.getEmail(cacheKey, this.facets, jquery__WEBPACK_IMPORTED_MODULE_7__('#emailType').val()).subscribe((data) => { 16890 this.sendingMail = false; 16891 jquery__WEBPACK_IMPORTED_MODULE_7__('#closeEmailModal').trigger('click'); 16892 if (data.status) 16893 this.notifier.notify('success', data.message); 16894 else 16895 this.notifier.notify('error', data.message); 16896 }, (error) => { 16897 this.sendingMail = false; 16898 jquery__WEBPACK_IMPORTED_MODULE_7__('#closeEmailModal').trigger('click'); 16899 this.notifier.notify('error', error.error.title); 16900 error.error.errors.id.forEach((res) => { 16901 this.notifier.notify('error', res); 16902 }); 16903 }); 16904 } 16905 //Showing add form for hold. 16906 showAddFormHold(resourceId, event) { 16907 //if(!this.cookieService.check('info')){ 16908 if (!localStorage.getItem('info')) { 16909 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginSpanMessage').remove(); 16910 document.getElementById("loginLia").click(); 16911 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginError').after('<span id="loginSpanMessage">Log in to place a hold on this resource.</span>'); 16912 setTimeout(function () { 16913 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginSpanMessage').remove(); 16914 }, 10000); 16915 //this.isPatronLogin=true; 16916 } 16917 if (!localStorage.getItem('token') && localStorage.getItem('info')) { 16918 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginSpanMessage').remove(); 16919 document.getElementById("loginLia").click(); 16920 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginError').after('<span id="loginSpanMessage">Session expired...please re-log in to place a hold on this resource.</span>'); 16921 setTimeout(function () { 16922 jquery__WEBPACK_IMPORTED_MODULE_7__('#loginSpanMessage').remove(); 16923 }, 10000); 16924 //this.isPatronLogin=true; 16925 } 16926 } 16927 //Hide adding form 16928 hideAddForm() { 16929 this.showAddFormStatus = false;
16930 this.showHoldDate = false; 16931 } 16932 //Showing hold date. 16933 showHoldDateFn(event) { 16934 //var checkboxId=event.target.id; 16935 if (jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).is(':checked')) { 16936 this.showHoldDate = true; 16937 } 16938 else { 16939 this.showHoldDate = false; 16940 this.date = new Date(Date.now()); 16941 } 16942 } 16943 //Holding request 16944 holdResource(event, resourceId, i) { 16945 jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).val('Wait...').attr('disabled', 'disabled'); 16946 // var desiredDate = $('#datepicker-'+i).val(); 16947 var desiredDate = null; 16948 if (this.showHoldDate) { 16949 desiredDate = jquery__WEBPACK_IMPORTED_MODULE_7__('.holdDesireDate').val(); 16950 } 16951 //console.log(desiredDate); 16952 var auth = localStorage.getItem('token'); 16953 var sessionId = 0; 16954 if (this.cookieService.check('renewSession')) { 16955 var sessionId = this.cookieService.get('renewSession'); 16956 } 16957 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { 16958 if (data.status) { 16959 this.searchResult.resources[i].holdId = data.data.circHoldId; 16960 this.searchResult.resources[i].canHold = false; 16961 this.cookieService.set('renewSession', data.data.sessionId, 365, '/'); 16962 this.notifier.notify('success', data.message); 16963 } 16964 else { 16965 this.notifier.notify('error', data.message); 16966 } 16967 jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).val('Hold').removeAttr('disabled'); 16968 jquery__WEBPACK_IMPORTED_MODULE_7__('#closeHoldAdd-' + resourceId).click(); 16969 this.showHoldDate = false; 16970 this.date = new Date(Date.now()); 16971 }, (error) => { 16972 this.homepageService.holdResource(sessionId, resourceId, desiredDate, auth).subscribe((data) => { }, (error) => { 16973 jquery__WEBPACK_IMPORTED_MODULE_7__(event.target).val('Hold').removeAttr('disabled'); 16974 this.notifier.notify('error', 'Something Went Wrong'); 16975 }); 16976 }); 16977 } 16978 //Cancel hold request 16979 cancelHold(event, holdId, resourceId, i) { 16980 var token = localStorage.getItem('token'); 16981 this.searchResult.resources[i].holdId = null; 16982 jquery__WEBPACK_IMPORTED_MODULE_7__('#cancelholdsClose-' + resourceId).trigger('click'); 16983 this.homepageService.cancelHoldAccount(holdId, token).subscribe((data) => { 16984 if (data.status) { 16985 this.notifier.notify('success', data.message + ' successfully'); 16986 this.searchResult.resources[i].canHold = true; 16987 } 16988 else { 16989 this.searchResult.resources[i].holdId = holdId; 16990 this.searchResult.resources[i].canHold = false; 16991 this.notifier.notify('error', data.message); 16992 } 16993 }, (err) => { 16994 this.notifier.notify('error', 'Something Went Wrong'); 16995 }); 16996 } 16997}; 16998ListComponent.ctorParameters = () => [ 16999 { type: _angular_common__WEBPACK_IMPORTED_MODULE_8__.Location }, 17000 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_5__.AuthService }, 17001 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_3__.HomepageService }, 17002 { type: _angular_router__WEBPACK_IMPORTED_MODULE_9__.ActivatedRoute }, 17003 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_2__.SearchService }, 17004 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_10__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 17005 { type: _services_previous_route_service__WEBPACK_IMPORTED_MODULE_4__.RouterExtService }, 17006 { type: _angular_router__WEBPACK_IMPORTED_MODULE_9__.Router }, 17007 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_11__.CookieService }, 17008 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 17009]; 17010ListComponent.propDecorators = { 17011 element: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_10__.Input }] 17012}; 17013ListComponent = __decorate([ 17014 (0,_angular_core__WEBPACK_IMPORTED_MODULE_10__.Component)({ 17015 selector: 'app-list', 17016 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_list_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17017 styles: [_list_component_css__WEBPACK_IMPORTED_MODULE_1__] 17018 }) 17019], ListComponent); 17020 17021 17022 17023/***/ }), 17024 17025/***/ 91030: 17026/*!******************************************************************!*\ 17027 !*** ./src/app/components/settings/history/history.component.ts ***! 17028 \******************************************************************/ 17029/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17030 17031"use strict"; 17032__webpack_require__.r(__webpack_exports__); 17033/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17034/* harmony export */ "HistoryComponent": function() { return /* binding */ HistoryComponent; } 17035/* harmony export */ }); 17036/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_history_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./history.component.html */ 16438); 17037/* harmony import */ var _history_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./history.component.css */ 31210); 17038/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 17039/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 17040/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 17041/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 17042/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 17043/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 17044/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 17045/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 17046var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17047 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17048 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17049 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
17049 3 ? d(target, key, r) : d(target, key)) || r; 17050 return c > 3 && r && Object.defineProperty(target, key, r), r; 17051}; 17052 17053 17054 17055 17056 17057 17058 17059 17060 17061 17062let HistoryComponent = class HistoryComponent { 17063 constructor(document, authService, searchService, homepageService, router, cookieService, notifierService, activatedRoute) { 17064 this.document = document; 17065 this.authService = authService; 17066 this.searchService = searchService; 17067 this.homepageService = homepageService; 17068 this.router = router; 17069 this.cookieService = cookieService; 17070 this.activatedRoute = activatedRoute; 17071 this.userDetail = []; 17072 this.librarySetting = []; 17073 this.accountHistory = null; 17074 this.listSize = 20; 17075 this.currentOffset = 0; 17076 this.totalCount = 0; 17077 this.responseAPIstatus = false; 17078 this.dateFormat = "M/d/yyyy"; 17079 this.sortWith = "author"; 17080 this.viewRefresh = true; 17081 this.sortBy = ''; 17082 this.orderBy = 'asc'; 17083 this.notifier = notifierService; 17084 } 17085 ngOnInit() { 17086 this.document.body.classList.add('inner-page'); 17087 this.document.body.classList.remove('list'); 17088 this.librarySetting = this.homepageService.getUpdatedConfig(); 17089 //if(this.cookieService.check( 'info')){ 17090 if (localStorage.getItem('info') != null) { 17091 //this.userDetail = JSON.parse(this.cookieService.get( 'info')).detail; 17092 this.userDetail = JSON.parse(localStorage.getItem('info')).detail; 17093 this.getAccountHistory(this.listSize, this.currentOffset, this.sortBy, this.orderBy); 17094 } 17095 else { 17096 this.notifier.notify('error', 'Please login to see circulation history.'); 17097 //this.router.navigate(['/']); 17098 } 17099 this.activatedRoute.queryParams.subscribe(params => { 17100 if (typeof (params.facets) != 'undefined' && params.facets != '') { 17101 var tempFactes = params.facets.split(","); 17102 for (var i = 0; i < tempFactes.length; i++) { 17103 var index = this.facets.indexOf(parseInt(tempFactes[i])); 17104 if (index < 0) { 17105 this.facets.push(parseInt(tempFactes[i])); 17106 } 17107 } 17108 } 17109 if (typeof (params.order) != 'undefined' && params.order != '') { 17110 this.sortWith = params.order; 17111 } 17112 }); 17113 } 17114 imageError1(event, images) { 17115 //console.log(event) 17116 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 17117 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 17118 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 17119 index--; 17120 this.imageLoad1(event, images, index, true); 17121 } 17122 else { 17123 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 17124 $('body').find('img[custom="' + event + '"]').remove(); 17125 } 17126 } 17127 imageLoad1(event, images, index, fromError = false) { 17128 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 17129 return false; 17130 } 17131 if ($('body').find('#' + event).length <= 0) { 17132 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 17133 } 17134 var $this = this; 17135 var sources = ['OL', 'GB', 'MR', 'PQ', 'CM']; 17136 //var sizes = ['xxs','xs','s','m','l','xl']; 17137 var sizes = ['xl', 'l', 'm', 's', 'xs', 'xxs']; 17138 var imagesAll = []; 17139 sources.forEach((src) => {
17140 sizes.forEach((evt) => { 17141 images.forEach((img) => { 17142 if (img.sizeAsString == evt && img.sourceAsString == src) { 17143 imagesAll.push(img.url); 17144 } 17145 }); 17146 }); 17147 }); 17148 //console.log(imagesAll); 17149 $('#' + event).attr('src', imagesAll[index]); 17150 setTimeout(function () { 17151 var tempWidth = $('#' + event).width(); 17152 var temp = document.getElementById(event); 17153 if (tempWidth <= 1 && index > 0) { 17154 $this.imageLoad1(event, images, index - 1, true); 17155 return false; 17156 } 17157 else if (tempWidth <= 1 && index == 0) { 17158 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 17159 $('body').find('img[custom="' + event + '"]').remove(); 17160 } 17161 }, 500); 17162 if (typeof (imagesAll[index]) != 'undefined') { 17163 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 17164 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 17165 $('body').find('img[custom="' + event + '"]').attr('index', index); 17166 } 17167 } 17168 getAccountHistory(listSize, currentOffset, sortBy, order) { 17169 if (!sortBy) 17170 sortBy = this.sortWith; 17171 this.viewRefresh = false; 17172 this.dateFormat = this.homepageService.formatDate(); 17173 var token = localStorage.getItem('token'); 17174 this.homepageService.getAccountHistory(token, listSize, currentOffset, sortBy, order).subscribe((data) => { 17175 this.responseAPIstatus = true; 17176 if (!data.status) { 17177 this.notifier.notify('error', data.message); 17178 this.router.navigate(['/']); 17179 this.viewRefresh = false; 17180 } 17181 else { 17182 if (this.accountHistory != null) { 17183 data.data.records.forEach((evt) => { 17184 this.accountHistory.data.records.push(evt); 17185 }); 17186 } 17187 else { 17188 this.accountHistory = data; 17189 this.totalCount = data.data.totalCount; 17190 } 17191 if (data.data.totalCount > 20 && currentOffset < data.data.totalCount) { 17192 this.currentOffset += listSize; 17193 } 17194 } 17195 this.viewRefresh = false; 17196 }, (error) => { 17197 this.responseAPIstatus = true; 17198 this.notifier.notify('error', "Something went wrong."); 17199 // } 17200 }); 17201 } 17202 getListSort(sortBy, offset, order) { 17203 var token = localStorage.getItem('token'); 17204 this.viewRefresh = true; 17205 this.currentOffset = offset; 17206 if (this.sortWith == sortBy) { 17207 if (this.orderBy == 'asc') { 17208 this.orderBy = 'desc'; 17209 } 17210 else { 17211 this.orderBy = 'asc'; 17212 } 17213 } 17214 if (sortBy) { 17215 this.sortWith = sortBy; 17216 this.currentOffset = 0; 17217 } 17218 return this.homepageService.getAccountHistory(token, this.listSize, offset, this.sortWith, this.orderBy).subscribe((data) => { 17219 this.accountHistory = data; 17220 this.viewRefresh = false; 17221 this.router.navigate([], { 17222 relativeTo: this.activatedRoute, 17223 queryParams: { 17224 order: this.sortWith, 17225 }, 17226 queryParamsHandling: "merge" 17227 }); 17228 }); 17229 } 17230 lazyLoading(currentOffset, listSize) { 17231 if (currentOffset < this.totalCount) { 17232 var offset = (currentOffset + listSize); 17233 if (this.lazyRequeat == true || this.infiniteScroll === false || this.totalCount < currentOffset) { 17234 return false; 17235 } 17236 this.lazyRequeat = true; 17237 //if (this.totalCount > offset) { 17238 this.lazyRequeat = true; 17239 this.getAccountHistory(listSize, offset, this.sortWith, this.orderBy); 17240 } 17241 this.lazyRequeat = false;
17242 this.viewRefresh = false; 17243 this.currentOffset = offset; 17244 } 17245 updateFacets(facets) { 17246 this.facetsInformation = []; 17247 facets.forEach((facets) => { 17248 var facetsData = []; 17249 if (facetsData[0]) { 17250 var temp = {}; 17251 temp['key'] = facets.key; 17252 temp['caption'] = facets.caption; 17253 temp['selectedId'] = facets.selectedId; 17254 temp['selectedValue'] = facets.selectedValue; 17255 temp['listOrder'] = facets.listOrder; 17256 temp['values'] = facetsData; 17257 this.facetsInformation.push(temp); 17258 } 17259 }); 17260 } 17261 //Counting page. 17262 createRange(number) { 17263 var items = []; 17264 for (var i = 0; i < number; i++) { 17265 items.push(i); 17266 } 17267 this.pagesCount = items; 17268 } 17269}; 17270HistoryComponent.ctorParameters = () => [ 17271 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 17272 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_3__.AuthService }, 17273 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_4__.SearchService }, 17274 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 17275 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.Router }, 17276 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 17277 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService }, 17278 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute } 17279]; 17280HistoryComponent = __decorate([ 17281 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 17282 selector: 'app-history', 17283 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_history_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17284 styles: [_history_component_css__WEBPACK_IMPORTED_MODULE_1__] 17285 }) 17286], HistoryComponent); 17287 17288 17289 17290/***/ }), 17291 17292/***/ 15525: 17293/*!************************************************************************!*\ 17294 !*** ./src/app/components/settings/my-account/my-account.component.ts ***! 17295 \************************************************************************/ 17296/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17297 17298"use strict"; 17299__webpack_require__.r(__webpack_exports__); 17300/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17301/* harmony export */ "MyAccountComponent": function() { return /* binding */ MyAccountComponent; } 17302/* harmony export */ }); 17303/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_my_account_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./my-account.component.html */ 48757); 17304/* harmony import */ var _my_account_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./my-account.component.css */ 28936); 17305/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 17306/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 17307/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../services/homepage.service */ 27150); 17308/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../services/auth.service */ 37556); 17309/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../services/search.service */ 84112); 17310/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 17311/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 17312/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 17313var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17314 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17315 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17316 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
17316 3 ? d(target, key, r) : d(target, key)) || r; 17317 return c > 3 && r && Object.defineProperty(target, key, r), r; 17318}; 17319 17320 17321 17322 17323 17324 17325 17326 17327 17328 17329let MyAccountComponent = class MyAccountComponent { 17330 constructor(document, authService, searchService, homepageService, router, cookieService, notifierService, activatedRoute) { 17331 this.document = document; 17332 this.authService = authService; 17333 this.searchService = searchService; 17334 this.homepageService = homepageService; 17335 this.router = router; 17336 this.cookieService = cookieService; 17337 this.activatedRoute = activatedRoute; 17338 this.accountDetail = []; 17339 this.responseAPIstatus = false; 17340 this.showHoldCancelStatus = false; 17341 this.showReviewModal = false; 17342 this.showAddFormStatus = false; 17343 this.saveReviewStatus = false; 17344 this.isWriteReview = false; 17345 this.librarySetting = []; 17346 this.titleForReview = []; 17347 this.reviewCategories = []; 17348 this.userDetail = []; 17349 this.dateFormat = 'M/d/yyyy'; 17350 this.dateTimeFormat = 'M/d/yyyy HH:mm:ss'; 17351 this.viewRefresh = true; 17352 this.sortWith = 'author'; 17353 this.orderBy = 'asc'; 17354 this.notifier = notifierService; 17355 } 17356 ngOnInit() { 17357 this.document.body.classList.add('inner-page'); 17358 this.document.body.classList.remove('list'); 17359 this.librarySetting = this.homepageService.getUpdatedConfig(); 17360 //if(this.cookieService.check( 'info')){ 17361 if (localStorage.getItem('info') != null) { 17362 // this.userDetail = JSON.parse(this.cookieService.get( 'info')).detail; 17363 this.userDetail = JSON.parse(localStorage.getItem('info')).detail; 17364 this.getAccountDetail(this.sortWith, this.orderBy); 17365 } 17366 else { 17367 this.notifier.notify('error', 'Please Login to see account detail'); 17368 this.router.navigate(['/']); 17369 } 17370 this.homepageService.getReviewCategories().subscribe((data) => { 17371 this.reviewCategories = data; 17372 }); 17373 this.regionalSetting = this.homepageService.getGlobalRegionalSetting(); 17374 this.dateFormat = this.homepageService.formatDate(); 17375 this.dateTimeFormat = this.homepageService.formatDateTime(); 17376 if (this.cookieService.check('patronPermissions')) { 17377 var permissions = JSON.parse(this.cookieService.get('patronPermissions')); 17378 this.isWriteReview = permissions.opacWriteReview; 17379 } 17380 } 17381 getAccountDetail(sortBy, order) { 17382 if (sortBy) 17383 this.sortWith = sortBy; 17384 this.viewRefresh = false; 17385 var token = localStorage.getItem('token'); 17386 this.homepageService.getAccountDetail(token, this.sortWith, this.orderBy).subscribe((data) => { 17387 this.responseAPIstatus = true; 17388 if (!data.status) { 17389 this.notifier.notify('error', data.message); 17390 this.router.navigate(['/']); 17391 } 17392 else { 17393 this.accountDetail = data.data; 17394 } 17395 }, (error) => { 17396 this.accountDetail = null; 17397 this.responseAPIstatus = true; 17398 this.notifier.notify('error', "Something went wrong."); 17399 // } 17400 }); 17401 } 17402 imageError(event) { 17403 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 17404 $('body').find('img[custom="' + event + '"]').remove(); 17405 } 17406 imageLoad(event, images) { 17407 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes') { 17408 return false; 17409 } 17410 var sizes = ['xl', 'l', 'm', 's', 'xs', 'xxs']; 17411 var imagesAll = [];
17412 sizes.forEach((evt) => { 17413 images.forEach((img) => { 17414 if (img.size == evt) { 17415 imagesAll.push(img.url); 17416 } 17417 }); 17418 }); 17419 setTimeout(function () { 17420 if (typeof (imagesAll[0]) != 'undefined') { 17421 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[0]); 17422 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 17423 } 17424 }, 10); 17425 } 17426 imageError1(event, images) { 17427 //console.log(event) 17428 if (typeof ($('body').find('img[custom="' + event + '"]').attr('index')) != 'undefined' && parseInt($('body').find('img[custom="' + event + '"]').attr('index')) > 0) { 17429 var index = parseInt($('body').find('img[custom="' + event + '"]').attr('index')); 17430 if (typeof ($('body').find('img[custom="' + event + '"]').attr('loaded')) != 'undefined') 17431 index--; 17432 this.imageLoad1(event, images, index, true); 17433 } 17434 else { 17435 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 17436 $('body').find('img[custom="' + event + '"]').remove(); 17437 } 17438 } 17439 imageLoad1(event, images, index, fromError = false) { 17440 if ($('body').find('img[custom="' + event + '"]').attr('loaded') == 'yes' && !fromError) { 17441 return false; 17442 } 17443 if ($('body').find('#' + event).length <= 0) { 17444 $('body').append('<img id="' + event + '" src="" style="display:none;">'); 17445 } 17446 var $this = this; 17447 var imagesAll = this.searchService.sortedImage(images); 17448 $('#' + event).attr('src', imagesAll[index]); 17449 setTimeout(function () { 17450 var tempWidth = $('#' + event).width(); 17451 var temp = document.getElementById(event); 17452 if (tempWidth <= 1 && index > 0) { 17453 $this.imageLoad1(event, images, index - 1, true); 17454 return false; 17455 } 17456 else if (tempWidth <= 1 && index == 0) { 17457 $('body').find('img[custom="' + event + '"]').after('<span class="Placeholders ' + $('body').find('img[custom="' + event + '"]').attr('name') + '"><i class="material-icons md-48">' + $('body').find('img[custom="' + event + '"]').attr('alt') + '</i></span>'); 17458 $('body').find('img[custom="' + event + '"]').remove(); 17459 } 17460 }, 500); 17461 if (typeof (imagesAll[index]) != 'undefined') { 17462 $('body').find('img[custom="' + event + '"]').attr('src', imagesAll[index]); 17463 $('body').find('img[custom="' + event + '"]').attr('loaded', 'yes'); 17464 $('body').find('img[custom="' + event + '"]').attr('index', index); 17465 } 17466 } 17467 renewTitle(event, cirOutId) { 17468 var sessionId = 0; 17469 if (event.target.nodeName == 'BUTTON') { 17470 var selector = $(event.target); 17471 } 17472 else { 17473 var selector = $(event.target).parent(); 17474 } 17475 selector.html('Wait...').attr('disabled', 'disabled'); 17476 if (this.cookieService.check('renewSession')) { 17477 var sessionId = this.cookieService.get('renewSession'); 17478 } 17479 var token = localStorage.getItem('token'); 17480 this.homepageService.titleRenew(sessionId, cirOutId, token).subscribe((data) => { 17481 if (data.status) { 17482 this.cookieService.set('renewSession', data.data.sessionId, 365, '/'); 17483 var message = data.message + ' successfully'; 17484 if (parseFloat(data.data.fine) > 0) { 17485 message += ', Your fine is ' + this.currencyHelper(data.data.fine); 17486 } 17487 this.notifier.notify('success', message); 17488 this.getAccountDetail(this.sortWith, this.orderBy); 17489 } 17490 else { 17491 selector.html('<i class="fa fa-refresh"></i> Renew').removeAttr('disabled'); 17492 this.notifier.notify('error', data.message); 17493 } 17494 }, (err) => { 17495 selector.html('<i class="fa fa-refresh"></i> Renew').removeAttr('disabled'); 17496 this.notifier.notify('error', err.error.message); 17497 }); 17498 } 17499 cancelHold(event, circHoldId) { 17500 $('a[href="#write-cancel-holds' + circHoldId + '"]').attr('disabled', 'disabled').html('Wait...'); 17501 $('#cancelholdsClose' + circHoldId).trigger('click'); 17502 var token = localStorage.getItem('token'); 17503 this.homepageService.cancelHoldAccount(circHoldId, token).subscribe((data) => { 17504 if (data.status) { 17505 this.notifier.notify('success', data.message + ' successfully'); 17506 $(event.target).parents('.book-box').remove(); 17507 } 17508 else { 17509 this.notifier.notify('error', data.message); 17510 $(event.target).removeAttr('disabled').html('<i class="fa fa-times"></i> Cancel Hold'); 17511 } 17512 }, (error) => { 17513 this.notifier.notify('error', "Something went wrong."); 17514 $(event.target).removeAttr('disabled').html('<i class="fa fa-times"></i> Cancel Hold'); 17515 }); 17516 } 17517 checkReviewStatus(event, id, index, type) { 17518 event.preventDefault(); 17519 this.titleForReview['id'] = id; 17520 this.titleForReview['index'] = index; 17521 this.titleForReview['type'] = type;
17522 this.showReviewModal = true; 17523 } 17524 closeReviewStatus() { 17525 this.showReviewModal = false; 17526 } 17527 starRatingTitle(event) { 17528 if (typeof (event.rating) == 'number') { 17529 var patronId = null; 17530 //if(this.cookieService.check( 'info')){ 17531 if (localStorage.getItem('info') != null) { 17532 var token = localStorage.getItem('token'); 17533 //this.userDetail = JSON.parse(this.cookieService.get( 'info')).detail; 17534 var patronId = JSON.parse(localStorage.getItem('info')).detail.patronId; 17535 } 17536 else if (this.librarySetting.data.settings.ratings.loginRequired) { 17537 this.notifier.notify('warning', 'You need to login to rate resources'); 17538 return false; 17539 } 17540 this.homepageService.addStarRating(this.titleForReview['id'], event.rating, patronId, token).subscribe((data) => { 17541 if (data.status) { 17542 this.showReviewModal = false; 17543 if (this.titleForReview['type'] == 'onloan') { 17544 this.accountDetail.onLoan[this.titleForReview['index']].ratings.stars = event.rating; 17545 this.accountDetail.onLoan[this.titleForReview['index']].ratings.count++; 17546 } 17547 else { 17548 this.accountDetail.holds[this.titleForReview['index']].ratings.stars = event.rating; 17549 this.accountDetail.holds[this.titleForReview['index']].ratings.count++; 17550 } 17551 this.notifier.notify('success', 'Rating has been updated successfully'); 17552 } 17553 else { 17554 this.showReviewModal = false; 17555 this.notifier.notify('error', data.message); 17556 } 17557 }, (err) => { 17558 this.notifier.notify('error', 'Something went wrong.Try again.'); 17559 }); 17560 } 17561 } 17562 showAddForm(event, resourceId, title, author, index) { 17563 event.preventDefault(); 17564 //if(this.cookieService.check( 'info')){ 17565 if (localStorage.getItem('info') != null) { 17566 var token = localStorage.getItem('token'); 17567 this.homepageService.isReviewedByPatron(token, resourceId).subscribe((data) => { 17568 if (!data.data.isReviewed) { 17569 this.titleForReview['id'] = resourceId; 17570 this.titleForReview['title'] = title; 17571 this.titleForReview['author'] = author; 17572 this.titleForReview['index'] = index; 17573 this.showAddFormStatus = true; 17574 } 17575 else { 17576 this.notifier.notify('error', 'The patron already review the title'); 17577 } 17578 }); 17579 } 17580 } 17581 onRatingChange(event) { 17582 $('#reviewStar').val(event.rating); 17583 $(document).find('.messageReview.error').remove(); 17584 } 17585 saveReview() { 17586 var error = 0; 17587 let resourceId = parseInt(this.titleForReview['id']); 17588 //var patronId:any = JSON.parse(this.cookieService.get( 'info')).detail.patronId; 17589 var patronId = JSON.parse(localStorage.getItem('info')).detail.patronId; 17590 var title = this.titleForReview['title']; 17591 var author = this.titleForReview['author']; 17592 let ratingStar = 0; 17593 var reviewText = $('#reviewText').val(); 17594 if (this.librarySetting.data.settings.ratings.enabled) { 17595 ratingStar = parseFloat($('#reviewStar').val().toString()); 17596 if (ratingStar == 0) { 17597 if ($('#reviewStar').parent().find('.messageReview').length == 0) { 17598 $('#reviewStar').parent().append('<span class="messageReview error ratingError">Please give rating</span>'); 17599 } 17600 setTimeout(function () { 17601 $(document).find('.messageReview').remove(); 17602 }, 5000); 17603 error++; 17604 } 17605 } 17606 if ($.trim(reviewText.toString()) == '') { 17607 $('#reviewText').addClass('error'); 17608 setTimeout(function () { 17609 $(document).find('#reviewText').removeClass('error'); 17610 }, 5000); 17611 error++; 17612 } 17613 var reviewer = $('#reviewerName').val(); 17614 if ($.trim(reviewer.toString()) == '') { 17615 $('#reviewerName').addClass('error'); 17616 error++; 17617 } 17618 var categories = []; 17619 if ($('.reviewCategory').find('input[type="checkbox"]:checked').length > 0) { 17620 $('.reviewCategory').find('input[type="checkbox"]:checked').each(function () { 17621 categories.push(parseInt($(this).val().toString())); 17622 }); 17623 } 17624 else { 17625 if ($('.reviewCategory').find('.reviewCatError').length == 0) { 17626 $('.reviewCategory').find('.clearfix').after('<span class="reviewCatError" style="text-align:left; padding-left:15px;">Select at least one category</span>'); 17627 } 17628 setTimeout(function () { 17629 $(document).find('.reviewCatError').remove(); 17630 }, 5000); 17631 error++; 17632 } 17633 if (error != 0) { 17634 return false;
17635 } 17636 this.saveReviewStatus = true; 17637 var auth = localStorage.getItem('token'); 17638 this.homepageService.addReview(resourceId, patronId, title, author, ratingStar, reviewText, reviewer, categories, auth).subscribe((data) => { 17639 if (this.librarySetting.data.settings.ratings.enabled) { 17640 if (this.titleForReview['type'] == 'onloan') { 17641 this.accountDetail.onLoan[this.titleForReview['index']].ratings.stars = ratingStar; 17642 this.accountDetail.onLoan[this.titleForReview['index']].ratings.count++; 17643 } 17644 else { 17645 this.accountDetail.holds[this.titleForReview['index']].ratings.stars = ratingStar; 17646 this.accountDetail.holds[this.titleForReview['index']].ratings.count++; 17647 } 17648 } 17649 this.notifier.notify('success', 'The review has been submitted for publication'); 17650 $('#closereviewAdd').trigger('click'); 17651 this.saveReviewStatus = false; 17652 }, (err) => { 17653 if (err.status == 400) { 17654 this.saveReviewStatus = false; 17655 this.notifier.notify('error', err.error.message); 17656 $('#closereviewAdd').trigger('click'); 17657 } 17658 else { 17659 this.notifier.notify('error', "Something went wrong."); 17660 } 17661 }); 17662 } 17663 hideReviewModal() { 17664 this.showAddFormStatus = false; 17665 } 17666 currencyHelper(cost) { 17667 return this.homepageService.formatCurrency(cost); 17668 } 17669 getListSort(sortBy, order) { 17670 if (this.sortWith == sortBy) { 17671 if (this.orderBy == 'asc') { 17672 this.orderBy = 'desc'; 17673 } 17674 else { 17675 this.orderBy = 'asc'; 17676 } 17677 } 17678 else { 17679 this.sortWith = sortBy; 17680 } 17681 this.viewRefresh = true; 17682 var token = localStorage.getItem('token'); 17683 //this.getAccountDetail(sortBy); 17684 return this.homepageService.getAccountDetail(token, this.sortWith, this.orderBy).subscribe((data) => { 17685 this.viewRefresh = false; 17686 this.accountDetail = data.data; 17687 this.router.navigate([], { 17688 relativeTo: this.activatedRoute, 17689 queryParams: { 17690 sortBy: this.sortWith, 17691 order: this.orderBy 17692 }, 17693 queryParamsHandling: "merge" 17694 }); 17695 }); 17696 } 17697}; 17698MyAccountComponent.ctorParameters = () => [ 17699 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 17700 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_3__.AuthService }, 17701 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_4__.SearchService }, 17702 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 17703 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.Router }, 17704 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 17705 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService }, 17706 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute } 17707]; 17708MyAccountComponent = __decorate([ 17709 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 17710 selector: 'app-my-account', 17711 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_my_account_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17712 styles: [_my_account_component_css__WEBPACK_IMPORTED_MODULE_1__] 17713 }) 17714], MyAccountComponent); 17715 17716 17717 17718/***/ }), 17719 17720/***/ 44830: 17721/*!**************************************************!*\ 17722 !*** ./src/app/directory/directory.component.ts ***! 17723 \**************************************************/ 17724/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17725 17726"use strict"; 17727__webpack_require__.r(__webpack_exports__); 17728/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17729/* harmony export */ "DirectoryComponent": function() { return /* binding */ DirectoryComponent; } 17730/* harmony export */ }); 17731/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_directory_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./directory.component.html */ 84313); 17732/* harmony import */ var _directory_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./directory.component.css */ 69929); 17733/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 2316); 17734/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 71258); 17735/* harmony import */ var _services_directory_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/directory.service */ 91527); 17736var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17737 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17738 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17739 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
17739 3 ? d(target, key, r) : d(target, key)) || r; 17740 return c > 3 && r && Object.defineProperty(target, key, r), r; 17741}; 17742 17743 17744 17745 17746 17747let DirectoryComponent = class DirectoryComponent { 17748 constructor(router, directoryService) { 17749 this.router = router; 17750 this.directoryService = directoryService; 17751 //console.log('I am in Directory Component'); 17752 var currenturl = window.location.hostname; 17753 var nameSplit = currenturl.split("."); 17754 var isLocalhost = currenturl === 'localhost' || currenturl.endsWith('.localhost') || currenturl === '127.0.0.1'; 17755 if ((nameSplit[0].toLowerCase() == 'library' && nameSplit[1].toLowerCase() == 'site') || isLocalhost) { 17756 //console.log('Library Site Directory'); 17757 } 17758 } 17759 ngOnInit() { 17760 $('.goLib').remove(); 17761 $('.loding-img-main').hide(); 17762 if ($('div').hasClass('section-two')) { 17763 var countdownNumberEl = document.getElementById('countdown-number'); 17764 var countdown = 5; 17765 countdownNumberEl.textContent = countdown.toString(); 17766 setInterval(function () { 17767 countdown = --countdown <= 0 ? 5 : countdown; 17768 countdownNumberEl.textContent = countdown.toString(); 17769 }, 1000); 17770 } 17771 } 17772 findAnother(event) { 17773 event.preventDefault(); 17774 //console.log('I am clicked'); 17775 $('.section-two').removeClass('showI').addClass('hideI'); 17776 $('.section-one').addClass('showI').removeClass('hideI'); 17777 } 17778 finding(event) { 17779 //console.log(event.target.val()); 17780 var text = $(event.target).val(); 17781 this.directoryService.getLibraryList(text).subscribe((data) => { 17782 //console.log(data, 'list'); 17783 }, (error) => { 17784 //console.log(error, 'error'); 17785 }); 17786 } 17787}; 17788DirectoryComponent.ctorParameters = () => [ 17789 { type: _angular_router__WEBPACK_IMPORTED_MODULE_3__.Router }, 17790 { type: _services_directory_service__WEBPACK_IMPORTED_MODULE_2__.DirectoryService } 17791]; 17792DirectoryComponent = __decorate([ 17793 (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Component)({ 17794 selector: 'app-directory', 17795 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_directory_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17796 styles: [_directory_component_css__WEBPACK_IMPORTED_MODULE_1__] 17797 }) 17798], DirectoryComponent); 17799 17800 17801 17802/***/ }), 17803 17804/***/ 49983: 17805/*!******************************************!*\ 17806 !*** ./src/app/error/error.component.ts ***! 17807 \******************************************/ 17808/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17809 17810"use strict"; 17811__webpack_require__.r(__webpack_exports__); 17812/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17813/* harmony export */ "ErrorComponent": function() { return /* binding */ ErrorComponent; } 17814/* harmony export */ }); 17815/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_error_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./error.component.html */ 63152); 17816/* harmony import */ var _error_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./error.component.css */ 93313); 17817/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 2316); 17818/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 71258); 17819var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17820 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17821 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17822 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
17822 3 ? d(target, key, r) : d(target, key)) || r; 17823 return c > 3 && r && Object.defineProperty(target, key, r), r; 17824}; 17825 17826 17827 17828 17829let ErrorComponent = class ErrorComponent { 17830 constructor(activatedRoute) { 17831 this.activatedRoute = activatedRoute; 17832 this.errorType = 'internal'; 17833 } 17834 ngOnInit() { 17835 this.activatedRoute.queryParams.subscribe(params => { 17836 this.errorType = this.activatedRoute.snapshot.paramMap.get("type"); 17837 }); 17838 } 17839}; 17840ErrorComponent.ctorParameters = () => [ 17841 { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__.ActivatedRoute } 17842]; 17843ErrorComponent = __decorate([ 17844 (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.Component)({ 17845 selector: 'app-error', 17846 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_error_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17847 encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_3__.ViewEncapsulation.None, 17848 styles: [_error_component_css__WEBPACK_IMPORTED_MODULE_1__] 17849 }) 17850], ErrorComponent); 17851 17852 17853 17854/***/ }), 17855 17856/***/ 38488: 17857/*!**********************************************************!*\ 17858 !*** ./src/app/internalerror/internalerror.component.ts ***! 17859 \**********************************************************/ 17860/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17861 17862"use strict"; 17863__webpack_require__.r(__webpack_exports__); 17864/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17865/* harmony export */ "InternalerrorComponent": function() { return /* binding */ InternalerrorComponent; } 17866/* harmony export */ }); 17867/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_internalerror_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./internalerror.component.html */ 73945); 17868/* harmony import */ var _internalerror_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internalerror.component.css */ 29654); 17869/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); 17870var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17871 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17872 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17873 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 17874 return c > 3 && r && Object.defineProperty(target, key, r), r; 17875}; 17876 17877 17878 17879let InternalerrorComponent = class InternalerrorComponent { 17880 constructor() { } 17881 ngOnInit() { 17882 } 17883}; 17884InternalerrorComponent.ctorParameters = () => []; 17885InternalerrorComponent = __decorate([ 17886 (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Component)({ 17887 selector: 'app-internalerror', 17888 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_internalerror_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 17889 styles: [_internalerror_component_css__WEBPACK_IMPORTED_MODULE_1__] 17890 }) 17891], InternalerrorComponent); 17892 17893 17894 17895/***/ }), 17896 17897/***/ 39492: 17898/*!***********************************!*\ 17899 !*** ./src/app/keep-html.pipe.ts ***! 17900 \***********************************/ 17901/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17902 17903"use strict"; 17904__webpack_require__.r(__webpack_exports__); 17905/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17906/* harmony export */ "EscapeHtmlPipe": function() { return /* binding */ EscapeHtmlPipe; } 17907/* harmony export */ }); 17908/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 2316); 17909/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/platform-browser */ 71570); 17910var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17911 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17912 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17913 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
17913 3 ? d(target, key, r) : d(target, key)) || r; 17914 return c > 3 && r && Object.defineProperty(target, key, r), r; 17915}; 17916 17917 17918let EscapeHtmlPipe = class EscapeHtmlPipe { 17919 constructor(sanitizer) { 17920 this.sanitizer = sanitizer; 17921 } 17922 transform(content) { 17923 return this.sanitizer.bypassSecurityTrustHtml(content); 17924 } 17925}; 17926EscapeHtmlPipe.ctorParameters = () => [ 17927 { type: _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__.DomSanitizer } 17928]; 17929EscapeHtmlPipe = __decorate([ 17930 (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__.Pipe)({ name: 'keepHtml' }) 17931], EscapeHtmlPipe); 17932 17933 17934 17935/***/ }), 17936 17937/***/ 21786: 17938/*!*****************************************************!*\ 17939 !*** ./src/app/layout/default/default.component.ts ***! 17940 \*****************************************************/ 17941/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 17942 17943"use strict"; 17944__webpack_require__.r(__webpack_exports__); 17945/* harmony export */ __webpack_require__.d(__webpack_exports__, { 17946/* harmony export */ "DefaultComponent": function() { return /* binding */ DefaultComponent; } 17947/* harmony export */ }); 17948/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_default_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./default.component.html */ 34381); 17949/* harmony import */ var _default_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./default.component.css */ 99988); 17950/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 17951/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 2316); 17952/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/homepage.service */ 27150); 17953/* harmony import */ var _services_directory_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/directory.service */ 91527); 17954/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/auth.service */ 37556); 17955/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 17956/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/platform-browser */ 71570); 17957/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 17958/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 17959/* harmony import */ var _services_tenant_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/tenant.service */ 62255); 17960var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 17961 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 17962 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 17963 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 17964 return c > 3 && r && Object.defineProperty(target, key, r), r; 17965}; 17966 17967 17968 17969 17970 17971 17972 17973 17974 17975 17976 17977 17978 17979let DefaultComponent = class DefaultComponent { 17980 constructor(notifierService, cookieService, authService, location, homepageService, document, router, titleService, routes, directoryService, tenantService) { 17981 this.cookieService = cookieService; 17982 this.authService = authService; 17983 this.location = location; 17984 this.homepageService = homepageService; 17985 this.document = document; 17986 this.router = router; 17987 this.titleService = titleService; 17988 this.routes = routes; 17989 this.directoryService = directoryService; 17990 this.tenantService = tenantService; 17991 this.bannerText = ''; 17992 this.locationCustom = false;
17993 this.libraryDirectory = false; 17994 this.googleLogin = false; 17995 this.currenturl = window.location.hostname; 17996 this.nameSplit = this.currenturl.split("."); 17997 // Check if bare localhost or has a subdomain (e.g. pcs.localhost) 17998 this.isLocalhost = this.currenturl === 'localhost' || this.currenturl.endsWith('.localhost') || this.currenturl === '127.0.0.1'; 17999 this.multiLocation = false; 18000 this.parameters = { 18001 'tenant': '', 18002 'configuration': '*', 18003 }; 18004 this.error = ''; 18005 this.microsoftSsoPending = false; 18006 this.microsoftSsoPendingMessage = 'Signing you in with Microsoft...'; 18007 //Themes needs to move to environment after finish 18008 this.themes = { 'default': 'summertime', 'dark-theme': 'luna', 'SleekAndRelaxed': 'berry', 'violet-theme': 'mochablue', 'kids1-theme': 'birthdayCake', 'kids1-theme kids2-theme': 'playground', 'kids1-theme christmas-theme': 'christmas', 'kids1-theme beach-theme': 'beach' }; 18009 this.settingLoad = false; 18010 this.countdown = 5; 18011 this.redirectLocationId = ''; 18012 this.notifier = notifierService; 18013 this.titleService.setTitle('Opening'); 18014 if (this.nameSplit.length == 1 || this.isLocalhost) { 18015 //this.libraryDirectory = true; 18016 this.routes.queryParams.subscribe(params => { 18017 if (typeof (params.googleToken) == 'undefined') { 18018 //this.loginGoogleToken(params.googleToken); 18019 this.googleLogin = false; 18020 //this.titleService.setTitle('Google Login'); 18021 } 18022 if (typeof (params.tenant) != 'undefined') { 18023 this.googleLogin = true; 18024 } 18025 }); 18026 } 18027 else if (this.nameSplit[0].toLowerCase() == 'library' && this.nameSplit[1].toLowerCase() == 'site') { 18028 this.libraryDirectory = true; 18029 this.titleService.setTitle('Library Directory'); 18030 } 18031 else if (this.nameSplit[0].toLowerCase() == 'googlelogin') { 18032 this.googleLogin = true; 18033 this.titleService.setTitle('Google Login'); 18034 } 18035 //this.googleLogin = true; 18036 //uncomment the next line to run OPAC library sites in locahost. 18037 //Comment while pushing. Increase app version to avoid cache issue. 18038 //this.libraryDirectory = false; 18039 //Checking library page to set banner. 18040 if (this.libraryDirectory == false) { 18041 this.routes.queryParams.subscribe(params => { 18042 if (typeof (params.location) != 'undefined') { 18043 // Store redirect target without writing it into tenantLocId, 18044 // which would cause API calls to fire with a foreign location ID. 18045 this.redirectLocationId = params.location; 18046 this.locationCustom = true; 18047 } 18048 else if (this.isMicrosoftSsoCallback(params)) { 18049 this.microsoftSsoPending = true; 18050 this.handleMicrosoftSsoCallback(params); 18051 } 18052 else if (typeof (params.googleToken) != 'undefined') { 18053 this.loginGoogleToken(params.googleToken); 18054 } 18055 else if (typeof (params.error) != 'undefined') { 18056 //this.error = params.error; 18057 } 18058 }); 18059 router.events.subscribe((val) => { 18060 if (location.path() != '') { 18061 this.route = location.path(); 18062 if (this.route.indexOf('/reading-lists') > -1) { 18063 this.bannerText = 'Resource Lists'; 18064 } 18065 else if (this.route.indexOf('/explore') > -1) { 18066 this.bannerText = 'Explore'; 18067 } 18068 else if (this.route.indexOf('/news') > -1) { 18069 this.bannerText = 'Library News'; 18070 } 18071 else if (this.route.indexOf('/new') > -1) { 18072 this.bannerText = 'New in Library'; 18073 } 18074 else if (this.route.indexOf('/unsubscribe') > -1) { 18075 this.bannerText = 'Unsubscribe';
18076 } 18077 else if (this.route.indexOf('/recommended') > -1) { 18078 this.bannerText = 'Recommended for You'; 18079 } 18080 else if (this.route.indexOf('/popular') > -1) { 18081 this.bannerText = 'Popular Titles'; 18082 } 18083 else if (this.route.indexOf('/awards') > -1) { 18084 this.bannerText = 'Awards & Honors'; 18085 } 18086 else if (this.route.indexOf('/searchlist') > -1 || this.route.indexOf('/recentlist/') > -1) { 18087 this.bannerText = 'Search Results'; 18088 } 18089 else if (this.route.indexOf('/search') > -1) { 18090 this.bannerText = 'Search Result'; 18091 } 18092 else if (this.route.indexOf('/resources') > -1) { 18093 this.bannerText = 'Resource Detail'; 18094 } 18095 else if (this.route.indexOf('/resource/list') > -1) { 18096 this.bannerText = ''; 18097 } 18098 else if (this.route.indexOf('/account/resetpassword') > -1) { 18099 this.bannerText = 'Reset Password'; 18100 } 18101 else if (this.route.indexOf('/bulletins') > -1) { 18102 this.bannerText = 'Bulletins'; 18103 } 18104 else if (this.route.indexOf('/list/my') > -1) { 18105 this.bannerText = 'My List'; 18106 } 18107 else if (this.route.indexOf('/bulletin/') > -1) { 18108 this.bannerText = 'Bulletin Detail'; 18109 } 18110 else if (this.route.indexOf('/review/') > -1) { 18111 this.bannerText = 'Review Detail'; 18112 } 18113 else if (this.route.indexOf('/searchreview') > -1) { 18114 this.bannerText = 'Review Search'; 18115 } 18116 else if (this.route.indexOf('/my-account') > -1) { 18117 this.bannerText = 'My Account'; 18118 } 18119 else if (this.route.indexOf('/resetemail') > -1) { 18120 this.bannerText = 'Update Email'; 18121 } 18122 else if (this.route.indexOf('/home') > -1) { 18123 this.route = 'Home'; 18124 } 18125 else if (this.route.indexOf('/history') > -1) { 18126 this.bannerText = 'History'; 18127 } 18128 else if (this.route.indexOf('?error') > -1 || this.route.indexOf('?googleToken') > -1 || this.route.indexOf('?fbclid') > -1) { 18129 this.route = 'Home'; 18130 } 18131 else if (this.route.indexOf('location') > -1) { 18132 this.multiLocation = true; 18133 this.route = 'Home'; 18134 } 18135 } 18136 else { 18137 this.route = 'Home'; 18138 } 18139 }); 18140 } 18141 } 18142 ngOnInit() { 18143 var $this = this; 18144 //This is library directory. 18145 if (this.libraryDirectory == true) { 18146 $('.loding-img-main').hide(); 18147 if (this.cookieService.check('directoryLibName') && this.cookieService.check('directoryLibLink')) { 18148 var name = this.cookieService.get('directoryLibName'); 18149 var url = this.cookieService.get('directoryLibLink'); 18150 setTimeout(function () { 18151 $('.searchLib').css({ opacity: 0, right: '1000px' }); 18152 $('#dLibLink').attr('href', url); 18153 $('#goTitle').html(name); 18154 var html = '<div class="goLibrary-rightBtn"><img src="../../assets/images/btn-curve.png" alt="btn-curve.png"></div>'; 18155 $('#dLibLink').html(name + html); 18156 var countdownNumberEl = document.getElementById('countdown-number'); 18157 countdownNumberEl.textContent = $this.countdown.toString(); 18158 setInterval(function () { 18159 if ($this.countdown > 0) { 18160 if ($this.countdown == 1) 18161 window.location.href = url; 18162 $this.countdown = $this.countdown - 1; 18163 countdownNumberEl.textContent = $this.countdown.toString(); 18164 } 18165 }, 1000); 18166 }, 50); 18167 } 18168 else { 18169 setTimeout(function () { 18170 $('.goBox').hide(); 18171 $('.searchBox').show(); 18172 $('.goLib').css({ opacity: 0, right: '1000px' }); 18173 }, 50); 18174 } 18175 } 18176 else { 18177 if (this.locationCustom == true) { 18178 //getting the location specific library. 18179 this.goToLibrary(); 18180 } 18181 else if (this.googleLogin == true) { 18182 this.goToGoogle(); 18183 } 18184 else { 18185 //loading library 18186 this.loadSetting(); 18187 this.homepageService.setRegionalSettings().subscribe((regionalSetting) => { 18188 //console.log('Run'); 18189 }); 18190 } 18191 } 18192 } 18193 //To get settings of lbrary. 18194 loadSetting() { 18195 return this.homepageService.getConfig().subscribe((data) => { 18196 if (data.data.settings.googleAnalytics.enabled) { 18197 localStorage.setItem('googleAnalytics', data.data.settings.googleAnalytics.co
18197de); 18198 // Global site tag (gtag.js) - Google Analytics 18199 if (data.data.settings.googleAnalytics.code !== "" && data.data.settings.googleAnalytics.code !== null) { 18200 const scriptUrl = `https://www.googletagmanager.com/gtag/js?id=${data.data.settings.googleAnalytics.code}`; 18201 const script = document.createElement('script'); 18202 script.src = scriptUrl; 18203 document.head.appendChild(script); 18204 } 18205 } 18206 else { 18207 localStorage.removeItem('googleAnalytics'); 18208 } 18209 var theme = data.data.settings.appearance.theme; 18210 if (theme.indexOf('custom') > -1) { 18211 var customSplit = theme.split(' '); 18212 var name = customSplit[0]; 18213 $('body').removeClass('kids1-theme beach-theme'); 18214 $('body').removeClass('kids1-theme christmas-theme'); 18215 $('body').removeClass('kids1-theme kids2-theme'); 18216 $('body').removeClass('kids1-theme'); 18217 $('body').removeClass('dark-theme'); 18218 $('body').removeClass('SleekAndRelaxed'); 18219 $('body').removeClass('violet-theme'); 18220 $('body').removeClass('summertime'); 18221 $('body').removeClass('default'); 18222 $('body').removeClass('custom-theme'); 18223 $('body').removeClass('custom-dark-theme'); 18224 localStorage.setItem('theme', theme); 18225 this.homepageService.updateThemeName(name); 18226 $('body').addClass(name); 18227 document.documentElement.style.setProperty(`--first`, customSplit[1]); 18228 document.documentElement.style.setProperty(`--second`, customSplit[2]); 18229 document.documentElement.style.setProperty(`--third`, customSplit[3]); 18230 document.documentElement.style.setProperty(`--fourth`, customSplit[4]); 18231 document.documentElement.style.setProperty(`--fifth`, customSplit[5]); 18232 } 18233 else { 18234 var names = Object.keys(this.themes).find(key => this.themes[key] === theme); 18235 if (names) { 18236 $('body').removeClass('kids1-theme beach-theme'); 18237 $('body').removeClass('kids1-theme christmas-theme'); 18238 $('body').removeClass('kids1-theme kids2-theme'); 18239 $('body').removeClass('kids1-theme'); 18240 $('body').removeClass('dark-theme'); 18241 $('body').removeClass('SleekAndRelaxed'); 18242 $('body').removeClass('violet-theme'); 18243 $('body').removeClass('summertime'); 18244 $('body').removeClass('default'); 18245 $('body').removeClass('custom-theme'); 18246 $('body').removeClass('custom-dark-theme'); 18247 localStorage.setItem('theme', theme); 18248 this.homepageService.updateThemeName(theme); 18249 $('body').addClass(names); 18250 } 18251 else { 18252 localStorage.setItem('theme', 'summertime'); 18253 } 18254 } 18255 if (!this.locationCustom) { 18256 this.homepageService.setLocationId(data.data.settings.location.homeId); 18257 } 18258 if (this.cookieService.check('loadedtenant')) { 18259 if (this.cookieService.get('loadedtenant') != data.data.tenantCode.toLowerCase()) { 18260 this.cookieService.deleteAll('/'); 18261 this.cookieService.delete('recentSearch'); 18262 this.cookieService.delete('seachFor'); 18263 this.cookieService.delete('recentSearchCunt'); 18264 localStorage.removeItem('token'); 18265 localStorage.removeItem('selectedResourcesIds'); 18266 } 18267 } 18268 else if (this.cookieService.check('loadedtenantconfig')) { 18269 if (this.cookieService.get('loadedtenantconfig') != data.data.configCode) { 18270 this.cookieService.deleteAll('/'); 18271 this.cookieService.delete('recentSearch'); 18272 this.cookieService.delete('seachFor'); 18273 this.cookieService.delete('recentSearchCunt'); 18274 localStorage.removeItem('token'); 18275 localStorage.removeItem('selectedResourcesIds'); 18276 } 18277 } 18278 this.cookieService.set('loadedtenant', data.data.tenantCode.toLowerCase(), 1, '/'); 18279 this.cookieService.set('loadedtenantconfig', data.data.configCode, 1, '/'); 18280 var key = 'selectedlocation' + data.data.tenantCode.toLowerCase(); 18281 var locationId = this.homepageService.getLocationId(); 18282 this.cookieService.set(key, locationId, 1, '/'); 18283 sessionStorage.setItem('lastSearchLocation', locationId); 18284 this.settingLoad = true; 18285 this.titleService.setTitle(data.data.settings.appearance.banner.main.line2); 18286 }, (err) => { 18287 if (err.status == 500) { 18288 this.router.navigate(['/error/internal']); 18289 } 18290 else if (err.status == 410 || err.status == 404) { 18291 this.router.navigate(['/error/nofound']); 18292 } 18293 }); 18294 } 18295 //To get the location specific library. 18296 goToLibrary() { 18297 this.homepageService.getLocationConfig(this.redirectLocationId).subscribe((response) => { 18298 //This will send user to library this is necesary to reload page. 18299 window.location.href = 'https://' + response.data.url; 18300 }, (error) => { 18301 }); 18302 } 18303 //To switch page from countdown to searching. 18304 findAnother(event) { 18305 this.countdown = -1; 18306 event.preventDefault(); 18307 var div = $(event.target).parents('.goBox'); 18308 //console.log('I am clicked'); 18309 $('.goBox').fadeOut(500); 18310 setTimeout(function () { 18311 $('.searchBox').fadeIn(500); 18312 }, 500); 18313 $('.goLib').animate({ opacity: 0, right: '1000px' }, 1000); 18314 $('.searchLib').animate({ opacity: 1, right: '0px' }, 1000); 18315 } 18316 //This will create autofill dropdown. 18317 finding(event) { 18318 var text = $(event.target).val(); 18319 //if(text.length > 1) 18320 if ($.trim(text.toString()).length > 1) { 18321 this.directoryService.getLibraryList(text).subscribe((data) => { 18322 //console.log(data, 'list'); 18323 $('#opaclist').html(''); 18324 data.forEach(arr => { 18325 if (arr.active) { 18326 $('#opaclist').append('<option value="' + arr.name + ', ' + arr.city + ', ' + arr.state
18326+ '" (click) = "createButton($event)" data-target="' + arr.url + '" data-name="' + arr.name + '" data-string="' + arr.name + ', ' + arr.city + ', ' + arr.state + '">'); 18327 } 18328 }); 18329 }, (error) => { 18330 //this is a keyup event so not alerting user. 18331 }); 18332 } 18333 } 18334 //To create go to library button. 18335 createButton(event) { 18336 var $this = this; 18337 var userText = $(event.target).val(); 18338 $("#opaclist").find("option").each(function () { 18339 if ($(this).data('string') == userText) { 18340 $('.buttonGen').find('.btn-goLibrary').remove(); 18341 var url = $(this).data('target'); 18342 var name = $(this).data('name'); 18343 var html = '<div class="btn-goLibrary mt-4"><div class="btn-goLibrary-inner">'; 18344 html += '<a class="btn btn-primary" href="' + url + '">' + name; 18345 html += '<div class="goLibrary-rightBtn">'; 18346 html += "<img src='../../assets/images/btn-curve.png' alt='btn-curve.png'>"; 18347 html += '</div>'; 18348 html += '</a>'; 18349 html += '</div></div>'; 18350 $('.buttonGen').append(html); 18351 $this.cookieService.set('directoryLibName', name, 1, '/'); 18352 $this.cookieService.set('directoryLibLink', url, 1, '/'); 18353 $(event.target).val(''); 18354 } 18355 }); 18356 } 18357 //Loading google SDK for google login. 18358 googleSDK() { 18359 //console.log(this.parameters); 18360 //if(this.parameters.tenant == 'thg' || this.parameters.tenant == 'THG'){ 18361 //console.log("I am in new login"); 18362 var $this = this; 18363 window.onload = function () { 18364 setTimeout(function () { 18365 $('#buttonDiv').find('#button-label').click(); 18366 }, 8000); 18367 google.accounts.id.initialize({ 18368 client_id: '1003925052394-fllpkk5hbvna7i5hif1hcimh08tqsatv.apps.googleusercontent.com', 18369 callback: $this.handleCredentialResponse 18370 }); 18371 google.accounts.id.renderButton(document.getElementById("buttonDiv"), { 18372 type: "standard", 18373 theme: "outline", 18374 size: "large", 18375 width: "350px" 18376 } // customization attributes 18377 ); 18378 google.accounts.id.prompt(); // also display the One Tap dialog 18379 }; 18380 // }else{ 18381 // console.log("I am in old login"); 18382 // window['googleSDKLoaded'] = () => { 18383 // window['gapi'].load('auth2', () => { 18384 // this.auth2 = window['gapi'].auth2.init({ 18385 // client_id: '1003925052394-fllpkk5hbvna7i5hif1hcimh08tqsatv.apps.googleusercontent.com', 18386 // cookiepolicy: 'single_host_origin', 18387 // scope: 'profile email' 18388 // }); 18389 // this.prepareLoginButton(); 18390 // setTimeout(function(){ 18391 // document.getElementById("googleLoginButton").click(); 18392 // },3000); 18393 // }); 18394 // } 18395 // (function(d, s, id){ 18396 // var js, fjs = d.getElementsByTagName(s)[0]; 18397 // if (d.getElementById(id)) {return;} 18398 // js = d.createElement(s); js.id = id; 18399 // js.src = "https://apis.google.com/js/platform.js?onload=googleSDKLoaded"; 18400 // fjs.parentNode.insertBefore(js, fjs); 18401 // }(document, 'script', 'google-jssdk')); 18402 // } 18403 } 18404 //This will prepare google login button. 18405 prepareLoginButton() { 18406 var $this = this; 18407 window.onerror = function (message, source, lineno, colno, error) { 18408 if (error) { 18409 $this.showError(error); 18410 } 18411 }; 18412 var librarySite = this.parameters.tenant; 18413 if (this.parameters.config != '*') { 18414 librarySite += '-' + this.parameters.config; 18415 } 18416 librarySite += '.library.site'; 18417 this.auth2.attachClickHandler(this.loginElement.nativeElement, {}, (googleUser) => { 18418 librarySite += '?googleToken=' + googleUser.getAuthResponse().access_token; 18419 window.location.href = 'https://' + librarySite; 18420 }, (error) => { 18421 $('.googleShow').removeClass('hide'); 18422 if (error.error == 'popup_blocked_by_browser') { 18423 $('.googleErr').text("The Google login pop-up was blocked by your browser. Please enable pop-ups and try again."); 18424 } 18425 }); 18426 } 18427 showError(error) { 18428 if (error.error == 'idpiframe_initialization_failed') { 18429 $('.googleErr').text(error.details); 18430 } 18431 } 18432 goToGoogle() { 18433 $('.loding-img-main').hide(); 18434 this.routes.queryParams.subscribe(params => { 18435 //if(typeof(params.tenant) != 'undefined'){ 18436 console.log(params); 18437 this.cookieService.set('locationParams', JSON.stringify(params)); 18438 this.parameters.tenant = params.tenant; 18439 this.parameters.config = params.config; 18440 console.log(this.parameters.tenant); 18441 this.googleSDK(); 18442 // }else{ 18443 // this.parameters.tenant = 'thg'; 18444 // this.parameters.config = '*'; 18445 // this.googleSDK(); 18446 // } 18447 }); 18448 } 18449 //Login Through google token coming from googlelogin.library.site 18450 loginGoogleToken(token) { 18451 this.authService.authGoogle(token).subscribe(data => { 18452 var locationId = this.homepageService.getLocationId(); 18453 localStorage.setItem('token', data.access_token); 18454 localStorage.setItem('refreshToken', data.refresh_token); 18455 if (localStorage.getItem('selectedResourcesIds') != null) { 18456 var selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 18457 this.homepageService.saveMyList(data.access_token, selectedResourcesIds).subscribe(addTempIds => { 18458 this.cookieService.delete('tempPersonalCollection'); 18459 this.getProfileDetail(data.access_token, locationId); 18460 }); 18461 } 18462 else { 18463 this.getProfileDetail(data.access_token, locationId); 18464 } 18465 }, (error) => { 18466 //this.notifier.notify('error', "Something isn't working as expected."); 18467 //console.log(error); 18468 //this.notifier.notify('error', error.error.error_description); 18469 this.error = error.error.error_description; 18470 this.notifier.notify('error', 'Invalid Login'); 18471 this.router.navigate(['']); 18472 }); 18473 } 18474 isMicrosoftSsoCallback(params) { 18475 const expectedState = localStorage.getItem('ms_sso_state'); 18476 const hasOAuthData = typeof (params.code) != 'undefined' || typeof (params.id_token) != 'undefined'; 18477 return hasOAuthData && expectedState != null; 18478 } 18479 clearMicrosoftSsoState() { 18480 localStorage.removeItem('ms_sso_state'); 18481 localStorage.removeItem('ms_sso_nonce'); 18482 localStorage.removeItem('ms_sso_code_verifier'); 18483 localStorage.removeItem('ms_sso_redirect_uri'); 18484 } 18485 handleMicrosoftSsoCallback(params) { 18486 this.microsoftSsoPending = true; 18487 const expectedState = localStorage.getItem('ms_sso_state'); 18488 if (expectedState && params.state !== expectedState) { 18489 this.clearMicrosoftSsoState(); 18490 this.microsoftSsoPending = false;
18491 this.notifier.notify('error', 'Microsoft login could not be validated. Please try again.'); 18492 this.router.navigate([], { queryParams: {}, replaceUrl: true }); 18493 return; 18494 } 18495 if (typeof (params.error) != 'undefined') { 18496 this.clearMicrosoftSsoState(); 18497 this.microsoftSsoPending = false; 18498 this.notifier.notify('error', params.error_description || 'Microsoft login failed.'); 18499 this.router.navigate([], { queryParams: {}, replaceUrl: true }); 18500 return; 18501 } 18502 const idToken = params.id_token || ''; 18503 const authCode = params.code || ''; 18504 const codeVerifier = localStorage.getItem('ms_sso_code_verifier') || ''; 18505 const redirectUri = localStorage.getItem('ms_sso_redirect_uri') || window.location.origin; 18506 this.authService.authMicrosoft(idToken, authCode, codeVerifier, redirectUri).subscribe((data) => { 18507 if (!data || !data.access_token) { 18508 this.clearMicrosoftSsoState(); 18509 this.microsoftSsoPending = false; 18510 this.notifier.notify('error', 'Microsoft login failed.'); 18511 this.router.navigate([], { queryParams: {}, replaceUrl: true }); 18512 return; 18513 } 18514 var locationId = this.homepageService.getLocationId(); 18515 localStorage.setItem('token', data.access_token); 18516 if (data.refresh_token) { 18517 localStorage.setItem('refreshToken', data.refresh_token); 18518 } 18519 this.clearMicrosoftSsoState(); 18520 this.router.navigate([], { queryParams: {}, replaceUrl: true }); 18521 if (localStorage.getItem('selectedResourcesIds') != null) { 18522 var selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 18523 this.homepageService.saveMyList(data.access_token, selectedResourcesIds).subscribe(addTempIds => { 18524 this.cookieService.delete('tempPersonalCollection'); 18525 this.getProfileDetail(data.access_token, locationId, () => { 18526 this.microsoftSsoPending = false; 18527 }, () => { 18528 this.microsoftSsoPending = false; 18529 }); 18530 }); 18531 } 18532 else { 18533 this.getProfileDetail(data.access_token, locationId, () => { 18534 this.microsoftSsoPending = false; 18535 }, () => { 18536 this.microsoftSsoPending = false; 18537 }); 18538 } 18539 }, (error) => { 18540 this.clearMicrosoftSsoState(); 18541 this.microsoftSsoPending = false; 18542 this.error = error && error.error && error.error.error_description ? error.error.error_description : 'Microsoft login failed'; 18543 this.notifier.notify('error', 'Invalid Login'); 18544 this.router.navigate([], { queryParams: {}, replaceUrl: true }); 18545 }); 18546 } 18547 //handling response coming from googlelogin.library.site. 18548 handleCredentialResponse(response) { 18549 //console.log(parameters); 18550 console.log("Response coming from Google Login:" + JSON.stringify(response)); 18551 console.log((window.location.href.split('?')[1]).split('&')[0].split('=')[1]); 18552 var librarySite = (window.location.href.split('?')[1]).split('&')[0].split('=')[1]; 18553 if ((window.location.href.split('?')[1]).split('&')[1].split('=')[1] != '*') { 18554 librarySite += '-' + (window.location.href.split('?')[1]).split('&')[1].split('=')[1]; 18555 } 18556 librarySite += '.library.site'; 18557 //var librarySite = 'thg.library.site'; 18558 librarySite += '?googleToken=' + response.credential; 18559 console.log(librarySite); 18560 window.location.href = 'https://' + librarySite; 18561 } 18562 //Getting Profile details of user 18563 getProfileDetail(access_token, locationId, onSuccess, onError) { 18564 this.authService.getProfileDetail(access_token, locationId).subscribe(profile => { 18565 //this.cookieService.set( 'info', JSON.stringify({'token' : access_token,'detail' : profile.data }), 1,'/'); 18566 var auth = localStorage.getItem('token'); 18567 localStorage.setItem('info', JSON.stringify({ 'token': auth, 'detail': profile.data })); 18568 this.cookieService.set('patron', 'true', 1, '/'); 18569 this.cookieService.set('patronPermissions', JSON.stringify(profile.data.permission), 1, '/'); 18570 this.cookieService.set('userDetail', JSON.stringify({ 'patronId': profile.data.patronId, 'firstName': profile.data.firstName, 'lastName': profile.data.lastName, 'email': profile.data.email }), 1, '/'); 18571 $('li#loginLi').removeClass('show').addClass('hide'); 18572 if (profile.data.profilePicture != '') { 18573 $('li#profileLi').find('img').attr('src', profile.data.profilePicture).removeClass('hide').addClass('show'); 18574 } 18575 else { 18576 $('li#profileLi').find('img').addClass('hide'); 18577 } 18578 $('li#profileLi').find('span').text(profile.data.firstName).removeClass('hide').addClass('show'); 18579 $('li#profileLi').addClass('show').removeClass('hide'); 18580 $('#Publish-My-List').addClass('show').removeClass('hide'); 18581 $('li#myCollectionLi').addClass('show').removeClass('hide'); 18582 if (profile.data.permission.opacAdmin) { 18583 this.document.body.classList.add('login-patron'); 18584 } 18585 localStorage.setItem('selectedResourcesIds', JSON.stringify(profile.data.personalListResourceIds)); 18586 this.cookieService.set('MyLIstCount', profile.data.totalMyListCount, 1, '/'); 18587 if (profile.data.totalMyListCount > 0) { 18588 $('a.onViewList').removeClass('hide').addClass('show'); 18589 $('#Publish-My-List').removeClass('hide').addClass('show'); 18590 } 18591 $('#myCollectionLi').find('span.count').text(profile.data.totalMyListCount); 18592 var self = this; 18593 setTimeout(function () { 18594 if (onSuccess) { 18595 onSuccess(); 18596 } 18597 self.router.navigate(['']); 18598 }, 500); 18599 }, () => { 18600 if (onError) { 18601 onError(); 18602 } 18603 }); 18604 } 18605 goBack() { 18606 var librarySite = this.parameters.tenant; 18607 if (this.parameters.config != '*') { 18608 librarySite += '-' + this.parameters.config; 18609 } 18610 librarySite += '.library.site?error=googleLoginAborted'; 18611 //librarySite = "localhost:4200/?error=no"; 18612 window.location.href = 'http://' + librarySite; 18613 } 18614}; 18615DefaultComponent.ctorParameters = () => [ 18616 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService }, 18617 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__.CookieService }, 18618 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_4__.AuthService }, 18619 { type: _angular_common__WEBPACK_IMPORTED_MODULE_8__.Location }, 18620 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 18621 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_9__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 18622 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 18623 { type: _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__.Title }, 18624 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 18625 { type: _services_directory_service__WEBPACK_IMPORTED_MODULE_3__.DirectoryService }, 18626 { type: _services_tenant_service__WEBPACK_IMPORTED_MODULE_6__.TenantService } 18627]; 18628DefaultComponent.propDecorators = { 18629 loginElement: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_9__.ViewChild, args: ['loginRef',] }] 18630}; 18631DefaultComponent = __decorate([ 18632 (0,_angular_core__WEBPACK_IMPORTED_MODULE_9__.Component)({ 18633 selector: 'app-default', 18634 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_default_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 18635 styles: [_default_component_css__WEBPACK_IMPORTED_MODULE_1__] 18636 }) 18637], DefaultComponent); 18638 18639 18640 18641/***/ }), 18642 18643/***/ 38295: 18644/*!************************************!*\ 18645 !*** ./src/app/removehtml-pipe.ts ***! 18646 \************************************/ 18647/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 18648 18649"use strict"; 18650__webpack_require__.r(__webpack_exports__); 18651/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18652/* harmony export */ "RemoveHTML": function() { return /* binding */ RemoveHTML; } 18653/* harmony export */ }); 18654/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 18655var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 18656 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 18657 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 18658 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
18658 3 ? d(target, key, r) : d(target, key)) || r; 18659 return c > 3 && r && Object.defineProperty(target, key, r), r; 18660}; 18661 18662let RemoveHTML = class RemoveHTML { 18663 transform(value) { 18664 if (typeof value !== "string") { 18665 return value; 18666 } 18667 return value.replace(/<[^>]*>/g, ''); 18668 } 18669}; 18670RemoveHTML = __decorate([ 18671 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ name: 'removeHTML' }) 18672], RemoveHTML); 18673 18674 18675 18676/***/ }), 18677 18678/***/ 55211: 18679/*!*********************************!*\ 18680 !*** ./src/app/replace.pipe.ts ***! 18681 \*********************************/ 18682/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 18683 18684"use strict"; 18685__webpack_require__.r(__webpack_exports__); 18686/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18687/* harmony export */ "ReplacePipe": function() { return /* binding */ ReplacePipe; } 18688/* harmony export */ }); 18689/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 18690var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 18691 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 18692 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 18693 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 18694 return c > 3 && r && Object.defineProperty(target, key, r), r; 18695}; 18696 18697let ReplacePipe = class ReplacePipe { 18698 transform(value, regexValue, replaceValue) { 18699 let regex = new RegExp(regexValue, 'g'); 18700 return value.replace(regex, replaceValue); 18701 } 18702}; 18703ReplacePipe = __decorate([ 18704 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ 18705 name: 'replace' 18706 }) 18707], ReplacePipe); 18708 18709 18710 18711/***/ }), 18712 18713/***/ 37556: 18714/*!******************************************!*\ 18715 !*** ./src/app/services/auth.service.ts ***! 18716 \******************************************/ 18717/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 18718 18719"use strict"; 18720__webpack_require__.r(__webpack_exports__); 18721/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18722/* harmony export */ "AuthService": function() { return /* binding */ AuthService; } 18723/* harmony export */ }); 18724/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 2316); 18725/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ 53882); 18726/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ 76491); 18727/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs */ 45871); 18728/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 8117); 18729/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ 33927); 18730/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ 18293); 18731/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environments/environment */ 92340); 18732/* harmony import */ var angular_user_idle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! angular-user-idle */ 49900); 18733/* harmony import */ var _tenant_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tenant.service */ 62255); 18734var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 18735 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 18736 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 18737 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
18737 3 ? d(target, key, r) : d(target, key)) || r; 18738 return c > 3 && r && Object.defineProperty(target, key, r), r; 18739}; 18740 18741 18742 18743 18744 18745 18746 18747let AuthService = class AuthService { 18748 constructor(http, userIdle, tenantService) { 18749 this.http = http; 18750 this.userIdle = userIdle; 18751 this.tenantService = tenantService; 18752 this.tetent = ''; 18753 this.tenantLocId = ''; 18754 this.confiGurationSetting = '*'; 18755 this.apiUrl = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.apiUrl; 18756 this.authApiUrl = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.authApiUrl; 18757 this.authTokenEndpoint = `${(_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.authApiUrl || '').replace(/\/+$/, '')}/connect/token`; 18758 this.logoutSubject = new rxjs__WEBPACK_IMPORTED_MODULE_2__.BehaviorSubject(false); 18759 this.logoutObservable$ = this.logoutSubject.asObservable(); 18760 this.tetent = this.tenantService.tenant; 18761 this.confiGurationSetting = this.tenantService.configurationSetting; 18762 } 18763 //To get access token using username and password. 18764 authentication(username, password) { 18765 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18766 let body = "client_id=surpasscloudapp&client_secret=c7f70adf-bab4-4717-ae3e-dc7c7071a445&grant_type=password&username=" + username + "&password=" + encodeURIComponent(password) + "&scope=offline_access"; 18767 var self = this; 18768 return this.http.post(this.authTokenEndpoint, body, { headers: headers }) 18769 .pipe( 18770 //catchError(this.handleError), 18771 (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18772 self.loginExsit = response; 18773 return response; 18774 })); 18775 } 18776 //To Refresh Access token using refresh token. 18777 refreshAccessToken(refreshToken) { 18778 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18779 let body = "client_id=surpasscloudapp&client_secret=c7f70adf-bab4-4717-ae3e-dc7c7071a445&grant_type=refresh_token&refresh_token=" + refreshToken; 18780 var self = this; 18781 return this.http.post(this.authTokenEndpoint, body, { headers: headers }) 18782 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18783 return response; 18784 })); 18785 } 18786 //To get access token using facebook login. 18787 authFacebook(token) { 18788 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18789 let body = "client_id=surpasscloudapp&client_secret=c7f70adf-bab4-4717-ae3e-dc7c7071a445&grant_type=facebookauth&scope=offline_access&id_token=" + token; 18790 var self = this; 18791 return this.http.post(this.authTokenEndpoint, body, { headers: headers }) 18792 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)(this.handleError), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18793 self.loginExsit = response; 18794 return response; 18795 })); 18796 } 18797 //To get access token using google login. 18798 authGoogle(token) { 18799 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18800 let body = "client_id=surpasscloudapp&client_secret=c7f70adf-bab4-4717-ae3e-dc7c7071a445&grant_type=googleauth&scope=offline_access&id_token=" + token; 18801 var self = this; 18802 return this.http.post(this.authTokenEndpoint, body, { headers: headers }); 18803 //.pipe( 18804 // map((response: Response) => { 18805 //return response; 18806 //})); 18807 } 18808 authMicrosoft(idToken, authCode, codeVerifier = '', redirectUri = '') { 18809 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18810 let body = "client_id=surpasscloudapp&client_secret=c7f70adf-bab4-4717-ae3e-dc7c7071a445&grant_type=microsoftauth&scope=offline_access&id_token=" + encodeURIComponent(idToken || '') + "&auth_code=" + encodeURIComponent(authCode || '') + "&code_verifier=" + encodeURIComponent(codeVerifier || '') + "&redirect_uri=" + encodeURIComponent(redirectUri || ''); 18811 return this.http.post(this.authTokenEndpoint, body, { headers: headers }); 18812 } 18813 //To handle login error. 18814 handleError(error) { 18815 let errorMessage = ''; 18816 if (error.error instanceof ErrorEvent) { 18817 $('#loginError').text(error.error.error_description.replace(/_/g, ' ')); 18818 $('#loginDotts').addClass('hide').removeClass('show'); 18819 } 18820 else { 18821 $('#loginError').text(error.error.error_description.replace(/_/g, ' ')); 18822 $('#loginDotts').addClass('hide').removeClass('show'); 18823 } 18824 return (0,rxjs__WEBPACK_IMPORTED_MODULE_6__.throwError)(errorMessage); 18825 } 18826 //To check if user is logged in or not. 18827 checkLogin() { 18828 return this.loginExsit; 18829 } 18830 //To get user's details from API 18831 getProfileDetail(auth, locationId) { 18832 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Authorization': 'Bearer ' + auth, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'locationId': locationId }); 18833 var self = this; 18834 return this.http.get(this.apiUrl + 'profile/me', { headers: headers, observe: 'response' }) 18835 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18836 self.profileDetail = response.body; 18837 if (response.headers.get('Session-Id')) { 18838 this.setSessionIdHeader(response.headers.get('Session-Id')); 18839 } 18840 this.setIdleTimer(); 18841 return response.body; 18842 })); 18843 } 18844 //To access only user detail (pre loggedin user) 18845 getProfileDetailInfo() { 18846 return this.profileDetail.data; 18847 } 18848 //To send forget password mail. 18849 forgotPassword(email) { 18850 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac' }); 18851 return this.http.post(this.apiUrl + 'account/forgotpassword', { email: email }, { headers: headers, observe: 'response' }) 18852 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18853 if (response.headers.get('Session-Id')) { 18854 this.setSessionIdHeader(response.headers.get('Session-Id')); 18855 } 18856 this.setIdleTimer(); 18857 return response.body; 18858 })); 18859 } 18860 //Reset password using reset link. 18861 resetPassword(newPassword, code, userId, locationId) { 18862 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac', locationId: locationId }); 18863 return this.http.post(this.apiUrl + 'account/resetpassword', { password: newPassword, code: code, userid: userId }, { headers: headers, observe: 'response' }) 18864 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18865 if (response.headers.get('Session-Id')) { 18866 this.setSessionIdHeader(response.headers.get('Session-Id')); 18867 } 18868 this.setIdleTimer(); 18869 return response.body; 18870 })); 18871 } 18872 //Update new password. 18873 updatePassword(newPass, oldPass, auth) { 18874 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac', 'Authorization': 'Bearer ' + auth }); 18875 return this.http.post(this.apiUrl + 'profile/passwordreset', { password: newPass, oldPassword: oldPass }, { headers: headers, observe: 'response' }) 18876 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18877 if (response.headers.get('Session-Id')) { 18878 this.setSessionIdHeader(response.headers.get('Session-Id')); 18879 } 18880 this.setIdleTimer(); 18881 return response.body; 18882 })); 18883 } 18884 //Get password requirement conditions.
18885 getPasswordRequirement(auth) { 18886 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth, 'tenant': this.tetent, 'configuration': this.confiGurationSetting }); 18887 var self = this; 18888 return this.http.get(this.apiUrl + 'setting/passwordrequirement', { headers: headers, observe: 'response' }) 18889 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18890 self.profileDetail = response.body; 18891 if (response.headers.get('Session-Id')) { 18892 this.setSessionIdHeader(response.headers.get('Session-Id')); 18893 } 18894 this.setIdleTimer(); 18895 return response.body; 18896 })); 18897 } 18898 //Update temporary password. 18899 resetTempPassword(newPassword, locationId, auth) { 18900 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, locationId: locationId, 'Authorization': 'Bearer ' + auth }); 18901 return this.http.post(this.apiUrl + 'profile/temporarypasswordreset', { password: newPassword }, { headers: headers, observe: 'response' }) 18902 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18903 if (response.headers.get('Session-Id')) { 18904 this.setSessionIdHeader(response.headers.get('Session-Id')); 18905 } 18906 this.setIdleTimer(); 18907 return response.body; 18908 })); 18909 } 18910 //Update email 18911 updateEmail(email, locationId, auth) { 18912 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac', locationId: locationId, 'Authorization': 'Bearer ' + auth }); 18913 return this.http.post(this.apiUrl + 'profile/emailchange', { email: email }, { headers: headers, observe: 'response' }) 18914 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18915 if (response.headers.get('Session-Id')) { 18916 this.setSessionIdHeader(response.headers.get('Session-Id')); 18917 } 18918 this.setIdleTimer(); 18919 return response.body; 18920 })); 18921 } 18922 //Resend update email 18923 updateEmailResend(locationId, auth) { 18924 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac', locationId: locationId, 'Authorization': 'Bearer ' + auth }); 18925 return this.http.post(this.apiUrl + 'profile/emailchangeresend', {}, { headers: headers, observe: 'response' }) 18926 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18927 if (response.headers.get('Session-Id')) { 18928 this.setSessionIdHeader(response.headers.get('Session-Id')); 18929 } 18930 this.setIdleTimer(); 18931 return response.body; 18932 })); 18933 } 18934 //Update email verify from link.s 18935 updateEmailClick(code, locationId, auth) { 18936 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'Content-Type': 'application/json', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'app-id': 'opac', locationId: locationId, 'Authorization': 'Bearer ' + auth }); 18937 return this.http.post(this.apiUrl + 'account/resetemail?code=' + code, {}, { headers: headers, observe: 'response' }) 18938 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 18939 if (response.headers.get('Session-Id')) { 18940 this.setSessionIdHeader(response.headers.get('Session-Id')); 18941 } 18942 this.setIdleTimer(); 18943 return response.body; 18944 })); 18945 } 18946 handleErrorMessage(error) { 18947 if (error.status == 401) { 18948 this.logoutSubject.next(true); 18949 return rxjs__WEBPACK_IMPORTED_MODULE_7__.EMPTY; 18950 } 18951 else { 18952 return (0,rxjs__WEBPACK_IMPORTED_MODULE_6__.throwError)(error); 18953 } 18954 } 18955 setSessionIdHeader(sessionId) { 18956 localStorage.setItem('Session-Id', sessionId); 18957 } 18958 setIdleTimer() { 18959 // const gloalSetting = this.homepageService.getUpdatedConfig(); 18960 console.log("global"); 18961 // if(gloalSetting){ 18962 // this.userIdle.setConfigValues({idle:(gloalSetting.data.settings.timeout.minutes) * 60, timeout: 30, ping: 120}); 18963 // } 18964 } 18965}; 18966AuthService.ctorParameters = () => [ 18967 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpClient }, 18968 { type: angular_user_idle__WEBPACK_IMPORTED_MODULE_8__.UserIdleService }, 18969 { type: _tenant_service__WEBPACK_IMPORTED_MODULE_1__.TenantService } 18970]; 18971AuthService = __decorate([ 18972 (0,_angular_core__WEBPACK_IMPORTED_MODULE_9__.Injectable)({ 18973 providedIn: 'root' 18974 }) 18975], AuthService); 18976 18977 18978 18979/***/ }), 18980 18981/***/ 91527: 18982/*!***********************************************!*\ 18983 !*** ./src/app/services/directory.service.ts ***! 18984 \***********************************************/ 18985/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 18986 18987"use strict"; 18988__webpack_require__.r(__webpack_exports__); 18989/* harmony export */ __webpack_require__.d(__webpack_exports__, { 18990/* harmony export */ "DirectoryService": function() { return /* binding */ DirectoryService; }
18991/* harmony export */ }); 18992/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/core */ 2316); 18993/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common/http */ 53882); 18994/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 71258); 18995/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 18996/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs */ 8117); 18997/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs */ 45871); 18998/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ 33927); 18999/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ 18293); 19000/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./auth.service */ 37556); 19001var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 19002 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 19003 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 19004 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 19005 return c > 3 && r && Object.defineProperty(target, key, r), r; 19006}; 19007 19008 19009 19010 19011 19012 19013 19014let DirectoryService = class DirectoryService { 19015 constructor(http, router, cookieService, authService) { 19016 this.http = http; 19017 this.router = router; 19018 this.cookieService = cookieService; 19019 this.authService = authService; 19020 } 19021 getLibraryList(keyword) { 19022 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_1__.HttpHeaders({ 'Content-Type': 'text/plain' }); 19023 return this.http.get('https://surpasssupport.com/api/opacdirectory?name=' + keyword, { headers: headers, observe: 'response' }) 19024 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.map)((response) => { 19025 this.authService.setIdleTimer(); 19026 return response.body; 19027 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.catchError)((error) => this.handleError(error))); 19028 } 19029 handleError(error) { 19030 console.log("error", error); 19031 if (error.status == 401) { 19032 this.authService.logoutSubject.next(true); 19033 return rxjs__WEBPACK_IMPORTED_MODULE_4__.EMPTY; 19034 } 19035 else { 19036 return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.throwError)(error); 19037 } 19038 } 19039}; 19040DirectoryService.ctorParameters = () => [ 19041 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_1__.HttpClient }, 19042 { type: _angular_router__WEBPACK_IMPORTED_MODULE_6__.Router }, 19043 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_7__.CookieService }, 19044 { type: _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService } 19045]; 19046DirectoryService = __decorate([ 19047 (0,_angular_core__WEBPACK_IMPORTED_MODULE_8__.Injectable)({ 19048 providedIn: 'root' 19049 }) 19050], DirectoryService); 19051 19052 19053 19054/***/ }), 19055 19056/***/ 27150: 19057/*!**********************************************!*\ 19058 !*** ./src/app/services/homepage.service.ts ***! 19059 \**********************************************/ 19060/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 19061 19062"use strict"; 19063__webpack_require__.r(__webpack_exports__); 19064/* harmony export */ __webpack_require__.d(__webpack_exports__, { 19065/* harmony export */ "HomepageService": function() { return /* binding */ HomepageService; } 19066/* harmony export */ }); 19067/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 2316); 19068/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common/http */ 53882); 19069/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs */ 76491); 19070/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 45871); 19071/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rxjs */ 8117); 19072/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ 33927); 19073/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs/operators */ 18293); 19074/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environments/environment */ 92340); 19075/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/router */ 71258); 19076/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 19077/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth.service */ 37556); 19078/* harmony import */ var _tenant_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tenant.service */ 62255); 19079var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 19080 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 19081 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 19082 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
19082 3 ? d(target, key, r) : d(target, key)) || r; 19083 return c > 3 && r && Object.defineProperty(target, key, r), r; 19084}; 19085 19086 19087 19088 19089 19090 19091 19092 19093 19094let HomepageService = class HomepageService { 19095 constructor(http, router, cookieService, authService, tenantService) { 19096 this.http = http; 19097 this.router = router; 19098 this.cookieService = cookieService; 19099 this.authService = authService; 19100 this.tenantService = tenantService; 19101 this.tetent = ""; 19102 this.tenantLocId = ""; 19103 this.confiGurationSetting = "*"; 19104 this.recentSearch = ""; 19105 this.bannerText = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(null); 19106 this.bannerText$ = this.bannerText.asObservable(); 19107 this.theme = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(null); 19108 this.theme$ = this.theme.asObservable(); 19109 this.dataSource = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(null); 19110 this.currentData = this.dataSource.asObservable(); 19111 this.isLogin = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(null); 19112 this.isLogin$ = this.isLogin.asObservable(); 19113 this.isCardRoute = new rxjs__WEBPACK_IMPORTED_MODULE_3__.BehaviorSubject(null); 19114 this.isCardRoute$ = this.isCardRoute.asObservable(); 19115 this.apiUrl = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.apiUrl; 19116 this.getwidgetsSettingDataCall = false; 19117 this.tetent = this.tenantService.tenant; 19118 this.confiGurationSetting = this.tenantService.configurationSetting; 19119 // Restore the last-known location from the session cookie so that the 19120 // first API calls (getConfig, setRegionalSettings) don't fire with an 19121 // empty selectedlibrary header, which the backend may resolve to a 19122 // location that doesn't belong to this tenant. 19123 const savedLoc = this.cookieService.get('selectedlocation' + this.tetent); 19124 if (savedLoc) { 19125 this.tenantLocId = savedLoc; 19126 } 19127 } 19128 /* Updates the banner Text according to the page*/ 19129 updateBannerText(text) { 19130 this.bannerText.next(text); 19131 } 19132 // Update inner banner 19133 updateThemeName(text) { 19134 this.theme.next(text); 19135 } 19136 // Update location 19137 updateLocation_(data) { 19138 this.dataSource.next(data); 19139 console.log(data, "call updateloc"); 19140 } 19141 updateIsLogin(text) { 19142 this.isLogin.next(text); 19143 } 19144 updateIsCardRoute(text) { 19145 this.isCardRoute.next(text); 19146 } 19147 /* Call the setting API once and store data into temprary variable */ 19148 getConfig() { 19149 var auth = "null"; 19150 //if(this.cookieService.check( 'info')){ 19151 //if (localStorage.getItem('info') != null){ 19152 var auth = "Bearer " + localStorage.getItem("token"); 19153 //} 19154 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19155 "app-id": "opac", 19156 selectedlibrary: this.tenantLocId, 19157 tenant: this.tetent, 19158 configuration: this.confiGurationSetting, 19159 Authorization: auth, 19160 }); 19161 return this.http.get(this.apiUrl + "setting", { headers: headers, observe: 'response' }).pipe( 19162 // catchError(this.handleError), 19163 (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19164 this.gloalSettingAPI = response.body; 19165 this.setListView(response.body); 19166 this.authService.setIdleTimer(); 19167 if (response.headers.get('Session-Id')) { 19168 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19169 } 19170 return response.body; 19171 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19172 } 19173 getLocationConfig(locationId) { 19174 var auth = "null"; 19175 //if(this.cookieService.check( 'info')){ 19176 if (localStorage.getItem("info") != null) { 19177 var auth = "Bearer " + localStorage.getItem("token"); 19178 } 19179 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19180 "app-id": "opac", 19181 selectedlibrary: locationId, 19182 tenant: this.tetent, 19183 configuration: this.confiGurationSetting, 19184 Authorization: auth, 19185 }); 19186 return this.http 19187 .get(this.apiUrl + "setting/configforlocation/" + locationId, { headers: headers, observe: 'response' }) 19188 .pipe( 19189 // catchError(this.handleError), 19190 (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => {
19191 this.gloalSettingAPI = response.body; 19192 if (response.headers.get('Session-Id')) { 19193 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19194 } 19195 this.authService.setIdleTimer(); 19196 return response.body; 19197 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19198 } 19199 setRegionalSettings() { 19200 var auth = "null"; 19201 //if(this.cookieService.check( 'info')){ 19202 if (localStorage.getItem("info") != null) { 19203 var auth = "Bearer " + localStorage.getItem("token"); 19204 } 19205 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19206 "app-id": "opac", 19207 selectedlibrary: this.tenantLocId, 19208 tenant: this.tetent, 19209 configuration: this.confiGurationSetting, 19210 Authorization: auth, 19211 }); 19212 return this.http 19213 .get(this.apiUrl + "setting/regionalsettings", { headers: headers, observe: 'response' }) 19214 .pipe( 19215 // catchError(this.handleError), 19216 (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19217 this.globalRegionalSetting = response.body; 19218 if (response.headers.get('Session-Id')) { 19219 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19220 } 19221 this.authService.setIdleTimer(); 19222 return response.body; 19223 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19224 } 19225 /* Get the library setting data from temprary varible to avoid the calls on diffrent pages */ 19226 getUpdatedConfig() { 19227 return this.gloalSettingAPI; 19228 } 19229 getUpdatedRegionalSettings() { 19230 return this.gloalSettingAPI; 19231 } 19232 //save default list view type 19233 setListView(data) { 19234 var temp; 19235 if (data.data.settings.resultList.defaultView == "compact list") { 19236 temp = "compact"; 19237 } 19238 else if (data.data.settings.resultList.defaultView == "list") { 19239 temp = "true"; 19240 } 19241 else if (data.data.settings.resultList.defaultView == "grid") { 19242 temp = "false"; 19243 } 19244 this.cookieService.set("Popular_title_List_View", temp, 365, "/"); 19245 } 19246 /* CAll to widgets setting with data for home page and store into temrary variable */ 19247 getwidgetsSetting() { 19248 if (this.getwidgetsSettingDataCall === false) { 19249 var auth = "null"; 19250 //if(this.cookieService.check( 'info')){ 19251 if (localStorage.getItem("info") != null) { 19252 var auth = "Bearer " + localStorage.getItem("token"); 19253 } 19254 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19255 "app-id": "opac", 19256 selectedlibrary: this.tenantLocId, 19257 tenant: this.tetent, 19258 configuration: this.confiGurationSetting, 19259 Authorization: auth, 19260 }); 19261 return this.http 19262 .get(this.apiUrl + "widget/settingswithcontent", { headers: headers, observe: 'response' }) 19263 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19264 this.getwidgetsSettingData = response.body; 19265 this.getwidgetsSettingDataCall = true; 19266 if (response.headers.get('Session-Id')) { 19267 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19268 } 19269 return response.body; 19270 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19271 } 19272 else { 19273 this.getwidgetsSettingDataSave(); 19274 } 19275 } 19276 /* getupdated */ 19277 getwidgetsupdatedSetting() { 19278 var auth = "null"; 19279 //if(this.cookieService.check( 'info')){ 19280 if (localStorage.getItem("info") != null) { 19281 var auth = "Bearer " + localStorage.getItem("token"); 19282 } 19283 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19284 "app-id": "opac", 19285 selectedlibrary: this.tenantLocId, 19286 tenant: this.tetent, 19287 configuration: this.confiGurationSetting, 19288 Authorization: auth, 19289 }); 19290 return this.http 19291 .get(this.apiUrl + "widget/settingswithcontent", { headers: headers, observe: 'response' }) 19292 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19293 this.getwidgetsSettingData = response.body; 19294 this.getwidgetsSettingDataCall = true; 19295 if (response.headers.get('Session-Id')) { 19296 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19297 } 19298 this.authService.setIdleTimer(); 19299 return response.body; 19300 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19301 } 19302 /* getupdated */ 19303 checkContentHave() { 19304 return this.getwidgetsSettingDataCall; 19305 } 19306 /* Get the library widget setting data from temprary varible to avoid the calls on diffrent pages */ 19307 getwidgetsSettingDataSave() { 19308 return this.getwidgetsSettingData; 19309 } 19310 /* getting the data for the popular title page */ 19311 getPopularPage(sortBy, descending, listSize, facets, exploreId) { 19312 var auth = "null"; 19313 //if(this.cookieService.check( 'info')){ 19314 if (localStorage.getItem("info") != null) { 19315 var auth = "Bearer " + localStorage.getItem("token"); 19316 } 19317 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19318 "app-id": "opac", 19319 selectedlibrary: this.tenantLocId, 19320 tenant: this.tetent, 19321 configuration: this.confiGurationSetting, 19322 Authorization: auth, 19323 }); 19324 if (exploreId) { 19325 exploreId = "&exp-btn-id=" + 19326 exploreId; 19327 } 19328 else { 19329 exploreId = ''; 19330 } 19331 return this.http 19332 .get(this.apiUrl + 19333 "resource/list/popular?size=" + 19334 listSize + 19335 "&offset=0&order=" + 19336 sortBy + 19337 "&descending=" + 19338 descending + 19339 "&facets=" + 19340 facets + 19341 exploreId, { headers: headers, observe: 'response' }) 19342 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19343 if (response.headers.get('Session-Id')) { 19344 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19345 } 19346 this.authService.setIdleTimer(); 19347 return response.body; 19348 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19349 } 19350 /* getting the data for the recommended-for-you list page (same shape as popular) */ 19351 getRecommendedPage(sortBy, descending, listSize, facets, exploreId) { 19352 var auth = "null"; 19353 if (localStorage.getItem("info") != null) { 19354 var auth = "Bearer " + localStorage.getItem("token"); 19355 } 19356 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19357 "app-id": "opac", 19358 selectedlibrary: this.tenantLocId, 19359 tenant: this.tetent, 19360 configuration: this.confiGurationSetting, 19361 Authorization: auth, 19362 }); 19363 if (exploreId) { 19364 exploreId = "&exp-btn-id=" + 19365 exploreId; 19366 } 19367 else { 19368 exploreId = ''; 19369 } 19370 return this.http 19371 .get(this.apiUrl + 19372 "resource/list/recommended?size=" + 19373 listSize + 19374 "&offset=0&order=" + 19375 sortBy + 19376 "&descending=" + 19377 descending + 19378 "&facets=" + 19379 facets + 19380 exploreId, { headers: headers, observe: 'response' }) 19381 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19382 if (response.headers.get('Session-Id')) { 19383 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19384 } 19385 this.authService.setIdleTimer(); 19386 return response.body; 19387 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19388 } 19389 /* getting the data for the Resouce lists page */ 19390 getReadinlist(exploreId) { 19391 var auth = "null"; 19392 //if(this.cookieService.check( 'info')){ 19393 if (localStorage.getItem("info") != null) { 19394 var auth = "Bearer " + localStorage.getItem("token"); 19395 } 19396 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19397 "app-id": "opac", 19398 selectedlibrary: this.tenantLocId, 19399 tenant: this.tetent, 19400 configuration: this.confiGurationSetting, 19401 Authorization: auth, 19402 }); 19403 if (exploreId) { 19404 exploreId = "?exp-btn-id=" + 19405 exploreId; 19406 } 19407 else { 19408 exploreId = ''; 19409 } 19410 return this.http.get(this.apiUrl + "resource/list" + exploreId, { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19411 if (response.headers.get('Session-Id')) { 19412 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19413 } 19414 this.authService.setIdleTimer(); 19415 return response.body; 19416 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19417 } 19418 /* getting the recommended-for-you widget content (loaded asynchronously) */ 19419 getRecommended(size, offset = 0) { 19420 var auth = "null"; 19421 if (localStorage.getItem("info") != null) { 19422 var auth = "Bearer " + localStorage.getItem("token"); 19423 } 19424 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19425 "app-id": "opac", 19426 selectedlibrary: this.tenantLocId, 19427 tenant: this.tetent, 19428 configuration: this.confiGurationSetting, 19429 Authorization: auth, 19430 }); 19431 return this.http 19432 .get(this.apiUrl + 19433 "widget/recommended?size=" + 19434 size + 19435 "&offset=" + 19436 offset, { headers: headers, observe: 'response' }) 19437 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19438 if (response.headers.get('Session-Id')) { 19439 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19440 } 19441 this.authService.setIdleTimer(); 19442 return response.body; 19443 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19444 } 19445 /* getting the data for the new in library page */ 19446 getNewInLibararyPage(sortBy, descending, size, facets) { 19447 var auth = "null"; 19448 //if(this.cookieService.check( 'info')){ 19449 if (localStorage.getItem("info") != null) { 19450 var auth = "Bearer " + localStorage.getItem("token"); 19451 } 19452 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19453 "app-id": "opac", 19454 selectedlibrary: this.tenantLocId, 19455 tenant: this.tetent, 19456 configuration: this.confiGurationSetting, 19457 Authorization: auth, 19458 }); 19459 return this.http 19460 .get(this.apiUrl + 19461 "resource/list/new?size=" + 19462 size + 19463 "&offset=0&order=" + 19464 sortBy + 19465 "&descending=" + 19466 descending + 19467 "&facets=" + 19468 facets, { headers: headers, observe: 'response' }) 19469 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19470 if (response.headers.get('Session-Id')) { 19471 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19472 } 19473 this.authService.setIdleTimer(); 19474 return response.body; 19475 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19476 } 19477 /* call the api to sorted data from result list pages*/ 19478 getSortPageByCache(sortBy, descending, cache, size, offset, facets, exploreId) { 19479 var auth = "null"; 19480 //if(this.cookieService.check( 'info')){ 19481 if (localStorage.getItem("info") != null) { 19482 var auth = "Bearer " + localStorage.getItem("token"); 19483 } 19484 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19485 "app-id": "opac", 19486 selectedlibrary: this.tenantLocId, 19487 tenant: this.tetent, 19488 configuration: this.confiGurationSetting, 19489 Authorization: auth, 19490 }); 19491 if (exploreId) { 19492 exploreId = "&exp-btn-id=" + 19493 exploreId; 19494 } 19495 else { 19496 exploreId = ''; 19497 } 19498 return this.http 19499 .get(this.apiUrl + 19500 "resource/list/page?cacheKey=" + 19501 cache + 19502 "&size=" + 19503 size + 19504 "&offset=" + 19505 offset + 19506 "&order=" + 19507 sortBy + 19508 "&descending=" + 19509 descending + 19510 "&facets=" + 19511 facets + exploreId, { headers: headers, observe: 'response' }) 19512 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19513 this.setLastSearch("resource/list/page?cacheKey=" + 19514 cache + 19515 "&size=" + 19516 size + 19517 "&offset=" + 19518 offset + 19519 "&order=" + 19520 sortBy + 19521 "&descending=" + 19522 descending + exploreId); 19523 if (response.headers.get('Session-Id')) { 19524 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19525 } 19526 this.authService.setIdleTimer(); 19527 return response.body; 19528 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19529 } 19530 /* Get norrow result from search result*/ 19531 searchNorrowResult(sortBy, descending, cache, size, offset, facets, exploreId) { 19532 var auth = "null"; 19533 //if(this.cookieService.check( 'info')){ 19534 if (localStorage.getItem("info") != null) { 19535 var auth = "Bearer " + localStorage.getItem("token"); 19536 } 19537 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19538 "app-id": "opac", 19539 selectedlibrary: this.tenantLocId, 19540 tenant: this.tetent, 19541 configuration: this.confiGurationSetting, 19542 Authorization: auth, 19543 }); 19544 if (exploreId) { 19545 exploreId = "&exp-btn-id=" + 19546 exploreId; 19547 } 19548 else { 19549 exploreId = ''; 19550 } 19551 return this.http 19552 .get(this.apiUrl + 19553 "resource/list/page?cacheKey=" + 19554 cache + 19555 "&size=" + 19556 size + 19557 "&offset=" + 19558 offset + 19559 "&order=" + 19560 sortBy + 19561 "&descending=" + 19562 descending + 19563 "&facets=" + 19564 facets + exploreId, { headers: headers, observe: 'response' }) 19565 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19566 this.setLastSearch("resource/list/page?cacheKey=" + 19567 cache + 19568 "&size=" + 19569 size + 19570 "&offset=" + 19571 offset + 19572 "&order=" + 19573 sortBy + 19574 "&descending=" + 19575 descending + exploreId); 19576 if (response.headers.get('Session-Id')) { 19577 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19578 } 19579 this.authService.setIdleTimer(); 19580 return response.body; 19581 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19582 } 19583 /* Get norrow result from new result*/ 19584 newNorrowResult(sortBy, descending, cache, size, offset, facets) { 19585 var auth = "null"; 19586
19586//if(this.cookieService.check( 'info')){ 19587 if (localStorage.getItem("info") != null) { 19588 var auth = "Bearer " + localStorage.getItem("token"); 19589 } 19590 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19591 "app-id": "opac", 19592 selectedlibrary: this.tenantLocId, 19593 tenant: this.tetent, 19594 configuration: this.confiGurationSetting, 19595 Authorization: auth, 19596 }); 19597 return this.http 19598 .get(this.apiUrl + 19599 "resource/list/new?cacheKey=" + 19600 cache + 19601 "&size=" + 19602 size + 19603 "&offset=" + 19604 offset + 19605 "&order=" + 19606 sortBy + 19607 "&descending=" + 19608 descending + 19609 "&facets=" + 19610 facets, { headers: headers, observe: 'response' }) 19611 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19612 this.setLastSearch("resource/list/new?cacheKey=" + 19613 cache + 19614 "&size=" + 19615 size + 19616 "&offset=" + 19617 offset + 19618 "&order=" + 19619 sortBy + 19620 "&descending=" + 19621 descending + 19622 "&facets=" + 19623 facets); 19624 if (response.headers.get('Session-Id')) { 19625 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19626 } 19627 this.authService.setIdleTimer(); 19628 return response.body; 19629 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19630 } 19631 /* Get norrow result from popular result*/ 19632 popularNorrowResult(sortBy, descending, cache, size, offset, facets) { 19633 var auth = "null"; 19634 //if(this.cookieService.check( 'info')){ 19635 if (localStorage.getItem("info") != null) { 19636 var auth = "Bearer " + localStorage.getItem("token"); 19637 } 19638 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19639 "app-id": "opac", 19640 selectedlibrary: this.tenantLocId, 19641 tenant: this.tetent, 19642 configuration: this.confiGurationSetting, 19643 Authorization: auth, 19644 }); 19645 return this.http 19646 .get(this.apiUrl + 19647 "resource/list/popular?cacheKey=" + 19648 cache + 19649 "&size=" + 19650 size + 19651 "&offset=" + 19652 offset + 19653 "&order=" + 19654 sortBy + 19655 "&descending=" + 19656 descending + 19657 "&facets=" + 19658 facets, { headers: headers, observe: 'response' }) 19659 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19660 if (response.headers.get('Session-Id')) { 19661 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19662 } 19663 this.authService.setIdleTimer(); 19664 return response.body; 19665 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19666 } 19667 /* Get data for awards page */ 19668 getAwards() { 19669 var auth = "null"; 19670 //if(this.cookieService.check( 'info')){ 19671 if (localStorage.getItem("info") != null) { 19672 var auth = "Bearer " + localStorage.getItem("token"); 19673 } 19674 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19675 "app-id": "opac", 19676 selectedlibrary: this.tenantLocId, 19677 tenant: this.tetent, 19678 configuration: this.confiGurationSetting, 19679 Authorization: auth, 19680 }); 19681 return this.http.get(this.apiUrl + "award/menu", { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19682 if (response.headers.get('Session-Id')) { 19683 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19684 } 19685 this.authService.setIdleTimer(); 19686 return response.body; 19687 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19688 } 19689 /* Get data of events on moving calender next/previous*/ 19690 getEvents(yr, mnt) { 19691 var auth = "null"; 19692 //if(this.cookieService.check( 'info')){ 19693 if (localStorage.getItem("info") != null) { 19694 var auth = "Bearer " + localStorage.getItem("token"); 19695 } 19696 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19697 "app-id": "opac", 19698 selectedlibrary: this.tenantLocId, 19699 tenant: this.tetent, 19700 configuration: this.confiGurationSetting, 19701 Authorization: auth, 19702 }); 19703 return this.http 19704 .get(this.apiUrl + "widget/calendar?year=" + yr + "&month=" + mnt, { headers: headers, observe: 'response' }) 19705 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19706 if (response.headers.get('Session-Id')) { 19707 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19708 } 19709 this.authService.setIdleTimer(); 19710 return response.body; 19711 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19712 } 19713 /* get Resource detail data according to listID*/ 19714 getMainResourceDetail(cacheKey, listId, order, desc, eagerLoad, facets, auth) { 19715 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19716 "app-id": "opac", 19717 selectedlibrary: this.tenantLocId, 19718 tenant: this.tetent, 19719 configuration: this.confiGurationSetting, 19720 Authorization: "Bearer " + auth, 19721 }); 19722 return this.http 19723 .get(this.apiUrl + 19724 "resource/list/item?cacheKey=" + 19725 cacheKey + 19726 "&listItemId=" + 19727 listId + 19728 "&order=" + 19729 order + 19730 "&descending=" + 19731 desc + 19732 "&eagerLoad=" + 19733 eagerLoad + 19734 "&facets=" + 19735 facets, { headers: headers, observe: 'response' }) 19736 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19737 if (response.headers.get('Session-Id')) { 19738 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19739 } 19740 this.authService.setIdleTimer(); 19741 return response.body; 19742 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19743 } 19744 /* get Resource list data according to listID*/ 19745 getReviewResourceDetail(cacheKey, listId, catId, order, desc, eagerLoad) { 19746 var auth = "null"; 19747 //if(this.cookieService.check( 'info')){ 19748 if (localStorage.getItem("info") != null) { 19749 var auth = "Bearer " + localStorage.getItem("token"); 19750 } 19751 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19752 "app-id": "opac", 19753 selectedlibrary: this.tenantLocId, 19754 tenant: this.tetent, 19755 configuration: this.confiGurationSetting, 19756 Authorization: auth, 19757 }); 19758 return this.http 19759 .get(this.apiUrl + 19760 "resource/list/" + 19761 listId + 19762 "?cacheKey=" + 19763 cacheKey + 19764 "&listItemId=" + 19765 listId + 19766 "&order=" + 19767 order + 19768 "&descending=" + 19769 desc + 19770 "&eagerLoad=" + 19771 eagerLoad, { headers: headers, observe: 'response' }) 19772 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19773 if (response.headers.get('Session-Id')) { 19774 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19775 } 19776 this.authService.setIdleTimer(); 19777 return response.body; 19778 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19779 } 19780 /* function to fetch the data for detail page sections which have API end points in response */ 19781 dynamicLoadAPI(url) { 19782 var auth = "null"; 19783 //if(this.cookieService.check( 'info')){ 19784 if (localStorage.getItem("info") != null) { 19785 var auth = "Bearer " + localStorage.getItem("token"); 19786 } 19787 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19788 "app-id": "opac", 19789 selectedlibrary: this.tenantLocId, 19790 tenant: this.tetent, 19791 configuration: this.confiGurationSetting, 19792 Authorization: auth, 19793 }); 19794 return this.http.get(this.apiUrl + url.replace(/^\//, ''), { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19795 if (response.headers.get('Session-Id')) { 19796 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19797 } 19798 this.authService.setIdleTimer(); 19799 return response.body; 19800 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19801 } 19802 /* Get the data for shelf on detail page*/ 19803 getResourceShelf(resourceId, categoryId, call) { 19804 var auth = "null"; 19805 //if(this.cookieService.check( 'info')){ 19806 if (localStorage.getItem("info") != null) { 19807 var auth = "Bearer " + localStorage.getItem("token"); 19808 } 19809 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19810 "app-id": "opac", 19811 selectedlibrary: this.tenantLocId, 19812 tenant: this.tetent, 19813 configuration: this.confiGurationSetting, 19814 Authorization: auth, 19815 }); 19816 return this.http 19817 .get(this.apiUrl + 19818 "resource/shelf/" + 19819 resourceId + 19820 "?categoryId=" + 19821 categoryId + 19822 "&call=" + 19823 call, { headers: headers, observe: 'response' }) 19824 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19825 if (response.headers.get('Session-Id')) { 19826 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19827 } 19828 this.authService.setIdleTimer(); 19829 return response.body; 19830 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19831 } 19832 /* get data for the resource by th resource ID*/ 19833 getResourceDetailById(resourceId) { 19834 var auth = "null"; 19835 //if(this.cookieService.check( 'info')){ 19836 if (localStorage.getItem("info") != null) { 19837 var auth = "Bearer " + localStorage.getItem("token"); 19838 } 19839 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19840 "app-id": "opac", 19841 selectedlibrary: this.tenantLocId, 19842 tenant: this.tetent, 19843 configuration: this.confiGurationSetting, 19844 Authorization: auth, 19845 }); 19846 return this.http 19847 .get(this.apiUrl + "resource/" + resourceId, { headers: headers, observe: 'response' }) 19848 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19849 if (response.headers.get('Session-Id')) { 19850 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19851 } 19852 this.authService.setIdleTimer(); 19853 return response.body; 19854 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19855 } 19856 /* Fetch the data for availbales resources on detail page */
19857 getAvailableDetail(resourceId, category, callType) { 19858 var auth = "null"; 19859 //if(this.cookieService.check( 'info')){ 19860 if (localStorage.getItem("info") != null) { 19861 var auth = "Bearer " + localStorage.getItem("token"); 19862 } 19863 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19864 "app-id": "opac", 19865 selectedlibrary: this.tenantLocId, 19866 tenant: this.tetent, 19867 configuration: this.confiGurationSetting, 19868 Authorization: auth, 19869 }); 19870 return this.http 19871 .get(this.apiUrl + 19872 "resource/available/" + 19873 resourceId + 19874 "?categoryId=" + 19875 category + 19876 "&call=" + 19877 callType, { headers: headers, observe: 'response' }) 19878 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19879 if (response.headers.get('Session-Id')) { 19880 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19881 } 19882 this.authService.setIdleTimer(); 19883 return response.body; 19884 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19885 } 19886 /* get the data for explore page, Zero for the home page*/ 19887 getExploreData(pageId, exploreId) { 19888 var auth = "null"; 19889 var hidden = false; 19890 //if(this.cookieService.check( 'info')){ 19891 if (localStorage.getItem("info") != null) { 19892 var auth = "Bearer " + localStorage.getItem("token"); 19893 var hidden = true; 19894 } 19895 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19896 "app-id": "opac", 19897 selectedlibrary: this.tenantLocId, 19898 tenant: this.tetent, 19899 configuration: this.confiGurationSetting, 19900 Authorization: auth, 19901 }); 19902 if (exploreId) { 19903 exploreId = "&exp-btn-id=" + 19904 exploreId; 19905 } 19906 else { 19907 exploreId = ''; 19908 } 19909 return this.http 19910 .get(this.apiUrl + "explore/page/" + pageId + "?hidden=" + hidden + exploreId, { headers: headers, observe: 'response' }) 19911 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19912 if (response.headers.get('Session-Id')) { 19913 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19914 } 19915 this.authService.setIdleTimer(); 19916 return response.body; 19917 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19918 } 19919 getClickExploreBtn(exploreId) { 19920 var auth = "null"; 19921 var hidden = false; 19922 //if(this.cookieService.check( 'info')){ 19923 if (localStorage.getItem("info") != null) { 19924 var auth = "Bearer " + localStorage.getItem("token"); 19925 var hidden = true; 19926 } 19927 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19928 "app-id": "opac", 19929 selectedlibrary: this.tenantLocId, 19930 tenant: this.tetent, 19931 configuration: this.confiGurationSetting, 19932 Authorization: auth, 19933 }); 19934 if (exploreId) { 19935 exploreId = "exp-btn-id=" + 19936 exploreId; 19937 } 19938 else { 19939 exploreId = ''; 19940 } 19941 return this.http 19942 .get(this.apiUrl + "explore/click?" + exploreId, { headers: headers, observe: 'response' }) 19943 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19944 if (response.headers.get('Session-Id')) { 19945 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19946 } 19947 this.authService.setIdleTimer(); 19948 return response.body; 19949 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19950 } 19951 /* get the bullets list page*/ 19952 getBulletinsList() { 19953 var auth = "null"; 19954 //if(this.cookieService.check( 'info')){ 19955 if (localStorage.getItem("info") != null) { 19956 var auth = "Bearer " + localStorage.getItem("token"); 19957 } 19958 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19959 "app-id": "opac", 19960 selectedlibrary: this.tenantLocId, 19961 tenant: this.tetent, 19962 configuration: this.confiGurationSetting, 19963 Authorization: auth, 19964 }); 19965 return this.http 19966 .get(this.apiUrl + "bulletin/list?offset=0&size=9999", { headers: headers, observe: 'response' }) 19967 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19968 if (response.headers.get('Session-Id')) { 19969 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 19970 } 19971 this.authService.setIdleTimer(); 19972 return response.body; 19973 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 19974 } 19975 myList(auth, sortBy, descending, size, offset, exploreId) { 19976 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 19977 "app-id": "opac", 19978 selectedlibrary: this.tenantLocId, 19979 tenant: this.tetent, 19980 configuration: this.confiGurationSetting, 19981 Authorization: "Bearer " + auth, 19982 }); 19983 if (exploreId) { 19984 exploreId = "&exp-btn-id=" + 19985 exploreId; 19986 } 19987 else { 19988 exploreId = ''; 19989 } 19990 return this.http 19991 .get(this.apiUrl +
19992 "resource/list/personal?offset=0&size=" + 19993 size + 19994 "&order=" + 19995 sortBy + 19996 "&descending=" + 19997 descending + exploreId, { headers: headers, observe: 'response' }) 19998 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 19999 if (response.headers.get('Session-Id')) { 20000 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20001 } 20002 this.authService.setIdleTimer(); 20003 return response.body; 20004 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20005 } 20006 myListTemp(token, sortBy, descending, size, offset, exploreId) { 20007 var auth = "null"; 20008 //if(this.cookieService.check( 'info')){ 20009 if (localStorage.getItem("info") != null) { 20010 var auth = "Bearer " + localStorage.getItem("token"); 20011 } 20012 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20013 "app-id": "opac", 20014 selectedlibrary: this.tenantLocId, 20015 tenant: this.tetent, 20016 configuration: this.confiGurationSetting, 20017 Authorization: auth, 20018 }); 20019 if (exploreId) { 20020 exploreId = "&exp-btn-id=" + 20021 exploreId; 20022 } 20023 else { 20024 exploreId = ''; 20025 } 20026 return this.http 20027 .get(this.apiUrl + 20028 "resource/list/page?size=" + 20029 size + 20030 "&cacheKey=" + 20031 token + 20032 "&offset=0&order=" + 20033 sortBy + 20034 "&descending=" + 20035 descending + exploreId, { headers: headers, observe: 'response' }) 20036 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20037 if (response.headers.get('Session-Id')) { 20038 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20039 } 20040 this.authService.setIdleTimer(); 20041 return response.body; 20042 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20043 } 20044 getUnsubscribeEmail(unsubscribeEmail) { 20045 var auth = "null"; 20046 //if(this.cookieService.check('info')){ 20047 if (localStorage.getItem("info") != null) { 20048 var auth = "Bearer" + localStorage.getItem("token"); 20049 } 20050 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20051 "app-id": "opac", 20052 selectedlibrary: this.tenantLocId, 20053 tenant: this.tetent, 20054 configuration: this.confiGurationSetting, 20055 Authorization: auth, 20056 }); 20057 return this.http 20058 .get(this.apiUrl + "unsubscribe?u=" + unsubscribeEmail, { headers: headers, observe: 'response' }) 20059 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20060 if (response.headers.get('Session-Id')) { 20061 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20062 } 20063 this.authService.setIdleTimer(); 20064 return response.body; 20065 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20066 } 20067 getLibraryCard() { 20068 var auth = "null"; 20069 //if(this.cookieService.check( 'info')){ 20070 // if (localStorage.getItem('info') != null){ 20071 var auth = "Bearer " + localStorage.getItem("token"); 20072 //} 20073 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20074 "app-id": "opac", 20075 selectedlibrary: this.tenantLocId, 20076 tenant: this.tetent, 20077 configuration: this.confiGurationSetting, 20078 "Content-Type": "Access-Control-Allow-Origin", 20079 Authorization: auth, 20080 }); 20081 // console.log(headers); 20082 return this.http.get(this.apiUrl + "profile/librarycard", { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20083 if (response.headers.get('Session-Id')) { 20084 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20085 } 20086 this.authService.setIdleTimer(); 20087 return response.body; 20088 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => { return (0,rxjs__WEBPACK_IMPORTED_MODULE_7__.throwError)(error); })); 20089 } 20090 awardsList(awardYear, awardId, lowYear, highYear, size, order) { 20091 var auth = "null"; 20092 //if(this.cookieService.check( 'info')){ 20093 if (localStorage.getItem("info") != null) { 20094 var auth = "Bearer " + localStorage.getItem("token"); 20095 } 20096 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20097 "app-id": "opac", 20098 selectedlibrary: this.tenantLocId, 20099 tenant: this.tetent, 20100 configuration: this.confiGurationSetting, 20101 Authorization: auth, 20102 }); 20103 return this.http 20104 .get(this.apiUrl + 20105 "search/awards-honors?year=" + 20106 awardYear + 20107 "&award=" + 20108 awardId + 20109 "&low=" + 20110 lowYear + 20111 "&high=" + 20112 highYear + 20113 "&size=" + 20114 size + 20115 "&order=" + 20116 order + 20117 "&descending=true", { headers: headers, observe: 'response' }) 20118 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20119 if (response.headers.get('Session-Id')) { 20120 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20121 } 20122 this.authService.setIdleTimer(); 20123 return response.body; 20124 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20125 } 20126 /* set the selected location id from header dropdown*/ 20127 setLocationId(location) { 20128 this.tenantLocId = location.toString(); 20129 } 20130 /* get the selected location id*/ 20131 getLocationId() { 20132 return this.tenantLocId; 20133 } 20134 saveMyList(auth, selectedResourcesIds) { 20135 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20136 "app-id": "opac", 20137 selectedlibrary: this.tenantLocId, 20138 tenant: this.tetent, 20139 configuration: this.confiGurationSetting, 20140 "Content-Type": "application/json", 20141 Authorization: "Bearer " + auth, 20142 }); 20143 return this.http 20144 .post(this.apiUrl + "resource/collectionitem/addtopersonal", { name: "My List", resourceIds: selectedResourcesIds }, { headers: headers, observe: 'response' }) 20145 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20146 if (response.headers.get('Session-Id')) { 20147 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20148 } 20149 this.authService.setIdleTimer(); 20150 return response.body; 20151 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20152 } 20153 removeMyList(auth, selectedResourcesIds) { 20154 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20155 "app-id": "opac", 20156 selectedlibrary: this.tenantLocId, 20157 tenant: this.tetent, 20158 configuration: this.confiGurationSetting, 20159 "Content-Type": "application/json", 20160 Authorization: "Bearer " + auth, 20161 }); 20162 return this.http 20163 .post(this.apiUrl + "resource/collectionitem/removefrompersonal", { resourceId: selectedResourcesIds }, { headers: headers, observe: 'response' }) 20164 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20165 if (response.headers.get('Session-Id')) { 20166 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20167 } 20168 this.authService.setIdleTimer(); 20169 return response.body; 20170 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20171 } 20172 setLastSearch(url) { 20173 this.recentSearch = url; 20174 } 20175 getLastSearch() { 20176 return this.recentSearch; 20177 } 20178 reOrderWidgets(wid, newIndex, auth) { 20179 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20180 "app-id": "opac", 20181 selectedlibrary: this.tenantLocId, 20182 tenant: this.tetent, 20183 configuration: this.confiGurationSetting, 20184 Authorization: "Bearer " + auth, 20185 }); 20186 return this.http 20187 .post(this.apiUrl + "widget/settings/move/" + wid + "?position=" + newIndex, {}, { headers: headers, observe: 'response' }) 20188 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20189 if (response.headers.get('Session-Id')) { 20190 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20191 } 20192 this.authService.setIdleTimer(); 20193 return response.body; 20194 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20195 } 20196 clearListLogin(auth) { 20197 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20198 "app-id": "opac", 20199 selectedlibrary: this.tenantLocId, 20200 tenant: this.tetent, 20201 "Content-Type": "application/json", 20202 configuration: this.confiGurationSetting, 20203 Authorization: "Bearer " + auth, 20204 }); 20205 return this.http 20206 .post(this.apiUrl + "resource/collectionitem/clearpersonalcollection", {}, { headers: headers, observe: 'response' }) 20207 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20208 if (response.headers.get('Session-Id')) { 20209 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20210 } 20211 this.authService.setIdleTimer(); 20212 return response.body; 20213 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20214 } 20215 clearListTemp(cacheKey) { 20216 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20217 "app-id": "opac", 20218 selectedlibrary: this.tenantLocId, 20219 tenant: this.tetent, 20220 "Content-Type": "application/json", 20221 configuration: this.confiGurationSetting, 20222 }); 20223 return this.http 20224 .post(this.apiUrl + 20225 "resource/collectionitem/cleartemppersonalcollection?cachekey=" + 20226 cacheKey, {}, { headers: headers, observe: 'response' }) 20227 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20228 if (response.headers.get('Session-Id')) { 20229 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20230 } 20231 this.authService.setIdleTimer(); 20232 return response.body; 20233 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20234 } 20235 autoCompleteSuggestion(searchKeyWord, searchin) { 20236 var auth = "null"; 20237 //if(this.cookieService.check( 'info')){ 20238 if (localStorage.getItem("info") != null) { 20239 var auth = "Bearer " + localStorage.getItem("token"); 20240 } 20241 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20242 "app-id": "opac", 20243 locationId: this.tenantLocId, 20244 tenant: this.tetent, 20245 configuration: this.confiGurationSetting, 20246 Authorization: auth, 20247 }); 20248 return this.http 20249 .get(this.apiUrl + 20250 "resource/suggestion?searchby=" + 20251 searchin + 20252 "&term=" + 20253 searchKeyWord, { headers: headers, observe: 'response' }) 20254 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20255 if (response.headers.get('Session-Id')) { 20256 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20257 } 20258 this.authService.setIdleTimer(); 20259 return response.body; 20260 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20261 } 20262 getNewsBulletin(maxsize) { 20263 var auth = "null"; 20264 //if(this.cookieService.check( 'info')){ 20265 if (localStorage.getItem("info") != null) { 20266 var auth = "Bearer " + localStorage.getItem("token"); 20267 } 20268 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20269 "app-id": "opac", 20270 locationId: this.tenantLocId, 20271 tenant: this.tetent, 20272 configuration: this.confiGurationSetting, 20273 Authorization: auth, 20274 }); 20275 return this.http 20276 .get(this.apiUrl + "bulletin?size=" + maxsize, { headers: headers, observe: 'response' }) 20277 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20278 if (response.headers.get('Session-Id')) { 20279 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20280 } 20281 this.authService.setIdleTimer(); 20282 return response.body; 20283 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20284 } 20285 getNewsReviews(maxsize) { 20286 var auth = "null"; 20287 //if(this.cookieService.check( 'info')){ 20288 if (localStorage.getItem("info") != null) { 20289 var auth = "Bearer " + localStorage.getItem("token"); 20290 } 20291 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20292 "app-id": "opac", 20293 locationId: this.tenantLocId, 20294 tenant: this.tetent, 20295 configuration: this.confiGurationSetting, 20296 Authorization: auth, 20297 }); 20298 return this.http 20299 .get(this.apiUrl + "review/recent?size=" + maxsize, { headers: headers, observe: 'response' }) 20300 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20301 if (response.headers.get('Session-Id')) { 20302 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20303 } 20304 this.authService.setIdleTimer(); 20305 return response.body; 20306 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20307 } 20308 getNewsEvents(year, month) { 20309 var auth = "null"; 20310 //if(this.cookieService.check( 'info')){ 20311 if (localStorage.getItem("info") != null) { 20312 var auth = "Bearer " + localStorage.getItem("token"); 20313 } 20314 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20315 "app-id": "opac", 20316 locationId: this.tenantLocId, 20317 tenant: this.tetent, 20318 configuration: this.confiGurationSetting, 20319 Authorization: auth, 20320 }); 20321 return this.http 20322 .get(this.apiUrl + "calendar?year=" + year + "&month=" + month, { headers: headers, observe: 'response' }) 20323 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20324 if (response.headers.get('Session-Id')) { 20325 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20326 } 20327 this.authService.setIdleTimer(); 20328 return response.body; 20329 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20330 } 20331 getBulletinDetail(id) { 20332 var auth = "null"; 20333 //if(this.cookieService.check( 'info')){ 20334 if (localStorage.getItem("info") != null) { 20335 var auth = "Bearer " + localStorage.getItem("token"); 20336 } 20337 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20338 "app-id": "opac", 20339 locationId: this.tenantLocId, 20340 tenant: this.tetent, 20341 configuration: this.confiGurationSetting, 20342 Authorization: auth, 20343 }); 20344 return this.http.get(this.apiUrl + "bulletin/" + id, { headers: headers, observe: 'response' }).pi
20344pe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20345 if (response.headers.get('Session-Id')) { 20346 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20347 } 20348 this.authService.setIdleTimer(); 20349 return response.body; 20350 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20351 } 20352 getConfigList() { 20353 var auth = "null"; 20354 //if(this.cookieService.check( 'info')){ 20355 if (localStorage.getItem("info") != null) { 20356 var auth = "Bearer " + localStorage.getItem("token"); 20357 } 20358 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20359 "app-id": "opac", 20360 selectedlibrary: this.tenantLocId, 20361 tenant: this.tetent, 20362 configuration: this.confiGurationSetting, 20363 Authorization: auth, 20364 }); 20365 return this.http 20366 .get(this.apiUrl + "setting/config/all/", { headers: headers, observe: 'response' }) 20367 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20368 if (response.headers.get('Session-Id')) { 20369 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20370 } 20371 this.authService.setIdleTimer(); 20372 return response.body; 20373 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20374 } 20375 updateShareLinks(auth, fb, twr, pint, insta) { 20376 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20377 "app-id": "opac", 20378 selectedlibrary: this.tenantLocId, 20379 tenant: this.tetent, 20380 "Content-Type": "application/json", 20381 configuration: this.confiGurationSetting, 20382 Authorization: "Bearer " + auth, 20383 }); 20384 return this.http 20385 .post(this.apiUrl + "setting/footer/socialmedia", { facebook: fb, twitter: twr, instagram: pint, pinterest: insta }, { headers: headers, observe: 'response' }) 20386 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20387 if (response.headers.get('Session-Id')) { 20388 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20389 } 20390 this.authService.setIdleTimer(); 20391 return response.body; 20392 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20393 } 20394 updateFooterLinks(auth, links) { 20395 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20396 "app-id": "opac", 20397 selectedlibrary: this.tenantLocId, 20398 tenant: this.tetent, 20399 "Content-Type": "application/json", 20400 configuration: this.confiGurationSetting, 20401 Authorization: "Bearer " + auth, 20402 }); 20403 return this.http 20404 .post(this.apiUrl + "setting/footer/links", links, { headers: headers, observe: 'response' }) 20405 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20406 if (response.headers.get('Session-Id')) { 20407 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20408 } 20409 this.authService.setIdleTimer(); 20410 return response.body; 20411 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20412 } 20413 updateFooterContact(auth, phone, email, website) { 20414 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20415 "app-id": "opac", 20416 selectedlibrary: this.tenantLocId, 20417 tenant: this.tetent, 20418 "Content-Type": "application/json", 20419 configuration: this.confiGurationSetting, 20420 Authorization: "Bearer " + auth, 20421 }); 20422 return this.http 20423 .post(this.apiUrl + "setting/footer/contact", { email: email, phone: phone, web: website }, { headers: headers, observe: 'response' }) 20424 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20425 if (response.headers.get('Session-Id')) { 20426 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20427 } 20428 this.authService.setIdleTimer(); 20429 return response.body; 20430 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20431 } 20432 personalcollection(Ids, cacheKey) { 20433 var auth = "null"; 20434 //if (this.cookieService.check('info')) { 20435 if (localStorage.getItem("info") != null) { 20436 var auth = "Bearer " + localStorage.getItem("token"); 20437 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20438 "app-id": "opac", 20439 selectedlibrary: this.tenantLocId, 20440 tenant: this.tetent, 20441 configuration: this.confiGurationSetting, 20442 "Content-Type": "application/json", 20443 Authorization: auth, 20444 }); 20445 return this.http 20446 .post(this.apiUrl + "resource/collectionitem/addtopersonal", { name: "My List", resourceIds: Ids }, { headers: headers, observe: 'response' }) 20447 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20448 if (response.headers.get('Session-Id')) { 20449 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20450 } 20451 return response.body; 20452 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20453 } 20454 else { 20455 var auth = "null"; 20456 //if (this.cookieService.check('info')) { 20457 if (localStorage.getItem("info") != null) { 20458 var auth = "Bearer " + localStorage.getItem("token"); 20459 } 20460 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20461 selectedlibrary: this.tenantLocId, 20462 tenant: this.tetent, 20463 "Content-Type": "application/json", 20464 configuration: this.confiGurationSetting, 20465 Authorization: auth, 20466 }); 20467 return this.http 20468 .post(this.apiUrl + "resource/collectionitem/addtotemppersonalcollection", { resourceIds: Ids, cacheKey: cacheKey }, { headers: headers, observe: 'response' }) 20469 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20470 if (response.headers.get('Session-Id')) { 20471 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20472 } 20473 return response.body; 20474 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20475 } 20476 } 20477 removePersonalcollection(Id, cacheKey) { 20478 var auth = "null"; 20479 //if(this.cookieService.check( 'info')){ 20480 if (localStorage.getItem("info") != null) { 20481 var auth = "Bearer " + localStorage.getItem("token"); 20482 } 20483 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20484 selectedlibrary: this.tenantLocId, 20485 tenant: this.tetent, 20486 "Content-Type": "application/json", 20487 configuration: this.confiGurationSetting, 20488 Authorization: auth, 20489 }); 20490 return this.http 20491 .post(this.apiUrl + 20492 "resource/collectionitem/removefromtemppersonalcollection", { resourceIds: [Id], cacheKey: cacheKey }, { headers: headers, observe: 'response' }) 20493 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20494 if (response.headers.get('Session-Id')) { 20495 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20496 } 20497 this.authService.setIdleTimer(); 20498 return response.body; 20499 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20500 } 20501 //Rearrange bulletins 20502 rearrangeBulletin(orderArray, auth) { 20503 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20504 selectedlibrary: this.tenantLocId, 20505 tenant: this.tetent, 20506 "Content-Type": "application/json", 20507 configuration: this.confiGurationSetting, 20508 Authorization: "Bearer " + auth, 20509 }); 20510 return this.http 20511 .post(this.apiUrl + "bulletin/rearrange", orderArray, { headers: headers, observe: 'response' }) 20512 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20513 if (response.headers.get('Session-Id')) { 20514 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20515 } 20516 this.authService.setIdleTimer(); 20517 return response.body; 20518 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20519 } 20520 saveBulletin(bHeadline, bcontent, bLocation, bDate, auth) { 20521 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20522 tenant: this.tetent, 20523 "Content-Type": "application/json", 20524 configuration: this.confiGurationSetting, 20525 Authorization: "Bearer " + auth, 20526 }); 20527 return this.http 20528 .post(this.apiUrl + "bulletin/add", { 20529 locationId: bLocation, 20530 date: bDate, 20531 caption: bHeadline, 20532 content: bcontent, 20533 }, { headers: headers, observe: 'response' }) 20534 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20535 if (response.headers.get('Session-Id')) { 20536 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20537 } 20538 this.authService.setIdleTimer(); 20539 return response.body; 20540 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20541 } 20542 getBulletDelete(id, auth) { 20543 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20544 selectedlibrary: this.tenantLocId, 20545 tenant: this.tetent, 20546 configuration: this.confiGurationSetting, 20547 Authorization: "Bearer " + auth, 20548 }); 20549 return this.http 20550 .delete(this.apiUrl + "bulletin/delete/" + id, { headers: headers, observe: 'response' }) 20551 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20552 if (response.headers.get('Session-Id')) { 20553 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20554 } 20555 this.authService.setIdleTimer(); 20556 return response.body; 20557 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20558 } 20559 editBulletin(id, bHeadline, bcontent, bLocation, bDate, auth) { 20560 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20561 tenant: this.tetent, 20562 "Content-Type": "application/json", 20563 configuration: this.confiGurationSetting, 20564 Authorization: "Bearer " + auth, 20565 }); 20566 return this.http 20567 .post(this.apiUrl + "bulletin/edit", { 20568 id: id, 20569 locationId: bLocation, 20570 date: bDate, 20571 caption: bHeadline, 20572 content: bcontent, 20573 }, { headers: headers, observe: 'response' }) 20574 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20575 if (response.headers.get('Session-Id')) { 20576 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20577 } 20578 this.authService.setIdleTimer(); 20579 return response.body; 20580 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20581 } 20582 editResourseList(id, title, content, image, allLoations, published, auth) { 20583 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20584 selectedlibrary: this.tenantLocId, 20585 tenant: this.tetent, 20586 "Content-Type": "application/json", 20587 configuration: this.confiGurationSetting, 20588 Authorization: "Bearer " + auth, 20589 }); 20590 return this.http 20591 .post(this.apiUrl + "resource/readinglist/update", { 20592 id: id, 20593 name: title, 20594 description: content, 20595 AllLocations: allLoations, 20596 imageUrl: image, 20597 published: published, 20598 }, { headers: headers, observe: 'response' }) 20599 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20600 if (response.headers.get('Session-Id')) { 20601 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20602 } 20603 this.authService.setIdleTimer(); 20604 return response.body; 20605 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20606 } 20607 readingListImageUpload(formData, auth) { 20608 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20609 selectedlibrary: this.tenantLocId, 20610 tenant: this.tetent, 20611 configuration: this.confiGurationSetting, 20612 Authorization: "Bearer " + auth, 20613 }); 20614 return this.http 20615 .post(this.apiUrl + "resource/readinglist/image", formData, { headers: headers, observe: 'response' }) 20616 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20617 if (response.headers.get('Session-Id')) { 20618 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20619 } 20620 this.authService.setIdleTimer(); 20621 return response.body; 20622 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20623 } 20624 exploreImageUpload(formData, auth) { 20625 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20626 selectedlibrary: this.tenantLocId, 20627 tenant: this.tetent, 20628 configuration: this.confiGurationSetting, 20629 Authorization: "Bearer " + auth, 20630 }); 20631 return this.http 20632 .post(this.apiUrl + "explore/button/image/upload", formData, { headers: headers, observe: 'response' }) 20633 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20634 if (response.headers.get('Session-Id')) { 20635 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20636 } 20637 this.authService.setIdleTimer(); 20638 return response.body; 20639 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20640 } 20641 unpublishReadingList(id, auth) { 20642 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20643 selectedlibrary: this.tenantLocId, 20644 tenant: this.tetent, 20645 configuration: this.confiGurationSetting, 20646 Authorization: "Bearer " + auth, 20647 }); 20648 return this.http 20649 .post(this.apiUrl + "resource/readinglist/unpublish/" + id, [], { headers: headers, observe: 'response' }) 20650 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20651 if (response.headers.get('Session-Id')) { 20652 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20653 } 20654 this.authService.setIdleTimer(); 20655 return response.body; 20656 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20657 } 20658 deleteReadingList(id, auth) { 20659 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20660 tenant: this.tetent, 20661 configuration: this.confiGurationSetting, 20662 Authorization: "Bearer " + auth, 20663 }); 20664 return this.http 20665 .delete(this.apiUrl + "resource/readinglist/delete/" + id, { headers: hea
20665ders, observe: 'response' }) 20666 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20667 if (response.headers.get('Session-Id')) { 20668 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20669 } 20670 this.authService.setIdleTimer(); 20671 return response.body; 20672 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20673 } 20674 getReviewDetail(id) { 20675 var auth = "null"; 20676 //if(this.cookieService.check( 'info')){ 20677 if (localStorage.getItem("info") != null) { 20678 var auth = "Bearer " + localStorage.getItem("token"); 20679 } 20680 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20681 selectedlibrary: this.tenantLocId, 20682 "app-id": "opac", 20683 tenant: this.tetent, 20684 configuration: this.confiGurationSetting, 20685 Authorization: auth, 20686 }); 20687 return this.http.get(this.apiUrl + "review/detail/" + id, { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20688 if (response.headers.get('Session-Id')) { 20689 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20690 } 20691 this.authService.setIdleTimer(); 20692 return response.body; 20693 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20694 } 20695 getReviewCategories() { 20696 var auth = "null"; 20697 //if(this.cookieService.check( 'info')){ 20698 if (localStorage.getItem("info") != null) { 20699 var auth = "Bearer " + localStorage.getItem("token"); 20700 } 20701 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20702 selectedlibrary: this.tenantLocId, 20703 "app-id": "opac", 20704 tenant: this.tetent, 20705 configuration: this.confiGurationSetting, 20706 Authorization: auth, 20707 }); 20708 return this.http.get(this.apiUrl + "review/categories", { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20709 if (response.headers.get('Session-Id')) { 20710 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20711 } 20712 this.authService.setIdleTimer(); 20713 return response.body; 20714 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20715 } 20716 addReview(resourceId, patronId, title, author, ratingStar, reviewText, reviewer, categories, auth) { 20717 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20718 selectedlibrary: this.tenantLocId, 20719 tenant: this.tetent, 20720 configuration: this.confiGurationSetting, 20721 Authorization: "Bearer " + auth, 20722 }); 20723 if (auth == null) { 20724 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20725 selectedlibrary: this.tenantLocId, 20726 tenant: this.tetent, 20727 configuration: this.confiGurationSetting, 20728 }); 20729 } 20730 return this.http 20731 .post(this.apiUrl + "review/add", { 20732 resourceId: resourceId, 20733 patronId: patronId, 20734 title: title, 20735 author: author, 20736 ratingStar: ratingStar, 20737 reviewText: reviewText, 20738 reviewer: reviewer, 20739 categories: categories, 20740 }, { headers: headers, observe: 'response' }) 20741 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20742 if (response.headers.get('Session-Id')) { 20743 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20744 } 20745 this.authService.setIdleTimer(); 20746 return response.body; 20747 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20748 } 20749 editReview(Id, ratingStar, reviewText, reviewPublished, reviewer, categories, auth) { 20750 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20751 selectedlibrary: this.tenantLocId, 20752 tenant: this.tetent, 20753 configuration: this.confiGurationSetting, 20754 Authorization: "Bearer " + auth, 20755 }); 20756 return this.http 20757 .post(this.apiUrl + "review/edit", { 20758 id: Id, 20759 reviewer: reviewer, 20760 ratingStar: ratingStar, 20761 reviewText: reviewText, 20762 categories: categories, 20763 published: reviewPublished, 20764 }, { headers: headers, observe: 'response' }) 20765 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20766 if (response.headers.get('Session-Id')) { 20767 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20768 } 20769 this.authService.setIdleTimer(); 20770 return response.body; 20771 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20772 } 20773 deleteReview(id, auth) { 20774 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20775 tenant: this.tetent, 20776 configuration: this.confiGurationSetting, 20777 Authorization: "Bearer " + auth, 20778 "Content-Type": "application/json", 20779 selectedlibrary: this.tenantLocId, 20780 }); 20781 return this.http 20782 .delete(this.apiUrl + "review/delete/" + id, { headers: headers, observe: 'response' }) 20783 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20784 if (response.headers.get('Session-Id')) { 20785 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20786 } 20787 this.authService.setIdleTimer(); 20788 return response.body; 20789 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20790 } 20791 getPublishedReadingLists(auth) { 20792 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20793 selectedlibrary: this.tenantLocId, 20794 "app-id": "opac", 20795 tenant: this.tetent, 20796 configuration: this.confiGurationSetting, 20797 "Content-Type": "application/json", 20798 Authorization: "Bearer " + auth, 20799 }); 20800 return this.http 20801 .get(this.apiUrl + "resource/publishedreadinglists", { headers: headers, observe: 'response' }) 20802 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20803 if (response.headers.get('Session-Id')) { 20804 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20805 } 20806 this.authService.setIdleTimer(); 20807 return response.body; 20808 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20809 } 20810 getReadingListsDetail(id, auth) { 20811 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20812 selectedlibrary: this.tenantLocId, 20813 "app-id": "opac", 20814 tenant: this.tetent, 20815 configuration: this.confiGurationSetting, 20816 "Content-Type": "application/json", 20817 Authorization: "Bearer " + auth, 20818 }); 20819 return this.http 20820 .get(this.apiUrl + "resource/readinglist/detail/" + id, { headers: headers, observe: 'response' }) 20821 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20822 if (response.headers.get('Session-Id')) { 20823 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20824 } 20825 this.authService.setIdleTimer(); 20826 return response.body; 20827 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20828 } 20829 publishToreadingList(existingCollectionId, operation, resourceIds, name, description, imageUrl, locationId, auth) { 20830 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20831 selectedlibrary: this.tenantLocId, 20832 tenant: this.tetent, 20833 configuration: this.confiGurationSetting, 20834 Authorization: "Bearer " + auth, 20835 "Content-Type": "application/json", 20836 }); 20837 return this.http 20838 .post(this.apiUrl + "resource/readinglist/publishtoreadinglist", { 20839 existingCollectionId: existingCollectionId, 20840 operation: operation, 20841 resourceIds: resourceIds, 20842 name: name, 20843 description: description, 20844 imageUrl: imageUrl, 20845 locationId: locationId, 20846 }, { headers: headers, observe: 'response' }) 20847 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20848 if (response.headers.get('Session-Id')) { 20849 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20850 } 20851 this.authService.setIdleTimer(); 20852 return response.body; 20853 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20854 } 20855 publishToNewInLibrary(existingCollectionId, operation, resourceIds, name, auth) { 20856 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20857 selectedlibrary: this.tenantLocId, 20858 tenant: this.tetent, 20859 configuration: this.confiGurationSetting, 20860 Authorization: "Bearer " + auth, 20861 "Content-Type": "application/json", 20862 }); 20863 return this.http 20864 .post(this.apiUrl + "resource/readinglist/publishtoreadinglist", { 20865 existingCollectionId: existingCollectionId, 20866 operation: operation, 20867 resourceIds: resourceIds, 20868 name: name, 20869 }, { headers: headers, observe: 'response' }) 20870 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20871 if (response.headers.get('Session-Id')) { 20872 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20873 } 20874 this.authService.setIdleTimer(); 20875 return response.body; 20876 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20877 } 20878 publishToNewList(resourceIds, name, description, imageUrl, locationId, auth) { 20879 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20880 selectedlibrary: this.tenantLocId, 20881 tenant: this.tetent, 20882 configuration: this.confiGurationSetting, 20883 Authorization: "Bearer " + auth, 20884 "Content-Type": "application/json", 20885 }); 20886 return this.http 20887 .post(this.apiUrl + "resource/readinglist/publishtonew", { 20888 name: name, 20889 description: description, 20890 imageUrl: imageUrl, 20891 locationId: locationId, 20892 resourceIds: resourceIds, 20893 }, { headers: headers, observe: 'response' }) 20894 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20895 if (response.headers.get('Session-Id')) { 20896 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20897 } 20898 this.authService.setIdleTimer(); 20899 return response.body; 20900 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20901 } 20902 isReviewedByPatron(auth, id) { 20903 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20904 selectedlibrary: this.tenantLocId, 20905 "app-id": "opac", 20906 tenant: this.tetent, 20907 configuration: this.confiGurationSetting, 20908 "Content-Type": "application/json", 20909 Authorization: "Bearer " + auth, 20910 }); 20911 return this.http 20912 .get(this.apiUrl + "review/isreviewedbycurrentpatron/" + id, { headers: headers, observe: 'response' }) 20913 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20914 if (response.headers.get('Session-Id')) { 20915 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20916 } 20917 this.authService.setIdleTimer(); 20918 return response.body; 20919 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20920 } 20921 getAccountDetail(auth, sortBy, order) { 20922 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20923 selectedlibrary: this.tenantLocId, 20924 "app-id": "opac", 20925 tenant: this.tetent, 20926 configuration: this.confiGurationSetting, 20927 "Content-Type": "application/json", 20928 Authorization: "Bearer " + auth, 20929 }); 20930 return this.http
20931 .get(this.apiUrl + "account/status?sortBy=" + sortBy + "&order=" + order, { headers: headers, observe: 'response' }) 20932 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20933 if (response.headers.get('Session-Id')) { 20934 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20935 } 20936 this.authService.setIdleTimer(); 20937 return response.body; 20938 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20939 } 20940 getAccountHistory(auth, listSize, offSet, sortBy, order) { 20941 var string = ""; 20942 if (offSet != 0) { 20943 string = 20944 "?offset=" + 20945 offSet + 20946 "&size=" + 20947 listSize + 20948 "&sortBy=" + 20949 sortBy + 20950 "&order=" + 20951 order; 20952 } 20953 if (offSet == 0) { 20954 string = "?&sortBy=" + sortBy + "&order=" + order; 20955 } 20956 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20957 selectedlibrary: this.tenantLocId, 20958 "app-id": "opac", 20959 tenant: this.tetent, 20960 configuration: this.confiGurationSetting, 20961 "Content-Type": "application/json", 20962 Authorization: "Bearer " + auth, 20963 }); 20964 return this.http 20965 .get(this.apiUrl + "account/history" + string, { headers: headers, observe: 'response' }) 20966 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20967 if (response.headers.get('Session-Id')) { 20968 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20969 } 20970 this.authService.setIdleTimer(); 20971 return response.body; 20972 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20973 } 20974 getSortHistory(auth, sortBy, listSize, offSet) { 20975 var string = ""; 20976 string = "?offset=" + offSet + "&size=" + listSize + "&sortBy=" + sortBy; 20977 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20978 selectedlibrary: this.tenantLocId, 20979 "app-id": "opac", 20980 tenant: this.tetent, 20981 configuration: this.confiGurationSetting, 20982 "Content-Type": "application/json", 20983 Authorization: "Bearer " + auth, 20984 }); 20985 return this.http 20986 .get(this.apiUrl + "account/history" + string, { headers: headers, observe: 'response' }) 20987 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 20988 if (response.headers.get('Session-Id')) { 20989 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 20990 } 20991 this.authService.setIdleTimer(); 20992 return response.body; 20993 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 20994 } 20995 publishReview(reviewId, auth) { 20996 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 20997 selectedlibrary: this.tenantLocId, 20998 tenant: this.tetent, 20999 configuration: this.confiGurationSetting, 21000 Authorization: "Bearer " + auth, 21001 "Content-Type": "application/json", 21002 }); 21003 return this.http 21004 .post(this.apiUrl + "review/edit/publishstatus/" + reviewId, {}, { headers: headers, observe: 'response' }) 21005 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21006 if (response.headers.get('Session-Id')) { 21007 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21008 } 21009 this.authService.setIdleTimer(); 21010 return response.body; 21011 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21012 } 21013 addStarRating(resourceId, starRating, patronId = null, auth) { 21014 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21015 selectedlibrary: this.tenantLocId, 21016 tenant: this.tetent, 21017 configuration: this.confiGurationSetting, 21018 "Content-Type": "application/json", 21019 Authorization: "Bearer " + auth, 21020 }); 21021 return this.http 21022 .post(this.apiUrl + "review/rating/add", { patronId: patronId, resourceId: resourceId, star: starRating }, { headers: headers, observe: 'response' }) 21023 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21024 if (response.headers.get('Session-Id')) { 21025 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21026 } 21027 this.authService.setIdleTimer(); 21028 return response.body; 21029 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21030 } 21031 titleRenew(sessionId, cirOutId, auth) { 21032 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21033 selectedlibrary: this.tenantLocId, 21034 tenant: this.tetent, 21035 configuration: this.confiGurationSetting, 21036 "Content-Type": "application/json", 21037 Authorization: "Bearer " + auth, 21038 }); 21039 return this.http 21040 .post(this.apiUrl + "account/renew", { 21041 sessionId: sessionId, 21042 circOutId: cirOutId, 21043 }, { headers: headers, observe: 'response' }) 21044 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21045 if (response.headers.get('Session-Id')) { 21046 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21047 } 21048 this.authService.setIdleTimer(); 21049 return response.body; 21050 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21051 } 21052 cancelHoldAccount(circHoldId, auth) { 21053 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21054 selectedlibrary: this.tenantLocId, 21055 tenant: this.tetent, 21056 configuration: this.confiGurationSetting, 21057 "Content-Type": "application/json", 21058 Authorization: "Bearer " + auth, 21059 }); 21060 return this.http 21061 .post(this.apiUrl + "account/holdcancel", { 21062 circHoldId: circHoldId, 21063 }, { headers: headers, observe: 'response' }) 21064 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21065 if (response.headers.get('Session-Id')) { 21066 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21067 } 21068 this.authService.setIdleTimer(); 21069 return response.body; 21070 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21071 } 21072 holdResource(sessionId, resourceId, desiredDate, auth) { 21073 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21074 selectedlibrary: this.tenantLocId, 21075 tenant: this.tetent, 21076 configuration: this.confiGurationSetting, 21077 "Content-Type": "application/json", 21078 Authorization: "Bearer " + auth, 21079 }); 21080 return this.http 21081 .post(this.apiUrl + "account/hold", { 21082 sessionId: sessionId, 21083 resourceId: resourceId,
21084 desired: desiredDate, 21085 }, { headers: headers, observe: 'response' }) 21086 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21087 if (response.headers.get('Session-Id')) { 21088 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21089 } 21090 this.authService.setIdleTimer(); 21091 return response.body; 21092 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21093 } 21094 reOrderExploreButtons(wid, newIndex, auth, pageId) { 21095 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21096 selectedlibrary: this.tenantLocId, 21097 tenant: this.tetent, 21098 configuration: this.confiGurationSetting, 21099 "Content-Type": "application/json", 21100 Authorization: "Bearer " + auth, 21101 }); 21102 return this.http 21103 .get(this.apiUrl + 21104 "explore/button/move?id=" + 21105 wid + 21106 "&position=" + 21107 newIndex + 21108 "&pageId=" + 21109 pageId, { headers: headers, observe: 'response' }) 21110 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21111 if (response.headers.get('Session-Id')) { 21112 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21113 } 21114 this.authService.setIdleTimer(); 21115 return response.body; 21116 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21117 } 21118 exploreButtonsPublish(wid, status, auth) { 21119 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21120 selectedlibrary: this.tenantLocId, 21121 tenant: this.tetent, 21122 configuration: this.confiGurationSetting, 21123 "Content-Type": "application/json", 21124 Authorization: "Bearer " + auth, 21125 }); 21126 return this.http 21127 .get(this.apiUrl + "explore/button/hide?id=" + wid + "&hide=" + status, { headers: headers, observe: 'response' }) 21128 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21129 if (response.headers.get('Session-Id')) { 21130 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21131 } 21132 this.authService.setIdleTimer(); 21133 return response.body; 21134 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21135 } 21136 exploreButtonsDelete(wid, auth) { 21137 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21138 selectedlibrary: this.tenantLocId, 21139 tenant: this.tetent, 21140 configuration: this.confiGurationSetting, 21141 "Content-Type": "application/json", 21142 Authorization: "Bearer " + auth, 21143 }); 21144 return this.http 21145 .delete(this.apiUrl + "explore/button/delete?id=" + wid, { headers: headers, observe: 'response' }) 21146 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21147 if (response.headers.get('Session-Id')) { 21148 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21149 } 21150 this.authService.setIdleTimer(); 21151 return response.body; 21152 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21153 } 21154 printFormat(cacheKey, facets, type) { 21155 var auth = "null"; 21156 //if(this.cookieService.check( 'info')){ 21157 if (localStorage.getItem("info") != null) { 21158 var auth = "Bearer " + localStorage.getItem("token"); 21159 } 21160 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21161 selectedlibrary: this.tenantLocId, 21162 tenant: this.tetent, 21163 configuration: this.confiGurationSetting, 21164 Authorization: "Bearer " + auth, 21165 }); 21166 return this.http 21167 .get(this.apiUrl + 21168 "resource/list/bibliography?cacheKey=" + 21169 cacheKey + 21170 "&type=" + 21171 type + 21172 "&facets=" + 21173 facets, { headers: headers, observe: 'response' }) 21174 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21175 if (response.headers.get('Session-Id')) { 21176 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21177 } 21178 this.authService.setIdleTimer(); 21179 return response.body; 21180 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21181 } 21182 getExploreImage() { 21183 var auth = "null"; 21184 //if(this.cookieService.check( 'info')){ 21185 if (localStorage.getItem("info") != null) { 21186 var auth = "Bearer " + localStorage.getItem("token"); 21187 } 21188 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21189 selectedlibrary: this.tenantLocId, 21190 tenant: this.tetent, 21191 configuration: this.confiGurationSetting, 21192 Authorization: "Bearer " + auth, 21193 }); 21194 return this.http 21195 .get(this.apiUrl + "explore/button/images/style", { headers: headers, observe: 'response' }) 21196 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21197 if (response.headers.get('Session-Id')) { 21198 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21199 } 21200 this.authService.setIdleTimer(); 21201 return response.body; 21202 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21203 } 21204 getExploreCustomImage() { 21205 var auth = "null"; 21206 //if(this.cookieService.check( 'info')){ 21207 if (localStorage.getItem("info") != null) { 21208 var auth = "Bearer " + localStorage.getItem("token"); 21209 } 21210 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21211 selectedlibrary: this.tenantLocId, 21212 tenant: this.tetent, 21213 configuration: this.confiGurationSetting, 21214 Authorization: "Bearer " + auth, 21215 }); 21216 return this.http 21217 .get(this.apiUrl + "explore/button/images", { headers: headers, observe: 'response' }) 21218 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21219 if (response.headers.get('Session-Id')) { 21220 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21221 } 21222 this.authService.setIdleTimer(); 21223 return response.body; 21224 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21225 } 21226 getExplorePages() { 21227 var auth = "null"; 21228 //if(this.cookieService.check( 'info')){ 21229 if (localStorage.getItem("info") != null) { 21230 var auth = "Bearer " + localStorage.getItem("token"); 21231 } 21232 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21233 selectedlibrary: this.tenantLocId, 21234 tenant: this.tetent, 21235 configuration: this.confiGurationSetting, 21236 Authorization: "Bearer " + auth, 21237 }); 21238 return this.http.get(this.apiUrl + "explore/pagelist", { headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21239 if (response.headers.get('Session-Id')) { 21240 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21241 } 21242 this.authService.setIdleTimer(); 21243 return response.body; 21244 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21245 } 21246 saveExploreButton(buttonId, pageId, title, visible, actionType, target, image, pageName) { 21247 var auth = "null"; 21248 //if(this.cookieService.check( 'info')){ 21249 if (localStorage.getItem("info") != null) { 21250 var auth = "Bearer " + localStorage.getItem("token"); 21251 } 21252 var reqData = { 21253 id: buttonId, 21254 opacExplorePageId: pageId, 21255 caption: title, 21256 visible: visible, 21257 action: actionType, 21258 target: target, 21259 image: image, 21260 }; 21261 //console.log(actionType, target, "these are target"); 21262 if (actionType == "V" && target == "0") { 21263 reqData["pageName"] = pageName; 21264 //log(actionType, target, pageName, "these are target for"); 21265 } 21266 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21267 selectedlibrary: this.tenantLocId, 21268 tenant: this.tetent, 21269 configuration: this.confiGurationSetting, 21270 Authorization: "Bearer " + auth, 21271 }); 21272 return this.http 21273 .post(this.apiUrl + "explore/button/save", reqData, { headers: headers, observe: 'response' }) 21274 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21275 if (response.headers.get('Session-Id')) { 21276 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21277 } 21278 this.authService.setIdleTimer(); 21279 return response.body; 21280 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21281 } 21282 getExploreButtonStyle() { 21283 var auth = "null"; 21284 //if(this.cookieService.check( 'info')){ 21285 if (localStorage.getItem("info") != null) { 21286 var auth = "Bearer " + localStorage.getItem("token"); 21287 } 21288 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21289 selectedlibrary: this.tenantLocId, 21290 tenant: this.tetent, 21291 configuration: this.confiGurationSetting, 21292 Authorization: auth, 21293 }); 21294 return this.http 21295 .post(this.apiUrl + "explore/page/getgraphicstyle", [], { headers: headers, observe: 'response' }) 21296 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21297 if (response.headers.get('Session-Id')) { 21298 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21299 } 21300 this.authService.setIdleTimer(); 21301 return response.body; 21302 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21303 } 21304 updateButtonsStyles(style) { 21305 var auth = "null"; 21306 //if(this.cookieService.check( 'info')){ 21307 if (localStorage.getItem("info") != null) { 21308 var auth = "Bearer " + localStorage.getItem("token"); 21309 } 21310 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21311 selectedlibrary: this.tenantLocId, 21312 tenant: this.tetent, 21313 configuration: this.confiGurationSetting, 21314 "Content-Type": "application/json", 21315 Authorization: auth, 21316 }); 21317 return this.http 21318 .post(this.apiUrl + "explore/page/changegraphicstyle?value=" + style, [], { headers: headers, observe: 'response' }) 21319 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21320 if (response.headers.get('Session-Id')) { 21321 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21322 } 21323 this.authService.setIdleTimer(); 21324 return response.body; 21325 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21326 } 21327 getResourcesList(params) { 21328 var auth = "null"; 21329 //if(this.cookieService.check( 'info')){ 21330 if (localStorage.getItem("info") != null) { 21331 var auth = "Bearer " + localStorage.getItem("token"); 21332 //,'Authorization': auth 21333 } 21334 this.tenantLocId = this.cookieService.get("selectedlocation" + this.tetent); 21335 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21336 "app-id": "opac", 21337 selectedlibrary: this.tenantLocId, 21338 tenant: this.tetent, 21339 configuration: this.confiGurationSetting, 21340 Authorization: auth, 21341 }); 21342 let paramsData = params; 21343 return this.http.get(this.apiUrl + "resource/list", { params: paramsData, headers: headers, observe: 'response' }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21344 if (response.headers.get('Session-Id')) { 21345 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21346 } 21347 this.authService.setIdleTimer(); 21348 return response.body; 21349 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21350 } 21351 /* CSV file download */ 21352 getCSV(cache, facets) { 21353 var auth = "null"; 21354 //if(this.cookieService.check( 'info')){ 21355 if (localStorage.getItem("info") != null) { 21356 var auth = "Bearer " + localStorage.getItem("token"); 21357 } 21358 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21359 "Content-Type": "application/octet-stream", 21360 "app-id": "opac", 21361 selectedlibrary: this.tenantLocId, 21362 tenant: this.tetent, 21363 configuration: this.confiGurationSetting, 21364 Authorization: auth, 21365 }); 21366 return this.http 21367 .get(this.apiUrl + 21368 "resource/list/csv?cacheKey=" + 21369 cache + 21370 "&facets=" + 21371 facets, { headers, responseType: "blob" }) 21372 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21373 return response; 21374 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21375 } 21376 /* Marc file download */ 21377 getMarc(cache, facets) { 21378 var auth = "null"; 21379 //if(this.cookieService.check( 'info')){ 21380 if (localStorage.getItem("info") != null) { 21381 var auth = "Bearer " + localStorage.getItem("token"); 21382 } 21383 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21384 "Content-Type": "application/octet-stream", 21385 "app-id": "opac", 21386 selectedlibrary: this.tenantLocId, 21387 tenant: this.tetent, 21388 configuration: this.confiGurationSetting, 21389 Authorization: auth, 21390 }); 21391 return this.http 21392 .get(this.apiUrl +
21393 "resource/list/marc?cacheKey=" + 21394 cache + 21395 "&facets=" + 21396 facets, { headers, responseType: "blob" }) 21397 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21398 return response; 21399 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21400 } 21401 getEmail(cache, facets, type) { 21402 var auth = "null"; 21403 //if(this.cookieService.check( 'info')){ 21404 if (localStorage.getItem("info") != null) { 21405 var auth = "Bearer " + localStorage.getItem("token"); 21406 } 21407 this.tenantLocId = this.cookieService.get("selectedlocation" + this.tetent); 21408 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21409 "app-id": "opac", 21410 selectedlibrary: this.tenantLocId, 21411 tenant: this.tetent, 21412 configuration: this.confiGurationSetting, 21413 Authorization: auth, 21414 "Content-Type": "application/json", 21415 }); 21416 return this.http 21417 .post(this.apiUrl + 21418 "resource/list/email?cacheKey=" + 21419 cache + 21420 "&facets=" + 21421 facets + 21422 "&type=" + 21423 type, {}, { headers: headers, observe: 'response' }) 21424 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21425 if (response.headers.get('Session-Id')) { 21426 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21427 } 21428 this.authService.setIdleTimer(); 21429 return response.body; 21430 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21431 } 21432 updateTheme(auth, themeName) { 21433 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21434 "app-id": "opac", 21435 selectedlibrary: this.tenantLocId, 21436 tenant: this.tetent, 21437 configuration: this.confiGurationSetting, 21438 "Content-Type": "application/json", 21439 Authorization: "Bearer " + auth, 21440 }); 21441 return this.http 21442 .post(this.apiUrl + "setting/theme", { theme: themeName }, { headers: headers, observe: 'response' }) 21443 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21444 if (response.headers.get('Session-Id')) { 21445 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21446 } 21447 this.authService.setIdleTimer(); 21448 return response.body; 21449 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21450 } 21451 //currency format 21452 formatCurrency(cost) { 21453 var formatter; 21454 var formattedCost; 21455 var currency = this.globalRegionalSetting.data.currency; 21456 switch (currency) { 21457 case "$": 21458 formatter = new Intl.NumberFormat("en-US", { 21459 style: "currency", 21460 currency: "USD", 21461 }); 21462 cost = formatter.format(cost); 21463 break; 21464 case "€€": 21465 formatter = new Intl.NumberFormat("en-US", { 21466 style: "currency", 21467 currency: "EUR", 21468 }); 21469 cost = formatter.format(cost); 21470 break; 21471 case "£": 21472 formatter = new Intl.NumberFormat("en-US", { 21473 style: "currency", 21474 currency: "GBP", 21475 }); 21476 cost = formatter.format(cost); 21477 break; 21478 case "€": 21479 formatter = new Intl.NumberFormat("it-US", { 21480 style: "currency", 21481 currency: "EUR", 21482 }); 21483 cost = formatter.format(cost); 21484 break; 21485 case "₹": 21486 formatter = new Intl.NumberFormat("en-US", { 21487 style: "currency", 21488 currency: "INR", 21489 }); 21490 cost = formatter.format(cost); 21491 break; 21492 default: 21493 formatter = new Intl.NumberFormat("en-US", { 21494 style: "currency", 21495 currency: "USD", 21496 }); 21497 cost = formatter.format(cost); 21498 break; 21499 } 21500 return cost; 21501 } 21502 formatDate() { 21503 if (!this.globalRegionalSetting) { 21504 return "M/d/yyyy"; 21505 } 21506 var dateFormatGet = this.globalRegionalSetting.data.date; 21507 var dateFormat = "M/d/yyyy"; 21508 switch (dateFormatGet) { 21509 case "M/d/yyyy": 21510 dateFormat = "M/d/yyyy"; 21511 break; 21512 case "MM/dd/yyyy": 21513 dateFormat = "MM/dd/yyyy"; 21514 break; 21515 case "MM-dd-yyyy": 21516 dateFormat = "MM-dd-yyyy"; 21517 break; 21518 case "dd/MM/yyyy": 21519 dateFormat = "dd/MM/yyyy"; 21520 break; 21521 case "dd-MM-yyyy": 21522 dateFormat = "dd-MM-yyyy"; 21523 break; 21524 case "yyyy/MM/dd": 21525 dateFormat = "yyyy/MM/dd"; 21526 break; 21527 case "yyyy-MM-dd": 21528 dateFormat = "yyyy-MM-dd"; 21529 break; 21530 case "MM/dd/yy": 21531 dateFormat = "MM/dd/yy"; 21532 break; 21533 case "yy/MM/dd": 21534 dateFormat = "yy/MM/dd"; 21535 break; 21536 case "dd-MMM-yy": 21537 dateFormat = "dd-MMM-yy"; 21538 break; 21539 case "dddd, MMMM d, yyyy": 21540 dateFormat = "EEEE, MMMM d, yyyy"; 21541 break; 21542 case "MMMM d, yyyy": 21543 dateFormat = "MMMM d, yyyy"; 21544 break; 21545 case "dddd, d MMMM, yyyy": 21546 dateFormat = "EEEE, d MMMM, yyyy"; 21547 break; 21548 case "d MMMM, yyyy": 21549 dateFormat = "d MMMM, yyyy"; 21550 break; 21551 default: 21552 dateFormat = "MM/dd/yyyy"; 21553 break; 21554 } 21555 return dateFormat; 21556 } 21557 formatDateTime() { 21558 var date = this.formatDate(); 21559 var timeFormatGet = this.globalRegionalSetting.data.time; 21560 var timeformat = "h:mm a"; 21561 switch (timeFormatGet) { 21562 case "h:mm tt": 21563 timeformat = "h:mm a"; 21564 break; 21565 case "hh:mm tt": 21566 timeformat = "hh:mm a"; 21567 break; 21568 case "H:mm": 21569 timeformat = "H:mm"; 21570 break; 21571 case "HH:mm": 21572 timeformat = "HH:mm"; 21573 break; 21574 case "hh:mm:ss tt": 21575 timeformat = "hh:mm:ss a"; 21576 break; 21577 case "HH:mm:ss": 21578 timeformat = "HH:mm:ss"; 21579 break; 21580 } 21581 return date + " " + timeformat; 21582 } 21583 bgColor(patronId) { 21584 var colors = [ 21585 "bg-gray-dark", 21586 "bg-primary", 21587 "bg-info", 21588 "bg-success", 21589 "bg-mint", 21590 "bg-warning", 21591 "bg-danger", 21592 "bg-purple", 21593 "bg-pink", 21594 "bg-dark", 21595 ]; 21596 var number = patronId; 21597 var lastDigit = number.toString().slice(-1); 21598 return colors[lastDigit]; 21599 } 21600 initialName(name) { 21601 var result = ""; 21602 var tokens = name.split(/\s/); 21603 for (var i = 0; i < tokens.length; i++) { 21604 result += tokens[i].substring(0, 1).toUpperCase(); 21605 } 21606 return result; 21607 } 21608 getGlobalRegionalSetting() { 21609 return this.globalRegionalSetting; 21610 } 21611 getAuthorization(authToke) { 21612 // var authTok:any = 'null';
21613 // //if(this.cookieService.check( 'info')){ 21614 //if (localStorage.getItem('info') != null){ 21615 // var authTok:any = 'Bearer '+localStorage.getItem('token'); 21616 // } 21617 var authTok = authToke; 21618 return authTok; 21619 } 21620 // /* call the api to sorted data from History pages*/ 21621 // getSortHistory(auth, sortBy, listSize, offSet){ 21622 // var string = '' 21623 // string = '?offset='+offSet+'&size='+listSize+'&sortBy='+sortBy; 21624 // let headers = new HttpHeaders({'selectedlibrary': this.tenantLocId,'app-id' : 'opac','tenant': this.tetent, 'configuration' : this.confiGurationSetting,'Content-Type': 'application/json', 'Authorization' : 'Bearer '+auth}); 21625 // return this.http.get(this.apiUrl+'account/history'+string,{headers}).pipe( 21626 // map((response: HttpResponse<any>) => { 21627 // return response; 21628 // } 21629 // )); 21630 // } 21631 getAccountSort(auth, sortBy, offSet) { 21632 var string = ""; 21633 string = "?offset=" + offSet + "&sortBy=" + sortBy; 21634 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21635 selectedlibrary: this.tenantLocId, 21636 "app-id": "opac", 21637 tenant: this.tetent, 21638 configuration: this.confiGurationSetting, 21639 "Content-Type": "application/json", 21640 Authorization: "Bearer " + auth, 21641 }); 21642 return this.http 21643 .get(this.apiUrl + "account/status" + string, { headers: headers, observe: 'response' }) 21644 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21645 if (response.headers.get('Session-Id')) { 21646 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21647 } 21648 this.authService.setIdleTimer(); 21649 return response.body; 21650 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21651 } 21652 exploreDescription(pageId, description) { 21653 var auth = "null"; 21654 //if(this.cookieService.check( 'info')){ 21655 if (localStorage.getItem("info") != null) { 21656 var auth = "Bearer " + localStorage.getItem("token"); 21657 } 21658 var reqData = { 21659 id: pageId, 21660 description: description, 21661 }; 21662 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 21663 selectedlibrary: this.tenantLocId, 21664 tenant: this.tetent, 21665 configuration: this.confiGurationSetting, 21666 Authorization: auth, 21667 }); 21668 return this.http 21669 .post(this.apiUrl + "explore/page/description/add ", reqData, { headers: headers, observe: 'response' }) 21670 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21671 if (response.headers.get('Session-Id')) { 21672 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21673 } 21674 this.authService.setIdleTimer(); 21675 return response.body; 21676 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21677 } 21678 handleError(error) { 21679 if (error.status == 401) { 21680 this.authService.logoutSubject.next(true); 21681 return rxjs__WEBPACK_IMPORTED_MODULE_8__.EMPTY; 21682 } 21683 else { 21684 return (0,rxjs__WEBPACK_IMPORTED_MODULE_7__.throwError)(error); 21685 } 21686 } 21687}; 21688HomepageService.ctorParameters = () => [ 21689 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpClient }, 21690 { type: _angular_router__WEBPACK_IMPORTED_MODULE_9__.Router }, 21691 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_10__.CookieService }, 21692 { type: _auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService }, 21693 { type: _tenant_service__WEBPACK_IMPORTED_MODULE_2__.TenantService } 21694]; 21695HomepageService = __decorate([ 21696 (0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.Injectable)({ 21697 providedIn: "root", 21698 }) 21699], HomepageService); 21700 21701 21702 21703/***/ }), 21704 21705/***/ 56571: 21706/*!*********************************************!*\ 21707 !*** ./src/app/services/logging.service.ts ***! 21708 \*********************************************/ 21709/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 21710 21711"use strict"; 21712__webpack_require__.r(__webpack_exports__); 21713/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21714/* harmony export */ "AppMonitoringService": function() { return /* binding */ AppMonitoringService; }
21715/* harmony export */ }); 21716/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); 21717/* harmony import */ var _microsoft_applicationinsights_web__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @microsoft/applicationinsights-web */ 1940); 21718/* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/environments/environment */ 92340); 21719var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 21720 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 21721 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 21722 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 21723 return c > 3 && r && Object.defineProperty(target, key, r), r; 21724}; 21725 21726 21727 21728let AppMonitoringService = class AppMonitoringService { 21729 constructor() { 21730 this.appInsights = new _microsoft_applicationinsights_web__WEBPACK_IMPORTED_MODULE_1__.Initialization({ 21731 config: { 21732 instrumentationKey: src_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.appInsights.instrumentationKey, 21733 enableAutoRouteTracking: true // option to log all route changes 21734 } 21735 }); 21736 this.appInsights.loadAppInsights(); 21737 } 21738 logPageView(name, url) { 21739 // this.appInsights.trackPageView({ 21740 // name: name, 21741 // uri: url 21742 // }); 21743 } 21744 logEvent(name, properties) { 21745 this.appInsights.trackEvent({ name: name }, properties); 21746 } 21747 logMetric(name, average, properties) { 21748 // this.appInsights.trackMetric({ name: name, average: average }, properties); 21749 } 21750 logException(exception, severityLevel) { 21751 this.appInsights.trackException({ exception: exception, severityLevel: severityLevel }); 21752 } 21753 logTrace(message, properties) { 21754 // this.appInsights.trackTrace({ message: message}, properties); 21755 } 21756}; 21757AppMonitoringService.ctorParameters = () => []; 21758AppMonitoringService = __decorate([ 21759 (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({ 21760 providedIn: 'root' 21761 }) 21762], AppMonitoringService); 21763 21764 21765 21766/***/ }), 21767 21768/***/ 2112: 21769/*!****************************************************!*\ 21770 !*** ./src/app/services/previous-route.service.ts ***! 21771 \****************************************************/ 21772/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 21773 21774"use strict"; 21775__webpack_require__.r(__webpack_exports__); 21776/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21777/* harmony export */ "RouterExtService": function() { return /* binding */ RouterExtService; } 21778/* harmony export */ }); 21779/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 2316); 21780/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/router */ 71258); 21781var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 21782 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 21783 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 21784 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 21785 return c > 3 && r && Object.defineProperty(target, key, r), r; 21786}; 21787 21788 21789/** A router wrapper, adding extra functions. */ 21790let RouterExtService = class RouterExtService { 21791 constructor(router) { 21792 this.router = router; 21793 this.previousUrl = undefined; 21794 this.currentUrl = undefined; 21795 this.textUrl = undefined; 21796 this.exploreBrudcrumb = []; 21797 this.currentUrl = this.router.url; 21798 router.events.subscribe(event => { 21799 if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_0__.NavigationEnd) { 21800 this.previousUrl = this.currentUrl; 21801 this.currentUrl = event.url; 21802 if (this.previousUrl.indexOf('searchlist') >= 0) { 21803 this.previousUrl = '/recentlist/list'; 21804 } 21805 } 21806 }); 21807 }
21808 getPreviousUrl() { 21809 return this.previousUrl; 21810 } 21811 setTextUrl(urlTxt) { 21812 this.textUrl = urlTxt; 21813 } 21814 getTextUrl() { 21815 return this.textUrl; 21816 } 21817 setExploreBreadcrumb(brudcrumb) { 21818 this.exploreBrudcrumb = brudcrumb; 21819 } 21820 getExploreBreadcrumb() { 21821 return this.exploreBrudcrumb; 21822 } 21823}; 21824RouterExtService.ctorParameters = () => [ 21825 { type: _angular_router__WEBPACK_IMPORTED_MODULE_0__.Router } 21826]; 21827RouterExtService = __decorate([ 21828 (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__.Injectable)({ 21829 providedIn: 'root' 21830 }) 21831], RouterExtService); 21832 21833 21834 21835/***/ }), 21836 21837/***/ 84112: 21838/*!********************************************!*\ 21839 !*** ./src/app/services/search.service.ts ***! 21840 \********************************************/ 21841/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 21842 21843"use strict"; 21844__webpack_require__.r(__webpack_exports__); 21845/* harmony export */ __webpack_require__.d(__webpack_exports__, { 21846/* harmony export */ "SearchService": function() { return /* binding */ SearchService; } 21847/* harmony export */ }); 21848/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/core */ 2316); 21849/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common/http */ 53882); 21850/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 8117); 21851/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rxjs */ 45871); 21852/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ 33927); 21853/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs/operators */ 18293); 21854/* harmony import */ var _homepage_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./homepage.service */ 27150); 21855/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../environments/environment */ 92340); 21856/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 21857/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./auth.service */ 37556); 21858/* harmony import */ var _tenant_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tenant.service */ 62255); 21859var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 21860 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 21861 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 21862 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 21863 return c > 3 && r && Object.defineProperty(target, key, r), r; 21864}; 21865 21866 21867 21868 21869 21870 21871 21872 21873 21874let SearchService = class SearchService { 21875 constructor(http, homepageService, cookieService, authService, tenantService) { 21876 this.http = http; 21877 this.homepageService = homepageService; 21878 this.cookieService = cookieService; 21879 this.authService = authService; 21880 this.tenantService = tenantService; 21881 this.tetent = ''; 21882 this.confiGurationSetting = '*'; 21883 this.locationId = '*'; 21884 this.recentSearch = ''; 21885 this.recentCount = 0; 21886 this.apiUrl = _environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.apiUrl; 21887 this.tetent = this.tenantService.tenant; 21888 this.confiGurationSetting = this.tenantService.configurationSetting; 21889 this.locationId = this.homepageService.getLocationId(); 21890 } 21891 basicSearch(limitArray, term, srcin, resourceSID, exact, size, order, exploreId) { 21892 var limitString = ''; 21893 for (var key in limitArray) { 21894 limitString += '&' + key + '=' + limitArray[key]; 21895 }
21896 var auth = 'null'; 21897 //if(this.cookieService.check( 'info')){ 21898 if (localStorage.getItem('info') != null) { 21899 var auth = 'Bearer ' + localStorage.getItem('token'); 21900 //'Authorization': auth 21901 } 21902 this.locationId = this.homepageService.getLocationId(); 21903 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 21904 if (resourceSID != '' && typeof (resourceSID) != 'undefined') { 21905 return this.http.get(this.apiUrl + 'search/fieldValue?id=' + resourceSID + '&size=' + size + '&order=' + order, { headers: headers, observe: 'response' }) 21906 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21907 this.setLastSearch('search/fieldValue?id=' + resourceSID + '&size=' + size + '&order=' + order); 21908 if (response.headers.get('Session-Id')) { 21909 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21910 } 21911 return response.body; 21912 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21913 } 21914 else { 21915 if (term != '') { 21916 if (exploreId) { 21917 exploreId = "&exp-btn-id=" + 21918 exploreId; 21919 } 21920 else { 21921 exploreId = ''; 21922 } 21923 return this.http.get(this.apiUrl + 'search/base?size=' + size + '&term=' + term + '&in=' + srcin + '&exact=' + exact + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 21924 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21925 this.setLastSearch('search/base?size=' + size + '&term=' + term + '&in=' + srcin + '&exact=' + exact + limitString + '&order=' + order + exploreId); 21926 if (response.headers.get('Session-Id')) { 21927 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21928 } 21929 return response.body; 21930 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21931 } 21932 } 21933 } 21934 basicMarc(limitArray, term, srcin, exact, size, order, exploreId) { 21935 this.locationId = this.homepageService.getLocationId(); 21936 var limitString = ''; 21937 for (var key in limitArray) { 21938 limitString += '&' + key + '=' + limitArray[key]; 21939 } 21940 //console.log(limitString);
21941 var auth = 'null'; 21942 //if(this.cookieService.check( 'info')){ 21943 if (localStorage.getItem('info') != null) { 21944 var auth = 'Bearer ' + localStorage.getItem('token'); 21945 //,'Authorization': auth 21946 } 21947 if (exploreId) { 21948 exploreId = "&exp-btn-id=" + 21949 exploreId; 21950 } 21951 else { 21952 exploreId = ''; 21953 } 21954 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 21955 return this.http.get(this.apiUrl + 'search/marc?size=' + size + '&term=' + term + '&in=' + srcin + '&exact=' + exact + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 21956 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21957 this.setLastSearch('search/marc?size=' + size + '&term=' + term + '&in=' + srcin + '&exact=' + exact + limitString + '&order=' + order); 21958 if (response.headers.get('Session-Id')) { 21959 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21960 } 21961 return response.body; 21962 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21963 } 21964 basicCall(limitArray, callStart, callEnd, exact, listSize, order, exploreId) { 21965 this.locationId = this.homepageService.getLocationId(); 21966 var limitString = ''; 21967 for (var key in limitArray) { 21968 limitString += '&' + key + '=' + limitArray[key]; 21969 }
21970 var auth = 'null'; 21971 //if(this.cookieService.check( 'info')){ 21972 if (localStorage.getItem('info') != null) { 21973 var auth = 'Bearer ' + localStorage.getItem('token'); 21974 //,'Authorization': auth 21975 } 21976 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 21977 if (exploreId) { 21978 exploreId = "&exp-btn-id=" + 21979 exploreId; 21980 } 21981 else { 21982 exploreId = ''; 21983 } 21984 return this.http.get(this.apiUrl + 'search/call?start=' + callStart + '&end=' + callEnd + '&size=' + listSize + '&exact=false' + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 21985 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 21986 this.setLastSearch('search/call?start=' + callStart + '&end=' + callEnd + '&size=' + listSize + '&exact=false' + limitString + '&order=' + order); 21987 if (response.headers.get('Session-Id')) { 21988 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 21989 } 21990 return response.body; 21991 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 21992 } 21993 basicCategory(limitArray, categoryId, exact, listSize, order, exploreId) { 21994 this.locationId = this.homepageService.getLocationId(); 21995 var limitString = ''; 21996 for (var key in limitArray) { 21997 limitString += '&' + key + '=' + limitArray[key]; 21998 }
21999 var auth = 'null'; 22000 //if (this.cookieService.check('info')) { 22001 if (localStorage.getItem('info') != null) { 22002 var auth = 'Bearer ' + localStorage.getItem('token'); 22003 //,'Authorization': auth 22004 } 22005 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22006 if (exploreId) { 22007 exploreId = "&exp-btn-id=" + 22008 exploreId; 22009 } 22010 else { 22011 exploreId = ''; 22012 } 22013 return this.http.get(this.apiUrl + 'search/Category?categoryId=' + categoryId + '&size=' + listSize + '&exact=false' + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22014 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22015 this.setLastSearch('search/Category?categoryId=' + categoryId + '&size=' + listSize + '&exact=false' + limitString + '&order=' + order); 22016 if (response.headers.get('Session-Id')) { 22017 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22018 } 22019 this.authService.setIdleTimer(); 22020 return response.body; 22021 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22022 } 22023 basicBarcode(limitArray, callStart, callEnd, exact, listSize, order, exploreId) { 22024 this.locationId = this.homepageService.getLocationId(); 22025 var limitString = ''; 22026 for (var key in limitArray) { 22027 limitString += '&' + key + '=' + limitArray[key]; 22028 }
22029 var auth = 'null'; 22030 //if(this.cookieService.check( 'info')){ 22031 if (localStorage.getItem('info') != null) { 22032 var auth = 'Bearer ' + localStorage.getItem('token'); 22033 //,'Authorization': auth 22034 } 22035 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22036 if (exploreId) { 22037 exploreId = "&exp-btn-id=" + 22038 exploreId; 22039 } 22040 else { 22041 exploreId = ''; 22042 } 22043 return this.http.get(this.apiUrl + 'search/barcode?start=' + callStart + '&end=' + callEnd + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22044 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22045 this.setLastSearch('search/barcode?start=' + callStart + '&end=' + callEnd + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order); 22046 if (response.headers.get('Session-Id')) { 22047 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22048 } 22049 return response.body; 22050 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22051 } 22052 basicReadingCounts(limitArray, levelmin, levelmax, pointmin, pointmax, exact, listSize, order, exploreId) { 22053 this.locationId = this.homepageService.getLocationId(); 22054 var limitString = ''; 22055 for (var key in limitArray) { 22056 limitString += '&' + key + '=' + limitArray[key]; 22057 }
22058 var auth = 'null'; 22059 //if(this.cookieService.check( 'info')){ 22060 if (localStorage.getItem('info') != null) { 22061 var auth = 'Bearer ' + localStorage.getItem('token'); 22062 //,'Authorization': auth 22063 } 22064 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22065 if (exploreId) { 22066 exploreId = "&exp-btn-id=" + 22067 exploreId; 22068 } 22069 else { 22070 exploreId = ''; 22071 } 22072 return this.http.get(this.apiUrl + 'search/rc?levelmin=' + levelmin + '&levelmax=' + levelmax + '&pointmin=' + pointmin + '&pointmax=' + pointmax + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22073 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22074 this.setLastSearch('search/rc?levelmin=' + levelmin + '&levelmax=' + levelmax + '&pointmin=' + pointmin + '&pointmax=' + pointmax + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order); 22075 if (response.headers.get('Session-Id')) { 22076 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22077 } 22078 return response.body; 22079 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22080 } 22081 basicFountas(limitArray, levelmin, levelmax, exact, listSize, order, exploreId) { 22082 this.locationId = this.homepageService.getLocationId(); 22083 var limitString = ''; 22084 for (var key in limitArray) { 22085 limitString += '&' + key + '=' + limitArray[key]; 22086 }
22087 var auth = 'null'; 22088 //if (this.cookieService.check('info')) { 22089 if (localStorage.getItem('info') != null) { 22090 var auth = 'Bearer ' + localStorage.getItem('token'); 22091 //,'Authorization': auth 22092 } 22093 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22094 if (exploreId) { 22095 exploreId = "&exp-btn-id=" + 22096 exploreId; 22097 } 22098 else { 22099 exploreId = ''; 22100 } 22101 return this.http.get(this.apiUrl + 'search/fp?levelmin=' + levelmin + '&levelmax=' + levelmax + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22102 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22103 this.setLastSearch('search/fp?levelmin=' + levelmin + '&levelmax=' + levelmax + '&size=' + listSize + '&exact=' + exact + limitString + '&order=' + order); 22104 if (response.headers.get('Session-Id')) { 22105 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22106 } 22107 this.authService.setIdleTimer(); 22108 return response.body; 22109 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22110 } 22111 acceleratedReader(limitArray, levelmin, levelmax, pointmin, pointmax, Arlevel, listSize, order, exploreId) { 22112 this.locationId = this.homepageService.getLocationId(); 22113 var limitString = ''; 22114 for (var key in limitArray) { 22115 limitString += '&' + key + '=' + limitArray[key]; 22116 }
22117 var auth = 'null'; 22118 //if(this.cookieService.check( 'info')){ 22119 if (localStorage.getItem('info') != null) { 22120 var auth = 'Bearer ' + localStorage.getItem('token'); 22121 //,'Authorization': auth 22122 } 22123 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22124 if (exploreId) { 22125 exploreId = "&exp-btn-id=" + 22126 exploreId; 22127 } 22128 else { 22129 exploreId = ''; 22130 } 22131 return this.http.get(this.apiUrl + 'search/ar?size=' + listSize + '&levelmin=' + levelmin + '&levelmax=' + levelmax + '&pointmin=' + pointmin + '&pointmax=' + pointmax + '&int=' + Arlevel + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22132 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22133 this.setLastSearch('search/ar?size=' + listSize + '&levelmin=' + levelmin + '&levelmax=' + levelmax + '&pointmin=' + pointmin + '&pointmax=' + pointmax + '&int=' + Arlevel + limitString + '&order=' + order); 22134 if (response.headers.get('Session-Id')) { 22135 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22136 } 22137 return response.body; 22138 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22139 } 22140 Lexile(limitArray, levelmin, levelmax, pointmin, pointmax, listSize, order, exploreId) { 22141 this.locationId = this.homepageService.getLocationId(); 22142 var limitString = ''; 22143 for (var key in limitArray) { 22144 limitString += '&' + key + '=' + limitArray[key]; 22145 }
22146 var auth = 'null'; 22147 //if(this.cookieService.check( 'info')){ 22148 if (localStorage.getItem('info') != null) { 22149 var auth = 'Bearer ' + localStorage.getItem('token'); 22150 //,'Authorization': auth 22151 } 22152 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22153 if (exploreId) { 22154 exploreId = "&exp-btn-id=" + 22155 exploreId; 22156 } 22157 else { 22158 exploreId = ''; 22159 } 22160 return this.http.get(this.apiUrl + 'search/lexile?size=' + listSize + '&levelmin=' + levelmin + '&levelmax=' + levelmax + '&code=' + pointmin + '&patronType=' + pointmax + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22161 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22162 this.setLastSearch('search/lexile?size=' + listSize + '&levelmin=' + levelmin + '&levelmax=' + levelmax + '&code=' + pointmin + '&patronType=' + pointmax + limitString + '&order=' + order); 22163 if (response.headers.get('Session-Id')) { 22164 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22165 } 22166 return response.body; 22167 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22168 } 22169 booleanSearch(limitArray, parameters, listSize, order, exploreId) { 22170 this.locationId = this.homepageService.getLocationId(); 22171 var limitString = ''; 22172 for (var key in limitArray) { 22173 limitString += '&' + key + '=' + limitArray[key]; 22174 }
22175 var auth = 'null'; 22176 //if(this.cookieService.check( 'info')){ 22177 if (localStorage.getItem('info') != null) { 22178 var auth = 'Bearer ' + localStorage.getItem('token'); 22179 //,'Authorization': auth 22180 } 22181 if (exploreId) { 22182 exploreId = "&exp-btn-id=" + 22183 exploreId; 22184 } 22185 else { 22186 exploreId = ''; 22187 } 22188 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22189 return this.http.get(this.apiUrl + 'search/bool?' + 'size=' + listSize + '&' + parameters + limitString + '&order=' + order + exploreId, { headers: headers, observe: 'response' }) 22190 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22191 this.setLastSearch('search/bool?' + 'size=' + listSize + '&' + parameters + limitString + '&order=' + order + exploreId); 22192 if (response.headers.get('Session-Id')) { 22193 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22194 } 22195 return response.body; 22196 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22197 } 22198 popularandnewSearchSearch(period, psize, publish, order, auth) { 22199 this.locationId = this.homepageService.getLocationId(); 22200 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22201 return this.http.get(this.apiUrl + 'search/popular?age=' + period + '&publish=' + publish + '&size=' + psize + '&order=' + order, { headers: headers, observe: 'response' }) 22202 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22203 this.setLastSearch('search/popular?age=' + period + '&publish=' + publish + '&size=' + psize + '&order=' + order + '&desc=false'); 22204 if (response.headers.get('Session-Id')) { 22205 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22206 } 22207 return response.body; 22208 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22209 } 22210 newInLibrarySearchSearch(period, copies, ppublish, size, order, auth) { 22211 this.locationId = this.homepageService.getLocationId(); 22212 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22213 return this.http.get(this.apiUrl + 'search/new?count=' + period + '&newcopies=' + copies + '&publish=' + ppublish + '&order=' + order + '&desc=false' + '&size=' + size, { headers: headers, observe: 'response' }) 22214 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22215 this.setLastSearch('search/new?age=' + period + '&copies=' + copies + '&publish=' + ppublish + '&size=' + size + '&order' + order + '&desc=false'); 22216 if (response.headers.get('Session-Id')) { 22217 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22218 } 22219 return response.body; 22220 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22221 } 22222 getResourceSearchData(resourceId, listSize) { 22223 this.locationId = this.homepageService.getLocationId();
22224 var auth = 'null'; 22225 //if(this.cookieService.check( 'info')){ 22226 if (localStorage.getItem('info') != null) { 22227 var auth = 'Bearer ' + localStorage.getItem('token'); 22228 //,'Authorization': auth 22229 } 22230 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22231 return this.http.get(this.apiUrl + 'search/fieldValue?id=' + resourceId + '&size=' + listSize + '&offset=0', { headers: headers, observe: 'response' }) 22232 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22233 if (response.headers.get('Session-Id')) { 22234 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22235 } 22236 return response.body; 22237 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22238 } 22239 getExploreSearchData(url, size) { 22240 this.locationId = this.homepageService.getLocationId();
22241 var auth = 'null'; 22242 //if(this.cookieService.check( 'info')){ 22243 if (localStorage.getItem('info') != null) { 22244 var auth = 'Bearer ' + localStorage.getItem('token'); 22245 //,'Authorization': auth 22246 } 22247 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22248 return this.http.get(this.apiUrl + 'search/' + url + '&size=' + size, { headers: headers, observe: 'response' }) 22249 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22250 if (response.headers.get('Session-Id')) { 22251 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22252 } 22253 return response.body; 22254 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22255 } 22256 getResourceList(Id, size, sortBy, exploreId) { 22257 this.locationId = this.homepageService.getLocationId();
22258 var auth = 'null'; 22259 //if(this.cookieService.check( 'info')){ 22260 if (localStorage.getItem('info') != null) { 22261 var auth = 'Bearer ' + localStorage.getItem('token'); 22262 //,'Authorization': auth 22263 } 22264 if (exploreId) { 22265 exploreId = "&exp-btn-id=" + 22266 exploreId; 22267 } 22268 else { 22269 exploreId = ''; 22270 } 22271 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22272 return this.http.get(this.apiUrl + 'resource/list/' + Id + '?size=' + size + '&order=' + sortBy + exploreId, { headers: headers, observe: 'response' }) 22273 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22274 if (response.headers.get('Session-Id')) { 22275 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22276 } 22277 return response.body; 22278 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22279 } 22280 getSeriesSearchData(isbn, series, alltitles, size) { 22281 this.locationId = this.homepageService.getLocationId();
22282 var auth = 'null'; 22283 //if(this.cookieService.check( 'info')){ 22284 if (localStorage.getItem('info') != null) { 22285 var auth = 'Bearer ' + localStorage.getItem('token'); 22286 //,'Authorization': auth 22287 } 22288 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22289 return this.http.get(this.apiUrl + 'search/series/?isbn=' + isbn + '&series=' + series + '&alltitles=' + alltitles + '&size=' + size, { headers: headers, observe: 'response' }) 22290 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22291 if (response.headers.get('Session-Id')) { 22292 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22293 } 22294 return response.body; 22295 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22296 } 22297 getRecentSearch(RecentURL) { 22298 this.locationId = this.homepageService.getLocationId();
22299 var auth = 'null'; 22300 //if(this.cookieService.check( 'info')){ 22301 if (localStorage.getItem('info') != null) { 22302 var auth = 'Bearer ' + localStorage.getItem('token'); 22303 //,'Authorization': auth 22304 } 22305 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22306 return this.http.get(this.apiUrl + RecentURL, { headers: headers, observe: 'response' }) 22307 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22308 if (response.headers.get('Session-Id')) { 22309 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22310 } 22311 return response.body; 22312 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22313 } 22314 setLastSearch(url) { 22315 this.recentSearch = url; 22316 } 22317 getLastSearch() { 22318 return this.recentSearch; 22319 } 22320 getReviewSearch(reviewstatus, starrating, review_age, location, reviewer, reviewCategories, exploreId) {
22321 var auth = 'null'; 22322 //if(this.cookieService.check( 'info')){ 22323 if (localStorage.getItem('info') != null) { 22324 var auth = 'Bearer ' + localStorage.getItem('token'); 22325 //,'Authorization': auth 22326 } 22327 if (exploreId) { 22328 exploreId = "&exp-btn-id=" + 22329 exploreId; 22330 } 22331 else { 22332 exploreId = ''; 22333 } 22334 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.locationId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': auth }); 22335 return this.http.post(this.apiUrl + 'review/search?offset=0&size=9999' + exploreId, { 22336 "cacheKey": null, 22337 "publishStatus": reviewstatus, 22338 "minimumStar": starrating, 22339 "reviewAge": review_age, 22340 "categories": reviewCategories, 22341 "reviewer": reviewer, 22342 "offSet": 0, 22343 "size": 9999 22344 }, { headers: headers, observe: 'response' }) 22345 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.map)((response) => { 22346 if (response.headers.get('Session-Id')) { 22347 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22348 } 22349 return response.body; 22350 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.catchError)((error) => this.handleError(error))); 22351 } 22352 sortedImage(images) { 22353 //console.log('Sorted=='+images); 22354 var sources = ['OL', 'GB', 'MR', 'PQ', 'CM']; 22355 var sizes = ['xxs', 'xs', 's', 'm', 'l', 'xl']; 22356 var imagesAll = []; 22357 sources.forEach((src) => {
22358 sizes.forEach((evt) => { 22359 images.forEach((img) => { 22360 // console.log('=='+img); 22361 if (img.size == evt && img.source == src) { 22362 imagesAll.push(img.url); 22363 } 22364 }); 22365 }); 22366 }); 22367 return imagesAll; 22368 } 22369 handleError(error) { 22370 if (error.status == 401) { 22371 this.authService.logoutSubject.next(true); 22372 return rxjs__WEBPACK_IMPORTED_MODULE_7__.EMPTY; 22373 } 22374 else { 22375 return (0,rxjs__WEBPACK_IMPORTED_MODULE_8__.throwError)(error); 22376 } 22377 } 22378}; 22379SearchService.ctorParameters = () => [ 22380 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_4__.HttpClient }, 22381 { type: _homepage_service__WEBPACK_IMPORTED_MODULE_0__.HomepageService }, 22382 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 22383 { type: _auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService }, 22384 { type: _tenant_service__WEBPACK_IMPORTED_MODULE_3__.TenantService } 22385]; 22386SearchService = __decorate([ 22387 (0,_angular_core__WEBPACK_IMPORTED_MODULE_10__.Injectable)({ 22388 providedIn: 'root' 22389 }) 22390], SearchService); 22391 22392 22393 22394/***/ }), 22395 22396/***/ 62255: 22397/*!********************************************!*\ 22398 !*** ./src/app/services/tenant.service.ts ***! 22399 \********************************************/ 22400/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 22401 22402"use strict"; 22403__webpack_require__.r(__webpack_exports__); 22404/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22405/* harmony export */ "TenantService": function() { return /* binding */ TenantService; } 22406/* harmony export */ }); 22407/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 2316); 22408/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environments/environment */ 92340); 22409var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 22410 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 22411 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 22412 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 22413 return c > 3 && r && Object.defineProperty(target, key, r), r; 22414}; 22415 22416 22417let TenantService = class TenantService { 22418 constructor() { 22419 this.tenant = ''; 22420 this.configurationSetting = '*'; 22421 this.resolveTenant(); 22422 } 22423 /** 22424 * Resolves tenant and configuration from the hostname. 22425 * 22426 * Supported formats: 22427 * - pcs.library.site → tenant = 'pcs', configuration = '*' 22428 * - eglestonfamily-eg.library.site → tenant = 'eglestonfamily', configuration = 'eg' 22429 * - pcs.localhost:4200 → tenant = 'pcs', configuration = '*' 22430 * - thg-cfg.localhost:4200 → tenant = 'thg', configuration = 'cfg' 22431 * - localhost:4200 → tenant from environment.defaultTenant (fallback: 'pcs') 22432 */ 22433 resolveTenant() { 22434 const hostname = window.location.hostname; // e.g. 'pcs.localhost' or 'pcs.library.site' 22435 const nameSplit = hostname.split('.'); 22436 if (hostname === 'localhost' || hostname === '127.0.0.1') { 22437 // Bare localhost with no subdomain — use environment default 22438 this.tenant = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.defaultTenant || 'pcs'; 22439 this.configurationSetting = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.defaultConfiguration || '*'; 22440 } 22441 else { 22442 // Has subdomain: works for both 'pcs.localhost' and 'pcs.library.site' 22443 const subdomain = nameSplit[0]; 22444 if (subdomain.indexOf('-') >= 0) { 22445 const parts = subdomain.split('-'); 22446 this.tenant = parts[0]; 22447 this.configurationSetting = parts[1]; 22448 } 22449 else { 22450 this.tenant = subdomain; 22451 } 22452 } 22453 } 22454}; 22455TenantService.ctorParameters = () => []; 22456TenantService = __decorate([ 22457 (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__.Injectable)({ 22458 providedIn: 'root' 22459 }) 22460], TenantService); 22461 22462 22463 22464/***/ }), 22465 22466/***/ 46581: 22467/*!***********************************************!*\ 22468 !*** ./src/app/services/walletAPI.service.ts ***! 22469 \***********************************************/ 22470/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 22471 22472"use strict"; 22473__webpack_require__.r(__webpack_exports__); 22474/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22475/* harmony export */ "WalletAPIService": function() { return /* binding */ WalletAPIService; }
22476/* harmony export */ }); 22477/* harmony import */ var _logging_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logging.service */ 56571); 22478/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common/http */ 53882); 22479/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 2316); 22480/* harmony import */ var _homepage_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./homepage.service */ 27150); 22481/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 22482/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./auth.service */ 37556); 22483/* harmony import */ var src_environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/environments/environment */ 92340); 22484/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs/operators */ 33927); 22485/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs/operators */ 18293); 22486/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rxjs */ 8117); 22487/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rxjs */ 45871); 22488/* harmony import */ var _tenant_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tenant.service */ 62255); 22489var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 22490 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 22491 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 22492 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 22493 return c > 3 && r && Object.defineProperty(target, key, r), r; 22494}; 22495 22496 22497 22498 22499 22500 22501 22502 22503 22504 22505let WalletAPIService = class WalletAPIService { 22506 constructor(http, homepageService, cookieService, authService, appMonitoringService, tenantService) { 22507 this.http = http; 22508 this.homepageService = homepageService; 22509 this.cookieService = cookieService; 22510 this.authService = authService; 22511 this.appMonitoringService = appMonitoringService; 22512 this.tenantService = tenantService; 22513 this.tenant = ""; 22514 this.confiGurationSetting = "*"; 22515 this.locationId = "*"; 22516 this.apiUrl = src_environments_environment__WEBPACK_IMPORTED_MODULE_3__.environment.apiUrl; 22517 this.tenant = this.tenantService.tenant; 22518 this.confiGurationSetting = this.tenantService.configurationSetting; 22519 this.locationId = this.homepageService.getLocationId(); 22520 } 22521 getMobileOS() { 22522 const userAgent = navigator.userAgent; 22523 this.appMonitoringService.logEvent("Device OS -" + this.tenant, { userAgent: userAgent }); 22524 if (/android/i.test(userAgent)) { 22525 return "Android"; 22526 } 22527 if (/iPad|iPhone|iPod/.test(userAgent) || 22528 (userAgent.includes('Macintosh') && 'ontouchend' in document)) { 22529 return "iOS"; 22530 } 22531 if (/Windows Phone/i.test(userAgent)) { 22532 return "Windows Phone"; 22533 } 22534 return "Unknown"; 22535 } 22536 getWalletLink(body) { 22537 this.locationId = this.homepageService.getLocationId(); 22538 var auth = "null"; 22539 //if(this.cookieService.check( 'info')){ 22540 if (localStorage.getItem("info") != null) { 22541 var auth = "Bearer " + localStorage.getItem("token"); 22542 //,'Authorization': auth 22543 } 22544 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_5__.HttpHeaders({ 22545 "app-id": "opac", 22546 selectedlibrary: this.locationId, 22547 tenant: this.tenant, 22548 configuration: this.confiGurationSetting, 22549 Authorization: auth, 22550 }); 22551 return this.http 22552 .get(this.apiUrl + 'account/googleWallet/generateAddLink', { headers: headers, observe: "response" }) 22553 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.map)((response) => { 22554 if (response.headers.get("Session-Id")) { 22555 this.authService.setSessionIdHeader(response.headers.get("Session-Id")); 22556 } 22557 return response.body; 22558 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.catchError)((error) => this.handleError(error))); 22559 } 22560 getAppleWalletLink() { 22561 this.locationId = this.homepageService.getLocationId(); 22562 var auth = "null"; 22563 //if(this.cookieService.check( 'info')){ 22564 if (localStorage.getItem("info") != null) { 22565 var auth = "Bearer " + localStorage.getItem("token"); 22566 //,'Authorization': auth 22567 } 22568 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_5__.HttpHeaders({ 22569 "app-id": "opac", 22570 selectedlibrary: this.locationId, 22571 tenant: this.tenant, 22572 configuration: this.confiGurationSetting, 22573 Authorization: auth, 22574 }); 22575 return this.http 22576 .get(this.apiUrl + 'account/appleWallet/generatePass', { headers: headers, observe: "response", responseType: "arraybuffer" }) 22577 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.map)((response) => { 22578 if (response.headers.get("Session-Id")) { 22579 this.authService.setSessionIdHeader(response.headers.get("Session-Id")); 22580 } 22581 return { data: response.body, isNewPass: response.headers.get("isnewpass") }; 22582 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.catchError)((error) => this.handleError(error))); 22583 } 22584 handleError(error) { 22585 if (error.status == 401) { 22586 this.authService.logoutSubject.next(true); 22587 return rxjs__WEBPACK_IMPORTED_MODULE_8__.EMPTY; 22588 } 22589 else { 22590 return (0,rxjs__WEBPACK_IMPORTED_MODULE_9__.throwError)(error); 22591 } 22592 } 22593}; 22594WalletAPIService.ctorParameters = () => [ 22595 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_5__.HttpClient }, 22596 { type: _homepage_service__WEBPACK_IMPORTED_MODULE_1__.HomepageService }, 22597 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_10__.CookieService }, 22598 { type: _auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService }, 22599 { type: _logging_service__WEBPACK_IMPORTED_MODULE_0__.AppMonitoringService }, 22600 { type: _tenant_service__WEBPACK_IMPORTED_MODULE_4__.TenantService } 22601]; 22602WalletAPIService = __decorate([ 22603 (0,_angular_core__WEBPACK_IMPORTED_MODULE_11__.Injectable)({ 22604 providedIn: "root", 22605 }) 22606], WalletAPIService); 22607 22608 22609 22610/***/ }), 22611 22612/***/ 71245: 22613/*!*****************************************************!*\ 22614 !*** ./src/app/services/widget-settings.service.ts ***! 22615 \*****************************************************/ 22616/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 22617 22618"use strict"; 22619__webpack_require__.r(__webpack_exports__); 22620/* harmony export */ __webpack_require__.d(__webpack_exports__, { 22621/* harmony export */ "WidgetSettingsService": function() { return /* binding */ WidgetSettingsService; }
22622/* harmony export */ }); 22623/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 2316); 22624/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ 53882); 22625/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rxjs */ 8117); 22626/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 45871); 22627/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ 33927); 22628/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ 18293); 22629/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../environments/environment */ 92340); 22630/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 22631/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth.service */ 37556); 22632/* harmony import */ var _tenant_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tenant.service */ 62255); 22633var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 22634 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 22635 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 22636 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 22637 return c > 3 && r && Object.defineProperty(target, key, r), r; 22638}; 22639 22640 22641 22642 22643 22644 22645 22646 22647let WidgetSettingsService = class WidgetSettingsService { 22648 constructor(http, cookieService, authService, tenantService) { 22649 this.http = http; 22650 this.cookieService = cookieService; 22651 this.authService = authService; 22652 this.tenantService = tenantService; 22653 this.tetent = ''; 22654 this.tenantLocId = ''; 22655 this.confiGurationSetting = '*'; 22656 this.apiUrl = _environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.apiUrl; 22657 this.tetent = this.tenantService.tenant; 22658 this.confiGurationSetting = this.tenantService.configurationSetting; 22659 } 22660 newInPopularSetting(viewType, listSize, wid, auth) { 22661 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22662 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22663 return this.http.post(this.apiUrl + 'widget/settings/new?id=' + wid, { "view": viewType, "size": listSize }, { headers: headers, observe: 'response' }) 22664 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22665 if (response.headers.get('Session-Id')) { 22666 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22667 } 22668 return response.body; 22669 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22670 } 22671 popularTitlesSetting(viewType, listSize, wid, auth) { 22672 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22673 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22674 return this.http.post(this.apiUrl + 'widget/settings/popular?id=' + wid, { "view": viewType, "size": listSize }, { headers: headers, observe: 'response' }) 22675 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22676 if (response.headers.get('Session-Id')) { 22677 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22678 } 22679 return response.body; 22680 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22681 } 22682 recommendedForYouSetting(viewType, listSize, fallback, showPopularWithPrompt, wid, auth) { 22683 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22684 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22685 return this.http.post(this.apiUrl + 'widget/settings/recommended?id=' + wid, { "view": viewType, "size": listSize, "fallback": fallback, "showPopularWithPrompt": showPopularWithPrompt }, { headers: headers, observe: 'response' }) 22686 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22687 if (response.headers.get('Session-Id')) { 22688 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22689 } 22690 return response.body; 22691 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22692 } 22693 resourseListSetting(viewType, listSize, wid, wlid, auth) { 22694 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22695 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22696 return this.http.post(this.apiUrl + 'widget/settings/resourcelist?id=' + wid, { "view": viewType, "size": listSize, "listId": wlid }, { headers: headers, observe: 'response' }) 22697 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22698 if (response.headers.get('Session-Id')) { 22699 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22700 } 22701 return response.body; 22702 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22703 } 22704 resourseListsSetting(listSize, wid, auth) { 22705 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22706 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22707 return this.http.post(this.apiUrl + 'widget/settings/resourcelists?id=' + wid, { "size": listSize }, { headers: headers, observe: 'response' }) 22708 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22709 if (response.headers.get('Session-Id')) { 22710 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22711 } 22712 return response.body; 22713 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22714 } 22715 recentReviewsSetting(viewType, listSize, wid, auth) { 22716 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22717 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22718 return this.http.post(this.apiUrl + 'widget/settings/reviews?id=' + wid, { "view": viewType, "size": listSize }, { headers: headers, observe: 'response' }) 22719 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22720 if (response.headers.get('Session-Id')) { 22721 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22722 } 22723 return response.body; 22724 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22725 } 22726 linksSetting(viewType, captionW, wid, links, auth) { 22727 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22728 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22729 return this.http.post(this.apiUrl + 'widget/settings/links?id=' + wid, { "width": viewType, "caption": captionW, "links": links }, { headers: headers, observe: 'response' }) 22730 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22731 if (response.headers.get('Session-Id')) { 22732 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22733 } 22734 return response.body; 22735 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22736 } 22737 bulletinListSetting(viewType, listSize, wid, auth) { 22738 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22739 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22740 return this.http.post(this.apiUrl + 'widget/settings/bulletinlist?id=' + wid, { "width": viewType, "size": listSize }, { headers: headers, observe: 'response' }) 22741 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22742 if (response.headers.get('Session-Id')) { 22743 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22744 } 22745 return response.body; 22746 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22747 } 22748 bulletinSetting(viewType, bid, wid, auth) { 22749 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22750 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22751 return this.http.post(this.apiUrl + 'widget/settings/bulletin?id=' + wid, { "width": viewType, "bulletinId": bid }, { headers: headers, observe: 'response' }) 22752 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22753 if (response.headers.get('Session-Id')) { 22754 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22755 } 22756 return response.body; 22757 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22758 } 22759 calendarSetting(viewType, messagec, wid, auth) { 22760 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22761 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22762 return this.http.post(this.apiUrl + 'widget/settings/calendar?id=' + wid, { "width": viewType, "message": messagec }, { headers: headers, observe: 'response' }) 22763 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22764 if (response.headers.get('Session-Id')) { 22765 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22766 } 22767 return response.body; 22768 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22769 } 22770 exploreViewSetting(viewType, pageId, wid, auth) { 22771 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22772 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22773 return this.http.post(this.apiUrl + 'widget/settings/explore?id=' + wid, { "width": viewType, "pageId": pageId }, { headers: headers, observe: 'response' }) 22774 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22775 if (response.headers.get('Session-Id')) { 22776 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22777 } 22778 return response.body; 22779 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22780 } 22781 locationHoursSetting(viewType, LocationMap, LocationText, wid, hours, auth) { 22782 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22783 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22784 return this.http.post(this.apiUrl + 'widget/settings/locationhours?id='
22784+ wid, { "width": viewType, "locationText": LocationText, "mapLink": LocationMap, "days": hours }, { headers: headers, observe: 'response' }) 22785 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22786 if (response.headers.get('Session-Id')) { 22787 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22788 } 22789 return response.body; 22790 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22791 } 22792 messageSetting(wid, viewType, content, caption, auth) { 22793 // var auth:any = 'null'; 22794 // if(this.cookieService.check( 'info')){ 22795 //if (localStorage.getItem('info') != null){ 22796 // var auth:any = 'Bearer '+localStorage.getItem('token'); 22797 // } 22798 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22799 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22800 return this.http.post(this.apiUrl + 'widget/settings/message?id=' + wid, { "caption": caption, "width": viewType, "content": content }, { headers: headers, observe: 'response' }) 22801 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22802 if (response.headers.get('Session-Id')) { 22803 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22804 } 22805 return response.body; 22806 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22807 } 22808 qaSetting(caption, wid, quesAns, image, auth) { 22809 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22810 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22811 //"images/qa-book.png" 22812 return this.http.post(this.apiUrl + 'widget/settings/qa?id=' + wid, { "caption": caption, "img": image, "questions": quesAns }, { headers: headers, observe: 'response' }) 22813 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22814 if (response.headers.get('Session-Id')) { 22815 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22816 } 22817 return response.body; 22818 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22819 } 22820 qaViewSetting(caption, quesAns, image, auth) { 22821 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22822 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22823 //"images/qa-book.png" 22824 return this.http.post(this.apiUrl + 'widget/settings/qa?id=', { "caption": caption, "img": image, "questions": quesAns }, { headers: headers, observe: 'response' }) 22825 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22826 if (response.headers.get('Session-Id')) { 22827 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22828 } 22829 return response.body; 22830 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22831 } 22832 getResourcesList() {
22833 var auth = 'null'; 22834 //if(this.cookieService.check( 'info')){ 22835 if (localStorage.getItem('info') != null) { 22836 var auth = 'Bearer ' + localStorage.getItem('token'); 22837 //,'Authorization': auth 22838 } 22839 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22840 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22841 //return this.http.get(this.apiUrl+'resource/list',{headers}) 22842 return this.http.get(this.apiUrl + 'widget/ResourceLists?size=999', { headers: headers, observe: 'response' }) 22843 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22844 if (response.headers.get('Session-Id')) { 22845 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22846 } 22847 return response.body; 22848 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22849 } 22850 getExplorePages() {
22851 var auth = 'null'; 22852 //if(this.cookieService.check( 'info')){ 22853 if (localStorage.getItem('info') != null) { 22854 var auth = 'Bearer ' + localStorage.getItem('token'); 22855 //,'Authorization': auth 22856 } 22857 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22858 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22859 return this.http.get(this.apiUrl + 'explore/pagelist', { headers: headers, observe: 'response' }) 22860 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22861 if (response.headers.get('Session-Id')) { 22862 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22863 } 22864 return response.body; 22865 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22866 } 22867 bulletinList() {
22868 var auth = 'null'; 22869 //if(this.cookieService.check( 'info')){ 22870 if (localStorage.getItem('info') != null) { 22871 var auth = 'Bearer ' + localStorage.getItem('token'); 22872 //,'Authorization': auth 22873 } 22874 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22875 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22876 return this.http.get(this.apiUrl + 'bulletin', { headers: headers, observe: 'response' }) 22877 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22878 if (response.headers.get('Session-Id')) { 22879 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22880 } 22881 return response.body; 22882 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22883 } 22884 getQaImage() {
22885 var auth = 'null'; 22886 //if(this.cookieService.check( 'info')){ 22887 if (localStorage.getItem('info') != null) { 22888 var auth = 'Bearer ' + localStorage.getItem('token'); 22889 //,'Authorization': auth 22890 } 22891 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22892 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': auth }); 22893 return this.http.get(this.apiUrl + 'widget/qa/images', { headers: headers, observe: 'response' }) 22894 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22895 if (response.headers.get('Session-Id')) { 22896 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22897 } 22898 return response.body; 22899 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22900 } 22901 logoListGet(auth) { 22902 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22903 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22904 return this.http.get(this.apiUrl + 'setting/logo/all', { headers: headers, observe: 'response' }) 22905 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22906 if (response.headers.get('Session-Id')) { 22907 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22908 } 22909 return response.body; 22910 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22911 } 22912 bannerListGet(auth) { 22913 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22914 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22915 return this.http.get(this.apiUrl + 'setting/bannerimage/all', { headers: headers, observe: 'response' }) 22916 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22917 if (response.headers.get('Session-Id')) { 22918 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22919 } 22920 return response.body; 22921 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22922 } 22923 logoUpload(auth, formData) { 22924 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22925 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22926 return this.http.post(this.apiUrl + 'setting/logo/upload', formData, { headers: headers, observe: 'response' }) 22927 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22928 if (response.headers.get('Session-Id')) { 22929 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22930 } 22931 return response.body; 22932 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22933 } 22934 qaImageUpload(auth, formData) { 22935 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22936 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22937 return this.http.post(this.apiUrl + 'widget/qa/image/upload', formData, { headers: headers, observe: 'response' }) 22938 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22939 if (response.headers.get('Session-Id')) { 22940 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22941 } 22942 return response.body; 22943 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22944 } 22945 bannerUpload(auth, formData) { 22946 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22947 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Authorization': 'Bearer ' + auth }); 22948 return this.http.post(this.apiUrl + 'setting/bannerimage/upload', formData, { headers: headers, observe: 'response' }) 22949 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22950 if (response.headers.get('Session-Id')) { 22951 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22952 } 22953 return response.body; 22954 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22955 } 22956 saveLogoSection(shows, line1, line2, image, auth) { 22957 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22958 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22959 return this.http.post(this.apiUrl + 'setting/banner/logo', { "img": image, "line1": line1, "line2": line2 }, { headers: headers, observe: 'response' }) 22960 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22961 if (response.headers.get('Session-Id')) { 22962 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22963 } 22964 return response.body; 22965 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22966 } 22967 saveBannerSection(line1, line2, image, isSmall, auth) { 22968 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22969 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'selectedlibrary': this.tenantLocId, 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22970 return this.http.post(this.apiUrl + 'setting/banner/main', { "img": image, "line1": line1, "line2": line2, "bannerSize": isSmall }, { headers: headers, observe: 'response' }) 22971 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22972 if (response.headers.get('Session-Id')) { 22973 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22974 } 22975 return response.body; 22976 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22977 } 22978 deleteWidgets(id, auth) { 22979 this.tenantLocId = this.cookieService.get('selectedlocation' + this.tetent); 22980 let headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpHeaders({ 'app-id': 'opac', 'tenant': this.tetent, 'configuration': this.confiGurationSetting, 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + auth }); 22981 return this.http.delete(this.apiUrl + 'widget/settings/delete/' + id, { headers: headers, observe: 'response' }) 22982 .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.map)((response) => { 22983 if (response.headers.get('Session-Id')) { 22984 this.authService.setSessionIdHeader(response.headers.get('Session-Id')); 22985 } 22986 return response.body; 22987 }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.catchError)((error) => this.handleError(error))); 22988 } 22989 handleError(error) { 22990 console.log("error", error); 22991 if (error.status == 401) { 22992 this.authService.logoutSubject.next(true); 22993 return rxjs__WEBPACK_IMPORTED_MODULE_6__.EMPTY; 22994 } 22995 else { 22996 return (0,rxjs__WEBPACK_IMPORTED_MODULE_7__.throwError)(error); 22997 } 22998 } 22999}; 23000WidgetSettingsService.ctorParameters = () => [ 23001 { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpClient }, 23002 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_8__.CookieService }, 23003 { type: _auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService }, 23004 { type: _tenant_service__WEBPACK_IMPORTED_MODULE_2__.TenantService } 23005]; 23006WidgetSettingsService = __decorate([ 23007 (0,_angular_core__WEBPACK_IMPORTED_MODULE_9__.Injectable)({ 23008 providedIn: 'root' 23009 }) 23010], WidgetSettingsService); 23011 23012 23013 23014/***/ }), 23015 23016/***/ 58070: 23017/*!**************************************************!*\ 23018 !*** ./src/app/share/footer/footer.component.ts ***! 23019 \**************************************************/ 23020/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 23021 23022"use strict"; 23023__webpack_require__.r(__webpack_exports__); 23024/* harmony export */ __webpack_require__.d(__webpack_exports__, { 23025/* harmony export */ "FooterComponent": function() { return /* binding */ FooterComponent; } 23026/* harmony export */ }); 23027/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_footer_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./footer.component.html */ 53067); 23028/* harmony import */ var _footer_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./footer.component.css */ 12582); 23029/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 23030/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 23031/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/homepage.service */ 27150); 23032/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/auth.service */ 37556); 23033/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 23034/* harmony import */ var angular_user_idle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! angular-user-idle */ 49900); 23035/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 71258); 23036/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! angular-notifier */ 53874); 23037/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../environments/environment */ 92340); 23038var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 23039 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 23040 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 23041 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
23041 3 ? d(target, key, r) : d(target, key)) || r; 23042 return c > 3 && r && Object.defineProperty(target, key, r), r; 23043}; 23044var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { 23045 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 23046 return new (P || (P = Promise))(function (resolve, reject) { 23047 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 23048 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 23049 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 23050 step((generator = generator.apply(thisArg, _arguments || [])).next()); 23051 }); 23052}; 23053 23054 23055 23056 23057 23058 23059 23060 23061 23062 23063 23064let FooterComponent = class FooterComponent { 23065 constructor(notifierService, router, homepageService, document, authService, cookieService, userIdle) { 23066 this.router = router; 23067 this.homepageService = homepageService; 23068 this.document = document; 23069 this.authService = authService; 23070 this.cookieService = cookieService; 23071 this.userIdle = userIdle; 23072 this.gloalSetting = []; 23073 this.loginPlaceHolder = ''; 23074 this.checkLogin = false; 23075 this.selectedResourcesIds = []; 23076 this.forgotPassword = false; 23077 this.requiredChange = false; 23078 this.isNonComplaint = false; 23079 this.passwordRequirement = null; 23080 this.checkPassword = false; 23081 this.patronLoggedIn = false; 23082 this.shareLinkEditors = false; 23083 this.linksEditors = false; 23084 this.contactEditor = false; 23085 this.updatingEmail = false; 23086 this.emailUpdateRes = false; 23087 this.emailUpdateResMail = false; 23088 this.years = new Date().getFullYear(); 23089 this.requirePassword = false; 23090 this.count = 60; 23091 this.firstName = ''; 23092 this.notifier = notifierService; 23093 this.authService.logoutObservable$.subscribe(loggedOut => { 23094 if (loggedOut) { 23095 } 23096 }); 23097 } 23098 ngOnInit() { 23099 if (this.cookieService.check('patron')) { 23100 this.patronLoggedIn = true; 23101 } 23102 if (localStorage.getItem("token")) { 23103 this.patronLoggedIn = true; 23104 } 23105 let profile = JSON.parse(localStorage.getItem('info')); 23106 if (profile) { 23107 this.firstName = profile.detail.firstName; 23108 } 23109 if (localStorage.getItem("requireChange") === null || localStorage.getItem("token") === null) { 23110 } 23111 else { 23112 if (localStorage.getItem("isNonComplaint") === null) { 23113 this.isNonComplaint = false; 23114 } 23115 else { 23116 this.isNonComplaint = true; 23117 } 23118 this.requiredChange = true; 23119 this.authService.getPasswordRequirement(localStorage.getItem('token')).subscribe(passwordReq => { 23120 this.passwordRequirement = passwordReq; 23121 }, (passwordErr) => { 23122 this.requiredChange = true; 23123 }); 23124 } 23125 this.gloalSetting = this.homepageService.getUpdatedConfig(); 23126 if (this.gloalSetting.data.settings.patron.login.facebook) 23127 this.fbLibrary(); 23128 if (this.gloalSetting.data.settings.patron.login.loginWithName) { 23129 if (this.gloalSetting.data.settings.patron.login.loginWithMail) 23130 this.loginPlaceHolder = "Patron number, Email or Name"; 23131 else 23132 this.loginPlaceHolder = "Patron number or Name"; 23133 } 23134 else { 23135 if (this.gloalSetting.data.settings.patron.login.loginWithMail) 23136 this.loginPlaceHolder = "Patron number or Email"; 23137 else 23138 this.loginPlaceHolder = "Patron number"; 23139 } 23140 this.userIdle.stopWatching(); 23141 // Configuration for userIdle 23142 this.userIdle.setConfigValues({ 23143 idle: (this.gloalSetting.data.settings.timeout.minutes) * 60, 23144 timeout: 60, 23145 ping: 60 23146 }); 23147 this.router.events.subscribe(event => { 23148 if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_6__.NavigationEnd) { 23149 // Only run this check once, on the first navigation 23150 if (!window['__idleChecked']) { 23151 window['__idleChecked'] = true; 23152 const lastActiveTime = localStorage.getItem('lastActiveTime'); 23153 if (lastActiveTime) { 23154 const now = Date.now(); 23155 const idleTime = this.gloalSetting.data.settings.timeout.minutes * 60 * 1000; 23156 if (now - parseInt(lastActiveTime, 10) > idleTime) { 23157 this.handleTimeout(); 23158 } 23159 } 23160 } 23161 } 23162 }); 23163 // Start watching for idle time 23164 this.userIdle.startWatching(); 23165 // Update last active time on user activity 23166 this.updateLastActiveTime(); 23167 // Add event listeners for user activity 23168 ['mousemove', 'keydown', 'click', 'scroll'].forEach(event => { 23169 document.addEventListener(event, (event) => { this.updateLastActiveTime(); }); 23170 }); 23171 this.userIdle.onTimerStart().subscribe(count => { 23172 let homeLink = $('#navbarid a[href="/"]'); 23173 let homePageBoolean = ((this.cookieService.check('patron') || 23174 this.cookieService.check('recentSearch') || 23175 localStorage.getItem('selectedResourcesIds') !== null || 23176 localStorage.getItem('token') !== null) && (homeLink.text().trim() === 'Home' && homeLink.hasClass('active'))); 23177 let otherPageBoolean = (homeLink.text().trim() === 'Home' && !homeLink.hasClass('active')); 23178 this.count--; 23179 if (count === 1 && this.gloalSetting.data.settings.timeout.enabled && (homePageBoolean || otherPageBoolean)) { 23180 $('#ruthere').fadeIn('slow'); 23181 } 23182 }); 23183 this.userIdle.onTimeout().subscribe(() => { 23184 this.handleTimeout(); 23185 }); 23186 } 23187 handleTimeout() { 23188 if (this.gloalSetting.data.settings.timeout.enabled) { 23189 this.logout(); 23190 } 23191 } 23192 logout() { 23193 $('#ruthere').fadeOut(); 23194 $('body').find('#myCollectionLi').find('.my-list-count').text('0'); 23195 $('body').find('#profileLi').removeClass('show').addClass('hide'); 23196 $('body').find('#loginLi').removeClass('hide').addClass('show'); 23197 $('.widgets.select-box').css('min-height', 'auto'); 23198 $('.SearchResults').find('.count').text('0'); 23199 localStorage.removeItem('info'); 23200 this.homepageService.updateIsLogin(false); 23201 this.cookieService.deleteAll('/'); 23202 this.document.body.classList.remove('login-patron'); 23203 this.document.body.classList.remove('manage-view'); 23204 localStorage.removeItem('selectedResourcesIds'); 23205 localStorage.removeItem('token'); 23206 localStorage.removeItem('requireChange'); 23207 localStorage.removeItem('isNonComplaint'); 23208 localStorage.removeItem('Session-Id'); 23209 this.patronLoggedIn = false;
23210 this.requirePassword = false; 23211 this.userIdle.resetTimer(); 23212 this.userIdle.stopWatching(); 23213 this.userIdle.setConfigValues({ 23214 idle: (this.gloalSetting.data.settings.timeout.minutes) * 60, 23215 timeout: 60, 23216 ping: 60 23217 }); 23218 this.updateLastActiveTime(); 23219 this.userIdle.startWatching(); 23220 this.count = 60; 23221 this.router.navigate(['/']); 23222 } 23223 updateLastActiveTime() { 23224 localStorage.setItem('lastActiveTime', Date.now().toString()); 23225 } 23226 ; 23227 login() { 23228 if (window['FB']) { 23229 window['FB'].login((response) => { 23230 //console.log('login response',response); 23231 if (response.authResponse) { 23232 this.authService.authFacebook(response.authResponse.accessToken).subscribe(data => { 23233 var locationId = this.homepageService.getLocationId(); 23234 localStorage.setItem('token', data.access_token); 23235 localStorage.setItem('refreshToken', data.refresh_token); 23236 if (localStorage.getItem('selectedResourcesIds') != null) { 23237 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 23238 this.homepageService.saveMyList(data.access_token, this.selectedResourcesIds).subscribe(addTempIds => { 23239 this.cookieService.delete('tempPersonalCollection'); 23240 this.getProfileDetail(data.access_token, locationId); 23241 }); 23242 } 23243 else { 23244 this.getProfileDetail(data.access_token, locationId); 23245 } 23246 }, (err) => { 23247 this.checkLogin = false; 23248 }); 23249 } 23250 else { 23251 //console.log('User login failed'); 23252 } 23253 }, { scope: 'email' }); 23254 } 23255 else { 23256 //console.log('You are using private/incognito window, please use normal one'); 23257 } 23258 } 23259 fbLibrary() { 23260 window.fbAsyncInit = function () { 23261 window['FB'].init({ 23262 appId: '203418504446263', 23263 cookie: true, 23264 xfbml: true, 23265 version: 'v3.1' 23266 }); 23267 window['FB'].AppEvents.logPageView(); 23268 }; 23269 (function (d, s, id) { 23270 var js, fjs = d.getElementsByTagName(s)[0]; 23271 if (d.getElementById(id)) { 23272 return; 23273 } 23274 js = d.createElement(s); 23275 js.id = id; 23276 js.src = "https://connect.facebook.net/en_US/sdk.js"; 23277 fjs.parentNode.insertBefore(js, fjs); 23278 }(document, 'script', 'facebook-jssdk')); 23279 } 23280 //loading goodle sdk for goodle login. 23281 googleSDK() { 23282 window['googleSDKLoaded'] = () => { 23283 window['gapi'].load('auth2', () => { 23284 this.auth2 = window['gapi'].auth2.init({ 23285 client_id: '1003925052394-fllpkk5hbvna7i5hif1hcimh08tqsatv.apps.googleusercontent.com', 23286 cookiepolicy: 'single_host_origin', 23287 scope: 'profile email' 23288 }); 23289 this.prepareLoginButton(); 23290 }); 23291 }; 23292 (function (d, s, id) { 23293 var js, fjs = d.getElementsByTagName(s)[0]; 23294 if (d.getElementById(id)) { 23295 return; 23296 } 23297 js = d.createElement(s); 23298 js.id = id; 23299 js.src = "https://apis.google.com/js/platform.js?onload=googleSDKLoaded"; 23300 fjs.parentNode.insertBefore(js, fjs); 23301 }(document, 'script', 'google-jssdk')); 23302 } 23303 //This will prepare google login button. 23304 prepareLoginButton() { 23305 //console.log('prepare login button'); 23306 this.auth2.attachClickHandler(this.loginElement.nativeElement, {}, (googleUser) => { 23307 //YOUR CODE HERE 23308 this.authService.authGoogle(googleUser.getAuthResponse().access_token).subscribe(data => { 23309 var locationId = this.homepageService.getLocationId(); 23310 localStorage.setItem('token', data.access_token); 23311 if (localStorage.getItem('selectedResourcesIds') != null) { 23312 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 23313 this.homepageService.saveMyList(data.access_token, this.selectedResourcesIds).subscribe(addTempIds => { 23314 this.cookieService.delete('tempPersonalCollection'); 23315 this.getProfileDetail(data.access_token, locationId); 23316 }); 23317 } 23318 else { 23319 this.getProfileDetail(data.access_token, locationId); 23320 } 23321 }, (err) => { 23322 this.checkLogin = false;
23323 }); 23324 }, (error) => { 23325 //console.log(error); 23326 }); 23327 } 23328 //This will reset the idle timer, if user click any button. 23329 resetTimmer() { 23330 this.userIdle.resetTimer(); 23331 $('#ruthere').fadeOut(); 23332 } 23333 //This will authenticate the user 23334 authentication() { 23335 //console.log("authentication"); 23336 var username = $.trim($('#login-email').val().toString()); 23337 if (username == '') { 23338 $('#login-email').addClass('error'); 23339 } 23340 if (!this.gloalSetting.data.settings.patron.login.nonAdminRequiredPassword && !this.requirePassword) { 23341 var password = username; 23342 } 23343 else { 23344 var password = $.trim($('#login-password').val().toString()); 23345 if (password == '') { 23346 $('#login-password').addClass('error'); 23347 } 23348 } 23349 if (username != '' && password != '') { 23350 //console.log("username !=''"); 23351 this.checkLogin = true; 23352 this.authService.authentication(username, password).subscribe(data => { 23353 this.requirePassword = false; 23354 //console.log(data.access_token +'=access token'); 23355 var locationId = this.homepageService.getLocationId(); 23356 localStorage.setItem('token', data.access_token); 23357 localStorage.setItem('refreshToken', data.refresh_token); 23358 this.cookieService.set("authorization", data.access_token); 23359 //this.homepageService.getAuthorization(data.access_token); 23360 if (localStorage.getItem('selectedResourcesIds') != null) { 23361 this.selectedResourcesIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 23362 this.homepageService.saveMyList(data.access_token, this.selectedResourcesIds).subscribe(addTempIds => { 23363 this.cookieService.delete('tempPersonalCollection'); 23364 this.getProfileDetail(data.access_token, locationId); 23365 if (data.requirePasswordReset) { 23366 this.requiredChange = true; 23367 localStorage.setItem('requireChange', 'true'); 23368 if (data.isNonComplaint) { 23369 this.isNonComplaint = true; 23370 localStorage.setItem('isNonComplaint', 'true'); 23371 } 23372 this.authService.getPasswordRequirement(data.access_token).subscribe(passwordReq => { 23373 this.passwordRequirement = passwordReq; 23374 }, (passwordErr) => { 23375 $('#passwordForce-modal').removeClass('show'); 23376 }); 23377 } 23378 }); 23379 } 23380 else { 23381 this.getProfileDetail(data.access_token, locationId); 23382 if (data.requirePasswordReset) { 23383 this.requiredChange = true; 23384 localStorage.setItem('requireChange', 'true'); 23385 if (data.isNonComplaint) { 23386 this.isNonComplaint = true; 23387 localStorage.setItem('isNonComplaint', 'true'); 23388 } 23389 this.authService.getPasswordRequirement(data.access_token).subscribe(passwordReq => { 23390 this.passwordRequirement = passwordReq; 23391 }, (passwordErr) => { 23392 //$('#passwordForce-modal').removeClass('show'); 23393 }); 23394 } 23395 } 23396 //window.location.reload(); 23397 }, (err) => { 23398 if (err.error.isPasswordRequired) { 23399 if (!this.gloalSetting.data.settings.patron.login.nonAdminRequiredPassword && !this.requirePassword) { 23400 $('#loginError').text("Password is required. Please enter the password."); 23401 $('#loginDotts').addClass('hide').removeClass('show'); 23402 } 23403 else { 23404 $('#loginError').text(err.error.error_description.replace(/_/g, ' ')); 23405 $('#loginDotts').addClass('hide').removeClass('show'); 23406 } 23407 this.requirePassword = true; 23408 $('#login-password').val(''); 23409 setTimeout(function () { 23410 $('#login-password').focus(); 23411 }, 100); 23412 } 23413 else { 23414 if (err.error.error_description) 23415 $('#loginError').text(err.error.error_description.replace(/_/g, ' ')); 23416 $('#loginDotts').addClass('hide').removeClass('show'); 23417 } 23418 this.checkLogin = false;
23419 }); 23420 } 23421 setTimeout(function () { 23422 $('#loginError').text(''); 23423 }, 4000); 23424 } 23425 //This will show the forget password options to user. 23426 toggleForgot() { 23427 if (this.forgotPassword === false) { 23428 this.forgotPassword = true; 23429 } 23430 else { 23431 this.forgotPassword = false; 23432 } 23433 } 23434 //This will send the forget request to server. 23435 forgotEmail() { 23436 $('#login-modal').find('.message').remove(); 23437 var username = $.trim($('#forgot-email').val().toString()); 23438 if (username == '') { 23439 $('#forgot-email').addClass('error'); 23440 return; 23441 } 23442 else { 23443 this.checkLogin = true; 23444 this.authService.forgotPassword(username).subscribe((data) => { 23445 this.checkLogin = false; 23446 var thisT = this; 23447 if (data.status.toString() === 'true') { 23448 $('#forgot-email').val('').parents('.form-group').before('<span class="message success">' + data.message.toString() + '</span>'); 23449 setTimeout(function () { 23450 thisT.toggleForgot(); 23451 $('#login-modal').find('#closelogin').trigger('click'); 23452 $('#login-modal').find('#closelogin').click(); 23453 }, 10000); 23454 } 23455 else { 23456 $('#forgot-email').parents('.form-group').before('<span class="message error">' + data.message + '</span>'); 23457 } 23458 }, (error) => { 23459 $('#forgot-email').parents('.form-group').before('<span class="message error">' + error.error.errorDescription + '</span>'); 23460 }); 23461 } 23462 } 23463 //This is key generated event, which trigger authentication. 23464 loginSubmit(event) { 23465 if (event.key == 'Enter' && event.keyCode == 13) { 23466 this.authentication(); 23467 } 23468 } 23469 //This will send the update password request to server. 23470 updatePassword(event) { 23471 setTimeout(function () { 23472 $('#change-password-modal').find('span.message').remove(); 23473 $('#newpassword-email,#oldpassword-email,#confirmpassword-email').removeClass('error'); 23474 }, 7000); 23475 $('#newpassword-email').removeClass('error'); 23476 var oldPass = $.trim($('#oldpassword-email').val().toString()); 23477 if (oldPass == '') { 23478 $('#oldpassword-email').addClass('error'); 23479 return false; 23480 } 23481 var newPass = $.trim($('#newpassword-email').val().toString()); 23482 if (newPass == '') { 23483 $('#newpassword-email').addClass('error'); 23484 return false; 23485 } 23486 var confirmPass = $.trim($('#confirmpassword-email').val().toString()); 23487 if (confirmPass == '') { 23488 $('#confirmpassword-email').addClass('error'); 23489 return false; 23490 } 23491 else if (newPass !== confirmPass) { 23492 $('#confirmpassword-email').addClass('error'); 23493 $('#confirmpassword-email').parents('.form-group').after('<span class="message error">The two new passwords you entered do not match.</span>'); 23494 return false; 23495 } 23496 this.checkPassword = true; 23497 var token = localStorage.getItem('token'); 23498 this.authService.updatePassword(newPass, oldPass, token).subscribe(data => { 23499 this.checkPassword = false; 23500 $('#newpassword-email').val(''); 23501 $('#oldpassword-email').parents('.form-group').before('<span class="success message">Your password changed successfully</span>'); 23502 $('#change-password-modal').find('.form-group').find('input').val(''); 23503 setTimeout(function () { 23504 $('#change-password-modal').find('#closelogin').trigger('click'); 23505 }, 1000); 23506 }, (err) => { 23507 if (err.status == 500) { 23508 $('#oldpassword-email').parents('.form-group').before('<span class="error message">' + err.error.Message + '</span>'); 23509 $('#oldpassword-email').addClass('error'); 23510 } 23511 if (err.status == 400) { 23512 $('#newpassword-email').parents('.form-group').before('<span class="error message">' + err.error.errors.Password[0] + '</span>'); 23513 $('#newpassword-email').addClass('error'); 23514 } 23515 this.checkPassword = false;
23516 }); 23517 } 23518 //Submit changes for passwords 23519 changeSubmit(event) { 23520 $('#loginErrorPass').html(''); 23521 var error = false; 23522 var password = $("#change-password").val().toString(); 23523 var passwordC = $("#changeConfirm-password").val().toString(); 23524 if (this.passwordRequirement) { 23525 if (this.passwordRequirement.data.minimumLength) { 23526 if ($.trim(password).length < this.passwordRequirement.data.minimumLength) { 23527 error = true; 23528 $('#loginErrorPass').append("<li class='text-danger'>Password length atleast " + this.passwordRequirement.data.minimumLength + " characters</li>"); 23529 return false; 23530 } 23531 } 23532 if (this.passwordRequirement.data.mixedCase) { 23533 if (!$.trim(password).match(/[A-Z]/) || !$.trim(password).match(/[a-z]/)) { 23534 error = true; 23535 $('#loginErrorPass').append("<li class='text-danger'>Password must contains one uppercase and one lowercase characters</li>"); 23536 return false; 23537 } 23538 }
23539 if (this.passwordRequirement.data.digitsLetterCombination) { 23540 if (!$.trim(password).match(/[A-Za-z]/) || !$.trim(password).match(/[0-9]/)) { 23541 error = true; 23542 $('#loginErrorPass').append("<li class='text-danger'>Password must contain atleast one digit and one character</li>"); 23543 return false; 23544 } 23545 } 23546 if (this.passwordRequirement.data.nonAlphanumeric) { 23547 var format = /[ `!@#$%^&*()_+\-=\[\]{};:\\|,.<>\/?~]/; 23548 if (!format.test($.trim(password))) { 23549 error = true; 23550 $('#loginErrorPass').append("<li class='text-danger'>Password must contain atleast one special character</li>"); 23551 return false; 23552 } 23553 } 23554 } 23555 if (password != passwordC) { 23556 error = true; 23557 $('#loginErrorPass').append("<li class='text-danger'>Confirm Password didn't match</li>"); 23558 return false; 23559 } 23560 //console.log(error); 23561 if (error == false) { 23562 $('button.submit-btn').removeAttr('disabled'); 23563 } 23564 else { 23565 $('button.submit-btn').attr('disabled', 'disabled'); 23566 return false; 23567 } 23568 //small latters 23569 if (event.key == 'Enter' && event.keyCode == 13) { 23570 this.changePassword(); 23571 } 23572 } 23573 changePassword() { 23574 var password = $.trim($('#change-password').val().toString()); 23575 var passwordC = $.trim($("#changeConfirm-password").val().toString()); 23576 if (password == '' && password != passwordC) { 23577 return false; 23578 } 23579 this.checkLogin = true; 23580 var locationId = this.homepageService.getLocationId(); 23581 var auth = localStorage.getItem('token'); 23582 this.authService.resetTempPassword(password, locationId, auth).subscribe((data) => { 23583 if (data.status) { 23584 this.requiredChange = false; 23585 this.isNonComplaint = false; 23586 this.checkLogin = false; 23587 this.notifier.notify('success', data.message); 23588 localStorage.removeItem('requireChange'); 23589 localStorage.removeItem('isNonComplaint'); 23590 } 23591 else { 23592 this.notifier.notify('error', "Something went wrong!"); 23593 this.requiredChange = false; 23594 this.isNonComplaint = false; 23595 this.checkLogin = false; 23596 localStorage.removeItem('requireChange'); 23597 localStorage.removeItem('isNonComplaint'); 23598 } 23599 }); 23600 setTimeout(function () { 23601 $('#loginError').text(''); 23602 }, 4000); 23603 } 23604 //share link editor open 23605 shareLinkSettings(event) { 23606 this.linksEditors = false; 23607 this.contactEditor = false; 23608 if (this.shareLinkEditors == true) { 23609 this.shareLinkEditors = false; 23610 } 23611 else { 23612 this.shareLinkEditors = true; 23613 } 23614 } 23615 //links editor open... 23616 linkSettings(event) { 23617 this.shareLinkEditors = false; 23618 this.contactEditor = false; 23619 if (this.linksEditors == true) { 23620 this.linksEditors = false; 23621 } 23622 else { 23623 this.linksEditors = true; 23624 } 23625 } 23626 //contact links open... 23627 contactLinkSettings(event) { 23628 this.shareLinkEditors = false; 23629 this.linksEditors = false; 23630 if (this.contactEditor == true) { 23631 this.contactEditor = false; 23632 } 23633 else { 23634 this.contactEditor = true; 23635 } 23636 } 23637 // cancel editing 23638 cancelEditing() { 23639 this.shareLinkEditors = false; 23640 this.linksEditors = false; 23641 this.contactEditor = false; 23642 } 23643 // to save social links. 23644 saveSocialLinks(event) { 23645 $('#shareLinkEditors').find('input').removeClass('error'); 23646 $(event.target).attr('disabled', 'disabled').text('Saving....'); 23647 var fb = $.trim($('#selectFacebookInp').val().toString()); 23648 if (!this.is_url(fb) && fb != '') { 23649 $('#selectFacebookInp').addClass('error'); 23650 $(event.target).removeAttr('disabled').text('Save'); 23651 return false;
23652 } 23653 var twr = $.trim($('#selectTwitterInp').val().toString()); 23654 if (!this.is_url(twr) && twr != '') { 23655 $('#selectTwitterInp').addClass('error'); 23656 $(event.target).removeAttr('disabled').text('Save'); 23657 return false; 23658 } 23659 var pint = $.trim($('#selectInstaInp').val().toString()); 23660 if (!this.is_url(pint) && pint != '') { 23661 $('#selectInstaInp').addClass('error'); 23662 $(event.target).removeAttr('disabled').text('Save'); 23663 return false; 23664 } 23665 var insta = $.trim($('#selectPintrstInp').val().toString()); 23666 if (!this.is_url(insta) && insta != '') { 23667 $('#selectPintrstInp').addClass('error'); 23668 $(event.target).removeAttr('disabled').text('Save'); 23669 return false; 23670 } 23671 var token = localStorage.getItem('token'); 23672 this.homepageService.updateShareLinks(token, fb, twr, pint, insta).subscribe(data => { 23673 this.updateWidgetContent(event.target); 23674 }, (err) => { 23675 if (err.status !== 200) { 23676 $('#selectFacebookInp').parents('.SocialIconsEdit').before('<sapn>Something went wrong. Try again.</span>'); 23677 $(event.target).removeAttr('disabled').text('Save'); 23678 } 23679 }); 23680 } 23681 removeLink(event) { 23682 $(event.target).parents('.EditLinksFooter').remove(); 23683 return false; 23684 } 23685 addLink($event) { 23686 var html = $('#linksEditors').find('.EditLinksFooter:first').clone(); 23687 html.find('input').val(''); 23688 html.removeClass('hide'); 23689 $('#linksEditors').find('.EditLinksFooter:last').after(html); 23690 } 23691 saveLinks(event) { 23692 $(event.target).attr('disabled', 'disabled').text('Saving....'); 23693 $('body').find('.linkErrorFooter').remove(); 23694 let links = []; 23695 var thiss = this; 23696 var error = 0; 23697 $('#linksEditors').find('div.EditLinksFooter').each(function () { 23698 let link = {}; 23699 if ($.trim($(this).find('input[name="title"]').val().toString()) != '' && $.trim($(this).find('input[name="url"]').val().toString()) != '') { 23700 link['caption'] = $(this).find('input[name="title"]').val(); 23701 link['url'] = $(this).find('input[name="url"]').val(); 23702 if (thiss.is_url(link['url']) == false || link['url'] == '') { 23703 error++; 23704 $(this).append('<small class="text-danger linkErrorFooter">Please enter valid url.</small>'); 23705 } 23706 links.push(link); 23707 } 23708 }); 23709 if (error > 0) { 23710 $(event.target).removeAttr('disabled').text('Save'); 23711 return false; 23712 } 23713 var token = localStorage.getItem('token'); 23714 this.homepageService.updateFooterLinks(token, links).subscribe(data => { 23715 this.updateWidgetContent(event.target); 23716 }, (err) => { 23717 $('#linksEditors').find('.EditLinksFooter:first').before('<sapn>Something went wrong. Try again.</span>'); 23718 $(event.target).removeAttr('disabled').text('Save'); 23719 }); 23720 } 23721 //This will show password to user in password field. 23722 showPassword(event) { 23723 if ($(event.target).parents('.form-group').find('i.fas').hasClass('fa-eye')) { 23724 $(event.target).parents('.form-group').find('input').attr('type', 'password'); 23725 $(event.target).parents('.form-group').find('i.fas').removeClass('fa-eye').addClass('fa-eye-slash').removeClass('active'); 23726 } 23727 else { 23728 $(event.target).parents('.form-group').find('input').attr('type', 'text'); 23729 $(event.target).parents('.form-group').find('i.fas').addClass('fa-eye').addClass('active').removeClass('fa-eye-slash'); 23730 } 23731 } 23732 //This will save the contact information in footer. 23733 saveContact(event) { 23734 var phone = $.trim($('input[name="contact_phone"]').val().toString()); 23735 var email = $.trim($('input[name="contact_email"]').val().toString()); 23736 if (!this.validateEmail(email) && email != '') { 23737 $('input[name="contact_email"]').addClass('error'); 23738 return false;
23739 } 23740 var website = $.trim($('input[name="contact_website"]').val().toString()); 23741 if (!this.is_url(website) && website != '') { 23742 $('input[name="contact_website"]').addClass('error'); 23743 return false; 23744 } 23745 $(event.target).attr('disabled', 'disabled').text('Saving....'); 23746 var token = localStorage.getItem('token'); 23747 this.homepageService.updateFooterContact(token, phone, email, website).subscribe(data => { 23748 this.updateWidgetContent(event.target); 23749 }, (err) => { 23750 if (err.status !== 200) { 23751 $('input[name="contact_phone"]').before('<sapn>Something went wrong. Try again.</span>'); 23752 $(event.target).removeAttr('disabled').text('Save'); 23753 } 23754 }); 23755 } 23756 //this will update footer the widget content. 23757 updateWidgetContent(event) { 23758 this.homepageService.getConfig().subscribe((data) => { 23759 this.gloalSetting = data; 23760 this.shareLinkEditors = false; 23761 this.linksEditors = false; 23762 this.contactEditor = false; 23763 $(event).removeAttr('disabled').text('Save'); 23764 }); 23765 } 23766 //Function to verify if string is email or not, this will allow user to leave it blank. 23767 validateEmail(mail) { 23768 //checking for blank string too. 23769 if (mail.trim() == '') { 23770 return (false); 23771 } 23772 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)) { 23773 return (true); 23774 } 23775 return (false); 23776 } 23777 //Checking if url is https or not. 23778 is_url(str) { 23779 if (/^(f|ht)tps?:\/\//.test(str)) { 23780 return true; 23781 } 23782 else { 23783 return false; 23784 } 23785 } 23786 //Sending request to server to update email and open confirmation modal. 23787 changeEmail(event) { 23788 var email = $('#new-email').val(); 23789 var token = localStorage.getItem('token'); 23790 var locationId = this.homepageService.getLocationId(); 23791 if (email != '') { 23792 const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 23793 if (!re.test(String(email).toLowerCase())) { 23794 $('#emailError').html('<span class="text-danger small">Please enter valid email.</span>'); 23795 return false; 23796 } 23797 this.emailUpdateResMail = true; 23798 } 23799 else { 23800 $('#emailError').html('<span class="text-danger small">Please enter valid email.</span>'); 23801 return false; 23802 //this.emailUpdateResMail = false; 23803 } 23804 this.updatingEmail = true; 23805 this.authService.updateEmail(email, locationId, token).subscribe(response => { 23806 //console.log(response, 'SCCCSSS'); 23807 $('#closeChangeEmail').click(); 23808 this.updatingEmail = false; 23809 this.emailUpdateRes = true; 23810 }, (error) => { 23811 //console.log(error, 'ERRRRR'); 23812 }); 23813 } 23814 //Confirmation modal has button to resend verification link. 23815 //this will send verification again. 23816 resendUpdateEmail(event) { 23817 $(event.target).attr('disabled', 'disabled'); 23818 var token = localStorage.getItem('token'); 23819 var locationId = this.homepageService.getLocationId(); 23820 this.updatingEmail = true; 23821 this.authService.updateEmailResend(locationId, token).subscribe((response) => { 23822 this.updatingEmail = false; 23823 $('#messageSent').text(response.message); 23824 }, (error) => { 23825 //console.log(error, 'ERRRRR'); 23826 }); 23827 } 23828 //This will close email confirmation box. 23829 closeEmailRes() { 23830 this.emailUpdateRes = false; 23831 this.emailUpdateResMail = false; 23832 } 23833 getProfileDetail(access_token, locationId) { 23834 this.authService.getProfileDetail(access_token, locationId).subscribe(profile => { 23835 this.patronLoggedIn = true; 23836 this.checkLogin = false; 23837 // this.cookieService.set( 'info', JSON.stringify({'token' : '','detail' : profile.data }), 1,'/'); 23838 var auth = localStorage.getItem('token'); 23839 const profileData = profile.data; 23840 if (!profileData.patronNumber) { 23841 profileData.patronNumber = '998848'; 23842 } 23843 this.firstName = profileData.firstName; 23844 // localStorage.setItem('info', JSON.stringify({'token' : auth, 'detail' : profile.data })); 23845 localStorage.setItem('info', JSON.stringify({ 'token': auth, 'detail': profileData })); 23846 this.cookieService.set('patron', 'true', 1, '/'); 23847 this.cookieService.set('patronPermissions', JSON.stringify(profile.data.permission), 1, '/'); 23848 // this.cookieService.set( 'userDetail', JSON.stringify({'patronId': profile.data.patronId,'firstName': profile.data.firstName,'lastName': profile.data.lastName, 'email': profile.data.email}), 1,'/'); 23849 this.cookieService.set('userDetail', JSON.stringify({ 'patronId': profileData.patronId, 'firstName': profileData.firstName, 'lastName': profileData.lastName, 'email': profileData.email, 'patronNumber': profileData.patronNumber }), 1, '/'); 23850 $('#login-modal').find('#closelogin').trigger('click'); 23851 $('li#loginLi').removeClass('show').addClass('hide'); 23852 if (profile.data.profilePicture != '') { 23853 $('li#profileLi').find('img').attr('src', profile.data.profilePicture).removeClass('hide').addClass('show'); 23854 } 23855 else { 23856 $('li#profileLi').find('img').addClass('hide'); 23857 } 23858 $('li#profileLi').find('span').text(profile.data.firstName).removeClass('hide').addClass('show'); 23859 $('li#profileLi').addClass('show').removeClass('hide'); 23860 // $('#Publish-My-List').addClass('show').removeClass('hide'); 23861 $('li#myCollectionLi').addClass('show').removeClass('hide'); 23862 if (profile.data.permission.opacAdmin) { 23863 this.document.body.classList.add('login-patron'); 23864 } 23865 localStorage.setItem('selectedResourcesIds', JSON.stringify(profile.data.personalListResourceIds)); 23866 this.cookieService.set('MyLIstCount', profile.data.totalMyListCount, 1, '/'); 23867 if (profile.data.totalMyListCount > 0) { 23868 $('#Publish-My-List').removeClass('hide').addClass('show'); 23869 $('a.onViewList').removeClass('hide').addClass('show'); 23870 } 23871 $('#myCollectionLi').find('span.count').text(profile.data.totalMyListCount); 23872 this.homepageService.updateIsLogin(true); 23873 if (this.router.url.includes('/card')) { 23874 // window.location.reload(); 23875 this.homepageService.updateIsCardRoute(true); 23876 } 23877 else { 23878 setTimeout(() => { 23879 this.router.navigate(['']); 23880 }, 500); 23881 } 23882 }); 23883 } 23884 goToGoogleLogin(tenant, config) { 23885 var tempUrl = 'https://googlelogin.library.site/'; 23886 tempUrl += '?tenant=' + tenant + '&config=' + config; 23887 window.location.href = tempUrl; 23888 } 23889 getMicrosoftSsoConfig() { 23890 if (this.gloalSetting && 23891 this.gloalSetting.data && 23892 this.gloalSetting.data.settings && 23893 this.gloalSetting.data.settings.ssoLists && 23894 Array.isArray(this.gloalSetting.data.settings.ssoLists)) { 23895 for (let index = 0; index < this.gloalSetting.data.settings.ssoLists.length; index++) { 23896 const ssoItem = this.gloalSetting.data.settings.ssoLists[index]; 23897 const provider = ssoItem && (ssoItem.Provider || ssoItem.provider); 23898 if (ssoItem && 23899 provider && 23900 provider.toString().toLowerCase() === 'microsoftentra') { 23901 return ssoItem; 23902 } 23903 } 23904 } 23905 return null; 23906 } 23907 isMicrosoftSsoEnabled() { 23908 const microsoftSsoConfig = this.getMicrosoftSsoConfig(); 23909 const enabled = microsoftSsoConfig && (microsoftSsoConfig.Enabled || microsoftSsoConfig.enabled);
23910 if (typeof (enabled) === 'undefined') { 23911 return false; 23912 } 23913 return enabled === true || enabled === 'true'; 23914 } 23915 getMicrosoftTenantId() { 23916 const microsoftSsoConfig = this.getMicrosoftSsoConfig(); 23917 const tenantId = microsoftSsoConfig && (microsoftSsoConfig.TenantId || microsoftSsoConfig.tenantId); 23918 if (tenantId) { 23919 return tenantId; 23920 } 23921 return ''; 23922 } 23923 generateRandomString(length) { 23924 const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 23925 let result = ''; 23926 for (let index = 0; index < length; index++) { 23927 result += chars.charAt(Math.floor(Math.random() * chars.length)); 23928 } 23929 return result; 23930 } 23931 base64UrlEncode(buffer) { 23932 const bytes = new Uint8Array(buffer); 23933 let binary = ''; 23934 for (let index = 0; index < bytes.byteLength; index++) { 23935 binary += String.fromCharCode(bytes[index]); 23936 } 23937 return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); 23938 } 23939 generatePkceCodeChallenge(codeVerifier) { 23940 return __awaiter(this, void 0, void 0, function* () { 23941 const encoded = new TextEncoder().encode(codeVerifier);
23942 const digest = yield window.crypto.subtle.digest('SHA-256', encoded); 23943 return this.base64UrlEncode(digest); 23944 }); 23945 } 23946 goToMicrosoftLogin() { 23947 return __awaiter(this, void 0, void 0, function* () { 23948 if (!_environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso || !_environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso.clientId) { 23949 this.notifier.notify('error', 'Microsoft SSO is not configured.'); 23950 return; 23951 } 23952 if (!window.crypto || !window.crypto.subtle) { 23953 this.notifier.notify('error', 'Microsoft login is not supported in this browser.'); 23954 return; 23955 } 23956 const tenantId = this.getMicrosoftTenantId(); 23957 const authorityBase = (_environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso.authorityBaseUrl || 'https://login.microsoftonline.com').replace(/\/+$/, ''); 23958 const authorityPath = tenantId ? `${tenantId}/oauth2/v2.0` : 'common/oauth2/v2.0'; 23959 const authorizeUrl = `${authorityBase}/${authorityPath}/authorize`; 23960 const state = this.generateRandomString(32); 23961 const nonce = this.generateRandomString(32); 23962 const codeVerifier = this.generateRandomString(64); 23963 const codeChallenge = yield this.generatePkceCodeChallenge(codeVerifier); 23964 localStorage.setItem('ms_sso_state', state); 23965 localStorage.setItem('ms_sso_nonce', nonce); 23966 localStorage.setItem('ms_sso_code_verifier', codeVerifier); 23967 const redirectUri = _environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso.redirectUri || window.location.origin; 23968 localStorage.setItem('ms_sso_redirect_uri', redirectUri); 23969 const scope = _environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso.scope || 'openid profile email'; 23970 const params = new URLSearchParams({ 23971 client_id: _environments_environment__WEBPACK_IMPORTED_MODULE_5__.environment.microsoftSso.clientId, 23972 response_type: 'code', 23973 redirect_uri: redirectUri, 23974 response_mode: 'query', 23975 scope: scope, 23976 nonce: nonce, 23977 state: state, 23978 code_challenge: codeChallenge, 23979 code_challenge_method: 'S256', 23980 prompt: 'select_account' 23981 }); 23982 window.location.href = `${authorizeUrl}?${params.toString()}`; 23983 }); 23984 } 23985 closeLogin() { 23986 this.requirePassword = false; 23987 $("#login-email").val(''); 23988 } 23989}; 23990FooterComponent.ctorParameters = () => [ 23991 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_4__.NotifierService }, 23992 { type: _angular_router__WEBPACK_IMPORTED_MODULE_6__.Router }, 23993 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 23994 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 23995 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_3__.AuthService }, 23996 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 23997 { type: angular_user_idle__WEBPACK_IMPORTED_MODULE_10__.UserIdleService } 23998]; 23999FooterComponent.propDecorators = { 24000 loginElement: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.ViewChild, args: ['loginRef',] }] 24001}; 24002FooterComponent = __decorate([ 24003 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 24004 selector: 'app-footer', 24005 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_footer_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 24006 styles: [_footer_component_css__WEBPACK_IMPORTED_MODULE_1__] 24007 }) 24008], FooterComponent); 24009 24010 24011 24012/***/ }), 24013 24014/***/ 65441: 24015/*!**************************************************!*\ 24016 !*** ./src/app/share/header/header.component.ts ***! 24017 \**************************************************/ 24018/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 24019 24020"use strict"; 24021__webpack_require__.r(__webpack_exports__); 24022/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24023/* harmony export */ "HeaderComponent": function() { return /* binding */ HeaderComponent; } 24024/* harmony export */ }); 24025/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_header_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./header.component.html */ 8506); 24026/* harmony import */ var _header_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./header.component.css */ 62117); 24027/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 54364); 24028/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 2316); 24029/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/homepage.service */ 27150); 24030/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/search.service */ 84112); 24031/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/auth.service */ 37556); 24032/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 24033/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 71258); 24034/* harmony import */ var _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/widget-settings.service */ 71245); 24035/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! angular-notifier */ 53874); 24036var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 24037 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 24038 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 24039 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
24039 3 ? d(target, key, r) : d(target, key)) || r; 24040 return c > 3 && r && Object.defineProperty(target, key, r), r; 24041}; 24042 24043 24044 24045 24046 24047 24048 24049 24050 24051 24052 24053let HeaderComponent = class HeaderComponent { 24054 constructor(document, homepageService, cookieService, authService, router, activatedRoute, searchService, widgetSettingsService, notifierService) { 24055 this.document = document; 24056 this.homepageService = homepageService; 24057 this.cookieService = cookieService; 24058 this.authService = authService; 24059 this.router = router; 24060 this.activatedRoute = activatedRoute; 24061 this.searchService = searchService; 24062 this.widgetSettingsService = widgetSettingsService; 24063 this.googleError = ''; 24064 this.gloalSetting = []; 24065 this.profileDetail = []; 24066 this.showProfileMenu = false; 24067 this.totalIds = 0; 24068 this.recentSearch = ''; 24069 this.recentSearchCount = '0'; 24070 this.logoChoose = []; 24071 this.logoChooseShow = false; 24072 this.noUploadedLogo = false; 24073 this.showMyListop = false; 24074 this.fileToUpload = null; 24075 this.currntUrl = ''; 24076 this.searchSetting = []; 24077 this.publishToList = []; 24078 this.publishToOptionShow = false; 24079 this.curentLoc = []; 24080 this.publishResourceName = ''; 24081 this.publishResourceConfirure = null; 24082 this.publishResourceDescription = ''; 24083 this.publishResourceImage = ''; 24084 this.publishResourceStatus = false; 24085 this.publishDescriptionStatus = true; 24086 this.PulishFormReady = false; 24087 this.isUserLogin = false; 24088 this.imageError = ''; 24089 this.showDeleteConfirm = false; 24090 this.data = ''; 24091 this.dateFormat = "M/d/yyyy"; 24092 this.libraryCard = []; 24093 this.showMyMenuOptions = false; 24094 this.notifier = notifierService; 24095 this.router.events.subscribe((val) => { 24096 this.recentSearchCount = this.cookieService.get('recentSearchCunt'); 24097 if (this.cookieService.check('MyLIstCount')) { 24098 this.totalIds = this.cookieService.get('MyLIstCount'); 24099 //console.log("my list =="+ this.totalIds); 24100 } 24101 }); 24102 this.authService.logoutObservable$.subscribe(loggedOut => { 24103 if (loggedOut) { 24104 this.logout(); 24105 } 24106 }); 24107 this.homepageService.isLogin$.subscribe(resultList => { 24108 this.isLogin = resultList; 24109 this.checkPatron(); 24110 this.init(); 24111 }); 24112 } 24113 init() { 24114 var _a, _b, _c; 24115 if (localStorage.getItem('info')) { 24116 this.isLogin = true; 24117 //this.profileDetail = JSON.parse(this.cookieService.get( 'info')); 24118 this.profileDetail = JSON.parse(localStorage.getItem('info')); 24119 if (this.profileDetail.detail.permission.opacAdmin) { 24120 this.document.body.classList.add('login-patron'); 24121 } 24122 } 24123 else { 24124 this.profileDetail.detail = []; 24125 } 24126 if (this.cookieService.check('MyLIstCount')) { 24127 this.totalIds = this.cookieService.get('MyLIstCount'); 24128 //console.log("my list oninit =="+ this.totalIds); 24129 } 24130 var currentList = parseInt($('#myCollectionLi').find('span.count').text()); 24131 if (((_c = (_b = (_a = this.profileDetail) === null || _a === void 0 ? void 0 : _a.detail) === null || _b === void 0 ? void 0 : _b.permission) === null || _c === void 0 ? void 0 : _c.opacPublishResourceList) && currentList > 0) { 24132 $('#Publish-My-List').removeClass('show').addClass('hide'); 24133 } 24134 this.recentSearchCount = this.cookieService.get('recentSearchCunt'); 24135 this.gloalSetting = this.homepageService.getUpdatedConfig(); 24136 } 24137 ngOnInit() { 24138 this.screenWidth = window.innerWidth; 24139 this.screenHeight = window.innerHeight; 24140 if (this.screenWidth >= 991) { 24141 $('#libraryCard').css('display:none!important'); 24142 } 24143 else { 24144 $('#library-profile').css('display:none!important'); 24145 } 24146 this.checkPatron(); 24147 this.init(); 24148 } 24149 checkPatron() { 24150 if (this.cookieService.check('patron')) { 24151 this.isUserLogin = true; 24152 } 24153 else { 24154 this.isUserLogin = false;
24155 } 24156 } 24157 ngAfterViewInit() { 24158 this.activatedRoute.queryParams.subscribe(params => { 24159 if (typeof (params.error) != 'undefined' && params.error == 'googleLoginAborted') { 24160 setTimeout(function () { 24161 var button = $("a#loginLia"); 24162 button[0].click(); 24163 }, 1000); 24164 } 24165 }); 24166 } 24167 ngOnChanges(changes) { 24168 if (changes.googleError.currentValue != '') { 24169 setTimeout(function () { 24170 var button = $("a#loginLia"); 24171 button[0].click(); 24172 $('#loginError').text(changes.googleError.currentValue); 24173 }, 1000); 24174 } 24175 } 24176 changeLocation(location) { 24177 var key = 'selectedlocation' + this.gloalSetting.data.tenantCode.toLowerCase(); 24178 this.cookieService.set(key, location, 1, '/'); 24179 this.homepageService.setLocationId(location); 24180 var pagePath = window.location.href; 24181 if (pagePath.indexOf('/searchlist') == -1) { 24182 sessionStorage.setItem('lastSearchLocation', location); 24183 } 24184 } 24185 editLogobanner(event) { 24186 var originImage = $.trim($('#origin-logo').val().toString()); 24187 if (originImage != '') { 24188 $('.editwidgets-book.logo').find('.regularImage').attr('src', originImage); 24189 $('.editwidgets-book.logo').removeClass('removedImage').addClass('haveImage'); 24190 } 24191 if ($(event.target).hasClass('editLogobanner')) { 24192 $(event.target).toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 24193 } 24194 else { 24195 $(event.target).parent().toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 24196 } 24197 } 24198 showProfileMenuFn() { 24199 if ($('#profileLi').hasClass('open')) { 24200 $('#profileLi').removeClass('open'); 24201 this.showProfileMenu = false;
24202 } 24203 else { 24204 $('#profileLi').addClass('open'); 24205 $('#myCollectionLi').find('.dropdown-info.myList').removeClass('show').addClass('hide'); 24206 this.showProfileMenu = true; 24207 } 24208 } 24209 logout() { 24210 this.cookieService.deleteAll('/'); 24211 $('li#loginLi').addClass('show').removeClass('hide'); 24212 $('li#profileLi').removeClass('show').addClass('hide'); 24213 $('li#myCollectionLi').removeClass('show').addClass('hide'); 24214 localStorage.removeItem('info'); 24215 this.document.body.classList.remove('login-patron'); 24216 localStorage.removeItem('selectedResourcesIds'); 24217 localStorage.removeItem('token'); 24218 localStorage.removeItem("Session-Id"); 24219 window.location.href = "/"; 24220 //this.router.navigate(['/']); 24221 } 24222 removeImage(event, inputId) { 24223 $(event.target).parents('.editwidgets-book').removeClass('haveImage').addClass('removedImage'); 24224 $('#' + inputId).val(''); 24225 $('#origin-logo').val(''); 24226 } 24227 selectLogo(event) { 24228 var selectImage = $(event.target).attr('src'); 24229 $('#origin-logo').val(selectImage); 24230 $(event.target).parents('ul').find('li').removeClass('selected'); 24231 $(event.target).parent().addClass('selected'); 24232 $('.editwidgets-book.logo').find('.regularImage').attr('src', selectImage); 24233 $('.editwidgets-book.logo').removeClass('removedImage').addClass('haveImage'); 24234 $('#closeLogoChoose').trigger('click'); 24235 } 24236 visibleChoseLogo() { 24237 this.noUploadedLogo = false; 24238 //if(this.cookieService.check( 'info')){ 24239 if (localStorage.getItem('info')) { 24240 var token = localStorage.getItem('token'); 24241 } 24242 this.widgetSettingsService.logoListGet(token).subscribe((data) => { 24243 this.logoChoose = data; 24244 this.logoChooseShow = true; 24245 if (data.data.length > 0) { 24246 } 24247 else { 24248 this.noUploadedLogo = true; 24249 } 24250 }); 24251 } 24252 uploadImage(files) { 24253 $('#saveLogo').attr('disabled', 'disabled'); 24254 $('#cancelLogo').attr('disabled', 'disabled'); 24255 //if(this.cookieService.check( 'info')){ 24256 if (localStorage.getItem('info')) { 24257 var token = localStorage.getItem('token'); 24258 } 24259 this.fileToUpload = files.item(0); 24260 var validImageTypes = ["image/gif", "image/jpeg", "image/png", "image/jpg"]; 24261 var fileType = this.fileToUpload.type; 24262 var fileSizeTemp = this.fileToUpload.size; 24263 var fileSize = Math.round((fileSizeTemp) / (1024 * 1024)); 24264 if ($.inArray(fileType, validImageTypes) < 0) { 24265 this.imageError = 'Please use "jpeg", "jpg", "png" or "gif" image formats only.'; 24266 $('#imageError').addClass('show'); 24267 $('#saveLogo').removeAttr('disabled'); 24268 $('#cancelLogo').removeAttr('disabled'); 24269 return false; 24270 } 24271 if (fileSize >= 3) { 24272 this.imageError = 'Image size should be less than 3 MB.'; 24273 $('#imageError').addClass('show'); 24274 $('#saveLogo').removeAttr('disabled'); 24275 $('#cancelLogo').removeAttr('disabled'); 24276 return false; 24277 } 24278 let formData = new FormData(); 24279 formData.append('file', this.fileToUpload, this.fileToUpload.name); 24280 this.widgetSettingsService.logoUpload(token, formData).subscribe((data) => { 24281 if (data.status) { 24282 $('.editwidgets-book.logo').find('.regularImage').attr('src', data.data.links); 24283 $('#origin-logo').val(data.data.link); 24284 this.saveLogoSection($('#origin-logo')); 24285 } 24286 }, (error) => { 24287 this.notifier.notify('error', "Sorry! Something isn't working as expected."); 24288 $('#saveLogo').removeAttr('disabled'); 24289 $('#cancelLogo').removeAttr('disabled'); 24290 }); 24291 } 24292 saveLogoSection(event) { 24293 $('#saveLogo').text('Saving...').attr('disabled', 'disabled'); 24294 $('#cancelLogo').attr('disabled', 'disabled'); 24295 var line1 = $('#logoLine1').val(); 24296 var line2 = $('#logoLine2').val(); 24297 var image = $('#origin-logo').val(); 24298 //if(this.cookieService.check( 'info')){ 24299 if (localStorage.getItem('info')) { 24300 var token = localStorage.getItem('token'); 24301 } 24302 this.widgetSettingsService.saveLogoSection(true, line1, line2, image, token).subscribe((data) => { 24303 this.homepageService.getConfig().subscribe((data) => { 24304 this.gloalSetting = data; 24305 $('#saveLogo').text('Save').removeAttr('disabled'); 24306 $('#cancelLogo').removeAttr('disabled'); 24307 $('.editLogobanner.logo').toggleClass('open').next('.editLogobannerContent').toggleClass('open'); 24308 }); 24309 }); 24310 } 24311 showMyListOptions(event) { 24312 if ($('#myCollectionLi').find('.dropdown-info.myList').hasClass('show')) { 24313 $('#myCollectionLi').find('.dropdown-info.myList').removeClass('show').addClass('hide'); 24314 } 24315 else { 24316 $('#myCollectionLi').find('.dropdown-info.myList').addClass('show').removeClass('hide'); 24317 $('#profileLi').removeClass('open'); 24318 } 24319 } 24320 showDeleteConfirmation() { 24321 this.showDeleteConfirm = true; 24322 } 24323 hideDeleteConfirmation() { 24324 this.showDeleteConfirm = false;
24325 } 24326 emptyList() { 24327 this.showDeleteConfirm = false; 24328 this.cookieService.delete('tempPersonalCollection'); 24329 this.cookieService.delete('MyLIstCount'); 24330 $('.onViewList').removeClass('show').addClass('hide'); 24331 $('#Publish-My-List').removeClass('show').addClass('hide'); 24332 this.showMyListop = false; 24333 //if(this.cookieService.check( 'info')){ 24334 if (localStorage.getItem('info')) { 24335 var token = localStorage.getItem('token'); 24336 } 24337 if (token != null && typeof (token) != 'undefined') { 24338 this.homepageService.clearListLogin(token).subscribe((data) => { 24339 if (data.status) { 24340 localStorage.removeItem('selectedResourcesIds'); 24341 $('#myCollectionLi').find('span.count').text('0'); 24342 $('.book-box-bottom').each(function () { 24343 $(this).find('.btn-dander').removeClass('show').addClass('hide'); 24344 $(this).find('.btn-dander').prev('.btn.btn-primary').removeClass('hide').addClass('show'); 24345 }); 24346 $('.book-box-bottom-btn').each(function () { 24347 $(this).find('.btn-dander').removeClass('show').addClass('hide'); 24348 $(this).find('.btn-dander').prev('.btn.btn-primary').removeClass('hide').addClass('show'); 24349 }); 24350 $('#myCollectionLi').removeClass('show').addClass('hide'); 24351 if (window.location.pathname == '/list/my') { 24352 this.router.navigate(['/']); 24353 } 24354 } 24355 }); 24356 } 24357 else { 24358 localStorage.removeItem('selectedResourcesIds'); 24359 $('#myCollectionLi').find('span.count').text('0'); 24360 $('.book-box-bottom').each(function () { 24361 $(this).find('.btn-dander').removeClass('show').addClass('hide'); 24362 $(this).find('.btn-dander').prev('.btn.btn-primary').removeClass('hide').addClass('show'); 24363 }); 24364 $('.book-box-bottom-btn').each(function () { 24365 $(this).find('.btn-dander').removeClass('show').addClass('hide'); 24366 $(this).find('.btn-dander').prev('.btn.btn-primary').removeClass('hide').addClass('show'); 24367 }); 24368 $('.book-box-bottom').find('.btn-dander').removeClass('show').addClass('hide'); 24369 if (window.location.pathname == '/list/my') { 24370 this.router.navigate(['/']); 24371 } 24372 $('#myCollectionLi').removeClass('show').addClass('hide'); 24373 } 24374 } 24375 getPublishedReadingLists() { 24376 this.PulishFormReady = false; 24377 this.publishResourceStatus = false; 24378 this.publishToOptionShow = false; 24379 this.publishDescriptionStatus = true; 24380 this.publishResourceName = ''; 24381 this.publishResourceConfirure = null; 24382 this.publishResourceDescription = ''; 24383 this.publishResourceImage = ''; 24384 //if(this.cookieService.check( 'info')){ 24385 if (localStorage.getItem('info')) { 24386 var token = localStorage.getItem('token'); 24387 } 24388 if (this.cookieService.check('userDetail')) { 24389 var detail = JSON.parse(this.cookieService.get('userDetail')); 24390 this.patronId = detail.patronId; 24391 this.patronName = detail.firstName + ' ' + detail.lastName; 24392 } 24393 this.homepageService.getPublishedReadingLists(token).subscribe((list) => { 24394 this.publishToListlist = list.data; 24395 }); 24396 this.homepageService.getConfig().subscribe((data) => { 24397 this.PulishFormReady = true; 24398 var tenant = data.data.tenantCode.toLowerCase(); 24399 var selectedId = this.cookieService.get('selectedlocation' + tenant); 24400 this.totalLocations = data.data.settings.location.locations.length; 24401 data.data.settings.location.locations.forEach((loc) => { 24402 if (loc.id == selectedId) { 24403 this.curentLoc['id'] = loc.id; 24404 this.curentLoc['name'] = loc.name; 24405 } 24406 }); 24407 $('#publishToChange').trigger('change'); 24408 }); 24409 } 24410 publishToChange(option) { 24411 this.publishResourceStatus = true; 24412 if (option != '') { 24413 this.publishToOptionShow = true; 24414 //if(this.cookieService.check( 'info')){ 24415 if (localStorage.getItem('info')) { 24416 var token = localStorage.getItem('token'); 24417 } 24418 this.homepageService.getReadingListsDetail(option, token).subscribe((detail)
24418=> { 24419 this.publishResourceName = detail.data.name; 24420 this.publishResourceConfirure = detail.data.configurationId; 24421 this.publishResourceDescription = detail.data.description; 24422 this.publishResourceImage = detail.data.imageUrl; 24423 this.publishResourceStatus = false; 24424 }); 24425 } 24426 else { 24427 this.publishToOptionShow = false; 24428 this.publishResourceName = ''; 24429 this.publishResourceConfirure = null; 24430 this.publishResourceDescription = ''; 24431 this.publishResourceImage = ''; 24432 this.publishResourceStatus = false; 24433 } 24434 var listType = $('#publishToChange option:selected').attr('listType'); 24435 if (listType == 'P' || listType == 'N') { 24436 this.publishDescriptionStatus = false; 24437 } 24438 else { 24439 this.publishDescriptionStatus = true; 24440 } 24441 } 24442 savePublishToList() { 24443 var error = 0; 24444 var listType = $('#publishToChange option:selected').attr('listType'); 24445 var existingCollectionId = $('#publishToChange').val(); 24446 var operation = $('input[name="add_to"]:checked').val(); 24447 var resourceIds = JSON.parse(localStorage.getItem('selectedResourcesIds')); 24448 var name = $.trim($('#publishResourceName').val().toString()); 24449 if (name == '' && listType != 'N' && listType != 'P') { 24450 $('#publishResourceName').addClass('error'); 24451 $('#publishResourceName').after('<small class="error">Title is required.</small>'); 24452 error++; 24453 } 24454 var imageUrl = $('#publishResourceImage').val(); 24455 var locationId = $('input[name="PublishselectLocation"]:checked').val(); 24456 var description = $.trim($('#publishResourceDescription').val().toString()); 24457 if (description == '' && listType != 'N' && listType != 'P') { 24458 $('#publishResourceDescription').addClass('error'); 24459 $('#publishResourceDescription').after('<small class="error">Description is required.</small>'); 24460 error++; 24461 } 24462 var auth = localStorage.getItem('token'); 24463 if (error > 0) { 24464 $('.submit-btn').attr('disabled', 'disabled'); 24465 setTimeout(function () { 24466 $('#Publish-My-List-Modal').find('small.error').remove(); 24467 $('#Publish-My-List-Modal').find('.error').removeClass('error'); 24468 $('.submit-btn').removeAttr('disabled'); 24469 }, 3000); 24470 return false; 24471 } 24472 this.publishResourceStatus = true; 24473 if (listType == 'R') { 24474 this.homepageService.publishToreadingList(existingCollectionId, operation, resourceIds, name, description, imageUrl, locationId, auth).subscribe((data) => { 24475 if (data.status) { 24476 this.notifier.notify('success', data.message); 24477 $('#PublishMyListModalClose').trigger('click'); 24478 this.router.navigate(['/']); 24479 } 24480 this.publishResourceStatus = false; 24481 }); 24482 } 24483 else if (listType == 'N' || listType == 'P') { 24484 this.homepageService.publishToNewInLibrary(existingCollectionId, operation, resourceIds, name, auth).subscribe((data) => { 24485 if (data.status) { 24486 this.notifier.notify('success', data.message); 24487 $('#PublishMyListModalClose').trigger('click'); 24488 this.router.navigate(['/']); 24489 } 24490 this.publishResourceStatus = false; 24491 }); 24492 } 24493 else if (listType == 'A') { 24494 this.homepageService.publishToNewList(resourceIds, name, description, imageUrl, locationId, auth).subscribe((data) => { 24495 if (data.status) { 24496 this.notifier.notify('success', data.message); 24497 $('#PublishMyListModalClose').trigger('click'); 24498 this.router.navigate(['/']); 24499 } 24500 this.publishResourceStatus = false; 24501 }); 24502 } 24503 } 24504 uploadImagePublish(files) { 24505 this.publishResourceStatus = true; 24506 this.fileToUpload = files.item(0); 24507 let formData = new FormData();
24508 var validImageTypes = ["image/gif", "image/jpeg", "image/png", "image/jpg"]; 24509 var fileType = this.fileToUpload.type; 24510 if ($.inArray(fileType, validImageTypes) < 0) { 24511 this.imageError = 'Please use "jpeg", "jpg", "png" or "gif" image formats only.'; 24512 this.publishResourceStatus = true; 24513 return false; 24514 } 24515 formData.append('file', this.fileToUpload, this.fileToUpload.name); 24516 //if(this.cookieService.check( 'info')){ 24517 if (localStorage.getItem('info')) { 24518 var token = localStorage.getItem('token'); 24519 } 24520 this.homepageService.readingListImageUpload(formData, token).subscribe((data) => { 24521 this.publishResourceStatus = false; 24522 $('#publishResourceImage').attr('value', data.data.url); 24523 $('#publishResourceImage').parent().addClass('haveImage'); 24524 $('#publishResourceImage').parent().find('img.regularImage').removeClass('hide').removeClass('show').attr('src', data.data.url); 24525 }); 24526 } 24527 closeImageError() { 24528 $('#imageError').removeClass('show'); 24529 this.imageError = ''; 24530 } 24531 getLibraryCardDetail() { 24532 this.homepageService.getLibraryCard().subscribe((data) => { 24533 this.libraryCard = data.data; 24534 this.dateFormat = this.homepageService.formatDate(); 24535 this.colors = this.homepageService.bgColor(data.data.number); 24536 this.patronName = data.data.firstName + ' ' + data.data.lastName; 24537 this.imageName = this.homepageService.initialName(this.patronName); 24538 return this.libraryCard; 24539 }, (error) => { 24540 this.notifier.notify('error', "Something went wrong."); 24541 }); 24542 } 24543}; 24544HeaderComponent.ctorParameters = () => [ 24545 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.DOCUMENT,] }] }, 24546 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 24547 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 24548 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_4__.AuthService }, 24549 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router }, 24550 { type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute }, 24551 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 24552 { type: _services_widget_settings_service__WEBPACK_IMPORTED_MODULE_5__.WidgetSettingsService }, 24553 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_6__.NotifierService } 24554]; 24555HeaderComponent.propDecorators = { 24556 googleError: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_7__.Input }] 24557}; 24558HeaderComponent = __decorate([ 24559 (0,_angular_core__WEBPACK_IMPORTED_MODULE_7__.Component)({ 24560 selector: 'app-header', 24561 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_header_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 24562 styles: [_header_component_css__WEBPACK_IMPORTED_MODULE_1__] 24563 }) 24564], HeaderComponent); 24565 24566 24567 24568/***/ }), 24569 24570/***/ 53806: 24571/*!************************************************************!*\ 24572 !*** ./src/app/share/headerinner/headerinner.component.ts ***! 24573 \************************************************************/ 24574/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 24575 24576"use strict"; 24577__webpack_require__.r(__webpack_exports__); 24578/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24579/* harmony export */ "HeaderinnerComponent": function() { return /* binding */ HeaderinnerComponent; } 24580/* harmony export */ }); 24581/* harmony import */ var _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_headerinner_component_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./headerinner.component.html */ 71805); 24582/* harmony import */ var _headerinner_component_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./headerinner.component.css */ 95408); 24583/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common */ 54364); 24584/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 2316); 24585/* harmony import */ var _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/homepage.service */ 27150); 24586/* harmony import */ var _services_search_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/search.service */ 84112); 24587/* harmony import */ var _services_auth_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/auth.service */ 37556); 24588/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 71258); 24589/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-cookie-service */ 35602); 24590/* harmony import */ var angular_notifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! angular-notifier */ 53874); 24591var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 24592 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 24593 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 24594 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
24594 3 ? d(target, key, r) : d(target, key)) || r; 24595 return c > 3 && r && Object.defineProperty(target, key, r), r; 24596}; 24597 24598 24599 24600 24601 24602 24603 24604 24605 24606 24607 24608let HeaderinnerComponent = class HeaderinnerComponent { 24609 constructor(document, location, homepageService, authService, router, cookieService, activatedRoute, searchService, notifierService) { 24610 this.document = document; 24611 this.location = location; 24612 this.homepageService = homepageService; 24613 this.authService = authService; 24614 this.router = router; 24615 this.cookieService = cookieService; 24616 this.activatedRoute = activatedRoute; 24617 this.searchService = searchService; 24618 this.gloalSetting = []; 24619 this.profileDetail = []; 24620 this.showProfileMenu = false; 24621 this.totalIds = 0; 24622 this.recentSearch = ""; 24623 this.recentSearchCount = "0"; 24624 this.showMyListop = false; 24625 this.searchSetting = []; 24626 this.fileToUpload = null; 24627 this.publishToList = []; 24628 this.publishToOptionShow = false; 24629 this.curentLoc = []; 24630 this.publishResourceName = ""; 24631 this.publishResourceConfirure = null; 24632 this.publishResourceDescription = ""; 24633 this.publishResourceImage = ""; 24634 this.publishResourceStatus = false; 24635 this.publishDescriptionStatus = true; 24636 this.PulishFormReady = false; 24637 this.isUserLogin = false; 24638 this.facets = []; 24639 this.currentRoute = ""; 24640 this.showDeleteConfirm = false; 24641 this.libraryCard = []; 24642 this.dateFormat = "M/d/yyyy"; 24643 this.notifier = notifierService; 24644 this.router.events.subscribe((val) => { 24645 this.recentSearchCount = this.cookieService.get("recentSearchCunt"); 24646 /* if(localStorage.getItem('selectedResourcesIds') == null || JSON.parse(localStorage.getItem('selectedResourcesIds')).length <= 0){ 24647 $('#myCollectionLi').removeClass('show').addClass('hide'); 24648 } else { 24649 $('#myCollectionLi').removeClass('hide').addClass('show'); 24650 }*/ 24651 }); 24652 this.homepageService.isLogin$.subscribe((resultList) => { 24653 this.isLogin = resultList; 24654 this.checkPatron(); 24655 this.init(); 24656 }); 24657 this.authService.logoutObservable$.subscribe((loggedOut) => { 24658 if (loggedOut) { 24659 this.logout(); 24660 } 24661 }); 24662 } 24663 ngDoCheck() { 24664 if (this.router.url.includes('/list/my')) { 24665 $('#AddAllMyList').addClass('hide').removeClass('show'); 24666 $("#viewMyList").removeClass("show").addClass("hide"); 24667 } 24668 } 24669 init() { 24670 if (localStorage.getItem('info')) { 24671 this.isLogin = true; 24672 //this.profileDetail = JSON.parse(this.cookieService.get( 'info')); 24673 this.profileDetail = JSON.parse(localStorage.getItem('info')); 24674 if (this.profileDetail.detail.permission.opacAdmin) { 24675 this.document.body.classList.add('login-patron'); 24676 } 24677 } 24678 else { 24679 this.profileDetail.detail = []; 24680 } 24681 if (this.cookieService.check('MyLIstCount')) { 24682 this.totalIds = this.cookieService.get('MyLIstCount'); 24683 } 24684 this.gloalSetting = this.homepageService.getUpdatedConfig(); 24685 this.recentSearchCount = this.cookieService.get('recentSearchCunt'); 24686 } 24687 ngOnInit() { 24688 //if(this.cookieService.check( 'info')){ 24689 var checks = this.authService.checkLogin(); 24690 /*if(typeof(checks) != 'undefined'){ 24691 this.isLogin = true; 24692 this.profileDetail = this.authService.getProfileDetailInfo(); 24693 } else { 24694 this.isLogin = false; 24695 }*/ 24696 this.checkPatron(); 24697 this.init(); 24698 this.activatedRoute.queryParams.subscribe(params => { 24699 if (typeof (params.facets) != 'undefined' && params.facets != '') { 24700 var tempFactes = params.facets.split(","); 24701 for (var i = 0; i < tempFactes.length; i++) { 24702 var index = this.facets.indexOf(parseInt(tempFactes[i])); 24703 if (index < 0) { 24704 this.facets.push(parseInt(tempFactes[i])); 24705 } 24706 } 24707 } 24708 if (typeof (params.order) != 'undefined' && params.order != '') { 24709 this.sortWith = params.order;
24710 } 24711 }); 24712 } 24713 checkPatron() { 24714 if (this.cookieService.check('patron')) { 24715 this.isUserLogin = true; 24716 } 24717 else { 24718 this.isUserLogin = false; 24719 } 24720 } 24721 changeLocation(location) { 24722 this.searchSetting = this.homepageService.getUpdatedConfig(); 24723 var key = 'selectedlocation' + this.searchSetting.data.tenantCode.toLowerCase(); 24724 this.cookieService.set(key, location); 24725 this.homepageService.setLocationId(location); 24726 this.homepageService.updateLocation_(location); 24727 var pagePath = window.location.href; 24728 if (pagePath.indexOf("/searchlist") == -1) { 24729 sessionStorage.setItem("lastSearchLocation", location); 24730 } 24731 } 24732 showProfileMenuFn() { 24733 if ($("#profileLi").hasClass("open")) { 24734 $("#profileLi").removeClass("open"); 24735 this.showProfileMenu = false; 24736 } 24737 else { 24738 $("#profileLi").addClass("open"); 24739 $("#myCollectionLi") 24740 .find(".dropdown-info.myList") 24741 .removeClass("show") 24742 .addClass("hide"); 24743 this.showProfileMenu = true; 24744 } 24745 } 24746 logout() { 24747 this.cookieService.deleteAll("/"); 24748 $("li#loginLi").addClass("show").removeClass("hide"); 24749 $("li#profileLi").removeClass("show").addClass("hide"); 24750 $("li#myCollectionLi").removeClass("show").addClass("hide"); 24751 localStorage.removeItem("info"); 24752 this.document.body.classList.remove("login-patron"); 24753 localStorage.removeItem("selectedResourcesIds"); 24754 localStorage.removeItem("selectedResourcesIds"); 24755 localStorage.removeItem("Session-Id"); 24756 localStorage.removeItem("token"); 24757 window.location.href = "/"; 24758 } 24759 showMyListOptions(event) { 24760 if ($("#myCollectionLi").find(".dropdown-info.myList").hasClass("show")) { 24761 $("#myCollectionLi") 24762 .find(".dropdown-info.myList") 24763 .removeClass("show") 24764 .addClass("hide"); 24765 } 24766 else { 24767 //console.log('profile close'); 24768 $("#profileLi").removeClass("open"); 24769 $("#myCollectionLi") 24770 .find(".dropdown-info.myList") 24771 .addClass("show") 24772 .removeClass("hide"); 24773 } 24774 } 24775 showDeleteConfirmation() { 24776 this.showDeleteConfirm = true; 24777 } 24778 hideDeleteConfirmation() { 24779 this.showDeleteConfirm = false; 24780 } 24781 emptyList(event) { 24782 this.showDeleteConfirm = false; 24783 if (this.cookieService.check("tempPersonalCollection")) { 24784 var cacheKey = this.cookieService.get("tempPersonalCollection"); 24785 } 24786 else { 24787 var cacheKey = ""; 24788 } 24789 this.cookieService.delete("tempPersonalCollection"); 24790 this.cookieService.delete("MyLIstCount"); 24791 $(".onViewList").removeClass("show").addClass("hide"); 24792 $('#Publish-My-List').removeClass('show').addClass('hide'); 24793 this.showMyListop = false; 24794 //if(this.cookieService.check( 'info')){ 24795 if (localStorage.getItem("info")) { 24796 var token = localStorage.getItem("token"); 24797 this.homepageService.clearListLogin(token).subscribe((data) => { 24798 if (data.status) { 24799 localStorage.removeItem("selectedResourcesIds"); 24800 $("#myCollectionLi").find("span.count").text("0"); 24801 $(".book-box-bottom").each(function () { 24802 $(this).find(".btn-dander").removeClass("show").addClass("hide"); 24803 $(this) 24804 .find(".btn-dander") 24805 .prev(".btn.btn-primary") 24806 .removeClass("hide") 24807 .addClass("show"); 24808 }); 24809 $(".book-box-bottom-btn").each(function () { 24810 $(this).find(".btn-dander").removeClass("show").addClass("hide"); 24811 $(this) 24812 .find(".btn-dander") 24813 .prev(".btn.btn-primary") 24814 .removeClass("hide") 24815 .addClass("show"); 24816 }); 24817 if (window.location.pathname == "/list/my") { 24818 this.router.navigate(["/"]); 24819 } 24820 } 24821 }); 24822 } 24823 else { 24824 this.homepageService.clearListTemp(cacheKey).subscribe((data) => { 24825 localStorage.removeItem("selectedResourcesIds"); 24826 $("#myCollectionLi").find("span.count").text("0"); 24827 $(".book-box-bottom").each(function () { 24828 $(this).find(".btn-dander").removeClass("show").addClass("hide"); 24829 $(this) 24830 .find(".btn-dander") 24831 .prev(".btn.btn-primary") 24832 .removeClass("hide") 24833 .addClass("show"); 24834 }); 24835 $(".book-box-bottom-btn").each(function () { 24836 $(this).find(".btn-dander").removeClass("show").addClass("hide"); 24837 $(this) 24838 .find(".btn-dander") 24839 .prev(".btn.btn-primary") 24840 .removeClass("hide") 24841 .addClass("show"); 24842 }); 24843 $(".book-box-bottom") 24844 .find(".btn-dander") 24845 .removeClass("show") 24846 .addClass("hide"); 24847 if (window.location.pathname == "/list/my") { 24848 this.router.navigate(["/"]); 24849 } 24850 }); 24851 } 24852 } 24853 addAllMyList() { 24854 var allItems = [];
24855 var pagePath = window.location.href; 24856 if (pagePath.indexOf("/new") > -1) { 24857 this.currentRoute = "new"; 24858 } 24859 else if (pagePath.indexOf("/popular") > -1) { 24860 this.currentRoute = "popular"; 24861 } 24862 else { 24863 this.currentRoute = ""; 24864 } 24865 if (this.currentRoute == "new") { 24866 this.homepageService 24867 .getNewInLibararyPage("date", "true", 10000, this.facets.join()) 24868 .subscribe((data) => { 24869 data.data.resources.forEach((res) => { 24870 allItems.push(parseInt(res.resourceId)); 24871 }); 24872 if (this.cookieService.check("tempPersonalCollection")) { 24873 var cacheKey = this.cookieService.get("tempPersonalCollection"); 24874 } 24875 else { 24876 var cacheKey = ""; 24877 } 24878 this.homepageService 24879 .personalcollection(allItems, cacheKey) 24880 .subscribe((data) => { 24881 if (data.status) { 24882 if (localStorage.getItem("selectedResourcesIds") != null) { 24883 var storedIds = JSON.parse(localStorage.getItem("selectedResourcesIds")); 24884 storedIds.forEach((id) => { 24885 if (allItems.indexOf(id) < 0) { 24886 allItems.push(parseInt(id)); 24887 } 24888 }); 24889 } 24890 var currentList = 0; 24891 $(".onViewList").removeClass("hide").addClass("show"); 24892 $('#Publish-My-List').removeClass('hide').addClass('show'); 24893 $("#myCollectionLi").find("span.count").text(allItems.length); 24894 this.cookieService.set("MyLIstCount", JSON.stringify(allItems.length)); 24895 localStorage.setItem("selectedResourcesIds", JSON.stringify(allItems)); 24896 //if (!this.cookieService.check('info')) { 24897 this.removeAddToList(data); 24898 } 24899 }); 24900 }, (error) => { }); 24901 } 24902 else if (this.currentRoute == "popular") { 24903 this.homepageService 24904 .getPopularPage("date", "true", 10000, this.facets.join()) 24905 .subscribe((data) => { 24906 data.data.resources.forEach((res) => { 24907 allItems.push(parseInt(res.resourceId)); 24908 }); 24909 if (this.cookieService.check("tempPersonalCollection")) { 24910 var cacheKey = this.cookieService.get("tempPersonalCollection"); 24911 } 24912 else { 24913 var cacheKey = ""; 24914 } 24915 this.homepageService 24916 .personalcollection(allItems, cacheKey) 24917 .subscribe((data) => { 24918 if (data.status) { 24919 if (localStorage.getItem("selectedResourcesIds") != null) { 24920 var storedIds = JSON.parse(localStorage.getItem("selectedResourcesIds")); 24921 storedIds.forEach((id) => { 24922 if (allItems.indexOf(id) < 0) { 24923 allItems.push(parseInt(id)); 24924 } 24925 }); 24926 } 24927 var currentList = 0; 24928 $(".onViewList").removeClass("hide").addClass("show"); 24929 $('#Publish-My-List').removeClass('hide').addClass('show'); 24930 $("#myCollectionLi").find("span.count").text(allItems.length); 24931 this.cookieService.set("MyLIstCount", JSON.stringify(allItems.length)); 24932 localStorage.setItem("selectedResourcesIds", JSON.stringify(allItems)); 24933 // (!this.cookieService.check('info')) { 24934 this.removeAddToList(data); 24935 } 24936 }); 24937 }, (error) => { }); 24938 } 24939 else { 24940 $(".addButtonList").each(function () { 24941 var itemId = parseInt($(this).attr("resourceId")); 24942 allItems.push(itemId); 24943 $(".addButton" + itemId) 24944 .addClass("hide") 24945 .removeClass("show") 24946 .removeClass("fadeOutUp"); 24947 $(".removeButton" + itemId) 24948 .addClass("show") 24949 .removeClass("hide"); 24950 }); 24951 if (this.cookieService.check("tempPersonalCollection")) { 24952 var cacheKey = this.cookieService.get("tempPersonalCollection"); 24953 } 24954 else { 24955 var cacheKey = ""; 24956 } 24957 this.homepageService 24958 .personalcollection(allItems, cacheKey) 24959 .subscribe((data) => { 24960 if (data.status) { 24961 if (localStorage.getItem("selectedResourcesIds") != null) { 24962 var storedIds = JSON.parse(localStorage.getItem("selectedResourcesIds")); 24963 storedIds.forEach((id) => { 24964 if (allItems.indexOf(id) < 0) { 24965 allItems.push(parseInt(id)); 24966 } 24967 }); 24968 } 24969 var currentList = 0; 24970 $(".onViewList").removeClass("hide").addClass("show"); 24971 $('#Publish-My-List').removeClass('hide').addClass('show'); 24972 $("#myCollectionLi").find("span.count").text(allItems.length); 24973 this.cookieService.set("MyLIstCount", JSON.stringify(allItems.length)); 24974 localStorage.setItem("selectedResourcesIds", JSON.stringify(allItems)); 24975 //if (!this.cookieService.check('info')) { 24976 this.removeAddToList(data); 24977 } 24978 }); 24979 } 24980 } 24981 removeAddToList(data) { 24982 if (localStorage.getItem("info") != null) { 24983 if (data.data && data.data.cacheKey) { 24984 this.cookieService.set("tempPersonalCollection", data.data.cacheKey, 365, "/"); 24985 } 24986 } 24987 $(".book-box-bottom").each(function () { 24988 $(this).find(".btn-primary").removeClass("show").addClass("hide"); 24989 $(this) 24990 .find(".btn-primary") 24991 .prev(".btn.btn-dander") 24992 .removeClass("hide") 24993 .addClass("show"); 24994 }); 24995 $(".book-box-bottom-btn").each(function () { 24996 $(this).find(".btn-primary").removeClass("show").addClass("hide"); 24997 $(this) 24998 .find(".btn-primary") 24999 .prev(".btn.btn-dander") 25000 .removeClass("hide") 25001 .addClass("show"); 25002 }); 25003 $(".book-box-bottom") 25004 .find(".btn-dander") 25005 .removeClass("hide") 25006 .addClass("show"); 25007 } 25008 getPublishedReadingLists() { 25009 this.PulishFormReady = false;
25010 this.publishResourceStatus = false; 25011 this.publishToOptionShow = false; 25012 this.publishDescriptionStatus = true; 25013 this.publishResourceName = ""; 25014 this.publishResourceConfirure = null; 25015 this.publishResourceDescription = ""; 25016 this.publishResourceImage = ""; 25017 //if(this.cookieService.check( 'info')){ 25018 if (localStorage.getItem("info")) { 25019 var token = localStorage.getItem("token"); 25020 //var detail = JSON.parse(this.cookieService.get( 'info')).detail; 25021 var detail = JSON.parse(localStorage.getItem("info")).detail; 25022 this.patronId = detail.patronId; 25023 this.patronName = detail.firstName + " " + detail.lastName; 25024 } 25025 this.homepageService.getPublishedReadingLists(token).subscribe((list) => { 25026 this.publishToListlist = list.data; 25027 }); 25028 this.homepageService.getConfig().subscribe((data) => { 25029 this.PulishFormReady = true; 25030 var tenant = data.data.tenantCode.toLowerCase(); 25031 var selectedId = this.cookieService.get("selectedlocation" + tenant); 25032 this.totalLocations = data.data.settings.location.locations.length; 25033 data.data.settings.location.locations.forEach((loc) => { 25034 if (loc.id == selectedId) { 25035 this.curentLoc["id"] = loc.id; 25036 this.curentLoc["name"] = loc.name; 25037 } 25038 }); 25039 $("#publishToChange").trigger("change"); 25040 }); 25041 } 25042 publishToChange(option) { 25043 this.publishResourceStatus = true; 25044 if (option != "") { 25045 this.publishToOptionShow = true; 25046 //if(this.cookieService.check( 'info')){ 25047 if (localStorage.getItem("info")) { 25048 var token = localStorage.getItem("token"); 25049 } 25050 this.homepageService 25051 .getReadingListsDetail(option, token) 25052 .subscribe((detail) => { 25053 this.publishResourceName = detail.data.name; 25054 this.publishResourceConfirure = detail.data.configurationId; 25055 this.publishResourceDescription = detail.data.description; 25056 this.publishResourceImage = detail.data.imageUrl; 25057 this.publishResourceStatus = false; 25058 }); 25059 } 25060 else { 25061 this.publishToOptionShow = false; 25062 this.publishResourceName = ""; 25063 this.publishResourceConfirure = null; 25064 this.publishResourceDescription = ""; 25065 this.publishResourceImage = ""; 25066 this.publishResourceStatus = false; 25067 } 25068 var listType = $("#publishToChange option:selected").attr("listType"); 25069 if (listType == "P" || listType == "N") { 25070 this.publishDescriptionStatus = false; 25071 } 25072 else { 25073 this.publishDescriptionStatus = true; 25074 } 25075 } 25076 savePublishToList() { 25077 var error = 0; 25078 var listType = $("#publishToChange option:selected").attr("listType"); 25079 var existingCollectionId = $("#publishToChange").val(); 25080 var operation = $('input[name="add_to"]:checked').val(); 25081 var resourceIds = JSON.parse(localStorage.getItem("selectedResourcesIds")); 25082 var name = $.trim($("#publishResourceName").val().toString()); 25083 if (name == "" && listType != "N" && listType != "P") { 25084 $("#publishResourceName").addClass("error"); 25085 $("#publishResourceName").after('<small class="error">Title is required.</small>'); 25086 error++; 25087 } 25088 var imageUrl = $("#publishResourceImage").val(); 25089 var locationId = $('input[name="PublishselectLocation"]:checked').val(); 25090 var description = $.trim($("#publishResourceDescription").val().toString()); 25091 if (description == "" && listType != "N" && listType != "P") { 25092 $("#publishResourceDescription").addClass("error"); 25093 $("#publishResourceDescription").after('<small class="error">Description is required.</small>'); 25094 error++; 25095 } 25096 //if(this.cookieService.check( 'info')){ 25097 if (localStorage.getItem("info")) { 25098 var auth = localStorage.getItem("token"); 25099 } 25100 if (error > 0) { 25101 $(".submit-btn").attr("disabled", "disabled"); 25102 setTimeout(function () { 25103 $("#Publish-My-List-Modal").find("small.error").remove(); 25104 $("#Publish-My-List-Modal").find(".error").removeClass("error"); 25105 $(".submit-btn").removeAttr("disabled"); 25106 }, 3000); 25107 return false;
25108 } 25109 this.publishResourceStatus = true; 25110 if (listType == "R") { 25111 this.homepageService 25112 .publishToreadingList(existingCollectionId, operation, resourceIds, name, description, imageUrl, locationId, auth) 25113 .subscribe((data) => { 25114 if (data.status) { 25115 this.notifier.notify("success", data.message); 25116 $("#PublishMyListModalClose").trigger("click"); 25117 this.router.navigate(["/"]); 25118 } 25119 this.publishResourceStatus = false; 25120 }); 25121 } 25122 else if (listType == "N" || listType == "P") { 25123 this.homepageService 25124 .publishToNewInLibrary(existingCollectionId, operation, resourceIds, name, auth) 25125 .subscribe((data) => { 25126 if (data.status) { 25127 this.notifier.notify("success", data.message); 25128 $("#PublishMyListModalClose").trigger("click"); 25129 this.router.navigate(["/"]); 25130 } 25131 this.publishResourceStatus = false; 25132 }); 25133 } 25134 else if (listType == "A") { 25135 this.homepageService 25136 .publishToNewList(resourceIds, name, description, imageUrl, locationId, auth) 25137 .subscribe((data) => { 25138 if (data.status) { 25139 this.notifier.notify("success", data.message); 25140 $("#PublishMyListModalClose").trigger("click"); 25141 this.router.navigate(["/"]); 25142 } 25143 this.publishResourceStatus = false; 25144 }); 25145 } 25146 } 25147 uploadImagePublish(files) { 25148 this.publishResourceStatus = true; 25149 this.fileToUpload = files.item(0); 25150 let formData = new FormData(); 25151 formData.append("file", this.fileToUpload, this.fileToUpload.name); 25152 //if(this.cookieService.check( 'info')){ 25153 if (localStorage.getItem("info")) { 25154 var token = localStorage.getItem("token"); 25155 } 25156 this.homepageService 25157 .readingListImageUpload(formData, token) 25158 .subscribe((data) => { 25159 this.publishResourceStatus = false; 25160 $("#publishResourceImage").attr("value", data.data.url); 25161 $("#publishResourceImage").parent().addClass("haveImage"); 25162 $("#publishResourceImage") 25163 .parent() 25164 .find("img.regularImage") 25165 .removeClass("hide") 25166 .removeClass("show") 25167 .attr("src", data.data.url); 25168 }); 25169 } 25170 getLibraryCardDetail() { 25171 this.homepageService.getLibraryCard().subscribe((data) => { 25172 this.libraryCard = data.data; 25173 this.dateFormat = this.homepageService.formatDate(); 25174 this.colors = this.homepageService.bgColor(data.data.number); 25175 this.patronName = data.data.firstName + " " + data.data.lastName; 25176 this.imageName = this.homepageService.initialName(this.patronName); 25177 return this.libraryCard; 25178 }, (error) => { 25179 this.notifier.notify("error", "Something went wrong."); 25180 }); 25181 } 25182}; 25183HeaderinnerComponent.ctorParameters = () => [ 25184 { type: Document, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_6__.Inject, args: [_angular_common__WEBPACK_IMPORTED_MODULE_7__.DOCUMENT,] }] }, 25185 { type: _angular_common__WEBPACK_IMPORTED_MODULE_7__.Location }, 25186 { type: _services_homepage_service__WEBPACK_IMPORTED_MODULE_2__.HomepageService }, 25187 { type: _services_auth_service__WEBPACK_IMPORTED_MODULE_4__.AuthService }, 25188 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.Router }, 25189 { type: ngx_cookie_service__WEBPACK_IMPORTED_MODULE_9__.CookieService }, 25190 { type: _angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute }, 25191 { type: _services_search_service__WEBPACK_IMPORTED_MODULE_3__.SearchService }, 25192 { type: angular_notifier__WEBPACK_IMPORTED_MODULE_5__.NotifierService } 25193]; 25194HeaderinnerComponent = __decorate([ 25195 (0,_angular_core__WEBPACK_IMPORTED_MODULE_6__.Component)({ 25196 selector: "app-headerinner", 25197 template: _home_runner_work_Surpass_Cloud_OPAC_Surpass_Cloud_OPAC_node_modules_ngtools_webpack_src_loaders_direct_resource_js_headerinner_component_html__WEBPACK_IMPORTED_MODULE_0__.default, 25198 styles: [_headerinner_component_css__WEBPACK_IMPORTED_MODULE_1__] 25199 }) 25200], HeaderinnerComponent); 25201 25202 25203 25204/***/ }), 25205 25206/***/ 18977: 25207/*!******************************************!*\ 25208 !*** ./src/app/split-camel-case-pipe.ts ***! 25209 \******************************************/ 25210/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25211 25212"use strict"; 25213__webpack_require__.r(__webpack_exports__); 25214/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25215/* harmony export */ "SplitCamelCase": function() { return /* binding */ SplitCamelCase; } 25216/* harmony export */ }); 25217/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 25218var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 25219 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 25220 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 25221 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c >
25221 3 ? d(target, key, r) : d(target, key)) || r; 25222 return c > 3 && r && Object.defineProperty(target, key, r), r; 25223}; 25224 25225let SplitCamelCase = class SplitCamelCase { 25226 transform(value) { 25227 if (typeof value !== "string") { 25228 return value; 25229 } 25230 if (value == 'noveList') { 25231 return 'NoveList'; 25232 } 25233 var nameCapitalized = value.charAt(0).toUpperCase() + value.slice(1); 25234 return nameCapitalized.split(/(?=[A-Z])/).join(' '); 25235 } 25236}; 25237SplitCamelCase = __decorate([ 25238 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ name: 'splitCamelCase' }) 25239], SplitCamelCase); 25240 25241 25242 25243/***/ }), 25244 25245/***/ 92122: 25246/*!****************************************!*\ 25247 !*** ./src/app/test-highlight-pipe.ts ***! 25248 \****************************************/ 25249/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25250 25251"use strict"; 25252__webpack_require__.r(__webpack_exports__); 25253/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25254/* harmony export */ "HighlightSearch": function() { return /* binding */ HighlightSearch; } 25255/* harmony export */ }); 25256/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 2316); 25257var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { 25258 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 25259 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 25260 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 25261 return c > 3 && r && Object.defineProperty(target, key, r), r; 25262}; 25263 25264let HighlightSearch = class HighlightSearch { 25265 transform(value, args) { 25266 if (!args && value == null) { 25267 return value; 25268 } 25269 var tempString = value.split(/\s+/); 25270 var argTemp = args.replaceAll("\"", ""); 25271 var temp = argTemp.split(/\s+/); 25272 temp.forEach((data, index) => { 25273 var name = Object.keys(tempString).find(key => tempString[key].toLowerCase() === data.toLowerCase()); 25274 if (name) { 25275 tempString[name] = "<span class='highlight'>" + tempString[name] + "</span>"; 25276 //console.log(tempString[name]); 25277 } 25278 }); 25279 /*var count = 0; 25280 temp.forEach((data, index)=>{ 25281 var check = '<span class="highlight"></span>'; 25282 var re = new RegExp(data, 'gi'); //'gi' for case insensitive and 'g' for case sensitive. 25283 var checkMatch = tempString.match(re); 25284 if(checkMatch != null){ 25285 count++; 25286 } 25287 if(count < 2){ 25288 var res = tempString.match(re); 25289 tempString = tempString.replace(re, function(str) { 25290 return "<span class='highlight'>" + str + "</span>" 25291 }); 25292 } 25293 }); 25294 */ 25295 return tempString.join(' '); 25296 } 25297}; 25298HighlightSearch = __decorate([ 25299 (0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Pipe)({ 25300 name: 'HighlightSearch' 25301 }) 25302], HighlightSearch); 25303 25304 25305 25306/***/ }), 25307 25308/***/ 92340: 25309/*!*****************************************!*\ 25310 !*** ./src/environments/environment.ts ***! 25311 \*****************************************/ 25312/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25313 25314"use strict"; 25315__webpack_require__.r(__webpack_exports__); 25316/* harmony export */ __webpack_require__.d(__webpack_exports__, { 25317/* harmony export */ "environment": function() { return /* binding */ environment; } 25318/* harmony export */ }); 25319// This file can be replaced during build by using the `fileReplacements` array. 25320// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. 25321// The list of file replacements can be found in `angular.json`. 25322const environment = { 25323 production: false, 25324 baseUrl: window.location.origin, 25325 authApiUrl: 'https://auth.surpass.cloud/', 25326 //authApiUrl: 'https://auth.surpass.foo/', //for local with docker 25327 //authApiUrl: 'https://localhost:8051/v1/', for local 25328 apiUrl: 'https://api.library.site/v1/', 25329 //apiUrl: 'https://api.opac.foo/v1/', // your local API URL here 25330 //apiUrl: 'http://localhost:7051/v1/', // your local API URL here 25331 defaultTenant: 'pcs', 25332 defaultConfiguration: '*', 25333 microsoftSso: { 25334 enabled: true, 25335 clientId: '3d5058e4-8277-494d-a2ca-7c4f18404469', 25336 authorityBaseUrl: 'https://login.microsoftonline.com', 25337 redirectUri: window.location.origin, 25338 scope: 'openid profile email' 25339 }, 25340 appInsights: { 25341 instrumentationKey: '1b2e7921-d183-46b5-8130-10c8b7dada0d' 25342 } 25343}; 25344/* 25345 * In development mode, for easier debugging, you can ignore zone related error 25346 * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the 25347 * below file. Don't forget to comment it out in production mode 25348 * because it will have a performance impact when errors are thrown 25349 */ 25350// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. 25351 25352 25353/***/ }), 25354 25355/***/ 14431: 25356/*!*********************!*\ 25357 !*** ./src/main.ts ***! 25358 \*********************/ 25359/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25360 25361"use strict"; 25362__webpack_require__.r(__webpack_exports__); 25363/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 2316); 25364/* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ 61882); 25365/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app/app.module */ 36747); 25366/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environments/environment */ 92340); 25367 25368 25369 25370 25371(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)(); 25372if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) { 25373 (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)(); 25374} 25375(0,_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_3__.platformBrowserDynamic)().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule) 25376 .catch(err => console.log(err)); 25377 25378 25379/***/ }), 25380 25381/***/ 75158: 25382/*!***************************************************************************************************!*\ 25383 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/app.component.html ***! 25384 \***************************************************************************************************/ 25385/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25386 25387"use strict"; 25388__webpack_require__.r(__webpack_exports__); 25389/* harmony default export */ __webpack_exports__["default"] = ("<notifier-container></notifier-container>\n<router-outlet>\t</router-outlet>"); 25390 25391/***/ }), 25392 25393/***/ 95969: 25394/*!*****************************************************************************************************************************!*\ 25395 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/banner/banner.component.html ***! 25396 \*****************************************************************************************************************************/ 25397/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25398 25399"use strict"; 25400__webpack_require__.r(__webpack_exports__); 25401/* harmony default export */ __webpack_exports__["default"] = ("<section id=\"hero\" class=\"hero hero-home\" [ngClass]=\"banner.data.settings.appearance.banner.main.bannerSize == 'small' ? 'small-banner' : (banner.data.settings.appearance.banner.main.bannerSize == 'medium' ? 'medium-banner': '' ) \">\n <div class=\"overlay\"></div>\n\n\n <div *ngIf=\"Banner == 'Home'\"> \n <div class=\"loader-inner-container banner\" *ngIf=\"bannerChooseShow\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <!-- added new check in case of Custom banner is not rendered-->\n <img class=\"hero-img\" *ngIf=\"banner.data.settings.appearance.banner.main.img.indexOf('http') >= 0 && banner.data.settings.appearance.banner.main.img\" src=\"{{ banner.data.settings.appearance.banner.main.img }}\"/>\n <img class=\"hero-img\" *ngIf=\"banner.data.settings.appearance.banner.main.img.indexOf('http') == -1 && banner.data.settings.appearance.banner.main.img \" src=\"{{ banner.data.settings.appearance.banner.main.img }}\"/>\n <!-- added new check in case of Custom banner is not rendered-->\n\n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.main.img && !(theme == 'birthdayCake' || theme == 'playground' || theme == 'beach')\" src=\"/assets/theme/light/img/banner-main/header-img.jpg\"/> \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.main.img && (theme == 'birthdayCake' || theme == 'playground') \" src=\"/assets/theme/light/img/banner-main/header-kids1-img.jpg\"/> \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.main.img && (theme == 'beach') \" src=\"/assets/theme/light/img/banner-main/beach.jpg\"/> \n </div>\n\n <div *ngIf=\"Banner != 'Home'\"> \n <img class=\"hero-img\" *ngIf=\"banner.data.settings.appearance.banner.inner.img.indexOf('https') >= 0\" src=\"{{ banner.data.settings.appearance.banner.inner.img }}\"/>\n <img class=\"hero-img\" *ngIf=\"banner.data.settings.appearance.banner.inner.img.indexOf('https') == -1 && banner.data.settings.appearance.banner.inner.img\" src=\"/assets/theme/{{ banner.data.settings.appearance.banner.inner.img }}\"/> \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.inner.img && theme == 'summertime'\" src=\"/assets/theme/light/img/banner-inner/inner-page-banner.jpg\"/> \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.inner.img && theme == 'luna'\" src=\"/assets/theme/light/img/banner-inner/inner-page-banner-green.jpg\"/> \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.inner.img && theme == 'berry'\" src=\"/assets/theme/light/img/banner-inner/inner-page-banner-sleekandrelaxed.jpg\"/>
25401 \n <img class=\"hero-img\" *ngIf=\"!banner.data.settings.appearance.banner.inner.img && theme == 'mochablue'\" src=\"/assets/theme/light/img/banner-inner/inner-page-banner-violet.jpg\"/> \n </div>\n\n <div class=\"container inner\" *ngIf=\"Banner != 'Home'\">\n <div class=\"hero-text\" >\n <h1 *ngIf=\"bannerText == 'Explore' || bannerText == 'Review Detail' || bannerText == 'Bulletin Detail'\"> {{ bannerSubText }}</h1>\n \n <h1 *ngIf=\"bannerText != 'Explore' && bannerText != 'Bulletin Detail' && bannerText != '' && bannerText != 'Review Detail' \"> {{ bannerText }}</h1>\n\n <h2 *ngIf=\"bannerText != 'Explore' && bannerText != 'Bulletin Detail' && bannerText != 'Review Detail' && bannerText != 'Review Search' \"> {{ bannerSubText }}</h2>\n </div>\n</div>\n<div class=\"container\" *ngIf=\"Banner == 'Home'\">\n <div class=\"hero-text\" *ngIf=\"theme == 'playground' || theme == 'birthdayCake' \">\n <h1 [innerHTML] = \"banner.data.settings.appearance.banner.main.line1 | ChildThemetext : banner.data.settings.appearance.banner.main.line2\"></h1>\n </div>\n <div class=\"hero-text\" *ngIf=\"theme != 'playground' && theme != 'birthdayCake' \">\n <h1>{{ banner.data.settings.appearance.banner.main.line1}} <span>{{ banner.data.settings.appearance.banner.main.line2}}</span> </h1>\n </div>\n</div>\n\n\n\n<div class=\"editLogobannerMain\"><button (click) = \"editLogobanner($event)\" type=\"button\" class=\"editLogobanner banner\"><i class=\"fa fa-camera\" aria-hidden=\"true\"></i></button>\n <div class=\"editLogobannerContent\">\n <input type=\"text\" class=\"form-control\" value=\"{{ banner.data.settings.appearance.banner.main.line1 }}\" id=\"bannerLine1\" >\n <input type=\"text\" class=\"form-control\" value=\"{{ banner.data.settings.appearance.banner.main.line2 }}\" id=\"bannerLine2\">\n <input type=\"hidden\" name=\"origin-banner\" id=\"origin-banner\" value=\"{{ banner.data.settings.appearance.banner.main.img }}\" >\n <input type=\"hidden\" name=\"origin-banner-temp\" id=\"origin-banner-temp\" value=\"\" >\n <div class=\"btn-file-main\">\n <a (click) =\"visibleChoseBanner()\" class=\"btn-file\" href=\"#Banner-Choose-Modal\" role=\"button\" data-toggle=\"modal\">Choose Library Banner</a>\n <span class=\"btn-file pull-right\"><span class=\"bannerUploaderSpan\">Upload Library Banner</span> <input type=\"file\" name=\"uploadBanner\" (change)=\"uploadImage($event.target.files)\" accept=\"image/*\"></span>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12 col-lg-12 authorDiv\" >\n <label>Banner Size: </label>\n </div>\n <div class=\"col-md-12 col-lg-12\">\n <select class=\"form-control\" id=\"smallBanner\" (change)=\"smallBannerChange($event)\">\n <option value=\"small\" [selected] = \"banner.data.settings.appearance.banner.main.bannerSize == 'small'? 'selected' : ''\">Small</option>\n <option value=\"medium\" [selected] = \"banner.data.settings.appearance.banner.main.bannerSize == 'medium'? 'selected' : ''\">Medium</option>\n <option value=\"large\" [selected] = \"(banner.data.settings.appearance.banner.main.bannerSize == 'large' || banner.data.settings.appearance.banner.main.bannerSize == '' ) ? 'selected' : ''\">Large</option>\n </select>\n </div>\n <!--div class=\"material-checkbox mt-0\">\n <label>\n <input type=\"checkbox\" id=\"smallBanner\" (click)=\"smallBannerChange()\" [checked]=\"banner.data.settings.appearance.banner.main.isSmallBanner\"/>\n <i class=\"material-helper\"></i>Small Banner\n </label>\n </div-->\n \n </div>\n <button class=\"btn btn-danger\" id=\"bannerCancel\" (click) = \"editLogobanner($event)\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" id=\"bannerSave\" (click) = \"saveBannerSection($event)\">Save</button>\n </div>\n</div>\n\n\n\n<!-- <div class=\"editLogobannerMain\"> \n <div class=\"editLogobannerContent\">\n <a (click) =\"visibleChoseBanner()\" class=\"form-control btn-file\" href=\"#Banner-Choose-Modal\" role=\"button\" data-toggle=\"modal\">Choose Library Banner</a>
25401\n <span class=\"form-control btn-file\">Upload Library Banner <input type=\"file\"></span>\n </div>\n</div> -->\n\n</section>\n\n <!-- Choose Logo -->\n <div class=\"modal fade choose-image\" id=\"Banner-Choose-Modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <button (click)=\"closeModal()\" id=\"closeBannerChoose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button> \n <div class=\"modal-body\">\n <div class=\"loader-inner-container\" *ngIf=\"!bannerChooseShow\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n \n <ul class=\"ChooseLogo\" *ngIf=\"bannerChooseShow\" >\n <li *ngIf= \"theme != 'playground' && theme != 'birthdayCake' && theme != 'beach'\" [ngClass]=\"banner.data.settings.appearance.banner.main.img ==''? 'selected' : ''\"> <img src=\"/assets/theme/light/img/banner-main/header-img.jpg\" (click) = \"selectBanner($event)\">\n <input type=\"hidden\" value=\"\" name=\"bannerImage\">\n </li>\n <li *ngIf= \"theme == 'playground' || theme == 'birthdayCake' \" [ngClass]=\"banner.data.settings.appearance.banner.main.img ==''? 'selected' : ''\"> <img src=\"/assets/theme/light/img/banner-main/header-kids1-img.jpg\" (click) = \"selectBanner($event)\">\n <input type=\"hidden\" value=\"\" name=\"bannerImage\">\n </li>\n <li *ngIf= \"theme == 'beach' \" [ngClass]=\"banner.data.settings.appearance.banner.main.img ==''? 'selected' : ''\"> <img src=\"/assets/theme/light/img/banner-main/beach.jpg\" (click) = \"selectBanner($event)\">\n <input type=\"hidden\" value=\"\" name=\"bannerImage\">\n </li>\n <li *ngFor=\"let logo of bannerChoose.data\" [ngClass]=\"banner.data.settings.appearance.banner.main.img == logo.image ? 'selected' : ''\">\n <img src=\"{{ logo.thumbnail }}\" (click) = \"selectBanner($event)\">\n <input type=\"hidden\" value=\"{{ logo.image }}\" name=\"bannerImage\">\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- Choose Logo -->\n <!-- Image error popup -->\n <div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"imageErrorBanner\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Image Error</h4>\n </div>\n <div class=\"modal-body\">\n <p>{{imageError}}</p>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click)=\"closeImageError()\">OK</button>\n </div>\n </div>\n </div>\n </div>\n <!-- Image Error pop up -->"); 25402 25403/***/ }), 25404 25405/***/ 73685: 25406/*!***********************************************************************************************************************************!*\ 25407 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/bulletins/bulletins.component.html ***! 25408 \***********************************************************************************************************************************/ 25409/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25410 25411"use strict"; 25412__webpack_require__.r(__webpack_exports__); 25413/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\" *ngIf=\"bulletinlist[0]\">\n <div class=\"two-clum-block\">\n <h3 class=\"text-heading text-left\">{{ bulletinlist.caption }}</h3>\n <!-- <hr class=\"dot-divdr\"> -->\n <ul class=\"two-clum-list\">\n\n <li *ngFor=\"let item of bulletinlist; let i = index\">\n <a class=\"text-widgets-list\" routerLink=\"/bulletin/{{ item.id }}\">\n <h4 *ngIf=\"item.caption\">{{item.caption}}</h4>\n <p [innerHTML]=\" item.content | removeHTML \"></p> \n \n </a>\n </li> \n </ul>\n <div class=\"text-right\"> <a [routerLink] = \"['/bulletins']\" class=\"btn btn-primary\">All bulletins <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n </div>\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\" *ngIf=\"!bulletinlist[0]\">
25413\n <span class=\"text-center\">No bulletin list available yet</span>\n </div>\n </section>"); 25414 25415/***/ }), 25416 25417/***/ 50229: 25418/*!*********************************************************************************************************************************************!*\ 25419 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/bulletinsingle/bulletinsingle.component.html ***! 25420 \*********************************************************************************************************************************************/ 25421/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25422 25423"use strict"; 25424__webpack_require__.r(__webpack_exports__); 25425/* harmony default export */ __webpack_exports__["default"] = (" \n<section class=\"widgets select-box\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\" *ngIf=\"bulletinlist\">\n <div class=\"two-clum-block\">\n <!-- <h3 class=\"text-heading text-left\">Bulletins</h3> -->\n <h3 class=\"text-heading text-left\" *ngIf=\"bulletinlist?.caption\">{{bulletinlist.caption}}</h3>\n <ul class=\"two-clum-list\">\n <li>\n <a class=\"text-widgets-lista \" routerLink=\"/bulletin/{{ bulletinlist.id }}\">\n \n <div style=\"overflow: hidden;\" [innerHTML]=\"bulletinlist?.content | keepHtml\"></div> \n </a>\n </li> \n </ul>\n </div>\n </div>\n </section>"); 25426 25427/***/ }), 25428 25429/***/ 97510: 25430/*!*****************************************************************************************************************************!*\ 25431 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/e-book/e-book.component.html ***! 25432 \*****************************************************************************************************************************/ 25433/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25434 25435"use strict"; 25436__webpack_require__.r(__webpack_exports__); 25437/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets text-list select-box\" >\n\t<div *ngIf=\"Setting.message\">\n\t\t<div class=\"btn-group edit-widgets-btn\">\n\t\t\t<button type=\"button\" class=\"btn btn-move\"><i class=\"fa fa-arrows-alt\"></i></button>\n\t\t\t<button type=\"button\" class=\"btn btn-edit\"><i class=\"fa fa-pencil-square-o\"></i></button>\n\t\t\t<button type=\"button\" class=\"btn btn-remove\"><i class=\"fa fa-times\"></i></button>\n\t\t</div>\n\t\t<div class=\"container-fluid mb-5\">\n\t\t\t{{ Setting.message }}\n\t\t\t<hr class=\"dot-divdr\">\n\t\t</div>\n\t</div>\n</section>"); 25438 25439/***/ }), 25440 25441/***/ 26531: 25442/*!*****************************************************************************************************************************!*\ 25443 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/events/events.component.html ***! 25444 \*****************************************************************************************************************************/ 25445/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25446 25447"use strict"; 25448__webpack_require__.r(__webpack_exports__); 25449/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box library-calendar\">\n <div *ngIf=\"eventsList.closedDaysOfWeek\">\n <div class=\"container\">\n <h2 class=\"page-heading text-center\"><span>Library Calendar </span></h2>\n <div class=\"calendar\">\n <div class=\"row\">\n <div class=\"col-lg-8 col-md-8 col-sm-12 col-12\">\n <div class=\"calendar-block\">\n\n <div *ngIf=\"calendarOptions\">\n \t<ng-fullcalendar #ucCalendar [options]=\"calendarOptions\" (eventClick)=\"eventClick($event.detail)\" (dayRender) = \"dayRender($event)\" (eventDrop)=\"updateEvent($event.detail)\" (eventResize)=\"updateEvent($event.detail)\" (clickButton)=\"clickButton($event.detail)\" ></ng-fullcalendar>\n\t</div> \n\t</div>\n </div>\n <div class=\"col-lg-4 col-md-4 col-sm-12 col-12\">\n <div class=\"event-list\">\n <h1 class=\"block-heading text-center pt-3\">Events this Month</h1>\n <ul class=\"event-notes\" *ngIf=\"isResponse\">\n <li *ngFor=\"let item of eventsList.events; let i = index\" [ngClass]=\"item.closed == true? '': 'eventopen'\" (click)=\"showDetail
25449s(item.description, item.name, item.date, item.endDate, item.bulletinId)\" href=\"#calendarDetail\" role=\"button\" data-toggle=\"modal\">\n <div class=\"eventList\">\n <span class=\"title\" >{{ item.name }} </span>\n <!--span class=\"title\" *ngIf=\"item.bulletinId !== null\"><a [routerLink]=\"['/bulletin/',item.bulletinId]\">{{ item.name }}</a> </span-->\n <!--span class=\"description\">{{ item.description }} </span-->\n <span *ngIf=\"item.endDate != item.date && item.endDate != null\" class=\"pull-right\"> - {{ item.endDate | date: dateFormat }}</span>\n <span class=\"pull-right\">{{ item.date | date: dateFormat }}</span>\n </div>\n </li>\n <li *ngIf=\"!eventsEnableList[0]\" class=\"note\">There are no events scheduled for this month.</li>\n </ul>\n\n <div class=\"loader-inner\" *ngIf=\"!isResponse\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-4\" *ngIf=\"messageInfo\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\">\n <div class=\"library-note\" >\n {{ messageInfo }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<!--event details-->\n<div class=\"modal fade\" id=\"calendarDetail\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" >\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Event Details</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group mB0\">\n <label>Title</label>\n <p>{{eventTitle}} <span class=\"pull-right\" *ngIf=\"eventEndDate != eventDate\"> - {{eventEndDate | date: dateFormat }}</span><span class=\"pull-right\">{{eventDate | date: dateFormat }}</span></p>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventDescription\">\n <label>Description </label>\n <p [innerHTML]=\"eventDescription\"></p>\n\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventLink != null \">\n <label>Link</label>\n <p><a data-dismiss=\"modal\" aria-label=\"Close\" [routerLink]=\"['/bulletin/',eventLink]\">{{locationName}}/bulletin/{{ eventLink }}</a></p>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button class=\"btn btn-primary pull-right\" data-dismiss=\"modal\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n </div>\n</div>\n<!-- event details -->\n\n<!-- Pop up for detail of events -->\n <div class=\"modal fade\" id=\"link-copy-modal\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" [ngClass]=\"showDetailsCalendar ? 'in show': '' \">\n <div class=\"modal-dialog modal-md\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Event Details</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\" [ngClass]=\"eventForDetails.length == 1 ? 'mB0':''\">\n <label>Title</label>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <select *ngIf=\"eventForDetails.length > 1\" type=\"text\" class=\"form-control\" (change)=\"currentEvent($event)\">\n <option *ngFor=\"let event of eventForDetails; let i = index;\" value=\"{{i}}\">{{event.name}}</option>\n </select>\n <p *ngIf=\"eventForDetails.length == 1\">{{eventForDetails[0].name}}</p>\n </div>\n <div class=\"col-md-6\"><p><span class=\"pull-right\" *ngIf=\"eventForDetails.length > 0 && eventForDetails[0]?.endDate != eventForDetails[0]?.date \"> - {{eventForDetails[0]?.endDate | date: dateFormat }}</span><span class=\"pull-right\" *ngIf=\"eventForDetails.length > 0\">{{eventForDetails[0]?.date | date: dateFormat }}</span></p></div>\n </div>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventDescription\">\n <label>Description</label>\n <p [innerHTML]=\"eventDescription\"></p>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventLink != null \">\n <label>Link</label>\n <p><a data-dismiss=\"modal\" aria-label=\"Close\" [routerLink]=\"['/bulletin/',eventLink]\">{{locationName}}/bulletin/{{ eventLink }}</a></p>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button id=\"link-copy-modal-close\" class=\"btn btn-primary mr-2 pull-right\" data-dismiss=\"modal\" type=\"button\" (click)=\"hideDetailsCalendar(
25449)\">Close</button>\n </div>\n </div>\n </div>\n </div>\n</section>\n"); 25450 25451/***/ }), 25452 25453/***/ 27006: 25454/*!*************************************************************************************************************************************!*\ 25455 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/explorewgt/explorewgt.component.html ***! 25456 \*************************************************************************************************************************************/ 25457/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25458 25459"use strict"; 25460__webpack_require__.r(__webpack_exports__); 25461/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets explore-page explore select-box\">\n <div *ngIf=\"exploreData\">\n <div class=\"container-fluid\">\n <h1 class=\"page-heading text-center\"><a [routerLink] =\"['/explore/',pageId]\">\n <span *ngIf=\"exploreData.caption != 'Home'\">{{ exploreData.caption }}</span>\n <span *ngIf=\"exploreData.caption == 'Home'\">Explore</span>\n </a></h1>\n <div class=\"row\">\n <div [ngClass]=\"[!explore.visible? 'buttonDisable' : '',size == 'H'? 'col-md-3 col-sm-4 col-6' : 'col-lg-2 col-sm-4 col-6']\" class=\"\" *ngFor=\"let explore of exploreData.buttons\">\n <a *ngIf=\"explore.action == 'V'\" [routerLink] = \"['/explore', explore.target ]\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'E'\" [routerLink] = \"['/searchreview']\" [queryParams]=\"stringToQuerySearchReviewUrl(explore.target)\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'L'\" [routerLink] = \"['/resource/list/', explore.target ]\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n\n\n <a *ngIf=\"explore.action == 'P'\" [routerLink] = \"['/popular' ]\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n <a *ngIf=\"explore.action == 'N'\" [routerLink] = \"['/new' ]\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n <a *ngIf=\"explore.action == 'R'\" [routerLink] = \"['/reading-lists' ]\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n <a *ngIf=\"explore.action == 'U'\" href = \"{{ explore.target }}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n\n <a *ngIf=\"explore.action == 'S'\" [routerLink] = \"['/searchlist']\" [queryParams]=\"queryToJson(explore.target)\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n \n </div> \n\n </div>\n </div>\n</div>\n</section>"); 25462 25463/***/ }), 25464 25465/***/ 32666: 25466/*!*********************************************************************************************************************************!*\ 25467 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/homepage/homepage.component.html ***! 25468 \*********************************************************************************************************************************/ 25469/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25470 25471"use strict"; 25472__webpack_require__.r(__webpack_exports__); 25473/* harmony default export */ __webpack_exports__["default"] = ("<main class=\"example-list\">\n\n<div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n<div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n</div>\n</div>\n<!-- cdkDrag -->\n<div [sortablejs]=\"widgetsSetting.data\" [sortablejsOptions]=\"option\">\n<ng-container *ngFor=\"let widgrts of widgetsSetting.data\">\n<span #spanElement [style.margin-bottom.px]=\"calculateSpanElementMargin(widgrts, spanElement)\" class=\"example-box width_{{ widgrts.settings.width }} layout_{{ widgrts.settings.view }} {{ widgrts.code }} \" id=\"{{ widgrts.code }}\" attr.wid=\"{{ widgrts.id }}\">\n\n<div class=\"btn-group edit-widgets-btn\">\n <button cdkDragHandle type=\"button\" class=\"btn btn-move my-handle\"><i class=\"fa fa-arrows-alt\"></i></button>\n <button type=\"button\" (click) = \"editLogobanner($event)\" class=\"btn btn-edit\"><i class=\"fa fa-pencil-square-o\"></i></button>\n <button type=\"button\" class=\"btn btn-remove\" (click) = \"showDeleteConfirmation($event,widgrts.id)\"><i class=\"fa fa-times\"></i></button>\n</div>\n\n<!-- New in Libarary widget setting -->\n <div class=\"editwidgets\" *ngIf=\"widgrts.code === 'NW'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>New in Library</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"NewInLibarayId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('card')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"NewInLibarayView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'C'? 'checked' : null\" value=\"C\" />Grid</label> \n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('carousel')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"NewInLibarayView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'H'? 'checked' : null\" value=\"H\"/>Carousel</label>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"NewInLibaraySize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}\" [attr.selected]=\"option==widgrts.settings.size ? true : null\"> {{ option }}</option>\n </select>\n </div> \n \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveNewInLibaraySetting($event)\">\n </div>\n </div>\n </div>\n <!-- New in Libarary widget setting -->\n\n <!-- Popular Widget widget setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'PT'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Popular Titles</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"PopularTitlesId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('card')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"PopularTitlesView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'C'? 'checked' : null\" value=\"C\" />Grid</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('carousel')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"PopularTitlesView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'H'? 'checked' : null\" value=\"H\"/>Carousel</label>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"PopularTitlesSize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}\" [attr.selected]=\"option==widgrts.settings.size ? true : null\"> {{ option }}</option>\n </select>\n </div> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"savePopularTitlesSetting($event)\">\n\n </div>\n </div>\n</div>\n<!-- Popular Widget widget setting -->\n\n<!-- Recommended for You widget setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'RY'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Recommended for You</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"RecommendedForYouId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('card')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"RecommendedForYouView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'C'? 'checked' : null\" value=\"C\" />Grid</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('carousel')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"RecommendedForYouView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'H'? 'checked' : null\" value=\"H\"/>Carousel</label>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"RecommendedForYouSize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}\" [attr.selected]=\"option==widgrts.settings.size ? true : null\"> {{ option }}</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label>When the patron is not logged in or has no recommendations</label>\n <div>\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"RecommendedForYouFallback{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.fallback == 'Hide'? 'checked' : null\" value=\"Hide\" (click)=\"widgrts.settings.fallback = 'Hide'\" />Hide the widget</label>\n </div>\n <div>\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"RecommendedForYouFallback{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.fallback == 'PromptLogin'? 'checked' : null\" value=\"PromptLogin\" (click)=\"widgrts.settings.fallback = 'PromptLogin'\" />Prompt to log in</label>\n </div>\n <div>\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"RecommendedForYouFallback{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.fallback == 'ShowPopular'? 'checked' : null\" value=\"ShowPopular\" (click)=\"widgrts.settings.fallback = 'ShowPopular'\" />Show Popular Titles</label>\n <div class=\"ry-suboption\" *ngIf=\"widgrts.settings.fallback == 'ShowPopular'\">\n <label class=\"checkbox-input\"><input type=\"checkbox\" id=\"RecommendedForYouShowPopularPrompt\" [attr.checked] = \"widgrts.settings.showPopularWithPrompt ? 'checked' : null\" /><span class=\"ry-suboption-text\">Also prompt the patron to log in</span></label>\n </div>\n </div>\n </div>\n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveRecommendedForYouSetting($event)\">\n\n </div>\n </div>\n</div>\n<!-- Recommended for You widget setting -->\n\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'BU' \">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Bulletin</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"BulletinId\">\n <!-- <input type=\"hidden\" value=\"{{ widgrts.settings.bulletinId }}\" id=\"BulletinWId\"> -->\n <div class=\"EditWidgetsFormBody\"> \n <div class=\"form-group\">\n <label>Bulletin</label>\n <select class=\"form-control\" id=\"BulletinWId\">\n <option *ngFor=\"let bulletin of bulletinList\" value=\"{{ bulletin.id }}\" [attr.selected]=\"widgrts.settings.bulletinId==bulletin.id ? true : null\"> {{ bulletin.caption }}</option>\n </select>\n </div>\n <div class=\"form-group\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"BulletinView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"BulletinView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div>\n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveBulletinSetting($event)\">\n </div>\n </div>\n</div>\n\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'BL'\">\n <div class=\"EditWidgetsForm\">\n <div clas
25473s=\"EditWidgetsFormHead\"><h5>Bulletin List</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"BulletinListId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"BulletinListView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"BulletinListView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"BulletinListSize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}\" [attr.selected]=\"option==widgrts.settings.size ? true : null\"> {{ option }}</option>\n </select>\n </div> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveBulletinListSetting($event)\">\n\n </div>\n </div>\n</div>\n\n\n\n<!-- CA Setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'CA'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Calendar</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <div class=\"form-group\">\n <label>Message to appear below calendar</label>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"CalendarId\">\n <textarea class=\"form-control\" id=\"CalendarMessage\">{{ widgrts.settings.message }}</textarea>\n\n </div>\n <div class=\"form-group\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"CalendarView\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"CalendarView\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div>\n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveCalendarSetting($event)\">\n </div>\n </div>\n</div>\n<!-- CA Setting -->\n\n\n\n<!-- Links Setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'LK'\" id=\"linksWidgetsCon\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Links</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <div class=\"form-group\">\n <label>Caption</label>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"LinksId\">\n <input class=\"form-control\" type=\"text\" value=\"{{ widgrts.settings.caption }}\" name=\"LinksCaptions\">\n </div>\n <div class=\"form-group-main LinksDetails sa_rel_delete_cont\" *ngFor=\"let link of widgrts.settings.links; let index = index\" >\n <span [ngClass]=\"index > 0? 'show': 'hide'\" class=\"sa_abso_delete_icon\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Title</label><input class=\"form-control\" name=\"title\" type=\"text\" value=\"{{ link.caption }}\"></div>\n <div class=\"form-group\"><label>URL</label><input class=\"form-control\" name=\"url\" type=\"text\" value=\"{{ link.url }}\"></div>\n </div>\n <div class=\"form-group-main LinksDetails sa_rel_delete_cont\" *ngIf=\"!widgrts.settings.links[0]\" >
25473\n <span class=\"sa_abso_delete_icon hide\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Title</label><input class=\"form-control\" name=\"title\" type=\"text\" value=\"\"></div>\n <div class=\"form-group\"><label>URL</label><input class=\"form-control\" name=\"url\" type=\"text\" value=\"\"></div>\n </div>\n <button (click) = \"addNewLink($event)\" class=\"AddLinksDetails\"><i class=\"fa fa-plus\"></i> Add Another Link</button>\n <div class=\"form-group\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"LinksView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"LinksView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div>\n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveLinksSetting($event)\">\n </div>\n </div>\n</div>\n<!-- Links Setting -->\n\n<!-- Location & Library Hours Setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'LL'\" id=\"locationHourSetting\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Location & Library Hours</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"LocationHoursId\">\n <div class=\"form-group\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"LLView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"LLView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Location Text</label>\n <textarea class=\"form-control\" id=\"LocationText\">{{ widgrts.settings.locationText }}</textarea>\n </div>\n <div class=\"form-group\">\n <label>Map Link</label>\n <input class=\"form-control\" type=\"text\" value=\"\" id=\"LocationMap\" value=\"{{ widgrts.settings.mapLink }}\">\n <small class=\"hitn\">Find your library on a mapping site, such as Google Maps, and paste the link address here.</small>\n </div>\n <div class=\"form-group-main LocationHours sa_rel_delete_cont\" *ngFor=\"let day of widgrts.settings.days; let index = index\"> \n <span [ngClass]=\"index > 0? 'show': 'hide'\" class=\"sa_abso_delete_icon\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Day(s)</label><input class=\"form-control\" name=\"Caption\" type=\"text\" value=\"{{ day.caption }}\"></div>\n <div class=\"form-group\"><label>Hours</label><input class=\"form-control\" name=\"Hours\" type=\"text\" value=\"{{ day.hours }}\"></div>\n </div>\n <div class=\"form-group-main LocationHours sa_rel_delete_cont\" *ngIf= \"widgrts.settings.days == 0\"> \n <span class=\"sa_abso_delete_icon hide\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Day(s)</label><input class=\"form-control\" name=\"Caption\" type=\"text\" value=\"\"></div>\n <div class=\"form-group\"><label>Hours</label><input class=\"form-control\" name=\"Hours\" type=\"text\" value=\"\"></div>\n </div>
25473\n <button class=\"AddLinksDetails\" (click) = \"addNewLocationHour($event)\"><i class=\"fa fa-plus\"></i> Add Another Day</button> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveLocationHoursSetting($event)\">\n </div>\n </div>\n</div>\n<!-- Location & Library Hours Setting -->\n\n<!-- Resourse List setting -->\n <div class=\"editwidgets\" *ngIf=\"widgrts.code === 'RL' \">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Resource List</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"ResourceListId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"form-group\">\n <label>Resource List</label>\n <select class=\"form-control\" id=\"ResourceListLId\">\n <option *ngFor=\"let option of resourceLists\" value=\"{{ option.id }}\" [attr.selected]=\"option.id==widgrts.settings.listId ? true : null\"> {{ option.name }}</option>\n </select>\n </div>\n <div class=\"form-group mB0\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('card')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"ResourceListView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'C'? 'checked' : null\" value=\"C\" />Grid</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('carousel')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"ResourceListView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'H'? 'checked' : null\" value=\"H\"/>Carousel</label>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"ResourceListSize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}\" [attr.selected]=\"option==widgrts.settings.size ? true : null\"> {{ option }}</option>\n </select>\n </div> \n \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveResourceListSetting($event)\">\n \n </div>\n </div>\n </div>\n<!-- Resourse List setting -->\n\n<!-- Resourse Lists setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'RR'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Resource Lists</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"ResourceListsId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"ResourceListsSize\">\n <option [attr.selected]=\"2==widgrts.settings.size ? true : null\" value=\"2\">2</option>\n <option [attr.selected]=\"4==widgrts.settings.size ? true : null\" value=\"4\">4</option>\n <option [attr.selected]=\"6==widgrts.settings.size ? true : null\" value=\"6\">6</option>\n <option [attr.selected]=\"8==widgrts.settings.size ? true : null\" value=\"8\">8</option>\n <option [attr.selected]=\"10==widgrts.settings.size ? true : null\" value=\"10\">10</option>\n <option [attr.selected]=\"12==widgrts.settings.size ? true : null\" value=\"12\">12</option>\n <option [attr.selected]=\"14==widgrts.settings.size ? true : null\" value=\"14\">14</option>\n <option [attr.selected]=\"16==widgrts.settings.size ? true : null\" value=\"16\">16</option>\n <option [attr.selected]=\"18==widgrts.settings.size ? true : null\" value=\"18\">18</option>\n <option [attr.selected]=\"20==widgrts.settings.size ? true : null\" value=\"20\">20</option>\n </select>\n </div> \n \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveResourceListsSetting($event)\">\n \n </div>\n </div>\n</div>
25473\n<!-- Resourse Lists setting -->\n\n\n<!-- QA setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'QA'\" id=\"QAwidget\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Questions & Answers</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"QAId\">\n <input type=\"hidden\" value=\"{{ widgrts.settings.img }}\" id=\"QAImage\">\n <div class=\"form-group\">\n <label>Caption</label>\n <input type=\"text\" class=\"form-control\" id=\"QACaption\" value=\"{{ widgrts.settings.caption }}\">\n </div>\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book QA\" [ngClass] = \"widgrts.settings.img? 'haveImage': 'removedImage'\">\n <img class=\"img-fluid noImage\" src=\"/assets/images/no-image.jpg\">\n <img *ngIf=\"widgrts.settings.img.indexOf('http') == -1\" class=\"img-fluid regularImage\" src=\"/assets/theme/light/img/qa/{{ widgrts.settings.img }}\">\n <img *ngIf=\"widgrts.settings.img.indexOf('http') >= 0\" class=\"img-fluid regularImage\" src=\"{{ widgrts.settings.img }}\">\n <button class=\"fa-trash-icon\" (click) = \"removeImage($event, 'QAImage')\"><i class=\"fas fa-times\"></i></button>\n </div>\n <div class=\"btn-file-main sa-res-btnset\">\n <a class=\"btn-file\" href=\"#Choose-QA-Modal\" role=\"button\" data-toggle=\"modal\" (click) = \"chooseImageQAopen($event)\">Choose Image</a>\n <span class=\"btn-file\">Upload Image<input type=\"file\" (change)=\"uploadImageQa($event.target.files,$event)\"></span>\n </div>\n </div>\n <div class=\"form-group-main QAList sa_rel_delete_cont\" *ngFor=\"let questn of widgrts.settings.questions; let index = index\"> \n <span [ngClass]=\"index > 0? 'show': 'hide'\" class=\"sa_abso_delete_icon\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Question</label><input type=\"text\" class=\"form-control\" name=\"question\" value=\"{{ questn.q }}\"/> </div>\n <div class=\"form-group\"><label>Answer</label><textarea rows=\"5\" class=\"form-control\" name=\"answer\">{{ questn.a }}</textarea></div>\n </div>\n\n <div class=\"form-group-main QAList sa_rel_delete_cont\" *ngIf=\"!widgrts.settings.questions[0]\"> \n <span class=\"sa_abso_delete_icon hide\" (click) =\"removeOptions($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\"><label>Question</label><input type=\"text\" class=\"form-control\" name=\"question\" value=\"\"/> </div>\n <div class=\"form-group\"><label>Answer</label><textarea rows=\"5\" class=\"form-control\" name=\"answer\"></textarea></div>\n </div>\n\n <button class=\"AddLinksDetails\" (click) = \"addNewQuestion($event)\"><i class=\"fa fa-plus\"></i> Add Another Question</button> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveQASetting($event)\">\n </div>\n </div>\n</div>\n <!-- QA setting -->\n\n<!-- Recent Reviews setting Form -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'RV'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Recent Reviews</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"RecentReviewsId\">\n <div class=\"EditWidgetsFormBody\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('card')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"RecentReviewsView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'C'? 'checked' : null\" value=\"C\" />Grid</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input (click) = \"changeView('carousel')\" type=\"radio\" class=\"option-input radio viewSetting\" name=\"RecentReviewsView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.view == 'H'? 'checked' : null\" value=\"H\"/>Carousel</label>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Max list size</label>\n <select class=\"form-control\" id=\"RecentReviewsSize\">\n <option *ngFor=\"let option of sizeOptions\" value=\"{{ option }}
25473\" [attr.selected]=\"widgrts.settings.size == option ? true : null\"> {{ option }}</option>\n </select>\n </div> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveRecentReviewsSetting($event)\">\n </div>\n </div>\n</div>\n<!-- Recent Reviews setting Form -->\n\n\n<!-- Explore Setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'EX'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"><h5>Explore</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"ExploreId\">\n <div class=\"form-group\">\n <label>Page</label>\n <select class=\"form-control\" id=\"ExplorePageId\">\n <option *ngFor=\"let page of explorePage\" value=\"{{ page.id }}\" [attr.selected]=\"page.id == widgrts.settings.pageId ? true : null\">{{ page.caption }}</option>\n </select>\n </div> \n <div class=\"form-group\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"\n ><input type=\"radio\" class=\"option-input radio\" name=\"ExploreView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"ExploreView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveExploreSetting($event)\">\n </div>\n </div>\n</div>\n<!-- Explore Setting -->\n\n\n\n\n<!-- Message Setting -->\n<div class=\"editwidgets\" *ngIf=\"widgrts.code === 'MS'\">\n <div class=\"EditWidgetsForm\">\n <div class=\"EditWidgetsFormHead\"> <h5>Message</h5> <button type=\"button\"class=\"CloseIcon\" (click) = \"colseSettingModal($event)\"><i class=\"fas fa-times\"></i></button></div>\n <div class=\"EditWidgetsFormBody\">\n <input type=\"hidden\" value=\"{{ widgrts.id }}\" id=\"messageId\">\n <div class=\"form-group\">\n <label>Caption</label>\n <input type=\"text\" class=\"form-control\" name=\"caption\" value=\"{{ widgrts.settings.caption }}\" />\n </div>\n <div class=\"form-group\"> \n <label>Text</label> \n <textarea [froalaEditor] =\"optionsEditor\" id=\"contentMessage\" class=\"form-control\" [(froalaModel)]=\"widgrts.settings.content\"></textarea>\n </div>\n <div class=\"form-group\"> \n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"\n ><input type=\"radio\" class=\"option-input radio\" name=\"messageView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'H'? 'checked' : null\" value=\"H\" />Half Width</label>\n </div>\n <div class=\"col-sm-6\">\n <label class=\"radio-input\"><input type=\"radio\" class=\"option-input radio\" name=\"messageView{{ widgrts.id }}\" [attr.checked] = \"widgrts.settings.width == 'F'? 'checked' : null\" value=\"F\"/>Full Width</label>\n </div>\n </div>\n </div> \n <input type=\"button\" class=\"btn btn-c\" value=\"Save\" (click) = \"saveMessageSetting($event)\">\n </div>\n </div>\n</div>\n<!-- Message Setting -->\n\t<app-new buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'NW'\"></app-new>\n\t<app-popular [isStar] = \"isStartRatingDisable\" buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'PT' && (!hidePopularTitles || editMode)\"></app-popular>\n\t<app-bulletinsingle buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'BU'\"></app-bulletinsingle>\t\n\t<app-events buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'CA'\"></app-events>\n\t<app-bulletins buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'BL'\"></app-bulletins>\t\n\t<app-links buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'LK'\"></app-links> \n\t<app-resource-list-single buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'RL'\"></app-resource-list-single> \n\t<app-resource-list buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'RR'\"></app-resource-list>\n\t<app-quick-qa buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'QA'\"></app-quick-qa>\n\t<app-reviews buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'RV'\"></app-reviews>\n\t<app-explorewgt size=\"{{ widgrts.settings.width }}\" pageId=\"{{ widgrts.settings.pageId }}\" [exploreData]=\"widgrts.content\" *ngIf=\"widgrts.code === 'EX'\"></app-explorewgt>\n\t<app-text buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'MS'\"></app-text>\n <app-location-hours buId=\"{{ widgrts.id }}\" *ngIf=\"widgrts.code === 'LL'\"></app-location-hours>
25473\n <!-- Recommended for You (RY) display: loads its content asynchronously and applies fallback/login behavior. -->\n <app-recommended [isStar]=\"isStartRatingDisable\" [editMode]=\"editMode\" buId=\"{{ widgrts.id }}\" (showingPopular)=\"onRecommendedShowingPopular($event)\" *ngIf=\"widgrts.code === 'RY'\"></app-recommended>\n\n<!-- <app-e-book></app-e-book> -->\n</span>\n</ng-container>\n</div>\n<section class=\"manage-ui-block\">\n<div class=\"EditModeButtonMain\">\n <button class=\"rotating-btn-main edit-btn\" id=\"editModeButton\" href=\"#\" (click) = \"openSettingTab($event)\">\n <div class=\"btn-icon\">\n <div class=\"rotating fas fa-cog\"></div>\n <i class=\"fas fa-check\"></i>\n </div>\n <span *ngIf=\"!editMode\">Edit Home Page</span>\n <span *ngIf=\"editMode\">Finished Editing</span>\n </button> \n <button *ngIf=\"editMode && !showManageWidhetsForm\" class=\"rotating-btn-main add-widget-btn\" href=\"#\" (click) = \"showManageWidgetform()\">\n <div class=\"btn-icon\">\n <i class=\"fas fa-plus\"></i>\n </div>\n <span>Add New Widget</span>\n </button>\n <button *ngIf=\"editMode && !showPaletteBox\" class=\"rotating-btn-main add-widget-btn change-theme-btn\" href=\"#\" (click) = \"showPalette()\">\n <div class=\"btn-icon\">\n <i class=\"fas fa-palette\"></i>\n </div>\n <span>Change Theme</span>\n </button>\n</div>\n\n<div id=\"theme-list\" class=\"collapse manage-text\" [ngClass]=\"showPaletteBox && editMode? 'show' : 'hide'\" >\n <div class=\"theme-list-head\">\n <h3>Select Theme</h3><a (click) = \"hidePalette()\" class=\"btn-remove\"><i class=\"fas fa-times\"></i></a> \n </div>\n <div class=\"manage-text-inner\"> \n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'default', 'summertime')\" [ngClass] = \"(theme == 'light' || theme == 'summertime' ) ? 'active' : null \">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/default.jpg\" />\n </div>\n <p class=\"text-center\">Summertime</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'dark-theme', 'luna')\" [ngClass] = \"theme == 'luna' ? 'active' : null \">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/dark-theme.jpg\" />\n </div>\n <p class=\"text-center\">Luna</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event ,'SleekAndRelaxed', 'berry')\" [ngClass] = \"theme == 'berry' ? 'active' : null \">\n <div class=\"themeIcon-img\">
25473\n <img src=\"/assets/images/SleekAndRelaxed.jpg\" />\n </div>\n <p class=\"text-center\">Berry</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'violet-theme', 'mochablue')\" [ngClass] = \"theme == 'mochablue' ? 'active' : null \">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/violet-theme.jpg\" />\n </div>\n <p class=\"text-center\">Mocha Blue</p>\n </div>\n </div>\n <div class=\"manage-text-inner\"> \n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'kids1-theme', 'birthdayCake')\" [ngClass] = \"theme == 'birthdayCake' ? 'active' : null \">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/kids1.jpg\" />\n </div>\n <p class=\"text-center\">Birthday Cake</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'kids1-theme kids2-theme', 'playground')\" [ngClass] = \"theme == 'playground' ? 'active' : null \">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/kids2.jpg\" />\n </div>\n <p class=\"text-center\">Playground</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'kids1-theme christmas-theme', 'christmas')\" [ngClass] = \"theme == 'christmas' ? 'active' : null \" >\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/christmas-theme.jpg\" />\n </div>\n <p class=\"text-center\">It's Christmas</p>\n </div>\n <div class=\"themeIcon\" (click)=\"changeTheme($event, 'kids1-theme beach-theme', 'beach')\" [ngClass] = \"theme == 'beach' ? 'active' : null \" >\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/beach-themes.jpg\" />\n </div>\n <p class=\"text-center\">Beach Waves</p>\n </div>\n </div>\n <!-- -->\n <div class=\"manage-text-inner\" > \n <div class=\"themeIcon\" data-toggle=\"modal\" data-target=\"#colorPicker\" (click)=\"customTheme('custom-theme')\" [ngClass] = \"theme?.indexOf('custom') > -1 ? 'active' : null \" id=\"customThemeIcon\">\n <div class=\"themeIcon-img\">\n <img src=\"/assets/images/custom.png\" />\n </div>\n <p class=\"text-center\">Custom Theme</p>\n </div>\n </div>\n</div>\n\n<div id=\"add-widgets-list\" class=\"collapse manage-text\" [ngClass]=\"showManageWidhetsForm && editMode? 'show' : 'hide'\" >\n <h3>Select Widgets to Add</h3><a (click) = \"hideManageWidgetform()\" class=\"btn-remove\"><i class=\"fas fa-times\"></i></a> \n <div class=\"manage-text-inner\"> \n <form class=\"widgets-list\">\n <div class=\"loader-inner-container addWidgetResponce\" *ngIf=\"addWidgetResponce\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Message\"><i class=\"fas fa-plus\"></i> Message </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Calendar\"><i class=\"fas fa-plus\"></i> Calendar </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"BulletinList\"><i class=\"fas fa-plus\"></i> Bulletin List </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Bulletin\"><i class=\"fas fa-plus\"></i> Bulletin </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Links\"><i class=\"fas fa-plus\"></i> Links </button>\n <!-- <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"SearchButtons\"><i class=\"fas fa-plus\"></i> Search Buttons </button> -->\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"NewinLibrary\"><i class=\"fas fa-plus\"></i> New in Library </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"PopularTitles\"><i class=\"fas fa-plus\"></i> Popular Titles </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"RecommendedForYou\"><i class=\"fas fa-plus\"></i> Recommended for You </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"ReadingList\"><i class=\"fas fa-plus\"></i> Resource List </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"ReadingLists\"><i class=\"fas fa-plus\"></i> List of Resource Lists </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Reviews\"><i class=\"fas fa-plus\"></i> Reviews </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"HoursandLocation\"><i class=\"fas fa-plus\"></i>
25473 Hours and Location </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"Explore\"><i class=\"fas fa-plus\"></i> Explore </button>\n <button (click) = \"addWidget($event)\" type=\"button\" class=\"widgets-btn addWdgt\" id=\"QAWdg\"><i class=\"fas fa-plus\"></i> Q & A </button>\n </form> \n\n<div class=\"instructions-editmode default-instructions\"> \n<p>This widget shows a list of the saved resource lists published in your library. Patrons may click the title or picture of any saved list to see the titles saved in it. You can limit the number of lists shown o7r have the widget show all published lists.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insQAWdg\"> \n<h4>Question and Answer Widget</h4>\n<p>This widget allows you to add Question and Answer to the Home page.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insMessage\"> \n<h4>Message Widget</h4>\n<p>This widget allows you to add custom text to the Home page. You might use this for a welcome message to your patrons, your library hours, staff names or any other message you want to convey.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insCalendar\"> \n<h4>Calendar Widget</h4>\n<p>This widget shows your library calendar with closed and special event days highlighted and a short list of upcoming holidays and events below.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insBulletinList\"> \n<h4>Bulletin List Widget</h4>\n<p>This widget shows a list of the most recent bulletin headlines. You can limit the list to 5, 10, 15, 25 or 50 bulletins or have it list all bulletins. Patrons can click a headline to see the full text of the bulletin.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insLinks\"> \n<h4>Links Widget</h4>\n<p>This widget shows a list of links to other web sites that you define. You might want to include links to other libraries in your area or useful research sites.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insSearchButtons\"> \n<h4>Search Buttons Widget</h4>\n<p>This widget allows patrons to search by title, author, subject or keyword using large buttons similar to the \"Simple Search\" in older versions of Safari.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insNewinLibrary\"> \n<h4>New in Library Widget</h4>\n<p>This widget shows a list of the titles on your New in Library list. You can limit the size of the list and give the patron an option to see the full list or simply show the entire list on the Home page. The titles can be shown as a list or as a scrolling carousel.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insPopularTitles\"> \n<h4>Popular Titles Widget</h4>\n<p>This widget shows a list of the titles on your Popular Titles list. You can limit the size of the list and give the patron an option to see the full list or simply show the entire list on the Home page. The titles can be shown as a list or as a scrolling carousel.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insRecommendedForYou\"> \n<h4>Recommended for You Widget</h4>\n<p>This widget shows personalized title recommendations for the logged-in patron. You can limit the size of the list and show the titles as a grid or a scrolling carousel. You can also choose what to show when the patron is not logged in or has no recommendations: hide the widget, prompt the patron to log in, or show your Popular Titles list (optionally with a prompt to log in).</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insReadingList\"> \n<h4>Resource List Widget</h4>\n<p>This widget shows a list of the titles in a selected saved resource list. You can limit the size of the list and give the patron an option to see the full list. The titles can be shown as a list or as a scrolling carousel.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insReadingLists\"> \n<h4>List of Resource Lists Widget</h4>\n<p>This widget shows a list of the saved resource lists published in your library. Patrons may click the title or picture of any saved list to see the titles saved in it. You can limit the number of lists shown or have the widget show all published lists.</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insHoursandLocation\"> \n<h4>Hours & Location Widget</h4>\n<p>This widget shows your library's address and operating hours. </p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insReviews\"> \n<h4>Reviews Widget</h4>\n<p>This widget shows the most-recently reviewed titles along with the first several lines of the review text. The reviews can be shown in a list or the titles and covers can be shown in a scrolling carousel (without review text)</p>\n</div>\n\n<div class=\"instructions-editmode\" id=\"insExplore\" > \n<h4>Explore Widget</h4>\n<p>This widget shows buttons from a selected Explore page. You can create new and edit existing Explore pages under the Explore tab.</p>\n</div>\n<div class=\"instructions-editmode\" id=\"insBulletin\" > \n<h4>Bulletin Widget</h4>\n<p>This widget shows a single bulletin. You can have it show a specific bulletin of your chosing or have it al
25473ways show the most-recent bulletin.</p>\n</div>\n<div class=\"instructions-editmode\" id=\"insBulletinList\" > \n<h4>BulletinList Widget</h4>\n<p>This widget shows buttons from a selected Explore page. You can create new and edit existing Explore pages under the Explore tab.</p>\n</div>\n\n</div>\n\n</div>\n \n </section>\n\n<!-- <app-location-hours></app-location-hours> -->\n\n\n\n\n <!-- Choose Logo -->\n <div class=\"modal fade choose-image\" id=\"Choose-QA-Modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <button id=\"closeQAChoose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click) = \"unselectQAImage($event)\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n <div class=\"modal-body\">\n <div class=\"loader-inner-container\" *ngIf=\"!QaImagesList\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <ul class=\"ChooseLogo\" *ngIf=\"QaImagesList\">\n <li><img src=\"/assets/theme/light/img/qa/images/qa-book.png\" id=\"images/qa-book.png\" (click) = \"selectQAImage($event)\"></li>\n <li *ngFor=\"let image of qaImagesList\">\n <img src=\"{{ image }}\" id=\"{{ image }}\" (click) = \"selectQAImage($event)\">\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- Choose Logo -->\n\n <!-- colorPicker -->\n <div class=\"modal fade \" id=\"colorPicker\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" ><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Custom Theme</h4>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-md-12\"> \n <div class=\"form-group\"> \n <small class=\"text-muted d-block\"> \n Click a box to select a new color. You can enter the hex color code in the input box inside the color picker. \n </small> \n <small class=\"text-muted d-block\"> \n For preview you can close the color selection box by clicking the \"X\" icon. \n </small>\n </div>\n </div>\n <div class=\"col-md-6\"> \n <div class=\"form-group-theme\"> \n <label for=\"first\">First Color </label> \n <input type=\"text\" [(colorPicker)]=\"color1\" [style.background]=\"color1\" id=\"first\" (colorPickerClose)=\"colorPicker('first', $event)\" [value]=\"color1\" class=\"form-control\" readonly style=\"cursor: pointer;\">\n <small class=\"text-muted d-block\">Logo background on header and copyright section at bottom of page.</small> \n </div> \n </div> \n <div class=\"col-md-6\"> \n <div class=\"form-group-theme\"> \n <label for=\"second\">Second Color </label> \n <input class=\"form-control\" id=\"second\" [(colorPicker)]=\"color2\" [style.background]=\"color2\" (colorPickerClose)=\"colorPicker('second', $event)\" [value]=\"color2\" readonly style=\"cursor: pointer;\"> \n <small class=\"text-muted d-block\">Selected items on menus.</small>\n </div> \n </div> \n </div> \n <div class=\"row\"> \n <div class=\"col-md-6\"> \n <div class=\"form-group-theme\"> \n <label for=\"third\">Third Color </label> \n <input class=\"form-control\" id=\"third\" [(colorPicker)]=\"color3\" [style.background]=\"color3\" (colorPickerClose)=\"colorPicker('third', $event)\" [value]=\"color3\" readonly style=\"curs
25473or: pointer;\"> \n <small class=\"text-muted d-block\">Navigation icons and heading underlines.</small>\n </div> \n </div> \n <div class=\"col-md-6\"> \n <div class=\"form-group-theme\">\n <label for=\"fourth\">Fourth Color </label> \n <input class=\"form-control\" id=\"fourth\" [(colorPicker)]=\"color4\" [style.background]=\"color4\" (colorPickerClose)=\"colorPicker('fourth', $event)\" [value]=\"color4\" readonly style=\"cursor: pointer;\">\n <small class=\"text-muted d-block\">Footer text color.</small>\n </div>\n </div>\n <div class=\"col-md-6\"> \n <div class=\"form-group-theme\">\n <label for=\"fifth\">Fifth Color </label> \n <input class=\"form-control\" id=\"fifth\" [(colorPicker)]=\"color5\" [style.background]=\"color5\" (colorPickerClose)=\"colorPicker('fifth', $event)\" [value]=\"color5\" readonly style=\"cursor: pointer;\">\n <small class=\"text-muted d-block\">Footer background color.</small>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" *ngIf=\"custumThemeLoad\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button class=\"btn btn-danger\" type=\"button\" data-dismiss=\"modal\" (click)=\"revertTheme($event)\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click)=\"saveCustomTheme()\">Save</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n\t</main>\n<div class=\"modal fade\" [ngClass]=\"showDeleteConfirm? 'show': 'hide'\" id=\"delete-widget-button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\" style=\"margin-top:15%\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Are you sure you want to delete the widget?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click)=\"deleteWidget()\">\n <input id=\"canceldeletewidget\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" (click)=\"hideDeleteConfirmation()\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-footer></app-footer>\n"); 25474 25475/***/ }), 25476 25477/***/ 94458: 25478/*!*******************************************************************************************************************************************!*\ 25479 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/lazyloadimage/lazyloadimage.component.html ***! 25480 \*******************************************************************************************************************************************/ 25481/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25482 25483"use strict"; 25484__webpack_require__.r(__webpack_exports__); 25485/* harmony default export */ __webpack_exports__["default"] = ("<img *ngIf=\"!isLoading\" [defaultImage]=\"defaultImage\" [lazyLoad]=\"image\" class=\"img-fluid\" />\n<span *ngIf=\"isLoading && category\" class=\"Placeholders {{ category.iconColor }}\">\n <i class=\"material-icons md-48\">{{ category.iconName }}</i>\n</span>"); 25486 25487/***/ }), 25488 25489/***/ 76944: 25490/*!***************************************************************************************************************************!*\ 25491 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/links/links.component.html ***! 25492 \***************************************************************************************************************************/ 25493/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25494 25495"use strict"; 25496__webpack_require__.r(__webpack_exports__); 25497/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12 width_{{ widgetsSetting.Width }} LK\">\n <div class=\"two-clum-block\">\n <h3 class=\"text-heading text-left\" *ngIf=\"widgetsSetting.caption\">{{ widgetsSetting.caption }}</h3>\n <hr class=\"dot-divdr\">\n <ul class=\"two-clum-list\" *ngIf=\"widgetsSetting.links.length > 0\"> \n <li *ngFor=\"let link of widgetsSetting.links\">\n <a target=\"_blank\" class=\"text-widgets-list active\" href=\"{{ link.url }}\" *ngIf=\"link.caption && link.url.indexOf('http') >= 0\">\n {{ link.caption }}\n </a>\n <a target=\"_blank\" class=\"text-widgets-list active\" href=\"http://{{ link.url }}\" *ngIf=\"link.caption && link.url.indexOf('http') == -1\">\n {{ link.caption }}\n </a>\n </li>\n \n </ul>\n <ul class=\"two-clum-list\" *ngIf=\"widgetsSetting.links.length == 0\"> \n <li>Sorry! No link available.</li>\n </ul>\n </div>\n </div>\n </section>"); 25498 25499/***/ }), 25500 25501/***/ 73317: 25502/*!*********************************************************************************************************************************************!*\ 25503 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/location-hours/location-hours.component.html ***! 25504 \*********************************************************************************************************************************************/ 25505/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25506 25507"use strict"; 25508__webpack_require__.r(__webpack_exports__); 25509/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets location-hours select-box\">\n <div class=\"container\">\n <div class=\"flex-cont\">
25509\n <div class=\"location-details\">\n <i class=\"fas fa-map-marked-alt\"></i>\n <h3 class=\"block-heading\">Location</h3>\n <p style=\"white-space: break-spaces;\">{{ locationHour.locationText}}</p> \n <p *ngIf=\"locationHour.mapLink\"><a class=\"btn btn-warning btn-md\" href=\"{{ locationHour.mapLink }}\" target=\"_blank\"><i _ngcontent-c16=\"\" class=\"far fa-arrow-alt-circle-right\"></i> Find in Map</a></p> \n </div>\n <div class=\"hours-details\">\n <i class=\"far fa-clock\"></i>\n <h3 class=\"block-heading\">Library Hours</h3>\n <h4>REGULAR LIBRARY HOURS</h4>\n <ul>\n <li *ngFor= \"let hour of locationHour.days\">\n {{ hour.caption}}<span>{{ hour.hours }}</span> \n </li>\n </ul>\n </div>\n </div>\n </div>\n</section>"); 25510 25511/***/ }), 25512 25513/***/ 67999: 25514/*!***********************************************************************************************************************!*\ 25515 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/new/new.component.html ***! 25516 \***********************************************************************************************************************/ 25517/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25518 25519"use strict"; 25520__webpack_require__.r(__webpack_exports__); 25521/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box new-library\">\n <div *ngIf=\"newList.content.caption\">\n <div class=\"container-fluid\" *ngIf=\"newList.settings.view == 'H'\">\n <h1 class=\"page-heading text-center\"><a [routerLink] =\"['/new']\"> {{ newList.content.caption }}</a></h1>\n <div class=\"Carousel-main\">\n <div class=\"row\"> \n <ngx-slick-carousel *ngIf=\"slideConfig.slidesToShow\" class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\" >\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of newList.content.resources; let i = index\"> \n <a [routerLink]=\"['/resources/detail/',newList.content.cacheKey,item.listItemId]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load)=\"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\"> \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <!-- (load) = \"imageLoad($event,item.images)\" -->\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\" >{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/> {{ item.author }}\n \n </div>\n \n </a> \n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span> \n </div> \n </div> \n </ngx-slick-carousel>\n </div> \n </div>\n <div class=\"text-center\">
25521 <a [routerLink] = \"['/new']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n\n\n <div class=\"container-fluid\" *ngIf=\"newList.settings.view != 'H'\">\n <h1 class=\"page-heading text-center\" *ngIf=\" newList.content.caption\"><a [routerLink] =\"['/new']\">{{ newList.content.caption}}</a></h1>\n <div class=\"row \"> \n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let item of newList.content.resources; let i = index\">\n <div class=\"book-block item\">\n <div class=\"book-cover\"> \n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\"> \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.title}} </h3><p class=\"author-text\">{{ item.author}}.</p>\n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span>\n </div>\n <hr class=\"divdr\">\n <p class=\"book-text mb-0\">{{ item.summary}}</p>\n </div>\n <a [routerLink]=\"['/resources/detail/',newList.content.cacheKey,item.listItemId]\" class=\"booklink\"></a>\n </div> \n </div> \n \n </div>\n <div class=\"text-center\"> <a [routerLink] = \"['/new']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n</div>\n</section>\n"); 25522 25523/***/ }), 25524 25525/***/ 70173: 25526/*!*******************************************************************************************************************************!*\ 25527 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/popular/popular.component.html ***! 25528 \*******************************************************************************************************************************/ 25529/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25530 25531"use strict"; 25532__webpack_require__.r(__webpack_exports__); 25533/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box popular-titles\">\n <div *ngIf=\"bulletinlist.content.caption\">\n<div class=\"container-fluid\" *ngIf=\"bulletinlist.settings.view == 'H'\">\n <h1 class=\"page-heading text-center\"><a [routerLink] =\"['/popular']\">{{ bulletinlist.content.caption }}</a></h1>\n <div class=\"Carousel-main\">\n <div class=\"row\"> \n <ngx-slick-carousel *ngIf=\"slideConfig.slidesToShow\" class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\" >\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of bulletinlist.content.resources; let i = index\"> \n <a [routerLink]=\"['/resources/detail/',bulletinlist.content.cacheKey,item.listItemId]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\"> \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <!-- (load) = \"imageLoad($event,item.images)\" -->
25533\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\" >{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/> {{ item.author }}\n \n </div>\n </a>\n <div class=\"star-rating-outer clearfix\"> \n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span>\n </div>\n </div> \n </ngx-slick-carousel>\n </div> \n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/popular']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n\n\n\n\n <div class=\"container-fluid\" *ngIf=\"bulletinlist.settings.view != 'H'\">\n <h1 class=\"page-heading text-center\" *ngIf=\" bulletinlist.content.caption\"><a [routerLink] =\"['/popular']\">{{ bulletinlist.content.caption}}</a></h1>\n <div class=\"row \"> \n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let item of bulletinlist.content.resources; let i = index\">\n <div class=\"book-block item\">\n <div class=\"book-cover\"> \n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\"> \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.title}} </h3><p class=\"author-text\">{{ item.author}}.</p>\n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span>\n </div>\n <hr class=\"divdr\">\n\n <p class=\"book-text mb-0\">{{ item.summary}}</p>\n </div>\n <a [routerLink]=\"['/resources/detail/',bulletinlist.content.cacheKey,item.listItemId]\" class=\"booklink\"></a> \n </div>\n </div> \n \n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/popular']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n</div>\n</section>\n\n\n\n\n"); 25534 25535/***/ }), 25536 25537/***/ 72381: 25538/*!*********************************************************************************************************************************!*\ 25539 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/quick-qa/quick-qa.component.html ***! 25540 \*********************************************************************************************************************************/ 25541/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25542 25543"use strict"; 25544__webpack_require__.r(__webpack_exports__); 25545/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets quick-qa select-box\">\n <div *ngIf=\"widgetsSetting\">\n <div class=\"container\">\n <h1 class=\"page-heading text-center\" *ngIf=\"widgetsSetting.caption\"><span>{{ widgetsSetting.caption }}</span></h1>\n <div class=\"row\">\n <div class=\"col-lg-5 col-md-12 col-sm-12 col-12\" *ngIf=\"widgetsSetting.img\">\n <div class=\"qa-book\"> \n <img *ngIf=\"widgetsSetting.img.indexOf('http') == -1\" class=\"img-fluid\" src=\"/assets/theme/light/img/qa/{{ widgetsSetting.img }}\" alt=\"image\">\n <img *ngIf=\"widgetsSetting.img.indexOf('http') >= 0\" class=\"img-fluid\" src=\"{{ widgetsSetting.img }}\" alt=\"image\">\n </div>\n </div>\n <div class=\"{{ ClassWdt }} col-md-12 col-sm-12 col-12\">\n \n <div *ngIf=\"widgetsSetting.img\">\n\n <div id=\"accordion\" class=\"accordion\"> \n <div class=\"quick-qa-block\" *ngFor=\"let item of widgetsSetting.questions; let i = index\">\n <a class=\"card-title card-header\" [ngClass] = \"i == 0 ? '': 'collapsed'\" data-toggle=\"collapse\" href=\"#collapse{{ i }}\"> {{ item.q }} </a>\n <div id=\"collapse{{ i }}\" class=\"card-body collapse\" [ngClass] = \"i == 0 ? 'show': ''\" data-parent=\"#accordion\" >\n <p [innerHTML]=\"item.a | keepHtml\"></p>\n </div>\n </div>\n </div>\n </div>\n \n\n <div *ngIf=\"!widgetsSetting.img\" class=\"accordionH
25545alf\"> \n \n <div id=\"accordion\" class=\"accordion\"> \n <div class=\"quick-qa-block\" *ngFor=\"let item of widgetsSetting.questions; let i = index\" [ngClass] = \"i %2 == 0? '' : 'hide'\" >\n <a class=\"card-title collapsed card-header\" data-toggle=\"collapse\" href=\"#collapse{{ i }}\" (click) = \"hideAccordian($event)\"> {{ item.q }} </a>\n <div id=\"collapse{{ i }}\" class=\"card-body collapse\" data-parent=\"#accordion\" >\n <p [innerHTML]=\"item.a | keepHtml\"></p>\n </div>\n </div>\n </div>\n\n <div id=\"accordion1\" class=\"accordion\">\n <div class=\"quick-qa-block \" *ngFor=\"let item of widgetsSetting.questions; let i = index\" [ngClass] = \"i %2 == 0? 'hide' : ''\">\n <a class=\"card-title collapsed card-header\" data-toggle=\"collapse\" href=\"#collapse1{{ i }}\" (click) = \"hideAccordian($event)\"> {{ item.q }} </a>\n <div id=\"collapse1{{ i }}\" class=\"card-body collapse\" data-parent=\"#accordion1\" >\n <p [innerHTML]=\"item.a | keepHtml\"></p>\n </div>\n </div>\n \n </div>\n </div>\n\n </div>\n\n </div>\n </div>\n </div>\n</section>"); 25546 25547/***/ }), 25548 25549/***/ 98383: 25550/*!***************************************************************************************************************************************!*\ 25551 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/recommended/recommended.component.html ***! 25552 \***************************************************************************************************************************************/ 25553/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25554 25555"use strict"; 25556__webpack_require__.r(__webpack_exports__); 25557/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box recommended-for-you\">\n\n <!-- Skeleton placeholder shown while recommendations load asynchronously -->\n <div class=\"container-fluid\" *ngIf=\"loading\">\n <h1 class=\"page-heading text-center\">{{ caption }}</h1>\n <div class=\"row recommended-skeleton\" [ngClass]=\"settings.view == 'H' ? 'skeleton-carousel' : 'skeleton-grid'\">\n <div class=\"skeleton-col\" *ngFor=\"let s of counter(size)\" [ngClass]=\"settings.view == 'H' ? '' : 'col-xl-4 col-lg-6 col-md-12'\">\n <div class=\"skeleton-card\">\n <div class=\"skeleton-cover shimmer\"></div>\n <div class=\"skeleton-lines\">\n <div class=\"skeleton-line shimmer\"></div>\n <div class=\"skeleton-line short shimmer\"></div>\n <div class=\"skeleton-line reason shimmer\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Edit-mode placeholder so the panel is visible/selectable while editing the home page -->\n <div class=\"container-fluid recommended-editmode-placeholder\" *ngIf=\"showEditPlaceholder && !loading && !recommendedList && !showPopular && !showLoginPrompt\">\n <h1 class=\"page-heading text-center\">{{ caption }}</h1>\n <p class=\"text-center\">Personalized recommendations appear here for logged-in patrons.</p>\n </div>\n\n <!-- Friendly login prompt (standalone, when not standing in with Popular Titles) -->\n <div class=\"container-fluid recommended-login-prompt\" *ngIf=\"showLoginPrompt && !showPopular\">\n <div class=\"recommended-prompt-inner text-center\">\n <h1 class=\"page-heading\">{{ caption }}</h1>\n <p>Log in to see personalized recommendations picked just for you.</p>\n <a href=\"#login-modal\" data-toggle=\"modal\" role=\"button\" class=\"btn btn-primary btn-md\">Log in</a>\n </div>\n </div>\n\n <!-- Empty state for a logged-in patron with no recommendations yet (no login CTA) -->\n <div class=\"container-fluid recommended-empty-state\" *ngIf=\"showEmptyState && !showPopular\">\n <div class=\"recommended-prompt-inner text-center\">\n <h1 class=\"page-heading\">{{ caption }}</h1>\n <p>{{ emptyStateMessage }}</p>\n </div>\n </div>\n\n <!-- Real recommendations -->\n <div *ngIf=\"recommendedList && recommendedList.resources && recommendedList.resources.length\">\n <div class=\"container-fluid\" *ngIf=\"settings.view == 'H'\">\n <h1 class=\"page-heading text-center\">{{ caption }}</h1>\n <div class=\"Carousel-main\">\n <div class=\"row\">\n <ngx-slick-carousel *ngIf=\"slideConfig.slidesToShow\" class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\">\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of recommendedList.resources; let i = index\">\n <a [routerLink]=\"['/resources/detail/',recommendedList.cacheKey,item.listItemId]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>
25557\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/> {{ item.author }}</div>\n </a>\n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"[item.ratings.stars]\"></star-rating>\n </span>\n </div>\n <p class=\"recommendation-reason\" *ngIf=\"item.recommendationReason\">{{ item.recommendationReason }}</p>\n </div>\n </ngx-slick-carousel>\n </div>\n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/recommended']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"settings.view != 'H'\">\n <h1 class=\"page-heading text-center\">{{ caption }}</h1>\n <div class=\"row\">\n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let item of recommendedList.resources; let i = index\">\n <div class=\"book-block item\">\n <div class=\"book-cover\">\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.title }}</h3><p class=\"author-text\">{{ item.author }}.</p>\n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"[item.ratings.stars]\"></star-rating>\n </span>\n </div>\n <hr class=\"divdr\">\n <p class=\"book-text mb-0\">{{ item.summary }}</p>\n </div>\n <a [routerLink]=\"['/resources/detail/',recommendedList.cacheKey,item.listItemId]\" class=\"booklink\"></a>\n <p class=\"recommendation-reason\" *ngIf=\"item.recommendationReason\">{{ item.recommendationReason }}</p>\n </div>\n </div>\n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/recommended']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n </div>\n\n <!-- Popular Titles fallback -->\n <div *ngIf=\"showPopular && popularList && popularList.resources && popularList.resources.length\">\n <div class=\"container-fluid\" *ngIf=\"settings.view == 'H'\">\n <h1 class=\"page-heading text-center\"><a [routerLink]=\"['/popular']\">Popular Titles</a></h1>\n <div class=\"Carousel-main\">\n <div class=\"row\">\n <ngx-slick-carousel *ngIf=\"slideConfig.slidesToShow\" class=\"carousel\" style=\"width: 100%\" #slickModalPopular=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\">\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of popularList.resources; let i = index\">\n <a [routerLink]=\"['/resources/detail/',popularList.cacheKey,item.listItemId]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/> {{ item.author }}</div>\n </a>\n <div class=\"star-rating-outer clearfix\">
25557\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"[item.ratings.stars]\"></star-rating>\n </span>\n </div>\n </div>\n </ngx-slick-carousel>\n </div>\n </div>\n <div class=\"text-center recommended-popular-actions\">\n <p class=\"recommended-popular-login\" *ngIf=\"showLoginPrompt\">Log in to see personalized recommendations.</p>\n <p class=\"recommended-popular-empty\" *ngIf=\"showEmptyState\">{{ emptyStateMessage }}</p>\n <a *ngIf=\"showLoginPrompt\" href=\"#login-modal\" data-toggle=\"modal\" role=\"button\" class=\"btn btn-primary btn-md\">Log in</a>\n <a [routerLink]=\"['/popular']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a>\n </div>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"settings.view != 'H'\">\n <h1 class=\"page-heading text-center\"><a [routerLink]=\"['/popular']\">Popular Titles</a></h1>\n <div class=\"row\">\n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let item of popularList.resources; let i = index\">\n <div class=\"book-block item\">\n <div class=\"book-cover\">\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\">{{ item.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.title }}</h3><p class=\"author-text\">{{ item.author }}.</p>\n <div class=\"star-rating-outer clearfix\">\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"[item.ratings.stars]\"></star-rating>\n </span>\n </div>\n <hr class=\"divdr\">\n <p class=\"book-text mb-0\">{{ item.summary }}</p>\n </div>\n <a [routerLink]=\"['/resources/detail/',popularList.cacheKey,item.listItemId]\" class=\"booklink\"></a>\n </div>\n </div>\n </div>\n <div class=\"text-center recommended-popular-actions\">\n <p class=\"recommended-popular-login\" *ngIf=\"showLoginPrompt\">Log in to see personalized recommendations.</p>\n <p class=\"recommended-popular-empty\" *ngIf=\"showEmptyState\">{{ emptyStateMessage }}</p>\n <a *ngIf=\"showLoginPrompt\" href=\"#login-modal\" data-toggle=\"modal\" role=\"button\" class=\"btn btn-primary btn-md\">Log in</a>\n <a [routerLink]=\"['/popular']\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a>\n </div>\n </div>\n </div>\n\n</section>\n"); 25558 25559/***/ }), 25560 25561/***/ 86584: 25562/*!*********************************************************************************************************************************************************!*\ 25563 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/resource-list-single/resource-list-single.component.html ***! 25564 \*********************************************************************************************************************************************************/ 25565/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25566 25567"use strict"; 25568__webpack_require__.r(__webpack_exports__); 25569/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box popular-titles\">\n <div *ngIf=\"resourcelists.content.caption\">\n <div class=\"container-fluid\" *ngIf=\"resourcelists.settings.view == 'H'\">\n <h1 class=\"page-heading text-center\"><a [routerLink] =\"['/reading-lists']\">{{ resourcelists.content.caption }}</a></h1>\n <div class=\"Carousel-main\">\n <div class=\"row\"> \n <ngx-slick-carousel *ngIf=\"slideConfig.slidesToShow\" class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\" >\n <div ngxSlickItem class=\"slide\" *ngFor=\"let item of resourcelists.content.resources; let i = index\"> \n <a [routerLink]=\"['/resources/detail/',resourcelists.content.cacheKey,item.listItemId]\" class=\"book-display item\"> \n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\"> \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <!-- (load) = \"imageLoad($event,item.images)\" -->
25569\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\" >{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/> {{ item.author }}\n \n </div>\n \n </a> \n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span>\n </div> \n </ngx-slick-carousel>\n </div> \n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/resource/list/',resourcelists.settings.listId]\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n\n\n <div class=\"container-fluid\" *ngIf=\"resourcelists.settings.view != 'H'\">\n <h1 class=\"page-heading text-center\" *ngIf=\"resourcelists.content.caption\"><a [routerLink] =\"['/reading-lists']\">{{ resourcelists.content.caption}}</a></h1>\n <div class=\"row \"> \n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let item of resourcelists.content.resources; let i = index\">\n <a [routerLink]=\"['/resources/detail/',resourcelists.content.cacheKey,item.listItemId]\" class=\"book-block item\">\n <div class=\"book-cover\"> \n <!-- <span *ngFor=\"let imgase of item.images; let last = last; let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images,imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\" > \n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48 \">{{ item.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.title}} <span>{{ item.author}}.</span> </h3>\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating> \n </span>\n <hr class=\"divdr\">\n <p class=\"book-text mb-0\">{{ item.summary }}</p>\n </div>\n </a> \n \n </div> \n \n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/resource/list/',resourcelists.settings.listId]\" class=\"btn btn-primary btn-md\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n</div>\n</section>"); 25570 25571/***/ }), 25572 25573/***/ 62229: 25574/*!*******************************************************************************************************************************************!*\ 25575 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/resource-list/resource-list.component.html ***! 25576 \*******************************************************************************************************************************************/ 25577/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25578 25579"use strict"; 25580__webpack_require__.r(__webpack_exports__); 25581/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets reading-lists select-box\">\n <div *ngIf=\"resourcelists[0]\">\n <div class=\"container-fluid\">\n <h1 class=\"page-heading text-center \"><a [routerLink] =\"['/reading-lists']\">Resource Lists</a></h1>\n <div class=\"row \"> \n <div class=\"col-xl-6 col-lg-6 col-md-12\" *ngFor=\"let item of resourcelists\">\n <a [routerLink] = \"['/resource/list/', item.id ]\" class=\"book-block item\">\n <div class=\"book-cover\" *ngIf=\"item.imageUrl\"> \n <img class=\"img-fluid\" src=\"{{ item.imageUrl }}\" alt=\"image\">\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ item.name }}</h3>\n <p class=\"book-text mb-0\">{{ item.description }}</p>\n </div>\n </a>\n </div> \n </div>\n <div class=\"text-center\"> <a [routerLink]=\"['/reading-lists']\" class=\"btn btn-primary btn-md\">All Resource lists <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n </div>\n</section>"); 25582 25583/***/ }), 25584 25585/***/ 65964: 25586/*!*******************************************************************************************************************************!*\ 25587 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/reviews/reviews.component.html ***! 25588 \*******************************************************************************************************************************/ 25589/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25590 25591"use strict"; 25592__webpack_require__.r(__webpack_exports__); 25593/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box recent-reviews\">\n <div *ngIf=\"reviews.caption\">\n <div class=\"container-fluid\">\n <h1 class=\"page-heading text-center mb-4\"><span>{{ reviews.caption }}</span></h1>\n <div class=\"row mb-2\" *ngIf=\"reviews.reviews.length > 0\">\n <ngx-slick-carousel class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\"\n (init)=\"slickInit($event)\" *ngIf=\"!isCard\">\n <div class=\"reviews-carousel-main\" ngxSlickItem *ngFor=\"let review of reviews.reviews\">\n <div class=\"reviews-carousel-img\">\n <a [routerLink]=\"['/review/',review.reviewId]\">\n <!-- <span *ngFor=\"let imgase of review.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ review.reviewId }}{{ review.resourceId }}\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ review.category.iconName }}\" (error)=\"imageError(review.reviewId +''+ review.resourceId, review.images)\" name=\"{{ review.category.iconColor }}\" (load)=\"imageLoad(review.reviewId +''+ review.resourceId,review.images,imgCoun)\" attr.index=\"{{imgCoun}}\">\n </span> -->\n <app-lazyloadimage *ngIf=\"review.images[0]\" [defaultImage]=\"review.images[0].url\" [images]=\"review.images\" [category]=\"review.category\"></app-lazyloadimage>
25593\n <span class=\"Placeholders {{ review.category.iconColor }}\" *ngIf=\"!review.images[0]\"><i\n class=\"material-icons md-48\">{{ review.category.iconName }}</i></span>\n </a>\n </div>\n <h2><a [routerLink]=\"['/review/',review.reviewId]\">{{ review.title }}</a></h2>\n <ul>\n <li>{{ review.author }}</li>\n <li>Fiction</li>\n </ul>\n <span class=\"star-rating\" *ngIf=\"review.stars\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\"\n [step]=\"0.5\" [rating]=\"[review.stars]\"></star-rating>\n </span>\n <p class=\"review-text\">{{ review.firstParagraph }}</p>\n </div>\n </ngx-slick-carousel>\n\n <div *ngIf=\"isCard\">\n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let review of reviews.reviews\">\n <div class=\"book-block item\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of review.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ review.reviewId }}{{ review.resourceId }}\" *ngIf=\"review.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ review.category.iconName }}\" (error)=\"imageError(review.reviewId +''+ review.resourceId, review.images)\" name=\"{{ review.category.iconColor }}\" (load)=\"imageLoad(review.reviewId +''+ review.resourceId,review.images, imgCoun)\" attr.index=\"{{imgCoun}}\">\n </span> -->\n <app-lazyloadimage *ngIf=\"review.images[0]\" [defaultImage]=\"review.images[0].url\" [images]=\"review.images\" [category]=\"review.category\"></app-lazyloadimage>\n <span class=\"Placeholders {{ review.category.iconColor }}\" *ngIf=\"!review.images[0]\">\n <i class=\"material-icons md-48\">{{ review.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ review.title }}</h3>\n <span class=\"star-rating\" *ngIf=\"review.stars\">\n <star-rating [readOnly]=\"true\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\"\n [step]=\"0.5\" [rating]=\"[review.stars]\"></star-rating>\n </span>\n <p class=\"book-text mb-0\">{{ review.firstParagraph }}</p>\n <div class=\"book-bottom-info\"><span>{{ review.author }}</span><span class=\"pull-right\">{{\n review.reviewer }}</span></div>\n </div>\n <a [routerLink]=\"['/review/',review.reviewId]\" class=\"booklink\"></a>\n </div>\n </div>\n </div>\n\n </div>\n <div *ngIf=\"reviews.reviews.length <= 0\">\n <p class=\"text-center\">No reviews yet.</p>\n </div>\n <div *ngIf=\"reviews.reviews.length > 0\" class=\"text-center\"> <a [routerLink]=\"['/searchreview']\"\n class=\"btn btn-primary btn-md\">Find more reviews <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n </div>\n</section>"); 25594 25595/***/ }), 25596 25597/***/ 85826: 25598/*!*****************************************************************************************************************************!*\ 25599 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/search/search.component.html ***! 25600 \*****************************************************************************************************************************/ 25601/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25602 25603"use strict"; 25604__webpack_require__.r(__webpack_exports__); 25605/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"search-block\" *ngIf=\"searchSetting.data\" [ngClass] = \"searchSetting.data.settings.search.basicSearchIn.bigButtons? 'show_graphics' : ''\">\n <div class=\"container text-center\">\n <div class=\"form-holder search-main-thumbnails-holder\">\n <div id=\"searchForm\">\n\n<div class=\"search-main-thumbnails\" [ngClass] = \"searchSetting.data.settings.search.basicSearchIn.bigButtons && !filtersMore? 'show' : 'hide'\">\n <button (click) = \"setAuthor('',$event)\" class=\"thumbnails-btn thumbnails-btn-color1 active\" type=\"button\" ><img class=\"img-fluid thumbnails-img-c\" src=\"assets/images/All.png\"><img class=\"img-fluid thumbnails-img-w\" src=\"assets/images/All-w.png\"><span>All</span></button>\n <button (click) = \"setAuthor('A',$event)\" class=\"thumbnails-btn thumbnails-btn-color2\" type=\"button\" ><img class=\"img-fluid thumbnails-img-c\" src=\"assets/images/Author.png\"><img class=\"img-fluid thumbnails-img-w\" src=\"assets/images/Author-w.png\"><span>Author</span></button>\n <button (click) = \"setAuthor('T',$event)\" class=\"thumbnails-btn thumbnails-btn-color3\" type=\"button\" ><img class=\"img-fluid thumbnails-img-c\" src=\"assets/images/Title.png\"><img class=\"img-fluid thumbnails-img-w\" src=\"assets/images/Title-w.png\"><span>Title</span></button>\n <button (click) = \"setAuthor('S',$event)\" class=\"thumbnails-btn thumbnails-btn-color4\" type=\"button\" ><img class=\"img-fluid thumbnails-img-c\" src=\"assets/images/Subject.png\"><img class=\"img-fluid thumbnails-img-w\" src=\"assets/images/Subject-w.png\"><span>Subject</span></button>\n <button (click) = \"setAuthor('I',$event)\" class=\"thumbnails-btn thumbnails-btn-color5\" type=\"button\" ><img class=\"img-fluid thumbnails-img-c\" src=\"assets/images/Series.png\"><img class=\"img-fluid thumbnails-img-w\" src=\"assets/images/Series-w.png\"><span>Series</span></button>\n</div>\n\n <div class=\"search-main-input\" [ngClass]=\"!filtersMore ? 'show' : 'hide'\">\n <textarea id=\"serachInBasic\" readonly class=\"search-input\" name=\"search\" placeholder=\"Search for...\" (keyup) = \"onKeyUp('basic',$event)\" (keydown) = \"onKeyDown($event)\" autocomplete=\"off\" ></textarea>\n <input type=\"hidden\" name=\"basicResourceId\" id=\"basicResourceId\" value=\"\">\n<div class=\"search-main-input-right\">\n<div class=\"sel sel--black-panther\" id=\"serachInBasicInSel\" [ngClass] = \"searchSetting.data.settings.search.basicSearchIn.bigButtons && pageType != 'inner'? 'hide' : 'show'\">\n <select name=\"select-profession\" id=\"serachInBasicIn\" [ngClass] = \"searchSetting.data.settings.search.basicSearchIn.bigButtons? 'hide' : 'show'\">\n <option value=\"\">All</option>\n <option value=\"A\">Author</option>\n <option value=\"T\">Title</option>\n <option value=\"S\">Subject</option>\n <option value=\"I\">Series Title</option>\n </select>\n</div>\n<button (click) = \"onSearchIcon()\" type=\"button\" class=\"search-btn\" ><i class=\"fa fa-search\" aria-hidden=\"true\"></i></button></div>\n<div class=\"autoSuggesstions\" *ngIf=\"autoSuggesstionsStatus\">\n <ul>\n <li *ngFor=\"let suggest of autoSuggesstions\" id=\"{{ suggest.fieldValueId}}\" attr.auto=\"{{ suggest.displayValue}}\" attr.subject=\"{{ suggest.searchInText}}\" (click) = \"autocompleteSelect($event)\">
25605\n <span [innerHTML] = \"suggest.displayValue\"></span>\n <span class=\"subjectSpan\" *ngIf=\"suggest.searchInText\"> ({{ suggest.searchInText }})</span>\n </li>\n </ul>\n </div>\n </div>\n\n\n<div *ngIf=\"pageType=='inner' && !filtersMore && advanceEnabled\" class=\"Inner-search-limit\" >\n <span *ngIf=\"limitToArray.category || limitToArray.availability || limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode || limitToArray.fountas || limitToArray.rc || limitToArray.ar || limitToArray.homeLocation\">\n <button *ngIf=\"!filtersMore\" type=\"button\" class=\"limit-btn\" (click)=\"limitTo($event)\">Limit To \n <span>\n <i class=\"fas fa-caret-down\"></i> \n <i class=\"fas fa-caret-up\"></i>\n </span>\n </button>\n </span>\n <button *ngIf=\"!filtersMore\" type=\"button\" class=\"advanced-btn\" (click)=\"filtersMoreFn($event)\">Advanced <span><i class=\"fas fa-caret-down\"></i></span></button> \n</div>\n\n<div class=\"search-main-tab-bottom\" *ngIf=\"pageType=='inner' && (filtersMore || limitToSearch)\">\n <div class=\"advanced-form\" *ngIf=\"filtersMore\">\n <div class=\"nav-tabs-head\">\n <nav>\n <ul class=\"nav nav-tabs nav-fill\" id=\"nav-tab\" role=\"tablist\">\n <li *ngFor=\"let item of searchSetting.data.settings.search.types | keyvalue\">\n <a *ngIf=\"item.key === 'ar' && item.value.enabled\" class=\"nav-item nav-link\" id=\"accelerated-tab\" data-toggle=\"tab\" href=\"#accelerated\" role=\"tab\" aria-controls=\"nav-accelerated\" aria-selected=\"true\" [ngClass]=\"activeTab == 'ar' ? 'active':null\"> Accelerated Reader</a>\n <a *ngIf=\"item.key === 'barcode' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Barcode-tab\" data-toggle=\"tab\" href=\"#nav-Barcode\" role=\"tab\" aria-controls=\"nav-Barcode\" aria-selected=\"false\" [ngClass]=\"activeTab == 'barcode' ? 'active':null\">Barcode</a>\n <a *ngIf=\"item.key === 'boolean' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Boolean-tab\" data-toggle=\"tab\" href=\"#nav-Boolean\" role=\"tab\" aria-controls=\"nav-Boolean\" aria-selected=\"false\" [ngClass]=\"activeTab == 'boolean' ? 'active':null\">Boolean</a>\n <a *ngIf=\"item.key === 'call' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Call-tab\" data-toggle=\"tab\" href=\"#nav-Call\" role=\"tab\" aria-controls=\"nav-Call\" aria-selected=\"false\" [ngClass]=\"activeTab == 'call' ? 'active':null\">Call</a>\n <a *ngIf=\"item.key === 'lexile' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Lexile-tab\" data-toggle=\"tab\" href=\"#nav-Lexile\" role=\"tab\" aria-controls=\"nav-Lexile\" aria-selected=\"false\" [ngClass]=\"activeTab == 'lexile' ? 'active':null\">Lexile</a>\n <a *ngIf=\"item.key === 'marc' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-MARC-tab\" data-toggle=\"tab\" href=\"#nav-MARC\" role=\"tab\" aria-controls=\"nav-MARC\" aria-selected=\"false\" [ngClass]=\"activeTab == 'marc' ? 'active':null\">MARC</a>\n <a *ngIf=\"item.key === 'rc' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-ReadingCounts-tab\" data-toggle=\"tab\" href=\"#nav-ReadingCounts\" role=\"tab\" aria-controls=\"nav-ReadingCounts\" aria-selected=\"false\" [ngClass]=\"activeTab == 'rc' ? 'active':null\">Reading Counts</a>\n <a *ngIf=\"item.key === 'fountas' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Fountas-tab\" data-toggle=\"tab\" href=\"#nav-Fountas\" role=\"tab\" aria-controls=\"nav-Fountas\" aria-selected=\"false\" [ngClass]=\"activeTab == 'fountas' ? 'active':null\">Fountas & Pinnell</a>\n </li>\n <li *ngIf=\"isLogin\"><a class=\"nav-item nav-link\" id=\"nav-PopularTitles-tab\" data-toggle=\"tab\" href=\"#nav-PopularTitles\" role=\"tab\" aria-controls=\"nav-PopularTitles\" aria-selected=\"false\">Popular Titles</a></li>\n <li *ngIf=\"isLogin\"><a class=\"nav-item nav-link\" id=\"nav-NewInLibrary-tab\" data-toggle=\"tab\" href=\"#nav-NewInLibrary\" role=\"tab\" aria-controls=\"n
25605av-NewInLibrary\" aria-selected=\"false\">New In Library</a></li>\n </ul>\n </nav>\n <button type=\"button\" class=\"BasicSearch-btn open\" (click)=\"filtersMoreFn($event)\"><span><i class=\"fas fa-caret-left\"></i></span> Basic Search</button>\n </div>\n <div class=\"tab-content\" id=\"nav-tabContent\">\n <div class=\"tab-pane fade\" id=\"accelerated\" role=\"tabpanel\" aria-labelledby=\"accelerated-tab\" *ngIf=\"searchSetting.data.settings.search.types.ar.enabled\" [ngClass]=\"activeTab == 'ar' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" ismin=\"true\" />\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderLevelMax\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','PointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" />\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur)=\"validateSearch($event, 'AcceleratedReader','PointMax')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" />\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"InterestLevel\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n\n <div class=\"tab-pane fade\" id=\"nav-Boolean\" role=\"tabpanel\" aria-labelledby=\"nav-Boolean-tab\" *ngIf=\"searchSetting.data.settings.search.types.boolean.enabled\" [ngClass]=\"activeTab == 'boolean' ? ' show active':null\">\n\n <input type=\"hidden\" class=\"searchType\" value=\"Boolean\">\n\n <div class=\"row boxBoolean\" *ngFor=\"let box of booleanBoxs; let sno = index\">\n <div class=\"col-lg-12 col-md-12\" [ngClass]=\"sno > 0? 'show': 'hide'\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors\">\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 0? 'active' : ''\">AND</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 1? 'active' : ''\">OR</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 2? 'active' : ''\">NOT</li>\n </ul>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-5\">\n <div class=\"material-form-group\">\n <input name=\"terms\" type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"BooleanSearch\" />\n <label for=\"BooleanSearch\" class=\"material-control-label\">Search for... </label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-5 col-md-4\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"code\" name=\"searchIn\">\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Search In</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-1 col-md-3\">\n <div class=\"material-form-group chack-right\">\n <i *ngIf=\"sno > 0\" (click)=\"removeOpretorBox($event)\" class=\"material-icons booleanremove\">remove</i>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors\">\n <li (click)=\"copyOpretorBox($event)\">AND</li>\n <li (click)=\"copyOpretorBox($event)\">OR</li>\n <li (click)=\"copyOpretorBox($event)\">NOT</li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <div class=\"tab-pane fade\" id=\"nav-Lexile\" role=\"tabpanel\" aria-labelledby=\"nav-Lexile-tab\" *ngIf=\"searchSetting.data.settings.search.types.lexile.enabled\" [ngClass]=\"activeTab == 'lexile' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMin\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMax\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"code\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option>\n <option value=\"NP\">NP - Non-Prose Text</option>\n <option value=\"AD\">AD - Adult-Directed Text</option>\n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"code\" (change)=\"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of searchSetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-MARC\" role=\"tabpanel\" aria-labelledby=\"nav-MARC-tab\" *ngIf=\"searchSetting.data.settings.search.types.marc.enabled\" [ngClass]=\"activeTab == 'marc' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Marc\">\n <input id=\"serachInMarc\" type=\"text\" name=\"search\" (keyup)=\"advanceSearch($event)\" required=\"true\" autocomplete=\"off\">\n <label for=\"serachInMarc\" class=\"material-control-label\">Search for...</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <select name=\"select-profession\" id=\"serachInMarcIn\">\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n <label for=\"input\" class=\"material-control-label\">Search In</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-6 col-lg-6 exact-term-checkbox\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" id=\"startWithMarc\" /> <i _ngcontent-c5=\"\" class=\"material-helper\"></i> Starts with exact term\n </label>\n </div>\n </div>\n </div>\n </div>\n\n\n <div class=\"tab-pane fade\" id=\"nav-Call\" role=\"tabpanel\" aria-labelledby=\"nav-Call-tab\" *ngIf=\"searchSetting.data.settings.search.types.call.enabled\" [ngClass]=\"activeTab == 'call' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Call\">\n <input id=\"callStart\" type=\"text\" name=\"callSerch\" (keyup)=\"advanceSearch($event)\" required=\"true\">\n <label for=\"input\" class=\"material-control-label\">Start</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input id=\"callEnd\" type=\"text\" name=\"callSerch\" (keyup)=\"advanceSearch($event)\" required=\"true\">\n <label for=\"input\" class=\"material-control-label\">End</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Barcode\" role=\"tabpanel\" aria-labelledby=\"nav-Barcode-tab\" *ngIf=\"searchSetting.data.settings.search.types.barcode.enabled\" [ngClass]=\"activeTab == 'barcode' ? ' show active':null\">\n <div class=\"row\">\n <form autocomplete=\"off\" class=\"w-100\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Barcode\">\n <input id=\"barcodeStart\" type=\"text\" name=\"BarcodeSerch\" (keyup)=\"advanceSearch($event)\" required=\"true\" autocomplete=\"off\" />\n <label for=\"barcodeStart\" class=\"material-control-label\">Start</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">
25605\n <input id=\"barcodeEnd\" type=\"text\" name=\"BarcodeSerch\" (keyup)=\"advanceSearch($event)\" required=\"true\" autocomplete=\"false\" />\n <label for=\"barcodeEnd\" class=\"material-control-label\">End</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-ReadingCounts\" role=\"tabpanel\" aria-labelledby=\"nav-ReadingCounts-tab\" *ngIf=\"searchSetting.data.settings.search.types.rc.enabled\" [ngClass]=\"activeTab == 'rc' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"readingcountsLevelMin\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"readingcountsLevelMax\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"readingcountsPointMin\" (keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"readingcountsPointMax\" (keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Fountas\" role=\"tabpanel\" aria-labelledby=\"nav-Fountas-tab\" *ngIf=\"searchSetting.data.settings.search.types.fountas.enabled\" [ngClass]=\"activeTab == 'fountas' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Fountas\">\n <select id=\"fountasLevelMin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"fountasLevelMin\" class=\"material-control-label\">Interest Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <select id=\"fountasLevelMax\" name=\"InterestLevel\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"fountasLevelMax\" class=\"material-control-label\">Interest Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-PopularTitles\" role=\"tabpanel\" aria-labelledby=\"nav-PopularTitles-tab\" [ngClass]=\"activeTab == '' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"PopularTitles\">\n <input (blur)=\"validateSearch($event, 'PopularTitles','Period')\" id=\"populartitlesPeriod\" type=\"number\" name=\"populartitles_period\" (keyup)=\"advanceSearch($event)\" step=\"1\" max=\"1000\" min=\"1\" required=\"true\" group=\"populartitles\" value=\"{{ searchSetting.data.settings.popularTitles.numberOfMonths }}\">\n <label for=\"populartitlesPeriod\" class=\"material-control-label\">Look back how many months</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'PopularTitles','Size')\" id=\"populartitlesSize\" type=\"number\" name=\"populartitles_size\" value=\"{{ searchSetting.data.settings.popularTitles.listSize }}\" step=\"1\" max=\"1000\" min=\"50\" required=\"true\" required=\"true\" group=\"populartitles\">\n <label for=\"populartitlesSize\" class=\"material-control-label\">Size of List</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-12 col-lg-12\">\n <div class=\"material-checkbox mt-0\">\n <label>\n <input type=\"checkbox\" id=\"populartitlesPublish\" /> <i class=\"material-helper\"></i> Publish as Popular Titles list\n </label>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"tab-pane fade\" id=\"nav-NewInLibrary\" role=\"tabpanel\" aria-labelledby=\"nav-NewInLibrary-tab\">\n <div class=\"row\">\n <div class=\"col-lg-4 col-md-4\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"NewInLibrary\">\n <input (blur)=\"validateSearch($event, 'NewInLibrary','Period')\" id=\"newinlibraryPeriod\" type=\"number\" name=\"populartitles_period\" (keyup)=\"advanceSearch($event)\" step=\"1\" max=\"1000\" min=\"1\" required=\"true\" group=\"populartitles\" value=\"{{ searchSetting.data.settings.newInLibrary.listSize }}\">\n <label for=\"newinlibraryPeriod\" class=\"material-control-label\"> List Size</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-4 col-lg-4\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" id=\"newinlibraryPublish\" /> <i class=\"material-helper\"></i> Publish as Popular Titles list\n </label>\n </div>\n </div>\n <div class=\"col-md-4 col-lg-4\">\n <div class=\"material-checkbox\">\n <label>\n <input [attr.checked]=\"searchSetting.data.settings.newInLibrary.includeNewHolding? 'checked' : null\" type=\"checkbox\" id=\"newinlibraryCopies\" /> <i class=\"material-helper\"></i> Include new copies of older titles\n </label>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n <button *ngIf=\"(limitToArray.category || limitToArray.availability || limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode || limitToArray.fountas || limitToArray.rc || limitToArray.ar || limitToArray.homeLocation) && filtersMore \" type=\"button\" class=\"limit-btn\" (click)=\"limitTo($event)\">\n Limit To <span>\n <i class=\"fas fa-caret-down\"></i>\n <i class=\"fas fa-caret-up\"></i>\n </span>\n </button>\n <button *ngIf=\"!filtersMore && pageType=='Home' && advanceEnabled\" type=\"button\" class=\"advanced-btn\" (click)=\"filtersMoreFn($event)\">Advanced <span><i class=\"fas fa-caret-down\"></i></span></button>\n <div class=\"limit-form\" *ngIf=\"limitToSearch\">\n <div class=\"row\">\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.category\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitCategory\" /><i class=\"material-helper\"></i>Category\n </label>\n </div>\n <div class=\"material-form-group childLimit hide\">\n <select id=\"l-cat\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n <label for=\"select\" class=\"material-control-label\">
25605Select Category</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.availability\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitInlib\" /><i class=\"material-helper\"></i>Available in Library\n </label>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode \">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitLexile\" /><i class=\"material-helper\"></i>Lexile\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMin\" name='l-lexmin' (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMax\" name='l-lexmax' (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12 \" *ngIf=\"limitToArray.lexileCode\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"l-lexcode\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option>\n <option value=\"NP\">NP - Non-Prose Text</option>\n <option value=\"AD\">AD - Adult-Directed Text</option>\n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\" *ngIf=\"limitToArray.lexileGrade\">\n <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"l-lexpat\" (change)=\"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of searchSetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.fountas\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitFountas\" /><i class=\"material-helper\"></i>Fountas & Pinnell\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmin\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmax\" name=\"InterestLevel\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\" [selected]=\"level === 'z+'\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmax\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.rc\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitReading\" /><i class=\"material-helper\"></i>Reading Count\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"l-rcmin\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"l-rcmax\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"l-rcminpt\"
25605(keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"l-rcmaxpt\" (keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.ar\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitAccelerated\" /><i class=\"material-helper\"></i>Accelerated Reader\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMin\" name=\"l-armin\" ismin=\"true\" />\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMax\" name=\"l-armax\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" name=\"l-arminpt\" />\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" name=\"l-armaxpt\" />\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"l-arint\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.homeLocation\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" /><i class=\"material-helper\"></i>Home Location Only\n </label>\n </div>\n </div>\n </div>\n </div>\n <button (click)=\"onSearchIcon()\" *ngIf=\"limitToSearch && !filtersMore\" class=\"btn btn-primary btn-md pull-right btn-green\" href=\"#\">Search <i class=\"far fa-arrow-alt-circle-right\"></i></button>\n <button (click)=\"advanceSearch($event)\" *ngIf=\"filtersMore\" class=\"btn btn-primary btn-md pull-right btn-green\" href=\"#\">Search <i class=\"far fa-arrow-alt-circle-right\"></i></button>\n</div>\n\n<div class=\"search-main-tab-bottom\" *ngIf=\"pageType=='Home'\">\n<div class=\"advanced-form\" *ngIf=\"filtersMore\">\n <div class=\"nav-tabs-head\">\n <nav>\n <ul class=\"nav nav-tabs nav-fill\" id=\"nav-tab\" role=\"tablist\">\n <li *ngFor=\"let item of searchSetting.data.settings.search.types | keyvalue\">\n <a *ngIf=\"item.key === 'ar' && item.value.enabled\" class=\"nav-item nav-link\" id=\"accelerated-tab\" data-toggle=\"tab\" href=\"#accelerated\" role=\"tab\" aria-controls=\"n
25605av-home\" aria-selected=\"true\" [ngClass]=\"activeTab == 'ar' ? 'active':null\"> Accelerated Reader</a>\n\n <a *ngIf=\"item.key === 'barcode' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Barcode-tab\" data-toggle=\"tab\" href=\"#nav-Barcode\" role=\"tab\" aria-controls=\"nav-Barcode\" aria-selected=\"false\" [ngClass]=\"activeTab == 'barcode' ? 'active':null\">Barcode</a>\n\n <a *ngIf=\"item.key === 'boolean' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Boolean-tab\" data-toggle=\"tab\" href=\"#nav-Boolean\" role=\"tab\" aria-controls=\"nav-Boolean\" aria-selected=\"false\" [ngClass]=\"activeTab == 'boolean' ? 'active':null\">Boolean</a>\n\n <a *ngIf=\"item.key === 'call' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Call-tab\" data-toggle=\"tab\" href=\"#nav-Call\" role=\"tab\" aria-controls=\"nav-Call\" aria-selected=\"false\" [ngClass]=\"activeTab == 'call' ? 'active':null\">Call</a>\n\n <a *ngIf=\"item.key === 'lexile' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Lexile-tab\" data-toggle=\"tab\" href=\"#nav-Lexile\" role=\"tab\" aria-controls=\"nav-Lexile\" aria-selected=\"false\" [ngClass]=\"activeTab == 'lexile' ? 'active':null\">Lexile</a>\n\n <a *ngIf=\"item.key === 'marc' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-MARC-tab\" data-toggle=\"tab\" href=\"#nav-MARC\" role=\"tab\" aria-controls=\"nav-MARC\" aria-selected=\"false\" [ngClass]=\"activeTab == 'marc' ? 'active':null\">MARC</a>\n\n <a *ngIf=\"item.key === 'rc' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-ReadingCounts-tab\" data-toggle=\"tab\" href=\"#nav-ReadingCounts\" role=\"tab\" aria-controls=\"nav-ReadingCounts\" aria-selected=\"false\" [ngClass]=\"activeTab == 'rc' ? 'active':null\">Reading Counts</a>\n\n <a *ngIf=\"item.key === 'fountas' && item.value.enabled\" class=\"nav-item nav-link\" id=\"nav-Fountas-tab\" data-toggle=\"tab\" href=\"#nav-Fountas\" role=\"tab\" aria-controls=\"nav-Fountas\" aria-selected=\"false\" [ngClass]=\"activeTab == 'fountas' ? 'active':null\">Fountas & Pinnell</a>\n\n </li>\n <li *ngIf=\"isLogin\"><a class=\"nav-item nav-link\" id=\"nav-PopularTitles-tab\" data-toggle=\"tab\" href=\"#nav-PopularTitles\" role=\"tab\" aria-controls=\"nav-PopularTitles\" aria-selected=\"false\">Popular Titles</a></li>\n <li *ngIf=\"isLogin\"><a class=\"nav-item nav-link\" id=\"nav-NewInLibrary-tab\" data-toggle=\"tab\" href=\"#nav-NewInLibrary\" role=\"tab\" aria-controls=\"nav-NewInLibrary\" aria-selected=\"false\">New In Library</a></li>\n </ul>\n </nav>\n<button type=\"button\" class=\"BasicSearch-btn open\" (click)=\"filtersMoreFn($event)\"><span><i class=\"fas fa-caret-left\"></i></span> Basic Search</button>\n </div>\n <div class=\"tab-content\" id=\"nav-tabContent\">\n\n <div class=\"tab-pane fade\" id=\"accelerated\" role=\"tabpanel\" aria-labelledby=\"accelerated-tab\" [ngClass]=\"activeTab == 'ar' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" ismin=\"true\" />\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderLevelMax\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur)=\"validateSearch($event, 'AcceleratedReader','PointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" />\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur)=\"validateSearch($event, 'AcceleratedReader','PointMax')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" />\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"InterestLevel\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Lexile\" role=\"tabpanel\" aria-labelledby=\"nav-Lexile-tab\" [ngClass]=\"activeTab == 'lexile' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMin\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" ismin=\"true\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"LexileLevelMax\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"code\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option>\n <option value=\"NP\">NP - Non-Prose Text</option>\n <option value=\"AD\">AD - Adult-Directed Text</option>\n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"code\" (change)=\"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of searchSetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Boolean\" role=\"tabpanel\" aria-labelledby=\"nav-Boolean-tab\" [ngClass]=\"activeTab == 'boolean' ? 'show active':null\">\n <input type=\"hidden\" class=\"searchType\" value=\"Boolean\">\n <div class=\"row boxBoolean\" *ngFor=\"let box of booleanBoxs; let sno = index\">\n <div class=\"col-lg-12 col-md-12\" [ngClass]=\"sno > 0? 'show': 'hide'\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors\">\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 0? 'active' : ''\">AND</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 1? 'active' : ''\">OR</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.operator == 2? 'active' : ''\">NOT</li>\n </ul>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-5\">\n <div class=\"material-form-group\">\n <form autocomplete=\"off\">\n <input name=\"terms\" type=\"text\" required=\"required\" (keyup)=\"advanceSearch($event)\" id=\"BooleanSearch\" />\n <label for=\"BooleanSearch\" class=\"material-control-label\">Search for... </label><i class=\"material-bar\"></i>\n </form>\n </div>\n </div>\n <div class=\"col-lg-5 col-md-4\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"code\" name=\"searchIn\">\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Search In</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-1 col-md-3\">\n <div class=\"material-form-group chack-right\">\n <i *ngIf=\"sno > 0\" (click)=\"removeOpretorBox($event)\" class=\"material-icons booleanremove\">remove</i>\n </div>\n </div>\n\n </div>\n\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors\">\n <li (click)=\"copyOpretorBox($event)\">AND</li>\n <li (click)=\"copyOpretorBox($event)\">OR</li>\n <li (click)=\"copyOpretorBox($event)\">NOT</li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n\n\n <div class=\"tab-pane fade\" id=\"nav-MARC\" role=\"tabpanel\" aria-labelledby=\"nav-MARC-tab\" [ngClass]=\"activeTab == 'marc' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Marc\">\n <input required=\"required\" id=\"serachInMarc\" type=\"text\" name=\"search\" (keyup)=\"advanceSearch($event)\" autocomplete=\"off\">\n <label for=\"input\" class=\"material-control-label\">Search for...</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n\n <select name=\"select-profession\" id=\"serachInMarcIn\">\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n <label for=\"input\" class=\"material-control-label\">Search In</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-6 col-lg-6 exact-term-checkbox\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" id=\"startWithMarc\" /> <i _ngcontent-c5=\"\" class=\"material-helper\"></i> Starts with exact term\n </label>\n </div>\n </div>\n\n </div>\n\n </div>\n\n\n <div class=\"tab-pane fade\" id=\"nav-Call\" role=\"tabpanel\" aria-labelledby=\"nav-Call-tab\" [ngClass]=\"activeTab == 'call' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Call\">\n <input required=\"required\" id=\"callStart\" type=\"text\" name=\"callSerch\" (keyup)=\"advanceSearch($event)\">\n <label for=\"callStart\" class=\"material-control-label\">Start</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input required=\"required\" id=\"callEnd\" type=\"text\" name=\"callSerch\" (keyup)=\"advanceSearch($event)\">\n <label for=\"callEnd\" class=\"material-control-label\">End</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n\n\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Barcode\" role=\"tabpanel\" aria-labelledby=\"nav-Barcode-tab\" [ngClass]=\"activeTab == 'barcode' ? 'show active':null\">\n <div class=\"row\">\n <form autocomplete=\"off\" class=\"w-100\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Barcode\">\n <input required=\"true\" id=\"barcodeStart\" type=\"text\" name=\"BarcodeSerch\" (keyup)=\"advanceSearch($event)\" autocomplete=\"off\" />\n <label for=\"barcodeStart\" class=\"material-control-label\">Start</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input required=\"true\" id=\"barcodeEnd\" t
25605ype=\"text\" name=\"BarcodeSerch\" (keyup)=\"advanceSearch($event)\" autocomplete=\"off\" />\n <label for=\"barcodeEnd\" class=\"material-control-label\">End</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </form>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-ReadingCounts\" role=\"tabpanel\" aria-labelledby=\"nav-ReadingCounts-tab\" [ngClass]=\"activeTab == 'rc' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"readingcountsLevelMin\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n <label for=\"input\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"readingcountsLevelMax\" (keyup)=\"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"input\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"readingcountsPointMin\" (keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin='true' group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"readingcountsPointMax\" (keyup)=\"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-Fountas\" role=\"tabpanel\" aria-labelledby=\"nav-Fountas-tab\" *ngIf=\"searchSetting.data.settings.search.types.fountas.enabled\" [ngClass]=\"activeTab == 'fountas' ? ' show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Fountas\">\n <select id=\"fountasLevelMin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n\n </select>\n <label for=\"fountasLevelMin\" class=\"material-control-label\">Interest Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <select id=\"fountasLevelMax\" name=\"InterestLevel\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n\n </select>\n <label for=\"fountasLevelMax\" class=\"material-control-label\">Interest Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tab-pane fade\" id=\"nav-PopularTitles\" role=\"tabpanel\" aria-labelledby=\"nav-PopularTitles-tab\" [ngClass]=\"activeTab == '' ? 'show active':null\">\n <div class=\"row\">\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"PopularTitles\">\n <input (blur)=\"validateSearch($event, 'PopularTitles','Period')\" id=\"populartitlesPeriod\" type=\"number\" name=\"populartitles_period\" (keyup)=\"advanceSearch($event)\" step=\"1\" max=\"1000\" min=\"1\" required=\"true\" group=\"populartitles\" value=\"{{ searchSetting.data.settings.popularTitles.numberOfMonths }}\">\n <label for=\"populartitlesPeriod\" class=\"material-control-label\">Look back how many months</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6\">\n <div class=\"material-form-group\">\n <input (blur)=\"validateSearch($event, 'PopularTitles','Size')\" id=\"populartitlesSize\" type=\"number\" name=\"populartitles_size\" value=\"{{ searchSetting.data.settings.popularTitles.listSize }}\" step=\"1\" max=\"1000\" min=\"50\" required=\"true\" required=\"true\" group=\"populartitles\">\n <label for=\"populartitlesSize\" class=\"material-control-label\">Size of List</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-12 col-lg-12\">\n <div class=\"material-checkbox mt-0\">\n <label>\n <input type=\"checkbox\" id=\"populartitlesPublish\" /> <i class=\"material-helper\"></i> Publish as Popular Titles list\n </label>\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"tab-pane fade\" id=\"nav-NewInLibrary\" role=\"tabpanel\" aria-labelledby=\"nav-NewInLibrary-tab\">\n <div class=\"row\">\n <div class=\"col-lg-4 col-md-4\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"NewInLibrary\">\n <input (blur)=\"validateSearch($event, 'NewInLibrary','Period')\" id=\"newinlibraryPeriod\" type=\"number\" name=\"populartitles_period\" (keyup)=\"advanceSearch($event)\" step=\"1\" max=\"1000\" min=\"1\" required=\"true\" group=\"populartitles\" value=\"{{ searchSetting.data.settings.newInLibrary.listSize }}\">\n <label for=\"newinlibraryPeriod\" class=\"material-control-label\"> List Size</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-4 col-lg-4\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" id=\"newinlibraryPublish\" /> <i class=\"material-helper\"></i> Publish as Popular Titles list\n </label>\n </div>\n </div>\n <div class=\"col-md-4 col-lg-4\">\n <div class=\"material-checkbox\">\n <label>\n <input [attr.checked]=\"searchSetting.data.settings.newInLibrary.includeNewHolding? 'checked' : null\" type=\"checkbox\" id=\"newinlibraryCopies\" /> <i class=\"material-helper\"></i> Include new copies of older titles\n </label>\n </div>\n </div>\n\n </div>\n </div>\n\n\n\n </div>\n </div>\n<button type=\"button\" *ngIf=\"limitToArray.category || limitToArray.availability || limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode || limitToArray.fountas || limitToArray.rc || limitToArray.ar || limitToArray.homeLocation\" class=\"limit-btn\" (click)=\"limitTo($event)\"> Limit To <span>\n <i class=\"fas fa-caret-down\"></i> \n <i class=\"fas fa-caret-up\"></i>\n</span>\n</button>\n<button *ngIf=\"!filtersMore && pageType=='Home' && advanceEnabled\" type=\"button\" class=\"advanced-btn\" (click)=\"filtersMoreFn($event)\">Advanced <span><i class=\"fas fa-caret-down\"></i></span></button>\n\n\n<div class=\"limit-form\" *ngIf=\"limitToSearch\">\n <div class=\"row\">\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.category\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitCategory\"/><i class=\"material-helper\"></i>Category\n </label>\n </div>\n <div class=\"material-form-group childLimit hide\">\n <select id=\"l-cat\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n <label for=\"select\" class=\"material-control-label\">
25605Select Category</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.availability\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitInlib\"/><i class=\"material-helper\"></i>Available in Library\n </label>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode \">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitLexile\"/><i class=\"material-helper\"></i>Lexile\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMin\" name='l-lexmin' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMax\" name='l-lexmax' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\"/>\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n <div class=\"col-lg-3 col-md-12 \" *ngIf=\"limitToArray.lexileCode\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"l-lexcode\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option> \n <option value=\"NP\">NP - Non-Prose Text</option> \n <option value=\"AD\">AD - Adult-Directed Text</option> \n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\" *ngIf=\"limitToArray.lexileGrade\">\n <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"l-lexpat\" (change) = \"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of searchSetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.fountas\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitFountas\" /><i class=\"material-helper\"></i>Fountas & Pinnell\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmin\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmax\" name=\"InterestLevel\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\" [selected]=\"level === 'z+'\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmax\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.rc\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitReading\"/><i class=\"material-helper\"></i>Reading Count\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"l-rcmin\" (keyup) = \"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"l-rcmax\" (keyup) = \"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"l-rcminpt\" (keyup) = \"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"l-rcmaxpt\" (keyup) = \"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.ar\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitAccelerated\"/><i class=\"material-helper\"></i>Accelerated Reader\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMin\" name=\"l-armin\" ismin=\"true\"/>\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMax\" name=\"l-armax\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" name=\"l-arminpt\" />\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" name=\"l-armaxpt\"/>\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"l-arint\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.homeLocation\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" /><i class=\"material-helper\"></i>Home Location Only\n </label>\n </div>\n </div>\n </div>\n </div>\n<button (click)=\"onSearchIcon()\" *ngIf=\"limitToSearch && !filtersMore\" class=\"btn btn-primary btn-md pull-right btn-green\" href=\"#\">Search <i class=\"far fa-arrow-alt-circle-right\"></i></button> \n<button (click) = 'advanceSearch($event)' *ngIf=\"filtersMore\" class=\"btn btn-primary btn-md pull-right btn-green\" href=\"#\">Search <i _ngcontent-c7=\"\" class=\"far fa-arrow-alt-circle-right\"></i></button>\n</div>\n </div>\n </div>\n </div>\n</section>\n"); 25606 25607/***/ }), 25608 25609/***/ 42679: 25610/*!*************************************************************************************************************************!*\ 25611 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/home/text/text.component.html ***! 25612 \*************************************************************************************************************************/ 25613/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25614 25615"use strict"; 25616__webpack_require__.r(__webpack_exports__); 25617/* harmony default export */ __webpack_exports__["default"] = ("<section class=\"widgets select-box popular-titles fr-view\">\n <div class=\"container-fluid\"> \n <div class=\"width_{{ widgetsSetting.Width }} LK\" *ngIf=\"widgetsSetting.caption || widgetsSetting.content\" >\n <div class=\"two-clum-block\">\n <h3 *ngIf=\"widgetsSetting.caption\" class=\"text-heading text-left\">{{ widgetsSetting.caption }}</h3>\n <!-- <h3 class=\"text-subheading\">FAMILY ACTIVITY FOR DECEMBER</h3> -->\n <p [innerHTML]=\"widgetsSetting.content | keepHtml\"></p> \n </div>\n </div>\n <div *ngIf=\"!widgetsSetting.caption && !widgetsSetting.content\" class=\"text-center\">No Message Available</div>\n</div>\n</section>"); 25618 25619/***/ }), 25620 25621/***/ 75288: 25622/*!******************************************************************************************************************************!*\ 25623 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/awards/awards.component.html ***! 25624 \******************************************************************************************************************************/ 25625/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25626 25627"use strict"; 25628__webpack_require__.r(__webpack_exports__); 25629/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <div class=\"container-fluid\">\n <section class=\"widgets bread-crumbs\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Awards & Honors</li>\n </ul>\n </section>\n <div class=\"container-fluid mt-3\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner-container\" >\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n <section class=\"widgets awards-honors text-list-noborder\" *ngIf=\"!responseAPIstatus\">\n <div class=\"row\">\n <div class=\"awards-honors-clum-block-main\">\n <div class=\"m-0\" id=\"grid\">\n <div class=\"grid-sizer\"></div>\n <div class=\"grid-item\">\n <div class=\"two-clum-block\">\n <h4 class=\"text-heading\">Recent</h4>\n <ul class=\"two-clum-list\">\n <li>\n <a class=\"text-widgets-list \" [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year: '', award : '',name :'',high: highYear,low: lowYear}\">All</a>\n </li>\n <li *ngFor=\"let year of Awards.recentYears\"><a class=\"text-widgets-list \" [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year: year, award : '',name :'' }\">{{ year }}</a></li>\n </ul>\n </div> \n </div>\n <div class=\"grid-item \" *ngFor=\"let award of Awards.categories\">\n <div class=\"two-clum-block\" > \n <h4 class=\"text-heading\">{{ award.name }}</h4>\n <hr class=\"dot-divdr\">\n <ul class=\"two-clum-list\">\n <li *ngFor=\"let item of award.honors\">\n <a class=\"text-widgets-list \" data-toggle=\"collapse\" href=\"#multiCollapseExample{{ item.id }}\" role=\"button\" aria-expanded=\"false\" aria-controls=\"\">{{ item.name }} <span *ngIf=\"item.division\" class=\"subtitleAward\"> : {{ item.division }}</span></a> \n <div class=\"collapse multi-collapse\" id=\"multiCollapseExample{{ item.id }}\" data-parent=\"#grid\">\n <div class=\"a-h-body\">\n <p> {{ item.desc }} </p>\n <a *ngIf=\"!item.division\" [routerLink]=\"['
25629/list/awards']\" [queryParams]=\"{ year: '', award : item.id,name : item.name }\">\n <span class=\"btn btn-sm pull-right honorViewButton\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></span>\n </a>\n <a *ngIf=\"item.division\" [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year: '', award : item.id,name : item.name+ ' : ' +item.division }\">\n <span class=\"btn btn-sm pull-right honorViewButton\">View More <i class=\"far fa-arrow-alt-circle-right\"></i></span>\n </a>\n </div>\n </div>\n </li> \n </ul>\n </div>\n </div>\n <div class=\"grid-item full\">\n <div class=\"one-clum-block\">\n <h4 class=\"text-heading\">Other Years</h4>\n <hr class=\"dot-divdr\">\n <ul class=\"two-clum-list multi-year\">\n <li *ngFor=\"let oyears of Awards.otherYears \">\n <a class=\"text-widgets-list\" [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year: oyears, award : '',name : '' }\">{{ oyears }}</a>\n </li> \n </ul>\n </div>\n </div>\n </div>\n </div> \n </div>\n </section>\n </div>\n</main>\n<app-footer *ngIf=\"!responseAPIstatus\" ></app-footer>"); 25630 25631/***/ }), 25632 25633/***/ 9342: 25634/*!************************************************************************************************************************************************!*\ 25635 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/bulletin-detail/bulletin-detail.component.html ***! 25636 \************************************************************************************************************************************************/ 25637/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25638 25639"use strict"; 25640__webpack_require__.r(__webpack_exports__); 25641/* harmony default export */ __webpack_exports__["default"] = ("<main *ngIf=\"!responseAPIstatus\">\n<section class=\"widgets bread-crumbs \">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink]=\"['/bulletins']\">Bulletins List</a></li>\n <li >{{ bulletinDetail.data.caption }}</li>\n </ul>\n <div class=\"right-btn-bread\" *ngIf=\"canEdit\">\n <a class=\"print-btn\" data-toggle=\"modal\" href=\"#edit-bulletin\" click=\"showEditModal()\" role=\"button\"><i class=\"fas fa-edit\"></i></a>\n <a class=\"print-btn\" (click) =\"showDeleteConfirmation(bulletinDetail.data.id,$event)\"><i class=\"fas fa-trash-alt\"></i></a>\n </div> \n\n </div>\n</section>\n<div class=\"loader-inner-container \" *ngIf=\"responseAPIstatus\">\n<div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n</div>\n</div>\n <section class=\"widgets select-box fr-view\" *ngIf=\"!responseAPIstatus\">\n <div class=\"container-fluid\">\n \t<h3 class=\"text-heading text-left\">{{ bulletinDetail.data.caption }}</h3>\n <span class=\"date\">Posted {{ bulletinDetail.data.createdDate | date : 'longDate' }}</span>\n <span *ngIf=\"bulletinDetail.data.lastUpdate\" class=\"pdate\">Update on {{ bulletinDetail.data.lastUpdate | date : 'longDate' }}</span>\n <div class=\"bulletin-detail\" [innerHTML] = \"bulletinDetail.data.content | keepHtml \"></div> \n </div>\n </section>\n </main>\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>\n<!-- Add New Bulletin POPUP -->\n <div *ngIf=\"!responseAPIstatus\" class=\"modal fade \" id=\"edit-bulletin\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Edit Bulletin</h4>\n <button id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\">\n <label>Headline</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" id=\"bHeadline\" value=\"{{ bulletinDetail.data.caption }}\">\n <input type=\"hidden\" name=\"bid\" id=\"bid\" value=\"{{ bulletinDetail.data.id }}\">\n </div>\n <div class=\"form-group\">\n <label>Content</label>\n <textarea [froalaEditor] =\"optionsEditor\" id=\"bContent\" [(froalaModel)]=\"bulletinDetail.data.content\" class=\"form-control\" ></textarea>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-md-6\" id=\"datepickerNg\">\n <label class=\"check-list mT-2\"><input type=\"checkbox\" name=\"showoncalendar\" (change) = \"showDateInput($event)\" id=\"bIsDate\" [attr.checked] =\"bulletinDetail.data.date? 'true' : null\"><span class=\"checkmark\"></span>\n Show on Calendar</label> \n <div class=\"form-group\" [ngClass]=\"showDate? 'show' : 'hide'\">\n <ngx-datepicker [(ngModel)]=\"date\" id=\"bDate\" [options]=\"options\"></ngx-datepicker>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\" [ngClass] = \"loations.length > 1? 'show' : 'hide'\">\n <h6>
25641Publish to Location</h6>\n <label class=\"radio-input\"><input [attr.checked] =\"bulletinDetail.data.locationId == null? 'true' : null\" class=\"option-input radio\" name=\"selectlocation\" type=\"radio\" value=\"\">All</label>\n <label class=\"radio-input\">\n <input class=\"option-input radio\" [attr.checked] =\"bulletinDetail.data.locationId != null? 'true' : null\" name=\"selectlocation\" type=\"radio\" value=\"{{ loations.id }}\">{{ loations.name }}\n </label>\n </div>\n </div>\n \n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveBulletin\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click) = \"saveBulletinMethod($event)\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"modal fade\" [ngClass]=\"showDeleteConfirm? 'show': 'hide'\" id=\"delete-bulletin-button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Are you sure?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click)=\"deleteBulletin()\">\n <input id=\"canceldeletebulletin\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" (click)=\"hideDeleteConfirmation()\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n"); 25642 25643/***/ }), 25644 25645/***/ 70970: 25646/*!**********************************************************************************************************************************************!*\ 25647 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/bulletins-list/bulletins-list.component.html ***! 25648 \**********************************************************************************************************************************************/ 25649/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25650 25651"use strict"; 25652__webpack_require__.r(__webpack_exports__); 25653/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Bulletins</li>\n </ul>\n <a *ngIf=\"canEdit\" class=\"btn btn-primary\" data-toggle=\"modal\" href=\"#add-bulletin\" role=\"button\"><i class=\"fas fa-plus\"></i> Add New Bulletin</a>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <section class=\"manage-ui-block Explore\" *ngIf=\"canEdit\">\n <div class=\"EditModeButtonMain\">\n <button [ngClass]=\"editMode? 'edit' :''\" class=\"rotating-btn-main explore\" id=\"editModeButton\" href=\"#\" (click) = \"editModeToggle($event)\">\n <div class=\"btn-icon\">\n <div class=\"rotating fas fa-cog\"></div>\n <i class=\"fas fa-check\"></i>\n </div>\n <span *ngIf=\"!editMode\">Rearrange Bulletins</span>\n <span *ngIf=\"editMode\">Finished</span>\n </button> \n </div>\n </section>\n <section *ngIf=\"!responseAPIstatus && editMode\">\n <div class=\"container-fluid\">\n <div *ngIf=\"!bulletinsList[0]\" class=\"no-record-found w-100\">
25653\n <span>\n <img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> There are no bulletins.</p> \n </span>\n </div> \n <div *ngIf=\"bulletinsList[0]\">\n <h3 class=\"text-heading text-left\">{{ bulletinsList.caption }}</h3>\n <ul cdkDropList class=\"two-clum-list bulletinListDrag\" (cdkDropListDropped)=\"onSortFinish($event)\">\n <li class=\"dragBox\" *ngFor=\"let item of bulletinsList; let i = index\" cdkDrag style=\"list-style: none;\">\n\n <div class=\"btn-group pull-right\" *ngIf=\"editMode\">\n <button cdkDragHandle type=\"button\" class=\"btn btn-move my-handle\" style=\"z-index:990;\"><i class=\"fa fa-arrows-alt\"></i></button>\n </div>\n <a class=\"text-widgets-list\" routerLink=\"/bulletin/{{ item.id }}\">\n <!--button cdkDragHandle type=\"button\" class=\"btn btn-move my-handle\"><i class=\"fa fa-arrows-alt\"></i></button-->\n <h4 *ngIf=\"item.caption\">{{item.caption}}</h4>\n <span class=\"date\">Posted {{ item.createdDate | date : 'longDate' }}</span> \n <p [innerHTML]=\"item.content | removeHTML\"></p> \n </a>\n </li>\n </ul> \n </div>\n </div>\n </section>\n <section *ngIf=\"!responseAPIstatus && !editMode\">\n <div class=\"container-fluid\">\n <div *ngIf=\"!bulletinsList[0]\" class=\"no-record-found w-100\">\n <span>\n <img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong>
25653 There are no bulletins.</p> \n </span>\n </div> \n <div class=\"clearfix\"></div>\n <div *ngIf=\"bulletinsList[0]\">\n <h3 class=\"text-heading text-left\">{{ bulletinsList.caption }}</h3>\n <ul class=\"two-clum-list \" >\n <li *ngFor=\"let item of bulletinsList; let i = index\" style=\"list-style: none;\">\n\n \n <a class=\"text-widgets-list\" routerLink=\"/bulletin/{{ item.id }}\">\n <!--button cdkDragHandle type=\"button\" class=\"btn btn-move my-handle\"><i class=\"fa fa-arrows-alt\"></i></button-->\n <h4 *ngIf=\"item.caption\">{{item.caption}}</h4>\n <span class=\"date\">Posted {{ item.createdDate | date : 'longDate' }}</span> \n <p [innerHTML]=\"item.content | removeHTML\"></p> \n </a>\n </li>\n </ul> \n </div>\n </div>\n </section>\n</main>\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>\n<!-- Add New Bulletin POPUP -->\n<div class=\"modal fade \" id=\"add-bulletin\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Add New Bulletin</h4>\n <button id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\">\n <label>Headline</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" id=\"bHeadline\">\n </div>\n <div class=\"form-group\">\n <label>Content</label>\n <textarea [froalaEditor] =\"optionsEditor\" id=\"bContent\" class=\"form-control\" ></textarea>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-md-6\" id=\"datepickerNg\">\n <label class=\"check-list mT-2\"><input type=\"checkbox\" name=\"showoncalendar\" (change) = \"showDateInput($event)\" id=\"bIsDate\"><span class=\"checkmark\"></span>\n Show on Calendar</label> \n <div class=\"form-group\" [ngClass]=\"showDate? 'show' : 'hide'\">\n <ngx-datepicker [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker>\n <!-- <input type=\"text\" name=\"showoncalendardate\" class=\"form-control\" > -->\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\" [ngClass] = \"loations.length > 1? 'show' : 'hide'\">\n <h6>Publish to Location</h6>\n <label class=\"radio-input\"><input checked class=\"option-input radio\" name=\"selectlocation\" type=\"radio\" value=\"\">All</label>\n <label class=\"radio-input\">\n <input class=\"option-input radio\" name=\"selectlocation\" type=\"radio\" value=\"{{ loations.id }}\">{{ loations.name }}\n </label>\n </div>\n </div>\n \n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveBulletin\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click) = \"saveBulletinMethod($event)\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n</div>"); 25654 25655/***/ }), 25656 25657/***/ 30387: 25658/*!******************************************************************************************************************************!*\ 25659 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/detail/detail.component.html ***! 25660 \******************************************************************************************************************************/ 25661/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25662 25663"use strict"; 25664__webpack_require__.r(__webpack_exports__); 25665/* harmony default export */ __webpack_exports__["default"] = ("<div class=\"container-fluid mt-3\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner-container\" >\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n</div>\n<div *ngIf=\"haveApiError\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> This resource is no longer available.</p>\n </span>\n</div>\n<main *ngIf=\"!responseAPIstatus && !haveApiError\">\n \n <section class=\"widgets bread-crumbs\">\n <div class=\"container-fluid\">\n \n <ul class=\"list-bread-crumbs\" *ngIf=\"awardsId || awardsYear || awardsName\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink]=\"['/awards']\">Awards & Honors</a></li>\n <li *ngIf=\"awardsYear\"><a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : awardsYear,award : '', name : '' }\">\n {{ awardsYear }}</a></li>\n <li *ngIf=\"awardsName\"><a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : '' ,award : awardsId, name : awardsName }\"> {{ awardsName }}</a></li>\n <li>{{ resourceDetail.title }}</li>\n </ul>\n <ul class=\"list-bread-crumbs\" *ngIf=\"!awardsId && !awardsYear && !awardsName\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li *ngIf=\"previousUrl\"><a [routerLink]=\"['/'+previousUrl]\" [queryParams]=\"queryString\" > {{ previousUrlTxt }} </a> </li>\n <li>{{ resourceDetail.title }}</li>\n </ul>\n </div>\n </section>\n <section class=\"widgets book-detail\">\n <div class=\"right-btn-bread opac-dropdownBar detail-share-link export-options\" >\n <div class=\"printContainer exploreCon\" >\n <button class=\"print-btn\" href=\"#\" (click)=\"showShare($event)\" ><i class=\"fas fa-share-alt\"></i></button>\n </div>\n <ul class=\"dropdown-menu\">\n <li (click)=\"copyPermalink()\" class=\"dropdown-item\" >Copy link</li>\n </ul>\n </div>\n <a id=\"permalink_share\" class=\"hide\" [routerLink]=\"['/resources/detail/single/',resourceDetail.resourceId]\"></a>\n <div class=\"book-box\">\n <div class=\"loader-inner-container detail\" *ngIf=\"onNext\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div class=\"book-image-main\">\n <div class=\"book-image\">\n <!-- <span *ngFor=\"let image of resourceDetail.images; let last = last;let imgCoun = index;\">\n <img id=\"detailImg\" attr.custom=\"{{ resourceDetail.resourceId }}{{ resourceDetail.listItemId }}\" *ngIf=\"resourceDetail.images[0] && last\" class=\"img-fluid\" src=\"{{ image.url }}\" alt=\"{{ resourceDetail.category.iconName }}\" (error)=\"imageError1(resourceDetail.resourceId +''+ resourceDetail.listItemId, resourceDetail.images)\" name=\"{{ resourceDetail.category.iconColor }}\" (load) = \"imageLoad1(resourceDetail.resourceId +''+ resourceDetail.listItemId, resourceDetail.images, imgCoun)\" attr.index=\"{{ imgCoun }}\">\n </span> -->\n <app-lazyloadimage *ngIf=\"resourceDetail.images[0]\" [defaultImage]=\"resourceDetail.images[0].url\" [images]=\"resourceDetail.images\" [category]=\"resourceDetail.category\"></app-lazyloadimage>
25665\n <span class=\"Placeholders {{ resourceDetail.category.iconColor }}\" *ngIf=\"!resourceDetail.images[0]\">\n <i class=\"material-icons md-48\" >{{ resourceDetail.category.iconName }}</i>\n </span>\n </div>\n <h4 class=\"call-number\" *ngIf=\"highlightParameter.type == 'Call'\" [innerHTML] = \"resourceDetail.call | HighlightSearch : highlightParameter.term\"></h4>\n <h4 class=\"call-number\" *ngIf=\"highlightParameter.type != 'Call'\">{{resourceDetail.call}}</h4>\n <a *ngIf=\"!showShelfStatus\" (click) = \"showShelf()\">Browse Shelf <i class=\"fas fa-caret-down\" ></i></a>\n <a *ngIf=\"showShelfStatus\" (click) = \"hideShelf()\">Hide Shelf <i class=\"fas fa-caret-up\" ></i></a>\n </div>\n <div class=\"book-box-info\">\n <h2 class=\"book-box-head\" *ngIf=\"highlightParameter.type == 'Basic' && highlightParameter.in != 'A'\" [innerHTML] = \"resourceDetail.title | HighlightSearch : highlightParameter.term\"></h2>\n <h2 class=\"book-box-head\" *ngIf=\"highlightParameter.type != 'Basic'\" >{{resourceDetail.title}}</h2>\n \n <h4 class=\"author\" *ngIf=\"highlightParameter.in == 'A' || highlightParameter.in == '' \" [innerHTML] = \"resourceDetail.author | HighlightSearch : highlightParameter.term\"></h4>\n <h4 class=\"author\" *ngIf=\"highlightParameter.in != 'A' && highlightParameter.in != '' \">{{resourceDetail.author}}</h4>\n \n <p class=\"star-rating-info\" *ngIf=\"librarySetting?.data.settings.reviews.enabled || librarySetting?.data.settings.ratings.enabled\">\n <span *ngIf=\"librarySetting?.data.settings.ratings.enabled\"> Rate this title</span>\n <span>\n <span *ngIf=\"!isLogin && librarySetting?.data.settings.reviews.enabled && librarySetting?.data.settings.ratings.enabled\"> or </span>\n <span *ngIf=\"!isLogin && librarySetting?.data.settings.reviews.enabled\">\n <a (click)=\"showAddForm()\" data-toggle=\"modal\" href=\"#write-review\" role=\"button\">Write a Review</a>\n </span>\n <span *ngIf=\"isLogin && librarySetting?.data.settings.reviews.enabled && librarySetting?.data.settings.ratings.enabled && isWriteReview\"> or </span>\n <span *ngIf=\"isLogin && librarySetting?.data.settings.reviews.enabled && isWriteReview\">\n <a (click)=\"showAddForm()\" data-toggle=\"modal\" href=\"#write-review\" role=\"button\">Write a Review</a>\n </span>\n </span>\n </p>\n <div class=\"star-rating-outer clearfix\" *ngIf=\"librarySetting?.data.settings.ratings.enabled\">\n <span class=\"star-rating\" *ngIf=\"resourceDetail.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [hoverEnabled]=\"false\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[resourceDetail.ratings.stars]\" ></star-rating>\n </span>\n <a class=\"rating-modal-btn\" href=\"#\" (click) = \"checkReviewStatus($event, resourceDetail.resourceId)\"><small class=\"star-count\" [ngClass]=\"librarySetting?.data.settings.ratings.showCount? '':'hide'\">{{resourceDetail.ratings.count}}</small></a>\n </div>\n <p class=\"description\" *ngIf=\"highlightParameter.in == ''\" [innerHTML] = \"resourceDetail.summary | HighlightSearch : highlightParameter.term\"></p>\n <p class=\"description\" *ngIf=\"highlightParameter.in != ''\" >{{resourceDetail.summary}}</p>\n <p class=\"description\" *ngIf=\"resourceDetail?.physicalDesc\">{{resourceDetail?.physicalDesc}}</p>\n \n <ul class=\"detailSrchInfo\">\n <li *ngIf=\"librarySetting.data.settings.detail.include.ar && resourceDetail.acceleratedReader\">\n Accelerated Reader:\n <span *ngIf=\"highlightParameter.type == 'AcceleratedReader'\" [innerHTML] = \"resourceDetail.acceleratedReader | HighlightSearch : highlightParameter.term\"></span>\n <span *ngIf=\"highlightParameter.type != 'AcceleratedReader'\" >{{resourceDetail.acceleratedReader}}</span>\n </li>\n <li *ngIf=\"librarySetting.data.settings.detail.include.rc && resourceDetail.readingCounts\">
25665\n Reading Counts:\n <span *ngIf=\"highlightParameter.type == 'ReadingCounts'\" [innerHTML] = \"resourceDetail.readingCounts | HighlightSearch : highlightParameter.term\"></span>\n <span *ngIf=\"highlightParameter.type != 'ReadingCounts'\">{{ resourceDetail.readingCounts }}</span>\n </li>\n <li *ngIf=\"librarySetting.data.settings.detail.include.lexile && resourceDetail.lexile\">\n Lexile:\n <span *ngIf=\"highlightParameter.type == 'Lexile'\" [innerHTML] = \"resourceDetail.lexile | HighlightSearch : highlightParameter.term\"></span>\n <span *ngIf=\"highlightParameter.type != 'Lexile'\">{{ resourceDetail.lexile }}</span>\n </li>\n <li *ngIf=\"librarySetting.data.settings.detail.include.fountas && resourceDetail.fountasPinnell\">\n Fountas & Pinnell: <span>{{ resourceDetail.fountasPinnell }}</span></li>\n <li *ngIf=\"librarySetting.data.settings.detail.include.donorNames && resourceDetail.donors[0]\">Donor Names: <span>{{ resourceDetail.donors }}</span></li>\n <li class=\"book-links\">\n <span></span><a *ngFor=\"let link of resourceDetail.contentLinks\" target=\"_blank\" href=\"{{checkUrlLink(link.url)}}\">{{link.caption}}</a>\n </li>\n </ul>\n <div class=\"book-box-bottom\">\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resourceDetail.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resourceDetail.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resourceDetail.availability.shortText == 'On Loan' || resourceDetail.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resourceDetail.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resourceDetail.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resourceDetail.availability.shortText != 'Available' && resourceDetail.availability.shortText != 'On Loan' && resourceDetail.availability.shortText != 'Overdue' && resourceDetail.availability.shortText != 'Holding' && resourceDetail.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resourceDetail.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resourceDetail.category.iconColor }}\" >{{ resourceDetail.category.iconName }}</i> {{ resourceDetail.category.caption }}</p>\n </div>\n <p>{{ resourceDetail.availability.longText }}</p>\n <p class=\"regular mt-2\" *ngIf=\"resourceDetail.thisPatron != null \" style=\"position:relative;\">\n <span style=\"position:absolute;\"><i class=\"material-icons md-12 primary\" *ngIf=\"resourceDetail.thisPatron?.lastOut\">check_box</i></span>\n <span style=\"margin-left:30px;\" *ngIf=\"resourceDetail.thisPatron?.lastOut != null && resourceDetail.thisPatron?.lastIn != null\">You had this on loan from {{ resourceDetail.thisPatron?.lastOut | date: dateFormat }} to {{ resourceDetail.thisPatron?.lastIn | date: dateFormat }}</span>\n <span style=\"margin-left:30px;\" *ngIf=\"resourceDetail.thisPatron?.lastOut != null && resourceDetail.thisPatron?.lastIn == null\">You have this on loan since {{ resourceDetail.thisPatron?.lastOut | date: dateFormat }}</span>\n <span style=\"margin-left:30px;\" *ngIf=\"resourceDetail.thisPatron?.lastOut != null && resourceDetail.thisPatron?.lost\">You checked this out on {{ resourceDetail.thisPatron?.lastOut | date: dateFormat }} and it was lost</span>\n </p>\n </div>\n <div class=\"book-box-bottom-btn\">\n <button class=\"more-book-detail-btn\" type=\"button\" id=\"AvailabilityButton\" (click) = \"AvailabilityShow($event)\"> Availability <i class=\"fas fa-caret-down\"></i> <i class=\"fas fa-caret-up\"></i></button>\n <div id=\"AvailabilityTable\">\n <table class=\"table table-bordered more-book-detail\">\n <thead>\n <tr>\n <th *ngIf=\"avaibiltyData.showCall\" scope=\"col\"><i class=\"fas fa-book\"></i> Call</th>\n <th *ngIf=\"avaibiltyData.showLocation\" scope=\"col\"><i class=\"fas fa-map-marker-alt\"></i> Location</th>\n <th *ngIf=\"avaibiltyData.showSublocation\" scope=\"col\"><i class=\"fas fa-map-marker-alt\"></i> Sub Location</th>\n <th scope=\"col\"><i class=\"far fa-copy\"></i> Copies</th>\n <th scope=\"col\"><i class=\"fas fa-check-circle\"></i> Available</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let avaibilty of avaibiltyData.list\">\n <td *ngIf=\"avaibiltyData.showCall\">{{ avaibilty.call }}</td>\n <td *ngIf=\"avaibiltyData.showLocation\">{{ avaibilty.locationName }}</td>\n <td *ngIf=\"avaibiltyData.showSublocation\">{{avaibilty.sublocation}}</td>\n <td>{{ avaibilty.copies}}</td>\n <td>{{ avaibilty.available}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class=\"btn-main-detail\">\n <button (click) = \"showAddFormHold()\" *ngIf=\"resourceDetail.canHold\" class=\"btn btn-succes hold-resourse btn-sm \" data-toggle=\"modal\"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resourceDetail.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" href=\"#write-cancel-holds\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n <button (click) = \"addToMyList($event,resourceDetail.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resourceDetail.resourceId) == -1 ? 'show' : 'hide'\" class=\"MyListButton btn btn-primary btn-sm pull-right addButton{{ resourceDetail.resourceId }} mr-2\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resourceDetail.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resourceDetail.resourceId) >= 0 ? 'show' : 'hide'\" class=\"MyListButton btn btn-dander btn-sm pull-right removeButton{{ resourceDetail.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"prev-next-main\">\n <a *ngIf=\"resourceDetail.priorInList\" class=\"left carousel-control\" (click)=\"loadDetail(cacheKey,resourceDetail.priorInList.listItemId)\"><i class=\"fas fa-chevron-left\"></i></a>\n <a *ngIf=\"resourceDetail.nextInList\" class=\"right carousel-control\" (click)=\"loadDetail(cacheKey,resourceDetail.nextInList.listItemId)\"><i class=\"fas fa-chevron-right\"></i></a>\n </div>\n </div>\n </section>
25665\n <section class=\"widgets new-library browse-shelf NW col-span-12\" >\n <div *ngIf=\"showShelfStatus\">\n <h1 class=\"page-heading text-center mb-5\">Browse Shelf</h1>\n <div class=\"Carousel-main Carousel-main1\">\n <ngx-slick-carousel #galleryOne=\"slick-carousel\" class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\">\n <div ngxSlickItem class=\"slide shelfTabno{{ item.listItemId }}\" *ngFor=\"let item of shelfData.data; let i = index\">\n <a [routerLink]=\"['/resources/detail/single/',item.resourceId ]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let image of item.images; let last = last;let imgCoun = index;\">\n <img *ngIf=\"item.images[0] && last\" class=\"img-fluid\" src=\"{{ image.url }}\" alt=\"{{ item.category.iconName }}\" (error)=\"imageError(item.listItemId+''+item.resourceId,item.images)\" name=\"{{ item.category.iconColor }}\" (load) = \"imageLoad(item.listItemId+''+item.resourceId,item.images, imgCoun)\" attr.custom=\"{{ item.listItemId }}{{ item.resourceId }}\" attr.index=\"{{imgCoun}}\">\n </span> -->\n <app-lazyloadimage *ngIf=\"item.images[0]\" [defaultImage]=\"item.images[0].url\" [images]=\"item.images\" [category]=\"item.category\" size=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ item.category.iconColor }}\" *ngIf=\"!item.images[0]\">\n <i class=\"material-icons md-48\" >{{ item.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info\">{{ item.title }} <br/>{{ item.call }} <br/> {{ item.author }}</div>\n <span class=\"star-rating\" *ngIf=\"item.ratings\">\n <star-rating [readOnly] = \"true\" (onRatingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[item.ratings.stars]\" ></star-rating>\n </span>\n </a>\n </div>\n </ngx-slick-carousel>\n </div>\n </div>\n <div class=\"loader-inner\" *ngIf=\"showShefcar\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </section>\n <section class=\"widgets space-none book-detail-tab\">\n <ng-template #replaceNullSubfield>\n \n </ng-template>\n <div class=\"container-fluid\">\n <input type=\"hidden\" id=\"isbnIdW\" value=\"{{ resourceDetail.isbn }}\">\n <ul class=\"nav nav-pills mb-3\" id=\"pills-tab\" role=\"tablist\">\n <ngx-slick-carousel #tabModal=\"slick-carousel\" class=\"carousel tabs\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfigSlider\" (init)=\"slickInit($event)\">\n <li ngxSlickItem class=\"slide nav-item {{ tabs.value.tab }}TabTop\" *ngFor=\"let tabs of sectionsData | keyvalue\" [ngClass]=\"tabs.value.tab == 'noveList' && resourceDetail.isbn == null ? 'hide':''\" >\n <a *ngIf=\"tabs.value.tab != 'googlePreview' && tabs.value.tab != 'noveList'\" class=\"nav-link\" [ngClass] =\"tabs.value.tab == 'detail'? 'active' : '' \" id=\"pills-{{ tabs.value.tab | titlecase }}-tab\" data-toggle=\"pill\" href=\"#tab-{{ tabs.value.tab | titlecase }}\" role=\"tab\" attr.aria-controls=\"pills-{{ tabs.value.tab | titlecase }}\" aria-selected=\"true\" (click) = \"dynamicLoad(tabs.value.url,tabs.value.tab)\" data-id=\"{{tabs.value.url}} ,{{tabs.value.tab}}\" >\n <i *ngIf=\"tabs.value.tab == 'author'\" class=\"fas fa-user-edit\"></i>\n <i *ngIf=\"tabs.value.tab == 'awards'\" class=\"fas fa-award\"></i>\n <i *ngIf=\"tabs.value.tab == 'contents'\" class=\"fas fa-list\"></i>\n <i *ngIf=\"tabs.value.tab == 'excerpt'\" class=\"fas fa-book-open\"></i>\n <i *ngIf=\"tabs.value.tab == 'detail'\" class=\"fas fa-th-list\"></i>\n <i *ngIf=\"tabs.value.tab == 'googlePreview'\" class=\"fab fa-google\"></i>\n <i *ngIf=\"tabs.value.tab == 'links'\" class=\"fas fa-external-link-alt\"></i>\n <i *ngIf=\"tabs.value.tab == 'marc'\" class=\"fas fa-table\"></i>\n <i *ngIf=\"tabs.value.tab == 'profile'\" class=\"fas fa-info-circle\"></i>\n <i *ngIf=\"tabs.value.tab == 'reviews'\" class=\"fas fa-star\"></i>\n <i *ngIf=\"tabs.value.tab == 'suggestions'\" class=\"fas fa-lightbulb\"></i>\n <i *ngIf=\"tabs.value.tab == 'video'\" class=\"fab fa-youtube\"></i>\n <i *ngIf=\"tabs.value.tab == 'series'\" class=\"fa fa-superpowers\"></i>\n {{ tabs.value.tab | splitCamelCase }}</a>\n <a *ngIf=\"tabs.value.tab == 'googlePreview'\" class=\"nav-link\" id=\"pills-{{ tabs.value.tab | titlecase }}-tab\" data-toggle=\"pill\" href=\"#tab-{{ tabs.value.tab | titlecase }}\" role=\"tab\" attr.aria-controls=\"pills-{{ tabs.value.tab | titlecase }}\" aria-selected=\"true\" onclick = \"googleApiCall()\">\n <i *ngIf=\"tabs.value.tab == 'googlePreview'\" class=\"fab fa-google\"></i>\n {{ tabs.value.tab | splitCamelCase }}</a>\n <a *ngIf=\"tabs.value.tab == 'noveList' && resourceDetail.isbn\" class=\"nav-link\" id=\"pills-{{ tabs.value.tab | titlecase }}-tab\" data-toggle=\"pill\" href=\"#tab-{{ tabs.value.tab | titlecase }}\" role=\"tab\" attr.aria-controls=\"pills-{{ tabs.value.tab | titlecase }}\" aria-selected=\"true\" onclick = \"noveListCall()\">\n <i *ngIf=\"tabs.value.tab == 'noveList'\" class=\"fas fa-list\"></i>\n {{ tabs.value.tab | splitCamelCase }}</a>\n </li>\n </ngx-slick-carousel>\n </ul>\n <div class=\"tab-content\" id=\"pills-tabContent\">\n <div class=\"loader-inner-container detailtabs\" *ngIf=\"onTabs\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div *ngFor=\"let tabs of sectionsData | keyvalue\" class=\"tab-pane fade\" [ngClass]=\"tabs.value.tab == 'detail' ? 'show active' : ''\" id=\"tab-{{ tabs.value.tab | titlecase }}\" role=\"tabpanel\" attr.aria-labelledby=\"pills-{{ tabs.value.tab | titlecase }}-tab\">\n <div class=\"row margin-minus\" *ngIf=\"tabs.value.tab == 'detail'\">\n <div class=\"col-md-12\">\n <h3>Detail</h3>\n <div class=\"table-responsive\">\n <table class=\"table table-bordered\">\n <tbody>\n <tr *ngFor=\"let detail of tabs.value.content\">\n <td class=\"grayTd\">{{ detail.caption }}</td>\n <td>\n <a *ngIf=\"detail.link\" href=\"{{ detail.link.url }}\" target=\"_blank\">{{ detail.link.caption }}</a>\n \n <a *ngIf=\"!detail.link && detail.fieldValueId && highlightParameter.in == ''\" [routerLink]=\"['/searchlist']\" [queryParams]=\"{ 'type' : 'detail', resourceid: detail.fieldValueId}\" [innerHTML] = \"detail.value | HighlightSearch : highlightParameter.term\">{{ detail.value }}</a>\n <a *ngIf=\"!detail.link && detail.fieldValueId && highlightParameter.in != ''\" [routerLink]=\"['/searchlist']\" [queryParams]=\"{ 'type' : 'detail', resourceid: detail.fieldValueId}\">{{ detail.value }}</a>
25665\n \n <span *ngIf=\"!detail.link && !detail.fieldValueId && highlightParameter.in == ''\" [innerHTML] = \"detail.value | HighlightSearch : highlightParameter.term\"></span>\n <span *ngIf=\"!detail.link && !detail.fieldValueId && highlightParameter.in != ''\">{{ detail.value }}</span>\n <p class=\"font-italic mB0\" *ngIf=\"detail.link && detail.link?.notes \">{{detail.link.notes}}</p>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"tabs.value.tab == 'series'\">\n <div class=\"col-md-12\" *ngIf=\"seriesStatus\">\n <h3><a [routerLink]=\"['/search/series']\" [queryParams]=\"{type:'series',depth:'title',series:seriesData.series,isbn:resourceDetail.isbn}\">{{ seriesData.title }}</a></h3>\n <div class=\"Carousel-main Carousel-main1 NW suggestions-checked Carousel-mainTab\">\n <ngx-slick-carousel class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfig\" (init)=\"slickInit($event)\">\n <div ngxSlickItem class=\"slide\" *ngFor=\"let series of seriesData.entries\">\n <a [routerLink]=\"['/search/series']\" [queryParams]=\"{type:'series',depth:'single',series:seriesData.series,isbn:series.coverISBN}\" class=\"book-display item\">\n <div class=\"book-cover\">\n <p *ngIf=\"series.position\" class=\"position-series\"><span>{{ series.position }}</span></p>\n <p *ngIf=\"!series.position\" class=\"position-series\"><span>{{ seriesData.entries.length }}</span></p>\n <img *ngIf=\"series.images\" class=\"img-fluid\" src=\"{{ series.images[0].url }}\" alt=\"{{ series.coverISBN }}\" (error)=\"imageError(series.coverISBN+''+series.coverISBN,series.images)\" name=\"{{ series.coverISBN }}\" (load) = \"imageLoadSeries(series.coverISBN+''+series.coverISBN,series.images)\" attr.custom=\"{{ series.coverISBN }}{{ series.coverISBN }}\" >\n </div>\n <div class=\"book-info\">{{ series.title }} </div>\n </a>\n </div>\n </ngx-slick-carousel>\n </div>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"tabs.value.tab == 'marc'\" class=\"marcCon\">\n <h3>Marc</h3>\n <div class=\"table-responsive\">\n <table class=\"table responsive-width table-bordered\">\n <tbody>\n <tr>\n <th width=\"25%\">Field</th>\n <th width=\"5%\">Ind</th>\n <th width=\"30%\">Subfield</th>\n <th width=\"40%\">Value</th>\n </tr>\n <tr *ngFor=\"let detail of tabs.value.content\">\n <td class=\"grayTd\" valign=\"middle\">\n <span><strong>{{ detail.tag }}</strong> {{ detail.caption }}</span>\n </td>\n <td class=\"grayTd\" valign=\"middle\">{{ detail.ind }}</td>\n <td class=\"noPaddingTd grayTd\" >\n <span *ngFor=\"let subfield of detail.subfields\" class=\"tdSpan\"><strong>${{ subfield.code }}</strong> {{ subfield.caption }}</span>\n </td>\n <td class=\"noPaddingTd\">\n <span *ngFor=\"let subfield of detail.subfields\" class=\"tdSpan\">\n <!-- If link and field value both -->\n <span *ngIf=\"subfield.value; else replaceNullSubfield\">\n <a class=\"marc-link\" *ngIf=\"detail.link && detail.fieldValueId && highlightParameter.in == ''\"\n href=\"{{ detail.link.url }}\" [innerHTML]=\"subfield.value | HighlightSearch : highlightParameter.term\">{{\n subfield.value }}</a>\n <a class=\"marc-link\" *ngIf=\"detail.link && detail.fieldValueId && highlightParameter.in != ''\"\n href=\"{{ detail.link.url }}\">{{ subfield.value }}</a>\n <!-- If link but not field value -->\n <a class=\"marc-link\" *ngIf=\"detail.link && !detail.fieldValueId && highlightParameter.in == ''\"\n href=\"{{ detail.link }}\" [innerHTML]=\"subfield.value | HighlightSearch : highlightParameter.term\">{{\n subfield.value }}</a>\n \n <a class=\"marc-link\" *ngIf=\"detail.link && !detail.fieldValueId && highlightParameter.in != ''\"\n href=\"{{ detail.link }}\">{{ subfield.value }}</a>\n <!-- If not link but field value -->\n <a *ngIf=\"detail.fieldValueId && !detail.link && highlightParameter.in == ''\" [routerLink]=\"['/searchlist']\"\n [queryParams]=\"{ 'type' : 'detail', resourceid: detail.fieldValueId}\"\n [innerHTML]=\"subfield.value | HighlightSearch : highlightParameter.term\"></a>\n \n <a *ngIf=\"detail.fieldValueId && !detail.link && highlightParameter.in != ''\" [routerLink]=\"['/searchlist']\"\n [queryParams]=\"{ 'type' : 'detail', resourceid: detail.fieldValueId}\">{{ subfield.value }}</a>\n \n <!-- If not link and not field value -->
25665\n <span *ngIf=\"!detail.link && !detail.fieldValueId && highlightParameter.in == '' \"\n [innerHTML]=\"subfield.value | HighlightSearch : highlightParameter.term\"></span>\n <span *ngIf=\"!detail.link && !detail.fieldValueId && highlightParameter.in != ''\">{{ subfield.value }}</span>\n </span>\n </span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'reviews'\">\n <h3>Reviews</h3>\n <div class=\"review-box\" *ngFor=\"let review of reviewTab | keyvalue; let i = index\" [ngClass] = \"i ==0 ? 'review-first' : ''\">\n <h5 *ngIf=\"review.value[0]\">{{ review.key | splitCamelCase }}</h5>\n <span *ngFor=\"let reviewContent of review.value \" class=\"hrSpanReview\">\n <h4>Review by: <strong> {{ reviewContent.reviewer}}</strong></h4>\n <p>{{ reviewContent.text}}</p>\n </span>\n </div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'excerpt'\">\n <h3>Excerpt</h3>\n <div class=\"row\">\n <p class=\"col-md-6\">{{ excerptTableft }}</p>\n <p class=\"col-md-6\">{{ excerptTabRight }}</p>\n </div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'awards'\">\n <h3>Awards</h3>\n <ul>\n <li *ngFor=\"let honors of tabs.value.content\">{{ honors.placeText }}, <a href=\"\">{{ honors.year }} {{ honors.honor.name }}</a></li>\n </ul>\n </div>\n <div *ngIf=\"tabs.value.tab == 'contents'\">\n <h3>Contents</h3>\n <h5>{{ contentTab.caption}} </h5>\n <ul class=\"contentsUlTab\">\n <li *ngFor=\"let content of contentTab.rows\" [ngClass] = \"content.indent == 1 ? 'TtileContent' : ''\" [ngClass] = \"content.bold? 'ContentBold' : ''\">\n <span class=\"leftLi\" *ngIf=\"!content.bold\">{{ content.chapterLabel }} {{ content.title }}</span>\n <span class=\"leftLi\" *ngIf=\"content.bold\"><strong>{{ content.chapterLabel }} {{ content.title }}</strong></span>\n <span class=\"rightLi\">{{ content.page }}</span>\n </li>\n </ul>\n </div>\n <div *ngIf=\"tabs.value.tab == 'googlePreview'\">\n <h3>Google Preview</h3>\n <div id=\"viewerCanvas\" style=\"width: 100%; height: 850px\"></div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'links'\">\n <h3>Links</h3>\n <table class=\"table table-bordered\">\n <tr *ngFor=\"let detail of tabs.value.content\">\n <td><a target=\"_blank\" href=\"{{checkUrlLink(detail.url)}}\">{{ detail.caption }}</a></td>\n </tr>\n </table>\n </div>\n <div *ngIf=\"tabs.value.tab == 'profile'\">\n <h3>Profile</h3>\n <h5>{{ profileTab.caption}} </h5>\n <div class=\"table-responsive\">\n <table class=\"table table-bordered profile-table\">\n <tbody>\n <tr *ngFor=\"let character of profileTab.characters\" class=\"\">\n <td colspan=\"2\" class=\"noPaddingTd\">\n <table class=\"table-noborder\">\n <tr *ngIf=\"character.name\">\n <td class=\"tdSpan subHeading1 gray\"><i class=\"fas fa-user-circle\"></i> Character</td>\n <td class=\"subtable-td\"><strong>{{ character.name }}</strong></td>\n </tr>\n <tr *ngIf=\"character.gender\">\n <td class=\"tdSpan subHeading gray\">Gender</td>\n <td class=\"subtable-td\" [innerHTML] = \"character.gender\"></td>\n </tr>\n <tr *ngIf=\"character.age\">\n <td class=\"tdSpan subHeading gray\">Age</td>\n <td class=\"subtable-td\" [innerHTML] = \"character.age\"></td>\n </tr>\n <tr *ngIf=\"character.attributes\">\n <td class=\"tdSpan Attributes subHeading gray\">Attributes</td>\n <td class=\"subtable-td Attributes\">
25665\n <span *ngFor=\"let character of character.attributes\" [innerHTML] = \"character | attributesToButtels\"></span>\n </td>\n </tr>\n <tr *ngIf=\"character.occupations\">\n <td class=\"tdSpan subHeading gray\">Occupations</td>\n <td class=\"subtable-td\"><span class='inlineShow'>{{ character.occupations | attributesToButtels }}</span></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr *ngIf=\"profileTab.series\">\n <td class=\"grayTd no-bdr\"><i class=\"fas fa-book\"></i> Series</td>\n <td class=\"no-bdr\">{{ profileTab.series.title}}</td>\n </tr>\n <tr *ngIf=\"profileTab.notes\">\n <td class=\"grayTd\"><i class=\"fas fa-sticky-note\"></i> Notes</td>\n <td>** N/A</td>\n </tr>\n <tr *ngIf=\"profileTab.awards\">\n <td class=\"grayTd\"><i class=\"fas fa-award\"></i> Awards</td>\n <td> <span class=\"tdSpan\" *ngFor=\"let award of profileTab.awards \" class=\"inlineShow\">{{ award.division }} {{ award.name }}</span></td>\n </tr>\n \n <tr *ngIf=\"profileTab.biographees\">\n <td class=\"grayTd\"><i class=\"fas fa-user-circle\"></i> Biographees</td>\n <td> N/A</td>\n </tr>\n <tr *ngIf=\"profileTab.quotes\">\n <td class=\"grayTd\"><i class=\"fas fa-user-circle\"></i> Quotes</td>\n <td> N/A</td>\n </tr>\n <tr *ngIf=\"profileTab.settings\">\n <td class=\"grayTd\"><i class=\"fas fa-map-marker\"></i> Settings</td>\n <td>\n <span class=\"tdSpan\" *ngFor=\"let setting of profileTab.settings\" class=\"inlineShow\">{{ setting }}</span>\n </td>\n </tr>\n <tr *ngIf=\"profileTab.timePeriods\">\n <td class=\"grayTd\"><i class=\"far fa-calendar-alt\"></i> Time Periods</td>\n <td>\n <span class=\"tdSpan\" *ngFor=\"let timePeriod of profileTab.timePeriods\" class=\"inlineShow\" >{{ timePeriod }}</span>\n </td>\n </tr>\n <tr *ngIf=\"profileTab.genres\">\n <td class=\"grayTd\"><i class=\"fas fa-check-circle\"></i> Genres</td>\n <td>\n <span class=\"tdSpan\" *ngFor=\"let genres of profileTab.genres \" class=\"inlineShow\">{{ genres }}</span>\n </td>\n </tr>\n <tr *ngIf=\"profileTab.genres\">\n <td class=\"grayTd\"><i class=\"fas fa-check-square\"></i> Topics</td>\n <td>\n <span class=\"tdSpan\" *ngFor=\"let topic of profileTab.topics \" class=\"inlineShow\">{{ topic }}</span>\n </td>\n </tr>\n <tr *ngIf=\"profileTab.alternateTitles && profileTab.alternateTitles != null\">\n <td class=\"grayTd\"><i class=\"fas fa-equals\"></i> Alternate Titles</td>\n <td>\n <span class=\"tdSpan\" *ngFor=\"let alternateTitle of profileTab.alternateTitles \" class=\"inlineShow\">{{ alternateTitle }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div> </div>\n \n <div *ngIf=\"tabs.value.tab == 'suggestions'\" class=\"suggestions\">\n <h3>Suggestions</h3>\n <h5 class=\"mb-2\" *ngIf=\"suggesionTab.by || suggesionTab.about || isSeries\" >Search for Related Titles</h5>\n <ul>\n <li class=\"inlineShow\" *ngFor=\"let suggesion of suggesionTab.by\"><a [routerLink]=\"['/searchlist']\" [queryParams]=\"{ 'type' : 'Basic', 'keyword': suggesion.term, 'searchin': suggesion.searchIn, 'exact': false}\">By {{ suggesion.term }}</a></li>\n <li class=\"inlineShow\" *ngFor=\"let suggesion of suggesionTab.about\"><a [routerLink]=\"['/searchlist']\" [queryParams]=\"{ 'type' : 'Basic', 'keyword': suggesion.term, 'searchin': suggesion.searchIn, 'exact': false}\">About {{ suggesion.term }}</a></li>\n <li class=\"inlineShow\" *ngFor=\"let suggesion of suggesionTab.inSeries\"><a [routerLink]=\"['/searchlist']\" [queryParams]=\"{ 'type' : 'Basic', 'keyword': suggesion.term, 'searchin': suggesion.searchIn, 'exact': false}\">In Series {{ suggesion.term }}</a></li>\n </ul>\n <div *ngIf=\"alsoCheckedOut\" class=\"Checked-Out\">\n <h5 >Patrons Also Checked Out</h5>\n <div class=\"Carousel-main Carousel-main1 NW suggestions-checked Carousel-mainTab\">\n <ngx-slick-carousel class=\"carousel\" style=\"width: 100%\" #slickModal=\"slick-carousel\" [config]=\"slideConfigSuggestion\" >\n <div ngxSlickItem class=\"slide\" *ngFor=\"let suggesion of suggesionTab.alsoCheckedOut\">\n <a [routerLink]=\"['/resources/detail/single/',suggesion.resourceId ]\" class=\"book-display item\">\n <div class=\"book-cover\">\n <!-- <img *ngIf=\"suggesion.images[0]\" class=\"img-fluid\" src=\"{{ suggesion.images[0].url }}\" alt=\"{{ suggesion.category.iconName }}\" (error)=\"imageError(suggesion.listItemId+''+suggesion.resourceId,suggesion.images)\" name=\"{{ suggesion.category.iconColor }}\" (load) = \"imageLoad(suggesion.listItemId+''+suggesion.resourceId,suggesion.images)\" attr.custom=\"{{ suggesion.listItemId }}{{ suggesion.resourceId }}\" /> -->\n <app-lazyloadimage *ngIf=\"suggesion.images[0]\" [defaultImage]=\"suggesion.images[0].url\" [images]=\"suggesion.images\" [category]=\"suggesion.category\" size=\"'m'\"></app-lazyloadimage>\n <!-- (load) = \"imageLoad($event,item.images)\" -->
25665\n <span class=\"Placeholders {{ suggesion.category.iconColor }}\" *ngIf=\"!suggesion.images[0]\">\n <i class=\"material-icons md-48\" >{{ suggesion.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info\">{{ suggesion.title }} </div>\n </a>\n </div>\n </ngx-slick-carousel>\n </div>\n </div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'video'\">\n <h3>Video</h3>\n <h5>{{ tabs.value.content[0].caption }}</h5>\n <div #ytPlayer id=\"ytPlayer\"></div>\n <div>\n </div>\n </div>\n <div *ngIf=\"tabs.value.tab == 'author'\" >\n <span class=\"\" *ngIf=\"authorTab.biography\">\n <div class=\"author-profile-main\">\n <div class=\"author-profile-pic\" *ngIf=\"authorTab.images[0]\">\n <!-- <span *ngFor=\"let image of authorTab.images; let last = last;let imgCoun = index;\">\n <img custom=\"tabAuthors\" *ngIf=\"authorTab.images[0] && last\" src=\"{{ image.url }}\" (error)=\"imageError('tabAuthors', authorTab.images)\" (load) = \"imageLoad('tabAuthors',authorTab.images, imgCoun)\" attr.index=\"{{imgCoun}}\">\n </span> -->\n <app-lazyloadimage *ngIf=\"authorTab.images[0]\" [defaultImage]=\"authorTab.images[0].url\" [images]=\"authorTab.images\" size=\"'m'\"></app-lazyloadimage>\n </div>\n <div [ngClass] = \"authorTab.images[0]? 'author-profile-text' : 'author-profile-text-full'\">\n <h3>Author</h3>\n <h5 class=\"mb-2\">About the Author</h5>\n <div [innerHTML]=\"authorTab.biography\" class=\"authorDiv\"></div>\n <li class=\"book-links\" style=\"list-style:none;\">\n <span></span><a *ngFor=\"let link of authorTab.links\" target=\"_blank\" href=\"{{checkUrlLink(link.url)}}\">{{link.caption}}</a>\n </li>\n </div>\n </div>\n </span>\n </div>\n <div *ngIf=\"tabs.value.tab == 'noveList'\">\n <h3>NoveList</h3>\n <div class=\"hide\">\n <input type=\"hidden\" value=\"{{tabs.value.password}}\" id=\"novePassword\" />\n <input type=\"hidden\" value=\"{{tabs.value.profile}}\" id=\"noveProfile\" />\n </div>\n <div id=\"novelistData\" data-novelist-novelistselect=\"123\">\n <div class=\"loader-inner-container detailtabs\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </main>\n <app-footer *ngIf=\"!responseAPIstatus\" ></app-footer>\n <!-- Add review -->\n <div class=\"modal fade\" id=\"write-review\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resourceDetail.title }}</h5>\n <button id=\"closereviewAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"showAddFormStatus\">\n <div class=\"row\">\n <input type=\"hidden\" value=\"{{ resourceDetail.resourceId }}\" name=\"resourceid\" id=\"resourceid\">\n <input type=\"hidden\" value=\"{{ resourceDetail.title }}\" name=\"reviewTitle\" id=\"reviewTitle\">\n <input type=\"hidden\" value=\"{{ resourceDetail.author }}\" name=\"reviewAuthor\" id=\"reviewAuthor\">\n <input type=\"hidden\" value=\"{{ patronId }}
25665\" name=\"patronId\" id=\"patronId\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input *ngIf=\"patronName != ''\" class=\"form-control\" readonly placeholder=\"\" type=\"text\" name=\"name\" id=\"reviewerName\" value=\"{{ patronName }}\">\n <input *ngIf=\"patronName == ''\" class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" id=\"reviewerName\" value=\"\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\" *ngIf=\"resourceDetail.ratings\">\n <label>Star rating</label>\n <span class=\"star-rating review\" >\n <input type=\"hidden\" name=\"starrating\" value=\"5\" id=\"reviewStar\">\n <star-rating (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating>\n </span>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Review Text</label>\n <textarea id=\"reviewText\" class=\"form-control\" ></textarea>\n </div>\n <div class=\"clearfix\"></div>\n <label>Categories</label>\n <div class=\"row reviewCategory\">\n <div class=\"col-md-4\" *ngIf=\"reviewCategories.data.length == 0\">\n <select class=\"form-control\" name=\"review_category\">\n <option value=''>Select a Category</option>\n </select>\n </div>\n <div class=\"col-md-4 reviewCategory\" *ngFor=\"let category of reviewCategories.data\">\n <label class=\"check-list\"><input type=\"checkbox\" name=\"review_category\" value=\"{{ category.id }}\"><span class=\"checkmark\"></span> {{ category.caption}}</label>\n </div>\n <div class=\"clearfix\"></div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveReviewStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Submit\" (click) = \"saveReview()\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- star rating modal -->\n <div class=\"modal fade in modal-star-rating\" [ngClass]=\"showReviewModal? 'show' : 'hide'\" id=\"star-rating-modal\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <button (click) = \"closeReviewStatus()\" type=\"button\" class=\"close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <h4 class=\"modal-title text-center\">How would you rate this?</h4>\n <span class=\"star-rating review\" *ngIf=\"showReviewModal\">\n <star-rating (ratingChange)=\"starRatingTitle($event,resourceDetail.resourceId)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating>\n <!-- <star-rating (onRatingChange)=\"starRatingTitle($event,resourceDetail.resourceId)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating> -->\n </span>\n </div>\n </div>\n </div>\n </div>\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds\" [ngClass]=\"showAddFormStatusHold? 'show' : 'hide'\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resourceDetail.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">
25665\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\" *ngIf=\"showAddFormStatusHold\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resourceDetail.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resourceDetail.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resourceDetail.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resourceDetail.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resourceDetail.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resourceDetail.resourceId)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resourceDetail.holdId)\">\n <input id=\"cancelholdsClose\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"link-copy-modal\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" [ngClass]=\"linkCopied? 'in show': '' \">\n <div class=\"modal-dialog modal-md\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Link Copied</h5>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\"><span><strong>{{ link }}</strong></span> copied to clipboard.</p>\n </div>\n <div class=\"modal-footer\">\n <div class=\"login-dot-container submit-btn-small\">\n <input id=\"link-copy-modal-close\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"OK\" (click)=\"hideLinkModal()\">\n </div>\n </div>\n </div>\n </div>\n </div>"); 25666 25667/***/ }), 25668 25669/***/ 70706: 25670/*!********************************************************************************************************************************!*\ 25671 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/explore/explore.component.html ***! 25672 \********************************************************************************************************************************/ 25673/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25674 25675"use strict"; 25676__webpack_require__.r(__webpack_exports__); 25677/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\" >\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink]=\"['/explore/0']\">Explore</a></li>\n <li *ngFor=\"let breadcrum of exploreBreadCrub; last as last\">\n <a *ngIf=\"!last\" [routerLink]=\"['/explore/',breadcrum.id]\">{{ breadcrum.caption }}</a>
25677\n <span *ngIf=\"last\">{{ breadcrum.caption }}</span>\n </li>\n </ul>\n <div class=\"bread-crumbs-rightBtn bread-crumbs-exploreBtn\">\n <a class=\"btn btn-primary btn-sm\" data-toggle=\"modal\" href=\"#ChangeGraphicStyle\" role=\"button\"><i class=\"fas fa-edit\"></i> Change Graphic Style</a>\n <a (click)=\"showAddButtonModal()\" class=\"btn btn-primary btn-sm\" data-toggle=\"modal\" href=\"#add_new_button\" role=\"button\"><i class=\"fa fa-plus\"></i> Add New Button</a>\n\n </div>\n <div class=\"back-btn-break\">\n <a *ngIf=\"exploreBreadCrub.length > 1\" [routerLink]=\"['/explore',exploreBreadCrub[exploreBreadCrub.length - 2 ].id]\" class=\"btn btn-danger btn-back pull-right\"><i class=\"fas fa-backward\"></i> Back</a>\n </div>\n </div>\n </section>\n\n <div class=\"row col-md-12\" *ngIf=\"editMode && exploreData.data?.description ==''\">\n <!-- <div class=\"col-lg-3\"></div> -->\n <div class=\"col-lg-5\">\n <div class=\"form-group addExploreDesc\">\n <label for=\"addExpDesc\" style=\"color:#a59f9f; padding: 10px 0;\">Page Description</label>\n <textarea name=\"description\" id=\"exploreDesc\" rows=\"2\" (blur)=\"addDescription($event)\" (keyup.enter)=\"addDescription($event)\" style=\"width: 100%; border-color:#e1dbdb;padding: 10px;\" ></textarea>\n </div>\n </div>\n <div class=\"col-lg-7\"></div>\n </div>\n\n <div class=\"row col-md-12\" *ngIf=\"editMode && exploreData.data?.description !='' \">\n <!-- <div class=\"col-lg-3\"></div> -->\n <div class=\"col-lg-5\">\n <div class=\"form-group editExploreDesc\">\n <label for=\"editExpDesc\" style=\"color:#a59f9f;padding: 10px 0;\">Page Description</label>\n <textarea name=\"editDescription\" id=\"editExploreDesc\" rows=\"2\" (blur)=\"editDescription($event)\" (keyup.enter)=\"editDescription($event)\" style=\"width: 100%; border-color:#e1dbdb;padding: 10px;\" >{{ exploreData.data?.description }}</textarea>\n </div>\n </div>\n <div class=\"col-lg-7\"></div>\n </div>\n\n <div class=\"row col-md-12\" *ngIf=\"!editMode && pageId >= 0\"> \n <div class=\"viewExploreDesc\" style=\"padding: 15px;\">\n <h6>{{ exploreData.data?.description }}</h6>\n </div>\n </div>\n\n<div class=\"modal fade add-explore-modal\" id=\"add_new_button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Add New Button</h4>\n <button (click) = \"hideAddButtonModal()\" id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"showAddButtonModalStatus\">\n <div class=\"row\">\n <input type=\"hidden\" name=\"buttonId\" value=\"0\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Caption</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group mb-0\">\n <label>Action:</label>\n <select class=\"form-control\" (change) = \"showAction($event, $event.target.value)\" name=\"action\">\n <option value=\"?\" selected>Select an Action</option>\n <option value=\"V\">Go to another Page</option>\n <option value=\"S\">Search & Show Results</option>\n <option value=\"E\">Show a List of Reviews</option>\n <option value=\"L\">Show a Saved List</option>\n <option value=\"P\">Show Popular Titles List</option>\n <option value=\"N\">Show New In Library List</option>\n <option value=\"R\">Show List of Resource Lists</option>\n <option value=\"U\">Open Website or Other Document</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row mb-3\">\n <div class=\"col-lg-6 editwidgets-image-lg\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\">\n <input type=\"hidden\" name=\"buttonId\" value=\"\">\n <input type=\"hidden\" name=\"buttonVisibility\" value=\"true\">\n\n <input type=\"hidden\" name=\"imageName\" value=\"default.gif\">\n <img class=\"img-fluid\" src=\"/assets/images/explore/default.gif\" alt=\"image\">\n </div>\n <div class=\"btn-file-main sa-res-btnset btn-ChangeGraphic\">
25677 \n <span data-toggle=\"tooltip\" title=\"upload a new custom image\">\n <span class=\"btn-file\">Upload Image <input type=\"file\" (change)=\" uploadImage($event.target.files,$event)\"></span>\n </span>\n <span data-toggle=\"tooltip\" title=\"Select a graphic image to use for the Browse by Topic button\">\n <a (click) =\"getExploreImages()\" class=\"btn-file\" data-toggle=\"collapse\" href=\"#collapseExample\" role=\"button\" aria-expanded=\"false\" aria-controls=\"collapseExample\">Change Graphic</a> \n </span>\n </div>\n </div>\n </div>\n <div class=\"col-lg-6\"> \n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'V'? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>Page:</label>\n <select class=\"form-control\" name=\"pagetogo\" (change)=\"checkNewPage($event)\">\n <option *ngFor=\"let page of explorePageList\" value=\"{{ page.id }}\">{{ page.caption }}</option>\n <option value=\"0\">New Page</option>\n </select>\n </div>\n <div class=\"form-group\" *ngIf=\"isNew\">\n <label>New Page Name:</label>\n <input class=\"form-control\" name=\"newPageName\" value=\"\" placeholder=\"Enter page name\">\n </div>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'S'? 'show' : 'hide' \">\n <div class=\"form-group\">\n <label>Search Type:</label>\n <select class=\"form-control\" name=\"SearchType\" (change)=\"searchTypeOptions($event,$event.target.value)\">\n <option value=\"\">Select search type</option>\n <option [attr.selected] = 'searchTypeSelect == removeSpace(search)? \"selected\" : null' *ngFor=\"let search of enableSearchs\" value=\"{{ search }}\">{{ search }}</option>\n </select>\n </div>\n\n <div class=\"searchOptionscon\">\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Basic' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label> </label>\n <input class=\"form-control\" name=\"basicSearchBasic\" placeholder=\"Search for...\">\n </div>\n </div>\n\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>In</label>\n <select class=\"form-control\" name=\"basicSearchIn\">\n <option value=\"\">All</option>\n <option value=\"A\">Author</option>\n <option value=\"T\">Title</option>\n <option value=\"S\">Subject</option>\n <option value=\"I\">Series Title</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Marc' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label> </label>\n <input class=\"form-control\" placeholder=\"Search for...\" name=\"marcSearchBasic\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>In</label>\n <select class=\"form-control\" name=\"marcSearchIn\">\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-12 col-lg-12 exact-term-checkbox\" *ngIf=\"searchTypeSelect == 'Marc'\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" id=\"startWithMarc\" name=\"marcStartExact\" /> <i _ngcontent-c5=\"\" class=\"material-helper\"></i> Starts with exact term\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Category' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>
25677Select Category</label>\n <select class=\"form-control\" name=\"category\">\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Boolean' ? 'showBlock' : 'hide'\">\n <div class=\"row boxBoolean\" *ngFor=\"let box of booleanBoxs; let sno = index\" style=\"width: 100%;\">\n\n <div class=\"col-lg-12 col-md-12\" *ngIf=\"sno > 0\">\n <div class=\"material-form-group-booleanOpretors\">\n\n <ul class=\"booleanOpretors\">\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'AND'? 'active' : ''\">AND</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'OR'? 'active' : ''\">OR</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'NOT'? 'active' : ''\">NOT</li>\n </ul>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-4\">\n <div class=\"form-group\">\n <label> </label>\n <input name=\"terms\" type=\"text\" required=\"required\" placeholder=\"Search for...\" class=\"form-control\" value=\"{{box.term}}\" />\n </div>\n </div>\n <div class=\"col-lg-6 col-md-4\">\n <div class=\"form-group\">\n <label>In</label>\n <select id=\"Lexilecode\" name=\"code\" name=\"searchIn\" class=\"form-control\">\n <option [attr.selected]='box.in == serachType.tag ? \"selected\" : null' *ngFor=\"let serachType of librarySetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-lg-1 col-md-3\">\n <div class=\"form-group chack-right\">\n\n <i *ngIf=\"sno > 0\" (click)=\"removeOpretorBox($event)\" class=\"material-icons booleanremove\">remove</i>\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors searchBox\">\n <li (click)=\"copyOpretorBox($event)\"> AND</li>\n <li (click)=\"copyOpretorBox($event)\"> OR</li>\n <li (click)=\"copyOpretorBox($event)\"> NOT</li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\" searchTypeSelect == 'Barcode' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Start</label>\n <input class=\"form-control\" placeholder=\"Start\" name=\"barcodeStart\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>End</label>\n <input class=\"form-control\" placeholder=\"End\" name=\"barcodeEnd\">\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\" searchTypeSelect == 'Call' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Start</label>\n <input class=\"form-control\" placeholder=\"Start\" name=\"callStart\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>End</label>\n <input class=\"form-control\" placeholder=\"End\" name=\"callEnd\">\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Lexile'? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <input class=\"form-control\" placeholder=\"Level Min...\" type=\"text\" required=\"required\" id=\"LexileLevelMin\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" ismin=\"true\" min=\"-2000\" max=\"2000\" step=\"1\" name=\"LexileLevelMin\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <input class=\"form-control\" placeholder=\"Level Max...\" type=\"text\" required=\"required\" id=\"LexileLevelMax\" (blur)=\"validateSearch($event, 'Lexile','LevelMax')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" name=\"LexileLevelMax\" />\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Code</label>\n <select class=\"form-control\" name=\"Lexilecode\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option>\n <option value=\"NP\">NP - Non-Prose Text</option>\n <option value=\"AD\">AD - Adult-Directed Text</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Grade</label>\n <select class=\"form-control\" name=\"LexilePatronType\" (change)=\"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of librarySetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\" searchTypeSelect == 'Fountas' ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <select class=\"form-control\" name=\"fountasLevelMin\" id=\"fountasLevelMin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <select id=\"fountasLevelMax\" class=\"form-control\" name=\"fountasLevelMax\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Reading Counts'? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <input class=\"form-control\" placeholder=\"Level Min\" (blur)=\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"readingcountsLevelMin\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <input class=\"form-control\" placeholder=\"Level Max\" (blur)=\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"readingcountsLevelMax\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point min</label>\n <input class=\"form-control\" placeholder=\"Point Min\" (blur)=\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"readingcountsPointMin\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point max</label>\n <input class=\"form-control\" placeholder=\"Point Max\" (blur)=\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"readingcountsPointMax\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"searchTypeSelect == 'Accelerated Reader'\n ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Reading level min</label>\n <input class=\"form-control\" placeholder=\"Reading Level Min\" type=\"number\" min=\"0.1\" max=\"15\" step=\"0.1\" ismin=\"true\" group=\"AcceleratedReaderLevel\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMin')\" id=\"AcceleratedReaderLevelMin\" name=\"AcceleratedReaderLevelMin\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Reading level max</label>\n <input class=\"form-control\" placeholder=\"Reading Level Max\" type=\"number\" min=\"0.1\" max=\"15\" step=\"0.1\" group=\"AcceleratedReaderLevel\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMax')\" id=\"AcceleratedReaderLevelMax\" name=\"AcceleratedReaderLevelMax\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point min</label>\n <input class=\"form-control\" placeholder=\"Point Min\" type=\"number\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" group=\"AcceleratedReaderPoints\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMin')\" id=\"AcceleratedReaderPointsMin\" name=\"AcceleratedReaderPointsMin\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point max</label>\n <input class=\"form-control\" placeholder=\"Point Max\" type=\"number\" min=\"0.5\" max=\"120\" step=\"0.5\" group=\"AcceleratedReaderPoints\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMax')\" id=\"AcceleratedReaderPointsMax\" name=\"AcceleratedReaderPointsMax\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Interest level</label>\n <select class=\"form-control\" name=\"AcceleratedReaderInterestLevel\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n </select>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class=\"test\">\n <button *ngIf=\"limitToArray.category || limitToArray.availability || limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode || limitToArray.fountas || limitToArray.rc || limitToArray.ar || limitToArray.homeLocation\" type=\"button\" class=\"limit-btn btn-sm btn-primary\" (click)=\"limitTo($event)\"> Limit To <span>\n <i *ngIf=\"!limitToSearch\" class=\"fas fa-caret-down\"></i> \n <i *ngIf=\"limitToSearch\" class=\"fas fa-caret-up\"></i>\n </span>\n </button>\n </div>\n \n\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'E'? 'show' : 'hide' \">\n <div class=\"form-group\">\n <h6>Minimum Rating</h6>
25677\n <span class=\"star-rating review\">\n <star-rating (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"initialRateNew\" ></star-rating>\n </span>\n </div>\n <div class=\"form-group\">\n <label>Review Age</label>\n <select ngModel class=\"form-control\" name=\"review_age\">\n <option value=\"year\"> 1 Year or Less</option>\n <option value=\"month\"> 1 Month or Less</option>\n <option value=\"\"> All</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label>Reviewer's Name <small>(any part of name)</small></label>\n <input ngModel class=\"form-control\" placeholder=\"\" type=\"text\" name=\"reviewer\" value=\"\">\n </div>\n <div class=\"form-group\">\n <h6>Categories</h6>\n <p>Please select one or more categories.<br> Only those reviews matching all of the categories you select will be listed.</p>\n <div class=\"row\">\n <div class=\"col-lg-4 col-6\" *ngFor=\"let categories of reviewCategories.data; let i = index\">\n <label class=\"check-list\">\n <input name=\"categories_for_review\" type=\"checkbox\" value=\"{{ categories.id }}\">\n <span class=\"checkmark\"></span> {{ categories.caption }}\n </label>\n </div>\n </div>\n </div>\n <!-- <p><strong>Tip: </strong>To create a new Review list, use the \"Recent Reviews\" feature located on the tabbed main navigation, add all or selected materials to My List and then show My List as a Review Search List.</p> -->\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'L' ? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>Saved List:</label>\n <select class=\"form-control\" name=\"showSavedList\">\n <option *ngFor=\"let readingList of resourceLists\" value=\"{{ readingList.id }}\">{{ readingList.name }}</option>\n </select>\n </div>\n <p><strong>Tip: </strong>To create a new saved list, search for the materials you want to include in the list, add to My List and then show My List as a Recommended Resource List. You will then be able to select your new list when adding or editing an Explore button.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'P'? 'show' : 'hide' \">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a Popular Titles list, use the \"Popular Titles\" feature located on the tabbed main navigation, add all or selected materials to My List and then show My List as a Po
25677pular Titles List.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'N'? 'show' : 'hide' \">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a New in Library list, use the \"New in Library\" feature located on the tabbed main navigation, add all or selected materials to My List and then show My List as a New in Library List.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'R'? 'show' : 'hide'\">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a Recommended Resource List, search for the materials you want to include in the list, add to My List and then show My List as a Recommended Resource List. The user will see a list of Recommended Resource Lists when he or she clicks the button.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'U'? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>Target Address:</label>\n <input class=\"form-control\" type=\"text\" name=\"WebSite\" placeholder=\"\" value=\"\">\n </div>\n <p>Tip: You can use this type of button for several purposes. This button can:</p>\n <ul>\n <li><strong>Display a web page.</strong> Enter a web address such as \"http://www.SurpassSupport.com/\".</li>\n <li><strong>Display a document.</strong> Enter the full path name of the document.</li>\n <li><strong>Play music or video.</strong> Enter the URL or full path name of the music or video.</li>\n <li><strong>Launch an application.</strong> Enter the full path name to the application.</li>\n </ul> \n <p><strong>Note:</strong> The document must be available from the user's computer using the address given and the application required to display or play the document must be installed on the user's computer or this button will not work for the user. For example, if you set the address to \"\\\\MyServer\\Documents\\MyDoc.pdf\", the user must have access to \\\\MyServer\\Documents\\ from his or her computer and must have an application capable of displaying Adobe Acrobat (.pdf) documents.</p>\n </div>\n </div>\n\n <div class=\"col-lg-6 editwidgets-image-xs\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\">\n <img class=\"img-fluid\" src=\"/assets/images/explore/default.gif\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"btn-file-main sa-res-btnset btn-ChangeGraphic\">\n <input type=\"hidden\" name=\"image\" value=\"\">\n <span data-toggle=\"tooltip\" title=\"upload a new custom image\">\n <span class=\"btn-file\">Upload Image <input type=\"file\" (change)=\" uploadImage($event.target.files,$event)\"></span>\n </span>\n <span data-toggle=\"tooltip\" title=\"Select a graphic image to use for the Browse by Topic button\">\n <a (click) =\"getExploreImages()\" class=\"btn-file\" data-toggle=\"collapse\" href=\"#collapseExample\" role=\"button\" aria-expanded=\"false\" aria-controls=\"collapseExample\">Change Graphic</a> \n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"limit-form\" *ngIf=\"limitToSearch\" [ngClass]=\"showActionStatus == 'S'? 'show' : 'hide'\">\n <div class=\"row\">\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.category\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitCategory\"/><i class=\"material-helper\"></i>Category\n </label>\n </div>\n <div class=\"material-form-group childLimit hide\">\n <select name=\"l-cat\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n <label for=\"select\" class=\"material-control-label\">
25677Select Category</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.availability\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitInlib\"/><i class=\"material-helper\"></i>Available in Library\n </label>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode \">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitLexile\"/><i class=\"material-helper\"></i>Lexile\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMin\" name='l-lexmin' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" />\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMax\" name='l-lexmax' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\"/>\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n <div class=\"col-lg-3 col-md-12 \" *ngIf=\"limitToArray.lexileCode\">\n <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"l-lexcode\">\n <option value=\"\"></option>\n <option value=\"BR\">BR - Beginning Reading</option>\n <option value=\"IG\">IG - Illustrated Glossary</option>\n <option value=\"NC\">NC - Non-Conforming Text</option> \n <option value=\"NP\">NP - Non-Prose Text</option> \n <option value=\"AD\">AD - Adult-Directed Text</option> \n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\" *ngIf=\"limitToArray.lexileGrade\">\n <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"l-lexpat\" (change) = \"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of librarySetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.fountas\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitFountas\" /><i class=\"material-helper\"></i>Fountas & Pinnell\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmin\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmin\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"l-fpmax\" name=\"InterestLevel\">\n <option *ngFor=\"let level of selectOptionLevels\" [value]=\"level\" [selected]=\"level === 'z+'\">{{ level.toUpperCase() }}</option>\n </select>\n <label for=\"l-fpmax\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.rc\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitReading\"/><i class=\"material-helper\"></i>Reading Count\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"l-rcmin\" (keyup) = \"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"l-rcmax\" (keyup) = \"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"l-rcminpt\" (keyup) = \"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"l-rcmaxpt\" (keyup) = \"advanceSearch($event)\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.ar\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitAccelerated\"/><i class=\"material-helper\"></i>Accelerated Reader\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit hide\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMin\" name=\"l-armin\" ismin=\"true\"/>\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMax\" name=\"l-armax\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" name=\"l-arminpt\" />\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" name=\"l-armaxpt\"/>\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"l-arint\">\n <option value=\"\">All</option>\n <option value=\"LG\">Lower Grades</option>\n <option value=\"MG\">Middle Grades</option>\n <option value=\"UG\">Upper Grades</option>\n <!-- <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option> -->\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.homeLocation\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" /><i class=\"material-helper\"></i>Home Location Only\n </label>\n </div>\n </div>\n </div>\n </div>
25677\n <div class=\"nav-pills-changeGraphic collapse\" id=\"collapseExample\">\n <ul class=\"nav nav-pills mb-3\" id=\"pills-tab\" role=\"tablist\">\n <li class=\"nav-item\">\n <a class=\"nav-link active\" id=\"pills-StyleA-tab\" data-toggle=\"pill\" href=\"#pills-StyleA\" role=\"tab\" aria-controls=\"pills-StyleA\" aria-selected=\"true\">Style A</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-StyleB-tab\" data-toggle=\"pill\" href=\"#pills-StyleB\" role=\"tab\" aria-controls=\"pills-StyleB\" aria-selected=\"false\">Style B</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-StyleC-tab\" data-toggle=\"pill\" href=\"#pills-StyleC\" role=\"tab\" aria-controls=\"pills-StyleC\" aria-selected=\"false\">Style C</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-CustomMiscellaneous-tab\" data-toggle=\"pill\" href=\"#pills-CustomMiscellaneous\" role=\"tab\" aria-controls=\"pills-CustomMiscellaneous\" aria-selected=\"false\">Custom & Miscellaneous</a>\n </li>\n </ul>\n <div class=\"tab-content\" id=\"pills-tabContent\">\n <div class=\"tab-pane fade show active\" id=\"pills-StyleA\" role=\"tabpanel\" aria-labelledby=\"pills-StyleA-tab\">\n <div class=\"loader-inner-container\" *ngIf=\"responseStyleStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <ul class=\"list-inline list-style-images\">\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"a_{{ styleImg | slice:2 }}\" >\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/a_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-StyleB\" role=\"tabpanel\" aria-labelledby=\"pills-StyleB-tab\">\n <ul class=\"list-inline list-style-images\">\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"b_{{ styleImg | slice:2 }}\">\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/b_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-StyleC\" role=\"tabpanel\" aria-labelledby=\"pills-StyleC-tab\">\n <ul class=\"list-inline list-style-images\">\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"c_{{ styleImg | slice:2 }}\">\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/c_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-CustomMiscellaneous\" role=\"tabpanel\" aria-labelledby=\"pills-CustomMiscellaneous-tab\">\n <ul class=\"list-inline list-style-images\">\n <li *ngFor=\"let styleImg of styleCustomImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"{{ styleImg }}\">\n <img src=\"{{ styleImg }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" [ngClass] =\"updateExplore? 'show' : 'hide'\" style=\"margin-top:10px;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>
25677\n <!-- submit-btn -->\n <input class=\"btn btn-primary mt-3 pl-4 pr-4 \" name=\"submit\" type=\"submit\" value=\"Save\" (click) = \"addExploreButton($event)\" >\n </div>\n </div>\n </div>\n </div>\n </div>\n<!--***************Change Graphic Style popup*************-->\n <div class=\"modal fade add-explore-modal\" id=\"ChangeGraphicStyle\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-md\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Change Graphic Style</h4>\n <button id=\"StyleButtonsClose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"loader-inner-container\" *ngIf=\"changestyleButton\" style=\"position: absolute;width: 100%;padding: 50px;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <p>Select which button graphics style you prefer to use.</p>\n <div class=\"graphic-style-modal-box\">\n <a href=\"\" [ngClass] = \"selectedStyle == 'a'? 'selected' : ''\" class=\"style\" (click) = \"selectStyle($event)\" attr.type=\"a\">\n <div class=\"clearfix\">\n <h3>Style A</h3>\n <i class=\"fas fa-check\"></i>\n </div>\n <ul class=\"list-inline list-style-prefer\">\n <li><img src=\"assets/images/explore/a_browse.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/a_biography.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/a_engineering.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/a_letter_a.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/a_science_oceans.gif\" alt=\"graphic-image\"></li>\n </ul>\n </a>\n <a href=\"\" [ngClass] = \"selectedStyle == 'b'? 'selected' : ''\" (click) = \"selectStyle($event)\" attr.type=\"b\" class=\"style\">\n <div class=\"clearfix\">\n <h3>Style B</h3>\n <i class=\"fas fa-check\"></i>\n </div>\n <ul class=\"list-inline list-style-prefer\">\n <li><img src=\"assets/images/explore/b_browse.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/b_biography.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/b_engineering.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/b_letter_a.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/b_science_oceans.gif\" alt=\"graphic-image\"></li>\n </ul>\n </a>\n <a href=\"\" [ngClass] = \"selectedStyle == 'c'? 'selected' : ''\" (click) = \"selectStyle($event)\" attr.type=\"c\" class=\"style\">\n <div class=\"clearfix\">\n <h3>Style C</h3>\n <i class=\"fas fa-check\"></i>\n </div>\n <ul class=\"list-inline list-style-prefer\">\n <li><img src=\"assets/images/explore/c_browse.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/c_biography.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/c_engineering.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/c_letter_a.gif\" alt=\"graphic-image\"></li>\n <li><img src=\"assets/images/explore/c_science_oceans.gif\" alt=\"graphic-image\"></li>\n </ul>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!--***************Change Navigation Set popup *************-->\n <div class=\"modal fade add-explore-modal\" id=\"ChangeNavigationSet\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-md\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Change Navigation Set</h4>\n <button id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\" (click)='hideLoader()'><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"NavigationSet-body\">\n <p><strong>Current Set: Default Set</strong><br>You may create and switch between different whole sets of Explore pages. This can be especially useful when your library shares a Surpass database with other libraries and you want to customize the Explore feature for your library without affecting the others. You might also use this feature to create different sets for different patron audie
25677nces or for different times of the year.</p>\n <div class=\"row row-NavigationSet\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Open a different set:</label>\n <div class=\"clearfix\">\n <select class=\"form-control\" disabled=\"disabled\">\n <option>There are no other sets</option>\n </select>\n <button type=\"button\" class=\"btn btn-primary\">Open</button>\n </div>\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>Copy this set and save as:</label>\n <div class=\"clearfix\">\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"\">\n <button type=\"button\" class=\"btn btn-primary\">Save</button>\n </div>\n </div>\n </div>\n </div>\n <p class=\"btm-NavigationSet\"><a href=\"#\"><strong>Replace</strong></a> this set with the original set installed with Safari.<br><strong>Important:</strong> You will lose all customizations you have made to this set.</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <section class=\"widgets explore-page explore\">\n <div class=\"container-fluid\">\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus || responseAPIstatusAction\" style=\"position: absolute;width: 100%;height: 50%;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div *ngIf=\"noData\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> There are no items to show here.</p> \n </span>\n </div>\n <div [sortablejs]=\"exploreData.data.buttons\" [sortablejsOptions]=\"option\" class=\"row\" *ngIf=\"!responseAPIstatus && exploreData.data\" >\n <div attr.wid=\"{{ explore.id }}\" class=\"col-lg-2 col-sm-4 col-6\" [ngClass] =\"!explore.visible? 'buttonDisable' : '' \" *ngFor=\"let explore of exploreData.data.buttons \">\n\n <div class=\"explore-block-section\" >\n <div class=\"explore-btn\">\n <div class=\"loader-inner-container hide\" [ngClass] = \"buttonActionStatus? 'show':'hide'\" style=\"padding: 0;position: absolute;width: 100%;top: 15px;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n\n <button data-toggle=\"tooltip\" title=\"Move\" cdkDragHandle type=\"button\" (cdkDropListDropped)=\"onSortFinish($event)\" class=\"text-secondary my-handle\"><i class=\"fa fa-arrows-alt\"></i> </button>\n\n <a type=\"button\" class=\"text-primary\" data-toggle=\"modal\" href=\"#exploreBtnEdit{{ explore.id }}\" role=\"button\" (click)=\"openEditModal(explore.action, explore.target)\"><i class=\"fas fa-edit\" data-toggle=\"tooltip\" title=\"Edit\"></i> </a>\n <button type=\"button\" class=\"text-secondary\" (click) = \"buttonPublishStatus($event, explore.id, !explore.visible)\">\n <i data-toggle=\"tooltip\" title=\"Unhide\" *ngIf=\"!explore.visible\" class=\"fas fa-eye unpublish\"></i>\n <i data-toggle=\"tooltip\" title=\"Hide\" *ngIf=\"explore.visible\" class=\"fas fa-eye-slash publish\"></i>\n </button>\n\n <a data-toggle=\"tooltip\" title=\"Delete\" (click) = \"showConfirmModal(explore.id)\" type=\"button\" class=\"text-primary\" data-toggle=\"modal\" href=\"#delete-button\" role=\"button\">
25677<i class=\"fas fa-trash-alt\"></i> </a>\n </div> \n <a *ngIf=\"explore.action == 'V'\" [routerLink] = \"['/explore', explore.target ]\" [queryParams]=\"{'exp-btn-id': explore.id}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'E'\" [routerLink] = \"['/searchreview']\" [queryParams]=\"queryToJsonTest(explore.target, explore.id)\" class=\"book-display explore-block\">\n \n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'L'\" [routerLink] = \"['/resource/list/', explore.target ]\" [queryParams]=\"{'exp-btn-id': explore.id}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'P'\" [routerLink] = \"['/popular' ]\" [queryParams]=\"{'exp-btn-id': explore.id}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'N'\" [routerLink] = \"['/new' ]\" [queryParams]=\"{'exp-btn-id': explore.id}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n\n <a *ngIf=\"explore.action == 'R'\" [routerLink] = \"['/reading-lists' ]\" [queryParams]=\"{'exp-btn-id': explore.id}\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n \n <a *ngIf=\"explore.action == 'U'\" (click)=\"getExploreClick(explore.target, explore.id)\" class=\"book-display explore-block\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a>\n <a *ngIf=\"explore.action == 'S'\" [routerLink] = \"['/searchlist']\" [queryParams]=\"queryToJson(explore.target, explore.id)\" class=\"book-display explore-block\" (click)=\"saveCaption(explore.caption)\">\n <div class=\"book-cover\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"book-info\">{{ explore.caption }} </div>\n </a> \n </div>\n <!-- Edit Modal --> \n <div class=\"modal fade add-explore-modal\" id=\"exploreBtnEdit{{ explore.id }}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Edit Button</h4>\n <button id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)='hideLoader()'><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"responseAPIstatusAction\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Caption</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"{{ explore.caption }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group mb-0\">\n <label>Action:</label>\n <select class=\"form-control\" (change)=\"showAction($event, $event.target.value)\" name=\"action\">\n <option value=\"V\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'V')? 'selected' : null\">Go to another Page</option>\n <option value=\"S\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'S')? 'selected' : null\">Search & Show Results</option>\n <option value=\"E\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'E')? 'selected' : null\">Show a List of Reviews</option>\n <option value=\"L\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'L')? 'selected' : null\">Show a Saved List</option>\n <option value=\"P\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'P')? 'selected' : null\">Show Popular Titles List</option>\n <option value=\"N\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'N')? 'selected' : null\">Show New In Library List</option>\n <option value=\"R\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'R')? 'selected' : null\">Show List of Resource Lists</option>\n <option value=\"U\" [attr.selected] = \"checkVisible(showActionStatus, explore.action, 'U')? 'selected' : null\">Open Website or Other Document</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row mb-3\">\n <div class=\"col-lg-6 editwidgets-image-lg\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\">\n <input type=\"hidden\" name=\"buttonId\" value=\"{{ explore.id }}\">\n <input type=\"hidden\" name=\"buttonVisibility\" value=\"{{ explore.visible }}\">\n <input type=\"hidden\" name=\"imageName\" value=\"{{ explore.image }}\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"btn-file-main sa-res-btnset btn-ChangeGraphic\">
25677 \n <span data-toggle=\"tooltip\" title=\"upload a new custom image\">\n <span class=\"btn-file\">Upload Image <input type=\"file\" (change)=\" uploadImage($event.target.files,$event)\"></span>\n </span>\n <span data-toggle=\"tooltip\" title=\"Select a graphic image to use for the Browse by Topic button\">\n <a (click) =\"getExploreImages()\" class=\"btn-file\" data-toggle=\"collapse\" href=\"#collapseExample\" role=\"button\" aria-expanded=\"false\" aria-controls=\"collapseExample\">Change Graphic</a> \n </span>\n </div>\n </div>\n </div>\n \n <div class=\"col-lg-6\">\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'E'? 'show' : 'hide' \">\n <div class=\"form-group\">\n <h6>Minimum Rating</h6>\n <span class=\"star-rating review\">\n <star-rating (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"initialRate\" ></star-rating>\n </span>\n </div>\n <div class=\"form-group\">\n <label>Review Age</label>\n <select class=\"form-control\" name=\"review_age\">\n <option [attr.selected]=\"exploreEditreviewAge === 'year'? 'selected' : null\" value=\"year\"> 1 Year or Less</option>\n <option [attr.selected]=\"exploreEditreviewAge === 'month'? 'selected' : null\" value=\"month\"> 1 Month or Less</option>\n <option [attr.selected]=\"exploreEditreviewAge === ''? 'selected' : null\" value=\"\"> All</option>\n </select>\n </div>\n <div class=\"form-group\">\n <label>Reviewer's Name <small>(any part of name)</small></label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"reviewer\" value=\"{{ exploreEditreviewerName }}\">\n </div>\n <div class=\"form-group\">\n <h6>Categories</h6>\n <p>Please select one or more categories.<br> Only those reviews matching all of the categories you select will be listed.</p>\n <div class=\"row\">\n <div class=\"col-lg-4 col-6\" *ngFor=\"let category of reviewCategories.data; let i = index\">\n <label class=\"check-list\" *ngIf=\"checkedCategoryIds\">\n <input name=\"categories_for_review\" type=\"checkbox\" [checked]=\"checkedCategoryIds.includes(category.id)\" [value]=\"category.id\" (change)=\"toggleCategoryChecked(category.id)\">\n <span class=\"checkmark\"></span> {{ category.caption }}\n </label>\n </div>\n </div>\n </div>\n <!-- <p><strong>Tip: </strong>To create a new Review list, use the \"Recent Reviews\" feature located on the search review page, add all or selected materials to My List and then show My List as a Review Search List.</p> -->\n </div> \n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'V'? 'showBlock' : 'hide'\">\n <form auto-fill=\"no\">\n <div class=\"form-group\">\n <label>Page:</label>\n <select class=\"form-control\" name=\"pagetogo\" (change)=\"checkNewPage($event)\">\n <option [attr.selected] = \"explore.target == page.id || explore.target == 'pageId='+page.id ? 'selected' : null\" *ngFor=\"let page of explorePageList\" value=\"{{ page.id }}\">{{ page.caption }}</option>\n <option value=\"0\">New Page</option>\n </select>\n </div>\n <div class=\"form-group\" *ngIf=\"isNew == true\">\n <label>New Page Name:</label>\n <input class=\"form-control\" name=\"newPageName\" value=\" \" placeholder=\"Enter page name\" autocomplete=\"new-name\">\n </div>\n </form>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'S'? 'show' : 'hide' \">\n <div class=\"form-group\">\n <label>Search Type:</label>\n <select class=\"form-control\" name=\"SearchType\" (change)=\"searchTypeOptions($event,$event.target.value)\">\n <option value=\"\">Select search type</option>\n <option [attr.selected] = 'explore.target.type == removeSpace(search)? \"selected\" : null' *ngFor=\"let search of enableSearchs\" value=\"{{ search }}\">{{ search }}</option>\n </select>\n </div>\n <div class=\"searchOptionscon\">\n <div class=\"row searchOptionsCont\" [ngClass]='checkVisible(searchTypeSelect, explore.target.type, \"Basic\")? \"showBlock\" : \"hide\"'>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label> </label>\n <input class=\"form-control\" name=\"basicSearchBasic\" placeholder=\"Search for...\" value=\"{{ explore.target.keyword }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>In</label>\n <select class=\"form-control\" name=\"basicSearchIn\">\n <option [attr.selected]='explore.target.searchin == \"\"? \"selected\" : null' value=\"\">\n All\n </option>\n <option [attr.selected]='explore.target.searchin == \"A\"? \"selected\" : null' value=\"A\">Author</option>\n <option [attr.selected]='explore.target.searchin == \"T\"? \"selected\" : null' value=\"T\">Title</option>\n <option [attr.selected]='explore.target.searchin == \"S\"? \"selected\" : null' value=\"S\">Subject</option>\n <option [attr.selected]='explore.target.searchin == \"I\"? \"selected\" : null' value=\"I\">Series Title</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Barcode') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Start</label>\n <input class=\"form-control\" placeholder=\"Start\" name=\"barcodeStart\" value=\"{{ explore.target.start }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>End</label>\n <input class=\"form-control\" placeholder=\"End\" name=\"barcodeEnd\" value=\"{{ explore.target.end }}\">\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Call') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Start</label>\n <input class=\"form-control\" placeholder=\"Start\" name=\"callStart\" value=\"{{ explore.target.start }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>End</label>\n <input class=\"form-control\" placeholder=\"End\" name=\"callEnd\" value=\"{{ explore.target.end }}\">\n </div>\n </div>\n </div>\n\n <div class=\"searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Boolean') ? 'showBlock' : 'hide'\">\n <div>\n <div class=\"row boxBoolean\" *ngFor=\"let box of booleanBoxs; let sno = index\" style=\"width: 100%;\">\n <div class=\"col-lg-12 col-md-12\" *ngIf=\"sno > 0\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors\">\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'AND' || box.op == 'and'? 'active' : ''\">AND</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'OR' || box.op == 'or'? 'active' : ''\">OR</li>\n <li (click)=\"selectOpretor($event)\" [ngClass]=\"box.op == 'NOT' || box.op == 'not'? 'active' : ''\">NOT</li>\n </ul>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-4\">\n <div class=\"form-group\">\n <label> </label>\n <input name=\"terms\" type=\"text\" required=\"required\" placeholder=\"Search for...\" class=\"form-control\" value=\"{{box.term}}\" />\n </div>\n </div>\n <div class=\"col-lg-6 col-md-4\">\n <div class=\"form-group\">\n <label>In</label>\n <select id=\"Lexilecode\" name=\"code\" name=\"searchIn\" class=\"form-control\">\n <option [attr.selected]='box.in == serachType.tag ? \"selected\" : null' *ngFor=\"let serachType of librarySetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-lg-1 col-md-3\">\n <div class=\"form-group chack-right\">\n <i *ngIf=\"sno > 0\" (click)=\"removeOpretorBox($event)\" class=\"material-icons booleanremove\">remove</i>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-lg-12 col-md-12\">\n <div class=\"material-form-group-booleanOpretors\">\n <ul class=\"booleanOpretors searchBox\">\n <li (click)=\"copyOpretorBox($event)\"> AND</li>\n <li (click)=\"copyOpretorBox($event)\"> OR</li>\n <li (click)=\"copyOpretorBox($event)\"> NOT</li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Marc') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label> </label>\n <input class=\"form-control\" placeholder=\"Search for...\" name=\"marcSearchBasic\" value=\"{{ explore.target.keyword }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>In</label>\n <select class=\"form-control\" name=\"marcSearchIn\">\n <option [attr.selected]='explore.target.searchin == serachType.tag? \"selected\" : null' *ngFor=\"let serachType of librarySetting.data.settings.pickLists.searchFields\" value=\"{{ serachType.tag }}\"><span *ngIf=\"serachType.tag.length >= 3\">{{ serachType.tag }} - </span>{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-12 col-lg-12 exact-term-checkbox\">\n <div class=\"material-checkbox\">\n <label>\n <input [attr.checked]='explore.target.exact == true || explore.target.exact == \"true\"? \"checked\" : null' type=\"checkbox\" id=\"startWithMarc\" name=\"marcStartExact\" /> <i _ngcontent-c5=\"\" class=\"material-helper\"></i> Starts with exact term\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Category') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>
25677Select Category</label>\n <select class=\"form-control\" name=\"category\">\n <option [attr.selected]='explore.target.categoryId == serachType.id? \"selected\" : null' *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n </div>\n\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Lexile') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <input class=\"form-control\" placeholder=\"Level Min...\" type=\"text\" required=\"required\" id=\"LexileLevelMin\" (blur)=\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" ismin=\"true\" min=\"-2000\" max=\"2000\" step=\"1\" name=\"LexileLevelMin\" value=\"{{ explore.target.levelmin }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <input class=\"form-control\" placeholder=\"Level Max...\" type=\"text\" required=\"required\" id=\"LexileLevelMax\" (blur)=\"validateSearch($event, 'Lexile','LevelMax')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" name=\"LexileLevelMax\" value=\"{{ explore.target.levelmax }}\" />\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Code</label>\n <select class=\"form-control\" name=\"Lexilecode\">\n <option [attr.selected]='explore.target.code == \"\"? \"selected\" : null' value=\"\"></option>\n <option [attr.selected]='explore.target.code == \"BR\"? \"selected\" : null' value=\"BR\">BR - Beginning Reading</option>\n <option [attr.selected]='explore.target.code == \"IG\"? \"selected\" : null' value=\"IG\">IG - Illustrated Glossary</option>\n <option [attr.selected]='explore.target.code == \"NC\"? \"selected\" : null' value=\"NC\">NC - Non-Conforming Text</option>\n <option [attr.selected]='explore.target.code == \"NP\"? \"selected\" : null' value=\"NP\">NP - Non-Prose Text</option>\n <option [attr.selected]='explore.target.Code == \"AD\"? \"selected\" : null' value=\"AD\">AD - Adult-Directed Text</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Grade</label>\n <select class=\"form-control\" name=\"LexilePatronType\" (change)=\"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" [attr.selected]='explore.target.patronType == serachType.id? \"selected\" : null' *ngFor=\"let serachType of librarySetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'Fountas') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <select class=\"form-control\" name=\"fountasLevelMin\" id=\"fountasLevelMin\">\n <option [attr.selected]='explore.target.levelmin == \"a\"? \"selected\" : null' value=\"a\">A</option>\n <option [attr.selected]='explore.target.levelmin == \"b\"? \"selected\" : null' value=\"b\">B</option>\n <option [attr.selected]='explore.target.levelmin == \"c\"? \"selected\" : null' value=\"c\">C</option>\n <option [attr.selected]='explore.target.levelmin == \"d\"? \"selected\" : null' value=\"d\">D</option>\n <option [attr.selected]='explore.target.levelmin == \"e\"? \"selected\" : null' value=\"e\">E</option>\n <option [attr.selected]='explore.target.levelmin == \"f\"? \"selected\" : null' value=\"f\">F</option>\n <option [attr.selected]='explore.target.levelmin == \"g\"? \"selected\" : null' value=\"g\">G</option>\n <option [attr.selected]='explore.target.levelmin == \"h\"? \"selected\" : null' value=\"h\">H</option>\n <option [attr.selected]='explore.target.levelmin == \"i\"? \"selected\" : null' value=\"i\">I</option>\n <option [attr.selected]='explore.target.levelmin == \"j\"? \"selected\" : null' value=\"j\">J</option>\n <option [attr.selected]='explore.target.levelmin == \"k\"? \"selected\" : null' value=\"k\">K</option>\n <option [attr.selected]='explore.target.levelmin == \"l\"? \"selected\" : null' value=\"l\">L</option>\n <option [attr.selected]='explore.target.levelmin == \"m\"? \"selected\" : null' value=\"m\">M</option>\n <option [attr.selected]='explore.target.levelmin == \"n\"? \"selected\" : null' value=\"n\">N</option>\n <option [attr.selected]='explore.target.levelmin == \"o\"? \"selected\" : null' value=\"o\">O</option>\n <option [attr.selected]='explore.target.levelmin == \"p\"? \"selected\" : null' value=\"p\">P</option>\n <option [attr.selected]='explore.target.levelmin == \"q\"? \"selected\" : null' value=\"q\">Q</option>\n <option [attr.selected]='explore.target.levelmin == \"r\"? \"
25677selected\" : null' value=\"r\">R</option>\n <option [attr.selected]='explore.target.levelmin == \"s\"? \"selected\" : null' value=\"s\">S</option>\n <option [attr.selected]='explore.target.levelmin == \"t\"? \"selected\" : null' value=\"t\">T</option>\n <option [attr.selected]='explore.target.levelmin == \"u\"? \"selected\" : null' value=\"u\">U</option>\n <option [attr.selected]='explore.target.levelmin == \"v\"? \"selected\" : null' value=\"v\">V</option>\n <option [attr.selected]='explore.target.levelmin == \"w\"? \"selected\" : null' value=\"w\">W</option>\n <option [attr.selected]='explore.target.levelmin == \"x\"? \"selected\" : null' value=\"x\">X</option>\n <option [attr.selected]='explore.target.levelmin == \"y\"? \"selected\" : null' value=\"y\">Y</option>\n <option [attr.selected]='explore.target.levelmin == \"z\"? \"selected\" : null' value=\"z\">Z</option>\n <option [attr.selected]='explore.target.levelmin == \"z+\"? \"selected\" : null' value=\"z+\">Z+</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <select id=\"fountasLevelMax\" class=\"form-control\" name=\"fountasLevelMax\">\n <option [attr.selected]='explore.target.levelmax == \"a\"? \"selected\" : null' value=\"a\">A</option>\n <option [attr.selected]='explore.target.levelmax == \"b\"? \"selected\" : null' value=\"b\">B</option>\n <option [attr.selected]='explore.target.levelmax == \"c\"? \"selected\" : null' value=\"c\">C</option>\n <option [attr.selected]='explore.target.levelmax == \"d\"? \"selected\" : null' value=\"d\">D</option>\n <option [attr.selected]='explore.target.levelmax == \"e\"? \"selected\" : null' value=\"e\">E</option>\n <option [attr.selected]='explore.target.levelmax == \"f\"? \"selected\" : null' value=\"f\">F</option>\n <option [attr.selected]='explore.target.levelmax == \"g\"? \"selected\" : null' value=\"g\">G</option>\n <option [attr.selected]='explore.target.levelmax == \"h\"? \"selected\" : null' value=\"h\">H</option>\n <option [attr.selected]='explore.target.levelmax == \"i\"? \"selected\" : null' value=\"i\">I</option>\n <option [attr.selected]='explore.target.levelmax == \"j\"? \"selected\" : null' value=\"j\">J</option>\n <option [attr.selected]='explore.target.levelmax == \"k\"? \"selected\" : null' value=\"k\">K</option>\n <option [attr.selected]='explore.target.levelmax == \"l\"? \"selected\" : null' value=\"l\">L</option>\n <option [attr.selected]='explore.target.levelmax == \"m\"? \"selected\" : null' value=\"m\">M</option>\n <option [attr.selected]='explore.target.levelmax == \"n\"? \"selected\" : null' value=\"n\">N</option>\n <option [attr.selected]='explore.target.levelmax == \"o\"? \"selected\" : null' value=\"o\">O</option>\n <option [attr.selected]='explore.target.levelmax == \"p\"? \"selected\" : null' value=\"p\">P</option>\n <option [attr.selected]='explore.target.levelmax == \"q\"? \"selected\" : null' value=\"q\">Q</option>\n <option [attr.selected]='explore.target.levelmax == \"r\"? \"
25677selected\" : null' value=\"r\">R</option>\n <option [attr.selected]='explore.target.levelmax == \"s\"? \"selected\" : null' value=\"s\">S</option>\n <option [attr.selected]='explore.target.levelmax == \"t\"? \"selected\" : null' value=\"t\">T</option>\n <option [attr.selected]='explore.target.levelmax == \"u\"? \"selected\" : null' value=\"u\">U</option>\n <option [attr.selected]='explore.target.levelmax == \"v\"? \"selected\" : null' value=\"v\">V</option>\n <option [attr.selected]='explore.target.levelmax == \"w\"? \"selected\" : null' value=\"w\">W</option>\n <option [attr.selected]='explore.target.levelmax == \"x\"? \"selected\" : null' value=\"x\">X</option>\n <option [attr.selected]='explore.target.levelmax == \"y\"? \"selected\" : null' value=\"y\">Y</option>\n <option [attr.selected]='explore.target.levelmax == \"z\"? \"selected\" : null' value=\"z\">Z</option>\n <option [attr.selected]='explore.target.levelmax == \"z+\"? \"selected\" : null' value=\"z+\">Z+</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'ReadingCounts') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level min</label>\n <input class=\"form-control\" placeholder=\"Level Min\" (blur)=\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"readingcountsLevelMin\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\" value=\"{{ explore.target.levelmin }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Level max</label>\n <input class=\"form-control\" placeholder=\"Level Max\" (blur)=\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"readingcountsLevelMax\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\" value=\"{{ explore.target.levelmax }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point min</label>\n <input class=\"form-control\" placeholder=\"Point Min\" (blur)=\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"readingcountsPointMin\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\" value=\"{{ explore.target.pointmin }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point max</label>\n <input class=\"form-control\" placeholder=\"Point Max\" (blur)=\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"readingcountsPointMax\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\" value=\"{{ explore.target.pointmax }}\">\n </div>\n </div>\n </div>\n <div class=\"row searchOptionsCont\" [ngClass]=\"checkVisible(searchTypeSelect,explore.target.type, 'AcceleratedReader') ? 'showBlock' : 'hide'\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Reading level min</label>\n <input class=\"form-control\" placeholder=\"Reading Level Min\" type=\"number\" min=\"0.1\" max=\"15\" step=\"0.1\" ismin=\"true\" group=\"AcceleratedReaderLevel\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMin')\" id=\"AcceleratedReaderLevelMin\" name=\"AcceleratedReaderLevelMin\" value=\"{{ explore.target.levelmin }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Reading level max</label>\n <input class=\"form-control\" placeholder=\"Reading Level Max\" type=\"number\" min=\"0.1\" max=\"15\" step=\"0.1\" group=\"AcceleratedReaderLevel\" (blur)=\"validateSearch($event, 'AcceleratedReader','LevelMax')\" id=\"AcceleratedReaderLevelMax\" name=\"AcceleratedReaderLevelMax\" value=\"{{ explore.target.levelmax }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point min</label>\n <input class=\"form-control\" placeholder=\"Point Min\" type=\"number\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" group=\"AcceleratedReaderPoints\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMin')\" id=\"AcceleratedReaderPointsMin\" name=\"AcceleratedReaderPointsMin\" value=\"{{ explore.target.pointmin }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Point max</label>\n <input class=\"form-control\" placeholder=\"Point Max\" type=\"number\" min=\"0.5\" max=\"120\" step=\"0.5\" group=\"AcceleratedReaderPoints\" (blur)=\"validateSearch($event, 'AcceleratedReader','pointMax')\" id=\"AcceleratedReaderPointsMax\" name=\"AcceleratedReaderPointsMax\" value=\"{{ explore.target.pointmax }}\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Interest level</label>\n <select class=\"form-control\" name=\"AcceleratedReaderInterestLevel\">\n <option [attr.selected]='explore.target.int == \"\"? \"selected\" : null' value=\"\">All</option>\n <option [attr.selected]='explore.target.int == \"LG\"? \"selected\" : null' value=\"LG\">Lower Grades</option>\n <option [attr.selected]='explore.target.int == \"MG\"? \"selected\" : null' value=\"MG\">Middle Grades</option>\n <option [attr.selected]='explore.target.int == \"UG\"? \"selected\" : null' value=\"UG\">Upper Grades</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"test\">\n <button *ngIf=\"limitToArray.category || limitToArray.availability || limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode || limitToArray.fountas || limitToArray.rc || limitToArray.ar || limitToArray.homeLocation\" type=\"button\" class=\"limit-btn btn-sm btn-primary\" (click)=\"limitTo($event)\">
25677Limit To\n <span>\n <i *ngIf=\"!checkForLimit(explore, limitToEdit)\" class=\"fas fa-caret-down\"></i> \n <i *ngIf=\"checkForLimit(explore, limitToEdit)\" class=\"fas fa-caret-up\"></i>\n </span>\n </button>\n </div>\n \n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'L' ? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>Saved List:</label>\n <select class=\"form-control\" name=\"showSavedList\">\n <option [attr.selected] = \"explore.target == readingList.id ? 'selected' : null\" *ngFor=\"let readingList of resourceLists\" value=\"{{ readingList.id }}\">{{ readingList.name }}</option>\n </select>\n </div>\n <p><strong>Tip: </strong>To create a new saved list, search for the materials you want to include in the list, add to My List and then shows My List as a Recommended Resource List. You will then be able to select your new list when adding or editing an Explore button.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'P'? 'show' : 'hide' \">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a Popular Titles list, use the \"Popular Titles\" feature located on the tabbed main navigation, add all or selected materials to My List and then show My List as a Po
25677pular Titles List.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'N'? 'show' : 'hide' \">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a New in Library list, use the \"New in Library\" feature located on the tabbed main navigation, add all or selected materials to My List and then show My List as a New in Library List.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'R'? 'show' : 'hide'\">\n <div class=\"form-group\"></div>\n <p><strong>Tip: </strong>To create a Recommended Resource List, search for the materials you want to include in the list, add to My List and then show My List as a Recommended Resource List. The user will see a list of Recommended Resource Lists when he or she clicks the button.</p>\n </div>\n <div class=\"bottomTip SelectActionCon\" [ngClass]=\"showActionStatus == 'U'? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>Target Address:</label>\n <input *ngIf=\"explore.action == 'U'\" class=\"form-control\" type=\"text\" name=\"WebSite\" placeholder=\"\" value=\"{{ explore.target }}\">\n <input *ngIf=\"explore.action != 'U'\" class=\"form-control\" type=\"text\" name=\"WebSite\" placeholder=\"\" value=\"\">\n </div>\n <p>Tip: You can use this type of button for several purposes. This button can:</p>\n <ul>\n <li><strong>Display a web page.</strong> Enter a web address such as \"http://www.SurpassSupport.com/\".</li>\n <li><strong>Display a document.</strong> Enter the full path name of the document.</li>\n <li><strong>Play music or video.</strong> Enter the URL or full path name of the music or video.</li>\n <li><strong>Launch an application.</strong> Enter the full path name to the application.</li>\n </ul> \n <!-- <p><strong>Note:</strong> The document must be available from the user's computer using the address given and the application required to display or play the document must be installed on the user's computer or this button will not work for the user. For example, if you set the address to \"\\\\MyServer\\Documents\\MyDoc.pdf\", the user must have access to \\\\MyServer\\Documents\\ from his or her computer and must have an application capable of displaying Adobe Acrobat (.pdf) documents.</p> -->\n </div>\n </div>\n <div class=\"col-lg-6 editwidgets-image-xs\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\">\n <img *ngIf=\"explore.image.indexOf('http') > -1\" class=\"img-fluid\" src=\"{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n <img *ngIf=\"explore.image.indexOf('http') < 0\" class=\"img-fluid\" src=\"/assets/images/explore/{{ explore.image }}\" alt=\"image\" (error)=\"imageError($event)\">\n </div>\n <div class=\"btn-file-main sa-res-btnset btn-ChangeGraphic\">\n <input type=\"hidden\" name=\"image\" value=\"\">\n <span data-toggle=\"tooltip\" title=\"upload a new custom image\">\n <span class=\"btn-file\">Upload Image <input type=\"file\" (change)=\" uploadImage($event.target.files,$event)\"></span>\n </span>\n <span data-toggle=\"tooltip\" title=\"Select a graphic image to use for the Browse by Topic button\">\n <a (click) =\"getExploreImages()\" class=\"btn-file\" data-toggle=\"collapse\" href=\"#collapseExample\" role=\"button\" aria-expanded=\"false\" aria-controls=\"collapseExample\">Change Graphic</a> \n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"limit-form\" *ngIf=\"checkForLimit(explore, limitToEdit) || limitToSearch\" [ngClass]=\"showActionStatus == 'S'? 'show' : 'hide'\">\n <div class=\"row\">\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.category\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitCategory\" [attr.checked]=\"explore.target['l-cat'] ? 'checked':null\"/><i class=\"material-helper\"></i>Category\n </label>\n </div>\n \n <!-- <div class=\"material-form-group childLimit\" [ngClass]=\"{'hide': !explore.target['l-cat']}\">\n <select name=\"l-cate\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\" [attr.selected] = 'explore.target[\"l-cat\"] == serachType.id? \"selected\" : null'>{{ serachType.caption }}</option>\n </select>\n <label for=\"select\" class=\"material-control-label\">
25677Select Category</label><i class=\"material-bar\"></i>\n </div> -->\n\n <div class=\"form-group childLimit\" [ngClass]=\"{'hide': !explore.target['l-cat']}\">\n <label for=\"select\" >Select Category</label>\n <select name=\"l-cate\" class=\"form-control\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\" [attr.selected] = 'explore.target[\"l-cat\"] == serachType.id? \"selected\" : null'>{{ serachType.caption }}</option>\n </select>\n </div>\n\n </div>\n\n <div class=\"col-md-6 parentLimit\" *ngIf=\"limitToArray.availability\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitInlib\" [attr.checked]=\"explore.target['l-inlib'] == 'true' ? 'checked':null\"/><i class=\"material-helper\"></i>Available in Library\n </label>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.lexile || limitToArray.lexileGrade || limitToArray.lexileCode \">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitLexile\" [attr.checked]=\"explore.target['l-lexmin'] || explore.target['l-lexmax'] || explore.target['l-lexcode'] || explore.target['l-lexpat'] \"/><i class=\"material-helper\"></i>Lexile\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit\" [ngClass]=\"{ 'hide': !explore.target['l-lexmin'] || !explore.target['l-lexmax'] || !explore.target['l-lexcode'] || !explore.target['l-lexpat'] }\">\n <div class=\"col-lg-3 col-md-6\">\n \n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"Lexile\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMin\" name='l-lexmin' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" value=\"{{explore.target['l-lexmin']}}\"/>\n <label for=\"LexileLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n\n <div class=\"form-group childLimit\" [ngClass]=\"{'hide': !explore.target['l-cat']}\">\n <label for=\"select\" >Select Category</label>\n <select name=\"l-cate\" class=\"form-control\">\n <option value=\"\">All</option>\n <option *ngFor=\"let serachType of librarySetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\" [attr.selected] = 'explore.target[\"l-cat\"] == serachType.id? \"selected\" : null'>{{ serachType.caption }}</option>\n </select>\n </div>\n\n\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"text\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"LexileLevelMax\" name='l-lexmax' (blur) =\"validateSearch($event, 'Lexile','LevelMin')\" group=\"LexileLevel\" min=\"-2000\" max=\"2000\" step=\"1\" value=\"{{ explore.target['l-lexmax'] }}\"/>\n <label for=\"LexileLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n <div class=\"col-lg-3 col-md-12 \" *ngIf=\"limitToArray.lexileCode\">\n <!-- <div class=\"material-form-group\">\n <select id=\"Lexilecode\" name=\"l-lexcode\">\n <option value=\"\" [attr.selected] = \"explore.target['l-lexcode']\" ></option>\n <option value=\"BR\" [attr.selected] = \"explore.target['l-lexcode'] == 'BR' ? 'selected' : null\" >BR - Beginning Reading</option>\n <option value=\"IG\" [attr.selected] = \"explore.target['l-lexcode'] == 'IG' ? 'selected' : null\">IG - Illustrated Glossary</option>\n <option value=\"NC\" [attr.selected] = \"explore.target['l-lexcode'] == 'NC' ? 'selected' : null\">NC - Non-Conforming Text</option> \n <option value=\"NP\" [attr.selected] = \"explore.target['l-lexcode'] == 'NP' ? 'selected' : null\">NP - Non-Prose Text</option> \n <option value=\"AD\" [attr.selected] = \"explore.target['l-lexcode'] == 'AD' ? 'selected' : null\">AD - Adult-Directed Text</option> \n </select>\n <label for=\"Lexilecode\" class=\"material-control-label\">Code</label><i class=\"material-bar\"></i>\n </div>\n -->\n <div class=\"form-group childLimit\" [ngClass]=\"{'hide': !explore.target['l-cat']}\">\n <label for=\"Lexilecode\" >Code</label>\n <select class=\"form-control\" id=\"Lexilecode\" name=\"l-lexcode\">\n <option value=\"\" [attr.selected] = \"explore.target['l-lexcode']\" ></option>\n <option value=\"BR\" [attr.selected] = \"explore.target['l-lexcode'] == 'BR' ? 'selected' : null\" >BR - Beginning Reading</option>\n <option value=\"IG\" [attr.selected] = \"explore.target['l-lexcode'] == 'IG' ? 'selected' : null\">IG - Illustrated Glossary</option>\n <option value=\"NC\" [attr.selected] = \"explore.target['l-lexcode'] == 'NC' ? 'selected' : null\">NC - Non-Conforming Text</option> \n <option value=\"NP\" [attr.selected] = \"explore.target['l-lexcode'] == 'NP' ? 'selected' : null\">NP - Non-Prose Text</option> \n <option value=\"AD\" [attr.selected] = \"explore.target['l-lexcode'] == 'AD' ? 'selected' : null\">AD - Adult-Directed Text</option> \n </select>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-12\" *ngIf=\"limitToArray.lexileGrade\">\n <!-- <div class=\"material-form-group\">\n <select id=\"LexilePatronType\" name=\"l-lexpat\" (change) = \"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of librarySetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\" [attr.selected] = \"explore.target['l-lexpat'] == serachType.id ? 'selected' : null\">{{ serachType.id }} - {{ serachType.caption }}</option>\n </select>\n <label for=\"LexilePatronType\" class=\"material-control-label\">Grade</label><i class=\"material-bar\"></i>\n </div> -->\n\n <div class=\"form-group\">\n <label for=\"LexilePatronType\" >Grade</label>\n <select class=\"form-control\" id=\"LexilePatronType\" name=\"l-lexpat\" (change) = \"lexileGradeChange($event)\">\n <option value=\"\">All</option>\n <option attr.min=\"{{ serachType.lexileLow }}\" attr.high=\"{{ serachType.lexileHigh }}\" *ngFor=\"let serachType of librarySetting.data.settings.pickLists.lexileGrades\" value=\"{{ serachType.id }}\" [attr.selected] = \"explore.target['l-lexpat'] == serachType.id ? 'selected' : null\">{{ serachType.id }} - {{ serachType.caption }}</option> \n </select>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.fountas\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitFountas\" [attr.checked]=\"explore.target['l-fpmin'] || explore.target['l-fpmax'] \"/><i class=\"material-helper\"></i>Fountas & Pinnell\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit\" [ngClass]=\"{ 'hide': !explore.target['l-fpmin'] || !explore.target['l-fpmax'] }\">\n <div class=\"col-lg-6 col-md-12\">\n <!-- <div class=\"material-form-group\">\n <select id=\"l-fpmin\">\n <option value=\"a\" [attr.selected] = \"explore.target['l-fpmin'] == 'a' ? 'selected' : null\">A</option>\n <option value=\"b\" [attr.selected] = \"explore.target['l-fpmin'] == 'b' ? 'selected' : null\">B</option>\n <option value=\"c\" [attr.selected] = \"explore.target['l-fpmin'] == 'c' ? 'selected' : null\">C</option>\n <option value=\"d\" [attr.selected] = \"explore.target['l-fpmin'] == 'd' ? 'selected' : null\">D</option>\n <option value=\"e\" [attr.selected] = \"explore.target['l-fpmin'] == 'e' ? 'selected' : null\">E</option>\n <option value=\"f\" [attr.selected] = \"explore.target['l-fpmin'] == 'f' ? 'selected' : null\">F</option>\n <option value=\"g\" [attr.selected] = \"explore.target['l-fpmin'] == 'g' ? 'selected' : null\">G</option>\n <option value=\"h\" [attr.selected] = \"explore.target['l-fpmin'] == 'h' ? 'selected' : null\">H</option>\n <option value=\"i\" [attr.selected] = \"explore.target['l-fpmin'] == 'i' ? 'selected' : null\">I</option>\n <option value=\"j\" [attr.selected] = \"explore.target['l-fpmin'] == 'j' ? 'selected' : null\">J</option>\n <option value=\"k\" [attr.selected] = \"explore.target['l-fpmin'] == 'k' ? 'selected' : null\">K</option>\n <option value=\"l\" [attr.selected] = \"explore.target['l-fpmin'] == 'l' ? 'selected' : null\">L</option>\n <option value=\"m\" [attr.selected] = \"explore.target['l-fpmin'] == 'm' ? 'selected' : null\">M</option>\n <option value=\"n\" [attr.selected] = \"explore.target['l-fpmin'] == 'n' ? 'selected' : null\">N</option>\n <option value=\"o\" [attr.selected] = \"explore.target['l-fpmin'] == 'o' ? 'selected' : null\">O</option>\n <option value=\"p\" [attr.selected] = \"explore.target['l-fpmin'] == 'p' ? 'selected' : null\">P</option>\n <option value=\"q\" [attr.selected] = \"explore.target['l-fpmin'] == 'q' ? 'selected' : null\">Q</option>\n <option value=\"r\" [attr.selected] = \"explore.target['l-fpmin'] == 'r' ? 'selected' : null\">R</option>\n <option value=\"s\" [attr.selected] = \"explore.target['l-fpmin'] == 's' ? 'selected' : null\">S</option>\n <option value=\"t\" [attr.selected] = \"explore.target['l-fpmin'] == 't' ? 'selected' : null\">T</option>\n <option value=\"u\" [attr.selected] = \"explore.target['l-fpmin'] == 'u' ? 'selected' : null\">U</option>\n <option value=\"v\" [attr.selected] = \"explore.target['l-fpmin'] == 'v' ? 'selected' : null\">V</option>\n <option value=\"w\" [attr.selected] = \"explore.target['l-fpmin'] == 'w' ? 'selected' : null\">W</option>\n <option value=\"x\" [attr.selected] = \"explore.target['l-fpmin'] == 'x' ? 'selected' : null\">X</option>\n <option value=\"y\" [attr.selected] = \"explore.target['l-fpmin'] == 'y' ? 'selected' : null\">Y</option>\n <option value=\"z\" [attr.selected] = \"explore.target['l-fpmin'] == 'z' ? 'selected' : null\">Z</option>\n <option value=\"z+\"[attr.selected] = \"explore.target['l-fpmin'] == 'z+' ? 'selected' : null\">Z+</option>\n </select>\n <label for=\"l-fpmin\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div> -->\n <div class=\"form-group\">\n <label for=\"l-fpmin\" >Interest Level</label>\n <select class=\"form-control\" id=\"l-fpmin\">\n <option value=\"a\" [attr.selected] = \"explore.target['l-fpmin'] == 'a' ? 'selected' : null\">A</option>\n <option value=\"b\" [attr.selected] = \"explore.target['l-fpmin'] == 'b' ? 'selected' : null\">B</option>\n <option value=\"c\" [attr.selected] = \"explore.target['l-fpmin'] == 'c' ? 'selected' : null\">C</option>\n <option value=\"d\" [attr.selected] = \"explore.target['l-fpmin'] == 'd' ? 'selected' : null\">D</option>\n <option value=\"e\" [attr.selected] = \"explore.target['l-fpmin'] == 'e' ? 'selected' : null\">E</option>\n <option value=\"f\" [attr.selected] = \"explore.target['l-fpmin'] == 'f' ? 'selected' : null\">F</option>\n <option value=\"g\" [attr.selected] = \"explore.target['l-fpmin'] == 'g' ? 'selected' : null\">G</option>\n <option value=\"h\" [attr.selected] = \"explore.target['l-fpmin'] == 'h' ? 'selected' : null\">H</option>\n <option value=\"i\" [attr.selected] = \"explore.target['l-fpmin'] == 'i' ? 'selected' : null\">I</option>\n <option value=\"j\" [attr.selected] = \"explore.target['l-fpmin'] == 'j' ? 'selected' : null\">J</option>\n <option value=\"k\" [attr.selected] = \"explore.target['l-fpmin'] == 'k' ? 'selected' : null\">K</option>\n <option value=\"l\" [attr.selected] = \"explore.target['l-fpmin'] == 'l' ? 'selected' : null\">L</option>\n <option value=\"m\" [attr.selected] = \"explore.target['l-fpmin'] == 'm' ? 'selected' : null\">M</option>\n <option value=\"n\" [attr.selected] = \"explore.target['l-fpmin'] == 'n' ? 'selected' : null\">N</option>\n <option value=\"o\" [attr.selected] = \"explore.target['l-fpmin'] == 'o' ? 'selected' : null\">O</option>\n <option value=\"p\" [attr.selected] = \"explore.target['l-fpmin'] == 'p' ? 'selected' : null\">P</option>\n <option value=\"q\" [attr.selected] = \"explore.target['l-fpmin'] == 'q' ? 'selected' : null\">Q</option>\n <option value=\"r\" [attr.selected] = \"explore.target['l-fpmin'] == 'r' ? 'selected' : null\">R</option>\n <option value=\"s\" [attr.selected] = \"explore.target['l-fpmin'] == 's' ? 'selected' : null\">S</option>\n <option value=\"t\" [attr.selected] = \"explore.target['l-fpmin'] == 't' ? 'selected' : null\">T</option>\n <option value=\"u\" [attr.selected] = \"explore.target['l-fpmin'] == 'u' ? 'selected' : null\">U</option>\n <option value=\"v\" [attr.selected] = \"explore.target['l-fpmin'] == 'v' ? 'selected' : null\">V</option>\n <option value=\"w\" [attr.selected] = \"explore.target['l-fpmin'] == 'w' ? 'selected' : null\">W</option>\n <option value=\"x\" [attr.selected] = \"explore.target['l-fpmin'] == 'x' ? 'selected' : null\">X</option>\n
25677 <option value=\"y\" [attr.selected] = \"explore.target['l-fpmin'] == 'y' ? 'selected' : null\">Y</option>\n <option value=\"z\" [attr.selected] = \"explore.target['l-fpmin'] == 'z' ? 'selected' : null\">Z</option>\n <option value=\"z+\"[attr.selected] = \"explore.target['l-fpmin'] == 'z+' ? 'selected' : null\">Z+</option>\n </select>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <!-- <div class=\"material-form-group\">\n <select id=\"l-fpmax\" name=\"InterestLevel\">\n <option value=\"a\" [attr.selected] = \"explore.target['l-fpmax'] == 'a' ? 'selected' : null\">A</option>\n <option value=\"b\" [attr.selected] = \"explore.target['l-fpmax'] == 'b' ? 'selected' : null\">B</option>\n <option value=\"c\" [attr.selected] = \"explore.target['l-fpmax'] == 'c' ? 'selected' : null\">C</option>\n <option value=\"d\" [attr.selected] = \"explore.target['l-fpmax'] == 'd' ? 'selected' : null\">D</option>\n <option value=\"e\" [attr.selected] = \"explore.target['l-fpmax'] == 'e' ? 'selected' : null\">E</option>\n <option value=\"f\" [attr.selected] = \"explore.target['l-fpmax'] == 'f' ? 'selected' : null\">F</option>\n <option value=\"g\" [attr.selected] = \"explore.target['l-fpmax'] == 'g' ? 'selected' : null\">G</option>\n <option value=\"h\" [attr.selected] = \"explore.target['l-fpmax'] == 'h' ? 'selected' : null\">H</option>\n <option value=\"i\" [attr.selected] = \"explore.target['l-fpmax'] == 'i' ? 'selected' : null\">I</option>\n <option value=\"j\" [attr.selected] = \"explore.target['l-fpmax'] == 'j' ? 'selected' : null\">J</option>\n <option value=\"k\" [attr.selected] = \"explore.target['l-fpmax'] == 'k' ? 'selected' : null\">K</option>\n <option value=\"l\" [attr.selected] = \"explore.target['l-fpmax'] == 'l' ? 'selected' : null\">L</option>\n <option value=\"m\" [attr.selected] = \"explore.target['l-fpmax'] == 'm' ? 'selected' : null\">M</option>\n <option value=\"n\" [attr.selected] = \"explore.target['l-fpmax'] == 'n' ? 'selected' : null\">N</option>\n <option value=\"o\" [attr.selected] = \"explore.target['l-fpmax'] == 'o' ? 'selected' : null\">O</option>\n <option value=\"p\" [attr.selected] = \"explore.target['l-fpmax'] == 'p' ? 'selected' : null\">P</option>\n <option value=\"q\" [attr.selected] = \"explore.target['l-fpmax'] == 'q' ? 'selected' : null\">Q</option>\n <option value=\"r\" [attr.selected] = \"explore.target['l-fpmax'] == 'r' ? 'selected' : null\">R</option>\n <option value=\"s\" [attr.selected] = \"explore.target['l-fpmax'] == 's' ? 'selected' : null\">S</option>\n <option value=\"t\" [attr.selected] = \"explore.target['l-fpmax'] == 't' ? 'selected' : null\">T</option>\n <option value=\"u\" [attr.selected] = \"explore.target['l-fpmax'] == 'u' ? 'selected' : null\">U</option>\n <option value=\"v\" [attr.selected] = \"explore.target['l-fpmax'] == 'v' ? 'selected' : null\">V</option>\n <option value=\"w\" [attr.selected] = \"explore.target['l-fpmax'] == 'w' ? 'selected' : null\">W</option>\n <option value=\"x\" [attr.selected] = \"explore.target['l-fpmax'] == 'x' ? 'selected' : null\">X</option>\n <option value=\"y\" [attr.selected] = \"explore.target['l-fpmax'] == 'y' ? 'selected' : null\">Y</option>\n <option value=\"z\" [attr.selected] = \"explore.target['l-fpmax'] == 'z' ? 'selected' : null\">Z</option>\n <option value=\"z+\"[attr.selected] = \"explore.target['l-fpmax'] == 'z+' ? 'selected' : null\">Z+</option>\n </select>\n <label for=\"l-fpmax\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div>\n -->\n <div class=\"form-group\">\n <label for=\"l-fpmax\" >Interest Level</label>\n <select class=\"form-control\" id=\"l-fpmax\" name=\"InterestLevel\">\n <option value=\"a\" [attr.selected] = \"explore.target['l-fpmax'] == 'a' ? 'selected' : null\">A</option>\n <option value=\"b\" [attr.selected] = \"explore.target['l-fpmax'] == 'b' ? 'selected' : null\">B</option>\n <option value=\"c\" [attr.selected] = \"explore.target['l-fpmax'] == 'c' ? 'selected' : null\">C</option>\n <option value=\"d\" [attr.selected] = \"explore.target['l-fpmax'] == 'd' ? 'selected' : null\">D</option>\n <option value=\"e\" [attr.selected] = \"explore.target['l-fpmax'] == 'e' ? 'selected' : null\">E</option>\n <option value=\"f\" [attr.selected] = \"explore.target['l-fpmax'] == 'f' ? 'selected' : null\">F</option>\n <option value=\"g\" [attr.selected] = \"explore.target['l-fpmax'] == 'g' ? 'selected' : null\">G</option>\n <option value=\"h\" [attr.selected] = \"explore.target['l-fpmax'] == 'h' ? 'selected' : null\">H</option>\n <option value=\"i\" [attr.selected] = \"explore.target['l-fpmax'] == 'i' ? 'selected' : null\">I</option>\n <option value=\"j\" [attr.selected] = \"explore.target['l-fpmax'] == 'j' ? 'selected' : null\">J</option>\n <option value=\"k\" [attr.selected] = \"explore.target['l-fpmax'] == 'k' ? 'selected' : null\">K</option>\n <option value=\"l\" [attr.selected] = \"explore.target['l-fpmax'] == 'l' ? 'selected' : null\">L</option>\n <option value=\"m\" [attr.selected] = \"explore.target['l-fpmax'] == 'm' ? 'selected' : null\">M</option>\n <option value=\"n\" [attr.selected] = \"explore.target['l-fpmax'] == 'n' ? 'selected' : null\">N</option>\n <option value=\"o\" [attr.selected] = \"explore.target['l-fpmax'] == 'o' ? 'selected' : null\">O</option>\n <option value=\"p\" [attr.selected] = \"explore.target['l-fpmax'] == 'p' ? 'selected' : null\">P</option>\n <option value=\"q\" [attr.selected] = \"explore.target['l-fpmax'] == 'q' ? 'selected' : null\">Q</option>\n <option value=\"r\" [attr.selected] = \"explore.target['l-fpmax'] == 'r' ? 'selected' : null\">R</option>\n <option value=\"s\" [attr.selected] = \"explore.target['l-fpmax'] == 's' ? 'selected' : null\">S</option>\n <option value=\"t\" [attr.selected] = \"explore.target['l-fpmax'] == 't' ? 'selected' : null\">T</option>\n <option value=\"u\" [attr.selected] = \"explore.target['l-fpmax'] == 'u' ? 'selected' : null\">U</option>\n <option value=\"v\" [attr.selected] = \"explore.target['l-fpmax'] == 'v' ? 'selected' : null\">V</option>\n <option value=\"w\" [attr.selected] = \"explore.target['l-fpmax'] == 'w' ? 'selected' : null\">W</option>\n <option value=\"x\" [attr.selected] = \"explore.target['l-fpmax'] == 'x' ? 'selected' : null\">X</option>\n <option value=\"y\" [attr.selected] = \"explore.target['l-fpmax'] == 'y' ? 'selected' : null\">Y</option>\n <option value=\"z\" [attr.selected] = \"explore.target['l-fpmax'] == 'z' ? 'selected' : null\">Z</option>\n <option value=\"z+\"[attr.selected] = \"explore.target['l-fpmax'] == 'z+' ? 'selected' : null\">Z+</option>\n \n </select>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.rc\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitReading\" [attr.checked]=\"explore.target['l-rcmin'] || explore.target['l-rcmax'] || explore.target['l-rcminpt'] || explore.target['l-rcmaxpt']\"/><i class=\"material-helper\"></i>Reading Count\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit\" [ngClass]=\"{ 'hide': !explore.target['l-rcmin'] || !explore.target['l-rcmax'] || !explore.target['l-rcminpt'] || !explore.target['l-rcmaxpt']}\">\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"ReadingCounts\">\n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMin')\" id=\"readingcountsLevelMin\" type=\"number\" name=\"l-rcmin\" (keyup) = \"advanceSearch($event)\" step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" ismin=\"true\" group=\"readingcountsLevel\" value=\"{{explore.target['l-rcmin']}}\">\n <label for=\"readingcountsLevelMin\" class=\"material-control-label\">Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','LevelMax')\" id=\"readingcountsLevelMax\" type=\"number\" name=\"l-rcmax\" (keyup) = \"advanceSearch($event)\" value=\"{{explore.target['l-rcmax']}}\" \n step=\"0.1\" max=\"15\" min=\"0.1\" required=\"true\" group=\"readingcountsLevel\">\n <label for=\"readingcountsLevelMax\" class=\"material-control-label\">Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMin')\" id=\"readingcountsPointMin\" type=\"number\" name=\"l-rcminpt\" (keyup) = \"advanceSearch($event)\" value=\"{{explore.target['l-rcminpt']}}\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" ismin=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-3\">\n <div class=\"material-form-group\"> \n <input (blur) =\"validateSearch($event, 'ReadingCounts','PointMax')\" id=\"readingcountsPointMax\" type=\"number\" name=\"l-rcmaxpt\" (keyup) = \"advanceSearch($event)\" value=\"{{explore.target['l-rcmaxpt']}}\" step=\"0.5\" max=\"120\" min=\"0.5\" required=\"true\" group=\"readingcountsPoint\">\n <label for=\"input\" class=\"material-control-label\">Point Max</label><i class=\"material-bar\"></i>\n </div>\n </div> \n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.ar\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" name=\"limitAccelerated\" [attr.checked]=\"explore.target['l-armin'] || explore.target['l-armax'] || explore.target['l-arminpt'] || explore.target['l-armaxpt'] || explore.target['l-arint']\"/><i class=\"material-helper\"></i>Accelerated Reader\n </label>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row childLimit\" [ngClass]=\"{ 'hide': !explore.target['l-armin'] || !explore.target['l-armax'] || !explore.target['l-arminpt'] || !explore.target['l-armaxpt'] || !explore.target['l-arint']}\">\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"hidden\" class=\"searchType\" value=\"AcceleratedReader\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderLevelMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMin')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMin\" name=\"l-armin\" ismin=\"true\" value=\"{{explore.target['l-armin']}}\"/>\n <label for=\"AcceleratedReaderLevelMin\" class=\"material-control-label\">Reading Level Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" (blur) =\"validateSearch($event, 'AcceleratedReader','LevelMax')\" group=\"AcceleratedReaderLevel\" min=\"0.1\" max=\"15\" step=\"0.1\" id=\"AcceleratedReaderLevelMax\" name=\"l-armax\" value=\"{{explore.target['l-armax']}}\" />\n <label for=\"AcceleratedReaderLevelMax\" class=\"material-control-label\">Reading Level Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMin\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" ismin=\"true\" name=\"l-arminpt\" value=\"{{explore.target['l-arminpt']}}\"/>\n <label for=\"AcceleratedReaderPointsMin\" class=\"material-control-label\">Points Min</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-3 col-md-6\">\n <div class=\"material-form-group\">\n <input type=\"number\" required=\"required\" (keyup) = \"advanceSearch($event)\" id=\"AcceleratedReaderPointsMax\" (blur) =\"validateSearch($event, 'AcceleratedReader','pointMin')\" group=\"AcceleratedReaderPoints\" min=\"0.5\" max=\"120\" step=\"0.5\" name=\"l-armaxpt\" value=\"{{explore.target['l-armaxpt']}}\"/>\n <label for=\"AcceleratedReaderPointsMax\" class=\"material-control-label\">Points Max</label><i class=\"material-bar\"></i>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-12\">\n <!-- <div class=\"material-form-group\">\n <select id=\"AcceleratedReaderInterestLevel\" name=\"l-arint\">\n <option value=\"\" [attr.selected] = \"explore.target['l-arint'] == '' ? 'selected' : null\">All</option>\n <option value=\"LG\" [attr.selected] = \"explore.target['l-arint'] == 'LG' ? 'selected' : null\">Lower Grades</option>\n <option value=\"MG\" [attr.selected] = \"explore.target['l-arint'] == 'MG' ? 'selected' : null\">Middle Grades</option>\n <option value=\"UG\" [attr.selected] = \"explore.target['l-arint'] == 'UG' ? 'selected' : null\">Upper Grades</option>\n
25677 <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option>\n </select>\n <label for=\"AcceleratedReaderInterestLevel\" class=\"material-control-label\">Interest Level</label><i class=\"material-bar\"></i>\n </div> -->\n\n <div class=\"form-group\">\n <label for=\"AcceleratedReaderInterestLevel\" >Interest Level</label>\n <select class=\"form-control\" id=\"AcceleratedReaderInterestLevel\" name=\"l-arint\">\n <option value=\"\" [attr.selected] = \"explore.target['l-arint'] == '' ? 'selected' : null\">All</option>\n <option value=\"LG\" [attr.selected] = \"explore.target['l-arint'] == 'LG' ? 'selected' : null\">Lower Grades</option>\n <option value=\"MG\" [attr.selected] = \"explore.target['l-arint'] == 'MG' ? 'selected' : null\">Middle Grades</option>\n <option value=\"UG\" [attr.selected] = \"explore.target['l-arint'] == 'UG' ? 'selected' : null\">Upper Grades</option>\n <!-- <option *ngFor=\"let serachType of searchSetting.data.settings.pickLists.categories\" value=\"{{ serachType.id }}\">{{ serachType.caption }}</option> -->\n </select>\n </div>\n\n </div>\n </div>\n </div>\n <div class=\"col-md-12 parentLimit\" *ngIf=\"limitToArray.homeLocation\">\n <div class=\"material-checkbox\">\n <label>\n <input type=\"checkbox\" class=\"checkLimit\" [attr.checked]=\"explore.target[l-home] == 'true' ? 'checked':null\"/><i class=\"material-helper\"></i>Home Location Only\n </label>\n </div>\n </div>\n </div>\n </div>\n <div class=\"nav-pills-changeGraphic collapse\" id=\"collapseExample\">\n <ul class=\"nav nav-pills mb-3\" id=\"pills-tab\" role=\"tablist\">\n <li class=\"nav-item\">\n <a class=\"nav-link active\" id=\"pills-StyleA-tab\" data-toggle=\"pill\" href=\"#pills-StyleA\" role=\"tab\" aria-controls=\"pills-StyleA\" aria-selected=\"true\">Style A</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-StyleB-tab\" data-toggle=\"pill\" href=\"#pills-StyleB\" role=\"tab\" aria-controls=\"pills-StyleB\" aria-selected=\"false\">Style B</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-StyleC-tab\" data-toggle=\"pill\" href=\"#pills-StyleC\" role=\"tab\" aria-controls=\"pills-StyleC\" aria-selected=\"false\">Style C</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" id=\"pills-CustomMiscellaneous-tab\" data-toggle=\"pill\" href=\"#pills-CustomMiscellaneous\" role=\"tab\" aria-controls=\"pills-CustomMiscellaneous\" aria-selected=\"false\">Custom & Miscellaneous</a>\n </li>\n </ul>\n <div class=\"tab-content\" id=\"pills-tabContent\">\n <div class=\"tab-pane fade show active\" id=\"pills-StyleA\" role=\"tabpanel\" aria-labelledby=\"pills-StyleA-tab\">\n <div class=\"loader-inner-container\" *ngIf=\"responseStyleStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <ul class=\"list-inline list-style-images\" *ngIf=\"!responseStyleStatus\">\n <li (click) = \"selectStyleImage($event)\" imgsrc= \"default.gif\" >\n <img src=\"assets/images/explore/default.gif\" alt=\"graphic-image\">\n </li>\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"a_{{ styleImg | slice:2 }}\" >\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/a_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-StyleB\" role=\"tabpanel\" aria-labelledby=\"pills-StyleB-tab\">\n <ul class=\"list-inline list-style-images\">\n <li (click) = \"selectStyleImage($event)\" imgsrc= \"default.gif\" >\n <img src=\"assets/images/explore/default.gif\" alt=\"graphic-image\">\n </li>\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"b_{{ styleImg | slice:2 }}\">\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/b_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-StyleC\" role=\"tabpanel\" aria-labelledby=\"pills-StyleC-tab\">\n <ul class=\"list-inline list-style-images\">\n <li (click) = \"selectStyleImage($event)\" imgsrc= \"default.gif\" >\n <img src=\"assets/images/explore/default.gif\" alt=\"graphic-image\">\n </li>\n <li *ngFor=\"let styleImg of styleImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"c_{{ styleImg | slice:2 }}\">\n <img *ngIf=\"styleImg.indexOf('a_') >= 0\" src=\"assets/images/explore/c_{{ styleImg | slice:2 }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n <div class=\"tab-pane fade\" id=\"pills-CustomMiscellaneous\" role=\"tabpanel\" aria-labelledby=\"pills-CustomMiscellaneous-tab\">\n <ul class=\"list-inline list-style-images\">\n <li (click) = \"selectStyleImage($event)\" attr.imgsrc= \"default.gif\" >\n <img src=\"assets/images/explore/default.gif\" alt=\"graphic-image\">\n </li>\n <li *ngFor=\"let styleImg of styleCustomImages\" (click) = \"selectStyleImage($event)\" attr.imgsrc= \"{{ styleImg }}\">\n <img src=\"{{ styleImg }}\" alt=\"graphic-image\">\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" [ngClass] =\"updateExplore? 'show' : 'hide'\" style=\"margin-top:10px;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"btn btn-primary pl-4 pr-4 mt-3\" name=\"submit\" type=\"submit\" value=\"Save\" (click) = \"editEploreButton($event)\" >\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>
25677 \n </div>\n</div>\n</section> \n<section class=\"manage-ui-block Explore\" *ngIf=\"userCanEdit\">\n <div class=\"EditModeButtonMain\">\n <button [ngClass]=\"editMode? 'edit' :''\" class=\"rotating-btn-main explore\" id=\"editModeButton\" href=\"#\" (click) = \"editModeToggle($event)\">\n <div class=\"btn-icon\">\n <div class=\"rotating fas fa-cog\"></div>\n <i class=\"fas fa-check\"></i>\n </div>\n <span *ngIf=\"!editMode\">Edit Explore Page</span>\n <span *ngIf=\"editMode\">Finished Editing</span>\n </button> \n </div>\n</section>\n<div class=\"modal fade\" id=\"delete-button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to delete this button?</h5>\n </div>\n <div class=\"modal-body\"> \n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"deleteButton($event)\">\n <input id=\"cancelholdsClose\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n</div>\n</main>\n<app-footer></app-footer>\n"); 25678 25679/***/ }), 25680 25681/***/ 57845: 25682/*!******************************************************************************************************************************!*\ 25683 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/forgot/forgot.component.html ***! 25684 \******************************************************************************************************************************/ 25685/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25686 25687"use strict"; 25688__webpack_require__.r(__webpack_exports__); 25689/* harmony default export */ __webpack_exports__["default"] = ("<main>\n<div class=\"sa-reset-password-area\" id=\"reset-password\">\n\t<div class=\"row justify-content-md-center\">\n\t\t<div class=\"col-md-6 col-lg-4\">\n\t\t\t<div class=\"errorsContainer\"></div>\n\t\t\t<div class=\"form-group\">\n\t\t\t \t<span class=\"input-icon\"><i class=\"fas fa-lock\"></i></span>\n\t\t\t\t<input name=\"new-password\" type=\"password\" class=\"form-control\" placeholder=\"New Password\" id=\"newpassword\" (keyup)=\"changeSubmit($event)\">\n\t\t\t</div>\n\t\t\t<div class=\"form-group\">\n\t\t\t \t<span class=\"input-icon\"><i class=\"fas fa-lock\"></i></span>\n\t\t\t\t<input name=\"new-comformpassword\" type=\"password\" class=\"form-control\" placeholder=\"Comfirm Password\" id=\"new-comformpassword\" (keyup)=\"changeSubmit($event)\">\n\t\t\t</div>\n\t\t\t<ul class=\"p-0 small\" id=\"loginErrorPass\" style=\"list-style-type:none;\"></ul>\n\t\t\t<div class=\"login-dot-container\">\n\t\t \t<div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"loading\">\n\t\t\t <div class=\"loader-inner\">\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t </div>\n\t\t \t</div>\n\t\t \t<input class=\"submit-btn\" type=\"button\" value=\"Submit\" disabled (click)=\"resetPassword()\">\n\t\t <div></div>\n\t\t </div>\n\t\t</div>\n\t</div>\n</div>\n</main>\n<app-footer></app-footer>"); 25690 25691/***/ }), 25692 25693/***/ 25048: 25694/*!**********************************************************************************************************************************!*\ 25695 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/id-cards/id-cards.component.html ***! 25696 \**********************************************************************************************************************************/ 25697/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25698 25699"use strict"; 25700__webpack_require__.r(__webpack_exports__); 25701/* harmony default export */ __webpack_exports__["default"] = ("\n<div class=\"card\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" style=\"background-color: transparent; background-clip: unset; border: none;\">\n <div class=\"modal-body\" style=\"background: transparent;\">\n <div class=\"lib-card \">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"loading\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div class=\"id-card box-shadow\" *ngIf=\"!loading\">\n <div>\n <h6 class=\"textalign lib-name\">{{ gloalSetting.data.settings.appearance.banner.main.line2 }}</h6>\n </div>\n <div class=\"id-card-inner\">\n <div class=\"w-100\">\n <div *ngIf=libraryCard.profilePicture>\n <img src={{libraryCard.profilePicture}} class=\"profile-image\" alt=\"img\">\n </div>\n <div *ngIf=!libraryCard.profilePicture>\n <img src=\"assets/images/blank-profile-picture.png\" class=\"profile-image\" alt=\"img\">\n </div>\n <div class=\"textalign \">\n <h4 *ngIf=libraryCard.firstName>{{libraryCard.firstName}} {{libraryCard.lastName}}</h4>
25701\n <span>{{libraryCard.number}}</span>\n </div>\n <div class=\"textalign barcode-main\">\n <ngx-barcode [bc-value]=libraryCard.barcode [bc-display-value]=\"false\" [bc-width]=\"1.5\"\n [bc-height]=\"80\"></ngx-barcode>\n </div>\n <div class=\"textalign\">\n <span>{{libraryCard.patronType}}</span>\n </div>\n <div class=\"textalign\">\n <span>{{libraryCard.localAddress}}</span>\n </div>\n <div *ngIf=\"libraryCard.expires != null\" class=\"textalign\">\n <span>Expires</span>\n <h5 class=\"dueDate\">{{ libraryCard.expires | date: dateFormat }}</h5>\n </div>\n <div class=\"textalign\" *ngIf=\"mobileOS == 'Android' && walletLink && gloalSetting.data.settings.patron.libraryCard?.enabled && gloalSetting?.data?.settings?.patron?.libraryCard?.enabledGoogleWallet\">\n <a href=\"{{walletLink}}\" class=\"wallet-button\">\n <img src=\"{{isNewPass ? '/assets/images/wallet-button.png': '/assets/images/view-wallet-button.png'}}\" alt=\"wallet-button\" />\n </a>\n </div>\n <div class=\"textalign\" *ngIf=\"mobileOS == 'iOS' && gloalSetting.data.settings.patron.libraryCard?.enabled && gloalSetting?.data?.settings?.patron?.libraryCard?.enabledAppleWallet\">\n <a (click)=\"getAppleWalletLink()\" >\n <img src=\"{{'/assets/images/apple-wallet.svg'}}\" alt=\"wallet-button\" />\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-footer></app-footer>\n"); 25702 25703/***/ }), 25704 25705/***/ 34842: 25706/*!********************************************************************************************************************************************!*\ 25707 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/libarary-news/libarary-news.component.html ***! 25708 \********************************************************************************************************************************************/ 25709/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25710 25711"use strict"; 25712__webpack_require__.r(__webpack_exports__); 25713/* harmony default export */ __webpack_exports__["default"] = ("<main>\n<section class=\"widgets bread-crumbs\">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Library News</li>\n </ul>\n </div>\n</section>\n<div class=\"loader-inner\" *ngIf=\"!isResponsePage\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n</div>\n<section class=\"widgets\">\n <div *ngIf=\"!bulletinlist[0] && !reviews.reviews && !eventsList.closedDaysOfWeek && isResponsePage\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> There are no news to show here.</p>\n </span>\n </div>\n</section>\n <section class=\"widgets\" *ngIf=\"(bulletinlist[0] || isAdmin) && isResponsePage\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\" *ngIf=\"bulletinlist[0] || isAdmin\">\n <div class=\"two-clum-block\">\n <h3 class=\"text-heading text-left\">Bulletins</h3>\n <ul class=\"two-clum-list\" *ngIf=\"bulletinlist[0]\">\n <li *ngFor=\"let item of bulletinlist; let i = index\">\n <a class=\"text-widgets-list\" routerLink=\"/bulletin/{{ item.id }}\">\n <h4 *ngIf=\"item.caption\">{{item.caption}}</h4>\n </a>\n </li> \n </ul>\n <div class=\"text-right\"> <a routerLink=\"/bulletins\" class=\"btn btn-primary\">All bulletins <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n </div>\n </section>\n\n\n<!-- Recent-Reviews -->\n<section class=\"widgets recent-reviews\" *ngIf=\"reviews.reviews && isResponsePage\">\n <div class=\"container-fluid \">\n <h1 class=\"page-heading text-center \">Recent Reviews</h1>\n <div class=\"row mb-2\">\n \n <div class=\"col-xl-4 col-lg-6 col-md-12\" *ngFor=\"let review of reviews.reviews\">\n <div class=\"book-block item\">\n <div class=\"book-cover\">\n <!-- <img attr.custom=\"{{ review.reviewId }}{{ review.resourceId }}\" *ngIf=\"review.images[0]\" class=\"img-fluid\" src=\"{{ review.images[0].url }}\" alt=\"{{ review.category.iconName }}\" (error)=\"imageError(review.reviewId +''+ review.resourceId, review.images)\" name=\"{{ review.category.iconColor }}\" (load) = \"imageLoad(review.reviewId +''+ review.resourceId,review.images)\" > -->\n <app-lazyloadimage *ngIf=\"review.images[0]\" [defaultImage]=\"review.images[0].url\" [images]=\"review.images\" [category]=\"review.category\"></app-lazyloadimage>
25713\n <span class=\"Placeholders {{ review.category.iconColor }}\" *ngIf=\"!review.images[0]\">\n <i class=\"material-icons md-48\">{{ review.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ review.title }}</h3>\n <span class=\"star-rating\" *ngIf=\"review.stars\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[review.stars]\" ></star-rating> \n </span>\n <p class=\"book-text mb-0\">{{ review.firstParagraph }}</p>\n <div class=\"book-bottom-info\"><span>{{ review.author }}</span><span class=\"pull-right\">{{ review.reviewer }}</span></div>\n </div>\n <a [routerLink]=\"['/review/',review.reviewId]\" class=\"booklink\"></a>\n </div>\n </div>\n</div>\n <div class=\"text-center\"> <a [routerLink] = \"['/searchreview']\" class=\"btn btn-primary btn-md\">Find more reviews <i class=\"far fa-arrow-alt-circle-right\"></i></a> </div>\n </div>\n</section>\n<div class=\"CA\">\n<section class=\"widgets library-calendar\" *ngIf=\"eventsList.closedDaysOfWeek && isResponsePage\">\n <div class=\"container \">\n <h2 class=\"page-heading text-center\">Library Calendar </h2>\n <div class=\"calendar\">\n <div class=\"row\">\n <div class=\"col-lg-8 col-md-8 col-sm-12 col-12\">\n <div class=\"calendar-block\">\n <div *ngIf=\"calendarOptions\">\n <ng-fullcalendar #ucCalendar [options]=\"calendarOptions\" (eventClick)=\"eventClick($event.detail)\" (dayRender) = \"dayRender($event)\" (eventDrop)=\"updateEvent($event.detail)\" (eventResize)=\"updateEvent($event.detail)\" (clickButton)=\"clickButton($event.detail)\" ></ng-fullcalendar>\n </div> \n </div>\n </div>\n <div class=\"col-lg-4 col-md-4 col-sm-12 col-12\">\n <div class=\"event-list\">\n <h1 class=\"block-heading text-center pt-3\">Events this Month</h1>\n <ul class=\"event-notes\" *ngIf=\"isResponse\">\n <li *ngFor=\"let item of eventsList.events; let i = index\" [ngClass]=\"item.closed == true? '': 'eventopen'\" (click)=\"showDetails(item.description, item.name, item.date, item.endDate, item.bulletinId)\" href=\"#calendarDetail\" role=\"button\" data-toggle=\"modal\">\n <div class=\"eventList\">\n <span class=\"title\" >{{ item.name }} </span>\n <!--span class=\"title\" *ngIf=\"item.bulletinId !== null\"><a href=\"{{ item.bulletinId }}\">{{ item.name }}</a> </span-->\n <span class=\"pull-right\" *ngIf=\"item.date != item.endDate\"> - {{ item.endDate | date: dateFormat }} </span>\n <span class=\"pull-right\">{{ item.date | date: dateFormat }} </span>\n </div>\n </li>\n <li *ngIf=\"!eventsEnableList[0]\" class=\"note\">There are no events scheduled for this month.</li>\n </ul>\n\n <div class=\"loader-inner\" *ngIf=\"!isResponse\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"row mt-4\" *ngIf=\"messageInfo\">\n <div class=\"col-lg-12 col-md-12 col-sm-12 col-12\">\n <div class=\"library-note\" >\n {{ messageInfo }}\n </div>\n </div>\n </div>\n </div>\n <!--event details-->\n<div class=\"modal fade\" id=\"calendarDetail\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" >\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Event Details</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group mB0\">\n <label>Title</label>\n <p>{{eventTitle}} <span *ngIf=\"eventEndDate != eventDate\" class=\"pull-right\"> - {{eventEndDate | date: dateFormat }}</span><span class=\"pull-right\">{{eventDate | date: dateFormat }}</span></p>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventDescription\">\n <label>Description</label>\n <p [innerHTML]=\"eventDescription\"></p>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventLink != null \">\n <label>Link</label>\n <p><a data-dismiss=\"modal\" aria-label=\"Close\" [routerLink]=\"['/bulletin/',eventLink]\">{{locationName}}/bulletin/{{ eventLink }}</a></p>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button class=\"btn btn-primary pull-right\" data-dismiss=\"modal\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n </div>\n</div>\n<!-- Pop up for detail of events -->\n <div class=\"modal fade\" id=\"link-copy-modal\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" [ngClass]=\"showDetail
25713sCalendar ? 'in show': '' \">\n <div class=\"modal-dialog modal-md\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Event Details</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\" [ngClass]=\"eventForDetails.length == 1 ? 'mB0':''\">\n <label>Title</label>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <select *ngIf=\"eventForDetails.length > 1\" type=\"text\" class=\"form-control\" (change)=\"currentEvent($event)\">\n <option *ngFor=\"let event of eventForDetails; let i = index;\" value=\"{{i}}\">{{event.name}}</option>\n </select>\n <p *ngIf=\"eventForDetails.length == 1\">{{eventForDetails[0].name}}</p>\n </div>\n <div class=\"col-md-6\"><p><span class=\"pull-right\" *ngIf=\"eventForDetails.length > 0 && eventForDetails[0].endDate != eventForDetails[0].date\"> - {{eventForDetails[0].endDate | date: dateFormat }}</span><span class=\"pull-right\" *ngIf=\"eventForDetails.length > 0\">{{eventForDetails[0].date | date: dateFormat }}</span></p></div>\n </div>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventDescription\">\n <label>Description</label>\n <p [innerHTML]=\"eventDescription\"></p>\n </div>\n <div class=\"form-group mB0\" *ngIf=\"eventLink != null \">\n <label>Link</label>\n <p><a data-dismiss=\"modal\" aria-label=\"Close\" [routerLink]=\"['/bulletin/',eventLink]\">{{locationName}}/bulletin/{{ eventLink }}</a></p>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button id=\"link-copy-modal-close\" class=\"btn btn-primary mr-2 pull-right\" data-dismiss=\"modal\" type=\"button\" (click)=\"hideDetailsCalendar()\">Close</button>\n </div>\n </div>\n </div>\n </div>\n<!-- event details -->\n</section>\n</div>\n\n </main>\n<app-footer></app-footer>"); 25714 25715/***/ }), 25716 25717/***/ 4169: 25718/*!******************************************************************************************************************************************!*\ 25719 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/list-summary/list-summary.component.html ***! 25720 \******************************************************************************************************************************************/ 25721/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25722 25723"use strict"; 25724__webpack_require__.r(__webpack_exports__); 25725/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <h2 class=\"caption\">{{ caption }}</h2>\n <h4 class=\"libraryname\">{{ libraryname }}</h4>\n <div class=\"list-view\">\n <div class=\"book-box\" *ngFor=\"let resources of listData; let i = index;\">\n <div class=\"book-image\"> \n <a class=\"book-box-head\"> \n <span *ngFor=\"let imgase of resources.images; let last = first\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" alt=\"image\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,imgase.url)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\"/> \n </span> \n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\"><a class=\"book-box-head\">{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.summary }}</p> \n </div>\n </div> \n </div>\n</main>"); 25726 25727/***/ }), 25728 25729/***/ 55274: 25730/*!********************************************************************************************************************************************!*\ 25731 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/newinlibarary/newinlibarary.component.html ***! 25732 \********************************************************************************************************************************************/ 25733/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25734 25735"use strict"; 25736__webpack_require__.r(__webpack_exports__); 25737/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\" >\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>New In Library</li>\n </ul>\n <div class=\"right-btn-bread opac-dropdownBar export-options\" *ngIf=\"!responseAPIstatus\">\n <div class=\"printContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.print\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'print')\"><i class=\"fas fa-print\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li (click) =\"exportList($event,NewInlibarary.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.email && isPatronLogin && patronEmail != '' \" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event, 'email')\"><i class=\"fas fa-envelope\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li *ngFor=\"let exportOption of exportEmailOptions\" href=\"#emailConfirm\" role=\"button\" class=\"dropdown-item\" data-toggle=\"modal\" (click) =\"openDailog(exportOption.key)\">{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.file\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'download')\"><i class=\"fas fa-download\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportDownloadOptions.length > 0\">\n <li (click) =\"exportList($event,NewInlibarary.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportDownloadOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"viewprintstatus\" style=\"padding:0px\">\n <div class=\"loader-inner\" style=\"right: 0px; left:inherit;top: 20px;\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <!-- Narrow Results & Search Results -->\n <section class=\"widgets narrow&Search-Results\" *ngIf=\"!responseAPIstatus\">\n <div class=\"container-fluid\">\n <div class=\"row\">
25737\n <div class=\"col-xl-3 col-lg-4 col-md-4 col-sm-12 col-12 narrow-results-main\" *ngIf=\"narrowFilters[0]\">\n <h2 class=\"\" (click) = \"updateMobileToggle($event)\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\" >Narrow Results <i class=\"fas fa-caret-up\"></i><i class=\"fas fa-caret-down\"></i><i class=\"fas fa-filter\"></i></h2>\n <div id=\"accordion\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\">\n <div *ngFor=\"let serachData of facetsInformation; let i = index\">\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption !='Subject' && serachData.caption !='Series'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" (click) = \"narrowSearch($event, NewInlibarary.data.cacheKey, facetsVal.id)\"><a> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a></span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Subject'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, NewInlibarary.data.cacheKey, facetsVal.id)\"><a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a></span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Series'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, NewInlibarary.data.cacheKey, facetsVal.id)\" [ngClass] = \"innerIdx <= 9? '' : 'hide'\"><a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a></span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 col-12 search-results-main\" [ngClass]=\"[narrowFilters[0]? 'col-xl-9 col-lg-8 col-md-8' : 'col-xl-12 col-lg-12 col-md-12']\">\n <div class=\"search-sesults-top-head\">\n <p class=\"found-items\">Found: <span>{{ NewInlibarary.data.totalCount }} items</span></p>\n <p class=\"sort-by\"> Sort by:\n <span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author',false, NewInlibarary.data.cacheKey,0)\">Author</span>\n <span [ngClass]=\"[sortWith == 'call' ? 'active' : '']\" (click)=\"getListSort('call',false, NewInlibarary.data.cacheKey,0 )\">Call</span>
25737\n <span [ngClass]=\"[sortWith == 'date' ? 'active' : '']\" (click)=\"getListSort('date',true, NewInlibarary.data.cacheKey,0 )\">Newest</span>\n <span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title',false, NewInlibarary.data.cacheKey,0 )\">Title</span>\n <span [ngClass]=\"[sortWith == 'category' ? 'active' : '']\" (click)=\"getListSort('category',false, NewInlibarary.data.cacheKey,0)\">Type</span>\n </p>\n <div class=\"view-btn\">\n <span>\n <span (click)=\"changeView('compact')\" [ngClass]=\"listView == 'compact' ? 'thumbnail-btn':''\"><i class=\"fas fa-list\"></i></span>\n <span (click)=\"changeView('true')\" [ngClass]=\"listView == 'true' ? 'thumbnail-btn':''\" ><i class=\"fas fa-th-list\"></i></span>\n <span (click)=\"changeView('false')\" [ngClass]=\"listView == 'false' ? 'thumbnail-btn':''\"><i class=\"fas fa-th\"></i></span>\n </span>\n </div>\n </div>\n <div class=\"selectedNorrow\">\n <span *ngFor=\"let selectedNorrow of facetsInformation\" class=\"selectedTop\" >\n <span *ngFor=\"let selectedfct of selectedNorrow.values\">\n <span *ngIf=\"selectedNorrow.selectedId == selectedfct.id\" class=\"selectedMain\">\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxl'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxg'\" >Lexile Grade </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxc'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'arl' || selectedNorrow.key == 'ari'\" >AR </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'rcl'\" >RC</div>\n {{ selectedfct.value }}\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'ser'\" > Series</div>\n <span (click) = \"removeNorrow(NewInlibarary.data.cacheKey,selectedfct.id)\"><i class=\"fas fa-times\"></i></span>\n </span>\n </span>\n </span>\n </div>\n <div class=\"viewContainer\" infiniteScroll [infiniteScrollDistance]=\"50\" [infiniteScrollThrottle]=\"100\" (scrolled)=\"lazyLoading(NewInlibarary.data.cacheKey,currentOffset,listSize)\" [scrollWindow]=\"true\" style=\"height: auto;overflow-y: unset;\">\n <div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div>\n <div class=\"list-view compact-list\" *ngIf=\"listView == 'compact' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of NewInlibarary.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'s'\"></app-lazyloadimage>
25737\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\" ><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25737\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"list-view\" *ngIf=\"listView == 'true' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of NewInlibarary.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'m'\"></app-lazyloadimage>
25737\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\" ><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25737\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"list-summary\" *ngIf=\"listView =='summary' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of NewInlibarary.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\"></app-lazyloadimage>
25737\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"author\">{{ resources.summary }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating-comp [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating-comp>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\" ><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25737\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ng-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ng-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n \n\n <div class=\"thumbnail-view\" *ngIf=\"listView == 'false' && !viewRefresh\">\n <div class=\"row\" [ngClass]=\"[narrowFilters[0]? '' : ' smallIcons']\">\n <div [ngClass]=\"[narrowFilters[0]? 'col-xl-3
25737col-lg-4' : 'col-xl-2 col-lg-3']\" class=\"col-md-6 col-sm-6 col-12\" *ngFor=\"let resources of NewInlibarary.data.resources; let i = index;\">\n <div class=\"book-display item book-thumnail\">\n <div class=\"book-info-inner-main\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load)=\"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'l'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"!resources.images[0]\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info-inner\">\n <div class=\"book-info-inner2\">\n <a [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\">\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n </a>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"book-info mt-3\">\n <a href=\"\" class=\"book-thumnail-title\" [routerLink]=\"['/resources/detail/',NewInlibarary.data.cacheKey,resources.listItemId]\" [queryParams]=\"{facets: facets.join()}\"> {{ resources.title }} <br/>{{ resources.author }}</a>
25737\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n </div>\n </div>\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pagePaginations\" *ngIf=\"!infiniteScroll\">\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination justify-content-end\">\n <li class=\"page-item\" *ngIf=\"currentOffset >= listSize\"><a class=\"page-link\" (click) = \"getListSort(null,null,NewInlibarary.data.cacheKey, (currentOffset - listSize))\">Previous </a></li>\n <li class=\"page-item disabled\" *ngIf=\"currentOffset < listSize\"><span class=\"page-link\">Previous </span></li>\n <li class=\"page-item\" *ngFor=\"let page of pagesCount;
25737 let currentElementIndex=index\">\n <a *ngIf=\"currentOffset != (currentElementIndex * listSize) \" class=\"page-link\" (click) = \"getListSort(null,null,NewInlibarary.data.cacheKey, (currentElementIndex * listSize) )\" >{{ currentElementIndex + 1 }}</a>\n <a *ngIf=\"currentOffset == (currentElementIndex * listSize) \" class=\"page-link disabled\">{{ currentElementIndex + 1 }}</a>\n </li>\n <li *ngIf=\"currentOffset < (NewInlibarary.data.totalCount - listSize)\" class=\"page-item\"><a class=\"page-link\" (click) = \"getListSort(null,null,NewInlibarary.data.cacheKey, (currentOffset + listSize) )\">Next</a></li>\n <li *ngIf=\"currentOffset >= (NewInlibarary.data.totalCount - listSize)\" class=\"page-item disabled\"><span class=\"page-link\">Next</span></li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n</main>\n<!-- Confirm Mail sned -->\n<div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"emailConfirm\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Are you sure?</h4>\n </div>\n <div class=\"modal-body\">\n <p>Do you want to email this list to your email address {{patronEmail}}?</p>\n <input type=\"hidden\" id=\"emailType\" value=\"\">\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\" sendingMail ? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button id=\"closeEmailModal\" class=\"btn btn-danger\" type=\"button\" data-dismiss=\"modal\">No</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click) =\"exportListEmail($event,NewInlibarary.data.cacheKey)\">Yes</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- Confirm Mail sned -->\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>"); 25738 25739/***/ }), 25740 25741/***/ 79650: 25742/*!******************************************************************************************************************************************!*\ 25743 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/popular-list/popular-list.component.html ***! 25744 \******************************************************************************************************************************************/ 25745/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25746 25747"use strict"; 25748__webpack_require__.r(__webpack_exports__); 25749/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\" >\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Popular Titles</li>\n </ul>\n <div class=\"right-btn-bread opac-dropdownBar export-options\" *ngIf=\"!responseAPIstatus\">\n <div class=\"printContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.print\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'print')\"><i class=\"fas fa-print\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li (click) =\"exportList($event,bulletinlist.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.email && isPatronLogin && patronEmail != '' \" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event, 'email')\"><i class=\"fas fa-envelope\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li *ngFor=\"let exportOption of exportEmailOptions\" href=\"#emailConfirm\" role=\"button\" class=\"dropdown-item\" data-toggle=\"modal\" (click) =\"openDailog(exportOption.key)\">{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.file\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'download')\"><i class=\"fas fa-download\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportDownloadOptions.length > 0\">\n <li (click) =\"exportList($event,bulletinlist.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportDownloadOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"viewprintstatus\" style=\"padding:0px\">\n <div class=\"loader-inner\" style=\"right: 0px; left:inherit;top: 20px;\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <section class=\"widgets narrow&Search-Results\" *ngIf=\"!responseAPIstatus\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">
25749\n <div class=\"col-xl-3 col-lg-4 col-md-4 col-sm-12 col-12 narrow-results-main\" *ngIf=\"narrowFilters[0]\">\n <h2 class=\"\" (click) = \"updateMobileToggle($event)\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\" >Narrow Results <i class=\"fas fa-caret-up\"></i><i class=\"fas fa-caret-down\"></i><i class=\"fas fa-filter\"></i> </h2>\n <div id=\"accordion\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\">\n <div *ngFor=\"let serachData of facetsInformation; let i = index\">\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption !='Subject' && serachData.caption !='Series'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\"><a><strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a></span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Subject'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Series'\" >\n <div class = 'card-header'>\n <h5 class=\"mb-0\">{{ serachData.caption }}</h5>\n </div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\" [ngClass] = \"innerIdx <= 9? '' : 'hide'\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 col-12 search-results-main\" [ngClass]=\"[narrowFilters[0]? 'col-xl-9 col-lg-8 col-md-8' : 'col-xl-12 col-lg-12 col-md-12']\">\n <div class=\"search-sesults-top-head\">\n <p class=\"found-items\">Found: <span>{{ bulletinlist.data.totalCount }} items</span></p>\n <p class=\"sort-by\"> Sort by:\n <span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author',false, bulletinlist.data.cacheKey,0)\">Author</span>
25749\n <span [ngClass]=\"[sortWith == 'call' ? 'active' : '']\" (click)=\"getListSort('call',false, bulletinlist.data.cacheKey,0 )\">Call</span>\n <span [ngClass]=\"[sortWith == 'date' ? 'active' : '']\" (click)=\"getListSort('date',true, bulletinlist.data.cacheKey,0 )\">Newest</span>\n <span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title',false, bulletinlist.data.cacheKey,0 )\">Title</span>\n <span [ngClass]=\"[sortWith == 'category' ? 'active' : '']\" (click)=\"getListSort('category',false, bulletinlist.data.cacheKey,0)\">Type</span>\n </p>\n <div class=\"view-btn\">\n <span>\n <span (click)=\"changeView('compact')\" [ngClass]=\"listView == 'compact' ? 'thumbnail-btn':''\"><i class=\"fas fa-list\"></i></span>\n <span (click)=\"changeView('true')\" [ngClass]=\"listView == 'true' ? 'thumbnail-btn':''\" ><i class=\"fas fa-th-list\"></i></span>\n <span (click)=\"changeView('false')\" [ngClass]=\"listView == 'false' ? 'thumbnail-btn':''\"><i class=\"fas fa-th\"></i></span>\n </span>\n </div>\n </div>\n <div class=\"selectedNorrow\">\n <span *ngFor=\"let selectedNorrow of facetsInformation\" class=\"selectedTop\" >\n <span *ngFor=\"let selectedfct of selectedNorrow.values\">\n <span *ngIf=\"selectedNorrow.selectedId == selectedfct.id\" class=\"selectedMain\">\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxl'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxg'\" >Lexile Grade </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxc'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'arl' || selectedNorrow.key == 'ari'\" >AR </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'rcl'\" >RC</div>\n {{ selectedfct.value }}\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'ser'\" > Series</div>\n <span (click) = \"removeNorrow(bulletinlist.data.cacheKey,selectedfct.id)\"><i class=\"fas fa-times\"></i></span>\n </span>\n </span>\n </span>\n </div>\n <div class=\"viewContainer\" infiniteScroll [infiniteScrollDistance]=\"50\" [infiniteScrollThrottle]=\"100\" (scrolled)=\"lazyLoading(bulletinlist.data.cacheKey,currentOffset,listSize)\" [scrollWindow]=\"true\" style=\"height: auto;overflow-y: unset;\">\n <div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div>\n <div class=\"list-view compact-list\" *ngIf=\"listView == 'compact' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'s'\"></app-lazyloadimage>
25749\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25749\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"list-view\" *ngIf=\"listView == 'true' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'m'\"></app-lazyloadimage>
25749\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25749\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"list-summary\" *ngIf=\"listView =='summary' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\"></app-lazyloadimage>
25749\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"author\">{{ resources.summary }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating-comp [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating-comp>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25749\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ng-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ng-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"thumbnail-view\" *ngIf=\"listView == 'false' && !viewRefresh\">\n <div class=\"row\" [ngClass]=\"[narrowFilters[0]? '' : ' smallIcons']\">\n <div [ngClass]=\"[narrowFilters[0]? 'col-xl-3
25749col-lg-4' : 'col-xl-2 col-lg-3']\" class=\"col-md-6 col-sm-6 col-12\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-display item book-thumnail\" >\n <div class=\"book-info-inner-main\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'l'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"!resources.images[0]\">\n <i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info-inner\">\n <div class=\"book-info-inner2\">\n <a [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n </a>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"book-info\"><a class=\"book-thumnail-title\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\"> {{ resources.title }} <br/>{{ resources.author }}</a>
25749\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n </div>\n </div>\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pagePaginations\" *ngIf=\"!infiniteScroll\">\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination justify-content-end\">\n <li class=\"page-item\" *ngIf=\"currentOffset >= listSize\"><a class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentOffset - listSize))\">Previous </a></li>\n <li class=\"page-item disabled\" *ngIf=\"currentOffset < listSize\"><span class=\"page-link\">Previous </span></li>\n <li class=\"page-item\" *ngFor=\"let page of pagesCount;
25749 let currentElementIndex=index\">\n <a *ngIf=\"currentOffset != (currentElementIndex * listSize) \" class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentElementIndex * listSize) )\" >{{ currentElementIndex + 1 }}</a>\n <a *ngIf=\"currentOffset == (currentElementIndex * listSize) \" class=\"page-link disabled\">{{ currentElementIndex + 1 }}</a>\n </li>\n <li *ngIf=\"currentOffset < (bulletinlist.data.totalCount - listSize)\" class=\"page-item\"><a class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentOffset + listSize) )\">Next</a></li>\n <li *ngIf=\"currentOffset >= (bulletinlist.data.totalCount - listSize)\" class=\"page-item disabled\"><span class=\"page-link\">Next</span></li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n</main>\n<!-- Confirm Mail sned -->\n<div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"emailConfirm\">\n<div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Are you sure?</h4>\n </div>\n <div class=\"modal-body\">\n <p>Do you want to email this list to your email address {{patronEmail}}?</p>\n <input type=\"hidden\" id=\"emailType\" value=\"\">\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\" sendingMail ? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button id=\"closeEmailModal\" class=\"btn btn-danger\" type=\"button\" data-dismiss=\"modal\">No</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click) =\"exportListEmail($event,bulletinlist.data.cacheKey)\">Yes</button>\n </div>\n </div>\n </div>\n</div>\n</div>\n<!-- Confirm Mail sned -->\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>"); 25750 25751/***/ }), 25752 25753/***/ 97240: 25754/*!******************************************************************************************************************************************!*\ 25755 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/reading-list/reading-list.component.html ***! 25756 \******************************************************************************************************************************************/ 25757/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25758 25759"use strict"; 25760__webpack_require__.r(__webpack_exports__); 25761/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Resource Lists</li>\n </ul>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <!-- Narrow Results & Search Results -->\n <section class=\"widgets narrow&Search-Results reading-lists\" *ngIf=\"!responseAPIstatus\">\n <div class=\"container-fluid\">\n <div *ngIf=\"!readingList.data[0]\" class=\"no-record-found\">
25761\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> There are no published resource lists.</p> \n </span>\n </div>\n <div class=\"search-results-main mt-0\">\n <div class=\"list-view\">\n <div class=\"row\">\n <div class=\"col-xl-6 col-lg-6 col-md-12\" *ngFor=\"let read of readingList.data\" [ngClass] = \"read.imageUrl && read.imageUrl != null && read.imageUrl != ''? '' : 'fullResource' \">\n <div class=\"book-block-resource\">\n <div class=\"book-resource-btn\" *ngIf=\"loginUserPermission\">\n <span class=\"unpublished-label\" *ngIf=\"!read.published\" >Un-Published</span>\n <a type=\"button\" class=\"text-primary\" data-toggle=\"modal\" href=\"#add-resource{{ read.id }}\" role=\"button\"><i class=\"fas fa-edit\"></i> </a>\n <!--button type=\"button\" class=\"text-danger\" (click)=\"deleteresource($event,read.id)\"><i class=\"fas fa-trash-alt\"></i> </button>\n <button type=\"button\" class=\"text-secondary\" (click)=\"unpublishResource($event,read.id)\"><i class=\"fas fa-eye\"></i><i class=\"fas fa-eye-slash hide\"></i> </button-->\n </div>\n <a class=\"book-block item\" [routerLink] = \"['/resource/list/', read.id ]\" [ngClass] = \"read.published ? '':'unpublished' \">\n <div *ngIf=\"read.imageUrl\" class=\"book-cover\">\n <img alt=\"image\" src=\"{{ read.imageUrl }}\" class=\"img-fluid\"> </div>\n <div class=\"book-cover-info\">\n <h3 class=\"block-heading\">{{ read.name }}</h3>\n <p class=\"book-text mb-0\">{{ read.description }}</p>\n </div>\n </a> \n </div>\n <!-- Edit Modal -->\n <div class=\"modal fade add-resource-modal\" id=\"add-resource{{ read.id }}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Edit Resource List</h4>\n <button id=\"closeBulletinAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>List Title</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"{{ read.name }}\">\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Content</label>\n <textarea class=\"form-control\" name=\"content\">{{ read.description }}</textarea>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-lg-6\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\" [ngClass] =\"read.imageUrl != '' && read.imageUrl != null? 'haveImage' : ''\">\n <input type=\"hidden\" name=\"image\" value=\"{{ read.imageUrl }}\">\n <img class=\"img-fluid noImage\" src=\"/assets/images/no-image.jpg\">\n <img class=\"img-fluid regularImage\" src=\"{{ read.imageUrl }}\" [ngClass] =\"read.imageUrl != '' && read.imageUrl != null? 'show' : 'hide'\">\n <button class=\"fa-trash-icon\"><i class=\"fas fa-times\"></i></button>\n </div>\n <div class=\"btn-file-main sa-res-btnset\">
25761\n <span class=\"btn-file\">Upload Image<input (change)=\"uploadImage($event.target.files, read.id)\" type=\"file\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"col-lg-6\" >\n <div class=\"form-group \" > \n <label> Publish to Locations</label>\n <label class=\"radio-input\">\n <input [attr.checked] = \"read.allLocations? null : 'checked'\" class=\"option-input radio viewSetting\" type=\"radio\" name=\"selectLocation{{ read.id }}\" value=\"{{ curentLoc.id }}\">{{ curentLoc.name }}\n </label>\n <label class=\"radio-input\" [ngClass]=\"totalLocations > 1? 'show' : 'hide'\">\n <input [attr.checked] = \"read.allLocations? 'checked' : null\" class=\"option-input radio viewSetting\" type=\"radio\" value=\"\" name=\"selectLocation{{ read.id }}\">All Locations\n </label>\n <label class=\"radio-input\">\n <input [attr.checked] = \"read.published? null : 'checked'\" class=\"option-input radio viewSetting\" type=\"radio\" name=\"selectLocation{{ read.id }}\" value=\"unpublished\">Un-Published\n </label>\n </div>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\" >\n <div class=\"loader-inner-container\" [ngClass] = \"editingResource? 'show' : 'hide'\" >\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button type=\"button\" class=\"btn btn-danger pull-left\" (click)=\"deleteresource($event,read.id)\">Delete</button>\n <input class=\"btn btn-primary pull-right\" type=\"submit\" value=\"Save\" (click) = \"editResourceList($event,read.id)\" > \n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Edit Modal -->\n </div> \n </div>\n </div>\n </div>\n </div>\n </section>\n</main>\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>"); 25762 25763/***/ }), 25764 25765/***/ 97141: 25766/*!**************************************************************************************************************************************************!*\ 25767 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/recommended-list/recommended-list.component.html ***! 25768 \**************************************************************************************************************************************************/ 25769/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25770 25771"use strict"; 25772__webpack_require__.r(__webpack_exports__); 25773/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\" >\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>Recommended for You</li>\n </ul>\n <div class=\"right-btn-bread opac-dropdownBar export-options\" *ngIf=\"!responseAPIstatus\">\n <div class=\"printContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.print\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'print')\"><i class=\"fas fa-print\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li (click) =\"exportList($event,bulletinlist.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.email && isPatronLogin && patronEmail != '' \" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event, 'email')\"><i class=\"fas fa-envelope\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions.length > 0\">\n <li *ngFor=\"let exportOption of exportEmailOptions\" href=\"#emailConfirm\" role=\"button\" class=\"dropdown-item\" data-toggle=\"modal\" (click) =\"openDailog(exportOption.key)\">{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.file\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'download')\"><i class=\"fas fa-download\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportDownloadOptions.length > 0\">\n <li (click) =\"exportList($event,bulletinlist.data.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportDownloadOptions\" >{{ exportOption.value }}</li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"viewprintstatus\" style=\"padding:0px\">\n <div class=\"loader-inner\" style=\"right: 0px; left:inherit;top: 20px;\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <!-- Recommended for You is personalized: show a friendly message when not logged in or nothing to show -->\n <section class=\"widgets recommended-list-status-section\" *ngIf=\"!responseAPIstatus && (!isPatronLogin || totalRecords == 0)\">\n <div class=\"container-fluid\">\n <div class=\"recommended-list-status text-center\" *ngIf=\"!isPatronLogin\">\n <p>Log in to see personalized recommendations picked just for you.</p>\n <a href=\"#login-modal\" data-toggle=\"modal\" role=\"button\" class=\"btn btn-primary btn-md\">Log in</a>\n </div>\n <p class=\"recommended-list-status text-center\" *ngIf=\"isPatronLogin && totalRecords == 0\">We don't have any recommendations for you yet. Check back after you've checked out a few titles.</p>\n </div>\n </section>\n <section class=\"widgets narrow&Search-Results\" *ngIf=\"!responseAPIstatus && isPatronLogin && totalRecords > 0\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">
25773\n <div class=\"col-xl-3 col-lg-4 col-md-4 col-sm-12 col-12 narrow-results-main\" *ngIf=\"narrowFilters[0]\">\n <h2 class=\"\" (click) = \"updateMobileToggle($event)\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\" >Narrow Results <i class=\"fas fa-caret-up\"></i><i class=\"fas fa-caret-down\"></i><i class=\"fas fa-filter\"></i> </h2>\n <div id=\"accordion\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\">\n <div *ngFor=\"let serachData of facetsInformation; let i = index\">\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption !='Subject' && serachData.caption !='Series'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\"><a><strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a></span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Subject'\" >\n <div class = 'card-header'><h5 class=\"mb-0\">{{ serachData.caption }}</h5></div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Series'\" >\n <div class = 'card-header'>\n <h5 class=\"mb-0\">{{ serachData.caption }}</h5>\n </div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, bulletinlist.data.cacheKey, facetsVal.id)\" [ngClass] = \"innerIdx <= 9? '' : 'hide'\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\">More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 col-12 search-results-main\" [ngClass]=\"[narrowFilters[0]? 'col-xl-9 col-lg-8 col-md-8' : 'col-xl-12 col-lg-12 col-md-12']\">\n <div class=\"search-sesults-top-head\">\n <p class=\"found-items\">Found: <span>{{ bulletinlist.data.totalCount }} items</span></p>\n <p class=\"sort-by\"> Sort by:\n <span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author',false, bulletinlist.data.cacheKey,0)\">Author</span>
25773\n <span [ngClass]=\"[sortWith == 'call' ? 'active' : '']\" (click)=\"getListSort('call',false, bulletinlist.data.cacheKey,0 )\">Call</span>\n <span [ngClass]=\"[sortWith == 'date' ? 'active' : '']\" (click)=\"getListSort('date',true, bulletinlist.data.cacheKey,0 )\">Newest</span>\n <span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title',false, bulletinlist.data.cacheKey,0 )\">Title</span>\n <span [ngClass]=\"[sortWith == 'category' ? 'active' : '']\" (click)=\"getListSort('category',false, bulletinlist.data.cacheKey,0)\">Type</span>\n </p>\n <div class=\"view-btn\">\n <span>\n <span (click)=\"changeView('compact')\" [ngClass]=\"listView == 'compact' ? 'thumbnail-btn':''\"><i class=\"fas fa-list\"></i></span>\n <span (click)=\"changeView('true')\" [ngClass]=\"listView == 'true' ? 'thumbnail-btn':''\" ><i class=\"fas fa-th-list\"></i></span>\n <span (click)=\"changeView('false')\" [ngClass]=\"listView == 'false' ? 'thumbnail-btn':''\"><i class=\"fas fa-th\"></i></span>\n </span>\n </div>\n </div>\n <div class=\"selectedNorrow\">\n <span *ngFor=\"let selectedNorrow of facetsInformation\" class=\"selectedTop\" >\n <span *ngFor=\"let selectedfct of selectedNorrow.values\">\n <span *ngIf=\"selectedNorrow.selectedId == selectedfct.id\" class=\"selectedMain\">\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxl'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxg'\" >Lexile Grade </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxc'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'arl' || selectedNorrow.key == 'ari'\" >AR </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'rcl'\" >RC</div>\n {{ selectedfct.value }}\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'ser'\" > Series</div>\n <span (click) = \"removeNorrow(bulletinlist.data.cacheKey,selectedfct.id)\"><i class=\"fas fa-times\"></i></span>\n </span>\n </span>\n </span>\n </div>\n <div class=\"viewContainer\" infiniteScroll [infiniteScrollDistance]=\"50\" [infiniteScrollThrottle]=\"100\" (scrolled)=\"lazyLoading(bulletinlist.data.cacheKey,currentOffset,listSize)\" [scrollWindow]=\"true\" style=\"height: auto;overflow-y: unset;\">\n <div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div>\n <div class=\"list-view compact-list\" *ngIf=\"listView == 'compact' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'s'\"></app-lazyloadimage>
25773\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"recommendation-reason\" *ngIf=\"resources.recommendationReason\">{{ resources.recommendationReason }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25773\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"list-view\" *ngIf=\"listView == 'true' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'m'\"></app-lazyloadimage>
25773\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <p class=\"recommendation-reason\" *ngIf=\"resources.recommendationReason\">{{ resources.recommendationReason }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25773\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"list-summary\" *ngIf=\"listView =='summary' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\"></app-lazyloadimage>
25773\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" >{{ resources.title }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"author\">{{ resources.summary }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating-comp [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating-comp>\n </span>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>
25773\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ng-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ng-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"thumbnail-view\" *ngIf=\"listView == 'false' && !viewRefresh\">\n <div class=\"row\" [ngClass]=\"[narrowFilters[0]? '' : ' smallIcons']\">\n <div [ngClass]=\"[narrowFilters[0]? 'col-xl-3
25773col-lg-4' : 'col-xl-2 col-lg-3']\" class=\"col-md-6 col-sm-6 col-12\" *ngFor=\"let resources of bulletinlist.data.resources; let i = index;\">\n <div class=\"book-display item book-thumnail\" >\n <div class=\"book-info-inner-main\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images, imgCoun)\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'l'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"!resources.images[0]\">\n <i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info-inner\">\n <div class=\"book-info-inner2\">\n <a [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"description\">{{ resources.summary }}</p>\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n </a>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"book-info\"><a class=\"book-thumnail-title\" [routerLink]=\"['/resources/detail',bulletinlist.data.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\"> {{ resources.title }} <br/>{{ resources.author }}</a>
25773\n <span class=\"star-rating\" *ngIf=\"resources.ratings != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n <p class=\"recommendation-reason\" *ngIf=\"resources.recommendationReason\">{{ resources.recommendationReason }}</p>\n </div>\n </div>\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pagePaginations\" *ngIf=\"!infiniteScroll\">\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination justify-content-end\">\n <li class=\"page-item\" *ngIf=\"currentOffset >= listSize\"><a class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentOffset - listSize))\">Previous </a></li>\n <li class=\"page-item disabled\" *ngIf=\"currentOffset < listSize\"><span class=\"page-link\">Previous </span></li>\n <li class=\"page-item\" *ngFor=\"let page of pagesCount;
25773 let currentElementIndex=index\">\n <a *ngIf=\"currentOffset != (currentElementIndex * listSize) \" class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentElementIndex * listSize) )\" >{{ currentElementIndex + 1 }}</a>\n <a *ngIf=\"currentOffset == (currentElementIndex * listSize) \" class=\"page-link disabled\">{{ currentElementIndex + 1 }}</a>\n </li>\n <li *ngIf=\"currentOffset < (bulletinlist.data.totalCount - listSize)\" class=\"page-item\"><a class=\"page-link\" (click) = \"getListSort(null,null,bulletinlist.data.cacheKey, (currentOffset + listSize) )\">Next</a></li>\n <li *ngIf=\"currentOffset >= (bulletinlist.data.totalCount - listSize)\" class=\"page-item disabled\"><span class=\"page-link\">Next</span></li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n</main>\n<!-- Confirm Mail sned -->\n<div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"emailConfirm\">\n<div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Are you sure?</h4>\n </div>\n <div class=\"modal-body\">\n <p>Do you want to email this list to your email address {{patronEmail}}?</p>\n <input type=\"hidden\" id=\"emailType\" value=\"\">\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\" sendingMail ? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button id=\"closeEmailModal\" class=\"btn btn-danger\" type=\"button\" data-dismiss=\"modal\">No</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click) =\"exportListEmail($event,bulletinlist.data.cacheKey)\">Yes</button>\n </div>\n </div>\n </div>\n</div>\n</div>\n<!-- Confirm Mail sned -->\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>"); 25774 25775/***/ }), 25776 25777/***/ 39362: 25778/*!************************************************************************************************************************************!*\ 25779 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/resetmail/resetmail.component.html ***! 25780 \************************************************************************************************************************************/ 25781/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25782 25783"use strict"; 25784__webpack_require__.r(__webpack_exports__); 25785/* harmony default export */ __webpack_exports__["default"] = ("<main>\n\t<div class=\"loader-inner-container\" *ngIf=\"updatingEmail\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n <div class=\"loader-inner\" style=\"padding-top:50px;\">\n \t<span>Updating Email...</span>\n </div>\n </div>\n <div *ngIf=\"!updatingEmail && !error\" class=\"no-record-found\">\n <span>\n <p>{{emailMessage}}</p> \n </span>\n </div>\n <div *ngIf=\"!updatingEmail && error\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> Something isn't working as expected.</p> \n </span>\n </div>\n</main>\n<app-footer></app-footer>\n"); 25786 25787/***/ }), 25788 25789/***/ 54777: 25790/*!********************************************************************************************************************************************!*\ 25791 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/review-detail/review-detail.component.html ***! 25792 \********************************************************************************************************************************************/ 25793/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25794 25795"use strict"; 25796__webpack_require__.r(__webpack_exports__); 25797/* harmony default export */ __webpack_exports__["default"] = ("<div *ngIf=\"haveApiError\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> This list is no longer available.</p> \n </span>\n</div>\n<main *ngIf=\"!haveApiError\">\n <div class=\"loader-inner-container\" *ngIf=\"!responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <section class=\"widgets bread-crumbs\" *ngIf=\"responseAPIstatus\">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li *ngIf=\"previousUrl != '/' && previousUrl != ''\"><a [routerLink]=\"[previousUrl]\">{{ previousUrlTxt }}</a></li>\n <li>{{ reviewDetail.title}}</li>\n </ul>\n <div class=\"right-btn-bread review\"> \n <a *ngIf=\"isEditAndPublishReview\" (click) = \"showEditModal()\" class=\"print-btn\" data-toggle=\"modal\" href=\"#write-review\" role=\"button\"><i class=\"fas fa-edit\"></i></a>\n <button *ngIf=\"isAdmin\" class=\"print-btn\" (click) = \"deleteReview(reviewDetail.id)\" >
25797<i class=\"fas fa-trash\"></i></button>\n </div>\n </div>\n </section>\n <section class=\"widgets book-detail review-detail\" *ngIf=\"responseAPIstatus\">\n <div class=\"book-box\">\n <div class=\"book-image-main\">\n <div class=\"book-image\">\n <a [routerLink] = \"['/resources/detail/single/',reviewDetail.resourceId]\">\n <!--img *ngIf=\"reviewDetail.images[0]\" class=\"img-fluid\" src=\"{{ reviewDetail.images[0].url }}\" (load) = \"imageLoad($event, reviewDetail.images)\"-->\n <!-- <span *ngFor=\"let imgase of reviewDetail.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ reviewDetail.resourceId }}{{ reviewDetail.resourceId }}\" *ngIf=\"reviewDetail.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ reviewDetail?.category?.iconName }}\" (error)=\"imageError(reviewDetail.resourceId +''+ reviewDetail.resourceId, reviewDetail.images)\" name=\"{{ reviewDetail?.category?.iconColor }}\" (load) = \"imageLoad(reviewDetail.resourceId +''+ reviewDetail.resourceId,reviewDetail.images,imgCoun)\" attr.index=\"{{imgCoun}}\" /> \n </span> -->\n <app-lazyloadimage *ngIf=\"reviewDetail.images[0]\" [defaultImage]=\"reviewDetail.images[0].url\" [images]=\"reviewDetail.images\" [category]=\"reviewDetail.category\"></app-lazyloadimage>\n <span class=\"Placeholders {{ reviewDetail.category.iconColor }}\" *ngIf=\"!reviewDetail.images[0]\">\n <i class=\"material-icons md-48\" >{{ reviewDetail.category.iconName }}</i>\n </span>\n </a>\n </div>\n </div>\n <div class=\"book-box-info\">\n <a [routerLink] = \"['/resources/detail/single/',reviewDetail.resourceId]\">\n <h2 class=\"book-box-head\">{{ reviewDetail.title}}</h2>\n </a>\n <p class=\"author\">{{ reviewDetail.author}}</p> \n <span class=\"star-rating\" *ngIf=\"reviewDetail.stars\">\n <star-rating [readOnly] = \"true\" (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"reviewDetail.stars\" ></star-rating> \n </span>\n <p class=\"date\">{{ reviewDetail.date | date : 'M/dd/yyyy' }}</p>\n <p class=\"reviewer\">Review by <br/> <strong> {{ reviewDetail.reviewer}}</strong></p>\n <div class=\"review-categories\" *ngIf=\"reviewDetail.reviewCategories[0]\">\n <h5>Categories</h5>\n <ul>\n <li class=\"inlineShow\" *ngFor=\"let categories of reviewDetail.reviewCategories\">\n {{ categories.caption }}\n </li> \n </ul>\n </div>\n <p class=\"description\">{{ reviewDetail.reviewText}} </p>\n <br/>\n <p *ngIf=\"!ispublish\" class=\"description published\">This review has not been published</p> \n <div class=\"publishButtons book-box-bottom-btn\">\n <div *ngIf=\"isEditAndPublishReview\" class=\"publish-btn-main\">\n <button class=\"btn btn-success btn-sm Publish\" *ngIf=\"!ispublish\" (click) = \"publishReview(reviewId,$event)\" >Publish <i class=\"fa fa-eye\"></i></button>\n <button class=\"btn btn-secondary btn-sm unPublish\" *ngIf=\"ispublish\" (click) = \"publishReview(reviewId,$event)\" >Unpublish <i class=\"fa fa-eye-slash\"></i></button>\n </div>\n <a class=\"btn btn-primary btn-sm\" [routerLink] = \"['/searchreview']\"> Find more reviews <i class=\"far fa-arrow-alt-circle-right\"></i></a>\n </div>\n </div>\n </div>\n</section>\n<!-- Add review -->\n<div class=\"modal fade\" id=\"write-review\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ reviewDetail.title }}</h5>\n <button (click) = \"hideEditModal()\" id=\"closereviewAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"shoModalEdit\">\n <div class=\"row\">\n <input type=\"hidden\" value=\"{{ reviewDetail.id }}\" name=\"resourceid\" id=\"reviewid\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" id=\"reviewerName\" value=\"{{ reviewDetail.reviewer }}\" [readonly] = \"reviewerNameReadOnly\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Star rating</label>
25797\n <span class=\"star-rating review\" *ngIf=\"reviewDetail.stars\">\n <input type=\"hidden\" name=\"starrating\" [value]=\"reviewDetail.stars\" id=\"reviewStar\">\n <star-rating (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible]=\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]=\"reviewDetail.stars\" ></star-rating> \n </span>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Review Text</label>\n <textarea id=\"reviewText\" class=\"form-control\" >{{ reviewDetail.reviewText }}</textarea>\n </div>\n <div class=\"clearfix\"></div> \n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label class=\"check-list\">\n <input id=\"ReviewPublished\" [attr.checked] = \"ispublish? 'checked' : null\" type=\"checkbox\" name=\"review_pubished\" [value]=\"reviewDetail.published\"><span class=\"checkmark\"></span> Review Published \n </label> \n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div> \n <label>Categories</label>\n <div class=\"row\">\n <div class=\"col-md-4 reviewCategory\" *ngFor=\"let category of reviewCategories.data\">\n <label class=\"check-list\">\n <input [attr.checked] = \"selectedCategories.indexOf(category.id) > -1 ? 'checked' : null\" type=\"checkbox\" name=\"review_category\" value=\"{{ category.id }}\"><span class=\"checkmark\"></span> {{ category.caption}}\n </label> \n </div> \n </div> \n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveReviewStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click) = \"editReview()\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n</main>\n<app-footer></app-footer>"); 25798 25799/***/ }), 25800 25801/***/ 41081: 25802/*!********************************************************************************************************************************************!*\ 25803 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/review-search/review-search.component.html ***! 25804 \********************************************************************************************************************************************/ 25805/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25806 25807"use strict"; 25808__webpack_require__.r(__webpack_exports__); 25809/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <section class=\"widgets bread-crumbs\">\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li *ngIf=\"previousUrl && previousUrl != '/' && previousUrl != ''\"><a [routerLink]=\"[previousUrl]\">{{ previousUrlTxt }}</a></li>\n <li>Review Search</li>\n </ul>\n </div>\n </section> \n <!-- Find Reviews -->\n <section class=\"widgets search-reviews\" *ngIf=\"reviewSearchForm\">\n <div class=\"container\">\n <form class=\"search-reviews-form\" (ngSubmit)=\"searchReview(f)\" #f=\"ngForm\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\" *ngIf=\"isEditAndPublishReview\">\n <h6>Review Status</h6>\n <div class=\"row\">\n <div class=\"col-lg-4 col-6\">\n <label class=\"radio-input\">\n <input ngModel class=\"option-input radio\" t
25809ype=\"radio\" name=\"reviewstatus\" value=\"\">Both\n </label>\n </div>\n <div class=\"col-lg-4 col-6\">\n <label class=\"radio-input\">\n <input ngModel checked class=\"option-input radio\" type=\"radio\" value=\"true\" name=\"reviewstatus\">Published\n </label>\n </div>\n <div class=\"col-lg-4 col-6\">\n <label class=\"radio-input\">\n <input ngModel class=\"option-input radio\" type=\"radio\" name=\"reviewstatus\" value=\"false\">Unpublished\n </label>\n </div> \n </div>\n </div>\n <div class=\"form-group\">\n <h6>Minimum Rating</h6>\n <span class=\"star-rating review\">\n <input type=\"hidden\" name=\"starrating\" value=\"0\" id=\"reviewStar\">\n <star-rating (ratingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating>\n </span>\n </div> \n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-lg-6\">\n <div class=\"form-group\">\n <label>Review Age</label>\n <select ngModel class=\"form-control\" name=\"review_age\">\n <option value=\"year\"> 1 Year or Less</option>\n <option value=\"month\"> 1 Month or Less</option>\n <option value=\"\"> All</option>\n </select>\n </div>\n </div>\n <div class=\"col-lg-6 hide\">\n <div class=\"form-group\">\n <label>Location</label>\n <select ngModel class=\"form-control\" name=\"location\">\n <option value=\"\">All</option>\n <option value=\"{{ curentLoc.id }}\">{{ curentLoc.name }}</option> \n </select>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Reviewer's Name <small>(any part of name)</small></label>\n <input ngModel class=\"form-control\" placeholder=\"\" type=\"text\" name=\"reviewer\" value=\"\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <h6>Categories</h6>\n <p>Please select one or more categories.<br> Only those reviews matching all of the categories you select will be listed.</p>\n <div class=\"row\">\n <div class=\"col-lg-4 col-6\" *ngFor=\"let categories of reviewCategories.data; let i = index\">\n <label class=\"check-list\">\n <input name=\"categories_for_review\" type=\"checkbox\" value=\"{{ categories.id }}\">\n <span class=\"checkmark\"></span> {{ categories.caption }}\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"search-reviews-btn\">\n <input class=\"submit-btn\" type=\"submit\" value=\"Search\" id=\"reviewFormSubmit\">\n <div class=\"loader-inner-container\" *ngIf=\"searchStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n </form>\n </div>\n </section>\n <div class=\"loader-inner-container\" *ngIf=\"searchStatus && !reviewSearchForm\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <section class=\"widgets search-reviews\" *ngIf=\"responseAPIstatus\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">\n <div class=\"col-sm-12 col-12 search-results-main col-xl-12 col-lg-12 col-md-12\">\n <!-- <h2 class=\"text-sub-heading\">{{ searchResults.data.caption }}: <small></small></h2> <button type=\"button\" class=\"btn btn-danger btn-back pull-right\"><i class=\"fas fa-backward\"></i> Back</button> -->\n <div class=\"search-sesults-top-head\">\n <p class=\"found-items\">Found: <span>{{ searchResults.data.totalCount }} items</span></p>\n <div class=\"view-btn\">
25809\n <span>\n <span (click)=\"changeView('compact')\" [ngClass]=\"listView == 'compact' ? 'thumbnail-btn':''\"><i class=\"fas fa-list\"></i></span>\n <span (click)=\"changeView('true')\" [ngClass]=\"listView == 'true' ? 'thumbnail-btn':''\" ><i class=\"fas fa-th-list\"></i></span>\n <span (click)=\"changeView('false')\" [ngClass]=\"listView == 'false' ? 'thumbnail-btn':''\"><i class=\"fas fa-th\"></i></span>\n </span>\n </div>\n </div>\n <div class=\"viewContainer\">\n <div infiniteScroll [infiniteScrollDistance]=\"50\" [infiniteScrollThrottle]=\"100\" (scrolled)=\"lazyLoading(searchResults.data.cacheKey,currentOffset,listSize)\" [scrollWindow]=\"true\" style=\"height: auto;overflow-y: unset;\">\n <div *ngIf=\"!searchResults.data.reviews[0]\" class=\"no-record-found reviews\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong></strong> No reviews found.</p> \n </span>\n </div>\n <div class=\"list-view compact-list\" *ngIf=\"listView == 'compact'\">\n <div class=\"book-box reviewCon\" *ngFor=\"let resources of searchResults.data.reviews; let i = index;\">\n <div class=\"book-image\"> \n <a class=\"book-box-head\" [routerLink]=\"['/review/',resources.reviewId ]\"> \n <!-- <span *ngFor=\"let imgase of resources.images; let last = last;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.resourceId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.resourceId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.resourceId +''+ resources.resourceId,resources.images,imgCoun)\" attr.index=\"{{imgCoun}}\" /> \n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'s'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\">\n <i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i> \n </span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/review/',resources.reviewId ]\" >{{ resources.title }}</a>\n <p class=\"author\">{{ resources.author }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.stars != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.stars ]\" ></star-rating> \n </span>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\"> \n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n </div>\n <div class=\"review-detail\">\n <p class=\"date\">{{ resources.date | date : 'MM-dd-yyyy' }}</p>\n <p class=\"reviewer\">Review by <br/> <strong> {{ resources.reviewer}}</strong></p>\n <p class=\"description\">{{ resources.firstParagraph }}</p>\n </div>\n <div class=\"book-box-bottom\">\n <button *ngIf=\"isAdmin || isReviewerPatronNumberMatch(patronNumber, resources.reviewerPatronNumber)\" type=\"button\" (click) = \"deleteReview(resources.reviewId,$event)\" class=\"btn btn-dander btn-sm pull-right\">
25809<i class=\"fas fa-trash\"></i> Delete</button>\n <a *ngIf=\"isEditAndPublishReview\" (click) = \"getReviewDetail(resources.reviewId)\" class=\"print-btn btn btn-primary btn-sm pull-right\" data-toggle=\"modal\" href=\"#edit-review\" role=\"button\"><i class=\"fas fa-edit\"></i> Edit</a>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'hide' : 'show'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-success btn-sm pull-right Publish\" ><i class=\"fa fa-eye\" aria-hidden=\"true\"></i> Publish</button>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'show' : 'hide'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-secondary btn-sm pull-right unPublish\" ><i class=\"fa fa-eye-slash\" aria-hidden=\"true\"></i> Unpublish</button>\n </div>\n </div>\n </div>\n </div> \n <div class=\"list-view\" *ngIf=\"listView == 'true'\">\n <div class=\"book-box reviewCon\" *ngFor=\"let resources of searchResults.data.reviews; let i = index;\">\n <div class=\"book-image\"> \n <a class=\"book-box-head\" [routerLink]=\"['/review/',resources.reviewId ]\"> \n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let i = index;\">\n <img attr.custom=\"{{ resources.resourceId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.resourceId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.resourceId +''+ resources.resourceId,resources.images,imgCoun)\" attr.index=\"{{imgCoun}}\" /> \n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'m'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\">\n <i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i> \n </span>\n </a>\n </div>\n <div class=\"book-box-info\">\n <a class=\"book-box-head\" [routerLink]=\"['/review/',resources.reviewId ]\" >{{ resources.title }}</a>\n <p class=\"author\">{{ resources.author }}</p>\n <span class=\"star-rating\" *ngIf=\"resources.stars != null\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.stars ]\" ></star-rating> \n </span>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\"> \n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n </div>\n <div class=\"review-detail\">\n <p class=\"date\">{{ resources.date | date : 'MM-dd-yyyy' }}</p>\n <p class=\"reviewer\">Review by <br/> <strong> {{ resources.reviewer}}</strong></p>\n <p class=\"description\">{{ resources.firstParagraph }}</p>\n </div>\n <div class=\"book-box-bottom\">\n <button *ngIf=\"isAdmin || isReviewerPatronNumberMatch(patronNumber, resources.reviewerPatronNumber)\" type=\"button\" (click) = \"deleteReview(resources.reviewId,$event)\" class=\"btn btn-dander btn-sm pull-right\">
25809<i class=\"fas fa-trash\"></i> Delete</button>\n <a *ngIf=\"isEditAndPublishReview\" (click) = \"getReviewDetail(resources.reviewId)\" class=\"print-btn btn btn-primary btn-sm pull-right\" data-toggle=\"modal\" href=\"#edit-review\" role=\"button\"><i class=\"fas fa-edit\"></i> Edit</a>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'hide' : 'show'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-success btn-sm pull-right Publish\" ><i class=\"fa fa-eye\" aria-hidden=\"true\"></i> Publish</button>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'show' : 'hide'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-secondary btn-sm pull-right unPublish\" ><i class=\"fa fa-eye-slash\" aria-hidden=\"true\"></i> Unpublish</button>\n </div>\n </div>\n </div>\n </div> \n <div class=\"thumbnail-view\" *ngIf=\"listView == 'false'\">\n <div class=\"row\">\n <div class=\"col-lg-3 col-md-4 col-sm-6 col-12 reviewCon\" *ngFor=\"let resources of searchResults.data.reviews; let i = index;\">\n <div class=\"book-display item book-thumnail\" >\n <div class=\"book-info-inner-main\">\n <div class=\"book-cover\"> \n <!-- <span *ngFor=\"let imgase of resources.images; let last = last\">\n <img attr.custom=\"{{ resources.resourceId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ resources.category.iconName }}\" (error)=\"imageError(resources.resourceId +''+ resources.resourceId, resources.images)\" name=\"{{ resources.category.iconColor }}\" (load) = \"imageLoad(resources.resourceId +''+ resources.resourceId,resources.images)\" > \n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'l'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\">\n <i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i> \n </span>\n </div>\n <div class=\"book-info-inner\"> \n <div class=\"book-info-inner2\">\n <a [routerLink]=\"['/review/',resources.reviewId ]\" > \n <p class=\"author\">{{ resources.author }}</p> \n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n <p class=\"reviewer\">Review by <br/> <strong> {{ resources.reviewer}}</strong></p>\n <p class=\"date\">{{ resources.date | date : 'MM-dd-yyyy' }}</p>\n <p class=\"description\">{{ resources.firstParagraph }}</p> \n </a>\n </div>\n </div>\n </div>\n <div class=\"book-info\"><a class=\"book-thumnail-title\" [routerLink]=\"['/review/',resources.reviewId ]\" > {{ resources.title }} <br/>{{ resources.author }}</a>\n <span class=\"star-rating\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.stars ]\" ></star-rating>\n </span>\n <div class=\"book-box-bottom\">\n <button *ngIf=\"isAdmin || isReviewerPatronNumberMatch(patronNumber, resources.reviewerPatronNumber)\" type=\"button\" (click) = \"deleteReview(resources.reviewId,$event)\" class=\"btn btn-dander btn-sm\">
25809<i class=\"fas fa-trash\"></i> Delete</button>\n <a *ngIf=\"isEditAndPublishReview\" (click) = \"getReviewDetail(resources.reviewId)\" class=\"print-btn btn btn-primary btn-sm \" data-toggle=\"modal\" href=\"#edit-review\" role=\"button\"><i class=\"fas fa-edit\"></i> Edit</a>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'hide' : 'show'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-success btn-sm Publish\" ><i class=\"fa fa-eye\" aria-hidden=\"true\"></i> Publish</button>\n <button *ngIf=\"isEditAndPublishReview\" [ngClass]=\"resources.published? 'show' : 'hide'\" (click)=\"publishReview(resources.reviewId,$event)\" type=\"button\" class=\"btn btn-secondary btn-sm unPublish\" ><i class=\"fa fa-eye-slash\" aria-hidden=\"true\"></i> Unpublish</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n <!-- Edit Review -->\n <div class=\"modal fade\" id=\"edit-review\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resourcesDetail.title }}</h5>\n <button id=\"closereviewAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"!responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div class=\"modal-body\" *ngIf=\"responseAPIstatus\">\n <div class=\"row\">\n <input type=\"hidden\" value=\"{{ resourcesDetail.id }}\" name=\"resourceid\" id=\"reviewid\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" id=\"reviewerName\" value=\"{{ resourcesDetail.reviewer }}\" [readonly] = \"reviewerNameReadOnly\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Star rating</label>\n <span class=\"star-rating review\" *ngIf=\"resourcesDetail.stars\">\n <input type=\"hidden\" name=\"starratings\" value=\"{{ resourcesDetail.stars }}\" id=\"reviewStarEdit\">\n <star-rating (ratingChange)=\"onRatingChangeEdit($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[resourcesDetail.stars]\" ></star-rating> \n </span>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Review Text</label>\n <textarea id=\"reviewText\" class=\"form-control\" >{{ resourcesDetail.reviewText }}</textarea>\n </div>\n <div class=\"clearfix\"></div> \n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label class=\"check-list\">\n <input id=\"ReviewPublished\" [attr.checked] = \"resourcesDetail.published? 'checked' : null\" type=\"checkbox\" name=\"review_pubished\" [value]=\"resourcesDetail.published\"><span class=\"checkmark\"></span> Review Published \n </label> \n </div>\n </div>\n </div>\n <div class=\"clearfix\"></div> \n <label>Categories</label>\n <div class=\"row\">\n <div class=\"col-md-4 reviewCategory\" *ngFor=\"let category of reviewCategories.data\">\n <label class=\"check-list\"> \n <input [attr.checked] = \"selectedCategories.indexOf(category.id) > -1 ? 'checked' : null\" type=\"checkbox\" name=\"review_category\" value=\"{{ category.id }}\"><span class=\"checkmark\"></span> {{ category.caption}}\n </label> \n </div> \n </div> \n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveReviewStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click) = \"editReview()\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Edit Review -->\n</main>\n<app-footer></app-footer>"); 25810 25811/***/ }), 25812 25813/***/ 33043: 25814/*!****************************************************************************************************************************************!*\ 25815 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/pages/unsubscribe/unsubscribe.component.html ***! 25816 \****************************************************************************************************************************************/ 25817/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25818 25819"use strict"; 25820__webpack_require__.r(__webpack_exports__); 25821/* harmony default export */ __webpack_exports__["default"] = ("<div class=\"internalerror-page\">\n <div class=\"internalerror-page-inner\">\n <div class=\"container\" id=\"unsubscribe_div\" style=\"background-color: #2e2a2a; max-width: 450px !important;\" >\n <h2 style=\"color: #fff; font-size: 32px;\">Oh! You want to unsubscribe?</h2>\n <p style=\"color: #fff; font-size: 16px;\">If you unsubscribe, you'll no longer receive receipts, reminders, and notices from the library at this email address. Contact us if you change your mind and want to start receiving emails again.</p>\n <a (click)=\"unsubscribe();\" class=\"btn\" id=\"unsubscribe\" style=\"margin: 10px;\">Unsubscribe</a>\n <a href=\"\" class=\"btn btn-light\" id=\"cancel\" style=\"margin:10px\">Cancel</a>\n <br><br>\n <div class=\"emoji shocked\">\n <figure class=\"face\">
25821\n <span class=\"eyes\">\n <span class=\"eye\"></span>\n <span class=\"eye\"></span>\n </span>\n <span class=\"mouth\"></span>\n </figure>\n </div>\n </div>\n \n <div *ngIf=\"unsubsribeMsg\" class=\"container\" id=\"unsubscribe_msg\" style=\"background-color: #2e2a2a; max-width: 450px !important;\" >\n <h2 style=\"color: #fff; font-size: 32px;\">Unsubscribed Successfully</h2>\n <p style=\"color: #fff; font-size: 16px;\">You will no longer receive receipts, reminders, and notices from the library at this email address</p>\n </div>\n\n </div>\n</div>\n\n"); 25822 25823/***/ }), 25824 25825/***/ 52435: 25826/*!**********************************************************************************************************************!*\ 25827 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/print/print.component.html ***! 25828 \**********************************************************************************************************************/ 25829/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25830 25831"use strict"; 25832__webpack_require__.r(__webpack_exports__); 25833/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <h2 class=\"caption\">{{ caption }}</h2>\n <h4 class=\"libraryname\">{{ libraryname }}</h4>\n <div class=\"list-view\">\n <div class=\"book-box\" *ngFor=\"let resources of listData; let i = index;\">\n <div class=\"book-image\"> \n <a class=\"book-box-head\"> \n <span *ngFor=\"let imgase of resources.images; let last = last\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" alt=\"image\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\"/> \n </span> \n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images == null || !resources.images[0]\"><i class=\"material-icons md-48\" >{{ resources.category.iconName }}</i></span>\n </a>\n </div>\n <div class=\"book-box-info\"><a class=\"book-box-head\">{{ resources.summary }}</a>\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p> \n <p >{{ resources.summary }}</p> \n </div>\n </div> \n </div>\n</main>"); 25834 25835/***/ }), 25836 25837/***/ 99735: 25838/*!*******************************************************************************************************************************!*\ 25839 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/searchlist/list/list.component.html ***! 25840 \*******************************************************************************************************************************/ 25841/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25842 25843"use strict"; 25844__webpack_require__.r(__webpack_exports__); 25845/* harmony default export */ __webpack_exports__["default"] = ("<main>\n <div class=\"loader-inner-container\" *ngIf=\"responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div *ngIf=\"haveApiError\" class=\"no-record-found\">\n <span><img src=\"/assets/images/No-Record-icon.png\">\n <p><strong>Sorry!</strong> There are no items to show here.</p>\n </span>\n </div>\n <div *ngIf=\"searchResult?.resources?.length == 0\" class=\"no-record-found\" [ngClass]=\"exploreParent == 'Awards & Honors'? 'awards-no-record' : ''\">\n <div class=\"loader-inner-container\" *ngIf=\"responseAPI\" style=\"width: 100%;\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <span *ngIf=\"!responseAPI\">\n <img src=\"/assets/images/No-Record-icon.png\">\n <p class=\"text-center\" *ngIf=\"exploreParent != 'Awards & Honors'\"><strong>Sorry!</strong> We didn't find anything for <b>{{searchFor}}</b><span>.</span>\n <br>
25845\n <span *ngIf=\"searchResult.alternateSearch\" >\n Did you mean \n <strong style=\"cursor: pointer;text-decoration: underline;text-underline-offset: 3px;font-style: italic;\" (click)=\"getSearchData(searchResult.alternateSearch?.param.term)\">\n {{searchResult.alternateSearch?.param.term}}</strong>?\n </span> </p>\n <p *ngIf=\"exploreParent == 'Awards & Honors' && awardName != '' \"><strong>Sorry!</strong> We couldn't find any titles for {{ awardName }} in the library.</p>\n <p *ngIf=\"exploreParent == 'Awards & Honors' && awardYear != '' \"><strong>Sorry!</strong> We couldn't find any {{ awardYear }} honored or award-winning titles in the library.</p>\n <p *ngIf=\"exploreParent == 'Awards & Honors' && lowYear != ''\"><strong>Sorry!</strong> We couldn't find any {{ lowYear }} to {{ highYear }} years range honored or award-winning titles in the library.</p>\n <a class=\"btn btn-primary btn-md\" *ngIf=\"exploreParent == 'Awards & Honors'\" [routerLink] = \"['/awards']\"><i class=\"far fa-arrow-alt-circle-left\"></i> Back to Awards & Honors</a>\n </span>\n </div>\n <div class=\"viewContainer\" *ngIf=\"searchResult?.resources?.length > 0\">\n <section class=\"widgets bread-crumbs\" >\n <div class=\"container-fluid\">\n <ul class=\"list-bread-crumbs\" *ngIf=\"exploreParent && exploreParent == 'Awards & Honors'\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink] = \"['/awards']\" >Awards & Honors</a></li>\n <li *ngIf=\"searchFor\">{{ searchFor }}</li>\n </ul>\n <ul class=\"list-bread-crumbs\" *ngIf=\"exploreParent && exploreParent != 'Resource Lists' && exploreParent != 'Awards & Honors'\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink] = \"['/explore/0']\" >Explore</a></li>\n <li *ngFor=\"let brd of exploreBreadcrum\"><a [routerLink] = \"['/explore/'+brd.id]\" >{{ brd.caption }}</a></li>\n \n <li *ngIf=\"searchFor\">{{ searchFor }}</li>\n </ul>\n <ul class=\"list-bread-crumbs\" *ngIf=\"exploreParent && exploreParent == 'Resource Lists'\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li><a [routerLink] = \"['/reading-lists']\" >Resource Lists</a></li>\n <li *ngIf=\"searchFor\">{{ searchFor }}</li>\n </ul>\n <ul class=\"list-bread-crumbs\" *ngIf=\"!exploreParent && !responseAPIstatus\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li *ngIf=\"searchFor\">{{ searchFor }}</li>\n </ul>\n <div class=\"right-btn-bread opac-dropdownBar export-options\" *ngIf=\"!responseAPIstatus\">\n <div class=\"printContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.print\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'print')\"><i class=\"fas fa-print\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportOptions?.length > 0\">\n <li (click) =\"exportList($event,searchResult.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportOptions\" >\n {{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.email && isPatronLogin && patronEmail != '' \" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event, 'email')\"><i class=\"fas fa-envelope\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportEmailOptions.length > 0\">\n <li *ngFor=\"let exportOption of exportEmailOptions\" href=\"#emailConfirm\" role=\"button\" class=\"dropdown-item\" data-toggle=\"modal\" (click) =\"openDailog(exportOption.key)\">{{ exportOption.value }}</li>\n </ul>\n </div>\n <div class=\"fileContainer exploreCon\">\n <a *ngIf=\"librarySetting.data.settings.resultList.export.destinations.file\" class=\"print-btn\" href=\"#\" (click)=\"showExportOptions($event,'download')\"><i class=\"fas fa-download\"></i></a>\n <ul class=\"dropdown-menu\" *ngIf=\"exportDownloadOptions?.length > 0\">\n <li (click) =\"exportList($event,searchResult.cacheKey, exportOption.key)\" class=\"dropdown-item\" *ngFor=\"let exportOption of exportDownloadOptions\" >\n {{ exportOption.value }}</li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"viewprintstatus\" style=\"padding:0px\">\n <div class=\"loader-inner\" style=\"right: 0px; left:inherit;top: 20px;\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </section>\n <!-- Narrow Results & Search Results -->\n <section class=\"widgets narrow&Search-Results\" *ngIf=\"!responseAPIstatus\">\n <div class=\"container-fluid\">\n <div class=\"row mb-5\">
25845\n <div class=\"col-xl-3 col-lg-4 col-md-4 col-sm-12 col-12 narrow-results-main\" *ngIf=\"narrowFilters[0]\">\n <h2 class=\"\" (click) = \"updateMobileToggle($event)\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\" >Narrow Results <i class=\"fas fa-caret-up\"></i><i class=\"fas fa-caret-down\"></i><i class=\"fas fa-filter\"></i> </h2>\n <div id=\"accordion\" [ngClass] = \"updateMobileToggleInfo? 'open' : ''\">\n <div *ngFor=\"let serachData of facetsInformation; let i = index\">\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption !='Subject' && serachData.caption !='Series'\" >\n <div class = 'card-header'>\n <h5 class=\"mb-0\">\n {{ serachData.caption }}\n </h5>\n </div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" (click) = \"narrowSearch($event, searchResult.cacheKey, facetsVal.id)\">\n <a> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Subject'\" >\n <div class = 'card-header'>\n <h5 class=\"mb-0\">\n {{ serachData.caption }}\n </h5>\n </div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, searchResult.cacheKey, facetsVal.id)\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\" >More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"card {{ serachData.caption }}\" *ngIf=\"serachData.caption =='Series'\" >\n <div class = 'card-header'>\n <h5 class=\"mb-0\">\n {{ serachData.caption }}\n </h5>\n </div>\n <div id=\"collapse{{ i }}\">\n <div class=\"card-body\">\n <ul>\n <li *ngFor=\"let facetsVal of serachData.values; let innerIdx = index\">\n <span [ngClass]=\"serachData.selectedId == facetsVal.id? 'active' : ''\" *ngIf=\"innerIdx != 10\" (click) = \"narrowSearch($event, searchResult.cacheKey, facetsVal.id)\">\n <a [ngClass] = \"innerIdx <= 9? '' : 'hide'\"> <strong>{{ facetsVal.value }}</strong> <span> {{ facetsVal.count }}</span></a>\n </span>\n <span (click)=\"serachDataVisibleFn($event)\" *ngIf=\"innerIdx == 10\" >More...</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n \n </div>\n </div>\n </div>\n <div class=\"col-sm-12 col-12 search-results-main\" [ngClass]=\"[narrowFilters[0]? 'col-xl-9 col-lg-8 col-md-8' : 'col-xl-12 col-lg-12 col-md-12']\" >\n <div class=\"search-sesults-top-head\" >\n <p class=\"found-items\">Found: <span>{{ searchResult.totalCount }} items</span></p>\n <p class=\"sort-by\">
25845 Sort by:\n <span *ngIf=\"exploreParent != 'Awards & Honors'\" [ngClass]=\"[sortWith == 'relevancy' ? 'active' : '']\" (click)=\"getListSort('relevancy',true, searchResult.cacheKey,0, 'header')\">Best Match</span>\n <span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author',null, searchResult.cacheKey,0, 'header')\">Author</span>\n <span [ngClass]=\"[sortWith == 'call' ? 'active' : '']\" (click)=\"getListSort('call',null, searchResult.cacheKey,0, 'header' )\">Call</span>\n <span [ngClass]=\"[sortWith == 'date' ? 'active' : '']\" (click)=\"getListSort('date',null, searchResult.cacheKey,0 , 'header')\">Newest</span>\n <span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title',null, searchResult.cacheKey,0, 'header' )\">Title</span>\n <span [ngClass]=\"[sortWith == 'category' ? 'active' : '']\" (click)=\"getListSort('category',null, searchResult.cacheKey,0, 'header')\">Type</span>\n </p>\n <div class=\"view-btn\">\n <span>\n <span (click)=\"changeView('compact')\" [ngClass]=\"listView == 'compact' ? 'thumbnail-btn':''\"><i class=\"fas fa-list\"></i></span>\n <span (click)=\"changeView('true')\" [ngClass]=\"listView == 'true' ? 'thumbnail-btn':''\" ><i class=\"fas fa-th-list\"></i></span>\n <span (click)=\"changeView('false')\" [ngClass]=\"listView == 'false' ? 'thumbnail-btn':''\"><i class=\"fas fa-th\"></i></span>\n </span>\n </div>\n </div>\n <div class=\"selectedNorrow\">\n <span *ngFor=\"let selectedNorrow of facetsInformation\" class=\"selectedTop\" >\n <span *ngFor=\"let selectedfct of selectedNorrow.values\">\n <span *ngIf=\"selectedNorrow.selectedId == selectedfct.id\" class=\"selectedMain\">\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxl'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxg'\" >Lexile Grade </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'lxc'\" >Lexile </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'arl' || selectedNorrow.key == 'ari'\" >AR </div>\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'rcl'\" >RC</div>\n {{ selectedfct.value }}\n <div class=\"narrowCategory\" *ngIf=\"selectedNorrow.key == 'ser'\" > Series</div>\n <span (click) = \"removeNorrow(searchResult.cacheKey,selectedfct.id)\"><i class=\"fas fa-times\"></i></span>\n </span>\n </span>\n </span>\n </div>\n <div class=\"viewContainer\" infiniteScroll [infiniteScrollDistance]=\"150\" [infiniteScrollThrottle]=\"50\" [scrollWindow]=\"true\" (scrolled)=\"lazyLoading(searchResult.cacheKey,currentOffset,listSize)\" style=\"height: auto;overflow-y: unset;\">\n <div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <div *ngIf=\"searchResult?.resources?.length\">\n <div class=\"list-view compact-list\" *ngIf=\"listView == 'compact' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of searchResult.resources; let i = index;\">\n <div class=\"awardsCards\" *ngIf=\"resources.year && lowYear == '' && awardYear == '' \">{{ resources.place }}</div>\n <div class=\"book-image\">\n <a *ngIf=\"exploreParent != 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'s'\"></app-lazyloadimage>
25845\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId,resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n </div>\n <div class=\"book-box-info\" >\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType == 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" [innerHTML] = \"resources.title | HighlightSearch : highlightParameter.term\">\n </a>\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType != 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" >{{resources.title}}\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n {{ resources.title }}</a>\n <h4 class=\"call-number\" *ngIf=\"searchType == 'Call'\" [innerHTML] = \"resources.call | HighlightSearch : highlightParameter.term\"></h4>\n <h4 class=\"call-number\" *ngIf=\"searchType != 'Call'\">{{resources.call}}</h4>\n <p class=\"author\" *ngIf=\"highlightParameter.in == '' || highlightParameter.in == 'A'\" [innerHTML] = \"resources.author | HighlightSearch : highlightParameter.term\">{{resources.author}}</p>\n <p class=\"author\" *ngIf=\"highlightParameter.in != '' && highlightParameter.in != 'A'\">{{resources.author}}</p>\n <div *ngIf=\"resources.place && awardName != ''\" class=\"listAwardsPgae\">\n <p class=\"place\" >{{ resources.place }} <strong> {{ resources.year }} {{ awardName }}</strong></p>\n </div>\n <div *ngIf=\"resources.awards[0]\" class=\"listAwardsPgae\">\n <h2>Awards & Honors</h2>\n <ul>\n <li *ngFor=\"let awardd of resources.awards\">\n {{ awardd.placeText }}\n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : awardd.year,award : '', name : '' }\">\n {{ awardd.year }}\n </a> \n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : '',award : awardd.honor.id, name : awardd.honor.name }\">\n {{ awardd.honor.name }} </a>\n </li>\n </ul>\n </div>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability?.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText == 'On Loan' || resources.availability?.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability?.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability?.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText != 'Available' && resources.availability?.shortText != 'On Loan' && resources.availability?.shortText != 'Overdue' && resources.availability?.shortText != 'Holding' && resources.availability?.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability?.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n <div class=\"book-box-bottom book-links\" *ngIf=\"resources?.links?.length > 0 && (librarySetting.data.settings.resultList.detail.otherLinks || librarySetting.data.settings.resultList.detail.contentLinks)\">\n <p>\n Links:\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.contentLinks && (links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.otherLinks && !(links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n </p>\n </div>\n </div>
25845\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability?.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability?.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\" ><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"list-view\" *ngIf=\"listView == 'true' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of searchResult.resources; let i = index;\">\n <div class=\"awardsCards\" *ngIf=\"resources.year && lowYear == '' && awardYear == '' \">{{ resources.place }}</div>\n <div class=\"book-image\">\n <a *ngIf=\"exploreParent != 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'m'\"></app-lazyloadimage>
25845\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId,resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n </div>\n <div class=\"book-box-info\" >\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType == 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" [innerHTML] = \"resources.title | HighlightSearch : highlightParameter.term\">\n </a>\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType != 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" >{{resources.title}}\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n {{ resources.title }}</a>\n <h4 class=\"call-number\" *ngIf=\"searchType == 'Call'\" [innerHTML] = \"resources.call | HighlightSearch : highlightParameter.term\"></h4>\n <h4 class=\"call-number\" *ngIf=\"searchType != 'Call'\">{{resources.call}}</h4>\n <p class=\"author\" *ngIf=\"highlightParameter.in == '' || highlightParameter.in == 'A'\" [innerHTML] = \"resources.author | HighlightSearch : highlightParameter.term\">{{resources.author}}</p>\n <p class=\"author\" *ngIf=\"highlightParameter.in != '' && highlightParameter.in != 'A'\">{{resources.author}}</p>\n <span class=\"star-rating\" *ngIf=\"resources.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] = \"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating>\n </span>\n <p class=\"description\" *ngIf=\"highlightParameter.in == ''\" [innerHTML] = \"resources.summary | HighlightSearch : highlightParameter.term\"></p>\n <p class=\"description\" *ngIf=\"highlightParameter.in != ''\" >{{resources.summary}}</p>\n <div *ngIf=\"resources.place && awardName != ''\" class=\"listAwardsPgae\">\n <p class=\"place\" >{{ resources.place }} <strong> {{ resources.year }} {{ awardName }}</strong></p>\n </div>\n <div *ngIf=\"resources.awards[0]\" class=\"listAwardsPgae\">\n <h2>Awards & Honors</h2>\n <ul>\n <li *ngFor=\"let awardd of resources.awards\">\n {{ awardd.placeText }}\n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : awardd.year,award : '', name : '' }\">\n {{ awardd.year }}\n </a> \n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : '',award : awardd.honor.id, name : awardd.honor.name }\">\n {{ awardd.honor.name }} </a>\n </li>\n </ul>\n </div>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability?.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText == 'On Loan' || resources.availability?.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability?.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability?.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText != 'Available' && resources.availability?.shortText != 'On Loan' && resources.availability?.shortText != 'Overdue' && resources.availability?.shortText != 'Holding' && resources.availability?.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability?.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n <div class=\"book-box-bottom book-links\" *ngIf=\"resources?.links?.length > 0 && (librarySetting.data.settings.resultList.detail.otherLinks || librarySetting.data.settings.resultList.detail.contentLinks)\">\n <p>\n Links:\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.contentLinks && (links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.otherLinks && !(links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n </p>\n </div>\n </div>
25845\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability?.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability?.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold itb for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\" ><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"list-summary\" *ngIf=\"listView =='summary' && !viewRefresh\">\n <div class=\"book-box\" *ngFor=\"let resources of searchResult.resources; let i = index;\">\n <div class=\"awardsCards\" *ngIf=\"resources.year && lowYear == '' && awardYear == '' \">{{ resources.place }}</div>\n <div class=\"book-image\">\n <a *ngIf=\"exploreParent != 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId, resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\"></app-lazyloadimage>
25845\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n <span *ngFor=\"let imgase of resources.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId,resources.images)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,resources.images,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </a>\n </div>\n <div class=\"book-box-info\" >\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType == 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\" [innerHTML] = \"resources.title | HighlightSearch : highlightParameter.term\">\n </a>\n <a *ngIf=\"exploreParent != 'Awards & Honors' && searchType != 'Basic' \" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" >{{resources.title}}\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n {{ resources.title }}</a>\n <h4 class=\"call-number\" *ngIf=\"searchType == 'Call'\" [innerHTML] = \"resources.call | HighlightSearch : highlightParameter.term\"></h4>\n <h4 class=\"call-number\" *ngIf=\"searchType != 'Call'\">{{resources.call}}</h4>\n <p class=\"author\" *ngIf=\"highlightParameter.in == '' || highlightParameter.in == 'A'\" [innerHTML] = \"resources.author | HighlightSearch : highlightParameter.term\">{{resources.author}}</p>\n <p class=\"author\" *ngIf=\"highlightParameter.in != '' && highlightParameter.in != 'A'\">{{resources.author}}</p>\n <p class=\"author\">{{resources.summary}}</p>\n\n <span class=\"star-rating\" *ngIf=\"resources.ratings\">\n <star-rating-comp [readOnly] = \"true\" [getHalfStarVisible] = \"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[ resources.ratings.stars ]\" ></star-rating-comp>\n </span>\n <p class=\"description\" *ngIf=\"highlightParameter.in == ''\" [innerHTML] = \"resources.summary | HighlightSearch : highlightParameter.term\"></p>\n <p class=\"description\" *ngIf=\"highlightParameter.in != ''\" >{{resources.summary}}</p>\n <div *ngIf=\"resources.place && awardName != ''\" class=\"listAwardsPgae\">\n <p class=\"place\" >{{ resources.place }} <strong> {{ resources.year }} {{ awardName }}</strong></p>\n </div>\n <div *ngIf=\"resources.awards[0]\" class=\"listAwardsPgae\">\n <h2>Awards & Honors</h2>\n <ul>\n <li *ngFor=\"let awardd of resources.awards\">\n {{ awardd.placeText }}\n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : awardd.year,award : '', name : '' }\">\n {{ awardd.year }}\n </a> \n <a [routerLink]=\"['/list/awards']\" [queryParams]=\"{ year : '',award : awardd.honor.id, name : awardd.honor.name }\">\n {{ awardd.honor.name }} </a>\n </li>\n </ul>\n </div>\n <div class=\"book-box-bottom\">\n <div class=\"avail-detail\">\n <div class=\"avail-detail\">\n <p class=\"overdue\" *ngIf=\"resources.availability\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability?.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText == 'On Loan' || resources.availability?.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability?.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability?.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText != 'Available' && resources.availability?.shortText != 'On Loan' && resources.availability?.shortText != 'Overdue' && resources.availability?.shortText != 'Holding' && resources.availability?.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability?.shortText }}\n </p>\n <p class=\"regular\">\n <i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}\n </p>\n </div>\n </div>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm pull-right addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm pull-right removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n <div class=\"book-box-bottom book-links\" *ngIf=\"resources?.links?.length > 0 && (librarySetting.data.settings.resultList.detail.otherLinks || librarySetting.data.settings.resultList.detail.contentLinks)\">\n <p>\n Links:\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.contentLinks && (links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n <a *ngFor=\"let links of resources.links\" href=\"{{links.url}}\" target=\"_blank\" [ngClass]=\"librarySetting.data.settings.resultList.detail.otherLinks && !(links.isEbook || links.isVideo) ? '' : 'hide'\">\n {{links.caption}}\n </a>\n </p>\n </div>\n </div>
25845\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability?.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability?.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\" ><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ng-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ng-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"thumbnail-view\" *ngIf=\"listView == 'false' && !viewRefresh && searchResult.resources\">\n <div class=\"row\" [ngClass]=\"[narrowFilters[0]? '' : ' smallIcons']\">\n <div [ngClass]=\"[narrowFilters[0]? 'col-xl-3
25845col-lg-4' : 'col-xl-2 col-lg-3']\" class=\"col-md-6 col-sm-6 col-12\" *ngFor=\"let resources of searchResult.resources; let i = index;\">\n <div class=\"book-display item book-thumnail\" >\n <div class=\"awardsCards\" *ngIf=\"resources.year && lowYear == '' && awardYear == '' \">{{ resources.place }}</div>\n <div class=\"book-info-inner-main\">\n <div class=\"book-cover\">\n <!-- <span *ngFor=\"let imgase of resources.images; let last = first;let imgCoun = index;\">\n <img attr.custom=\"{{ resources.listItemId }}{{ resources.resourceId }}\" *ngIf=\"resources.images && last\" src=\"{{ imgase.url}}\" (error)=\"imageError(resources.listItemId +''+ resources.resourceId,imgase.url)\" (load) = \"imageLoad(resources.listItemId +''+ resources.resourceId,imgase.url,imgCoun)\" name=\"{{ resources.category.iconColor }}\" alt=\"{{ resources.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span> -->\n <app-lazyloadimage *ngIf=\"resources.images[0]\" [defaultImage]=\"resources.images[0].url\" [images]=\"resources.images\" [category]=\"resources.category\" [size]=\"'l'\"></app-lazyloadimage>\n <span class=\"Placeholders {{ resources.category.iconColor }}\" *ngIf=\"resources.images?.length == 0 || resources.images == null\">\n <i class=\"material-icons md-48\">{{ resources.category.iconName }}</i>\n </span>\n </div>\n <div class=\"book-info-inner\">\n <div class=\"book-info-inner-hover\">\n <a *ngIf=\"exploreParent != 'Awards & Honors'\" href=\"\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"description\">{{ resources.summary }}</p>\n <p class=\"place\"><span *ngIf=\"resources.place\">{{ resources.place }}</span> <span *ngIf=\"resources.year\">{{ resources.year }}</span></p>\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability?.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText == 'On Loan' || resources.availability?.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability?.shortText == 'Other Location'\" >place</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability?.shortText == 'Holding'\" >local_offer</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability?.shortText != 'Available' && resources.availability?.shortText != 'On Loan' && resources.availability?.shortText != 'Overdue' && resources.availability?.shortText != 'Holding' && resources.availability?.shortText != 'Other Location'\" >cancel</i>\n {{ resources.availability?.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n </a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n <h4 class=\"call-number\">{{ resources.call }}</h4>\n <p class=\"author\">{{ resources.author }}</p>\n <p class=\"description\">{{ resources.summary }}</p>\n <p class=\"place\"><span *ngIf=\"resources.place\">{{ resources.place }}</span> <span *ngIf=\"resources.year\">{{ resources.year }}</span></p>\n <div class=\"info-text-left\">\n <div class=\"avail-detail\">\n <p class=\"overdue\">\n <i class=\"material-icons md-12 success\" *ngIf=\"resources.availability.shortText == 'Available'\" >check_box</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText == 'On Loan' || resources.availability.shortText == 'Overdue' \" >cancel</i>\n <i class=\"material-icons md-12 gray\" *ngIf=\"resources.availability.shortText != 'Available' && resources.availability.shortText != 'On Loan' && resources.availability.shortText != 'Overdue' && resources.availability.shortText != 'Holding' && resources.availability.shortText != 'Holding'\" >cancel</i>\n <i class=\"material-icons md-12 purple\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >local_offer</i>\n <i class=\"material-icons md-12 primary\" *ngIf=\"resources.availability.shortText == 'Other Location'\" >place</i>\n {{ resources.availability.shortText }}\n </p>\n <p class=\"regular\"><i class=\"material-icons md-12 {{ resources.category.iconColor }}\" >{{ resources.category.iconName }}</i> {{ resources.category.caption }}</p>\n </div>\n </div>\n </a>\n <div class=\"book-box-bottom-btn\">\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.hold\">\n <button *ngIf=\"resources.canHold\" (click) = \"showAddFormHold(resources.listItemId+''+resources.resourceId, $event)\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" [ngClass]=\"isPatronLogin ? 'hide':'' \"><i class=\"material-icons\">local_offer</i> Hold</button>\n <a *ngIf=\"resources.canHold && resources.holdId == null \" href=\"#write-holds-{{resources.listItemId}}{{resources.resourceId}}\" (click) = \"showAddFormHold()\" class=\"btn btn-succes btn-sm hold-resourse\" data-toggle=\"modal\" id=\"btn-write-holds-{{resources.resourceId}}\" role=\"button\" [ngClass]=\"isPatronLogin ? '':'hide'\"><i class=\"material-icons\">local_offer</i> Hold</a>\n <a *ngIf=\"resources.holdId\" class=\"btn btn-danger btn-sm cancel-resourse\" data-toggle=\"modal\" id=\"btn-erase-holds-{{resources.resourceId}}\" href=\"#write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n </ng-container>\n <ng-container *ngIf=\"librarySetting.data.settings.resultList.button.addToList\">\n <button (click) = \"addToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) == -1 ? 'show' : 'hide'\" class=\"btn btn-primary btn-sm addButton{{ resources.resourceId }} addButtonList mr-2\" attr.resourceId = \"{{ resources.resourceId }}\"><i class=\"fas fa-plus\"></i> Add To List</button>\n <button (click) = \"removeToMyList($event,resources.resourceId)\" type=\"button\" [ngClass]=\"selectedResourcesIds.indexOf(resources.resourceId) > -1 ? 'show' : 'hide'\" class=\"btn btn-dander btn-sm removeButton{{ resources.resourceId }} mr-2\"><i class=\"fas fa-minus\"></i> Remove</button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"book-info\">\n <a *ngIf=\"exploreParent != 'Awards & Honors'\" href=\"\" class=\"book-thumnail-title\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join()}\">\n {{ resources.title }} <br/>{{ resources.author }}</a>\n <a *ngIf=\"exploreParent == 'Awards & Honors'\" class=\"book-box-head\" [routerLink]=\"['/resources/detail',searchResult.cacheKey, resources.listItemId ]\" [queryParams]=\"{ facets: facets.join(), year: awardYear, awardid: awardId, awardname: awardName }\">\n {{ resources.title }} <br/>{{ resources.author }}</a>
25845\n <span class=\"star-rating\" *ngIf=\"resources.ratings\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[resources.ratings.stars ]\" ></star-rating>\n </span>\n </div>\n </div>\n <!-- Hold Resources -->\n <div class=\"modal fade in\" id=\"write-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ resources.title }}</h5>\n <button (click) = \"hideAddForm()\" id=\"closeHoldAdd-{{resources.resourceId}}\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <p class=\"mb-1\">Number of copies in library:\n <span><strong>{{ resources.availability?.totalHere }}</strong></span>\n </p>\n <p>Number of pending holds for this title:\n <span><strong>{{ resources.availability?.holdingHere }}</strong></span>\n </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && !librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you.</strong> </p>\n <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.allowFutureDates\"><strong>There is a copy in the library ready for immediate pick-up. It will be held for you unless you want to hold it for a future date.</strong> </p>\n <!-- <p *ngIf=\"resources.availability?.availableHere > 0 && librarySetting.data.settings.holds.ifAvailableNow.enabled\"><strong>{{ librarySetting.data.settings.holds.ifAvailableNow.message | replace:'{LibraryName}': currentLibrary }}</strong> </p> -->\n <div *ngIf=\"librarySetting.data.settings.holds.allowFutureDates\">\n <label class=\"check-list mb-3\"><input name=\"review_category\" type=\"checkbox\" value=\"0\" (click) = \"showHoldDateFn($event)\"><span class=\"checkmark\"></span>Hold for future date</label>\n <div class=\"form-group\" [ngClass] = \"showHoldDate? 'show' : 'hide'\">\n <label>Date Desired:</label>\n <span><ngx-datepicker [options] = \"options\" [(ngModel)]=\"date\" id=\"bDate\" ></ngx-datepicker></span>\n <p class=\"mt-1 mb-0 font-italic\">Select today's date if you want it as soon as possible.</p>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Hold\" (click) = \"holdResource($event, resources.resourceId,i)\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal fade\" id=\"write-cancel-holds-{{resources.listItemId}}{{resources.resourceId}}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,resources.holdId,resources.resourceId,i)\">\n <input id=\"cancelholdsClose-{{resources.resourceId}}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"pagePaginations\" *ngIf=\"!infiniteScroll\">\n <nav aria-label=\"Page navigation example\">\n <ul class=\"pagination justify-content-end\">\n <li class=\"page-item\" *ngIf=\"currentOffset >= listSize\"><a class=\"page-link\" (click) = \"getListSort(null,null,searchResult.cacheKey, (currentOffset - listSize))\">Previous </a></li>\n <li class=\"page-item disabled\" *ngIf=\"currentOffset < listSize\"><span class=\"page-link\">Previous </span></li>\n <li class=\"page-item\" *ngFor=\"let page of pagesCount;
25845 let currentElementIndex=index\">\n <a *ngIf=\"currentOffset != (currentElementIndex * listSize) \" class=\"page-link\" (click) = \"getListSort(null,null,searchResult.cacheKey, (currentElementIndex * listSize) )\" >{{ currentElementIndex + 1 }}</a>\n <a *ngIf=\"currentOffset == (currentElementIndex * listSize) \" class=\"page-link disabled\">{{ currentElementIndex + 1 }}</a>\n </li>\n <li *ngIf=\"currentOffset < (searchResult.totalCount - listSize)\" class=\"page-item\"><a class=\"page-link\" (click) = \"getListSort(null,null,searchResult.cacheKey, (currentOffset + listSize) )\">Next</a></li>\n <li *ngIf=\"currentOffset >= (searchResult.totalCount - listSize)\" class=\"page-item disabled\"><span class=\"page-link\">Next</span></li>\n </ul>\n </nav>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n</main>\n<!-- CHANGE PASSWORD POPUP (TEMPORARY)-->\n<div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"emailConfirm\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Are you sure?</h4>\n </div>\n <div class=\"modal-body\">\n <p>Do you want to email this list to your email address {{patronEmail}}?</p>\n <input type=\"hidden\" id=\"emailType\" value=\"\">\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\" sendingMail ? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button id=\"closeEmailModal\" class=\"btn btn-danger\" type=\"button\" data-dismiss=\"modal\">No</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click) =\"exportListEmail($event,searchResult.cacheKey)\">Yes</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- CHANGE PASSWORD POPUP (TEMPORARY)-->\n<app-footer *ngIf=\"!responseAPIstatus\"></app-footer>"); 25846 25847/***/ }), 25848 25849/***/ 16438: 25850/*!***********************************************************************************************************************************!*\ 25851 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/settings/history/history.component.html ***! 25852 \***********************************************************************************************************************************/ 25853/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25854 25855"use strict"; 25856__webpack_require__.r(__webpack_exports__); 25857/* harmony default export */ __webpack_exports__["default"] = ("<main class=\"my-account\">\n\t<div class=\"loader-inner-container\" *ngIf=\"!responseAPIstatus\">\n\t\t<div class=\"loader-inner\">\n\t\t <div class=\"loader-dot\"></div>\n\t\t <div class=\"loader-dot\"></div>\n\t\t <div class=\"loader-dot\"></div>\n\t\t <div class=\"loader-dot\"></div>\n\t\t <div class=\"loader-dot\"></div>\n\t\t</div>\n\t</div>\n\t<div class=\"container-fluid\" *ngIf=\"responseAPIstatus\">\n\t\t<section class=\"widgets bread-crumbs\">\n\t \t<ul class=\"list-bread-crumbs\">\n\t \t\t<li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n\t \t\t<li>History</li>\n\t \t</ul>\n\t\t</section>\n\t\t<div class=\"search-sesults-top-head\">\n\t\t\t<p class=\"sort-by\"> Sort by:\n\t\t\t\t<span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author', 0, null)\">Author\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'author' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'author' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n\t\t\t\t</span>\n\t\t\t\t<span [ngClass]=\"[sortWith == 'checkout' ? 'active' : '']\" (click)=\"getListSort('checkout', 0, null)\">Checkout\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'checkout' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'checkout' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n\t\t\t\t</span>\n\t\t\t\t<span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title', 0, null)\">Title\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'title' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'title' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n\t\t\t\t</span>\n\t\t\t</p>\n\t\t</div>\n\t\t<section class=\"widgets onLoan\" infiniteScroll [infiniteScrollDistance]=\"50\" [infiniteScrollThrottle]=\"100\" (scrolled)=\"lazyLoading(currentOffset,listSize)\" [scrollWindow]=\"true\" style=\"height: auto;overflow-y: unset;\" >\n\t\t\t<div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n\t\t\t\t<div class=\"loader-inner\">\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t <div class=\"loader-dot\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t \t\t<div *ngIf=\"accountHistory == null || accountHistory?.data?.records?.length == 0 \" class=\"no-record-found\">\n\t \t\t<span *ngIf=\"responseAPIstatus\">\n\t\t\t <img src=\"/assets/images/No-Record-icon.png\">\n\t\t\t <p ><strong>Sorry!</strong> No circulation history available.</p>\n\t\t\t </span>\n\t \t\t</div>\n\t\t\t<div *ngIf=\"!viewRefresh\">\n\t\t\t\t<div *ngIf=\"accountHistory?.data\" >\n\t\t\t\t\t<!-- <div *ngIf=\"accountHistory?.data\" > -->\n\t\t\t\t\t<div class=\"book-box\" *ngFor=\"let history of accountHistory.data.records; index as i\"> \n\t\t\t\t\t<div class=\"book-image small-box\">\n\t\t\t\t\t\t<a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',history.resourceId]\">\n\t\t\t\t\t\t\t<span *ngFor=\"let image of history.images; let last = last; let imgCoun = index;\">\n\t\t\t\t\t\t\t\t<img attr.custom=\"{{ history.id }}{{ history.resourceHoldingId }}\" *ngIf=\"history.images != null && last\" src=\"{{ image.url}}\" (error)=\"imageError1(history.id+''+history.resourceHoldingId,history.images)\" (load) = \"imageLoad1(history.id+''+history.resourceHoldingId,history.images, imgCoun)\" name=\"{{ history.category.iconColor }}\" alt=\"{{ history.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span class=\"Placeholders {{ history.category.iconColor }}\" *ngIf=\"history.images == null || !history.images[0]\"><i class=\"material-icons md-48\" >{{ history.category.iconName }}</i></span> \n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"book-box-info myaccount-box-info small-box\" >\n\t\t\t\t\t\t<div class=\"myaccount-info-left\">\n\t\t\t\t\t\t<a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',history.resourceId]\">{{history.title}}</a>\n\t\t\t\t\t\t<div class=\"clearfix\"></div>\n\t\t\t\t\t\t<p class=\"barcode\" >{{ history.author }}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"myaccount-info-right\">\n\t\t\t\t\t\t\t<div class=\"ma-info-right-inner\">\n\t\t\t\t\t\t\t\t<ul class=\"myaccount-dates\">\n\t\t\t\t\t\t\t\t\t\t<li *ngIf=\"history.in != null\" class=\"dueDate\">{{ history.date | date: dateFormat }} - {{history.in.date | date: dateFormat}}</li>\n\t\t\t\t\t\t\t\t\t\t<li *ngIf=\"(history.in == null) && (history.lost == null)\" class=\"dueDate\">{{ history.date | date: dateFormat }} - Today</li>\n\t\t\t\t\t\t\t\t\t\t<li *ngIf=\"(history.in == null) && (history.lost != null)\" class=\"dueDate\">{{ history.date | date: dateFormat }} (Lost)</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n</main>\n<app-footer *ngIf=\"responseAPIstatus\" ></app-footer>\n"); 25858 25859/***/ }), 25860 25861/***/ 48757: 25862/*!*****************************************************************************************************************************************!*\ 25863 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/components/settings/my-account/my-account.component.html ***! 25864 \*****************************************************************************************************************************************/ 25865/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25866 25867"use strict"; 25868__webpack_require__.r(__webpack_exports__); 25869/* harmony default export */ __webpack_exports__["default"] = ("<main class=\"my-account\">\n\n <div class=\"loader-inner-container\" *ngIf=\"!responseAPIstatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"responseAPIstatus\">\n \t<section class=\"widgets bread-crumbs\">\n <ul class=\"list-bread-crumbs\">\n <li><a [routerLink]=\"['/']\"><i class=\"fas fa-home\"></i></a></li>\n <li>My Account</li>\n <li>{{ accountDetail.givenName }} {{ accountDetail.surname }}</li>\n </ul>\n <div *ngIf=\"accountDetail.balance\" class=\"outstanding-balance\">Account Balance <span>{{ currencyHelper(accountDetail.balance) }}</span></div>\n </section>\n <div class=\"search-sesults-top-head\">\n <p class=\"sort-by\">
25869 Sort by:\n <span [ngClass]=\"[sortWith == 'author' ? 'active' : '']\" (click)=\"getListSort('author', '')\">Author\n <i [ngClass]=\"[sortWith == 'author' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'author' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n </span>\n <span [ngClass]=\"[sortWith == 'due' ? 'active' : '']\" (click)=\"getListSort('due', '')\">Due\n <i [ngClass]=\"[sortWith == 'due' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'due' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n </span>\n <span [ngClass]=\"[sortWith == 'title' ? 'active' : '']\" (click)=\"getListSort('title', '')\">Title\n <i [ngClass]=\"[sortWith == 'title' && orderBy == 'asc' ? '' : 'hide']\" class=\"fas fa-arrow-up\"></i>\n\t\t\t\t\t<i [ngClass]=\"[sortWith == 'title' && orderBy == 'desc' ? '' : 'hide']\" class=\"fas fa-arrow-down\"></i>\n </span>\n </p>\n </div>\n <div class=\"loader-inner-container\" *ngIf=\"viewRefresh\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n\n <div *ngIf=\"!viewRefresh\">\n <section class=\"widgets onLoan\">\n <h4 class=\"section-title\">On Loan</h4>\n <div *ngIf=\"!accountDetail.onLoan[0]\" class=\"no-items-on-loan\">\n <span>You have no items on loan.</span>\n </div>\n <div *ngIf=\"accountDetail.onLoan[0]\">\n <div class=\"book-box\" *ngFor=\"let onLoan of accountDetail.onLoan; index as i\"> \n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',onLoan.resourceId]\">\n <!--span *ngFor=\"let imgase of onLoan.images; let last = last\">\n <img *ngIf=\"onLoan.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ onLoan.category.iconName }}\" (error)=\"imageError(onLoan.circOutId+''+onLoan.resourceId,onLoan.images)\" name=\"{{ onLoan.category.iconColor }}\" (load) = \"imageLoad(onLoan.circOutId+''+onLoan.resourceId,onLoan.images)\" attr.custom=\"{{ onLoan.circOutId }}{{ onLoan.resourceId }}\" > \n </span>\n <span class=\"Placeholders {{ onLoan.category.iconColor }}\" *ngIf=\"!onLoan.images[0]\">\n <i class=\"material-icons md-48\" >{{ onLoan.category.iconName }}</i> \n </span--> \n <span *ngFor=\"let imgase of onLoan.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ onLoan.circOutId }}{{ onLoan.resourceId }}\" *ngIf=\"onLoan.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError1(onLoan.circOutId+''+onLoan.resourceId,onLoan.images)\" (load) = \"imageLoad1(onLoan.circOutId+''+onLoan.resourceId,onLoan.images, imgCoun)\" name=\"{{ onLoan.category.iconColor }}\" alt=\"{{ onLoan.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span>\n <span class=\"Placeholders {{ onLoan.category.iconColor }}\" *ngIf=\"onLoan.images == null || !onLoan.images[0]\"><i class=\"material-icons md-48\" >{{ onLoan.category.iconName }}</i></span> \n </a>\n </div>\n <div class=\"book-box-info myaccount-box-info\">\n <div class=\"myaccount-info-left\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',onLoan.resourceId]\">{{ onLoan.title }} \n </a>\n <h4 class=\"call-number\">{{ onLoan.call }}</h4>\n <p class=\"author\">{{ onLoan.author }}</p>\n <p class=\"star-rating-info\" *ngIf=\"librarySetting?.data.settings.reviews.enabled\"><span *ngIf=\"librarySetting?.data.settings.ratings.enabled\"> Rate this title </span><span *ngIf=\"librarySetting?.data.settings.ratings.enabled && librarySetting?.data.settings.reviews.enabled\">or </span> \n <a *ngIf=\"isWriteReview\" (click) = \"showAddForm($event, onLoan.resourceId, onLoan.title,onLoan.author,i)\" href=\"#\" role=\"button\">Write a Review</a>\n </p>\n <div class=\"star-rating-outer\" *ngIf=\"librarySetting?.data.settings.ratings.enabled\">
25869\n <span class=\"star-rating\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[onLoan.ratings?.stars]\" ></star-rating> \n </span>\n <a *ngIf=\"onLoan.ratings != null\" class=\"rating-modal-btn\" href=\"#\" (click) = \"checkReviewStatus($event, onLoan.resourceId, i, 'onloan')\"><small class=\"star-count\" [ngClass]=\"librarySetting.data.settings.ratings.showCount ? '': 'hide'\">{{onLoan.ratings?.count}}</small></a>\n <a *ngIf=\"onLoan.ratings == null\" class=\"rating-modal-btn\" href=\"#\" (click) = \"checkReviewStatus($event, onLoan.resourceId, i, 'onloan')\"><small class=\"star-count\" [ngClass]=\"librarySetting.data.settings.ratings.showCount ? '': 'hide'\">0</small></a>\n <!-- <a class=\"rating-modal-btn\" data-toggle=\"modal\" href=\"#star-rating-modal\" role=\"button\"></a> -->\n </div>\n <div class=\"clearfix\"></div>\n <p class=\"description\">{{ onLoan.summary }}</p>\n <p class=\"barcode\" *ngIf=\"onLoan.barcode && librarySetting.data.settings.patron.account.showBarcode\" >{{ onLoan.barcode }}</p>\n </div>\n <div class=\"myaccount-info-right\">\n <div class=\"ma-info-right-inner\">\n\n <ul class=\"myaccount-dates\">\n <li *ngIf=\"onLoan.due.indexOf('23:59:59') > -1\" class=\"dueDate\" [ngClass]=\"onLoan.isDueToday === true? 'bg-orange' : onLoan.isOverdue? 'bg-red' : 'bg-green' \"><span>Due </span>{{ onLoan.due | date: dateFormat }} </li>\n\n <li *ngIf=\"onLoan.due.indexOf('23:59:59') == -1\" class=\"dueDate\" [ngClass]=\"onLoan.isDueToday === true? 'bg-green' : onLoan.isOverdue? 'bg-red' : '' \"><span>Due </span>{{ onLoan.due | date: dateTimeFormat }} </li>\n\n <li *ngIf=\"onLoan.due.indexOf('23:59:59') > -1\" class=\"CheckedOutDate\"><span>Out</span> {{ onLoan.checkedOut | date: dateFormat }} </li>\n <li *ngIf=\"onLoan.due.indexOf('23:59:59') == -1\" class=\"CheckedOutDate\"><span>Out</span> {{ onLoan.checkedOut | date: dateTimeFormat }} </li>\n\n <li class=\"cost\" *ngIf=\"librarySetting.data.settings.patron.account.showCost && onLoan.cost\"><span>Cost</span> {{currencyHelper(onLoan.cost)}}</li>\n\n <li class=\"overDue\" *ngIf=\"onLoan.canRenew && librarySetting.data.settings.patron.account.renew.enabled\">\n <button *ngIf=\"onLoan.canRenew && librarySetting.data.settings.patron.account.renew.enabled\" type=\"button\" (click)=\"renewTitle($event,onLoan.circOutId)\" type=\"button\" class=\"btn btn-primary btn-sm\"><i class=\"fa fa-refresh\"></i> Renew</button>\n <!-- <span *ngIf=\"!onLoan.canRenew\" class=\"overDue\">Over Due</span> --></li>\n </ul>\n\n\n </div>\n </div>\n </div>\n \n </div>\n </div>\n\n\n </section>\n\n <section class=\"widgets reservations\" *ngIf=\"librarySetting.data.settings.holds.available && librarySetting.data.settings.holds.enabled\">\n <h4 class=\"section-title\">Holds</h4>\n <div *ngIf=\"!accountDetail.holds[0]\" class=\"no-items-on-loan\">\n <span>You have no items on hold.</span>\n </div>\n <div *ngIf=\"accountDetail.holds[0]\">\n <div class=\"book-box\" *ngFor=\"let hold of accountDetail.holds; index as i\">\n <div class=\"book-image\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',hold.resourceId]\">\n <!--span *ngFor=\"let imgase of hold.images; let last = last\">\n <img *ngIf=\"hold.images[0] && last\" class=\"img-fluid\" src=\"{{ imgase.url }}\" alt=\"{{ hold.category.iconName }}\" (error)=\"imageError(hold.circHoldId+''+hold.resourceId,hold.images)\" name=\"{{ hold.category.iconColor }}\" (load) = \"imageLoad(hold.circHoldId+''+hold.resourceId,hold.images)\" attr.custom=\"{{ hold.circHoldId }}{{ hold.resourceId }}\" > \n </span>
25869\n \n <span class=\"Placeholders {{ hold.category.iconColor }}\" *ngIf=\"!hold.images[0]\">\n <i class=\"material-icons md-48\" >{{ hold.category.iconName }}</i> \n </span-->\n\n <span *ngFor=\"let imgase of hold.images; let last = last; let imgCoun = index;\">\n <img attr.custom=\"{{ hold.circHoldId }}{{ hold.resourceId }}\" *ngIf=\"hold.images != null && last\" src=\"{{ imgase.url}}\" (error)=\"imageError1(hold.circHoldId+''+hold.resourceId,hold.images)\" (load) = \"imageLoad1(hold.circHoldId+''+hold.resourceId,hold.images, imgCoun)\" name=\"{{ hold.category.iconColor }}\" alt=\"{{ hold.category.iconName }}\" attr.index=\"{{imgCoun}}\"/>\n </span>\n <span class=\"Placeholders {{ hold.category.iconColor }}\" *ngIf=\"hold.images == null || !hold.images[0]\"><i class=\"material-icons md-48\" >{{ hold.category.iconName }}</i></span> \n </a>\n </div>\n <div class=\"book-box-info myaccount-box-info\">\n <div class=\"myaccount-info-left\">\n <a class=\"book-box-head\" [routerLink]=\"['/resources/detail/single/',hold.resourceId]\">{{ hold.title }} \n </a>\n <h4 class=\"call-number\">{{ hold.call }}</h4>\n <p class=\"author\">{{ hold.author }}</p>\n <p class=\"star-rating-info\"*ngIf=\"librarySetting?.data.settings.reviews.enabled\"><span *ngIf=\"librarySetting?.data.settings.ratings.enabled\"> Rate this title </span><span *ngIf=\"librarySetting?.data.settings.ratings.enabled && librarySetting?.data.settings.reviews.enabled\">or </span> \n <a *ngIf=\"isWriteReview\" (click)=\"showAddForm($event, hold.resourceId, hold.title,hold.author,i)\" href=\"#\" role=\"button\">Write a Review</a>\n </p>\n <div class=\"star-rating-outer\" *ngIf=\"librarySetting?.data.settings.ratings.enabled\">\n <span class=\"star-rating\">\n <star-rating [readOnly] = \"true\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"[hold.ratings?.stars]\" ></star-rating> \n </span>\n <a *ngIf=\"hold.ratings != null\" class=\"rating-modal-btn\" href=\"#\" (click) = \"checkReviewStatus($event, hold.resourceId, i, 'holds')\"><small class=\"star-count\" [ngClass]=\"librarySetting.data.settings.ratings.showCount ? '': 'hide'\">{{hold.ratings?.count}}</small></a>\n <a *ngIf=\"hold.ratings == null\" class=\"rating-modal-btn\" href=\"#\" (click) = \"checkReviewStatus($event, hold.resourceId, i, 'holds')\"><small class=\"star-count\" [ngClass]=\"librarySetting.data.settings.ratings.showCount ? '': 'hide'\">0</small></a>\n <!-- <a class=\"rating-modal-btn\" data-toggle=\"modal\" href=\"#star-rating-modal\" role=\"button\"></a> -->\n </div>\n <div class=\"clearfix\"></div>\n <p class=\"description\">{{ hold.summary }}</p>\n \n </div>\n <div class=\"myaccount-info-right\">\n <div class=\"ma-info-right-inner\">\n\n \n <ul class=\"myaccount-dates\">\n <li class=\"holding bg-red\"><p class=\"status-caption\">{{ hold.statusCaption }}</p></li>\n <li class=\"barcode\" *ngIf=\"hold.barcode\"><span>Barcode</span> {{ hold.barcode }}</li>\n <li class=\"madedueDate\"><span>Made</span> {{ hold.date | date: 'M/d/yyyy' }}</li> \n <li ><span>Desired </span>{{ hold.desired | date: 'M/d/yyyy' }} </li>\n <li>\n <a class=\"btn btn-danger btn-sm\" data-toggle=\"modal\" href=\"#write-cancel-holds{{ hold.circHoldId }}\" role=\"button\"><i class=\"fa fa-times\"></i> Cancel Hold</a>\n\n </li>\n </ul>\n \n \n </div>\n </div>\n </div>\n \n <div class=\"modal fade\" id=\"write-cancel-holds{{ hold.circHoldId }}\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Do you want to cancel this hold?</h5>\n </div>\n <div class=\"modal-body\"> \n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click) = \"cancelHold($event,hold.circHoldId)\">\n <input id=\"cancelholdsClose{{ hold.circHoldId }}\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </section>\n </div>\n </div>
25869\n\n\n <div class=\"modal fade in modal-star-rating\" [ngClass]=\"showReviewModal? 'show' : 'hide'\" id=\"star-rating-modal\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\"> \n <button (click) = \"closeReviewStatus()\" type=\"button\" class=\"close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <h4 class=\"modal-title text-center\">How would you rate this?</h4>\n <span class=\"star-rating review\" *ngIf=\"showReviewModal\">\n <star-rating (onRatingChange)=\"starRatingTitle($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating> \n </span>\n </div>\n </div>\n </div>\n </div>\n\n<!-- Add review -->\n<div class=\"modal fade in\" id=\"write-review\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" [ngClass]=\"showAddFormStatus? 'show' : 'hide'\">\n <div class=\"modal-dialog modal-lg\" *ngIf=\"showAddFormStatus\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ titleForReview.title }}</h5>\n <button (click) = \"hideReviewModal()\" id=\"closereviewAdd\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" > <!-- -->\n <div class=\"row\">\n <!--\n <input type=\"hidden\" value=\"{{ resourceDetail.resourceId }}\" name=\"resourceid\" id=\"resourceid\">\n <input type=\"hidden\" value=\"{{ resourceDetail.title }}\" name=\"reviewTitle\" id=\"reviewTitle\">\n <input type=\"hidden\" value=\"{{ resourceDetail.author }}\" name=\"reviewAuthor\" id=\"reviewAuthor\">\n -->\n\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input class=\"form-control\" readonly placeholder=\"\" type=\"text\" name=\"name\" id=\"reviewerName\" value=\"{{ userDetail.firstName }} {{ userDetail.lastName }} \">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\" *ngIf=\"librarySetting?.data.settings.ratings.enabled\">\n <label>Star rating</label>\n <span class=\"star-rating review\">\n <input type=\"hidden\" name=\"starrating\" value=\"0\" id=\"reviewStar\">\n <star-rating (onRatingChange)=\"onRatingChange($event)\" [getHalfStarVisible] =\"true\" [starType]=\"'svg'\" [showHalfStars]=\"true\" [step]=\"0.5\" [rating]= \"0\" ></star-rating> \n </span>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Review Text</label>\n <textarea id=\"reviewText\" class=\"form-control\" ></textarea>\n </div>\n <div class=\"clearfix\"></div> \n <label>Categories</label>\n <div class=\"row reviewCategory\">\n <div class=\"col-md-4\" *ngIf=\"reviewCategories.data.length == 0\">\n <select class=\"form-control\" name=\"review_category\">\n <option value=''>Select a Category</option>\n </select>\n </div>\n <div class=\"col-md-4 reviewCategory\" *ngFor=\"let category of reviewCategories.data\">\n <label class=\"check-list\"><input type=\"checkbox\" name=\"review_category\" value=\"{{ category.id }}\"><span class=\"checkmark\"></span> {{ category.caption}}</label> \n </div> \n <div class=\"clearfix\"></div>\n </div>\n \n \n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" id=\"loginDotts\" *ngIf=\"saveReviewStatus\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Submit\" (click) = \"saveReview()\">\n <div></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n</main>\n\n<app-footer *ngIf=\"responseAPIstatus\" ></app-footer>"); 25870 25871/***/ }), 25872 25873/***/ 84313: 25874/*!*******************************************************************************************************************!*\ 25875 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/directory/directory.component.html ***! 25876 \*******************************************************************************************************************/ 25877/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25878 25879"use strict"; 25880__webpack_require__.r(__webpack_exports__); 25881/* harmony default export */ __webpack_exports__["default"] = ("<main id=\"content\" role=\"main\" class=\"goSurpass\">\n <header class=\"go-header-section\">\n <nav class=\"navbar navbar-light\">\n <a class=\"navbar-brand\" href=\"#\">\n <img class=\"d-none d-lg-block\" src=\"../../assets/images/logo.png\" alt=\"logo\">\n <img class=\"d-block d-lg-none\" src=\"../../assets/images/logo-white.png\" alt=\"logo\">\n </a>\n </nav>\n </header>\n <div class=\"section-one d-lg-flex position-relative hideI\">\n <div class=\"container-fluid d-flex align-items-center min-vh-100\">\n <!-- Content -->\n <div class=\"go-left-section\">\n <div class=\"w-100\">\n <div class=\"row\">\n <div class=\"col-lg-5\">\n <div class=\"search-form\">\n <div class=\"mb-5\">\n <h1 class=\"main-title\">Let's Find Your Library</h1>\n <p class=\"lead\">Type the first word or letters of your library name</p>\n </div>\n <div class=\"go-search\">\n <input list=\"opaclist\" placeholder=\"Library Name\" (keyup)=\"finding($event)\" class=\"form-control\" type=\"text\">\n <button type=\"button\"><img width=\"25\" src=\"../../assets/images/search-icon.svg\"></button>\n <datalist id=\"opaclist\">\n \n </datalist>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n <div class=\"countdown-curve\"></div>\n <div class=\"image-section\">\n <img class=\"image-right-content-curve\" src=\"../../assets/images/curve-right-img.png\" alt=\"Find Your Library image\">\n <img class=\"image-right-content\" src=\"../../assets/images/search_lib.jpg\" alt=\"Find Your Library image\">\n <div class=\"overlay-image\"></div>\n </div>\n <div class=\"poweredBy\">Powered by: <a href=\"#\">surpasssoftware.com</a></div>\n <!-- End Content -->\n </div>\n </div>\n <div class=\"section-two d-lg-flex position-relative showI\" >\n <div class=\"container-fluid d-flex align-items-center min-vh-100\">\n <!-- Content -->\n <div class=\"go-left-section\">\n <div class=\"w-100\">\n <div class=\"row\">\n <div class=\"col-lg-7\">\n <div class=\"search-form\">\n <div class=\"mb-5\">\n <h1 class=\"main-title\">Deltona Alliance Church Library</h1>\n </div>\n <div class=\"btn-goLibrary\">\n <div class=\"btn-goLibrary-inner\">\n <a class=\"btn btn-primary\" href=\"#\">Go to Deltona Alliance Church Library\n <div class=\"goLibrary-rightBtn\">\n <img src=\"../../assets/images/btn-curve.png\" alt=\"btn-curve.png\">\n </div>\n </a>\n </div>\n <div class=\"text-center find-anotherLibrary\">\n <a href=\"#\" id=\"find-another\" (click)=\"findAnother($event)\">\n <img class=\"fal-icon\" src=\"../../assets/images/fal-icon.png\" alt=\"icon\"><img class=\"fal-icon-mobile\" src=\"../../assets/images/fal-icon-white.png\" alt=\"icon\"> Find Another Library</a>\n </div>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n <div class=\"countdown-curve\">\n <div class=\"countdown-bottom\">\n <div id=\"countdown\">\n <div id=\"countdown-number\"></div>\n <svg height=\"100\" width=\"100\">\n <circle r=\"40\" cx=\"40\" cy=\"40\"></circle>\n </svg>\n </div>\n </div>\n </div>\n <div class=\"image-section\">\n <img class=\"image-right-content-curve\" src=\"../../assets/images/curve-right-img.png\" alt=\"Find Your Library image\">\n <img class=\"image-right-content\" src=\"../../assets/images/go_lib.jpg\" alt=\"Find Your Library image\">\n <div class=\"overlay-image\"></div>\n </div>\n <div class=\"poweredBy\">Powered by: <a href=\"#\">surpasssoftware.com</a></div>\n <!-- End Content -->\n </div>
25881 \n </div>\n</main>"); 25882 25883/***/ }), 25884 25885/***/ 63152: 25886/*!***********************************************************************************************************!*\ 25887 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/error/error.component.html ***! 25888 \***********************************************************************************************************/ 25889/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25890 25891"use strict"; 25892__webpack_require__.r(__webpack_exports__); 25893/* harmony default export */ __webpack_exports__["default"] = ("<div class=\"error-url-page\" *ngIf=\"errorType == 'internal'\">\n\t<div class=\"error-url-page-inner\">\n<img src=\"../assets/images/error-url.png\" alt=\"error\"/>\n\t<h2><strong>Dude Where's</strong> My Webpage</h2>\n\t<p>The operation could not be completed. Error 500.</p>\n\t<p>We are working on getting this fixed as soon as we can. You may be able to try again.</p>\n<!-- <a class=\"btn btn-primary btn-md\" href=\"#\"><i _ngcontent-c8=\"\" class=\"far fa-arrow-alt-circle-left\"></i> Go Back</a> -->\n</div>\n</div>\n<div class=\"internalerror-page\" *ngIf=\"errorType != 'internal'\">\n\t<div class=\"internalerror-page-inner\">\n\t\t<div class=\"container-fluid\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-lg-6 col-md-7\">\n\t<h2>This page is lost in <strong>space!</strong></h2>\n\t<p>The requested url was not found on this server </p>\n <!-- <a class=\"btn btn-primary btn-md\" href=\"#\"><i _ngcontent-c8=\"\" class=\"far fa-arrow-alt-circle-left\"></i> Go Back</a> -->\n</div>\n\t\t\t</div>\n</div>\n</div>\n</div>"); 25894 25895/***/ }), 25896 25897/***/ 73945: 25898/*!***************************************************************************************************************************!*\ 25899 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/internalerror/internalerror.component.html ***! 25900 \***************************************************************************************************************************/ 25901/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25902 25903"use strict"; 25904__webpack_require__.r(__webpack_exports__); 25905/* harmony default export */ __webpack_exports__["default"] = ("<div class=\"internalerror-page\">\n\t<div class=\"internalerror-page-inner\">\n<img src=\"../assets/images/error-url.png\" alt=\"error\"/>\n\t<h2><strong>Dude Where's</strong> My Webpage</h2>\n\t<p>the requested url was not found on this server </p>\n<a class=\"btn btn-primary btn-md\" href=\"#\"><i _ngcontent-c8=\"\" class=\"far fa-arrow-alt-circle-left\"></i> Go Back</a>\n</div>\n</div>\n\n"); 25906 25907/***/ }), 25908 25909/***/ 34381: 25910/*!**********************************************************************************************************************!*\ 25911 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/layout/default/default.component.html ***! 25912 \**********************************************************************************************************************/ 25913/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25914 25915"use strict"; 25916__webpack_require__.r(__webpack_exports__); 25917/* harmony default export */ __webpack_exports__["default"] = ("<main *ngIf=\"microsoftSsoPending\">\n <div class=\"google-img-main thg\">\n <div class=\"google-inner\" >\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <span id=\"googleError\">{{ microsoftSsoPendingMessage }}</span>\n </div>\n </div>\n</main>\n<app-header *ngIf=\"settingLoad && !microsoftSsoPending && route == 'Home'\" googleError=\"{{error}}\"></app-header>\n<app-headerinner *ngIf=\"settingLoad && !microsoftSsoPending && route != 'Home'\"></app-headerinner>\n<app-banner *ngIf=\"settingLoad && !microsoftSsoPending\" Banner = \"{{ route }}\" bannerText = \"{{ bannerText }}\" ></app-banner>\n<app-search *ngIf=\"settingLoad && !microsoftSsoPending && route == 'Home'\" pageType = \"{{ route }}\"></app-search>\n<router-outlet *ngIf=\"settingLoad && !microsoftSsoPending\" ></router-outlet>\n<main id=\"content\" role=\"main\" class=\"goSurpass\" *ngIf=\"libraryDirectory\">\n <header class=\"go-header-section\">\n <nav class=\"navbar navbar-light\">\n <a class=\"navbar-brand\" href=\"#\">\n <img class=\"d-none d-lg-block\" src=\"../../assets/images/logo.png\" alt=\"logo\">\n <img class=\"d-block d-lg-none\" src=\"../../assets/images/logo-white.png\" alt=\"logo\">\n </a>\n </nav>\n </header>\n <div class=\"section-one d-lg-flex position-relative\">\n <div class=\"container-fluid d-flex align-items-center min-vh-100\">\n <!-- Content -->\n <div class=\"go-left-section\">\n <div class=\"w-100\">\n \t<div class=\"row goBox\" style=\"display:block\">\n <div class=\"col-lg-7\">\n <div class=\"search-form\">\n\t <div class=\"mb-5\">\n\t <h1 class=\"main-title\" id=\"goTitle\"></h1>\n\t </div>\n\t <div class=\"btn-goLibrary\">\n\t <div class=\"btn-goLibrary-inner\">\n\t <a id=\"dLibLink\" class=\"btn btn-primary\" href=\"#\">Go to Deltona Alliance Church Library\n\t <div class=\"goLibrary-rightBtn\">\n\t <img src=\"../../assets/images/btn-curve.png\" alt=\"btn-curve.png\">\n\t </div>\n\t </a>\n\t </div>\n\t <div class=\"text-center find-anotherLibrary\">\n\t <a href=\"#\" id=\"find-another\" (click)=\"findAnother($event)\">\n\t <img class=\"fal-icon\" src=\"../../assets/images/fal-icon.png\" alt=\"icon\"><img class=\"fal-icon-mobile\" src=\"../../assets/images/fal-icon-white.png\" alt=\"icon\"> Find Another Library</a>\n\t </div>\n\t </div>\n\t </div>\n </div>\n </div>\n <div class=\"row searchBox\" style=\"display:none\">\n <div class=\"col-lg-5\">\n <div class=\"search-form buttonGen\">\n <div class=\"mb-5\">\n <h1 class=\"main-title\">Let's Find Your Library</h1>\n <p class=\"lead\">Type the first word or letters of your library name</p>\n </div>\n <div class=\"go-search\">\n <input list=\"opaclist\" placeholder=\"Library Name\" (keyup)=\"finding($event)\" (input)=\"createButton($event)\" class=\"form-control\" type=\"text\">\n <button type=\"button\"><img width=\"25\" src=\"../../assets/images/search-icon.svg\"></button>\n <datalist id=\"opaclist\">\n \n </datalist>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"countdown-curve\">\n \t<div class=\"countdown-bottom goBox\" style=\"display:block\">\n <div id=\"countdown\">\n <div id=\"countdown-number\"></div>\n <svg height=\"100\" width=\"100\">\n <circle r=\"40\" cx=\"40\" cy=\"40\"></circle>\n </svg>\n </div>\n </div>\n </div>\n <div class=\"image-section\">\n <img class=\"image-right-content-curve\" src=\"../../assets/images/curve-right-img.png\" alt=\"Find Your Library image\">\n <img class=\"image-right-content searchLib\" src=\"../../assets/images/search_lib.jpg\" alt=\"Find Your Library image\">\n <img class=\"image-right-content goLib\" src=\"../../assets/images/go_lib.jpg\" alt=\"Find Your Library image\">\n <div class=\"overlay-image\"></div>\n </div>\n <div class=\"poweredBy\">Powered by: <a href=\"#\">surpasssoftware.com</a></div>\n <!-- End Content -->\n </div>\n </div>\n <!--\n <div class=\"section-two d-lg-flex position-relative showI\" >\n <div class=\"container-fluid d-flex align-items-center min-vh-100\">\n\n <div class=\"go-left-section\">\n <div class=\"w-100\">\n <div class=\"row\">\n <div class=\"col-lg-7\">\n <div class=\"search-form\">\n <div class=\"mb-5\">\n <h1 class=\"main-title\">Deltona Alliance Church Library</h1>\n </div>\n <div class=\"btn-goLibrary\">\n <div class=\"btn-goLibrary-inner\">\n <a class=\"btn btn-primary\" href=\"#\">Go to Deltona Alliance Church Library\n <div class=\"goLibrary-rightBtn\">\n <img src=\"../../assets/images/btn-curve.png\" alt=\"btn-curve.png\">\n </div>\n </a>\n </div>\n <div class=\"text-center find-anotherLibrary\">\n <a href=\"#\" id=\"find-another\" (click)=\"findAnother($event)\">\n <img class=\"fal-icon\" src=\"../../assets/images/fal-icon.png\" alt=\"icon\"><img class=\"fal-icon-mobile\" src=\"../../assets/images/fal-icon-white.png\" alt=\"icon\"> Find Another Library</a>\n </div>\n </div>\n </div>\n </div>\n </div> \n </div>\n </div>\n <div class=\"countdown-curve\">\n <div class=\"countdown-bottom\">\n <div id=\"countdown\">\n <div id=\"countdown-number\"></div>\n <svg height=\"100\" width=\"100\">\n <circle r=\"40\" cx=\"40\" cy=\"40\"></circle>\n </svg>\n </div>\n </div>\n </div>\n <div class=\"image-section\">\n <img class=\"image-right-content-curve\" src=\"../../assets/images/curve-right-img.png\" alt=\"Find Your Library image\">\n <img class=\"image-right-content\" src=\"../../assets/images/go_lib.jpg\" alt=\"Find Your Library image\">\n <div class=\"overlay-image\"></div>\n </div>\n <div class=\"poweredBy\">Powered by: <a href=\"#\">surpasssoftware.com</a></div>\n\n </div>
25917 \n </div>\n\t-->\n</main>\n<!-- <main *ngIf=\"!(parameters.tenant == 'THG' || parameters.tenant == 'thg') && googleLogin\">\n <div class=\"google-img-main notThg {{parameters.tenant}}\">\n <div class=\"google-inner\" >\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <span id=\"googleError\">Google Login ...</span>\n <span id=\"googleError\" class=\"googleShow hide\">\n <button type=\"button\" class=\"btn btn-danger pull-left\" (click)=\"goBack($event)\"><i class=\"fa fa-undo\"></i> Go back</button>\n <button type=\"button\" id=\"googleLoginButton\" class=\"btn btn-primary pull-right\" #loginRef ><i class=\"fab fa-google\"></i> Try Again</button>\n </span>\n <span id=\"googleError\" class=\"googleShow googleErr hide\" style=\"padding-top:10px; color:red; text-transform: none; font-weight: 400;letter-spacing: 0px;\">Popup Closed by user.</span>\n </div>\n </div>\n</main> -->\n<main *ngIf=\"googleLogin\">\n <div class=\"google-img-main thg\">\n <div class=\"google-inner\" >\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <span id=\"googleError\">Google Login ...</span>\n <div id=\"buttonDiv\" ></div>\n <div class=\"w-100\">\n <button type=\"button\" style=\"margin-top:10px; width:350px;\" class=\"btn btn-danger pull-left\" (click)=\"goBack($event)\">\n <i class=\"fa fa-undo\"></i> Go back\n </button>\n </div>\n <!-- <span id=\"googleError\" class=\"googleShow hide\">\n <button type=\"button\" class=\"btn btn-danger pull-left\" (click)=\"goBack($event)\"><i class=\"fa fa-undo\"></i> Go back</button>\n <button type=\"button\" id=\"googleLoginButton\" class=\"btn btn-primary pull-right\" #loginRef ><i class=\"fab fa-google\"></i> Try Again</button>\n </span> -->\n <!--div id=\"g_id_onload\" data-client_id=\"1003925052394-fllpkk5hbvna7i5hif1hcimh08tqsatv.apps.googleusercontent.com\" data-callback=\"prepareLoginButton()\"></div>\n <div class=\"g_id_signin\" data-type=\"standard\"></div-->\n <span id=\"googleError\" class=\"googleShow googleErr hide\" style=\"padding-top:10px; color:red; text-transform: none; font-weight: 400;letter-spacing: 0px;\">Popup Closed by user.</span>\n </div>\n </div>\n</main>"); 25918 25919/***/ }), 25920 25921/***/ 53067: 25922/*!*******************************************************************************************************************!*\ 25923 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/share/footer/footer.component.html ***! 25924 \*******************************************************************************************************************/ 25925/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25926 25927"use strict"; 25928__webpack_require__.r(__webpack_exports__); 25929/* harmony default export */ __webpack_exports__["default"] = ("<footer class=\"main-footer\" *ngIf=\"gloalSetting.data\">\n <div class=\"border-style\">\n <div class=\"scrollTop-outer\">\n <div id=\"scrollTop\">\n <div class=\"d-flex align-items-center justify-content-end\"><i class=\"fa fa-long-arrow-up\"></i>Top</div>\n </div>\n </div>\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <ul class=\"footer-nav\">\n <li><a [routerLink]=\"['/']\" routerLinkActive=\"active\" [routerLinkActiveOptions]=\"{ exact: true }\">Home</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.explore\"><a routerLinkActive=\"active\" [routerLink]=\"['/explore',0]\">Explore</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.new\"><a [routerLink]=\"['/new']\" routerLinkActive=\"active\" >New in Library </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.popular\"><a [routerLink]=\"['/popular']\" routerLinkActive=\"active\">Popular Titles </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.lists\"><a routerLinkActive=\"active\" [routerLink]=\"['/reading-lists']\">Resource Lists </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.news\"><a [routerLink]=\"['/news']\" routerLinkActive=\"active\">Library News </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.awards\"><a [routerLink]=\"['/awards']\" routerLinkActive=\"active\">Awards & Honors</a></li>\n </ul>\n <hr class=\"footer-dvder\">\n </div>\n <div class=\"col-lg-4 col-md-12 col-sm-12 col-12 EditDropContent\">\n <div class=\"EditFooterContentInner\">\n <a href=\"\" class=\"brand\"> \n <img *ngIf=\"gloalSetting.data.settings.appearance.banner.logo.img\" class=\"library-name\" src=\"{{ gloalSetting.data.settings.appearance.banner.logo.img }}\" alt=\"image\">\n <!-- <span *ngIf=\"gloalSetting.data.settings.appearance.banner.main.line1\"> {{ gloalSetting.data.settings.appearance.banner.main.line1 }}</span>\n <br/> -->
25929\n <span *ngIf=\"gloalSetting.data.settings.appearance.banner.main.line2\">{{ gloalSetting.data.settings.appearance.banner.main.line2 }}</span>\n </a>\n <ul class=\"social-icons list-inline\">\n <li *ngIf=\"gloalSetting.data.settings.footer.socialMedia.facebook\" class=\"list-inline-item\"><a href=\"{{ gloalSetting.data.settings.footer.socialMedia.facebook }}\" target=\"_blank\" title=\"Facebook\"><i class=\"fab fa-facebook\"></i></a></li>\n <li *ngIf=\"gloalSetting.data.settings.footer.socialMedia.twitter\" class=\"list-inline-item\"><a href=\"{{ gloalSetting.data.settings.footer.socialMedia.twitter }}\" target=\"_blank\" title=\"Twitter\"><i class=\"fab fa-twitter\"></i></a></li>\n <li *ngIf=\"gloalSetting.data.settings.footer.socialMedia.instagram\" class=\"list-inline-item\"><a href=\"{{ gloalSetting.data.settings.footer.socialMedia.instagram }}\" target=\"_blank\" title=\"Instagram\"><i class=\"fab fa-instagram\"></i></a></li>\n <li *ngIf=\"gloalSetting.data.settings.footer.socialMedia.pinterest\" class=\"list-inline-item\"><a href=\"{{ gloalSetting.data.settings.footer.socialMedia.pinterest }}\" target=\"_blank\" title=\"Pinterest\"><i class=\"fab fa-pinterest\"></i></a></li>\n </ul>\n <div class=\"btn-group edit-widgets-btn\"> \n <button class=\"btn btn-edit\" type=\"button\" (click)=\"shareLinkSettings($event)\">\n <i class=\"fa fa-pencil-square-o\"></i>\n </button>\n <!-- <button class=\"btn btn-remove\" type=\"button\"><i class=\"fa fa-times\"></i></button> -->\n </div>\n <!-- social share editors -->\n <div class=\"EditDropContentInner\" [ngClass]=\"shareLinkEditors? 'show' : 'hide'\" *ngIf=\"shareLinkEditors\" id=\"shareLinkEditors\">\n <div class=\"input-group SocialIconsEdit\">\n <div class=\"input-group-append\">\n <span class=\"input-group-text\"><i class=\"fab fa-facebook\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Facebook URL\" value=\"{{ gloalSetting.data.settings.footer.socialMedia.facebook }}\" id=\"selectFacebookInp\">\n </div>\n <div class=\"input-group SocialIconsEdit\">\n <div class=\"input-group-append\">\n <span class=\"input-group-text\"><i class=\"fab fa-twitter\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Twitter URL\" value=\"{{ gloalSetting.data.settings.footer.socialMedia.twitter }}\" id=\"selectTwitterInp\">\n </div>\n <div class=\"input-group SocialIconsEdit\">\n <div class=\"input-group-append\">\n <span class=\"input-group-text\"><i class=\"fab fa-instagram\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Instagram URL\" value=\"{{ gloalSetting.data.settings.footer.socialMedia.instagram }}\" id=\"selectInstaInp\">\n </div>\n <div class=\"input-group SocialIconsEdit\">\n <div class=\"input-group-append\">\n <span class=\"input-group-text\"><i class=\"fab fa-pinterest\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Pinterest URL\" value=\"{{ gloalSetting.data.settings.footer.socialMedia.pinterest }}\" id=\"selectPintrstInp\">\n </div>\n <button class=\"btn btn-danger\" (click) = \"cancelEditing()\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" (click) = \"saveSocialLinks($event)\">Save</button>\n </div>\n <!-- social share editors -->\n </div>\n </div>\n <div class=\"col-lg-4 col-md-4 col-sm-6 col-12 EditDropContent\" [ngClass]=\"gloalSetting.data.settings.footer.links[0]? 'show' : 'hide'\">\n <div class=\"EditFooterContentInner\">\n <h5>Links</h5>\n <ul class=\"links list-unstyled\">\n <li *ngFor=\"let item of gloalSetting.data.settings.footer.links; let i = index\">\n <a href=\"{{item.url}}\" target=\"_blank\"> {{item.caption}}</a>\n </li>\n </ul>\n <div class=\"btn-group edit-widgets-btn\"> \n <button class=\"btn btn-edit \" type=\"button\" (click)=\"linkSettings($event)\"><i class=\"fa fa-pencil-square-o\"></i></button>\n </div>\n <!-- links editors -->\n <div class=\"EditDropContentInner\" [ngClass] = \"linksEditors? 'show' : 'hide'\" *ngIf=\"linksEditors\" id=\"linksEditors\">\n <div class=\"EditLinksFooterScroll\">\n <div class=\"form-group-main EditLinksFooter sa_rel_delete_cont hide\" >
25929\n <span class=\"sa_abso_delete_icon\" (click)=\"removeLink($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\">\n <label>Title</label>\n <input class=\"form-control\" name=\"title\" type=\"text\">\n </div>\n <div class=\"form-group\">\n <label>URL</label>\n <input class=\"form-control\" name=\"url\" type=\"text\">\n </div>\n </div>\n <div class=\"form-group-main EditLinksFooter sa_rel_delete_cont\" *ngFor=\"let item of gloalSetting.data.settings.footer.links; let i = index\">\n <span class=\"sa_abso_delete_icon\" (click)=\"removeLink($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\">\n <label>Title</label>\n <input class=\"form-control\" name=\"title\" type=\"text\" value=\"{{ item.caption }}\">\n </div>\n <div class=\"form-group\">\n <label>URL</label>\n <input class=\"form-control\" name=\"url\" type=\"text\" value=\"{{ item.url }}\">\n </div>\n </div>\n <div class=\"form-group-main EditLinksFooter sa_rel_delete_cont\" *ngIf=\"!gloalSetting.data.settings.footer.links[0]\">\n <span class=\"sa_abso_delete_icon\" (click)=\"removeLink($event)\"><i class=\"fas fa-times\"></i></span>\n <div class=\"form-group\">\n <label>Title</label>\n <input class=\"form-control\" name=\"title\" type=\"text\">\n </div>\n <div class=\"form-group\">\n <label>URL</label>\n <input class=\"form-control\" name=\"url\" type=\"text\">\n </div>\n </div>\n <button class=\"AddLinksDetails\" (click)=\"addLink($event)\"><i class=\"fa fa-plus \"></i> Add Another Link</button>\n </div>\n <button class=\"btn btn-danger\" (click) = \"cancelEditing()\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" (click) = \"saveLinks($event)\">Save</button>\n </div>\n <!-- links editors -->\n </div>\n </div>\n <div class=\"col-lg-4 col-md-4 col-sm-6 col-12 EditDropContent\" [ngClass]=\"gloalSetting.data.settings.footer.contact.email != '' || gloalSetting.data.settings.footer.contact.phone != '' || gloalSetting.data.settings.footer.contact.web != ''? 'show' : 'hide' \">\n <div class=\"EditFooterContentInner\">\n <h5>Contact Us</h5>\n <ul class=\"links list-unstyled\">\n <li *ngIf=\"gloalSetting.data.settings.footer.contact.phone\">{{ gloalSetting.data.settings.footer.contact.phone }}</li> \n <li *ngIf=\" gloalSetting.data.settings.footer.contact.email\"><a href=\"mailto:{{ gloalSetting.data.settings.footer.contact.email }}\">{{ gloalSetting.data.settings.footer.contact.email }}</a> </li>\n <li *ngIf=\" gloalSetting.data.settings.footer.contact.web\"><a href=\"{{ gloalSetting.data.settings.footer.contact.web }}\" target=\"_blank\">{{ gloalSetting.data.settings.footer.contact.web }}</a> </li>\n </ul>\n <div class=\"btn-group edit-widgets-btn\"> \n <button class=\"btn btn-edit \" type=\"button\" (click)=\"contactLinkSettings($event)\"><i class=\"fa fa-pencil-square-o\"></i></button>\n </div>\n <!-- contact editors -->\n <div class=\"EditDropContentInner\" [ngClass]=\"contactEditor? 'show' : 'hide'\" *ngIf=\"contactEditor\">\n <div class=\"input-group contactEdit\">\n <div class=\"input-group-prepend\">\n <span class=\"input-group-text\"><i class=\"fas fa-phone\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter Your Phone\" name=\"contact_phone\" value=\"{{ gloalSetting.data.settings.footer.contact.phone }}\">\n </div>\n <div class=\"input-group contactEdit\">\n <div class=\"input-group-prepend\">
25929\n <span class=\"input-group-text\"><i class=\"fas fa-envelope\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter Your Email\" name=\"contact_email\" value=\"{{ gloalSetting.data.settings.footer.contact.email }}\">\n </div>\n <div class=\"input-group contactEdit\">\n <div class=\"input-group-prepend\">\n <span class=\"input-group-text\"><i class=\"fas fa-globe\"></i></span>\n </div>\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter Your Website Link\" name=\"contact_website\" value=\"{{ gloalSetting.data.settings.footer.contact.web }}\">\n </div>\n <button class=\"btn btn-danger\" (click) = \"cancelEditing()\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" (click) = \"saveContact($event)\">Save</button>\n </div>\n <!-- contact editors -->\n </div>\n </div>\n </div>\n </div>\n <div class=\"copyrights\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-md-7\">\n <p><a [routerLink]=\"['/']\" class=\"external\">Surpass Cloud OPAC </a> </p>\n </div>\n <div class=\"col-md-5 text-right\">\n <p>© {{ years }} Surpass Software LLC </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</footer>\n\n<!-- Are you there POPUP -->\n<div id=\"ruthere\">\n <div class=\"ruthereInner\">\n <h4>Are you still there{{patronLoggedIn? ', '+firstName : ''}}?\n <div style=\"font-size: 18px; color: rgb(148, 148, 148)\">\n {{patronLoggedIn? 'If not, you will be logged out in': 'If not, this session will reset in'}}\n {{count}} seconds.\n </div> </h4>\n <button (click) = \"resetTimmer()\" class=\"ruyes\">Yes I'm Here</button>\n <button (click) = \"logout()\" class=\"ruyes-danger\">{{patronLoggedIn? 'Log Out': 'Reset'}}</button>\n </div>\n</div>\n<!-- Are you there POPUP -->\n\n<!-- change password POPUP -->\n<div class=\"modal fade form-control-icon\" id=\"change-password-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" *ngIf=\"!forgotPassword\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Change Password</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <form autocomplete=\"no\">\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-eye-slash\" (click) = \"showPassword($event)\"></i></span>\n <input class=\"form-control\" placeholder=\"Current Password\" type=\"password\" id=\"oldpassword-email\" Runat=\"server\" autocomplete=\"off\">\n </div>\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-eye-slash\" (click) = \"showPassword($event)\"></i></span>\n <input class=\"form-control\" placeholder=\"New Password\" type=\"password\" id=\"newpassword-email\" >\n </div>\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-eye-slash\" (click) = \"showPassword($event)\"></i></span>\n <input class=\"form-control\" placeholder=\"Confirm New Password\" type=\"password\" id=\"confirmpassword-email\" >\n </div>\n </form>\n <div class=\"form-group\" id=\"passwordError\"></div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkPassword? 'show' : 'hide'\" id=\"updateDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click) = 'updatePassword($event)'>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- change password POPUP -->\n\n<!-- change Email POPUP -->\n<div class=\"modal fade form-control-icon\" id=\"change-email-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Update Email</h4>\n <button id=\"closeChangeEmail\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\">\n <form autocomplete=\"off\" >\n <div class=\"form-group\">
25929\n <span class=\"input-icon\"><i class=\"fas fa-envelope\" ></i></span>\n <input class=\"form-control\" placeholder=\"Enter email address\" type=\"text\" id=\"new-email\" />\n <p id=\"emailError\"></p>\n </div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"updatingEmail? 'show' : 'hide'\" id=\"updateDotts\" >\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button class=\"submit-btn\" type=\"button\" value=\"Save\" (click) = 'changeEmail($event)'>Update</button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n<!-- change Email POPUP -->\n<!-- change Email Response POPUP -->\n<div class=\"modal fade form-control-icon\" id=\"response-email-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"false\" [ngClass]=\"emailUpdateRes ? 'show':'hide'\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" >\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Confirm Email Address</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\" (click)=\"closeEmailRes()\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"emailUpdateResMail\">\n <div class=\"form-group\">\n <p class=\"mB0\" id=\"messageSent\">Please check your inbox for an email from the library and use the link in that message to confirm your email address.</p>\n </div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" id=\"updateDotts\" [ngClass]=\"updatingEmail? 'show' : 'hide'\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button class=\"btn btn-primary\" type=\"button\" (click)=\"resendUpdateEmail($event)\">Send Again</button>\n <button class=\"btn btn-primary pull-right\" type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeEmailRes()\">OK</button>\n </div>\n </div>\n <div class=\"modal-body\" *ngIf=\"!emailUpdateResMail\">\n <div class=\"form-group\">\n <p class=\"mB0\">Your email has been updated.</p>\n </div>\n <div class=\"login-dot-container\">\n <button class=\"btn btn-primary pull-right\" type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeEmailRes()\">OK</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- change Email Response POPUP -->\n\n\n<!-- LOGIN POPUP -->\n<div class=\"modal fade form-control-icon\" id=\"login-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" [ngClass]=\"(gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()) ? 'socialLogin':'' \" *ngIf=\"!gloalSetting.data.settings.patron.login.required\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" *ngIf=\"!forgotPassword\">\n <div class=\"modal-header\">\n <div [ngClass]=\"(gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()) ? 'modal-header-inner':'' \">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Log In <span *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()\"> With</span></h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeLogin()\">
25929\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n <div class=\"login-top-btn\">\n <button *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true\" type=\"button\" class=\"fa-btn\" (click)=\"login()\"> <i class=\"fab fa-facebook\"></i> Facebook</button>\n <button *ngIf=\"gloalSetting.data.settings.patron.login.google == true \" type=\"button\" class=\"gp-btn loginBtn\" (click)=\"goToGoogleLogin(gloalSetting.data.tenantCode, gloalSetting.data.configCode)\"><i class=\"fab fa-google\"></i> Google</button>\n <button *ngIf=\"isMicrosoftSsoEnabled()\" type=\"button\" class=\"gp-btn loginBtn ms-btn\" (click)=\"goToMicrosoftLogin()\"><span class=\"ms-logo\" aria-hidden=\"true\"><span class=\"ms-square sq-red\"></span><span class=\"ms-square sq-green\"></span><span class=\"ms-square sq-blue\"></span><span class=\"ms-square sq-yellow\"></span></span> Microsoft</button>\n <span *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()\" class=\"login-top-btn-or\">or</span>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <form autocomplete=\"false\">\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-user\"></i></span>\n <input name=\"username\" type=\"text\" class=\"form-control\" placeholder=\"{{ loginPlaceHolder }}\" id=\"login-email\" (keyup)=\"loginSubmit($event)\" autocomplete=\"false\">\n </div>\n <div class=\"form-group\" *ngIf=\"(gloalSetting.data.settings.patron.login.nonAdminRequiredPassword || requirePassword)\">\n <span class=\"input-icon\"><i class=\"fas fa-unlock-alt\"></i></span>\n <input type=\"password\" class=\"form-control\" placeholder=\"Password\" id=\"login-password\" (keyup)=\"loginSubmit($event)\" autocomplete=\"new-password\">\n </div>\n </form>\n <div class=\"form-group\" id=\"loginError\">\n \n </div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkLogin? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Log In\" (click) = 'authentication()'>\n <div></div>\n </div>\n <button class=\"forgot-password\" (click) = \"toggleForgot()\" > Forgot your password?</button>\n </div>\n </div>\n\n <div class=\"modal-content form-control-icon forgot-password-box\" *ngIf=\"forgotPassword\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Reset Password</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-user\"></i></span>\n <input name=\"forgot-email\" type=\"text\" class=\"form-control\" placeholder=\"Enter Your Email or Patron ID\" id=\"forgot-email\">\n </div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkLogin? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Submit\" (click) = 'forgotEmail()'>\n <div></div>\n </div>\n <button class=\"forgot-password\" (click) = \"toggleForgot()\" > Back to Login</button>\n </div>\n </div>\n </div>\n</div>\n<!-- LOGIN POPUP -->\n\n<!-- Required LOGIN POPUP -->\n<div class=\"modal fade form-control-icon background-disable show\" id=\"login-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"false\" [ngClass]=\"(gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()) ? 'socialLogin':'' \" *ngIf=\"gloalSetting.data.settings.patron.login.required && !patronLoggedIn\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" *ngIf=\"!forgotPassword\">\n <div class=\"modal-header\">\n <div [ngClass]=\"(gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()) ? 'modal-header-inner':'' \">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Log In <span *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()\"> With</span></h4>\n <div class=\"login-top-btn\">\n <button *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true\" type=\"button\" class=\"fa-btn\" (click)=\"login()\"> <i class=\"fab fa-facebook\"></i> Facebook</button>\n <button *ngIf=\"gloalSetting.data.settings.patron.login.google == true \" type=\"button\" class=\"gp-btn loginBtn\" (click)=\"goToGoogleLogin(gloalSetting.data.tenantCode, gloalSetting.data.configCode)\"><i class=\"fab fa-google\"></i> Google</button>\n <button *ngIf=\"isMicrosoftSsoEnabled()\" type=\"button\" class=\"gp-btn loginBtn ms-btn\" (click)=\"goToMicrosoftLogin()\"><span class=\"ms-logo\" aria-hidden=\"true\"><span class=\"ms-square sq-red\"></span><span class=\"ms-square sq-green\"></span><span class=\"ms-square sq-blue\"></span><span class=\"ms-square sq-yellow\"></span></span> Microsoft</button>
25929\n <span *ngIf=\"gloalSetting.data.settings.patron.login.facebook == true || gloalSetting.data.settings.patron.login.google == true || isMicrosoftSsoEnabled()\" class=\"login-top-btn-or\">or</span>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-user\"></i></span>\n <input name=\"username\" type=\"text\" class=\"form-control\" placeholder=\"{{ loginPlaceHolder }}\" id=\"login-email\" (keyup)=\"loginSubmit($event)\">\n </div>\n <div class=\"form-group\" *ngIf=\"(gloalSetting.data.settings.patron.login.nonAdminRequiredPassword || requirePassword)\">\n <span class=\"input-icon\"><i class=\"fas fa-unlock-alt\"></i></span>\n <input type=\"password\" class=\"form-control\" placeholder=\"Password\" id=\"login-password\" (keyup)=\"loginSubmit($event)\">\n </div>\n <div class=\"form-group\" id=\"loginError\"></div>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkLogin? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Log In\" (click) = 'authentication()'>\n <div></div>\n </div>\n <button class=\"forgot-password\" (click) = \"toggleForgot()\" > Forgot your password?</button>\n </div>\n </div>\n\n\n\n\n\n<div class=\"modal-content form-control-icon forgot-password-box\" *ngIf=\"forgotPassword\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Reset Password</h4>\n <button id=\"closelogin\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span>\n </button>\n\n</div>\n <div class=\"modal-body\">\n <div class=\"form-group\">
25929\n <span class=\"input-icon\"><i class=\"fas fa-user\"></i></span>\n <input name=\"forgot-email\" type=\"text\" class=\"form-control\" placeholder=\"Enter Your Email or Patron ID\" id=\"forgot-email\">\n </div>\n \n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkLogin? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Submit\" (click) = 'forgotEmail()'>\n <div>\n </div>\n </div>\n <button class=\"forgot-password\" (click) = \"toggleForgot()\" > Back to Login</button>\n </div>\n </div>\n\n </div>\n</div>\n<!-- Required LOGIN POPUP -->\n\n<!-- CHANGE PASSWORD POPUP (TEMPORARY)-->\n<div class=\"modal fade form-control-icon\" id=\"login-modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" [ngClass]=\"requiredChange ? 'show':'' \" >\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Change Password</h4>\n </div>\n <div class=\"modal-body\">\n <ul class=\"p-0 small\" style=\"list-style-type:none;\" *ngIf=\"!isNonComplaint\">\n <li>You have used a temporary password.</li>\n <li>Please change your password before continuing.</li>\n <li>You will start using your new password the next time you login.</li>\n </ul>\n <ul class=\"p-0 small\" style=\"list-style-type:none;\" *ngIf=\"isNonComplaint\">\n <li>Your current password does not meet the library's requirements.</li>\n <li>Please change your password before continuing.</li>\n <li>You will start using your new password the next time you login.</li>\n </ul>\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-unlock-alt\"></i></span>\n <input type=\"password\" class=\"form-control\" placeholder=\"Password\" id=\"change-password\" (keyup)=\"changeSubmit($event)\">\n </div>\n <div class=\"form-group\">\n <span class=\"input-icon\"><i class=\"fas fa-unlock-alt\"></i></span>\n <input type=\"password\" class=\"form-control\" placeholder=\"Confirm Password\" id=\"changeConfirm-password\" (keyup)=\"changeSubmit($event)\">\n </div>\n <ul class=\"p-0 small\" id=\"loginErrorPass\" style=\"list-style-type:none;\"></ul>\n <div class=\"login-dot-container\">\n <div class=\"loader-inner-container\" [ngClass]=\"checkLogin? 'show' : 'hide'\" id=\"loginDotts\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <button class=\"submit-btn\" type=\"submit\" (click) = 'changePassword()' disabled>Change Password</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n<!-- CHANGE PASSWORD POPUP (TEMPORARY)-->"); 25930 25931/***/ }), 25932 25933/***/ 8506: 25934/*!*******************************************************************************************************************!*\ 25935 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/share/header/header.component.html ***! 25936 \*******************************************************************************************************************/ 25937/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25938 25939"use strict"; 25940__webpack_require__.r(__webpack_exports__); 25941/* harmony default export */ __webpack_exports__["default"] = ("<header class=\"header clearfix\" *ngIf=\"gloalSetting.data\">\n <div class=\"navbar-brand library-logo\" [ngClass]=\"gloalSetting.data.settings.appearance.banner.logo.img? 'logo-exists' : 'logo-not-exists' \">\n <a [routerLink]=\"['/']\" class=\"homeLogoLink\">\n <img *ngIf=\"gloalSetting.data.settings.appearance.banner.logo.img\" class=\"library-name\" src=\"{{ gloalSetting.data.settings.appearance.banner.logo.img}}\" alt=\"image\">\n </a>\n <span class=\"hide\" id=\"LibraryName\">\n {{ gloalSetting.data.settings.appearance.banner.logo?.line2 }}\n </span>\n <h1>\n <strong *ngIf=\"gloalSetting.data.settings.appearance.banner.logo.line1\">{{ gloalSetting.data.settings.appearance.banner.logo?.line1 }}</strong>\n <div class=\"locationdropdown-home\" *ngIf=\"gloalSetting.data.settings.location.locations?.length > 1 && gloalSetting.data.settings.location.allowSwitch\">\n <div class=\"search-main-input locations\">\n <div class=\"sel sel--black-panther location\">\n <select (click)=\"changeLocation($event.target.value)\">\n <option *ngFor=\"let location of gloalSetting.data.settings.location?.locations\" value=\"{{location.id}}\">{{location.name}}</option>\n </select>\n </div>\n </div>\n </div>
25941\n <span *ngIf=\"gloalSetting.data.settings.location.locations.length == 1 || !gloalSetting.data.settings.location.allowSwitch\" class=\"singlelocation\" [ngClass]=\"gloalSetting.data.settings.appearance.banner.logo?.line2.length > 50 ?'small':''\">\n <a [routerLink]=\"['/']\" class=\"homeLogoLink\">{{ gloalSetting.data.settings.appearance.banner.logo?.line2 }}</a>\n </span>\n </h1>\n <div class=\"editLogobannerMain\">\n <button (click)=\"editLogobanner($event)\" type=\"button\" class=\"editLogobanner logo\"> <i class=\"fa fa-pencil-square-o\"></i></button>\n <div class=\"editLogobannerContent\">\n <input type=\"text\" class=\"form-control\" value=\"{{ gloalSetting.data.settings.appearance.banner.logo?.line1 }}\" id=\"logoLine1\">\n <input type=\"text\" class=\"form-control\" value=\"{{ gloalSetting.data.settings.appearance.banner.logo?.line2 }}\" id=\"logoLine2\">\n <input type=\"hidden\" name=\"origin-logo\" id=\"origin-logo\" value=\"{{ gloalSetting.data.settings.appearance.banner.main.img }}\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book logo\" [ngClass]=\"gloalSetting.data.settings.appearance.banner.logo.img? 'haveImage': 'removedImage'\">\n <img class=\"img-fluid noImage\" src=\"/assets/images/no-image.jpg\">\n <img class=\"img-fluid regularImage\" src=\"{{ gloalSetting.data.settings.appearance.banner.logo.img }}\">\n <button class=\"fa-trash-icon\" (click)=\"removeImage($event, 'logoImage')\"><i class=\"fas fa-times\"></i></button>\n </div>\n <div class=\"btn-file-main sa-res-btnset\">\n <a (click)=\"visibleChoseLogo()\" class=\"btn-file\" href=\"#Logo-Choose-Logo-Modal\" role=\"button\" data-toggle=\"modal\">Choose Library Logo</a>\n <!-- <span *ngIf=\"logoChooseShow\" (click) =\"visibleChoseLogo()\" class=\"form-control btn-file\">Choose Library Logo</span> -->\n <span class=\"btn-file\">Upload Library Logo<input type=\"file\" name=\"uploadLogo\" (change)=\"uploadImage($event.target.files)\" accept=\"image/*\"></span>\n </div>\n </div>\n <button class=\"btn btn-danger\" id=\"cancelLogo\" (click)=\"editLogobanner($event)\">Cancel</button>\n <button class=\"btn btn-primary pull-right\" id=\"saveLogo\" (click)=\"saveLogoSection($event)\">Save</button>\n </div>\n </div>\n </div>\n <div class=\"top-navbar-main locationdropdown-home-page\">\n <!-- Single button -->\n <div class=\"top-nav\">\n <ul>\n <li id=\"loginLi\"> <a id=\"loginLia\" href=\"#login-modal\" role=\"button\" [ngClass]=\"isLogin? 'hide': 'show'\" data-toggle=\"modal\"> Login</a> </li>\n <li [ngClass]=\"isLogin? 'show': 'hide'\" id=\"profileLi\">\n <div class=\"profile-img\">\n <img [ngClass]=\"profileDetail.detail.profilePicture? 'show' : 'hide'\" src=\"{{ profileDetail.detail.profilePicture }}\" alt=\"profile\" />\n </div>\n <span (click)=\"showProfileMenuFn()\" [ngClass]=\"profileDetail.detail.firstName? 'show' : 'hide'\">{{ profileDetail.detail.firstName }}</span>\n <div class=\"dropdown-menu dropdown-menu-right dropdown-info\" aria-labelledby=\"navbarDropdownMenuLink-4\">\n <a [routerLink]=\"['/my-account']\" class=\"dropdown-item waves-effect waves-light\">My Account</a>\n <a [routerLink]=\"['/history']\" class=\"dropdown-item waves-effect waves-light\" *ngIf=\"gloalSetting.data.settings.patron.account.showCircHistory\">History</a>\n <!-- <a *ngIf=\"gloalSetting.data.settings.patron.login.showLibraryCard\" id=\"library-profile\" class=\"dropdown-item waves-effect waves-light library-profile\" href=\"#library-card-modal\" role=\"button\" data-toggle=\"modal\" (click)=\"getLibraryCardDetail()\">Library Card</a> -->\n <a *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" id=\"library-profile\" class=\"dropdown-item waves-effect waves-light library-profile\" href=\"#library-card-modal\" role=\"button\" data-toggle=\"modal\" (click)=\"getLibraryCardDetail()\">Library Card</a>\n <a *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" class=\"dropdown-item waves-effect waves-light library-profile-mobile\" role=\"button\" routerLink=\"/card\">Library Card</a>\n <a class=\"dropdown-item waves-effect waves-light\" href=\"#change-password-modal\" role=\"button\" class=\"\" data-toggle=\"modal\">Change Password</a>\n <a *ngIf=\"gloalSetting.data.settings.patron.account.renew.allowUpdateEmail\" class=\"dropdown-item waves-effect waves-light\" href=\"#change-email-modal\" role=\"button\" class=\"\" data-toggle=\"modal\">Update Email</a>\n <a class=\"dropdown-item waves-effect waves-light\" (click)=\"logout()\">Log out</a>\n </div>\n </li>\n <li class=\"SearchResults\" [ngClass]=\"recentSearchCount != '0' && recentSearchCount != ''? 'show' : 'hide'\"> <a [routerLink]=\"['/recentlist/list']\" class=\"\"> Search Results (<span class=\"count\">{{ recentSearchCount }}</span>)</a> </li>\n <li id=\"myCollectionLi\" [ngClass]=\"isLogin && (totalIds > 0) ? 'show':'hide'\">
25941\n <span (click)=\"showMyListOptions($event)\">My List <span class=\"count my-list-count\">{{totalIds}}</span> <i class=\"fa fa-caret-down\" aria-hidden=\"true\"></i> </span>\n <!-- <a class=\"\" [routerLink]=\"['/list/my']\"> My List <span class=\"count my-list-count\">{{totalIds}}</span> </a> -->\n <div class=\"dropdown-menu dropdown-menu-right dropdown-info myList \" aria-labelledby=\"navbarDropdownMenuLink-4\">\n <a [routerLink]=\"['/list/my']\" class=\"dropdown-item waves-effect waves-light onViewList\" id=\"viewMyList\" [ngClass]=\"totalIds > 0 ? 'show' : 'hide'\">View My List</a>\n <a id=\"Publish-My-List\" href=\"#Publish-My-List-Modal\" role=\"button\" data-toggle=\"modal\" class=\"dropdown-item waves-effect waves-light\" [ngClass]=\"isUserLogin && (totalIds > 0) && profileDetail?.detail?.permission?.opacPublishResourceList? 'show' : 'hide'\" (click)=\"getPublishedReadingLists()\">Publish My List</a>\n <!-- <a class=\"dropdown-item waves-effect waves-light hide\" id=\"AddAllMyList\">Add All to My List</a> -->\n <a class=\"dropdown-item waves-effect waves-light onViewList\" [ngClass]=\"totalIds > 0 ? 'show' : 'hide'\" (click)=\"showDeleteConfirmation()\">Empty My List</a>\n </div>\n </li>\n </ul>\n </div>\n <nav class=\"navbar navbar-expand-lg\">\n <button type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarid\" aria-controls=\"navbarid\" aria-expanded=\"false\" aria-label=\"Toggle navigation\" class=\"navbar-toggler navbar-toggler-right\"><span></span><span></span><span></span></button>\n <div id=\"navbarid\" class=\"collapse navbar-collapse\">\n <ul class=\"main-nav navbar-nav ml-auto align-items-start align-items-lg-center\">\n <li><a [routerLink]=\"['/']\" routerLinkActive=\"active\" [routerLinkActiveOptions]=\"{ exact: true }\">Home</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.explore\"><a routerLinkActive=\"active\" [routerLink]=\"['/explore',0]\">Explore</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.new\"><a [routerLink]=\"['/new']\" routerLinkActive=\"active\">New in Library </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.popular\"><a [routerLink]=\"['/popular']\" routerLinkActive=\"active\">Popular Titles </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.lists\"><a routerLinkActive=\"active\" [routerLink]=\"['/reading-lists']\">Resource Lists </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.news\"><a [routerLink]=\"['/news']\" routerLinkActive=\"active\">Library News </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.awards\"><a [routerLink]=\"['/awards']\" routerLinkActive=\"active\">Awards & Honors</a></li>\n\n <li class=\"library-mobile\" id=\"libraryCard\" *ngIf=\"isLogin\" ><a *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" class=\" \" href=\"#library-card-modal\" data-toggle=\"modal\" (click)=\"getLibraryCardDetail()\">Library Card</a></li>\n </ul>\n </div>\n </nav>\n </div>\n\n <!-- Choose Logo -->\n <div class=\"modal fade choose-image\" id=\"Logo-Choose-Logo-Modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <button id=\"closeLogoChoose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n <div class=\"modal-body\">\n <div class=\"loader-inner-container\" *ngIf=\"!logoChooseShow\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <ul class=\"ChooseLogo\">\n <li *ngFor=\"let logo of logoChoose.data\">\n <img src=\"{{ logo }}\" (click)=\"selectLogo($event)\">\n </li>\n <li *ngIf=\"noUploadedLogo\" class=\"noRecord\">No Records Found.</li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- Choose Logo -->\n <!-- Publish My List -->\n <div class=\"modal fade add-resource-modal\" id=\"Publish-My-List-Modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Publish My List</h4>\n <button id=\"PublishMyListModalClose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"!PulishFormReady\">\n <div class=\"loader-inner-container\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n <div class=\"modal-body\" *ngIf=\"PulishFormReady\">\n <form autocomplete=\"no\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input type=\"hidden\" name=\"name\" value=\"{{ patronId }}
25941\" readonly>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" value=\"{{ patronName }}\" readonly id=\"ListPatronName\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Publish To</label>\n <select class=\"form-control\" (change)=\"publishToChange($event.target.value)\" id=\"publishToChange\">\n <option value=\"\" listType=\"A\">A New Resource List</option>\n <option *ngFor=\"let list of publishToListlist\" value=\"{{ list.id }}\" [attr.listType]=\"list.type\">{{ list.name }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-12\" [ngClass]=\"publishToOptionShow? 'show': 'hide'\">\n <div class=\"form-group\">\n <label> </label>\n <label class=\"radio-input\">\n <input class=\"option-input radio viewSetting\" checked type=\"radio\" value=\"a\" name=\"add_to\">Add to existing list\n </label>\n <label class=\"radio-input\">\n <input class=\"option-input radio viewSetting\" type=\"radio\" value=\"r\" name=\"add_to\">Replace existing list\n </label>\n <span class=\"reviewHit\">\n To remove some titles from a published list: open the list, save all to your list, remove the titles you don't want, then publish your list to the same list using the \"replace\" option.\n </span>\n </div>\n </div>\n <div class=\"col-md-6\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>List Title</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"{{ publishResourceName }}\" id=\"publishResourceName\" autocomplete=\"off\">\n </div>\n </div>\n </div>\n <div class=\"form-group\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <label>Description</label>\n <textarea class=\"form-control\" name=\"content\" id=\"publishResourceDescription\">{{ publishResourceDescription }}</textarea>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-md-6\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\" [ngClass]=\"publishResourceImage != ''? 'haveImage' : ''\">\n <input type=\"hidden\" name=\"image\" value=\"{{ publishResourceImage }}\" id=\"publishResourceImage\">\n <img class=\"img-fluid noImage\" src=\"/assets/images/no-image.jpg\">\n <img class=\"img-fluid regularImage\" src=\"{{ publishResourceImage }}\" [ngClass]=\"publishResourceImage != ''? 'show' : 'hide'\">\n <button class=\"fa-trash-icon\"><i class=\"fas fa-times\"></i></button>\n </div>\n <div class=\"btn-file-main sa-res-btnset\">\n <!-- <a class=\"btn-file\" href=\"#Choose-QA-Modal\" role=\"button\" data-toggle=\"modal\">Choose Image</a> -->\n <span class=\"btn-file\">Upload Image<input (change)=\"uploadImagePublish($event.target.files)\" type=\"file\" accept=\"image/*\"></span>\n </div>\n </div>\n </div>\n <div [ngClass]=\"publishDescriptionStatus? 'col-md-6' : 'col-md-12'\">\n <div class=\"form-group\">\n <label> Publish to</label>\n <label class=\"radio-input\" [ngClass]=\"totalLocations > 1? 'show' : 'hide'\">\n <input [attr.checked]=\"totalLocations > 1 ? 'checked' : null\" class=\"option-input radio viewSetting\" type=\"radio\" value=\"\" name=\"PublishselectLocation\">All Locations\n </label>\n <label class=\"radio-input\">\n <input [attr.checked]=\"totalLocations == 1? 'checked' : null\" class=\"option-input radio viewSetting\" type=\"radio\" name=\"PublishselectLocation\" value=\"{{ curentLoc.id }}\">{{ curentLoc.name }}\n </label>\n </div>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" [ngClass]=\"publishResourceStatus? 'show' : 'hide'\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click)=\"savePublishToList()\">\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n <!-- Image error popup -->\n <div class=\"modal fade form-control-icon\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" data-backdrop=\"static\" id=\"imageError\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\" id=\"myModalLabel\">Image Error</h4>\n </div>\n <div class=\"modal-body\">\n <p>{{imageError}}</p>\n <button class=\"btn btn-primary pull-right\" type=\"button\" (click)=\"closeImageError()\">OK</button>\n </div>\n </div>\n </div>\n </div>\n <!-- Image Error pop up -->\n <!-- Publish My List -->\n <div class=\"modal fade\" [ngClass]=\"showDeleteConfirm? 'show': 'hide'\" id=\"delete-header-button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Are you sure?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click)=\"emptyList()\">\n <input id=\"cancelemptylistheader\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" (click)=\"hideDeleteConfirmation()\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"modal fade \" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" id=\"library-card-modal\">\n\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" style=\"background-color: transparent; background-clip: unset; border: none;\">\n <div class=\"modal-body\" style=\"background: transparent;\" >\n <div class=\"lib-card\">\n <div class=\"id-card\">\n <div>\n <h6 class=\"textalign lib-name\">{{ gloalSetting.data.settings.appearance.banner.logo?.line2 }}</h6>\n </div>\n <div class=\"id-card-inner\">\n <div class=\"w-100\">\n <div *ngIf=libraryCard.profilePicture>\n <img src= {{libraryCard.profilePicture}} class=\"profile-image\">\n </div>\n <!-- <div *ngIf=!libraryCard.profilePicture>\n <div class=\"profile-image {{colors}} text-center photo_box_text\">{{imageName}}</div>\n </div> -->\n <div *ngIf=!libraryCard.profilePicture>\n <img src=\"assets/images/blank-profile-picture.png\" class=\"profile-image\">\n </div>\n <div class=\"textalign \">\n <h4 *ngIf=libraryCard.firstName >{{libraryCard.firstName}} {{libraryCard.lastName}}</h4>\n <!-- <span>Patorn ID</span> -->
25941\n <span>{{libraryCard.number}}</span>\n </div>\n <div class=\"textalign barcode-main\">\n <ngx-barcode [bc-value]=libraryCard.barcode [bc-display-value]=\"false\" [bc-width]=\"1.5\" [bc-height]=\"80\" ></ngx-barcode>\n </div>\n <div class=\"textalign\">\n <!-- <span>Grade</span> -->\n <span>{{libraryCard.patronType}}</span>\n </div>\n <div class=\"textalign\">\n <!-- <span>Room</span> -->\n <span >{{libraryCard.localAddress}}</span>\n </div>\n <div *ngIf=\"libraryCard.expires != null\" class=\"textalign\">\n <span>Expires</span>\n <h5 class=\"dueDate\">{{ libraryCard.expires | date: dateFormat }}</h5>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n"); 25942 25943/***/ }), 25944 25945/***/ 71805: 25946/*!*****************************************************************************************************************************!*\ 25947 !*** ./node_modules/@ngtools/webpack/src/loaders/direct-resource.js!./src/app/share/headerinner/headerinner.component.html ***! 25948 \*****************************************************************************************************************************/ 25949/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 25950 25951"use strict"; 25952__webpack_require__.r(__webpack_exports__); 25953/* harmony default export */ __webpack_exports__["default"] = (" <header class=\"header inner clearfix\" *ngIf=\"gloalSetting.data\">\n <div class=\"navbar-brand library-logo\" [ngClass]=\"gloalSetting.data.settings.appearance.banner.logo.img? 'logo-exists' : 'logo-not-exists' \">\n <a [routerLink]=\"['/']\" class=\"homeLogoLink\">\n <img *ngIf=\"gloalSetting.data.settings.appearance.banner.logo.img\" class=\"library-name\" src=\"{{ gloalSetting.data.settings.appearance.banner.logo.img}}\" alt=\"image\">\n </a>\n <span class=\"hide\" id=\"LibraryName\">\n {{ gloalSetting.data.settings.appearance.banner.main.line2 }}\n </span>\n <h1>\n <strong *ngIf=\"gloalSetting.data.settings.appearance.banner.logo.line1\">{{ gloalSetting.data.settings.appearance.banner.logo.line1 }}</strong>\n <div class=\"locationdropdown-home\" *ngIf=\"gloalSetting.data.settings.location.locations.length > 1 && gloalSetting.data.settings.location.allowSwitch\">\n <div class=\"search-main-input locations\">\n <div class=\"sel sel--black-panther location\">\n <select (click)=\"changeLocation($event.target.value)\">\n <option *ngFor=\"let location of gloalSetting.data.settings.location.locations\" value=\"{{location.id}}\"> {{location.name}}</option>\n </select>\n </div>\n </div>\n </div>
25953\n <span *ngIf=\"gloalSetting.data.settings.location.locations.length == 1 || !gloalSetting.data.settings.location.allowSwitch\" class=\"singlelocation\" [ngClass]=\"gloalSetting.data.settings.appearance.banner.main.line2.length > 50 ?'small':''\">\n <a [routerLink]=\"['/']\" class=\"homeLogoLink\"> {{ gloalSetting.data.settings.appearance.banner.logo.line2 }} </a>\n </span>\n </h1>\n </div>\n <div class=\"top-navbar-main\">\n <div class=\"top-search\"> <app-search></app-search></div>\n <div class=\"top-nav\">\n <ul>\n <li [ngClass]=\"!isLogin? 'show': 'hide'\" id=\"loginLi\"> <a id=\"loginLia\" href=\"#login-modal\" role=\"button\" class=\"\" data-toggle=\"modal\"> Login</a> </li>\n\n <li [ngClass]=\"isLogin? 'show': 'hide'\" id=\"profileLi\">\n <div class=\"profile-img\">\n <img [ngClass]=\"profileDetail.detail.profilePicture? 'show' : 'hide'\" src=\"{{ profileDetail.detail.profilePicture }}\" alt=\"profile\" />\n </div>\n <span (click)=\"showProfileMenuFn()\" [ngClass]=\"profileDetail.detail.firstName? 'show' : 'hide'\">{{ profileDetail.detail.firstName }}</span>\n <div class=\"dropdown-menu dropdown-menu-right dropdown-info \" aria-labelledby=\"navbarDropdownMenuLink-4\">\n <a [routerLink]=\"['/my-account']\" class=\"dropdown-item waves-effect waves-light\">My Account</a>\n <a [routerLink]=\"['/history']\" class=\"dropdown-item waves-effect waves-light\" *ngIf=\"gloalSetting.data.settings.patron.account.showCircHistory\">History</a>\n <a *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" class=\"dropdown-item waves-effect waves-light library-profile\" href=\"#library-card-modal\" role=\"button\" data-toggle=\"modal\" (click)=\"getLibraryCardDetail()\">Library Card</a>\n <a *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" class=\"dropdown-item waves-effect waves-light library-profile-mobile\" role=\"button\" routerLink=\"/card\">Library Card</a>\n <a class=\"dropdown-item waves-effect waves-light\" href=\"#change-password-modal\" role=\"button\" data-toggle=\"modal\">Change Password</a>\n <a *ngIf=\"gloalSetting.data.settings.patron.account.renew.allowUpdateEmail\" class=\"dropdown-item waves-effect waves-light\" href=\"#change-email-modal\" role=\"button\" data-toggle=\"modal\">Update Email</a>\n \n \n\n <!-- <a class=\"dropdown-item waves-effect waves-light\" href=\"#change-password-modal\" role=\"button\" class=\"\" data-toggle=\"modal\">Change Password</a>\n <a *ngIf=\"gloalSetting.data.settings.patron.account.renew.allowUpdateEmail\" class=\"dropdown-item waves-effect waves-light\" href=\"#change-email-modal\" role=\"button\" class=\"\" data-toggle=\"modal\">Update Email</a>-->\n \n <a class=\"dropdown-item waves-effect waves-light\" (click)=\"logout()\">Log out</a> \n </div>\n </li>\n <li class=\"SearchResults\" [ngClass]=\"(recentSearchCount != '' && recentSearchCount != '0') ? 'show' : 'hide'\"> <a [routerLink]=\"['/recentlist/list']\" class=\"\"> Search Results (<span class=\"count\">{{ recentSearchCount }}</span>)</a> </li>\n <li id=\"myCollectionLi\" [ngClass]=\"isLogin ? 'show':'hide'\">\n <span (click)=\"showMyListOptions($event)\">My List <span class=\"count my-list-count\">{{totalIds}}</span> <i class=\"fa fa-caret-down\" aria-hidden=\"true\"></i></span>\n <!-- <a class=\"\" [routerLink]=\"['/list/my']\"> My List <span class=\"count my-list-count\">{{totalIds}}</span> </a> -->\n <div class=\"dropdown-menu dropdown-menu-right dropdown-info myList \" aria-labelledby=\"navbarDropdownMenuLink-4\">\n <a [routerLink]=\"['/list/my']\" class=\"dropdown-item waves-effect waves-light onViewList\" id=\"viewMyList\" [ngClass]=\"totalIds > 0 ? 'show' : 'hide'\">View My List</a>\n <a *ngIf=\"profileDetail?.detail?.permission?.opacPublishResourceList\" id=\"Publish-My-List\" href=\"#Publish-My-List-Modal\" role=\"button\" data-toggle=\"modal\" class=\"dropdown-item waves-effect waves-light\" [ngClass]=\"(isUserLogin && totalIds > 0)? 'show' : 'hide'\" (click)=\"getPublishedReadingLists()\">Publish My List</a>\n <a class=\"dropdown-item waves-effect waves-light\" id=\"AddAllMyList\" (click)=\"addAllMyList($event)\">Add All to My List</a>\n <a class=\"dropdown-item waves-effect waves-light onViewList\" [ngClass]=\"totalIds > 0 ? 'show' : 'hide'\" (click)=\"showDeleteConfirmation()\">Empty My List</a>\n </div>\n </li>\n </ul>\n <!-- <div class=\"locationdropdown-inner\" *ngIf = \"gloalSetting.data.settings.location.locations.length > 1\">\n <div class=\"search-main-input locations\">\n <div class=\"sel sel--black-panther\">\n <select (click)=\"changeLocation($event.target.value)\">\n <option *ngFor=\"let location of gloalSetting.data.settings.location.locations\" value=\"{{location.id}}\">{{location.name}}</option>\n </select>\n </div>\n </div>\n </div> -->\n </div>\n </div>\n <nav class=\"navbar navbar-expand-lg\">\n <button type=\"button\" data-toggle=\"collapse\" data-target=\"#navbarid\" aria-controls=\"n
25953avbarid\" aria-expanded=\"false\" aria-label=\"Toggle navigation\" class=\"navbar-toggler navbar-toggler-right\"><span></span><span></span><span></span></button>\n <div id=\"navbarid\" class=\"collapse navbar-collapse\">\n <ul class=\"main-nav navbar-nav ml-auto align-items-start align-items-lg-center\">\n <li><a [routerLink]=\"['/']\" routerLinkActive=\"active\" [routerLinkActiveOptions]=\"{ exact: true }\">Home</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.explore\"><a routerLinkActive=\"active\" [routerLink]=\"['/explore',0]\">Explore</a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.new\"><a [routerLink]=\"['/new']\" routerLinkActive=\"active\">New in Library </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.popular\"><a [routerLink]=\"['/popular']\" routerLinkActive=\"active\">Popular Titles </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.lists\"><a routerLinkActive=\"active\" [routerLink]=\"['/reading-lists']\">Resource Lists </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.news\"><a [routerLink]=\"['/news']\" routerLinkActive=\"active\">Library News </a></li>\n <li *ngIf=\"gloalSetting.data.settings.features.awards\"><a [routerLink]=\"['/awards']\" routerLinkActive=\"active\">Awards & Honors</a></li>\n <li class=\"library-mobile\" *ngIf=\"isLogin\"><a [ngClass]=\"isLogin? 'show': 'hide'\" *ngIf=\"gloalSetting.data.settings.patron?.libraryCard?.enabled\" href=\"#library-card-modal\" data-toggle=\"modal\" (click)=\"getLibraryCardDetail()\">Library Card</a></li>\n </ul>\n </div>\n </nav>\n\n\n\n\n <!-- Publish My List -->\n <div class=\"modal fade add-resource-modal\" id=\"Publish-My-List-Modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 class=\"modal-title\">Publish My List</h4>\n <button id=\"PublishMyListModalClose\" type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"fas fa-times\"></i></span></button>\n </div>\n <div class=\"modal-body\" *ngIf=\"!PulishFormReady\">\n <div class=\"loader-inner-container\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n </div>\n <div class=\"modal-body\" *ngIf=\"PulishFormReady\">\n <form autocomplete=\"off\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Your Name</label>\n <input type=\"hidden\" name=\"name\" value=\"{{ patronId }}\" readonly>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"name\" value=\"{{ patronName }}\" readonly id=\"ListPatronName\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>Publish To</label>\n <select class=\"form-control\" (change)=\"publishToChange($event.target.value)\" id=\"publishToChange\">\n <option value=\"\" listType=\"A\">A New Resource List</option>\n <option *ngFor=\"let list of publishToListlist\" value=\"{{ list.id }}\" [attr.listType]=\"list.type\">{{ list.name }}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-12\" [ngClass]=\"publishToOptionShow? 'show': 'hide'\">\n <div class=\"form-group\">\n <label> </label>\n <label class=\"radio-input\">\n <input class=\"option-input radio viewSetting\" checked type=\"radio\" value=\"a\" name=\"add_to\">Add to existing list\n </label>\n <label class=\"radio-input\">\n <input class=\"option-input radio viewSetting\" type=\"radio\" value=\"r\" name=\"add_to\">Replace existing list\n </label>
25953\n <span class=\"reviewHit\">\n To remove some titles from a published list: open the list, save all to your list, remove the titles you don't want, then publish your list to the same list using the \"replace\" option.\n </span>\n </div>\n </div>\n <div class=\"col-md-6\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <div class=\"form-group\">\n <label>List Title</label>\n <input class=\"form-control\" placeholder=\"\" type=\"text\" name=\"title\" value=\"{{ publishResourceName }}\" id=\"publishResourceName\" autocomplete=\"off\">\n </div>\n </div>\n </div>\n <div class=\"form-group\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <label>Description</label>\n <textarea class=\"form-control\" name=\"content\" id=\"publishResourceDescription\">{{ publishResourceDescription }}</textarea>\n </div>\n <div class=\"clearfix\"></div>\n <div class=\"row\">\n <div class=\"col-md-6\" [ngClass]=\"publishDescriptionStatus? 'show' : 'hide'\">\n <div class=\"editwidgets-image\">\n <div class=\"editwidgets-book\" [ngClass]=\"publishResourceImage != ''? 'haveImage' : ''\">\n <input type=\"hidden\" name=\"image\" value=\"{{ publishResourceImage }}\" id=\"publishResourceImage\">\n <img class=\"img-fluid noImage\" src=\"/assets/images/no-image.jpg\">\n <img class=\"img-fluid regularImage\" src=\"{{ publishResourceImage }}\" [ngClass]=\"publishResourceImage != ''? 'show' : 'hide'\">\n <button class=\"fa-trash-icon\"><i class=\"fas fa-times\"></i></button>\n </div>\n <div class=\"btn-file-main sa-res-btnset\">\n <!-- <a class=\"btn-file\" href=\"#Choose-QA-Modal\" role=\"button\" data-toggle=\"modal\">Choose Image</a> -->\n <span class=\"btn-file\">Upload Image<input (change)=\"uploadImagePublish($event.target.files)\" type=\"file\"></span>\n </div>\n </div>\n </div>\n <div [ngClass]=\"publishDescriptionStatus? 'col-md-6' : 'col-md-12'\">\n <div class=\"form-group\">\n <label> Publish to</label>\n <label class=\"radio-input\" [ngClass]=\"totalLocations > 1? 'show' : 'hide'\">\n <input [attr.checked]=\"totalLocations > 1 ? 'checked' : null\" class=\"option-input radio viewSetting\" type=\"radio\" value=\"\" name=\"PublishselectLocation\">All Locations\n </label>\n <label class=\"radio-input\">\n <input [attr.checked]=\"totalLocations == 1 ? 'checked' : null\" class=\"option-input radio viewSetting\" type=\"radio\" name=\"PublishselectLocation\" value=\"{{ curentLoc.id }}\">{{ curentLoc.name }}\n </label>\n </div>\n </div>\n </div>\n <div class=\"login-dot-container submit-btn-small\">\n <div class=\"loader-inner-container\" [ngClass]=\"publishResourceStatus? 'show' : 'hide'\">\n <div class=\"loader-inner\">\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n <div class=\"loader-dot\"></div>\n </div>\n </div>\n <input class=\"submit-btn\" type=\"submit\" value=\"Save\" (click)=\"savePublishToList()\">\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n <!-- Publish My List -->\n <div class=\"modal fade\" [ngClass]=\"showDeleteConfirm? 'show': 'hide'\" id=\"delete-headerinner-button\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\">\n <div class=\"modal-dialog modal-sm\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h5 style=\"font-size: 15px;text-align: center;\" class=\"modal-title\">Are you sure?</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"login-dot-container submit-btn-small\">\n <input class=\"btn btn-primary mr-2\" type=\"button\" value=\"Yes\" (click)=\"emptyList()\">\n <input id=\"cancelemptylist\" class=\"btn btn-primary mr-2\" data-dismiss=\"modal\" (click)=\"hideDeleteConfirmation()\" aria-label=\"Close\" type=\"button\" value=\"No\">\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"modal fade \" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"basicModal\" aria-hidden=\"true\" id=\"library-card-modal\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\" style=\"background-color: transparent; background-clip: unset; border: none;\">\n <div class=\"modal-body\" style=\"background: transparent;\" >\n <div class=\"lib-card\">\n <div class=\"id-card\">\n <div>\n <h6 class=\"textalign lib-name\">{{ gloalSetting.data.settings.appearance.banner.main.line2 }}</h6>\n </div>\n <div class=\"id-card-inner\">\n <div class=\"w-100\">\n <div *ngIf=libraryCard.profilePicture>\n <img src= {{libraryCard.profilePicture}} class=\"profile-image\">\n </div>\n <!-- <div *ngIf=!libraryCard.profilePicture>\n <div class=\"profile-image {{colors}} text-center photo_box_text\">{{imageName}}</div>\n </div> -->\n <div *ngIf=!libraryCard.profilePicture>\n <img src=\"assets/images/blank-profile-picture.png\" class=\"profile-image\">\n </div>\n <div class=\"textalign \">\n <h4 *ngIf=libraryCard.firstName >{{libraryCard.firstName}} {{libraryCard.lastName}}</h4>\n <!-- <span>Patorn ID</span> -->
25953\n <span>{{libraryCard.number}}</span>\n </div>\n <div class=\"textalign barcode-main\">\n <ngx-barcode [bc-value]=libraryCard.barcode [bc-display-value]=\"false\" [bc-width]=\"1.5\" [bc-height]=\"80\" ></ngx-barcode>\n </div>\n <div class=\"textalign\">\n <!-- <span>Grade</span> -->\n <span>{{libraryCard.patronType}}</span>\n </div>\n <div class=\"textalign\">\n <!-- <span>Room</span> -->\n <span >{{libraryCard.localAddress}}</span>\n </div>\n <div *ngIf=\"libraryCard.expires != null\" class=\"textalign\">\n <span>Expires</span>\n <h5 class=\"dueDate\">{{ libraryCard.expires | date: dateFormat }}</h5>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</header>\n"); 25954 25955/***/ }), 25956 25957/***/ 46700: 25958/*!***************************************************!*\ 25959 !*** ./node_modules/moment/locale/ sync ^\.\/.*$ ***! 25960 \***************************************************/ 25961/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 25962 25963var map = { 25964 "./af": 62275, 25965 "./af.js": 62275, 25966 "./ar": 90857, 25967 "./ar-dz": 11218, 25968 "./ar-dz.js": 11218, 25969 "./ar-kw": 14754, 25970 "./ar-kw.js": 14754, 25971 "./ar-ly": 66680, 25972 "./ar-ly.js": 66680, 25973 "./ar-ma": 92178, 25974 "./ar-ma.js": 92178, 25975 "./ar-sa": 56522, 25976 "./ar-sa.js": 56522, 25977 "./ar-tn": 95682, 25978 "./ar-tn.js": 95682, 25979 "./ar.js": 90857, 25980 "./az": 70164, 25981 "./az.js": 70164, 25982 "./be": 79774, 25983 "./be.js": 79774, 25984 "./bg": 60947, 25985 "./bg.js": 60947, 25986 "./bm": 21832, 25987 "./bm.js": 21832, 25988 "./bn": 89650, 25989 "./bn-bd": 74477, 25990 "./bn-bd.js": 74477, 25991 "./bn.js": 89650, 25992 "./bo": 66005, 25993 "./bo.js": 66005, 25994 "./br": 98492, 25995 "./br.js": 98492, 25996 "./bs": 70534, 25997 "./bs.js": 70534, 25998 "./ca": 52061, 25999 "./ca.js": 52061, 26000 "./cs": 84737, 26001 "./cs.js": 84737, 26002 "./cv": 61167, 26003 "./cv.js": 61167, 26004 "./cy": 77996, 26005 "./cy.js": 77996, 26006 "./da": 9528, 26007 "./da.js": 9528, 26008 "./de": 14540, 26009 "./de-at": 49430, 26010 "./de-at.js": 49430, 26011 "./de-ch": 67978, 26012 "./de-ch.js": 67978, 26013 "./de.js": 14540, 26014 "./dv": 83426, 26015 "./dv.js": 83426, 26016 "./el": 6616, 26017 "./el.js": 6616, 26018 "./en-au": 63816, 26019 "./en-au.js": 63816, 26020 "./en-ca": 32162, 26021 "./en-ca.js": 32162, 26022 "./en-gb": 83305, 26023 "./en-gb.js": 83305, 26024 "./en-ie": 61954, 26025 "./en-ie.js": 61954, 26026 "./en-il": 43060, 26027 "./en-il.js": 43060, 26028 "./en-in": 59923, 26029 "./en-in.js": 59923, 26030 "./en-nz": 13540, 26031 "./en-nz.js": 13540, 26032 "./en-sg": 16505, 26033 "./en-sg.js": 16505, 26034 "./eo": 41907, 26035 "./eo.js": 41907, 26036 "./es": 86640, 26037 "./es-do": 41246, 26038 "./es-do.js": 41246, 26039 "./es-mx": 56131, 26040 "./es-mx.js": 56131, 26041 "./es-us": 36430, 26042 "./es-us.js": 36430, 26043 "./es.js": 86640, 26044 "./et": 62551, 26045 "./et.js": 62551, 26046 "./eu": 32711, 26047 "./eu.js": 32711, 26048 "./fa": 54572, 26049 "./fa.js": 54572, 26050 "./fi": 33390, 26051 "./fi.js": 33390, 26052 "./fil": 87860, 26053 "./fil.js": 87860, 26054 "./fo": 48216, 26055 "./fo.js": 48216, 26056 "./fr": 99291, 26057 "./fr-ca": 98527, 26058 "./fr-ca.js": 98527, 26059 "./fr-ch": 58407, 26060 "./fr-ch.js": 58407, 26061 "./fr.js": 99291, 26062 "./fy": 47054, 26063 "./fy.js": 47054, 26064 "./ga": 49540, 26065 "./ga.js": 49540, 26066 "./gd": 73917, 26067 "./gd.js": 73917, 26068 "./gl": 51486, 26069 "./gl.js": 51486, 26070 "./gom-deva": 56245, 26071 "./gom-deva.js": 56245, 26072 "./gom-latn": 48868, 26073 "./gom-latn.js": 48868, 26074 "./gu": 59652, 26075 "./gu.js": 59652, 26076 "./he": 89019, 26077 "./he.js": 89019, 26078 "./hi": 42040, 26079 "./hi.js": 42040, 26080 "./hr": 63402, 26081 "./hr.js": 63402, 26082 "./hu": 79322, 26083 "./hu.js": 79322, 26084 "./hy-am": 27609, 26085 "./hy-am.js": 27609, 26086 "./id": 57942, 26087 "./id.js": 57942, 26088 "./is": 98275, 26089 "./is.js": 98275, 26090 "./it": 73053, 26091 "./it-ch": 4378, 26092 "./it-ch.js": 4378, 26093 "./it.js": 73053, 26094 "./ja": 46176, 26095 "./ja.js": 46176, 26096 "./jv": 679, 26097 "./jv.js": 679, 26098 "./ka": 92726, 26099 "./ka.js": 92726, 26100 "./kk": 72953, 26101 "./kk.js": 72953, 26102 "./km": 86957, 26103 "./km.js": 86957, 26104 "./kn": 59181, 26105 "./kn.js": 59181, 26106 "./ko": 47148, 26107 "./ko.js": 47148, 26108 "./ku": 27752, 26109 "./ku.js": 27752, 26110 "./ky": 65675, 26111 "./ky.js": 65675, 26112 "./lb": 41263, 26113 "./lb.js": 41263, 26114 "./lo": 65746, 26115 "./lo.js": 65746, 26116 "./lt": 11143, 26117 "./lt.js": 11143, 26118 "./lv": 38753, 26119 "./lv.js": 38753, 26120 "./me": 44054, 26121 "./me.js": 44054, 26122 "./mi": 31573, 26123 "./mi.js": 31573, 26124 "./mk": 30202, 26125 "./mk.js": 30202, 26126 "./ml": 68523, 26127 "./ml.js": 68523, 26128 "./mn": 79794, 26129 "./mn.js": 79794, 26130 "./mr": 56681, 26131 "./mr.js": 56681, 26132 "./ms": 56975, 26133 "./ms-my": 39859, 26134 "./ms-my.js": 39859, 26135 "./ms.js": 56975, 26136 "./mt": 3691, 26137 "./mt.js": 3691, 26138 "./my": 5152, 26139 "./my.js": 5152, 26140 "./nb": 7607, 26141 "./nb.js": 7607, 26142 "./ne": 21526, 26143 "./ne.js": 21526, 26144 "./nl": 86368, 26145 "./nl-be": 40076, 26146 "./nl-be.js": 40076, 26147 "./nl.js": 86368, 26148 "./nn": 68420, 26149 "./nn.js": 68420, 26150 "./oc-lnc": 51906, 26151 "./oc-lnc.js": 51906, 26152 "./pa-in": 94504, 26153 "./pa-in.js": 94504, 26154 "./pl": 54721, 26155 "./pl.js": 54721, 26156 "./pt": 74645, 26157 "./pt-br": 54548, 26158 "./pt-br.js": 54548, 26159 "./pt.js": 74645, 26160 "./ro": 71977, 26161 "./ro.js": 71977, 26162 "./ru": 26042, 26163 "./ru.js": 26042, 26164 "./sd": 78849, 26165 "./sd.js": 78849, 26166 "./se": 27739, 26167 "./se.js": 27739, 26168 "./si": 50084, 26169 "./si.js": 50084, 26170 "./sk": 92449, 26171 "./sk.js": 92449, 26172 "./sl": 23086, 26173 "./sl.js": 23086, 26174 "./sq": 33139, 26175 "./sq.js": 33139, 26176 "./sr": 30607, 26177 "./sr-cyrl": 30063, 26178 "./sr-cyrl.js": 30063, 26179 "./sr.js": 30607, 26180 "./ss": 40131, 26181 "./ss.js": 40131, 26182 "./sv": 21665, 26183 "./sv.js": 21665, 26184 "./sw": 5642, 26185 "./sw.js": 5642, 26186 "./ta": 33622, 26187 "./ta.js": 33622, 26188 "./te": 74825, 26189 "./te.js": 74825, 26190 "./tet": 48336, 26191 "./tet.js": 48336, 26192 "./tg": 39238, 26193 "./tg.js": 39238, 26194 "./th": 99463, 26195 "./th.js": 99463, 26196 "./tk": 39986, 26197 "./tk.js": 39986, 26198 "./tl-ph": 29672, 26199 "./tl-ph.js": 29672, 26200 "./tlh": 40043, 26201 "./tlh.js": 40043,
26202 "./tr": 51212, 26203 "./tr.js": 51212, 26204 "./tzl": 50110, 26205 "./tzl.js": 50110, 26206 "./tzm": 80482, 26207 "./tzm-latn": 38309, 26208 "./tzm-latn.js": 38309, 26209 "./tzm.js": 80482, 26210 "./ug-cn": 42495, 26211 "./ug-cn.js": 42495, 26212 "./uk": 54157, 26213 "./uk.js": 54157, 26214 "./ur": 80984, 26215 "./ur.js": 80984, 26216 "./uz": 64141, 26217 "./uz-latn": 43662, 26218 "./uz-latn.js": 43662, 26219 "./uz.js": 64141, 26220 "./vi": 12607, 26221 "./vi.js": 12607, 26222 "./x-pseudo": 66460, 26223 "./x-pseudo.js": 66460, 26224 "./yo": 92948, 26225 "./yo.js": 92948, 26226 "./zh-cn": 62658, 26227 "./zh-cn.js": 62658, 26228 "./zh-hk": 39352, 26229 "./zh-hk.js": 39352, 26230 "./zh-mo": 38274, 26231 "./zh-mo.js": 38274, 26232 "./zh-tw": 98451, 26233 "./zh-tw.js": 98451 26234}; 26235 26236 26237function webpackContext(req) { 26238 var id = webpackContextResolve(req); 26239 return __webpack_require__(id); 26240} 26241function webpackContextResolve(req) { 26242 if(!__webpack_require__.o(map, req)) { 26243 var e = new Error("Cannot find module '" + req + "'"); 26244 e.code = 'MODULE_NOT_FOUND'; 26245 throw e; 26246 } 26247 return map[req]; 26248} 26249webpackContext.keys = function webpackContextKeys() { 26250 return Object.keys(map); 26251}; 26252webpackContext.resolve = webpackContextResolve; 26253module.exports = webpackContext; 26254webpackContext.id = 46700; 26255 26256/***/ }), 26257 26258/***/ 6849: 26259/*!***********************************!*\ 26260 !*** ./src/app/app.component.css ***! 26261 \***********************************/ 26262/***/ (function(module) { 26263 26264"use strict"; 26265module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhcHAuY29tcG9uZW50LmNzcyJ9 */"; 26266 26267/***/ }), 26268 26269/***/ 10754: 26270/*!*************************************************************!*\ 26271 !*** ./src/app/components/home/banner/banner.component.css ***! 26272 \*************************************************************/ 26273/***/ (function(module) { 26274 26275"use strict"; 26276module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJiYW5uZXIuY29tcG9uZW50LmNzcyJ9 */"; 26277 26278/***/ }), 26279 26280/***/ 31650: 26281/*!*******************************************************************!*\ 26282 !*** ./src/app/components/home/bulletins/bulletins.component.css ***! 26283 \*******************************************************************/ 26284/***/ (function(module) { 26285 26286"use strict"; 26287module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJidWxsZXRpbnMuY29tcG9uZW50LmNzcyJ9 */"; 26288 26289/***/ }), 26290 26291/***/ 74241: 26292/*!*****************************************************************************!*\ 26293 !*** ./src/app/components/home/bulletinsingle/bulletinsingle.component.css ***! 26294 \*****************************************************************************/ 26295/***/ (function(module) { 26296 26297"use strict"; 26298module.exports = "::ng-deep.two-clum-list img{\n margin: 5px auto;\n display: block;\n float: none;\n vertical-align: top;\n position: relative;\n}\n\n/* .fr-view img.fr-dib.fr-fil {\n margin-left: 0;\n text-align: left;\n}\n.fr-view img.fr-dib {\n margin: 5px auto;\n display: block;\n float: none;\n vertical-align: top;\n} */\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1bGxldGluc2luZ2xlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCOztBQUVBOzs7Ozs7Ozs7R0FTRyIsImZpbGUiOiJidWxsZXRpbnNpbmdsZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOjpuZy1kZWVwLnR3by1jbHVtLWxpc3QgaW1ne1xuICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIC5mci12aWV3IGltZy5mci1kaWIuZnItZmlsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmZyLXZpZXcgaW1nLmZyLWRpYiB7XG4gICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufSAqL1xuIl19 */"; 26299 26300/***/ }), 26301 26302/***/ 43005: 26303/*!*************************************************************!*\ 26304 !*** ./src/app/components/home/e-book/e-book.component.css ***! 26305 \*************************************************************/ 26306/***/ (function(module) { 26307 26308"use strict"; 26309module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlLWJvb2suY29tcG9uZW50LmNzcyJ9 */"; 26310 26311/***/ }), 26312 26313/***/ 14877: 26314/*!*************************************************************!*\ 26315 !*** ./src/app/components/home/events/events.component.css ***! 26316 \*************************************************************/ 26317/***/ (function(module) { 26318 26319"use strict"; 26320module.exports = "\n.fc-event-container {\tposition: relative; }\n/*\n.fc-day-grid-event {\n\theight: 3px !important;
26320\n\twidth: 20px !important;\n\tleft: 38%;\n\tbottom: 12px;\n\tbackground-image: url('/assets/images/eventborder.png');\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tborder: none;\n\tbackground-color: transparent !important;\n\tbackground-size: 100%;\n\tmargin: auto;\n}*/\n.fc-day-grid-event {\n height: 4px !important;\n border-radius: 20px;\n border: #d48383 1px solid !important;\n margin: 0 3% 1% 3%;\n }\nbutton.fc-button {\n\tbackground: transparent !important;\n\tborder: 0px solid !important;\n\tbox-shadow: 0 0 0 0 !important;\n\tborder-radius: 0px !important;\n\toutline: none !important;\n}\nbutton.fc-button:focus{\n\tborder: 0px solid;\n}\n.fc-scroller.fc-day-grid-container{\n\theight: auto !important;\n}\n.fc-title {\t\n\tfont-size: 0px;\n}\n.disabledDay span.fc-day-number {\n\tbackground-color: #f9f7f7;\n\tpadding: 10px 15px;\n\tborder-radius: 4px;\n\tcolor: #868686 !important;\n}\nul.event-notes li.eventopen {\n\tbackground-color: #fff;\n\tbox-shadow: 5px 1px 3px 0 rgba(0, 0, 0, 0.05);\n\tborder-radius: 0 30px 30px 0px;\n\tmargin-left: -7px;\n\tpadding-left: 22px;\n}\n{\n/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+97&0+6,1+98 */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */\nbackground: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 6%,rgba(255,255,255,0.99) 97%,rgba(255,255,255,1) 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\nfilter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */\n\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV2ZW50cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxzQkFBc0Isa0JBQWtCLEVBQUU7QUFDMUM7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUNGO0lBQ0ksc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixvQ0FBb0M7SUFDcEMsa0JBQWtCO0NBQ3JCO0FBQ0Q7Q0FDQyxrQ0FBa0M7Q0FDbEMsNEJBQTRCO0NBQzVCLDhCQUE4QjtDQUM5Qiw2QkFBNkI7Q0FDN0Isd0JBQXdCO0FBQ3pCO0FBRUE7Q0FDQyxpQkFBaUI7QUFDbEI7QUFFQTtDQUNDLHVCQUF1QjtBQUN4QjtBQUVBO0NBQ0MsY0FBYztBQUNmO0FBRUE7Q0FDQyx5QkFBeUI7Q0FDekIsa0JBQWtCO0NBQ2xCLGtCQUFrQjtDQUNsQix5QkFBeUI7QUFDMUI7QUFFQTtDQUNDLHNCQUFzQjtDQUN0Qiw2Q0FBNkM7Q0FDN0MsOEJBQThCO0NBQzlCLGlCQUFpQjtDQUNqQixrQkFBa0I7QUFDbkI7QUFDQTtBQUNBLHdIQUF3SCxFQUNvQixhQUFhLEVBQ2IsNEJBQTRCO0FBQ3hLLHdJQUF3SSxFQUFFLHFEQUFxRDtBQUMvTCxxSEFBcUgsRUFBRSxVQUFVOztBQUVqSSIsImZpbGUiOiJldmVudHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLmZjLWV2ZW50LWNvbnRhaW5lciB7XHRwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi8qXG4uZmMtZGF5LWdyaWQtZXZlbnQge1xuXHRoZWlnaHQ6IDNweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuXHRsZWZ0OiAzOCU7XG5cdGJvdHRvbTogMTJweDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9ldmVudGJvcmRlci5wbmcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdG1hcmdpbjogYXV0bztcbn0qL1xuLmZjLWRheS1ncmlkLWV2ZW50IHtcbiAgICBoZWlnaHQ6IDRweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyOiAjZDQ4MzgzIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAzJSAxJSAzJTtcbiB9XG5idXR0b24uZmMtYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwcHggc29saWQgIWltcG9ydGFudDtcblx0Ym94LXNoYWRvdzogMCAwIDAgMCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5idXR0b24uZmMtYnV0dG9uOmZvY3Vze1xuXHRib3JkZXI6IDBweCBzb2xpZDtcbn1cblxuLmZjLXNjcm9sbGVyLmZjLWRheS1ncmlkLWNvbnRhaW5lcntcblx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5mYy10aXRsZSB7XHRcblx0Zm9udC1zaXplOiAwcHg7XG59XG5cbi5kaXNhYmxlZERheSBzcGFuLmZjLWRheS1udW1iZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmN2Y3O1xuXHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6ICM4Njg2ODYgIWltcG9ydGFudDtcbn1cblxudWwuZXZlbnQtbm90ZXMgbGkuZXZlbnRvcGVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0Ym94LXNoYWRvdzogNXB4IDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRib3JkZXItcmFkaXVzOiAwIDMwcHggMzBweCAwcHg7XG5cdG1hcmdpbi1sZWZ0OiAtN3B4O1xuXHRwYWRkaW5nLWxlZnQ6IDIycHg7XG59XG57XG4vKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZmZmZmKzAsZmZmZmZmKzk3JjArNiwxKzk4ICovXG5iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgNiUsIHJnYmEoMjU1LDI1NSwyNTUsMC45OSkgOTclLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDk4JSk7IC8qIEZGMy42LTE1ICovXG5iYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSA2JSxyZ2JhKDI1NSwyNTUsMjU1LDAuOTkpIDk3JSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDk4JSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgNiUscmdiYSgyNTUsMjU1LDI1NSwwLjk5KSA5NyUscmdiYSgyNTUsMjU1LDI1NSwxKSA5OCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cblxufSJdfQ== */"; 26321 26322/***/ }), 26323 26324/***/ 44803: 26325/*!*********************************************************************!*\ 26326 !*** ./src/app/components/home/explorewgt/explorewgt.component.css ***! 26327 \*********************************************************************/ 26328/***/ (function(module) { 26329 26330"use strict"; 26331module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJleHBsb3Jld2d0LmNvbXBvbmVudC5jc3MifQ== */"; 26332 26333/***/ }), 26334 26335/***/ 61748: 26336/*!*****************************************************************!*\ 26337 !*** ./src/app/components/home/homepage/homepage.component.css ***! 26338 \*****************************************************************/ 26339/***/ (function(module) { 26340 26341"use strict"; 26342module.exports = ".ry-suboption {\n clear: both;\n width: 100%;\n margin: 8px 0 0 26px;\n}\n\n.ry-suboption .checkbox-input {\n display: flex;\n align-items: center;\n margin: 0;\n}\n\n.ry-suboption .ry-suboption-text {\n margin-left: 10px;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWVwYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLG9CQUFvQjtB
26342QUN0Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsU0FBUztBQUNYOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25CIiwiZmlsZSI6ImhvbWVwYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucnktc3Vib3B0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDhweCAwIDAgMjZweDtcbn1cblxuLnJ5LXN1Ym9wdGlvbiAuY2hlY2tib3gtaW5wdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5cbi5yeS1zdWJvcHRpb24gLnJ5LXN1Ym9wdGlvbi10ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59Il19 */"; 26343 26344/***/ }), 26345 26346/***/ 24767: 26347/*!***************************************************************************!*\ 26348 !*** ./src/app/components/home/lazyloadimage/lazyloadimage.component.css ***! 26349 \***************************************************************************/ 26350/***/ (function(module) { 26351 26352"use strict"; 26353module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsYXp5bG9hZGltYWdlLmNvbXBvbmVudC5jc3MifQ== */"; 26354 26355/***/ }), 26356 26357/***/ 89823: 26358/*!***********************************************************!*\ 26359 !*** ./src/app/components/home/links/links.component.css ***! 26360 \***********************************************************/ 26361/***/ (function(module) { 26362 26363"use strict"; 26364module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaW5rcy5jb21wb25lbnQuY3NzIn0= */"; 26365 26366/***/ }), 26367 26368/***/ 25461: 26369/*!*****************************************************************************!*\ 26370 !*** ./src/app/components/home/location-hours/location-hours.component.css ***! 26371 \*****************************************************************************/ 26372/***/ (function(module) { 26373 26374"use strict"; 26375module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsb2NhdGlvbi1ob3Vycy5jb21wb25lbnQuY3NzIn0= */"; 26376 26377/***/ }), 26378 26379/***/ 10742: 26380/*!*******************************************************!*\ 26381 !*** ./src/app/components/home/new/new.component.css ***! 26382 \*******************************************************/ 26383/***/ (function(module) { 26384 26385"use strict"; 26386module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJuZXcuY29tcG9uZW50LmNzcyJ9 */"; 26387 26388/***/ }), 26389 26390/***/ 89439: 26391/*!***************************************************************!*\ 26392 !*** ./src/app/components/home/popular/popular.component.css ***! 26393 \***************************************************************/ 26394/***/ (function(module) { 26395 26396"use strict"; 26397module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwb3B1bGFyLmNvbXBvbmVudC5jc3MifQ== */"; 26398 26399/***/ }), 26400 26401/***/ 42779: 26402/*!*****************************************************************!*\ 26403 !*** ./src/app/components/home/quick-qa/quick-qa.component.css ***! 26404 \*****************************************************************/ 26405/***/ (function(module) { 26406 26407"use strict"; 26408module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJxdWljay1xYS5jb21wb25lbnQuY3NzIn0= */"; 26409 26410/***/ }), 26411 26412/***/ 58377: 26413/*!***********************************************************************!*\ 26414 !*** ./src/app/components/home/recommended/recommended.component.css ***! 26415 \***********************************************************************/ 26416/***/ (function(module) { 26417 26418"use strict"; 26419module.exports = ".recommended-for-you .recommendation-reason {\n font-size: 13px;\n font-style: italic;\n opacity: 0.85;\n margin: 6px 12px 0;\n line-height: 1.35;\n}\n\n/* Carousel view: tighten the gap above the reason (trim the star row's bottom\n margin) and give the reason a little breathing room below so it isn't flush\n against the bottom of the card. */\n\n.recommended-for-you .Carousel-main .star-rating-outer {\n margin-bottom: 2px;\n}\n\n.recommended-for-you .Carousel-main .recommendation-reason {\n margin-top: 2px;\n margin-bottom: 12px;\n}\n\n/* Grid view: pin the recommendation reason as a full-width strip at the bottom of the card */\n\n.recommended-for-you .book-block.item {\n padding-bottom: 46px;\n}\n\n.recommended-for-you .book-block.item .recommendation-reason {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n margin: 0;\n padding: 9px 20px;\n border-top: 1px solid #e4e4e4;\n background: #fff;
26419\n color: #6b6b6b;\n opacity: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n\n.recommended-for-you .book-block.item:hover .recommendation-reason {\n background: #26B6EF;\n border-top-color: rgba(255, 255, 255, 0.4);\n color: #fff;\n}\n\n/* Login prompt shown alongside the View More button in the Popular Titles fallback */\n\n.recommended-for-you .recommended-popular-login {\n margin-bottom: 10px;\n opacity: 0.85;\n}\n\n/* Empty-state explanation (logged-in patron, no recommendations) in the Popular fallback */\n\n.recommended-for-you .recommended-popular-empty {\n margin-bottom: 10px;\n opacity: 0.85;\n}\n\n.recommended-for-you .recommended-popular-actions .btn {\n margin: 0 5px;\n}\n\n.recommended-login-prompt .recommended-prompt-inner,\n.recommended-empty-state .recommended-prompt-inner {\n padding: 30px 15px;\n}\n\n.recommended-login-prompt .recommended-prompt-inner p,\n.recommended-empty-state .recommended-prompt-inner p {\n margin-bottom: 18px;\n}\n\n.recommended-editmode-placeholder {\n padding: 30px 15px;\n}\n\n.recommended-editmode-placeholder p {\n opacity: 0.85;\n}\n\n/* Skeleton loading state */\n\n.recommended-skeleton.skeleton-carousel {\n display: flex;\n flex-wrap: nowrap;\n overflow: hidden;\n}\n\n.recommended-skeleton.skeleton-carousel .skeleton-col {\n flex: 0 0 16.666%;\n max-width: 16.666%;\n padding: 0 10px;\n}\n\n.skeleton-card {\n padding: 10px 0;\n}\n\n.skeleton-cover {\n border-radius: 4px;\n}\n\n.skeleton-line {\n height: 12px;\n border-radius: 4px;\n margin: 8px 0;\n}\n\n.skeleton-line.short {\n width: 60%;\n}\n\n.skeleton-line.reason {\n width: 85%;\n height: 10px;\n}\n\n/* Carousel skeleton mirrors the real carousel item: tall portrait cover with a couple of short lines below */\n\n.skeleton-carousel .skeleton-card {\n text-align: center;\n}\n\n.skeleton-carousel .skeleton-cover {\n width: 100%;\n padding-top: 150%;\n margin-bottom: 12px;\n}\n\n.skeleton-carousel .skeleton-line {\n margin-left: auto;\n margin-right: auto;\n}\n\n.skeleton-carousel .skeleton-line.short {\n width: 45%;\n}\n\n/* Grid skeleton mirrors the real grid card: small fixed cover on the left, text lines to the right */\n\n.skeleton-grid .skeleton-card {\n display: flex;\n align-items: flex-start;\n padding: 15px 0;\n}\n\n.skeleton-grid .skeleton-cover {\n flex: 0 0 130px;\n width: 130px;\n height: 185px;\n}\n\n.skeleton-grid .skeleton-lines {\n flex: 1 1 auto;\n padding-left: 20px;\n padding-top: 5px;\n}\n\n.skeleton-grid .skeleton-line {\n margin: 10px 0;\n}\n\n.shimmer {\n background: #e8e8e8;\n background-image: linear-gradient(90deg, #e8e8e8 0px, #f4f4f4 40px, #e8e8e8 80px);\n background-size: 600px;\n -webkit-animation: recommended-shimmer 1.4s infinite linear;\n animation: recommended-shimmer 1.4s infinite linear;\n}\n\n@-webkit-keyframes recommended-shimmer {\n 0% { background-position: -300px; }\n 100% { background-position: 300px; }\n}\n\n@keyframes recommended-shimmer {\n 0% { background-position: -300px; }\n 100% { background-position: 300px; }\n}\n\n@media (max-width: 1281px) {\n .recommended-skeleton.skeleton-carousel .skeleton-col {\n flex: 0 0 25%;\n max-width: 25%;\n }\n}\n\n@media (max-width: 992px) {\n .recommended-skeleton.skeleton-carousel .skeleton-col {\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (max-width: 768px) {\n .recommended-skeleton.skeleton-carousel .skeleton-col {\n flex: 0 0 100%;\n max-width: 100%;\n }\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlY29tbWVuZGVkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25COztBQUVBOztvQ0FFb0M7O0FBQ3BDO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtBQUNyQjs7QUFFQSw2RkFBNkY7O0FBQzdGO0VBQ0Usb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxRQUFRO0VBQ1IsU0FBUztFQUNULFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsNkJBQTZCO0VBQzdCLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QiwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsMENBQTBDO0VBQzFDLFdBQVc7QUFDYjs7QUFFQSxxRkFBcUY7O0FBQ3JGO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7QUFDZjs7QUFFQSwyRkFBMkY7O0FBQzNGO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFHQTs7RUFFRSxrQkFBa0I7QUFDcEI7O0FBRUE7O0VBRUUsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBLDJCQUEyQjs7QUFDM0I7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7
26419RUFDVixZQUFZO0FBQ2Q7O0FBRUEsNkdBQTZHOztBQUM3RztFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQSxxR0FBcUc7O0FBQ3JHO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsaUZBQWlGO0VBQ2pGLHNCQUFzQjtFQUN0QiwyREFBbUQ7VUFBbkQsbURBQW1EO0FBQ3JEOztBQUVBO0VBQ0UsS0FBSywyQkFBMkIsRUFBRTtFQUNsQyxPQUFPLDBCQUEwQixFQUFFO0FBQ3JDOztBQUhBO0VBQ0UsS0FBSywyQkFBMkIsRUFBRTtFQUNsQyxPQUFPLDBCQUEwQixFQUFFO0FBQ3JDOztBQUVBO0VBQ0U7SUFDRSxhQUFhO0lBQ2IsY0FBYztFQUNoQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxhQUFhO0lBQ2IsY0FBYztFQUNoQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxjQUFjO0lBQ2QsZUFBZTtFQUNqQjtBQUNGIiwiZmlsZSI6InJlY29tbWVuZGVkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucmVjb21tZW5kZWQtZm9yLXlvdSAucmVjb21tZW5kYXRpb24tcmVhc29uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG9wYWNpdHk6IDAuODU7XG4gIG1hcmdpbjogNnB4IDEycHggMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbi8qIENhcm91c2VsIHZpZXc6IHRpZ2h0ZW4gdGhlIGdhcCBhYm92ZSB0aGUgcmVhc29uICh0cmltIHRoZSBzdGFyIHJvdydzIGJvdHRvbVxuICAgbWFyZ2luKSBhbmQgZ2l2ZSB0aGUgcmVhc29uIGEgbGl0dGxlIGJyZWF0aGluZyByb29tIGJlbG93IHNvIGl0IGlzbid0IGZsdXNoXG4gICBhZ2FpbnN0IHRoZSBib3R0b20gb2YgdGhlIGNhcmQuICovXG4ucmVjb21tZW5kZWQtZm9yLXlvdSAuQ2Fyb3VzZWwtbWFpbiAuc3Rhci1yYXRpbmctb3V0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5yZWNvbW1lbmRlZC1mb3IteW91IC5DYXJvdXNlbC1tYWluIC5yZWNvbW1lbmRhdGlvbi1yZWFzb24ge1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi8qIEdyaWQgdmlldzogcGluIHRoZSByZWNvbW1lbmRhdGlvbiByZWFzb24gYXMgYSBmdWxsLXdpZHRoIHN0cmlwIGF0IHRoZSBib3R0b20gb2YgdGhlIGNhcmQgKi9cbi5yZWNvbW1lbmRlZC1mb3IteW91IC5ib29rLWJsb2NrLml0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogNDZweDtcbn1cblxuLnJlY29tbWVuZGVkLWZvci15b3UgLmJvb2stYmxvY2suaXRlbSAucmVjb21tZW5kYXRpb24tcmVhc29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDlweCAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM2YjZiNmI7XG4gIG9wYWNpdHk6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi5yZWNvbW1lbmRlZC1mb3IteW91IC5ib29rLWJsb2NrLml0ZW06aG92ZXIgLnJlY29tbWVuZGF0aW9uLXJlYXNvbiB7XG4gIGJhY2tncm91bmQ6ICMyNkI2RUY7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIExvZ2luIHByb21wdCBzaG93biBhbG9uZ3NpZGUgdGhlIFZpZXcgTW9yZSBidXR0b24gaW4gdGhlIFBvcHVsYXIgVGl0bGVzIGZhbGxiYWNrICovXG4ucmVjb21tZW5kZWQtZm9yLXlvdSAucmVjb21tZW5kZWQtcG9wdWxhci1sb2dpbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qIEVtcHR5LXN0YXRlIGV4cGxhbmF0aW9uIChsb2dnZWQtaW4gcGF0cm9uLCBubyByZWNvbW1lbmRhdGlvbnMpIGluIHRoZSBQb3B1bGFyIGZhbGxiYWNrICovXG4ucmVjb21tZW5kZWQtZm9yLXlvdSAucmVjb21tZW5kZWQtcG9wdWxhci1lbXB0eSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5yZWNvbW1lbmRlZC1mb3IteW91IC5yZWNvbW1lbmRlZC1wb3B1bGFyLWFjdGlvbnMgLmJ0biB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5cblxuLnJlY29tbWVuZGVkLWxvZ2luLXByb21wdCAucmVjb21tZW5kZWQtcHJvbXB0LWlubmVyLFxuLnJlY29tbWVuZGVkLWVtcHR5LXN0YXRlIC5yZWNvbW1lbmRlZC1wcm9tcHQtaW5uZXIge1xuICBwYWRkaW5nOiAzMHB4IDE1cHg7XG59XG5cbi5yZWNvbW1lbmRlZC1sb2dpbi1wcm9tcHQgLnJlY29tbWVuZGVkLXByb21wdC1pbm5lciBwLFxuLnJlY29tbWVuZGVkLWVtcHR5LXN0YXRlIC5yZWNvbW1lbmRlZC1wcm9tcHQtaW5uZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5cbi5yZWNvbW1lbmRlZC1lZGl0bW9kZS1wbGFjZWhvbGRlciB7XG4gIHBhZGRpbmc6IDMwcHggMTVweDtcbn1cblxuLnJlY29tbWVuZGVkLWVkaXRtb2RlLXBsYWNlaG9sZGVyIHAge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuXG4vKiBTa2VsZXRvbiBsb2FkaW5nIHN0YXRlICovXG4ucmVjb21tZW5kZWQtc2tlbGV0b24uc2tlbGV0b24tY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJlY29tbWVuZGVkLXNrZWxldG9uLnNrZWxldG9uLWNhcm91c2VsIC5za2VsZXRvbi1jb2wge1xuICBmbGV4OiAwIDAgMTYuNjY2JTtcbiAgbWF4LXdpZHRoOiAxNi42NjYlO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5za2VsZXRvbi1jYXJkIHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4uc2tlbGV0b24tY292ZXIge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5za2VsZXRvbi1saW5lIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbi5za2VsZXRvbi1saW5lLnNob3J0IHtcbiAgd2lkdGg6IDYwJTtcbn1cblxuLnNrZWxldG9uLWxpbmUucmVhc29uIHtcbiAgd2lkdGg6IDg1JTtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4vKiBDYXJvdXNlbCBza2VsZXRvbiBtaXJyb3JzIHRoZSByZWFsIGNhcm91c2VsIGl0ZW06IHRhbGwgcG9ydHJhaXQgY292ZXIgd2l0aCBhIGNvdXBsZSBvZiBzaG9ydCBsaW5lcyBiZWxvdyAqL1xuLnNrZWxldG9uLWNhcm91c2VsIC5za2VsZXRvbi1jYXJkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2tlbGV0b24tY2Fyb3VzZWwgLnNrZWxldG9uLWNvdmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxNTAlO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uc2tlbGV0b24tY2Fyb3VzZWwgLnNrZWxldG9uLWxpbmUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uc2tlbGV0b24tY2Fyb3VzZWwgLnNrZWxldG9uLWxpbmUuc2hvcnQge1xuICB3aWR0aDogNDUlO1xufVxuXG4vKiBHcmlkIHNrZWxldG9uIG1pcnJvcnMgdGhlIHJlYWwgZ3JpZCBjYXJkOiBzbWFsbCBmaXhlZCBjb3ZlciBvbiB0aGUgbGVmdCwgdGV4dCBsaW5lcyB0byB0aGUgcmlnaHQgKi9cbi5za2VsZXRvbi1ncmlkIC5za2VsZXRvbi1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDE1cHggMDtcbn1cblxuLnNrZWxldG9uLWdyaWQgLnNrZWxldG9uLWNvdmVyIHtcbiAgZmxleDogMCAwIDEzMHB4O1xuICB3aWR0aDogMTMwcHg7XG4gIGhlaWdodDogMTg1cHg7XG59XG5cbi5za2VsZXRvbi1ncmlkIC5za2VsZXRvbi1saW5lcyB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5za2VsZXRvbi1ncmlkIC5za2VsZXRvbi1saW5lIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5zaGltbWVyIHtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZThlOGU4IDBweCwgI2Y0ZjRmNCA0MHB4LCAjZThlOGU4IDgwcHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4O1xuICBhbmltYXRpb246IHJlY29tbWVuZGVkLXNoaW1tZXIgMS40cyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbkBrZXlmcmFtZXMgcmVjb21tZW5kZWQtc2hpbW1lciB7XG4gIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwMHB4OyB9XG4gIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMDBweDsgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MXB4KSB7XG4gIC5yZWNvbW1lbmRlZC1za2VsZXRvbi5za2VsZXRvbi1jYXJvdXNlbCAuc2tlbGV0b24tY29sIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAucmVjb21tZW5kZWQtc2tlbGV0b24uc2tlbGV0b24tY2Fyb3VzZWwgLnNrZWxldG9uLWNvbCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnJlY29tbWVuZGVkLXNrZWxldG9uLnNrZWxldG9uLWNhcm91c2VsIC5za2VsZXRvbi1jb2wge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuIl19 */"; 26420 26421/***/ }), 26422 26423/***/ 77850: 26424/*!*****************************************************************************************!*\ 26425 !*** ./src/app/components/home/resource-list-single/resource-list-single.component.css ***! 26426 \*****************************************************************************************/ 26427/***/ (function(module) { 26428 26429"use strict"; 26430module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXNvdXJjZS1saXN0LXNpbmdsZS5jb21wb25lbnQuY3NzIn0= */"; 26431 26432/***/ }), 26433 26434/***/ 22826: 26435/*!***************************************************************************!*\ 26436 !*** ./src/app/components/home/resource-list/resource-list.component.css ***! 26437 \***************************************************************************/ 26438/***/ (function(module) { 26439 26440"use strict"; 26441module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXNvdXJjZS1saXN0LmNvbXBvbmVudC5jc3MifQ== */"; 26442 26443/***/ }), 26444 26445/***/ 42271: 26446/*!***************************************************************!*\ 26447 !*** ./src/app/components/home/reviews/reviews.component.css ***! 26448 \***************************************************************/ 26449/***/ (function(module) { 26450 26451"use strict"; 26452module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXZpZXdzLmNvbXBvbmVudC5jc3MifQ== */"; 26453 26454/***/ }), 26455 26456/***/ 89586: 26457/*!*************************************************************!*\ 26458 !*** ./src/app/components/home/search/search.component.css ***! 26459 \*************************************************************/ 26460/***/ (function(module) { 26461 26462"use strict"; 26463module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzZWFyY2guY29tcG9uZW50LmNzcyJ9 */"; 26464 26465/***/ }), 26466 26467/***/ 8922: 26468/*!*********************************************************!*\ 26469 !*** ./src/app/components/home/text/text.component.css ***! 26470 \*********************************************************/ 26471/***/ (function(module) { 26472 26473"use strict"; 26474module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0ZXh0LmNvbXBvbmVudC5jc3MifQ== */"; 26475 26476/***/ }), 26477 26478/***/ 50882: 26479/*!**************************************************************!*\ 26480 !*** ./src/app/components/pages/awards/awards.component.css ***! 26481 \**************************************************************/ 26482/***/ (function(module) { 26483 26484"use strict"; 26485module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhd2FyZHMuY29tcG9uZW50LmNzcyJ9 */"; 26486 26487/***/ }), 26488 26489/***/ 32954: 26490/*!********************************************************************************!*\ 26491 !*** ./src/app/components/pages/bulletin-detail/bulletin-detail.component.css ***! 26492 \********************************************************************************/ 26493/***/ (function(module) { 26494 26495"use strict"; 26496module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJidWxsZXRpbi1kZXRhaWwuY29tcG9uZW50LmNzcyJ9 */"; 26497 26498/***/ }), 26499 26500/***/ 30201: 26501/*!******************************************************************************!*\ 26502 !*** ./src/app/components/pages/bulletins-list/bulletins-list.component.css ***! 26503 \******************************************************************************/ 26504/***/ (function(module) { 26505 26506"use strict"; 26507module.exports = ".cdk-drag-preview {\n box-sizing: border-box;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}
26507\n\n.cdk-drag-animating {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.dragBox:last-child {\n border: none;\n}\n\n.bulletinListDrag.cdk-drop-list-dragging .dragBox:not(.cdk-drag-placeholder) {\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.example-custom-placeholder {\n background: #ccc;\n border: dotted 3px #999;\n min-height: 60px;\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1bGxldGlucy1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCOztnREFFOEM7QUFDaEQ7O0FBRUE7RUFDRSxzREFBc0Q7QUFDeEQ7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxzREFBc0Q7QUFDeEQ7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixzREFBc0Q7QUFDeEQiLCJmaWxlIjoiYnVsbGV0aW5zLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZGstZHJhZy1wcmV2aWV3IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgICAgICAgIDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5jZGstZHJhZy1hbmltYXRpbmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5kcmFnQm94Omxhc3QtY2hpbGQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5idWxsZXRpbkxpc3REcmFnLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmRyYWdCb3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5leGFtcGxlLWN1c3RvbS1wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGJvcmRlcjogZG90dGVkIDNweCAjOTk5O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59Il19 */"; 26508 26509/***/ }), 26510 26511/***/ 71327: 26512/*!**************************************************************!*\ 26513 !*** ./src/app/components/pages/detail/detail.component.css ***! 26514 \**************************************************************/ 26515/***/ (function(module) { 26516 26517"use strict"; 26518module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJkZXRhaWwuY29tcG9uZW50LmNzcyJ9 */"; 26519 26520/***/ }), 26521 26522/***/ 37622: 26523/*!****************************************************************!*\ 26524 !*** ./src/app/components/pages/explore/explore.component.css ***! 26525 \****************************************************************/ 26526/***/ (function(module) { 26527 26528"use strict"; 26529module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJleHBsb3JlLmNvbXBvbmVudC5jc3MifQ== */"; 26530 26531/***/ }), 26532 26533/***/ 96106: 26534/*!**************************************************************!*\ 26535 !*** ./src/app/components/pages/forgot/forgot.component.css ***! 26536 \**************************************************************/ 26537/***/ (function(module) { 26538 26539"use strict"; 26540module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJmb3Jnb3QuY29tcG9uZW50LmNzcyJ9 */"; 26541 26542/***/ }), 26543 26544/***/ 20978: 26545/*!******************************************************************!*\ 26546 !*** ./src/app/components/pages/id-cards/id-cards.component.css ***! 26547 \******************************************************************/ 26548/***/ (function(module) { 26549 26550"use strict"; 26551module.exports = ".box-shadow {\n box-shadow: 0px 2px 12px -1px rgba(0,0,0,0.48) !important;\n -webkit-box-shadow: 0px 2px 12px -1px rgba(0,0,0,0.48) !important;\n -moz-box-shadow: 0px 2px 12px -1px rgba(0,0,0,0.48) !important;\n}\n@media (max-width: 575px) {\n .id-card-inner {\n height: auto;\n }\n}\n.wallet-button img {\n width: 80%;\n margin-top: 5px;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlkLWNhcmRzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx5REFBeUQ7SUFDekQsaUVBQWlFO0lBQ2pFLDhEQUE4RDtBQUNsRTtBQUNBO0lBQ0k7UUFDSSxZQUFZO0lBQ2hCO0FBQ0o7QUFDQTtJQUNJLFVBQVU7SUFDVixlQUFlO0FBQ25CIiwiZmlsZSI6ImlkLWNhcmRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYm94LXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAxMnB4IC0xcHggcmdiYSgwLDAsMCwwLjQ4KSAhaW
265511wb3J0YW50O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAxMnB4IC0xcHggcmdiYSgwLDAsMCwwLjQ4KSAhaW1wb3J0YW50O1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDJweCAxMnB4IC0xcHggcmdiYSgwLDAsMCwwLjQ4KSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmlkLWNhcmQtaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxufVxuLndhbGxldC1idXR0b24gaW1nIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cbiJdfQ== */"; 26552 26553/***/ }), 26554 26555/***/ 36846: 26556/*!****************************************************************************!*\ 26557 !*** ./src/app/components/pages/libarary-news/libarary-news.component.css ***! 26558 \****************************************************************************/ 26559/***/ (function(module) { 26560 26561"use strict"; 26562module.exports = "\n.fc-event-container {\tposition: relative; }\n\n/*\n.fc-day-grid-event {\n\theight: 3px !important;\n\twidth: 20px !important;\n\tleft: 38%;\n\tbottom: 12px;\n\tbackground-image: url('/assets/images/eventborder.png');\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tborder: none;\n\tbackground-color: transparent !important;\n\tbackground-size: 100%;\n\tmargin: auto;\n}*/\n\n.fc-day-grid-event {\n height: 4px !important;\n border-radius: 20px;\n border: #d48383 1px solid !important;\n margin: 0 3% 1% 3%;\n }\n\nbutton.fc-button {\n\tbackground: transparent !important;\n\tborder: 0px solid !important;\n\tbox-shadow: 0 0 0 0 !important;\n\tborder-radius: 0px !important;\n\toutline: none !important;\n}\n\nbutton.fc-button:focus{\n\tborder: 0px solid;\n}\n\n.fc-scroller.fc-day-grid-container{\n\theight: auto !important;\n}\n\n.fc-title {\t\n\tfont-size: 0px;\n}\n\n.disabledDay span.fc-day-number {\n\tbackground-color: #f9f7f7;\n\tpadding: 10px 15px;\n\tborder-radius: 4px;\n\tcolor: #868686 !important;\n}\n\nul.event-notes li.eventopen {\n\tbackground-color: #fff;\n\tbox-shadow: 5px 1px 3px 0 rgba(0, 0, 0, 0.05);\n\tborder-radius: 0 30px 30px 0px;\n\tmargin-left: -7px;\n\tpadding-left: 22px;\n}\n\n{\n/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+97&0+6,1+98 */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */\nbackground: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 6%,rgba(255,255,255,0.99) 97%,rgba(255,255,255,1) 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */\nfilter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */\n\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYmFyYXJ5LW5ld3MuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0Esc0JBQXNCLGtCQUFrQixFQUFFOztBQUUxQzs7Ozs7Ozs7Ozs7OztFQWFFOztBQUNGO0lBQ0ksc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixvQ0FBb0M7SUFDcEMsa0JBQWtCO0NBQ3JCOztBQUNEO0NBQ0Msa0NBQWtDO0NBQ2xDLDRCQUE0QjtDQUM1Qiw4QkFBOEI7Q0FDOUIsNkJBQTZCO0NBQzdCLHdCQUF3QjtB
26562QUN6Qjs7QUFFQTtDQUNDLGlCQUFpQjtBQUNsQjs7QUFFQTtDQUNDLHVCQUF1QjtBQUN4Qjs7QUFFQTtDQUNDLGNBQWM7QUFDZjs7QUFFQTtDQUNDLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsa0JBQWtCO0NBQ2xCLHlCQUF5QjtBQUMxQjs7QUFFQTtDQUNDLHNCQUFzQjtDQUN0Qiw2Q0FBNkM7Q0FDN0MsOEJBQThCO0NBQzlCLGlCQUFpQjtDQUNqQixrQkFBa0I7QUFDbkI7O0FBQ0E7QUFDQSx3SEFBd0gsRUFDb0IsYUFBYSxFQUNiLDRCQUE0QjtBQUN4Syx3SUFBd0ksRUFBRSxxREFBcUQ7QUFDL0wscUhBQXFILEVBQUUsVUFBVTs7QUFFakkiLCJmaWxlIjoibGliYXJhcnktbmV3cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4uZmMtZXZlbnQtY29udGFpbmVyIHtcdHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuLmZjLWRheS1ncmlkLWV2ZW50IHtcblx0aGVpZ2h0OiAzcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDIwcHggIWltcG9ydGFudDtcblx0bGVmdDogMzglO1xuXHRib3R0b206IDEycHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZXZlbnRib3JkZXIucG5nJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHRtYXJnaW46IGF1dG87XG59Ki9cbi5mYy1kYXktZ3JpZC1ldmVudCB7XG4gICAgaGVpZ2h0OiA0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlcjogI2Q0ODM4MyAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMyUgMSUgMyU7XG4gfVxuYnV0dG9uLmZjLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogMHB4IHNvbGlkICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDAgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uLmZjLWJ1dHRvbjpmb2N1c3tcblx0Ym9yZGVyOiAwcHggc29saWQ7XG59XG5cbi5mYy1zY3JvbGxlci5mYy1kYXktZ3JpZC1jb250YWluZXJ7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uZmMtdGl0bGUge1x0XG5cdGZvbnQtc2l6ZTogMHB4O1xufVxuXG4uZGlzYWJsZWREYXkgc3Bhbi5mYy1kYXktbnVtYmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y5ZjdmNztcblx0cGFkZGluZzogMTBweCAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiAjODY4Njg2ICFpbXBvcnRhbnQ7XG59XG5cbnVsLmV2ZW50LW5vdGVzIGxpLmV2ZW50b3BlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJveC1zaGFkb3c6IDVweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcblx0Ym9yZGVyLXJhZGl1czogMCAzMHB4IDMwcHggMHB4O1xuXHRtYXJnaW4tbGVmdDogLTdweDtcblx0cGFkZGluZy1sZWZ0OiAyMnB4O1xufVxue1xuLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2ZmZmZmZiswLGZmZmZmZis5NyYwKzYsMSs5OCAqL1xuYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDYlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOTkpIDk3JSwgcmdiYSgyNTUsMjU1LDI1NSwxKSA5OCUpOyAvKiBGRjMuNi0xNSAqL1xuYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgNiUscmdiYSgyNTUsMjU1LDI1NSwwLjk5KSA5NyUscmdiYSgyNTUsMjU1LDI1NSwxKSA5OCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDYlLHJnYmEoMjU1LDI1NSwyNTUsMC45OSkgOTclLHJnYmEoMjU1LDI1NSwyNTUsMSkgOTglKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG5cbn0iXX0= */"; 26563 26564/***/ }), 26565 26566/***/ 18225: 26567/*!**************************************************************************!*\ 26568 !*** ./src/app/components/pages/list-summary/list-summary.component.css ***! 26569 \**************************************************************************/ 26570/***/ (function(module) { 26571 26572"use strict"; 26573module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaXN0LXN1bW1hcnkuY29tcG9uZW50LmNzcyJ9 */"; 26574 26575/***/ }), 26576 26577/***/ 40616: 26578/*!****************************************************************************!*\ 26579 !*** ./src/app/components/pages/newinlibarary/newinlibarary.component.css ***! 26580 \****************************************************************************/ 26581/***/ (function(module) { 26582 26583"use strict"; 26584module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJuZXdpbmxpYmFyYXJ5LmNvbXBvbmVudC5jc3MifQ== */"; 26585 26586/***/ }), 26587 26588/***/ 62313: 26589/*!**************************************************************************!*\ 26590 !*** ./src/app/components/pages/popular-list/popular-list.component.css ***! 26591 \**************************************************************************/ 26592/***/ (function(module) { 26593 26594"use strict"; 26595module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwb3B1bGFyLWxpc3QuY29tcG9uZW50LmNzcyJ9 */"; 26596 26597/***/ }), 26598 26599/***/ 27036: 26600/*!**************************************************************************!*\ 26601 !*** ./src/app/components/pages/reading-list/reading-list.component.css ***! 26602 \**************************************************************************/ 26603/***/ (function(module) { 26604 26605"use strict"; 26606module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZWFkaW5nLWxpc3QuY29tcG9uZW50LmNzcyJ9 */"; 26607 26608/***/ }), 26609 26610/***/ 65532: 26611/*!**********************************************************************************!*\ 26612 !*** ./src/app/components/pages/recommended-list/recommended-list.component.css ***! 26613 \**********************************************************************************/ 26614/***/ (function(module) { 26615 26616"use strict"; 26617module.exports = "/* Recommendation reason: small italic text, consistent with the carousel reason */\n.recommendation-reason {\n font-size: 13px;\n font-style: italic;\n color: #6b6b6b;\n margin: 4px 0 8px;\n line-height: 1.35;\n}\n/* Grid (thumbnail) view: reason sits under the title/stars in the centered info block */\n.thumbnail-view .recommendation-reason {\n margin: 4px 0 0;\n}\n/*\n * Large List and Compact List views: the reason <p> is a sibling of floated\n * elements (.author / star-rating) inside .book-box-info. Force it onto its own\n * full-width line and let it wrap normally so long reasons (e.g. \"You've checked\n * out other titles by this author and titles on similar subjects\") render in full\n * instead of being clipped on the left.\n */\n.list-view .recommendation-reason {\n display: block;\n width: 100%;\n clear: both;\n float: none;\n white-space: normal;\n overflow: visible;\n text-overflow: clip;\n text-indent: 0;\n text-align: left;\n}\n/* Friendly status message shown when not logged in or nothing to re
26617commend */\n.recommended-list-status {\n padding: 40px 0;\n}\n.recommended-list-status p {\n opacity: 0.85;\n margin-bottom: 18px;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlY29tbWVuZGVkLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrRkFBa0Y7QUFDbEY7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25CO0FBRUEsd0ZBQXdGO0FBQ3hGO0VBQ0UsZUFBZTtBQUNqQjtBQUVBOzs7Ozs7RUFNRTtBQUNGO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxXQUFXO0VBQ1gsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsbUJBQW1CO0VBQ25CLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7QUFFQSw2RUFBNkU7QUFDN0U7RUFDRSxlQUFlO0FBQ2pCO0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCIiwiZmlsZSI6InJlY29tbWVuZGVkLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFJlY29tbWVuZGF0aW9uIHJlYXNvbjogc21hbGwgaXRhbGljIHRleHQsIGNvbnNpc3RlbnQgd2l0aCB0aGUgY2Fyb3VzZWwgcmVhc29uICovXG4ucmVjb21tZW5kYXRpb24tcmVhc29uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNmI2YjZiO1xuICBtYXJnaW46IDRweCAwIDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbi8qIEdyaWQgKHRodW1ibmFpbCkgdmlldzogcmVhc29uIHNpdHMgdW5kZXIgdGhlIHRpdGxlL3N0YXJzIGluIHRoZSBjZW50ZXJlZCBpbmZvIGJsb2NrICovXG4udGh1bWJuYWlsLXZpZXcgLnJlY29tbWVuZGF0aW9uLXJlYXNvbiB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbn1cblxuLypcbiAqIExhcmdlIExpc3QgYW5kIENvbXBhY3QgTGlzdCB2aWV3czogdGhlIHJlYXNvbiA8cD4gaXMgYSBzaWJsaW5nIG9mIGZsb2F0ZWRcbiAqIGVsZW1lbnRzICguYXV0aG9yIC8gc3Rhci1yYXRpbmcpIGluc2lkZSAuYm9vay1ib3gtaW5mby4gRm9yY2UgaXQgb250byBpdHMgb3duXG4gKiBmdWxsLXdpZHRoIGxpbmUgYW5kIGxldCBpdCB3cmFwIG5vcm1hbGx5IHNvIGxvbmcgcmVhc29ucyAoZS5nLiBcIllvdSd2ZSBjaGVja2VkXG4gKiBvdXQgb3RoZXIgdGl0bGVzIGJ5IHRoaXMgYXV0aG9yIGFuZCB0aXRsZXMgb24gc2ltaWxhciBzdWJqZWN0c1wiKSByZW5kZXIgaW4gZnVsbFxuICogaW5zdGVhZCBvZiBiZWluZyBjbGlwcGVkIG9uIHRoZSBsZWZ0LlxuICovXG4ubGlzdC12aWV3IC5yZWNvbW1lbmRhdGlvbi1yZWFzb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gIHRleHQtaW5kZW50OiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiBGcmllbmRseSBzdGF0dXMgbWVzc2FnZSBzaG93biB3aGVuIG5vdCBsb2dnZWQgaW4gb3Igbm90aGluZyB0byByZWNvbW1lbmQgKi9cbi5yZWNvbW1lbmRlZC1saXN0LXN0YXR1cyB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLnJlY29tbWVuZGVkLWxpc3Qtc3RhdHVzIHAge1xuICBvcGFjaXR5OiAwLjg1O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufSJdfQ== */"; 26618 26619/***/ }), 26620 26621/***/ 94762: 26622/*!********************************************************************!*\ 26623 !*** ./src/app/components/pages/resetmail/resetmail.component.css ***! 26624 \********************************************************************/ 26625/***/ (function(module) { 26626 26627"use strict"; 26628module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXNldG1haWwuY29tcG9uZW50LmNzcyJ9 */"; 26629 26630/***/ }), 26631 26632/***/ 82149: 26633/*!****************************************************************************!*\ 26634 !*** ./src/app/components/pages/review-detail/review-detail.component.css ***! 26635 \****************************************************************************/ 26636/***/ (function(module) { 26637 26638"use strict"; 26639module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXZpZXctZGV0YWlsLmNvbXBvbmVudC5jc3MifQ== */"; 26640 26641/***/ }), 26642 26643/***/ 38390: 26644/*!****************************************************************************!*\ 26645 !*** ./src/app/components/pages/review-search/review-search.component.css ***! 26646 \****************************************************************************/ 26647/***/ (function(module) { 26648 26649"use strict"; 26650module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZXZpZXctc2VhcmNoLmNvbXBvbmVudC5jc3MifQ== */"; 26651 26652/***/ }), 26653 26654/***/ 61815: 26655/*!************************************************************************!*\ 26656 !*** ./src/app/components/pages/unsubscribe/unsubscribe.component.css ***! 26657 \************************************************************************/ 26658/***/ (function(module) { 26659 26660"use strict"; 26661module.exports = "/*------ Base styles ------*/\nbody {\n background: #f7f8f9;\n font-family: arial;\n background-color: #FFF9DE;\n text-rendering : optimizeLegibility;\n -webkit-font-smoothing : antialiased;\n }\n.container {\n max-width: 500px;\n height: auto;\n margin: 50px auto;\n padding: 60px;\n padding-bottom: 20px;\n background-color: #fff;\n box-sizing: border-box;\n text-align: center;\n border-radius: 10px;\n box-shadow: 0px 15px 15px -12px rgba(0,0,0,0.09);\n }\n.btn {\n background-color: #F2DD68;\n text-decoration: none;\n padding: 15px 20px;\n font-weight: bold;\n border-radius: 50px;\n color: #fff;\n }\n.btn-light {\n background-color: #eee;\n color: #222;\n }\n.btn:hover{\n opacity: 0.8;\n }\nh2 {\n margin: 0;\n padding: 0;\n color: #444;\n }\np {\n margin-top: 10px;\n line-height: 24px;\n margin-bottom: 40px;\n color: #888;\n }\n/*------ Main Emoji Styling ------*/\n.emoji {\n box-sizing: border-box;\n margin: 30px auto 20px;\n width: 120px;\n height: 120px;\n }\n.face {\n width: 100px;\n height: 100px;\n position: relative;\n margin: 0 15px 30px 0;\n border-radius: 50%;\n background: #F2DD68;\n transition: 1s;\n }\n.face:after {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n top: -8px;\n left: -8px;\n border-radius: 50%;\n box-shadow: 8px 8px 0 0 rgba(0, 0, 0, 0.07);\n }\n.eye {\n position: absolute;\n width: 14px;\n height: 14px;\n top: 30px;\n left: 18px;\n z-index: 1;\n border-radius: 50%;\n background: #995710;\n }\n.eye:last-child {\n left: auto;\n right: 18px;\n }\n.emoji .eyed {\n -webkit-animation-name: blink;\n animation-name: blink;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-duration: 3s;\n animation-duration: 3s;\n }\n@-webkit-keyframes blink {\n 10% {\n height: 10px;\n top: 32px;\n }\n 20% {\n height: 0.5px;\n top: 37px;\n }\n 50% {\n height: 10px;\n top: 32px;\n }\n }\n@keyframes blink {\n 10% {\n height: 10px;\n top: 32px;\n }\n 20% {\n height: 0.5px;\n top: 37px;\n }\n 50% {\n height: 10px;\n top: 32px;\n }\n }\n.mouth {\n position: absolute;\n top: 50px;\n left: 0;\n right: 0;\n z-index: 1;\n width: 70px;\n height: 34px;\n margin: 0 auto;\n border-radius: 0 0 70px 70px;\n overflow: hidden;\n background: #995710;\n transition: 0.3s;\n }\n.mouth:before,\n .mouth:after {\n content: '';\n position: absolute;\n display: block;\n }\n/*------ Shocked Emoji Styling ------*/\n.shocked .mouth {\n width: 25px;\n height: 25px;\n border-radius: 50%;\n }\n#cancel:hover ~ .emoji .mouth{\n top: 55px;\n z-index: 1;\n width: 50px;\n height: 25px;\n margin: 0 auto;\n border-radius: 0 0 70px 70px;\n overflow: hidden;\n background: #995710;\n }\n#unsubscribe:hover ~ .emoji .mouth{\n width: 50px;\n height: 5px;\n top: 60px;\n border-radius: 50px;\n }\n \n \n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuc3Vic2NyaWJlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsbUNBQW1DO0lBQ25DLG9DQUFvQztFQUN0QztBQUdBO0lBQ0UsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixtQk
26661FBbUI7SUFDbkIsZ0RBQWdEO0VBQ2xEO0FBRUE7SUFDRSx5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLFdBQVc7RUFDYjtBQUVBO0lBQ0Usc0JBQXNCO0lBQ3RCLFdBQVc7RUFDYjtBQUVBO0lBQ0UsWUFBWTtFQUNkO0FBRUE7SUFDRSxTQUFTO0lBQ1QsVUFBVTtJQUNWLFdBQVc7RUFDYjtBQUVBO0lBQ0UsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsV0FBVztFQUNiO0FBRUEsbUNBQW1DO0FBRW5DO0lBQ0Usc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osYUFBYTtFQUNmO0FBRUE7SUFDRSxZQUFZO0lBQ1osYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixjQUFjO0VBQ2hCO0FBRUE7SUFDRSxXQUFXO0lBQ1gsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLDJDQUEyQztFQUM3QztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1osU0FBUztJQUNULFVBQVU7SUFDVixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtFQUNyQjtBQUVBO0lBQ0UsVUFBVTtJQUNWLFdBQVc7RUFDYjtBQUVBO0lBQ0UsNkJBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQiwyQ0FBbUM7WUFBbkMsbUNBQW1DO0lBQ25DLDhCQUFzQjtZQUF0QixzQkFBc0I7RUFDeEI7QUFFQTtJQUNFO01BQ0UsWUFBWTtNQUNaLFNBQVM7SUFDWDtJQUNBO01BQ0UsYUFBYTtNQUNiLFNBQVM7SUFDWDtJQUNBO01BQ0UsWUFBWTtNQUNaLFNBQVM7SUFDWDtFQUNGO0FBYkE7SUFDRTtNQUNFLFlBQVk7TUFDWixTQUFTO0lBQ1g7SUFDQTtNQUNFLGFBQWE7TUFDYixTQUFTO0lBQ1g7SUFDQTtNQUNFLFlBQVk7TUFDWixTQUFTO0lBQ1g7RUFDRjtBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixnQkFBZ0I7RUFDbEI7QUFFQTs7SUFFRSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGNBQWM7RUFDaEI7QUFHQSxzQ0FBc0M7QUFFdEM7SUFDRSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtFQUNwQjtBQUdBO0lBQ0UsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtFQUNyQjtBQUVBO0lBQ0UsV0FBVztJQUNYLFdBQVc7SUFDWCxTQUFTO0lBQ1QsbUJBQW1CO0VBQ3JCIiwiZmlsZSI6InVuc3Vic2NyaWJlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLSBCYXNlIHN0eWxlcyAtLS0tLS0qL1xuYm9keSB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjhmOTtcbiAgICBmb250LWZhbWlseTogYXJpYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjlERTtcbiAgICB0ZXh0LXJlbmRlcmluZyA6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nIDogYW50aWFsaWFzZWQ7XG4gIH1cbiAgXG4gIFxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICBwYWRkaW5nOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwcHggMTVweCAxNXB4IC0xMnB4IHJnYmEoMCwwLDAsMC4wOSk7XG4gIH1cbiAgXG4gIC5idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkRENjg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIFxuICAuYnRuLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGNvbG9yOiAjMjIyO1xuICB9XG4gIFxuICAuYnRuOmhvdmVye1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuICBcbiAgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNDQ0O1xuICB9XG4gIFxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgY29sb3I6ICM4ODg7XG4gIH1cbiAgXG4gIC8qLS0tLS0tIE1haW4gRW1vamkgU3R5bGluZyAtLS0tLS0qL1xuICBcbiAgLmVtb2ppIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDIwcHg7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gIH1cbiAgXG4gIC5mYWNlIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDE1cHggMzBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRjJERDY4O1xuICAgIHRyYW5zaXRpb246IDFzO1xuICB9XG4gIFxuICAuZmFjZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IC04cHg7XG4gICAgbGVmdDogLThweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogOHB4IDhweCAwIDAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgfVxuICBcbiAgLmV5ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMThweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjOTk1NzEwO1xuICB9XG4gIFxuICAuZXllOmxhc3QtY2hpbGQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE4cHg7XG4gIH1cbiAgXG4gIC5lbW9qaSAuZXllZCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJsaW5rO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbj
26661ogM3M7XG4gIH1cbiAgXG4gIEBrZXlmcmFtZXMgYmxpbmsge1xuICAgIDEwJSB7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDMycHg7XG4gICAgfVxuICAgIDIwJSB7XG4gICAgICBoZWlnaHQ6IDAuNXB4O1xuICAgICAgdG9wOiAzN3B4O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAzMnB4O1xuICAgIH1cbiAgfVxuICBcbiAgLm1vdXRoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDcwcHggNzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICM5OTU3MTA7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxuICBcbiAgLm1vdXRoOmJlZm9yZSxcbiAgLm1vdXRoOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gIFxuICAvKi0tLS0tLSBTaG9ja2VkIEVtb2ppIFN0eWxpbmcgLS0tLS0tKi9cbiAgXG4gIC5zaG9ja2VkIC5tb3V0aCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuICBcbiAgXG4gICNjYW5jZWw6aG92ZXIgfiAuZW1vamkgLm1vdXRoe1xuICAgIHRvcDogNTVweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNzBweCA3MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogIzk5NTcxMDtcbiAgfVxuICBcbiAgI3Vuc3Vic2NyaWJlOmhvdmVyIH4gLmVtb2ppIC5tb3V0aHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB0b3A6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgfVxuICBcbiAgIl19 */"; 26662 26663/***/ }), 26664 26665/***/ 65759: 26666/*!******************************************************!*\ 26667 !*** ./src/app/components/print/print.component.css ***! 26668 \******************************************************/ 26669/***/ (function(module) { 26670 26671"use strict"; 26672module.exports = ".loding-img-main{ display: none; }\nh2.caption{text-align: center;margin: 0;padding: 3px 0;float: left;width: 100%;}\nh4.libraryname{text-align: center;margin-bottom: 40px;}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCLGFBQWEsRUFBRTtBQUNqQyxXQUFXLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztBQUMvRSxlQUFlLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDIiwiZmlsZSI6InByaW50LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubG9kaW5nLWltZy1tYWlueyBkaXNwbGF5OiBub25lOyB9XG5oMi5jYXB0aW9ue3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW46IDA7cGFkZGluZzogM3B4IDA7ZmxvYXQ6IGxlZnQ7d2lkdGg6IDEwMCU7fVxuaDQubGlicmFyeW5hbWV7dGV4dC1hbGlnbjogY2VudGVyO21hcmdpbi1ib3R0b206IDQwcHg7fSJdfQ== */"; 26673 26674/***/ }), 26675 26676/***/ 28015: 26677/*!***************************************************************!*\ 26678 !*** ./src/app/components/searchlist/list/list.component.css ***! 26679 \***************************************************************/ 26680/***/ (function(module) { 26681 26682"use strict"; 26683module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaXN0LmNvbXBvbmVudC5jc3MifQ== */"; 26684 26685/***/ }), 26686 26687/***/ 31210: 26688/*!*******************************************************************!*\ 26689 !*** ./src/app/components/settings/history/history.component.css ***! 26690 \*******************************************************************/ 26691/***/ (function(module) { 26692 26693"use strict"; 26694module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJoaXN0b3J5LmNvbXBvbmVudC5jc3MifQ== */"; 26695 26696/***/ }), 26697 26698/***/ 28936: 26699/*!*************************************************************************!*\ 26700 !*** ./src/app/components/settings/my-account/my-account.component.css ***! 26701 \*************************************************************************/ 26702/***/ (function(module) { 26703 26704"use strict"; 26705module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJteS1hY2NvdW50LmNvbXBvbmVudC5jc3MifQ== */"; 26706 26707/***/ }), 26708 26709/***/ 69929: 26710/*!***************************************************!*\ 26711 !*** ./src/app/directory/directory.component.css ***! 26712 \***************************************************/ 26713/***/ (function(module) { 26714 26715"use strict"; 26716module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJkaXJlY3RvcnkuY29tcG9uZW50LmNzcyJ9 */"; 26717 26718/***/ }), 26719 26720/***/ 93313: 26721/*!*******************************************!*\ 26722 !*** ./src/app/error/error.component.css ***! 26723 \*******************************************/ 26724/***/ (function(module) { 26725 26726"use strict"; 26727module.exports = ".loding-img-main { display: none; }\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVycm9yLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CLGFBQWEsRUFBRSIsImZpbGUiOiJlcnJvci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvZGluZy1pbWctbWFpbiB7IGRpc3BsYXk6IG5vbmU7IH0iXX0= */"; 26728 26729/***/ }), 26730 26731/***/ 29654: 26732/*!***********************************************************!*\ 26733 !*** ./src/app/internalerror/internalerror.component.css ***! 26734 \***********************************************************/ 26735/***/ (function(module) { 26736 26737"use strict"; 26738module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJpbnRlcm5hbGVycm9yLmNvbXBvbmVudC5jc3MifQ== */"; 26739 26740/***/ }), 26741 26742/***/ 99988: 26743/*!******************************************************!*\ 26744 !*** ./src/app/layout/default/default.component.css ***! 26745 \******************************************************/ 26746/***/ (function(module) { 26747 26748"use strict"; 26749module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJkZWZhdWx0LmNvbXBvbmVudC5jc3MifQ== */"; 26750 26751/***/ }), 26752 26753/***/ 12582: 26754/*!***************************************************!*\ 26755 !*** ./src/app/share/footer/footer.component.css ***! 26756 \***************************************************/ 26757/***/ (function(module) { 26758 26759"use strict"; 26760module.exports = ".login-top-btn .ms-btn {\n\tbackground-color: #ffffff;\n\tcolor: #2f2f2f;\n\tborder: 1px solid #d8d8d8;\n}\n\n.login-top-btn .ms-btn .ms-logo {\n\tdisplay: inline-flex;\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 6px 8px 0 0;\n\tfloat: left;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.login-top-btn .ms-btn .ms-square {\n\twidth: 7px;\n\theight: 7px;\n\tmargin: 0;\n}\n\n.login-top-btn .ms-btn .sq-red {\n\tbackground-color: #f25022;\n\tmargin-right: 2px;\n\tmargin-bottom: 2px;\n}\n\n.login-top-btn .ms-btn .sq-green {\n\tbackground-color: #7fba00;\n\tmargin-bottom: 2px;\n}\n\n.login-top-btn .ms-btn .sq-blue {\n\tbackground-color: #00a4ef;\n\tmargin-right: 2px;\n}\n\n.login-top-btn .ms-btn .sq-yellow {\n\tbackground-color: #ffb900;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0NBQ0MseUJBQXlCO0NBQ3pCLGNBQWM7Q0FDZCx5QkFBeUI7QUFDMUI7O0FBRUE7Q0FDQyxvQkFBb0I7Q0FDcEIsV0FBVztDQUNYLFlBQVk7Q0FDWixtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLGVBQWU7Q0FDZixtQkFBbUI7Q0FDbkIsdUJBQXVCO0FBQ3hCOztBQUVBO0NBQ0MsVUFBVTtDQUNWLFdBQVc7Q0FDWCxTQUFTO0FBQ1Y7O
267600FBRUE7Q0FDQyx5QkFBeUI7Q0FDekIsaUJBQWlCO0NBQ2pCLGtCQUFrQjtBQUNuQjs7QUFFQTtDQUNDLHlCQUF5QjtDQUN6QixrQkFBa0I7QUFDbkI7O0FBRUE7Q0FDQyx5QkFBeUI7Q0FDekIsaUJBQWlCO0FBQ2xCOztBQUVBO0NBQ0MseUJBQXlCO0FBQzFCIiwiZmlsZSI6ImZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvZ2luLXRvcC1idG4gLm1zLWJ0biB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdGNvbG9yOiAjMmYyZjJmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZDhkOGQ4O1xufVxuXG4ubG9naW4tdG9wLWJ0biAubXMtYnRuIC5tcy1sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdG1hcmdpbjogNnB4IDhweCAwIDA7XG5cdGZsb2F0OiBsZWZ0O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubG9naW4tdG9wLWJ0biAubXMtYnRuIC5tcy1zcXVhcmUge1xuXHR3aWR0aDogN3B4O1xuXHRoZWlnaHQ6IDdweDtcblx0bWFyZ2luOiAwO1xufVxuXG4ubG9naW4tdG9wLWJ0biAubXMtYnRuIC5zcS1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjI1MDIyO1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ubG9naW4tdG9wLWJ0biAubXMtYnRuIC5zcS1ncmVlbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM3ZmJhMDA7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLmxvZ2luLXRvcC1idG4gLm1zLWJ0biAuc3EtYmx1ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMGE0ZWY7XG5cdG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4ubG9naW4tdG9wLWJ0biAubXMtYnRuIC5zcS15ZWxsb3cge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiOTAwO1xufVxuIl19 */"; 26761 26762/***/ }), 26763 26764/***/ 62117: 26765/*!***************************************************!*\ 26766 !*** ./src/app/share/header/header.component.css ***! 26767 \***************************************************/ 26768/***/ (function(module) { 26769 26770"use strict"; 26771module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJoZWFkZXIuY29tcG9uZW50LmNzcyJ9 */"; 26772 26773/***/ }), 26774 26775/***/ 95408: 26776/*!*************************************************************!*\ 26777 !*** ./src/app/share/headerinner/headerinner.component.css ***! 26778 \*************************************************************/ 26779/***/ (function(module) { 26780 26781"use strict"; 26782module.exports = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJoZWFkZXJpbm5lci5jb21wb25lbnQuY3NzIn0= */"; 26783 26784/***/ }), 26785 26786/***/ 45894: 26787/*!************************!*\ 26788 !*** crypto (ignored) ***! 26789 \************************/ 26790/***/ (function() { 26791 26792/* (ignored) */ 26793 26794/***/ }) 26795 26796}, 26797/******/ function(__webpack_require__) { // webpackRuntimeModules 26798/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 26799/******/ __webpack_require__.O(0, ["vendor"], function() { return __webpack_exec__(14431); }); 26800/******/ var __webpack_exports__ = __webpack_require__.O(); 26801/******/ } 26802]); 26803//# sourceMappingURL=main-es2015.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.