{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/Components/articles-list.component.ts","./src/app/Components/articles-list.component.html","./src/app/Components/event-calendar.component.ts","./src/app/Components/event-calendar.component.html","./src/app/Components/family-event.component.ts","./src/app/Components/family-event.component.html","./src/app/Components/familyevent-album.component.ts","./src/app/Components/familyevent-album.component.html","./src/app/Components/global-search.component.ts","./src/app/Components/global-search.component.html","./src/app/Components/podcast-list.component.ts","./src/app/Components/podcast-list.component.html","./src/app/Components/podcast-modal.component.ts","./src/app/Components/podcast-modal.component.html","./src/app/Components/policy-manual-content.component.ts","./src/app/Components/policy-manual-content.component.html","./src/app/Components/policy-manual-header.component.ts","./src/app/Components/policy-manual-header.component.html","./src/app/Components/qna-report-download.component.ts","./src/app/Components/qna-report-download.component.html","./src/app/Components/search-contract-header.component.ts","./src/app/Components/search-contract-header.component.html","./src/app/Components/search-contract.component.ts","./src/app/Components/search-contract.component.html","./src/app/Components/search.component.ts","./src/app/Components/search.component.html","./src/app/Components/ssrs-reports.component.ts","./src/app/Components/ssrs-reports.component.html","./src/app/Components/toctabpage-qna-viewall-answers.component.ts","./src/app/Components/toctabpage-qna-viewall-answers.component.html","./src/app/Components/video-modal-popup.component.ts","./src/app/Components/video-modal-popup.component.html","./src/app/Components/video-search.component.ts","./src/app/Components/video-search.component.html","./src/app/Models/common.model.ts","./src/app/Models/common.pagination.ts","./src/app/Models/constants.ts","./src/app/Models/datepicker.directive.ts","./src/app/Models/keep-html.pipe.ts","./src/app/Models/listview-content.pipe.ts","./src/app/Models/search-contract.pipe.ts","./src/app/Services/contract-search.service.ts","./src/app/Services/event-calendar.service.ts","./src/app/Services/familyevent-gallary.service.ts","./src/app/Services/global-search.service.ts","./src/app/Services/qna-report-download.service.ts","./src/app/Services/qna-search.service.ts","./src/app/Services/resolution-view.service.ts","./src/app/Services/search-filter.service.ts","./src/app/Services/ssrs-reports.service.ts","./src/app/Services/ttga-pairing.service.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/dtc-preferences.component.ts","./src/app/components/ttga-pairing.component.html","./src/app/components/internalarticle-search.component.ts","./src/app/components/internalarticle-search.component.html","./src/app/components/netzero-preferences.component.ts","./src/app/components/resolution-view.component.ts","./src/app/components/resolution-view.component.html","./src/app/components/toctabpage-qna-viewall.component.ts","./src/app/components/toctabpage-qna-viewall.component.html","./src/app/components/ttga-pairing.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Component } from '@angular/core';\r\nimport { SearchComponent } from '../Components/search.component';\r\n\r\n@Component({\r\n selector: 'articles-list',\r\n templateUrl: './articles-list.component.html',\r\n styles: [],\r\n providers: []\r\n})\r\nexport class ArticlesListComponent extends SearchComponent {\r\n}\r\n","\r\n
\r\n

{{staticContent?.NewsPageTitle}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

{{noSearchText}}

\r\n

Loading ...

\r\n
\r\n
\r\n \"\"\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
0\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ newsArticles.length }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CalendarOptions } from '@fullcalendar/angular';\r\nimport { EventCalendarService } from '../Services/event-calendar.service';\r\nimport { CalendarEvent } from '../Models/common.model';\r\n\r\n@Component({\r\n selector: 'event-calendar',\r\n templateUrl: './event-calendar.component.html',\r\n styleUrls: [],\r\n providers: [EventCalendarService]\r\n})\r\n\r\nexport class EventCalendarComponent implements OnInit {\r\n\r\n constructor(public dataService: EventCalendarService) {\r\n }\r\n\r\n EventList = [];\r\n \r\n ngOnInit(): void {\r\n this.dataService.getEvents().subscribe((data: CalendarEvent[]) => {\r\n this.calendarOptions.events = data;\r\n })\r\n\r\n this.dataService.getEvents().subscribe((data: CalendarEvent[]) => {\r\n const map = new Map();\r\n for (const item of data) {\r\n if (!map.has(item.type)) {\r\n map.set(item.type, true); // set any value to Map\r\n this.EventList.push({\r\n title: item.title,\r\n type: item.type,\r\n backgroundColor: item.backgroundColor,\r\n start: item.start,\r\n end: item.end,\r\n isChecked: true\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n calendarOptions: CalendarOptions = {\r\n timeZone: 'UTC',\r\n initialView: 'dayGridMonth',\r\n\r\n headerToolbar: {\r\n left: 'prev,next,today',\r\n center: 'title',\r\n right: 'dayGridMonth,dayGridWeek,dayGridDay,listMonth'\r\n },\r\n eventTimeFormat: { // like '14:30:00'\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit',\r\n hour12: false,\r\n meridiem: false\r\n },\r\n\r\n eventClick: function (info) {\r\n if (info.event.url && info.event.url.length > 0) {\r\n info.jsEvent.preventDefault(); // don't let the browser navigate\r\n window.open(info.event.url, '_blank');\r\n }\r\n }\r\n };\r\n\r\n onCheckChange(changeEvent) {\r\n var selectedEvents: CalendarEvent[] = [];\r\n this.dataService.getEvents().subscribe((data: CalendarEvent[]) => {\r\n var uncheckedEv = this.EventList.filter((event) => { return event['isChecked'] == false })\r\n if (uncheckedEv.length > 0) {\r\n selectedEvents = data.filter((elem) => !uncheckedEv.find(({ type }) => elem.type === type));\r\n this.calendarOptions.events =selectedEvents;\r\n }\r\n else {\r\n this.calendarOptions.events = data;\r\n }\r\n })\r\n }\r\n}","
\r\n

Event Types

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FamilyeventGallaryService } from '../Services/familyevent-gallary.service';\r\nimport { FamilyEvents, FamilyEventProperties } from '../Models/common.model';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { KeyValue } from '@angular/common';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-family-event',\r\n templateUrl: './family-event.component.html',\r\n styleUrls: [],\r\n providers: [FamilyeventGallaryService]\r\n})\r\nexport class FamilyEventComponent implements OnInit {\r\n events: Map;\r\n\r\n constructor(public dataService: FamilyeventGallaryService, private spinner: NgxSpinnerService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.spinner.show();\r\n this.dataService.getFamilyEventsbyYear().subscribe((data: FamilyEvents[]) => {\r\n this.events = new Map(data.map(o => [o.Year, o.Galleries]));\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n originalOrder = (a: KeyValue, b: KeyValue): number => {\r\n return 0;\r\n }\r\n \r\n}\r\n"," \r\n
\r\n
\r\n \r\n {{event.key}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EventAlbum } from '../Models/common.model';\r\nimport { FamilyeventGallaryService } from '../Services/familyevent-gallary.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-familyevent-album',\r\n templateUrl: './familyevent-album.component.html',\r\n styleUrls: [],\r\n providers: [FamilyeventGallaryService]\r\n})\r\nexport class FamilyeventAlbumComponent implements OnInit {\r\n\r\n constructor(public dataService: FamilyeventGallaryService, private spinner: NgxSpinnerService) { }\r\n eventAlbum: EventAlbum[];\r\n notscrolly = true;\r\n notEmptyPost = true;\r\n pageNumber = 1;\r\n\r\n ngOnInit(): void {\r\n this.dataService.loadPostScrollImages(this.pageNumber).subscribe((data: EventAlbum[]) => {\r\n this.eventAlbum = data;\r\n })\r\n\r\n }\r\n onScroll() {\r\n if (this.notscrolly && this.notEmptyPost) {\r\n this.spinner.show();\r\n this.notscrolly = false;\r\n this.loadNextPost();\r\n }\r\n }\r\n loadNextPost() {\r\n try {\r\n this.pageNumber++;\r\n this.dataService.loadPostScrollImages(this.pageNumber).subscribe((data: EventAlbum[]) => {\r\n let newAlbum = data;\r\n this.spinner.hide();\r\n if (newAlbum.length === 0) {\r\n this.notEmptyPost = false;\r\n }\r\n this.eventAlbum = this.eventAlbum.concat(newAlbum);\r\n this.notscrolly = true;\r\n })\r\n }\r\n catch (e)\r\n {\r\n console.log(e);\r\n }\r\n }\r\n}\r\n\r\n\r\n","\r\n
\r\n\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, SimpleChanges, Input, ElementRef, ViewChild, HostListener } from '@angular/core';\r\nimport { GlobalSearchService } from '../Services/global-search.service';\r\nimport { SearchResults, SearchContent, SCREEN_SIZE, FilterFacetItem, DateRangeFacetItem, TermFacetItem, SliceShowMore } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport * as Global from \"../Models/constants\";\r\n\r\n@Component({\r\n selector: 'global-search',\r\n templateUrl: './global-search.component.html',\r\n styles: [],\r\n providers: [GlobalSearchService]\r\n})\r\nexport class GlobalSearchComponent implements OnInit {\r\n @Input() public loadingMessage: string;\r\n\r\n page = 1;\r\n pageSize = 10;\r\n maxPages = 10;\r\n startIndex: number;\r\n endIndex: number;\r\n pager: any = {};\r\n isLoading: boolean = true;\r\n searchQuery: string;\r\n searchTag: string;\r\n size: SCREEN_SIZE;\r\n @ViewChild('facet') facetDiv: ElementRef;\r\n @ViewChild('showMoreAuthorLink') showMoreAuthorLinkValue: ElementRef;\r\n @ViewChild('showMorecategoryLink') showMorecategoryLinkValue: ElementRef;\r\n @ViewChild('accordion_author') accordion_author: ElementRef;\r\n @ViewChild('accordion_category') accordion_category: ElementRef;\r\n @ViewChild('fromDate') startDateinput: ElementRef;\r\n @ViewChild('toDate') endDateinput: ElementRef;\r\n contentTypes: FilterFacetItem[] = [];\r\n dateRange: DateRangeFacetItem[] = [];\r\n authorTerms: TermFacetItem[] = [];\r\n categoryTerms: TermFacetItem[] = [];\r\n dateErrorMessage: string = Global.dateRangeErrorMessage;\r\n isValidDate: boolean = true;\r\n startDate: any;\r\n endDate: any;\r\n showMore: string = Global.showMore;\r\n showLess: string = Global.showLess;\r\n showAll: string = Global.showAll;\r\n authorExpanded: boolean = false;\r\n categoryExpanded: boolean = false;\r\n startAuthorSliceValue: number = 0;\r\n endAuthorSliceValue: number = 0;\r\n startcategorySliceValue: number = 0;\r\n endcategorySliceValue: number = 0;\r\n isMobileFilter: boolean = false;\r\n sortOrder: string = \"rel\" // Default sort order Relevance.\r\n sortByLabel = \"Order by \"\r\n prefix = 'is-';\r\n sizes = [\r\n {\r\n id: SCREEN_SIZE.XS, name: 'xs', css: `d-block d-sm-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.SM, name: 'sm', css: `d-none d-sm-block d-md-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.MD, name: 'md', css: `d-none d-md-block d-lg-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.LG, name: 'lg', css: `d-none d-lg-block d-xl-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.XL, name: 'xl', css: `d-none d-xl-block`\r\n },\r\n ];\r\n\r\n @HostListener(\"window:resize\", [])\r\n private onResize() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n private detectScreenSize() {\r\n const currentSize = this.sizes.find(x => {\r\n // get the HTML element\r\n const el = this.elementRef.nativeElement.querySelector(`.${this.prefix}${x.id}`);\r\n\r\n // check its display property value\r\n const isVisible = window.getComputedStyle(el).display != 'none';\r\n\r\n if (!isVisible) {\r\n return false;\r\n }\r\n else {\r\n return isVisible;\r\n }\r\n });\r\n\r\n this.dataService.onResize(currentSize.id);\r\n }\r\n\r\n constructor(public dataService: GlobalSearchService, private elementRef: ElementRef) {\r\n // subscribe to the size change stream\r\n this.dataService.onResize$.subscribe(x => {\r\n this.size = x;\r\n if (this.size == 2 || this.size == 3 || this.size == 4) {\r\n if (this.facetDiv.nativeElement.classList.contains('overlay')) {\r\n this.facetDiv.nativeElement.classList.remove(\"overlay\");\r\n this.facetDiv.nativeElement.classList.add(\"d-none\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.peformSearch();\r\n\r\n this.dataService.getStaticData().subscribe((data: string) => {\r\n this.loadingMessage = data;\r\n })\r\n }\r\n\r\n private _searchResults: SearchResults;\r\n get searchResults(): SearchResults {\r\n return this._searchResults;\r\n }\r\n set searchResults(value: SearchResults) {\r\n this._searchResults = value;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n peformSearch(): void {\r\n this.isLoading = true;\r\n if (this.contentTypes.length > 0 || this.dateRange.length > 0 || this.authorTerms.length > 0 || this.categoryTerms.length > 0) {\r\n if (this.startDate != undefined && this.endDate != undefined) {\r\n this.ValidateDateRange(this.startDate, this.endDate)\r\n }\r\n if (this.isValidDate) {\r\n var filters = {};\r\n if (this.contentTypes.length > 0) {\r\n filters[\"ContentType\"] = this.contentTypes.map(i => i.Value);\r\n }\r\n if (this.authorTerms.length > 0) {\r\n filters[\"Authors\"] = this.authorTerms.map(i => i.Value);\r\n }\r\n if (this.startDate != undefined) {\r\n filters[\"StartDate\"] = this.startDate;\r\n }\r\n if (this.endDate != undefined) {\r\n filters[\"EndDate\"] = this.endDate;\r\n }\r\n if (this.categoryTerms.length > 0) {\r\n filters[\"Categories\"] = this.categoryTerms.map(i => i.Value);\r\n }\r\n\r\n this.DisableCheckboxes(true);\r\n this.dataService.getSearchResultFacet(this.page, filters, this.sortOrder).subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.searchResults = data;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n this.DisableCheckboxes(false);\r\n\r\n this.searchResults.ContentTypesFilterFacets.forEach(type => {\r\n let existsContentType = this.contentTypes.find((val) => val.Value === type.Value)\r\n if (existsContentType) {\r\n type.checked = true;\r\n }\r\n })\r\n\r\n this.searchResults.DateRangeFacets.forEach(date => {\r\n let existsDate = this.dateRange.find((val) => (val.DisplayName === date.DisplayName && val.checked === true))\r\n if (existsDate) {\r\n date.checked = true;\r\n }\r\n })\r\n\r\n this.searchResults.AuthorsTermFacets.forEach(Author => {\r\n let existsAuthor = this.authorTerms.find((val) => val.Value === Author.Value)\r\n if (existsAuthor) {\r\n Author.checked = true;\r\n }\r\n })\r\n\r\n this.searchResults.CategoriesTermFacets.forEach(category => {\r\n let existscategory = this.categoryTerms.find((val) => val.Value === category.Value)\r\n if (existscategory) {\r\n category.checked = true;\r\n }\r\n })\r\n window.location.href = \"#topofbody\";\r\n })\r\n }\r\n }\r\n else {\r\n this.dataService.getSearchResults(this.page, this.sortOrder).subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.searchResults = data;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n\r\n window.location.href = \"#topofbody\";\r\n })\r\n }\r\n }\r\n\r\n DisableCheckboxes(disable: boolean) {\r\n this.setAttribute(this.elementRef.nativeElement.querySelectorAll(\"[name='category']\"), \"disabled\", disable);\r\n this.setAttribute(this.elementRef.nativeElement.querySelectorAll(\"[name='author']\"), \"disabled\", disable);\r\n this.setAttribute(this.elementRef.nativeElement.querySelectorAll(\"[name='contentType']\"), \"disabled\", disable);\r\n this.setAttribute(this.elementRef.nativeElement.querySelectorAll(\"[name='date']\"), \"disabled\", disable);\r\n }\r\n\r\n public setAttribute(element, attr, val): void {\r\n if (element != null) {\r\n for (var item = 0; item < element.length; item++) {\r\n {\r\n element[item].setAttribute(attr, val);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onChangePage(pageIndex: any) {\r\n this.peformSearch();\r\n }\r\n\r\n setPage(searchResults: SearchResults) {\r\n this.pager = paginate(searchResults.TotalMatching, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n openFacet() {\r\n this.isMobileFilter = true;\r\n var facetDiv = this.facetDiv.nativeElement;\r\n if (!facetDiv.classList.contains('overlay')) {\r\n facetDiv.classList.add(\"overlay\");\r\n facetDiv.style.display = \"block\";\r\n facetDiv.classList.remove(\"d-none\");\r\n document.querySelector(\"body\").setAttribute(\"style\", \"overflow:hidden\");\r\n }\r\n }\r\n\r\n closeFacet() {\r\n if (this.isValidDate) {\r\n this.peformSearch();\r\n var facetDiv = this.facetDiv.nativeElement;\r\n if (facetDiv.classList.contains('overlay')) {\r\n facetDiv.classList.remove(\"overlay\");\r\n facetDiv.style.display = \"none\";\r\n facetDiv.classList.add(\"d-none\");\r\n document.querySelector(\"body\").setAttribute(\"style\", \"overflow:none \");\r\n }\r\n }\r\n }\r\n\r\n // check if the item are selected\r\n checked(item) {\r\n if (item != undefined) {\r\n if (this.contentTypes.indexOf(item) != -1) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n toggleCheck(event, item) {\r\n this.page = 1;\r\n var facetType = event.target[\"attributes\"][\"name\"].value;\r\n switch (facetType) {\r\n case \"contentType\":\r\n this.filterOnCheck(event, item, this.contentTypes)\r\n break;\r\n case \"author\":\r\n this.filterOnCheck(event, item, this.authorTerms)\r\n break;\r\n case \"category\":\r\n this.filterOnCheck(event, item, this.categoryTerms)\r\n break;\r\n case \"date\":\r\n this.dateRange = [];\r\n if (item.DisplayName == \"Date Range\") {\r\n this.startDate = item.StartDate;\r\n this.endDate = item.EndDate;\r\n this.startDateinput.nativeElement.disabled = false;\r\n this.endDateinput.nativeElement.disabled = false;\r\n this.startDateinput.nativeElement.value = item.StartDate;\r\n this.endDateinput.nativeElement.value = item.EndDate;\r\n this.filterOnCheck(event, item, this.dateRange);\r\n this.dateRange.map(date => { if (date.DisplayName == item.DisplayName) { date.checked = true; } })\r\n } else {\r\n this.startDate = item.StartDate;\r\n this.endDate = item.EndDate;\r\n this.startDateinput.nativeElement.disabled = true;\r\n this.endDateinput.nativeElement.disabled = true;\r\n this.startDateinput.nativeElement.value = \"\";\r\n this.endDateinput.nativeElement.value = \"\";\r\n this.filterOnCheck(event, item, this.dateRange);\r\n this.dateRange.map(date => { if (date.DisplayName == item.DisplayName) { date.checked = true; } })\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n filterOnCheck(event, item, type) {\r\n const index = type.findIndex(i => i.Value == item.Value);\r\n if (event.target.checked) {\r\n type.push(item);\r\n }\r\n else {\r\n type.splice(index, 1)\r\n }\r\n if (!this.isMobileFilter) {\r\n this.peformSearch();\r\n }\r\n }\r\n\r\n sortChange(event) {\r\n this.page = 1;\r\n let selectedOptions = event.target['options'];\r\n let selectedIndex = selectedOptions.selectedIndex;\r\n this.sortOrder = selectedOptions[selectedIndex].value;\r\n this.peformSearch();\r\n }\r\n\r\n onCalenderchange(event: any) {\r\n this.page = 1;\r\n this.isValidDate = true;\r\n let controlName = event.target[\"name\"];\r\n let controlValue = event.target[\"value\"];\r\n\r\n if (controlName == \"StartDate\") {\r\n if (this.startDate != controlValue) {\r\n this.startDate = controlValue;\r\n this.dateRange.forEach(date => { if (date.DisplayName == \"Date Range\") { date.StartDate = controlValue; } })\r\n this.ValidateDateRange(this.startDate, this.endDate);\r\n this.peformSearch();\r\n }\r\n }\r\n if (controlName == \"EndDate\") {\r\n if (this.endDate != controlValue) {\r\n this.endDate = controlValue;\r\n this.dateRange.forEach(date => { if (date.DisplayName == \"Date Range\") { date.EndDate = controlValue; } })\r\n this.ValidateDateRange(this.startDate, this.endDate);\r\n this.peformSearch();\r\n }\r\n }\r\n }\r\n\r\n ValidateDateRange(startDate, endDate) {\r\n if (new Date(startDate.replace(/-/g, \"/\")) > new Date(endDate.replace(/-/g, \"/\"))) {\r\n this.isValidDate = false;\r\n }\r\n else {\r\n this.isValidDate = true;\r\n }\r\n }\r\n\r\n ExapandCollapse(event) {\r\n if (event.currentTarget.id == \"author\") {\r\n this.showMoreLink(this.showMoreAuthorLinkValue.nativeElement, this.searchResults.AuthorsTermFacets, document.getElementsByName(\"author\"), event.currentTarget.id)\r\n }\r\n if (event.currentTarget.id == \"category\") {\r\n this.showMoreLink(this.showMorecategoryLinkValue.nativeElement, this.searchResults.CategoriesTermFacets, document.getElementsByName(\"category\"), event.currentTarget.id)\r\n }\r\n }\r\n\r\n showMoreLink(linkRefName, TermFacet, element, type) {\r\n let sliceShowMore = {} as SliceShowMore;\r\n sliceShowMore.type = type;\r\n sliceShowMore.linkRefName = linkRefName;\r\n if (linkRefName.innerText == this.showLess) {\r\n sliceShowMore.start = 0;\r\n sliceShowMore.end = 0;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-close\", \"collapse-label-open\", this.showMore, false);\r\n return;\r\n }\r\n if (element.length == 4 && TermFacet.length <= 8) {\r\n sliceShowMore.start = 4;\r\n sliceShowMore.end = 8;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-open\", \"collapse-label-close\", this.showLess, true);\r\n return;\r\n }\r\n\r\n if (element.length == 4 && TermFacet.length > 8) {\r\n sliceShowMore.start = 4;\r\n sliceShowMore.end = 8;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-close\", \"collapse-label-open\", this.showMore, true);\r\n return;\r\n }\r\n\r\n if (element.length == 8 && TermFacet.length <= 12) {\r\n sliceShowMore.start = 4;\r\n sliceShowMore.end = 12;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-open\", \"collapse-label-close\", this.showLess, true);\r\n return;\r\n }\r\n\r\n if (element.length == 8 && TermFacet.length > 12) {\r\n sliceShowMore.start = 4;\r\n sliceShowMore.end = 12;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-close\", \"collapse-label-open\", this.showAll, true);\r\n return;\r\n }\r\n\r\n if (element.length == 12 && TermFacet.length > 12) {\r\n sliceShowMore.start = 4;\r\n sliceShowMore.end = TermFacet.length;\r\n this.sliceAccordion(sliceShowMore, \"collapse-label-open\", \"collapse-label-close\", this.showLess, true);\r\n }\r\n }\r\n\r\n sliceAccordion(sliceObject: SliceShowMore, addClass, removeClass, innerText, expanded) {\r\n sliceObject.linkRefName.classList.add(addClass);\r\n sliceObject.linkRefName.classList.remove(removeClass);\r\n sliceObject.linkRefName.innerText = innerText;\r\n \r\n if (sliceObject.type == \"author\") {\r\n this.authorExpanded = expanded;\r\n this.startAuthorSliceValue = sliceObject.start;\r\n this.endAuthorSliceValue = sliceObject.end;\r\n }\r\n if (sliceObject.type == \"category\") {\r\n this.categoryExpanded = expanded;\r\n this.startcategorySliceValue = sliceObject.start;\r\n this.endcategorySliceValue = sliceObject.end;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

\r\n

0\" [innerHTML]=\"searchResults.ResultFoundMessage\" class=\"py-2\">

\r\n

\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0}\">\r\n
0\">\r\n
Date
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{dateErrorMessage}}\r\n
\r\n
\r\n
0\">\r\n
Content Type
\r\n
\r\n \r\n \r\n
\r\n
\r\n
0\">\r\n
Author
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n 4\" href=\"#accordion-author\"\r\n [attr.aria-expanded]=\"authorExpanded?true:false\"\r\n (click)=\"ExapandCollapse($event)\"\r\n id=\"author\"\r\n title=\"Click Here\">\r\n {{showMore}}\r\n \r\n
\r\n
0\">\r\n
Category
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n 4\" href=\"#accordion-category\"\r\n [attr.aria-expanded]=\"categoryExpanded?true:false\"\r\n (click)=\"ExapandCollapse($event)\"\r\n id=\"category\"\r\n title=\"Click Here\">\r\n {{showMore}}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
0 && searchResults.TotalMatching > pageSize\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ searchResults.TotalMatching }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Please wait...

\r\n
\r\n
\r\n\r\n
0\" class=\"swapa-top-tocshortcut text-right text-nonselectable\">\r\n ↑ Back To Top \r\n
\r\n","import { Component, OnInit, ElementRef, ViewChild, SimpleChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { SearchFilterService } from '../Services/search-filter.service';\r\nimport { Podcast, SearchStaticContent } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { PodcastModalComponent } from './podcast-modal.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'podcast-list',\r\n templateUrl: './podcast-list.component.html',\r\n styleUrls: [],\r\n providers: [SearchFilterService]\r\n})\r\nexport class PodcastListComponent implements OnInit {\r\n private _podcast: Podcast[];\r\n get podcast(): Podcast[] {\r\n return this._podcast;\r\n }\r\n set podcast(value: Podcast[]) {\r\n this._podcast = value;\r\n this.setPage(this.podcast);\r\n }\r\n private _staticContent: SearchStaticContent;\r\n get staticContent(): SearchStaticContent {\r\n return this._staticContent;\r\n }\r\n set staticContent(value: SearchStaticContent) {\r\n this._staticContent = value;\r\n }\r\n cacheFilterNewsarticles: Podcast[] = [];\r\n\r\n filteredPodcast: Podcast[] = [];\r\n searchedPodcast: Podcast[] = [];\r\n podcastUrl: string;\r\n Transcript: string;\r\n pageOfItems: Array;\r\n page = 1;\r\n pageSize = 10; //No of pages per page\r\n maxPages = 10;\r\n startIndex: number;\r\n endIndex: number;\r\n pager: any = {};\r\n noSearchText: string;\r\n loadingText: boolean;\r\n filterbyValues: any[];\r\n selectedFilter: any;\r\n\r\n public _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n sessionStorage.setItem('searchText', (this._searchText != null || this._searchText != undefined) ? this._searchText : \"\");\r\n this.performSearch(this.searchText);\r\n }\r\n\r\n @ViewChild('openPodcast') openModal: ElementRef;\r\n @ViewChild('txtSearch') searchInput: ElementRef;\r\n \r\n\r\n constructor(public dataService: SearchFilterService, private modalService: NgbModal,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n var entries: any = performance.getEntriesByType(\"navigation\")[0];\r\n if (entries.type == \"reload\" || entries.type == \"navigate\") {\r\n sessionStorage.clear();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataService.getfilterby().subscribe((data: any[]) => {\r\n this.filterbyValues = [\"No Filter\", ...data];\r\n const filterValue = sessionStorage.getItem('filterIndex') || \"0\";\r\n this.selectedFilter = this.filterbyValues[Number(filterValue) == 0 ? 0 : Number(filterValue)];\r\n var searchtext = sessionStorage.getItem('searchText') || \"\";\r\n this._searchText = searchtext;\r\n if (filterValue == \"0\") {\r\n this.podcast = this.cacheFilterNewsarticles;\r\n this.filteredPodcast = this.cacheFilterNewsarticles;\r\n }\r\n else {\r\n this.filteredPodcast = this.cacheFilterNewsarticles.filter(\r\n (podcast: Podcast) => {\r\n return this.getfilteredValues(podcast, this.selectedFilter);\r\n }\r\n )\r\n this.filteredPodcast = this.podcast;\r\n }\r\n this.performSearch(searchtext);\r\n this.setNosearchMessage(this.filteredPodcast);\r\n if (filterValue == '0' && searchtext == \"\") {\r\n this.noSearchText = null;\r\n }\r\n });\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadingText = true;\r\n this.page = sessionStorage.getItem('pageIndex') ? parseInt(sessionStorage.getItem('pageIndex')) : 1;\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n })\r\n\r\n this.dataService.getPodcasts().subscribe((data: Podcast[]) => {\r\n this.podcast = data;\r\n this.cacheFilterNewsarticles = data;\r\n this.loadingText = false;\r\n })\r\n\r\n this.dataService.getfilterby().subscribe((data: any[]) => {\r\n this.filterbyValues = [\"No Filter\", ...data];\r\n })\r\n }\r\n\r\n performSearch(filterby?: any) {\r\n if (filterby) {\r\n if (this.filteredPodcast.length > 1) {\r\n this.podcast = this.filteredPodcast.filter((podcast: Podcast) => {\r\n return this.getfilteredValues(podcast, filterby);\r\n });\r\n this.searchedPodcast = this.podcast;\r\n }\r\n else {\r\n this.podcast = this.cacheFilterNewsarticles.filter((podcast: Podcast) => {\r\n return this.getfilteredValues(podcast, filterby);\r\n });\r\n this.searchedPodcast = this.podcast;\r\n }\r\n }\r\n else {\r\n if (this.filteredPodcast.length > 1) {\r\n this.podcast = this.filteredPodcast;\r\n this.searchedPodcast = this.podcast;\r\n }\r\n else {\r\n this.podcast = this.cacheFilterNewsarticles;\r\n this.searchedPodcast = this.cacheFilterNewsarticles;\r\n }\r\n }\r\n this.loadingText = false;\r\n this.setNosearchMessage(this.searchedPodcast);\r\n }\r\n\r\n setNosearchMessage(podcast: Podcast[]) {\r\n if (podcast == undefined || podcast.length == 0) {\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n\r\n })\r\n let message = this.staticContent?.NoResultText;\r\n this.noSearchText = message;\r\n }\r\n else {\r\n this.noSearchText = null;\r\n }\r\n }\r\n\r\n getfilteredValues(podcast: Podcast, searchTerm: string): boolean {\r\n return ((podcast.PodcastTitle != null ? podcast.PodcastTitle.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false) ||\r\n (podcast.PodcastSummary != null ? podcast.PodcastSummary.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false) ||\r\n (podcast.PodcastTranscript != null ? podcast.PodcastTranscript.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false)) ||\r\n (podcast.Tags != null ? podcast.Tags.map(function (t) { return t.toLowerCase(); }).indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false);\r\n }\r\n\r\n onChangePage(pageOfItems: any) {\r\n sessionStorage.setItem('pageIndex', pageOfItems)\r\n // update current page of items and set the number of items on page change\r\n this.pageOfItems = pageOfItems;\r\n this.setPage(this.podcast);\r\n }\r\n\r\n onFilterChange(filterby: any) {\r\n let selectedOptions = event.target['options'];\r\n let selectedIndex = selectedOptions.selectedIndex;\r\n let selectElementText = selectedOptions[selectedIndex].text;\r\n this.searchInput.nativeElement.value = \"\";//clear the search input value.\r\n sessionStorage.setItem('filterIndex', selectedIndex);\r\n if (selectedIndex == \"0\") {\r\n this.podcast = this.cacheFilterNewsarticles;\r\n this.filteredPodcast = this.cacheFilterNewsarticles;\r\n }\r\n else {\r\n this.podcast = this.cacheFilterNewsarticles.filter(\r\n (podcast: Podcast) => {\r\n return this.getfilteredValues(podcast, selectElementText);\r\n }\r\n )\r\n this.filteredPodcast = this.podcast;\r\n }\r\n this.setNosearchMessage(this.filteredPodcast);\r\n }\r\n\r\n setPage(article: Podcast[]) {\r\n this.pager = paginate(article.length, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n showPodcastPopup(podCast: Podcast) {\r\n const modalRef = this.modalService.open(PodcastModalComponent, { size: 'lg', scrollable: true });\r\n modalRef.componentInstance.podcastUrl = \"https://www.buzzsprout.com/469237/\" + podCast.PlayerID + \".js?player=small\";\r\n modalRef.componentInstance.Transcript = podCast.PodcastTranscript;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

{{noSearchText}}

\r\n

Loading ...

\r\n \r\n
\r\n \r\n
0\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ podcast.length }} results\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport postscribe from 'postscribe';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'podcast-modal',\r\n templateUrl: './podcast-modal.component.html',\r\n styleUrls: []\r\n})\r\nexport class PodcastModalComponent implements OnInit {\r\n @Input() podcastUrl: string;\r\n @Input() Transcript: string;\r\n script: any;\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.script = \"\";\r\n postscribe('#transcript', this.script);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Show Notes:

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\nimport { PolicyManualContent } from '../Models/common.model';\r\nimport { ListViewContentPipe } from '../Models/listview-content.pipe';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n\r\n@Component({\r\n selector: 'policymanual-content',\r\n templateUrl: './policy-manual-content.component.html',\r\n providers: [ListViewContentPipe]\r\n})\r\nexport class PolicyManualContentComponent implements OnInit {\r\n searchContent = {} as PolicyManualContent;\r\n\r\n filterMetadata = { count: 0 };\r\n index = { count: 0 };\r\n initialLoad = true;\r\n\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n this.clearFilterCount();\r\n }\r\n @ViewChild('format') formatHtml: ElementRef;\r\n\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges();\r\n }\r\n constructor(private cdRef: ChangeDetectorRef, private element: ElementRef, private highlightCount: ListViewContentPipe, public dataService: ContractSearchService, private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit(): void {\r\n this.dataService.getSearchstring$.subscribe((data) => {\r\n this.searchText = data;\r\n });\r\n\r\n this.dataService.getPolicyManualContent().subscribe((data: PolicyManualContent) => {\r\n this.searchContent = data;\r\n this.searchContent['ContentTextBody'] = this.sanitizer.bypassSecurityTrustHtml(this.searchContent['ContentTextBody']);\r\n })\r\n this.dataService.getPosition$.subscribe((data) => {\r\n data > 0 ? this.findNext(data) : this.findPrev(data);\r\n });\r\n }\r\n\r\n clearFilterCount() {\r\n this.index.count = 0;\r\n this.dataService.setCurrentPosition(this.index.count);\r\n this.filterMetadata.count = 0;\r\n this.dataService.setTotalSearchCount(this.filterMetadata.count);\r\n this.initialLoad = true;\r\n }\r\n public findNext(position: number) {\r\n var nextElem;\r\n\r\n this.find(position);\r\n var offset = 50;\r\n var current;\r\n var highlightedElem = this.element.nativeElement.querySelectorAll('mark');\r\n if (highlightedElem != null) {\r\n for (var elem = 0; elem < highlightedElem.length; elem++) {\r\n if (highlightedElem[elem].className == \"swapa-contract-active\") {\r\n if (elem < (highlightedElem.length - 1)) {\r\n nextElem = highlightedElem[elem + 1];\r\n }\r\n else {\r\n (highlightedElem.length != 2) ? nextElem = highlightedElem[0] : nextElem = highlightedElem[elem - 1];\r\n }\r\n current = nextElem.offsetTop - offset;\r\n }\r\n }\r\n }\r\n this.jumpTo(current);\r\n }\r\n\r\n public findPrev(position: number) {\r\n var nextElem;\r\n\r\n this.find(position);\r\n var offset = 50;\r\n var current;\r\n var highlightedElem = this.element.nativeElement.querySelectorAll('mark');\r\n if (highlightedElem != null) {\r\n for (var elem = highlightedElem.length - 1; elem >= 0; elem--) {\r\n if (highlightedElem[elem].className == \"swapa-contract-active\") {\r\n if (elem > 0) {\r\n nextElem = highlightedElem[elem - 1];\r\n }\r\n else {\r\n (highlightedElem.length != 2) ? nextElem = highlightedElem[highlightedElem.length - 1] : nextElem = highlightedElem[elem + 1];\r\n }\r\n current = nextElem.offsetTop - offset;\r\n }\r\n }\r\n }\r\n this.jumpTo(current);\r\n }\r\n\r\n public jumpTo(position): void {\r\n if (position != null) {\r\n window.scrollTo(0, position)\r\n }\r\n }\r\n\r\n private find(increment: number) {\r\n if (this.searchText) {\r\n //this.matchCount = this.highlight.highlight(this.searchText, this.caseSensitive);\r\n this.index.count += increment;\r\n\r\n this.index.count = this.index.count <= 0 ? this.filterMetadata.count : this.index.count;\r\n this.index.count = this.index.count > this.filterMetadata.count ? 1 : this.index.count;\r\n this.dataService.setCurrentPosition(this.index.count);\r\n\r\n var that = this;\r\n\r\n if (this.filterMetadata.count > 0) {\r\n\r\n //that.sectionCount.count = 0\r\n this.dataService.getPolicyManualContent().subscribe((data: PolicyManualContent) => {\r\n this.searchContent = data;\r\n this.searchContent['ContentTextBody'] = this.sanitizer.bypassSecurityTrustHtml(this.searchContent['ContentTextBody']);\r\n var text = that.highlightCount.transform(this.searchContent.ContentTextBody, that.searchText, that.filterMetadata.count, that.index.count - 1, that.initialLoad = false);\r\n if (text.changingThisBreaksApplicationSecurity != undefined) {\r\n that.formatHtml.nativeElement.innerHTML = text.changingThisBreaksApplicationSecurity\r\n }\r\n else\r\n that.formatHtml.nativeElement.innerHTML = text;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n}","
\r\n
\r\n

{{searchContent.Heading}}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\nimport { PolicyManualContent } from '../Models/common.model';\r\n\r\n@Component({\r\n selector: 'policymanual-header',\r\n templateUrl: './policy-manual-header.component.html',\r\n styleUrls: []\r\n})\r\nexport class PolicyManualHeaderComponent implements OnInit {\r\n\r\n searchContent = {} as PolicyManualContent;\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n\r\n filterMetadata = { count: 0 };\r\n index = { count: 0 };\r\n\r\n constructor(public dataService: ContractSearchService) { }\r\n\r\n ngOnInit(): void {\r\n this.dataService.getPolicyManualContent().subscribe((data: PolicyManualContent) => {\r\n this.searchContent = data;\r\n })\r\n\r\n this.dataService.getCurrentPosition$.subscribe((position) => {\r\n this.index.count = position;\r\n });\r\n\r\n this.dataService.getTotalSearchCount$.subscribe((count) => {\r\n this.filterMetadata.count = count;\r\n });\r\n }\r\n\r\n onTextChange(text) {\r\n this.dataService.modifyString(text);\r\n }\r\n\r\n public findNext() {\r\n this.dataService.setPosition(1);\r\n }\r\n\r\n public findPrev() {\r\n this.dataService.setPosition(-1);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ index.count }}\r\n of {{ filterMetadata.count }} results\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { QnaReportDownloadService } from '../Services/qna-report-download.service';\r\nimport { ColDef, GridReadyEvent, GridApi, CellClickedEvent } from 'ag-grid-community'; \r\n\r\n@Component({\r\n selector: 'app-qna-report-download',\r\n templateUrl: './qna-report-download.component.html',\r\n styleUrls: [],\r\n providers: [QnaReportDownloadService]\r\n})\r\n\r\nexport class QnaReportDownloadComponent implements OnInit {\r\n\r\n constructor(public dataService: QnaReportDownloadService) { }\r\n\r\n qnaReportDownloadViewModel;\r\n public gridApi!: GridApi;\r\n\r\n configColumnDefs: ColDef[] = [\r\n { field: 'Configuration', resizable: false },\r\n { field: 'Value', resizable: false }\r\n ];\r\n\r\n configRowData = [];\r\n\r\n reportColumnDefs: ColDef[] = [\r\n { field: 'Timeframe', resizable: false },\r\n { field: 'Links', resizable: false, cellClass: ['report-download-block'], onCellClicked: (event: CellClickedEvent) => { this.downloadReport(event) } }\r\n ]\r\n\r\n reportRowData;\r\n\r\n ngOnInit() {\r\n this.dataService.getAvailableReportsTimeFrames().subscribe(res => {\r\n this.qnaReportDownloadViewModel = res\r\n this.configRowData = [\r\n { Configuration: 'Selected Timeframe', Value: res.SelectedTimeFrame.split(',').map(word => word.trim()).join(', ') },\r\n { Configuration: 'Selected Report type', Value: res.SelectedReportTypes.split(',').map(word => this.formatReportTypes(word.trim())).join(', ') },\r\n { Configuration: 'Send Email Notification', Value: `${res.SendEmailNotification}` }\r\n ];\r\n\r\n this.reportRowData = this.qnaReportDownloadViewModel.AvailableReportTimeFrames.map(tf => ({ Timeframe: tf, Links: 'Download' }))\r\n })\r\n }\r\n\r\n\r\n formatReportTypes(word) {\r\n switch (word) {\r\n case 'QuesAskedAndAnswered':\r\n return this.capitalizeFirstLetter(word.replace('Ques', 'Questions').split(/(?=[A-Z])/).join(' '))\r\n case 'QuesAskedButNotAnswered':\r\n return this.capitalizeFirstLetter(word.replace('Ques', 'Questions').split(/(?=[A-Z])/).join(' '))\r\n case 'QuesDeleted':\r\n return this.capitalizeFirstLetter(word.replace('Ques', 'Questions').split(/(?=[A-Z])/).join(' '))\r\n default:\r\n return ''\r\n };\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n this.gridApi.setRowData(this.configRowData);\r\n }\r\n\r\n onGridReady1(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n this.gridApi.setRowData(this.reportRowData);\r\n }\r\n\r\n capitalizeFirstLetter(sentence: string): string {\r\n if (!sentence) return sentence;\r\n return sentence.charAt(0).toUpperCase() + sentence.slice(1).toLowerCase();\r\n}\r\n\r\n\r\n downloadReport(event) {\r\n if (event.data.Timeframe == undefined || event.data.Timeframe == null)\r\n return\r\n\r\n this.dataService.downloadReports(event.data.Timeframe).subscribe(response => {\r\n const blob = new Blob([response], { type: 'application/vnd.ms-excel' });\r\n const url = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = `Q&A_Report_${event.data.Timeframe}.xlsx`;\r\n link.click();\r\n });\r\n }\r\n}","\r\n
\r\n
\r\n

Configuration

\r\n \r\n \r\n
\r\n\r\n
\r\n

Available Reports

\r\n \r\n \r\n
\r\n
","import { Component, OnInit} from '@angular/core';\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\n\r\n@Component({\r\n selector: 'search-contract-header',\r\n templateUrl: './search-contract-header.component.html',\r\n styleUrls: [],\r\n})\r\nexport class SearchContractHeaderComponent implements OnInit {\r\n\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n filterMetadata = { count: 0 };\r\n index = { count: 0 };\r\n contractAdminLink: string;\r\n contractAdminLinkText: string;\r\n searchTextPlaceholder: string;\r\n\r\n constructor(private dataService: ContractSearchService) { }\r\n\r\n ngOnInit(): void {\r\n this.dataService.getCurrentPosition$.subscribe((position) => {\r\n this.index.count = position;\r\n });\r\n\r\n this.dataService.getTotalSearchCount$.subscribe((count) => {\r\n this.filterMetadata.count = count;\r\n });\r\n\r\n this.dataService.getContractAdminLink$.subscribe((link) => {\r\n this.contractAdminLink = link;\r\n });\r\n\r\n this.dataService.getContractAdminLinkText$.subscribe((text) => {\r\n this.contractAdminLinkText = text;\r\n });\r\n\r\n this.dataService.getSearchTextPlaceholder$.subscribe((text) => {\r\n this.searchTextPlaceholder = text;\r\n });\r\n }\r\n\r\n onTextChange(text) {\r\n this.dataService.modifyString(text);\r\n }\r\n\r\n public findNext() {\r\n this.dataService.setPosition(1);\r\n }\r\n\r\n public findPrev() {\r\n this.dataService.setPosition(-1);\r\n }\r\n\r\n toggleAllSections(event) {\r\n this.dataService.setToggleEvent(event);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ index.count }}\r\n of {{ filterMetadata.count }} results\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, AfterContentChecked, ChangeDetectorRef, ElementRef, ViewChild, ViewChildren, QueryList, HostListener, AfterViewChecked, Renderer2, TemplateRef } from '@angular/core';\r\nimport { SearchContractPipe } from '../Models/search-contract.pipe';\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\nimport { ContractSections, ContractDetails } from '../Models/common.model';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-search-contract',\r\n templateUrl: './search-contract.component.html',\r\n providers: [SearchContractPipe]\r\n})\r\nexport class SearchContractComponent implements OnInit, AfterContentChecked, AfterViewChecked {\r\n\r\n private _contractSections: ContractSections[];\r\n get contractSections(): ContractSections[] {\r\n return this._contractSections;\r\n }\r\n set contractSections(value: ContractSections[]) {\r\n this._contractSections = value;\r\n }\r\n contractDetails: ContractDetails;\r\n\r\n //activehighlightdeclaration\r\n filterMetadata = { count: 0 };\r\n index = { count: 0 };\r\n sectionCount = { count: 0 };\r\n initialLoad = true;\r\n expanded: boolean;\r\n sectionId: string;\r\n currentSectionId: string;\r\n isSectionExpanded: boolean;\r\n modalBody;\r\n popupName: string;\r\n toggleModalDisplay = \"none\";\r\n displayRomanListStyle: boolean;\r\n sectionIdStack: string[] = [];\r\n\r\n MatchDetails = [];\r\n\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n this.clearFilterCount();\r\n }\r\n\r\n @ViewChildren('section') sectionHtml: QueryList;\r\n @ViewChildren('item') itemHtml: QueryList;\r\n @ViewChildren('format') formatHtml: QueryList;\r\n\r\n constructor(private cdRef: ChangeDetectorRef, private element: ElementRef, private highlightCount: SearchContractPipe, private dataService: ContractSearchService, private sanitizer: DomSanitizer, private renderer2: Renderer2) {\r\n let w = (window as any);\r\n w.openPopUp = this.myfunction.bind(this)\r\n w.scrollSection = this.sectionScroll.bind(this)\r\n this.dataService.getContractDetails().subscribe((data: ContractDetails) => {\r\n let year = data['PageName'].replace(/[^0-9]/g, '')\r\n this.contractDetails = data;\r\n this.contractSections = data['ContractSections']; \r\n this.displayRomanListStyle = year == '' ? true : year < 2020;\r\n this.contractSections.forEach(sec => {\r\n sec.ContractItems.forEach(items => {\r\n items.ContractItemBodyString = this.sanitizer.bypassSecurityTrustHtml(items.ContractItemBodyString) as string\r\n items.ContractItemBody.Fragments.forEach(Fragment => { Fragment.InternalFormat = this.sanitizer.bypassSecurityTrustHtml(Fragment.InternalFormat) as string }\r\n )\r\n })\r\n })\r\n this.dataService.setContractAdminLink(data['ContractAdminLink']);\r\n this.dataService.setContractAdminLinkText(data['ContractAdminLinkText']);\r\n this.dataService.setSearchTextPlaceholder(data['SearchTextPlaceholder']);\r\n });\r\n } \r\n\r\n ngAfterViewChecked(): void {\r\n if (this.sectionId != undefined) {\r\n var targetSectionlink;\r\n var parentSectionlink;\r\n var parentSectionDivId;\r\n var subsectionDivId = this.element.nativeElement.querySelector(this.sectionId);\r\n if (subsectionDivId != undefined && this.isSectionExpanded != false) {\r\n this.element.nativeElement.querySelectorAll('[href=\"' + this.sectionId + '\"]')\r\n .forEach(elem => {\r\n if (elem.hasAttribute('data-toggle')) { targetSectionlink = elem }\r\n })\r\n if (targetSectionlink != undefined) {\r\n if (targetSectionlink.parentElement.parentElement.getAttribute('class') != \"swapa-contract p-0\") {\r\n parentSectionlink = targetSectionlink.parentElement.parentElement.previousElementSibling;\r\n parentSectionDivId = targetSectionlink.parentElement.parentElement;\r\n this.expandSectionLink(targetSectionlink, \"h2\");\r\n //this.expandSectionLink(parentSectionlink, \"h2\");\r\n this.expandSectionDiv(parentSectionDivId);\r\n this.expandSectionDiv(subsectionDivId);\r\n this.jumpTo(subsectionDivId);\r\n }\r\n else {\r\n parentSectionlink = targetSectionlink;\r\n parentSectionDivId = targetSectionlink.nextSibling;\r\n this.expandParentSection(parentSectionlink, parentSectionDivId);\r\n }\r\n }\r\n this.isSectionExpanded = false; \r\n }\r\n }\r\n }\r\n\r\n\r\n onClick(event) {\r\n var targetSectionlink;\r\n var contentLink = event.target;\r\n if (contentLink != undefined) {\r\n var subsectionDivId = this.element.nativeElement.querySelector(contentLink.getAttribute('href'));\r\n this.element.nativeElement.querySelectorAll('[href=\"' + contentLink.getAttribute('href') + '\"]')\r\n .forEach(elem => {\r\n if (elem.hasAttribute('data-toggle')) { targetSectionlink = elem }\r\n })\r\n if (targetSectionlink.parentElement.parentElement.getAttribute('class') != \"swapa-contract p-0\") {\r\n var parentSectionlink = targetSectionlink.parentElement.parentElement.previousElementSibling;\r\n var parentSectionDivId = targetSectionlink.parentElement.parentElement;\r\n this.expandSectionLink(targetSectionlink, \"h4\");\r\n this.expandSectionLink(parentSectionlink, \"h2\");\r\n this.expandSectionDiv(parentSectionDivId);\r\n this.expandSectionDiv(subsectionDivId);\r\n\r\n this.jumpTo(subsectionDivId);\r\n }\r\n else { \r\n parentSectionlink = targetSectionlink;\r\n parentSectionDivId = targetSectionlink.nextSibling;\r\n this.expandParentSection(parentSectionlink, parentSectionDivId);\r\n }\r\n\r\n }\r\n }\r\n\r\n expandParentSection(link, divId) {\r\n this.expandSectionLink(link, \"h2\");\r\n this.expandSectionDiv(divId);\r\n this.jumpTo(divId);\r\n }\r\n\r\n expandSectionLink(section, header) {\r\n if (section.getAttribute('class') != \"swapa-contract-header swapa-accordion-prefix \" + header + \" collapsed\") {\r\n section.setAttribute('class', \"swapa-contract-header swapa-accordion-prefix \" + header + \" collapsed\");\r\n }\r\n\r\n if (section.getAttribute('aria-expanded') != 'true') {\r\n section.setAttribute('aria-expanded', 'true');\r\n }\r\n }\r\n\r\n expandSectionDiv(sectionDivId) {\r\n if (sectionDivId.getAttribute('class') != \"collapse show\") {\r\n sectionDivId.setAttribute('class', 'collapse show');\r\n }\r\n }\r\n\r\n @HostListener('click') onClicks() { \r\n \r\n var element = event.target as HTMLElement;\r\n if (element.getAttribute('class') == 'contentlink') {\r\n this.renderer2.listen(element, 'click', () => {\r\n this.onClick(events); \r\n });\r\n let events: Event = new Event('click');\r\n element.dispatchEvent(events);\r\n } \r\n } \r\n\r\n clearFilterCount() { \r\n this.index.count = 0;\r\n this.dataService.setCurrentPosition(this.index.count);\r\n this.filterMetadata.count = 0;\r\n this.dataService.setTotalSearchCount(this.filterMetadata.count);\r\n this.sectionCount.count = 0;\r\n this.MatchDetails = [];\r\n this.initialLoad = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataService.getSearchstring$.subscribe((data) => {\r\n this.searchText = data;\r\n });\r\n\r\n this.dataService.getPosition$.subscribe((data) => {\r\n data > 0 ? this.findNext(data) : this.findPrev(data);\r\n });\r\n\r\n this.dataService.getExpandValue$.subscribe((data) => {\r\n if (data == true) {\r\n this.expandSections();\r\n }\r\n });\r\n\r\n this.dataService.getToggleEvent$.subscribe((data) => {\r\n this.toggleAllSections(data);\r\n });\r\n\r\n this.dataService.getQstringSectId$.subscribe((sectionId) => {\r\n if (sectionId != undefined) {\r\n this.sectionId = \"#\" + sectionId;\r\n this.isSectionExpanded = true;\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n public expandSections(): void {\r\n var sections = this.element.nativeElement.querySelectorAll('.swapa-body > .swapa-contract > .swapa-contract > [aria-expanded=false]');\r\n if (sections.length > 0) {\r\n var header = this.element.nativeElement.querySelectorAll('.swapa-contract-header')\r\n this.setAttribute(header, \"aria-expanded\", true);\r\n var subSection = this.element.nativeElement.querySelectorAll('.swapa-contract .collapse');\r\n this.setAttribute(subSection, \"class\", \"collapse show\");\r\n }\r\n }\r\n\r\n toggleAllSections(event) {\r\n if (event != null) {\r\n var expanded = this.element.nativeElement.querySelectorAll('.swapa-body > .swapa-contract > .swapa-contract > [aria-expanded=true]').length > 0;\r\n this.expanded = !this.expanded;\r\n if (expanded != undefined && expanded != null) {\r\n var subSection = this.element.nativeElement.querySelectorAll('.swapa-contract .collapse');\r\n var header2 = this.element.nativeElement.querySelectorAll('.swapa-body > .swapa-contract > .swapa-contract > .swapa-contract-header')\r\n var header4 = this.element.nativeElement.querySelectorAll('.swapa-body > .swapa-contract >.swapa-contract > div >.swapa-contract > .swapa-contract-header')\r\n this.setAttribute(subSection, \"class\", expanded ? \"collapse\" : \"collapse show\");\r\n this.setAttribute(header2, \"aria-expanded\", expanded ? false : true);\r\n this.setAttribute(header2, \"class\", expanded ? \"swapa-contract-header swapa-accordion-prefix h2\" : \"swapa-contract-header swapa-accordion-prefix h2 collapsed\");\r\n this.setAttribute(header4, \"aria-expanded\", expanded ? false : true);\r\n this.setAttribute(header4, \"class\", expanded ? \"swapa-contract-header swapa-accordion-prefix h4\" : \"swapa-contract-header swapa-accordion-prefix h4 collapsed\");\r\n }\r\n }\r\n }\r\n\r\n public setAttribute(element, attr, val): void {\r\n if (element != null) {\r\n for (var item = 0; item < element.length; item++) {\r\n {\r\n element[item].setAttribute(attr, val);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public findNext(position: number) {\r\n var nextElem;\r\n this.sectionCount.count = 0;\r\n this.expand(position);\r\n this.find(position);\r\n\r\n var highlightedElem = this.element.nativeElement.querySelectorAll('mark');\r\n if (highlightedElem != null) {\r\n for (var elem = 0; elem < highlightedElem.length; elem++) {\r\n if (highlightedElem[elem].className == \"swapa-contract-active\") {\r\n if (elem < (highlightedElem.length - 1)) {\r\n nextElem = highlightedElem[elem + 1];\r\n }\r\n else {\r\n (highlightedElem.length != 2) ? nextElem = highlightedElem[0] : nextElem = highlightedElem[elem - 1];\r\n }\r\n }\r\n }\r\n }\r\n this.jumpTo(nextElem);\r\n }\r\n\r\n public findPrev(position: number) {\r\n var nextElem;\r\n this.sectionCount.count = this.MatchDetails.length;\r\n this.expand(position);\r\n this.find(position);\r\n\r\n var highlightedElem = this.element.nativeElement.querySelectorAll('mark');\r\n if (highlightedElem != null) {\r\n for (var elem = highlightedElem.length - 1; elem >= 0; elem--) {\r\n if (highlightedElem[elem].className == \"swapa-contract-active\") {\r\n if (elem > 0) {\r\n nextElem = highlightedElem[elem - 1];\r\n }\r\n else {\r\n (highlightedElem.length != 2) ? nextElem = highlightedElem[highlightedElem.length - 1] : nextElem = highlightedElem[elem + 1];\r\n }\r\n }\r\n }\r\n }\r\n this.jumpTo(nextElem);\r\n }\r\n\r\n public jumpTo(element): void {\r\n if (element != null) {\r\n element.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }\r\n }\r\n\r\n public expand(position): void {\r\n if (position != null || this.element.nativeElement.querySelectorAll('.swapa-body > .swapa-contract > .swapa-contract > [aria-expanded=false]').length > 0) {\r\n this.expanded = true;\r\n }\r\n }\r\n\r\n private find(increment: number) {\r\n if (this.searchText) {\r\n //this.matchCount = this.highlight.highlight(this.searchText, this.caseSensitive);\r\n this.index.count += increment;\r\n\r\n this.index.count = this.index.count <= 0 ? this.filterMetadata.count : this.index.count;\r\n this.index.count = this.index.count > this.filterMetadata.count ? 1 : this.index.count;\r\n this.dataService.setCurrentPosition(this.index.count);\r\n\r\n var that = this;\r\n\r\n if (this.filterMetadata.count > 0) {\r\n\r\n //that.sectionCount.count = 0\r\n var activePosition;\r\n this.dataService.getContractDetails().subscribe((data: ContractDetails) => {\r\n this.contractSections = data['ContractSections'];\r\n this.contractSections.forEach(sec => {\r\n sec.ContractItems.forEach(items => {\r\n items.ContractItemBodyString = this.sanitizer.bypassSecurityTrustHtml(items.ContractItemBodyString) as string\r\n items.ContractItemBody.Fragments.forEach(Fragment => { Fragment.InternalFormat = this.sanitizer.bypassSecurityTrustHtml(Fragment.InternalFormat) as string }\r\n )\r\n })\r\n })\r\n for (var secItems = 0; secItems < this.contractSections.length; secItems++) {\r\n for (var sec = 0; sec < that.MatchDetails.length; sec++) {\r\n for (var item = 0; item < that.MatchDetails[sec].TotalHighlight.length; item++) {\r\n if ((that.index.count - 1) == that.MatchDetails[sec].TotalHighlight[item][\"highlight\"]) {\r\n activePosition = that.MatchDetails[sec].TotalHighlight[item][\"key\"];\r\n that.sectionCount.count = sec;\r\n }\r\n }\r\n }\r\n if (activePosition != undefined) {\r\n let finalvalue = that.formatHtml;\r\n finalvalue.forEach((format: ElementRef) => {\r\n var text = that.highlightCount.transform(format.nativeElement.innerHTML, that.searchText, that.sectionCount.count, that.MatchDetails, that.filterMetadata.count, that.index.count, that.initialLoad = false,format);\r\n if (text.changingThisBreaksApplicationSecurity != undefined) {\r\n format.nativeElement.innerHTML = text.changingThisBreaksApplicationSecurity\r\n }\r\n else\r\n format.nativeElement.innerHTML = text;\r\n });\r\n\r\n let sectionValue = that.sectionHtml;\r\n sectionValue.forEach((section: ElementRef) => {\r\n var text = that.highlightCount.transform(section.nativeElement.innerHTML, that.searchText, that.sectionCount.count, that.MatchDetails, that.filterMetadata.count, that.index.count, that.initialLoad = false, section);\r\n if (text.changingThisBreaksApplicationSecurity != undefined) {\r\n section.nativeElement.innerHTML = text.changingThisBreaksApplicationSecurity\r\n }\r\n else\r\n section.nativeElement.innerHTML = text;\r\n });\r\n\r\n let subsectionValue = that.itemHtml;\r\n subsectionValue.forEach((subsect: ElementRef) => {\r\n var text = that.highlightCount.transform(subsect.nativeElement.innerHTML, that.searchText, that.sectionCount.count, that.MatchDetails, that.filterMetadata.count, that.index.count, that.initialLoad = false, subsect);\r\n if (text.changingThisBreaksApplicationSecurity != undefined) {\r\n subsect.nativeElement.innerHTML = text.changingThisBreaksApplicationSecurity\r\n }\r\n else\r\n subsect.nativeElement.innerHTML = text;\r\n });\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n myfunction(id) {\r\n this.popupName = this.element.nativeElement.querySelector(`#name-${id}`).textContent;\r\n let eleRef = this.element.nativeElement.querySelector(`#${id}`);\r\n eleRef.querySelector('.swapa-top-shortcut').setAttribute('hidden','');\r\n this.modalBody = eleRef.innerHTML;\r\n this.toggleModalDisplay = \"block\";\r\n this.element.nativeElement.querySelector('#contractModal').setAttribute('class', 'modal fade show');\r\n }\r\n\r\n sectionScroll(id) {\r\n if (this.currentSectionId != \"#\" + id) {\r\n this.sectionIdStack.push(this.currentSectionId);\r\n this.element.nativeElement.querySelector('#back-' + id).removeAttribute('hidden', true);\r\n }\r\n this.sectionId = \"#\" + id;\r\n this.isSectionExpanded = true;\r\n this.currentSectionId = this.sectionId;\r\n if (this.sectionIdStack.length > 1) {\r\n for (var i = 0; i < this.sectionIdStack.length; i++) {\r\n var sectionId = this.sectionIdStack[i].replace('#', '');\r\n if (this.currentSectionId != this.sectionIdStack[i]) {\r\n this.element.nativeElement.querySelector('#back-' + sectionId).setAttribute('hidden', true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n closePopup() {\r\n this.toggleModalDisplay = \"none\";\r\n this.element.nativeElement.querySelector('#contractModal').setAttribute('class', 'modal fade');\r\n }\r\n\r\n validatePageName(title) {\r\n let year = title.replace(/[^0-9]/g, '')\r\n return year == '' ? false : year < 2020 ;\r\n }\r\n\r\n navigateBack(): void {\r\n let divId;\r\n if (this.sectionIdStack.length > 0) {\r\n const lastSectionId = this.sectionIdStack[this.sectionIdStack.length - 1];\r\n this.sectionIdStack.pop();\r\n let section = this.element.nativeElement.querySelector(this.sectionId);\r\n let isExpanded = section.classList.contains('show');\r\n let toggleElement = this.element.nativeElement.querySelector(`a[href=\"${this.sectionId}\"]`);\r\n if (toggleElement) {\r\n toggleElement.setAttribute('aria-expanded', !isExpanded.toString());\r\n } \r\n section.setAttribute('aria-expanded', !isExpanded);\r\n section.classList.toggle('show', !isExpanded);\r\n divId = this.sectionId;\r\n this.sectionId = lastSectionId;\r\n this.currentSectionId = this.sectionId;\r\n this.isSectionExpanded = true;\r\n }\r\n this.element.nativeElement.querySelector('#back-' + divId.replace('#', '')).setAttribute('hidden', true);\r\n if (this.sectionIdStack.length > 0) {\r\n this.element.nativeElement.querySelector('#back-' + this.sectionId.replace('#', '')).removeAttribute('hidden', true);\r\n }\r\n }\r\n\r\n updateSectionId(id) {\r\n this.currentSectionId = \"#\" + id;\r\n }\r\n}\r\n","
\r\n
\r\n

{{contractDetails?.Title}}

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{popupName}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, SimpleChanges, ElementRef, ViewChild } from '@angular/core';\r\nimport { SearchFilterService } from '../Services/search-filter.service';\r\nimport { NewsArticles, SearchStaticContent } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { LocationStrategy } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.component.html',\r\n styles: [],\r\n providers: [SearchFilterService]\r\n})\r\nexport class SearchComponent {\r\n page = 1;\r\n pageSize = 10; //No of pages per page\r\n maxPages = 10;\r\n startIndex: number;\r\n endIndex: number;\r\n pageOfItems: Array;\r\n pager: any = {};\r\n filterbyValues: any[];\r\n noSearchText: string;\r\n loadingText: boolean;\r\n\r\n private _staticContent: SearchStaticContent;\r\n get staticContent(): SearchStaticContent {\r\n return this._staticContent;\r\n }\r\n set staticContent(value: SearchStaticContent) {\r\n this._staticContent = value;\r\n }\r\n\r\n private _newsArticles: NewsArticles[];\r\n get newsArticles(): NewsArticles[] {\r\n return this._newsArticles;\r\n }\r\n set newsArticles(value: NewsArticles[]) {\r\n this._newsArticles = value;\r\n this.setPage(this.newsArticles);\r\n }\r\n\r\n cacheFilterNewsarticles: NewsArticles[] = [];\r\n\r\n filteredArticles: NewsArticles[] = [];\r\n searchedArticles: NewsArticles[] = [];\r\n\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n sessionStorage.setItem('searchText', this.searchText);\r\n this.performSearch(this.searchText);\r\n }\r\n\r\n @ViewChild('txtSearch') searchInput: ElementRef;\r\n @ViewChild('dnFilterText') filterDropdown: ElementRef;\r\n\r\n constructor(public dataService: SearchFilterService, public location: LocationStrategy) {\r\n if ((window.performance.getEntries()[0] as any).type == 'reload' || (window.performance.getEntries()[0] as any).type == 'navigate') {\r\n sessionStorage.clear();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadingText = true;\r\n if (sessionStorage.length > 0) {\r\n this.page = !isNaN(parseInt(sessionStorage.getItem('pageIndex'))) ? parseInt(sessionStorage.getItem('pageIndex')) : 1;\r\n \r\n }\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n this.pageSize = data.PageSize;\r\n })\r\n\r\n this.dataService.getNewsArticles().subscribe((data: NewsArticles[]) => {\r\n this.newsArticles = data;\r\n this.cacheFilterNewsarticles = data;\r\n this.loadingText = false;\r\n if (sessionStorage.getItem('searchText') != '' && sessionStorage.getItem('searchText') != undefined) {\r\n this.searchText = sessionStorage.getItem('searchText');\r\n }\r\n\r\n if (sessionStorage.getItem('filterIndex') != undefined && sessionStorage.getItem('filterIndex') != null) {\r\n var selectedIndex = sessionStorage.getItem('filterIndex');\r\n this.loadingText = false;\r\n if (this.filterDropdown != undefined) {\r\n this.filterDropdown.nativeElement.options[selectedIndex].selected = true;\r\n }\r\n }\r\n })\r\n\r\n this.dataService.getfilterby().subscribe((data: any[]) => {\r\n this.filterbyValues = data;\r\n })\r\n\r\n \r\n }\r\n\r\n performSearch(filterby?: any) {\r\n if (filterby) {\r\n if (this.filteredArticles.length > 1) {\r\n this.newsArticles = this.filteredArticles.filter((newsArticles: NewsArticles) => {\r\n return this.getfilteredValues(newsArticles, filterby);\r\n });\r\n this.searchedArticles = this.newsArticles;\r\n }\r\n else {\r\n this.newsArticles = this.cacheFilterNewsarticles.filter((newsArticles: NewsArticles) => {\r\n return this.getfilteredValues(newsArticles, filterby);\r\n });\r\n this.searchedArticles = this.newsArticles;\r\n }\r\n }\r\n else {\r\n if (this.filteredArticles.length > 1) {\r\n this.newsArticles = this.filteredArticles;\r\n this.searchedArticles = this.newsArticles;\r\n }\r\n else {\r\n this.newsArticles = this.cacheFilterNewsarticles;\r\n this.searchedArticles = this.cacheFilterNewsarticles;\r\n }\r\n }\r\n this.loadingText = false;\r\n this.setNosearchMessage(this.searchedArticles);\r\n }\r\n\r\n onChangePage(pageOfItems: any) {\r\n // update current page of items and set the number of items on page change\r\n sessionStorage.setItem('pageIndex', pageOfItems)\r\n this.pageOfItems = pageOfItems;\r\n this.setPage(this.newsArticles);\r\n }\r\n\r\n onFilterChange(filterby: any) {\r\n let selectedOptions = event.target['options'];\r\n let selectedIndex = selectedOptions.selectedIndex;\r\n let selectElementText = selectedOptions[selectedIndex].text;\r\n this.searchInput.nativeElement.value = \"\";//clear the search input value.\r\n sessionStorage.setItem('filterIndex', selectedIndex);\r\n if (selectedIndex == \"0\") {\r\n this.newsArticles = this.cacheFilterNewsarticles;\r\n this.filteredArticles = this.cacheFilterNewsarticles;\r\n }\r\n else {\r\n this.newsArticles = this.cacheFilterNewsarticles.filter(\r\n (newsArticles: NewsArticles) => {\r\n return this.getfilteredValues(newsArticles, selectElementText);\r\n }\r\n )\r\n this.filteredArticles = this.newsArticles;\r\n }\r\n this.setNosearchMessage(this.filteredArticles);\r\n }\r\n\r\n setPage(article: NewsArticles[]) {\r\n this.pager = paginate(article.length, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n getfilteredValues(article: NewsArticles, searchTerm: string): boolean {\r\n\r\n return ((article.NewsTitle != null ? article.NewsTitle.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false) ||\r\n (article.NewsSummary != null ? article.NewsSummary.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false) ||\r\n (article.NewsBody != null ? article.NewsBody.toLocaleLowerCase().indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false)) ||\r\n (article.Tags != null ? article.Tags.map(function (t) { return t.toLowerCase(); }).indexOf(searchTerm.toLocaleLowerCase()) !== -1 : false);\r\n }\r\n\r\n setNosearchMessage(article: NewsArticles[]) {\r\n if (article == undefined || article.length == 0) {\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n\r\n })\r\n let message = this.staticContent?.NoResultText;\r\n this.noSearchText = message;\r\n }\r\n else {\r\n this.noSearchText = null;\r\n }\r\n }\r\n}\r\n","\r\n \r\n
\r\n

{{staticContent?.NewsPageTitle}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

{{noSearchText}}

\r\n

Loading ...

\r\n \r\n
\r\n\r\n \r\n
0\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ newsArticles.length }} results\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, AfterContentChecked, ChangeDetectorRef, SimpleChanges} from '@angular/core';\r\nimport { ssrsReportsService } from '../Services/ssrs-reports.service';\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { SsrsReportJson, SsrsInputFields, HtmlKeyValue, ReportInputFields } from \"../Models/common.model\";\r\nimport { paginate } from \"../Models/common.pagination\";\r\nimport * as Global from \"../Models/constants\";\r\nimport * as _ from \"lodash\";\r\n\r\n@Component({\r\n selector: 'ssrs-reports',\r\n templateUrl: './ssrs-reports.component.html',\r\n providers: [ssrsReportsService]\r\n})\r\n\r\nexport class SsrsReportComponent implements OnInit, AfterContentChecked{\r\n form: FormGroup;\r\n reportInputFields: ReportInputFields;\r\n ssrsInputFields: SsrsInputFields[] = [];\r\n inputFields: SsrsInputFields[] = [];\r\n ssrsReports = {} as SsrsReportJson;\r\n csvReportType: string = Global.csvReportType;\r\n pdfReportType: string = Global.pdfReportType;\r\n xmlReportType: string = Global.xmlReportType;\r\n excelReportType: string = Global.excelReportType;\r\n pager: any = {};\r\n page = 1;\r\n pageSize = 1; //No of records per page\r\n maxPages = 10;\r\n pageOfItems: Array;\r\n startIndex: number;\r\n endIndex: number;\r\n style: string;\r\n downloadType: string;\r\n isLoading: boolean = false;\r\n reportName: string = Global.ssrsReportName;\r\n loadingMessage: string = Global.ssrsReportLoadingMessage;\r\n requiredFieldMessage: string = Global.ssrsRequiredFieldMessage;\r\n requiredIndicatorMessage: string = Global.ssrsRequiredFieldButtonMessage;\r\n hidePagination: boolean = false;\r\n dropdownSettings: {};\r\n \r\n private _reportHtml: HtmlKeyValue[];\r\n get reportHtml(): HtmlKeyValue[] {\r\n return this._reportHtml;\r\n }\r\n set reportHtml(value: HtmlKeyValue[]) {\r\n this._reportHtml = value;\r\n this.setPage(this.reportHtml);\r\n }\r\n\r\n ngOnInit() {\r\n Global.AddLogs(\"SSRS Reports onInit method called\");\r\n this.form = new FormGroup({});\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'Value',\r\n textField: 'Label',\r\n itemsShowLimit: 6,\r\n allowSearchFilter: false\r\n };\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n constructor(private dataService: ssrsReportsService, private cdRef: ChangeDetectorRef) {\r\n Global.AddLogs(\"SSRS Reports Constructor before service method getInputFields\");\r\n this.dataService.getInputFields().subscribe((data: ReportInputFields) => {\r\n this.hidePagination = data.HidePagination;\r\n this.inputFields = data.SsrsInputFields;\r\n this.reportName = data.ReportName;\r\n this.setFormvalues(this.inputFields);\r\n Global.AddLogs(\"InputFields loaded from service:\" + JSON.stringify(data));\r\n })\r\n }\r\n\r\n setFormvalues(inputFields: SsrsInputFields[]) {\r\n try {\r\n this.ssrsInputFields = inputFields;\r\n this.ssrsInputFields.forEach(formControl => {\r\n if (formControl.IsRequired) {\r\n this.form.addControl(formControl.Name, new FormControl(null, Validators.required));\r\n } else {\r\n this.form.addControl(formControl.Name, new FormControl(null));\r\n }\r\n });\r\n\r\n this.ssrsInputFields.forEach(control => {\r\n if (control.Type == Global.textBox) {\r\n this.form.get(control.Name).patchValue(control.DefaultValue);\r\n Global.AddLogs(\"SetFormValues textbox default values:\" + control.DefaultValue);\r\n }\r\n if (control.Type == Global.select) {\r\n if (control.Name.toLocaleUpperCase() == 'BASE' || control.Name.toLocaleUpperCase() == 'MAIN_BASE' || control.Name.toLocaleUpperCase() == 'SEAT') {\r\n this.form.get(control.Name).patchValue(control.DefaultValue);\r\n Global.AddLogs(\"SetFormValues BASE ,MAIN_BASE ,SEAT default values:\" + control.DefaultValue);\r\n } else {\r\n if (control.DefaultValues != null) {\r\n control.DefaultValue = control.DefaultValues[0];\r\n this.form.get(control.Name).patchValue(control.DefaultValue);\r\n Global.AddLogs(\"SetFormValues Select controls default values:\" + control.DefaultValue);\r\n }\r\n }\r\n }\r\n\r\n if (control.Type == Global.checkboxList) {\r\n var labelTexts = [];\r\n var defaultValues = [];\r\n var selectedItems = { Label: '', Value: '' };\r\n\r\n if (control.DefaultValues != null && control.DefaultValues.length > 0) {\r\n control.Selections.forEach(item => {\r\n if (control.DefaultValues != null && control.DefaultValues != undefined) {\r\n let exists = control.DefaultValues.find((val) => val === item.Value)\r\n if (exists) {\r\n let controlDefaultValue = _.cloneDeep(selectedItems);\r\n controlDefaultValue.Label = item.Label;\r\n controlDefaultValue.Value = item.Value;\r\n defaultValues.push(controlDefaultValue);\r\n }\r\n }\r\n })\r\n control.CheckboxListDefaultValues = defaultValues;\r\n Global.AddLogs(\"SetFormValues Checkbox controls default values:\" + JSON.stringify(defaultValues));\r\n }\r\n else {\r\n control.Selections.forEach(item => {\r\n if (control.DefaultValue != null && control.DefaultValue != \"\" && control.DefaultValue != undefined) {\r\n if (item.Value.indexOf(control.DefaultValue) !== -1) {\r\n labelTexts.push(item.Label);\r\n }\r\n }\r\n })\r\n\r\n let controlDefaultValue = _.cloneDeep(selectedItems);\r\n labelTexts.forEach(item => {\r\n controlDefaultValue.Label = item;\r\n controlDefaultValue.Value = control.DefaultValue;\r\n defaultValues.push(controlDefaultValue);\r\n })\r\n control.CheckboxListDefaultValues = defaultValues;\r\n Global.AddLogs(\"SetFormValues Checkbox controls default values:\" + JSON.stringify(defaultValues));\r\n }\r\n }\r\n })\r\n }\r\n catch (error) {\r\n Global.AddLogs(error);\r\n }\r\n }\r\n\r\n getReportDetails() {\r\n try {\r\n var formData = this.form.value;\r\n this.isLoading = true;\r\n\r\n this.dataService.getInputFields().subscribe((data: ReportInputFields) => {\r\n this.hidePagination = data.HidePagination;\r\n this.inputFields = data.SsrsInputFields;\r\n Global.AddLogs(\"GetReportDetails getInputFields recieved from service :\" + data);\r\n })\r\n for (let i = 0; i < this.inputFields.length; i++) {\r\n if (this.inputFields[i].Type == Global.checkboxList) {\r\n let value = [];\r\n formData[this.inputFields[i].Name].forEach(checkbox => { value.push(checkbox.Value) });\r\n this.inputFields[i].Value = value;\r\n } else {\r\n this.inputFields[i].Value = formData[this.inputFields[i].Name];\r\n }\r\n }\r\n this.ssrsReports.FileType = Global.htmlReportType;\r\n this.ssrsReports.Inputs = this.inputFields;\r\n\r\n this.dataService.getSsrsReport(this.ssrsReports).subscribe((data: HtmlKeyValue[]) => {\r\n this.downloadType = data[0].Value;\r\n this.style = data[1].Value;\r\n this.reportHtml = data;\r\n this.reportHtml.splice(0, 2); //Remove first style element \r\n this.isLoading = false;\r\n Global.AddLogs(\"GetReportDetails data recieved from service :\" + JSON.stringify(data));\r\n })\r\n }\r\n catch (error) {\r\n Global.AddLogs(\"GetReportDetails Exception logged :\"+error);\r\n }\r\n }\r\n\r\n downloadReport(type: string) {\r\n try {\r\n let file;\r\n this.ssrsReports.FileType = type;\r\n this.dataService.downloadSsrsReport(this.ssrsReports).subscribe((response) => {\r\n\r\n if (type == Global.pdfReportType)\r\n file = new Blob([response], { type: 'application/' + type + '' });\r\n if (type == Global.csvReportType || type == Global.xmlReportType)\r\n file = new Blob([response], { type: 'text/' + type + '' });\r\n if (type == Global.excelReportType)\r\n file = new Blob([response], { type: 'application/octet-stream' });\r\n var fileURL = URL.createObjectURL(file);\r\n const link = document.createElement('a');\r\n link.href = fileURL;\r\n link.download = this.reportName+'.' + type;\r\n link.click();\r\n //open the file in new window\r\n\r\n //if (window.navigator.msSaveOrOpenBlob) {\r\n // window.navigator.msSaveOrOpenBlob(file, fileURL.split(':')[1] + '.');\r\n //} else {\r\n // window.open(fileURL);\r\n //}\r\n //window.open(fileURL);\r\n })\r\n }\r\n catch (error) {\r\n Global.AddLogs(\"downloadReport Exception logged :\" + error);\r\n }\r\n }\r\n\r\n onCalenderchange(event: any, name) {\r\n let formControlName = name;\r\n let formControlValue;\r\n if (event.type == \"change\") {\r\n formControlValue = event.target[\"value\"];\r\n }\r\n else if (event.type == \"changeDate\") {\r\n formControlValue = event.format(0, \"mm/dd/yyyy\");\r\n }\r\n \r\n this.form.controls[formControlName].setValue(formControlValue);\r\n }\r\n\r\n onChangePage(pageOfItems: any) {\r\n // update current page of items and set the number of items on page change\r\n this.pageOfItems = pageOfItems;\r\n this.setPage(this.reportHtml);\r\n }\r\n\r\n setPage(html: HtmlKeyValue[]) {\r\n this.pager = paginate(html.length, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{requiredFieldMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{requiredFieldMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{requiredFieldMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{requiredFieldMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n

Download

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
1\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ reportHtml.length }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
1\" class=\"row pt-4\">\r\n
 
\r\n
\r\n
1\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ reportHtml.length }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, SimpleChanges, Input, ElementRef, AfterContentChecked, ChangeDetectorRef } from '@angular/core';\r\nimport { QnASearchService } from '../Services/qna-search.service';\r\nimport { QnASearchResultViewModel, QuestionAndAnswer, TocTabPageQnAViewAllBlockModel } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as Global from \"../Models/constants\";\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n\r\ndeclare var ReadStaticData;\r\nlet response: string;\r\n\r\n@Component({\r\n selector: 'toctabpage-qna-viewall-answers',\r\n templateUrl: './toctabpage-qna-viewall-answers.component.html',\r\n providers: [QnASearchService]\r\n})\r\nexport class TocTabPageQnAViewAllAnswersComponent implements OnInit, AfterContentChecked {\r\n editMode: boolean;\r\n @Input() public loadingMessage: string;\r\n form: FormGroup;\r\n page = 1;\r\n pageSize = 10;\r\n maxPages = 10;\r\n currentPageId: number;\r\n startIndex: number;\r\n endIndex: number;\r\n pager: any = {};\r\n isLoading: boolean = true;\r\n searchQuery: string = null;\r\n filter: string = null;\r\n searchTag: string;\r\n isTextSearch: boolean = false;\r\n isPostedAnswer: boolean = false;\r\n isEditedQuestion: boolean = false;\r\n isDeletedQuestion: boolean = false;\r\n isEditedSection: boolean = false;\r\n isSelectedCancelButtonId: string = null;\r\n isSelectedEditButtonId: string = null;\r\n selectedQuestionId: number;\r\n postAnswerMessage: string = null;\r\n postEditQuestionMessage: string = null;\r\n isQuestionTextAreaClicked: boolean = false;\r\n validateAnswerMessage: string = Global.requiredAnswerMessage;\r\n blankSpaceMessage: string = Global.blankSpaceMessage;\r\n getQnAFor: string = null;\r\n btnViewText: string = Global.buttonViewAnsweredQ;\r\n statuses: string[] = [Global.statusSubmitted];\r\n tocTabPageQnAViewAllBlockModel: TocTabPageQnAViewAllBlockModel;\r\n private _searchText: string;\r\n displayStyleMessageModel: string = 'none';\r\n displayStyleConfirmationModal: string = 'none';\r\n pinStatus: boolean = false;\r\n selectedSection: FormControl;\r\n selectedEyeIcon: number;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n\r\n private _searchResults: QnASearchResultViewModel;\r\n get searchResults(): QnASearchResultViewModel {\r\n return this._searchResults;\r\n }\r\n set searchResults(value: QnASearchResultViewModel) {\r\n this._searchResults = value;\r\n }\r\n constructor(public dataService: QnASearchService, private modalService: NgbModal, private element: ElementRef, private sanitizer: DomSanitizer, private cdRef: ChangeDetectorRef, private SpinnerService: NgxSpinnerService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = new FormGroup({\r\n selectedSection: new FormControl('')\r\n });;\r\n this.getStaticData();\r\n this.dataService.refreshQnA.subscribe(() => {\r\n this.peformSearch();\r\n })\r\n this.peformSearch();\r\n this.loadingMessage = \"Please wait while data is loading..\"\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n peformSearch(): void {\r\n this.dataService.getSearchResults(this.currentPageId, this.page, this.pageSize, this.searchText, this.filter, this.statuses, this.getQnAFor).subscribe((data: QnASearchResultViewModel) => {\r\n this.searchResults = data;\r\n this.setFormvalues(this.searchResults.Items);\r\n this.searchResults.NoResultMessage = this.tocTabPageQnAViewAllBlockModel.NoResultText;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n window.location.href = \"#topofbody\";\r\n })\r\n }\r\n\r\n setFormvalues(inputFields: QuestionAndAnswer[]) {\r\n try {\r\n inputFields.forEach(formControl => {\r\n this.form.addControl('textarea-ans-' + formControl.QuestionId, new FormControl(formControl.Answer, [Validators.required, this.noWhitespaceValidator]));\r\n this.form.addControl('textarea-qus-' + formControl.QuestionId, new FormControl(formControl.Question, [Validators.required, this.noWhitespaceValidator]));\r\n })\r\n }\r\n catch (error) {\r\n Global.AddLogs(error);\r\n }\r\n }\r\n getStaticData(): void {\r\n response = ReadStaticData();\r\n this.tocTabPageQnAViewAllBlockModel = JSON.parse(response);\r\n this.pageSize = this.tocTabPageQnAViewAllBlockModel.PageSize;\r\n this.currentPageId = this.tocTabPageQnAViewAllBlockModel.CurrentPageId;\r\n this.getQnAFor = this.tocTabPageQnAViewAllBlockModel.GetQnAFor;\r\n }\r\n\r\n onChangePage(pageIndex: any) {\r\n this.postAnswerMessage = '';\r\n this.page = pageIndex;\r\n this.peformSearch();\r\n }\r\n\r\n onFilterClick(event, text: any, value: any) {\r\n this.postAnswerMessage = '';\r\n document.getElementById(\"dropdownMenuLink\").innerText = \"Filter: \" + text;\r\n this.filter = value;\r\n this.page = 1;\r\n this.isLoading = true;\r\n this.peformSearch();\r\n }\r\n\r\n setPage(searchResults: QnASearchResultViewModel) {\r\n this.pager = paginate(searchResults.TotalMatching, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n postAnswers(qna: QuestionAndAnswer, pageId?: any) {\r\n if (pageId != null) {\r\n qna.PageId = pageId;\r\n }\r\n this.dataService.postAnswers(qna).subscribe((data: boolean) => {\r\n this.isPostedAnswer = data;\r\n this.isLoading = false;\r\n this.postAnswerMessage = this.isPostedAnswer ? \"Changes Updated Successfully !\" : \"Error Occuerd!\";\r\n this.displayStyleMessageModel = \"block\";\r\n this.element.nativeElement.querySelector('#messageModel').setAttribute('class', 'modal fade show');\r\n })\r\n }\r\n\r\n showConfirmationModal(questionId: number) {\r\n this.selectedQuestionId = questionId;\r\n this.displayStyleConfirmationModal = \"block\";\r\n this.element.nativeElement.querySelector('#confirmationModal').setAttribute('class', 'modal fade show');\r\n }\r\n\r\n editQuesion(qna: QuestionAndAnswer, question) {\r\n qna.Question = question;\r\n qna.PageId = this.form.get('selectedSection').value;\r\n this.isSelectedEditButtonId = null;\r\n this.isSelectedCancelButtonId = null;\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#answerdby-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n \r\n this.dataService.editQuestion(qna).subscribe((data: boolean) => {\r\n this.isEditedQuestion = data;\r\n this.isLoading = false;\r\n this.postEditQuestionMessage = this.isEditedQuestion ? \"Changes Updated Successfully !\" : \"Error Occuerd!\";\r\n this.displayStyleMessageModel = \"block\";\r\n this.element.nativeElement.querySelector('#messageModel').setAttribute('class', 'modal fade show');\r\n })\r\n }\r\n\r\n deleteConfirmed() {\r\n this.dataService.deleteQuestion(this.selectedQuestionId).subscribe((data: boolean) => {\r\n this.isLoading = false;\r\n this.displayStyleConfirmationModal = \"none\";\r\n this.element.nativeElement.querySelector('#confirmationModal').setAttribute('class', 'modal fade');\r\n })\r\n }\r\n\r\n publishAnswer(event, qna: QuestionAndAnswer, question, answer) {\r\n this.validateAnswerMessage = Global.requiredAnswerMessage;\r\n this.isPostedAnswer = false;\r\n var ParentdivId = this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId);\r\n let texareaACollapsible: boolean = this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).getAttribute('class').includes('show');\r\n switch (event.submitter.innerText.trim()) {\r\n case Global.unpublishQnA:\r\n {\r\n this.isSelectedEditButtonId = null;\r\n this.isSelectedCancelButtonId = null;\r\n this.isQuestionTextAreaClicked = false;\r\n qna.Action = Global.Action_UnpublishOrReject;\r\n //service call to uodate the status of unpublish question\r\n this.postAnswers(qna);\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#answerdby-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.unpublishQnA;\r\n break;\r\n }\r\n case Global.publishAnswer:\r\n {\r\n qna.Answer = answer;\r\n qna.Question = question;\r\n this.isSelectedEditButtonId = null;\r\n this.isSelectedCancelButtonId = null;\r\n this.isQuestionTextAreaClicked = false;\r\n //if status is unpublished then update answer and status to \"Publish Answer\".\r\n if (qna.Status == Global.statusUnpublish) {\r\n qna.Action = Global.Action_UpdateQnA;\r\n this.postAnswers(qna, this.form.get('selectedSection').value);\r\n if (!texareaACollapsible) {\r\n ParentdivId.setAttribute('class', 'p-2 bg-light');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.publishAnswer;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n }\r\n break;\r\n }\r\n else if (qna.Status == Global.statusSubmitted) {\r\n //service call to publish question and answer then disappear question.\r\n qna.Action = Global.Action_InsertAnswer\r\n this.postAnswers(qna);\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.answerQuestion;\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n ParentdivId.setAttribute('class', 'p-2');\r\n break;\r\n }\r\n\r\n }\r\n case Global.answerQuestion:\r\n {\r\n this.searchResults.Items.forEach(qna => {\r\n var IsCollapsed = this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId).getAttribute('class').includes('bg-light');\r\n if (IsCollapsed) {\r\n if (qna.Status == Global.statusSubmitted) {\r\n this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.answerQuestion;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).removeAttribute('disabled', true);\r\n this.form.reset();\r\n }\r\n }\r\n })\r\n\r\n ParentdivId.setAttribute('class', 'p-2 bg-light');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).setAttribute('disabled', true);\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.publishAnswer;\r\n this.isSelectedCancelButtonId = qna.QuestionId;\r\n break;\r\n }\r\n case Global.updateQnA:\r\n {\r\n this.isSelectedEditButtonId = null;\r\n this.isSelectedCancelButtonId = null;\r\n this.isQuestionTextAreaClicked = false;\r\n qna.Question = question;\r\n if (this.btnViewText == Global.buttonViewUnansweredQ) {\r\n qna.Action = Global.Action_UpdateQnA;\r\n qna.Answer = answer;\r\n qna.PageId = this.form.get('selectedSection').value;\r\n this.postAnswers(qna);\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.unpublishQnA;\r\n }\r\n else {\r\n qna.Action = Global.Action_EditQuestion\r\n this.editQuesion(qna, qna.Question);\r\n }\r\n ParentdivId.setAttribute('class', 'p-2');\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n changeViewPage(event) {\r\n this.postAnswerMessage = '';\r\n this.filter = this.searchResults.Filters[0].Value;\r\n if (this.btnViewText == Global.buttonViewUnansweredQ) {\r\n this.statuses = [Global.statusSubmitted];\r\n this.dataService.getSearchResults(this.currentPageId, 1, this.pageSize, this.searchText, this.filter, this.statuses, this.getQnAFor).subscribe((data: QnASearchResultViewModel) => {\r\n this.searchResults = data;\r\n this.setFormvalues(this.searchResults.Items);\r\n this.page = 1;\r\n this.setPage(this.searchResults);\r\n this.element.nativeElement.querySelector('#dropdownMenuLink').textContent = \"Filter: View All\";\r\n })\r\n this.btnViewText = Global.buttonViewAnsweredQ;\r\n\r\n }\r\n else {\r\n this.statuses = [Global.statusAnswered, Global.statusUnpublish];\r\n this.dataService.getSearchResults(this.currentPageId, 1, this.pageSize, this.searchText, this.filter, this.statuses, this.getQnAFor).subscribe((data: QnASearchResultViewModel) => {\r\n this.searchResults = data;\r\n this.setFormvalues(this.searchResults.Items);\r\n this.page = 1;\r\n this.setPage(this.searchResults);\r\n this.element.nativeElement.querySelector('#dropdownMenuLink').textContent = \"Filter: View All\";\r\n })\r\n this.btnViewText = Global.buttonViewUnansweredQ;\r\n }\r\n }\r\n\r\n editAnswer(event, qna: QuestionAndAnswer) {\r\n this.editMode = true;\r\n this.isSelectedEditButtonId = qna.QuestionId;\r\n this.isQuestionTextAreaClicked = false;\r\n this.form.get('selectedSection').setValue(qna.PageId);\r\n let texareaCollapsible: boolean = event.target.parentElement.nextElementSibling.nextElementSibling.getAttribute('class').includes('show');\r\n var answerText = qna.Answer;\r\n var questionText = qna.Question;\r\n this.sanitizer.bypassSecurityTrustHtml(answerText);\r\n this.sanitizer.bypassSecurityTrustHtml(questionText);\r\n\r\n //close all other parent div's if expanded.\r\n if (!texareaCollapsible) {\r\n this.searchResults.Items.forEach(qna => {\r\n var isCollapsible = this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).getAttribute('class').includes('show');\r\n if (isCollapsible) {\r\n if (qna.Status == Global.statusUnpublish) {\r\n this.form.reset();\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.updateQnA;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).setAttribute('class', 'd-none');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).removeAttribute('disabled', true);\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).value = answerText;\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).value = questionText;\r\n }\r\n else if (qna.Status == Global.statusAnswered) {\r\n this.form.reset();\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#textarea-ans-' + qna.QuestionId).value = answerText;\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).value = questionText;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.unpublishQnA;\r\n this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).removeAttribute('disabled', true);\r\n }\r\n }\r\n })\r\n }\r\n\r\n //Expand/ collapse current div.\r\n if (qna.Status == Global.statusUnpublish) {\r\n if (!texareaCollapsible) {\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse show');\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse show');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'btn btn-primary .btn-outline-transparent .shadow-none rounded-pill my-3 mr-3');\r\n }\r\n else {\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse');\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'd-none');\r\n this.isSelectedEditButtonId = null;\r\n }\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).textContent = Global.publishAnswer;\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).value = answerText;\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).value = questionText;\r\n }\r\n else {\r\n if (!texareaCollapsible) {\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse show');\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse show');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).textContent = Global.updateQnA;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'btn btn-primary .btn-outline-transparent .shadow-none rounded-pill my-3 mr-3');\r\n this.element.nativeElement.querySelector('#parentDiv-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'p-2 bg-light');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).value = answerText;\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).value = questionText;\r\n }\r\n else {\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse');\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).textContent = Global.unpublishQnA;\r\n this.element.nativeElement.querySelector('#parentDiv-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-ans-' + event.target.getAttribute('id').split('-')[2]).value = '';\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).value = '';\r\n this.isSelectedEditButtonId = null;\r\n }\r\n }\r\n }\r\n\r\n cancelButton(event, qna: QuestionAndAnswer) {\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.answerQuestion;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).removeAttribute('disabled', true);\r\n this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#ans-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.isSelectedCancelButtonId = null;\r\n this.isSelectedEditButtonId = null;\r\n this.isQuestionTextAreaClicked = false;\r\n }\r\n editQuestion(event, qna: QuestionAndAnswer) {\r\n let texareaCollapsible: boolean = event.target.parentElement.nextElementSibling.nextElementSibling.getAttribute('class').includes('show');\r\n var questionText = qna.Question;\r\n this.sanitizer.bypassSecurityTrustHtml(questionText);\r\n this.isSelectedEditButtonId = qna.QuestionId;\r\n this.form.get('selectedSection').setValue(qna.PageId);\r\n \r\n //close all other parent div's if expanded.\r\n if (!texareaCollapsible) {\r\n this.searchResults.Items.forEach(qna => {\r\n var isCollapsible = this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).getAttribute('class').includes('show');\r\n if (isCollapsible) {\r\n this.element.nativeElement.querySelector('#qus-' + qna.QuestionId).setAttribute('class', 'collapse')\r\n this.element.nativeElement.querySelector('#textarea-qus-' + qna.QuestionId).value = questionText;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).textContent = Global.answerQuestion;\r\n this.element.nativeElement.querySelector('#parentDiv-' + qna.QuestionId).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + qna.QuestionId).removeAttribute('disabled', true);\r\n this.isSelectedEditButtonId = null;\r\n }\r\n })\r\n }\r\n //Expand/ collapse current div.\r\n if (!texareaCollapsible) {\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).textContent = Global.updateQuestion;\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'btn btn-primary .btn-outline-transparent .shadow-none rounded-pill my-3');\r\n this.element.nativeElement.querySelector('#parentDiv-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'p-2 bg-light');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).value = questionText;\r\n this.isSelectedEditButtonId = qna.QuestionId;\r\n }\r\n else {\r\n this.element.nativeElement.querySelector('#qna-btnAnswer-' + event.target.getAttribute('id').split('-')[2]).textContent = Global.answerQuestion;\r\n this.element.nativeElement.querySelector('#parentDiv-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'p-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).setAttribute('class', 'form-control rounded py-2');\r\n this.element.nativeElement.querySelector('#textarea-qus-' + event.target.getAttribute('id').split('-')[2]).value = '';\r\n this.isSelectedEditButtonId = null;\r\n }\r\n }\r\n\r\n closePopup() {\r\n this.displayStyleMessageModel = \"none\";\r\n this.displayStyleConfirmationModal = \"none\";\r\n this.element.nativeElement.querySelector('#messageModel').setAttribute('class', 'modal fade');\r\n this.element.nativeElement.querySelector('#confirmationModal').setAttribute('class', 'modal fade');\r\n }\r\n\r\n answerChanged(value, btnId) {\r\n if (value != null) {\r\n if (value.trim() == '') {\r\n if (this.element.nativeElement.querySelector('#' + btnId) != null)\r\n this.element.nativeElement.querySelector('#' + btnId).setAttribute('disabled', true)\r\n }\r\n else {\r\n if (this.element.nativeElement.querySelector('#' + btnId) != null)\r\n this.element.nativeElement.querySelector('#' + btnId).removeAttribute('disabled', true)\r\n }\r\n }\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n\r\n changePinStatus(qna: QuestionAndAnswer) {\r\n qna.IsPinned = !qna.IsPinned;\r\n this.dataService.changePinStatus(qna.QuestionId, qna.IsPinned).subscribe((data: boolean) => {\r\n qna.IsPinned = data;\r\n })\r\n }\r\n\r\n refreshQnA() {\r\n this.SpinnerService.show();\r\n this.isLoading = true;\r\n this.page = 1;\r\n this.onChangePage(this.page);\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n this.SpinnerService.hide();\r\n }, 2000);\r\n }\r\n\r\n toggleIcons(id: number) {\r\n if (this.selectedEyeIcon == id) {\r\n this.selectedEyeIcon = null;\r\n }\r\n else {\r\n this.selectedEyeIcon = id;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{filter.Text}}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ qna.SectionName | titlecase }} Question\r\n \r\n \r\n \r\n | {{ qna.SubmittedDateInString }}\r\n | Posted by: {{ qna.IsAnonymous ? 'Anonymous ' : qna.SubmittedBy }}\r\n ({{qna.SubmittedBy}}) \r\n \r\n
\r\n \r\n {{isSelectedEditButtonId == qna.QuestionId ? 'Cancel':'Edit'}}\r\n Cancel\r\n \r\n {{isSelectedEditButtonId == qna.QuestionId ? 'Cancel':'Edit'}}\r\n \r\n \r\n Delete\r\n \r\n
\r\n

\r\n Q: {{qna.Question}}\r\n

\r\n
\r\n \r\n
\r\n
{{validateAnswerMessage}}
\r\n
{{blankSpaceMessage}}
\r\n
\r\n
\r\n

\r\n A: {{qna.Answer}}\r\n

\r\n
\r\n \r\n
\r\n
{{validateAnswerMessage}}
\r\n
{{blankSpaceMessage}}
\r\n
\r\n Answered by
{{qna.AnsweredByUserId}}
| {{qna.AnsweredDateInString}}
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
0\" [innerHTML]=\"searchResults.ResultFoundMessage\">
\r\n
\r\n \r\n
0 && searchResults.TotalMatching > pageSize && !isLoading\" class=\"row justify-content-center\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
0 && !isLoading\" class=\"swapa-top-tocshortcut text-right text-nonselectable\">\r\n ↑ Back To Top \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{isPostedAnswer ? postAnswerMessage : postEditQuestionMessage}}

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Delete Question
\r\n \r\n
\r\n
\r\n

Are you sure you want to delete this question?

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit ,Input} from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'video-modal-popup',\r\n templateUrl: './video-modal-popup.component.html',\r\n styles: []\r\n})\r\nexport class VideoModalPopupComponent implements OnInit {\r\n @Input() videoUrl: string;\r\n safeUrl: SafeResourceUrl;\r\n constructor(public activeModal: NgbActiveModal, private sanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.videoUrl);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, SimpleChanges, Input } from '@angular/core';\r\nimport { GlobalSearchService } from '../Services/global-search.service';\r\nimport { SearchResults, NewsArticles } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { VideoModalPopupComponent } from '../Components/video-modal-popup.component';\r\n\r\n@Component({\r\n selector: 'video-search',\r\n templateUrl: './video-search.component.html',\r\n})\r\nexport class VideoSearchComponent implements OnInit {\r\n @Input() public loadingMessage: string;\r\n\r\n page = 1;\r\n pageSize = 10;\r\n maxPages = 10;\r\n startIndex: number;\r\n endIndex: number;\r\n pager: any = {};\r\n isLoading: boolean = true;\r\n searchQuery: string;\r\n searchTag: string;\r\n isTextSearch: boolean = false;\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n\r\n private _searchResults: SearchResults;\r\n get searchResults(): SearchResults {\r\n return this._searchResults;\r\n }\r\n set searchResults(value: SearchResults) {\r\n this._searchResults = value;\r\n }\r\n constructor(public dataService: GlobalSearchService, private modalService: NgbModal) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.peformSearch();\r\n\r\n this.dataService.getStaticData().subscribe((data: string) => {\r\n this.loadingMessage = data;\r\n })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n searchService(page, searchString) {\r\n this.dataService.getVideoSearchKeywordResults(page, searchString).subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.searchResults = data;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n\r\n window.location.href = \"#topofbody\";\r\n })\r\n }\r\n\r\n peformSearch(): void {\r\n this.isTextSearch = false;\r\n this.isLoading = true;\r\n\r\n this.dataService.getVideoSearchResults(this.page).subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.searchResults = data;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n\r\n window.location.href = \"#topofbody\";\r\n })\r\n\r\n }\r\n\r\n performTextSearch(event) {\r\n this.isTextSearch = true;\r\n this.isLoading = true;\r\n this.page = 1;\r\n\r\n if (this.searchText != null || this.searchText != undefined) {\r\n this.searchService(this.page, this.searchText)\r\n }\r\n }\r\n\r\n onChangePage(pageIndex: any) {\r\n if (this.isTextSearch) {\r\n if (this.searchText != null || this.searchText != undefined) {\r\n this.searchService(this.page, this.searchText)\r\n }\r\n }\r\n else {\r\n this.peformSearch();\r\n }\r\n \r\n }\r\n\r\n setPage(searchResults: SearchResults) {\r\n this.pager = paginate(searchResults.TotalMatching, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n showModalPopup(videoUrl: string) {\r\n const modalRef = this.modalService.open(VideoModalPopupComponent, { size: 'lg', scrollable: true });\r\n modalRef.componentInstance.videoUrl = videoUrl;\r\n }\r\n\r\n}\r\n","

\r\n

0\" [innerHTML]=\"searchResults.ResultFoundMessage\">

\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
0 && searchResults.TotalMatching > pageSize\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ searchResults.TotalMatching }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Please wait...

\r\n
\r\n
\r\n\r\n
0\" class=\"swapa-top-tocshortcut text-right text-nonselectable\">\r\n ↑ Back To Top \r\n
","export interface NewsArticles {\r\n ImagePath: string;\r\n NewsTitle: string;\r\n NewsDate: string;\r\n NewsSummary: string;\r\n NewsBody: string;\r\n Url: string;\r\n VideoUrl: string;\r\n Tags: string[];\r\n ArticleTypeTagText: string;\r\n ArticleTypeTagUrl: string;\r\n Categories: CategoryModel[];\r\n}\r\n\r\nexport interface SearchResults {\r\n Items: t[],\r\n TotalMatching: number,\r\n SearchQuery: string,\r\n SearchTag: string,\r\n PageSize: number,\r\n NoResultMessage: string,\r\n ResultFoundMessage: string,\r\n ContentTypesFilterFacets: FilterFacetItem[],\r\n DateRangeFacets: DateRangeFacetItem[],\r\n AuthorsTermFacets: TermFacetItem[],\r\n CategoriesTermFacets: TermFacetItem[],\r\n SortByOptions: any[],\r\n SortByLabel: string\r\n}\r\n\r\nexport interface FilterFacetItem {\r\n Name: string,\r\n Value: string,\r\n Count: string,\r\n checked: boolean\r\n}\r\n\r\nexport interface DateRangeFacetItem {\r\n StartDate: string,\r\n EndDate: string,\r\n DisplayName: string,\r\n checked: boolean\r\n}\r\n\r\nexport interface TermFacetItem extends FilterFacetItem {\r\n Description: string\r\n}\r\n\r\nexport interface SearchContent {\r\n ImageUrl: string;\r\n Title: string;\r\n Date: string;\r\n Tags: CategoryModel[];\r\n Summary: string;\r\n Url: string;\r\n IsMedia: boolean;\r\n ArticleType: string;\r\n ArticleTypeTagText: string;\r\n AuthorsTags: CategoryModel[];\r\n}\r\n\r\nexport interface SearchStaticContent {\r\n NewsPageTitle: string;\r\n NoResultText: string;\r\n loadingMessage: string;\r\n FilterUrl: string;\r\n PageSize: number;\r\n}\r\n\r\nexport interface EventAlbum {\r\n ImagePath: string,\r\n ImageIndex: number\r\n}\r\n\r\nexport interface FamilyEvents {\r\n Year: string,\r\n Galleries: FamilyEventProperties[],\r\n}\r\n\r\nexport interface FamilyEventProperties {\r\n CoverImage: string,\r\n CityCode: string,\r\n EventDate: string,\r\n EventPageLink: string,\r\n}\r\n\r\nexport interface ValidValue {\r\n Label: string,\r\n Value: string\r\n}\r\nexport interface ReportInputFields {\r\n HidePagination: boolean,\r\n SsrsInputFields: SsrsInputFields[],\r\n ReportName: string\r\n}\r\n\r\nexport interface SsrsInputFields {\r\n IsRequired: boolean,\r\n Name: string,\r\n DisplayName: string,\r\n Type: string,\r\n Selections: ValidValue[],\r\n DefaultValues: string[],\r\n Value: string[],\r\n DefaultValue: string,\r\n IsReadonly: boolean,\r\n CheckboxListDefaultValues: string[]\r\n}\r\n\r\nexport interface SsrsReportJson {\r\n Inputs: SsrsInputFields[],\r\n FileType: string\r\n}\r\n\r\nexport interface HtmlKeyValue {\r\n Key: string,\r\n Value: string\r\n}\r\n\r\nexport interface ContractDetails {\r\n ContractAdminLink: string,\r\n ContractAdminLinkText: string,\r\n PDFDocumentLink: string,\r\n ContractSections: ContractSections[],\r\n Title: string,\r\n SearchTextPlaceholder: string,\r\n}\r\n\r\nexport interface ContractSections {\r\n SectionName: string,\r\n SectionDivId: string,\r\n ContractItems: ContractItems[],\r\n}\r\n\r\nexport interface ContractItems {\r\n ItemTitle: string,\r\n ContractItemBody: ContractItemBody,\r\n ContractItemDivId: string,\r\n ContractItemBodyString: string,\r\n}\r\n\r\nexport interface ContractItemBody {\r\n Fragments: Fragments[];\r\n}\r\n\r\nexport interface Fragments {\r\n InternalFormat: string\r\n}\r\n\r\nexport interface CalendarEvent {\r\n title: string;\r\n type: string;\r\n start: string;\r\n end: string;\r\n backgroundColor: string;\r\n url: string;\r\n}\r\n\r\nexport interface Podcast {\r\n ImagePath: string;\r\n PodcastTitle: string;\r\n PodcastDate: string;\r\n PodcastSummary: string;\r\n PlayerID: string;\r\n PodcastTranscript: string;\r\n Url: string;\r\n Tags: string[];\r\n}\r\n\r\nexport interface CategoryModel {\r\n ID: string,\r\n Name: string,\r\n UrlFriendlyName: string,\r\n Description: string,\r\n GUID: string\r\n}\r\n\r\nexport interface PolicyManualContent {\r\n Heading: string,\r\n ContentTextBody: any,\r\n PdfDocumentLink: string,\r\n BackToTopText: string\r\n}\r\n\r\nexport enum SCREEN_SIZE {\r\n XS,\r\n SM,\r\n MD,\r\n LG,\r\n XL\r\n}\r\n\r\nexport interface SliceShowMore {\r\n start: number,\r\n end: number,\r\n type: string,\r\n linkRefName: any\r\n}\r\n\r\nexport interface ResolutionInputModel {\r\n DateRangeLabel: string,\r\n StartDateLabel: string,\r\n EndDateLabel: string,\r\n KeywordLabel: string,\r\n IdLabel: string,\r\n StatusLabel: string,\r\n NoResolutionsMessage: string,\r\n ValidationMessage: string\r\n ResolutionStatuses: ResolutionStatus[],\r\n StartDate: string,\r\n EndDate: string,\r\n Keyword: string,\r\n Id: string,\r\n PageSize: number\r\n}\r\n\r\n\r\nexport interface ResolutionStatus {\r\n Id: string,\r\n Status: string,\r\n Description: string\r\n}\r\n\r\nexport interface ResolutionsViewResults {\r\n ResodbId: string,\r\n Title: string,\r\n PDFLink: string,\r\n Status: string,\r\n ClosedDate: Date,\r\n ResolutionNo: string,\r\n AttachmentCount: number\r\n}\r\n\r\nexport interface TTGAPairingGridResults {\r\n ID: string,\r\n Title: string,\r\n TTGAType: string,\r\n Domicile: string,\r\n Seat: string,\r\n From: Date,\r\n To: Date,\r\n Status: string,\r\n}\r\n\r\nexport interface NetZeroPreferencesGridResults {\r\n ID: string,\r\n Title: string,\r\n Date: string,\r\n Domicile: string,\r\n Seat: string,\r\n NetZero: string,\r\n Status: string,\r\n}\r\n\r\nexport interface SelectListItem {\r\n Disabled : boolean,\r\n Selected: boolean,\r\n Text : string,\r\n Value : string\r\n}\r\n\r\nexport interface QnASearchResultViewModel {\r\n Items: t[],\r\n Filters: SelectListItem[]\r\n TotalMatching: number,\r\n SearchQuery: string,\r\n SearchTag: string,\r\n PageSize: number,\r\n NoResultMessage: string,\r\n ResultFoundMessage: string,\r\n Sections: SelectListItem[]\r\n}\r\n\r\nexport interface QuestionAndAnswer {\r\n Likes: number,\r\n Answer: string,\r\n AnsweredByUserId: string,\r\n AnsweredDate: Date,\r\n QuestionId: string,\r\n PageId: number,\r\n SectionName:string,\r\n Question: string,\r\n SubmittedBy: string,\r\n SubmittedDate: Date,\r\n Tags: string,\r\n Status: string,\r\n NoOfLikes: number,\r\n NoOfDislike: number,\r\n SubmittedByUserId: string,\r\n SubmittedDateInString: string,\r\n AnsweredDateInString: string,\r\n Action?: string,\r\n IsPinned?: boolean,\r\n IsAnonymous: boolean\r\n}\r\n\r\nexport interface TocTabPageQnAViewAllBlockModel {\r\n CurrentPageId: number,\r\n PageSize: number,\r\n NoResultText: string,\r\n GetQnAFor: string\r\n}\r\n\r\nexport interface DTCPreferencesGridResults {\r\n ID: string,\r\n Title: string,\r\n DTCDate: string,\r\n Domicile: string,\r\n Seat: string,\r\n DTCValue: string,\r\n Status: string,\r\n}","\r\nexport function paginate(\r\n totalItems: number,\r\n currentPage: number = 1,\r\n pageSize: number = 10,\r\n maxPages: number = 10,\r\n range: number = 3\r\n) {\r\n // calculate total pages\r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n\r\n // ensure current page isn't out of range\r\n if (currentPage < 1) {\r\n currentPage = 1;\r\n } else if (currentPage > totalPages) {\r\n currentPage = totalPages;\r\n }\r\n\r\n let startPage: number, endPage: number;\r\n if (totalPages <= maxPages) {\r\n // total pages less than max so show all pages\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // total pages more than max so calculate start and end pages\r\n let maxPagesBeforeCurrentPage = Math.floor(maxPages / 2);\r\n let maxPagesAfterCurrentPage = Math.ceil(maxPages / 2) - 1;\r\n if (currentPage <= maxPagesBeforeCurrentPage) {\r\n // current page near the start\r\n startPage = 1;\r\n endPage = maxPages;\r\n } else if (currentPage + maxPagesAfterCurrentPage >= totalPages) {\r\n // current page near the end\r\n startPage = totalPages - maxPages + 1;\r\n endPage = totalPages;\r\n } else {\r\n // current page somewhere in the middle\r\n startPage = currentPage - maxPagesBeforeCurrentPage;\r\n endPage = currentPage + maxPagesAfterCurrentPage;\r\n }\r\n }\r\n\r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n} \r\n","/*SsrsComponent */\r\n\r\nexport const textBox: string = \"TextBox\";\r\nexport const datePicker: string = \"CalenderSelect\";\r\nexport const select: string = \"DropDown\";\r\nexport const checkboxList: string = \"CheckBoxList\";\r\n\r\nexport const pdfReportType: string = \"pdf\";\r\nexport const htmlReportType: string = \"html\";\r\nexport const csvReportType: string = \"csv\";\r\nexport const xmlReportType: string = \"xml\";\r\nexport const excelReportType: string = \"xlsx\"\r\n\r\nexport const ssrsReportLoadingMessage: string = \"Please wait while report is loading..\";\r\nexport const ssrsRequiredFieldButtonMessage: string = \"indicates a required field\";\r\nexport const ssrsRequiredFieldMessage: string = \"Input required\";\r\nexport const ssrsReportName: string = \"Reports\";\r\nexport const dateRangeErrorMessage: string = \"From date should not be greater than To Date\";\r\n\r\nexport const showMore: string = \"Show More\";\r\nexport const showLess: string = \"Show Less\";\r\nexport const showAll: string = \"Show All\";\r\n\r\n/*Resolution Template*/\r\nexport const domLayout: string = \"autoHeight\";\r\nexport const noRowsTemplate: string = \"No results found.\";\r\nexport const loadingTemplate: string = \"data is loading...\";\r\n\r\n/*tabbed toc view all Qna answers page*/\r\nexport const unpublishQnA: string = \"Unpublish Question and Answer\";\r\nexport const publishAnswer: string = \"Publish Answer\";\r\nexport const answerQuestion: string = \"Answer Question\";\r\nexport const updateQnA: string = \"Update\";\r\nexport const deleteQuestion: string = \"Delete Question\";\r\nexport const editQuestion: string = \"Edit Question\";\r\nexport const submitQuestion: string = \"Submit Question\";\r\nexport const updateQuestion: string = \"Update\";\r\n\r\nexport const statusAnswered: string = \"Answered\";\r\nexport const statusSubmitted: string = \"Submitted\";\r\nexport const statusUnpublish: string = \"Unpublish\";\r\n\r\nexport const buttonViewUnansweredQ: string = \"View Unanswered Questions\";\r\nexport const buttonViewAnsweredQ: string = \"View Answered Questions\";\r\n\r\nexport const Action_InsertAnswer: string = \"InsertAnswer\";\r\nexport const Action_UpdateQnA: string = \"UpdateQnA\";\r\nexport const Action_EditQuestion: string = \"EditQuestion\";\r\nexport const Action_DeleteQuestion: string = \"DeleteQuestion\";\r\nexport const Action_UnpublishOrReject: string = \"UnpublishOrReject\";\r\nexport const requiredAnswerMessage: string = \"Please enter answer.\";\r\nexport const blankSpaceMessage: string = \"Blank spaces are not allowed.\";\r\n\r\n\r\n\r\n\r\ndeclare var ReadAngularLogs;\r\n\r\nexport function AddLogs(message: string) {\r\n var IsEnableLogs = ReadAngularLogs();\r\n if (IsEnableLogs.toLowerCase() == 'true') {\r\n console.log(message);\r\n }\r\n}\r\n","import { Directive, Output, EventEmitter, ElementRef } from '@angular/core';\r\nimport * as $ from 'jquery';\r\nimport 'bootstrap-datepicker';\r\n@Directive({\r\n selector: '[datepicker]'\r\n})\r\nexport class DatepickerDirective {\r\n\r\n @Output()\r\n change: EventEmitter = new EventEmitter();\r\n\r\n changedDate: string;\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n const that = this;\r\n ($(this.elementRef.nativeElement)).datepicker({\r\n autoclose: true,\r\n orientation: \"bottom auto\",\r\n }\r\n ).on('changeDate', function (e) {\r\n that.change.emit(e);\r\n });\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'keepHtml', pure: false })\r\nexport class EscapeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(content) {\r\n return this.sanitizer.bypassSecurityTrustHtml(content);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\n\r\n@Pipe({\r\n name: 'listviewContent',\r\n\r\n})\r\nexport class ListViewContentPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer, private dataService: ContractSearchService) { }\r\n\r\n\r\n transform(value: any, args: any, filterMetadata: any, index: any, initialLoad: boolean): any {\r\n\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n if (!args || /[<>{}]/.test(args)) {\r\n return value;\r\n }\r\n\r\n if (args != undefined && args.length < 3) {\r\n index.count = 0;\r\n this.dataService.setCurrentPosition(index.count);\r\n return value;\r\n }\r\n\r\n //value = value.replace(/<[^>]*>/g, '');\r\n // Match in a case insensitive maneer\r\n const re = new RegExp(`(?![^<>]*>)${args}`, 'gi');\r\n const match = value.changingThisBreaksApplicationSecurity.match(re);\r\n\r\n // If there's no match, just return the original value.\r\n if (!match) {\r\n if (!initialLoad) {\r\n return value;\r\n }\r\n else {\r\n this.dataService.setCurrentPosition(index.count);\r\n this.dataService.setTotalSearchCount(filterMetadata.count);\r\n return value;\r\n }\r\n }\r\n\r\n if (match.length > 0) {\r\n if (initialLoad) {\r\n var searchResult;\r\n //search the text when text entered in search bar\r\n this.dataService.setCurrentPosition(index.count);\r\n filterMetadata.count > 0 ? searchResult = activeHighlight(value, re, null) : searchResult = activeHighlight(value, re, index.count);\r\n filterMetadata.count += match.length;\r\n this.dataService.setTotalSearchCount(filterMetadata.count);/// send total count of highlights to the service.\r\n index.count = index.count + 1;\r\n this.dataService.setCurrentPosition(index.count);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchResult);\r\n }\r\n else {\r\n // change the activation based on next and previous button\r\n if (index.count != undefined) {\r\n var activePos = index.count;\r\n const searchResult = activeHighlight(value, re, activePos - 1);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchResult);\r\n }\r\n else {\r\n var activePosition = index;\r\n\r\n if (activePosition != undefined) {\r\n const searchHighlightResult = activeHighlight(value, re, activePosition);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchHighlightResult);\r\n }\r\n else {\r\n const searchResults = activeHighlight(value, re, null);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchResults);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n function activeHighlight(val, reVal, active) {\r\n var position = 0;\r\n const result = val.changingThisBreaksApplicationSecurity.replace(reVal, function (param) {\r\n if (position == active) {\r\n position++;\r\n return \"\" + param + \"\"\r\n }\r\n else {\r\n position++;\r\n return \"\" + param + \"\"\r\n }\r\n });\r\n return result;\r\n }\r\n }\r\n}\r\n","import { ElementRef, Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer } from '@angular/platform-browser'\r\nimport * as _ from \"lodash\";\r\nimport { ContractSearchService } from '../Services/contract-search.service';\r\n\r\n@Pipe({\r\n name: 'searchContract',\r\n\r\n})\r\nexport class SearchContractPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer, private dataService: ContractSearchService) { }\r\n\r\n\r\n transform(value: any, args: any, sectionCount: any, MatchDetails: any, filterMetadata: any, index: any, initialLoad: boolean, elementRef: any): any {\r\n\r\n if (!args) {\r\n return value;\r\n }\r\n\r\n if (!args || /[<>{}]/.test(args)) {\r\n return value;\r\n }\r\n\r\n if (args != undefined && args.length < 3) {\r\n index.count = 0;\r\n this.dataService.setCurrentPosition(index.count);\r\n return value;\r\n }\r\n\r\n let parentElement = elementRef.parentElement;\r\n while (parentElement) {\r\n if (parentElement.hidden) {\r\n return value;\r\n }\r\n parentElement = parentElement.parentElement;\r\n }\r\n\r\n //value = value.replace(/<[^>]*>/g, '');\r\n // Match in a case insensitive maneer\r\n var match = '';\r\n const re = new RegExp(`(?![^<>]*>)${args}`, 'gi');\r\n if (value.changingThisBreaksApplicationSecurity != undefined) {\r\n match = value.changingThisBreaksApplicationSecurity.match(re);\r\n }\r\n else {\r\n match = value.match(re);\r\n }\r\n\r\n // If there's no match, just return the original value.\r\n if (!match) {\r\n if (!initialLoad) {\r\n return value;\r\n }\r\n else {\r\n this.dataService.setCurrentPosition(index.count);\r\n this.dataService.setTotalSearchCount(filterMetadata.count);\r\n return value;\r\n }\r\n }\r\n\r\n if (match.length > 0) {\r\n\r\n if (initialLoad) {\r\n //search the text when text entered in search bar\r\n var Section =\r\n {\r\n Id: sectionCount.count,\r\n Value: value,\r\n TotalHighlight: _totalhighlight\r\n }\r\n var _totalhighlight = [];\r\n var highlightSect = { key: 0, highlight: 0 };\r\n\r\n var searchResult;\r\n index.count = 0;\r\n this.dataService.setCurrentPosition(index.count);\r\n for (var i = 0; i < match.length; i++) {\r\n\r\n if (Section.Id > 0) {\r\n var totalcount = filterMetadata.count;\r\n let newHighlight = _.cloneDeep(highlightSect);\r\n newHighlight.key = i;\r\n newHighlight.highlight = totalcount + i;\r\n _totalhighlight.push(newHighlight);\r\n }\r\n else {\r\n let newHighlight = _.cloneDeep(highlightSect);\r\n newHighlight.key = i;\r\n newHighlight.highlight = i;\r\n _totalhighlight.push(newHighlight);\r\n }\r\n }\r\n\r\n filterMetadata.count > 0 ? searchResult = activeHighlight(value, re, null) : searchResult = activeHighlight(value, re, index.count);\r\n filterMetadata.count += match.length;\r\n this.dataService.setTotalSearchCount(filterMetadata.count);/// send total count of highlights to the service.\r\n if (filterMetadata.count != 0) {// send section expand value to the service.\r\n this.dataService.setExpandValue(true);\r\n }\r\n\r\n Section.Id = sectionCount.count;\r\n Section.Value = value;\r\n Section.TotalHighlight = _totalhighlight;\r\n MatchDetails.push(Section);\r\n\r\n sectionCount.count = sectionCount.count + 1;\r\n index.count = index.count + 1;\r\n this.dataService.setCurrentPosition(index.count);\r\n //remove the object values\r\n _totalhighlight = [];\r\n\r\n return this.sanitizer.bypassSecurityTrustHtml(searchResult);\r\n }\r\n else {\r\n // change the activation based on next and previous button\r\n var activePosition;\r\n var formartValue;\r\n for (var sec = 0; sec < MatchDetails.length; sec++) {\r\n for (var item = 0; item < MatchDetails[sec].TotalHighlight.length; item++) {\r\n if (sec == sectionCount.count) {\r\n if ((index.count - 1) == MatchDetails[sec].TotalHighlight[item][\"highlight\"]) {\r\n activePosition = MatchDetails[sec].TotalHighlight[item][\"key\"];\r\n formartValue = MatchDetails[sec].Value;\r\n }\r\n }\r\n }\r\n }\r\n if (activePosition != undefined) {\r\n if (value.changingThisBreaksApplicationSecurity !== undefined && formartValue.changingThisBreaksApplicationSecurity !== undefined) {\r\n value = value.changingThisBreaksApplicationSecurity;\r\n formartValue = formartValue.changingThisBreaksApplicationSecurity;\r\n }\r\n if (value == formartValue) {\r\n const searchActiveResult = activeHighlight(value, re, activePosition);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchActiveResult);\r\n }\r\n else {\r\n const searchHighlightResult = activeHighlight(value, re, null);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchHighlightResult);\r\n }\r\n }\r\n else {\r\n const searchResult = activeHighlight(value, re, null);\r\n return this.sanitizer.bypassSecurityTrustHtml(searchResult);\r\n }\r\n }\r\n }\r\n\r\n function activeHighlight(val, reVal, active) {\r\n var position = 0;\r\n var value = val.changingThisBreaksApplicationSecurity !== undefined ? val.changingThisBreaksApplicationSecurity : val;\r\n const result = value.replace(reVal, function (param){\r\n if (position == active) { \r\n position++;\r\n return \"\" + param + \"\"\r\n }\r\n else {\r\n position++;\r\n return \"\" + param + \"\"\r\n }\r\n });\r\n return result;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, BehaviorSubject } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { PolicyManualContent, ContractDetails } from '../Models/common.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContractSearchService {\r\n private apiURL = window.location.href;\r\n\r\n private searchString = new BehaviorSubject(null);\r\n getSearchstring$ = this.searchString.asObservable();\r\n\r\n modifyString(searchText: string): void {\r\n this.searchString.next(searchText);\r\n }\r\n\r\n private findPosition = new BehaviorSubject(null);\r\n getPosition$ = this.findPosition.asObservable();\r\n\r\n setPosition(position: number): void {\r\n this.findPosition.next(position);\r\n }\r\n\r\n private totalSearchCount = new BehaviorSubject(null);\r\n getTotalSearchCount$ = this.totalSearchCount.asObservable();\r\n\r\n setTotalSearchCount(count: number): void {\r\n this.totalSearchCount.next(count);\r\n }\r\n\r\n private currentPosition = new BehaviorSubject(null);\r\n getCurrentPosition$ = this.currentPosition.asObservable();\r\n\r\n setCurrentPosition(count: number): void {\r\n this.currentPosition.next(count);\r\n }\r\n\r\n private expandSection = new BehaviorSubject(null);\r\n getExpandValue$ = this.expandSection.asObservable();\r\n\r\n setExpandValue(value: boolean): void {\r\n this.expandSection.next(value);\r\n }\r\n\r\n private contractAdminLink = new BehaviorSubject(null);\r\n getContractAdminLink$ = this.contractAdminLink.asObservable();\r\n\r\n setContractAdminLink(value: string): void {\r\n this.contractAdminLink.next(value);\r\n }\r\n\r\n private contractAdminLinkText = new BehaviorSubject(null);\r\n getContractAdminLinkText$ = this.contractAdminLinkText.asObservable();\r\n\r\n setContractAdminLinkText(value: string): void {\r\n this.contractAdminLinkText.next(value);\r\n }\r\n\r\n private searchTextPlaceholder = new BehaviorSubject(null);\r\n getSearchTextPlaceholder$ = this.searchTextPlaceholder.asObservable();\r\n\r\n setSearchTextPlaceholder(value: string): void {\r\n this.searchTextPlaceholder.next(value);\r\n }\r\n\r\n private toggleEvent = new BehaviorSubject(null);\r\n getToggleEvent$ = this.toggleEvent.asObservable();\r\n\r\n setToggleEvent(value: any): void {\r\n this.toggleEvent.next(value);\r\n }\r\n\r\n private qstringSectId = new BehaviorSubject(null);\r\n getQstringSectId$ = this.qstringSectId.asObservable();\r\n\r\n setQstringSectId(value: any): void {\r\n this.qstringSectId.next(value);\r\n }\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getContractDetails(): Observable{\r\n var backToTopstring = this.apiURL.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.apiURL = this.apiURL.substring(0, backToTopstring);\r\n }\r\n var queryString = this.apiURL.indexOf('?');\r\n if (queryString != -1) {\r\n this.setQstringSectId(this.apiURL.substring(this.apiURL.indexOf('=') + 1, this.apiURL.length))\r\n this.apiURL = this.apiURL = this.apiURL.substring(0, queryString);\r\n }\r\n return this.http.get(this.apiURL + '/GetContractJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getPolicyManualContent(): Observable {\r\n var backToTopstring = this.apiURL.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.apiURL = this.apiURL.substring(0, backToTopstring);\r\n }\r\n return this.http.get(this.apiURL + '/GetSearchContenInJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\n\r\nimport { CalendarEvent } from '../Models/common.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EventCalendarService {\r\n private apiURL = window.location.href;\r\n\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n getEvents(): Observable {\r\n return this.http.get(this.apiURL + '/GetEventsJson/') \r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError, map, delay } from 'rxjs/operators';\r\n\r\nimport { FamilyEvents, EventAlbum } from '../Models/common.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FamilyeventGallaryService {\r\n private apiURL = window.location.href;// window.location.href;\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n \r\n loadPostScrollImages(pageNumber: number): Observable {\r\n return this.http.get(this.apiURL + '&pagesize=12&pagenumber=' + pageNumber)\r\n .pipe(\r\n (delay(0)),///delay of number of seconds to load the next set of images on scroll. \r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getFamilyEventsbyYear(): Observable {\r\n return this.http.get(`${this.apiURL}/GetEvents`)\r\n .pipe(\r\n (delay(0)),\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, Subject } from 'rxjs';\r\nimport { retry, catchError, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nimport { SearchResults, SearchContent, NewsArticles, SCREEN_SIZE } from '../Models/common.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class GlobalSearchService {\r\n private apiURL = window.location.href.split('?')[0];\r\n private queryParams = (window.location.href.split('?').length > 1) ? window.location.href.split('?')[1] : \"\";\r\n\r\n get onResize$(): Observable {\r\n return this.resizeSubject.asObservable().pipe(distinctUntilChanged());\r\n }\r\n\r\n private resizeSubject: Subject;\r\n\r\n onResize(size: SCREEN_SIZE) {\r\n this.resizeSubject.next(size);\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n this.resizeSubject = new Subject();\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n\r\n getStaticData(): Observable {\r\n return this.http.get(this.apiURL + '/GetStaticDataJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getSearchResults(p, sortOrder): Observable> {\r\n var backToTopstring = this.queryParams.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.queryParams = this.queryParams.substring(0, backToTopstring);\r\n }\r\n return this.http.get>(this.apiURL + '/GetSearchResults/?p=' + p + \"&\" + this.queryParams + \"&sortorder=\" + sortOrder)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getSearchResultFacet(p, filters, sortOrder): Observable> {\r\n var backToTopstring = this.queryParams.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.queryParams = this.queryParams.substring(0, backToTopstring);\r\n }\r\n var url = this.apiURL + '/GetSearchResults/?p=' + p + \"&\" + this.queryParams + \"&filters=\" + JSON.stringify(filters) + \"&sortorder=\" + sortOrder;\r\n \r\n return this.http.get>(url)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getVideoSearchResults(p): Observable> {\r\n return this.http.get>(this.apiURL + '/GetSearchResults/?p=' + p + \"&\" + this.queryParams)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getVideoSearchKeywordResults(p, searchKeyword): Observable> {\r\n return this.http.get>(this.apiURL + '/GetSearchResults/?p=' + p + \"&\" + \"q=\" + searchKeyword)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError, map, delay } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QnaReportDownloadService {\r\n private apiURL = window.location.href;\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n\r\n getAvailableReportsTimeFrames(): Observable {\r\n return this.http.get(`${this.apiURL}GetAvailableReportTimeframes`).pipe(\r\n (delay(0)),\r\n retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n downloadReports(timeFrame): Observable {\r\n return this.http.get(`${this.apiURL}DownloadReport?timeFrame=${timeFrame}`, { responseType: 'arraybuffer' });\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, Subject } from 'rxjs';\r\nimport { retry, catchError, distinctUntilChanged, tap } from 'rxjs/operators';\r\nimport { QnASearchResultViewModel, QuestionAndAnswer, SCREEN_SIZE } from '../Models/common.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QnASearchService {\r\n\r\n private apiURL = window.location.origin;\r\n\r\n get onResize$(): Observable {\r\n return this.resizeSubject.asObservable().pipe(distinctUntilChanged());\r\n }\r\n\r\n private resizeSubject: Subject;\r\n\r\n onResize(size: SCREEN_SIZE) {\r\n this.resizeSubject.next(size);\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n this.resizeSubject = new Subject();\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n }\r\n\r\n headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n });\r\n\r\n private _refreshQnA$ = new Subject();\r\n get refreshQnA() {\r\n return this._refreshQnA$;\r\n }\r\n\r\n getSearchResults(currentPageId, page, pagesize, keywords, filter, statuses, GetQnAFor): Observable> {\r\n\r\n var queryParameters = \"\";\r\n if (currentPageId != null)\r\n queryParameters += 'currentPageId=' + currentPageId + '&';\r\n if (page != null)\r\n queryParameters += 'page=' + page + '&';\r\n if (pagesize != null)\r\n queryParameters += 'pageSize=' + pagesize + '&';\r\n if (keywords != null)\r\n queryParameters += 'searchKeyword=' + keywords + '&';\r\n if (filter != null)\r\n queryParameters += 'filteredBy=' + filter + '&';\r\n if (statuses != null)\r\n queryParameters += 'statuses=' + statuses.join(',') + '&';\r\n if (GetQnAFor != null)\r\n queryParameters += 'GetQnAFor=' + GetQnAFor + '&';\r\n\r\n queryParameters = queryParameters.slice(0, -1);\r\n \r\n return this.http.get>(this.apiURL + '/TocTabPageQnAViewAllBlock/SearchQuestions/?' + queryParameters)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n postAnswers(qna): Observable {\r\n return this.http.post(this.apiURL + '/TocTabPageQnAViewAllBlock/PostAnswers/', JSON.stringify(qna), this.httpOptions)\r\n .pipe(\r\n tap(() => {\r\n this._refreshQnA$.next();\r\n }),\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n editQuestion(qna: any): Observable {\r\n return this.http.post(this.apiURL + '/TocTabPageQnAViewAllBlock/EditQuestion/', JSON.stringify(qna), this.httpOptions)\r\n .pipe(\r\n tap(() => {\r\n this._refreshQnA$.next();\r\n }),\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n deleteQuestion(qna): Observable {\r\n return this.http.get(this.apiURL + '/TocTabPageQnAViewAllBlock/DeleteQuestion/?' + 'questionId='+qna)\r\n .pipe(\r\n tap(() => {\r\n this._refreshQnA$.next();\r\n }),\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n changePinStatus(questionId, pinStatus): Observable {\r\n return this.http.get(this.apiURL + '/TocTabPageQnAViewAllBlock/UpdatePinStatus/?' + 'questionId=' + questionId + '&' + 'pinStatus=' + pinStatus)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, retry, catchError } from 'rxjs/operators';\r\n\r\nimport { SCREEN_SIZE, ResolutionsViewResults } from '../Models/common.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ResolutionViewService {\r\n private apiURL = window.location.href.split('?')[0];\r\n private queryParams = (window.location.href.split('?').length > 1) ? window.location.href.split('?')[1] : \"\";\r\n private resolutionApi = window.location.origin;\r\n\r\n get onResize$(): Observable {\r\n return this.resizeSubject.asObservable().pipe(distinctUntilChanged());\r\n }\r\n\r\n private resizeSubject: Subject;\r\n\r\n onResize(size: SCREEN_SIZE) {\r\n this.resizeSubject.next(size);\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n this.resizeSubject = new Subject();\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n\r\n getResolutionGridDetails(keyword, statuses, startDate, endDate, id): Observable {\r\n var queryParameters = \"\";\r\n if (keyword != null)\r\n queryParameters += 'keyword=' + keyword + '&';\r\n if (statuses != null)\r\n queryParameters += 'statuses=' + statuses + '&';\r\n if (startDate != null)\r\n queryParameters += 'startdate=' + startDate + '&';\r\n if (endDate != null)\r\n queryParameters += 'enddate=' + endDate + '&';\r\n if (id != null)\r\n queryParameters += 'resolutionId=' + id + '&';\r\n queryParameters = queryParameters.substr(0, queryParameters.length - 1);\r\n var url = this.resolutionApi + '/Api/SwapaApi/GetClosedResolutions?' + queryParameters;\r\n return this.http.get(this.resolutionApi + '/Api/SwapaApi/GetClosedResolutions?' + queryParameters)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\n\r\nimport { NewsArticles, Podcast, SearchStaticContent, SearchResults } from '../Models/common.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SearchFilterService {\r\n private apiURL = window.location.href;\r\n\r\n constructor(private http: HttpClient) {\r\n \r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n getNewsArticles(): Observable {\r\n var backToTopstring = this.apiURL.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.apiURL = this.apiURL.substring(0, backToTopstring);\r\n }\r\n return this.http.get(this.apiURL + '/GetPagesJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getInternalNewsArticles(p, searchKeyword): Observable> {\r\n var backToTopstring = this.apiURL.indexOf('#');\r\n if (backToTopstring != -1) {\r\n this.apiURL = this.apiURL.substring(0, backToTopstring);\r\n }\r\n return this.http.get>(this.apiURL + '/GetSearchResults/?p=' + p + \"&\" + \"q=\" + searchKeyword) \r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getfilterby(): Observable {\r\n return this.http.get(this.apiURL + '/GetFiltersJson/') \r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getPagetitleErrormsg(): Observable {\r\n return this.http.get(this.apiURL + '/GetStaticDataJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n \r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n\r\n getPodcasts(): Observable {\r\n return this.http.get(this.apiURL + '/GetPagesJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport * as Global from \"../Models/constants\";\r\nimport { SsrsReportJson, SsrsInputFields, HtmlKeyValue, ReportInputFields } from '../Models/common.model'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ssrsReportsService {\r\n private apiURL = window.location.href;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n }\r\n\r\n headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n });\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n getInputFields(): Observable {\r\n Global.AddLogs(\"SSRS Reports getInputFields service method and APi Url:\" + this.apiURL);\r\n return this.http.get(this.apiURL + 'GetInputFieldsJson/')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n getSsrsReport(SsrsReport: SsrsReportJson): Observable {\r\n Global.AddLogs(\"getSSRS Reports getSsrsReport service method and parameter:\" + SsrsReport);\r\n return this.http.post(this.apiURL + 'GetHtmlResultJson/', JSON.stringify(SsrsReport), this.httpOptions)\r\n .pipe(\r\n\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n downloadSsrsReport(SsrsReport: SsrsReportJson): Observable {\r\n Global.AddLogs(\"downloadSsrsReport downloadSsrsReport service method and parameter:\" + SsrsReport);\r\n return this.http.post(this.apiURL + 'DoFileDownload/', JSON.stringify(SsrsReport), { headers: this.headers, responseType: 'blob' as 'json' })\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError, Subject } from 'rxjs';\r\nimport { distinctUntilChanged, retry, catchError } from 'rxjs/operators';\r\nimport { SCREEN_SIZE, TTGAPairingGridResults } from '../Models/common.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TtgaPairingService {\r\n private apiURL = window.location.href.split('?')[0];\r\n private queryParams = (window.location.href.split('?').length > 1) ? window.location.href.split('?')[1] : \"\";\r\n private api = window.location.origin;\r\n\r\n get onResize$(): Observable {\r\n return this.resizeSubject.asObservable().pipe(distinctUntilChanged());\r\n }\r\n\r\n private resizeSubject: Subject;\r\n\r\n onResize(size: SCREEN_SIZE) {\r\n this.resizeSubject.next(size);\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n this.resizeSubject = new Subject();\r\n }\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n }\r\n\r\n getTTGAPairingDetails(): Observable {\r\n return this.http.get(this.api + '/Api/SwapaApi/GetTTGAGridDetails?dom=test')\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n )\r\n }\r\n\r\n\r\n deleteDTCMultiplePreferences(ids: number[]): Observable {\r\n const url = `${this.api}/LineTunerDTCPreferencesBlock/DeleteMultipleDTCPreferences`;\r\n return this.http.post(url, { ids }, this.httpOptions)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteNetZeroMultiplePreferences(ids: number[]): Observable {\r\n const url = `${this.api}/LineTunerNetZeroPreferencesBlock/DeleteMultipleNetZeroPreferences`;\r\n return this.http.post(url, { ids }, this.httpOptions)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteTTGAMultiplePreferences(ids: number[]): Observable {\r\n const url = `${this.api}/LineTunerTTGAPairingBlock/DeleteMultiplePreferences`;\r\n return this.http.post(url, { ids }, this.httpOptions)\r\n .pipe(\r\n retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n handleError(error) {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'firstEpiApp';\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n Welcome\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {{ title }} app is running!\r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n

Resources

\r\n

Here are some links to help you get started:

\r\n\r\n \r\n\r\n \r\n

Next Steps

\r\n

What do you want to do next with your app?

\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n New Component\r\n
\r\n\r\n
\r\n \r\n\r\n Angular Material\r\n
\r\n\r\n
\r\n \r\n\r\n Add PWA Support\r\n
\r\n\r\n
\r\n \r\n\r\n Add Dependency\r\n
\r\n\r\n
\r\n \r\n\r\n Run and Watch Tests\r\n
\r\n\r\n
\r\n \r\n\r\n Build for Production\r\n
\r\n
\r\n\r\n \r\n
\r\n
ng generate component xyz
\r\n
ng add @angular/material
\r\n
ng add @angular/pwa
\r\n
ng add _____
\r\n
ng test
\r\n
ng build --prod
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, ComponentFactoryResolver, ApplicationRef, Type } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n//import full calendar and plugin\r\nimport { FullCalendarModule } from '@fullcalendar/angular';\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport listPlugin from '@fullcalendar/list';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { SearchComponent } from './Components/search.component';\r\nimport { SearchFilterService } from './Services/search-filter.service'\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FamilyeventAlbumComponent } from './Components/familyevent-album.component';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { FamilyEventComponent } from './Components/family-event.component';\r\nimport { NoopAnimationsModule, BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SsrsReportComponent } from './Components/ssrs-reports.component';\r\nimport { ssrsReportsService } from './Services/ssrs-reports.service';\r\nimport { EscapeHtmlPipe } from './Models/keep-html.pipe';\r\nimport { SearchContractComponent } from './Components/search-contract.component';\r\nimport { SearchContractPipe } from './Models/search-contract.pipe';\r\nimport { ContractSearchService } from './Services/contract-search.service';\r\nimport { ResolutionViewService } from './Services/resolution-view.service';\r\nimport { FamilyeventGallaryService } from './Services/familyevent-gallary.service';\r\nimport { ArticlesListComponent } from './Components/articles-list.component';\r\nimport { SearchContractHeaderComponent } from './Components/search-contract-header.component';\r\nimport { EventCalendarComponent } from './Components/event-calendar.component';\r\nimport { PodcastListComponent } from './Components/podcast-list.component';\r\nimport { PodcastModalComponent } from './Components/podcast-modal.component';\r\nimport { GlobalSearchComponent } from './Components/global-search.component';\r\nimport { GlobalSearchService } from './Services/global-search.service';\r\nimport { PolicyManualContentComponent } from './Components/policy-manual-content.component';\r\nimport { ListViewContentPipe } from './Models/listview-content.pipe';\r\nimport { PolicyManualHeaderComponent } from './Components/policy-manual-header.component';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { VideoSearchComponent } from './Components/video-search.component';\r\nimport { VideoModalPopupComponent } from './Components/video-modal-popup.component';\r\nimport { InternalarticleSearchComponent } from './components/internalarticle-search.component';\r\nimport { ResolutionViewComponent } from './components/resolution-view.component';\r\nimport { TtgaPairingComponent } from './components/ttga-pairing.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { TtgaPairingService } from './Services/ttga-pairing.service';\r\nimport { QnASearchService } from './Services/qna-search.service';\r\nimport { TocTabPageQnAViewAllComponent } from './components/toctabpage-qna-viewall.component';\r\nimport { NetZeroPreferencesComponent } from './components/netzero-preferences.component';\r\nimport { TocTabPageQnAViewAllAnswersComponent } from './Components/toctabpage-qna-viewall-answers.component';\r\nimport { DTCPreferencesComponent } from './components/dtc-preferences.component';\r\nimport { DatepickerDirective } from './Models/datepicker.directive';\r\nimport { QnaReportDownloadComponent } from './Components/qna-report-download.component';\r\nimport { QnaReportDownloadService } from './Services/qna-report-download.service';\r\n// register FullCalendar plugins\r\nFullCalendarModule.registerPlugins([\r\n dayGridPlugin, listPlugin\r\n]);\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n SearchComponent,\r\n FamilyeventAlbumComponent,\r\n FamilyEventComponent,\r\n ArticlesListComponent,\r\n SsrsReportComponent,\r\n EscapeHtmlPipe,\r\n SearchContractComponent,\r\n SearchContractPipe,\r\n SearchContractHeaderComponent,\r\n EventCalendarComponent,\r\n PodcastListComponent,\r\n PodcastModalComponent,\r\n GlobalSearchComponent,\r\n PolicyManualContentComponent,\r\n ListViewContentPipe,\r\n PolicyManualHeaderComponent,\r\n VideoSearchComponent,\r\n VideoModalPopupComponent,\r\n InternalarticleSearchComponent,\r\n ResolutionViewComponent,\r\n TtgaPairingComponent,\r\n TocTabPageQnAViewAllComponent,\r\n NetZeroPreferencesComponent,\r\n TocTabPageQnAViewAllAnswersComponent,\r\n DTCPreferencesComponent,\r\n DatepickerDirective,\r\n QnaReportDownloadComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule,\r\n NgbModule,\r\n InfiniteScrollModule,\r\n NgxSpinnerModule,\r\n NoopAnimationsModule,\r\n BrowserAnimationsModule,\r\n ReactiveFormsModule,\r\n FullCalendarModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n AgGridModule.withComponents([QnaReportDownloadComponent])\r\n ],\r\n entryComponents: [SearchComponent, FamilyeventAlbumComponent, FamilyEventComponent, SsrsReportComponent, SearchContractComponent, ArticlesListComponent, SearchContractHeaderComponent, EventCalendarComponent, PodcastListComponent, PodcastModalComponent, GlobalSearchComponent, PolicyManualContentComponent, PolicyManualHeaderComponent, VideoSearchComponent, VideoModalPopupComponent, InternalarticleSearchComponent, ResolutionViewComponent, TtgaPairingComponent, TocTabPageQnAViewAllComponent, NetZeroPreferencesComponent, TocTabPageQnAViewAllAnswersComponent, DTCPreferencesComponent, QnaReportDownloadComponent],\r\n providers: [SearchFilterService, ssrsReportsService, FamilyeventGallaryService, ContractSearchService, GlobalSearchService, ResolutionViewService, TtgaPairingService, QnASearchService, QnaReportDownloadService]\r\n //bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n\r\n constructor(private resolver: ComponentFactoryResolver) { }\r\n\r\n ngDoBootstrap(appRef: ApplicationRef) {\r\n [SearchComponent, FamilyeventAlbumComponent, FamilyEventComponent, SsrsReportComponent, SearchContractComponent, ArticlesListComponent, SearchContractHeaderComponent, EventCalendarComponent, PodcastListComponent, PodcastModalComponent, GlobalSearchComponent, PolicyManualContentComponent, PolicyManualHeaderComponent, VideoSearchComponent, VideoModalPopupComponent, InternalarticleSearchComponent, ResolutionViewComponent, TtgaPairingComponent, TocTabPageQnAViewAllComponent, NetZeroPreferencesComponent, TocTabPageQnAViewAllAnswersComponent, DTCPreferencesComponent, QnaReportDownloadComponent].forEach((componentDef: Type<{}>) => {\r\n const factory = this.resolver.resolveComponentFactory(componentDef);\r\n if (document.querySelector(factory.selector)) {\r\n appRef.bootstrap(factory);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ElementRef, HostListener, ChangeDetectorRef, AfterContentChecked, SimpleChanges, ViewChild, Renderer2 } from '@angular/core';\r\nimport { ColDef, GridReadyEvent, GridApi, GridOptions, GetRowIdParams } from 'ag-grid-community';\r\nimport * as Global from \"../Models/constants\";\r\nimport { SCREEN_SIZE, DTCPreferencesGridResults } from '../Models/common.model';\r\nimport { TtgaPairingService } from '../Services/ttga-pairing.service';\r\n\r\ndeclare var ReadStaticData;\r\ndeclare var MaxAllowedAlerts;\r\ndeclare var GetDeleteAlertMessage;\r\nlet response: string;\r\n@Component({\r\n selector: 'dtc-preferences',\r\n templateUrl: './ttga-pairing.component.html',\r\n styles: []\r\n})\r\nexport class DTCPreferencesComponent implements OnInit, AfterContentChecked {\r\n dropdownSettings: {};\r\n dropdownList = [];\r\n\r\n\r\n public rowData!: any[];\r\n public gridApi!: GridApi;\r\n\r\n public loadContent: boolean = false;\r\n public paginationPageSize = 10;\r\n public domLayout: string = Global.domLayout;\r\n public noRowsTemplate: string = Global.noRowsTemplate;\r\n public loadingTemplate: string = Global.loadingTemplate;\r\n dateErrorMessage: string = Global.dateRangeErrorMessage;\r\n public SelectedResolutions: any[];\r\n public startDate: string;\r\n public endDate: string;\r\n isRequired: boolean = true;\r\n isValidDate: boolean = true;\r\n public pagination: boolean = true;\r\n // dynamically set row height for all detail grids\r\n public detailRowAutoHeight = true;\r\n isSelectMode: boolean = false;\r\n showLoader: boolean = false;\r\n showCreateNewButton: boolean = false;\r\n maxAllowedAlerts: any;\r\n deleteAlertMessage: string = null;\r\n isRowSelected: boolean = false;\r\n @ViewChild('deleteModal') deleteModal: ElementRef;\r\n\r\n\r\n private _TTGAPairingGridResults: DTCPreferencesGridResults[];\r\n get tTGAPairingGridResults(): DTCPreferencesGridResults[] {\r\n return this._TTGAPairingGridResults;\r\n }\r\n set tTGAPairingGridResults(value: DTCPreferencesGridResults[]) {\r\n this._TTGAPairingGridResults = value;\r\n }\r\n\r\n prefix = 'is-';\r\n size: SCREEN_SIZE;\r\n sizes = [\r\n {\r\n id: SCREEN_SIZE.XS, name: 'xs', css: `d-block d-sm-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.SM, name: 'sm', css: `d-none d-sm-block d-md-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.MD, name: 'md', css: `d-none d-md-block d-lg-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.LG, name: 'lg', css: `d-none d-lg-block d-xl-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.XL, name: 'xl', css: `d-none d-xl-block`\r\n },\r\n ];\r\n\r\n @HostListener(\"window:resize\", [])\r\n private onResize() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n\r\n }\r\n }\r\n\r\n private detectScreenSize() {\r\n const currentSize = this.sizes.find(x => {\r\n // get the HTML element\r\n const el = this.elementRef.nativeElement.querySelector(`.${this.prefix}${x.id}`);\r\n\r\n // check its display property value\r\n const isVisible = window.getComputedStyle(el).display != 'none';\r\n\r\n if (!isVisible) {\r\n return false;\r\n }\r\n else {\r\n return isVisible;\r\n }\r\n });\r\n\r\n this.dataService.onResize(currentSize.id);\r\n }\r\n\r\n onSelectionChanged(): void {\r\n const selectedRows = this.gridApi.getSelectedRows();\r\n this.isRowSelected = selectedRows.length > 0;\r\n }\r\n\r\n toggleSelectMode(): void {\r\n this.isSelectMode = !this.isSelectMode;\r\n if (!this.isSelectMode && this.gridApi) {\r\n this.gridApi.deselectAll();\r\n }\r\n this.updateGridColumns();\r\n }\r\n\r\n updateGridColumns(): void {\r\n if (this.gridApi) {\r\n let currentColumnDefs = this.getCurrentColumnDefs();\r\n this.gridApi.setColumnDefs(currentColumnDefs);\r\n }\r\n }\r\n\r\n private getCurrentColumnDefs(): ColDef[] {\r\n let currentColumnDefs = this.size == 0 || this.size == 1 ? this.columnDefsClosed_OnExcluded :\r\n this.size == 2 || this.size == 3 ? this.columnDefsClosed_OnIncluded :\r\n this.columnDefs;\r\n\r\n return currentColumnDefs.map(colDef => {\r\n if (colDef.field === 'checkbox') {\r\n return { ...colDef, hide: !this.isSelectMode };\r\n }\r\n if (colDef.field === 'Status') {\r\n const maxWidth = this.size == 0 || this.size == 1 ? (this.isSelectMode ? 80 : 123) : (this.isSelectMode ? 100 : 140);\r\n return { ...colDef, maxWidth };\r\n }\r\n return colDef;\r\n });\r\n }\r\n\r\n private removeExistingBackdrop(): void {\r\n const backdrop = document.querySelector('.modal-backdrop');\r\n if (backdrop) {\r\n this.renderer.removeChild(document.body, backdrop);\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.renderer.setStyle(this.deleteModal.nativeElement, 'display', 'none');\r\n this.removeExistingBackdrop();\r\n }\r\n\r\n deleteSelectedItems(): void {\r\n this.showLoader = true;\r\n this.closeModal();\r\n const selectedNodes = this.gridApi.getSelectedNodes();\r\n const selectedIds = selectedNodes.map(node => node.data.ID);\r\n\r\n this.dataService.deleteDTCMultiplePreferences(selectedIds).subscribe(\r\n response => {\r\n if (response) {\r\n this.rowData = this.rowData.filter(item => !selectedIds.includes(item.ID));\r\n this.showCreateNewButton = this.rowData && this.rowData.length >= this.maxAllowedAlerts;\r\n this.isSelectMode = !this.isSelectMode;\r\n this.cdRef.detectChanges();\r\n if (this.rowData.length != 0) {\r\n this.showLoader = false;\r\n this.gridApi.setRowData(this.rowData);\r\n this.updateGridColumns();\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n constructor(public dataService: TtgaPairingService, private elementRef: ElementRef, private cdRef: ChangeDetectorRef, private renderer: Renderer2) {\r\n this.dataService.onResize$.subscribe(x => {\r\n response = ReadStaticData();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.maxAllowedAlerts = MaxAllowedAlerts();\r\n this.deleteAlertMessage = GetDeleteAlertMessage();\r\n this.showCreateNewButton = this.tTGAPairingGridResults && this.tTGAPairingGridResults.length >= this.maxAllowedAlerts;\r\n this.size = x;\r\n if (this.size == 0 || this.size == 1) {\r\n const allColumnIds: string[] = [];\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnExcluded);\r\n this.gridOptions.columnApi.getAllColumns()!.forEach((column) => {\r\n allColumnIds.push(column.getId());\r\n });\r\n this.gridOptions.columnApi.autoSizeColumns(allColumnIds, false);\r\n }\r\n else if (this.size == 2 || this.size == 3) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n }\r\n else {\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n if (this.gridApi != undefined) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n (window as any).dtcPreferencesComponent = this;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n (window as any).dtcPreferencesComponent = null;\r\n }\r\n\r\n gridOptions: GridOptions = {\r\n rowClassRules: {\r\n // apply text red to Status Expired\r\n 'text-danger': function (params) { return params.data.Status === \"Expired\"; },\r\n },\r\n rowSelection: 'multiple',\r\n suppressRowClickSelection: true\r\n }\r\n\r\n public defaultColDef: ColDef = {\r\n flex: 1,\r\n };\r\n\r\n public columnDefs: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc'},\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 280, maxWidth: 400, suppressMovable: true\r\n },\r\n { field: 'Date', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Date\", comparator: dateComparator, minWidth: 100, suppressMovable: true },\r\n { field: 'Domicile', sortable: true, headerName: \"Dom\", sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 80, suppressMovable: true },\r\n { field: 'Seat', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 80, suppressMovable: true },\r\n { field: 'DTCValue', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 150, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true,\r\n cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n checkboxSelection: true,\r\n headerCheckboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n columnDefsClosed_OnIncluded: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc' },\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 180, maxWidth: 350, suppressMovable: true\r\n },\r\n { field: 'Date', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Date\", comparator: dateComparator, minWidth: 110, suppressMovable: true },\r\n { field: 'Domicile', sortable: true, headerName: \"Dom\", sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 30, suppressMovable: true },\r\n { field: 'Seat', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 30, suppressMovable: true },\r\n { field: 'DTCValue', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 60, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true,\r\n cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n \r\n columnDefsClosed_OnExcluded: ColDef[] = [\r\n { field: 'Title', minWidth: 213, width: 275, maxWidth: 300, resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let marginLeftStyle = status === 'Active' ? 'margin-left: 0.5rem !important;' : '';\r\n let newLink = `
${status}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 123, maxWidth: 123, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n minWidth: 40,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n response = ReadStaticData();\r\n this.maxAllowedAlerts = MaxAllowedAlerts();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.rowData = this.tTGAPairingGridResults;\r\n this.gridApi.setRowData(this.rowData);\r\n params.api.sizeColumnsToFit();\r\n }\r\n}\r\n\r\nfunction dateComparator(date1: string, date2: string) {\r\n var date1Number = monthToComparableNumber(date1);\r\n var date2Number = monthToComparableNumber(date2);\r\n\r\n if (date1Number == null && date2Number == null) {\r\n return 0;\r\n }\r\n if (date1Number == null) {\r\n return -1;\r\n }\r\n if (date2Number == null) {\r\n return 1;\r\n }\r\n\r\n return date1Number - date2Number;\r\n}\r\n\r\n// eg 29/08/2004 gets converted to 20040829\r\nfunction monthToComparableNumber(date: string): number {\r\n if (date === undefined || date === null || date.length !== 10) {\r\n return null;\r\n }\r\n\r\n const yearNumber = Number.parseInt(date.substring(6, 10));\r\n const dayNumber = Number.parseInt(date.substring(3, 5));\r\n const monthNumber = Number.parseInt(date.substring(0, 2));\r\n\r\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\r\n}\r\n\r\nfunction deleteItem(id) {\r\n const deleteItemIdInput = document.getElementById('deleteItemId') as HTMLInputElement;\r\n if (deleteItemIdInput) {\r\n deleteItemIdInput.value = id.toString();\r\n }\r\n}\r\n\r\nfunction redirectToEditPage(id) {\r\n const editUrl = `?action=edit&id=${id}`;\r\n window.location.href = editUrl;\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Create New\r\n
\r\n
\r\n Create New\r\n
\r\n Delete Selected\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{deleteAlertMessage}}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, SimpleChanges, ElementRef, ViewChild ,HostListener} from '@angular/core';\r\nimport { SearchFilterService } from '../Services/search-filter.service';\r\nimport { NewsArticles, SearchStaticContent, SearchResults } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { LocationStrategy } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'internalarticle-search',\r\n templateUrl: './internalarticle-search.component.html',\r\n styles: []\r\n})\r\nexport class InternalarticleSearchComponent {\r\n page: number;\r\n pageSize = 10; //No of pages per page\r\n maxPages = 10;\r\n startIndex: number;\r\n endIndex: number;\r\n pageOfItems: Array;\r\n pager: any = {};\r\n filterbyValues: any[];\r\n noSearchText: string;\r\n isLoading: boolean = true;\r\n isTextSearch: boolean = false;\r\n filterText: string;\r\n selected: boolean = false;\r\n\r\n private _staticContent: SearchStaticContent;\r\n get staticContent(): SearchStaticContent {\r\n return this._staticContent;\r\n }\r\n set staticContent(value: SearchStaticContent) {\r\n this._staticContent = value;\r\n }\r\n\r\n private _newsArticles: SearchResults;\r\n get newsArticles(): SearchResults {\r\n return this._newsArticles;\r\n }\r\n set newsArticles(value: SearchResults) {\r\n this._newsArticles = value;\r\n }\r\n\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n\r\n @ViewChild('txtSearch') searchInput: ElementRef;\r\n @ViewChild('dnFilterText') filterDropdown: ElementRef;\r\n\r\n constructor(public dataService: SearchFilterService, public location: LocationStrategy) {\r\n var entries: any = performance.getEntriesByType(\"navigation\")[0];\r\n if (entries.type == \"reload\" || entries.type == \"navigate\") {\r\n sessionStorage.clear();\r\n }\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.page = !isNaN(parseInt(sessionStorage.getItem('pageIndex'))) ? parseInt(sessionStorage.getItem('pageIndex')) : 1;\r\n this.searchText = sessionStorage.getItem('searchText') ? sessionStorage.getItem('searchText') : \"\";\r\n \r\n if (this.searchText != null && this.searchText != undefined && this.searchText != \"\") {\r\n this.searchService(this.page, this.searchText);\r\n }\r\n else {\r\n this.peformSearch();\r\n }\r\n this.dataService.getfilterby().subscribe((data: any[]) => {\r\n this.filterbyValues = data;\r\n })\r\n\r\n if (sessionStorage.getItem('filterIndex') != undefined && sessionStorage.getItem('filterIndex') != null) {\r\n var selectedIndex = sessionStorage.getItem('filterIndex');\r\n if (this.filterDropdown != undefined) {\r\n this.filterDropdown.nativeElement.options[selectedIndex].selected = true;\r\n }\r\n }\r\n }\r\n\r\n performTextSearch(event) {\r\n this.isTextSearch = true;\r\n this.page = 1;\r\n\r\n if (this.searchText != null || this.searchText != undefined) {\r\n sessionStorage.setItem('searchText', this.searchText);\r\n this.searchService(this.page, this.searchText)\r\n }\r\n }\r\n\r\n searchService(page, searchString) {\r\n this.dataService.getInternalNewsArticles(page, searchString).subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.newsArticles = data;\r\n this.setPage(this.newsArticles);\r\n this.isLoading = false;\r\n\r\n window.location.href = \"#topofbody\";\r\n })\r\n\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n this.pageSize = data.PageSize;\r\n })\r\n }\r\n\r\n onChangePage(pageOfItems: any) {\r\n // update current page of items and set the number of items on page change\r\n sessionStorage.setItem('pageIndex', pageOfItems)\r\n if (this.isTextSearch) {\r\n if (this.searchText != null || this.searchText != undefined) {\r\n this.searchService(this.page, this.searchText);\r\n }\r\n }\r\n else {\r\n if (this.filterText != undefined && this.filterText !='No filter') {\r\n this.searchService(this.page, this.filterText);\r\n }\r\n else {\r\n this.peformSearch();\r\n }\r\n }\r\n }\r\n\r\n peformSearch(): void {\r\n this.isLoading = true;\r\n this.isTextSearch = false;\r\n\r\n \r\n this.dataService.getInternalNewsArticles(this.page, \"\").subscribe((data: SearchResults) => {\r\n this.pageSize = data.PageSize;\r\n this.newsArticles = data;\r\n this.setPage(this.newsArticles);\r\n this.isLoading = false;\r\n\r\n window.location.href = \"#topofbody\";\r\n\r\n })\r\n this.dataService.getPagetitleErrormsg().subscribe((data: SearchStaticContent) => {\r\n this.staticContent = data;\r\n this.pageSize = data.PageSize;\r\n })\r\n }\r\n\r\n onFilterChange(filterby: any) {\r\n this.page = 1;\r\n this.isTextSearch = false;\r\n let selectedOptions = event.target['options'];\r\n let selectedIndex = selectedOptions.selectedIndex;\r\n let selectElementText = selectedOptions[selectedIndex].text;\r\n this.searchInput.nativeElement.value = \"\";//clear the search input value.\r\n this.filterText = selectElementText;\r\n sessionStorage.setItem('filterIndex', selectedIndex);\r\n if (selectedIndex == \"0\") {\r\n this.searchService(this.page, \"\");\r\n }\r\n else {\r\n this.searchService(this.page, selectElementText);\r\n }\r\n\r\n }\r\n\r\n setPage(article: SearchResults) {\r\n this.pager = paginate(article.TotalMatching, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n}\r\n","\r\n\r\n
\r\n

{{staticContent?.NewsPageTitle}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n

\r\n

0\" [innerHTML]=\"newsArticles.ResultFoundMessage\">

\r\n

\r\n
\r\n \r\n
\r\n\r\n\r\n
0 && newsArticles.TotalMatching > pageSize\" class=\"row justify-content-center justify-content-md-between align-items-center\">\r\n
\r\n Showing {{endIndex}} of {{ newsArticles.TotalMatching }} results\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Please wait...

\r\n
\r\n
\r\n
0\" class=\"swapa-top-tocshortcut text-right text-nonselectable\">\r\n ↑ Back To Top \r\n
","import { Component, OnInit, ElementRef, HostListener, ChangeDetectorRef, AfterContentChecked, SimpleChanges, ViewChild, Renderer2 } from '@angular/core';\r\nimport { ColDef, GridReadyEvent, GridApi, GridOptions, GetRowIdParams } from 'ag-grid-community';\r\nimport * as Global from \"../Models/constants\";\r\nimport { SCREEN_SIZE, NetZeroPreferencesGridResults } from '../Models/common.model';\r\nimport { TtgaPairingService } from '../Services/ttga-pairing.service';\r\n\r\ndeclare var ReadStaticData;\r\ndeclare var GetDeleteAlertMessage;\r\nlet response: string;\r\n@Component({\r\n selector: 'netzero-preferences',\r\n templateUrl: './ttga-pairing.component.html',\r\n styles: []\r\n})\r\nexport class NetZeroPreferencesComponent implements OnInit, AfterContentChecked {\r\n dropdownSettings: {};\r\n dropdownList = [];\r\n\r\n\r\n public rowData!: any[];\r\n public gridApi!: GridApi;\r\n\r\n public loadContent: boolean = false;\r\n public paginationPageSize = 10;\r\n public domLayout: string = Global.domLayout;\r\n public noRowsTemplate: string = Global.noRowsTemplate;\r\n public loadingTemplate: string = Global.loadingTemplate;\r\n dateErrorMessage: string = Global.dateRangeErrorMessage;\r\n public SelectedResolutions: any[];\r\n public startDate: string;\r\n public endDate: string;\r\n isRequired: boolean = true;\r\n isValidDate: boolean = true;\r\n public pagination: boolean = true;\r\n // dynamically set row height for all detail grids\r\n public detailRowAutoHeight = true;\r\n isSelectMode: boolean = false;\r\n showLoader: boolean = false;\r\n showCreateNewButton: boolean = false;\r\n deleteAlertMessage: string;\r\n isRowSelected: boolean = false;\r\n @ViewChild('deleteModal') deleteModal: ElementRef;\r\n\r\n private _TTGAPairingGridResults: NetZeroPreferencesGridResults[];\r\n get tTGAPairingGridResults(): NetZeroPreferencesGridResults[] {\r\n return this._TTGAPairingGridResults;\r\n }\r\n set tTGAPairingGridResults(value: NetZeroPreferencesGridResults[]) {\r\n this._TTGAPairingGridResults = value;\r\n }\r\n\r\n prefix = 'is-';\r\n size: SCREEN_SIZE;\r\n sizes = [\r\n {\r\n id: SCREEN_SIZE.XS, name: 'xs', css: `d-block d-sm-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.SM, name: 'sm', css: `d-none d-sm-block d-md-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.MD, name: 'md', css: `d-none d-md-block d-lg-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.LG, name: 'lg', css: `d-none d-lg-block d-xl-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.XL, name: 'xl', css: `d-none d-xl-block`\r\n },\r\n ];\r\n\r\n @HostListener(\"window:resize\", [])\r\n private onResize() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n\r\n }\r\n }\r\n\r\n private detectScreenSize() {\r\n const currentSize = this.sizes.find(x => {\r\n // get the HTML element\r\n const el = this.elementRef.nativeElement.querySelector(`.${this.prefix}${x.id}`);\r\n\r\n // check its display property value\r\n const isVisible = window.getComputedStyle(el).display != 'none';\r\n\r\n if (!isVisible) {\r\n return false;\r\n }\r\n else {\r\n return isVisible;\r\n }\r\n });\r\n\r\n this.dataService.onResize(currentSize.id);\r\n }\r\n\r\n onSelectionChanged(): void {\r\n const selectedRows = this.gridApi.getSelectedRows();\r\n this.isRowSelected = selectedRows.length > 0;\r\n }\r\n\r\n toggleSelectMode(): void {\r\n this.isSelectMode = !this.isSelectMode;\r\n if (!this.isSelectMode && this.gridApi) {\r\n this.gridApi.deselectAll();\r\n }\r\n this.updateGridColumns();\r\n }\r\n\r\n updateGridColumns(): void {\r\n if (this.gridApi) {\r\n let currentColumnDefs = this.getCurrentColumnDefs();\r\n this.gridApi.setColumnDefs(currentColumnDefs);\r\n }\r\n }\r\n\r\n private getCurrentColumnDefs(): ColDef[] {\r\n let currentColumnDefs = this.size == 0 || this.size == 1 ? this.columnDefsClosed_OnExcluded :\r\n this.size == 2 || this.size == 3 ? this.columnDefsClosed_OnIncluded :\r\n this.columnDefs;\r\n\r\n return currentColumnDefs.map(colDef => {\r\n if (colDef.field === 'checkbox') {\r\n return { ...colDef, hide: !this.isSelectMode };\r\n }\r\n if (colDef.field === 'Status') {\r\n const maxWidth = this.size == 0 || this.size == 1 ? (this.isSelectMode ? 80 : 123) : (this.isSelectMode ? 100 : 140);\r\n return { ...colDef, maxWidth };\r\n }\r\n return colDef;\r\n });\r\n }\r\n\r\n private removeExistingBackdrop(): void {\r\n const backdrop = document.querySelector('.modal-backdrop');\r\n if (backdrop) {\r\n this.renderer.removeChild(document.body, backdrop);\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.renderer.setStyle(this.deleteModal.nativeElement, 'display', 'none');\r\n this.removeExistingBackdrop();\r\n }\r\n\r\n\r\n deleteSelectedItems(): void {\r\n this.showLoader = true;\r\n this.closeModal();\r\n const selectedNodes = this.gridApi.getSelectedNodes();\r\n const selectedIds = selectedNodes.map(node => node.data.ID);\r\n\r\n this.dataService.deleteNetZeroMultiplePreferences(selectedIds).subscribe(\r\n response => {\r\n if (response) {\r\n this.rowData = this.rowData.filter(item => !selectedIds.includes(item.ID));\r\n this.showCreateNewButton = this.rowData && this.rowData.length >= 2;\r\n this.isSelectMode = !this.isSelectMode;\r\n this.cdRef.detectChanges();\r\n this.showLoader = false;\r\n if (this.rowData.length != 0) {\r\n this.gridApi.setRowData(this.rowData);\r\n this.updateGridColumns();\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n constructor(public dataService: TtgaPairingService, private elementRef: ElementRef, private cdRef: ChangeDetectorRef, private renderer: Renderer2) {\r\n this.dataService.onResize$.subscribe(x => {\r\n response = ReadStaticData();\r\n this.deleteAlertMessage = GetDeleteAlertMessage();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.showCreateNewButton = this.tTGAPairingGridResults && this.tTGAPairingGridResults.length >= 2;\r\n this.size = x;\r\n if (this.size == 0 || this.size == 1) {\r\n const allColumnIds: string[] = [];\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnExcluded);\r\n this.gridOptions.columnApi.getAllColumns()!.forEach((column) => {\r\n allColumnIds.push(column.getId());\r\n });\r\n this.gridOptions.columnApi.autoSizeColumns(allColumnIds, false);\r\n }\r\n else if (this.size == 2 || this.size == 3) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n }\r\n else {\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n if (this.gridApi != undefined) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n (window as any).netzeroPreferencesComponent = this;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n (window as any).netzeroPreferencesComponent = null;\r\n }\r\n\r\n gridOptions: GridOptions = {\r\n rowClassRules: {\r\n // apply text red to Status Expired\r\n 'text-danger': function (params) { return params.data.Status === \"Expired\"; },\r\n },\r\n rowSelection: 'multiple',\r\n suppressRowClickSelection: true\r\n }\r\n\r\n public defaultColDef: ColDef = {\r\n flex: 1,\r\n };\r\n\r\n public columnDefs: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc' },\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 280, maxWidth: 400, suppressMovable: true\r\n },\r\n { field: 'Date', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Date\", minWidth: 100, suppressMovable: true },\r\n { field: 'Domicile', headerName: \"Dom\", sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 80, suppressMovable: true },\r\n { field: 'Seat', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 80, suppressMovable: true },\r\n { field: 'NetZero', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 150, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n columnDefsClosed_OnIncluded: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc' },\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 180, maxWidth: 350, suppressMovable: true\r\n },\r\n { field: 'Date', cellClass: 'locked-col', lockPosition: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Date\", minWidth: 90, suppressMovable: true },\r\n { field: 'Domicile', cellClass: 'locked-col', lockPosition: true, sortable: true, headerName: \"Dom\", sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 30, suppressMovable: true },\r\n { field: 'Seat', cellClass: 'locked-col', lockPosition: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 30, suppressMovable: true },\r\n { field: 'NetZero', cellClass: 'locked-col', lockPosition: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 60, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n columnDefsClosed_OnExcluded: ColDef[] = [\r\n { field: 'Title', minWidth: 213, width: 275, maxWidth: 300, resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let marginLeftStyle = status === 'Active' ? 'margin-left: 0.5rem !important;' : '';\r\n let newLink = `
${status}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 123, maxWidth: 123, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n minWidth: 40,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n response = ReadStaticData();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.rowData = this.tTGAPairingGridResults;\r\n this.gridApi.setRowData(this.rowData);\r\n params.api.sizeColumnsToFit();\r\n }\r\n}\r\n\r\nfunction dateComparator(date1: string, date2: string) {\r\n var date1Number = monthToComparableNumber(date1);\r\n var date2Number = monthToComparableNumber(date2);\r\n\r\n if (date1Number == null && date2Number == null) {\r\n return 0;\r\n }\r\n if (date1Number == null) {\r\n return -1;\r\n }\r\n if (date2Number == null) {\r\n return 1;\r\n }\r\n\r\n return date1Number - date2Number;\r\n}\r\n\r\n// eg 29/08/2004 gets converted to 20040829\r\nfunction monthToComparableNumber(date: string): number {\r\n if (date === undefined || date === null || date.length !== 10) {\r\n return null;\r\n }\r\n\r\n const yearNumber = Number.parseInt(date.substring(6, 10));\r\n const dayNumber = Number.parseInt(date.substring(3, 5));\r\n const monthNumber = Number.parseInt(date.substring(0, 2));\r\n\r\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\r\n}\r\n\r\nfunction deleteItem(id) {\r\n const deleteItemIdInput = document.getElementById('deleteItemId') as HTMLInputElement;\r\n if (deleteItemIdInput) {\r\n deleteItemIdInput.value = id.toString();\r\n }\r\n}\r\n\r\nfunction redirectToEditPage(id) {\r\n const editUrl = `?action=edit&id=${id}`;\r\n window.location.href = editUrl;\r\n}","import { Component, OnInit, ElementRef, HostListener, ChangeDetectorRef, AfterContentChecked, SimpleChanges } from '@angular/core';\r\nimport { ColDef, GridReadyEvent, GridApi} from 'ag-grid-community';\r\nimport { ResolutionViewService } from '../Services/resolution-view.service';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport * as Global from \"../Models/constants\";\r\nimport { SCREEN_SIZE, ResolutionInputModel, ResolutionStatus, ResolutionsViewResults } from '../Models/common.model';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\ndeclare var ReadStaticData;\r\nlet response: string;\r\n@Component({\r\n selector: 'resolution-view',\r\n templateUrl: './resolution-view.component.html',\r\n styles: []\r\n})\r\nexport class ResolutionViewComponent implements OnInit, AfterContentChecked {\r\n dropdownSettings: {};\r\n dropdownList = [];\r\n form: FormGroup;\r\n private formBuilder: FormBuilder;\r\n public rowData!: any[];\r\n private gridApi!: GridApi;\r\n public formGroup: FormGroup;\r\n public loadContent: boolean = false;\r\n public paginationPageSize = 10;\r\n public domLayout: string = Global.domLayout;\r\n public noRowsTemplate: string = Global.noRowsTemplate;\r\n public loadingTemplate: string = Global.loadingTemplate;\r\n dateErrorMessage: string = Global.dateRangeErrorMessage;\r\n public SelectedResolutions: any[];\r\n public startDate: string;\r\n public endDate: string;\r\n isRequired: boolean = true;\r\n isValidDate: boolean = true;\r\n public pagination: boolean = true;\r\n\r\n resolutionInputModel: ResolutionInputModel;\r\n private _resolutionsViewResults: ResolutionsViewResults[];\r\n get resolutionsViewResults(): ResolutionsViewResults[] {\r\n return this._resolutionsViewResults;\r\n }\r\n set resolutionsViewResults(value: ResolutionsViewResults[]) {\r\n this._resolutionsViewResults = value;\r\n }\r\n prefix = 'is-';\r\n size: SCREEN_SIZE;\r\n sizes = [\r\n {\r\n id: SCREEN_SIZE.XS, name: 'xs', css: `d-block d-sm-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.SM, name: 'sm', css: `d-none d-sm-block d-md-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.MD, name: 'md', css: `d-none d-md-block d-lg-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.LG, name: 'lg', css: `d-none d-lg-block d-xl-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.XL, name: 'xl', css: `d-none d-xl-block`\r\n },\r\n ];\r\n resolutionsInputModel: ResolutionInputModel;\r\n resolutionStatus: ResolutionStatus;\r\n\r\n @HostListener(\"window:resize\", [])\r\n private onResize() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n\r\n }\r\n }\r\n\r\n private detectScreenSize() {\r\n const currentSize = this.sizes.find(x => {\r\n // get the HTML element\r\n const el = this.elementRef.nativeElement.querySelector(`.${this.prefix}${x.id}`);\r\n\r\n // check its display property value\r\n const isVisible = window.getComputedStyle(el).display != 'none';\r\n\r\n if (!isVisible) {\r\n return false;\r\n }\r\n else {\r\n return isVisible;\r\n }\r\n });\r\n\r\n this.dataService.onResize(currentSize.id);\r\n }\r\n constructor(public dataService: ResolutionViewService, private elementRef: ElementRef, private cdRef: ChangeDetectorRef, private fb: FormBuilder,\r\n private titleService: Title) {\r\n this.dataService.onResize$.subscribe(x => {\r\n this.size = x;\r\n if (this.size == 0 || this.size == 1) {\r\n this.columnDefs = this.columnDefsClosed_OnExcluded;\r\n }\r\n else {\r\n this.columnDefs = this.columnDefsClosed_OnIncluded;\r\n } \r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = new FormGroup({});\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'Status',\r\n textField: 'Description',\r\n itemsShowLimit: 6,\r\n allowSearchFilter: false,\r\n };\r\n this.setFormvalues(ReadStaticData());\r\n }\r\n\r\n setFormvalues(inputFields: any) {\r\n this.resolutionInputModel = JSON.parse(inputFields);\r\n this.startDate = this.resolutionInputModel.StartDate;\r\n this.endDate = this.resolutionInputModel.EndDate;\r\n for (let control in this.resolutionInputModel) {\r\n this.form.addControl(control.toString(), new FormControl(null));\r\n if (control.toLocaleUpperCase() == \"STARTDATE\" || control.toLocaleUpperCase() == \"ENDDATE\") {\r\n this.form.get(control).patchValue(this.resolutionInputModel[control]);\r\n }\r\n }\r\n this.SelectedResolutions = this.resolutionInputModel.ResolutionStatuses;\r\n }\r\n\r\n public defaultColDef: ColDef = {\r\n flex: 1,\r\n };\r\n\r\n public columnDefs: ColDef[] = [\r\n { field: 'ResodbId', hide: true },\r\n { field: 'ResolutionNo', headerName: 'Number', resizable: true },\r\n { field: 'Annotationid', hide: true },\r\n {\r\n field: 'Attachment', headerName: '', cellRenderer: function (params) {\r\n let attachmentsCount = params.data.AttachmentCount;\r\n return (attachmentsCount > 1 ? `` : '')\r\n }, maxWidth: 30\r\n },\r\n {\r\n field: 'Title', cellRenderer: function (params) {\r\n let newLink = `
` +\r\n `${params.value}` +\r\n `
`;\r\n return newLink;\r\n }, minWidth: 250, maxWidth: 400, resizable: true,\r\n onCellClicked(params) {\r\n let newWindow = window.open(window.location.origin + \"/internal/resotrackdownloadfile/attachment?attachmentId=\" + params.data.Annotationid, '_blank');\r\n newWindow.onload = function () {\r\n setInterval(() => {\r\n newWindow.document.title = params.data.ResolutionNo + \" - \" + params.value;\r\n }, 100)\r\n }\r\n },\r\n },\r\n { field: 'PDFLink', hide: true },\r\n { field: 'Status', minWidth: 180, maxWidth: 300, flex: 1, resizable: true, lockPosition: true, cellClass: 'locked-col' },\r\n {\r\n field: 'ClosedDateInStringFormat', sortable: true, minWidth: 150, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Closed On\", resizable: false, comparator: dateComparator, lockPosition: true, cellClass: 'locked-col'\r\n }\r\n ];\r\n\r\n columnDefsClosed_OnIncluded: ColDef[] = [\r\n { field: 'ResodbId', hide: true },\r\n { field: 'ResolutionNo', headerName: 'Number', resizable: true, minWidth: 85, maxWidth: 110 },\r\n { field: 'Annotationid', hide: true },\r\n {\r\n field: 'Title', cellRenderer: function (params) {\r\n let newLink = `
` +\r\n `${params.value}` +\r\n `
`;\r\n return newLink;\r\n }, minWidth: 100, maxWidth: 400, resizable: true,\r\n onCellClicked(params) {\r\n let newWindow = window.open(window.location.origin + \"/internal/resotrackdownloadfile/attachment?attachmentId=\" + params.data.Annotationid, '_blank');\r\n newWindow.onload = function () { \r\n setInterval(() => {\r\n newWindow.document.title = params.data.ResolutionNo + \" - \" + params.value;\r\n }, 100)\r\n }\r\n },\r\n },\r\n {\r\n field: 'Attachment', headerName: '', cellRenderer: function (params) {\r\n let attachmentsCount = params.data.AttachmentCount;\r\n return (attachmentsCount > 1 ? `` + `(${attachmentsCount - 1})` : '')\r\n }, maxWidth: 100, minWidth: 80, cellStyle: {'float': 'left' }\r\n },\r\n { field: 'PDFLink', hide: true },\r\n { field: 'Status', minWidth: 80, maxWidth: 300, resizable: true, lockPosition: true, cellClass: 'locked-col' },\r\n {\r\n field: 'ClosedDateInStringFormat', sortable: true, minWidth: 120, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Closed On\", resizable: false, comparator: dateComparator, lockPosition: true, cellClass: 'locked-col'\r\n }\r\n ];\r\n columnDefsClosed_OnExcluded: ColDef[] = [\r\n { field: 'Annotationid', hide: true },\r\n { field: 'ResolutionNo', headerName: 'Number', resizable: true, maxWidth: 80, minWidth: 70 },\r\n {\r\n field: 'Title', cellRenderer: function (params) {\r\n let keyData = params.data.key;\r\n let newLink = `

` + params.value + `

`;\r\n return newLink;\r\n }, resizable: true, minWidth: 70,\r\n onCellClicked(params) {\r\n let newWindow = window.open(window.location.origin + \"/internal/resotrackdownloadfile/attachment?attachmentId=\" + params.data.Annotationid, '_blank');\r\n newWindow.onload = function () {\r\n setInterval(() => {\r\n newWindow.document.title = params.data.ResolutionNo + \" - \" + params.value;\r\n }, 100)\r\n }\r\n \r\n },\r\n },\r\n {\r\n field: 'Attachment', headerName: '', cellRenderer: function (params) {\r\n let attachmentsCount = params.data.AttachmentCount;\r\n return (attachmentsCount > 1 ? `` + `(${attachmentsCount - 1})` : '')\r\n }, maxWidth: 100, minWidth: 80, cellStyle: { 'float': 'left' }\r\n },\r\n { field: 'ClosedDateInStringFormat', sortable: true, minWidth: 100, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"Closed On\", resizable: false, comparator: dateComparator, lockPosition: true, cellClass: 'locked-col' },\r\n\r\n ];\r\n\r\n\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n response = ReadStaticData();\r\n this.resolutionsInputModel = JSON.parse(response);\r\n this.gridApi.showLoadingOverlay();\r\n this.dataService.getResolutionGridDetails(this.resolutionsInputModel.Keyword, this.resolutionsInputModel.ResolutionStatuses.map(status => status.Description).join(','), this.resolutionsInputModel.StartDate, this.resolutionsInputModel.EndDate, this.resolutionInputModel.Id).subscribe((data: ResolutionsViewResults[]) => {\r\n this.resolutionsViewResults = data;\r\n this.rowData = JSON.parse(this.resolutionsViewResults.toString());\r\n this.gridApi.setRowData(this.rowData);\r\n })\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n onCalenderchange(event: any) {\r\n let formControlName = event.target[\"name\"]\r\n let formControlValue = event.target[\"value\"];\r\n this.form.controls[formControlName].setValue(formControlValue);\r\n this.isValidDate = true;\r\n if (formControlName == \"StartDate\") {\r\n this.startDate = formControlValue;\r\n if (this.startDate != null && this.startDate != \"\") {\r\n this.ValidateDateRange(this.startDate, this.endDate);\r\n }\r\n }\r\n if (formControlName == \"EndDate\") {\r\n this.endDate = formControlValue;\r\n if (this.endDate != null && this.endDate != \"\") {\r\n this.ValidateDateRange(this.startDate, this.endDate);\r\n }\r\n }\r\n }\r\n\r\n ValidateDateRange(startDate, endDate) {\r\n if ((startDate != \"\" || startDate != null) && (endDate != \"\" || endDate != null)) {\r\n if (new Date(startDate.replace(/-/g, \"/\")) > new Date(endDate.replace(/-/g, \"/\"))) {\r\n this.isValidDate = false;\r\n }\r\n else {\r\n this.isValidDate = true;\r\n }\r\n }\r\n }\r\n\r\n getRsolutionGridDetails() {\r\n var formData = this.form.value;\r\n if (formData[\"ResolutionStatuses\"].length == 0 && (formData[\"Keyword\"] == null || formData[\"Keyword\"] == \"\") && (formData[\"Id\"] == null || formData[\"Id\"] == \"\") && (formData[\"StartDate\"] == \"\" || formData[\"StartDate\"] == null) && (formData[\"EndDate\"] == \"\" || formData[\"EndDate\"] == null)) {\r\n this.isRequired = false;\r\n }\r\n else {\r\n this.isRequired = true;\r\n var statuses = formData[\"ResolutionStatuses\"].length > 0 ? formData[\"ResolutionStatuses\"].map(status => status.Description).join(',') : null;\r\n this.getGridData(formData[\"Keyword\"], statuses, formData[\"StartDate\"], formData[\"EndDate\"], formData[\"Id\"])\r\n }\r\n }\r\n\r\n getGridData(keyword, statuses, startDate, endDate, id) {\r\n this.gridApi.showLoadingOverlay();\r\n this.dataService.getResolutionGridDetails(keyword, statuses, startDate, endDate, id).subscribe((data: ResolutionsViewResults[]) => {\r\n this.resolutionsViewResults = data;\r\n this.rowData = JSON.parse(this.resolutionsViewResults.toString());\r\n if (this.rowData.length == 0) {\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-row-summary-panel\").setAttribute('class', 'ag-paging-row-summary-panel d-none')\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-page-summary-panel\").setAttribute('class', 'ag-paging-page-summary-panel d-none')\r\n }\r\n else {\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-row-summary-panel\").setAttribute('class', 'ag-paging-row-summary-panel')\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-page-summary-panel\").setAttribute('class', 'ag-paging-page-summary-panel')\r\n }\r\n this.gridApi.setRowData(this.rowData);\r\n this.gridApi.paginationGoToPage(0);/// every time the page results will start diplaying from 1st page.\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\nfunction dateComparator(date1: string, date2: string) {\r\n var date1Number = monthToComparableNumber(date1);\r\n var date2Number = monthToComparableNumber(date2);\r\n\r\n if (date1Number == null && date2Number == null) {\r\n return 0;\r\n }\r\n if (date1Number == null) {\r\n return -1;\r\n }\r\n if (date2Number == null) {\r\n return 1;\r\n }\r\n\r\n return date1Number - date2Number;\r\n}\r\n\r\n// eg 29/08/2004 gets converted to 20040829\r\nfunction monthToComparableNumber(date: string): number {\r\n if (date === undefined || date === null || date.length !== 10) {\r\n return null;\r\n }\r\n\r\n const yearNumber = Number.parseInt(date.substring(6, 10));\r\n const monthNumber = Number.parseInt(date.substring(0, 2));\r\n const dayNumber = Number.parseInt(date.substring(3, 5));\r\n\r\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\r\n}\r\n\r\nfunction dateFormatter(params) {\r\n var dateAsString = params.data.date;\r\n var dateParts = dateAsString.split('/');\r\n return '${dateParts[0]} - ${dateParts[1]} - ${dateParts[2]}';\r\n}","
\r\n
\r\n
\r\n
{{resolutionInputModel.DateRangeLabel}}
\r\n \r\n \r\n
{{dateErrorMessage}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
{{resolutionInputModel.StatusLabel}}
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{resolutionInputModel.ValidationMessage}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, SimpleChanges, Input, ElementRef } from '@angular/core';\r\nimport { QnASearchService } from '../Services/qna-search.service';\r\nimport { QnASearchResultViewModel, QuestionAndAnswer, TocTabPageQnAViewAllBlockModel } from '../Models/common.model';\r\nimport { paginate } from '../Models/common.pagination';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as Global from \"../Models/constants\";\r\n\r\ndeclare var ReadStaticData;\r\nlet response: string;\r\n\r\n@Component({\r\n selector: 'toctabpage-qna-viewall',\r\n templateUrl: './toctabpage-qna-viewall.component.html',\r\n providers: [QnASearchService]\r\n})\r\nexport class TocTabPageQnAViewAllComponent implements OnInit {\r\n @Input() public loadingMessage: string;\r\n\r\n page = 1;\r\n pageSize = 10;\r\n maxPages = 10;\r\n currentPageId: number;\r\n startIndex: number;\r\n endIndex: number;\r\n pager: any = {};\r\n isLoading: boolean = true;\r\n searchQuery: string = null;\r\n filter: string = null;\r\n searchTag: string;\r\n isTextSearch: boolean = false;\r\n statuses: string[] = [Global.statusAnswered];\r\n tocTabPageQnAViewAllBlockModel: TocTabPageQnAViewAllBlockModel;\r\n private _searchText: string;\r\n get searchText(): string {\r\n return this._searchText;\r\n }\r\n set searchText(value: string) {\r\n this._searchText = value;\r\n }\r\n\r\n private _searchResults: QnASearchResultViewModel;\r\n get searchResults(): QnASearchResultViewModel {\r\n return this._searchResults;\r\n }\r\n set searchResults(value: QnASearchResultViewModel) {\r\n this._searchResults = value;\r\n }\r\n constructor(public dataService: QnASearchService, private modalService: NgbModal, private element: ElementRef) {\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.getStaticData();\r\n this.peformSearch();\r\n this.loadingMessage = \"Please wait while data is loading..\"\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n this.onChangePage(this.page);\r\n }\r\n }\r\n\r\n peformSearch(): void {\r\n this.dataService.getSearchResults(this.currentPageId, this.page, this.pageSize, this.searchText, this.filter, this.statuses, this.tocTabPageQnAViewAllBlockModel.GetQnAFor).subscribe((data: QnASearchResultViewModel) => {\r\n this.searchResults = data;\r\n this.searchResults.NoResultMessage = this.tocTabPageQnAViewAllBlockModel.NoResultText;\r\n this.setPage(this.searchResults);\r\n this.isLoading = false;\r\n window.location.href = \"#topofbody\";\r\n })\r\n }\r\n\r\n getStaticData(): void {\r\n response = ReadStaticData();\r\n this.tocTabPageQnAViewAllBlockModel = JSON.parse(response);\r\n this.pageSize = this.tocTabPageQnAViewAllBlockModel.PageSize;\r\n this.currentPageId = this.tocTabPageQnAViewAllBlockModel.CurrentPageId;\r\n }\r\n\r\n performTextSearch(event) {\r\n this.isLoading = true;\r\n this.page = 1;\r\n\r\n if (this.searchText != null || this.searchText != undefined) {\r\n this.searchQuery = this.searchText;\r\n this.peformSearch();\r\n }\r\n }\r\n\r\n onChangePage(pageIndex: any) {\r\n this.page = pageIndex;\r\n this.peformSearch();\r\n }\r\n\r\n onFilterClick(event, text:any, value: any) {\r\n document.getElementById(\"dropdownMenuLink\").innerText = \"Filter: \" + text;\r\n this.filter = value;\r\n this.page = 1;\r\n this.isLoading = true;\r\n this.peformSearch();\r\n }\r\n\r\n setPage(searchResults: QnASearchResultViewModel) {\r\n this.pager = paginate(searchResults.TotalMatching, this.page, this.pageSize, this.maxPages);\r\n\r\n //set nnumber of items per pages.\r\n this.startIndex = this.pager.startIndex + 1;\r\n this.endIndex = this.pager.endIndex + 1;\r\n }\r\n\r\n onSearchClick(event) {\r\n this.element.nativeElement.querySelector('#swapa-qna-search-dropdown').setAttribute('class', 'flex-direction-column d-md-none py-2 d-flex');\r\n this.element.nativeElement.querySelector('#swapa-qna-search-button').setAttribute('class', 'btn btn-link btn-sm d-none d-md-none swapa-search bg-white rounded-0');\r\n }\r\n\r\n closeSearchDropdown(event) {\r\n this.element.nativeElement.querySelector('#swapa-qna-search-dropdown').setAttribute('class', 'flex-direction-column d-md-none d-none py-2');\r\n this.element.nativeElement.querySelector('#swapa-qna-search-button').setAttribute('class', 'btn btn-link btn-sm d-md-none swapa-search bg-white rounded-0');\r\n this.searchText = '';\r\n }\r\n\r\n}\r\n","

\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{filter.Text}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{qna.SectionName| titlecase}} Question | {{qna.SubmittedDateInString}} | Posted by: {{qna.IsAnonymous ? 'Anonymous' : qna.SubmittedBy}}
\r\n

\r\n Q: {{qna.Question}}\r\n

\r\n

\r\n A: {{qna.Answer}}\r\n

\r\n
\r\n
\r\n
0\" [innerHTML]=\"searchResults.ResultFoundMessage\">
\r\n
\r\n \r\n
0 && searchResults.TotalMatching > pageSize\" class=\"row justify-content-center\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

Please wait...

\r\n
\r\n
\r\n\r\n
0\" class=\"swapa-top-tocshortcut text-right text-nonselectable\">\r\n ↑ Back To Top \r\n
\r\n
","import { Component, OnInit, ElementRef, HostListener, ChangeDetectorRef, AfterContentChecked, SimpleChanges, ViewChild, Renderer2 } from '@angular/core';\r\nimport { ColDef, GridReadyEvent, GridApi, GridOptions, GetRowIdParams } from 'ag-grid-community';\r\nimport * as Global from \"../Models/constants\";\r\nimport { SCREEN_SIZE, TTGAPairingGridResults } from '../Models/common.model';\r\nimport { TtgaPairingService } from '../Services/ttga-pairing.service';\r\n\r\ndeclare var ReadStaticData;\r\ndeclare var GetDeleteAlertMessage;\r\nlet response: string;\r\n@Component({\r\n selector: 'ttga-pairing',\r\n templateUrl: './ttga-pairing.component.html',\r\n styles: []\r\n})\r\nexport class TtgaPairingComponent implements OnInit, AfterContentChecked {\r\n dropdownSettings: {};\r\n dropdownList = [];\r\n\r\n\r\n public rowData!: any[];\r\n public gridApi!: GridApi;\r\n\r\n public loadContent: boolean = false;\r\n public paginationPageSize = 10;\r\n public domLayout: string = Global.domLayout;\r\n public noRowsTemplate: string = Global.noRowsTemplate;\r\n public loadingTemplate: string = Global.loadingTemplate;\r\n dateErrorMessage: string = Global.dateRangeErrorMessage;\r\n public SelectedResolutions: any[];\r\n public startDate: string;\r\n public endDate: string;\r\n isRequired: boolean = true;\r\n isValidDate: boolean = true;\r\n public pagination: boolean = true;\r\n // dynamically set row height for all detail grids\r\n public detailRowAutoHeight = true;\r\n isSelectMode: boolean = false;\r\n showLoader: boolean = false;\r\n showCreateNewButton: boolean = false;\r\n deleteAlertMessage: string;\r\n isRowSelected: boolean = false;\r\n @ViewChild('deleteModal') deleteModal: ElementRef;\r\n\r\n\r\n private _TTGAPairingGridResults: TTGAPairingGridResults[];\r\n get tTGAPairingGridResults(): TTGAPairingGridResults[] {\r\n return this._TTGAPairingGridResults;\r\n }\r\n set tTGAPairingGridResults(value: TTGAPairingGridResults[]) {\r\n this._TTGAPairingGridResults = value;\r\n }\r\n\r\n prefix = 'is-';\r\n size: SCREEN_SIZE;\r\n sizes = [\r\n {\r\n id: SCREEN_SIZE.XS, name: 'xs', css: `d-block d-sm-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.SM, name: 'sm', css: `d-none d-sm-block d-md-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.MD, name: 'md', css: `d-none d-md-block d-lg-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.LG, name: 'lg', css: `d-none d-lg-block d-xl-none`\r\n },\r\n {\r\n id: SCREEN_SIZE.XL, name: 'xl', css: `d-none d-xl-block`\r\n },\r\n ];\r\n\r\n @HostListener(\"window:resize\", [])\r\n private onResize() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cdRef.detectChanges()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // reset page if items array has changed\r\n if (changes.items.currentValue !== changes.items.previousValue) {\r\n\r\n }\r\n }\r\n\r\n onSelectionChanged(): void {\r\n const selectedRows = this.gridApi.getSelectedRows();\r\n this.isRowSelected = selectedRows.length > 0;\r\n }\r\n\r\n private detectScreenSize() {\r\n const currentSize = this.sizes.find(x => {\r\n // get the HTML element\r\n const el = this.elementRef.nativeElement.querySelector(`.${this.prefix}${x.id}`);\r\n\r\n // check its display property value\r\n const isVisible = window.getComputedStyle(el).display != 'none';\r\n\r\n if (!isVisible) {\r\n return false;\r\n }\r\n else {\r\n return isVisible;\r\n }\r\n });\r\n\r\n this.dataService.onResize(currentSize.id);\r\n }\r\n\r\n toggleSelectMode(): void {\r\n this.isSelectMode = !this.isSelectMode;\r\n if (!this.isSelectMode && this.gridApi) {\r\n this.gridApi.deselectAll();\r\n }\r\n this.updateGridColumns();\r\n }\r\n\r\n updateGridColumns(): void {\r\n if (this.gridApi) {\r\n let currentColumnDefs = this.getCurrentColumnDefs();\r\n this.gridApi.setColumnDefs(currentColumnDefs);\r\n }\r\n }\r\n\r\n private getCurrentColumnDefs(): ColDef[] {\r\n let currentColumnDefs = this.size == 0 || this.size == 1 ? this.columnDefsClosed_OnExcluded :\r\n this.size == 2 || this.size == 3 ? this.columnDefsClosed_OnIncluded :\r\n this.columnDefs;\r\n\r\n return currentColumnDefs.map(colDef => {\r\n if (colDef.field === 'checkbox') {\r\n return { ...colDef, hide: !this.isSelectMode };\r\n }\r\n if (colDef.field === 'Status') {\r\n const maxWidth = this.size == 0 || this.size == 1 ? (this.isSelectMode ? 80 : 123) : (this.isSelectMode ? 100 : 140);\r\n return { ...colDef, maxWidth };\r\n }\r\n return colDef;\r\n });\r\n }\r\n\r\n private removeExistingBackdrop(): void {\r\n const backdrop = document.querySelector('.modal-backdrop');\r\n if (backdrop) {\r\n this.renderer.removeChild(document.body, backdrop);\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.renderer.setStyle(this.deleteModal.nativeElement, 'display', 'none');\r\n this.removeExistingBackdrop();\r\n }\r\n\r\n\r\n deleteSelectedItems(): void {\r\n this.showLoader = true;\r\n this.closeModal();\r\n const selectedNodes = this.gridApi.getSelectedNodes();\r\n const selectedIds = selectedNodes.map(node => node.data.ID);\r\n\r\n this.dataService.deleteTTGAMultiplePreferences(selectedIds).subscribe(\r\n response => {\r\n if (response) {\r\n this.rowData = this.rowData.filter(item => !selectedIds.includes(item.ID));\r\n this.showCreateNewButton = this.rowData && this.rowData.length >= 10;\r\n this.isSelectMode = !this.isSelectMode;\r\n this.cdRef.detectChanges();\r\n this.showLoader = false;\r\n if (this.rowData.length != 0) {\r\n this.gridApi.setRowData(this.rowData);\r\n this.updateGridColumns();\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n else {\r\n window.location.reload();\r\n this.showLoader = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n constructor(public dataService: TtgaPairingService, private elementRef: ElementRef, private cdRef: ChangeDetectorRef, private renderer: Renderer2) {\r\n this.dataService.onResize$.subscribe(x => {\r\n response = ReadStaticData();\r\n this.deleteAlertMessage = GetDeleteAlertMessage();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.showCreateNewButton = this.tTGAPairingGridResults && this.tTGAPairingGridResults.length >= 10;\r\n this.size = x;\r\n if (this.size == 0 || this.size == 1) {\r\n const allColumnIds: string[] = [];\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnExcluded);\r\n this.gridOptions.columnApi.getAllColumns()!.forEach((column) => {\r\n allColumnIds.push(column.getId());\r\n });\r\n this.gridOptions.columnApi.autoSizeColumns(allColumnIds, false);\r\n }\r\n else if (this.size == 2 || this.size == 3) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n }\r\n else {\r\n if (this.tTGAPairingGridResults[0]['TTGAType'] != null) {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', true);\r\n }\r\n else {\r\n this.gridOptions.columnApi.setColumnVisible('TTGAType', false);\r\n }\r\n if (this.gridApi != undefined) {\r\n this.gridOptions.api!.setColumnDefs([]);\r\n this.gridOptions.api!.setColumnDefs(this.columnDefsClosed_OnIncluded);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n (window as any).ttgaPairingComponent = this;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n (window as any).ttgaPairingComponent = null;\r\n }\r\n\r\n gridOptions: GridOptions = {\r\n rowClassRules: {\r\n // apply text red to Status Expired\r\n 'text-danger': function (params) { return params.data.Status === \"Expired\"; },\r\n },\r\n rowSelection: 'multiple',\r\n suppressRowClickSelection: true\r\n }\r\n\r\n public defaultColDef: ColDef = {\r\n flex: 1,\r\n };\r\n\r\n public columnDefs: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc' },\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 240, maxWidth: 400, suppressMovable: true\r\n },\r\n { field: 'TTGAType', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"TTGA Type\", minWidth: 140, suppressMovable: true },\r\n { field: 'Domicile', headerName: \"Dom\", sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 60, suppressMovable: true },\r\n { field: 'Seat', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 60, suppressMovable: true },\r\n { field: 'From', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', comparator: dateComparator, minWidth: 100, suppressMovable: true },\r\n { field: 'To', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', comparator: dateComparator, minWidth: 100, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n columnDefsClosed_OnIncluded: ColDef[] = [\r\n { field: 'ID', hide: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc' },\r\n {\r\n field: 'Title', resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', minWidth: 180, maxWidth: 350, suppressMovable: true\r\n },\r\n { field: 'TTGAType', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', headerName: \"TTGA Type\", minWidth: 40, suppressMovable: true },\r\n { field: 'Domicile', sortable: true, headerName: \"Dom\", sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 40, suppressMovable: true },\r\n { field: 'Seat', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', minWidth: 40, suppressMovable: true },\r\n { field: 'From', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', comparator: dateComparator, minWidth: 70, suppressMovable: true },\r\n { field: 'To', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', comparator: dateComparator, minWidth: 70, suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let newLink = `
${statusDisplay}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 140, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n maxWidth: 60,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n columnDefsClosed_OnExcluded: ColDef[] = [\r\n { field: 'Title', minWidth: 213, width: 275, maxWidth: 300, resizable: true, sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', tooltipField: 'Title', suppressMovable: true },\r\n {\r\n field: 'Status', sortable: true, sortingOrder: ['asc', 'desc'], sort: 'desc', cellRenderer: (params) => {\r\n let keyData = params.data.ID;\r\n let status = params.data.Status;\r\n const statusDisplay = `${status}`;\r\n if (this.isSelectMode) {\r\n return statusDisplay;\r\n }\r\n let marginLeftStyle = status === 'Active' ? 'margin-left: 0.5rem !important;' : '';\r\n let newLink = `
${status}
`;\r\n return newLink;\r\n },\r\n onCellClicked: function (event) {\r\n const target = event.event.target as HTMLElement;\r\n const id = target.dataset.id;\r\n if (target.classList.contains('edit-icon')) {\r\n event.event.preventDefault();\r\n redirectToEditPage(id);\r\n } else if (target.classList.contains('delete-icon')) {\r\n event.event.preventDefault();\r\n deleteItem(id);\r\n }\r\n }, minWidth: 123, maxWidth: 123, suppressMovable: true, cellClass: 'no-border'\r\n },\r\n {\r\n field: 'checkbox',\r\n headerCheckboxSelection: true,\r\n checkboxSelection: true,\r\n hide: true,\r\n minWidth: 40,\r\n cellClass: 'no-border'\r\n }\r\n ];\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridApi.setDomLayout(\"autoHeight\");\r\n response = ReadStaticData();\r\n this.tTGAPairingGridResults = JSON.parse(response);\r\n this.rowData = this.tTGAPairingGridResults;\r\n this.gridApi.setRowData(this.rowData);\r\n params.api.sizeColumnsToFit();\r\n }\r\n\r\n getGridData() {\r\n this.dataService.getTTGAPairingDetails().subscribe((data: TTGAPairingGridResults[]) => {\r\n this.tTGAPairingGridResults = data;\r\n this.rowData = JSON.parse(this.tTGAPairingGridResults.toString());\r\n if (this.rowData.length == 0) {\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-row-summary-panel\").setAttribute('class', 'ag-paging-row-summary-panel d-none')\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-page-summary-panel\").setAttribute('class', 'ag-paging-page-summary-panel d-none')\r\n }\r\n else {\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-row-summary-panel\").setAttribute('class', 'ag-paging-row-summary-panel')\r\n this.elementRef.nativeElement.querySelector(\".ag-theme-alpine > .ag-root-wrapper > .ag-paging-panel > .ag-paging-page-summary-panel\").setAttribute('class', 'ag-paging-page-summary-panel')\r\n }\r\n this.gridApi.setRowData(this.rowData);\r\n this.gridApi.paginationGoToPage(0);/// every time the page results will start diplaying from 1st page.\r\n });\r\n\r\n }\r\n}\r\n\r\nfunction dateComparator(date1: string, date2: string) {\r\n var date1Number = monthToComparableNumber(date1);\r\n var date2Number = monthToComparableNumber(date2);\r\n\r\n if (date1Number == null && date2Number == null) {\r\n return 0;\r\n }\r\n if (date1Number == null) {\r\n return -1;\r\n }\r\n if (date2Number == null) {\r\n return 1;\r\n }\r\n\r\n return date1Number - date2Number;\r\n}\r\n\r\n// eg 29/08/2004 gets converted to 20040829\r\nfunction monthToComparableNumber(date: string): number {\r\n if (date === undefined || date === null || date.length !== 10) {\r\n return null;\r\n }\r\n\r\n const yearNumber = Number.parseInt(date.substring(6, 10));\r\n const dayNumber = Number.parseInt(date.substring(3, 5));\r\n const monthNumber = Number.parseInt(date.substring(0, 2));\r\n\r\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\r\n}\r\n\r\nfunction deleteItem(id) {\r\n const deleteItemIdInput = document.getElementById('deleteItemId') as HTMLInputElement;\r\n if (deleteItemIdInput) {\r\n deleteItemIdInput.value = id.toString();\r\n }\r\n}\r\n\r\nfunction redirectToEditPage(id) {\r\n const editUrl = `?action=edit&id=${id}`;\r\n window.location.href = editUrl;\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}