PageSourceSearch

https://library.site/main-es2015.js

js library.site collected 2026-10-03 21:19:50 UTC 2,221,779 bytes, 26,803 lines download raw bytes

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 '&amp' to convert to &. to fix migration error.)
7093    checkUrlLink(string) {
7094        var temp = string.replace(/&amp;/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\">&nbsp;- {{ 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\">&nbsp;- {{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 \">&nbsp;- {{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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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    &nbsp;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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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)\">&nbsp;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        &nbsp;\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>&nbsp;</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>&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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>&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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)\">&nbsp;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>&nbsp;</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>&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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>&nbsp;</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 }}&nbsp;&nbsp;-&nbsp;&nbsp;</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)\">&nbsp;
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}}&nbsp;{{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\">&nbsp;- {{ 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\">&nbsp;- {{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\">&nbsp;- {{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>&nbsp;\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>&nbsp;\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>&nbsp;\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>&nbsp; <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>&nbsp; <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> &nbsp;</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}}&nbsp;{{libraryCard.lastName}}</h4>\n                  <!-- <span>Patorn ID</span>&nbsp;&nbsp; -->
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>&nbsp;&nbsp; -->\n                  <span>{{libraryCard.patronType}}</span>\n                </div>\n                <div class=\"textalign\">\n                  <!-- <span>Room</span>&nbsp;&nbsp; -->\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> &nbsp;</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}}&nbsp;{{libraryCard.lastName}}</h4>\n                  <!-- <span>Patorn ID</span>&nbsp;&nbsp; -->
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>&nbsp;&nbsp; -->\n                  <span>{{libraryCard.patronType}}</span>\n                </div>\n                <div class=\"textalign\">\n                  <!-- <span>Room</span>&nbsp;&nbsp; -->\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.