{"version":3,"sources":["component/routes/partner-diversity/search/cert-search-filter.tsx","component/routes/partner-diversity/cert-details/partner-diversity-cert-details.tsx","component/routes/partner-diversity/search/partner-diversity-search.tsx","../../../../../src/internal/operators/finalize.ts","../../../../../src/internal/util/argsArgArrayOrObject.ts","../../../../../src/internal/util/mapOneOrManyArgs.ts","../../../../../src/internal/util/createObject.ts","../../../../../src/internal/observable/forkJoin.ts"],"names":["scope","createScope","reactInstance","React","Button","forReact","button","FlyInPanel","flyInPanel","Divider","divider","Checkbox","checkbox","SearchBox","searchBox","SUPPORTED_COUNTRIES","PartnerDiversityCertFilter","_ref","isFlyInOpen","onFlyInClose","onApplyFilter","mpnIdFilter","setMpnIdFilter","useState","startDate","setStartDate","endDate","setEndDate","statuses","setStatuses","Object","fromEntries","entries","FIRMOGRAPHIC_REVIEW_ACTION","filter","_ref2","key","map","_ref3","certificationType","setCertificationType","FIRMOGRAPHIC_CERTIFICATION_TYPE","_ref4","_ref5","countries","setCountries","countryCode","countriesFilter","setCountriesFilter","e","countrySearch","target","value","results","keys","country","Pipe","ResourcePipe","toLowerCase","startsWith","toString","length","resultCheckbox","resultMap","Map","countriesMap","forEach","get","set","filteredCountriesObj","countriesFilterMap","countriesObj","useEffect","_jsxs","id","heading","open","onHeAfterHide","children","_jsx","className","onHeInput","event","DatePicker","label","max","onChange","min","_ref16","checked","onHeChange","handleStatusFilterChange","status","prev","concat","onInput","onHeClear","_ref17","handleCountryFilterChange","Country","resourceKey","_ref18","handleCertificationTypeFilterChange","slot","appearance","onClick","triggerFilter","mpnId","_ref6","_ref7","Date","toISOString","countryCodes","_ref8","_ref9","certificateType","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","MessageBar","messageBar","TextArea","textArea","Icon","icon","PartnerDiversityCertDetails","_selectedCertDetail$f","_selectedCertDetail$f2","selectedCertDetail","loadingProfile","loadingFile","disableEdit","reviewAction","reviewComment","reviewInProgress","firmographicProfileDiversityDetails","businessProfile","onMessageBarHide","onIssueDateChange","onExpiryDateChange","onReviewActionChange","onReviewerCommentChange","onClickCertDownload","onSubmitReview","reviewActionOptions","labelKey","disabled","disableSave","CommonUtility","compareDate","issueDate","expiryDate","companyName","style","Loader","fullScreen","blockOperation","_Fragment","type","onHeAfterShow","el","document","getElementById","scrollIntoView","onHeHide","message","createdDateTime","toLocaleDateString","diverseOwnedBusiness","optionKey","Fragment","diverseLedBusiness","JSONParsePipe","fileMetaData","agencyName","name","fileName","required","option","index","Radio","rows","maxlength","resize","placeholder","fileDetails","reviewerComment","CommandBar","commandBar","PageTitle","pageTitle","initialState","loading","hasAdminRights","loadingCerts","searchCategory","FirmographicProfileDiversityDetails","BusinessProfileDetails","firmographicCerts","FirmographicCertChangeV2","FirmographicCertChange","isFilterOpen","MessageBarDetails","totalRecordsCount","totalDisplayedRecordsCount","nextContinuationToken","previousContinuationToken","loadingTable","searchString","PartnerDiversityToolSearch","Component","constructor","arguments","state","currentPageOffset","totalNumberOfPages","pageSize","totalRecordsInCurrentPage","totalRecordsInResultSet","firmographicCertChangeList","firmographicCertsFilter","filterV2","isDefault","certCategory","filterList","paginationDetails","pageOffset","diverseOwnedBusinessOptions","diverseLedBusinessOptions","searchCategories","tableHeaders","fieldName","minWidth","isResizable","onRender","row","href","this","openCertDetails","isMultiline","_row$fileDetails","_row$fileDetails$","_row$fileDetails2","_row$fileDetails2$","actionId","unsubscribe","Subject","handleSearchChange","searchStringValue","setState","searchTerm","filtered","entry","_Pipe","_Pipe2","_entry$fileDetails","_entry$fileDetails$","_Pipe3","_Pipe4","includes","trim","paginationOnPreviousClick","getPartnerDiversityCertsAndMetadata","paginationOnNextClick","componentDidMount","push","CertCategory","Pending","isFromFilter","forkJoin","FirmographicService","getFirmographicCertsByFilter","from","getAllFirmographicOptions","pipe","takeUntil","catchError","err","of","finalize","subscribe","responses","handleFirmographicCerts","searchText","sort","a","b","_a$fileDetails","_b$fileDetails","_a$fileDetails2","_b$fileDetails2","InReview","handleFilter","postRequest","FirmographicCertSearchRequest","countryFilter","Filter","Type","CountryCode","filterValue","filterCondition","FilterCondition","AND","dateFilter","GTE","split","LTE","BETWEEN","MpnId","parsedStatuses","e1","FIRMOGRAPHIC_REVIEW_STATUS","item","pos","indexOf","All","parsedCertificateType","toLocaleUpperCase","certificateTypeFilter","CertificateType","handleSearchCategoryChange","handleReviewActionChange","handleReviewerCommentChange","handleFlyInClose","handleDateChange","dateField","formattedDate","fileId","JSON","parse","stringify","getFirmographicProfile","accountId","getBusinessProfile","dateString","issueYear","issueMonth","issueDay","firmographicProfileArray","getDiversityDetails","getLegalBusinessProfile","getbusinessDetails","getFirmographicFiles","fileDownloadResponse","find","file","undefined","fileData","downloadFileFromBase64String","contentType","firmographicProfile","_firmographicProfile$","firmographicOptions","profileDetails","options","reduce","optionKeys","question","values","optionId","reviewFirmographicCerts","sellerId","fileMetaDataParsed","reviewActions","fileMetadata","reviewedBy","ServerData","loggedInEmailId","businessGroup","ROLE_NAMESPACES","PartnerDiversityOps","reviewDate","success","updatedCert","cert","componentWillUnmount","next","complete","render","actionsPosition","ShimmeredDetailsList","items","columns","selectionMode","SelectionMode","none","enableShimmer","ariaLabelForShimmer","ariaLabelForGrid","PaginationExt","isNextDisabled","isPreviousDisabled","onNextClick","onPreviousClick","totalDisplayedRecordCount","action","comment","NotAuthorizedComponent","withRouter","createObject"],"mappings":"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","file":"en-us/dashboard/account/exp/staticres/static/js/7.e35d9d02.chunk.js","sourcesContent":["/**\r\n * @description The HoverCard component\r\n */\r\nimport React, { ChangeEvent, useEffect, useState } from \"react\";\r\nimport { DatePicker } from \"../../../reusables\";\r\nimport { Pipe, ResourcePipe } from \"../../../../pipes\";\r\nimport { Country, FirmographicCertFilter } from \"../../../../models\";\r\nimport { FIRMOGRAPHIC_CERTIFICATION_TYPE, FIRMOGRAPHIC_REVIEW_ACTION } from \"../../../../../src/constants\";\r\n\r\nimport \"./cert-search-filter.scss\";\r\nimport { createScope, button, flyInPanel, divider, checkbox, searchBox} from '@harmony/enablers/react';\r\nconst scope = createScope({\r\n reactInstance: React\r\n});\r\n\r\nconst Button = scope.forReact(button);\r\nconst FlyInPanel = scope.forReact(flyInPanel);\r\nconst Divider = scope.forReact(divider);\r\nconst Checkbox = scope.forReact(checkbox);\r\nconst SearchBox = scope.forReact(searchBox);\r\n\r\n\r\nconst SUPPORTED_COUNTRIES = [\"BR\",\"CN\",\"FR\",\"DE\",\"IN\",\"IE\",\"IL\",\"JP\",\"SG\",\"ES\",\"NL\",\"US\",\"CA\",\"GB\",\"AU\",\"NZ\"];\r\n\r\ntype IPropType = {\r\n isFlyInOpen: boolean;\r\n onFlyInClose: (event: any) => void;\r\n onApplyFilter: (filter: FirmographicCertFilter) => void;\r\n};\r\nexport const PartnerDiversityCertFilter: React.FC<IPropType> = ({\r\n isFlyInOpen,\r\n onFlyInClose,\r\n onApplyFilter,\r\n}) => {\r\n const [mpnIdFilter, setMpnIdFilter] = useState(\"\");\r\n const [startDate, setStartDate] = useState(\"\");\r\n const [endDate, setEndDate] = useState(\"\");\r\n const [statuses, setStatuses] = useState(\r\n Object.fromEntries(\r\n Object.entries(FIRMOGRAPHIC_REVIEW_ACTION)\r\n .filter(([key]) => +key !== 3)\r\n .map(([key]) => [key, +key === 1 || +key === 2])\r\n )\r\n );\r\n\r\n const [certificationType, setCertificationType] = useState(\r\n Object.fromEntries(\r\n Object.entries(FIRMOGRAPHIC_CERTIFICATION_TYPE)\r\n .filter(([key]) => +key !== 3)\r\n .map(([key]) => [key, false])\r\n )\r\n );\r\n\r\n const [countries, setCountries] = useState(\r\n Object.fromEntries(\r\n SUPPORTED_COUNTRIES.map((countryCode) => [countryCode, false])\r\n )\r\n );\r\n\r\n const [countriesFilter, setCountriesFilter] = useState(\r\n Object.fromEntries(\r\n SUPPORTED_COUNTRIES.map((countryCode) => [countryCode, false])\r\n )\r\n );\r\n\r\n const filter = (e: any) => {\r\n let countrySearch = (e.target as searchBox).value;\r\n if(countrySearch) {\r\n const results = Object.keys(countriesFilter).filter(country =>\r\n Pipe(ResourcePipe)('Country_'+country).toLowerCase().startsWith(countrySearch.toString().toLowerCase())\r\n );\r\n if(results.length <= 0){\r\n setCountries(countriesFilter)\r\n }else{\r\n const resultCheckbox = Object.fromEntries(results.map((countryCode) => [countryCode, false]))\r\n const resultMap = new Map(Object.entries(resultCheckbox));\r\n const countriesMap = new Map(Object.entries(countries));\r\n resultMap.forEach((value, key) => {\r\n if(countriesMap.get(key)){\r\n resultMap.set(key, true);\r\n }else{\r\n resultMap.set(key, false);\r\n }\r\n });\r\n const filteredCountriesObj = Object.fromEntries(resultMap);\r\n const countriesFilterMap = new Map(Object.entries(countriesFilter));\r\n countriesMap.forEach((value, key) => {\r\n if(value){\r\n countriesFilterMap.set(key, true);\r\n }else{\r\n countriesFilterMap.set(key, false);\r\n }\r\n });\r\n const countriesObj = Object.fromEntries(countriesFilterMap);\r\n setCountriesFilter(countriesObj);\r\n setCountries(filteredCountriesObj);\r\n }\r\n } else {\r\n setCountries(countriesFilter);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const countriesMap = new Map(Object.entries(countries));\r\n const countriesFilterMap = new Map(Object.entries(countriesFilter));\r\n countriesMap.forEach((value, key) => {\r\n if(countriesMap.get(key)){\r\n countriesFilterMap.set(key, true);\r\n }else{\r\n countriesFilterMap.set(key, false);\r\n }\r\n });\r\n const countriesObj = Object.fromEntries(countriesFilterMap);\r\n setCountriesFilter(countriesObj);\r\n },[countries])\r\n\r\n const handleStatusFilterChange = (status: string, checked: boolean) => {\r\n setStatuses((prev) => {\r\n const statuses = { ...prev };\r\n statuses[status] = checked;\r\n return statuses;\r\n });\r\n };\r\n\r\n const handleCertificationTypeFilterChange = (status: string, checked: boolean) => {\r\n setCertificationType((prev) => {\r\n const certificationType = { ...prev };\r\n certificationType[status] = checked;\r\n return certificationType;\r\n });\r\n };\r\n\r\n const handleCountryFilterChange = (countryCode: string, checked: boolean) => {\r\n setCountries((prev) => {\r\n const countries = { ...prev };\r\n countries[countryCode] = checked;\r\n return countries;\r\n });\r\n };\r\n\r\n const triggerFilter = () => {\r\n const filter: FirmographicCertFilter = {\r\n mpnId: mpnIdFilter,\r\n statuses: Object.entries(statuses)\r\n .filter(([, checked]) => checked)\r\n .map(([key]) => +key),\r\n startDate: startDate\r\n ? new Date(`${startDate} 00:00:00`).toISOString()\r\n : \"\",\r\n endDate: endDate ? new Date(`${endDate} 23:59:59`).toISOString() : \"\",\r\n countryCodes: Object.entries(countriesFilter)\r\n .filter(([, checked]) => checked)\r\n .map(([countryCode]) => countryCode),\r\n certificateType: Object.entries(certificationType)\r\n .filter(([, checked]) => checked)\r\n .map(([key]) => +key),\r\n };\r\n onApplyFilter(filter);\r\n };\r\n\r\n const resetFilter = () => {\r\n setMpnIdFilter(\"\");\r\n setStartDate(\"\");\r\n setEndDate(\"\");\r\n setStatuses(\r\n Object.fromEntries(\r\n Object.entries(FIRMOGRAPHIC_REVIEW_ACTION)\r\n .filter(([key]) => +key !== 3)\r\n .map(([key]) => [key, +key === 1 || +key === 2])\r\n )\r\n );\r\n setCertificationType(\r\n Object.fromEntries(\r\n Object.entries(FIRMOGRAPHIC_CERTIFICATION_TYPE)\r\n .filter(([key]) => +key !== 3)\r\n .map(([key]) => [key, false])\r\n )\r\n );\r\n setCountries(\r\n Object.fromEntries(\r\n SUPPORTED_COUNTRIES.map((countryCode) => [countryCode, false])\r\n )\r\n );\r\n };\r\n\r\n return (\r\n <FlyInPanel\r\n id=\"certfilter-fly-in-panel\"\r\n heading={Pipe(ResourcePipe)(\"Common_Filter\")}\r\n open={isFlyInOpen}\r\n onHeAfterHide={onFlyInClose}\r\n >\r\n <p className=\"font-weight-600 spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"Mpn_AssociationList_TableHeader_MpnId\")}\r\n </p>\r\n <SearchBox\r\n value={mpnIdFilter}\r\n onHeInput={(event: any) =>\r\n setMpnIdFilter((event.target as searchBox).value.toString())\r\n }\r\n />\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <p className=\"font-weight-600 spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"DnITool_SubmissionDateFilter\")}\r\n </p>\r\n <DatePicker\r\n className=\"spacer-xs-top\"\r\n id=\"filter-start-date\"\r\n label={Pipe(ResourcePipe)(\"Common_StartDate\")}\r\n max={endDate}\r\n value={startDate}\r\n onChange={(event) => setStartDate(event.target.value)}\r\n />\r\n <DatePicker\r\n className=\"spacer-xs-top\"\r\n id=\"filter-end-date\"\r\n label={Pipe(ResourcePipe)(\"Common_EndDate\")}\r\n min={startDate}\r\n value={endDate}\r\n onChange={(event) => setEndDate(event.target.value)}\r\n />\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <p className=\"font-weight-600 spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"Common_Status\")}\r\n </p>\r\n <div className=\"flex-column\">\r\n {Object.entries(statuses).map(([key, checked]) => (\r\n <Checkbox\r\n key={`status-${key}`}\r\n checked={checked}\r\n onHeChange={() => handleStatusFilterChange(key, !checked)}\r\n >\r\n {Pipe(ResourcePipe)(FIRMOGRAPHIC_REVIEW_ACTION[key])}\r\n </Checkbox>\r\n ))}\r\n </div>\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <p className=\"font-weight-600 spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"Common_Country\")}\r\n </p>\r\n <SearchBox \r\n onInput={(event: any) => \r\n {filter(event)}} \r\n onHeClear={(event: any) =>\r\n { filter(event) }} \r\n />\r\n <div className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <div className=\"country-flex-column\">\r\n {Object.entries(countries).map(([countryCode, checked]) => (\r\n <Checkbox\r\n key={`status-${countryCode}`}\r\n checked={checked}\r\n onHeChange={() => handleCountryFilterChange(countryCode, !checked)}\r\n >\r\n {Pipe(ResourcePipe)(new Country(countryCode).resourceKey)}\r\n </Checkbox>\r\n ))}\r\n </div>\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <p className=\"font-weight-600 spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"Common_Certification\")}\r\n </p>\r\n <div className=\"flex-column\">\r\n {Object.entries(certificationType).map(([key, checked]) => (\r\n <Checkbox\r\n key={`status-${key}`}\r\n checked={checked}\r\n onHeChange={() => handleCertificationTypeFilterChange(key, !checked)}\r\n >\r\n {Pipe(ResourcePipe)(FIRMOGRAPHIC_CERTIFICATION_TYPE[key])}\r\n </Checkbox>\r\n ))}\r\n </div>\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <div slot=\"footer\">\r\n <Button\r\n className=\"spacer-xxs-right\"\r\n appearance=\"primary\"\r\n onClick={() => triggerFilter()}\r\n >\r\n {Pipe(ResourcePipe)(\"Common_Apply\")}\r\n </Button>\r\n <Button appearance=\"secondary\" onClick={() => resetFilter()}>\r\n {Pipe(ResourcePipe)(\"Common_Reset\")}\r\n </Button>\r\n </div>\r\n </FlyInPanel>\r\n );\r\n};\r\n","/**\r\n * @description The HoverCard component\r\n */\r\nimport React, { ChangeEvent, useState } from \"react\";\r\nimport { DatePicker, Loader, Radio, RadioOption } from \"../../../reusables\";\r\nimport { JSONParsePipe, Pipe, ResourcePipe } from \"../../../../pipes\";\r\nimport {\r\n BusinessProfileDetails,\r\n Country,\r\n FileMetaData,\r\n FirmographicCertChange,\r\n FirmographicProfileDiversityDetails,\r\n MessageBarDetails,\r\n} from \"../../../../models\";\r\n\r\nimport { CommonUtility } from \"../../../../../src/utility\";\r\nimport { FIRMOGRAPHIC_REVIEW_ACTION } from \"../../../../../src/constants\";\r\n\r\nimport \"./partner-diversity-cert-details.scss\";\r\nimport { createScope, button, messageBar, textArea, icon , flyInPanel, divider} from '@harmony/enablers/react';\r\n\r\nimport \"./partner-diversity-cert-details.scss\";\r\nimport { CSSProperties } from \"@harmony/enablers/react/scope-for-react\";\r\nconst scope = createScope({\r\n // ...\r\n reactInstance: React\r\n});\r\n\r\nconst Button = scope.forReact(button);\r\nconst MessageBar : any = scope.forReact(messageBar);\r\nconst TextArea: any = scope.forReact(textArea);\r\nconst Icon = scope.forReact(icon);\r\nconst FlyInPanel = scope.forReact(flyInPanel);\r\nconst Divider = scope.forReact(divider);\r\n\r\ntype IPropType = {\r\n isFlyInOpen: boolean;\r\n loadingProfile: boolean;\r\n loadingFile: boolean;\r\n reviewInProgress: boolean;\r\n selectedCertDetail: FirmographicCertChange;\r\n disableEdit: boolean;\r\n reviewAction: number;\r\n reviewComment: string;\r\n messageBar: MessageBarDetails;\r\n firmographicProfileDiversityDetails: FirmographicProfileDiversityDetails;\r\n businessProfile: BusinessProfileDetails;\r\n onFlyInClose: (event: any) => void;\r\n onMessageBarHide: () => void;\r\n onIssueDateChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onExpiryDateChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onReviewActionChange: (action: number) => void;\r\n onReviewerCommentChange: (comment: string) => void;\r\n onClickCertDownload: () => void;\r\n onSubmitReview: () => void;\r\n};\r\n\r\nexport const PartnerDiversityCertDetails: React.FC<IPropType> = ({\r\n isFlyInOpen,\r\n selectedCertDetail,\r\n loadingProfile,\r\n loadingFile,\r\n disableEdit,\r\n reviewAction,\r\n reviewComment,\r\n reviewInProgress,\r\n messageBar,\r\n firmographicProfileDiversityDetails,\r\n businessProfile,\r\n onFlyInClose,\r\n onMessageBarHide,\r\n onIssueDateChange,\r\n onExpiryDateChange,\r\n onReviewActionChange,\r\n onReviewerCommentChange,\r\n onClickCertDownload,\r\n onSubmitReview,\r\n}) => {\r\n const reviewActionOptions: RadioOption<number>[] = Object.entries(\r\n FIRMOGRAPHIC_REVIEW_ACTION\r\n )\r\n .filter(([key]) => +key !== 3)\r\n .map(([key, value]) => ({\r\n value: +key,\r\n labelKey: value,\r\n disabled: +key === 1,\r\n }));\r\n\r\n const onMessageBarShow = (event: ChangeEvent) => {\r\n if (event.target.id === \"dni-message-bar\") {\r\n const el = document.getElementById(\"dni-message-bar-wrapper\");\r\n if (el) {\r\n el.scrollIntoView();\r\n }\r\n }\r\n };\r\n \r\n const disableSave = () => {\r\n if(reviewAction == 4){\r\n return !(\r\n !reviewInProgress &&\r\n CommonUtility.compareDate(\r\n selectedCertDetail.issueDate!,\r\n selectedCertDetail.expiryDate\r\n ) > 0\r\n );\r\n }else{\r\n return !(\r\n !reviewInProgress &&\r\n reviewAction > 1\r\n );\r\n }\r\n };\r\n \r\n return (\r\n <FlyInPanel\r\n id=\"dni-fly-in-panel\"\r\n heading={businessProfile.companyName}\r\n open={isFlyInOpen}\r\n onHeAfterHide={onFlyInClose}\r\n style={\r\n {\r\n \"--size\": \"680px\",\r\n \"--header-padding-y\": \"25% 6% 0\",\r\n } as CSSProperties\r\n }\r\n >\r\n {loadingProfile ? (\r\n <div className=\"loading-wrapper\">\r\n <Loader fullScreen={false} blockOperation={true} />\r\n </div>\r\n ) : (\r\n <>\r\n <div id=\"dni-message-bar-wrapper\">\r\n <MessageBar\r\n id=\"dni-message-bar\"\r\n type={messageBar.type}\r\n open={messageBar.open}\r\n onHeAfterShow={onMessageBarShow}\r\n onHeHide={onMessageBarHide}\r\n >\r\n {messageBar.message}\r\n </MessageBar>\r\n </div>\r\n <div\r\n className={`firmographic-profile ${\r\n messageBar.open ? \"spacer-sm-top\" : \"\"\r\n }`}\r\n >\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Mpn_AssociationList_TableHeader_MpnId\")}:\r\n </div>\r\n <div className=\"col-xs-16\">{selectedCertDetail.mpnId}</div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Common_SubmittedOn\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {new Date(\r\n selectedCertDetail.createdDateTime\r\n ).toLocaleDateString()}\r\n </div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Common_Country\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {Pipe(ResourcePipe)(\r\n new Country(selectedCertDetail.countryCode!).resourceKey\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Diverse-owned business\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {firmographicProfileDiversityDetails.diverseOwnedBusiness.map(\r\n (optionKey) => (\r\n <React.Fragment key={optionKey}>\r\n {Pipe(ResourcePipe)(optionKey)}\r\n <br />\r\n </React.Fragment>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Diverse-led business\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {firmographicProfileDiversityDetails.diverseLedBusiness.map(\r\n (optionKey) => (\r\n <React.Fragment key={optionKey}>\r\n {Pipe(ResourcePipe)(optionKey)}\r\n <br />\r\n </React.Fragment>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <div className=\"cert-detail\">\r\n <h5 className=\"spacer-sm-bottom\">\r\n {Pipe(ResourcePipe)(\"DnITool_Certification\")}\r\n </h5>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"DnITool_CertificationAgency\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {Pipe(ResourcePipe)(selectedCertDetail.optionKey)}\r\n {selectedCertDetail.optionKey === \"OTPC\" && (\r\n <>\r\n <br />\r\n {\r\n Pipe(JSONParsePipe<FileMetaData>())(\r\n selectedCertDetail.fileMetaData\r\n ).agencyName\r\n }\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Common_CertificateType\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n {selectedCertDetail.certificateType}\r\n </div>\r\n </div>\r\n <div className=\"row spacer-xs-bottom\">\r\n <div className=\"col-xs-8 font-weight-600\">\r\n {Pipe(ResourcePipe)(\"Common_Certificate\")}:\r\n </div>\r\n <div className=\"col-xs-16\">\r\n <Button\r\n className=\"download-file-btn\"\r\n disabled={loadingFile}\r\n appearance=\"command\"\r\n onClick={onClickCertDownload}\r\n >\r\n <Icon slot=\"start\" name=\"download\" />\r\n {selectedCertDetail.fileName}\r\n </Button>\r\n {loadingFile && (\r\n <Loader fullScreen={false} blockOperation={false} />\r\n )}\r\n </div>\r\n </div>\r\n <DatePicker\r\n className=\"cert-date-picker spacer-xs-top\"\r\n id=\"issue-date\"\r\n label={Pipe(ResourcePipe)(\"DnITool_CertIssueDate\")}\r\n max={selectedCertDetail.expiryDate}\r\n value={selectedCertDetail.issueDate!}\r\n required={true}\r\n onChange={onIssueDateChange}\r\n disabled={disableEdit}\r\n />\r\n <DatePicker\r\n className=\"cert-date-picker spacer-xs-top\"\r\n id=\"expiry-date\"\r\n label={Pipe(ResourcePipe)(\"DnITool_CertExpiryDate\")}\r\n min={selectedCertDetail.issueDate}\r\n value={selectedCertDetail.expiryDate!}\r\n required={true}\r\n onChange={onExpiryDateChange}\r\n disabled={disableEdit}\r\n />\r\n </div>\r\n <Divider className=\"spacer-xs-top spacer-xs-bottom\" />\r\n <div className=\"cert-action\">\r\n <h5 id=\"certification-statue\">\r\n {Pipe(ResourcePipe)(\"DnITool_CertificationStatus\")}\r\n </h5>\r\n {reviewActionOptions.map((option, index) => (\r\n <Radio\r\n key={`reviewActionOptionRadio-${index}`}\r\n id={`reviewActionOptionRadio-${index}`}\r\n name=\"reviewActionOptionRadio\"\r\n disabled={option.disabled || disableEdit}\r\n checked={reviewAction === option.value}\r\n onChange={() => onReviewActionChange(option.value)}\r\n >\r\n {Pipe(ResourcePipe)(option.labelKey)}\r\n </Radio>\r\n ))}\r\n <TextArea\r\n rows={1}\r\n maxlength={3000}\r\n resize=\"vertical\"\r\n placeholder={Pipe(ResourcePipe)(\"FormField_Comments_Placeholder\")}\r\n value={reviewComment == \"\" ? selectedCertDetail.fileDetails?.[0]?.reviewerComment : reviewComment}\r\n onInput={(event: ChangeEvent<HTMLInputElement>) =>\r\n onReviewerCommentChange(event.target.value)\r\n }\r\n disabled={disableEdit}\r\n >\r\n <label className=\"form-label\">\r\n {Pipe(ResourcePipe)(\"FormField_Comments_Label\")}\r\n </label>\r\n </TextArea>\r\n </div>\r\n <div slot=\"footer\">\r\n <Button\r\n disabled={disableSave() || disableEdit}\r\n appearance={`${disableSave() ? \"secondary\" : \"primary\"}`}\r\n onClick={onSubmitReview}\r\n >\r\n {Pipe(ResourcePipe)(\"Common_Save\")}\r\n </Button>\r\n </div>\r\n </>\r\n )}\r\n </FlyInPanel>\r\n );\r\n};\r\n","import React, { ChangeEvent, Component } from \"react\";\r\nimport { withRouter } from \"react-router\";\r\nimport {\r\n FIRMOGRAPHIC_CERTIFICATION_TYPE,\r\n FIRMOGRAPHIC_REVIEW_ACTION,\r\n FIRMOGRAPHIC_REVIEW_STATUS,\r\n ROLE_NAMESPACES,\r\n} from \"../../../../constants\";\r\nimport { Loader, Radio, RadioOption } from \"../../../reusables\";\r\nimport { FirmographicService } from \"../../../../services\";\r\nimport { Pipe, ResourcePipe } from \"../../../../pipes\";\r\nimport { CommonUtility, ServerData } from \"../../../../utility\";\r\nimport { forkJoin, from, of, Subject } from \"rxjs\";\r\nimport { catchError, finalize, map, takeUntil } from \"rxjs/operators\";\r\nimport {\r\n BusinessProfileDetails,\r\n CertCategory,\r\n Country,\r\n FileDownloadData,\r\n FirmographicCertAction,\r\n FirmographicCertChange,\r\n FirmographicCertChangeV2,\r\n FirmographicCertFilter,\r\n FirmographicProfile,\r\n FirmographicProfileDiversityDetails,\r\n IFirmographicProfileQuestion,\r\n MessageBarDetails,\r\n FirmographicCertSearchRequest,\r\n Type,\r\n Filter,\r\n FilterCondition,\r\n} from \"../../../../models\";\r\nimport { NotAuthorizedComponent } from \"../../../shared\";\r\n\r\nimport { IColumn, SelectionMode, ShimmeredDetailsList } from \"@fluentui/react\";\r\nimport { PartnerDiversityCertFilter } from \"./cert-search-filter\";\r\nimport { PartnerDiversityCertDetails } from \"../cert-details\";\r\n\r\nimport \"./partner-diversity-search.scss\";\r\nimport { PaginationExt } from \"../../../extended-reusables/pagination\";\r\n\r\nimport { createScope, commandBar, searchBox , pageTitle, button, icon , divider } from '@harmony/enablers/react';\r\n\r\nconst scope = createScope({\r\n reactInstance: React\r\n});\r\n\r\n\r\nconst CommandBar = scope.forReact(commandBar);\r\nconst SearchBox = scope.forReact(searchBox);\r\nconst PageTitle = scope.forReact(pageTitle);\r\nconst Button = scope.forReact(button);\r\nconst Icon = scope.forReact(icon);\r\nconst Divider = scope.forReact(divider);\r\n\r\n\r\ntype IPropType = {};\r\n\r\ntype IStateType = {\r\n loading: boolean;\r\n loadingTable: boolean;\r\n hasAdminRights: boolean;\r\n loadingCerts: boolean;\r\n loadingProfile: boolean;\r\n loadingFile: boolean;\r\n searchCategory: string;\r\n firmographicProfileDiversityDetails: FirmographicProfileDiversityDetails;\r\n businessProfile: BusinessProfileDetails;\r\n firmographicCerts: FirmographicCertChangeV2;\r\n selectedCertDetail: FirmographicCertChange;\r\n isFilterOpen: boolean;\r\n isFlyInOpen: boolean;\r\n disableEdit: boolean;\r\n reviewAction: number;\r\n reviewComment: string;\r\n reviewInProgress: boolean;\r\n messageBar: MessageBarDetails;\r\n totalRecordsCount: number;\r\n totalDisplayedRecordsCount: number;\r\n nextContinuationToken: string | null;\r\n previousContinuationToken: string[] | null;\r\n searchString: string;\r\n};\r\n\r\n/**\r\n * State definition\r\n */\r\nconst initialState: IStateType = {\r\n loading: false,\r\n hasAdminRights: false,\r\n loadingCerts: false,\r\n loadingProfile: false,\r\n loadingFile: false,\r\n searchCategory: \"companyName\",\r\n firmographicProfileDiversityDetails: new FirmographicProfileDiversityDetails(),\r\n businessProfile: new BusinessProfileDetails(),\r\n firmographicCerts: new FirmographicCertChangeV2(),\r\n selectedCertDetail: new FirmographicCertChange(),\r\n isFilterOpen: false,\r\n isFlyInOpen: false,\r\n disableEdit: false,\r\n reviewAction: 0,\r\n reviewComment: \"\",\r\n reviewInProgress: false,\r\n messageBar: new MessageBarDetails(),\r\n totalRecordsCount: 0,\r\n totalDisplayedRecordsCount: 0,\r\n nextContinuationToken: null,\r\n previousContinuationToken: [],\r\n loadingTable: false,\r\n searchString: \"\"\r\n};\r\n\r\n/**\r\n * Class used to display the Partner Diversity Ops Tool\r\n */\r\nexport class PartnerDiversityToolSearch extends Component<\r\n IPropType,\r\n IStateType\r\n> {\r\n state = initialState;\r\n private firmographicCerts: FirmographicCertChangeV2 = {\r\n currentPageOffset: 0,\r\n totalNumberOfPages: 0,\r\n pageSize: 0,\r\n totalRecordsInCurrentPage: 0,\r\n totalRecordsInResultSet: 0,\r\n firmographicCertChangeList: []\r\n };\r\n private firmographicCertsFilter: FirmographicCertChangeV2 = {\r\n currentPageOffset: 0,\r\n totalNumberOfPages: 0,\r\n pageSize: 0,\r\n totalRecordsInCurrentPage: 0,\r\n totalRecordsInResultSet: 0,\r\n firmographicCertChangeList: []\r\n };\r\n\r\n private filterV2: FirmographicCertSearchRequest = {\r\n isDefault: true,\r\n certCategory: [],\r\n filterList: [],\r\n paginationDetails: {\r\n pageSize: 50,\r\n pageOffset: 1\r\n },\r\n searchCategory: {}\r\n };\r\n\r\n private diverseOwnedBusinessOptions: IFirmographicProfileQuestion[] = [];\r\n private diverseLedBusinessOptions: IFirmographicProfileQuestion[] = [];\r\n\r\n private searchCategories: RadioOption<string>[] = [\r\n { value: \"mpnId\", labelKey: \"Mpn_AssociationList_TableHeader_MpnId\" },\r\n { value: \"accountId\", labelKey: \"Common_AccountId\" },\r\n { value: \"country\", labelKey: \"Country\" },\r\n // { value: \"companyName\", labelKey: \"Common_CompanyName\" },\r\n ];\r\n\r\n private tableHeaders: IColumn[] = [\r\n {\r\n key: \"fileName\",\r\n name: Pipe(ResourcePipe)(\"Common_Certificate\"),\r\n fieldName: \"fileName\",\r\n minWidth: 200,\r\n isResizable: true,\r\n onRender: (row: FirmographicCertChange) => (\r\n <a href=\"javascript: false\" onClick={() => this.openCertDetails(row)}>\r\n {row.fileName}\r\n </a>\r\n ),\r\n },\r\n {\r\n key: \"certificateType\",\r\n name: Pipe(ResourcePipe)(\"Common_CertificateType\"),\r\n fieldName: \"certificateType\",\r\n minWidth: 120,\r\n isResizable: true,\r\n },\r\n {\r\n key: \"mpnId\",\r\n name: Pipe(ResourcePipe)(\"Mpn_AssociationList_TableHeader_MpnId\"),\r\n fieldName: \"mpnId\",\r\n minWidth: 100,\r\n isResizable: true,\r\n },\r\n {\r\n key: \"countryCode\",\r\n name: Pipe(ResourcePipe)(\"Common_Country\"),\r\n fieldName: \"countryCode\",\r\n isMultiline: true,\r\n minWidth: 100,\r\n isResizable: true,\r\n onRender: (row: FirmographicCertChange) =>\r\n Pipe(ResourcePipe)(new Country(row.countryCode).resourceKey),\r\n },\r\n {\r\n key: \"createdDateTime\",\r\n name: Pipe(ResourcePipe)(\"Common_SubmissionDate\"),\r\n fieldName: \"createdDateTime\",\r\n isMultiline: true,\r\n minWidth: 200,\r\n isResizable: true,\r\n onRender: (row: FirmographicCertChange) =>\r\n row.createdDateTime\r\n ? new Date(row.createdDateTime).toLocaleDateString()\r\n : \"\",\r\n },\r\n {\r\n key: \"status\",\r\n name: Pipe(ResourcePipe)(\"Common_Status\"),\r\n isMultiline: true,\r\n minWidth: 100,\r\n isResizable: true,\r\n onRender: (row: FirmographicCertChange) =>\r\n row.fileDetails?.[0]?.actionId\r\n ? Pipe(ResourcePipe)(\r\n FIRMOGRAPHIC_REVIEW_ACTION[row.fileDetails?.[0]?.actionId]\r\n )\r\n : \"\",\r\n },\r\n ];\r\n\r\n private unsubscribe = new Subject<void>();\r\n\r\n componentDidMount() {\r\n this.filterV2.certCategory.push(CertCategory.Pending);\r\n this.getPartnerDiversityCertsAndMetadata();\r\n }\r\n\r\n private getPartnerDiversityCertsAndMetadata(isFromFilter? : boolean) {\r\n this.setState({ \r\n loading: !isFromFilter,\r\n loadingCerts: !!isFromFilter\r\n });\r\n forkJoin([\r\n FirmographicService.getFirmographicCertsByFilter(this.filterV2),\r\n from(FirmographicService.getAllFirmographicOptions(112)),\r\n from(FirmographicService.getAllFirmographicOptions(113)),\r\n ])\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n catchError((err) => {\r\n return of(null);\r\n }),\r\n finalize(() =>\r\n this.setState({\r\n loading: false,\r\n loadingCerts: false\r\n })\r\n )\r\n )\r\n .subscribe((responses) => {\r\n if (responses) {\r\n this.setState({ hasAdminRights: true });\r\n const [\r\n firmographicCerts,\r\n diverseOwnedBusinessOptions,\r\n diverseLedBusinessOptions,\r\n ] = responses;\r\n this.handleFirmographicCerts(firmographicCerts);\r\n this.diverseOwnedBusinessOptions = diverseOwnedBusinessOptions;\r\n this.diverseLedBusinessOptions = diverseLedBusinessOptions;\r\n }\r\n });\r\n }\r\n\r\n private getFirmographicCertsByFilter(searchText: string) {\r\n this.setState({ loadingCerts: true });\r\n FirmographicService.getFirmographicCertsByFilter(this.filterV2)\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n catchError(() => of(null)),\r\n finalize(() =>\r\n this.setState({\r\n loadingCerts: false,\r\n })\r\n )\r\n )\r\n .subscribe((firmographicCerts) => {\r\n this.handleFirmographicCerts(firmographicCerts);\r\n });\r\n }\r\n\r\n //TODO: D&I team: Check functionality\r\n private handleSearchChange = (e:any) => {\r\n let searchStringValue = (e.target as searchBox).value.toString();\r\n this.setState({ searchString: searchStringValue });\r\n let searchTerm = searchStringValue;\r\n if(this.firmographicCertsFilter.firmographicCertChangeList.length <= 0){\r\n this.firmographicCertsFilter.firmographicCertChangeList = this.firmographicCerts.firmographicCertChangeList;\r\n }\r\n this.firmographicCerts.firmographicCertChangeList = this.firmographicCertsFilter.firmographicCertChangeList; \r\n let firmographicCertChangeListTemp = this.firmographicCerts.firmographicCertChangeList;\r\n const filtered = firmographicCertChangeListTemp.filter(entry => \r\n Pipe(ResourcePipe)(new Country(entry.countryCode).resourceKey)?.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n Pipe(ResourcePipe)(FIRMOGRAPHIC_REVIEW_ACTION[entry.fileDetails?.[0]?.actionId])?.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n Pipe(ResourcePipe)(entry.certificateType)?.toLowerCase().includes(searchTerm.toLowerCase()) ||\r\n Pipe(ResourcePipe)(entry.mpnId)?.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n if(filtered.length && searchTerm.trim()){\r\n this.firmographicCertsFilter.firmographicCertChangeList = this.firmographicCerts.firmographicCertChangeList;\r\n this.firmographicCerts.firmographicCertChangeList = filtered;\r\n }\r\n if(searchTerm && searchTerm.trim().length <= 0){\r\n this.firmographicCerts.firmographicCertChangeList = this.firmographicCertsFilter.firmographicCertChangeList;\r\n }\r\n }\r\n\r\n\r\n private handleFirmographicCerts(\r\n firmographicCerts: FirmographicCertChangeV2 | null\r\n ) {\r\n if (firmographicCerts?.firmographicCertChangeList) {\r\n firmographicCerts.firmographicCertChangeList = firmographicCerts.firmographicCertChangeList.sort((a, b) => {\r\n if(this.filterV2.certCategory.length == 1 && this.filterV2.certCategory[0] == CertCategory.InReview && \r\n a.fileDetails[0].actionId == 2){\r\n return -1;\r\n }else if (a.fileDetails?.[0].actionId === b.fileDetails?.[0].actionId) {\r\n return CommonUtility.compareDate(\r\n b.createdDateTime,\r\n a.createdDateTime\r\n );\r\n }else {\r\n return a.fileDetails?.[0].actionId - b.fileDetails?.[0].actionId;\r\n }\r\n });\r\n\r\n this.filterV2.paginationDetails.pageOffset = firmographicCerts.currentPageOffset;\r\n this.filterV2.paginationDetails.pageSize = firmographicCerts.pageSize;\r\n this.firmographicCerts = firmographicCerts;\r\n this.setState({ firmographicCerts });\r\n }\r\n }\r\n\r\n private handleFilter({\r\n mpnId,\r\n startDate,\r\n endDate,\r\n statuses,\r\n countryCodes,\r\n certificateType,\r\n }: FirmographicCertFilter) {\r\n let postRequest = new FirmographicCertSearchRequest();\r\n this.setState( {isFilterOpen: false} );\r\n \r\n if(countryCodes.length > 0) {\r\n let countryFilter: Filter = new Filter();\r\n countryFilter.type = Type.CountryCode;\r\n countryFilter.filterValue = countryCodes.toString();\r\n countryFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(countryFilter);\r\n }\r\n\r\n if (startDate.trim().length !== 0 && endDate.trim().length === 0) {\r\n let dateFilter: Filter = new Filter();\r\n dateFilter.type = Type.Date;\r\n dateFilter.filterValue = FilterCondition.GTE.toString() + \",\" + startDate.split(\"T\")[0];\r\n dateFilter.filterCondition = FilterCondition.GTE;\r\n postRequest.filterList.push(dateFilter);\r\n } else if (startDate.trim().length === 0 && endDate.trim().length !== 0) {\r\n let dateFilter: Filter = new Filter();\r\n dateFilter.type = Type.Date;\r\n dateFilter.filterValue = FilterCondition.LTE.toString() + \",\" + endDate.split(\"T\")[0];\r\n dateFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(dateFilter);\r\n } else if (startDate.trim().length !== 0 && endDate.trim().length !== 0) {\r\n let dateFilter: Filter = new Filter();\r\n dateFilter.type = Type.Date;\r\n dateFilter.filterValue = FilterCondition.BETWEEN.toString() + \",\" + startDate.split(\"T\")[0] + \",\" + endDate.split(\"T\")[0];\r\n dateFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(dateFilter);\r\n }\r\n\r\n if (mpnId.trim().length !== 0) {\r\n let mpnIdFilter: Filter = new Filter();\r\n mpnIdFilter.type = Type.MpnId;\r\n mpnIdFilter.filterValue = mpnId.split(\",\").toString();\r\n mpnIdFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(mpnIdFilter);\r\n }\r\n\r\n if(statuses.length > 0){\r\n let parsedStatuses:CertCategory[] = statuses.map((e1) =>\r\n CertCategory[(FIRMOGRAPHIC_REVIEW_STATUS[e1]) as CertCategory]\r\n )\r\n parsedStatuses = parsedStatuses.filter(function(item, pos) {\r\n return parsedStatuses.indexOf(item) == pos;\r\n })\r\n if(parsedStatuses.length == 0){\r\n parsedStatuses.push(CertCategory.All);\r\n }\r\n postRequest.certCategory = parsedStatuses;\r\n }else if(statuses.length <= 0){\r\n postRequest.certCategory.push(CertCategory.All);\r\n }\r\n\r\n if(certificateType.length > 0){\r\n let parsedCertificateType:string[] = certificateType.map((e1) =>\r\n (FIRMOGRAPHIC_CERTIFICATION_TYPE[e1])\r\n );\r\n if(parsedCertificateType.length == 0 || parsedCertificateType.length >= 2 ||\r\n parsedCertificateType.length == 1 &&\r\n parsedCertificateType[0].toLocaleUpperCase() === \"all\"){\r\n let certificateTypeFilter: Filter = new Filter();\r\n certificateTypeFilter.type = Type.CertificateType;\r\n certificateTypeFilter.filterValue = (\"All\");\r\n certificateTypeFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(certificateTypeFilter);\r\n }else if(parsedCertificateType.length == 1 &&\r\n parsedCertificateType[0].toLocaleUpperCase() === \"Common_SocialImpact\".toLocaleUpperCase()){\r\n let certificateTypeFilter: Filter = new Filter();\r\n certificateTypeFilter.type = Type.CertificateType;\r\n certificateTypeFilter.filterValue = (\"SocialImpact\");\r\n certificateTypeFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(certificateTypeFilter);\r\n }\r\n else if(parsedCertificateType.length == 1 &&\r\n parsedCertificateType[0].toLocaleUpperCase() === \"Common_DiversityInclusion\".toLocaleUpperCase()){\r\n let certificateTypeFilter: Filter = new Filter();\r\n certificateTypeFilter.type = Type.CertificateType;\r\n certificateTypeFilter.filterValue = (\"DiversityAndInclusion\");\r\n certificateTypeFilter.filterCondition = FilterCondition.AND;\r\n postRequest.filterList.push(certificateTypeFilter);\r\n }\r\n }\r\n\r\n postRequest.paginationDetails.pageSize = 50;\r\n postRequest.paginationDetails.pageOffset = 1;\r\n\r\n this.filterV2 = postRequest;\r\n this.getPartnerDiversityCertsAndMetadata(true);\r\n }\r\n\r\n private handleSearchCategoryChange(searchCategory: string) {\r\n this.setState({ searchCategory });\r\n }\r\n\r\n private handleReviewActionChange(reviewAction: number) {\r\n this.setState({ reviewAction });\r\n }\r\n\r\n private handleReviewerCommentChange(reviewComment: string) {\r\n this.setState({ reviewComment });\r\n }\r\n\r\n private handleFlyInClose(event: any) {\r\n if (event.target.id === \"dni-fly-in-panel\") {\r\n this.setState({\r\n isFlyInOpen: false,\r\n messageBar: new MessageBarDetails(),\r\n reviewComment: \"\",\r\n selectedCertDetail: new FirmographicCertChange(),\r\n });\r\n } else if (event.target.id === \"certfilter-fly-in-panel\") {\r\n this.setState({ isFilterOpen: false });\r\n }\r\n }\r\n\r\n private handleDateChange(\r\n dateField: \"issueDate\" | \"expiryDate\",\r\n value: string\r\n ) {\r\n if (value) {\r\n this.setState((prev) => {\r\n const { selectedCertDetail } = prev;\r\n selectedCertDetail[dateField] = this.formattedDate(value);\r\n return { selectedCertDetail };\r\n });\r\n }\r\n }\r\n\r\n private openCertDetails(row: FirmographicCertChange) {\r\n if (this.state.selectedCertDetail.fileId !== row.fileId) {\r\n const selectedCertDetail: FirmographicCertChange = JSON.parse(\r\n JSON.stringify(row)\r\n );\r\n let issueDate: string;\r\n try {\r\n issueDate = JSON.parse(selectedCertDetail.fileMetaData!).issueDate;\r\n } catch {\r\n issueDate = \"\";\r\n }\r\n selectedCertDetail.issueDate = this.formattedDate(issueDate);\r\n selectedCertDetail.expiryDate = this.formattedDate(\r\n selectedCertDetail.expiryDate\r\n );\r\n const actionId = selectedCertDetail.fileDetails?.[0].actionId || 0;\r\n this.setState({\r\n isFlyInOpen: true,\r\n selectedCertDetail,\r\n reviewAction: actionId,\r\n disableEdit: [4, 5].includes(actionId),\r\n });\r\n this.getFirmographicProfile(selectedCertDetail?.accountId || \"\");\r\n this.getBusinessProfile(selectedCertDetail?.accountId || \"\");\r\n }\r\n }\r\n\r\n private formattedDate(dateString: string | undefined) {\r\n const [issueYear, issueMonth, issueDay] = dateString\r\n ? new Date(dateString.split(\"T\")[0])\r\n .toISOString()\r\n .split(\"T\")[0]\r\n .split(\"-\")\r\n : [];\r\n return issueMonth && issueDay && issueYear\r\n ? `${issueYear}-${issueMonth}-${issueDay}`\r\n : \"\";\r\n }\r\n\r\n private getFirmographicProfile(accountId: string) {\r\n this.setState({ loadingProfile: true });\r\n FirmographicService.getFirmographicProfile(accountId)\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n map((firmographicProfileArray) =>\r\n this.getDiversityDetails(firmographicProfileArray[0])\r\n ),\r\n catchError(() => of(null)),\r\n finalize(() =>\r\n this.setState({\r\n loadingProfile: false,\r\n })\r\n )\r\n )\r\n .subscribe(\r\n (\r\n firmographicProfileDiversityDetails: FirmographicProfileDiversityDetails | null\r\n ) => {\r\n if (firmographicProfileDiversityDetails) {\r\n this.setState({ firmographicProfileDiversityDetails });\r\n }\r\n }\r\n );\r\n }\r\n\r\n private getBusinessProfile(accountId: string) {\r\n this.setState({ loadingProfile: true });\r\n FirmographicService.getLegalBusinessProfile(accountId)\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n map((businessProfile) =>\r\n this.getbusinessDetails(businessProfile)\r\n ),\r\n catchError(() => of(null)),\r\n finalize(() =>\r\n this.setState({\r\n loadingProfile: false,\r\n })\r\n )\r\n )\r\n .subscribe(\r\n (\r\n businessProfile: BusinessProfileDetails | null\r\n ) => {\r\n if (businessProfile) {\r\n this.setState({businessProfile});\r\n }\r\n }\r\n );\r\n }\r\n\r\n private getFirmographicFiles() {\r\n this.setState({ loadingFile: true });\r\n const { accountId, fileId, optionKey } = this.state.selectedCertDetail;\r\n FirmographicService.getFirmographicFiles(accountId, optionKey)\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n map((fileDownloadResponse) =>\r\n fileDownloadResponse.fileDetails.find(\r\n (file) => file.fileId === fileId\r\n )\r\n ),\r\n catchError(() => of(undefined)),\r\n finalize(() =>\r\n this.setState({\r\n loadingFile: false,\r\n })\r\n )\r\n )\r\n .subscribe((fileData: FileDownloadData | undefined) => {\r\n if (fileData?.file) {\r\n try {\r\n const fileMetaData = JSON.parse(fileData.fileMetaData);\r\n CommonUtility.downloadFileFromBase64String(\r\n fileData.fileName,\r\n fileData.file,\r\n fileMetaData.contentType\r\n );\r\n } catch {\r\n this.setState({\r\n messageBar: new MessageBarDetails(\r\n \"error\",\r\n `${Pipe(ResourcePipe)(\"Common_FileParseError\")}: ${\r\n this.state.selectedCertDetail.fileName\r\n }.`\r\n ),\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n messageBar: new MessageBarDetails(\r\n \"error\",\r\n `${Pipe(ResourcePipe)(\"Common_FileDownloadError\")}: ${\r\n this.state.selectedCertDetail.fileName\r\n }.`\r\n ),\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getDiversityDetails(firmographicProfile: FirmographicProfile) {\r\n const firmographicOptions = firmographicProfile.profileDetails?.[0].options;\r\n const diverseOwnedBusiness =\r\n this.diverseOwnedBusinessOptions.reduce((optionKeys,question) => [...optionKeys, ...question.options\r\n .filter((option) => Object.values(firmographicOptions).find(e => e.includes(`${option.optionId}`)))\r\n .map((option) => option.optionKey)], [] as string[]);\r\n const diverseLedBusiness =\r\n this.diverseLedBusinessOptions.reduce((optionKeys,question) => [...optionKeys, ...question.options\r\n .filter((option) => Object.values(firmographicOptions).find(e => e.includes(`${option.optionId}`)))\r\n .map((option) => option.optionKey)], [] as string[]);\r\n const firmographicProfileDiversityDetails: FirmographicProfileDiversityDetails =\r\n {\r\n diverseOwnedBusiness,\r\n diverseLedBusiness,\r\n };\r\n \r\n return firmographicProfileDiversityDetails;\r\n }\r\n\r\n private getbusinessDetails(companyName: string) {\r\n const businessProfileDetails: BusinessProfileDetails =\r\n {\r\n companyName: companyName\r\n };\r\n return businessProfileDetails;\r\n }\r\n\r\n private reviewFirmographicCerts() {\r\n this.setState({ reviewInProgress: true });\r\n const { sellerId, fileId, fileMetaData, issueDate, expiryDate } =\r\n this.state.selectedCertDetail;\r\n const fileMetaDataParsed = fileMetaData ? JSON.parse(fileMetaData) : {};\r\n fileMetaDataParsed.issueDate = issueDate ? new Date(issueDate!).toISOString() : new Date().toISOString();\r\n const reviewActions: FirmographicCertAction[] = [\r\n {\r\n sellerId: sellerId,\r\n fileId: fileId,\r\n actionId: this.state.reviewAction,\r\n fileMetadata: JSON.stringify(fileMetaDataParsed),\r\n expiryDate: expiryDate ? new Date(expiryDate).toISOString() : new Date().toISOString(),\r\n reviewedBy: ServerData.loggedInEmailId,\r\n reviewComment: this.state.reviewComment,\r\n businessGroup: ROLE_NAMESPACES.PartnerDiversityOps,\r\n reviewDate: new Date().toISOString(),\r\n },\r\n ];\r\n FirmographicService.reviewFirmographicCerts(reviewActions)\r\n .pipe(\r\n takeUntil(this.unsubscribe),\r\n catchError(() => of(null)),\r\n finalize(() => this.setState({ reviewInProgress: false }))\r\n )\r\n .subscribe((success) => {\r\n if (success) {\r\n const updatedCert = this.firmographicCerts.firmographicCertChangeList.find(\r\n (cert) => cert.fileId === fileId\r\n );\r\n if (updatedCert) {\r\n updatedCert.fileMetaData = JSON.stringify(fileMetaDataParsed);\r\n updatedCert.expiryDate = expiryDate;\r\n updatedCert.fileDetails[0].actionId = this.state.reviewAction;\r\n }\r\n\r\n this.setState((prev) => {\r\n let { firmographicCerts } = prev;\r\n firmographicCerts.firmographicCertChangeList = \r\n firmographicCerts.firmographicCertChangeList.map((cert) => {\r\n if (cert.fileId === fileId && updatedCert) {\r\n cert = updatedCert;\r\n }\r\n return cert;\r\n });\r\n\r\n this.handleFirmographicCerts(firmographicCerts);\r\n return {\r\n disableEdit: [4, 5].includes(this.state.reviewAction),\r\n messageBar: new MessageBarDetails(\r\n \"success\",\r\n `${this.state.selectedCertDetail.fileName} ${Pipe(ResourcePipe)(\r\n \"DnITool_FileReviewSuccess\"\r\n )}`\r\n ),\r\n };\r\n });\r\n } else {\r\n this.setState({\r\n messageBar: new MessageBarDetails(\r\n \"error\",\r\n `${Pipe(ResourcePipe)(\"DnITool_FileReviewFailure\")}: ${\r\n this.state.selectedCertDetail.fileName\r\n }.`\r\n ),\r\n });\r\n }\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n this.unsubscribe.next();\r\n this.unsubscribe.complete();\r\n }\r\n\r\n private paginationOnPreviousClick = () => {\r\n if(this.filterV2.paginationDetails.pageOffset > 1){\r\n this.filterV2.paginationDetails.pageOffset = this.filterV2.paginationDetails.pageOffset-1;\r\n this.getPartnerDiversityCertsAndMetadata();\r\n }\r\n }\r\n\r\n private paginationOnNextClick = () => {\r\n if(this.filterV2.paginationDetails.pageOffset < this.firmographicCerts.totalNumberOfPages){\r\n this.filterV2.paginationDetails.pageOffset = this.filterV2.paginationDetails.pageOffset+1;\r\n this.getPartnerDiversityCertsAndMetadata();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.state.loading ? (\r\n <Loader fullScreen={true} blockOperation={true} />\r\n ) : this.state.hasAdminRights ? (\r\n <div className=\"container\">\r\n <PageTitle className=\"spacer-sm-top spacer-xs-bottom\">\r\n {Pipe(ResourcePipe)(\"DnITool_PageTitle\")}\r\n </PageTitle>\r\n {false && (\r\n <>\r\n <h5>{Pipe(ResourcePipe)(\"DnITool_SearchPartner\")}</h5>\r\n <div className=\"flex\">\r\n {this.searchCategories.map((searchCategory, index) => (\r\n <Radio\r\n className=\"spacer-xxs-right\"\r\n key={`searchCategoryRadio-${index}`}\r\n id={`searchCategoryRadio-${index}`}\r\n name=\"searchCategoryRadio\"\r\n checked={\r\n this.state.searchCategory === searchCategory.value\r\n }\r\n onChange={() =>\r\n this.handleSearchCategoryChange(searchCategory.value)\r\n }\r\n >\r\n {Pipe(ResourcePipe)(searchCategory.labelKey)}\r\n </Radio>\r\n ))}\r\n </div>\r\n <SearchBox\r\n className=\"search-box spacer-xxs-bottom\"\r\n //TODO: Removed onSearch as harmony 6.4.1 doesnt support - D&I team check functionality\r\n onInput={(event: any) =>\r\n this.getFirmographicCertsByFilter((event.target as searchBox).value.toString())\r\n }\r\n />\r\n <Divider />\r\n </>\r\n )}\r\n \r\n <CommandBar \r\n className=\"spacer-sm-top\"\r\n actionsPosition=\"end\">\r\n <Button\r\n className=\"search-box spacer-xxs-bottom\"\r\n appearance=\"command\"\r\n onClick={() => this.setState({ isFilterOpen: true })}\r\n >\r\n <Icon slot=\"start\" name=\"filter\" />\r\n <p className=\"label-with-icon\">\r\n {Pipe(ResourcePipe)(\"Common_Filter\")}</p>\r\n </Button>\r\n <SearchBox id=\"searchBox\" placeholder=\"Search In Current Page\" className = \"label-with-search\"\r\n onInput={(event: any) => \r\n this.handleSearchChange(event)}\r\n onHeClear={(event: any) => \r\n this.handleSearchChange(event)} \r\n />\r\n </CommandBar>\r\n <ShimmeredDetailsList\r\n items={this.state.firmographicCerts.firmographicCertChangeList || []}\r\n columns={this.tableHeaders}\r\n selectionMode={SelectionMode.none}\r\n enableShimmer={this.state.loadingCerts}\r\n ariaLabelForShimmer={Pipe(ResourcePipe)(\r\n \"Common_ContentBeingFetched\"\r\n )}\r\n ariaLabelForGrid={Pipe(ResourcePipe)(\"DnITool_CertificateList\")}\r\n />\r\n {!this.state.loadingCerts &&\r\n !this.state.firmographicCerts.firmographicCertChangeList.length && (\r\n <div className=\"text-center\">\r\n {Pipe(ResourcePipe)(\"Common_Table_NoRecords\")}\r\n </div>\r\n )}\r\n {!this.state.loadingCerts && \r\n <PaginationExt\r\n isNextDisabled={this.firmographicCerts.currentPageOffset == this.firmographicCerts.totalNumberOfPages}\r\n isPreviousDisabled={this.firmographicCerts.currentPageOffset == 1}\r\n onNextClick={this.paginationOnNextClick}\r\n onPreviousClick={this.paginationOnPreviousClick}\r\n totalDisplayedRecordCount={(\r\n this.firmographicCerts.pageSize * (this.firmographicCerts.currentPageOffset - 1)\r\n ) + this.firmographicCerts.totalRecordsInCurrentPage}\r\n totalRecordsCount={this.firmographicCerts.totalRecordsInResultSet}\r\n loading={this.state.loading}\r\n />\r\n }\r\n \r\n <PartnerDiversityCertFilter\r\n isFlyInOpen={this.state.isFilterOpen}\r\n onFlyInClose={(event) => this.handleFlyInClose(event)}\r\n onApplyFilter={(filter) => this.handleFilter(filter)}\r\n />\r\n\r\n <PartnerDiversityCertDetails\r\n isFlyInOpen={this.state.isFlyInOpen}\r\n loadingProfile={this.state.loadingProfile}\r\n loadingFile={this.state.loadingFile}\r\n disableEdit={this.state.disableEdit}\r\n reviewInProgress={this.state.reviewInProgress}\r\n reviewAction={this.state.reviewAction}\r\n reviewComment={this.state.reviewComment}\r\n selectedCertDetail={this.state.selectedCertDetail}\r\n firmographicProfileDiversityDetails={\r\n this.state.firmographicProfileDiversityDetails\r\n }\r\n businessProfile={\r\n this.state.businessProfile\r\n }\r\n messageBar={this.state.messageBar}\r\n onFlyInClose={(event) => this.handleFlyInClose(event)}\r\n onMessageBarHide={() =>\r\n this.setState({ messageBar: new MessageBarDetails() })\r\n }\r\n onIssueDateChange={(event) =>\r\n this.handleDateChange(\"issueDate\", event.target.value)\r\n }\r\n onExpiryDateChange={(event) =>\r\n this.handleDateChange(\"expiryDate\", event.target.value)\r\n }\r\n onReviewActionChange={(action) =>\r\n this.handleReviewActionChange(action)\r\n }\r\n onReviewerCommentChange={(comment) =>\r\n this.handleReviewerCommentChange(comment)\r\n }\r\n onClickCertDownload={() => this.getFirmographicFiles()}\r\n onSubmitReview={() => this.reviewFirmographicCerts()}\r\n />\r\n </div>\r\n ) : (\r\n <NotAuthorizedComponent />\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(PartnerDiversityToolSearch as any);\r\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate(function (source, subscriber) {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n//# sourceMappingURL=finalize.js.map","var isArray = Array.isArray;\nvar getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n var first_1 = args[0];\n if (isArray(first_1)) {\n return { args: first_1, keys: null };\n }\n if (isPOJO(first_1)) {\n var keys = getKeys(first_1);\n return {\n args: keys.map(function (key) { return first_1[key]; }),\n keys: keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","export function createObject(keys, values) {\n return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});\n}\n//# sourceMappingURL=createObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var resultSelector = popResultSelector(args);\n var _a = argsArgArrayOrObject(args), sources = _a.args, keys = _a.keys;\n var result = new Observable(function (subscriber) {\n var length = sources.length;\n if (!length) {\n subscriber.complete();\n return;\n }\n var values = new Array(length);\n var remainingCompletions = length;\n var remainingEmissions = length;\n var _loop_1 = function (sourceIndex) {\n var hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, function () { return remainingCompletions--; }, undefined, function () {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n };\n for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n _loop_1(sourceIndex);\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n//# sourceMappingURL=forkJoin.js.map"],"sourceRoot":""}